Dear Johan
Here, the model is a MISOCP problem, and i use gurobi to solve it. However it notes:
Optimize a model with 2856 rows, 2160 columns and 6777 nonzeros
Model has 96 quadratic constraints
Presolve removed 2193 rows and 1149 columns
Presolve time: 0.08s
Presolved: 1047 rows, 1395 columns, 3081 nonzeros
Variable types: 1383 continuous, 12 integer (12 binary)
Root relaxation: objective -1.037639e+06, 417 iterations, 0.00 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
H 0 0 -0.0465017 - - - 0s
* 0 0 0 -0.0642966 -0.06430 0.00% - 0s
Cutting planes:
Explored 0 nodes (1716 simplex iterations) in 0.28 seconds
Thread count was 4 (of 4 available processors)
Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (2.0342e-05) exceeds tolerance
Best objective -6.429657888878e-02, best bound -6.429657888878e-02, gap 0.0%
mubiao =
0.0643
In my obj, one part is ' detaQch*tumq', and detaQch is zero row vector,and vector 'tumq' constraint is as follow:
con=con+[-M*(1-ZQch)<=tumq-gg<=M*(1-ZQch)];
con=con+[-M*ZQch<=tumq<=M*ZQch];
ZQch are binary,and ,M is big-M,and i make it 100000.
So,it seems that the 'ZQch' can be arbitrary because 'detaQch' is zero. If i make 'ZQch' variable, the result is not right. When i give 'ZQch' one arbitrary value(SOCP NO MI), it is right.
Next,in my model,'detaQch' may not be zero, so the 'ZQch' must be variable,and the warnings appears again.
Many thanks