訂貨論文1231_第1頁
訂貨論文1231_第2頁
訂貨論文1231_第3頁
訂貨論文1231_第4頁
訂貨論文1231_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、訂貨優(yōu)化問題 摘要1、 本文結合題目要求和實際情況,提出兩種假設:各種貨物單獨訂貨,彼此無不干涉;各種貨物同時訂貨,且共用同一個周期。另外,在決定訂貨方案時從長遠著眼,為盡可能減少訂貨費用,使周期T可取任意值,而未必在一年內完成整數個周期。2、 在“各種貨物單獨訂貨彼此不干涉”的情況下,列出了目標函數和約束方程,運用LINGO進行了求解。又在分析了各種費用對于對于最優(yōu)解的求解的影響后,優(yōu)先考慮其中影響較大的因素,對模型改進后再次運用LINGO求解。3、 在“各種貨物同時訂貨,且共用同一個周期”的假設下,該公司將的訂貨、運貨、存貨、銷售,都將以T為周期,并保持同一方式進行。對于這種簡明的訂貨方式

2、,列出了目標函數和約束方程,運用LINGO進行了求解。 4、 最后對模型進行了評價分析和改進,提出了對公司訂貨的建議。關鍵詞:LINGO 線性規(guī)劃 約束條件 問題重述某個商業(yè)公司管理著5個倉庫(B1B5)和8個分店(C1C8),主要經營10種物資,而這些物資全部向3個工廠(A1A3)進貨。公司的工作流程是根據8個分店的銷售需要,先向工廠訂貨,然后將各種物資運送到倉庫,再由倉庫運送到分店進行銷售。分店只消耗物資,不儲存物資。各個工廠生產10種物資的全部或部分物資,年產量如表一,而各種物資單價如表二。每個工廠到每個倉庫的運輸單價如表三,每個倉庫的容量如表四。同種物資在不同的倉庫的庫存費一樣,而不同

3、物資的庫存費是不同的,另外每種物資有著自己的體積,物資的庫存費與單位占用庫容如表五。5個倉庫到8個分店的運輸單價如表六,8個分店對物資的年需求量如表七。(提示:可以假設需求是均勻發(fā)生的,每個固定的周期就到倉庫提貨,倉庫的貨物也均勻減少)。公司每次訂貨都會有其它的各種花費,不妨稱為訂貨費,設公司每次的訂貨費為1萬元,另外,一次訂貨可使用的流動資金上限為100萬元,如果進行銷售時不允許缺貨,請問:公司一年之中應該怎樣組織訂貨(各種物資的訂貨次數、訂貨量、向哪個工廠訂貨以及運輸方案)使得總的花費最少?問題假設(1)訂貨嚴格依據計劃執(zhí)行,不考率訂貨中產生的突發(fā)因素(如人力、天氣等)。(2)假定工廠和倉

4、庫在能力范圍內將盡可能的滿足本公司的要求。(3)分店貨物銷售不考慮隨機性,即貨物隨時間均勻消耗 。(4)每個周期開始的時候開始進貨,周期結束的時候倉庫貨物消耗完。(5)忽略運輸貨物過程中所消耗的時間。符號說明符號意義T訂貨周期(年)P訂貨中的總花費P1出廠物資總額P2從工廠到倉庫運費P3貨物儲存費P4從倉庫到分店的運費Pt將一個周期的訂貨花費rijWr從i廠到j倉庫的數量ij從i廠到j倉庫的運費Wr在j倉庫的儲存單價Wr從j倉庫到k分店的運費Ai的Wr的產量Ck對Wi的需求量問題分析題目需要選擇訂貨方式、訂貨周期、訂貨量、及運輸方案,使得總花費P獲得最小值。這類問題為線性優(yōu)化問題,我們需要找出

