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

该类是所有可提取对象(即 "IloConstraint、"IloNumVar等类的实例)的基类。 该类子类的实例代表 Concert Technology 可以从模型中提取的对象(如约束、约束变量、目标等),供您的应用程序在 Concert Technology 算法中使用。
并非每种算法都能提取模型中的每个可提取对象。 例如,一个模型可能包含多个目标,但您只能为 "IloCplex实例提取一个目标。
该类中的大多数成员函数都包含 "assert语句。 有关宏 "NDEBUG(打开或关闭这些 "assert语句的方法)的解释,请参阅Assert 和 NDEBUG 概念。
添加可提取对象
一般来说,要使 Concert Technology 中的某一算法考虑到可提取对象,必须使用成员函数 "IloModel::add将可提取对象添加到模型中,并使用成员函数 "IloAlgorithm::extract为该算法提取模型。
环境与可提取对象
模型中的每个可提取对象都必须属于 "IloEnv的一个实例。 可提取对象(即 "IloExtractable或其派生子类中的一个实例)在其整个生命周期中都与它的创建环境紧密相连。 它只能用于属于同一环境的可提取对象。 它只能针对同一环境中的算法提取。
通知
当您更改可提取对象时,例如将其从模型中删除,Concert Technology 会将更改通知已提取包含该可提取对象的模型的算法。 本文件指出了执行此类通知的成员职能。
另请参阅:
| 方法概要 | |
|---|---|
public IloConstraint | asConstraint() const |
public IloIntExprArg | asIntExpr() const |
public IloModel | asModel() const |
public IloNumExprArg | asNumExpr() const |
public IloObjective | asObjective() const |
public IloNumVar | asVariable() const |
public void | end() |
public IloEnv | getEnv() const |
public IloInt | getId() const |
public IloExtractableI * | getImpl() const |
public const char * | getName() const |
public IloAny | getObject() const |
public | IloExtractable(IloExtractableI * obj=0) |
public IloBool | isConstraint() const |
public IloBool | isIntExpr() const |
public IloBool | isModel() const |
public IloBool | isNumExpr() const |
public IloBool | isObjective() const |
public IloBool | isVariable() const |
public void | removeFromAll() |
public void | setLocation(const char * fileName, int lineNumber) const |
public void | setName(const char * name) const |
public void | setObject(IloAny obj) const |
| 方法详细信息 |
|---|
该构造函数为 "object的实现创建了一个句柄。
该方法以约束条件或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法以整数表达式或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法以模型或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法以浮动表达式或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法以目标或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法以变量或空指针形式返回给定的可提取值
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该成员函数首先将调用的可提取对象从使用它的所有其他可提取对象(如模型、范围等)中移除 然后删除调用的可提取对象。 也就是说,它会释放调用对象使用的所有资源。 调用该成员函数后,就不能再使用调用的可提取对象。
end会通知 Concert Technology 算法销毁该调用对象。该成员函数返回调用的可提取对象所属的环境。 一个可提取对象只属于一个环境;不同的环境不能共享同一个可提取对象。
该成员函数返回调用的可提取对象的 ID。
该成员函数返回指向调用可提取对象的实现对象的指针。 当需要确保在多种情况下使用同一个调用提取对象副本时,该成员函数非常有用。
该成员函数返回一个字符串,指明调用对象的名称(如果有的话)。
该成员函数返回与调用对象相关联的对象(如果有的话)。 通常,关联对象包含与调用对象相关的用户数据。
该方法会告诉你给定的可提取值是否是一个约束条件
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法会告诉你给定的可提取值是否为整数表达式
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法会告诉你给定的可提取内容是否是模型
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法将告诉您给定的可提取值是否为浮动表达式
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
这种方法可以告诉你给定的可提取物是否是目标物
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该方法会告诉你给定的可提取变量是否是变量
如果要内省表达式,请参阅IloExtractableVisitor
另请参阅:
该成员函数将调用的可提取对象从使用它的所有其他可提取对象中删除。 不过,与成员函数 "end不同,成员函数 "removeFromAll不会销毁调用对象。 也就是说,调用的可提取对象仍可在模型中重复使用。
该成员函数将源代码位置(文件名和行号)存储在调用对象中。 建议使用宏 __FILE__ 和 __LINE__ 作为参数。提供的位置可用于调试。 特别是 CP 优化器可能会在错误信息和模型转储中包含该位置。
注意,fileName参数指向的字符串不会被复制。 因此,指针必须在对象的整个生命周期内有效。
与其直接使用该函数,不如使用宏 "ILOSETLOCATION和 "ILOADD。
该成员函数将 "name赋值给调用对象。
当调用已提取的可提取物时,将向引擎发送通知。 在可能的情况下,应在提取模型之前调用该方法。
该成员函数将 "obj与调用对象关联。 之后,成员函数 "getObject将访问该关联对象。 通常,"obj包含与调用对象相关的用户数据。