看板 BIOSTAT 關於我們 聯絡資訊
以下是小人拙見 也請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