Optimization Service

最適化

線形最適化サービスと帯分積線形プログラムをモデル化して解くために使用される線形最適化サービス。

クラス

名前概要
LinearOptimizationConstraintlowerBound ≤ Sum(a(i) x(i)) ≤ upperBound という形式の線形制約を格納するオブジェクト。ここで、lowerBoundupperBound は定数、a(i) は定数係数、x(i) は変数(不明)です。
LinearOptimizationEngine線形プログラムのモデル化と解法に使用されるエンジン。
LinearOptimizationService線形最適化サービスと帯分積線形プログラムをモデル化して解くために使用される線形最適化サービス。
LinearOptimizationSolution線形プログラムの解。
Statusソリューションのステータス。
VariableTypeエンジンによって作成された変数のタイプ。

LinearOptimizationConstraint

Methods

メソッド戻り値の型概要
setCoefficient(variableName, coefficient)LinearOptimizationConstraint制約に含まれる変数の係数を設定します。

LinearOptimizationEngine

Methods

メソッド戻り値の型概要
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintモデルに新しい線形制約を追加します。
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineモデルに制約を一括して追加します。
addVariable(name, lowerBound, upperBound)LinearOptimizationEngine新しい連続変数をモデルに追加します。
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngine新しい変数をモデルに追加します。
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngine新しい変数をモデルに追加します。
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngine変数をバッチでモデルに追加します。
setMaximization()LinearOptimizationEngine線形目的関数を最大化するように最適化の方向を設定します。
setMinimization()LinearOptimizationEngine線形目的関数を最小限に抑えるよう最適化の方向を設定します。
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngine線形目的関数の変数の係数を設定します。
solve()LinearOptimizationSolutionデフォルトの期限が 30 秒である現在の線形プログラムを解きます。
solve(seconds)LinearOptimizationSolution現在の線形プログラムを解きます。

LinearOptimizationService

プロパティ

プロパティ種類説明
StatusStatus解法のステータス。
VariableTypeVariableType解法によって作成される変数の型。

Methods

メソッド戻り値の型概要
createEngine()LinearOptimizationEngine線形プログラム(場合によっては混合整数プログラム)を解決するエンジンを作成します。

LinearOptimizationSolution

Methods

メソッド戻り値の型概要
getObjectiveValue()Number現在のソリューションの目的関数の値を取得します。
getStatus()Statusソリューションのステータスを取得します。
getVariableValue(variableName)Number前回の LinearOptimizationEngine.solve() 呼び出しで作成されたソリューション内の変数の値を取得します。
isValid()Booleanその解決策が実現可能か最適かを判断します。

Status

プロパティ

プロパティ種類説明
OPTIMALEnum最適なソリューションが見つかったときのステータス。
FEASIBLEEnum実行可能な(必ずしも最適な)ソリューションが見つかったときのステータス。
INFEASIBLEEnum現在のモデルが実現不可能である(解決策がない)場合のステータス。
UNBOUNDEDEnum現在のモデルがバインド解除されたときのステータス。
ABNORMALEnum予期しない理由で解決策が見つからなかったことを示すステータス。
MODEL_INVALIDEnumモデルが無効の場合のステータス。
NOT_SOLVEDEnumLinearOptimizationEngine.solve() がまだ呼び出されていない場合のステータス。

VariableType

プロパティ

プロパティ種類説明
INTEGEREnum整数値のみを取る変数の型。
CONTINUOUSEnum任意の実数を取る変数の型です。