CPXXgetcallbackseqinfoCPXgetcallbackseqinfo

在 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要耗时得多。 该例程的典型用途是获取已知序列号的节点的节点号,然后使用该节点号通过节点回调选择节点。

注意:此例程无法检索已移至节点文件的节点信息。 (有关节点文件的更多信息,请参阅《CPLEX 用户手册》中的 "使用节点文件"主题) 如果参数 "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报告了试图访问当前位于磁盘节点文件中的节点的情况。