non-strictly solutions

26 views
Skip to first unread message

Yulin

unread,
Sep 1, 2013, 5:59:01 AM9/1/13
to yal...@googlegroups.com

Hi,

 

I try to solve a convex optimization problem as following:

where

and x0'=[ 1.0408         0    1.2214         0], N=[0.0416         0    0.0452         0;

         0         0         0         0;

    0.0452         0    0.0492         0;

         0         0         0         0];

the yalmip get me the answer as followings:

\chi_1= 1.0e+06 *[0.0257   -0.1267    0.0257   -0.1267;

   -0.1267    2.3050   -0.1267    2.3050;

    0.0257   -0.1267    0.0257   -0.1267;

   -0.1267    2.3050   -0.1267    2.3051];

\chi_2= 1.0e+06 *[0.7685   -0.5020    0.6560   -0.2770;

   -0.5020    2.2935   -0.1785    1.6467;

    0.6560   -0.1785    0.9480   -0.7625;

   -0.2770    1.6467   -0.7625    2.6176];

(the other variables are omitted here since their solutions are fine)

as you can see, eig(\chi_1)=1.0e+06 * [ 0.0000;0.0000;0.0374;4.6241] and eig(\chi_2)=1.0e+06 *[ 0.0000; 0.9345;1.3152;4.3779]. which means that \chi_1,\chi_2 are positive semi-define, while not positive definite.

 

what I am really interested are the inverses of $\chi_1,\chi_2,\chi_3,\chi_4$. Based on above results, I always get semi-positive definite inverses.

 

However, if I change this optimizing problem to a feasibility problem, yalmip will obtain good results, i.e, all the LMIs are strictly satisfied.

 

so to sum up,I have two questions:

1) when I try to solve the optimization problem, how can I get the solution which strictly satisfies the LMIs? Specifically in my example, how can I get positive-definite(not positive semi-positive) \chi_1,\chi_2? why the feasibility solution can satisfy the LMIs strictly, while the optimization solution can not?

2) How can I improve the accuracy of the solutions?

 

Thanks very much!!

 

Bests,

Yulin

 

Johan Löfberg

unread,
Sep 1, 2013, 7:31:45 AM9/1/13
to yal...@googlegroups.com
1. When you want strict solutions, you have to use constraints such as X>=some_small_number_you_pick*eye(n). Wether you actually get a strict solution depends on the problem and the solver. Remember, almost all solvers approach the optimal solution from an infeasible solution, so you might get unlucky and still get an infeasible solution. If your problem actually isn't strictly feasible, this will of course be problematic, but that is just a fact, non-strictly feasible solutions are hard to solve numerically.

2. Play around with solver options, try other formulations of model, try to clean up the numerics of the model etc etc.

Finally, how can you say 1e6*[0.0000 etc] indicates semi-definite. You are only showing 4 digits

x = [1 pi*1e6]

x
=

   
1.0e+06 *

   
0.0000    3.1416



Johan Löfberg

unread,
Sep 1, 2013, 7:51:45 AM9/1/13
to yal...@googlegroups.com
and concering your question why the feasibility problem yields semidefinite and when you optimize you get semi-definite? That is entirely natural. Consider x >=0. A solution is x = 42, but if you minimize something and the constraint is active at optimality, it will be 0, i.e., semidefinite. Strict feasibility typically doesn't work in floating-point numerics when working with primal-dual infeasible methods (as essentially all SDP solvers are), and the concept doesn't make sense theoretically. What is the solution to minimize x subject to x>0 (answer: there is no minimizer, if you pick the solution x*, I can always create a better solution, for instance x*/2)

Yulin

unread,
Sep 1, 2013, 7:55:16 AM9/1/13
to yal...@googlegroups.com
Thanks for your quick reply!
 
About your second point, I have already noticed. That 's why I ask you how to improve the accuracy, I actually mean how to show the solution with more than 4 digits (or as many as possible? )
 
I will think about your first point again. "almost all solvers approach the optimal solution from an infeasible solution, so you might get unlucky and still get an infeasible solution. " maybe it is the reason, since I have already use constrains such as x> some_small_numbers*eye(n). It doesn't change anything. I am sure my problem is strictly feasible. 

Yulin

unread,
Sep 1, 2013, 7:56:46 AM9/1/13
to yal...@googlegroups.com
well yes~ thanks ~

Johan Löfberg

unread,
Sep 1, 2013, 8:08:06 AM9/1/13
to yal...@googlegroups.com
help format

format long e for instance
Reply all
Reply to author
Forward
0 new messages