線形計画の中点解


9

単に解決策ではなく、最小値を想定するポリトープの面で可能な限り中心的な解決策が必要な線形プログラムがあります。

先験的に、最小化されている目的関数が多くの制約の最大値であることを含む、さまざまな理由から、最小化面は高次元である必要があります。

すべてのと、線形およびでを条件として最小化します。F Iˉ Xε < 0 F I X 、I > 0 I Σ I X 、I = 1ϵfi(x¯)ϵ<0fixi>0iixi=1

もちろん、シンプレックスアルゴリズムから中心性のようなプロパティを取得することはありません。しかし、通常の内点アルゴリズムのいずれかがそのような特性を示しますか?可能な限り頂点や低次元の面を回避することさえ保証しますか?


実際、中心性は最小性よりも重要であるため、ポリトープ全体の中点を見つける簡単な2次プログラムで満足していると思います。他の線形プログラミングアルゴリズムが関連するプロパティを提供しているかどうかは漠然と知りたいだけです。

更新:私は根本的な問題をラグランジュ乗数で解決可能な単純な制約付き最小化問題に減らしましたが、上記の質問はとにかく興味深いままです。


2
正確にはあなたの質問ではありませんが、重心の計算は#P困難です。何が最適な近似かわからないが、一部のアプリケーションでは、ポリトープを等方性の位置に配置し、(変換された)ポリトープから多項式で多数の均一サンプルの平均をとるだけで十分です。これらのメモを参照してください。例は、Lemma 15です。例:cc.gatech.edu/~vempala/acg/notes.pdf
Sasho Nikolov

これはより理論的な質問ですか、それとも実際的な質問ですか?おそらく、最適な面のすべての頂点を生成してから、それらの適切な凸の組み合わせを使用することは現実的です。
匿名の

回答:


4

コメントには長すぎる観察がいくつかあります。ここに要約があります。

  1. 問題を正確に解くための任意のアルゴリズムを使用して、線形プログラムを正確に解くことができます(つまり、サリエルの解法で使用されている「強力な線形計画法」で、現在多項式時間アルゴリズムはありません)。

  2. 自然なフォローアップは、近似解(つまり、「弱い線形計画法」)が解決策を提供できるかどうかです。答えは「はい」ですが、この手順の停止条件には、私の知る限りでは多項式時間で計算できない量が必要なようです。(つまり、アルゴリズムは良いものを見つけますが、これを証明することは困難です。)ここでの私の主な提案は、問題に対する「 -optimal solution」の意味のある定義を作成することです。この場合、このアプローチは扱いやすいです。(この戦略は、多面体の小さな面を効果的に捨てます。)ϵ

一般的に、あなたの現在の問題の発言について考えている間、私は効率性の検討に遭遇し続けました。しかし、これには合理的な直感があります。私たちが投げているオブジェクト(頂点、面など)は離散的で、指数関数的に豊富です。

(1.) 問題を正確に解決するアルゴリズムがあるとします。指定された中点を含む任意の面の露出点は、元の線形プログラムの正確なソリューションになることに注意してください。したがって、次のように進んでください。元の目的値が最適な値(これがわかっている)と等しくなければならないという新しい線形制約を追加し、解の最初の座標を最大化するように新しい目的を設定します。寸法を追加するたびにこの手順を繰り返し、毎回、拘束を追加して最大化する新しい座標を選択します。このプロセスにより、ソリューションの次元が毎回減少します。必然的に、プロセスが完了すると、1点を意味する0次元のアフィンセットが得られます。したがって、O(d)中点解法アルゴリズムの反復(および問題の記述を量の多項式によって毎回増やすだけ)、強力な線形計画法が解決されます。これは、Sarielのソリューションには強力な線形計画法が必要ですが、質問に対する正確なソリューションではそれを回避できないことを示しています。(編集:私の証明では、入力としてコンパクトな多面体(多面体)を想定していることに注意してください。それ以外の場合は、頂点を見つけるのが少し難しくなります。)d

