When a model is infeasible, you can use `Model.feasRelax()` or `Model.feasRelaxS()` to create a feasibility relaxation of the model. This works as expected for optimization problems with a single objective function. However, feasibility relaxations may not work as expected on models with multiple objectives in Gurobi 9.0.

Constructing a feasibility relaxation adds slack variables to the constraints and bounds. Additionally, the objective function is modified to minimize either the **L**_{ 0}, L_{ 1}, or **L**_{ 2} norm of the constraint violations. Unfortunately, in the case of multi-objective problems, the objective function is not properly modified.

Note that we support only `minrelax=0` for feasibility relaxations of multi-objective problems.

This issue is fixed in Gurobi 9.1. For earlier versions, a workaround is to delete the multiple objectives before calling `Model.feasRelax()`. This can be done by setting the `NumObj` model attribute to zero.

### Further information