Supposons que j'ai une fonction objective f (x) qui n'est pas convexe (x peut être un vecteur), mais une fois que j'ajoute des contraintes, cela devient un problème convexe. Pour montrer ce que je veux dire, considérons cet exemple trivial: soit f (x) = cos (x). Clairement, cos (x) n'est pas convexe, mais si je considère seulement x dans [0, pi / 2], alors la fonction est convexe lors de la restriction de x à ces valeurs.
CVXPY n'accepte pas un tel problème car il ne satisfait pas aux règles DCP. Une option, dans l'exemple précédent, consiste à minimiser f (x) + g (x) où g est une fonction indicatrice telle que: g (x) = 0 pour x dans [0, pi / 2] et g (x) = + infini sinon, mais je ne sais pas comment implémenter cela dans CVXPY. Que puis-je utiliser dans Python profiter de la "convexité" du problème?
Merci.