Minimization of quadratic objective with BMI and convex constraints.

74 views
Skip to first unread message

Parikshit Pareek

unread,
May 9, 2019, 10:21:41 PM5/9/19
to YALMIP
I am trying to solve an optimization problem involving a Bilinear Matrix Inequality and some other convex constraints. The convex constraints are expressed as elementwise inequalities or as LMIs. 
I attempted with BMIBNB solver having fmincon and mosek installed but the error says 'no suitable solver'. 

Which solver combination I need to use for solving this problem. 


Johan Löfberg

unread,
May 10, 2019, 2:00:56 AM5/10/19
to YALMIP
First, there are no good ways to solve prolems with BMIs, and most likely your problem is simply not tractable. Deriving a model with some parts BMIs, is a partial failure, and I always recomend people to spend more time on deriving a better model, than trying to get some solver to work

Your options are typically

1. See the final paragraph in the global optimization example, and note that you can select the upper solver as 'none', to let BMIBNB run until it simply by chance has a relaxation which happens to be feasible. You have to be extremely lucky for this to work

2. Install penlab to act as upper solver. You have to be very lucky for this to work as penlab is shaky

3. Develop your own BMI solver instead, typically using some iterative/alternatiing direction/trust-region/linearization hack. Of course, only local solutions, if you find anything

4. Remove semidefinite constraint X>=0 and replace with X == R*R' where R is a new matrix decision variable. At least reneders the problem as a elementwise nonlinear nonconvex problem, but it is much larger than original model, and once again you need luck

Parikshit Pareek

unread,
May 10, 2019, 2:17:05 AM5/10/19
to YALMIP
Thanks, Johan for the reply. 

I do understand the difficulties involve with BMI solution and have given a lot of time in formulation but BMI is unavoidable. 
Further, I have attempted a convex relaxation of BMI and want to establish its need against the original formulation. I have tried without upper solver but it just does not proceed, not even 1 iteration. 


Johan Löfberg

unread,
May 10, 2019, 2:28:08 AM5/10/19
to YALMIP
post the problem

Parikshit Pareek

unread,
May 10, 2019, 2:44:04 AM5/10/19
to YALMIP
I have a simple control BMI with two matrix variable for Lyapunov Stability as:
J'Z+Z'J<=0

Here, J is an affine function matrix while Z is modified Lyapunov matrix which is non-symmetric. 

Other constraints are mostly element-wise equalities and inequalities which are all convex. 

Without the upper bound solver, the BMIBNB stalls for a very long time. Size of the BMI is 34x34. 

Johan Löfberg

unread,
May 10, 2019, 2:46:10 AM5/10/19
to yal...@googlegroups.com
Post reproducible code that can be tested. Sound weird that it stalls.

However, 34x34 with a generic global solver simply won't work unless you are exceptionally lucky. It's (far) beyond what is possible today

Parikshit Pareek

unread,
May 10, 2019, 2:55:06 AM5/10/19
to YALMIP
I got your point, Johan. I cannot post the entire code as it involves a lot of different subcodes. 


Johan Löfberg

unread,
May 10, 2019, 3:00:35 AM5/10/19
to YALMIP
just zip it

Parikshit Pareek

unread,
May 10, 2019, 3:05:34 AM5/10/19
to YALMIP
I cannot. IPR contract with the collaborators involved in some of the subcodes. Sorry for the inconvenience. Will attempt a smaller problem as you said 34*34 is very large. 

Johan Löfberg

unread,
May 10, 2019, 3:14:49 AM5/10/19
to YALMIP
typically you can dump all the associated code and just save all that data that hey generated, and then refactor the code by constructing the model after loading that data

and yes, you never start with a large problem. Start with 2x2 until it works, then, if you got that to work, you might attack 4x4...
Reply all
Reply to author
Forward
0 new messages