how to accelerate the MISOCP

79 views
Skip to first unread message

Lucas

unread,
Oct 21, 2019, 11:36:29 PM10/21/19
to YALMIP
Dear Prof. Johan
     I am trouble with a complicated MISOCP problem, which the second-order cones both exist in objective and constraints. Meanwhile, as can be seen in the figure, the rate of convergence is extremely slow because of integer variables. In additition, I have tried MOSEK, GUROBI and CPLEX and MOSEK is bit faster than the other two solvers relatively.  Hence, do you have any advice to accelerate it?

捕获.PNG

 
New Folder.zip

Johan Löfberg

unread,
Oct 22, 2019, 3:19:23 AM10/22/19
to YALMIP
In general, there is no simple way. Integer programming is simply intractable in general case unless you are lucky

You are lucky though, you can delete the SOCPs, and the remaining problem is trivial, and that computed solution satisfies the SOCPs...
sol = optimize(Constraints(5:end),Objective)
check(Constraints)
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    ID|                                 Constraint|   Primal residual|   Dual residual|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    #1|   Vectorized second order cone constraints|           0.22387|             NaN|
|    #2|   Vectorized second order cone constraints|           0.22387|             NaN|
|    #3|   Vectorized second order cone constraints|                 0|             NaN|
|    #4|   Vectorized second order cone constraints|                 0|             NaN|
|    #5|                        Equality constraint|                 0|             NaN|
|    #6|                        Equality constraint|                 0|             NaN|
|    #7|                        Equality constraint|                 0|             NaN|
|    #8|                        Equality constraint|                 0|             NaN|
|    #9|                        Equality constraint|                 0|             NaN|
|   #10|                        Equality constraint|                 0|             NaN|
|   #11|                        Equality constraint|                 0|             NaN|
|   #12|                        Equality constraint|                 0|             NaN|
|   #13|                        Equality constraint|                 0|             NaN|
|   #14|                        Equality constraint|                 0|             NaN|
|   #15|                        Equality constraint|                 0|             NaN|
|   #16|                        Equality constraint|                 0|             NaN|
|   #17|                        Equality constraint|                 0|             NaN|
|   #18|                        Equality constraint|                 0|             NaN|
|   #19|                        Equality constraint|                 0|             NaN|
|   #20|                        Equality constraint|                 0|             NaN|
|   #21|                        Equality constraint|                 0|             NaN|
|   #22|                        Equality constraint|                 0|             NaN|
|   #23|                        Equality constraint|                 0|             NaN|
|   #24|                        Equality constraint|                 0|             NaN|
|   #25|                        Equality constraint|                 0|             NaN|
|   #26|                        Equality constraint|                 0|             NaN|
|   #27|                        Equality constraint|                 0|             NaN|
|   #28|                        Equality constraint|                 0|             NaN|
|   #29|                        Equality constraint|                 0|             NaN|
|   #30|                        Equality constraint|                 0|             NaN|
|   #31|                        Equality constraint|                 0|             NaN|
|   #32|                        Equality constraint|                 0|             NaN|
|   #33|                        Equality constraint|                 0|             NaN|
|   #34|                        Equality constraint|                 0|             NaN|
|   #35|                        Equality constraint|                 0|             NaN|
|   #36|                        Equality constraint|                 0|             NaN|
|   #37|                        Equality constraint|                 0|             NaN|
|   #38|                        Equality constraint|                 0|             NaN|
|   #39|                        Equality constraint|                 0|             NaN|
|   #40|                        Equality constraint|                 0|             NaN|
|   #41|                        Equality constraint|                 0|             NaN|
|   #42|                        Equality constraint|                 0|             NaN|
|   #43|                        Equality constraint|                 0|             NaN|
|   #44|                        Equality constraint|                 0|             NaN|
|   #45|                        Equality constraint|                 0|             NaN|
|   #46|                        Equality constraint|                 0|             NaN|
|   #47|                        Equality constraint|                 0|             NaN|
|   #48|                        Equality constraint|                 0|             NaN|
|   #49|                        Equality constraint|                 0|             NaN|
|   #50|                        Equality constraint|                 0|             NaN|
|   #51|                        Equality constraint|                 0|             NaN|
|   #52|                        Equality constraint|                 0|             NaN|
|   #53|                        Equality constraint|                 0|             NaN|
|   #54|                        Equality constraint|                 0|             NaN|
|   #55|                        Equality constraint|                 0|             NaN|
|   #56|                        Equality constraint|                 0|             NaN|
|   #57|                        Equality constraint|                 0|             NaN|
|   #58|                        Equality constraint|                 0|             NaN|
|   #59|                        Equality constraint|                 0|             NaN|
|   #60|                        Equality constraint|                 0|             NaN|
|   #61|                        Equality constraint|                 0|             NaN|
|   #62|                        Equality constraint|                 0|             NaN|
|   #63|                        Equality constraint|                 0|             NaN|
|   #64|                        Equality constraint|                 0|             NaN|
|   #65|                        Equality constraint|                 0|             NaN|
|   #66|                        Equality constraint|                 0|             NaN|
|   #67|                        Equality constraint|                 0|             NaN|
|   #68|                        Equality constraint|                 0|             NaN|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| A primal-dual optimal solution would show non-negative residuals.                    |
| In practice, many solvers converge to slightly infeasible                            |
| solutions, which may cause some residuals to be negative.                            |
| It is up to the user to judge the importance and impact of                           |
| slightly negative residuals (i.e. infeasibilities)                                   |
| https://yalmip.github.io/command/check/                                              |
| https://yalmip.github.io/faq/solutionviolated/                                       |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 



Michal Adamaszek

unread,
Oct 22, 2019, 5:29:17 AM10/22/19
to YALMIP
Could you attach a script that generates log output similar to the one from the picture? I ran your code but all I get is a problem with zero objective and a very quick solution.

Johan Löfberg

unread,
Oct 22, 2019, 5:56:33 AM10/22/19
to YALMIP
Agree, I never bothered to run his code, but indeed the full problem is solved already in the root

Lucas

unread,
Oct 22, 2019, 7:41:25 AM10/22/19
to YALMIP
sorry, I attached wrong code before
New Folder.zip
Reply all
Reply to author
Forward
0 new messages