Overview | Group | Tree | Graph | Index | Concepts |
This abstract implementation class is used to define a large neighborhood dedicated to scheduling problems.
The current solution is an instance of
IloSchedulerSolution
.
A set of activity predicates are used to specify if the start, the end, the duration, the processing time, and the external variables of an activity should be restored.
Similarly, a set of predicates can be used to specify if the next, the prev, the direct successors, the direct predecessors, the teardown, and the setup of a resource constraint should be restored.
The virtual member function defineRestoreInfo
is
available with a specialized signature for activity and resource
constraints.
The virtual member function finalizeDelta
has been
overloaded: it removes from the current solution any link of the types
next / prev / direct successors / direct predecessors between a
resource constraint that is selected and a resource constraint that
is not selected.
See Large Neighborhoods and the Selectors concept in the IBM ILOG Solver Reference Manual for more information.
See Also:
Constructor and Destructor Summary | |
---|---|
public | IloSchedulerLargeNHoodI(IloEnv env, const char * name) |
Constructor and Destructor Detail |
---|
This constructor creates a neighborhood. The optional argument
name
, if supplied, is the name of the
neighborhood.
Method Detail |
---|
The virtual member function is overloaded and calls successively
the member functions defineSelected
,
defineRestoreInfo
and finalizeDelta
.
This virtual member function iterates on all extractables and appplies on each extractable the predicate to specify if it must be restored from the current solution.
This pure virtual member function returns the set of
decision variables, or instances of IloExtractable
, on which
to focus the search.
This virtual member function is called to complete the definition of the delta. It removes all links between two resource constraints of the types prev, next, direct successors and direct predecessors, where one resource constraint is selected and the other is not selected.
This member function returns the current solution, that is, the
one registered by the virtual member function start
.
This member function returns the predicate used to specify if the duration of an activity in the current solution must be restored.
This member function returns the predicate used to specify if the end of an activity in the current solution must be restored.
This member function returns the predicate used to specify if the external variable of an activity in the current solution must be restored.
This member function returns the predicate used to specify if the processing time of an activity in the current solution must be restored.
This member function returns the predicate used to specify if the start of an activity in the current solution must be restored.
This member function returns the predicate used to specify which extractables to restore from the current solution.
This virtual member function is called to complete the definition of the neighborhood.
This member function returns the predicate used to specify if the capacity of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the direct predecessors of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the direct successors of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the next (resource constraint) of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the previous (resource constraint) of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the resource selected of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the setup of a resource constraint in the current solution must be restored.
This member function returns the predicate used to specify if the teardown of a resource constraint in the current solution must be restored.
This member function returns IloTrue
if the
extractable is selected. Otherwise, it returns
IloFalse
.
This member function sets the predicate used to specify if the duration of an activity in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the end of an activity in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the external variable of an activity in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the processing time of an activity in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the start of an activity in the current solution must be restored. An exception is raised if the predicate is an empty handle.
This member sets the predicate used to specify which extractables to restore from the current solution. When applied, the predicate receives as argument the neighborhood. An error is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the capacity of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the direct predecessors of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the direct successors of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the next (resource constraint) of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the prev (previous resource constraint) of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the resource selected of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the setup of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.
This member function sets the predicate used to specify if the teardown of a resource constraint in the current solution must be restored. When applied, the predicate receives as argument the neighborhood. An exception is raised if the predicate is an empty handle.