5、目標函數及約束條件,然后利用LINGO求解。由于需要對多種商品、多個工廠庫存分銷商店進行規(guī)劃,目標函數和約束條件難以直接表達。因此,我們建立以下兩種模型來簡化求解的復雜性。一種是假設每次訂貨只定一種貨物,各種貨物的訂購存儲銷售互不影響。此時每種貨物都有自己的訂貨周期。另一種是假設訂貨周期固定,每個周期的訂貨單及儲存方式、運輸方式都是確定的。此時只需分析一個訂貨周期的費用即可。 由于貨物不斷的從倉庫運走,因此每個時刻的儲存量、儲存費用并不相同。因為貨物消耗為線性的,儲存量、儲存費也可線性表示出來。模型的建立和求解 訂貨中的總花費P為訂貨費P0、物資總額P1、運輸費、儲存費P3。其中每次訂貨費固定

6、為1萬元,運輸費為從工廠到倉庫運費P2、從倉庫到分店的運費P4之和。 即:P=P0+P1+P2+P3+P4 因此我們需要選擇訂貨方式、訂貨周期、訂貨量、及運輸方案,使得P獲得最小值。 模型一、貨物Wr(r=1,2,3,4,5,6,7,8,9,10)從工廠Ai(i=1,2,3)到倉庫Bj(j=1,2,3,4,5),再到Ck(k=1,2,3,4,5,6,7,8),可以有n=10×3*5*8=1200種不同的路線選擇,此時選擇范圍過于寬廣。因此,我們假定:一次訂貨只進一種貨物,各種貨物的訂單互不干擾和影響。這樣,就可以簡化為每種貨物有120種運輸方法。如下圖所示。 圖1Wi的一年訂貨次數:

7、Nr= T-訂貨周期(年) P0=從廠家買入的物資總額為: P1= pij-Ai出廠的Wr的價格 rij-Wr從i廠到j倉庫的數量從工廠到倉庫的總運費為:P2= ij-從i廠到j倉庫的運費 總的存儲費為: P3= /2 -Wr在j倉庫的儲存單價 從倉庫到分店的總運費為: P4= - Wr從j倉庫到k分店的數量 -Wr從j倉庫到k分店的運費 訂貨的總花費:P=P0+P1+P2+P3+P4 這里我們還要考慮到以下限制: 每次訂貨費用小于100萬 Pr <100 (萬) 從倉庫運出的貨物量要小于廠家的生產能力 即 Nr< (r=1,2,3,4,5,6,7,8,9,10 i=1,2,3)

8、-Ai 的Wr的產量 從工廠運到倉庫的貨物等于從倉庫運到分店的貨物 即 rij = (r=1,2,3,4,5,6,7,8,9,10 j=1,2,3,4,5) 倉庫中的貨物小于倉庫容量 即 = (j=1,2,3,4,5) 運到個分店的貨物滿足需求 即 Nr = (r=1,2,3,4,5,6,7,8,9,10 j=1,2,3,4,5,6,7,8) -Ck對Wi的需求量 對此線性規(guī)劃問題,用LINGO求解最為方便精確。將上述方程式輸入程序中,運行之后可以求得我們所需要的最優(yōu)解。用LINGO求解當所有條件有約束時,很難解出全局最優(yōu)解,局部最優(yōu)解很快解出,在很長時間不變。局部最優(yōu)解中: 從廠家買入費用

9、10648750 廠家到倉庫運費 365985.0 從倉庫到分店運費 95817.00 訂貨費 815553.0 庫存費 330375.8總計 12256480可以看出,除了從廠家買入費用,其余都相對較小,剩下的最大是訂貨費。而訂貨費與庫存費分別與訂貨次數成正比與反比,這也是求解較慢的原因。現不考慮運費,直接從廠家運到分店,這里約束改為: 運出廠家的小于廠家產量 運到分店的等于需求 訂的貨小于總的庫存空間然后考慮運輸與庫存,這只是一個線性規(guī)劃,求解較快。由于用到上次求解結果,等號不能嚴格取到,這里定義一小量做為誤差限(0.08)(具體程序見附錄)最終得出結果: 從廠家買入費用 10648800

