understanding infeasibility

147 views
Skip to first unread message

Cecco Angiolieri

unread,
Jul 4, 2016, 11:55:43 AM7/4/16
to CVXOPT
Hello,
I am trying to solve an optimization over network using cvxopt+picos, and I am struggling in understanding why cvxopt finds the problem infeasible. The only constraints that may give infeasibility are constraints related to scheduling between links connected to the same intersection (line 50 of the attached code). I have checked manually those constraints (using the print function of picos' variables), and they are alright. 

For the records, I was solving the same problem in different programming environment (MatLab+Yalmip) and it was working fine.

Is there any way to look inside the solver variables to understand what is going on and what I've done wrong. I attach my code, and this is the output (with verbose = True)

>> python networkOptimizer.py
reformulating quads as socp...
done.
--------------------------
  cvxopt CONELP solver
--------------------------
     pcost       dcost       gap    pres   dres   k/t
 0: -2.2627e+05 -1.3235e+06  4e+06  2e+00  2e+02  1e+00
 1: -9.1810e+04 -7.1016e+05  2e+06  1e+00  1e+02  1e+03
 2: -6.5376e+04 -3.5077e+05  1e+06  5e-01  6e+01  1e+03
 3: -4.6536e+04 -1.5463e+05  4e+05  2e-01  2e+01  6e+02
 4: -3.2570e+04 -9.4423e+04  3e+05  1e-01  1e+01  4e+02
 5: -2.6314e+04 -7.4022e+04  2e+05  8e-02  1e+01  3e+02
 6: -1.6840e+04 -4.2276e+04  1e+05  4e-02  6e+00  1e+02
 7: -1.6625e+04 -4.0149e+04  1e+05  4e-02  5e+00  1e+02
 8: -1.6536e+04 -4.0439e+04  1e+05  4e-02  5e+00  1e+02
 9: -1.4414e+04 -3.5340e+04  1e+05  3e-02  5e+00  1e+02
10: -8.0987e+03 -1.6058e+04  4e+04  1e-02  2e+00  5e+01
11: -7.8799e+03 -1.6394e+04  5e+04  1e-02  2e+00  6e+01
12: -6.1947e+03 -1.2958e+04  4e+04  1e-02  1e+00  4e+01
13: -6.3538e+03 -1.3050e+04  4e+04  1e-02  1e+00  4e+01
14: -3.7800e+03 -8.1544e+03  3e+04  7e-03  1e+00  3e+01
15: -6.4369e+02 -1.0239e+03  2e+03  6e-04  8e-02  2e+00
16: -4.7557e+02 -7.1694e+02  1e+03  4e-04  5e-02  1e+00
17: -2.8694e+02 -3.9830e+02  6e+02  2e-04  2e-02  6e-01
18: -2.7534e+02 -3.9117e+02  7e+02  2e-04  3e-02  7e-01
19: -2.7353e+02 -3.8384e+02  6e+02  2e-04  2e-02  6e-01
20: -1.9089e+02 -2.5718e+02  4e+02  1e-04  1e-02  4e-01
21: -1.4667e+02 -1.8677e+02  2e+02  7e-05  9e-03  3e-01
22: -2.1123e+02 -3.0437e+02  1e+03  2e-04  2e-02  1e+00
23: -1.1536e+02 -1.7320e+02  2e+03  1e-04  1e-02  1e+00
24: -9.6655e+01 -1.3821e+02  3e+03  7e-05  1e-02  3e+00
25: -3.5542e+01 -5.6543e+01  2e+04  7e-05  9e-03  2e+01
26:  3.4446e+02  6.2248e+02  3e+05  6e-05  8e-03  3e+02
27:  3.9696e+04  7.0239e+04  3e+07  6e-05  8e-03  3e+04
28:  3.5144e+06  6.1941e+06  2e+09  6e-05  8e-03  3e+06
29:  2.1435e+08  3.6969e+08  1e+11  6e-05  8e-03  2e+08
Certificate of primal infeasibility found.
cvxopt status: primal infeasible
*** Primal Solution not found
status:  primal infeasible

Thank you for any help!
test.zip

Cecco Angiolieri

unread,
Jul 5, 2016, 4:52:24 AM7/5/16
to CVXOPT
It turns out it can be solved with picos only, because it has redefined the 'print' for the object Problem.
So running

>> print P

on a small instance of the problem allows to visualize the problem (basically in the same way I would write it on a paper). Thanks to this, I could figure out what was wrong.
Reply all
Reply to author
Forward
0 new messages