intlinproggydF4y2Ba
混合整数线性规划(MILP)gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
混合整数线性规划求解器进行求解。gydF4y2Ba
找到指定的最小的问题gydF4y2Ba
fgydF4y2Ba,gydF4y2BaxgydF4y2Baintcon,gydF4y2BabgydF4y2Ba,gydF4y2Ba说真的gydF4y2Ba,gydF4y2Ba磅gydF4y2Ba,gydF4y2Ba乌兰巴托gydF4y2Ba向量,gydF4y2Ba一个gydF4y2Ba和gydF4y2BaAeqgydF4y2Ba矩阵。gydF4y2Ba
您可以指定gydF4y2BafgydF4y2Baintcon,gydF4y2Ba磅gydF4y2Ba,gydF4y2Ba乌兰巴托gydF4y2Ba向量或数组。看到gydF4y2Ba矩阵的参数gydF4y2Ba。gydF4y2Ba
请注意gydF4y2Ba
intlinproggydF4y2Ba
仅适用于solver-based方法。两种优化方法的讨论,请参阅gydF4y2Ba首先选择具体问题具体分析或Solver-Based方法gydF4y2Ba。gydF4y2Ba
解决了最小值gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2BafgydF4y2Ba
,gydF4y2BaintcongydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,gydF4y2BabgydF4y2Ba
)gydF4y2Baf ' * xgydF4y2Ba
这样的组件gydF4y2BaxgydF4y2Ba
在gydF4y2BaintcongydF4y2Ba
是整数,gydF4y2Ba* x≤bgydF4y2Ba
。gydF4y2Ba
解决上面的问题而另外满足等式约束gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2BafgydF4y2Ba
,gydF4y2BaintcongydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,gydF4y2BabgydF4y2Ba
,gydF4y2BaAeqgydF4y2Ba
,gydF4y2Ba说真的gydF4y2Ba
)gydF4y2BaAeq * x =说真的gydF4y2Ba
。集gydF4y2Ba一个= []gydF4y2Ba
和gydF4y2Bab = []gydF4y2Ba
如果不存在不平等。gydF4y2Ba
定义了一组上下界限的设计变量,gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2BafgydF4y2Ba
,gydF4y2BaintcongydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,gydF4y2BabgydF4y2Ba
,gydF4y2BaAeqgydF4y2Ba
,gydF4y2Ba说真的gydF4y2Ba
,gydF4y2Ba磅gydF4y2Ba
,gydF4y2Ba乌兰巴托gydF4y2Ba
)gydF4y2BaxgydF4y2Ba
,这样的解决方案总是范围gydF4y2Ba磅≤x≤乌兰巴托gydF4y2Ba
。集gydF4y2BaAeq = []gydF4y2Ba
和gydF4y2Ba说真的= []gydF4y2Ba
如果没有平等的存在。gydF4y2Ba
优化使用一个初始可行点gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2BafgydF4y2Ba
,gydF4y2BaintcongydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,gydF4y2BabgydF4y2Ba
,gydF4y2BaAeqgydF4y2Ba
,gydF4y2Ba说真的gydF4y2Ba
,gydF4y2Ba磅gydF4y2Ba
,gydF4y2Ba乌兰巴托gydF4y2Ba
,gydF4y2Bax0gydF4y2Ba
)gydF4y2Bax0gydF4y2Ba
。集gydF4y2Ba磅= []gydF4y2Ba
和gydF4y2Ba乌兰巴托= []gydF4y2Ba
如果不存在边界。gydF4y2Ba
使用优化选项中指定最小化gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2BafgydF4y2Ba
,gydF4y2BaintcongydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,gydF4y2BabgydF4y2Ba
,gydF4y2BaAeqgydF4y2Ba
,gydF4y2Ba说真的gydF4y2Ba
,gydF4y2Ba磅gydF4y2Ba
,gydF4y2Ba乌兰巴托gydF4y2Ba
,gydF4y2Bax0gydF4y2Ba
,gydF4y2Ba选项gydF4y2Ba
)gydF4y2Ba选项gydF4y2Ba
。使用gydF4y2BaoptimoptionsgydF4y2Ba
设置这些选项。集gydF4y2Bax0 = []gydF4y2Ba
如果不存在初始点。gydF4y2Ba
使用一个gydF4y2BaxgydF4y2Ba
= intlinprog (gydF4y2Ba问题gydF4y2Ba
)gydF4y2Ba问题gydF4y2Ba
结构来封装所有解算器输入。您可以导入一个gydF4y2Ba问题gydF4y2Ba
结构从一个议员文件使用gydF4y2BampsreadgydF4y2Ba
。您还可以创建一个gydF4y2Ba问题gydF4y2Ba
结构的gydF4y2BaOptimizationProblemgydF4y2Ba
对象的使用gydF4y2Baprob2structgydF4y2Ba
。gydF4y2Ba
(gydF4y2Ba
上面描述的,对于任何输入参数,返回gydF4y2BaxgydF4y2Ba
,gydF4y2BafvalgydF4y2Ba
,gydF4y2BaexitflaggydF4y2Ba
,gydF4y2Ba输出gydF4y2Ba
)= intlinprog (gydF4y2Ba___gydF4y2Ba)gydF4y2Bafval = f ' * xgydF4y2Ba
,一个值gydF4y2BaexitflaggydF4y2Ba
描述了退出条件,结构gydF4y2Ba输出gydF4y2Ba
包含的信息优化过程。gydF4y2Ba
例子gydF4y2Ba
输入参数gydF4y2Ba
输出参数gydF4y2Ba
限制gydF4y2Ba
通常,一些所谓的整数值组件的解决方案gydF4y2Ba
x (intCon)gydF4y2Ba
不精确的整数。gydF4y2BaintlinproggydF4y2Ba
认为作为整数所有解决方案值内gydF4y2BaIntegerTolerancegydF4y2Ba
的一个整数。gydF4y2Ba圆的所有整数恰好是整数,使用gydF4y2Ba
轮gydF4y2Ba
函数。gydF4y2Bax (intcon) =圆(x (intcon));gydF4y2Ba
谨慎gydF4y2Ba
舍入解决方案会导致金宝搏官方网站解决方案变得不可行。检查之后的可行性:gydF4y2Ba
马克斯(A * x - b)gydF4y2Ba%如果条目不太积极,所以有小的不可行性gydF4y2Ba马克斯(abs (Aeq * x - beq))gydF4y2Ba%条目是否足够接近为零gydF4y2Ba马克斯(x -乌兰巴托)gydF4y2Ba%积极条目违反了界限gydF4y2Ba马克斯(lb - x)gydF4y2Ba%积极条目违反了界限gydF4y2Ba
intlinproggydF4y2Ba
不执行解决方案组件时整数值绝对值超过gydF4y2Ba2.1 e9gydF4y2Ba
。当你的解决方案这样的组件,gydF4y2BaintlinproggydF4y2Ba
警告你。如果你收到这个警告,检查解决方案是否应该整数值组件解决方案的接近整数。gydF4y2BaintlinproggydF4y2Ba
不允许问题的组件,如系数gydF4y2BafgydF4y2Ba
,gydF4y2Ba一个gydF4y2Ba
,或gydF4y2Ba乌兰巴托gydF4y2Ba
,超过gydF4y2Ba1 e25gydF4y2Ba
按绝对价值。如果你尝试运行gydF4y2BaintlinproggydF4y2Ba
有了这样一个问题,gydF4y2BaintlinproggydF4y2Ba
一个错误的问题。gydF4y2Ba
提示gydF4y2Ba
指定二进制变量,将变量设置为整数gydF4y2Ba
intcongydF4y2Ba
,并给他们下界gydF4y2Ba0gydF4y2Ba
和上界gydF4y2Ba1gydF4y2Ba
。gydF4y2Ba通过指定稀疏线性约束矩阵节省内存gydF4y2Ba
一个gydF4y2Ba
和gydF4y2BaAeqgydF4y2Ba
。然而,您不能使用稀疏矩阵gydF4y2BabgydF4y2Ba
和gydF4y2Ba说真的gydF4y2Ba
。gydF4y2Ba如果你有一个gydF4y2Ba
x0gydF4y2Ba
参数,gydF4y2BaintlinproggydF4y2Ba
使用价值的gydF4y2Ba“rin”gydF4y2Ba
和指导潜水启发式,直到找到一个更好的integer-feasible点。所以当你提供gydF4y2Bax0gydF4y2Ba
通过设置,您可以获得良好的结果gydF4y2Ba“启发式”gydF4y2Ba
选项gydF4y2Ba“rins-diving”gydF4y2Ba
或另一个设置使用gydF4y2Ba“rin”gydF4y2Ba
。gydF4y2Ba提供逻辑指数为整数组件,这意味着一个二进制向量gydF4y2Ba
1gydF4y2Ba
表示一个整数,皈依gydF4y2BaintcongydF4y2Ba
形式使用gydF4y2Ba找到gydF4y2Ba
。例如,gydF4y2Balogicalindices = [1, 0, 0, 1, 1, 0, 0);intcon =找到(logicalindices)gydF4y2Ba
intcon = 1 4 5gydF4y2Ba
intlinproggydF4y2Ba
替换gydF4y2BabintproggydF4y2Ba
。更新旧的gydF4y2BabintproggydF4y2Ba
代码来使用gydF4y2BaintlinproggydF4y2Ba
做以下修改:gydF4y2Ba集gydF4y2Ba
intcongydF4y2Ba
来gydF4y2Ba1:numVarsgydF4y2Ba
,在那里gydF4y2BanumVarsgydF4y2Ba
变量的数量是你的问题。gydF4y2Ba集gydF4y2Ba
磅gydF4y2Ba
来gydF4y2Ba0 (numVars, 1)gydF4y2Ba
。gydF4y2Ba集gydF4y2Ba
乌兰巴托gydF4y2Ba
来gydF4y2Ba的(numVars, 1)gydF4y2Ba
。gydF4y2Ba更新任何相关选项。使用gydF4y2Ba
optimoptionsgydF4y2Ba
创建选项gydF4y2BaintlinproggydF4y2Ba
。gydF4y2Ba改变你的电话gydF4y2Ba
bintproggydF4y2Ba
如下:gydF4y2Ba[x, fval exitflag、输出]= bintprog (f, A、b Aeq,说真的,x0,选项)gydF4y2Ba%改变你的电话:gydF4y2Ba[x, fval exitflag、输出]= intlinprog (f intcon A、b Aeq,说真的,磅,乌兰巴托,x0,选项)gydF4y2Ba
选择功能gydF4y2Ba
应用程序gydF4y2Ba
的gydF4y2Ba优化gydF4y2Ba住编辑任务提供了一个可视化界面gydF4y2BaintlinproggydF4y2Ba
。gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2014agydF4y2Ba另请参阅gydF4y2Ba
linproggydF4y2Ba
|gydF4y2BampsreadgydF4y2Ba
|gydF4y2BaoptimoptionsgydF4y2Ba
|gydF4y2Baprob2structgydF4y2Ba
|gydF4y2Ba优化gydF4y2Ba