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