Recall that the temporal model is composed of all activities and precedence constraints in the original problem plus all activities and precedence constraints in any new jobs that have been added. It may also contain time bound constraints that restrict or even assign the start times of some activities. It contains no resource, resource constraints, or optimization criteria. See Creating the Temporal Model for more details.
Such a model is quite easy to solve because, without any resource constraints, simple constraint propagation is a complete technique. Because, we use the temporal model for communication among the submodels and because we are only interested in finding a temporal window for each activity (to be then used in the submodel), propagation is sufficient for our needs.
temporalSolver = IloSolver(temporalModel);
if (!temporalSolver.solve(IloGoalTrue(env)))
throw IloSchedulerException( "No solution for temporal model." );
IlcScheduler temporalScheduler(temporalSolver);
temporalSolution.store(temporalScheduler);
|