choco.kernel.model.constraints.pack
Class PackModel

java.lang.Object
  extended by choco.kernel.model.constraints.pack.PackModel

public final class PackModel
extends Object

Since:
4 dec. 2008 version 2.0.1
Version:
2.0.1
Author:
Arnaud Malapert

Field Summary
 IntegerVariable[] bins
           
 SetVariable[] items
           
 IntegerVariable[] loads
           
 int maxCapacity
           
 IntegerVariable nbNonEmpty
           
 IPermutation permutation
           
 IntegerConstantVariable[] sizes
           
 
Constructor Summary
PackModel(int[] sizes, int nbBins, int capacity)
           
PackModel(IntegerVariable[] bins, IntegerConstantVariable[] sizes, int capacity)
           
PackModel(IntegerVariable[] bins, IntegerConstantVariable[] sizes, IntegerVariable[] loads)
           
PackModel(IntegerVariable[] bins, IntegerConstantVariable[] sizes, SetVariable[] items, IntegerVariable[] loads)
           
PackModel(IntegerVariable[] bins, IntegerConstantVariable[] sizes, SetVariable[] items, IntegerVariable[] loads, IntegerVariable nbNonEmpty)
           
PackModel(String name, int[] sizes, int nbBins, int capacity)
           
PackModel(String prefix, IntegerConstantVariable[] sizes, int nbBins, int capacity)
           
 
Method Summary
 Constraint allDiffLargeItems()
          Redundant Constraint : allDifferent on the k-th largest items
 Constraint[] decreasingCardinalities(int fromIndex)
          Deprecated. 
 int decreasingCardinalities(Model model, int fromIndex)
          Symmetry Breaking: bins are sorted according to non increasing cardinalities.
 Constraint[] decreasingLoads(int fromIndex)
          Deprecated. 
 int decreasingLoads(Model model, int fromIndex)
          Symmetry Breaking: bins are sorted according to non increasing loads.
 IntegerVariable[] getBins()
           
 SetVariable[] getItems()
           
 IntegerVariable[] getLoads()
           
 int getMaxCapacity()
           
 int getNbBins()
           
 int getNbItems()
           
 IntegerConstantVariable[] getSizes()
           
 Variable[] getVariables()
           
 Constraint[] orderEqualSizedItems(int fromIndex)
          Deprecated. 
 int orderEqualSizedItems(Model model, int fromIndex)
          Symmetry Breaking : equal-sized items are ordered according to their indices.
 Constraint[] packLargeItems()
          Deprecated. 
 int packLargeItems(Model m)
          Symmetry Breaking : pack the k largest items into the first bins.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

permutation

public final IPermutation permutation

bins

public final IntegerVariable[] bins

sizes

public final IntegerConstantVariable[] sizes

loads

public final IntegerVariable[] loads

items

public final SetVariable[] items

nbNonEmpty

public final IntegerVariable nbNonEmpty

maxCapacity

public final int maxCapacity
Constructor Detail

PackModel

public PackModel(int[] sizes,
                 int nbBins,
                 int capacity)

PackModel

public PackModel(String name,
                 int[] sizes,
                 int nbBins,
                 int capacity)

PackModel

public PackModel(String prefix,
                 IntegerConstantVariable[] sizes,
                 int nbBins,
                 int capacity)

PackModel

public PackModel(IntegerVariable[] bins,
                 IntegerConstantVariable[] sizes,
                 int capacity)

PackModel

public PackModel(IntegerVariable[] bins,
                 IntegerConstantVariable[] sizes,
                 IntegerVariable[] loads)

PackModel

public PackModel(IntegerVariable[] bins,
                 IntegerConstantVariable[] sizes,
                 SetVariable[] items,
                 IntegerVariable[] loads)

PackModel

public PackModel(IntegerVariable[] bins,
                 IntegerConstantVariable[] sizes,
                 SetVariable[] items,
                 IntegerVariable[] loads,
                 IntegerVariable nbNonEmpty)
Method Detail

getVariables

public final Variable[] getVariables()

getNbBins

public final int getNbBins()

getNbItems

public final int getNbItems()

getBins

public final IntegerVariable[] getBins()

getSizes

public final IntegerConstantVariable[] getSizes()

getItems

public final SetVariable[] getItems()

getLoads

public final IntegerVariable[] getLoads()

getMaxCapacity

public final int getMaxCapacity()

orderEqualSizedItems

@Deprecated
public Constraint[] orderEqualSizedItems(int fromIndex)
Deprecated. 

Symmetry Breaking : equal-sized items are ordered according to their indices. If the relation sizes[i] = sizes[i+1] holds, then it states the constraint bins[i] <= bins[i+1].


orderEqualSizedItems

public int orderEqualSizedItems(Model model,
                                int fromIndex)
Symmetry Breaking : equal-sized items are ordered according to their indices. If the relation sizes[i] = sizes[i+1] holds, then it states the constraint bins[i] <= bins[i+1].


packLargeItems

@Deprecated
public final Constraint[] packLargeItems()
Deprecated. 

Symmetry Breaking : pack the k largest items into the first bins. k = max{ q | sizes[q] + sizes[q-1] > maxCapacity} where the sizes are sorted according to decreasing sizes.


packLargeItems

public final int packLargeItems(Model m)
Symmetry Breaking : pack the k largest items into the first bins. k = max{ q | sizes[q] + sizes[q-1] > maxCapacity} where the sizes are sorted according to decreasing sizes.


allDiffLargeItems

public final Constraint allDiffLargeItems()
Redundant Constraint : allDifferent on the k-th largest items

See Also:
packLargeItems()

decreasingLoads

@Deprecated
public final Constraint[] decreasingLoads(int fromIndex)
Deprecated. 

Symmetry Breaking: bins are sorted according to non increasing loads.


decreasingLoads

public final int decreasingLoads(Model model,
                                 int fromIndex)
Symmetry Breaking: bins are sorted according to non increasing loads.


decreasingCardinalities

@Deprecated
public final Constraint[] decreasingCardinalities(int fromIndex)
Deprecated. 

Symmetry Breaking: bins are sorted according to non increasing cardinalities.


decreasingCardinalities

public final int decreasingCardinalities(Model model,
                                         int fromIndex)
Symmetry Breaking: bins are sorted according to non increasing cardinalities.



Copyright © 2012. All Rights Reserved.