凸性を除外するためにインテリジェントにどのように試みるか?


9

複雑な目的関数を最小化したいのですが、凸かどうかわかりません。それが凸でないことを証明しようとする素晴らしいアルゴリズムはありますか?もちろん、アルゴリズムはこれを証明できない可能性があります。その場合、凸かどうかはわかりませんが、これは問題ありません。たとえば、凸であることが知られている標準形式で問題を書き直そうとするなど、目的関数が凸であるかどうかを分析的に判断しようとする多くの時間を費やす前に、凸を除外したいと思います。簡単なテストの1つは、さまざまな開始点から最小化しようとすることです。この方法で複数の極小値が見つかった場合、凸型ではありません。しかし、私はこの目標を念頭に置いて設計されたより良いアルゴリズムがあるかどうか疑問に思っていました。


目的関数はスムーズですか?一次元ですか?2次導関数(またはヘッセ行列)の評価は高価ですか?可能であれば、式を確認するか、少なくとも「複雑」である理由についてより良い見方をしたいと思います。
hardmath 2012

回答:


10

fαバツ+1αyαfバツ+1αfyα01バツyバツyαα={1/41/2/4}


6

実際に役立つ多数の凸性/非凸性検証テストについては、(自己免責事項、私がこの論文の3人目の著者です)を参照してください。

R. Fourer、C。Maheshwari、A。Neumaier、D。Orban、およびH. Schichl、計算グラフでの凸面および凹面の検出。凸面評価のためのツリーウォーク、INFORMS J. Computing 22(2010)、26-43。

関心のある領域で凸状であるが、簡単に「統制」できない、つまりCVXなどの構造化された凸状ソルバーが必要とする形式の1つで書かれた多くの関数があることに注意してください。


これはDrAmpl、Arnoldの進化ですか?
Michael Grant

1
@MichaelGrant:はい、それはAMPL博士の資料の公式出版物です。
Arnold Neumaier 14

2

関数は、複数の最小値を持たずに非凸型にすることができます。(線形または非線形)共役勾配反復法を適用するさまざまな最適化方法があり、負の演算子ノルムが計算されるときに切り捨てられます。負の値は、負の曲率の方向を示します(凸関数では起こり得ません)。負の曲率がほとんど発生しない場合、これらの方法は少数の最適化反復に収束します。(品質の前処理が利用可能な場合、内部ステップもすばやく収束するはずです。)


2
明確にするために、ジェッドが「負である」と言ったときに言及しているのは、関数の2次導関数の行列が負の固有値を持っているということです。
Wolfgang Bangerth 2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.