# Documentation

Filter Content By
Version
Languages

### Example matrix1.py

This is the complete source code for our example (also available in `<installdir>/examples/python/matrix1.py`)...

```#!/usr/bin/env python3.7

# Copyright 2019, Gurobi Optimization, LLC

# This example formulates and solves the following simple MIP model
# using the matrix API:
#  maximize
#        x +   y + 2 z
#  subject to
#        x + 2 y + 3 z <= 4
#        x +   y       >= 1
#        x, y, z binary

import numpy as np
import scipy.sparse as sp
import gurobipy as gp
from gurobipy import GRB

try:

# Create a new model
m = gp.Model("matrix1")

# Create variables

# Set objective
obj = np.array([1.0, 1.0, 2.0])
m.setObjective(obj @ x, GRB.MAXIMIZE)

# Build (sparse) constraint matrix
data = np.array([1.0, 2.0, 3.0, -1.0, -1.0])
row = np.array([0, 0, 0, 1, 1])
col = np.array([0, 1, 2, 0, 1])

A = sp.csr_matrix((data, (row, col)), shape=(2, 3))

# Build rhs vector
rhs = np.array([4.0, -1.0])

m.addConstr(A @ x <= rhs, name="c")

# Optimize model
m.optimize()

print(x.X)
print('Obj: %g' % m.objVal)

except gp.GurobiError as e:
print('Error code ' + str(e.errno) + ": " + str(e))

except AttributeError:
print('Encountered an attribute error')
```

You will need to have both the NumPy package and the SciPy sparse matrix package in your Python environment to run this example. The easiest way to obtain a suitable Python environment is to install the Anaconda Python distribution.