作者bugu (老實說~我沒空)
看板BIOSTAT
標題Re: [問題] 求解
時間Fri Mar 11 02:46:47 2005
以下是小人拙見
也請Dr.瑋指正
可以用作業研究裡的規劃求解作
先在 Excel 中輸入以下資料:
( A B C 為行名 1,2,...,8,9 為列數)
A B C
1 80000 2000 x1
2 100000 1400 x2
3 40000 800 x3
4 50000 850 x4
5 40000 1200 x5
6 30000 390 x6
7 80000 1500 x7
8 90000 2200 x8
9
另點一空白儲存格(如C9)輸入目標儲存格函數
以本例而言為 C9=B1*C1+B2*C2+B3*C3+B4*C4+B5*C5+B6*C6+B7*C7+B8*C8
再點一空白儲存格(如A9)輸入第一個限制式的 L.H.S.
A9=A1*C1+A2*C2+A3*C3+A4*C4+A5*C5+A6*C6+A7*C7+A8*C8
功能表列>工具>規劃求解
(如果沒有 請先點 工具>增益集>規劃求解 打勾)
設定目標儲存格: C9
點最大值
變數儲存格: $C$1:$C$8
限制式:
$A$9 <= 200,000
$C$1 = binary
$C$2 = binary
.....
.....
$C$8 = binary
再點右上方求解即可得
結果如下:
80000 2000 1
100000 1400 0
40000 800 0
50000 850 0
40000 1200 1
30000 390 0
80000 1500 1
90000 2200 0
200000 4700
結果為
選擇 (80000, 2000), (40000,1200), (80000,1500) 這三個集合
是所有 \sum X 不超過 20,000
而使得 \sum Y 最大者 = 4,700
====================================================
另
如果要作多次計算的話
這樣點來點去實在不是一個聰明的辦法
就寫個 Fortran 的小程式吧
如果只作幾次的話倒是規劃求解比較方便
====================================================
唉 我該去寫我的作業了 ...
※ 引述《FrancisWang (簡單生活之簡約主義)》之銘言:
: 一集合{ (X1,Y1) (X2,Y2) (X3,Y3)…}
: ΣX不得超過 A
: 求 讓Σ Y為最大值之組合?
: 實例
: 集合 (80000,2000), (100000,1400), (40000,800), (50000,850)
: (40000,1200), (30000,390), (80000,1500), (90000,2200)
: ΣX 最大值為200,000
: 求讓 Σ Y為最大值之組合(集合) 為何?
: what is the effective solution
: ---
: Dr.瑋 教一下啦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.201