CPXXgetcallbackseqinfo 和 CPXgetcallbackseqinfo
在 MIP 优化过程中,例程 "CPXXgetcallbackseqinfo/CPXgetcallbackseqinfo通过用户编写的回调来访问节点信息。
int CPXXgetcallbackseqinfo( CPXCENVptr 环境, void * cbdata, int 由此, CPXCNT 序列号, int whichinfo, void * result_p )
int CPXgetcallbackseqinfo( CPXCENVptr 环境, void * cbdata, int 由此, int 序列号, int whichinfo, void * result_p )
描述
这是高级例程。 高级例程通常需要深入了解 CPLEX 所使用的算法。 因而它们会提高应用程序中错误行为的风险,而这种行为可能难以调试。 所以,本团队鼓励您认真考虑您是否可以改为通过其他 Callable Library 例程来完成同一任务。
在 MIP 优化过程中,例程 "CPXXgetcallbackseqinfo/CPXgetcallbackseqinfo通过用户编写的回调来访问节点信息。 只有当 "wherefrom参数的值为 "CPX_CALLBACK_MIP_NODE时,才能调用该例程。 通过该例程获取的信息也可以通过例程 "CPXXgetcallbacknodeinfo/CPXgetcallbacknodeinfo获取。 节点不是按序列号存储的,而是按节点号存储的,因此使用例程 "CPXXgetcallbackseqinfo/CPXgetcallbackseqinfo比使用例程 "CPXXgetcallbacknodeinfo/CPXgetcallbacknodeinfo要耗时得多。 该例程的典型用途是获取已知序列号的节点的节点号,然后使用该节点号通过节点回调选择节点。
seqnum指向节点文件中的一个节点,"CPXXgetcallbacknodeinfo/CPXgetcallbacknodeinfo将返回值 "CPXERR_NODE_ON_DISK。参数
- env
- 一个指向
CPXXopenCPLEX/CPXopenCPLEX所返回 CPLEX 环境的指针。 - cbdata
- 传递给用户编写回调的指针。 此自变量必须是传递给用户编写回调的
cbdata的值。 - wherefrom
- 一个整数值,报告从何处调用了用户编写回调。 此自变量必须是传递给用户编写回调的
wherefrom的值。wherefrom的唯一可接受值是 "CPX_CALLBACK_MIP_NODE。 - SEQID
- 请求提供信息的节点的序列号。
- whichinfo
- 一个整数,指定请求哪些信息。 有关可能值的摘要,请参阅 "
CPXXgetcallbacknodeinfo/CPXgetcallbacknodeinfo说明中题为 "用户编写的节点回调所要求的信息"的表格。 - result_p
- 指向 "
double或 "int类型变量的通用指针。 变量表示 "whichinfo返回的值。 在题为 "用户编写的节点回调所要求的信息"的表格中,C 类型列显示了 "whichinfo返回的各种值的类型。
返回
如果此例程成功,那么会返回 0,而如果发生错误,那么会返回非零。 返回值 "CPXERR_NODE_ON_DISK报告了试图访问当前位于磁盘节点文件中的节点的情况。