CLeARoboticsLab / MixedComplementarityProblems.jl

A custom interior point solver for mixed complementarity problems.
BSD 3-Clause "New" or "Revised" License
10 stars 3 forks source link

change default linear solver #35

Closed dfridovi closed 1 month ago

dfridovi commented 1 month ago

Now we eat PATH for lunch...

julia> data = SolverBenchmarks.benchmark(SolverBenchmarks.TrajectoryGameBenchmark(); num_samples=10, ip_kwargs=(;)); SolverBenchmarks.summary_statistics(data)
[ Info: Generating random problems...
[ Info: Generating IP MCP...
[ Info: Generating PATH MCP...
[ Info: Warming up IP solver...
[ Info: Warming up PATH solver...
Solving IP MCPs... 100%|█████████████████████████████████| Time: 0:00:00
Solving PATH MCPs... 100%|███████████████████████████████| Time: 0:00:01
[ Info: IP runtime is 11.98294130370404 % that of PATH.
(ip = (success_rate = 0.9, μ = 0.009862157555555556, σ = 0.0032738100112760103), path = (success_rate = 0.7, μ = 0.08230164285714285, σ = 0.04308178206496435))
lassepe commented 1 month ago

Nice! :) The one that is supposed to be even faster is this one: https://docs.sciml.ai/LinearSolve/stable/solvers/solvers/#LinearSolve.RFLUFactorization

dfridovi commented 1 month ago

Oh nice!! Love it ;)

lassepe commented 1 month ago

I just tested locally, LinearSolve.RFLUFactorization has a bug that we need to get fixed upstream. Let's run with UMFPackFactoriazation for now.