Implement comprehensive duality calculations and solution storage #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
infeasibility calculations using unified formulas for
fair solver comparison
--save-solutionsflag for verification and analysis
causing GitHub Actions failures
codebase and documentation
requirements structure
Key Features
formulas
b@y - c@xfor dual gap,norm(A_eq.T @ y - c)/(1 + norm(c))for dual infeasibility,norm(A_eq @ x - b)/(1 + norm(b))for primal infeasibilityproblems/solutions/as compressed .npz filesnp.sum(c ** 2)instead ofnp.linalg.norm(c)for sparse arraysupport
infeasibility calculations for free variables,
non-negative variables, SOC cones, and SDP cones
Technical Changes
scripts/solvers/python/cvxpy_runner.pywith manual duality calculations
--save-solutionscommand-line flag tomain.pyscripts/benchmark/runner.pyto passsolution saving parameter to all solvers
external libraries
.gitmodulesfiles and infinitedirectory structures from SDPLIB
Test plan
Actions checkout errors
all problem types (LP, QP, SOCP, SDP)
--save-solutionsflagfrom codebase
test commands
🤖 Generated with Claude
Code