cvxpy icon indicating copy to clipboard operation
cvxpy copied to clipboard

adding experiments for ipopt with a cvxpy problem

Open Transurgeon opened this issue 7 months ago • 3 comments

Description

Please include a short summary of the change. Issue link (if applicable):

Type of change

  • [ ] New feature (backwards compatible)
  • [ ] New feature (breaking API changes)
  • [ ] Bug fix
  • [ ] Other (Documentation, CI, ...)

Contribution checklist

  • [ ] Add our license to new files.
  • [ ] Check that your code adheres to our coding style.
  • [ ] Write unittests.
  • [ ] Run the unittests and check that they’re passing.
  • [ ] Run the benchmarks to make sure your change doesn’t introduce a regression.

Transurgeon avatar Jun 16 '25 23:06 Transurgeon

I wanted to make a PR on my fork, but apparently I can't. This is still very WiP, and I am just trying to save my work from codespaces, please ignore.

Transurgeon avatar Jun 16 '25 23:06 Transurgeon

notes for future self on installing IPOPT:

  • download miniconda
  • install cyipopt through conda

Transurgeon avatar Jun 16 '25 23:06 Transurgeon

Benchmarks that have improved:

   before           after         ratio
 [5bdebccc]       [1e0691bc]
  •     342±0ms          309±0ms     0.90  slow_pruning_1668_benchmark.SlowPruningBenchmark.time_compile_problem
    
  •     3.61±0s          3.23±0s     0.89  quantum_hilbert_matrix.QuantumHilbertMatrix.time_compile_problem
    
  •     1.15±0s          952±0ms     0.83  gini_portfolio.Cajas.time_compile_problem
    

Benchmarks that have stayed the same:

   before           after         ratio
 [5bdebccc]       [1e0691bc]
      4.70±0s          4.70±0s     1.00  huber_regression.HuberRegression.time_compile_problem
      294±0ms          293±0ms     1.00  matrix_stuffing.ParamSmallMatrixStuffing.time_compile_problem
      13.8±0s          13.8±0s     1.00  finance.CVaRBenchmark.time_compile_problem
      5.48±0s          5.46±0s     1.00  semidefinite_programming.SemidefiniteProgramming.time_compile_problem
      744±0ms          741±0ms     1.00  matrix_stuffing.ConeMatrixStuffingBench.time_compile_problem
      589±0ms          585±0ms     0.99  simple_QP_benchmarks.ParametrizedQPBenchmark.time_compile_problem
      864±0ms          854±0ms     0.99  simple_QP_benchmarks.LeastSquares.time_compile_problem
      240±0ms          237±0ms     0.99  high_dim_convex_plasticity.ConvexPlasticity.time_compile_problem
      236±0ms          233±0ms     0.99  gini_portfolio.Murray.time_compile_problem
      5.19±0s          5.12±0s     0.99  optimal_advertising.OptimalAdvertising.time_compile_problem
      1.71±0s          1.68±0s     0.99  tv_inpainting.TvInpainting.time_compile_problem
      23.1±0s          22.8±0s     0.98  sdp_segfault_1132_benchmark.SDPSegfault1132Benchmark.time_compile_problem
      1.44±0s          1.41±0s     0.98  matrix_stuffing.ParamConeMatrixStuffing.time_compile_problem
      358±0ms          350±0ms     0.98  gini_portfolio.Yitzhaki.time_compile_problem
      12.0±0s          11.7±0s     0.98  simple_LP_benchmarks.SimpleLPBenchmark.time_compile_problem
      988±0ms          965±0ms     0.98  simple_LP_benchmarks.SimpleScalarParametrizedLPBenchmark.time_compile_problem
      1.15±0s          1.12±0s     0.97  finance.FactorCovarianceModel.time_compile_problem
     46.1±0ms         44.8±0ms     0.97  matrix_stuffing.SmallMatrixStuffing.time_compile_problem
      2.41±0s          2.34±0s     0.97  simple_LP_benchmarks.SimpleFullyParametrizedLPBenchmark.time_compile_problem
      270±0ms          256±0ms     0.95  simple_QP_benchmarks.SimpleQPBenchmark.time_compile_problem
      2.00±0s          1.88±0s     0.94  simple_QP_benchmarks.UnconstrainedQP.time_compile_problem
      5.62±0s          5.27±0s     0.94  svm_l1_regularization.SVMWithL1Regularization.time_compile_problem

github-actions[bot] avatar Jun 17 '25 05:06 github-actions[bot]

I wanted to make a PR on my fork, but apparently I can't.

That should be possible, but to avoid cluttering this repo you might want to just make a cvxpy-ipopt repo in cvxgrp to do development in.

PTNobel avatar Jun 19 '25 21:06 PTNobel

closing this PR and moving to https://github.com/cvxgrp/cvxpy-ipopt.

Transurgeon avatar Jun 23 '25 17:06 Transurgeon