All Classes and Interfaces

Class
Description
 
Absolute value constraint
An abstract search method that can be used concurrently: it is stoppable and can be work-stealed.
Abstract class the most of the constraints should extend.
An abstract search method, implementing all the parts needed, but the search method itself.
 
Represents a scheduling activity i.e. an interval variable that consumes an ammount of resource over time.
 
Arc Consistent AllDifferent Constraint Algorithm described in "A filtering algorithm for constraints of difference in CSPs" J-C.
 
Alternative Constraint with cardinality: Enforces that if the interval a is present, then c intervals from the array alt must be present and synchronized with a.
Exclusive alternative between intervals.
 
Among constraint
 
 
Domain Consistency Filtering for AtLeastNValue constraint.
 
A very simple ModelProxy which is not thread-safe.
 
A Binary Knapsack constraint ensures that the total load is equal to the sum of the weights of the selected items.
The BinPacking constraint ensures that a set of items with given weights are packed into bins such that each bin's total weight respects a given capacity constraint.
 
This class provides algorithms for the Bin Packing.
Bitset abstract class
 
 
 
 
 
 
 
 
Hamiltonian Circuit Constraint with a successor model
 
 
A concrete constraint that can be used by a concrete model
 
 
 
 
A base class for some "Layer models" that can locally override some methods but redirect everything else to a bottom layer.
 
 
 
 
Constants used in the MaxiCP library
 
 
StateManager that will store the state of every created elements at each Copier.saveState() call.
Implementation of State with copy strategy
Implementation of StateInt with copy strategy
Implementation of StateLong with copy strategy
Implementation of StateMap with copy strategy
Arc Consistent AllDifferent Constraint with Costs
Implementation of the Global Cardinality Constraint with Costs from the paper
 
Boolean variable, that can be used as a 0-1 IntVar.
 
 
Interface implemented by every Constraint
 
 
CP implementation of a Cumulative Function
Factory to create CPSolver, CPIntVar, CPConstraint, CPSeqVar and some modeling utility methods.
A fixed set variable that contains a specific set of values.
CP implementation of a Flat Cumulative Function
TODO
TODO
Provides a view of a CPIntervalVar that is delayed by a fixed offset value.
 
 
Implementation of a variable with a SparseSetDomain.
A view on a variable of type a*x
A view on a variable of type x+o
A view on a variable of type -x
CP implementation of a Minus Cumulative Function
 
 
 
 
CP implementation of a Plus Cumulative Function
CP implementation of a Pulse Cumulative Function
 
 
 
A set variable is a variable that represents a set of integers from an original universe set.
Implementation of a set variable.
 
CP implementation of a Step at End Cumulative Function
CP implementation of a Step at Start Cumulative Function
CP implementation of a Sum Cumulative Function
 
 
 
 
 
 
Cumulative constraint with sum decomposition (very slow).
Represents a Cumulative Function as described in
The Cumulative Scheduling Problem (CuSP) consists in scheduling a set tasks that share a resource with a fixed capacity.
 
This class should be used to implement custom constraints.
capacitated vehicle routing, with time windows
DARP
Model for the Dial-A-Ride Problem (DARP) using sequence variables.
Dial-A-Ride problem
Data related to a node in the DARP problem
 
Object that allows to retrieve in a constraint the changes of the domain of a variable from one call to the Constraint.propagate to the next.
 
Depth-First Search Branch and Bound implementation
 
 
A DFSListener that records the search tree in a Tree structure.
 
 
 
 
 
 
Element Constraint modeling array[y] = z
 
Element1DDC constraint
 
 
Element Constraint modeling matrix[x][y] = z
 
 
 
 
Enforces that interval A ends at interval B end if B is present and that interval B ends at interval A end if A is present
Enforces that interval A ends at interval B start if B is present and that interval B starts at interval A end if A is present
 
 
Constrains interval A to end before or at the end of interval B.
Constrains interval A to end before or at the start of interval B if both are present.
 
 
 
The Eternity II puzzle is an edge-matching puzzle which involves placing 256 square puzzle pieces into a 16 by 16 grid, constrained by the requirement to match adjacent edges.
Excludes a node from a sequence
 
An expression, that can be integer, boolean, or a sequence
 
 
 
Failure-Directed Search (FDS) for scheduling problems with interval variables.
Failure-Directed Search (FDS) for scheduling problems with modeling-layer interval variables.
Flat Elementary Cumul Function
 
Checker for the generalized cumulative constraint.
Generalized Cumulative Constraint using Timetabling TODO Refer paper once published
 
