How can we solve the sum of squares programming problem with linear fractional function as the objective function ?

75 views
Skip to first unread message

SUZI

unread,
Jan 10, 2022, 3:46:42 AM1/10/22
to YALMIP
Hi, all
I'm solving a SOSP with linear fractional function as the objective function, but mosek says "Solver not applicable (mosek does not support semidefinite constraints)".
So, how can we solve the sum of squares programming problem with linear fractional function as the objective function ?
Thank you!

Johan Löfberg

unread,
Jan 10, 2022, 3:49:35 AM1/10/22
to YALMIP
you would have to do bisection, i.e. replace g(x)/f(x) with g(x) <= f(x)*t and then perform bisection of t

the error message is weird though as mosek supports SDPs, so you would have to supply a reproducible example to illustrate that

SUZI

unread,
Jan 10, 2022, 8:04:10 AM1/10/22
to YALMIP
Dear Johan
Thanks for your reply. this is my code.
BRS_1D_fraceq.m

Johan Löfberg

unread,
Jan 10, 2022, 8:22:55 AM1/10/22
to YALMIP
You've got some signomial stuff in the model, hence Mosek is not applicable on the resulting nonlinear SDP

>> constrains
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    ID|                                Constraint|   Coefficient range|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    #1|     Sum-of-square constraint (polynomial)|                    |
|    #2|     Sum-of-square constraint (polynomial)|                    |
|    #3|     Sum-of-square constraint (polynomial)|                    |
|    #4|     Sum-of-square constraint (polynomial)|                    |
|    #5|   Element-wise inequality (sigmonial) 1x1|              1 to 1|
|    #6|     Sum-of-square constraint (polynomial)|                    |
|    #7|     Sum-of-square constraint (polynomial)|                    |
|    #8|     Sum-of-square constraint (polynomial)|                    |
|    #9|     Sum-of-square constraint (polynomial)|                    |
|   #10|     Sum-of-square constraint (polynomial)|                    |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SUZI

unread,
Jan 10, 2022, 8:55:29 AM1/10/22
to YALMIP
The previous expression at line 46 was c_m1(1)/c_m2(1)>=1, and now changed to c_m1(1)>=c_m2(1).
the following is the Constraint|   Coefficient range.
but it still display "Solver not applicable (mosek does not support semidefinite constraints)"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    ID|                              Constraint|   Coefficient range|

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    #1|   Sum-of-square constraint (polynomial)|                    |
|    #2|   Sum-of-square constraint (polynomial)|                    |
|    #3|   Sum-of-square constraint (polynomial)|                    |
|    #4|   Sum-of-square constraint (polynomial)|                    |
|    #5|             Element-wise inequality 1x1|              1 to 1|

|    #6|   Sum-of-square constraint (polynomial)|                    |
|    #7|   Sum-of-square constraint (polynomial)|                    |
|    #8|   Sum-of-square constraint (polynomial)|                    |
|    #9|   Sum-of-square constraint (polynomial)|                    |
|   #10|   Sum-of-square constraint (polynomial)|                    |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Johan Löfberg

unread,
Jan 10, 2022, 9:38:18 AM1/10/22
to YALMIP
you still have the same issue in the objective

SUZI

unread,
Jan 10, 2022, 9:58:28 AM1/10/22
to YALMIP
ok, thanks
and in the following picture,  are you saying I should use the Dinkelbach’s algorithm?picture.png

Johan Löfberg

unread,
Jan 10, 2022, 11:10:30 AM1/10/22
to YALMIP
I am not advocating or talking about any specialized strategy, but just that the obvious (not necessarily fast, good or necessary) hack is to bisect

SUZI

unread,
Jan 11, 2022, 5:42:00 AM1/11/22
to YALMIP
ok, thanks for your help
Reply all
Reply to author
Forward
0 new messages