Skip to content

Commit c6a70c5

Browse files
committed
Added to FEATURES.md, and corrected IIS docstring in Highs.h
1 parent 9b702ca commit c6a70c5

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

FEATURES.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ Forcing column reduction now checks the bound on the column dual rather than whe
66

77
Now handling correctly the case where an infeasible MIP has a feasible relaxation, so no ray is computed fixing [#2415](https://github.com/ERGO-Code/HiGHS/issues/2415)
88

9-
Fixed minor bug exposed by [#2441](https://github.com/ERGO-Code/HiGHS/issues/2441) in Highs::setSolution() for a sparse user solution when the moidel is empty, and only clearing the dual data before solving with modified objective in Highs::multiobjectiveSolve() so that user-supplied solution is not cleared.
9+
Fixed minor bug exposed by [#2441](https://github.com/ERGO-Code/HiGHS/issues/2441) in `Highs::setSolution()` for a sparse user solution when the moidel is empty, and only clearing the dual data before solving with modified objective in `Highs::multiobjectiveSolve()` so that user-supplied solution is not cleared.
1010

11-
12-
The irreducible infeasibility system (IIS) facility now detects infeasibility due to bounds on constraint activity values being incompatible with constraint bounds. A kIisStrategyLight mode for the iis_strategy option has been introduced so that only infeasibility due to incompatible variable/constraint bounds and constraint activity values is checked for. The LP corresponding to any known IIS is now formed and held as a data member of the HighsIis class.
11+
The irreducible infeasibility system (IIS) facility now detects infeasibility due to bounds on constraint activity values (implied by variable bounds) being incompatible with constraint bounds. A `kIisStrategyLight mode` for the `iis_strategy` option has been introduced so that only infeasibility due to incompatible variable/constraint bounds and constraint activity values is checked for. The LP corresponding to any known IIS is now formed and held as a data member of the `HighsIis` class. It can be obtained as a const reference using `Highs::getIisLp()`, and written to a file using `Highs::writeIisModel(const std::string& filename = "")`
1312

1413
Prompted by [#2463](https://github.com/ERGO-Code/HiGHS/issues/2463), the HiGHS solution and basis files now match data to any column and row names in the model, only assuming that the data are aligned with column and row indices if there are no names in the model. This requires a new version (v2) of the HiGHS basis file. Basis files from v1 are still read, but deprecated. Now, when writing out a model, basis or solution, column and row names are added to the model - previously they were created temporarily and inconsistentyly on the fly. If the model has existing names, then distinctive names are created to replace any blank names, but names with spaces or duplicate names yield an error status return.
1514

highs/Highs.h

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -434,13 +434,14 @@ class Highs {
434434
double* value = nullptr);
435435

436436
/**
437-
* @brief Return a const reference to the presolved HighsLp instance in HiGHS
437+
* @brief Return a const reference to the internal presolved HighsLp
438+
* instance
438439
*/
439440
const HighsLp& getPresolvedLp() const { return presolved_model_.lp_; }
440441

441442
/**
442-
* @brief Return a const reference to the presolved HighsModel instance in
443-
* HiGHS
443+
* @brief Return a const reference to the internal presolved
444+
* HighsModel instance
444445
*/
445446
const HighsModel& getPresolvedModel() const { return presolved_model_; }
446447

@@ -476,13 +477,13 @@ class Highs {
476477
const HighsModel& getModel() const { return model_; }
477478

478479
/**
479-
* @brief Return a const reference to the internal HighsSolution instance
480+
* @brief Return a const reference to the internal HighsSolution
481+
* instance
480482
*/
481483
const HighsSolution& getSolution() const { return solution_; }
482484

483485
/**
484-
* @brief Return a const reference to the presolved HighsModel instance in
485-
* HiGHS
486+
* @brief Return a const reference to the internal IIS LP instance
486487
*/
487488
const HighsLp& getIisLp() const { return iis_.model_.lp_; }
488489

@@ -492,7 +493,8 @@ class Highs {
492493
void zeroAllClocks() { timer_.zeroAllClocks(); };
493494

494495
/**
495-
* @brief Return a const reference to the internal HighsSolution instance
496+
* @brief Return a const reference to the internal HighsSolution
497+
* instance
496498
*/
497499
const std::vector<HighsObjectiveSolution>& getSavedMipSolutions() const {
498500
return saved_objective_and_solution_;
@@ -856,7 +858,7 @@ class Highs {
856858
HighsStatus writePresolvedModel(const std::string& filename = "");
857859

858860
/**
859-
* @brief Write out the IIS model to a file
861+
* @brief Write out the internal IIS LP instance to a file
860862
*/
861863
HighsStatus writeIisModel(const std::string& filename = "");
862864

0 commit comments

Comments
 (0)