ソルバー
ソルバーステップは、PlaidCloud のテーブルから線形計画問題と混合整数計画問題を解きます。線形制約を満たしながら目的関数を最小化または最大化する値を、ワークフローで選択する必要がある場合に使用します。
ソルバーはワークフロージョブのポッドで実行され、結果をプロジェクトテーブルに書き戻します。
4 つの入力テーブルを設定します。各入力には、ソーステーブル、データマッピング、フィルターがあります。PlaidCloud はこれらの設定を各入力の読み取りに使用するデータベースクエリに変換するため、ソルバーが行を受け取る前に選択が行われます。
決定変数ごとに 1 行です。
| 列 | 説明 |
|---|---|
variable_id |
他の入力テーブルで使用される一意の変数名。 |
lower_bound |
最小値。空白にすると下限なしになります。 |
upper_bound |
最大値。空白にすると上限なしになります。 |
type |
continuous、integer、または binary。バイナリ変数の境界は 0 と 1 です。 |
目的関数の係数が 0 でない変数ごとに 1 行です。
| 列 | 説明 |
|---|---|
variable_id |
変数入力の変数。 |
coefficient |
その変数の目的関数の係数。 |
このテーブルにない変数の係数は 0 として扱われます。
線形制約ごとに 1 行です。
| 列 | 説明 |
|---|---|
constraint_id |
係数入力で使用される一意の制約名。 |
lower_bound |
許容される活動量の最小値。空白にすると下限なしになります。 |
upper_bound |
許容される活動量の最大値。空白にすると上限なしになります。 |
等式制約には、下限と上限に同じ値を設定します。
制約係数のスパース行列です。
| 列 | 説明 |
|---|---|
constraint_id |
制約入力の制約。 |
variable_id |
変数入力の変数。 |
coefficient |
その制約におけるその変数の係数。 |
ソルバーオプション
Section titled “ソルバーオプション”| オプション | 説明 |
|---|---|
| 目的関数の方向 | 最小化または最大化を選択します。 |
| 時間制限 | 実行時間の上限(秒)。任意です。 |
| MIPギャップ | 混合整数問題の相対 MIP ギャップ。任意です。 |
| プレソルブを有効にする | 解く前にソルバーがモデルを簡略化します。 |
| カスタムリソースを使用 | ジョブのポッドの CPU コア数とメモリを設定します。 |
ソルバーは 3 つの出力テーブルを書き込みます。
変数ごとに 1 行で、解の値、境界、変数タイプ、目的関数の係数、利用可能な場合は被約費用が含まれます。
制約結果テーブル
Section titled “制約結果テーブル”制約ごとに 1 行で、活動量、境界、スラック、利用可能な場合は双対値が含まれます。
サマリーテーブル
Section titled “サマリーテーブル”ソルバーのステータス、目的関数値、実行時間、MIP ギャップ、MIP 双対境界、ノード数、反復回数、変数の数、制約の数を含む 1 行です。
ステータスの動作
Section titled “ステータスの動作”最適解が得られた場合、ステップは正常に完了します。ソルバーが最適ではないステータスで使用可能な解を返した場合、ステップは警告とともに終了し、出力テーブルは引き続き書き込まれます。使用可能な解がない場合、ステップはソルバーのステータスメッセージとともに失敗します。