劉曉可
摘 要 本文根據JG市的蔬菜種植問題,采用線性規劃的理論和方法建立了簡單合理的運輸方案來實現現階段的蔬菜供應問題,建立模型時應先運用floyd算法求出各種植基地到每個銷售點的最短運輸距離,然后用lingo軟件計算蔬菜短缺補償和運費最小的方案。緊接著根據題目要求對算法加以修改得出每個市場短缺量不超過需求量的30%的最優方案,并求出了最佳的改進方案。
關鍵詞 最短路問題 floyd算法 政府投入補貼
中圖分類號:S151.9 文獻標識碼:A
2015年吉林省大學生數學建模競賽E題“菜籃子工程中的蔬菜種植問題”如下:JG在郊區和農區建立了8個蔬菜種植基地,每天將蔬菜運送到市區的35個蔬菜銷售點。市區有15個主要交通路口,在蔬菜運送的過程中從蔬菜種植基地可以途徑這些交通路口再到達蔬菜銷售點。如果蔬菜銷售點的需求量不能滿足,則給予一定的短缺補償。同時市政府還按照蔬菜種植基地供應蔬菜的數量以及路程,發放相應的運費補貼,運費補貼標準為0.04元/(1噸·1公里)。
問題:針對下面兩個問題,分別建立數學模型,并制定蔬菜運送方案。
(1)為JG市設計從蔬菜種植基地至各蔬菜銷售點的蔬菜運送方案,使政府的短缺補償和運費補貼最少;
(2)制定蔬菜銷售點的短缺量一律不超過需求量的30%方案。
1模型假設
(1)蔬菜在運輸途中無損耗;
(2)路口不是貨站不能把蔬菜拆分;
(3)銷售點及蔬菜種植基地都可以作為中轉點;
(4)并且只考慮短缺補償和運費補償,不考慮其它費用。
2模型分析
首先要求解各個蔬菜種植基地到銷售點最短距離,運用網絡各點之間的矩陣算法,即Floyd算法:從任意節點i到任意節點j的最短路徑不外乎2種可能,1是從i經過若干個節點到j,2是直接從i到j。只要列出它的距離的鄰接矩陣,便能運用MATLAB。
由于數據比較復雜,用普通的計算很困難,所以我們可以用MATLAB軟件來編程求解。
3模型求解
(1)采用標號作業法,每次迭代產生一個永久標號,從而得到最短路徑。
接下來可以運用MALTAB語言,很快就可得到從各個蔬菜種植基地到35個銷售點的最短距離,從而可以求出最小的運輸補償。
政府的補貼包括了蔬菜的短缺補償和交通補償,運用之前得到的各個種植基點到銷售點的最短距離與運費補貼標準0.04元/(1噸.1公里)乘積與蔬菜的短缺補償相加,就能得到政府的補貼的費用。
目標函數為:M=∑(yg€Haxg))+0.04*(∑∑zig*xig)
根據每個基點蔬菜種植基點日供應量(即由同一個基點運往不同銷售點的總量)一定,已知各個銷售點需求量一定,而總供應量卻滿足不了總需求量。
約束條件為:
∑xig≤xi;=1,2,3…8;
∑xig=xg=1,2,3…35;
xig≥0
用lingo求解,得到政府補貼最少為:42824.62元。
(2)若規定各蔬菜銷售點的短缺量一律不超過需求量的30%,則運往各個銷售點蔬菜的量要大于等于需求量的70%。
目標函數為:M=mg∑(yg€Haxg)+0.04*(∑∑zig*xig);
約束條件為:
∑xig≥0.7xi ; i=1,2,3,…8;
∑xig=xg;g=1,2,3,…35;
xig≥0
用lingo求解,得到政府補貼最少為:50255.05元。
參考文獻
[1] Thomas H.Cormen,Charles E.Leiserson,等.Introduction to Algorithms(算法導論)[M].潘金貴等譯.機械工業出版社,2006:386.
[2] MATLAB技術大全.矩陣及其運算[M].北京:人民郵電出版社,2013.
[3] 錢頌迪.運籌學[M].北京:清華北大出版社,1999.