intlinprog
输出函数和情节函数的语法
输出函数和情节函数是什么?
intlinprog
可以调用一个输出函数或函数在某些事件发生后算法的阴谋。这些事件包括完成一个阶段的算法,如解决根LP问题,增加削减,成功地完成一个启发式,找到一个新的整数可行解和期间,明显改善的相对差距,或者探索和树的节点数量。
谨慎
intlinprog
输出函数和情节函数不同于其他连接器。输出函数或情节功能在其他优化工具箱解决™,明白了输出函数和情节函数的语法和绘制函数。
有一个内置的输出函数:
savemilp金宝搏官方网站solutions
。这个函数收集算法的整数可行点发现事件的时候。它把可行的点在一个矩阵xIntSol
在你的基地工作空间,每一列是一个整数可行点。它将目标函数值保存在一个向量命名fIntSol
的目标函数,其中每个条目对应的列xIntSol
。有一个内置的情节功能:
optimplotmilp
。这个函数块internally-calculated界限最好的目标函数值。其使用的一个示例,请参阅工厂、仓库、销售分配模型:Solver-Based。
函数通过调用输出函数或阴谋OutputFcn
或PlotFcn
名称-值对,包括输出函数或情节的处理函数。例如,
选择= optimoptions (@intlinprog,“OutputFcn”@savemilps金宝搏官方网站olutions,“PlotFcn”,@optimplotmilp);x = intlinprog (f intcon A、b Aeq,说真的,磅,乌兰巴托,选项);
如果有多个输出函数或情节功能,通过单元阵列。
选择= optimoptions (@intlinprog,“OutputFcn”,{@savemilp金宝搏官方网站solutions, @customFcn});
自定义函数的语法
编写自己的输出函数或阴谋使用这种语法功能:
函数停止= customFcn (x, optimValues状态)
intlinprog
传递的数据x
,optimValues
,状态
你的功能。
停止
——设置为真正的
停止intlinprog
。设置为假
允许intlinprog
继续。x
——要么空矩阵[]
或者一个N
——- - - - - -1
向量是一个可行的观点。x
非空的只有当intlinprog
发现一个新的整数可行解。x
可以在非空的时候阶段
是“启发式”
或“分支”
。optimValues
——结构的细节optimValues结构。状态
——这些值之一:“init”
- - - - - -intlinprog
正在开始。使用这个状态设置任何情节或你需要的数据结构。“通路”
- - - - - -intlinprog
是解决这个问题。访问数据解算器的相关进展。例如,情节或执行文件操作。“完成”
- - - - - -intlinprog
完成解决问题。关闭任何文件,完成注释块等。
写例子的输出或情节功能,内置函数savemilp金宝搏官方网站solutions.m
或optimplotmilp.m
。
optimValues
结构
optimValues 场 |
意义 |
---|---|
阶段 |
阶段的算法。可能的值:
|
fval |
最好的目标函数在整数可行点发现到目前为止。当 |
下界 |
全球目标函数值的下界。空的时候 |
relativegap |
相对差距 |
numnodes |
探索节点的数量。非零只有当 |
numfeaspoints |
发现数量的整数可行的解决方案。金宝搏官方网站 |
时间 |
秒的时间花到目前为止,测量 |