Open lhjk opened 5 years ago
the number of periods (8300) is too large for this approach. Can you switch the granularity to 10min or even more? Then you would have roughly 40 periods per day, which is ok. Times 20 is already 800 which becomes challenging. Maybe its possible to break down the time horizon in parts and solve them separately?
The changeover setup cost you are describing are quite challenging if they have no further structure. If its possible to describe it with some numeric state changes then it becomes feasible, like:
A.state_x = 3 B.state_x = 5 A.state_y = 1 B.state_y = 3
some setup task T is required with
T.state_x = 4 T_state_y = 2
to fit in between (basically smooths out the change in numeric state). The number of different numeric states shouldnt be too large.
Thank you timnon for the quick response.
I might be able to switch the granularity to 10min or 5 min. Will have to look at the data again and check.
The changeover setup cost varies depending on two characteristics of each item.
when the switch results in changing of characteristic A, setup cost will be 10 when the switch results in changing of characteristic B, setup cost will be 20 when the switch results in changing of both characteristics, setup cost will be 30
Then I believe, I will have to make states for above three variances. However, the combination of the characteristics (the states) will be about 400.
Although the setup task T will only depend on the change of the states, so the variance will only be about 4.
when there are 4 tasks(A, B, C, D)
A.state_x = 1 B.state_x = 2 C.state_x = 1 D.state_x = 3
change of state_x between 1 and 2 will result in T.state_x = 4 change of state_x between 2 and 3 will result in T.state_x = 2 change of state_x between 1 and 3 will result in T.state_x = 3 if state_x does not change T.state_x = 1
Thank you for the response again.
hey,
this looks like what I actually need. In my scenario there is one machine and some tasks. The machine can be equipped with different tools. These tools have setup times. If the tool doesn't change between two tasks, there is no setup time.
I didn't found the state_x or state_y attribute in the documentation and I didn't get the syntax. Why did @lhjk set T.state_x to different numbers. The state_x attribute of T is one variable, so it is overwritten with the last time setting it.
Please let me know the meaning.
regards Jan
How would I model constraints for below condition?
I have a horizon of 415 minutes per day multiplied by 20 days equaling to 8,300. There are a set of tasks with various lengths from 10 to 4,000 minutes. At the end of each task, there needs to be a setup task. The length of the setup task differs depending on the machine and the task that comes before and after the setup task. eq below) On machine 1, if task B comes after task A, the length of the setup task after task A will be 200. On machine 1, if task C comes after task A, the length of the setup task after task A will be 100. On machine 1, if task C comes after task B, the length of the setup task after task A will be 150. On machine 2, if task B comes after task A, the length of the setup task after task A will be 150. On machine 2, if task C comes after task A, the length of the setup task after task A will be 100. On machine 2, if task C comes after task A, the length of the setup task after task A will be 200.
Can I use constraints for such a scenario? Or should I create tasks consisting of three tasks (two of A or B or C, and a setup task) for every possible combination and create constraints declaring all tasks other than setup tasks can only appear once?
Sorry for bad English.