(2.)次の反復スキームは、反復ごとに本格的な凸型ソルバーを使用しており、その解は中点解の穏やかな概念に収束します。正であるが減少するペナルティパラメータのシーケンスを選択します ; これらを幾何学的に下げるのは合理的です。つまり、です。ここで、各について、凸関数をほぼ最小化します。{λi}i=10λi=2ii

c,xλij=1mln(aj,xb),

ここで、は元の目的であり、は元の制約を超えており、対数バリアを介して目的に配置されています(これは標準です)。多面体の(最大寸法の)最小化面について考えると、十分に小さいと凸オプトボックスの許容誤差場合、おおよその最適値はこの面に近くなりますが、バリアによって他の制約から可能な限り離してください。として別の言い方をするとc,xjmλiτλi減少すると、元の線形目標は最終的に適切な顔からあなたを遠ざけていたいくつかの気難しい障壁を支配しますが、他の境界、特にターゲット顔の境界からあなたを遠ざける障壁には影響しません。

完璧な世界では、座って分析的に完璧な値、または少なくとも停止時間を決定するので、無限に多くの問題を解決する必要はありません。残念ながら、これは難しいようです。1つのアイデアは、たとえば、0より大きい寸法を持つ面の最小幅を決定することです。これは明確に定義された最小化問題であり、正の最適値があります。これは、有限数の面があるためです(幅はそれぞれに対して計算されます)。これにより、十分に小さく設定して、すべての顔の中心内でバリアの影響を小さくすることができます。残念ながら、指数関数的に多くの面が存在する可能性があるため、この量を計算することはナンセンスです。λλ

私が思いつく可能性のあるすべての停止条件には、この種の計算上の困難がありました。(さらに、多くを使用して、これを強力な線形計画法ソルバーに変えることができます。)

このため、私の推奨は、「 -closeoptim midpoint」の概念を構築し、と凸オプトブラックボックスの許容誤差適切に選択することで解決することです。最大の幅が最大で面は本当に気にしないので、これは妥当な選択だと思います。ϵλτϵ

(いくつかの最後のコメント。)「中間点」の概念は重要なようです。佐翔のコメントは、重心(重心?)は非常に難しい問題であると指摘していますが、たとえば、最大の内接ボールを見つけるのは簡単です。上記で提案した対数障壁は、一般に、これらの中点概念のいずれとも一致しません。一方、バリアとボールについては、重心から面の相対境界までの距離に下限を導出できます。多分これはあなたにとってより便利ですか?

最後に、あなたの説明から、あなたは「ターゲットの顔」ができるだけ高い次元を持つことを意味していたと思いますか?これは明確に定義されていますが、考えられるすべての小さい寸法にも解面があります。とにかく、上記のSarielのアプローチとバリアアプローチはどちらも最大の次元の面で機能します。


はい、私はこのようなトリックを検討しましたが、ラグランジュ乗数を使用してを条件としてを最小化することに最終的に。これは、対角線上の弱い中心性プロパティを生成します。これは最小化表面ではない可能性がありますが、決して移動しない拘束表面の1つです。制約が進化しなくなったら、別の線形プログラムを実行するだけで、実際には実際の最小値が必要になります。制約をより速く発展させるために、最終的に最小化する必要はありませんでした。ありがとう!:)j x j = 1 x ϵ ϵifi(x)2+jxj2jxj=1xϵϵ
Jeff Burdges 2012年

ああ#2は面白そうで、当初思っていたものではありません。可愛い!先に述べたように、が最小化面に着陸しないことを許します。いつかこれで遊んでみます。実際、目的を線形ではなく双線形にする理由を見つけたので、とにかく凸最適化について読む必要があります。x
Jeff Burdges、2012年

「強力な線形計画法」の要点がわかりませんし、この表現を聞いたことがありません。強力な多項式時間でLPを解く方法は不明です。しかし、入力記述のLPを時間多項式(つまり、弱い多項式時間)で解くことは、もちろんよく知られています。OPが弱い多項式時間で実行されるアルゴリズムを必要とする場合、Sarielの解+ポリ時間内点アルゴリズムが機能します。
Sasho Nikolov

@SashoNikolov、これが私の現在の理解です。既存の(弱いポリタイム)ソルバーは、許容誤差を入力として取り、最適解を返します。一方、Sarielの解は厳密な解に大きく依存します。特に、内点法は比較的内部の近似最適値を返します。つまり、目的の最適な面のアフィン包を識別するステップは、実際に実行可能な全体の包を選択します。セットする。私が強い/弱いについて書いたことを改訂する必要があることに同意します。重要な問題は、実際には正確な解決策を何らかの方法で得ることです。τττ
matus 2012年

@SashoNikolov、私がそれについて考えた今、同じ最適性の概念(同じ問題)をサリエルのソリューションに取り入れることができます。たとえば、実際にはタイトになるようにある小さな許容差内の制約を扱い、この値を適切に調整することによって。今夜、解決策を更新します。
matus 2012年

6

最初に最適な解を見つけ、次に解が必要な最適値に等しい値を持つ必要があるという線形制約を追加し、LPを実行可能領域内で最大のボールを探すものとして再記述します。この修正されたLPを解決すれば、必要なものが手に入ります。

LPを使用して2番目の問題を解決できるのは、なぜ計算幾何学の標準的なかわいい問題なのか...

==============

より正式には、最適解を含む実行可能点にまたがるアフィン部分空間を見つけます。したがって、最適解が超平面にあると仮定します(つまり、は元のLPターゲット関数でした)。が元のLPの実行可能領域である場合、で最大のボールを探します。このためには、このセットを含む最小の次元のアフィン部分空間を計算する必要があります。このサブスペースを見つけたら、このアフィンサブスペースのみを考慮するように変数を変更します。これで、ポリトープは完全な次元になり、上記のように2番目のLPを使用できます。hcx=αmincxPPh

したがって、最初のLPによって計算された頂点とします。隣接するすべての頂点を考慮します。のアフィン部分空間を、同じターゲット値(つまり)を持つそのすべての近傍と一緒に考えます。このアフィン部分空間が目的の部分空間であることを確認するのは難しくありません。vvvα

したがって、要約すると:(A)LPを解いて最適な値を見つけます。(B)最適な値を持つ実行可能な解を含む最小の次元の部分空間を計算します。(C)このアフィンsubpsaceで元のLPを書き換え(つまり、すべての無関係な次元を削除する)、変数を追加し、それをLPに変換して、このポリトープ内の最大のボールを見つけます。


完全な次元ではない多面体の「最大のボール」とはどういう意味ですか?
Kristoffer Arnsfelt Hansen 2012

@KristofferArnsfeltHansen多面体は確かに、ある次元のアフィン部分空間にある凸集合です。
Sasho Nikolov 2012

これが機能するためには、最初のステップで見つけた面に制限する制約を指定する必要があります。また、解はこの面全体で一定であったことを知っておく必要があります(おそらく補完的な緩みがこれを明らかにするでしょう)
Suresh Venkat

多項式時間で初期最適化後の手順を実行する方法はありますか?書かれているように、ターゲット面のすべての頂点を考慮する必要があるようですが、その中には指数関数的に多く存在する可能性があります。
matus 2012年

1
それよりも簡単です-最適な頂点に隣接する頂点のみを考慮する必要があります-隣接する頂点は最大であり、多項式時間でそれらを計算できます....その真の理由を確認するには、アフィン部分空間-これは、このアフィン部分空間上にあるの近傍によってスパンされますが、これらは元のポリトープのvに隣接する頂点のサブセットです。そして、はい-それを見るのにかなりの時間がかかりました。dv
Sariel Har-Peled 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.