公共接口IloIntVarChooser
变量选择器应用于搜索策略中的 "IloIntVar数组。 在数组中每个变量都固定为一个值的情况下,它只选择一个变量或不选择任何变量。
IloIntVarChooser实例应与 "IloSearchPhase类结合使用,后者决定选择器将应用于哪一组变量。 它可以通过变量选择器或此类选择器的数组(使用 "IloCP.intVarChooser(IloVarSelector)或 "IloCP.intVarChooser(IloVarSelector[]))创建,也可以通过子类化 "IloCustomIntVarChooser抽象类来定义自己的整数变量选择器。
当使用选择器数组(IloVarSelector[])创建变量时,变量的选择方式如下:数组中的第一个选择器从考虑的变量中选择一组变量(见 "IloSearchPhase)。 如果在此阶段选择的变量超过一个,则数组中的下一个选择器将应用于其余变量,依此类推,直到只剩下一个变量或所有选择器都已处理完毕。 如果在这个过程结束时,剩下的变量不止一个,那么被选中的变量将是传给驱动该选择器的 "IloSearchPhase实例的数组中索引最小的那个。
例如,下面的代码会创建一个变量选择器,选择域大小最小的变量,并随机打破平局:
IloVarSelector[] varSel' = 新的'IloVarSelector[2];
varSel[0] = cp.selectSmallest(cp.domainSize());
varSel[1] = cp.selectRandomVar();
IloIntVarChooser varChooser = cp.intVarChooser(varSel);
| 修饰符和类型 | 方法和说明 |
|---|---|
void |
end() |