跳至主内容
框架 无框架

IloSolution类

定义文件: ilconcert/ilosolution.h
IloSolution的地图IloSolutionIloOplSolutionIloSolution
该类的实例存储问题的解决方案。

该类的实例存储问题的解决方案。 IloSolution的基本属性是能够将存储的值从与之相关的活动对象转移到与之相关的活动对象。 其中,成员函数 "IloSolution::store存储算法变量的值,而成员函数 "IloSolution::restore则用存储的值实例化实际变量。 解决方案中的变量可以有选择地还原。 该类还提供复制和比较解决方案的成员函数。

有关这些变量类别的信息可以存储在 "IloSolution实例中:

该类中的大多数成员函数都包含 "assert语句。 有关宏 "NDEBUG(打开或关闭这些 "assert语句的方法)的解释,请参阅Assert 和 NDEBUG 概念。

IloSolution类型的对象有一个作用域,包括在解决方案中存储其值的变量集合。 范围被赋予 "之前,通过 "add和 "remove方法执行存储和恢复的基本操作。 例如

 IloNumVarvar(env);
 IloSolutionsoln(env);
 solution.add(var);
 

创建一个数值变量和一个解,并将变量添加到解中。 还可以将变量数组添加到解决方案中。 例如

 IloNumVarArrayarr(env, 10, 0, 1);
 soln.add(arr);
 

添加 10 个变量,变量范围 [0...1]。 当变量数组被添加到解决方案中时,数组对象本身并不存在于解决方案的作用域中,而只存在于元素中。 如果通过 "soln.store(algorithm)存储解决方案,变量 "var和 "arr[0]至 "arr[9]的值将被保存。 任何添加解决方案中已有变量的尝试都会引发异常,即出现 "IloException实例。

访问器允许访问变量的存储值,而不管其存储的算法状态(或存在与否)如何。 例如

 cout << "arr[3] = " <<soln.getValue(arr[3]) << endl;
 

任何访问解决方案中不存在的变量的尝试都会抛出一个 "IloException实例。

可以从解决方案中删除一个变量或变量数组。 例如

 soln.remove(var);
 

将 "var从解决方案的范围中移除;以及

 soln.remove(arr);
 

从解决方案中删除 "arr[0]至 "arr[9]

任何删除解决方案中不存在的变量的尝试都会抛出一个 "IloException实例。

另请参阅IBMILOG 求解器参考手册》中的这些类: IloAnySetVar,IloAnyVar,IloIntSetVar,IloStoreSolution,IloFRestoreSolution.

另请参阅CP 优化器参考手册》中的该类: IloIntervalVar.

另请参阅:

方法概要
public voidadd(const IloIntervalVarArray a) const
public voidadd(const IloIntervalVar a) const
public voidadd(IloAnySetVarArray a) const
public voidadd(IloAnySetVar var) const
public voidadd(IloAnyVarArray a) const
public voidadd(IloAnyVar var) const
public voidadd(IloIntVarArray a) const
public voidadd(IloIntVar var) const
public voidadd(IloNumVarArray a) const
public voidadd(IloNumVar var) const
public voidadd(IloObjective objective) const
public IloBoolcontains(IloExtractable extr) const
public voidcopy(IloExtractable extr, IloSolution solution) const
public voidcopy(IloSolution solution) const
public voidend()
public IloIntgetEnd(const IloIntervalVar a) const
public IloIntgetEndMax(const IloIntervalVar a) const
public IloIntgetEndMin(const IloIntervalVar a) const
public IloEnvgetEnv() const
public IloSolutionI *getImpl() const
public IloIntgetLength(const IloIntervalVar a) const
public IloIntgetLengthMax(const IloIntervalVar a) const
public IloIntgetLengthMin(const IloIntervalVar a) const
public IloIntgetMax(IloIntVar var) const
public IloNumgetMax(IloNumVar var) const
public IloIntgetMin(IloIntVar var) const
public IloNumgetMin(IloNumVar var) const
public const char *getName() const
public IloAnygetObject() const
public IloObjectivegetObjective() const
public IloNumgetObjectiveValue() const
public IloNumVargetObjectiveVar() const
public IloAnySetgetPossibleSet(IloAnySetVar var) const
public IloAnySetgetRequiredSet(IloAnySetVar var) const
public IloIntgetSize(const IloIntervalVar a) const
public IloIntgetSizeMax(const IloIntervalVar a) const
public IloIntgetSizeMin(const IloIntervalVar a) const
public IloIntgetStart(const IloIntervalVar a) const
public IloIntgetStartMax(const IloIntervalVar a) const
public IloIntgetStartMin(const IloIntervalVar a) const
public IloAnygetValue(IloAnyVar var) const
public IloIntgetValue(IloIntVar var) const
public IloNumgetValue(IloNumVar var) const
public IloNumgetValue(IloObjective obj) const
public IloSolution()
public IloSolution(IloSolutionI * impl)
public IloSolution(const IloSolution & solution)
public IloSolution(IloEnv mem, const char * name=0)
public IloBoolisAbsent(const IloIntervalVar a) const
public IloBoolisBetterThan(IloSolution solution) const
public IloBoolisBound(IloAnySetVar var) const
public IloBoolisBound(IloNumVar var) const
public IloBoolisEquivalent(IloExtractable extr, IloSolution solution) const
public IloBoolisEquivalent(IloSolution solution) const
public IloBoolisFixed(IloIntVar var) const
public IloBoolisInDomain(IloIntVar var, IloInt value) const
public IloBoolisObjectiveSet() const
public IloBoolisPresent(const IloIntervalVar a) const
public IloBoolisRestorable(IloExtractable extr) const
public IloBoolisWorseThan(IloSolution solution) const
public IloSolutionmakeClone(IloEnv env) const
public voidoperator=(const IloSolution & solution)
public voidremove(IloExtractableArray extr) const
public voidremove(IloExtractable extr) const
public voidrestore(IloExtractable extr, IloAlgorithm algorithm) const
public voidrestore(IloAlgorithm algorithm) const
public voidsetAbsent(const IloIntervalVar a) const
public voidsetDomain(IloIntVar var, IloInt min, IloInt max) const
public voidsetEnd(const IloIntervalVar a, IloInt v) const
public voidsetEndMax(const IloIntervalVar a, IloInt max) const
public voidsetEndMin(const IloIntervalVar a, IloInt min) const
public voidsetFalse(IloBoolVar var) const
public voidsetLength(const IloIntervalVar a, IloInt v) const
public voidsetLengthMax(const IloIntervalVar a, IloInt max) const
public voidsetLengthMin(const IloIntervalVar a, IloInt min) const
public voidsetLocation(const char * fileName, int lineNumber) const
public voidsetMax(IloIntVar var, IloInt max) const
public voidsetMin(IloIntVar var, IloInt min) const
public voidsetName(const char * name) const
public voidsetNonRestorable(IloExtractableArray array) const
public voidsetNonRestorable(IloExtractable extr) const
public voidsetObject(IloAny obj) const
public voidsetObjective(IloObjective objective) const
public voidsetOptional(const IloIntervalVar a) const
public voidsetPossibleSet(IloAnySetVar var, IloAnySet possible) const
public voidsetPresent(const IloIntervalVar a) const
public voidsetRequiredSet(IloAnySetVar var, IloAnySet required) const
public voidsetRestorable(IloExtractableArray array) const
public voidsetRestorable(IloExtractable ex) const
public voidsetSize(const IloIntervalVar a, IloInt v) const
public voidsetSizeMax(const IloIntervalVar a, IloInt max) const
public voidsetSizeMin(const IloIntervalVar a, IloInt min) const
public voidsetStart(const IloIntervalVar a, IloInt v) const
public voidsetStartMax(const IloIntervalVar a, IloInt max) const
public voidsetStartMin(const IloIntervalVar a, IloInt min) const
public voidsetTrue(IloBoolVar var) const
public voidsetValue(IloAnyVar var, IloAny value) const
public voidsetValue(IloIntVar var, IloInt value) const
public voidsetValue(IloObjective objective, IloNum value) const
public voidstore(IloExtractable extr, IloAlgorithm algorithm) const
public voidstore(IloAlgorithm algorithm) const
public voidunsetObjective() const
内部班级
IloSolution::Iterator它允许你遍历解决方案中的变量。
方法详细信息

IloSolution

公共IloSolution()

该构造函数将创建一个实现指针为 0(零)的解决方案。 必须先分配句柄,才能使用其方法。


IloSolution

公共IloSolution(IloSolutionI *impl)

This constructor creates a handle object (an instance of the class IloSolution) from a pointer to an implementation object (an instance of the class IloSolutionI).


IloSolution

publicIloSolution(constIloSolution&solution)

该构造函数根据解决方案的引用创建一个句柄对象。 执行后,新构建的句柄和 "solution都指向同一个执行对象。


IloSolution

public 'IloSolution( 'IloEnv'备忘录, const char * '名字=0)

