Should i still care this when the status is solved,and the (cvx_optval) is neither -inf ,+inf nor NaN?

Uncategorized
Dec 14, 2019
1

Should i still care this when the status is solved,and the (cvx_optval) is neither -inf ,+inf nor NaN?
stop: max(relative gap, infeasibilities) < 1.49e-08

M

Look at cvx_status, whose contents also should be printed out in the CVX output.

Y
Replying to #2

I have a question to ask~Looking for your apply~

Calling Mosek 9.1.9: 1115 variables, 378 equality constraints
For improved efficiency, Mosek is solving the dual problem.

MOSEK Version 9.1.9 (Build date: 2019-11-21 11:34:40)
Copyright (c) MOSEK ApS, Denmark. WWW: mosek.com
Platform: Windows/64-X86

MOSEK warning 710: #8 (nearly) zero elements are specified in sparse col ‘’ (662) of matrix ‘A’.
MOSEK warning 710: #8 (nearly) zero elements are specified in sparse col ‘’ (663) of matrix ‘A’.
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 378
Cones : 37
Scalar variables : 790
Matrix variables : 1
Integer variables : 0

Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 4
Eliminator terminated.
Eliminator - tries : 1 time : 0.00
Lin. dep. - tries : 1 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.03
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 378
Cones : 37
Scalar variables : 790
Matrix variables : 1
Integer variables : 0

Optimizer - threads : 10
Optimizer - solved problem : the primal
Optimizer - Constraints : 355
Optimizer - Cones : 37
Optimizer - Scalar variables : 773 conic : 112
Optimizer - Semi-definite variables: 1 scalarized : 325
Factor - setup time : 0.00 dense det. time : 0.00
Factor - ML order time : 0.00 GP order time : 0.00
Factor - nonzeros before factor : 5.79e+04 after factor : 5.80e+04
Factor - dense dim. : 38 flops : 1.35e+07
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 5.4e+01 3.3e+04 1.6e+02 0.00e+00 2.015841559e+02 3.948576499e+01 1.0e+00 0.05
1 2.4e+01 1.4e+04 1.1e+02 -1.00e+00 5.885677299e+01 -1.019195956e+02 4.4e-01 0.16
Optimizer terminated. Time: 0.25

Interior-point solution summary
Problem status : DUAL_INFEASIBLE
Solution status : DUAL_INFEASIBLE_CER
Primal. obj: -4.1984542991e+01 nrm: 3e+04 Viol. con: 1e+04 var: 6e+03 barvar: 0e+00 cones: 6e-08
Optimizer summary
Optimizer - time: 0.25
Interior-point - iterations : 1 time: 0.17
Basis identification - time: 0.00
Primal - iterations : 0 time: 0.00
Dual - iterations : 0 time: 0.00
Clean primal - iterations : 0 time: 0.00
Clean dual - iterations : 0 time: 0.00
Simplex - time: 0.00
Primal simplex - iterations : 0 time: 0.00
Dual simplex - iterations : 0 time: 0.00
Mixed integer - relaxations: 0 time: 0.00


Status: Infeasible
Optimal value (cvx_optval): +Inf

M
Replying to #3

You have a very poor certificate with large violations.

It could be that your problem is numerically bad and/or illposed or it could be that you used some weird parameter settings. We don’t know. In particular if you used cvx_precision best, then don’t.

Y
Replying to #4

To derive a better solution, I used cvx_precision best~

Y
Replying to #4

I was very confused why the problem is bad. It is absolutely convex~

Y
Replying to #4

Dear Prof., why can’t use cvx_precesion bset?

M
Replying to #5

You absolutely never ever use cvx_precision best with Mosek. Please try without. It is well known that this sets up some parameter values that are unsuitable for Mosek.

Y
Replying to #8

When I use high, somtimes it also does’t work :worried:

M
Replying to #9

You can find helpful instructions in

https://docs.mosek.com/latest/toolbox/debugging-log.html

https://docs.mosek.com/latest/toolbox/debugging-numerical.html

https://docs.mosek.com/latest/toolbox/debugging-infeas.html

You can also provide fully reproducible code. Do not use any cvx_precision.

M

MOSEK issued warnings about (nearly) zero elements. So change units or something to improve problem scaling so that non-zero input data is within a small number of orders of magnitude of 1.

You should also use the latest version of Mosek 10.x, rather than 9.1.9 which is bundled with CVX. In order to do so, follow the directions in

Further to @Michal_Adamaszek 's post to absolutely never ever use cvx_precision best with Mosek, that applies to all solvers. cvx_precision is a well-intensioned, but as we now know, misguided capability.

After doing all this, try again.

Y
Replying to #12

Thank you very much!

Y
Replying to #12

Return code - 1000 [MSK_RES_ERR_LICENSE] [Invalid license.] I download the license and place it to the right file, why still error?

Y
Replying to #12

the elements my variable matrix is less than 1, this will affect the precesion?

M

Mosek license error is a Mosek issue, not a CVX issue. You need to get mosekdiag to be successful, then reinstall CVX to make sure it can find Mosek.

Mosek warned about near zero elements, so you need to address that. Those elements are too much less than 1 in magnitude (without being exactly zero), for instance, 1e-10.

Y
Replying to #16

Thank you very much!