Originally posted by: Tobias_
Hello Petr,
thanks for your answer.
The posted file is only a example I found and not my actual model.
I'm wory about to handle for every machine a task list.
In the example it is named 'tasks_m1 = [mdl.interval_var(...)]'
My current prototype has 5 machines, but for the final product it can be up to 20 machines.
I also need only the different durations, setup times are no problem i have to handle.
The amount of tasks can variat between 10 up to 1000 or more.
It depends on how long the schedule should reach into the future.
My actual design is a similar to the design of the problem that is posted here (file: CP-Schedule.py)
So I have actual the following design for oders:
order_0 = ([needed workings], [durations], [start-, end-time], [precedences])
and in the model, a interval_var for the needed workings:
itvs[(a,w)] = mdl2.interval_var(size = durations, name=name) [a = count variable / w = workings]
also a list of maschines with skills, there machine 2 and machine 3 can do the same working, but machine 3 has a better skill level (means faster production):
machines = [('machine_1', 'working_1', 1), (' machine_2', 'working_2', 1), ('machine_3', 'working_2', 3), ...]
So in my opinion to make for every machine a task list is brings an overhead that have to be handled.
Because for some tasks is only one machine avaible so there is only one duration time.
But for about 20% of the workings are two or more machines avaible with different durations for the tasks.
This is the reasons why I am looking for a way to give the information about the longer/faster duration with the machines and not with the tasks.
I hope it is now more clear what I mean and want to model.
But you wrote that there is a maybe a way to do this with 'types'.
I'm very new to the program, so have you any example or description how to use this?
#DecisionOptimization#OPLusingCPOptimizer