| |||||||||||||
| |||||||||||||
|
General constraints Description Examples of formulating MIP models with the Python API using general constraints. Further explanation of this example: Whitepaper 'MIP formulations and linearizations', Section 'General constraints'
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
genctrexpl.py
"""
Xpress Python Example Problems
======================
file genctrexpl.py
```````````````
MIP problem formulation using general constraints.
- Example discussed in mipformref whitepaper -
(c) 2024 Fair Isaac Corporation
author: B. Vieira, Sep. 2024
"""
import xpress as xp
from xpress.enums import SolStatus
R = range(3)
p = xp.problem()
x = [p.addVariable(name="x_{}".format(i)) for i in R]
y = p.addVariable()
z = p.addVariable()
p.addConstraint(x[i] <= 20 for i in R)
p.addConstraint(xp.abs(x[0] - 2*x[1]) <= 10)
p.addConstraint(xp.min(x) >= 5)
p.addConstraint(y == xp.min(x[2], 20, x[0]-z))
p.setObjective(xp.Sum(x[i] for i in R), sense=xp.maximize)
p.optimize()
if p.attributes.solstatus in [SolStatus.FEASIBLE, SolStatus.OPTIMAL]:
print("Solution:", p.attributes.objval)
for i in R:
print(x[i].name,"=",p.getSolution(x[i]))
print("y=", p.getSolution(y), ", z=", p.getSolution(z))
print("abs=", p.getSolution(xp.abs(x[0]-2*x[1])), ", Min of x(i)=", min(p.getSolution(x)))
else:
print("No solution")
| |||||||||||||
| © Copyright 2025 Fair Isaac Corporation. |