2011-02-04 16 views
4

の最大を探す:私は関数の最大値を見つける必要がある機能

A1 ^×1 *のCONST1 + A2 ^×2 *のCONST2 + .... + AK^XK * constk =いちばん

ここでxk> 0であり、xkは整数である。 akは一定である。

制約: A1 ^×1 * CONST1の* funcを(X1)+ A2^X2 * CONST2の* funcを(×2)+ ... + AK^XK * constkの* funcを(XK)<予算

ここで、funcは離散関数である:

kは大きくてもよい(1000以上)。 xは100未満です。 最も良い方法は何ですか?

+0

あなたは1000以上の変数の関数を持っていますか...? –

+0

うん、数千変数... – Neir0

+0

これは変装でナップザック問題はありませんか? – 9000

答えて

2

は(私はGSLの実装を信じて)ネルダー・ミードの最適化などの手法がありますが、ほとんどの技術は、特殊な構造(すなわち、凸部または継続)のいくつかの並べ替えを前提としています。機能の値によっては、正常な下り坂方法を見つけることができるというユニークでも、最適なまたは最適なが存在しない場合があります。

+0

は、あなたが「正常な下り坂方法は** **最適な見つけることができないこと」を意味するかです –

関連する問題