跳至主内容
框架 无框架

类IloCplex::MIPCallbackI

定义文件: ilcplex/ilocplexi.h
IloCplex::MIPCallbackI的映射IloCplex::MIPCallbackIIloCplex::ControlCallbackIIloCplex::DisjunctiveCutCallbackIIloCplex::FlowMIRCutCallbackIIloCplex::FractionalCutCallbackIIloCplex::IncumbentCallbackIIloCplex::NodeCallbackIIloCplex::ProbingCallbackIIloCplex::MIPCallbackIIloCplex::MIPInfoCallbackIIloCplex::OptimizationCallbackIIloCplex::CallbackI

类 "IloCplex::MIPCallbackI的实例代表应用程序中用户编写的回调,该应用程序使用 "IloCplex的实例求解混合整数程序(MIP)。 IloCplex会在分支切割搜索中解决每个节点之前调用用户编写的回调。

用户编写的该类或其任何子类的回调与 MIP 动态搜索兼容。 如果您正在寻找与动态搜索兼容的回调支持,请考虑使用 "IloCplex::MIPInfoCallbackI类。

该类提供成员函数,用于从用户编写的回调中访问现存解决方案及其目标值。 它还提供了访问优先顺序和统计信息(如切割次数)的方法。 还有一些方法可用于查询 CPLEX 生成的每种切割类型的切割次数。 有关切分的更多信息,请参阅《CPLEX 用户手册》。

该类的方法受保护,用于派生一个用户编写的回调类,并在该类中实现 "main方法。

如果试图访问本类实例无法访问的信息,则会出现异常。 例如,如果没有在职者,查询在职者的方法就会出现异常。

该类还为这些回调类提供了通用应用程序编程接口(API):

另请参阅:

方法概要
public virtual IloIntgetCurrentNodeDepth() const
public IloNumgetObjCoef(const IloIntVar var) const
public IloNumgetObjCoef(const IloNumVar var) const
public voidgetObjCoefs(IloNumArray val, const IloIntVarArray vars) const
public voidgetObjCoefs(IloNumArray val, const IloNumVarArray vars) const
protected Callback::TypegetType() const
public IloIntgetUserThreads() const
protected MIPCallbackI(IloEnv env)
从 "MIPInfoCallbackI继承的方法
getBestObjValue, getCutoff, getDirection, getDirection, getIncumbentObjValue, getIncumbentSlack, getIncumbentSlacks, getIncumbentValue, getIncumbentValue, getIncumbentValue, getIncumbentValues, getIncumbentValues, getMIPRelativeGap, getMyThreadNum, getNcuts, getNiterations, getNiterations64, getNnodes, getNnodes64, getNremainingNodes, getNremainingNodes64, getPriority, getPriority, getQuality, getType, hasIncumbent, MIPInfoCallbackI
从 "OptimizationCallbackI继承的方法
getModel, getNcols, getNQCs, getNrows
从 "CallbackI继承的方法
abort, duplicateCallback, getCplexTime, getDetTime, getEndDetTime, getEndTime, getEnv, getStartDetTime, getStartTime, getType, main
内部班级
MIPCallbackI::NodeData
内部结构
MIPCallbackI::NodeId
方法详细信息

MIPCallbackI

protectedMIPCallbackI(IloEnv env)

该构造函数创建了一个回调函数,供使用 "IloCplex实例求解混合整数程序(MIP)的应用程序使用。


getCurrentNodeDepth

public virtualIloInt getCurrentNodeDepth() const

返回当前节点在搜索树中的深度。 根节点的深度为 0(零)。 其他节点的深度递归定义为其父节点的深度加一。 换句话说,节点的深度就是它与根节点之间的距离。


getObjCoef

publicIloNum getObjCoef(constIloIntVar var) const

返回当前求解模型中 "var的线性目标系数。


getObjCoef

publicIloNum getObjCoef(constIloNumVar var) const

返回当前求解模型中 "var的线性目标系数。


getObjCoefs

public voidgetObjCoefs(IloNumArray val, constIloIntVarArray vars) const

将数组 "vars中每个变量的线性目标系数放入数组 "vals的相应元素中。


getObjCoefs

public voidgetObjCoefs(IloNumArray val, constIloNumVarArray vars) const

将数组 "vars中每个变量的线性目标系数放入数组 "vals的相应元素中。


getUserThreads

publicIloInt getUserThreads() const

返回当前运行的并行线程总数。


getType

protectedCallback::Type getType() const

此方法返回调用回调对象的回调类型。


内部结构细节

结构MIPCallbackI::NodeId

定义文件: ilcplex/ilocplexi.h

该类对象用于在求解 MIP 时唯一标识分支-切割搜索树的节点。 当 "IloCplex或用户在分支回调中创建一个新节点时,"IloCplex会为其分配一个 "NodeId。 从那时起,节点可以通过 "NodeId被引用,例如从 "IloCplex::NodeCallbackI的实例中引用。

请参阅 MIPCallbackI::NodeId

方法概要
public intoperator!=(const NodeId & nodeid) const
public intoperator==(const NodeId & nodeid) const
方法详细信息

运算符!=

公共 intoperator!=(constNodeId&nodeid) const
如果调用的 "NodeId代表的节点与参数 "nodeid指定的节点不同,则返回 "IloTrue

请参阅 MIPCallbackI::NodeId


操作符===

public intoperator==(constNodeId&nodeid) const
如果调用的 "NodeId与参数 "nodeid代表同一个节点,则返回 "IloTrue