Skip to content

[WIP] QuadraticModels extension#22

Open
klamike wants to merge 4 commits intomainfrom
mk/qp
Open

[WIP] QuadraticModels extension#22
klamike wants to merge 4 commits intomainfrom
mk/qp

Conversation

@klamike
Copy link
Collaborator

@klamike klamike commented Feb 14, 2026

To allow us to solve models coming from ExaModels, ADNLPModels, etc.

  • Add support for taking GPU problems directly

@klamike klamike marked this pull request as ready for review March 5, 2026 18:51
@codecov
Copy link

codecov bot commented Mar 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
ext/CoolPDLPQuadraticModelsExt.jl 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@klamike
Copy link
Collaborator Author

klamike commented Mar 5, 2026

@gdalle Added an interesting application here as a test case. We form a taylor approximation of an ExaModels ACOPF (here, at the locally optimal solution found by Ipopt) then solve it with CoolPDLP. It's pretty heavy so might be better to simplify for the sake of CI time before merging though.

@gdalle
Copy link
Member

gdalle commented Mar 5, 2026

The extension is a good idea but I don't see why the power model application belongs in our test suite. It's very specific and adds several dependencies that would otherwise not be needed. Can we limit ourselves to checking the correctness of the conversion, since that is the only thing added to the source code?

@klamike
Copy link
Collaborator Author

klamike commented Mar 5, 2026

Same page! Just wanted to show you why it’s cooler than it seems :)

@gdalle
Copy link
Member

gdalle commented Mar 5, 2026

Why would ignore_islp suffice to get a linearization though? Don't we need the gradient of the nonlinear part of the objective / constraints too?

@klamike
Copy link
Collaborator Author

klamike commented Mar 5, 2026

We call this very nice method of QuadraticModels.jl: https://github.com/JuliaSmoothOptimizers/QuadraticModels.jl/blob/2780658f64d48ab7563a843ed0ee03f54858e358/src/qpmodel.jl#L229-L274 (in the tests, not the source)

@klamike
Copy link
Collaborator Author

klamike commented Mar 5, 2026

The source code doesn't do any linearization, it should be the same exact mathematical model, just different wrapper types. I'm not opposed to removing the ignore_islp to just always error if there are any quadratic terms. Then with #28 we can remove the check entirely.

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