高分懸賞 運籌學搬遷問題

時間 2021-07-19 07:03:02

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至少要提供多少件,這樣就可以把這個 填好 所以這個 還...