10、 廠家到倉庫運費 373636.9 從倉庫到分店運費 90294.14 訂貨費 1101632. 庫存費 202330.0 總計 12416693這種方法雖然并非最優(yōu)解,但速度提高很多,便于做快速決策。此時用LINGO求得的最優(yōu)訂貨方案如下表格:一年的訂貨次數:貨物編號12345678910訂貨次數11.7659.651511.97413.15811.2957.573711.41813.238119.090909各貨物的年運量如下W1倉庫工廠A1A2A3B10710.010B28.00E-0300B38.00E-0300B401290.0320B51800.02100分店倉庫B1B2B3B4B

11、5C159.9860001.30E-02C200090.0080C3150.0080000C40000299.992C5000400.0080C6500.0080000C7000800.0080C800001500.008W2倉庫工廠A1A2A3B1001000.002B2000B3001400.008B401100.26399.721B5000分店倉庫B1B2B3B4B5C100299.99200C2799.9920000C300500.00800C400399.99200C500000C6200.00150000C70001199.9920C800200.00800W3倉庫工廠A1A2A3

12、B100150.008B21957.33900B300556.45B49000B5886.282700分店倉庫B1B2B3B4B5C10000800.008C20500.008000C300400.00800C400156.434043.574C51500000C601000.008000C700089.9920C80457.31530042.69274W4倉庫工廠A1A2A3B10973.4916326.5084B20.00800B3001173.496B4123.485626.508410B5626.504400分店倉庫B1B2B3B4B5C1000099.992C21199.992000

13、0C300800.00800C400373.4796026.51241C599.9920000C60.0080000C7000149.9920C80000499.992W5倉庫工廠A1A2A3B1000B21000.00800B30.00800B4289.99200B51849.99400分店倉庫B1B2B3B4B5C10000199.992C20000500.008C30599.992000C40000149.992C5000199.9920C60400.008000C700089.9920C80000999.994W6倉庫工廠A1A2A3B100.0080B2509.440800B3009

14、99.7204B401340.5290B5490.279600分店倉庫B1B2B3B4B5C100109.72040490.2716C20359.4391040.55290C3000.00800C400799.99200C5000299.9920C60149.9937000C7000999.9920C80089.99200W7倉庫工廠A1A2A3B101548.7090B2000B3001141.792B40449.4330B5000分店倉庫B1B2B3B4B5C1399.9920000C2148.7190051.273020C300799.99200C400191.816308.1760C5

15、00000C6999.9920000C700089.9920C800.008149.97600.008W8倉庫工廠A1A2A3B101231.1260B20.00800B3800.01600B4718.614700B5480.291300分店倉庫B1B2B3B4B5C1000080.008C200049.7327450.27526C300800.00800C40000149.992C5231.1100168.8820C61000.0080000C7000499.9920C80000200.008W9倉庫工廠A1A2A3B1000B21345.99200B3002243.992B4000B515

16、000分店倉庫B1B2B3B4B5C10000149.992C20799.992000C300400.00800C4001499.99200C5089.992000C60200.008000C7099.98400.0080C80156.008343.98400W10倉庫工廠A1A2A3B1000B21199.99200B3001200.008B401199.992299.984B5000分店倉庫B1B2B3B4B5C100599.99200C20499.992000C3000.00800C400399.99200C50.0000393000499.9920C60399.992000C70009

17、99.9920C800200.00800最終求得各種物品的成本價為:商品W1W2W3W4W5W6W7W8W9W10成本/元144.13226.70263.31302.26351.87357.54447.50493.48506.68546.97 模型二、 假設該公司各次訂貨始終保持同一訂單,即各次訂貨方式不變,這也就導致了各次訂貨從工廠到倉庫,從倉庫到分店以及庫存方式(包括時間)都采取同一種方式。另外,這也就意味著各種貨物將在同一時間銷售完畢??傊O定從訂貨到貨物同時售完為一個周期T,則該公司將的訂貨、運貨、存貨、銷售,都將以T為周期,并保持同一方式進行。這種訂貨方式簡單明了,易于與工廠、運輸

