# Copyright (C) 2005, Paulo Jose da Silva e Silva

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()


syntax highlighted by Code2HTML, v. 0.9.1