CP-SAT Job Shop Problem: How to separate the tasks into SHIFTS? 1 worker/shift/day arrangement in flexible job shop. #1453
Replies: 6 comments
-
|
I have an idea ... optional interval with start and end variables in a shift domain, repeated per number of shifts and workers. In case optional interval is active, main interval variables (start and end) should be equal to variables in optional interval. Only one optional interval per main interval should be active. This way it should be not possible to have main interval over two or more shifts. |
Beta Was this translation helpful? Give feedback.
-
|
Deeply sorry but I am a noob to CP and Python in general. Is it OK to ask for some form of skeletal code I can base off of? |
Beta Was this translation helpful? Give feedback.
-
|
As seen in the .txt file with the code and sample data, the constraints implemented are the ff:
I wish to implement this new constraint:
Appreciate all the help I could get! :( |
Beta Was this translation helpful? Give feedback.
-
|
In case you want divide task between shifts and use different worker in each shift, you should probably model it as two or more intervals (in case you can choose from more workers optional intervals) based on maximum number of shifts that a task can be within at same time. All intervals should have variable duration. In case a task is in one shift only, duration of others should be zero. In other cases sum of duration over intervals should be equal to task duration. Since it is not possible to create own propagator in cp-sat, you need for every possible position of a task say duration of these intervals. By the way many questions about shifts were answered in other issues or in google groups recently. |
Beta Was this translation helpful? Give feedback.
-
|
Can I request a sort of skeletal code I can base off of? I am really illiterate in Python and need all the help I can get :/ Below is my code for the main interval as per flexible job shop code |
Beta Was this translation helpful? Give feedback.
-
|
I am closing modeling issues. Please repost on the mailing list if it is still relevent. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello!
Would just like to separate tasks into shifts and make the worker assignment for each task adjust if the task is cut into shifts. 1 WORKER/SHIFT/DAY. Where should I modify this? Not sure if it is in the data part of the code...
Attached is my code with sample data. I am making the use of flexible job shop model
flexible_jobshop.txt
Beta Was this translation helpful? Give feedback.
All reactions