Skip to content

Add BurerMonteiro formulation - #32

Merged
blegat merged 48 commits into
mainfrom
bl/BurerMonteiro
Jun 6, 2025
Merged

Add BurerMonteiro formulation#32
blegat merged 48 commits into
mainfrom
bl/BurerMonteiro

Conversation

@blegat

@blegat blegat commented May 28, 2025

Copy link
Copy Markdown
Owner

It can then be parametrized with, say, Percival to yield a full-fledged Burer-Monteiro solver.
Refactored from kocvara/Loraine.jl#29
Ideally, https://github.com/luotuoqingshan/SDPLRPlus.jl could use the same interface and Loraine could use the same model as well.

@codecov

codecov Bot commented May 28, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.27%. Comparing base (a82d3c3) to head (3f2cbf7).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
+ Coverage   98.07%   99.27%   +1.20%     
==========================================
  Files          15       21       +6     
  Lines         415      969     +554     
==========================================
+ Hits          407      962     +555     
+ Misses          8        7       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread src/burer_monteiro.jl Outdated
function NLPModels.grad!(model::BurerMonteiro, x::AbstractVector, g::AbstractVector)
grad!(model.model, x, g)
return g
end

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will have the same comment as usual: do you think it would be worth providing the hprod! as well? I have the feeling that Newton-CG can be faster than LBFGS, if done properly.

If you think that's more relevant, I can open a separate issue.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it will be useful but too early in the development stage at the moment. The code is too unstable for now. I prefer stabilizing first :)

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hprod! is done now, so Percival is now an SDP solver ! We should now try MadNLP ;)

Comment thread src/model.jl Outdated
Comment thread src/model.jl Outdated
Comment thread src/model.jl Outdated
Comment thread src/model.jl Outdated
Comment thread src/schur.jl
Comment thread src/schur.jl Outdated
Comment thread src/schur.jl Outdated
Comment thread src/schur.jl Outdated
@blegat
blegat merged commit 50db875 into main Jun 6, 2025
@blegat
blegat deleted the bl/BurerMonteiro branch July 29, 2025 07:25
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