0 / 0
資料の 英語版 に戻る
インポートされたデータの参照とモデルでの解の出力の定義
最終更新: 2024年8月06日
Decision Optimization エクスペリメントでのモデル内のインポートされたデータの参照

Python DOcplex モデルまたは OPL モデルの場合、以下の構文を使用して、インポートされたデータを参照できます。

Python モデル

Python DOcplex モデルの場合、 エクスペリメント UI「データの準備」 ビュー でインポートしたデータには、入力辞書からアクセスできます。 インポートしたデータにアクセスするには、構文 inputs['tablename']を使用して各表を定義する必要があります。 例えば、次のコード行では、food は diet_foodという表から定義されたエンティティーです。
food = inputs['diet_food']
同様に、 エクスペリメント UI「ソリューションの探索」 ビュー に表を表示するには、構文 outputs['tablename']を使用してそれらを指定する必要があります。 例:
outputs['solution'] = solution_df
solutionという出力テーブルを定義します。 Python モデルのエンティティー solution_df がこのテーブルを定義します。

この国会の例は、 DO-samplesModel_Builder フォルダーにあります。 実験UIでインポートして実行(解く)するには、Decision Optimizationモデルの解と分析:ダイエット問題を参照してください。

OPL モデル

OPLモデルでは、tuplesetインポートした各テーブルについて、データを準備するビューそして同じ名前です。 各タプルセットのスキーマには、テーブルと同じ数の列があり、同じフィールド名を使用する必要があります。 例えば、 「Prepare data」 ビュー に、属性 name, demand, insideCost, および outsideCostを持つ Product という入力表がある場合、OPL モデルには以下の定義が含まれている必要があります。
tuple TProduct {
   key string name;
   float demand;
   float insideCost;
   float outsideCost;
 };

{TProduct}     Product = ...;

OPL入力としてタプルとタプルセットのみを使用するという制限は、データソースとの統合を容易にするためです。 例えば、SQLデータ・ソースにアクセスして、最小限の労力でデータ・ストリームすることができます。NoSQLデータ・ソースにアクセスして、データを自動的にテーブルに変換することができます。 必要であれば、最適化モデル開発者は、最適化中に他のデータ構造にデータを取り込むためにデータを再設計できますが、この操作が入力データまたは出力データに影響しないようにしてください。

同様に、ソリューションを探すビューを定義する必要がありますtuplesetOPL モデルのこの出力テーブル用です。 例えば、以下のコードは、解に 3 つの列を持つ出力表を生成します。
/// solution
 tuple TPlannedProduction {
   key string productId;
   float insideProduction;
   float outsideProduction;
 }

{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};

DO-samplesModel_Builderフォルダに、パスタ製造問題のOPLモデル例があります。 すべてのサンプルをダウンロードして解凍できます。 該当する製品およびバージョンのサブフォルダーを選択します。

詳細情報

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細