問題タブ [cvxopt]

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.

0 投票する
2 に答える
200 参照

java - いくつかの既知の値で最小疎線形を解くのを助ける必要がある

以下に説明する問題があります

ここに画像の説明を入力

x1'、x2'、x3'、x4'、x5' の値を見つける必要があります。

(x1-x1')^2+(x2-x2')^2+(x3-x3')^2+(x4-x4')^2+(x5-x5')^2 = 最小値

x1' + x2' + x3' + x4' + x5' = 1

x1 + x2 + x3 + x4 + x5 = 1

注:a、b、c、d、e、x1、x2、x3、x4、x5の値はわかっています

この場合、誰かが私を助けてくれますか?

google/or-toolsライブラリを試しましたが、条件を追加して最小値を見つけることができません。

0 投票する
0 に答える
163 参照

python - CVXOPT 要件は無視されました

cvxopt で 2 次問題を解こうとしているのですが、要件の 1 つが無視されているようです

この一連の方程式を解きたい:

これはコードです:

しかし、次のような結果が得られます。

したがって、x <= 20 の要件は満たされていません。原因は何ですか?

0 投票する
1 に答える
494 参照

python - Python でこの凸最適化を解決するパッケージを選択するにはどうすればよいですか?

私の問題は以下のように定義されています。

minΣ(||xi-Xci||^2+ λ||ci||),

stcii = 0、

ここで、X は形状 d * n の行列であり、C は形状 n * n です。xi と ci は、X と C の列を個別に意味します。

X はここで既知であり、X に基づいて C を見つけたいと考えています。

現在、いくつかのオプションがあります。すでに tensorflow にバージョンがあり、AdamOptimizer. この問題をより効率的に解決できる方法はありますか? この問題をよりよく解決しますcvxpyか?cvxopt

テンソルフロー以外のこれらのメソッドのいずれかの実装を教えていただければ幸いです。

0 投票する
1 に答える
449 参照

python - 「病的」凸関数の高速最適化

解を高速化しようとしている単純な凸の問題があります。の argmin ( theta ) を解いています

式

ここで、thetartNx1です。

これを簡単に解決できますcvxpy

しかし、Rこれが大きくなると遅くなりすぎるので、scipy'sを使用してグラデーションベースの方法を試していますfmin_cg:

goalfunscipy.minimize関数値と勾配を返す使いやすい関数です。

関数と勾配が正しいことを確認します。

methodしかし、これを解決すると、 、反復などに関係なく、ガベージが生成されるだけです (生成されるのOptimization terminated successfully は、が実質的に最適なthetax0に等しい場合のみです) 。

つまり、この一見無害に見える問題cvxpyは簡単に処理できますが、非凸ソルバーにとっては完全に病的であることが判明します。この問題は本当に厄介ですか、それとも何か不足していますか? これをスピードアップするための代替手段は何ですか?

0 投票する
1 に答える
198 参照

python - scipy.sparse() スパース行列を CVXOPT にフィードする

[私はここで答えに従っています]

CVXOPT でスパース マトリックスをフィードしようとしています。次の最小限の例を考えてみましょう。

私は得る:

これはバグですか、それとも (おそらく)この回答を誤解していますか?

0 投票する
0 に答える
543 参照

python - Python での CVXOPT GLPK バインディング

Mac OS X El Capitan を使用しています。Anacondabrew install GLPK 経由でPythonをインストールしました。CVXOPT の GLPK バインディングが必要なので、 経由ではなく手動でインストールしていcondo installます。ここでインストーラーを入手しました: http://cvxopt.org/download/index.htmlインストーラー を入手したら、このページの指示に従いました: http://lecueguillaume.github.io/2016/02/27/cvxopt -glpk-basis-pursuit/ setup.py ファイルを変更します。いくつかの追加変更を加えました。最初に、環境変数をコメントアウトして、ファイルに入力した変数の代わりに環境変数が選択される可能性を排除しました。

次に、これらの変数を設定します。

  • glpk モジュールをインストールする場合は 1 に設定します。
    BUILD_GLPK = 1
  • ディレクトリを含むlibglpk( の場合のみ使用BUILD_GLPK = 1)。 GLPK_LIB_DIR = '/usr/local/Cellar/glpk/4.57/lib'
  • ディレクトリを含むglpk.h( の場合のみ使用BUILD_GLPK = 1)。 GLPK_INC_DIR = '/usr/local/Cellar/glpk/4.57/include'

私のbrewインストールでは、チュートリアルのものではなくgulp 4.57が提供されたので、上記のバージョン番号を変更しました。

最後に、実行されていることを確認するために、これを追加しました:

if BUILD_GLPKすでにありました。印刷行を追加しました。

それから私は先に進んで走りましpython setup.py install

それでも、Pythonで実行すると:

いくつかの異なる方法でアンインストールと再インストールを試みました。これは最も有望に思えましたが、まだ運がありません。何かアドバイス?