18、、倉庫、分店等方面達成統(tǒng)一,便于運作,更貼近實際。 圖 2如圖2所示,將訂貨周期T和每個周期內訂貨方式、運輸方式固定,并設定貨物都將在該周期內均勻消耗完。此時只需將一個周期的訂貨花費Pt表達出即可。此時,設一年訂貨次數:N= T-訂貨周期(以年為單位), 則總訂貨費為, P0=N(萬)從廠家買入的貨物總額為: P1= 其中, pij-Ai出廠的Wr的價格; rij-Wr從i廠到j倉庫的數量。從工廠到倉庫的總運費為:P2= ij-從i廠到j倉庫的運費 總的存儲費為: P3= /2 -Wr在j倉庫的儲存單價 從倉庫到分店的總運費為: P4= 其中,- Wr從j倉庫到k分店的數量 ; -Wr從j倉庫

19、到k分店的運費。 于是可得, 訂貨的總花費:P=P0+P1+P2+P3+P4 這里我們還要考慮到以下限制條件: 每次訂貨費用小于100萬: P0+P1<=1e7N 即, P1<=99×1e5N 。 從倉庫運出的貨物量要小于廠家的生產能力 即 , N< (r=1,2,3,4,5,6,7,8,9,10 i=1,2,3) 其中, -Ai 的Wr的產量 從工廠運到倉庫的貨物等于從倉庫運到分店的貨物 即 , rij = (r=1,2,3,4,5,6,7,8,9,10 j=1,2,3,4,5) 倉庫中的貨物小于倉庫容量 即 , = (j=1,2,3,4,5) 運到個分店的貨物滿

20、足需求 即 , N = (r=1,2,3,4,5,6,7,8,9,10 j=1,2,3,4,5,6,7,8) 其中, -Ck對Wi的需求量利用LINGO軟件求解,編寫相應的目標函數和限制條件,運行之后可以求得在該假設下的最優(yōu)解。LINGO求得的最優(yōu)解: 每年總支出 P =1139.11萬元 每年貨物總額 P0=1064.88萬元 每年從工廠到倉庫的總運費 P1=356.18萬元每年從倉庫到分店的總運費 P2=93.43萬元 每年訂貨費 P3=15.33萬元 每年庫存費 P4=13.95萬元 訂貨周期 T =24天具體訂貨、運輸、存儲方式如下:從工廠一(f1)訂購、并運輸到各倉庫(wh1-5)的

21、情況如下:(單位:件)(另外2個工廠見附錄)f1-wh1f1-wh2f1-wh3f1-wh4f1-wh5g101000108g200000g308100105g4000049g508400121g60390026g700000g801012028g9078003g10079000從倉庫1(wh1)運輸到各分店(s1-8)的情況如下:(單位:件) (另外5個倉庫見附錄)wh1-s1wh1-s2wh1-s3wh1-s4wh1-s5wh1-s6wh1-s7wh1-s8g1000003200g200000000g300000000g400000000g500000000g600000000g71800

22、006500g8000001500g900000000g1000000000模型的分析和改進在本文中,結合實際提出了“各種貨物單獨訂貨,彼此無不干涉”、“各種貨物同時訂貨,且共用同一個周期”兩種假設,并分別建立相應模型,制定出對應的訂貨方案,在商業(yè)公司制定進貨方案時,可按境況選擇其中一種訂貨方式。在建立模型時,從長遠打算,并未拘泥于每年完成整數個周期,使得訂貨周期取值更廣泛,進一步實現了平均每年總支出的優(yōu)化。這種方法是一種可以指定長期訂貨計劃的方法。但實際中需求量與廠家進價不可能長期不變,對于波動的情況,必須有短期計劃。另外,所設模型倉庫的利用率也不高。模型改進:為了適應短期計劃,可以初設倉庫

