linear programming for schedule optimization
Is there anyone out there who is using a linear programming approach for scheduling; who would be willing to share some knowledge.
I have about 1500 people to schedule into 8-10 events (shifts), with participant availability constraints, event capacity constraints, and possibly some other constraints I’m not yet aware of.
I’m looking for any help in kick starting this project.
Operating system used: Linux
Answers
-
Jurre Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS Core Concepts, Registered, Dataiku DSS Developer, Neuron 2022 Posts: 115 ✭✭✭✭✭✭✭
Not sure if i can be of any help Tom, but i've subscribed anyhow.
Addition : i stumbled upon some interesting articles in which scheduling with python is discussed.
- https://towardsdatascience.com/roster-optimization-using-python-85b26d58e806
- https://towardsdatascience.com/schedule-optimisation-using-linear-programming-in-python-9b3e1bc241e1
- https://realpython.com/linear-programming-python/
That last one mentions a package called PuLP, i'll be experimenting with that as soon as some spare time pops up.
Potentially this project can use up huge amounts of computingtime when optimisation is stretched to it's limits... The guy doing timetabling at the school i worked took a big bite out of available resources when he was optimizing lessontables.
-
LouisDHulst Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Neuron, Registered, Neuron 2023 Posts: 54 Neuron
Hi Tom,
Did you end up going through with this project? If so, do you have any knowledge to share? My team is looking at the possibility of starting a VRP-like problem
Thanks.
-
tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,598 Neuron
I ended up finishing my project early last year.
It turned out that the person requesting the project provided sufficient heuristics that this basically became a directly code-able problem.The dataset was also small enough that the requestor intended to go through all of the results and make manual adjustments based on knowledge not directly provided.
So in a word, no, I've not solved linear programming in Dataiku DSS. If I was going to work further on this I'd likely crack out a Python Notebook and one of the Python Libraries. Using ideas from the internet like these. https://realpython.com/linear-programming-python/
When you say VRP-like problem are you referring to Vehicle routing problem. Or something else? I do note that Dataiku now has geo routing plugin with some capabilities https://doc.dataiku.com/dss/latest/geographic/georouting.html that might be of help.
Love to hear some more about what you are doing. With a bit further data others may also be able to jump in here and provide some insight.