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

该类的实例可帮助您通过列表示法设计模型。 换句话说,您可以通过将每一列定义为该类的实例来创建模型。 特别是,"IloNumColumn实例可以为数字变量("IloNumVar实例)建立一列,其中包含可提取对象的信息(如目标、约束条件等) 最终可能出现该数值变量的地方,即使该数值变量尚未创建。
通常情况下,您需要将该类的 "operator()返回的对象(如 "IloObjective::operator())填充到一列(该类的实例)中,以便在其中安装新创建的变量,如下例所示。
IloNumColumn实例保存着 "operator()返回的对象列表。 换句话说,"IloNumColumn实例在创建时,知道将在其中添加数值变量的可提取对象。
When you create a new instance of IloNumVar with an instance of IloNumColumn as an argument, then Concert Technology adds the newly created numeric variable to all the extractable objects (such as constraints, ranges, objectives, etc.) 为此,"IloAddNumVar实例将被添加到 "IloNumColumn实例中。 请注意,"IloNumColumn不支持规范化,因为 "IloSOS1和 "IloAllDiff等约束条件的规范化定义并不完善。
该类中的大多数成员函数都包含 "assert语句。 有关宏 "NDEBUG(打开或关闭这些 "assert语句的方法)的解释,请参阅Assert 和 NDEBUG 概念。
有关列式建模的信息,请参阅CPLEX 中的列式建模概念。
另请参阅:
IloNumVar,IloObjective, IloRange
| 方法概要 | |
|---|---|
public void | clear() const |
public | IloNumColumn(const IloEnv env) |
public | IloNumColumn(const IloAddNumVar & var) |
public | operator const IloAddNumVar &() const |
public IloNumColumn & | operator+=(const IloAddValueToRange & rhs) |
public IloNumColumn & | operator+=(const IloAddNumVar & rhs) |
public IloNumColumn & | operator+=(const IloNumColumn & rhs) |
| 方法详细信息 |
|---|
该构造函数在环境 "env中创建了一个空列。
该构造函数创建了一列,并添加了 "var。
该成员函数(从调用列中)删除其可提取对象列表。
通过该转换操作符,您可以在列表达式中使用 "IloNumColumn实例。 它接受一个可提取的对象,如目标("IloObjective的实例)或约束("IloConstraint的实例)。 它返回从 "IloAddNumVar派生的对象,需要用列格式表示可提取对象。
该操作符将 "IloAddValueToRange的适当实例添加到右侧的 "rhs调用列中。
示例:
要使用该类的实例来创建一列,其目标系数为 2,"range1"为 10,"range2为 3,请执行以下设置:
IloNumColumncol = obj(2) +range1(10) +range2(3);
使用该类的实例创建一个与列相对应的数值变量,其下限为 0(零),上限为 10:
IloNumVarvar(env,col,0,10);
另一个示例:
IloNumColumn col1(env); IloNumColumn col2=rng7(3.1415); col1+= obj1.0); col1+= rng-12.0); col2+=rng2(13.7) +rng3(14.7); col2 += col1;
该操作符将 "IloAddNumVar的适当实例添加到右侧的 "rhs调用列中。
该操作符将右侧的 "rhs赋值给调用列。