Implement comprehensive duality calculations and solution storage#5
Merged
Conversation
📊 Preview Reports Ready!Your preview has been deployed and is available at: Preview Details
Available Reports
Notes
Preview deployment powered by GitHub Actions |
3ebc551 to
9383ef8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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