|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchoco.AbstractModel
choco.AbstractProblem
choco.Problem
public class Problem
A problem is a global structure containing variables bound by listeners as well as solutions or solver parameters
Field Summary | |
---|---|
IStateInt |
indexOfLastInitializedStaticConstraint
an index useful for re-propagating cuts (static constraints) upon backtracking |
Fields inherited from class choco.AbstractProblem |
---|
environment, feasible, precision, propagationEngine, reduction, solved, solver |
Fields inherited from class choco.AbstractModel |
---|
constraints, doMaximize, FALSE, floatVars, intVars, nbConstraint, objective, setVars, TRUE |
Constructor Summary | |
---|---|
Problem()
Constructs a problem. |
|
Problem(Environment env)
Constructs a problem. |
Method Summary | |
---|---|
protected Constraint |
createAC2001BinConstraint(IntVar v0,
IntVar v1,
BinRelation relation)
|
protected Constraint |
createAC3BinConstraint(IntVar v0,
IntVar v1,
BinRelation relation)
|
protected Constraint |
createAC4BinConstraint(IntVar v0,
IntVar v1,
BinRelation relation)
|
protected Constraint |
createAllDifferent(IntVar[] vars)
|
protected Constraint |
createBinConjunction(Constraint c0,
Constraint c1)
|
protected Constraint |
createBinDisjunction(Constraint c0,
Constraint c1)
|
protected Constraint |
createBoolChanneling(IntVar boolv,
IntVar intv,
int j)
|
protected Constraint |
createBoundAllDiff(IntVar[] vars,
boolean global)
|
protected Constraint |
createCardinality(Constraint[] constList,
IntVar cardVar,
boolean constrainOnInf,
boolean constrainOnSup)
|
protected Constraint |
createCspLargeConstraint(IntVar[] vars,
LargeRelation relation)
|
protected Constraint |
createCumulative(IntVar[] sts,
IntVar[] ends,
IntVar[] durations,
int[] h,
int Capa)
|
protected Constraint |
createDisjoint(SetVar sv1,
SetVar sv2)
|
protected Constraint |
createEqualXC(IntVar v,
int c)
|
protected Constraint |
createEqualXYC(IntVar v0,
IntVar v1,
int c)
|
protected Constraint |
createEquation(RealVar[] tmpVars,
RealExp exp,
RealIntervalConstant cst)
|
protected Constraint |
createEquiv(Constraint c0,
Constraint c1)
|
protected Constraint |
createGlobalCardinality(IntVar[] vars,
int min,
int max,
int[] low,
int[] up)
|
protected Constraint |
createGreaterOrEqualXC(IntVar v,
int c)
|
protected Constraint |
createGreaterOrEqualXYC(IntVar v0,
IntVar v1,
int c)
|
protected Constraint |
createGuard(Constraint c0,
Constraint c1)
|
protected Constraint |
createIntLinComb(IntVar[] sortedVars,
int[] sortedCoeffs,
int nbPositiveCoeffs,
int c,
int linOperator)
|
protected IntDomainVar |
createIntVar(java.lang.String name,
int[] sortedValues)
|
protected IntDomainVar |
createIntVar(java.lang.String name,
int domainType,
int min,
int max)
|
protected Constraint |
createInverseChanneling(IntVar[] x,
IntVar[] y)
|
protected Constraint |
createLargeConjunction(Constraint[] alternatives)
|
protected Constraint |
createLargeDisjunction(Constraint[] alternatives)
|
protected Constraint |
createLessOrEqualXC(IntVar v,
int c)
|
protected Constraint |
createLex(IntVar[] v1,
IntVar[] v2,
boolean strict)
|
protected Constraint |
createMemberX(SetVar sv1,
int val)
|
protected Constraint |
createMemberXY(SetVar sv1,
IntVar var)
|
protected Constraint |
createNotEqualXC(IntVar v,
int c)
|
protected Constraint |
createNotEqualXYC(IntVar v0,
IntVar v1,
int c)
|
protected Constraint |
createNotMemberX(SetVar sv1,
int val)
|
protected Constraint |
createNotMemberXY(SetVar sv1,
IntVar var)
|
protected Constraint |
createOccurrence(IntVar[] vars,
int occval,
boolean onInf,
boolean onSup)
|
protected RealExp |
createRealCos(RealExp exp)
|
protected RealExp |
createRealIntegerPower(RealExp exp,
int power)
|
protected RealIntervalConstant |
createRealIntervalConstant(double a,
double b)
|
protected RealExp |
createRealMinus(RealExp exp1,
RealExp exp2)
|
protected RealExp |
createRealMult(RealExp exp1,
RealExp exp2)
|
protected RealExp |
createRealPlus(RealExp exp1,
RealExp exp2)
|
protected RealExp |
createRealSin(RealExp exp)
|
protected RealVar |
createRealVal(java.lang.String name,
double min,
double max)
|
protected Constraint |
createSetCard(SetVar sv,
IntVar var,
boolean b1,
boolean b2)
|
protected Constraint |
createSetIntersection(SetVar sv1,
SetVar sv2,
SetVar inter)
|
protected SetVar |
createSetVar(java.lang.String name,
int a,
int b)
|
protected Constraint |
createSubscript(IntVar index,
int[] values,
IntVar val,
int offset)
|
protected Constraint |
createSubscript(IntVar index,
IntVar[] varArray,
IntVar val,
int offset)
|
protected Constraint |
createTimesXYZ(IntVar x,
IntVar y,
IntVar z)
|
java.lang.Boolean |
maximize(Var obj,
boolean restart)
resolution: Searches for the solution maximizing the objective criterion. |
java.lang.Boolean |
minimize(Var obj,
boolean restart)
Resolution: Searches for the solution minimizing the objective criterion. |
protected java.lang.Boolean |
optimize(boolean maximize,
Var obj,
boolean restart)
|
void |
post(Constraint cc)
Network management: adding a constraint to the problem. |
void |
postCut(Constraint cc)
Network management: adding a constraint to the problem. |
java.lang.Boolean |
solve()
|
java.lang.Boolean |
solve(boolean all)
|
java.lang.Boolean |
solveAll()
|
void |
worldPop()
popping one world from the stack: overrides AbstractProblem.worldPop because the Problem class adds the notion of static constraints that need be repropagated upon backtracking |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public IStateInt indexOfLastInitializedStaticConstraint
Constructor Detail |
---|
public Problem(Environment env)
env
- the Environment responsible for all the memory managementpublic Problem()
Method Detail |
---|
public void post(Constraint cc)
post
in class AbstractProblem
cc
- the constraint to addpublic void postCut(Constraint cc)
postCut
in class AbstractProblem
cc
- the constraint to addpublic final void worldPop()
worldPop
in class AbstractProblem
protected Constraint createEqualXC(IntVar v, int c)
createEqualXC
in class AbstractModel
protected Constraint createNotEqualXC(IntVar v, int c)
createNotEqualXC
in class AbstractModel
protected Constraint createGreaterOrEqualXC(IntVar v, int c)
createGreaterOrEqualXC
in class AbstractModel
protected Constraint createLessOrEqualXC(IntVar v, int c)
createLessOrEqualXC
in class AbstractModel
protected Constraint createEqualXYC(IntVar v0, IntVar v1, int c)
createEqualXYC
in class AbstractModel
protected Constraint createNotEqualXYC(IntVar v0, IntVar v1, int c)
createNotEqualXYC
in class AbstractModel
protected Constraint createGreaterOrEqualXYC(IntVar v0, IntVar v1, int c)
createGreaterOrEqualXYC
in class AbstractModel
protected Constraint createTimesXYZ(IntVar x, IntVar y, IntVar z)
createTimesXYZ
in class AbstractModel
protected Constraint createIntLinComb(IntVar[] sortedVars, int[] sortedCoeffs, int nbPositiveCoeffs, int c, int linOperator)
createIntLinComb
in class AbstractModel
protected Constraint createAC3BinConstraint(IntVar v0, IntVar v1, BinRelation relation)
createAC3BinConstraint
in class AbstractModel
protected Constraint createAC4BinConstraint(IntVar v0, IntVar v1, BinRelation relation)
createAC4BinConstraint
in class AbstractModel
protected Constraint createAC2001BinConstraint(IntVar v0, IntVar v1, BinRelation relation)
createAC2001BinConstraint
in class AbstractModel
protected Constraint createCspLargeConstraint(IntVar[] vars, LargeRelation relation)
createCspLargeConstraint
in class AbstractModel
protected Constraint createSubscript(IntVar index, int[] values, IntVar val, int offset)
createSubscript
in class AbstractModel
protected Constraint createSubscript(IntVar index, IntVar[] varArray, IntVar val, int offset)
createSubscript
in class AbstractModel
protected Constraint createBoolChanneling(IntVar boolv, IntVar intv, int j)
createBoolChanneling
in class AbstractModel
protected Constraint createInverseChanneling(IntVar[] x, IntVar[] y)
createInverseChanneling
in class AbstractModel
protected Constraint createBinDisjunction(Constraint c0, Constraint c1)
createBinDisjunction
in class AbstractModel
protected Constraint createLargeDisjunction(Constraint[] alternatives)
createLargeDisjunction
in class AbstractModel
protected Constraint createBinConjunction(Constraint c0, Constraint c1)
createBinConjunction
in class AbstractModel
protected Constraint createLargeConjunction(Constraint[] alternatives)
createLargeConjunction
in class AbstractModel
protected Constraint createGuard(Constraint c0, Constraint c1)
createGuard
in class AbstractModel
protected Constraint createEquiv(Constraint c0, Constraint c1)
createEquiv
in class AbstractModel
protected Constraint createCardinality(Constraint[] constList, IntVar cardVar, boolean constrainOnInf, boolean constrainOnSup)
createCardinality
in class AbstractModel
protected Constraint createOccurrence(IntVar[] vars, int occval, boolean onInf, boolean onSup)
createOccurrence
in class AbstractModel
protected Constraint createAllDifferent(IntVar[] vars)
createAllDifferent
in class AbstractModel
protected Constraint createBoundAllDiff(IntVar[] vars, boolean global)
createBoundAllDiff
in class AbstractModel
protected Constraint createGlobalCardinality(IntVar[] vars, int min, int max, int[] low, int[] up)
createGlobalCardinality
in class AbstractModel
protected Constraint createCumulative(IntVar[] sts, IntVar[] ends, IntVar[] durations, int[] h, int Capa)
createCumulative
in class AbstractModel
protected Constraint createLex(IntVar[] v1, IntVar[] v2, boolean strict)
createLex
in class AbstractModel
protected IntDomainVar createIntVar(java.lang.String name, int domainType, int min, int max)
createIntVar
in class AbstractModel
protected IntDomainVar createIntVar(java.lang.String name, int[] sortedValues)
createIntVar
in class AbstractModel
protected RealVar createRealVal(java.lang.String name, double min, double max)
createRealVal
in class AbstractModel
protected RealIntervalConstant createRealIntervalConstant(double a, double b)
createRealIntervalConstant
in class AbstractModel
protected RealExp createRealSin(RealExp exp)
createRealSin
in class AbstractModel
protected RealExp createRealCos(RealExp exp)
createRealCos
in class AbstractModel
protected RealExp createRealIntegerPower(RealExp exp, int power)
createRealIntegerPower
in class AbstractModel
protected RealExp createRealPlus(RealExp exp1, RealExp exp2)
createRealPlus
in class AbstractModel
protected RealExp createRealMinus(RealExp exp1, RealExp exp2)
createRealMinus
in class AbstractModel
protected RealExp createRealMult(RealExp exp1, RealExp exp2)
createRealMult
in class AbstractModel
protected Constraint createEquation(RealVar[] tmpVars, RealExp exp, RealIntervalConstant cst)
createEquation
in class AbstractModel
protected SetVar createSetVar(java.lang.String name, int a, int b)
createSetVar
in class AbstractModel
protected Constraint createMemberXY(SetVar sv1, IntVar var)
createMemberXY
in class AbstractModel
protected Constraint createNotMemberXY(SetVar sv1, IntVar var)
createNotMemberXY
in class AbstractModel
protected Constraint createMemberX(SetVar sv1, int val)
createMemberX
in class AbstractModel
protected Constraint createNotMemberX(SetVar sv1, int val)
createNotMemberX
in class AbstractModel
protected Constraint createDisjoint(SetVar sv1, SetVar sv2)
createDisjoint
in class AbstractModel
protected Constraint createSetIntersection(SetVar sv1, SetVar sv2, SetVar inter)
createSetIntersection
in class AbstractModel
protected Constraint createSetCard(SetVar sv, IntVar var, boolean b1, boolean b2)
createSetCard
in class AbstractModel
public java.lang.Boolean solve(boolean all)
solve
in class AbstractProblem
public java.lang.Boolean solve()
solve
in class AbstractProblem
public java.lang.Boolean solveAll()
solveAll
in class AbstractProblem
public java.lang.Boolean minimize(Var obj, boolean restart)
minimize
in class AbstractProblem
obj
- The variable modelling the optimization criterionrestart
- If true, then a new search is restarted from scratch
after each solution is found;
otherwise a single branch-and-bound search is performedprotected java.lang.Boolean optimize(boolean maximize, Var obj, boolean restart)
optimize
in class AbstractProblem
public java.lang.Boolean maximize(Var obj, boolean restart)
maximize
in class AbstractProblem
obj
- The variable modelling the optimization criterionrestart
- If true, then a new search is restarted from scratch
after each solution is found;
otherwise a single branch-and-bound search is performed
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |