問題タブ [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.
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ライブラリを試しましたが、条件を追加して最小値を見つけることができません。
python - CVXOPT 要件は無視されました
cvxopt で 2 次問題を解こうとしているのですが、要件の 1 つが無視されているようです
この一連の方程式を解きたい:
これはコードです:
しかし、次のような結果が得られます。
したがって、x <= 20 の要件は満たされていません。原因は何ですか?
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
テンソルフロー以外のこれらのメソッドのいずれかの実装を教えていただければ幸いです。
python - 「病的」凸関数の高速最適化
解を高速化しようとしている単純な凸の問題があります。の argmin ( theta ) を解いています
ここで、thetaとrtはNx1です。
これを簡単に解決できますcvxpy
しかし、R
これが大きくなると遅くなりすぎるので、scipy
'sを使用してグラデーションベースの方法を試していますfmin_cg
:
goalfun
scipy.minimize
関数値と勾配を返す使いやすい関数です。
関数と勾配が正しいことを確認します。
method
しかし、これを解決すると、 、反復などに関係なく、ガベージが生成されるだけです (生成されるのOptimization terminated successfully
は、が実質的に最適なthetax0
に等しい場合のみです) 。
つまり、この一見無害に見える問題cvxpy
は簡単に処理できますが、非凸ソルバーにとっては完全に病的であることが判明します。この問題は本当に厄介ですか、それとも何か不足していますか? これをスピードアップするための代替手段は何ですか?
python - scipy.sparse() スパース行列を CVXOPT にフィードする
[私はここで答えに従っています]
CVXOPT でスパース マトリックスをフィードしようとしています。次の最小限の例を考えてみましょう。
私は得る:
これはバグですか、それとも (おそらく)この回答を誤解していますか?
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で実行すると:
いくつかの異なる方法でアンインストールと再インストールを試みました。これは最も有望に思えましたが、まだ運がありません。何かアドバイス?