Pi Hybrids问题
清华大学肖秀波梁湧老师翻译的Rardin教授的《运筹学》[1]已于今年年中出版,感谢机械工业出版社张有利老师的推荐和赠书,让我能看到如此完美的千页级宏篇译著。该书的翻译质量非常高,书中内容深入浅出,附有大量的应用案例(Application)和练习题库。尤其让人欣喜的是该著作能与计算实践密切结合,凡有计算机图案标记的练习都是与计算和软件应用相关的,彰显了运筹学的应用数学本质。有鉴于此,笔者计划对该书中的问题进行大量实践,争取达到双位数的规模。
Pi Hybrids问题
Pi Hybrids问题,见原书第二章,案例2-2(Pi Hybrids, Page 33,37,56-58)。
Pi Hybrids问题是一个叠加了生产问题的运输问题,是一个包含了三脚标标引变量的模型,该著作在一开始就介入如此有一定深度的模型展现了作者应用导向的理念。
+Leapms生成的模型摘录
对任何问题,+Leapms都建议直接用+Leapms建模语言直接写出模型,并进行模型调试。
当模型调试完毕,对模型的正确性有充分的信心后,+Leapms系统可生成模型摘录,包括数学概念模型(即使用标引符号表示的数学模型)和+Leapms源码供交流使用。
我们的经验是,模型调试能够发现模型的不足、促进建模的完美性,甚至可以促进对问题的更加深入的了解。
以下是问题的+Leapms模型摘录(pdf屏幕截图):
+Leapms模型求解结果
+Leapms>load Current directory is "ROOT". ......... RLX2-2.leap ......... please input the filename:RLX2-2 ================================================================ 1: //Rardin R. L 著,肖勇波、梁湧译. 运筹学. 北京:机械工业出版社,2018 2: //Rardin-Liang&Xiao:案例2-2(Pi Hybrids, Page 33,37,56-58) 3: 4: min sum{f=1,..,l;h=1,..,m}p[f][h]x[f][h]+ --> 5: sum{f=1,..,l;h=1,..,m;r=1,..,n}s[f][h][r]y[f][h][r] 6: s.t. 7: sum{h=1,..,m}a[h]x[f][h]<=u[f] | f=1,..,l 8: sum{f=1,..,l}y[f][h][r]=d[h][r]| h=1,..,m;r=1,..,n 9: sum{r=1,..,n}y[f][h][r]=x[f][h]| f=1,..,l;h=1,..,m 10: where 11: l,m,n are integers 12: a[h] is a number|h=1,..,m 13: u[f] is a number|f=1,..,l 14: p[f][h] is a number|f=1,..,l;h=1,..,m 15: d[h][r] is a number|h=1,...,m;r=1,...,n 16: s[f][h][r] is a number|f=1,..,l;h=1,..,m;r=1,..,n 17: x[f][h] is a variable of nonnegative number--> 18: |f=1,..,l;h=1,..,m 19: y[f][h][r] is a variable of nonnegative number--> 20: |f=1,..,l;h=1,..,m;r=1,..,n 21: data 22: l=2 23: m=4 24: n=3 25: u={22000 25550} // corn processing capacity of facility f 26: a={7 11 6 18} // number of corn to obtain a hybrid h 27: p={ 28: 1.10 0.89 2.05 1.45 29: 1.55 1.13 2.15 1.56 30: 0.95 0.83 1.80 1.22 31: } 32: d={ //number of hybrid h demanded in region r 33: 123 119 500 34: 311 281 333 35: 212 188 424 36: 189 201 440 37: } 38: s={ //cost of shipping hybrid h from facility f to region r 39: 0.89 0.91 0.77 40: 1.00 0.84 0.89 41: 0.77 0.76 0.78 42: 0.99 1.03 0.85 43: 44: 0.92 0.89 0.92 45: 0.87 0.95 0.90 46: 0.91 0.83 0.77 47: 0.89 0.79 0.86 48: } 49: ================================================================ >>end of the file. Parsing model: 1D 2R 3V 4O 5C 6S 7End. .................................. number of variables=32 number of constraints=22 .................................. +Leapms>solve The LP is solved to optimal. 找到线性规划最优解.非零变量值和最优目标值如下: ......... x1_1*=742 x1_2*=925 x1_3*=824 x1_4*=93.7222 x2_4*=736.278 y1_1_1*=123 y1_1_2*=119 y1_1_3*=500 y1_2_1*=311 y1_2_2*=281 y1_2_3*=333 y1_3_1*=212 y1_3_2*=188 y1_3_3*=424 y1_4_3*=93.7222 y2_4_1*=189 y2_4_2*=201 y2_4_3*=346.278 ......... Objective*=7400.61 ......... +Leapms>
讨论
在原书中,Pi Hybrids问题是讲述标引模型(即对大规模模型中的变量和常量符号等实用脚标标引形式给出)的举例。+Leapms是一种以标引模型为主要表达方式的语言。
另外,在英文原版书中,参数数据可能有误,导致生产能力不足以满足市场需求,此处把生产能力参数 u 从英文原书中的{2200 2555}更改为{22000 25550}。
参考文献
[1] Rardin R. L 著,肖勇波、梁湧译. 运筹学. 北京:机械工业出版社,2018