Hello,
I have basically achieved my objective however, I want to rearrange the scheduled task if they belong to the same category/group.
A group is a set of tasks that would like to get executed together.
For example in the following image, suppose, Mat_1, Mat_3, and Mat_5 belong to a group and Mat_2 and Mat_4 belong to another group. The scheduler has done a fabulous job as per all constraints (which I am not mentioning here). But, how do I make sure that in "Line_1", Mat_5 follows Mat_1?
Also, the following is another solution. In here I would want the order, Mat_1, Mat_3, and Mat_5.
I can try using
end_before_start
the function, but the problems are:
- It takes only 2 variables at a time. I don't want to hard code
delay=0
in between the task. A task is free to go the other line. Currently, the tasks are scheduling as per requirement, just that I want to sort them on their name.
- If there are two groups working in the same line, then the Mat_x from both groups can mix up, still satisfying the
end_before_start
constraint. E.g. If Mat_1 and Mat_2 belongs to group1 and Mat_3 and Mat_4 belongs to group2, then Mat_1,Mat_3,Mat_2,Mat_4 would too satisfy end_before_start
of Mat_1 followed by Mat_2 and Mat_3 followed by Mat_4.. But the intended output is Mat_1, Mat_2, Mat_3, and Mat_4. Is there any way to provide the order constraint of multiple tasks in a built-in function?
I can identify the groups by assigning a group_number to tasks belonging to the same group.
Is there any built-in function to group a set of tasks in order? Is there any sort of weightage I can provide so that they gain higher value if a task is scheduled closer to another task?
------------------------------
Avinash Kumar
------------------------------
#DecisionOptimization