Can bi-level optimization problems be modeled directly in the cvx?
The only way of doing it might be to use KKT conditions to model the optimal solution of the inner problem), and linearize the complementarity constraints of the KKT conditions by Big M logic modeling. Among other things, you would have to choose a suitable value for Big M,; but unfortunately, you would not know an a priori bound on the Lagrange multipliers, and therefore would be shooting in the dark to determine a Big M value. If Big M is too small, you may cut off solutions, and if it is too big, you may encounter severe numerical difficulties and slowdown, to include trickle flow violations of the actual complementarity constraints.
And this could only be possible if the outer plus linearized inner comply with all CVX rules, i.e., the formulation, including Big M, will have to be MIDCP representable.
Thank you very much dear @Mark_L_Stone , I have already tried the “KKT” way and got the answer. But as you know, turning a problem into a “KKT” is a difficult work. Do CVX developers have a plan to improve CVX in directly solving bi-level optimization?
That is very unlikely to ever happen.
it is even less likely than what @Erling says. There is essentially no active development of new features in CVX.