CVXPY のドキュメントは cvxpy.org にあります。
私たちは Discord 上に CVXPY コミュニティを構築しています。会話に参加してください!問題や長い形式のディスカッションについては、Github Issues と Github Discussions を使用してください。
コンテンツ
CVXPY は、凸最適化問題用の Python 埋め込みモデリング言語です。これにより、ソルバーが要求する制限的な標準形式ではなく、数学に従った自然な方法で問題を表現できます。
たとえば、次のコードは、変数が下限と上限によって制約される最小二乗問題を解決します。
import cvxpy as cp
import numpy
# Problem data.
m = 30
n = 20
numpy . random . seed ( 1 )
A = numpy . random . randn ( m , n )
b = numpy . random . randn ( m )
# Construct the problem.
x = cp . Variable ( n )
objective = cp . Minimize ( cp . sum_squares ( A @ x - b ))
constraints = [ 0 <= x , x <= 1 ]
prob = cp . Problem ( objective , constraints )
# The optimal objective is returned by prob.solve().
result = prob . solve ()
# The optimal value for x is stored in x.value.
print ( x . value )
# The optimal Lagrange multiplier for a constraint
# is stored in constraint.dual_value.
print ( constraints [ 0 ]. dual_value )
CVXPY を使用すると、モデルを作成できます。
CVXPY はソルバーではありません。これは、オープンソース ソルバー Clarabel、SCS、および OSQP に依存しています。追加のソルバーも利用できますが、別途インストールする必要があります。
CVXPY はスタンフォード大学の研究プロジェクトとして始まりました。現在、多くの機関や国にまたがる多くの人々によって開発されています。
CVXPY は PyPI で利用でき、次のようにインストールできます。
pip install cvxpy
CVXPY は、conda を使用してインストールすることもできます。
conda install -c conda-forge cvxpy
CVXPY には次の依存関係があります。
詳細な手順については、インストール ガイドを参照してください。
CVXPY の使用を開始するには、以下を確認してください。
Github トラッカーを使用して問題を報告することをお勧めします。私たちはあらゆる種類の問題、特に正確性、ドキュメント、パフォーマンス、機能リクエストに関連する問題を歓迎します。
基本的な使用上の質問 (例: 「なぜ私の問題は DCP ではないのですか?」) については、代わりに StackOverflow を使用してください。
CVXPY コミュニティは、世界中の研究者、データ サイエンティスト、ソフトウェア エンジニア、学生で構成されています。ぜひご参加ください。
CVXPY コミュニティとのコミュニケーションでは敬意を払い、当社の行動規範を必ず遵守してください。
皆様のご貢献に感謝いたします。凸最適化の専門家である必要はありません。
まず、ソースから CVXPY をインストールする必要があります。すぐに貢献を開始できる簡単な方法をいくつか紹介します。
新しいサンプルをライブラリに追加したい場合、または新しい機能を実装したい場合は、お客様の優先順位が私たちの優先順位と一致していることを確認するために、まず私たちにご連絡ください。
コントリビューションはプル リクエストとして送信する必要があります。 CVXPY 開発チームのメンバーがプル リクエストをレビューし、貢献プロセスを案内します。
コントリビュートの作業を開始する前に、コントリビュート ガイドをお読みください。
CVXPY は、多くの研究者やエンジニアの貢献によって構築されたコミュニティ プロジェクトです。
CVXPY は、Steven Diamond、Akshay Agrawal、Riley Murray、Philipp Schiele、Bartolomeo Stellato、および Parth Nobel によって開発および保守されており、その他多くの人々が多大な貢献をしています。長年にわたって CVXPY を形作ってきた人々のリストには、Stephen Boyd、Eric Chu、Robin Verschueren、Jaehyun Park、Enzo Busseti、AJ Friend、Judson Wilson、Chris Dembia、William Zhang などが含まれます。
チームとプロセスの詳細については、ガバナンス文書を参照してください。
CVXPY を学術研究に使用する場合は、論文を引用することをお勧めします。業界で CVXPY を使用している場合は、Discord または電子メールでご意見をお待ちしております。