该构造函数创建了一个 "IloSolution类的实例。 如果提供了可选参数 "name,它将成为创建对象的名称。


添加

public voidadd(constIloIntervalVarArray a) const

该成员函数将数组 "a中的每个元素添加到调用的解决方案中。


添加

public voidadd(constIloIntervalVar a) const

该成员函数将区间变量 "a添加到调用的解决方案中。


添加

public voidaddIloAnySetVarArray a) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将 "array的每个元素添加到调用的解决方案中。


添加

public voidaddIloAnySetVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将集合变量 "var添加到调用的解决方案中。


添加

public voidaddIloAnyVarArray a) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将 "array的每个元素添加到调用的解决方案中。


添加

public voidaddIloAnyVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将变量 "var添加到调用的解决方案中。


添加

public voidaddIloIntVarArray a) const

该成员函数将数组 "a中的每个元素添加到调用的解决方案中。


添加

public voidaddIloIntVar var) const

该成员函数将变量 "var添加到调用的解决方案中。


添加

public voidaddIloNumVarArray a) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将 "array的每个元素添加到调用的解决方案中。


添加

public voidaddIloNumVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将变量 "var添加到调用的解决方案中。


添加

public voidaddIloObjective objective) const

该成员函数将 "objective添加到调用的解决方案中。 如果解决方案没有活动目标,则 "objective将成为活动目标。 否则,主动目标保持不变。


