混合整数线性规划基础:基于求解器GÿdF4y2Ba

此示例示出了如何解决混合整数线性问题。虽然没有复杂的,示例性示出了在配制使用的语法的问题的典型步骤GÿdF4y2BaintlinprogGÿdF4y2Ba。GÿdF4y2Ba

对于基于问题的方法解决这个问题,请参阅GÿdF4y2Ba混合整数线性规划基础:基于问题GÿdF4y2Ba。GÿdF4y2Ba

问题描述GÿdF4y2Ba

要混合使用各种化学成分的钢材,以获得25吨钢材具有特定的化学成分。结果应具有5%的碳和5%的钼(重量),这意味着25吨* 5%2 = 1.25吨碳和1.25吨钼。我们的目标是尽量减少混合钢的成本。GÿdF4y2Ba

此问题是由卡尔 - 亨里克·韦斯特贝里,本特比约克伦和Eskil Hultman采取“GÿdF4y2Ba混合整数规划的在瑞典钢铁厂中的应用GÿdF4y2Ba《接口》,1977年2月,第7卷,第2期,第39-43页,其摘要载于GÿdF4y2Bahttps://doi.org/10.1287/inte.7.2.39GÿdF4y2Ba。GÿdF4y2Ba

钢四锭可供购买。只有各铸锭一个是可用的。GÿdF4y2Ba

