跳至主内容
框架 无框架

类IloSequence

定义文件: ilconcert/ilomodel.h
IloSequence的地图IloSequenceIloSequenceIloConstraintIloIntExprArgIloNumExprArgIloExtractable
约束编程:模型中的序列约束。

该类的一个实例代表模型中的一个序列约束。 从构造函数的参数中可以看出,该类的实例可以让您进行约束:

为了使约束生效,必须使用模板 "IloAdd或成员函数 "IloModel::add将其添加到模型中,并使用成员函数 "IloAlgorithm::extract提取算法模型。

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

注意:逻辑约束中不能使用此约束。

另请参阅:

方法概要
public IloSequenceI *getImpl() const
public IloSequence()
public IloSequence(IloSequenceI * impl)
public IloSequence(const IloEnv env, IloInt nbMin, IloInt nbMax, IloInt seqWidth, const IloIntVarArray vars, const IloIntArray values, const IloIntVarArray cards, const char * name=0)
从 "IloConstraint继承的方法
getImpl, IloConstraint, IloConstraint
从 "IloIntExprArg继承的方法
getImpl, IloIntExprArg, IloIntExprArg
从 "IloNumExprArg继承的方法
getImpl, IloNumExprArg, IloNumExprArg
从 "IloExtractable继承的方法
asConstraint, asIntExpr, asModel, asNumExpr, asObjective, asVariable, end, getEnv, getId, getImpl, getName, getObject, IloExtractable, isConstraint, isIntExpr, isModel, isNumExpr, isObjective, isVariable, removeFromAll, setLocation, setName, setObject
方法详细信息

IloSequence

publicIloSequence()
该构造函数创建一个空句柄。 使用前必须初始化。

IloSequence

publicIloSequence(IloSequenceI *impl)
该构造函数通过指向实现对象的指针创建一个句柄对象。

IloSequence

public 'IloSequence(const 'IloEnv'环境, 'IloInt'nbMin, 'IloInt'nbMax, 'IloInt'序列宽度, const 'IloIntVarArray'变量, const 'IloIntArray'价值观, const 'IloIntVarArray'卡片, const char * '名字=0' )

此构造函数在环境中创建序列约束。 参数 "nbMin指定允许值的最小值,"nbMax指定允许值的最大值。 参数 "seqWidth指定序列中元素的个数。 参数 "cards指定了一个心数数组(即出现的次数)。

在该类创建的新约束中,数组 "cards中的约束变量将等于数组 "vars中出现的数组 "values中的值的个数,这样,对于每个序列 "seqWidth(一个数字),连续的约束变量 "vars、至少 "nbMin和至多 "nbMax values都被分配给该序列的一个约束变量。

cards和 "values必须长度相同;否则,在支持 C++ 异常并启用异常的平台上,Concert Technology 会抛出异常 "InvalidArraysException


getImpl

公共IloSequenceI*getImpl() const
该成员函数返回一个指向调用句柄的实现对象的指针。