私は次のような関数を持っています:f(x) = min(f_1(x_1), ..., f_n(x_n))
ここでn
は約 10 で、すべてf_i
が正の単調で滑らかであり、それらの値はほとんどの場合 (すべてx_i
の場合f_i
) は 10 倍未満の差です。そのため、分析にはかなり適しているようです。
そのような制約を持ってそれを最大化するための最良の(高速な?)方法は何ですか:
-すべてx_i
整数であり、〜100未満です-すべて
の積はx_i
指定された値の近くにある必要があります(それから10%以内であると仮定します)
任意の言語でのアルゴリズムの説明は歓迎されますが、Python である場合は 10 倍優れています :)
PS:以前、私は遺伝的アルゴリズムを扱ったことがあり、最初にこのタスクに適用しました。しかし、それは最良の選択ではないようです。GA は非常に遅く、また、この問題に対する効率的なクロスオーバー操作を思いつきませんでした。