]> gitweb.michael.orlitzky.com - dead/census-tools.git/blob - bin/linear_programs/example-lp
Update the example LP's search path to look one directory deeper.
[dead/census-tools.git] / bin / linear_programs / example-lp
1 #!/usr/bin/env python
2
3 """
4 Solve an example problem with lp_solve.
5 """
6
7 import os
8 import site
9 import sys
10
11 # Basically, add '../src' to our path.
12 # Needed for the imports that follow.
13 site.addsitedir(os.path.dirname(os.path.abspath(sys.argv[0])) + '/../../src')
14
15 import LinearProgramming
16
17
18 lp = LinearProgramming.LinearProgram()
19
20 lp.objective_coefficients = [5, 100, 30, 10, 20, 300]
21
22 lp.constraint_matrix = [ [1,1,1,0,0,0],
23 [0,0,0,1,1,1],
24 [1,0,0,1,0,0],
25 [0,1,0,0,1,0],
26 [0,0,1,0,0,1] ]
27
28 lp.inequalities = ([LinearProgramming.LE] * 2) + ([LinearProgramming.EQ] * 3)
29
30 lp.rhs = [ 500, 600, 400, 300, 200 ]
31
32 [v,x,duals] = lp.solve()
33
34 print 'Optimal objective function value: ', v
35 print 'Optimal solution vector: ', x
36 print 'Duals: ', duals