How to get lower bound of SOCP?
回答済みI am working on close enough TSP solver. This problem can be formulated as MISOCP but this formulation is slow. So I am trying to solve "integer part" of this problem with my branch and bound and just the continuous part solve using gurobi as SOCP (in minimization sense). Now I am trying to speed it up more with finding just a good lower bound of this SOCP instead of computing exact solution because it needs to be solved thousands of times to get final CETSP solution. How I can run gurobi just to some accuracy and then get the best dual value? I tried to get ObjBound but I got error 10005 (even with QCPDual=1).
Of course I can write formulation of dual problem by myself but it would be difficult so I am trying to find most simple solution.
-
There is example of one simple model for which I am trying to get LB.
NAME
ROWS
N OBJ
E R0
E R1
E R2
E R3
E R4
E R5
E R6
E R7
E R8
E R9
E R10
E R11
E R12
E R13
E R14
E R15
L qc0
L qc1
L qc2
L qc3
L qc4
L qc5
L qc6
L qc7
COLUMNS
C0 OBJ 1
C1 OBJ 1
C2 OBJ 1
C3 OBJ 1
C4 R0 1
C4 R2 1
C4 R12 -1
C5 R1 1
C5 R3 1
C5 R13 -1
C6 R0 -1
C6 R4 1
C6 R6 1
C7 R1 -1
C7 R5 1
C7 R7 1
C8 R4 -1
C8 R8 1
C8 R10 1
C9 R5 -1
C9 R9 1
C9 R11 1
C10 R8 -1
C10 R12 1
C10 R14 1
C11 R9 -1
C11 R13 1
C11 R15 1
C12 R0 1
C13 R1 1
C14 R4 1
C15 R5 1
C16 R8 1
C17 R9 1
C18 R12 1
C19 R13 1
C20 R2 1
C21 R3 1
C22 R6 1
C23 R7 1
C24 R10 1
C25 R11 1
C26 R14 1
C27 R15 1
RHS
RHS1 R6 3
RHS1 R10 3
RHS1 R11 3
RHS1 R15 3
RHS1 qc1 1
RHS1 qc3 1
RHS1 qc5 1
RHS1 qc7 1
BOUNDS
FR BND1 C4
FR BND1 C5
FR BND1 C6
FR BND1 C7
FR BND1 C8
FR BND1 C9
FR BND1 C10
FR BND1 C11
FR BND1 C12
FR BND1 C13
FR BND1 C14
FR BND1 C15
FR BND1 C16
FR BND1 C17
FR BND1 C18
FR BND1 C19
FR BND1 C20
FR BND1 C21
FR BND1 C22
FR BND1 C23
FR BND1 C24
FR BND1 C25
FR BND1 C26
FR BND1 C27
QCMATRIX qc0
C0 C0 -1
C12 C12 1
C13 C13 1
QCMATRIX qc1
C20 C20 1
C21 C21 1
QCMATRIX qc2
C1 C1 -1
C14 C14 1
C15 C15 1
QCMATRIX qc3
C22 C22 1
C23 C23 1
QCMATRIX qc4
C2 C2 -1
C16 C16 1
C17 C17 1
QCMATRIX qc5
C24 C24 1
C25 C25 1
QCMATRIX qc6
C3 C3 -1
C18 C18 1
C19 C19 1
QCMATRIX qc7
C26 C26 1
C27 C27 1
ENDATA0 -
I found it. I can use
BARRIER_DUALOBJ
in callback to get dual objective in each iteration. https://support.gurobi.com/hc/en-us/community/posts/4405814500241-ObjBound-Barrier-with-no-crossover
0
サインインしてコメントを残してください。
コメント
2件のコメント