contains

publicIloBool containsIloExtractable extr) const

This member function returns IloTrue if extr is present in the invoking object. 否则,返回 "IloFalse


COPY

public voidcopyIloExtractable extr,IloSolution solution) const

该成员函数将 "extr的保存值从 "solution复制到调用的解决方案中。 如果 "extr不存在于 "solution或调用对象中,该成员函数将抛出一个 "IloException实例。 未复制 "extr的可恢复状态。


COPY

public voidcopyIloSolution solution) const

对于添加到 "solution中的每个变量,该成员函数都会将其保存的数据复制到调用的解决方案中。 如果调用的解决方案中还不存在特定的可提取物,则会首先自动添加该可提取物。 如果变量被添加到调用方案中,它们的可恢复状态与 "solution相同。 否则,它们在调用解决方案中的状态保持不变。


结束

public voidend()

该成员函数将停用用于存储解决方案的内存。 如果不再需要解决方案,调用该成员函数可以减少内存消耗。


getEnd

publicIloInt getEnd(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的终值。 如果调用的解决方案不包含区间变量,或者保存的区间变量的最小值和最大值不相等,则该成员函数会抛出一个 "IloException实例。


getEndMax

publicIloInt getEndMax(constIloIntervalVar a) const

该成员函数返回调用解中区间变量 "a的最大端值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getEndMin

publicIloInt getEndMin(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的最小端值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getEnv

publicIloEnv getEnv() const

该成员函数返回构造调用对象时指定的环境。


getImpl

公共IloSolutionI*getImpl() const

该成员函数返回一个指向与调用解决方案相对应的实现对象的指针。


getLength

publicIloInt getLength(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的长度值。 如果调用的解决方案不包含区间变量,或者保存的区间变量最小长度和最大长度不相等,则该成员函数抛出 "IloException实例。


getLengthMax

publicIloInt getLengthMax(constIloIntervalVar a) const

该成员函数返回调用解中区间变量 "a的最大长度值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getLengthMin

publicIloInt getLengthMin(constIloIntervalVar a) const

该成员函数返回调用解中区间变量 "a的最小长度值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getMax

publicIloInt getMax(IloIntVar var) const

该成员函数返回调用解决方案中变量 "var的最大值。


getMax

publicIloNum getMax(IloNumVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回调用解决方案中变量 "var的最大值。


getMin

publicIloInt getMin(IloIntVar var) const

该成员函数返回调用解决方案中变量 "var的最小值。


getMin

publicIloNum getMin(IloNumVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回调用解决方案中变量 "var的最小值。


getName

公共 const char *getName() const

该成员函数返回一个字符串,指明调用对象的名称(如果有的话)。


getObject

公共IloAny getObject() 常量

该成员函数返回与调用对象相关联的对象(如果有的话)。 通常,关联对象包含与调用对象相关的用户数据。


getObjective

publicIloObjective getObjective() const

该成员函数返回之前调用 "IloSolution::add或 "setObjective(IloObjective)时设置的活动目标。 如果没有活动目标,则返回空句柄。


getObjectiveValue

publicIloNum getObjectiveValue() const

该成员函数返回当前活动目标的保存值。 可将其视为执行 "getValue(getObjective())操作。


getObjectiveVar

publicIloNumVar getObjectiveVar() const

如果活动目标对应一个简单的 "IloNumVar,则该成员函数返回该变量。 如果没有活动目标或目标不是简单变量,则返回空句柄。


getPossibleSet

publicIloAnySet getPossibleSet(IloAnySetVarvar) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回变量 "var的可能值集合,这些值存储在调用的解决方案中。


getRequiredSet

publicIloAnySet getRequiredSet(IloAnySetVarvar) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回变量 "var的所需值集合,这些值存储在调用的解决方案中。


getSize

publicIloInt getSize(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的大小值。 如果调用的解决方案不包含区间变量,或者保存的区间变量的最小值和最大值不相等,该成员函数将抛出一个 "IloException实例。


getSizeMax

publicIloInt getSizeMax(constIloIntervalVar a) const

该成员函数返回调用解中区间变量 "a的最大值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getSizeMin

publicIloInt getSizeMin(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的最小值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getStart

publicIloInt getStart(constIloIntervalVar a) const

该成员函数返回调用解决方案中区间变量 "a的起始值。 如果调用的解决方案不包含区间变量,或者保存的区间变量的最小起始值和最大起始值不相等,该成员函数将抛出一个 "IloException实例。


getStartMax

publicIloInt getStartMax(constIloIntervalVar a) const

该成员函数返回调用解中区间变量 "a的最大起始值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getStartMin

publicIloInt getStartMin(constIloIntervalVar a) const

该成员函数返回调用方案中区间变量 "a的最小起始值。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


getValue

publicIloAny getValue(IloAnyVarvar) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回调用解决方案中变量 "var的值。


getValue

publicIloInt getValue(IloIntVar var) const

该成员函数返回调用解决方案中变量 "var的值。 如果保存的变量最小值和最大值不相等,该成员函数将抛出一个 "IloException实例。

有关 CPLEX 中适用于该方法的积分、截断和四舍五入等特殊考虑因素,请参见概念 "CPLEX 优化器中的整数值、整数公差和四舍五入


getValue

publicIloNum getValue(IloNumVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数返回调用解决方案中变量 "var的值。 如果保存的变量最小值和最大值不相等,该成员函数将抛出一个 "IloException实例。


getValue

publicIloNum getValue(IloObjective obj) const

该成员函数返回调用解决方案中目标 "objective的保存值。


isAbsent

publicIloBool isAbsent(constIloIntervalVar a) const

如果在调用方案中区间变量 "a的缺失状态为 true,则该成员函数返回 true。 如果保存的区间变量的缺失状态不固定或固定为 false(存在区间),则该成员函数返回 false。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


isBetterThan

publicIloBool isBetterThan(IloSolutionsolution) const

如果调用的解决方案和 "solution的目标相同,并且调用的解决方案的目标值质量更高(根据目标的意义),则该成员函数返回 "IloTrue。 在所有其他情况下,返回 "IloFalse


isBound

publicIloBool isBound(IloAnySetVarvar) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

如果在调用解决方案中,存储的集合变量 "var的所需集合和可能集合相等,则该成员函数返回 "IloTrue。 否则,返回 "IloFalse


isBound

publicIloBool isBound(IloNumVar var) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

This member function returns IloTrue if var takes a single value in the invoking solution. 否则,返回 "IloFalse


isEquivalent

publicIloBool isEquivalent(IloExtractable extr,IloSolution solution) const

如果 "extr的保存值在调用解决方案中与 "solution相同,则该成员函数返回 "IloTrue。 否则,返回 "IloFalse。 如果 "extr不存在于 "solution或调用对象中,成员函数将抛出一个 "IloException实例。


isEquivalent

publicIloBool isEquivalent(IloSolutionsolution) const

如果调用对象和 "solution包含的变量的保存值相同,则该成员函数返回 "IloTrue。 否则,返回 "IloFalse


isFixed

publicIloBool isFixed(IloIntVar var) const

This member function returns IloTrue if var takes a single value in the invoking solution. 否则,返回 "IloFalse


isInDomain

publicIloBool isInDomain(IloIntVar var,IloInt value) const

如果 "value属于调用解中整数变量 "var的域,则该成员函数返回 "IloTrue。 否则,返回 "IloFalse


isObjectiveSet

publicIloBool isObjectiveSet() const

如果调用的解决方案有活动目标,则该成员函数返回 "IloTrue。 否则,返回 "IloFalse


isPresent

publicIloBool isPresent(constIloIntervalVar a) const

如果调用解决方案中区间变量 "a的存在状态为 true,则该成员函数返回 true。 如果保存的区间变量的存在状态不固定或固定为 false(不存在区间),则该成员函数返回 false。 如果调用的解决方案不包含区间变量,该函数将抛出一个 "IloException实例。


isRestorable

publicIloBool isRestorable(IloExtractable extr) const

如果 "setNonRestorable(extr)比 "setRestorable(extr)最近被调用,则该成员函数返回 "IloFalse。 否则,返回 "IloTrue。 This member function always returns IloFalse when it is passed an IloObjective object.


isWorseThan

publicIloBool isWorseThan(IloSolutionsolution) const

如果调用的解决方案和 "solution的目标相同,且调用的解决方案的目标值质量较低(根据目标的意义),则该成员函数返回 "IloTrue。 在所有其他情况下,返回 "IloFalse


makeClone

publicIloSolution makeClone(IloEnv env) const

该成员函数为 "env分配一个新的解决方案,并将所有变量添加到调用对象中。 克隆中所有变量的 "可恢复 "状态与调用方案中的状态相同。 同样,克隆中的活动目标与调用解决方案中的活动目标相同。 新创建的解决方案将被返回。


Operator=

public voidoperator=(constIloSolution&solution)

该操作符为调用解决方案的句柄指针分配一个地址。 该地址是 "solution执行对象的位置。 执行此操作符后,调用解决方案和 "solution都指向同一个执行对象。


移除

public voidremoveIloExtractableArray extr) const

该成员函数从调用的解决方案中删除 "array的每个元素。 如果调用的解决方案不包含 "array的所有元素,成员函数将抛出一个 "IloException实例。


移除

public voidremoveIloExtractable extr) const

该成员函数从调用的解决方案中删除可提取的 "extr。 如果调用的解决方案不包含 "extr,成员函数将抛出一个 "IloException实例。


复原

public void '修复( 'IloExtractable'挤出, 'IloAlgorithm'算法) const

This member function restores the value of the extractable corresponding to extr by reference to algorithm. 该成员函数的使用取决于 "algorithm的状态。 如果 "algorithm是IBMILOG 求解器类 "IloSolver的实例,则该成员函数只能在搜索过程中使用。 如果调用解决方案中不存在 "extr,成员函数将抛出 "IloException实例。


复原

public voidrestoreIloAlgorithm algorithm) const

该成员函数使用 "algorithm将调用方案中的变量与保存的值实例化。 任何添加到解决方案中的目标值都不会恢复。 该成员函数的使用取决于 "algorithm的状态。 如果 "algorithm是IBMILOG 求解器类 "IloSolver的实例,则该成员函数只能在搜索过程中使用。


setAbsent

public voidsetAbsent(constIloIntervalVar a) const

This member function sets the absence status of interval variable a to be true in the invoking solution. 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setDomain

public voidsetDomain(IloIntVar var,IloInt min,IloInt max) const

该成员函数将范围 "[min,max]设置为调用解中整数变量 "var的新域。


setEnd

public voidsetEnd(constIloIntervalVar a,IloInt v) const

该成员函数将区间变量 "a的终值(最小值和最大值)设置为调用解中的 "v。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setEndMax

public voidsetEndMax(constIloIntervalVar a,IloInt max) const

该成员函数将调用解中区间变量 "a的最大端值设置为 "max。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setEndMin

public voidsetEndMin(constIloIntervalVar a,IloInt min) const

该成员函数将调用解中区间变量 "a的最小端值设置为 "min。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setFalse

public voidsetFalse(IloBoolVar var) const

该成员函数将 "var的存储值设置为调用解决方案中的 "IloFalse


setLength

public voidsetLength(constIloIntervalVar a,IloInt v) const

该成员函数将区间变量 "a的长度值(最小值和最大值)设置为调用解中的 "v。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setLengthMax

public voidsetLengthMax(constIloIntervalVar a,IloInt max) const

该成员函数将调用解中区间变量 "a的最大长度值设置为 "max。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setLengthMin

public voidsetLengthMin(constIloIntervalVar a,IloInt min) const

该成员函数将调用解中区间变量 "a的最小长度值设置为 "min。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setLocation

public voidsetLocation(const char *fileName, intlineNumber) const

该成员函数将源代码位置(文件名和行号)存储在调用对象中。 建议使用宏 __FILE__ 和 __LINE__ 作为参数。提供的位置可用于调试。 特别是 CP 优化器可能会在错误信息和模型转储中包含该位置。

注意,fileName参数指向的字符串不会被复制。 因此,指针必须在对象的整个生命周期内有效。

与其直接使用该函数,不如使用宏 "ILOSETLOCATION和 "ILOADD


setMax

public voidsetMax(IloIntVar var,IloInt max) const

该成员函数将调用解中变量 "var的最大值设置为 "max


setMin

public voidsetMin(IloIntVar var,IloInt min) const

该成员函数将调用解决方案中变量 "var的最小值设置为 "min


setName

public voidsetName(const char *name) const

该成员函数将 "name赋值给调用对象。

当调用已提取的可提取物时,将向引擎发送通知。 在可能的情况下,应在提取模型之前调用该方法。


setNonRestorable

public voidsetNonRestorable(IloExtractableArray array) const

该成员函数向调用解指定,当通过 "restore(IloAlgorithm)或 "restore(IloExtractable, IloAlgorithm)还原解时,不会还原 "array的元素。 将变量数组添加到解决方案中时,每个变量都处于 "可恢复 "状态。


setNonRestorable

public voidsetNonRestorable(IloExtractable extr) const

该成员函数向调用解指定,当通过 "restore(IloAlgorithm)或 "restore(IloExtractable, IloAlgorithm)还原解时,"extr将不会被还原。 当变量被添加到溶液中时,它处于 "可恢复 "状态。


setObject

public voidsetObject(IloAny obj) const

该成员函数将 "obj与调用对象关联。 之后,成员函数 "getObject将访问该关联对象。 通常,"obj包含与调用对象相关的用户数据。


setObjective

public voidsetObjective(IloObjective objective) const

This member function adds objective to the invoking solution, if it is not already present, and sets the active objective to objective.


setOptional

public voidsetOptional(constIloIntervalVar a) const

该成员函数说明区间变量 "a在调用方案中是可选的,也就是说,它的存在/不存在状态是非绑定的。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setPossibleSet

public voidsetPossibleSet(IloAnySetVarvar,IloAnySet possible) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将 "var存储的可能值设置为调用解决方案中的 "possible


setPresent

public voidsetPresent(constIloIntervalVar a) const

This member function sets the presence status of interval variable a to be true in the invoking solution. 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setRequiredSet

public voidsetRequiredSet(IloAnySetVarvar,IloAnySet required) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将 "var的存储所需数值设置为调用解决方案中的 "required


setRestorable

public voidsetRestorable(IloExtractableArray array) const

该成员函数向调用解指定,当通过 "restore(IloAlgorithm)或 "restore(IloExtractable, IloAlgorithm)还原解时,将还原 "array中的相应元素。 将变量数组添加到解决方案中时,每个变量都处于 "可恢复 "状态。 该调用对 "IloObjective类型的对象没有影响;该类型的对象永远不会被还原。


setRestorable

public voidsetRestorable(IloExtractable ex) const

该成员函数向调用解指定,当通过 "restore(IloAlgorithm)或 "restore(IloExtractable, IloAlgorithm)还原解时,将还原 "extr。 当变量被添加到溶液中时,它处于 "可恢复 "状态。 该调用对 "IloObjective类型的对象没有影响;该类型的对象永远不会被还原。


setSize

public voidsetSize(constIloIntervalVar a,IloInt v) const

该成员函数将区间变量 "a的大小值(最小值和最大值)设置为调用解中的 "v。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setSizeMax

public voidsetSizeMax(constIloIntervalVar a,IloInt max) const

该成员函数将调用解中区间变量 "a的最大值设置为 "max。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setSizeMin

public voidsetSizeMin(constIloIntervalVar a,IloInt min) const

该成员函数将调用解中区间变量 "a的最小值设置为 "min。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setStart

public voidsetStart(constIloIntervalVar a,IloInt v) const

该成员函数将区间变量 "a的起始值(最小值和最大值)设置为调用解中的 "v。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setStartMax

public voidsetStartMax(constIloIntervalVar a,IloInt max) const

该成员函数将调用解中区间变量 "a的最大起始值设置为 "max。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setStartMin

public voidsetStartMin(constIloIntervalVar a,IloInt min) const

该成员函数将调用解中区间变量 "a的最小起始值设置为 "min。 如果调用的解决方案不包含区间变量,该函数将自动添加区间变量。


setTrue

public voidsetTrue(IloBoolVar var) const

该成员函数将 "var的存储值设置为调用解决方案中的 "IloTrue


setValue

public voidsetValue(IloAnyVarvar,IloAny value) const

在 CP Optimizer2.2中,该成员函数已被弃用,因为 CP Optimizer 不支持这种类型的决策变量。

该成员函数将变量 "var的值设置为调用解决方案中的 "value


setValue

public voidsetValue(IloIntVar var,IloInt value) const

该成员函数将变量 "var的值(最小值和最大值)设置为调用解中的 "value


setValue

public voidsetValue(IloObjective objective,IloNum value) const

该成员函数将调用解决方案中存储的 "objective值设置为 "value。 只有在精确知道解的目标值时,才应谨慎使用该成员函数。


store

public void '店铺( 'IloExtractable'挤出, 'IloAlgorithm'算法) const

This member function stores the value of the extractable corresponding to extr by reference to algorithm. 如果调用解决方案中不存在 "extr,成员函数将抛出 "IloException实例。


store

public voidstoreIloAlgorithm algorithm) const

该成员函数存储通过引用 "algorithm添加到解决方案中的对象值。


unsetObjective

public voidunsetObjective() const

该成员函数断言,在调用的解决方案中应该没有活动目标,尽管之前的活动目标仍然存在。 可通过 "IloSolution::add或 "IloSolution::setObjective设置新的活动目标。