Linear optimization solutions for job scheduling
Existing products, sample implementation guidelines
- (VIDEO)
https://fieldsquared.com/video-field-workforce-management-mobility/
https://en.praxedo.com/features/guided-tour/dispatcher/scheduling/optimise-routes-with-smartscheduler/ - (DOCUMENT)
https://help.salesforce.com/articleView?id=pfs_optimization_theory_definitions.htm&type=5
Models (Implementation)
- Python Gurobi lib (mixed-integer linear/quad optimization)
http://www.matthewdgilbert.com/blog/introduction-to-gurobipy.html
https://towardsdatascience.com/scheduling-with-ease-cost-optimization-tutorial-for-python-c05a5910ee0d - Python Taskpacker
https://github.com/Edinburgh-Genome-Foundry/Taskpacker - Python pyomo
https://towardsdatascience.com/modeling-and-optimization-of-a-weekly-workforce-with-python-and-pyomo-29484ba065bb
https://github.com/ccarballolozano/blog-post-codes/blob/master/Modeling-and-optimization-of-a-weekly-workforce-with-Python-and-Pyomo/Modeling%20and%20optimization%20of%20a%20weekly%20workforce%20with%20Python%20and%20Pyomo.ipynb - Ortools python (cp_model)
https://developers.google.com/optimization/scheduling/job_shop - IBM Decision Optimization CPLEX Modeling for Python (Apache 2.0 Open src) (Feature by feature chapter)
https://pypi.org/project/docplex/
https://ibmdecisionoptimization.github.io/tutorials/html/Scheduling_Tutorial.html - Python Whiteboard library
https://medium.freecodecamp.org/introducing-timeboard-a-python-business-calendar-package-a2335898c697 - Genetic algorithm (Schedule optimization implementations)
(Number of workers, Time of task, Priority of task) http://theisensanders.com/genetic_task_scheduling_algorithm/
(Conference talks optimization - Multiple constraints) https://medium.com/@filiph/using-a-genetic-algorithm-to-optimize-developer-conference-schedules-27f13d97fa9a
(Job-shop schedule optimization) http://mat.uab.cat/~alseda/MasterOpt/p11-31.pdf - Integer linear programming
(Nurse job scheduling - Minimize staff cost given constraints related to time/shifts) https://blogs.mathworks.com/loren/2016/01/06/generating-an-optimal-employee-work-schedule-using-integer-linear-programming/
https://towardsdatascience.com/integer-programming-in-python-1cbdfa240df2 - PySwarm (Particle swarm optimization)
https://pythonhosted.org/pyswarm/ - Uber ride optimization data set:
https://towardsdatascience.com/uber-driver-schedule-optimization-62879ea41658 - Multiple algos implementation
(Job-Shop) https://github.com/oahziur/animated-archer