清華大學肖勇波樑湧老師的巨集篇譯著中的問題實踐之002 — Pi Hybrids問題
清華大學肖勇波樑湧老師的巨集篇譯著中的問題實踐之002 — 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