跳至主内容
框架 无框架

IloOr级

定义文件: ilconcert/ilomodel.h
IloOr地图IloOrIloOrIloConstraintIloIntExprArgIloNumExprArgIloExtractable
代表分条件约束。

IloOr 的实例表示分离式约束。 换言之,它在任意数量的约束之间定义分离式 OR。 由于 "IloOr实例本身就是一个约束条件,因此您可以通过成员函数 "IloOr::add向 "IloOr实例添加约束条件,从而建立广泛的析构。 You can also remove constraints from an instance of IloOr by means of the member function IloOr::remove.

不连续约束的元素必须在同一环境中。

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

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

非并列目标

如果您想用目标(而不是约束条件)来表示分词-OR,那么您应该考虑IBMILOG 求解器参考手册中记录的函数 "IloOrGoal

提取的内容

All the constraints (that is, instances of IloConstraint or one of its subclasses) that have been added to a disjunctive constraint (an instance of IloOr) and that have not been removed from it will be extracted when an algorithm such as IloCplex, IloCP, or IloSolver extracts the constraint.

示例

例如,您可以编写:

 IloOrmyor(env);
 myor.add(constraint1);
 myor.add(constraint2);
 myor.add(constraint3);
 

这些线条相当于 :

 IloOr或 =constraint1||constraint2||constraint3;
 

另请参阅:

方法概要
public voidadd(const IloConstraintArray cons) const
public voidadd(const IloConstraint con) const
public IloOrI *getImpl() const
public IloOr()
public IloOr(IloOrI * impl)
public IloOr(const IloEnv env, const char * name=0)
public voidremove(const IloConstraintArray cons) const
public voidremove(const IloConstraint con) const
从 "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
方法详细信息

IloOr

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

IloOr

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

IloOr

public 'IloOr(const 'IloEnv'环境, const char * '名字=0)

该构造函数创建了一个用于 "env的非连接约束条件。 可选参数 "name默认设置为 "0


添加

public voidadd(constIloConstraintArray cons) const

该成员函数使 "array中的所有元素都成为调用的断开约束的元素。 换句话说,它对 "array中的所有元素都应用了调用的非连接约束。

成员函数 "add会通知 Concert Technology 算法有关该调用对象的更改。

添加

public voidadd(constIloConstraint con) const

该成员函数使 "constraint成为调用的分条件约束的元素之一。 换句话说,它对 "constraint应用了调用的非连接约束。

成员函数 " add会通知 Concert Technology 算法有关该调用对象的更改。

getImpl

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

移除

public voidremove(constIloConstraintArray cons) const

该成员函数将 "array中的所有元素从调用的非连接约束中移除,从而使调用的非连接约束不再适用于这些元素中的任何一个。

成员函数 "remove会通知 Concert Technology 算法有关该调用对象的更改。

移除

public voidremove(constIloConstraint con) const

该成员函数将 "constraint从调用的解除条件约束中移除,从而使调用的解除条件约束不再适用于 "constraint

成员函数 "remove会通知 Concert Technology 算法有关该调用对象的更改。