what is inhomog_var ?
Posted: 17 Oct 2014, 22:57
This inhomog_var shows up when I was computing the facets using the following standard code:
$f=lp2poly('2.lp');
$p = new Polytope<Rational>($f);
$p->LATTICE_POINTS;
$s=new Polytope(POINTS=>$p->LATTICE_POINTS, COORDINATE_LABELS=>$p->COORDINATE_LABELS);
print_constraints($s);
In facets I got, there are such inequalities
2inhomog_var - f11 + 2u44 + y34 >= 0
-inhomog_var - f11 - f21 + 2f24 + 2y14 + y41 >= 3
Is the inhomog_var a slack var? From my textbook integer programming knowledge, I couldn't think of what any slack var is needed for representing facets. Does this has anything to do with Polymake's coordinate system? Is this var positive? what's the value range?
Thanks in advance!
Here is my LP model used to describe the polyhedron:
Minimize
obj:1000 u11 + 10000 u14 + 10000 u21 + 10000 u24 +
10000 u31 + 10000 u34 + 10000 u41 + 10000 u44
Subject To
flow_bal_middle21:
-f11 + f21 - u21 = 0
flow_bal_middle24:
-f14 + f24 - u24 = 0
flow_bal_middle31:
-f21 + f31 - u31 = 0
flow_bal_middle34:
-f24 + f34 - u34 = 0
flow_bal_sink1:
-f11 + f41 - u21 - u31 = 0
flow_bal_sink4:
f34 - f44 - u24 - u34 = 0
unit_selection_12:
u21 + u24 = 1
unit_selection_13:
u31 + u34 = 1
unit_selection_21:
u11 + u14 <= 1
unit_selection_24:
u41 + u44 <= 1
line_occupation111:
f11 - 2 y11 <= 0
line_occupation112:
f21 - 2 y21 <= 0
line_occupation113:
f31 - 2 y31 <= 0
line_occupation114:
f41 - 2 y41 <= 0
line_occupation141:
f14 - 2 y14 <= 0
line_occupation142:
f24 - 2 y24 <= 0
line_occupation143:
f34 - 2 y34 <= 0
line_occupation144:
f44 - 2 y44 <= 0
line_occupation211:
f11 + 2 y11 >= 0
line_occupation212:
f21 + 2 y21 >= 0
line_occupation213:
f31 + 2 y31 >= 0
line_occupation214:
f41 + 2 y41 >= 0
line_occupation241:
f14 + 2 y14 >= 0
line_occupation242:
f24 + 2 y24 >= 0
line_occupation243:
f34 + 2 y34 >= 0
line_occupation244:
f44 + 2 y44 >= 0
node_disjoint11:
y11 + y41 - 2 u11 <= 0
node_disjoint12:
y11 + y21 - 2 u21 <= 0
node_disjoint13:
y21 + y31 - 2 u31 <= 0
node_disjoint14:
y31 + y41 - 2 u41 <= 0
node_disjoint41:
y14 + y44 - 2 u14 <= 0
node_disjoint42:
y14 + y24 - 2 u24 <= 0
node_disjoint43:
y24 + y34 - 2 u34 <= 0
node_disjoint44:
y34 + y44 - 2 u44 <= 0
Bounds
0<=y11<=1
0<=y14<=1
0<= y21<=1
0<= y24<=1
0<=y31<=1
0<=y34<=1
0<=y41<=1
0<=y44<=1
0<=u11<=1
0<=u14<=1
0<=u21<=1
0<=u24<=1
0<=u31<=1
0<=u34<=1
0<=u41<=1
0<=u44<=1
-2<=f11<=2
-2<=f14<=2
-2<=f21<=2
-2<=f24<=2
-2<=f31<=2
-2<=f34<=2
-2<=f41<=2
-2<=f44<=2
Binaries
y11 y14 y21 y24 y31 y34 y41 y44 u11 u14 u21 u24 u31 u34 u41 u44
Generals
f11 f14 f21 f24 f31 f34 f41 f44
End
$f=lp2poly('2.lp');
$p = new Polytope<Rational>($f);
$p->LATTICE_POINTS;
$s=new Polytope(POINTS=>$p->LATTICE_POINTS, COORDINATE_LABELS=>$p->COORDINATE_LABELS);
print_constraints($s);
In facets I got, there are such inequalities
2inhomog_var - f11 + 2u44 + y34 >= 0
-inhomog_var - f11 - f21 + 2f24 + 2y14 + y41 >= 3
Is the inhomog_var a slack var? From my textbook integer programming knowledge, I couldn't think of what any slack var is needed for representing facets. Does this has anything to do with Polymake's coordinate system? Is this var positive? what's the value range?
Thanks in advance!
Here is my LP model used to describe the polyhedron:
Minimize
obj:1000 u11 + 10000 u14 + 10000 u21 + 10000 u24 +
10000 u31 + 10000 u34 + 10000 u41 + 10000 u44
Subject To
flow_bal_middle21:
-f11 + f21 - u21 = 0
flow_bal_middle24:
-f14 + f24 - u24 = 0
flow_bal_middle31:
-f21 + f31 - u31 = 0
flow_bal_middle34:
-f24 + f34 - u34 = 0
flow_bal_sink1:
-f11 + f41 - u21 - u31 = 0
flow_bal_sink4:
f34 - f44 - u24 - u34 = 0
unit_selection_12:
u21 + u24 = 1
unit_selection_13:
u31 + u34 = 1
unit_selection_21:
u11 + u14 <= 1
unit_selection_24:
u41 + u44 <= 1
line_occupation111:
f11 - 2 y11 <= 0
line_occupation112:
f21 - 2 y21 <= 0
line_occupation113:
f31 - 2 y31 <= 0
line_occupation114:
f41 - 2 y41 <= 0
line_occupation141:
f14 - 2 y14 <= 0
line_occupation142:
f24 - 2 y24 <= 0
line_occupation143:
f34 - 2 y34 <= 0
line_occupation144:
f44 - 2 y44 <= 0
line_occupation211:
f11 + 2 y11 >= 0
line_occupation212:
f21 + 2 y21 >= 0
line_occupation213:
f31 + 2 y31 >= 0
line_occupation214:
f41 + 2 y41 >= 0
line_occupation241:
f14 + 2 y14 >= 0
line_occupation242:
f24 + 2 y24 >= 0
line_occupation243:
f34 + 2 y34 >= 0
line_occupation244:
f44 + 2 y44 >= 0
node_disjoint11:
y11 + y41 - 2 u11 <= 0
node_disjoint12:
y11 + y21 - 2 u21 <= 0
node_disjoint13:
y21 + y31 - 2 u31 <= 0
node_disjoint14:
y31 + y41 - 2 u41 <= 0
node_disjoint41:
y14 + y44 - 2 u14 <= 0
node_disjoint42:
y14 + y24 - 2 u24 <= 0
node_disjoint43:
y24 + y34 - 2 u34 <= 0
node_disjoint44:
y34 + y44 - 2 u44 <= 0
Bounds
0<=y11<=1
0<=y14<=1
0<= y21<=1
0<= y24<=1
0<=y31<=1
0<=y34<=1
0<=y41<=1
0<=y44<=1
0<=u11<=1
0<=u14<=1
0<=u21<=1
0<=u24<=1
0<=u31<=1
0<=u34<=1
0<=u41<=1
0<=u44<=1
-2<=f11<=2
-2<=f14<=2
-2<=f21<=2
-2<=f24<=2
-2<=f31<=2
-2<=f34<=2
-2<=f41<=2
-2<=f44<=2
Binaries
y11 y14 y21 y24 y31 y34 y41 y44 u11 u14 u21 u24 u31 u34 u41 u44
Generals
f11 f14 f21 f24 f31 f34 f41 f44
End