Creating the first solution framework goal |
INDEX
![]() |
When building a Dispatcher routing plan, the resulting plan may not be complete. This means that some visits are left unassigned, and that some routes are not complete. By complete, it is meant that route visits must have their next variables instantiated from first to last. The routing plan may not be complete if, for example, only a subset of visits had been passed to the decision maker, or if a time-out occurred. An incomplete plan cannot be stored in an IloRoutingSolution
, as some decision variables are left unbound.
The IloFinalizePlan
function returns a goal that fixes an incomplete plan, if possible.
The goal performs the two functions:
You should run this goal after a decision maker attempts to finalize the plan and reach a state where the plan can be saved into an IloRoutingSolution
.
ILCGOAL0(PDPFinalizeGoal) { cout << "start to finalize plan" << endl; return IloFinalizePlan(getSolver()); } |
Finally, you write the goal IlcPDPFSGoal
, which creates the decision maker and the decision tracer.
To use this goal, a subclass of IlcGoal
, in your Concert Technology modeling environment you wrap it using the Solver ILOCPGOALWRAPPER
macro.
ILOCPGOALWRAPPER0(IloPDPFSGoal, solver) { return IlcPDPFSGoal(solver); } |
© Copyright IBM Corp. 1987, 2009. Legal terms. | PREVIOUS NEXT |