コンテンツにスキップ

ソルバーステップは、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 その制約におけるその変数の係数。
オプション 説明
目的関数の方向 最小化または最大化を選択します。
時間制限 実行時間の上限(秒)。任意です。
MIPギャップ 混合整数問題の相対 MIP ギャップ。任意です。
プレソルブを有効にする 解く前にソルバーがモデルを簡略化します。
カスタムリソースを使用 ジョブのポッドの CPU コア数とメモリを設定します。

ソルバーは 3 つの出力テーブルを書き込みます。

変数ごとに 1 行で、解の値、境界、変数タイプ、目的関数の係数、利用可能な場合は被約費用が含まれます。

制約ごとに 1 行で、活動量、境界、スラック、利用可能な場合は双対値が含まれます。

ソルバーのステータス、目的関数値、実行時間、MIP ギャップ、MIP 双対境界、ノード数、反復回数、変数の数、制約の数を含む 1 行です。

最適解が得られた場合、ステップは正常に完了します。ソルバーが最適ではないステータスで使用可能な解を返した場合、ステップは警告とともに終了し、出力テーブルは引き続き書き込まれます。使用可能な解がない場合、ステップはソルバーのステータスメッセージとともに失敗します。