Personal tools
You are here: Home Examples Documentation Chapter 10 lp.py
Document Actions

lp.py

The small LP of section 10.4

# The small LP of section 10.4.  

from cvxopt.base import matrix
from cvxopt.modeling import variable, op, dot

x = variable()
y = variable()
c1 = ( 2*x+y <= 3 )
c2 = ( x+2*y <= 3 )
c3 = ( x >= 0 )
c4 = ( y >= 0 )
lp1 = op(-4*x-5*y, [c1,c2,c3,c4])
lp1.solve()
print "\nstatus: %s" %lp1.status
print "optimal value: %f"  %lp1.objective.value()[0]
print "optimal x: %f" %x.value[0]
print "optimal y: %f" %y.value[0]
print "optimal multiplier for 1st constraint: %f" %c1.multiplier.value[0]
print "optimal multiplier for 2nd constraint: %f" %c2.multiplier.value[0]
print "optimal multiplier for 3rd constraint: %f" %c3.multiplier.value[0]
print "optimal multiplier for 4th constraint: %f\n" %c4.multiplier.value[0]

x = variable(2)
A = matrix([[2.,1.,-1.,0.], [1.,2.,0.,-1.]])
b = matrix([3.,3.,0.,0.])
c = matrix([-4.,-5.])
ineq = ( A*x <= b )
lp2 = op(dot(c,x), ineq)
lp2.solve()

print "\nstatus: %s" %lp2.status
print "optimal value: %f"  %lp2.objective.value()[0]
print "optimal x: \n", x.value
print "optimal multiplier: \n", ineq.multiplier.value
 

Powered by Plone CMS, the Open Source Content Management System