Generalized Cumulative Constraint using Timetabling TODO Refer paper once published
 
 
 
 
 
 
 
Algorithms and Graph interface
Directed graph API
 
 
 
 
 
 
Inserts a node into a sequence
 
 
Interface for integer domain implementation.
Domain listeners are passed as argument to the IntDomain modifier methods.
Gives the end of an IntervalVar
Gives the end of an IntervalVar or a given value if the interval is not present
 
Gives the length of an IntervalVar
Gives the length an IntervalVar or a given value if the interval is not present
Gives the start of an IntervalVar
Gives the start of an IntervalVar or a given value if the interval is not present
 
 
TODO
TODO
 
TODO
TODO
TODO
TODO
 
 
 
 
 
 
 
The Inventory Scheduling Problem was introduced in the paper: Minimizing makespan on a single machine with release dates and inventory constraints Morteza Davari, Mohammad Ranjbar, Patrick De Causmaecker, Roel Leus European Journal of Operational Research 2020
InversePerm is a constraint that enforces that one permutation is the inverse of another.
 
 
Reified is end before start constraint
Reified is end before start constraint
Reified equality constraint
Reified equality constraint
Constraint that enforces a boolean variable to be true if a value is included in a set.
Reified less or equal constraint.
Reified is less or equal constraint b <=> x <= y.
 
Reified logical or constraint
 
Reified is end before start constraint
Reified is start before start constraint
Constraint that enforces a boolean variable is true if one set is a subset of another set.
 
The JobShop Problem.
The JobShop Problem.
 
 
 
 
Less or equal constraint between two variables
 
 
 
Branching combinator that ensures that that the alternatives created are always within the discrepancy limit.
The Magic Series problem.
The Magic Square problem.
The Magic Square problem.
The Magic Square problem.
 
 
 
Maximization objective function
Maximum Constraint
Compute and Maintain a Maximum Matching in the variable-value graph
Max Independent Set Problem of a graph: Given a graph, find the largest set of vertices such that no two vertices in the set are adjacent.
 
 
 
Minimization objective function
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)
Difference between two Cumul Functions.
 
A class that allows to create symbolic models
Maintains the current model and proxies calls to it.
 
Maintains the current model and proxies calls to it.
 
 
Constraint x * b = y where b is a boolean variable
 
 
Multiplication Constraint x * c = z where c is a constant
Multiplication Constraint x * y = c
Multiplication Constraint x * y = z (all variables)
 
Implementation of Compact Table for Negative Table algorithm described in
 
 
A constraint that does nothing.
NoOverlap constraint, ensures that a set of interval variables do not overlap in time.
 
Bound Consistency filtering for the NoOverlap constraint
Bound Consistency filtering for the NoOverlap constraint
 
 
 
 
 
 
 
 
 
 
Not Equal constraint between two variables
 
Constraint that enforces that the first set variable is not a subset of the second set variable.
 
The N-Queens problem.
The N-Queens problem.
The N-Queens problem solved with Embarassingly Parallel Search (EPS).
The N-Queens problem.
The N-Queens problem.
The N-Queens problem.
The N-Queens problem.
 
Nurse scheduling problem.
 
Objective object to be used in the AbstractSearchMethod.optimize(Objective) for implementing the branch and bound depth first search.
Logical or constraint x1 or x2 or ... xn
 
 
Perfect Square Problem The problem is to fully cover a big square with different smaller ones, with no overlap between them
 
Sum of two Cumul Functions.
 
 
 
 
 
RCPSP-CPR model.
Representation of a cumulated Profile data structure as a contiguous sequence of Profile.Rectangle built from a set of Profile.Rectangle using a sweep-line algorithm.
Representation of a cumulated Profile data structure as a contiguous sequence of Profile.Rectangle built from a set of Profile.Rectangle using a sweep-line algorithm.
Represents a rectangle which is part of the Profile datastructure
Pulse Elementary Cumul Function.
The Quadratic Assignment problem.
The Quadratic Assignment problem.
Rank Branching
Resource Constrained Project Scheduling Problem.
Resource Constrained Project Scheduling Problem.
Imposes that the sequence defined by the provided orderedSequence where the relaxed nodes have been removed is a subsequence of the provided sequence variable.
Requires a node in a sequence, forcing the node to be visited
Require a node to be visited within a SeqVar
 
 
Factory for search procedures.
 
Statistics collected during the execution of AbstractSearchMethod.solve() and AbstractSearchMethod.optimize(Objective)
 
 
Status of the nodes
Sequential Search combinator that linearly considers a list of branching generator.
 
 
 
