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

类 "IloCplex::MIPCallbackI的实例代表应用程序中用户编写的回调,该应用程序使用 "IloCplex的实例求解混合整数程序(MIP)。 IloCplex会在分支切割搜索中解决每个节点之前调用用户编写的回调。
用户编写的该类或其任何子类的回调与 MIP 动态搜索不兼容。 如果您正在寻找与动态搜索兼容的回调支持,请考虑使用 "IloCplex::MIPInfoCallbackI类。
该类提供成员函数,用于从用户编写的回调中访问现存解决方案及其目标值。 它还提供了访问优先顺序和统计信息(如切割次数)的方法。 还有一些方法可用于查询 CPLEX 生成的每种切割类型的切割次数。 有关切分的更多信息,请参阅《CPLEX 用户手册》。
该类的方法受保护,用于派生一个用户编写的回调类,并在该类中实现 "main方法。
如果试图访问本类实例无法访问的信息,则会出现异常。 例如,如果没有在职者,查询在职者的方法就会出现异常。
该类还为这些回调类提供了通用应用程序编程接口(API):
IloCplex::NodeCallbackIIloCplex::IncumbentCallbackIIloCplex::DisjunctiveCutCallbackIIloCplex::FlowMIRCutCallbackIIloCplex::FractionalCutCallbackIIloCplex::ProbingCallbackIIloCplex::UserCutCallbackIIloCplex::LazyConstraintCallbackIIloCplex::BranchCallbackIIloCplex::HeuristicCallbackIIloCplex::SolveCallbackI另请参阅:
IloCplex,IloCplex::BranchCallbackI,IloCplex::Callback,IloCplex::CallbackI,IloCplex::UserCutCallbackI,IloCplex::LazyConstraintCallbackI,IloCplex:: DisjunctiveCutCallbackI, IloCplex::FlowMIRCutCallbackI,IloCplex::FractionalCutCallbackI,IloCplex::HeuristicCallbackI,IloCplex::IncumbentCallbackI,IloCplex::NodeCallbackI,IloCplex::OptimizationCallbackI,IloCplex::ProbingCallbackI,IloCplex::SolveCallbackI,ILOMIPCALLBACK0
| 方法概要 | |
|---|---|
public virtual IloInt | getCurrentNodeDepth() const |
public IloNum | getObjCoef(const IloIntVar var) const |
public IloNum | getObjCoef(const IloNumVar var) const |
public void | getObjCoefs(IloNumArray val, const IloIntVarArray vars) const |
public void | getObjCoefs(IloNumArray val, const IloNumVarArray vars) const |
protected Callback::Type | getType() const |
public IloInt | getUserThreads() const |
protected | MIPCallbackI(IloEnv env) |
从 "OptimizationCallbackI继承的方法 |
|---|
getModel, getNcols, getNQCs, getNrows |
从 "CallbackI继承的方法 |
|---|
abort, duplicateCallback, getCplexTime, getDetTime, getEndDetTime, getEndTime, getEnv, getStartDetTime, getStartTime, getType, main |
| 内部班级 |
|---|
| MIPCallbackI::NodeData |
| 内部结构 |
|---|
| MIPCallbackI::NodeId |
| 方法详细信息 |
|---|
该构造函数创建了一个回调函数,供使用 "IloCplex实例求解混合整数程序(MIP)的应用程序使用。
返回当前节点在搜索树中的深度。 根节点的深度为 0(零)。 其他节点的深度递归定义为其父节点的深度加一。 换句话说,节点的深度就是它与根节点之间的距离。
返回当前求解模型中 "var的线性目标系数。
返回当前求解模型中 "var的线性目标系数。
将数组 "vars中每个变量的线性目标系数放入数组 "vals的相应元素中。
将数组 "vars中每个变量的线性目标系数放入数组 "vals的相应元素中。
返回当前运行的并行线程总数。
此方法返回调用回调对象的回调类型。
| 内部结构细节 |
|---|
该类对象用于在求解 MIP 时唯一标识分支-切割搜索树的节点。 当 "IloCplex或用户在分支回调中创建一个新节点时,"IloCplex会为其分配一个 "NodeId。 从那时起,节点可以通过 "NodeId被引用,例如从 "IloCplex::NodeCallbackI的实例中引用。
请参阅 MIPCallbackI::NodeId。
| 方法概要 | |
|---|---|
public int | operator!=(const NodeId & nodeid) const |
public int | operator==(const NodeId & nodeid) const |
| 方法详细信息 |
|---|
NodeId与参数 "nodeid代表同一个节点,则返回 "IloTrue。