IBM ILOG Scheduler User's Manual > Getting Started with Scheduler > Searching for Solutions > Tools for Searching > Search Goals |
Search Goals |
INDEX
![]() |
Scheduler search goals are designed to be easy to use and suited to the more usual cases. However, they have limited scope and may not be the best solution for certain types of problems. While Scheduler search goals can help in prototyping a project, they do not prevent you from developing the best heuristic algorithms for your problem within the Solver environment.
A goal is used to define the search for a solution to a model. The model for which an instance of a goal will search for a solution is specified via the IloSolver
API. That is, once an IloSolver
has extracted a model, a goal is associated with the model with the function IloSolver::solve(const IloGoal)
or (IloSolver::startNewSearch(const IloGoal)
). For more details see the IBM ILOG Solver Reference Manual.
Scheduler provides four predefined functions that return a goal to assign start times to activities in a schedule. For best results with these goals, activities should have bounded durations and resource demands. If precedence constraints between activities have negative delays, solutions may be missed.
IloGoal IloSetTimesForward(const IloEnv env);
IloGoal IloSetTimesForward(const IloEnv env,
const IloNumVar criterion);
Returns a goal that assigns a start time to each activity in the model, while minimizing criterion
. This goal can be used with an activity selector.
IloGoal IloSetTimesBackward(const IloEnv env);
IloGoal IloSetTimesBackward(const IloEnv env,
const IloNumVar criterion);
Returns a goal that assigns an end time to each activity in the model, while maximizing criterion
. This goal can be used with a activity selector.
Scheduler provides several goals for selecting resources from alternative resource sets.
IloGoal IloAssignAlternative(const IloEnv env,
IloResourceSelector possibleSel = IloSelAltRes);
IloGoal IloAssignAlternative(const IloEnv env,
const IloAltResSet resources,
IloResourceSelector possibleSel = IloSelAltRes);
resources
are considered.
IloGoal IloAssignAlternative(const IloEnv env,
const IloResource resource);
resource
as the selected one for an alternative resource constraint. All the alternative resource constraints for which resource
is a possible alternative are considered in arbitrary order. To customize the order in which the alternative resources constraints are tried, it is necessary to use the Scheduler Engine classes (that is, create an IlcAltRCSelectorObject
to parameterize an IlcAssignAlternative
goal.
© Copyright IBM Corp. 1987, 2009. Legal terms. | PREVIOUS NEXT |