23、中有存貨,并在第一種貨物剛消耗完時訂貨,訂貨時貨物可大于需求,但不要大的過多。對于倉庫利用率,可將貨物分為兩份訂貨,訂貨時間錯開,這樣最多可節(jié)省1/4的容量,以存放更多貨物。參考書目:1 姜啟源,謝金星,葉俊. 數學模型(第三版)O22. 2003,高等教育出版社2 陳理容 數學建模導論 022 2000 北京郵電學出版社3 徐麗娜 數制控制建模與分析·設計實現·第二版 O22. 2006 科學出版社附錄模型一的LINGO程序清單:(1)改進前:model:sets:!數據約束;factory/f1.f3/;warehouse/wh1.wh5/:capacity;shop/

24、s1.s8/;goods/g1.g10/:depo,volume,n;!persent of a year;f_to_w(factory,warehouse);!:cost1;w_to_s(warehouse,shop);!:cost2;produce(factory,goods):productivity,price,out;sell(shop,goods):needs;endsetsdata:!3個工廠生產10種物資的年產量(件/年);productivity=20000300010003200100002000150015002000130001000015002000150001200

25、025008001500010001400025001500;!3個工廠生產的10種物資的出廠單價(元/件);price=1001e62102502903001e6430450500901801e62401e63053804351e64901e61702102451e62854001e5450480;!3個工廠到5個倉庫的運輸單價(元/件);!四個倉庫的庫容量(3);capacity=8006001000700800;!10種物資的單件庫存費(元/件·年);depo=407090100120120150160180200;!10種物資的單件體積(3/件);volume=1.51.01

26、.52.01.50.51.52.01.00.5;!5個倉庫到8個分店的單位運價(元/件);!8個分店對10種物資的需求量(件/年);needs=603008001002006004008015060090800500120050040020010080050015050040080060008008004000300400200400150800500150150040040001501002003000400908005002001000040015010001000200400800120090150901000905001001000150020050050010009015020050

