Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shreckye/jgrapht-memory-efficient-bipartite-graph
A memory-efficient matching algorithm (Kuhn–Munkres and Hopcroft–Karp) implementation based on JGraphT in Java
https://github.com/shreckye/jgrapht-memory-efficient-bipartite-graph
bipartite-graphs hopcroft-karp jgrapht kotlin kuhn-munkres large-dataset memory-efficient
Last synced: 17 days ago
JSON representation
A memory-efficient matching algorithm (Kuhn–Munkres and Hopcroft–Karp) implementation based on JGraphT in Java
- Host: GitHub
- URL: https://github.com/shreckye/jgrapht-memory-efficient-bipartite-graph
- Owner: ShreckYe
- License: apache-2.0
- Created: 2019-05-02T05:49:33.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-10-21T10:44:45.000Z (about 5 years ago)
- Last Synced: 2024-10-30T04:29:05.957Z (2 months ago)
- Topics: bipartite-graphs, hopcroft-karp, jgrapht, kotlin, kuhn-munkres, large-dataset, memory-efficient
- Language: Kotlin
- Homepage:
- Size: 64.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JGraphT memory-efficient bipartite graph
A [JGraphT](https://jgrapht.org/) memory-efficient bipartite graph implementation for matching algorithms (Kuhn–Munkres and Hopcroft–Karp) in Kotlin
## Introduction
This repo includes a memory-efficient implementation of A bipartite graph based on [JGraphT](https://jgrapht.org/) and [Eclipse Collections](https://www.eclipse.org/collections/), along with examples on how to call optimal matching algorithms (assignment algorithms) such as Kuhn–Munkres algorithm (Hungarian algorithm) and Hopcroft–Karp algorithm on such a graph, intended to solve optimal matching problems for really large data on a single machine.A project based on this implemetation has successfully solved a matching problem of 400000 vertices in each bipartite set, each with 20000 edges on average in half a day on a machine with 32GB RAM.
## Apache License
```
Copyright 2019 Yongshun YeLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```