跳至主内容
框架 无框架

IloSOS2级

定义文件: ilconcert/ilolinear.h
IloSOS2的地图IloSOS2IloSOS2IloConstraintIloIntExprArgIloNumExprArgIloExtractable
对于IBM ILOG CPLEX:表示特殊有序集合类型 2SOS2)。

该句柄类代表第 2 类特殊有序集合SOS2)。 类型 2 的特殊有序集合指定了一组变量,其中只有两个变量的值不为零。 这两个变量必须相邻。 您可以为SOS2 中的每个变量分配权重。 该权重指定了变量之间的顺序。 Concert Technology 公司声称与该分配令相关。 如果您没有分配任何权重来强制执行变量间的顺序和相邻关系,那么 Concert Technology 会考虑您将变量赋予该集合构造函数的顺序,以及您后来添加变量的顺序(例如,通过列生成)。

当您为 "IloCplex(记录在 "IBM'ILOG CPLEX参考手册中)提取一个模型("IloModel"实例)时,它将使用 "SOS2的顺序对变量进行分支。

有关 "SOS2的详细信息,请参见 "IBM ILOG CPLEX参考和 "用户手册"。 第 2 类特殊有序集合SOS2)通常出现在片断线性函数模型中。 Concert 技术公司在 "IloPiecewiseLinear中提供了对片断线性模型的直接支持。

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

另请参阅:

方法概要
public IloSOS2I *getImpl() const
public voidgetNumVars(IloNumVarArray variables) const
public voidgetValues(IloNumArray values) const
public IloSOS2()
public IloSOS2(IloSOS2I * impl)
public IloSOS2(const IloEnv env, const char * name=0)
public IloSOS2(const IloEnv env, const IloNumVarArray vars, const char * name=0)
public IloSOS2(const IloEnv env, const IloNumVarArray vars, const IloNumArray vals, 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
方法详细信息

IloSOS2

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

IloSOS2

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

IloSOS2

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

该构造函数创建了一个类型 2 的特殊有序集合SOS2)。 您必须将变量添加到该集合中,才能将其考虑在内。


IloSOS2

public 'IloSOS2(const 'IloEnv'环境, const 'IloNumVarArray'变量, const char * '名字=0)

该构造函数创建了一个类型 2 的特殊有序集合SOS2)。 该集合包括数组 "vars中指定的每个变量。


IloSOS2

public 'IloSOS2(const 'IloEnv'环境, const 'IloNumVarArray'变量, const 'IloNumArray'瓶盖, const char * '名字=0)

该构造函数创建了一个类型 2 的特殊有序集合SOS2)。 该集合包括数组 "vars中指定的变量。 vals中的相应值指定了 "vars中每个变量的权重。


getImpl

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

getNumVars

public void 'getNumVars(IloNumVarArray'变量) const

该成员函数访问类型 2 的特殊有序集合SOS2) 中的变量,并将这些变量放入参数 "variables中。


getValues

public voidgetValues(IloNumArray values) const

该成员函数访问类型 2 的特殊有序集合SOS2)中变量的权重,并将这些权重放入参数 "values中。