adding experiments for ipopt with a cvxpy problem
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.
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.
notes for future self on installing IPOPT:
- download miniconda
- install cyipopt through conda
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
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.
closing this PR and moving to https://github.com/cvxgrp/cvxpy-ipopt.