一世GÿdF4y2Ba ñGÿdF4y2Ba GGÿdF4y2Ba ØGÿdF4y2Ba ŤGÿdF4y2Ba w ^GÿdF4y2Ba ËGÿdF4y2Ba 一世GÿdF4y2Ba GGÿdF4y2Ba HGÿdF4y2Ba ŤGÿdF4y2Ba 一世GÿdF4y2Ba ñGÿdF4y2Ba ŤGÿdF4y2Ba ØGÿdF4y2Ba ñGÿdF4y2Ba 小号GÿdF4y2Ba %GÿdF4y2Ba CGÿdF4y2Ba 一个GÿdF4y2Ba [RGÿdF4y2Ba bGÿdF4y2Ba ØGÿdF4y2Ba ñGÿdF4y2Ba %GÿdF4y2Ba 中号GÿdF4y2Ba ØGÿdF4y2Ba 升GÿdF4y2Ba ÿGÿdF4y2Ba bGÿdF4y2Ba dGÿdF4y2Ba ËGÿdF4y2Ba ñGÿdF4y2Ba üGÿdF4y2Ba 米GÿdF4y2Ba CGÿdF4y2Ba ØGÿdF4y2Ba 小号GÿdF4y2Ba ŤGÿdF4y2Ba ŤGÿdF4y2Ba ØGÿdF4y2Ba ñGÿdF4y2Ba 1GÿdF4y2Ba 五GÿdF4y2Ba 五GÿdF4y2Ba 3GÿdF4y2Ba $GÿdF4y2Ba 3GÿdF4y2Ba 五GÿdF4y2Ba 0GÿdF4y2Ba 2GÿdF4y2Ba 3GÿdF4y2Ba 4GÿdF4y2Ba 3GÿdF4y2Ba $GÿdF4y2Ba 3GÿdF4y2Ba 3GÿdF4y2Ba 0GÿdF4y2Ba 3GÿdF4y2Ba 4GÿdF4y2Ba 五GÿdF4y2Ba 4GÿdF4y2Ba $GÿdF4y2Ba 3GÿdF4y2Ba 1GÿdF4y2Ba 0GÿdF4y2Ba 4GÿdF4y2Ba 6GÿdF4y2Ba 3GÿdF4y2Ba 4GÿdF4y2Ba $GÿdF4y2Ba 2GÿdF4y2Ba 8GÿdF4y2Ba 0GÿdF4y2Ba

有三种等级的合金钢和一种等级的废钢可供购买。合金钢和废钢可以少量购买。GÿdF4y2Ba

一个GÿdF4y2Ba 升GÿdF4y2Ba 升GÿdF4y2Ba ØGÿdF4y2Ba ÿGÿdF4y2Ba %GÿdF4y2Ba CGÿdF4y2Ba 一个GÿdF4y2Ba [RGÿdF4y2Ba bGÿdF4y2Ba ØGÿdF4y2Ba ñGÿdF4y2Ba %GÿdF4y2Ba 中号GÿdF4y2Ba ØGÿdF4y2Ba 升GÿdF4y2Ba ÿGÿdF4y2Ba bGÿdF4y2Ba dGÿdF4y2Ba ËGÿdF4y2Ba ñGÿdF4y2Ba üGÿdF4y2Ba 米GÿdF4y2Ba CGÿdF4y2Ba ØGÿdF4y2Ba 小号GÿdF4y2Ba ŤGÿdF4y2Ba ŤGÿdF4y2Ba ØGÿdF4y2Ba ñGÿdF4y2Ba 1GÿdF4y2Ba 8GÿdF4y2Ba 6GÿdF4y2Ba $GÿdF4y2Ba 五GÿdF4y2Ba 0GÿdF4y2Ba 0GÿdF4y2Ba 2GÿdF4y2Ba 7GÿdF4y2Ba 7GÿdF4y2Ba $GÿdF4y2Ba 4GÿdF4y2Ba 五GÿdF4y2Ba 0GÿdF4y2Ba 3GÿdF4y2Ba 6GÿdF4y2Ba 8GÿdF4y2Ba $GÿdF4y2Ba 4GÿdF4y2Ba 0GÿdF4y2Ba 0GÿdF4y2Ba 小号GÿdF4y2Ba CGÿdF4y2Ba [RGÿdF4y2Ba 一个GÿdF4y2Ba pGÿdF4y2Ba 3GÿdF4y2Ba 9GÿdF4y2Ba $GÿdF4y2Ba 1GÿdF4y2Ba 0GÿdF4y2Ba 0GÿdF4y2Ba

要制定问题,首先决定控制变量。取变量GÿdF4y2BaX(1)= 1GÿdF4y2Ba意味着你购买元宝GÿdF4y2Ba1GÿdF4y2Ba,GÿdF4y2BaX(1)= 0GÿdF4y2Ba意思是你不买锭。同样,变量GÿdF4y2BaX(2)GÿdF4y2Ba通过GÿdF4y2BaX(4)GÿdF4y2Ba是二元变量,指示是否购买元宝GÿdF4y2Ba2GÿdF4y2Ba通过GÿdF4y2Ba4GÿdF4y2Ba。GÿdF4y2Ba

变量GÿdF4y2Bax (5)GÿdF4y2Ba通过GÿdF4y2Bax (7)GÿdF4y2Ba是数量以吨合金GÿdF4y2Ba1GÿdF4y2Ba,GÿdF4y2Ba2GÿdF4y2Ba,GÿdF4y2Ba3GÿdF4y2Ba您购买的,并GÿdF4y2Bax (8)GÿdF4y2Ba是废钢您购买的数量。GÿdF4y2Ba

MATLAB®配方GÿdF4y2Ba

通过用于指定输入制定的问题GÿdF4y2BaintlinprogGÿdF4y2Ba。相关GÿdF4y2BaintlinprogGÿdF4y2Ba句法:GÿdF4y2Ba

[X,FVAL] = intlinprog(F,INTCON,A,B,AEQ,BEQ,LB,UB)GÿdF4y2Ba

创建输入GÿdF4y2BaintlinprogGÿdF4y2Ba从第一(GÿdF4y2BaFGÿdF4y2Ba)通过最后(GÿdF4y2BaUBGÿdF4y2Ba)。GÿdF4y2Ba

FGÿdF4y2Ba是成本系数的矢量。代表锭的成本系数是钢锭重量倍,每吨的成本。GÿdF4y2Ba

F = [350 * 5330 * 3310 * 4280 * 6,500,450,400,100];GÿdF4y2Ba

整数变量是前四个。GÿdF4y2Ba

INTCON = 1:4;GÿdF4y2Ba

小费:GÿdF4y2Ba要指定二元变量,设置的变量是在整数GÿdF4y2BaINTCONGÿdF4y2Ba,并给他们一个较低的束缚GÿdF4y2Ba0GÿdF4y2Ba和上界的GÿdF4y2Ba1GÿdF4y2Ba。GÿdF4y2Ba

问题没有线性不等式约束,所以GÿdF4y2Ba一个GÿdF4y2Ba和GÿdF4y2BabGÿdF4y2Ba为空矩阵(GÿdF4y2Ba[]GÿdF4y2Ba)。GÿdF4y2Ba

一个= [];b = [];GÿdF4y2Ba

这个问题有三个等式约束。第一,总重量为25吨。GÿdF4y2Ba

5 * x (1) + 3 * x (2) + 4 * x (3) + 6 * x (4) + (5) + x (6) + x (7) + (8) = 25GÿdF4y2Ba

第二个约束是,碳的重量为25吨,或1.25吨5%。GÿdF4y2Ba

5 * 0.05 * X(1)+ 3 * 0.04 * X(2)+ 4 * 0.05 * X(3)+ 6 * 0.03 * X(4)GÿdF4y2Ba

+ 0.08 * X(5)+ 0.07 * X(6)+ 0.06 * X(7)+ 0.03 * X(8)= 1.25GÿdF4y2Ba

第三个限制是钼的重量是1.25吨。GÿdF4y2Ba

5 * 0.03 * X(1)+ 3 * 0.03 * X(2)+ 4 * 0.04 * X(3)+ 6 * 0.04 * X(4)GÿdF4y2Ba

+ 0.06 * 0.07 x (5) + * x (6) + 0.08 * (7) x (8) = 1.25 + 0.09 *GÿdF4y2Ba

指定的限制,这是AEQ * X =以矩阵形式BEQ。GÿdF4y2Ba

Aeq = [5, 3、4、6, 1, 1, 1, 1;5 * 0.05,3 * 0.04,4 * 0.05,6 * 0.03,0.08,0.07,0.06,0.03;5 * 0.03,3 * 0.03,4 * 0.04,6 * 0.04,0.06,0.07,0.08,0.09);说真的= (25;1.25;1.25);GÿdF4y2Ba

每个变量由零界的下面。的整数变量被一个上界。GÿdF4y2Ba

磅=零(8,1);UB =酮(8,1);UB(5:端)= Inf文件;GÿdF4y2Ba非整数变量没有上限GÿdF4y2Ba

解决问题GÿdF4y2Ba

现在,你把所有的投入,让解决。GÿdF4y2Ba

[X,FVAL] = intlinprog(F,INTCON,A,B,AEQ,BEQ,LB,UB);GÿdF4y2Ba
LP:最优目标值为8125.600000。切代:应用3 MIR削减。下界为8495.000000。相对差距是0.00%。最佳的解决方案中。Intlinprog停在根节点因为客观值是最佳值的间隙的容限内,options.AbsoluteGapTolerance = 0(缺省值)。将INTCON变量是容差范围内的整数,options.IntegerTolerance = 1E-05(默认值)。GÿdF4y2Ba

查看解决方案。GÿdF4y2Ba

X,FVALGÿdF4y2Ba
X =GÿdF4y2Ba8×1GÿdF4y2Ba0 0.2500 3.5000GÿdF4y2Ba
FVAL = 8.4950e + 03GÿdF4y2Ba

最理想的购买价格是8,495美元。买锭GÿdF4y2Ba1GÿdF4y2Ba,GÿdF4y2Ba2GÿdF4y2Ba,GÿdF4y2Ba4GÿdF4y2Ba, 但不是GÿdF4y2Ba3GÿdF4y2Ba,购买7.25吨合金GÿdF4y2Ba1GÿdF4y2Ba, 0.25吨合金GÿdF4y2Ba3GÿdF4y2Ba和3.5吨废钢。GÿdF4y2Ba

组GÿdF4y2BaINTCON = []GÿdF4y2Ba看到解决问题,而不整数约束的作用。解决的方法是不同的,是不现实的,因为你不能购买元宝的一小部分。GÿdF4y2Ba

相关的话题GÿdF4y2Ba