From e0e325c65d38b620be19bf2657262171bda2febb Mon Sep 17 00:00:00 2001 From: AndreFCruz Date: Thu, 21 Aug 2025 19:59:32 +0200 Subject: [PATCH] migrating to CLARABEL solver as cvspy is deprecating ECOS --- error_parity/_version.py | 2 +- error_parity/cvxpy_utils.py | 12 ++++++------ requirements/main.txt | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/error_parity/_version.py b/error_parity/_version.py index 99ab443..93c0fa9 100644 --- a/error_parity/_version.py +++ b/error_parity/_version.py @@ -1,3 +1,3 @@ """File to keep the package version in one place.""" -__version__ = "0.3.12" +__version__ = "0.3.13" __version_info__ = tuple(__version__.split(".")) diff --git a/error_parity/cvxpy_utils.py b/error_parity/cvxpy_utils.py index fd1e41c..985a36e 100644 --- a/error_parity/cvxpy_utils.py +++ b/error_parity/cvxpy_utils.py @@ -415,15 +415,15 @@ def group_positive_prediction_rate(group_idx: int): prob = cp.Problem(obj, constraints) # Run solver - prob.solve(solver=cp.ECOS, abstol=SOLUTION_TOLERANCE, feastol=SOLUTION_TOLERANCE) + # prob.solve(solver=cp.ECOS, abstol=SOLUTION_TOLERANCE, feastol=SOLUTION_TOLERANCE) # NOTE: ECOS solver has been deprecated in favor of CLARABEL in cvxpy 1.3.2+ # https://www.cvxpy.org/updates/index.html?h=ecos#ecos-deprecation - # prob.solve( - # solver=cp.CLARABEL, - # tol_gap_abs=SOLUTION_TOLERANCE, - # tol_feas=SOLUTION_TOLERANCE, - # ) + prob.solve( + solver=cp.CLARABEL, + tol_gap_abs=SOLUTION_TOLERANCE, + tol_feas=SOLUTION_TOLERANCE, + ) # NOTE: these tolerances are supposed to be smaller than the default np.isclose tolerances # (useful when comparing if two points are the same, within the cvxpy accuracy tolerance) diff --git a/requirements/main.txt b/requirements/main.txt index 26d3aa0..1189c7b 100644 --- a/requirements/main.txt +++ b/requirements/main.txt @@ -1,8 +1,8 @@ pandas -numpy<2.0.0 +numpy scipy tqdm scikit-learn>=1.2 -cvxpy[ecos,clarabel]~=1.3.2 +cvxpy[clarabel]>=1.3.2 matplotlib seaborn