問題タブ [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.
python - cvxopt は単純な線形最適化を解くことができません
私はこのモデルを持っています
ここc
で、 は係数の 16x1 numpy 配列で、G
は12 x 16
モデルの制約を表す行列で、 1 のh
12x1 配列です。
cvxopt のドキュメントから、モデルは線形プログラムとして実装し、lp ソルバーで解決する必要があると思います。
しかし、私はこのエラーが発生します:
cvxopt の glpk インターフェイスを使用すると、実際にはスムーズに動作し、良い解決策が得られます。
この問題に対して cvxopt で lp ソルバーを機能させるにはどうすればよいですか?
python - Python での確率的最適化
cvxopt
(最適化ソルバー) とPyMC (サンプラー) を組み合わせて、凸確率最適化問題を解決しようとしています。
参考までに、両方のパッケージをインストールするのpip
は簡単です:
両方のパッケージは独立して完全にうまく機能します。を使用して LP 問題を解く方法の例を次に示しますcvxopt
。
ただし、PyMC で使用しようとすると (たとえば、係数の 1 つに分布を配置することによって)、PyMC はエラーを返します。
次の PyMC エラーが発生します。
なんで?cvxopt
とうまく遊ぶ方法はありますPyMC
か?
バックグラウンド:
誰かが不思議に思うかもしれませんが、PyMC を使用すると、選択した任意の関数からサンプリングできます。この特定のケースでは、サンプリングする関数は、LP 問題を解にマッピングする関数です。LP問題には確率係数が含まれているため、この関数からサンプリングしているため、市販のLPソルバーをそのまま適用することはできません。
より具体的には、この場合、単一の PyMC 出力サンプルは単純に LP 問題の解決策です。LP 問題のパラメーターは (選択した分布に従って) 変化するため、PyMC からの出力サンプルは異なるため、事後分布を取得することが望まれます。
上記のソリューションは、この回答に触発されたものです。唯一の違いは、真の一般的なソルバーを使用することを望んでいることです (この場合cvxopt
)
python - canopy python での CVXOPT のインポート
Canopy python エディターで使用するために CVXOPT 機能をインポートしたいと考えています。私の知る限り、CVXOPT は正常にダウンロードされました。これを考える理由は、CVXOPT サイトに「インストールが成功したことをテストするには、examples ディレクトリに移動してサンプルの 1 つを試してください」と書かれており、コマンド ラインでエラーなしでこれを実行できるからです。
ただし、私のpythonコードでは、
「CVXOPT という名前のモジュールがありません」というエラーが表示されます。問題は単純に違いないと思いますが、しばらくいじっても問題は解決しません。何か案は?
python - cvxopt ソルバーをサイレントにする方法 [Python]?
ターミナルで Python cvsopt ソルバーを実行すると、次のように出力されます。
このメッセージをサイレントにすることはできますか? ありがとうございました!
python - いくつかのブロックを変数 CVXPY として対角ブロック行列を構築する
CVXPY で (対角) ブロック行列 (できればスパース) を生成したいと考えています。
一部のブロックは、eye(m)
または何でもかまいませんが、次のブロックがあります。
W_diag
次に、たとえば次のようにして、ブロック対角行列をブロックとして形成しようとしました。
次のエラーが発生しました。
TypeError: タイプの変換がサポートされていません: (dtype('float64'), dtype('O'))
私に何ができる?他の方法?T
後で CVXPY の制約でマトリックスを使用したいと考えています。
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 番目の問題をより適切に表現する方法はありますか?
python - Python での L1 ノルム正則化最小二乗
L1 ノルム正則化問題は、次のように定義されます。
しかし、私の場合、この通常の L1 ノルム正則化最小二乗問題の代わりに、次の形式の問題を解決したいと考えています。
テーブル W と G の次元が同じではないため、AI は変数を変更してこのような問題を解決できません。
インターネットで入手できるソルバーの 1 つを使用できるようにします。そこで、前述の L1 平方問題を解く方程式を次のように見つけました。
-u <= W G x <= uiを使用すれば理解できる限り、問題を解決できます。しかし、コードに正確に適応するものを取得できません。誰でも助けることができますか?コードは次のとおりです (CVXOPT から取得)
誰でも助けることができますか?前もって感謝します
python - CVXPY でのカーネル マッチングの追求
カーネル マッチングを追求するためのコードを書いています。その中で、凸最適化のために cvxpy を使用しました。次の目的を最小限に抑える必要があります。 arnumber=6815769 で、コードは次のとおりです。
しかし、コードが機能せず、次のエラーがスローされます。2 つの非定数を乗算できません。これは、'epirk' で 3 つの項を乗算する問題だと思います。しかし、これに関する解決策はありません。助けてください。
python - CVXOPT または CVXPY による凸プログラミング
Python で CVXOPT または CVXPY を使用して最適化の問題を解決する必要がありますが、問題が発生しました。目的関数は
以下の制約を受ける
ここで、vectorx
は最適化変数で、ベクトルa
とb
は指定され、T
は指定されたスカラーです。