27、0200;enddatagoalmin=pay1+pay4+pay5;!費用;!從廠家買入;pay1=sum(produce(i,j):out(i,j)*price(i,j)*n(j);!定貨費;pay4=sum(goods:10000*n);!庫存費;pay5=sum(goods(i):0.5*depo(i)*sum(factory(j):out(j,i);!運輸量約束;!訂的貨小于廠家生產能力;for(produce(i,j):out(i,j)*n(j)<=productivity(i,j););for(goods(i):sum(factory(j):out(j,i)*n(i)=su

28、m(shop(k):(needs(k,i);sum(produce(i,j):out(i,j)*volume(j)<=sum(warehouse:capacity);!單次訂貨費<99萬;for(goods(i):sum(factory(j):out(j,i)*price(j,i)<=99e4);for(produce:gin(out);End(2) 改進約束條件后LINGO的求解:model:sets:!數據約束;factory/f1.f3/;warehouse/wh1.wh5/:capacity;shop/s1.s8/;goods/g1.g10/:depo,volume,

29、n;!persent of a year;f_to_w(factory,warehouse):cost1;w_to_s(warehouse,shop):cost2;produce(factory,goods):productivity,price,out;deposit(warehouse,goods);sell(shop,goods):needs;trans1(f_to_w,goods):t1;!運量(件/年);trans2(w_to_s,goods):t2;endsetsdata:!3個工廠生產10種物資的年產量(件/年);productivity=20000300010003200100

30、002000150015002000130001000015002000150001200025008001500010001400025001500;!3個工廠生產的10種物資的出廠單價(元/件);price=1001e62102502903001e6430450500901801e62401e63053804351e64901e61702102451e62854001e5450480;!3個工廠到5個倉庫的運輸單價(元/件);cost1=1e6101417131081e691615169151e6;!四個倉庫的庫容量(3);capacity=8006001000700800;!10種物資的

31、單件庫存費(元/件·年);depo=407090100120120150160180200;!10種物資的單件體積(3/件);volume=1.51.01.52.01.50.51.52.01.00.5;!5個倉庫到8個分店的單位運價(元/件);cost2=323631451e6331e6525351e6251e651e64414421e621e622535252;!8個分店對10種物資的需求量(件/年);needs=6030080010020060040080150600908005001200500400200100800500150500400800600080080040003

32、004002004001508005001501500400400015010020030004009080050020010000400150100010002004008001200901509010009050010010001500200500500100090150200500200;out=1530245572781320151136132170114076017717593013202595911401321000204165;n=11.7659.651511.97413.15811.2957.573711.41813.238119.090909;enddatagoalmin=p

33、ay2+pay3;!費用;!從廠家買入;!pay1=sum(produce(i,j):out(i,j)*price(i,j)*n(j);!廠家到倉庫運費;pay2=sum(trans1(i,j,k):t1(i,j,k)*cost1(i,j);!從倉庫到分店運費;pay3=sum(trans2(i,j,k):t2(i,j,k)*cost2(i,j);!運到倉庫的等于訂貨;for(goods(i):for(factory(j):sum(warehouse(k):t1(j,k,i)<=out(j,i)*n(i)+.1;sum(warehouse(k):t1(j,k,i)>=out(j,i

34、)*n(i)-.1);!運到倉庫的等于運出倉庫的;for(goods(i):for(warehouse(j):sum(factory(k):t1(k,j,i)<=sum(shop(l):t2(j,l,i)+.1;sum(factory(k):t1(k,j,i)>=sum(shop(l):t2(j,l,i)-.1);!運到分店的等于需求;for(goods(i):for(shop(j):sum(warehouse(k):t2(k,j,i)<=needs(j,i)+.1;sum(warehouse(k):t2(k,j,i)>=needs(j,i)-.1);!倉庫容量;for

35、(warehouse(i):sum(produce(j,k):t1(j,i,k)*volume(k)/n(k)<=capacity(i);End模型二的LINGO程序清單:model:sets:!數據約束;factory/f1.f3/;warehouse/wh1.wh5/:capacity;shop/s1.s8/;goods/g1.g10/:depo,volume,time;!persent of a year;f_to_w(factory,warehouse):cost1;w_to_s(warehouse,shop):cost2;produce(factory,goods):produ

36、ctivity,price;deposit(warehouse,goods);sell(shop,goods):needs;trans1(f_to_w,goods):t1;!運量(件/年);trans2(w_to_s,goods):t2;endsetsdata:!3個工廠生產10種物資的年產量(件/年);productivity=20000300010003200100002000150015002000130001000015002000150001200025008001500010001400025001500;!3個工廠生產的10種物資的出廠單價(元/件);price=1001e621

37、02502903001e6430450500901801e62401e63053804351e64901e61702102451e62854001e5450480;!3個工廠到5個倉庫的運輸單價(元/件);cost1=1e6101417131081e691615169151e6;!四個倉庫的庫容量(3);capacity=8006001000700800;!10種物資的單件庫存費(元/件·年);depo=407090100120120150160180200;!10種物資的單件體積(3/件);volume=1.51.01.52.01.50.51.52.01.00.5;!5個倉庫到8個

38、分店的單位運價(元/件);cost2=323631451e6331e6525351e6251e651e64414421e621e622535252;!8個分店對10種物資的需求量(件/年);needs=6030080010020060040080150600908005001200500400200100800500150500400800600080080040003004002004001508005001501500400400015010020030004009080050020010000400150100010002004008001200901509010009050010010

39、001500200500500100090150200500200;enddatagoalmin=pay1+pay2+pay3+pay4+pay5; !費用;!從廠家買入;pay1=sum(trans1(i,j,k):t1(i,j,k)*price(i,k);!廠家到倉庫運費;pay2=sum(trans1(i,j,k):t1(i,j,k)*cost1(i,j);!從倉庫到分店運費;pay3=sum(trans2(i,j,k):t2(i,j,k)*cost2(i,j);!定貨費;pay4=10000/t;!庫存費;pay5=sum(goods(i):0.5*depo(i)*sum(f_to_w(j,k):t1(j,k,i)*time(i);for(goods(i):time(i)=t);!運輸量約束;!運到倉庫的小于廠家生產能力;for(goods(i):for(factory(j):sum(warehouse(k):t1(j,k,i)<=productivity(j,i);!運到倉庫的等于運出倉庫的;for(goods(i):for(wa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論