cvxgrp / cvxpylayers

Differentiable convex optimization layers
Apache License 2.0
1.84k stars 162 forks source link

DQCP in cvxpylayers? #154

Closed dtroxell19 closed 11 months ago

dtroxell19 commented 11 months ago

Hi all,

Does cvxpylayers support disciplined quasiconvex programming (such as the DQCP functionality in cvxpy)? i.e. can a layer consist of a quasiconvex program instead of a convex one? Thanks!

akshayka commented 11 months ago

Hi — CVXPY Layers doesn't support DQCP out of the box.

If you want to differentiate through a quasiconvex program, you could try implementing the bisection solution method in PyTorch, using CVXPY Layers to do the inner solves, and differentiating through that. That's slide 4.55 in https://web.stanford.edu/class/ee364a/lectures/problems.pdf. Might be worth a shot, but I'm not sure "how differentiable" the solution method will be.

dtroxell19 commented 11 months ago

This makes sense. Thank you for responding so quickly!