Angenommen, ich habe eine nicht konvexe Zielfunktion f (x) (x kann ein Vektor sein), aber sobald ich Einschränkungen hinzufüge, wird dies zu einem konvexen Problem. Um zu zeigen, was ich meine, betrachten Sie dieses triviale Beispiel: Lassen Sie f (x) = cos (x). Es ist klar, dass cos (x) nicht konvex ist, aber wenn ich nur x in [0, pi / 2] betrachte, dann ist die Funktion konvex, wenn x auf diese Werte beschränkt wird.
CVXPY akzeptiert ein solches Problem nicht, da es die DCP-Regeln nicht erfüllt. Eine Option im vorherigen Beispiel besteht darin, f (x) + g (x) zu minimieren, wobei g eine Indikatorfunktion ist, so dass: g (x) = 0 für x in [0, pi / 2] und g (x) = + unendlich sonst, aber ich weiß nicht, wie ich das in CVXPY implementieren soll. Was kann ich in verwenden Python die "Konvexität" des Problems ausnutzen?
Vielen Dank.