主要内容GyD.F4y2Ba

混合整数线性编程基础:基于问题GyD.F4y2Ba

此示例显示如何解决混合整数线性问题。虽然并不复杂,但该示例显示了使用基于问题的方法制定问题的典型步骤。对于显示此示例的视频,请参阅GyD.F4y2Ba使用优化建模解决混合整数线性编程问题GyD.F4y2Ba。GyD.F4y2Ba

对于基于求解器的方法来解决这个问题,请参阅GyD.F4y2Ba混合整数线性编程基础:基于求解器GyD.F4y2Ba。GyD.F4y2Ba

问题描述GyD.F4y2Ba

您希望用各种化学组成融合钢材,以获得25吨钢,具有特定的化学成分。结果应具有5%的碳和5%钼重量,意为25吨* 5%= 1.25吨碳和1.25吨钼。目的是最大限度地减少混合钢的成本。GyD.F4y2Ba

这个问题来自Carl-Henrik Westerberg,Bengt Bjorklund和Eskil Hultman,“GyD.F4y2Ba混合整数规划在瑞典钢厂中的应用GyD.F4y2Ba。“界面1977年2月Vol。7,第2页第2页。39-43,其摘要在于GyD.F4y2Bahttps://doi.org/10.1287/inte.7.2.39GyD.F4y2Ba。GyD.F4y2Ba

购买四锭可供购买。只有每个铸锭中的一个。GyD.F4y2Ba

一世GyD.F4y2Ba N.GyD.F4y2Ba GGyD.F4y2Ba O.GyD.F4y2Ba T.GyD.F4y2Ba W.GyD.F4y2Ba E.GyD.F4y2Ba 一世GyD.F4y2Ba GGyD.F4y2Ba HGyD.F4y2Ba T.GyD.F4y2Ba 一世GyD.F4y2Ba N.GyD.F4y2Ba T.GyD.F4y2Ba O.GyD.F4y2Ba N.GyD.F4y2Ba S.GyD.F4y2Ba %GyD.F4y2Ba CGyD.F4y2Ba 一种GyD.F4y2Ba R.GyD.F4y2Ba B.GyD.F4y2Ba O.GyD.F4y2Ba N.GyD.F4y2Ba %GyD.F4y2Ba M.GyD.F4y2Ba O.GyD.F4y2Ba L.GyD.F4y2Ba yGyD.F4y2Ba B.GyD.F4y2Ba D.GyD.F4y2Ba E.GyD.F4y2Ba N.GyD.F4y2Ba 你GyD.F4y2Ba M.GyD.F4y2Ba CGyD.F4y2Ba O.GyD.F4y2Ba S.GyD.F4y2Ba T.GyD.F4y2Ba T.GyD.F4y2Ba O.GyD.F4y2Ba N.GyD.F4y2Ba 1GyD.F4y2Ba 5.GyD.F4y2Ba 5.GyD.F4y2Ba 3.GyD.F4y2Ba $GyD.F4y2Ba 3.GyD.F4y2Ba 5.GyD.F4y2Ba 0.GyD.F4y2Ba 2GyD.F4y2Ba 3.GyD.F4y2Ba 4.GyD.F4y2Ba 3.GyD.F4y2Ba $GyD.F4y2Ba 3.GyD.F4y2Ba 3.GyD.F4y2Ba 0.GyD.F4y2Ba 3.GyD.F4y2Ba 4.GyD.F4y2Ba 5.GyD.F4y2Ba 4.GyD.F4y2Ba $GyD.F4y2Ba 3.GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba 4.GyD.F4y2Ba 6.GyD.F4y2Ba 3.GyD.F4y2Ba 4.GyD.F4y2Ba $GyD.F4y2Ba 2GyD.F4y2Ba 8.GyD.F4y2Ba 0.GyD.F4y2Ba

购买三种合金钢和一级废钢等级可供购买。合金和废钢钢可以分数数量购买。GyD.F4y2Ba

一种GyD.F4y2Ba L.GyD.F4y2Ba L.GyD.F4y2Ba O.GyD.F4y2Ba yGyD.F4y2Ba %GyD.F4y2Ba CGyD.F4y2Ba 一种GyD.F4y2Ba R.GyD.F4y2Ba B.GyD.F4y2Ba O.GyD.F4y2Ba N.GyD.F4y2Ba %GyD.F4y2Ba M.GyD.F4y2Ba O.GyD.F4y2Ba L.GyD.F4y2Ba yGyD.F4y2Ba B.GyD.F4y2Ba D.GyD.F4y2Ba E.GyD.F4y2Ba N.GyD.F4y2Ba 你GyD.F4y2Ba M.GyD.F4y2Ba CGyD.F4y2Ba O.GyD.F4y2Ba S.GyD.F4y2Ba T.GyD.F4y2Ba T.GyD.F4y2Ba O.GyD.F4y2Ba N.GyD.F4y2Ba 1GyD.F4y2Ba 8.GyD.F4y2Ba 6.GyD.F4y2Ba $GyD.F4y2Ba 5.GyD.F4y2Ba 0.GyD.F4y2Ba 0.GyD.F4y2Ba 2GyD.F4y2Ba 7.GyD.F4y2Ba 7.GyD.F4y2Ba $GyD.F4y2Ba 4.GyD.F4y2Ba 5.GyD.F4y2Ba 0.GyD.F4y2Ba 3.GyD.F4y2Ba 6.GyD.F4y2Ba 8.GyD.F4y2Ba $GyD.F4y2Ba 4.GyD.F4y2Ba 0.GyD.F4y2Ba 0.GyD.F4y2Ba S.GyD.F4y2Ba CGyD.F4y2Ba R.GyD.F4y2Ba 一种GyD.F4y2Ba P.GyD.F4y2Ba 3.GyD.F4y2Ba 9.GyD.F4y2Ba $GyD.F4y2Ba 1GyD.F4y2Ba 0.GyD.F4y2Ba 0.GyD.F4y2Ba

