Skip to content

Conversation

@napinoco
Copy link
Owner

Summary

  • Implement manual duality gap, primal/dual
    infeasibility calculations using unified formulas for
    fair solver comparison
  • Add solution storage system with --save-solutions
    flag for verification and analysis
  • Fix corrupted SDPLIB submodule structure that was
    causing GitHub Actions failures
  • Clean up all deprecated light_set references from
    codebase and documentation
  • Update documentation and test files for current
    requirements structure

Key Features

  • Manual Duality Calculations: Uses unified
    formulas b@y - c@x for dual gap, norm(A_eq.T @ y - c)/(1 + norm(c)) for dual infeasibility, norm(A_eq @ x - b)/(1 + norm(b)) for primal infeasibility
  • Solution Storage: Save optimal solutions to
    problems/solutions/ as compressed .npz files
  • Sparse Array Compatibility: Uses np.sum(c ** 2) instead of np.linalg.norm(c) for sparse array
    support
  • Cone-Specific Calculations: Proper dual
    infeasibility calculations for free variables,
    non-negative variables, SOC cones, and SDP cones

Technical Changes

  • Enhanced scripts/solvers/python/cvxpy_runner.py
    with manual duality calculations
  • Added --save-solutions command-line flag to
    main.py
  • Updated scripts/benchmark/runner.py to pass
    solution saving parameter to all solvers
  • Fixed submodule configuration for DIMACS and SDPLIB
    external libraries
  • Removed nested .gitmodules files and infinite
    directory structures from SDPLIB

Test plan

  • Validate submodule configuration fixes GitHub
    Actions checkout errors
  • Verify manual duality calculations work across
    all problem types (LP, QP, SOCP, SDP)
  • Test solution storage functionality with
    --save-solutions flag
  • Confirm light_set references completely removed
    from codebase
  • Validate updated installation instructions and
    test commands

🤖 Generated with Claude
Code

@github-actions
Copy link

📊 Preview Reports Ready!

Your preview has been deployed and is available at:

🔗 View Preview Reports

Preview Details

Available Reports

Notes

  • Preview uses the pre-built reports from your branch
  • Preview will be updated automatically when you push new commits
  • Preview will be cleaned up automatically when the PR is closed

Preview deployment powered by GitHub Actions

@napinoco napinoco force-pushed the temp-duality-solution-storage branch from 3ebc551 to 9383ef8 Compare June 29, 2025 15:06
@napinoco napinoco merged commit 9383ef8 into main Jun 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants