実変数の凸包上の凸の組み合わせの最大値


8

私は次の線形プログラムを持っています: ここで、X \で\ mathbb {R} ^ nは\ mathbf {1} ^ T X意味のエントリの和X、および知られており、明確に明確な正のエントリがあります。

MaximizeaTxSubject toxminxxmax1Tx=1
xRn1Txxa

LPソルバーを使用せずに上記を簡単に解決する方法を探しています。従うべき迅速な手順はありますか?(シンプレックス以外)。

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

回答:


5

最適なソリューションは次のとおりです。すべての変数をそれらの最小値に等しく設定します。次に、最大のから最小の順に、するまで、対応するをできるだけ大きく繰り返します。もしまたは問題は実行不可能です。これは、Geoffrey Irvingのアルゴリズムが出力するのと同じソリューションであると思います。aixiixi=1ixi,min>1ixi,max<1

これが機能する理由は、問題を0-1ナップザック問題のLP緩和に変換できるためです。

yi=xixi,minxi,maxxi,min.

で -variable空間、問題となる y

MaximizeiciyiSubject to0yi1, for each iibiyi=d,

ここで、、、および。元の問題が実行可能な場合は、です。さんと我々は0-1ナップザックのLP緩和を持っているのでさん、非負です。(式技術的には目的に表示されますが、定数なので、削除できます。)ci=ai(xi,maxxi,min)bi=(xi,maxxi,min)d=1ixi,mind0cibiiaixi,min

変数が比率で最大から最小に並べ替えられていると仮定すると、既知の最適解は貪欲なものです。可能な限り大きなa、を設定し、ます。このソリューションを変数問題空間に戻すと、先ほど説明したソリューションが得られます。cibi=aiy1=y2==yk=1kyk+1=di=1kbiyk+2==yn=0x

さらに、0-1ナップザックには、制約ではなく制約があります。スペースが残っているナップザックのすべてのアイテムを収めることができる場合、ため、元の変数の問題は実行不可能です。=xixi,max<1


7

貪欲なアルゴリズムが機能します。まず、制約を満たすいくつかのソリューションから始めます。次に、ない最大のでを繰り返し増加させ、ない最小のでを縮小し可能な限り。ペアの動作がそれ以上不可能になったときに停止します。これは、残りをソートためにと時間を必要とします。xiaixmaxxjajxminO(nlogn)aO(n)

アルゴリズムの完了は、セットが存在することになる場合のスタックにおける(大有するもの)の、セットのスタックにおける(小有するもの)とAT最大1つのと及び。または増加に起因するゲインは、または減少に起因する損失によって相殺されるよりも大きいため、このような位置から始まるへの差分変化は目標を増加させることはできません。xixmaxaixjxminajxkxmin<xk<xmaxai>ak>ajxxjxkxixk


これをより正確にしてください。あなたの現在のメソッドは、文字通りに取られた場合、 2つのコンポーネントのみを変更するため、正しくありません。また、最終的な結果が最適である理由を議論するのもよいでしょう。x
Arnold Neumaier

お返事ありがとうございます。アプローチは面白そうですが、私は@ArnoldNeumaierからの議論を提供するよう要請しました。
Mohammad Fawaz

イテレーションごとに2つのコンポーネントを変更するため、文字どおりに解釈した場合に正しくないという意味がわかりません。簡単な説明を追加します。
Geoffrey Irving

さて、最大の持つは各反復で同じです。したがって、同じ2つのコンポーネントを繰り返し変更しようとします。索引ラベル明らかに2つの段落で異なることを意味しているため、新しいバージョンは不愉快です。 i i jxiiij
Arnold Neumaier

ああ、あなたは各反復でほぼ同じです。今すぐ修正する必要があります。
Geoffrey Irving
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.