java.lang.Object
org.maxicp.cp.engine.core.MinimizeObjectiveSum
- All Implemented Interfaces:
Objective
Objective to minimize a sum of variables following
the approach described in the paper:
Variable Objective Large Neighborhood Search:
A practical approach to solve over-constrained problems (ICTAI 2013, Pierre Schaus)
-
Constructor Summary
ConstructorsConstructorDescriptionMinimizeObjectiveSum(CPIntVar... x) Create a new objective to minimize x[0] + x[1] + ... + x[n-1] -
Method Summary
Modifier and TypeMethodDescriptionvoidfilter()Filters the objective wrt to current bound This method is typically executed at each node of a search treeintgetBound()Bound of the sum objectivevoidrelax()Relax all the objectives bound so that they can be deteriorated.voidStrong tighten the sum It means that the sum bound is updated on each new solution and the next solution must strictly improve the sum.voidStrong tighten the worse term It means that the bound of the worse term is updated on each new solution and the next solution must strictly improve this worse term.voidtighten()Method called each time a solution is found during the search to let the tightening of the primal bound occurs such that the next found solution is better.voidSet all the terms, including the sum in Weak tighten mode.
-
Constructor Details
-
MinimizeObjectiveSum
Create a new objective to minimize x[0] + x[1] + ... + x[n-1]- Parameters:
x-
-
-
Method Details
-
weakTightenAll
public void weakTightenAll()Set all the terms, including the sum in Weak tighten mode. Weak tightening means that the bound are updated on each new solution and the next solution must at least equalize (but not necessarily improve) the bounds for each term and the sum. -
strongTightenSum
public void strongTightenSum()Strong tighten the sum It means that the sum bound is updated on each new solution and the next solution must strictly improve the sum. -
strongTigthenWorseTerm
public void strongTigthenWorseTerm()Strong tighten the worse term It means that the bound of the worse term is updated on each new solution and the next solution must strictly improve this worse term. -
getBound
public int getBound()Bound of the sum objective- Returns:
- the bound of the sum objective
-
tighten
public void tighten()Method called each time a solution is found during the search to let the tightening of the primal bound occurs such that the next found solution is better. This will tighten all the objectives -
relax
public void relax()Relax all the objectives bound so that they can be deteriorated. -
filter
public void filter()Description copied from interface:ObjectiveFilters the objective wrt to current bound This method is typically executed at each node of a search tree
-