共用方式為


SolverOk 函數

定義基本的規劃求解模式。 相當於在資料 | 分析群組點選求解器,然後在求解器參數對話框中指定選項。

注意事項

根據預設,規劃求解增益集並未啟用。 使用本函數之前,必須先安裝並啟用規劃求解增益集。 如需如何安裝並啟用規劃求解增益集的詳細資訊,請參閱使用規劃求解 VBA 函數。 安裝規劃求解增益集之後,必須建立對規劃求解增益集的參照。 在模組作用中的 Visual Basic 編輯器中,按一下 [工具] 功能表上的 [參照],然後選取 [可用參照] 下的 [規劃求解]。 如果 [規劃求解] 沒有出現在 [可用的參考] 底下,按一下 [瀏覽],然後開啟 \Program Files\Microsoft Office\Office14\Library\SOLVER 子資料夾中的 Solver.xlam。

SolverOk ( SetCellMaxMinValValueOfByChangeengineEngineDesc)

集合單元 可選 變體。 指的是活動工作表上的單一格子。 對應於求解器參數對話框中的「設定目標格子」。 MaxMinVal 可選 變體。 對應於求解器參數對話框中的最大值(Max)、最小值(Min)和(Value)選項。

MaxMinVal 具體說明
1 Maximize
2 最小化
3 符合特定值

價值 可選 變體。 如果 MaxMinVal 是 3,你必須指定目標格子所匹配的值。

ByChange 可選 變體。 要改變的細胞範圍,才能在目標細胞中獲得想要的結果。 對應於求解器參數對話框中的「透過更換細胞」欄位。

發動機 可選 變體。 解決該問題的求解方法:單純形 LP 方法為 2,GRG 非線性方法為 1,演化法為 3。 對應於解算器參數對話框中的「選擇求解方法」下拉選單。

引擎說明 可選 變體。 另一種指定解法的方式是:「單純形 LP」、「GRG 非線性」或「演化法」。 對應於解算器參數對話框中的「選擇求解方法」下拉選單。

範例

此範例將在商務問題中使用 [規劃求解] 函數,以使總利潤達到最大值。 SolverOK 函式透過指定 SetCellMaxMinValByChange 參數來定義問題。

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 支援與意見反應