inst/HiGHS/docs/src/interfaces/python/model-py.md

Modelling

HiGHS has a rudimentry modelling language that allows models to be built and run using highspy.

Below is an example of building a mathematical LP. The functions used are documented in detail below

# model and solve the LP
#
# maximize 10 x1 + 25x2
# s. t.       x1 +  2x2 <=  80
#             x1 +  4x2 <= 120
#             x1 >= 0; x2 >= 0
import highspy

h = highspy.Highs()

x1 = h.addVariable()
x2 = h.addVariable()

h.addConstr(x1 + 2*x2 <=  80)
h.addConstr(x1 + 4*x2 <= 120)

h.maximize(10*x1 + 25*x2)

print("x1 = ", h.val(x1))
print("x2 = ", h.val(x2))

addVariable

Adds a variable to the model. By default it is continuous, non-negative, with zero objective coefficient, and has no name associated with it.

addVariable(lb = 0, ub = kHighsInf, obj = 0, type=HighsVarType.kContinuous, name = None)

addConstr

Adds a constraint to the model. It must be defined in terms of a linear function, with * used when there are non-unit coefficients. By default it has a lower bound of -infinity, an upper bound of +infinity, and no name associated with it.

addConstr(cons, name = None)

maximize

Calls HiGHS to maximize the objective. By default it uses the objective coefficients defined when the variables were added to the model. However, a linear function can be passed as an argument.

maximize(obj=None)

minimize

Calls HiGHS to minimize the objective. By default it uses the objective coefficients defined when the variables were added to the model. However, a linear function can be passed as an argument.

minimize(obj=None)

val

Extracts the current value of a particular variable

val(var)

vals

Extracts the current values of a particular set of variables

vals(vars)

MIP Example



Try the Uno package in your browser

Any scripts or data that you put into this service are public.

Uno documentation built on Aug. 30, 2026, 5:07 p.m.