[問題] 類似背包問題

看板Prob_Solve (計算數學 Problem Solving)作者 (可愛小孩子)時間10年前 (2014/12/17 11:53), 編輯推噓5(508)
留言13則, 5人參與, 最新討論串2/2 (看更多)
有 n 個 items(維度 3): (X1,Y1,Z1) = V1 (X2,Y2,Z2) = V2 ... (Xn,Yn,Zn) = Vn 有一個背包(維度 3): (W1,W2,W3) 現在要從 n 個 items 選出 m 個(不能重複選)使得: x1 + x2 + ... xm = W1 y1 + y2 + ... ym = W2 z1 + z2 + ... zm = W3 且 v1 + v2 + ... vm 的值最大 請問這樣的問題有什麼好的解法嗎? 謝謝大家 ^_^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.80.36 ※ 文章網址: http://www.ptt.cc/bbs/Prob_Solve/M.1418788403.A.5CA.html

12/17 16:32, , 1F
硬做應該還是可以做到 O(NW1W2W3)?
12/17 16:32, 1F

12/17 16:52, , 2F
值是整數還是實數?
12/17 16:52, 2F

12/18 11:05, , 3F
整數
12/18 11:05, 3F

12/18 22:25, , 4F
你是要最佳解還是近似解?
12/18 22:25, 4F

12/19 10:33, , 5F
想要最佳解,如果最佳解時間複雜度過高的話,近似解也可
12/19 10:33, 5F

12/19 21:19, , 6F
如果要最佳解 那就試試看DP吧
12/19 21:19, 6F

12/19 21:19, , 7F
不然你可以考慮使用Integer Programming的解法..
12/19 21:19, 7F

12/26 12:21, , 8F
謝謝大家唷:)
12/26 12:21, 8F

12/29 14:12, , 9F
數學定義都出來了…或許可以考慮Constraint programming
12/29 14:12, 9F

12/29 14:13, , 10F
找到的投影片: http://goo.gl/lzhp2Y
12/29 14:13, 10F

12/29 14:16, , 11F
印象中,GLPK可以用來寫Constraint programming
12/29 14:16, 11F

12/29 14:17, , 12F
12/29 14:17, 12F

12/29 14:44, , 13F
謝謝 aecho 大大
12/29 14:44, 13F
文章代碼(AID): #1KaFupNA (Prob_Solve)
討論串 (同標題文章)
文章代碼(AID): #1KaFupNA (Prob_Solve)