https://github.com/ocramz/assignment-riemann-opt
minimum bipartite matching via Riemann optimization
https://github.com/ocramz/assignment-riemann-opt
bipartite-matching manifold-optimization riemannian-optimization sgd
Last synced: 8 months ago
JSON representation
minimum bipartite matching via Riemann optimization
- Host: GitHub
- URL: https://github.com/ocramz/assignment-riemann-opt
- Owner: ocramz
- Created: 2023-12-10T15:53:26.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T15:15:13.000Z (9 months ago)
- Last Synced: 2025-01-05T16:24:37.749Z (9 months ago)
- Topics: bipartite-matching, manifold-optimization, riemannian-optimization, sgd
- Language: Python
- Homepage:
- Size: 21 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## minimum bipartite matching via Riemann optimization
![]()
A sample run, with cost lower bound (LB) given by the combinatorial (Munkres) solution and corresponding solution in dashed red line. In d=10, the Birkhoff polytope has 3628800 corners so it's likely SGD got stuck in a local minimum.-----
Instead of a scipy one-liner ( [linear sum assignment](#assign) ), we take the panoramic route and formulate it as an optimization
problem over the manifold of doubly-stochastic matrices, hoping to end up in a corner of the [Birkhoff polytope](#birkhoff).~~If it works I'll write a blog post about it~~ UPDATE: it works
UPDATE: blog post: https://ocramz.github.io/posts/2023-12-21-assignment-riemann-opt.html
### References
* https://en.wikipedia.org/wiki/Assignment_problem
* https://en.wikipedia.org/wiki/Doubly_stochastic_matrix