1樓:zjpwang磊
可以考慮0-1整數規劃;abcde 各從三個地方選一個!
只是不知道後面那些在講什麼?都不知道什麼是目標!
如果是費用:搬可節約費用,多了城市間的運費,即題中djl。
好像cik都用不到。因為在一個城市裡也要相互運輸嘛!!
如果不考慮cik,只考慮節約費用和城市間運輸費用。
就又碰到一個問題:多了城市間運輸費用怎麼算。
是不是各個車間的運輸情況(即,連同情況),是不是,每年a要運輸到每個車間,b要運輸到每個車間,c要運輸到每個車間,d要運輸到每個車間,e要運輸到每個車間.如果是,那麼解決思路如下:
由第一步0-1變數可以得到一種方案:並可算數節約了多少,幾個在市,在甲,在乙。
通過幾個在市,在甲,在乙聯合djl值,可得到增加的運輸費。
最後就是選出一個方案使得費用最小了。
可能用程式方便點。手算的話0-1好像只能是窮舉法(印象中),
由於規定無論留在市區或甲、乙兩衛星城鎮均不多於 3 個車間
則方案有150種,手算不太可能!!!
補充:哦,是我搞錯了。本來把cik看成運費了。
cik為 i和 k 車間之間的年運量
djl 為市區同衛星城鎮間單位運量的運費
如果知道了一個方案,那i運到j的dij值知道×cij就是i到j的運費了
即確定一種方案後,就通過兩個聯立可知i車間到j車間的年運費。
而第一張表是年運費節約:方案確定,節約費用也已知。
這樣目標就很明確,就是事年運費最少!
寫了個lingo程式,希望對你有幫助!
sets:
a/1..3/:;!三個地方;
b/1..5/:;!五個車間;
link(a,b):x,jie;!x為0-1變數,jie為節約費用;
aa(a,a):dij;!dig就是兩車間的運量;
bb(b,b):cik,y;!cik就是兩地之間的運費單價;!y為求每個方案下i車間到j車間的運費;
bbaa(b,b,a,a):yy; !為計算y做輔助作用;
endsets
data:
jie=100 150 100 200 50
100 200 150 150 150
0 0 0 0 0;
cik=0 0 1000 1500 0
0 0 1400 1200 0
0 0 0 0 2000
0 0 0 0 700
0 0 0 0 0;
dij=50 140 130
140 50 90
130 90 100;
enddata
!搬遷約束;
@for(a(i): @sum(b(j): x(i,j))<=3);
@for(b(j): @sum(a(i): x(i,j)) =1);
@for(link(i,j): @bin(x));!0-1約束;
!計算y;
@for(bb(m,n)|m#lt#n:
@for(aa(i,j):
yy(m,n,i,j)=@if(x(i,m)#eq#1#and#x(j,n)#eq#1,cik(m,n)*dij(i,j),0)));
@for(bb(m,n): @sum(aa(i,j): yy(m,n,i,j))=y(m,n));
!目標函式;
min=-@sum(link: x*jie)+@sum(bb: y);
結果:總費用580500.0
方案a-市 b-乙 c-乙 d-市 e-乙
說明由於題中好像說明部分搬出,所以可能要加一個約束條件使有一個車間留在市區。
表示式我也不知道怎麼表示:盡力!
設x為0-1變數陣:1為選擇,0為不選擇,則x為3×5的矩陣
約束條件1:各地不多於 3 個車間
xi1+xi2+...+xi5<=3 i=1,2,3;
約束條件2:每個車間只能安排在一個地方
x1i+x2i+x3i=1; i=1,2,3,4,5;
目標使費用最小
節約費用=x.*節約費用矩陣再求和。
(「.*」為矩陣中相應位置相乘。 節約費用矩陣,只要將搬到市區設為0,就也是3×5的矩陣了)
接下來就是算運費,這個比較麻煩!
以a到b的運費舉例:
思想就是找到x第1列1是在哪行,記為m,x的第2列1是在哪行,記為n,通過m,n對應dij表就可以知道a到b的年運費單價。和運量相乘就可得到運費。
其他一次這麼確定。
感覺這個東西太難搞了!及時用了程式也是最笨的辦法。希望有更好方法!
2樓:
表一中的數值沒有單位。每年節約100元?100萬元?若是100元,實在可以忽略不計。
若可以使用計算機,那麼寫個程式可以解決問題。將5個車間安排在3個地方的所有可能列出來,計算每種安排的費用(運費-節約),費用最低的即是最優。
5個車間安排在3個地方,要求某地不超過3個車間,總共有210種安排方案。
運籌學問題,運籌學的一些問題
拂曉追波 對於求極大值問題,m目標函式中需要 m乘以人工變數xi 有幾個人工變數,就要減去幾個mxi 首先跟單純形法一樣,約束條件 的,加鬆弛變數,這道題約束條件1 加x4,這個不用我說吧。其他兩個約束條件也一樣,的減去一個剩餘變數,因為我們在列單純形表時,需要找出一組基,一般是係數為1的,也就是構...
運籌學 表上作業法求運輸問題,求運籌學大神! 運籌學運輸問題用表上作業法求解時,位勢法和閉迴路法所求的檢驗數一定相等嗎
太小,看不清。基本思路是先用最大差值法求解,如果沒有得到最優解然後就用位勢法求解然後用閉迴路調整,調整完以後用位勢法檢驗。in 1 minimize out 1 用軟體mathematica來做,很簡單的就出來結果。我們只需要列出資料之間的關係,大大解放了我的勞動。現在的教學方式就應該現代化一點。去...
運籌學習題求解答,運籌學題目,求解答
a a1 b b1 c c1 d d1 供貨量 10 10 5 5 6 6 7 7 2500 8 8 2 2 7 7 6 6 2500 9 9 3 3 4 4 8 8 5000 假設供貨點 需求量你這裡條件貌似還不齊哦,應該有個約束條件說abcd至少要提供多少件,這樣就可以把這個 填好 所以這個 還...