[Numpy-discussion] Linear programming
Paulo J. S. Silva
pjssilva at ime.usp.br
Tue Mar 29 18:45:31 EST 2005
Em Ter, 2005-03-29 às 17:19 +0200, Magnus Lie Hetland escreveu:
> Is there some standard Python (i.e., numarray/Numeric) mapping for
> some linear programming package out there? Might be rather useful...
>
Hello,
I have written a very simple wrapper to COIN/CLP (www.coin-or.org) based
on swig. I am using this code in my own research. It is simple, but it
is good enough for me.
I will clean it up a little and "release" it this week. Please enter in
contact by Friday with me.
Here is a sample code using the wrapper:
--- Sample code ---
from numarray import *
import Coin
s = Coin.OsiSolver()
# Define objective and variables bounds
ncols = 2
obj = array([-1.0, -1.0])
col_lb = array([0.0, 0.0])
col_ub = s.getInfinity()*array([1.0, 1.0])
# Define constraints
nrows = 2
row_lb = -s.getInfinity()*array([1.0, 1.0])
row_ub = array([3.0, 3.0])
matrix = Coin.CoinPackedMatrix(0, 0, 0)
matrix.setDimensions(0, ncols)
row1 = Coin.CoinPackedVector()
row1.insert(0, 1.0)
row1.insert(1, 2.0)
matrix.appendRow(row1)
row2 = Coin.CoinPackedVector()
row2.insert(0, 2.0)
row2.insert(1, 1.0)
matrix.appendRow(row2)
# Load Problem
s.loadProblem(matrix, col_lb, col_ub, obj, row_lb, row_ub)
# Write mps model.
s.writeMps('example')
# Solve problem
s.initialSolve()
# Print optimal value.
print 'Optimal value: ', s.getObjValue()
print 'Solution: ', s.getColSolution()
--- End sample ---
Note that I am using the COIN's sparce matrix and vector so as to use
sparcity in the CLP solver.
Best,
Paulo
--
Paulo José da Silva e Silva
Professor Assistente do Dep. de Ciência da Computação
(Assistant Professor of the Computer Science Dept.)
Universidade de São Paulo - Brazil
e-mail: pjssilva at ime.usp.br Web: http://www.ime.usp.br/~pjssilva
Teoria é o que não entendemos o (Theory is something we don't)
suficiente para chamar de prática.(understand well enough to call
practice)
More information about the NumPy-Discussion
mailing list