主要内容

intlinprog输出函数和绘图函数语法

什么是输出函数和绘图函数?

intlinprog在算法中发生某些事件后,可以调用输出函数或绘图函数。这些事件包括完成算法的一个阶段,如解决根LP问题、添加切割、成功完成启发式、在分枝定界期间找到新的整数可行解、显著改善相对间隙,或探索分枝定界树中的多个节点。

小心

intlinprog输出函数和绘图函数与其他解算器中的不同。对于其他优化工具箱中的输出函数或绘图函数™ 解算器,请参见输出函数和绘图函数语法绘图函数

  • 有一个内置输出功能:保存牛奶解决方案金宝搏官方网站.该函数收集算法在事件时刻找到的整数可行点。它将可行点放入一个名为新索尔在基本工作空间中,每列都是一个整数可行点。它将目标函数值保存在名为fIntSol,其中每一项是中相应列的目标函数新索尔

  • 有一个内置的绘图功能:最优化.这个函数绘制出最佳目标函数值的内部计算界限。有关它的使用示例,请参见工厂、仓库、销售分配模型:基于解算器

通过传递输出FCN绘图仪名称-值对,包括输出函数或绘图函数的句柄。例如

options=options(@intlinprog,“OutputFcn”,@savemilp金宝搏官方网站solutions,“PlotFcn”,@milp);x=intlinprog(f、intcon、A、b、Aeq、beq、lb、ub、选项);

如果有多个输出函数或打印函数,请将它们作为单元格数组传递。

options=options(@intlinprog,“OutputFcn”, {@savemil金宝搏官方网站psolutions, @customFcn});

自定义函数的语法

使用以下语法编写自己的输出函数或绘图函数:

作用stop=customFcn(x,最优值,状态)

intlinprog传递数据x,最优值状态你的功能。

  • 停止——设置为真正的停止intlinprog.设置为错误的容许intlinprog继续。

  • x-或者是一个空矩阵[]或者一个N-借-1.一个可行点的向量。x只有当intlinprog求一个新的整数可行解。x何时可以非空阶段“启发式”“分支”

  • 最优值-一种结构,其细节在优化价值结构

  • 状态-这些价值之一:

    • “init”intlinprog正在启动。使用此状态可设置所需的任何绘图或数据结构。

    • “国际热核实验堆”intlinprog他正在解决问题。访问与解算器进度相关的数据。例如,打印或执行文件操作。

    • “完成”intlinprog他已经解决了这个问题。关闭所有文件,完成绘图注释等。

有关写入输出或打印函数的示例,请参见内置函数savemilp金宝搏官方网站solutions.m米尔姆

最优值结构

最优值领域 意思
阶段

算法的阶段。可能值:

  • “rootlp”intlinprog解决了根LP问题。

  • “cutgen”intlinprog增加切割和改进下界。

  • “启发式”intlinprog使用启发式方法找到新的可行点。

  • “分支”intlinprog正在分支和绑定树中创建和探索节点。

未来值

迄今为止在整数可行点找到的最佳目标函数。什么时候阶段=“rootlp”,未来值是根节点处的目标函数值,不一定是整数可行点。

下界

目标函数值的全局下界。空的时候阶段=“rootlp”

相对性

相对差距下界未来值.相对差距是0到100之间的一个百分比,就像输出论点空的时候阶段=“rootlp”numfeaspoints=0

珠心

探索的节点数。仅当阶段=“分支”

numfeaspoints

找到的整数可行解数。金宝搏官方网站

时间

到目前为止花费的时间(以秒为单位),用抽搐toc状态=“init”