公共类IloCP 扩展 ilogilog.concert.IloModelerImpl 实现IloModeler
该类的一个实例代表 CP 优化器的一种算法。
搜索
CP 优化器旨在以 "建模和运行 "的方式使用,因此提供了一种搜索策略。 使用 CP 的一种方法如下:
IloCPcp();
... 创建 Concert 模型 ...
if (cp.solve())
System.out.println("Solution found of cost = " +cp.getObjValue());
else
System.out.println("No solution found");
您可以通过设置参数来限制 CP 为寻找模型解决方案所付出的努力。 例如
cp.setParameter(IloCP.DoubleParam.TimeLimit, 60);
将把解算时间限制为一分钟。 一分钟结束时,如果找到了最佳解决方案,CP 将提供该时间内找到的最佳解决方案。 例如,可以通过 "getValue方法访问解决方案:
IloCP cp = new IloCP();
IloIntVar x = cp.intVar(0, 10);
// ... 建立模型 ifcp.solve()) {
System.out.println("Solution found of cost = " +cp.getObjValue());
System.out.println("Value of x = " +cp.getValue(x)); }
还有其他更复杂的搜索技术,特别是搜索阶段(IloSearchPhase),它允许根据变量在搜索中的分配顺序和分配方式对变量进行分组。
| 修饰符和类型 | 类别和说明 |
|---|---|
static interface |
IloCP.Callback该界面允许您通过调用不同事件来监控 CP 优化大师搜索过程的不同方面。
|
static class |
IloCP.ConflictStatus该枚举列出了报告约束或变量与冲突有关的状态的值。
|
static class |
IloCP.DoubleInfo浮点信息的符号参数名称。
|
static class |
IloCP.DoubleParam双值 "
IloCP参数的符号参数名。 |
static class |
IloCP.IntInfo整数信息的符号参数名。
|
static class |
IloCP.IntParam整数值 "
IloCP参数的符号参数名。 |
static class |
IloCP.ParameterValues整数值 "
IloCP参数的符号参数名。 |
| 修饰符和类型 | 领域和说明 |
|---|---|
static double |
Infinity该常数表示 double 类型的正无穷大。
|
static int |
IntervalMax该常数表示区间变量的起点或终点可取的最大值。
|
static int |
IntervalMin该常数表示区间变量的起点或终点可取的最小值。
|
static int |
IntMax该常数表示 CP 优化器允许的最大正整数。
|
static int |
IntMin该常数表示 CP 优化器允许的最小负整数。
|
static int |
NoState这个值为 "
-1的静态整数是 "IloStateFunction实例在其定义域外任何一点的常规值。 |
| 构造函数和说明 |
|---|
IloCP()该方法为 CP 优化器创建了一个算法。
|
| 修饰符和类型 | 方法和说明 |
|---|---|
void |
abortSearch()该方法会停止当前搜索,可用于在交互式应用程序中中断 CP 优化器。
|
IloAddable |
add(IloAddable object)该方法将可提取对象添加到调用模型中。
|
void |
addCallback(IloCP.Callback cb)此方法将用户回调 "
cb添加到调用 CP 优化器的实例中。 |
void |
addKPI(IloNumExpr kpi,
java.lang.String name)关键性能指标 (KPI) 是一个与解决方案相关联的值,代表了对解决方案某些方面的有趣衡量。
|
void |
addTuple(IloIntTupleSet ts,
int[] array)该方法将由数组 "
array表示的元组添加到元组集 "ts中。 |
IloConstraint |
allDiff(IloIntExpr[] exps)创建并返回一个新约束,规定 "
exps的表达式元素必须取不同的值。 |
IloConstraint |
allMinDistance(IloIntExpr[] exps,
int k)该方法返回一个约束条件,确保数组 "
exps中任意一对变量之间的绝对距离大于或等于 "k。 |
IloConstraint |
allowedAssignments(IloIntExpr exp,
int[] values)创建并返回一个新约束条件,该约束条件基于对单个表达式允许赋值(值)的明确说明。
|
IloConstraint |
allowedAssignments(IloIntVar[] exps,
IloIntTupleSet table)创建并返回一个新约束条件,该约束条件基于对一小部分变量允许赋值的明确说明。
|
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs)该方法在区间变量 "
a和数组 "bs中的区间变量集之间创建了一个替代约束。 |
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs,
IloIntExpr c)该方法在区间变量 "
a和数组 "bs中心智数为 "c的区间变量集之间创建了一个替代约束。 |
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs,
IloIntExpr c,
java.lang.String name)该方法在区间变量 "
a和数组 "bs中心智数为 "c的区间变量集之间创建了一个替代约束。 |
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs,
int c)该方法在区间变量 "
a和数组 "bs中心智数为 "c的区间变量集之间创建了一个替代约束。 |
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs,
int c,
java.lang.String name)该方法在区间变量 "
a和数组 "bs中心智数为 "c的区间变量集之间创建了一个替代约束。 |
IloAlternative |
alternative(IloIntervalVar a,
IloIntervalVar[] bs,
java.lang.String name)该方法在区间变量 "
a和数组 "bs中的区间变量集之间创建了一个替代约束。 |
IloConstraint |
alwaysConstant(IloStateFunction f,
IloIntervalVar a)该方法返回一个约束条件,确保只要区间变量 "
a存在,状态函数 "f就会在区间变量 "a的起点和终点之间的任何地方被定义,并在该区间内保持不变。 |
IloConstraint |
alwaysConstant(IloStateFunction f,
IloIntervalVar a,
boolean startAlign,
boolean endAlign)该方法返回一个约束条件,确保只要区间变量 "
a存在,状态函数 "f就会在区间变量 "a的起点和终点之间的任何地方被定义,并在该区间内保持不变。 |
IloConstraint |
alwaysConstant(IloStateFunction f,
int start,
int end)该方法返回一个约束条件,确保状态函数 "
f定义在区间 "[start,end)的任何地方,并在该区间内保持不变。 |
IloConstraint |
alwaysConstant(IloStateFunction f,
int start,
int end,
boolean startAlign,
boolean endAlign)该方法返回一个约束条件,确保状态函数 "
f定义在区间 "[start,end)的任何地方,并在该区间内保持不变。 |
IloConstraint |
alwaysEqual(IloCumulFunctionExpr f,
IloIntervalVar a,
int v)已废弃。
自V20.1起已停用
该方法返回的约束条件是,只要区间变量 " 注意:逻辑约束中不能使用此约束。 自V20.1,该方法已不再使用。 请使用 " |
IloConstraint |
alwaysEqual(IloCumulFunctionExpr f,
int start,
int end,
int v)已废弃。
自V20.1起已停用
This method returns a constraint that states that the value of cumul function expression 注意:逻辑约束中不能使用此约束。 自V20.1,该方法已不再使用。 请使用 " |
IloConstraint |
alwaysEqual(IloStateFunction f,
IloIntervalVar a,
int v)此方法返回一个约束条件,确保只要区间变量 "
a存在,状态函数 "f就会在区间变量 "a的起点和终点之间的任何地方被定义,并在此区间内保持等于值 "v。 |
IloConstraint |
alwaysEqual(IloStateFunction f,
IloIntervalVar a,
int v,
boolean startAlign,
boolean endAlign)此方法返回一个约束条件,确保只要区间变量 "
a存在,状态函数 "f就会在区间变量 "a的起点和终点之间的任何地方被定义,并在此区间内保持等于值 "v。 |
IloConstraint |
alwaysEqual(IloStateFunction f,
int start,
int end,
int v)此方法返回一个约束条件,确保状态函数 "
f在区间 "[start,end)的任何地方都有定义,并且在此区间内保持等于值 "v。 |
IloConstraint |
alwaysEqual(IloStateFunction f,
int start,
int end,
int v,
boolean startAlign,
boolean endAlign)此方法返回一个约束条件,确保状态函数 "
f在区间 "[start,end)的任何地方都有定义,并且在此区间内保持等于值 "v。 |
IloConstraint |
alwaysIn(IloCumulFunctionExpr f,
IloIntervalVar a,
int vmin,
int vmax)该方法返回的约束条件是,只要区间变量 "
a存在,函数表达式 "f的值就应始终位于 "a的起点和终点之间的 "[vmin,vmax]范围内。 |
IloConstraint |
alwaysIn(IloCumulFunctionExpr f,
int start,
int end,
int vmin,
int vmax)该方法返回一个约束条件,规定累积函数表达式 "
f的值应始终位于 "[vmin,vmax]和 "start之间的范围 "end内。 |
IloConstraint |
alwaysIn(IloStateFunction f,
IloIntervalVar a,
int vmin,
int vmax)该方法返回一个约束条件,确保只要区间变量 "
a存在,状态函数 "f(如果已定义)的值在区间变量 "a的起点和终点之间的任意点 "t都保持在 "[vmin,vmax]范围内。 |
IloConstraint |
alwaysIn(IloStateFunction f,
int start,
int end,
int vmin,
int vmax)该方法返回一个约束条件,如果定义了该约束条件,则在整数区间 "
[start,end)中的任意点 "t上,状态函数 "f的值保持在区间 "[vmin,vmax]内。 |
IloConstraint |
alwaysNoState(IloStateFunction f,
IloIntervalVar a)该方法返回一个约束条件,确保当区间变量 "
a存在时,状态函数 "f在区间变量 "a的起点和终点之间的任何地方都是未定义的。 |
IloConstraint |
alwaysNoState(IloStateFunction f,
int start,
int end)该方法返回一个约束条件,确保状态函数 "
f在整数区间 "[start,end)上的任何地方都是未定义的。 |
java.lang.String |
arrayEltName(java.lang.String name,
int index)该方法是 "
name.concat("[").concat(String.valueOf(index)).concat("]")的快捷方式。 |
IloConstraint |
before(IloIntervalSequenceVar seq,
IloIntervalVar pred,
IloIntervalVar succ)This method returns a constraint that states that whenever both interval variables
pred and succ are present, interval variable pred must be ordered before interval variable succ (but not necessarily immediately before) in the sequence variable seq. |
void |
clear() |
void |
clearAbort()
|
void |
clearExplanations()该方法用于清除待解释的故障标记(索引)集。
|
void |
clearStartingPoint()此方法会删除调用 CP 优化引擎时指定的任何起点:除非设置了新的起点,否则后续搜索将不会使用任何起点信息。
|
IloNumExpr |
constant(double value,
java.lang.String name)创建并返回等于 "
value的新常量表达式。 |
IloIntExpr |
constant(int value,
java.lang.String name)创建并返回等于 "
value的新常量表达式。 |
IloIntExpr |
count(IloIntExpr[] exprs,
int v)This method creates a new constrained integer expression equal to the number of variables in
exprs that are fixed to the value v. |
IloIntExpr |
countDifferent(IloIntExpr[] exprs)该方法创建了一个新的受约束整数表达式,等于分配给 "
exprs中变量的不同值的个数。 |
IloCumulFunctionExpr |
cumulFunctionExpr()该方法会创建一个常量累加函数表达式,该表达式在任何地方都等于 "
0,用户随后可以使用运算符 "add、"sub"修改该表达式。 |
IloCumulFunctionExpr |
cumulFunctionExpr(java.lang.String name)该方法会创建一个常量累加函数表达式,该表达式在任何地方都等于 "
0,用户随后可以使用函数 "add、"sub"对其进行修改。 |
IloCumulFunctionExpr |
diff(IloCumulFunctionExpr f1,
IloCumulFunctionExpr f2)此运算符返回一个累积函数表达式,等于其参数的差值。
|
IloConstraint |
distribute(IloIntExpr[] cards,
IloIntExpr[] vars)创建并返回模型中的计数约束。
|
IloConstraint |
distribute(IloIntExpr[] cards,
int[] values,
IloIntExpr[] vars)创建并返回模型中的计数约束。
|
IloIntExpr |
div(IloIntExpr e1,
IloIntExpr e2)创建并返回整除 "
e1 / e2。 |
IloIntExpr |
div(IloIntExpr e1,
int e2)创建并返回整除 "
e1 / e2。 |
IloIntExpr |
div(int e1,
IloIntExpr e2)创建并返回整除 "
e1 / e2。 |
IloIntVarEval |
domainMax()此方法返回一个变量评估器。
|
IloIntVarEval |
domainMin()此方法返回一个变量评估器。
|
IloIntVarEval |
domainSize()此方法返回一个变量评估器。
|
void |
dumpModel(java.io.OutputStream s)此函数将当前加载的模型转储到数据流中。
|
void |
dumpModel(java.lang.String filename)该函数将当前加载的模型转储到名为 "
filename的文件中。 |
IloNumExpr |
element(double[] values,
IloIntExpr index)创建并返回等于 "
values[index]的新表达式。 |
IloIntExpr |
element(IloIntExpr[] exprs,
IloIntExpr index)创建并返回等于 "
exprs[index]的新整数表达式。 |
IloConstraint |
element(IloIntExpr var,
IloIntExpr index,
int[] values)创建并返回新约束 "
var == values[index]。 |
IloConstraint |
element(IloNumExpr var,
IloIntExpr index,
double[] values)创建并返回新约束 "
var == values[index]。 |
IloIntExpr |
element(int[] values,
IloIntExpr index)创建并返回等于 "
values[index]的新整数表达式。 |
void |
end()释放调用 CP 优化器分配的所有内存资源。
|
IloConstraint |
endAtEnd(IloIntervalVar a,
IloIntervalVar b)This method returns a constraint that states that whenever both interval variables
a and b are present, the distance end(b)-end(a)between the end of interval a and the end of interval b must be equal to 0. |
IloConstraint |
endAtEnd(IloIntervalVar a,
IloIntervalVar b,
IloIntExpr z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a末端与区间 "b末端之间的距离 "end(b)-end(a)必须等于 "z。 |
IloConstraint |
endAtEnd(IloIntervalVar a,
IloIntervalVar b,
int z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a末端与区间 "b末端之间的距离 "end(b)-end(a)必须等于 "z。 |
IloConstraint |
endAtStart(IloIntervalVar a,
IloIntervalVar b)This method returns a constraint that states that whenever both interval variables
a and b are present, the distance start(b)-end(a)between the end of interval a and the start of interval b must be equal to 0. |
IloConstraint |
endAtStart(IloIntervalVar a,
IloIntervalVar b,
IloIntExpr z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a的终点与区间 "b的起点之间的距离 "start(b)-end(a)必须等于 "z。 |
IloConstraint |
endAtStart(IloIntervalVar a,
IloIntervalVar b,
int z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a的终点与区间 "b的起点之间的距离 "start(b)-end(a)必须等于 "z。 |
IloConstraint |
endBeforeEnd(IloIntervalVar a,
IloIntervalVar b)This method returns a constraint that states that whenever both interval variables
a and b are present, the distance end(b)-end(a)between the end of interval a and the end of interval b must be greater than or equal to 0. |
IloConstraint |
endBeforeEnd(IloIntervalVar a,
IloIntervalVar b,
IloIntExpr z)该方法返回的约束条件是:当区间变量 "
a和 "b都存在时,区间 "a的末端与区间 "b的末端之间的距离 "end(b)-end(a)必须大于或等于 "z。 |
IloConstraint |
endBeforeEnd(IloIntervalVar a,
IloIntervalVar b,
int z)该方法返回的约束条件是:当区间变量 "
a和 "b都存在时,区间 "a的末端与区间 "b的末端之间的距离 "end(b)-end(a)必须大于或等于 "z。 |
IloConstraint |
endBeforeStart(IloIntervalVar a,
IloIntervalVar b)This method returns a constraint that states that whenever both interval variables
a and b are present, the distance start(b)-end(a)between the end of interval a and the start of interval b must be greater than or equal to 0. |
IloConstraint |
endBeforeStart(IloIntervalVar a,
IloIntervalVar b,
IloIntExpr z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a的末端与区间 "b的起点之间的距离 "start(b)-end(a)必须大于或等于 "z。 |
IloConstraint |
endBeforeStart(IloIntervalVar a,
IloIntervalVar b,
int z)该方法返回的约束条件是:当区间变量 "
a和 "b同时存在时,区间 "a的末端与区间 "b的起点之间的距离 "start(b)-end(a)必须大于或等于 "z。 |
IloNumExpr |
endEval(IloIntervalVar a,
IloNumToNumSegmentFunction f)This method returns a numerical expression that represents the value of function
f evaluated on the end of interval variable a whenever the interval variable is present. |
IloNumExpr |
endEval(IloIntervalVar a,
IloNumToNumSegmentFunction f,
double absVal)This method returns a numerical expression that represents the value of function
f evaluated on the end of interval variable a whenever the interval variable is present. |
IloIntExpr |
endOf(IloIntervalVar a)This method returns an integer expression that represents the end of interval variable
a whenever the interval variable is present. |
IloIntExpr |
endOf(IloIntervalVar a,
int absVal)This method returns an integer expression that represents the end of interval variable
a whenever the interval variable is present. |
IloIntExpr |
endOfNext(IloIntervalSequenceVar seq,
IloIntervalVar a,
int lastVal)This method returns an integer expression that represents the end of the interval variable that is next to interval
a in sequence variable seq. |
IloIntExpr |
endOfNext(IloIntervalSequenceVar seq,
IloIntervalVar a,
int lastVal,
int absVal)This method returns an integer expression that represents the end of the interval variable that is next to interval
a in sequence variable seq. |
IloIntExpr |
endOfPrevious(IloIntervalSequenceVar seq,
IloIntervalVar a,
int firstVal)This method returns an integer expression that represents the end of the interval variable that is previous to interval
a in sequence variable seq. |
IloIntExpr |
endOfPrevious(IloIntervalSequenceVar seq,
IloIntervalVar a,
int firstVal,
int absVal)This method returns an integer expression that represents the end of the interval variable that is previous to interval
a in sequence variable seq. |
void |
endSearch()该方法会终止搜索,并删除 CP 优化器为执行搜索而创建的内部对象。
|
IloConstraint |
eq(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 "
e1 == e2。 |
IloConstraint |
eq(IloIntExpr e,
int v)创建并返回新约束 "
e == v。 |
IloConstraint |
eq(int v,
IloIntExpr e)创建并返回新约束 "
v == e。 |
IloConstraint |
equiv(IloConstraint c1,
IloConstraint c2)已废弃。
Deprecated since V21.1 Creates and returns the new constraint
c1 <=> c2, in which the two constraints c1 and c2 are equivalent. |
java.io.PrintStream |
error()返回调用 "
IloCP对象的错误输出流。 |
void |
explainFailure(int failTag)该方法指定要解释的故障标签(索引)。
|
void |
explainFailure(int[] failTagArray)该方法指定了一个要解释的故障标签(索引)数组。
|
IloIntValueEval |
explicitValueEval(int[] vals,
double[] evaluation)该方法是 "
explicitValueEval(vals, evaluation, 0)的快捷方式。 |
IloIntValueEval |
explicitValueEval(int[] vals,
double[] evaluation,
double defautEval)此方法返回一个值评估器。
|
IloIntValueEval |
explicitValueEval(int[] vals,
int[] evaluation)该方法是 "
explicitValueEval(vals, evaluation, 0)的快捷方式。 |
IloIntValueEval |
explicitValueEval(int[] vals,
int[] evaluation,
double defautEval)此方法返回一个值评估器。
|
IloIntVarEval |
explicitVarEval(IloIntVar[] vars,
double[] vals)该方法是 "
explicitVarEval(vars, vals, 0)的快捷方式。 |
IloIntVarEval |
explicitVarEval(IloIntVar[] vars,
double[] vals,
double defautEval)此方法返回一个变量评估器。
|
IloIntVarEval |
explicitVarEval(IloIntVar[] vars,
int[] vals)该方法是 "
explicitVarEval(vars, vals, 0)的快捷方式。 |
IloIntVarEval |
explicitVarEval(IloIntVar[] vars,
int[] vals,
double defautEval)此方法返回一个变量评估器。
|
IloNumExpr |
exponent(IloNumExpr e)创建并返回新表达式 "
exp(e)。 |
void |
exportModel(java.io.OutputStream s)此函数将当前加载的模型导出到数据流中。
|
void |
exportModel(java.lang.String filename)该函数将当前加载的模型导出到名为 "
filename的文件中。 |
IloConstraint |
falseConstraint()创建并返回一个始终为 false 的新约束。
|
IloConstraint |
first(IloIntervalSequenceVar seq,
IloIntervalVar a)该方法返回一个约束条件,规定只要区间变量 "
a出现,就必须在序列变量 "seq中排序在前。 |
IloConstraint |
forbiddenAssignments(IloIntExpr exp,
int[] values)创建并返回一个新约束条件,该约束条件基于对单个变量的禁止赋值(值)的明确说明。
|
IloConstraint |
forbiddenAssignments(IloIntVar[] exps,
IloIntTupleSet table)创建并返回一个新约束条件,该约束条件基于对一小部分变量的禁止赋值的明确说明。
|
IloConstraint |
forbidEnd(IloIntervalVar a,
IloNumToNumStepFunction f)该方法返回一个约束条件,规定只要区间变量 "
a存在,它就不能以 "t的值结束,这样 "f(t-1)=0. |
IloConstraint |
forbidExtent(IloIntervalVar a,
IloNumToNumStepFunction f)该方法返回一个约束条件,规定只要区间变量 "
a存在,就不能包含 "t的值 "f(t)=0。 |
IloConstraint |
forbidStart(IloIntervalVar a,
IloNumToNumStepFunction f)该方法返回一个约束条件,规定只要区间变量 "
a存在,就不能以 "t的值为起点,这样 "f(t)=0. |
IloConstraint |
ge(IloCumulFunctionExpr f,
IloIntExpr vmin)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝对不能小于 "vmin。 |
IloConstraint |
ge(IloCumulFunctionExpr f,
int vmin)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝对不能小于 "vmin。 |
IloConstraint |
ge(IloIntExpr vmax,
IloCumulFunctionExpr f)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝不能大于 "vmax。 |
IloConstraint |
ge(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 "
e1 >= e2。 |
IloConstraint |
ge(IloIntExpr e,
int v)创建并返回新约束 "
e >= v。 |
IloConstraint |
ge(int vmax,
IloCumulFunctionExpr f)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝不能大于 "vmax。 |
IloConstraint |
ge(int v,
IloIntExpr e)创建并返回新约束 "
v >= e。 |
IloCumulFunctionExpr[] |
getAllConstrainedIloCumulFunctionExprs()This method returns an array of all the cumulative function expressions extracted by the invoking CP Optimizer engine whose heights are constrained: on whole definition interval using operator
<= or >=, during certain intervals using constraint IloAlwaysIn (alwaysIn in CPO language). |
IloIntervalSequenceVar[] |
getAllIloIntervalSequenceVars()该方法返回一个数组,其中包含调用 CP 优化引擎提取的所有区间序列变量。
|
IloIntervalVar[] |
getAllIloIntervalVars()该方法返回一个数组,其中包含调用 CP 优化引擎提取的所有区间变量。
|
IloIntVar[] |
getAllIloIntVars()该方法返回一个数组,其中包含调用 CP 优化引擎提取的所有整数变量。
|
IloStateFunction[] |
getAllIloStateFunctions()该方法返回一个数组,其中包含调用 CP 优化引擎提取的所有状态函数。
|
java.lang.String[] |
getAllKPINames()此方法返回所有 KPI 的名称。
|
java.lang.String |
getBuildID() |
IloCP.ConflictStatus |
getConflict(IloConstraint cst)该方法返回给定约束 "
cst的冲突状态。 |
IloCP.ConflictStatus |
getConflict(IloIntervalVar var)该方法返回给定区间变量 "
var的冲突状态。 |
IloCP.ConflictStatus |
getConflict(IloNumVar var)该方法返回给定数字变量 "
var的冲突状态。 |
java.lang.String |
getDomain(IloIntervalVar var)This method returns the current domain of interval variable
var as maintained by the invoking instance of IloCP. |
int |
getDomainSize(IloNumVar var)This member function returns the size of the domain of variable
var as maintained in the invoking instance of . |
int |
getEnd(IloIntervalVar a)This method returns the current value of the end of interval variable
a in the invoking instance of . |
int |
getEnd(java.lang.String intervalVarName)此方法返回指定名称的时间间隔变量的当前结束时间。
|
int |
getEndMax(IloIntervalVar a)This method returns the maximum value for the end of interval variable
a in the invoking instance of . |
int |
getEndMin(IloIntervalVar a)This method returns the minimum value for the end of interval variable
a in the invoking instance of . |
IloIntervalVar |
getFirst(IloIntervalSequenceVar seq)该方法假设区间序列变量 "
seq是固定的。 |
IloCumulFunctionExpr |
getIloCumulFunctionExpr(java.lang.String name)该函数用于查找当前模型中具有给定名称的累积函数表达式。
|
IloIntervalSequenceVar |
getIloIntervalSequenceVar(java.lang.String name)该函数用于查找当前模型中名称为给定值的区间序列变量。
|
IloIntervalVar |
getIloIntervalVar(java.lang.String name)该函数查找当前模型中名称为给定值的区间变量。
|
IloIntVar |
getIloIntVar(java.lang.String name)此函数查找当前模型中名称为给定值的整数变量。
|
IloStateFunction |
getIloStateFunction(java.lang.String name)此函数在当前模型中查找具有给定名称的状态函数。
|
double |
getIncumbentValue(IloNumExpr expr)该方法返回现任解决方案中给定表达式的值。
|
double |
getIncumbentValue(java.lang.String exprName)该方法返回现任解决方案中命名表达式的值。
|
double |
getInfo(IloCP.DoubleInfo which)This method returns the value of the floating-point information
which in the invoked IloCP instance. |
int |
getInfo(IloCP.IntInfo which)This method returns the value of the integer information
which in the invoked IloCP instance. |
int |
getIntValue(IloIntVar var)This method returns the current value of the variable
var in the invoking instance of . |
double |
getKPIValue(java.lang.String name)该方法返回名为 "
name的 KPI 值。 |
IloIntervalVar |
getLast(IloIntervalSequenceVar seq)该方法假设区间序列变量 "
seq是固定的。 |
int |
getLength(IloIntervalVar a)This method returns the current value of the length of interval variable
a in the invoking instance of . |
int |
getLength(java.lang.String intervalVarName)此方法返回指定名称的区间变量的当前长度。
|
int |
getLengthMax(IloIntervalVar a)This method returns the maximum value for the length of interval variable
a in the invoking instance of . |
int |
getLengthMin(IloIntervalVar a)This method returns the minimum value for the length of interval variable
a in the invoking instance of . |
double |
getMax(IloNumVar var)This member function returns the maximum value of the variable
var in the invoking instance of . |
double |
getMin(IloNumVar var)This member function returns the minimum value of the variable
var in the invoking instance of . |
ilog.concert.cppimpl.IloModel |
getModelImplSafe() |
IloIntervalVar |
getNext(IloIntervalSequenceVar seq,
IloIntervalVar a)该方法假设区间序列变量 "
seq是固定的。 |
int |
getNumberOfSegments(IloCumulFunctionExpr f)此方法假定累积函数表达式 "
f是固定的。 |
int |
getNumberOfSegments(IloStateFunction f)此方法假定状态函数 "
f是固定的。 |
double |
getObjBound()该方法返回优化问题求解过程中发现的目标的最佳约束。
|
double[] |
getObjBounds()该方法提供调用实例 "
IloCP中客观标准的当前约束。 |
double |
getObjGap()该方法返回找到的最佳解决方案的目标值与当前目标界限之间的相对差距。
|
double[] |
getObjGaps()该方法在调用的 "
IloCP实例中提供目标标准的当前差距值。 |
double |
getObjValue()该方法返回与 CP 引擎相关的目标函数的数值。
|
double[] |
getObjValues()该方法返回与 CP 引擎相关的多目标函数中所有目标值的数值。
|
double |
getParameter(IloCP.DoubleParam param)This method returns the value of the floating-point parameter
param in the invoked IloCP instance. |
int |
getParameter(IloCP.IntParam param)This method returns the value of the integer parameter
param in the invoked IloCP instance. |
double |
getParameterDefault(IloCP.DoubleParam param)This method returns the default value of the floating-point parameter
param in the invoked IloCP instance. |
int |
getParameterDefault(IloCP.IntParam param)This method returns the default value of the integer parameter
param in the invoked IloCP instance. |
IloIntervalVar |
getPrev(IloIntervalSequenceVar seq,
IloIntervalVar a)该方法假设区间序列变量 "
seq是固定的。 |
int |
getRandomInt(int n)此方法返回一个伪随机生成的整数值,范围为0..n)。
|
double |
getRandomNum()该方法返回一个伪随机生成的浮点数值,范围为 [0.1]。
|
int |
getSegmentEnd(IloCumulFunctionExpr f,
int i)此方法假定累积函数表达式 "
f是固定的。 |
int |
getSegmentEnd(IloStateFunction f,
int i)此方法假定状态函数 "
f是固定的。 |
int |
getSegmentStart(IloCumulFunctionExpr f,
int i)此方法假定累积函数表达式 "
f是固定的。 |
int |
getSegmentStart(IloStateFunction f,
int i)此方法假定状态函数 "
f是固定的。 |
int |
getSegmentValue(IloCumulFunctionExpr f,
int i)此方法假定累积函数表达式 "
f是固定的。 |
int |
getSegmentValue(IloStateFunction f,
int i)此方法假定状态函数 "
f是固定的。 |
int |
getSize(IloIntervalVar a)This method returns the current value of the size of interval variable
a in the invoking instance of . |
int |
getSize(java.lang.String intervalVarName)此方法返回指定名称的区间变量的当前大小。
|
int |
getSizeMax(IloIntervalVar a)This method returns the maximum value for the size of interval variable
a in the invoking instance of . |
int |
getSizeMin(IloIntervalVar a)This method returns the minimum value for the size of interval variable
a in the invoking instance of . |
int |
getStart(IloIntervalVar a)This method returns the current value of the start of interval variable
a in the invoking instance of . |
int |
getStart(java.lang.String intervalVarName)此方法返回指定名称的时间间隔变量的当前开始时间。
|
int |
getStartMax(IloIntervalVar a)This method returns the maximum value for the start of interval variable
a in the invoking instance of . |
int |
getStartMin(IloIntervalVar a)This method returns the minimum value for the start of interval variable
a in the invoking instance of . |
java.lang.String |
getSymbolicValueName(int value)如果存在,该方法返回值的名称,否则返回空值 "
IloCP实例。 |
int |
getValue(IloCumulFunctionExpr f,
int t)此方法假定累积函数表达式 "
f是固定的。 |
double |
getValue(IloIntExpr i)This method returns the current value of the expression
i in the invoking instance of . |
double |
getValue(IloIntVar i)This method returns the current value of the variable
i in the invoking instance of . |
double |
getValue(IloNumExpr num)This method returns the current value of the expression
num in the invoking instance of . |
int |
getValue(IloStateFunction f,
int t)此方法假定状态函数 "
f是固定的。 |
int |
getValue(java.lang.String intVarName)此方法返回给定名称的整数变量的当前值。
|
void |
getValues(IloIntVar[] vars,
double[] vals)该方法接受一个变量数组 "
vars,并将相应的值放入数组 "vals;相应的值来自调用算法的当前解。 |
java.lang.String |
getVersion()该方法返回一个字符串,表示产品的版本。
|
IloConstraint |
gt(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 "
e1 > e2。 |
IloConstraint |
gt(IloIntExpr e,
int v)创建并返回新约束 "
e > v。 |
IloConstraint |
gt(int v,
IloIntExpr e)创建并返回新约束 "
v > e。 |
boolean |
hasObjective()如果且仅当调用 CP 优化器提取了一个涉及目标的模型时,此方法才返回 true。
|
IloIntExpr |
heightAtEnd(IloIntervalVar a,
IloCumulFunctionExpr f)只要存在区间变量 "
a,该函数就会返回一个整数表达式,表示区间末端变量 "a对累加函数表达式 "f的总贡献。 |
IloIntExpr |
heightAtEnd(IloIntervalVar a,
IloCumulFunctionExpr f,
int absVal)只要存在区间变量 "
a,该函数就会返回一个整数表达式,表示区间末端变量 "a对累加函数表达式 "f的总贡献。 |
IloIntExpr |
heightAtStart(IloIntervalVar a,
IloCumulFunctionExpr f)只要存在区间变量 "
a,该方法就会返回一个整数表达式,表示区间变量 "a的起始值对累加函数表达式 "f的总贡献。 |
IloIntExpr |
heightAtStart(IloIntervalVar a,
IloCumulFunctionExpr f,
int absVal)只要存在区间变量 "
a,该方法就会返回一个整数表达式,表示区间变量 "a的起始值对累加函数表达式 "f的总贡献。 |
IloConstraint |
ifThenElse(IloConstraint c1,
IloConstraint c2,
IloConstraint c3)已废弃。
自V21.1起已弃用 创建并返回新约束 "
(c1 => c2) && (! c1 => c3),也就是说,如果满足第一个约束,则意味着第二个约束,如果违反第一个约束,则意味着第三个约束。 |
IloIntVarEval |
impactOfLastBranch()此方法返回一个变量评估器。
|
IloConstraint |
imply(IloConstraint c1,
IloConstraint c2)创建并返回新约束 "
c1 => c2,即第一个约束暗示另一个约束。 |
void |
importModel(java.io.InputStream s)此函数从指定数据流中读取一个模型。
|
void |
importModel(java.lang.String filename)该函数从 "
filename参数指定的文件中读取模型。 |
IloAddable |
inferred(IloIntVar var)返回一个 addable,它将 "
var标识为由非推断变量的值推断出的值。 |
IloAddable |
inferred(IloIntVar[] vars)返回一个 "addable"(可添加变量),它能识别出某些变量的值是由非推断变量的值推断出来的。
|
IloIntervalSequenceVar |
intervalSequenceVar(IloIntervalVar[] a)该方法在数组 "
a定义的区间变量集合上创建序列变量实例。 |
IloIntervalSequenceVar |
intervalSequenceVar(IloIntervalVar[] a,
int[] types)该方法在数组 "
a定义的区间变量集合上创建序列变量实例。 |
IloIntervalSequenceVar |
intervalSequenceVar(IloIntervalVar[] a,
int[] types,
java.lang.String name)该方法在数组 "
a定义的区间变量集合上创建序列变量实例。 |
IloIntervalSequenceVar |
intervalSequenceVar(IloIntervalVar[] a,
java.lang.String name)该方法在数组 "
a定义的区间变量集合上创建序列变量实例。 |
IloIntervalVar |
intervalVar()该方法创建一个区间变量。
|
IloIntervalVar |
intervalVar(int sz)该方法创建一个区间变量。
|
IloIntervalVar |
intervalVar(int szmin,
int szmax)该方法创建一个区间变量。
|
IloIntervalVar |
intervalVar(int szmin,
int szmax,
boolean opt,
IloNumToNumStepFunction intensity,
int granularity)该方法创建一个区间变量。
|
IloIntervalVar |
intervalVar(int sz,
java.lang.String name)该方法创建一个区间变量。
|
IloIntervalVar |
intervalVar(java.lang.String name)该方法创建一个区间变量。
|
IloIntExpr |
intExpr(IloConstraint ct)从 "
ct创建并返回新的 "IloIntExpr。 |
IloIntExpr[] |
intExprArray(int n)创建并返回空表达式数组。
|
IloIntTupleSet |
intTable(int dimension)创建并返回新表 "
table。 |
IloIntValueChooser |
intValueChooser(IloValueSelector valueSel)该方法返回由 "
IloValueSelector和 "valueSel"组成的 "IloIntValueChooser。 |
IloIntValueChooser |
intValueChooser(IloValueSelector[] valueSels)该方法返回一个由 "
IloValueSelector和 "valueSels组成的数组 "IloIntValueChooser。 |
IloIntVar |
intVar(int[] values)创建并返回一个新的整数变量,该变量具有一个可能值域。
|
IloIntVar |
intVar(int[] values,
java.lang.String name)创建并返回一个新的整数变量,该变量包含一个可能值域和一个名称。
|
IloIntVar |
intVar(int lb,
int ub,
java.lang.String name)
|
IloIntVar[] |
intVarArray(int n)该方法返回一个新的 "
n空变量数组。 |
IloIntVar[] |
intVarArray(int n,
int[] values,
java.lang.String name)返回包含域值和名称的新数组 "
n变量。 |
IloIntVar[] |
intVarArray(int n,
int min,
int max,
java.lang.String name)创建并返回新数组 "
n变量,其中包含域 "min..max和名称。 |
IloIntVarChooser |
intVarChooser(IloVarSelector varSel)该方法返回由 "
IloVarSelector和 "varSel"组成的 "IloIntVarChooser。 |
IloIntVarChooser |
intVarChooser(IloVarSelector[] varSels)该方法返回一个由 "
IloVarSelector和 "varSels组成的数组 "IloIntVarChooser。 |
IloConstraint |
inverse(IloIntExpr[] f,
IloIntExpr[] invf)创建并返回逆约束。
|
boolean |
isAbsent(IloIntervalVar a)This method returns true if and only if interval variable
a is absent in the invoking instance of . |
boolean |
isAbsent(java.lang.String intervalVarName)如果指定名称的区间变量当前设置为不存在,则此方法返回 true。
|
boolean |
isFixed(IloCumulFunctionExpr f)该方法指示累积函数表达式 "
f是否取调用 "IloCP实例维护的特定值。 |
boolean |
isFixed(IloIntervalSequenceVar seq)该方法指示区间序列变量 "
seq的域是否取调用 "实例维护的特定值。 |
boolean |
isFixed(IloIntervalVar a)该方法指示 "
a的域是否具有由调用的 "实例维护的特定值。 |
boolean |
isFixed(IloNumVar var)该成员函数指示 "
var的域是否具有由调用的 "实例维护的特定值。 |
boolean |
isFixed(IloStateFunction f)该方法指示状态函数 "
f是否取调用 "IloCP实例维护的特定值。 |
boolean |
isInDomain(IloNumVar var,
int value)This member function indicates whether
value is contained in the current domain of var as maintained by the invoking instance. |
IloIsomorphism |
isomorphism(IloIntervalVar[] domain,
IloIntervalVar[] intervals)该方法在数组 "
domain中的区间变量集和数组 "intervals中的区间变量集之间创建了一个同构约束。 |
IloIsomorphism |
isomorphism(IloIntervalVar[] domain,
IloIntervalVar[] intervals,
IloIntExpr[] map,
int absVal)该方法在数组 "
domain中的区间变量集和数组 "intervals中的区间变量集之间创建了一个同构约束。 |
IloIsomorphism |
isomorphism(IloIntervalVar[] domain,
IloIntervalVar[] intervals,
IloIntExpr[] map,
int absVal,
java.lang.String name)该方法在数组 "
domain中的区间变量集和数组 "intervals中的区间变量集之间创建了一个同构约束。 |
IloIsomorphism |
isomorphism(IloIntervalVar[] domain,
IloIntervalVar[] intervals,
java.lang.String name)该方法在数组 "
domain中的区间变量集和数组 "intervals中的区间变量集之间创建了一个同构约束。 |
boolean |
isPresent(IloIntervalVar a)This method returns true if and only if interval variable
a is present in the invoking instance of . |
boolean |
isPresent(java.lang.String intervalVarName)如果指定名称的区间变量当前设置为存在,则此方法返回 true。
|
java.util.Iterator |
iterator(IloIntVar var)该成员函数返回一个迭代器,用于遍历由调用IloCP 维护的 "
var域。 |
IloConstraint |
last(IloIntervalSequenceVar seq,
IloIntervalVar a)该方法返回一个约束条件,规定只要区间变量 "
a出现,就必须在序列变量 "seq中排在最后。 |
IloConstraint |
le(IloCumulFunctionExpr f,
IloIntExpr vmax)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝不能大于 "vmax。 |
IloConstraint |
le(IloCumulFunctionExpr f,
int vmax)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝不能大于 "vmax。 |
IloConstraint |
le(IloIntExpr vmin,
IloCumulFunctionExpr f)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝对不能小于 "vmin。 |
IloConstraint |
le(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 "
e1 <= e2。 |
IloConstraint |
le(IloIntExpr e,
int v)创建并返回新约束 "
e <= v。 |
IloConstraint |
le(int vmin,
IloCumulFunctionExpr f)该方法返回一个约束条件,规定累积函数表达式 "
f的值绝对不能小于 "vmin。 |
IloConstraint |
le(int v,
IloIntExpr e)创建并返回新约束 "
v <= e。 |
IloNumExpr |
lengthEval(IloIntervalVar a,
IloNumToNumSegmentFunction f)This method returns a numerical expression that represents the value of function
f evaluated on the length of interval variable a whenever the interval variable is present. |
IloNumExpr |
lengthEval(IloIntervalVar a,
IloNumToNumSegmentFunction f,
double absVal)This method returns a numerical expression that represents the value of function
f evaluated on the length of interval variable a whenever the interval variable is present. |
IloIntExpr |
lengthOf(IloIntervalVar a)This method returns an integer expression that represents the length of interval variable
a whenever the interval variable is present. |
IloIntExpr |
lengthOf(IloIntervalVar a,
int absVal)This method returns an integer expression that represents the length of interval variable
a whenever the interval variable is present. |
IloIntExpr |
lengthOfNext(IloIntervalSequenceVar seq,
IloIntervalVar a,
int lastVal)This method returns an integer expression that represents the length of the interval variable that is next to interval
a in sequence variable seq. |
IloIntExpr |
lengthOfNext(IloIntervalSequenceVar seq,
IloIntervalVar a,
int lastVal,
int absVal)This method returns an integer expression that represents the length of the interval variable that is next to interval
a in sequence variable seq. |
IloIntExpr |
lengthOfPrevious(IloIntervalSequenceVar seq,
IloIntervalVar a,
int firstVal)This method returns an integer expression that represents the length of the interval variable that is previous to interval
a in sequence variable seq. |
IloIntExpr |
lengthOfPrevious(IloIntervalSequenceVar seq,
IloIntervalVar a,
int firstVal,
int absVal)This method returns an integer expression that represents the length of the interval variable that is previous to interval
a in sequence variable seq. |
IloConstraint |
lexicographic(IloIntExpr[] arg1,
IloIntExpr[] arg2)创建并返回一个约束,该约束将两个数组按词典顺序排列。
|
IloNumExpr |
log(IloNumExpr e)创建并返回新表达式 "
log(e)。 |
IloConstraint |
lt(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 "
e1 < e2。 |
IloConstraint |
lt(IloIntExpr e,
int v)创建并返回新约束 "
e < v。 |
IloConstraint |
lt(int v,
IloIntExpr e)创建并返回新约束 "
vintExpr < e。 |
IloIntExpr |
max(IloIntExpr[] exprs)创建并返回新表达式 "
max(expr)。 |
IloNumExpr |
max(IloNumExpr[] exprs)创建并返回新的数字表达式 "
max(expr),即数组的最大值。 |
IloObjective |
maximize(IloIntExpr e)创建一个最大化目标。
|
IloObjective |
maximize(IloMultiCriterionExpr e)创建一个最大化多标准目标。
|
IloIntExpr |
min(IloIntExpr[] exprs)创建并返回新表达式 "
min(exprs)。 |
IloNumExpr |
min(IloNumExpr[] exprs)创建并返回新的数字表达式 "
min(exprs),即数组的最小值。 |
IloObjective |
minimize(IloIntExpr e)创建最小化目标。
|
IloObjective |
minimize(IloMultiCriterionExpr e)创建一个最小化多标准目标。
|
IloIntExpr |
modulo(IloIntExpr e,
int r)创建并返回模数表达式 "
e % r。 |
IloConstraint |
neq(IloIntExpr e1,
IloIntExpr e2)创建并返回新约束 |