SolverOk 函數

定義基本的規劃求解模式。 相當於按一下[資料 | 分析] 群組中的 [規劃求解],然後在 [規劃求解參數] 對話方塊中指定選項。

注意事項

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

SolverOk ( SetCellMaxMinValValueOfByChangeEngineEngineDesc)

SetCell 選擇性的 Variant。 是指使用中工作表上的單一儲存格。 對應至 [規劃求解參數] 對話方塊中的 [設定目標資料格] 方塊。 MaxMinVal 選擇性的 Variant。 對應至 [規劃求解參數] 對話方塊中的[最大值]、[最小值] 和 [] 選項。

MaxMinVal 指定
1 Maximize
2 最小化
3 符合特定值

ValueOf 選擇性的 Variant。 如果 MaxMinVal 為 3,您必須指定與目標儲存格相符的值。

ByChange 選擇性的 Variant。 要變更的儲存格或儲存格範圍,以便您在目標儲存格中取得所需的結果。 對應至 [規劃求解參數] 對話方塊中的 [變更儲存格] 方塊。

發動機 選擇性的 Variant。 應該用來解決問題的解決方法:2 表示 Simplex LP 方法,1 用於 GRG 非線性方法,3 用於 Evolutionary 方法。 對應至 [規劃求解參數] 對話方塊中的 [選取解決方法] 下拉式清單。

EngineDesc 選擇性的 Variant。 指定解決方法的替代方式,該方法應該用來以字串方式解決問題:「Simplex LP」、「GRG Nonlinear」 或 「Evolutionary」。 對應至 [規劃求解參數] 對話方塊中的 [選取解決方法] 下拉式清單。

範例

此範例將在商務問題中使用 [規劃求解] 函數,以使總利潤達到最大值。 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 支援與意見反應