CVXPY 문서는 cvxpy.org에 있습니다.
우리는 Discord에 CVXPY 커뮤니티를 구축하고 있습니다. 대화에 참여하세요! 이슈 및 장문 토론의 경우 Github 이슈 및 Github 토론을 사용하세요.
내용물
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, 박재현, Enzo Busseti, AJ Friend, Judson Wilson, Chris Dembia 및 William Zhang이 포함됩니다.
팀과 프로세스에 대한 자세한 내용은 거버넌스 문서를 참조하세요.
학술 작업에 CVXPY를 사용하는 경우 당사 논문을 인용하는 것이 좋습니다. 업계에서 CVXPY를 사용하고 계시다면 Discord나 이메일을 통해 여러분의 의견을 듣고 싶습니다.