問題タブ [convex-optimization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
convex-optimization - 効率的なフリー/オープンソースの SOCP (2 次コーン プログラミング) ソルバー
評価速度に関して、2 次円錐計画法のソルバーの推奨 (または比較) を探しています。ソルバーは、非営利目的またはオープン ソースの場合は無料である必要があります。
私は環境に関してかなりオープンです。スタンドアロン ソリューション、ライブラリ、Matlab、Python、R などはすべて受け入れられます。
私の問題には、計算を高速化するために優れたソルバーが利用できると思われる制約にかなりのスパース性があります。
r - R の最適関数から詳細を取得する
私は optim 関数にあまり詳しくないので、その結果からこれらの情報を取得したかったのです: a) 結果を達成するために何回の反復が必要でしたか? b) 一連の部分解、つまり各反復の最後に得られる解をプロットします。
今までの私のコードは次のようになります。
詳細情報を取得するにはどうすれば改善できますか?
前もって感謝します
svm - LIBSVM : 多変数最適化
LIBSVM は、最適化する 2 つの変数を使用して最適化問題の定式化を解くことができますか?
LIBSVM ライブラリは標準定式化を解決しているようですが、その標準形式とは異なる他の凸最適化問題をどのように解決できますか ( http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf eqn 1) ?
function - 関数が強い凸関数であることを確認するにはどうすればよいですか?
私の教授は言った(私は誤解したかもしれない) もし私が関数を持っていて、二次導関数を取り、どういうわけか私が0を得るなら、それは強く凸ではない!
例 x^2
2 次導関数 = 2 であるため、強凸
例 x^4
二次導関数は 2*x^2 であるため、強く凸ではなく、x=0 の場合、方程式は 0 です。
では、1/2*x^2+x^4 はどうでしょうか??
二次導関数の後、1+12*x^2 が得られます。x=0 を設定すると 1 が得られます。x=0 を設定すると、0 ではありません。とにかく、この式は 0 になる可能性があります。凸が強い???
convex-optimization - 関数評価にアクセスしない勾配降下のステップ サイズ選択
勾配評価のみにアクセスでき、関数評価にはアクセスできない場合、勾配降下を行うためにステップ サイズを選択する方法はありますか?
最適化される関数が凸関数であることはわかっており、点 x が与えられた場合、f'(x) にはアクセスできますが、f(x) にはアクセスできません。この場合、勾配降下の固定ステップ サイズ ルール以外にできることはありますか?
computational-geometry - 2 つのポリゴン/ポリトープの最適な近似ペア
R^3 には交差が空の 2 つのポリトープ A と B があります。ポリトープは面によって定義されます。つまり、ハイパースペースの不等式のみが存在し、頂点は不明です。問題は、||ab|| となるような A の点 a と B の点 b を見つけることです。= d(A,B) -- A と B の間の距離。また、d>3 の R^2 または R^d についてこの問題を定式化できます。この問題に対するアプローチは何ですか。そして、この問題にはいくつかのアプリケーションがありますか?
python - CVXOPT 二次計画法インターフェース
提供されている CVXOPT 用の QP ソルバーは、次の形式の問題を解決します ( http://cvxopt.org/userguide/coneprog.html#quadratic-programmingを参照)。
これは問題なく動作しますが、問題の制約を両側の不等式で解決したい場合は少し厄介です。
2 番目の問題を最初の問題として再定義できます。次元の数を 2 倍にし、をそれ自体の上に積み重ねることを要求するnew_x
ことによってです。old_x
の適切な形式を見つけることで、上記の条件を強制できると思いますA
。h1
次に、とh2
不等式の両方を にエンコードして、スタックするようにnew_G * new_x <= new_h
設定し、対角線上に連続した s とそれに続く連続した sを持つ対角行列にします。new_h
h1
h2
new_G
n
1
n
-1
とにかく、上記は非常に不器用です。私の問題の次元が2倍になり、うまくいかないかもしれません。
CVXOPT の 2 番目の問題をより適切に表現する方法はありますか?
optimization - 凸QCQPの実用的なソルバー?
次のように凸QCQPを使用しています。
したがって、問題には、目的を除いて 1 つの二次制約しかなく、一部の変数は非負です。両方の二次形式の行列は恒等行列であるため、正定です。
二次制約を目的に移動できますが、問題が非凸になるように負の符号が必要です。
問題のサイズは、最大 10000 個の線形制約で、100 個の非負変数とほぼ同数の他の変数があります。
z_i をバイナリにすることができ、z'Iz=n を削除できるため、この問題は MIQP としても書き直すことができます。これまでのところ、MIQP のために AIMMS を介して CPLEX を使用してきましたが、この問題では非常に遅いです。CPLEX、MINOS、SNOPT、および CONOPT で問題の QCQP バージョンを使用することは、解決策を見つけることができないか、または解決策がアプリオリに知っている近似値に近くないため、絶望的です。
ここで、3 つの質問があります。
MIQPに行かずに、この形式の二次制約を取り除く方法/テクニックを知っていますか?
この QCQP の「良い」ソルバーはありますか? 良いとは、妥当な時間内に大域的最適解を効率的に見つけるソルバーを意味します。
SDP緩和を使用することで、この問題を解決できると思いますか? 私は実際に SDP の問題を解決したことがないので、SDP バージョンがどれほど効率的かはわかりません。何かアドバイス?
ありがとう。
python - CVXPY でのカーネル マッチングの追求
カーネル マッチングを追求するためのコードを書いています。その中で、凸最適化のために cvxpy を使用しました。次の目的を最小限に抑える必要があります。 arnumber=6815769 で、コードは次のとおりです。
しかし、コードが機能せず、次のエラーがスローされます。2 つの非定数を乗算できません。これは、'epirk' で 3 つの項を乗算する問題だと思います。しかし、これに関する解決策はありません。助けてください。