問題タブ [pymoo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PuLP から pymoo への最適化の変換
pymoo で多目的最適化問題を実装しようとしています。現在、それはパルプにおける単一目的の最適化問題です。
問題は、次の制約に従ってスコアの合計を最大化することです。
- 100 項目の組み合わせを取得 (決定変数の合計 == 100)
- 項目は 40 を超える組み合わせで表示することはできません (各項目について、項目の合計 * 決定変数 <= 40)
Pymoo のドキュメントに従って、ベクトル化された評価を使用しようとしています。スコア配列に加えて、0 と 1 の間の float で構成される多様性配列もあります。両方の値を最大化するためのパレート フロントを特定したいと考えています。
この問題をどのように設定するかは、ドキュメントから明らかではありませんか? n_var は項目の行数に等しいと仮定しています。n_obj は 2 になります。制約の数を事前に計算する必要がありますか (ここでは 1 + 項目の列数になります)、それとも 2 だけですか? 決定変数はバイナリなので、xl=0 と xu=1 でしょうか?
評価については、目的関数の計算方法を理解しています。ただし、制約の計算には暗黙の <= 0 があるようで、100 個のアイテムの組み合わせの個々のアイテムの合計が <= 40 でなければならないことをどのように指定するかは不明です。
ご提案いただきありがとうございます。私は経験豊富な python プログラマーですが、最適化ライブラリの経験は限られています。