| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

该类是 "IloIntValueChooserI及其子类的句柄类。 值选择器适用于搜索策略中的变量。 它在变量的域中选择一个值。
除了常规的句柄构造函数外,该句柄类的实例还可以通过值选择器或此类选择器的数组来创建。
当创建的子类为 "IloIntValueChooserI时,选择的值是函数 "IloInt IloIntVarChooserI::choose(IloCPEngine cp, IloIntVarArray x)返回的值。
IloIntValueChooser实例应与 "IloSearchPhase或 "IloGoal类结合使用,这两个类决定在哪个变量上应用数值选择器。
当使用选择器数组(IloValueSelectorArray)创建时,值的选择方式如下:数组中的第一个选择器从选定的变量中选择一组值(见 "IloSearchPhase和 "IloGoal)。 如果在这一阶段选择的值多于一个,数组中的下一个选择器将应用于其余变量,依此类推,直到只剩下一个值或所有选择器都已处理完毕。 如果在这一过程结束时,剩下的数值不止一个,那么选择的将是最小的一个。
例如,下面的代码会创建一个值选择器,选择影响最大的值,并随机打破平局:
IloValueSelectorArray valueSelArray(env);
valueSelArray.addIloSelectLargest(IloValueImpact(env)));
valueSelArray.add(IloSelectRandomValue(env));
IloIntValueChooser valueChooser(env, valueSelArray);
| 方法概要 | |
|---|---|
public void | end() |
public IloIntValueChooserI * | getImpl() const |
public | IloIntValueChooser(IloIntValueChooserI * impl=0) |
public | IloIntValueChooser(IloEnv env, IloValueSelector valueSel) |
public | IloIntValueChooser(IloEnv env, IloValueSelectorArray valueSelArray) |
| 方法详细信息 |
|---|
该构造函数通过指向实现对象的指针创建一个句柄对象。 如果实现对象为零,则必须在使用前初始化句柄。
该构造函数创建一个带有环境和单个值选择器的值选择器。
该构造函数创建一个值选择器,其中包含一个环境和一个值选择器数组。
该成员函数结束实例并将内存返回环境。
该成员函数返回一个指向调用句柄的实现对象的指针。