Module org.maxicp

Class MinimizeObjectiveSum

java.lang.Object
org.maxicp.cp.engine.core.MinimizeObjectiveSum
All Implemented Interfaces:
Objective

public class MinimizeObjectiveSum extends Object implements 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

    Constructors
    Constructor
    Description
    Create a new objective to minimize x[0] + x[1] + ... + x[n-1]
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Filters the objective wrt to current bound This method is typically executed at each node of a search tree
    int
    Bound of the sum objective
    void
    Relax all the objectives bound so that they can be deteriorated.
    void
    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.
    void
    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.
    void
    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.
    void
    Set all the terms, including the sum in Weak tighten mode.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MinimizeObjectiveSum

      public MinimizeObjectiveSum(CPIntVar... x)
      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
      Specified by:
      tighten in interface Objective
    • relax

      public void relax()
      Relax all the objectives bound so that they can be deteriorated.
      Specified by:
      relax in interface Objective
    • filter

      public void filter()
      Description copied from interface: Objective
      Filters the objective wrt to current bound This method is typically executed at each node of a search tree
      Specified by:
      filter in interface Objective