La documentation CVXPY se trouve sur cvxpy.org.
Nous construisons une communauté CVXPY sur Discord. Rejoignez la conversation ! Pour les problèmes et les discussions longues, utilisez Github Issues et Github Discussions.
Contenu
CVXPY est un langage de modélisation intégré à Python pour les problèmes d'optimisation convexe. Il vous permet d'exprimer votre problème d'une manière naturelle qui suit les mathématiques, plutôt que sous la forme standard restrictive requise par les solveurs.
Par exemple, le code suivant résout un problème des moindres carrés dans lequel la variable est contrainte par des limites inférieure et supérieure :
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 )
Avec CVXPY, vous pouvez modéliser
CVXPY n'est pas un solveur. Il s'appuie sur les solveurs open source Clarabel, SCS et OSQP. Des solveurs supplémentaires sont disponibles, mais doivent être installés séparément.
CVXPY a commencé comme un projet de recherche de l'Université de Stanford. Il est désormais développé par de nombreuses personnes, dans de nombreuses institutions et pays.
CVXPY est disponible sur PyPI et peut être installé avec
pip install cvxpy
CVXPY peut également être installé avec conda, en utilisant
conda install -c conda-forge cvxpy
CVXPY a les dépendances suivantes :
Pour des instructions détaillées, consultez le guide d'installation.
Pour démarrer avec CVXPY, consultez ce qui suit :
Nous vous encourageons à signaler les problèmes à l'aide du tracker Github. Nous acceptons toutes sortes de problèmes, en particulier ceux liés à l'exactitude, à la documentation, aux performances et aux demandes de fonctionnalités.
Pour les questions d'utilisation de base (par exemple, « Pourquoi mon problème n'est-il pas DCP ? »), veuillez plutôt utiliser StackOverflow.
La communauté CVXPY est composée de chercheurs, de data scientists, d'ingénieurs logiciels et d'étudiants du monde entier. Nous vous invitons à nous rejoindre !
Veuillez être respectueux dans vos communications avec la communauté CVXPY et assurez-vous de respecter notre code de conduite.
Nous apprécions toutes les contributions. Vous n'avez pas besoin d'être un expert en optimisation convexe pour vous aider.
Vous devez d'abord installer CVXPY à partir des sources. Voici quelques façons simples de commencer à contribuer immédiatement :
Si vous souhaitez ajouter un nouvel exemple à notre bibliothèque ou implémenter une nouvelle fonctionnalité, veuillez d'abord nous contacter pour vous assurer que vos priorités correspondent aux nôtres.
Les contributions doivent être soumises sous forme de demandes de tirage. Un membre de l'équipe de développement CVXPY examinera la pull request et vous guidera tout au long du processus de contribution.
Avant de commencer à travailler sur votre contribution, veuillez lire le guide de contribution.
CVXPY est un projet communautaire, construit à partir des contributions de nombreux chercheurs et ingénieurs.
CVXPY est développé et maintenu par Steven Diamond, Akshay Agrawal, Riley Murray, Philipp Schiele, Bartolomeo Stellato et Parth Nobel, avec la contribution de nombreux autres de manière significative. Une liste non exhaustive des personnes qui ont façonné CVXPY au fil des ans comprend Stephen Boyd, Eric Chu, Robin Verschueren, Jaehyun Park, Enzo Busseti, AJ Friend, Judson Wilson, Chris Dembia et William Zhang.
Pour plus d’informations sur l’équipe et nos processus, consultez notre document de gouvernance.
Si vous utilisez CVXPY pour des travaux académiques, nous vous encourageons à citer nos articles. Si vous utilisez CVXPY dans l'industrie, nous aimerions également avoir de vos nouvelles, sur Discord ou par e-mail.