A suggestion would be to use type for activities in a sequence that can be created for each machine/resource.
Then you can count the number of time the typeOfNext of an interval is different from the type of the interval itself and minimize the sum of these differences over all the intervals. This minimizes the number of tool changes.
Attention may be needed for the type of the last activity of a sequence, but counting this as a tool change as well should not have more impact than having a threshold in objective values in most cases. For typeOfNext and sequence you can have a look at sched_tcost model in OPL.
------------------------------
Philippe Refalo
IBM ILOG CP Optimizer
------------------------------
Original Message:
Sent: Tue May 10, 2022 07:52 AM
From: Vasco Ferreira
Subject: Doubt about specific scenario for objective
Hello,
I am trying to schedule for some machines but I am having trouble figuring out how to come up with an idea to calculate this.
Imagine I have a machine where I want to prioritize the amount of times it has to change tools ( the tool needed is defined in the order ), how would I be able to do this?
Example :
Tuple with properties Number, Tool, Duration
An array of that tuple
Decision Variable of type interval indexed by the tuple array
Desired output: the orders scheduled, prioritizing the minimum amounts it needs to change tools.
Thank you in advance!
------------------------------
Vasco Ferreira
------------------------------
#DecisionOptimization