运输问题中产销不平衡问题(表上作业法和LINGO方法)
對于產銷不平衡問題有兩種情況:
供大于求(產大于銷)→增加虛擬銷地
供不應求(產小于銷)→增加虛擬產地
例如以下例題:
1.這個問題可以采用筆算的方式:
表上作業法
↓
得到初始方案
↓
檢驗基變量個數是否為m+n-1個,若不是,則說明初始解退化,需要不足基變量個數(如填寫一個數字同時滿足了一廠一商,則需在同行或同列中填寫一個數字0,以保證恰好有m+n-1個數字)【注意:基可行解中不能有某個基變量獨占一行一列】
↓計算位勢值(*)
基于基變量的cij計算出vj和ui,根據公式:cij=vj+ui,可以令v1=0(隨意設置)
↓
基于非基變量的表格,計算出非基變量檢驗數,σij=cij-(vj+ui)。
↓若σij全非負,則說明初始方案為最優方案,從而計算出運輸費用。
若存在σij < 0 ,則說明初始方案不是最優方案,需要進行調整。首先在作業表上以xij為起始變量作出閉回路(其余頂點均為基變量,回路中每行每列只有兩個變量), 并求出調整量 ε: ε=min{該閉回路中偶數次頂點調運量xij}。
↓
以xij為起始變量,其余頂點為基變量的閉回路,1.閉回路之外的變量調運量不變,2.閉回路上:偶數號頂點的調運量減去ε, 奇數號頂點的調運量加上ε。(*)
↓
重復計算(*)之間的步驟,直到非基變量檢驗數全部為非負時,方案為最優方案。
2.LINGO計算最優方案
sets: supplys/1..3/: produce; demands/1..4/: sell; links(supplys, demands): c, x; endsets data: produce = 15,20,20; sell = 5,15,20,20; c = 5 5 9 1011 8 13 125 8 6 11; enddata min = @sum(links(i,j): c(i,j) * x(i,j)); @for(supplys(i): @sum(demands(j): x(i,j)) = produce(i)); @for(demands(j): @sum(supplys(i): x(i,j)) <= sell(j));運行結果如下:
Global optimal solution found.Objective value: 415.0000Infeasibilities: 0.000000Total solver iterations: 7Model Class: LPTotal variables: 12Nonlinear variables: 0Integer variables: 0Total constraints: 8Nonlinear constraints: 0Total nonzeros: 36Nonlinear nonzeros: 0Variable Value Reduced CostPRODUCE( 1) 15.00000 0.000000PRODUCE( 2) 20.00000 0.000000PRODUCE( 3) 20.00000 0.000000SELL( 1) 5.000000 0.000000SELL( 2) 15.00000 0.000000SELL( 3) 20.00000 0.000000SELL( 4) 20.00000 0.000000C( 1, 1) 5.000000 0.000000C( 1, 2) 5.000000 0.000000C( 1, 3) 9.000000 0.000000C( 1, 4) 10.00000 0.000000C( 2, 1) 11.00000 0.000000C( 2, 2) 8.000000 0.000000C( 2, 3) 13.00000 0.000000C( 2, 4) 12.00000 0.000000C( 3, 1) 5.000000 0.000000C( 3, 2) 8.000000 0.000000C( 3, 3) 6.000000 0.000000C( 3, 4) 11.00000 0.000000X( 1, 1) 5.000000 0.000000X( 1, 2) 10.00000 0.000000X( 1, 3) 0.000000 0.000000X( 1, 4) 0.000000 1.000000X( 2, 1) 0.000000 3.000000X( 2, 2) 5.000000 0.000000X( 2, 3) 0.000000 1.000000X( 2, 4) 15.00000 0.000000X( 3, 1) 0.000000 3.000000X( 3, 2) 0.000000 6.000000X( 3, 3) 20.00000 0.000000X( 3, 4) 0.000000 5.000000Row Slack or Surplus Dual Price1 415.0000 -1.0000002 0.000000 -9.0000003 0.000000 -12.000004 0.000000 -6.0000005 0.000000 4.0000006 0.000000 4.0000007 0.000000 0.0000008 5.000000 0.000000由此可知:
最優方案為:
運輸費用為 415 。
本篇文章為原創,轉載請說明出處。
我的博客:https://www.cnblogs.com/yannick99/
總結
以上是生活随笔為你收集整理的运输问题中产销不平衡问题(表上作业法和LINGO方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用说明 思迅收银系统_便利店收银使用的
- 下一篇: 【基础】ORACLE中on commit