#!/usr/bin/env python3.11# Copyright 2025, 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 binaryimportgurobipyasgpfromgurobipyimportGRBimportnumpyasnpimportscipy.sparseassptry:# Create a new modelm=gp.Model("matrix1")# Create variablesx=m.addMVar(shape=3,vtype=GRB.BINARY,name="x")# Set objectiveobj=np.array([1.0,1.0,2.0])m.setObjective(obj@x,GRB.MAXIMIZE)# Build (sparse) constraint matrixval=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((val,(row,col)),shape=(2,3))# Build rhs vectorrhs=np.array([4.0,-1.0])# Add constraintsm.addConstr(A@x<=rhs,name="c")# Optimize modelm.optimize()print(x.X)print(f"Obj: {m.ObjVal:g}")exceptgp.GurobiErrorase:print(f"Error code {e.errno}: {e}")exceptAttributeError:print("Encountered an attribute error")