Constraint that links the cardinality of a set variable to an integer variable.
Interface for set domain implementation.
SetDomain listeners are passed as argument to the SetDomain modifier methods.
Set Times Branching
 
 
 
!!!
Ship Loading Problem.
Implementation of Compact Table for Short Table algorithm described in
 
 
 
 
A Single Machine with Inventory Constraints (SMIC) problem consists of scheduling a set of J of n jobs split into in two: - the loading jobs J+ and - the unloading jobs J-.
The Send-More-Money problem.
Soft Global Cardinality Constraint
Sorted constraint, x is sorted in y according to permutation o
 
Implementation of a domain with a sparse-set
The problem is to schedule an even number n of teams over n/2 periods and n - 1 weeks, under the following constraints:
- Each team must play against every other team
- A team plays exactly one game per week
- A team can play at most twice in the same period
The problem is to schedule an even number n of teams over n/2 periods and n - 1 weeks, under the following constraints:
- Each team must play against every other team
- A team plays exactly one game per week
- A team can play at most twice in the same period
Square Constraint x * x = y
Stable Marriage problem: Given n women and n men, where each woman (resp. man) has ranked each man (resp. woman) with a unique number between 1 and n in order of preference (the lower the number, the higher the preference), say for summer internships, match the women and men such that there is no pair of a woman and a man who would both prefer to be matched with each other than with their actually matched ones.
 
 
 
 
Enforces that interval A starts at interval B end if B is present and that interval B ends at interval A start if A is present
Enforces that interval A starts at interval B start if B is present and that interval B starts at interval A start if A is present
 
Boolean variable that represents if an interval is executed before a given value
Constrains interval A to start before or at the end of interval B if both are present.
Constrains interval A to start before or at the start of interval B.
Object that wraps a reference and can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
A StateEntry is aimed to be stored by a StateManager to revert some state
Object that wraps an integer value that can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
Implementation of an interval that can saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
A sparse-set that lazily switch from a dense interval representation to a sparse-set representation when a hole is created in the interval.
Object that wraps an integer value that can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
 
The StateManager exposes all the mechanisms and data-structures needed to implement a depth-first-search with reversible states.
A generic map that can revert its state with StateManager.saveState() / StateManager.restoreState() methods.
Class to represent a bit-set that can be saved and restored through the StateManager.saveState() / StateManager.restoreState()
Set implemented using a sparse-set data structure that can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
Generic Stack that can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
Tri-partition sparse-set data structure that can be saved and restored through the StateManager.saveState() / StateManager.restoreState() methods.
Steel is produced by casting molten iron into slabs.
Step at End Elementary Cumul Function.
Step at Start Elementary Cumul Function
Exception that is thrown to stop the execution of AbstractSearchMethod.solve(), AbstractSearchMethod.optimize(Objective)
Object that can be saved by the Copier.
Ensures that only one Hamiltonian circuit appears in the provided successor variables.
Links two CPSeqVar, ensuring a subsequence appears within a super sequence
 
Constraint that enforces that one set variable is a subset of another set variable.
Sum Constraint
 
Sum of one or more Cumul Functions.
 
 
 
 
 
 
 
 
 
 
 
Implementation of Compact Table algorithm described in
Data Structure described in Global Constraints in Scheduling, 2008 Petr Vilim, PhD thesis See The thesis.
Data Structure described in Global Constraints in Scheduling, 2008 Petr Vilim, PhD thesis See The thesis.
 
 
Implementation of State with trail strategy
StateManager that will lazily store the state of state object at each Trailer.saveState() call.
Implementation of StateInt with trail strategy
Implementation of StateInt with trail strategy
Implementation of StateMap with trail strategy
Links a CPSeqVar with time windows, enforcing that visits happen during valid timeframes.
 
Tree structure for visualizing search trees (e.g., backtracking algorithms).
Tree node containing logical data (not layout).
 
Immutable pair
Layout node: wraps a Node with its calculated horizontal position.
 
 
 
Traveling salesman problem.
 
Traveling salesman problem.
 
 
Traveling salesman problem.
Traveling salesman problem.
 
 
A TSP with Time Windows instance.
 
The Traveling Salesman Problem with Time Windows (TSPTW) is a variation of the classic Traveling Salesman Problem (TSP) in which each city must be visited within a specific time interval.
 
 
 
 
 
An extension of the default XCallback parser that provides default decompositions for the most complex constraints.