利用可能な導関数なしの2つの関数の同時最大化


8

2つの変数がkありt、他の2つの変数の関数としてp1とがありp2ます。私はそれらの最大値も知っています。このための分析式はありません。私はの値見つけたいkt彼らの最大値に最も近いです。

k = f1(p1, p2)and を最適化する方法はありt = f2(p1, p2)ますか?

k0 * t0や四角形の積、k0^2 * t0^2または他の2つの関係を調べてみることができます。

これは効率的ですか?

ありがとうございました。


1
あなたが探しているものについてもう少し具体的に教えてください。あなたが見つけたいと思うp1p2、そのようなことをkし、tその最大値(密接に可能な限り)達成?私は、あなたが与えられた、という機能を持っていると仮定しないp1p2、の値を返すkt、しかし、の誘導体には何の情報ktに関してp1p2
クリスチャンクラソン2012

@ChristianClasonはい、あなたはそれを正しく理解しています。派生物を入手することはできません、そして一般的に利用可能な分析はありません。

そして、あなたは最大値kと最大値がt同じ場所で(あなたが見つけようとしている)達成されるかどうかを知っていますか、それともトレードオフを探していますか?
クリスチャンクラソン2012

@ChristianClason私は(そして確かに)最大値が同じポイントにないと仮定します。私はトレードオフを探しています。しかし、どのように言うことができない-おそらく製品または値の合計を比較できる...

回答:


14

ここには2つの問題があります。

  1. 最適化問題には2つの競合する目的があります。最大化k=f1p1p2と最大化t=f2p1p2です。これは多目的(または複数基準)最適化と呼ばれ、そのような問題には無限の数の解があり、それぞれが目的の相対的な重みの特定の選択に基づいています(つまり、f1f 2よりも最大値に近いf2?)。両方に同じ重要度がある場合は、関数

    Fp1p2=f1p1p2K2+f2p1p2T2
    最小化できます。 T 2 ここでKTktの既知の最大値t、それぞれ。そうでない場合は、各用語の前に対応する重みを追加します。(最大値は知られていなかった場合は、代わりに最小化したいf12f22。)

  2. F最小値を見つけるには、指定された点p 1p 2)でのみF関数値を使用できます。これは、導関数なしの最適化として知られています。たとえば、Conn、Scheinberg、VicenteによるDerivative-Free Optimizationの紹介、またはNumerical Optimizationの第9章を参照してください。これらのほとんどは、補間関数の有限差分または導関数に基づく近似導関数を使用します。以来Fは、 2つの変数のみの関数であり、完全なヘッセ行列の有限差分近似を構築することはあまりにも高価(または不安定)ではありません。アイデアは以下の通りである:ポイント与えられたPp1p2Fpk=p1kp2k、ローカル二次モデル

    メートルkpk+d=Fpk+gkTd+12dTHkd
    その最小化dkを計算し、pk+1=pk+dkます。ここで、小さいため(小さすぎではないが、下記を参照)ε>0
    gk=g1g2Tg=Fpk+εeFpkεe2ε
    e1=10Te2=01T、おおよその勾配であり
    Hk=h11h12h21h22hj=Fpk+εe+εejFpk+εeFpk+εej+Fpkε2
    はヘッセ行列のテイラー近似です。これには、反復ごとに5つの追加ポイントでFを評価する必要があります。

    有限差分近似における重要な問題は、εの選択です。それが大きすぎると、導関数の近似が悪くなります。これが小さすぎると、キャンセルの危険性に遭遇し、数値が不安定になります。親指の良いルールは取ることであるε=あなた1/ここで、あなた(約単位丸め誤差である1016倍精度の場合)。

    実際には、これを信頼領域戦略と組み合わせる必要があります。この場合、反復中に半径が適応するボールの内側にdkが必要になります(上記の本を参照)。

    Luis Miguel RiosとNikolaos V. Sahinidisによるペーパー「デリバティブなしの最適化:アルゴリズムのレビューとソフトウェア実装の比較」に付属するこのWebページには、アルゴリズムと実装の比較が掲載されています。


すばらしい答えをありがとう!テーマは私にはかなり複雑ですが、それは本当に役に立ちます。申し訳ありませんが、私の評判は低すぎます。回答に投票できません。


2
eps

@ArnoldNeumaier:いいですね。この問題についていくつかコメントを追加しました。
クリスチャンクラソン2012

1
@ChristianClason h_ijの第2項はF(p ^ k + \ epsilon * e_i)である必要があると思います。
スージー

2

k+atakta

実際の最適化に関しては、関数の分析式がないことは世界の終わりではありませんが情報がないことは大雑把になります。ある程度の滑らかさ/連続性を想定できる場合は、それがピースワイズである場合でも、微分近似で根探索アルゴリズムを使用して極大値を見つけることができます(これよりもはるかに洗練された方法がありますが、私は慣れていませんここにいる他の人々はおそらくあなたを正しい方向に向けることができます)。凸性を確立できれば、それを全体的な最適性に拡張できます。

真のブラックボックスの多目的最適化は、簡単な問題ではありませんが、いくつかの仮定と客観的な削減を伴う反復プロセスによって、許容できる答えが得られます(1つが存在すると想定)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.