Hello,
I tried using contains on a specific example. I read the lp file using lp2poly:
$f = convert_to<Rational>lp2poly('demo1.lp');
(below is the lp file, sorry could not attach it)
Code: Select all
Maximize
Subject To
c0: - a1 + a2 - a11 = 2
cc2l0: - a1 + a2 <= 1
c1: a2 - a6 = 1
cc2l1: - a1 + a2 <= 1
c2: a3 + a5 - a7 = -1
cc2l2: a3 + a5 - a18 <= -2
cc3l2: a5 <= -1
cc4l2: a3 - a4 + a5 <= -1
c3: - a3 + a4 + a6 = -1
cc1l3: a4 + a6 - a8 <= -1
cc3l3: a6 <= -1
c4: a3 + a5 - a7 = -1
cc0l4: a3 <= -1
cc3l4: a3 - a5 <= 0
cc4l4: a3 + a5 - a6 <= -2
cc5l4: a3 + a5 - a9 <= -1
cc6l4: - a1 + a3 + a5 - a11 <= 0
c5: a4 + a6 - a8 = -2
cc0l5: a4 - a5 + a6 <= -1
cc1l5: a4 <= -1
cc3l5: a4 + a6 - a8 <= -1
cc4l5: a4 <= -2
cc5l5: a4 - a6 <= 0
cc6l5: a4 + a6 - a10 <= -1
c6: a3 + a5 - a7 = -1
c7: a7 - a8 = -1
cc1l7: - a4 - a6 + a7 <= 1
cc2l7: a7 - a8 <= 0
c8: 2 a5 - a9 = -1
c9: 2 a6 - a10 = -1
cc0l9: 2 a6 - a9 <= -1
c10: a11 - a14 = -1
c11: a11 - a12 - a13 = -4
cc0l11: a11 <= 1
cc2l11: a11 - a12 <= 0
cc4l11: a11 - a15 <= 0
cc5l11: a11 - a12 <= -1
c12: a11 - a12 - a13 = -4
cc0l12: a11 <= 1
cc2l12: a11 - a13 <= 0
cc4l12: a11 - a16 <= 0
cc5l12: a11 - a13 <= -1
c13: a12 + a13 - a14 = 3
cc0l13: a12 + a13 - a14 <= 4
c14: a12 - a15 = 1
c15: a13 - a16 = 1
c16: - a8 + a17 = -1
c17: a17 - a18 = -1
c18: - a7 = 2
cc0l18: - a10 <= 2
cc2l18: - a1 <= 2
cc3l18: - a2 <= 2
cc4l18: - a5 <= 2
cc5l18: - a6 <= 2
cc7l18: - a8 <= 2
cc8l18: - a9 <= 2
c19: - a3 = 2
cc2l19: - a4 <= 2
cc3l19: - a17 <= 2
cc4l19: - a18 <= 2
cc5l19: - a7 <= 2
cc6l19: - a8 <= 2
Bounds
a1 free
a2 free
a3 free
a4 free
a5 free
a6 free
a7 free
a8 free
a9 free
a10 free
a11 free
a12 free
a13 free
a14 free
a15 free
a16 free
a17 free
a18 free
End
Thereafter, I want to check whether a point $v given by:
Code: Select all
$v = new Vector<Rational>([1, -1,0,-2,-2,-1,-1,-2,-1,-1,-1,-1,0,3,0,-1,2,-2,-1]);
is present in the polytope, for which I use:
This doesn't return 1 but I guess the point satisfies the inequalities & equations above. Is there something wrong ?
Thanks,
Satya