正如我在評論中提到,在Excel中的標準求解器有200個決策變量的最大限制。
本示例僅限於200個變量 - 如果您有保費解算器,則可以展開解決方案。這是使用Excel 2016
工作表設置
- A列中包含數據的大小來完成。
- 列B包含列A中每個成員都屬於的「組」。它最初使用公式
=RANDBETWEEN(1,5)
進行填充。然後使用複製/粘貼特殊值 - 覆蓋它。
- D列包含標記爲1至5的聚合組。
- 列E包含每個組內的聚合大小。計算公式爲:
=SUMIF($B$2:$B$201,"="&D2,$A$2:$A$201)
- 列F包含每個組的目標值(組1到4的1000,組5的忽略)。
- G列包含每個組的目標值的平方誤差。計算公式爲
=(E2-F2)^2
- 單元格G7將是「設置目標」單元格並且是誤差平方和。計算公式爲
=SUM(G2:G5)
下面是安裝工作表的屏幕截圖,在使用求解器之前。
求解器設置
求解器是安裝下列標準...
- 「既定目標:」 是
$G$7
- 「到:」 是 「最小」
- 「通過改變可變室:」 是
$B$2:$B$201
- 「符合約束條件:」 包括:
$B$2:$B$201 <= 5
, $B$2:$B$201 = integer
和$B$2:$B$201 >= 1
- 「選擇解決方法:」是
Evolutionary
。注意:您可以使用GRG,但速度會更慢。
- 在「選項」中,在「所有方法」選項卡的「解決整數約束」區域中,確保
Ignore Integer Constraints
爲而不是檢查。
以下是規劃求解參數對話框的屏幕截圖:
解決方案
你的最佳區域可能是「平」,因此有多種可能的解決方案。
下面是我產生一個解決方案的屏幕截圖...
標準求解器在Excel中有一個[決策變量上限(http://www.solver.com/standard -excel-solver-dealing-problem-size-limits)爲200.你的問題有277(每個單元屬於哪個組)。 – OldUgly
我知道,我們可以採取第一200的價值第一 –