{"id":28720212,"url":"https://github.com/bkj/auction-lap","last_synced_at":"2025-06-15T06:07:24.222Z","repository":{"id":33632586,"uuid":"138109136","full_name":"bkj/auction-lap","owner":"bkj","description":"Auction algorithm for solving linear assignment problem (LAP)","archived":false,"fork":false,"pushed_at":"2022-06-21T21:18:47.000Z","size":107,"stargazers_count":61,"open_issues_count":5,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-02T09:51:59.203Z","etag":null,"topics":["auction-algorithm","auction-lap","linear-assignment-problem","pytorch"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-21T02:27:00.000Z","updated_at":"2023-02-23T16:54:16.000Z","dependencies_parsed_at":"2022-06-28T13:02:16.109Z","dependency_job_id":null,"html_url":"https://github.com/bkj/auction-lap","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/bkj/auction-lap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkj%2Fauction-lap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkj%2Fauction-lap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkj%2Fauction-lap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkj%2Fauction-lap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkj","download_url":"https://codeload.github.com/bkj/auction-lap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkj%2Fauction-lap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259930000,"owners_count":22933538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auction-algorithm","auction-lap","linear-assignment-problem","pytorch"],"created_at":"2025-06-15T06:07:23.097Z","updated_at":"2025-06-15T06:07:24.194Z","avatar_url":"https://github.com/bkj.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#### auction-lap\n\nLinear Assignment Problem (LAP) solver using the auction algorithm.  Implemented in `pytorch`, runs on CPU or GPU.\n\nRuntime scales w/\n - the dimension of the matrix\n - the range of entries in the matrix (max value - min value)\n\n__Note:__ [cuda_auction](https://github.com/bkj/cuda_auction) is a lower-level CUDA implementation of the same algorithm.\n__Note:__ [numba_auction](https://github.com/bkj/numba_auction) is a numba implementation of the same algorithm.\n\n##### Installation\n\n```\nconda create -n auction_env python=3.6 pip\nsource activate auction_env\npip install -r requirements.txt\nconda install pytorch==0.3.1 torchvision cuda91 -c pytorch -y\n```\n\n##### Usage\n\n```\nusage: benchmark.py [-h] [--max-entry MAX_ENTRY] [--min-dim MIN_DIM]\n                    [--max-dim MAX_DIM] [--n-evals N_EVALS] [--eps EPS]\n                    [--seed SEED]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --max-entry MAX_ENTRY\n                        maximum entry in matrix\n  --min-dim MIN_DIM     minimum dimension matrix to test\n  --max-dim MAX_DIM     maximum dimension matrix to test\n  --n-evals N_EVALS     number of steps between min and max matrix size\n  --eps EPS             \"bid size\" -- smaller values give better accuracy w/\n                        longer runtime\n  --seed SEED           random seed\n```\n\nSee `./run.sh` for examples.\n\n##### Results\n\n![100-exact-time](imgs/time-100-exact.png)\n![1000-approx-time](imgs/time-1000.png)\n![1000-approx-score](imgs/score-1000.png)\n\n##### To Do\n\n - Would this give any speedups?\n    - https://github.com/rusty1s/pytorch_scatter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkj%2Fauction-lap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkj%2Fauction-lap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkj%2Fauction-lap/lists"}