定義基本的規劃求解模式。 相當於在資料 | 分析群組點選求解器,然後在求解器參數對話框中指定選項。
注意事項
根據預設,規劃求解增益集並未啟用。 使用本函數之前,必須先安裝並啟用規劃求解增益集。 如需如何安裝並啟用規劃求解增益集的詳細資訊,請參閱使用規劃求解 VBA 函數。 安裝規劃求解增益集之後,必須建立對規劃求解增益集的參照。 在模組作用中的 Visual Basic 編輯器中,按一下 [工具] 功能表上的 [參照],然後選取 [可用參照] 下的 [規劃求解]。 如果 [規劃求解] 沒有出現在 [可用的參考] 底下,按一下 [瀏覽],然後開啟 \Program Files\Microsoft Office\Office14\Library\SOLVER 子資料夾中的 Solver.xlam。
SolverOk ( SetCell, MaxMinVal, ValueOf, ByChange, engine, EngineDesc)
集合單元 可選 變體。 指的是活動工作表上的單一格子。 對應於求解器參數對話框中的「設定目標格子」。 MaxMinVal 可選 變體。 對應於求解器參數對話框中的最大值(Max)、最小值(Min)和值(Value)選項。
| MaxMinVal | 具體說明 |
|---|---|
| 1 | Maximize |
| 2 | 最小化 |
| 3 | 符合特定值 |
價值 可選 變體。 如果 MaxMinVal 是 3,你必須指定目標格子所匹配的值。
ByChange 可選 變體。 要改變的細胞範圍,才能在目標細胞中獲得想要的結果。 對應於求解器參數對話框中的「透過更換細胞」欄位。
發動機 可選 變體。 解決該問題的求解方法:單純形 LP 方法為 2,GRG 非線性方法為 1,演化法為 3。 對應於解算器參數對話框中的「選擇求解方法」下拉選單。
引擎說明 可選 變體。 另一種指定解法的方式是:「單純形 LP」、「GRG 非線性」或「演化法」。 對應於解算器參數對話框中的「選擇求解方法」下拉選單。
範例
此範例將在商務問題中使用 [規劃求解] 函數,以使總利潤達到最大值。 SolverOK 函式透過指定 SetCell、MaxMinVal 和 ByChange 參數來定義問題。
Worksheets("Sheet1").Activate
SolverReset
SolverOptions precision:=0.001
SolverOK SetCell:=Range("TotalProfit"), _
MaxMinVal:=1, _
ByChange:=Range("C4:E6")
SolverAdd CellRef:=Range("F4:F6"), _
Relation:=1, _
FormulaText:=100
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=3, _
FormulaText:=0
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=4
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range("A33")
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。