From 091ab68d07aa501b4e3e20cd71ed4a3b30901059 Mon Sep 17 00:00:00 2001 From: jajhall Date: Wed, 18 Sep 2024 17:30:38 +0100 Subject: [PATCH] Now calling ekk_instance_.computeBasisCondition(); but LP needs to be passed --- src/lp_data/Highs.cpp | 8 +++++++- src/simplex/HEkk.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lp_data/Highs.cpp b/src/lp_data/Highs.cpp index 3ace5745de..f2ebdc2ba8 100644 --- a/src/lp_data/Highs.cpp +++ b/src/lp_data/Highs.cpp @@ -1948,7 +1948,13 @@ HighsStatus Highs::getReducedColumn(const HighsInt col, double* col_vector, } HighsStatus Highs::getKappa(double& kappa) { - return HighsStatus::kError; + printf("Highs::getKappa basis_.valid = %d, ekk_instance_.status_.has_invert = %d\n", + int(basis_.valid), + int(ekk_instance_.status_.has_invert)); + if (!ekk_instance_.status_.has_invert) + return invertRequirementError("getBasisInverseRow"); + kappa = ekk_instance_.computeBasisCondition(); + return HighsStatus::kOk; } HighsStatus Highs::setSolution(const HighsSolution& solution) { diff --git a/src/simplex/HEkk.h b/src/simplex/HEkk.h index d259680794..634105d504 100644 --- a/src/simplex/HEkk.h +++ b/src/simplex/HEkk.h @@ -134,6 +134,7 @@ class HEkk { HighsBasis getHighsBasis(HighsLp& use_lp) const; const SimplexBasis& getSimplexBasis() { return basis_; } + double computeBasisCondition(); HighsStatus initialiseSimplexLpBasisAndFactor( const bool only_from_known_basis = false); @@ -333,7 +334,6 @@ class HEkk { HighsStatus returnFromEkkSolve(const HighsStatus return_status); HighsStatus returnFromSolve(const HighsStatus return_status); - double computeBasisCondition(); void initialiseAnalysis(); std::string rebuildReason(const HighsInt rebuild_reason);