50個の変数を持つ関数の戻り値を最大にしたい。多くのパラメータに対してscipy最適化ライブラリを使用する
def function_to_maximize:
return (7.9*a1 + 8.1*a2 + 0.4*a3 + ........ + 2.6*a50)
私の変数が0 < = < = 10であり、私の変数の和は
100は、残念ながら私は、タスクのこの種に精通していないよです。グーグルでは、私はこのdocumantationを使って仕事を終わらせることができることを知りましたが、ライブラリの使い方を理解できませんでした。
サンプルコードに簡単なコメントを入力して、適用する必要がある手順を教えてください。
いくつかの変数で試しましたか?ハードルは何でしたか? – Benjamin
@ベンジャミンまず第一に私は最大化をしたいが、ドキュメンテーションは最小化について語っている。最大値を見つけるには、トリックが必要です。また、ヘッダー、アルゴリズムがたくさんあります。私はどちらが正しいかわからない。関数を最小限に抑えるには、それらは異なる実装ですか? – anilca
はい、それらは異なるアルゴリズムです。サポート制約によってはサポートされていないものがあります。一般的な最小化関数をとると、scipyは自動的に1を選択します。ドキュメントと例を確認してください。あなたの問題は簡単です。 max(7 * a1 + 8 * a2)== min(-7 * a1 -8 * a2)を覚えておいてください。 **編集:**ここでの最善のアプローチは、リニアプログラミング(一般的に最良のソルバーで最も制限されたアプローチです)を使用することです。 scipyにはlinprogがありますが、それは悪いです。しかし、それを試してみてください! – sascha