{"id":44484528,"url":"https://github.com/ai4co/parco","last_synced_at":"2026-02-13T01:47:44.583Z","repository":{"id":256174414,"uuid":"854380318","full_name":"ai4co/parco","owner":"ai4co","description":"[NeurIPS 2025] PARCO: Parallel AutoRegressive Combinatorial Optimization","archived":false,"fork":false,"pushed_at":"2025-11-28T02:25:09.000Z","size":15586,"stargazers_count":32,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-30T14:53:18.528Z","etag":null,"topics":["ai4co","combinatorial-optimization","neural-combinatorial-optimization","rl4co","scheduling","transformers","vehicle-routing"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2409.03811","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ai4co.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-09T04:17:58.000Z","updated_at":"2025-11-28T02:25:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"05cdaca4-968e-4911-8313-c86840671c98","html_url":"https://github.com/ai4co/parco","commit_stats":null,"previous_names":["ai4co/parco"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ai4co/parco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4co%2Fparco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4co%2Fparco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4co%2Fparco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4co%2Fparco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ai4co","download_url":"https://codeload.github.com/ai4co/parco/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ai4co%2Fparco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29392159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T00:53:09.511Z","status":"ssl_error","status_checked_at":"2026-02-13T00:53:09.126Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ai4co","combinatorial-optimization","neural-combinatorial-optimization","rl4co","scheduling","transformers","vehicle-routing"],"created_at":"2026-02-13T01:47:43.995Z","updated_at":"2026-02-13T01:47:44.579Z","avatar_url":"https://github.com/ai4co.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PARCO\n\n[![arXiv](https://img.shields.io/badge/arXiv-2409.03811-b31b1b.svg)](https://arxiv.org/abs/2409.03811) [![Slack](https://img.shields.io/badge/slack-chat-611f69.svg?logo=slack)](https://join.slack.com/t/ai4co-community/shared_invite/zt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw)\n[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg)](https://opensource.org/licenses/MIT)\n[![HuggingFace Dataset](https://img.shields.io/badge/%F0%9F%A4%97-Dataset-yellow)](https://huggingface.co/ai4co/parco)\n[![HuggingFace Models](https://img.shields.io/badge/%F0%9F%A4%97-Models-yellow)](https://huggingface.co/datasets/ai4co/parco)\n[![Slideslive](https://img.shields.io/badge/SlidesLive-Video-da0f30.svg)](https://recorder-v3.slideslive.com/?share=106087\u0026s=34a9a21f-3f2a-4a4d-9979-98fe9e9d7f33)\n[![Google Slides](https://img.shields.io/badge/Google-Slides-f3b421.svg)](https://docs.google.com/presentation/d/18cM_0-PNgTRatMlrFF9AM9ngMohtqNo85BmN5BoLn14/edit?usp=sharing)\n[![Slideslive](https://img.shields.io/badge/NeurIPS-Page-674489.svg)](https://neurips.cc/virtual/2025/poster/119562)\n\n\n\u003cdiv align=\"center\"\u003e\n\u003ci\u003e PARCO has been accepted at NeurIPS 2025! 🥳\u003c/i\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\nCode repository for \"PARCO: Parallel AutoRegressive Models for Multi-Agent Combinatorial Optimization\"\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/ar-vs-par.png\" style=\"width: 100%; height: auto;\"\u003e\n    \u003ci\u003e Autoregressive policy (AR) and Parallel Autoregressive (PAR) decoding \u003c/i\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"assets/parco-model.png\" style=\"width: 100%; height: auto;\"\u003e\n    \u003ci\u003e PARCO Model\u003c/i\u003e\n\u003c/div\u003e\n\n## 🚀 Usage\n\n### Installation\n\nWe use [uv](https://docs.astral.sh/uv/getting-started/installation/) for fast installation and dependency management:\n\n```bash\nuv venv\nsource .venv/bin/activate\nuv sync --all-extras\n```\n\nTo download the data and checkpoints from HuggingFace automatically, you can use:\n\n```bash\npython scripts/download_hf.py\n```\n\n### Quickstart Notebooks\n\nWe made examples for each problem that can be trained under two minutes on consumer hardware. You can find them in the `examples/` folder:\n\n- [1.quickstart-hcvrp.ipynb](examples/1.quickstart-hcvrp.ipynb): HCVRP (Heterogeneous Capacitated Vehicle Routing Problem)\n- [2.quickstart-omdcpdp.ipynb](examples/2.quickstart-omdcpdp.ipynb): OMDCPDP (Open Multi-Depot Capacitated Pickup and Delivery Problem)\n- [3.quickstart-ffsp.ipynb](examples/3.quickstart-ffsp.ipynb): FFSP (Flexible Flow Shop Scheduling Problem)\n\n### Train your own model\n\nYou can train your own model using the `train.py` script. For example, to train a model for the HCVRP problem, you can run:\n\n```bash\npython train.py experiment=hcvrp\n```\n\nyou can change the `experiment` parameter to `omdcpdp` or `ffsp` to train the model for the OMDCPDP or FFSP problem, respectively.\n\nNote on legacy FFSP code: the initial version we made was not yet integrated in RL4CO, so we left it the [`parco/tasks/ffsp_old`](parco/tasks/ffsp_old/README.md) folder, so you can still use it.\n\n### Testing\n\nYou may run the `test.py` script to evaluate the model, e.g. with greedy decoding:\n\n```bash\npython test.py --problem hcvrp --decode_type greedy --batch_size 128\n```\n\n(note: we measure time with single instance -- batch size 1, but larger makes the overall evaluation faster), or with sampling:\n\n```bash\npython test.py --problem hcvrp --decode_type sampling --batch_size 1 --sample_size 1280\n```\n\n### Other scripts\n\n- Data generation: We also include scripts to re-generate data manually (reproducible via random seeds) with `python scripts/generate_data.py`.\n- OR-Tools: We additionally include a script to solve the problem using OR-Tools with `python scripts/run_ortools.py`.\n\n## 🤩 Citation\n\nIf you find PARCO valuable for your research or applied projects:\n\n```bibtex\n@inproceedings{berto2025parco,\n    title={{PARCO: Parallel AutoRegressive Models for Multi-Agent Combinatorial Optimization}}, \n    author={Federico Berto and Chuanbo Hua and Laurin Luttmann and Jiwoo Son and Junyoung Park and Kyuree Ahn and Changhyun Kwon and Lin Xie and Jinkyoo Park},\n    booktitle={Advances in Neural Information Processing Systems},\n    year={2025},\n    url={https://github.com/ai4co/parco}\n}\n```\n\nWe will also be happy if you cite the RL4CO framework that we used to create PARCO:\n\n```bibtex\n@inproceedings{berto2025rl4co,\n    title={{RL4CO: an Extensive Reinforcement Learning for Combinatorial Optimization Benchmark}},\n    author={Federico Berto and Chuanbo Hua and Junyoung Park and Laurin Luttmann and Yining Ma and Fanchen Bu and Jiarui Wang and Haoran Ye and Minsu Kim and Sanghyeok Choi and Nayeli Gast Zepeda and Andr\\'e Hottung and Jianan Zhou and Jieyi Bi and Yu Hu and Fei Liu and Hyeonah Kim and Jiwoo Son and Haeyeon Kim and Davide Angioni and Wouter Kool and Zhiguang Cao and Jie Zhang and Kijung Shin and Cathy Wu and Sungsoo Ahn and Guojie Song and Changhyun Kwon and Lin Xie and Jinkyoo Park},\n    booktitle={Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining},\n    year={2025},\n    url={https://github.com/ai4co/rl4co}\n}\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/ai4co\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/ai4co/assets/main/svg/ai4co_animated_full.svg\" alt=\"AI4CO Logo\" style=\"width: 30%; height: auto;\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai4co%2Fparco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai4co%2Fparco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai4co%2Fparco/lists"}