coordinate API with GraphOptim and move JuMP-dependent functionality there

Open
#17 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
julia

Research direction

Compare the matching functionality with GraphOptim, including GraphOptim.min_cost_assignment, and review the MatchingResult types in both libraries. Check how the Hungarian and Blossom-based functions relate to BipartiteMatching.jl; done means the JuMP-dependent functions, return types, and APIs are consistently coordinated across the libraries.

Written by the indexing model from the issue text.

Description

If I understand correctly, GraphOptim exists as a home for all graph algorithms that require a MILP tool like JuMP.

In which case:

  • the maximum/minimum perfect match functions based on the Blossom algorithm should probably stay here
  • the maximum/minimum weight match (not perfect) that use the Hungarian algorithm and require JuMP should probably moved to GraphOptim
  • the MatchingResult return type should be synchronized between the two libraries

Also need to be consistent with GraphOptim.min_cost_assignment and BipartiteMatching.jl

Dominant language
Julia
Stars
20
Forks
8
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from JuliaGraphs/GraphsMatching.jl

All issues in JuliaGraphs/GraphsMatching.jl

Similar issues

More Julia issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.