|
2 | 2 |
|
3 | 3 | Further to documentation in https://ergo-code.github.io/HiGHS/stable/guide/advanced/ |
4 | 4 |
|
| 5 | +Source of IIS techniques is |
| 6 | + |
| 7 | +J. W. Chinneck, "Feasibility and Infeasibility in Optimization". Algorithms and Computational Methods, Springer, New York, 2008. [DOI 10.1007/978-0-387-74932-7](https://doi.org/10.1007/978-0-387-74932-7) |
| 8 | + |
5 | 9 | The IIS search is rooted in `Highs::getIisInterface()`, which first |
6 | 10 | checks whether the `Highs::model_status_` is |
7 | 11 | `HighsModelStatus::kOptimal` or `HighsModelStatus::kUnbounded`, in |
@@ -35,11 +39,11 @@ is not robust, so currently switched off. |
35 | 39 | ### Using the elasticity filter |
36 | 40 |
|
37 | 41 | Currently, the only route to finding a set of mutually infeasible rows |
38 | | -is to perform an elasticity filter calculation. This is done in |
39 | | -`HighsIis::elasticityFilter`. This method is more general than is |
40 | | -necessary for finding the set of mutually infeasible rows for an IIS |
41 | | -calculation, and can be called directly using |
42 | | -`Highs::feasibilityRelaxation`. |
| 42 | +is to perform an elasticity filter calculation [Chinneck |
| 43 | +p101-104]. This is done in `HighsIis::elasticityFilter`. This method |
| 44 | +is more general than is necessary for finding the set of mutually |
| 45 | +infeasible rows for an IIS calculation, and can be called directly |
| 46 | +using `Highs::feasibilityRelaxation`. |
43 | 47 |
|
44 | 48 | The essence of the `HighsIis::elasticityFilter` is that it allows |
45 | 49 | lower bounds, upper bounds and RHS values to be violated. There are |
|
0 commit comments