制定问题GyD.F4y2Ba

要制定问题,首先确定控制变量。拿变量GyD.F4y2Ba锭(1)= 1GyD.F4y2Ba意味着你购买锭GyD.F4y2Ba1GyD.F4y2Ba, 和GyD.F4y2Ba锭(1)= 0GyD.F4y2Ba意味着你没有购买铸锭。同样,变量GyD.F4y2Ba锭(2)GyD.F4y2Ba通过GyD.F4y2Ba锭(4)GyD.F4y2Ba是二进制变量,指示您是否购买锭GyD.F4y2Ba2GyD.F4y2Ba通过GyD.F4y2Ba4.GyD.F4y2Ba。GyD.F4y2Ba

变量GyD.F4y2Ba合金(1)GyD.F4y2Ba通过GyD.F4y2Ba合金(3)GyD.F4y2Ba是吨合金的数量GyD.F4y2Ba1GyD.F4y2Ba那GyD.F4y2Ba2GyD.F4y2Ba, 和GyD.F4y2Ba3.GyD.F4y2Ba你购买。GyD.F4y2Ba废料GyD.F4y2Ba是您购买的废钢的数量。GyD.F4y2Ba

SteelProb = OptimProblem;锭= Optimvar(GyD.F4y2Ba'锭'GyD.F4y2Ba,4,GyD.F4y2Ba'类型'GyD.F4y2Ba那GyD.F4y2Ba'整数'GyD.F4y2Ba那GyD.F4y2Ba'indowbound'GyD.F4y2Ba,0,GyD.F4y2Ba'上行'GyD.F4y2Ba,1);合金= Optimvar(GyD.F4y2Ba'合金'GyD.F4y2Ba,3,GyD.F4y2Ba'indowbound'GyD.F4y2Ba,0);scrap = Optimvar(GyD.F4y2Ba'废料'GyD.F4y2Ba那GyD.F4y2Ba'indowbound'GyD.F4y2Ba,0);GyD.F4y2Ba

为与变量相关的成本创建表达式。GyD.F4y2Ba

重量仪= [5,3,4,6];costingots =权重。* [350,330,310,280];costoloys = [500,450,400];成比赛= 100;成本=成本刺激*铸锭+ costoloys *合金+成比赛*废料;GyD.F4y2Ba

包括作为问题的目标函数的成本。GyD.F4y2Ba

steelprob.objective =成本;GyD.F4y2Ba

问题有三个平等约束。第一个约束是总重量为25吨。计算钢的重量。GyD.F4y2Ba

Totalweight = Preceingot *锭+和(合金)+废料;GyD.F4y2Ba

第二个约束是碳的重量为25吨的5%,或1.25吨。计算钢中碳的重量。GyD.F4y2Ba

碳酸碳= [5,4,5,3] / 100;Carbonalloys = [8,7,6] / 100;Carbonscrap = 3/100;TotalCarbon =(配重*碳连接液)*锭+碳铝合金*合金+碳酸碎屑*废料;GyD.F4y2Ba

第三个约束是钼的重量为1.25吨。计算钢中钼的重量。GyD.F4y2Ba

钼手提= [3,3,4,4] / 100;莫利鲍伊= [6,7,8] / 100;Molybscrap = 9/100;TotalMolyB =(配重*钼印刷)*锭+钼杆合金*合金+ Molybscrap *废料;GyD.F4y2Ba

包括问题的约束。GyD.F4y2Ba

steelprob.constraints.conswt = totalweight == 25;steelprob.constraints.conscarb = totalcarbon == 1.25;steelprob.constraints.consmolyb = totalmolyb == 1.25;GyD.F4y2Ba

解决问题GyD.F4y2Ba

现在您拥有所有输入,请致电求解器。GyD.F4y2Ba

[溶胶,fval] =解决(钢鞋);GyD.F4y2Ba
使用intlinprog解决问题。LP:最佳目标值为8125.600000。切割生成:应用3 miR切割。下限为8495.000000。相对间隙为0.00%。找到最佳解决方案。intlinprog在根节点处停止,因为目标值在最佳值的间隙容忍度范围内,options.absolutegolerance = 0(默认值)。INTCON变量在公差中是整数,Options.integertolerance = 1E-05(默认值)。GyD.F4y2Ba

查看解决方案。GyD.F4y2Ba

sol.ingots.GyD.F4y2Ba
ANS =.GyD.F4y2Ba4×1GyD.F4y2Ba1.0000 1.0000 0 1.0000GyD.F4y2Ba
sol.alloys.GyD.F4y2Ba
ANS =.GyD.F4y2Ba3×1GyD.F4y2Ba7.2500 0 0.2500GyD.F4y2Ba
sol.scrap.GyD.F4y2Ba
ANS = 3.5000.GyD.F4y2Ba
fval.GyD.F4y2Ba
fval = 8.4950e + 03GyD.F4y2Ba

最佳购买费用为8,495美元。买锭子GyD.F4y2Ba1GyD.F4y2Ba那GyD.F4y2Ba2GyD.F4y2Ba, 和GyD.F4y2Ba4.GyD.F4y2Ba, 但不是GyD.F4y2Ba3.GyD.F4y2Ba,买7.25吨合金GyD.F4y2Ba1GyD.F4y2Ba,0.25吨合金GyD.F4y2Ba3.GyD.F4y2Ba和3.5吨废钢。GyD.F4y2Ba

相关话题GyD.F4y2Ba