2

(フォーマットについて申し訳ありません、私は最善を尽くします)私は解決したい:

x = argmin_x (Ax - p)'(Ax - p)
s.t. x >= b

ここAで、 はNxH論理行列 (およそ半分がゼロ、半分が 1)、bはすべてのエントリが同じである定数ベクトルです Hx1(たとえば、は確率の定数ベクトルなので、すべてのエントリは にあります。最適は分布でもあるため、すべて実際には は非常に大きく (例: ) 、比較的小さい (例: ) であることに注意してください。b = (0.1,0.1,0.1,...)pNx1[0,1]x[0,1]H2 millionN150

現在、これを解決するために CVX を使用しています。明示的に、私のコードは次のとおりです。

b= 0.1.*ones(H,1)/H;
cvx_begin quiet
    variable x(H)
    minimize( norm((A*x-p),2)) 
    subject to
       x >= b;
cvx_end

これにより、正しい結果が得られます。ただし、Hが大きいとかなり遅くなります。私の最適化プログラムの構造 (論理 A、定数制約、制約がなければ分析解がある問題など) を考えると、これにアプローチするより良い方法はありますか? ここで CVX をお勧めしますか?

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

4

0 に答える 0