最適化ツール
最適化ツールは、行列、マニュアル、およびファイル入力モードを使用して線形計画 (LP)、混合整数線形計画 (MILP)、および二次計画 (QP) 最適化の問題を解決します。
このツールはRツールを使用します。 [オプション] > [予測ツールのダウンロード ] に進み、 Alteryxダウンロード/ライセンスポータル R とパッケージをインストールするには、 Rツール。
最適化とは何ですか?
最適化はサプライチェーン、輸送、金融サービス、小売、電気通信、エネルギーなど、多くの業界で幅広いアプリケーションに使用されています。 アプリケーション分野には、サプライチェーンの最適化、品揃えの最適化、ポートフォリオの最適化、労働力のスケジューリング、スポーツのスケジューリングなどがあります。
最適化問題は、通常、目的関数 (最初の式)、一連の制約 (2 番目の式)、および決定の型 (連続、整数、バイナリ)、および範囲の指定から成る、次の数学的な形式を持っています。変数 (3 番目の式)。 目標は基本的な制約、型、境界をすべて満たしながら、目的を最大化または最小化する決定変数の値を見つけることです。
入力を接続する
手動またはファイル入力モードでは、入力の必要はありません。 マトリクス入力モードでは、入力OとA が必要ですが、Bと Q はオプションです。
- Oアンカー: (行列入力モードに必須) この入力を使用して、デシジョン変数の名前、目的関数の係数、および必要に応じてその境界と型を指定します。
- 変数: (必須) 文字列、デシジョン変数名。 式の x に対応します。
- 係数: (必須) 目的関数の各決定変数の数、係数。 c に対応します。
- lb: (オプション) 決定変数の下限値。 デフォルト値は0です。
- ub: (オプション) デシジョン変数の上限値。 デフォルト値はInf(正の無限大)です。
- type: (省略可能) 文字、決定変数の型、C (連続)、B (バイナリ)、またはI (整数) を指定できます。 デフォルト値はCです。
- アンカー: (行列入力モードに必須) この入力を使用して、式の a に対応する制約行列を指定します。 マトリックスは、次の2つの異なる方法で編成できます。
- 密なマトリックス:
- 行の制約: 各行は制約に対応します。 最初のフィールドには、各行の制約名を示す [制約] という名前を付けることもできますが、残りのフィールド名は O で定義されたデシジョン変数に対応する必要があります。さらに、 これに B 入力をロールするフィールド dir と角形を含めることができます。
- 行の変数: 各行は変数に対応します。 最初のフィールドには変数という名前を付け、残りのフィールド名は制約名に対応する必要があります。 これは、上記の式の A 行列の転置に相当することに注意してください。
- 疎行列: 大きな拘束条件セットの場合は、A行列をスラム形式で 指定できます。 これは、3つの必須フィールドi、j、および v で構成され、 iとjはそれぞれ行と列のインデックスであり、vは matrix 要素の0以外の値です。 スパースマトリックモードでは、常に行の制約を前提とします。
- Bアンカー: (既に A に指定されていない場合は必須) この入力を使用して、制約の名前、方向、および右辺を指定します。
- 制約: (省略可能) 文字列、制約の名前。
- dir: 文字列、制約の不等式の方向。 それは > = でなければなりません。</= or ==.>
- 角形: b に対応する不等式の右辺の数値。
- Qアンカー: オプション。 この入力を使用して、2次計画の問題に対して、目的関数の二次部分を指定します。 これは、方程式の Qに対応しています。 密マトリックスまたは疎マトリックスとして指定できます。
- 密行列: フィールド名は O で定義されたデシジョン変数名に対応する必要があります。
- スパースマトリックス: フィールド名はi、j、および v で、 iと j はそれぞれ行と列のインデックスで、vは関連する matrix 要素の0以外の値です。
11.0 以降ではDesigner、フィールド名の柔軟性を高めるために、入力アンカー O オプションの表示フィールドマッピングを有効にすることができます。
制約式がx + 2y + x + y > = 1 の場合、入力 A に対するすべての正規入力は次の </bx>ようになります。
制約フィールドの場合:
制約 | x | y | z | |
---|---|---|---|---|
1 | c1 | 1 | 2 | 3 |
2 | c2 | 1 | 1 | 0 |
制約フィールドなし:
変数 | c1 | c2 | |
---|---|---|---|
1 | x | 1 | 1 |
2 | y | 2 | 1 |
3 | z | 3 | 0 |
dirと角形を含む:
x | y | z | dir | rhs | |
---|---|---|---|---|---|
1 | 1 | 2 | 3 | <= | 4 |
2 | 1 | 1 | 0 | >= | 1 |
入力 O と入力 A の変数の順序は同じである 必要があります。
入力 a の正規入力は次のとおりです。
変数 | c1 | c2 | |
---|---|---|---|
1 | x | 1 | 1 |
2 | y | 2 | 1 |
3 | z | 3 | 0 |
11.0 以降ではDesigner、"制約" または "変数" に他のフィールド名を使用でき、最適化ツールはどのフィールドに制約が含まれ、どのフィールドに変数が含まれているかをインテリジェントに推論します。 ただし、命名規則は依然として好まれ、推奨されます。
入力モード
マトリックスモードは、高密度または疎(スラム)マトリックスをサポートします。 マトリクス入力モードには入力 O と A が必要です。
問題の種類を選択:
- 線形プログラム: (デフォルト) (LP) 連続的な決定変数が付いている線形目的そして線形制約。
- 混合整数プログラム: (MILP) 線形の目的と連続した決定変数と共にバイナリまたは整数の決定変数を持つ線形制約。
- 2次プログラム: (QP) 連続する決定変数を持つ2次目標と線形制約。
ソルバーを選択:
- Glpk: (デフォルト) 線形プログラムおよび混合整数線形プログラムの場合
- 交響曲: 線形プログラムおよび混合整数プログラムのため。 通常、こちらの方がGlpk for MILPよりも優れています。
- Quadprog: 2 次プログラム用。
目的を最大化?: 目的の関数を最大化する場合は、このオプションを有効にします。 それ以外の場合、ツールは目的関数を最小化します。
入力アンカー A の拘束モードを選択: 詳細については、入力を参照してください。
- 密行列, 行の制約(デフォルト)
- 密行列、行の変数
- スパース (SLAM) 行列
入力アンカーのフィールドマッピングの表示 o: (オプション) 入力o 入力 テーブルのフィールド名には、予約語の変数、係数、lb、ub、またはtype が必要です。 別のフィールド名を使用する場合、またはフィールド名に先頭または末尾の空白が含まれる場合は、エラーが発生します。 このオプションを有効にすると、既存のフィールドを、対応する変数、係数、lb、ub、および type フィールドにマップして、余分なステップを使用 することなく、 選択ツール フィールド名を変更します。
このモードでは、目的と制約を直接指定できる相互作用的なインターフェースが提供されます。 感度解析は、線形計画問題に使用できます。
問題タイプを選択
- 線形プログラム: (LP) 連続的な決定変数が付いている線形目的そして線形制約。
- 混合整数プログラム: (MILP) 線形の目的と連続した決定変数と共にバイナリまたは整数の決定変数を持つ線形制約。
- 2次プログラム: (QP) 連続する決定変数を持つ2次目標と線形制約。
ソルバー: Glpk (線形プログラムおよび混合整数プログラムの場合)、交響曲(線形プログラムおよび混合整数プログラムの場合)、またはQuadprog (2 次プログラム の場合) を選択します。
目的を最大化?: 最大化の問題である場合は、このオプションを有効にします。
変数リスト: デシジョン変数名のコンマ区切りリストを指定します。
目的: 最大化または最小化する目的の関数を指定します。
制約: 制約を指定します。 制約内のすべての変数が、非等価/等価符号の左側にあることを確認します。 (たとえば、ソルバーは制約2x > = y + 4 では失敗しますが、制約2x-y > = 4 で は正常に実行されます。 両方の方程式は数学的には同等ですが、2番目の方程式は解法の要件を満たしています。
境界と型: 境界と型を指定します。
このモードは、業界標準のモデルファイル入力をサポートします。
ファイルの種類: CLPEX_LP、MathProg、またはMPS_Free を選択します。
ソルバー: Glpk (線形プログラムおよび混合整数プログラムの場合)、交響曲(線形プログラムおよび混合整数プログラムの場合)、またはQuadprog (2 次プログラム の場合) を選択します。
ファイルの選択: 最適化モデルファイルを指定します。
出力を見る
- 私はアンカー: この出力は、ソリューションの対話型のダッシュボードを提供します。
- Dアンカー: この出力は、3つのパイプで区切られたテーブル (概要、変数、および制約) で構成さ れます。 ワークフローのアップストリームで使用して、レポートやダッシュボードを作成できます。
- Sアンカー: これは、目的関数と決定変数の最適な値を持つ単一のテーブルで構成されている単純データ出力です。 バイナリ決定変数(0/1)のみで構成される問題の場合、このテーブルには1の値しか含まれません。