3
我試圖解決這個問題有一個項目表:約束和算法
Item | x | y | z | ... | n
================
A | 2 | 3 | 1
B | 6 | 6 | 8
C | 9 | 2 | 1
D | 1 | 5 | 7
.
.
.
w
的{x, y, z, ..., n}
值可以是任意的,可以有行和列的任意數量。
你將不得不限制,這樣當你把物品放在一起的總和是:
1. 7 <= sum(x) <= 10
2. 10 <= sum(y) <= 15
3. 8 <= sum(z) <= 10}
和
4. The number of items is 2 <= numItems <= 10
一個可能的解決方案是:A + B
(X = 8,Y = 9,Z = 9)
目標是找到滿足此要求的所有可能組合。或者如果這將花費太長時間,只有一個非常小的子集可能只有一個。
我的問題是有沒有像樣的算法來解決這個問題?這不是一個家庭作業問題或任何事情,這是我的個人項目。我一直在試圖想出解決這個問題的好方法,但總是看到最終效率很低的解決方案。希望我錯過了一些東西。
8 <= sum(x)<= 10}應該是8 <= sum(z)<= 10}對嗎?並且這些項目僅固定在A,B,C,D上? – Kunukn
你是否想找到滿足條件的任何組合?或者是找到滿足它們的最佳組合的目標? (對於一些最好的定義) – cyon
最終我會想要滿足的所有組合。但我可能需要解決只使用找到的第一個組合。 'numItems'範圍的約束也是可變的。 –