From 5330c014111101f7bf02bf87c2fa2b1b47592944 Mon Sep 17 00:00:00 2001 From: <> Date: Wed, 18 Sep 2024 15:47:02 +0000 Subject: [PATCH] Deployed 681bef8 with MkDocs version: 1.6.1 --- .nojekyll | 0 404.html | 2332 ++++ CNAME | 1 + README.md | 447 + README_backup/README_backup.md | 224 + README_backup/index.html | 2668 +++++ assets/_mkdocstrings.css | 119 + assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.56dfad97.min.js | 16 + assets/javascripts/bundle.56dfad97.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 ++++++++++++ .../workers/search.6ce7567c.min.js | 42 + .../workers/search.6ce7567c.min.js.map | 7 + assets/stylesheets/main.35f28582.min.css | 1 + assets/stylesheets/main.35f28582.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + configs/__init__.py | 1 + configs/callbacks/default.yaml | 19 + configs/callbacks/early_stopping.yaml | 17 + configs/callbacks/learning_rate_monitor.yaml | 3 + configs/callbacks/model_checkpoint.yaml | 19 + configs/callbacks/model_summary.yaml | 7 + configs/callbacks/rich_progress_bar.yaml | 6 + configs/callbacks/speed_monitor.yaml | 7 + configs/debug/default.yaml | 45 + configs/debug/fdr.yaml | 9 + configs/debug/limit.yaml | 12 + configs/debug/overfit.yaml | 13 + configs/debug/profiler.yaml | 12 + configs/env/cvrp.yaml | 10 + configs/env/cvrptw.yaml | 10 + configs/env/default.yaml | 6 + configs/env/dpp.yaml | 10 + configs/env/ffsp.yaml | 10 + configs/env/fjsp/10j-5m.yaml | 13 + configs/env/fjsp/15j-10m.yaml | 13 + configs/env/fjsp/20j-10m.yaml | 13 + configs/env/fjsp/20j-5m.yaml | 13 + configs/env/jssp/10j-10m.yaml | 11 + configs/env/jssp/15j-15m.yaml | 11 + configs/env/jssp/20j-20m.yaml | 11 + configs/env/jssp/6j-6m.yaml | 11 + configs/env/mdcpdp.yaml | 13 + configs/env/mdpp.yaml | 11 + configs/env/mtsp.yaml | 11 + configs/env/op.yaml | 10 + configs/env/pctsp.yaml | 9 + configs/env/pdp.yaml | 12 + configs/env/sdvrp.yaml | 10 + configs/env/spctsp.yaml | 10 + configs/env/svrp.yaml | 10 + configs/env/tsp.yaml | 10 + configs/experiment/base.yaml | 48 + configs/experiment/eda/am-a2c.yaml | 35 + configs/experiment/eda/am-ppo.yaml | 42 + configs/experiment/eda/am.yaml | 30 + configs/experiment/graph/am.yaml | 30 + configs/experiment/routing/am-a2c.yaml | 22 + configs/experiment/routing/am-ppo.yaml | 52 + configs/experiment/routing/am-svrp.yaml | 40 + configs/experiment/routing/am-xl.yaml | 45 + configs/experiment/routing/am.yaml | 42 + configs/experiment/routing/ar-gnn.yaml | 47 + configs/experiment/routing/deepaco.yaml | 55 + configs/experiment/routing/mdpomo.yaml | 41 + configs/experiment/routing/polynet.yaml | 44 + configs/experiment/routing/pomo.yaml | 40 + configs/experiment/routing/ptrnet.yaml | 45 + configs/experiment/routing/symnco.yaml | 43 + .../experiment/routing/tsp-stepwise-ppo.yaml | 57 + configs/experiment/scheduling/am-pomo.yaml | 24 + configs/experiment/scheduling/am-ppo.yaml | 50 + configs/experiment/scheduling/base.yaml | 40 + .../experiment/scheduling/ffsp-matnet.yaml | 46 + configs/experiment/scheduling/gnn-ppo.yaml | 33 + configs/experiment/scheduling/hgnn-pomo.yaml | 28 + configs/experiment/scheduling/hgnn-ppo.yaml | 27 + .../experiment/scheduling/matnet-pomo.yaml | 38 + configs/experiment/scheduling/matnet-ppo.yaml | 42 + configs/extras/default.yaml | 8 + configs/hydra/default.yaml | 14 + configs/logger/aim.yaml | 28 + configs/logger/comet.yaml | 12 + configs/logger/csv.yaml | 7 + configs/logger/many_loggers.yaml | 9 + configs/logger/mlflow.yaml | 12 + configs/logger/neptune.yaml | 9 + configs/logger/none.yaml | 1 + configs/logger/tensorboard.yaml | 10 + configs/logger/wandb.yaml | 25 + configs/main.yaml | 65 + configs/model/am-ppo.yaml | 4 + configs/model/am.yaml | 3 + configs/model/deepaco.yaml | 3 + configs/model/default.yaml | 2 + configs/model/ham.yaml | 1 + configs/model/l2d.yaml | 1 + configs/model/matnet.yaml | 7 + configs/model/mdam.yaml | 1 + configs/model/polynet.yaml | 11 + configs/model/pomo.yaml | 10 + configs/model/ptrnet.yaml | 1 + configs/model/symnco.yaml | 10 + configs/paths/default.yaml | 18 + configs/trainer/default.yaml | 15 + docs/README.md | 26 + docs/__pycache__/hooks.cpython-312.pyc | Bin 0 -> 3662 bytes docs/assets/figs/MIT_logo.svg | 9 + docs/assets/figs/embeddings.png | Bin 0 -> 39019 bytes docs/assets/figs/framework.png | Bin 0 -> 28745 bytes docs/assets/figs/policies.png | Bin 0 -> 78113 bytes docs/assets/figs/rl4co-logo.svg | 38 + docs/assets/rl4co_animated_full_tricks.svg | 77 + docs/content/api/data/data.md | 23 + docs/content/api/data/index.html | 4656 ++++++++ docs/content/api/decoding/decoding.md | 5 + docs/content/api/decoding/index.html | 4437 ++++++++ docs/content/api/envs/base/base.md | 15 + docs/content/api/envs/base/index.html | 4135 +++++++ docs/content/api/envs/eda/eda.md | 14 + docs/content/api/envs/eda/index.html | 3397 ++++++ docs/content/api/envs/graph/graph.md | 14 + docs/content/api/envs/graph/index.html | 3184 ++++++ docs/content/api/envs/routing/index.html | 8328 ++++++++++++++ docs/content/api/envs/routing/routing.md | 61 + docs/content/api/envs/scheduling/index.html | 4005 +++++++ .../content/api/envs/scheduling/scheduling.md | 26 + .../networks/base_policies/base_policies.md | 42 + .../api/networks/base_policies/index.html | 5102 +++++++++ .../networks/env_embeddings/env_embeddings.md | 34 + .../api/networks/env_embeddings/index.html | 5046 +++++++++ .../improvement_policies.md | 7 + .../networks/improvement_policies/index.html | 3056 ++++++ docs/content/api/networks/nn/index.html | 5946 ++++++++++ docs/content/api/networks/nn/nn.md | 29 + docs/content/api/rl/a2c/a2c.md | 1 + docs/content/api/rl/a2c/index.html | 2685 +++++ docs/content/api/rl/base/base.md | 19 + docs/content/api/rl/base/index.html | 4206 ++++++++ docs/content/api/rl/ppo/index.html | 2718 +++++ docs/content/api/rl/ppo/ppo.md | 1 + docs/content/api/rl/reinforce/index.html | 4957 +++++++++ docs/content/api/rl/reinforce/reinforce.md | 10 + docs/content/api/tasks/index.html | 3491 ++++++ docs/content/api/tasks/tasks.md | 9 + docs/content/api/train_and_eval/index.html | 2357 ++++ .../api/train_and_eval/train_and_eval.md | 0 .../zoo/constructive_ar/constructive_ar.md | 113 + .../api/zoo/constructive_ar/index.html | 9594 +++++++++++++++++ .../zoo/constructive_nar/constructive_nar.md | 27 + .../api/zoo/constructive_nar/index.html | 5212 +++++++++ .../api/zoo/improvement/improvement.md | 55 + docs/content/api/zoo/improvement/index.html | 7042 ++++++++++++ docs/content/api/zoo/transductive/index.html | 5074 +++++++++ .../api/zoo/transductive/transductive.md | 23 + docs/content/general/ai4co/ai4co.md | 14 + docs/content/general/ai4co/index.html | 2447 +++++ docs/content/general/contribute/contribute.md | 14 + docs/content/general/contribute/index.html | 2447 +++++ docs/content/general/faq/faq.md | 24 + docs/content/general/faq/index.html | 2448 +++++ docs/content/general/licensing/index.html | 2390 ++++ docs/content/general/licensing/licensing.md | 14 + docs/content/general/paper/index.html | 2445 +++++ docs/content/general/paper/paper.md | 15 + .../intro/environments/environments.md | 193 + docs/content/intro/environments/index.html | 2944 +++++ docs/content/intro/intro/index.html | 2555 +++++ docs/content/intro/intro/intro.md | 49 + docs/content/intro/policies/index.html | 2556 +++++ docs/content/intro/policies/policies.md | 53 + docs/content/intro/rl/index.html | 2498 +++++ docs/content/intro/rl/rl.md | 43 + docs/content/start/hydra/hydra.md | 166 + docs/content/start/hydra/index.html | 2726 +++++ docs/content/start/installation/index.html | 2491 +++++ .../start/installation/installation.md | 45 + docs/hooks.py | 61 + docs/index.html | 2410 +++++ docs/js/autolink.js | 34 + docs/js/katex.js | 10 + docs/js/tsparticles.js | 2 + docs/overrides/fancylogo.txt | 257 + docs/overrides/main.html | 12 + docs/stylesheets/extra.css | 30 + docs/stylesheets/mkdocstrings.css | 54 + examples/1-quickstart/1-quickstart.ipynb | 455 + examples/1-quickstart/index.html | 3735 +++++++ .../2-full-training/2-full-training.ipynb | 937 ++ examples/2-full-training/index.html | 4469 ++++++++ examples/2b-train-simple.py | 69 + examples/2d-meta_train.py | 80 + .../3-creating-new-env-model.ipynb | 941 ++ examples/3-creating-new-env-model/index.html | 4916 +++++++++ examples/README.md | 30 + .../1-hydra-config/1-hydra-config.ipynb | 430 + examples/advanced/1-hydra-config/index.html | 3592 ++++++ .../2-flash-attention-2.ipynb | 410 + .../advanced/2-flash-attention-2/index.html | 3541 ++++++ .../3-local-search/3-local-search.ipynb | 185 + examples/advanced/3-local-search/index.html | 3235 ++++++ examples/advanced/README.md | 9 + examples/advanced/index.html | 2385 ++++ .../1-test-on-tsplib/1-test-on-tsplib.ipynb | 637 ++ examples/datasets/1-test-on-tsplib/index.html | 4090 +++++++ .../2-test-on-cvrplib/2-test-on-cvrplib.ipynb | 537 + .../datasets/2-test-on-cvrplib/index.html | 3949 +++++++ examples/datasets/README.md | 9 + examples/datasets/index.html | 2385 ++++ examples/index.html | 2449 +++++ .../1-decoding-strategies.ipynb | 679 ++ .../modeling/1-decoding-strategies/index.html | 4269 ++++++++ .../2-transductive-methods.ipynb | 436 + .../2-transductive-methods/index.html | 3625 +++++++ .../3-change-encoder/3-change-encoder.ipynb | 520 + examples/modeling/3-change-encoder/index.html | 3669 +++++++ examples/modeling/README.md | 10 + examples/modeling/index.html | 2386 ++++ examples/other/1-mtvrp/1-mtvrp.ipynb | 647 ++ examples/other/1-mtvrp/index.html | 3996 +++++++ .../other/2-scheduling/2-scheduling.ipynb | 829 ++ examples/other/2-scheduling/index.html | 4336 ++++++++ .../3-data-generator-distributions.ipynb | 372 + .../3-data-generator-distributions/index.html | 3483 ++++++ examples/other/README.md | 9 + examples/other/index.html | 2386 ++++ index.html | 3069 ++++++ objects.inv | Bin 0 -> 3291 bytes rl4co/__init__.py | 4 + rl4co/data/__init__.py | 0 rl4co/data/dataset.py | 134 + rl4co/data/generate_data.py | 386 + rl4co/data/transforms.py | 150 + rl4co/data/utils.py | 71 + rl4co/envs/__init__.py | 77 + rl4co/envs/common/__init__.py | 2 + rl4co/envs/common/base.py | 403 + rl4co/envs/common/distribution_utils.py | 292 + rl4co/envs/common/utils.py | 109 + rl4co/envs/eda/__init__.py | 2 + rl4co/envs/eda/dpp/__init__.py | 0 rl4co/envs/eda/dpp/env.py | 260 + rl4co/envs/eda/dpp/generator.py | 169 + rl4co/envs/eda/dpp/render.py | 84 + rl4co/envs/eda/mdpp/__init__.py | 0 rl4co/envs/eda/mdpp/env.py | 161 + rl4co/envs/eda/mdpp/generator.py | 178 + rl4co/envs/eda/mdpp/render.py | 161 + rl4co/envs/graph/__init__.py | 4 + rl4co/envs/graph/flp/__init__.py | 0 rl4co/envs/graph/flp/env.py | 169 + rl4co/envs/graph/flp/generator.py | 74 + rl4co/envs/graph/mcp/__init__.py | 0 rl4co/envs/graph/mcp/env.py | 193 + rl4co/envs/graph/mcp/generator.py | 138 + rl4co/envs/routing/__init__.py | 24 + rl4co/envs/routing/atsp/__init__.py | 0 rl4co/envs/routing/atsp/env.py | 173 + rl4co/envs/routing/atsp/generator.py | 71 + rl4co/envs/routing/atsp/render.py | 50 + rl4co/envs/routing/cvrp/__init__.py | 0 rl4co/envs/routing/cvrp/env.py | 258 + rl4co/envs/routing/cvrp/generator.py | 143 + rl4co/envs/routing/cvrp/local_search.py | 215 + rl4co/envs/routing/cvrp/render.py | 133 + rl4co/envs/routing/cvrptw/__init__.py | 0 rl4co/envs/routing/cvrptw/env.py | 291 + rl4co/envs/routing/cvrptw/generator.py | 162 + rl4co/envs/routing/cvrptw/render.py | 133 + rl4co/envs/routing/mdcpdp/__init__.py | 0 rl4co/envs/routing/mdcpdp/env.py | 354 + rl4co/envs/routing/mdcpdp/generator.py | 126 + rl4co/envs/routing/mdcpdp/render.py | 120 + rl4co/envs/routing/mpdp/__init__.py | 0 rl4co/envs/routing/mpdp/env.py | 405 + rl4co/envs/routing/mpdp/generator.py | 95 + rl4co/envs/routing/mpdp/render.py | 114 + rl4co/envs/routing/mtsp/__init__.py | 0 rl4co/envs/routing/mtsp/env.py | 246 + rl4co/envs/routing/mtsp/generator.py | 72 + rl4co/envs/routing/mtsp/render.py | 95 + rl4co/envs/routing/mtvrp/__init__.py | 0 .../envs/routing/mtvrp/baselines/__init__.py | 0 .../envs/routing/mtvrp/baselines/constants.py | 42 + rl4co/envs/routing/mtvrp/baselines/lkh.py | 214 + rl4co/envs/routing/mtvrp/baselines/ortools.py | 248 + rl4co/envs/routing/mtvrp/baselines/pyvrp.py | 109 + rl4co/envs/routing/mtvrp/baselines/solve.py | 83 + rl4co/envs/routing/mtvrp/baselines/utils.py | 36 + rl4co/envs/routing/mtvrp/env.py | 503 + rl4co/envs/routing/mtvrp/generator.py | 436 + rl4co/envs/routing/mtvrp/render.py | 145 + rl4co/envs/routing/op/__init__.py | 0 rl4co/envs/routing/op/env.py | 262 + rl4co/envs/routing/op/generator.py | 149 + rl4co/envs/routing/op/render.py | 86 + rl4co/envs/routing/pctsp/__init__.py | 0 rl4co/envs/routing/pctsp/env.py | 284 + rl4co/envs/routing/pctsp/generator.py | 143 + rl4co/envs/routing/pctsp/render.py | 93 + rl4co/envs/routing/pdp/__init__.py | 0 rl4co/envs/routing/pdp/env.py | 535 + rl4co/envs/routing/pdp/generator.py | 152 + rl4co/envs/routing/pdp/render.py | 142 + rl4co/envs/routing/sdvrp/__init__.py | 0 rl4co/envs/routing/sdvrp/env.py | 210 + rl4co/envs/routing/spctsp/__init__.py | 0 rl4co/envs/routing/spctsp/env.py | 31 + rl4co/envs/routing/svrp/__init__.py | 0 rl4co/envs/routing/svrp/env.py | 255 + rl4co/envs/routing/svrp/generator.py | 107 + rl4co/envs/routing/svrp/render.py | 103 + rl4co/envs/routing/tsp/__init__.py | 0 rl4co/envs/routing/tsp/env.py | 606 ++ rl4co/envs/routing/tsp/generator.py | 99 + rl4co/envs/routing/tsp/local_search.py | 74 + rl4co/envs/routing/tsp/render.py | 110 + rl4co/envs/scheduling/__init__.py | 4 + rl4co/envs/scheduling/ffsp/__init__.py | 0 rl4co/envs/scheduling/ffsp/env.py | 458 + rl4co/envs/scheduling/ffsp/generator.py | 65 + rl4co/envs/scheduling/ffsp/render.py | 72 + rl4co/envs/scheduling/fjsp/__init__.py | 2 + rl4co/envs/scheduling/fjsp/env.py | 508 + rl4co/envs/scheduling/fjsp/generator.py | 238 + rl4co/envs/scheduling/fjsp/parser.py | 180 + rl4co/envs/scheduling/fjsp/render.py | 72 + rl4co/envs/scheduling/fjsp/utils.py | 334 + rl4co/envs/scheduling/jssp/__init__.py | 0 rl4co/envs/scheduling/jssp/env.py | 123 + rl4co/envs/scheduling/jssp/generator.py | 208 + rl4co/envs/scheduling/jssp/parser.py | 110 + rl4co/envs/scheduling/smtwtp/__init__.py | 0 rl4co/envs/scheduling/smtwtp/env.py | 203 + rl4co/envs/scheduling/smtwtp/generator.py | 88 + rl4co/envs/scheduling/smtwtp/render.py | 15 + rl4co/models/__init__.py | 49 + rl4co/models/common/__init__.py | 21 + rl4co/models/common/constructive/__init__.py | 15 + .../constructive/autoregressive/__init__.py | 3 + .../constructive/autoregressive/decoder.py | 13 + .../constructive/autoregressive/encoder.py | 13 + .../constructive/autoregressive/policy.py | 46 + rl4co/models/common/constructive/base.py | 268 + .../nonautoregressive/__init__.py | 9 + .../constructive/nonautoregressive/decoder.py | 40 + .../constructive/nonautoregressive/encoder.py | 13 + .../constructive/nonautoregressive/policy.py | 40 + rl4co/models/common/improvement/__init__.py | 1 + rl4co/models/common/improvement/base.py | 146 + rl4co/models/common/transductive/__init__.py | 1 + rl4co/models/common/transductive/base.py | 93 + rl4co/models/nn/__init__.py | 0 rl4co/models/nn/attention.py | 537 + rl4co/models/nn/env_embeddings/__init__.py | 4 + rl4co/models/nn/env_embeddings/context.py | 372 + rl4co/models/nn/env_embeddings/dynamic.py | 121 + rl4co/models/nn/env_embeddings/edge.py | 153 + rl4co/models/nn/env_embeddings/init.py | 512 + rl4co/models/nn/flash_attention.py | 64 + rl4co/models/nn/graph/__init__.py | 0 rl4co/models/nn/graph/attnnet.py | 103 + rl4co/models/nn/graph/gcn.py | 114 + rl4co/models/nn/graph/gnn.py | 99 + rl4co/models/nn/graph/hgnn.py | 133 + rl4co/models/nn/graph/mpnn.py | 173 + rl4co/models/nn/mlp.py | 80 + rl4co/models/nn/moe.py | 277 + rl4co/models/nn/ops.py | 137 + rl4co/models/nn/pos_embeddings.py | 159 + rl4co/models/rl/__init__.py | 6 + rl4co/models/rl/a2c/__init__.py | 0 rl4co/models/rl/a2c/a2c.py | 58 + rl4co/models/rl/common/__init__.py | 0 rl4co/models/rl/common/base.py | 333 + rl4co/models/rl/common/critic.py | 77 + rl4co/models/rl/common/utils.py | 48 + rl4co/models/rl/ppo/__init__.py | 0 rl4co/models/rl/ppo/n_step_ppo.py | 282 + rl4co/models/rl/ppo/ppo.py | 235 + rl4co/models/rl/ppo/stepwise_ppo.py | 171 + rl4co/models/rl/reinforce/__init__.py | 0 rl4co/models/rl/reinforce/baselines.py | 311 + rl4co/models/rl/reinforce/reinforce.py | 210 + rl4co/models/zoo/__init__.py | 30 + rl4co/models/zoo/active_search/__init__.py | 1 + rl4co/models/zoo/active_search/search.py | 203 + rl4co/models/zoo/am/__init__.py | 2 + rl4co/models/zoo/am/decoder.py | 235 + rl4co/models/zoo/am/encoder.py | 91 + rl4co/models/zoo/am/model.py | 34 + rl4co/models/zoo/am/policy.py | 122 + rl4co/models/zoo/amppo/__init__.py | 1 + rl4co/models/zoo/amppo/model.py | 49 + rl4co/models/zoo/dact/__init__.py | 2 + rl4co/models/zoo/dact/decoder.py | 132 + rl4co/models/zoo/dact/encoder.py | 274 + rl4co/models/zoo/dact/model.py | 62 + rl4co/models/zoo/dact/policy.py | 186 + rl4co/models/zoo/deepaco/__init__.py | 2 + rl4co/models/zoo/deepaco/antsystem.py | 347 + rl4co/models/zoo/deepaco/model.py | 51 + rl4co/models/zoo/deepaco/policy.py | 147 + rl4co/models/zoo/eas/__init__.py | 1 + rl4co/models/zoo/eas/decoder.py | 128 + rl4co/models/zoo/eas/nn.py | 30 + rl4co/models/zoo/eas/search.py | 346 + rl4co/models/zoo/ham/__init__.py | 2 + rl4co/models/zoo/ham/attention.py | 488 + rl4co/models/zoo/ham/encoder.py | 73 + rl4co/models/zoo/ham/model.py | 37 + rl4co/models/zoo/ham/policy.py | 62 + rl4co/models/zoo/l2d/__init__.py | 2 + rl4co/models/zoo/l2d/decoder.py | 389 + rl4co/models/zoo/l2d/encoder.py | 26 + rl4co/models/zoo/l2d/model.py | 69 + rl4co/models/zoo/l2d/policy.py | 251 + rl4co/models/zoo/matnet/__init__.py | 2 + rl4co/models/zoo/matnet/decoder.py | 157 + rl4co/models/zoo/matnet/encoder.py | 224 + rl4co/models/zoo/matnet/matnet_w_sa.py | 202 + rl4co/models/zoo/matnet/model.py | 54 + rl4co/models/zoo/matnet/policy.py | 210 + rl4co/models/zoo/mdam/__init__.py | 2 + rl4co/models/zoo/mdam/decoder.py | 331 + rl4co/models/zoo/mdam/encoder.py | 101 + rl4co/models/zoo/mdam/mha.py | 87 + rl4co/models/zoo/mdam/model.py | 125 + rl4co/models/zoo/mdam/policy.py | 90 + rl4co/models/zoo/mvmoe/__init__.py | 2 + rl4co/models/zoo/mvmoe/model.py | 79 + rl4co/models/zoo/n2s/__init__.py | 2 + rl4co/models/zoo/n2s/decoder.py | 261 + rl4co/models/zoo/n2s/encoder.py | 217 + rl4co/models/zoo/n2s/model.py | 62 + rl4co/models/zoo/n2s/policy.py | 220 + rl4co/models/zoo/nargnn/__init__.py | 2 + rl4co/models/zoo/nargnn/encoder.py | 212 + rl4co/models/zoo/nargnn/policy.py | 107 + rl4co/models/zoo/neuopt/__init__.py | 2 + rl4co/models/zoo/neuopt/decoder.py | 77 + rl4co/models/zoo/neuopt/model.py | 62 + rl4co/models/zoo/neuopt/policy.py | 300 + rl4co/models/zoo/polynet/__init__.py | 1 + rl4co/models/zoo/polynet/decoder.py | 145 + rl4co/models/zoo/polynet/model.py | 241 + rl4co/models/zoo/polynet/policy.py | 101 + rl4co/models/zoo/pomo/__init__.py | 1 + rl4co/models/zoo/pomo/model.py | 144 + rl4co/models/zoo/ptrnet/__init__.py | 2 + rl4co/models/zoo/ptrnet/critic.py | 58 + rl4co/models/zoo/ptrnet/decoder.py | 182 + rl4co/models/zoo/ptrnet/encoder.py | 29 + rl4co/models/zoo/ptrnet/model.py | 35 + rl4co/models/zoo/ptrnet/policy.py | 107 + rl4co/models/zoo/symnco/__init__.py | 2 + rl4co/models/zoo/symnco/losses.py | 39 + rl4co/models/zoo/symnco/model.py | 142 + rl4co/models/zoo/symnco/policy.py | 91 + rl4co/tasks/README.md | 103 + rl4co/tasks/__init__.py | 0 rl4co/tasks/eval.py | 595 + rl4co/tasks/index.html | 2454 +++++ rl4co/tasks/train.py | 117 + rl4co/utils/__init__.py | 11 + rl4co/utils/callbacks/__init__.py | 0 rl4co/utils/callbacks/speed_monitor.py | 123 + rl4co/utils/decoding.py | 584 + rl4co/utils/instantiators.py | 61 + rl4co/utils/lightning.py | 76 + rl4co/utils/meta_trainer.py | 170 + rl4co/utils/ops.py | 262 + rl4co/utils/optim_helpers.py | 38 + rl4co/utils/pylogger.py | 25 + rl4co/utils/rich_utils.py | 97 + rl4co/utils/test_utils.py | 71 + rl4co/utils/trainer.py | 152 + rl4co/utils/utils.py | 285 + search/search_index.json | 1 + sitemap.xml | 223 + sitemap.xml.gz | Bin 0 -> 678 bytes tests/__init__.py | 0 tests/test_envs.py | 157 + tests/test_policy.py | 88 + tests/test_tasks.py | 78 + tests/test_training.py | 312 + tests/test_utils.py | 37 + 521 files changed, 258291 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CNAME create mode 100644 README.md create mode 100644 README_backup/README_backup.md create mode 100644 README_backup/index.html create mode 100644 assets/_mkdocstrings.css create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.56dfad97.min.js create mode 100644 assets/javascripts/bundle.56dfad97.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js.map create mode 100644 assets/stylesheets/main.35f28582.min.css create mode 100644 assets/stylesheets/main.35f28582.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 configs/__init__.py create mode 100644 configs/callbacks/default.yaml create mode 100644 configs/callbacks/early_stopping.yaml create mode 100644 configs/callbacks/learning_rate_monitor.yaml create mode 100644 configs/callbacks/model_checkpoint.yaml create mode 100644 configs/callbacks/model_summary.yaml create mode 100644 configs/callbacks/rich_progress_bar.yaml create mode 100644 configs/callbacks/speed_monitor.yaml create mode 100644 configs/debug/default.yaml create mode 100644 configs/debug/fdr.yaml create mode 100644 configs/debug/limit.yaml create mode 100644 configs/debug/overfit.yaml create mode 100644 configs/debug/profiler.yaml create mode 100644 configs/env/cvrp.yaml create mode 100644 configs/env/cvrptw.yaml create mode 100644 configs/env/default.yaml create mode 100644 configs/env/dpp.yaml create mode 100644 configs/env/ffsp.yaml create mode 100644 configs/env/fjsp/10j-5m.yaml create mode 100644 configs/env/fjsp/15j-10m.yaml create mode 100644 configs/env/fjsp/20j-10m.yaml create mode 100644 configs/env/fjsp/20j-5m.yaml create mode 100644 configs/env/jssp/10j-10m.yaml create mode 100644 configs/env/jssp/15j-15m.yaml create mode 100644 configs/env/jssp/20j-20m.yaml create mode 100644 configs/env/jssp/6j-6m.yaml create mode 100644 configs/env/mdcpdp.yaml create mode 100644 configs/env/mdpp.yaml create mode 100644 configs/env/mtsp.yaml create mode 100644 configs/env/op.yaml create mode 100644 configs/env/pctsp.yaml create mode 100644 configs/env/pdp.yaml create mode 100644 configs/env/sdvrp.yaml create mode 100644 configs/env/spctsp.yaml create mode 100644 configs/env/svrp.yaml create mode 100644 configs/env/tsp.yaml create mode 100644 configs/experiment/base.yaml create mode 100644 configs/experiment/eda/am-a2c.yaml create mode 100644 configs/experiment/eda/am-ppo.yaml create mode 100644 configs/experiment/eda/am.yaml create mode 100644 configs/experiment/graph/am.yaml create mode 100644 configs/experiment/routing/am-a2c.yaml create mode 100644 configs/experiment/routing/am-ppo.yaml create mode 100644 configs/experiment/routing/am-svrp.yaml create mode 100644 configs/experiment/routing/am-xl.yaml create mode 100644 configs/experiment/routing/am.yaml create mode 100644 configs/experiment/routing/ar-gnn.yaml create mode 100644 configs/experiment/routing/deepaco.yaml create mode 100644 configs/experiment/routing/mdpomo.yaml create mode 100644 configs/experiment/routing/polynet.yaml create mode 100644 configs/experiment/routing/pomo.yaml create mode 100644 configs/experiment/routing/ptrnet.yaml create mode 100644 configs/experiment/routing/symnco.yaml create mode 100644 configs/experiment/routing/tsp-stepwise-ppo.yaml create mode 100644 configs/experiment/scheduling/am-pomo.yaml create mode 100644 configs/experiment/scheduling/am-ppo.yaml create mode 100644 configs/experiment/scheduling/base.yaml create mode 100644 configs/experiment/scheduling/ffsp-matnet.yaml create mode 100644 configs/experiment/scheduling/gnn-ppo.yaml create mode 100644 configs/experiment/scheduling/hgnn-pomo.yaml create mode 100644 configs/experiment/scheduling/hgnn-ppo.yaml create mode 100644 configs/experiment/scheduling/matnet-pomo.yaml create mode 100644 configs/experiment/scheduling/matnet-ppo.yaml create mode 100644 configs/extras/default.yaml create mode 100644 configs/hydra/default.yaml create mode 100644 configs/logger/aim.yaml create mode 100644 configs/logger/comet.yaml create mode 100644 configs/logger/csv.yaml create mode 100644 configs/logger/many_loggers.yaml create mode 100644 configs/logger/mlflow.yaml create mode 100644 configs/logger/neptune.yaml create mode 100644 configs/logger/none.yaml create mode 100644 configs/logger/tensorboard.yaml create mode 100644 configs/logger/wandb.yaml create mode 100644 configs/main.yaml create mode 100644 configs/model/am-ppo.yaml create mode 100644 configs/model/am.yaml create mode 100644 configs/model/deepaco.yaml create mode 100644 configs/model/default.yaml create mode 100644 configs/model/ham.yaml create mode 100644 configs/model/l2d.yaml create mode 100644 configs/model/matnet.yaml create mode 100644 configs/model/mdam.yaml create mode 100644 configs/model/polynet.yaml create mode 100644 configs/model/pomo.yaml create mode 100644 configs/model/ptrnet.yaml create mode 100644 configs/model/symnco.yaml create mode 100644 configs/paths/default.yaml create mode 100644 configs/trainer/default.yaml create mode 100644 docs/README.md create mode 100644 docs/__pycache__/hooks.cpython-312.pyc create mode 100644 docs/assets/figs/MIT_logo.svg create mode 100644 docs/assets/figs/embeddings.png create mode 100644 docs/assets/figs/framework.png create mode 100644 docs/assets/figs/policies.png create mode 100644 docs/assets/figs/rl4co-logo.svg create mode 100644 docs/assets/rl4co_animated_full_tricks.svg create mode 100644 docs/content/api/data/data.md create mode 100644 docs/content/api/data/index.html create mode 100644 docs/content/api/decoding/decoding.md create mode 100644 docs/content/api/decoding/index.html create mode 100644 docs/content/api/envs/base/base.md create mode 100644 docs/content/api/envs/base/index.html create mode 100644 docs/content/api/envs/eda/eda.md create mode 100644 docs/content/api/envs/eda/index.html create mode 100644 docs/content/api/envs/graph/graph.md create mode 100644 docs/content/api/envs/graph/index.html create mode 100644 docs/content/api/envs/routing/index.html create mode 100644 docs/content/api/envs/routing/routing.md create mode 100644 docs/content/api/envs/scheduling/index.html create mode 100644 docs/content/api/envs/scheduling/scheduling.md create mode 100644 docs/content/api/networks/base_policies/base_policies.md create mode 100644 docs/content/api/networks/base_policies/index.html create mode 100644 docs/content/api/networks/env_embeddings/env_embeddings.md create mode 100644 docs/content/api/networks/env_embeddings/index.html create mode 100644 docs/content/api/networks/improvement_policies/improvement_policies.md create mode 100644 docs/content/api/networks/improvement_policies/index.html create mode 100644 docs/content/api/networks/nn/index.html create mode 100644 docs/content/api/networks/nn/nn.md create mode 100644 docs/content/api/rl/a2c/a2c.md create mode 100644 docs/content/api/rl/a2c/index.html create mode 100644 docs/content/api/rl/base/base.md create mode 100644 docs/content/api/rl/base/index.html create mode 100644 docs/content/api/rl/ppo/index.html create mode 100644 docs/content/api/rl/ppo/ppo.md create mode 100644 docs/content/api/rl/reinforce/index.html create mode 100644 docs/content/api/rl/reinforce/reinforce.md create mode 100644 docs/content/api/tasks/index.html create mode 100644 docs/content/api/tasks/tasks.md create mode 100644 docs/content/api/train_and_eval/index.html create mode 100644 docs/content/api/train_and_eval/train_and_eval.md create mode 100644 docs/content/api/zoo/constructive_ar/constructive_ar.md create mode 100644 docs/content/api/zoo/constructive_ar/index.html create mode 100644 docs/content/api/zoo/constructive_nar/constructive_nar.md create mode 100644 docs/content/api/zoo/constructive_nar/index.html create mode 100644 docs/content/api/zoo/improvement/improvement.md create mode 100644 docs/content/api/zoo/improvement/index.html create mode 100644 docs/content/api/zoo/transductive/index.html create mode 100644 docs/content/api/zoo/transductive/transductive.md create mode 100644 docs/content/general/ai4co/ai4co.md create mode 100644 docs/content/general/ai4co/index.html create mode 100644 docs/content/general/contribute/contribute.md create mode 100644 docs/content/general/contribute/index.html create mode 100644 docs/content/general/faq/faq.md create mode 100644 docs/content/general/faq/index.html create mode 100644 docs/content/general/licensing/index.html create mode 100644 docs/content/general/licensing/licensing.md create mode 100644 docs/content/general/paper/index.html create mode 100644 docs/content/general/paper/paper.md create mode 100644 docs/content/intro/environments/environments.md create mode 100644 docs/content/intro/environments/index.html create mode 100644 docs/content/intro/intro/index.html create mode 100644 docs/content/intro/intro/intro.md create mode 100644 docs/content/intro/policies/index.html create mode 100644 docs/content/intro/policies/policies.md create mode 100644 docs/content/intro/rl/index.html create mode 100644 docs/content/intro/rl/rl.md create mode 100644 docs/content/start/hydra/hydra.md create mode 100644 docs/content/start/hydra/index.html create mode 100644 docs/content/start/installation/index.html create mode 100644 docs/content/start/installation/installation.md create mode 100644 docs/hooks.py create mode 100644 docs/index.html create mode 100644 docs/js/autolink.js create mode 100644 docs/js/katex.js create mode 100644 docs/js/tsparticles.js create mode 100644 docs/overrides/fancylogo.txt create mode 100644 docs/overrides/main.html create mode 100644 docs/stylesheets/extra.css create mode 100644 docs/stylesheets/mkdocstrings.css create mode 100644 examples/1-quickstart/1-quickstart.ipynb create mode 100644 examples/1-quickstart/index.html create mode 100644 examples/2-full-training/2-full-training.ipynb create mode 100644 examples/2-full-training/index.html create mode 100644 examples/2b-train-simple.py create mode 100644 examples/2d-meta_train.py create mode 100644 examples/3-creating-new-env-model/3-creating-new-env-model.ipynb create mode 100644 examples/3-creating-new-env-model/index.html create mode 100644 examples/README.md create mode 100644 examples/advanced/1-hydra-config/1-hydra-config.ipynb create mode 100644 examples/advanced/1-hydra-config/index.html create mode 100644 examples/advanced/2-flash-attention-2/2-flash-attention-2.ipynb create mode 100644 examples/advanced/2-flash-attention-2/index.html create mode 100644 examples/advanced/3-local-search/3-local-search.ipynb create mode 100644 examples/advanced/3-local-search/index.html create mode 100644 examples/advanced/README.md create mode 100644 examples/advanced/index.html create mode 100644 examples/datasets/1-test-on-tsplib/1-test-on-tsplib.ipynb create mode 100644 examples/datasets/1-test-on-tsplib/index.html create mode 100644 examples/datasets/2-test-on-cvrplib/2-test-on-cvrplib.ipynb create mode 100644 examples/datasets/2-test-on-cvrplib/index.html create mode 100644 examples/datasets/README.md create mode 100644 examples/datasets/index.html create mode 100644 examples/index.html create mode 100644 examples/modeling/1-decoding-strategies/1-decoding-strategies.ipynb create mode 100644 examples/modeling/1-decoding-strategies/index.html create mode 100644 examples/modeling/2-transductive-methods/2-transductive-methods.ipynb create mode 100644 examples/modeling/2-transductive-methods/index.html create mode 100644 examples/modeling/3-change-encoder/3-change-encoder.ipynb create mode 100644 examples/modeling/3-change-encoder/index.html create mode 100644 examples/modeling/README.md create mode 100644 examples/modeling/index.html create mode 100644 examples/other/1-mtvrp/1-mtvrp.ipynb create mode 100644 examples/other/1-mtvrp/index.html create mode 100644 examples/other/2-scheduling/2-scheduling.ipynb create mode 100644 examples/other/2-scheduling/index.html create mode 100644 examples/other/3-data-generator-distributions/3-data-generator-distributions.ipynb create mode 100644 examples/other/3-data-generator-distributions/index.html create mode 100644 examples/other/README.md create mode 100644 examples/other/index.html create mode 100644 index.html create mode 100644 objects.inv create mode 100644 rl4co/__init__.py create mode 100644 rl4co/data/__init__.py create mode 100644 rl4co/data/dataset.py create mode 100644 rl4co/data/generate_data.py create mode 100644 rl4co/data/transforms.py create mode 100644 rl4co/data/utils.py create mode 100644 rl4co/envs/__init__.py create mode 100644 rl4co/envs/common/__init__.py create mode 100644 rl4co/envs/common/base.py create mode 100644 rl4co/envs/common/distribution_utils.py create mode 100644 rl4co/envs/common/utils.py create mode 100644 rl4co/envs/eda/__init__.py create mode 100644 rl4co/envs/eda/dpp/__init__.py create mode 100644 rl4co/envs/eda/dpp/env.py create mode 100644 rl4co/envs/eda/dpp/generator.py create mode 100644 rl4co/envs/eda/dpp/render.py create mode 100644 rl4co/envs/eda/mdpp/__init__.py create mode 100644 rl4co/envs/eda/mdpp/env.py create mode 100644 rl4co/envs/eda/mdpp/generator.py create mode 100644 rl4co/envs/eda/mdpp/render.py create mode 100644 rl4co/envs/graph/__init__.py create mode 100644 rl4co/envs/graph/flp/__init__.py create mode 100644 rl4co/envs/graph/flp/env.py create mode 100644 rl4co/envs/graph/flp/generator.py create mode 100644 rl4co/envs/graph/mcp/__init__.py create mode 100644 rl4co/envs/graph/mcp/env.py create mode 100644 rl4co/envs/graph/mcp/generator.py create mode 100644 rl4co/envs/routing/__init__.py create mode 100644 rl4co/envs/routing/atsp/__init__.py create mode 100644 rl4co/envs/routing/atsp/env.py create mode 100644 rl4co/envs/routing/atsp/generator.py create mode 100644 rl4co/envs/routing/atsp/render.py create mode 100644 rl4co/envs/routing/cvrp/__init__.py create mode 100644 rl4co/envs/routing/cvrp/env.py create mode 100644 rl4co/envs/routing/cvrp/generator.py create mode 100644 rl4co/envs/routing/cvrp/local_search.py create mode 100644 rl4co/envs/routing/cvrp/render.py create mode 100644 rl4co/envs/routing/cvrptw/__init__.py create mode 100644 rl4co/envs/routing/cvrptw/env.py create mode 100644 rl4co/envs/routing/cvrptw/generator.py create mode 100644 rl4co/envs/routing/cvrptw/render.py create mode 100644 rl4co/envs/routing/mdcpdp/__init__.py create mode 100644 rl4co/envs/routing/mdcpdp/env.py create mode 100644 rl4co/envs/routing/mdcpdp/generator.py create mode 100644 rl4co/envs/routing/mdcpdp/render.py create mode 100644 rl4co/envs/routing/mpdp/__init__.py create mode 100644 rl4co/envs/routing/mpdp/env.py create mode 100644 rl4co/envs/routing/mpdp/generator.py create mode 100644 rl4co/envs/routing/mpdp/render.py create mode 100644 rl4co/envs/routing/mtsp/__init__.py create mode 100644 rl4co/envs/routing/mtsp/env.py create mode 100644 rl4co/envs/routing/mtsp/generator.py create mode 100644 rl4co/envs/routing/mtsp/render.py create mode 100644 rl4co/envs/routing/mtvrp/__init__.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/__init__.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/constants.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/lkh.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/ortools.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/pyvrp.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/solve.py create mode 100644 rl4co/envs/routing/mtvrp/baselines/utils.py create mode 100644 rl4co/envs/routing/mtvrp/env.py create mode 100644 rl4co/envs/routing/mtvrp/generator.py create mode 100644 rl4co/envs/routing/mtvrp/render.py create mode 100644 rl4co/envs/routing/op/__init__.py create mode 100644 rl4co/envs/routing/op/env.py create mode 100644 rl4co/envs/routing/op/generator.py create mode 100644 rl4co/envs/routing/op/render.py create mode 100644 rl4co/envs/routing/pctsp/__init__.py create mode 100644 rl4co/envs/routing/pctsp/env.py create mode 100644 rl4co/envs/routing/pctsp/generator.py create mode 100644 rl4co/envs/routing/pctsp/render.py create mode 100644 rl4co/envs/routing/pdp/__init__.py create mode 100644 rl4co/envs/routing/pdp/env.py create mode 100644 rl4co/envs/routing/pdp/generator.py create mode 100644 rl4co/envs/routing/pdp/render.py create mode 100644 rl4co/envs/routing/sdvrp/__init__.py create mode 100644 rl4co/envs/routing/sdvrp/env.py create mode 100644 rl4co/envs/routing/spctsp/__init__.py create mode 100644 rl4co/envs/routing/spctsp/env.py create mode 100644 rl4co/envs/routing/svrp/__init__.py create mode 100644 rl4co/envs/routing/svrp/env.py create mode 100644 rl4co/envs/routing/svrp/generator.py create mode 100644 rl4co/envs/routing/svrp/render.py create mode 100644 rl4co/envs/routing/tsp/__init__.py create mode 100644 rl4co/envs/routing/tsp/env.py create mode 100644 rl4co/envs/routing/tsp/generator.py create mode 100644 rl4co/envs/routing/tsp/local_search.py create mode 100644 rl4co/envs/routing/tsp/render.py create mode 100644 rl4co/envs/scheduling/__init__.py create mode 100644 rl4co/envs/scheduling/ffsp/__init__.py create mode 100644 rl4co/envs/scheduling/ffsp/env.py create mode 100644 rl4co/envs/scheduling/ffsp/generator.py create mode 100644 rl4co/envs/scheduling/ffsp/render.py create mode 100644 rl4co/envs/scheduling/fjsp/__init__.py create mode 100644 rl4co/envs/scheduling/fjsp/env.py create mode 100644 rl4co/envs/scheduling/fjsp/generator.py create mode 100644 rl4co/envs/scheduling/fjsp/parser.py create mode 100644 rl4co/envs/scheduling/fjsp/render.py create mode 100644 rl4co/envs/scheduling/fjsp/utils.py create mode 100644 rl4co/envs/scheduling/jssp/__init__.py create mode 100644 rl4co/envs/scheduling/jssp/env.py create mode 100644 rl4co/envs/scheduling/jssp/generator.py create mode 100644 rl4co/envs/scheduling/jssp/parser.py create mode 100644 rl4co/envs/scheduling/smtwtp/__init__.py create mode 100644 rl4co/envs/scheduling/smtwtp/env.py create mode 100644 rl4co/envs/scheduling/smtwtp/generator.py create mode 100644 rl4co/envs/scheduling/smtwtp/render.py create mode 100644 rl4co/models/__init__.py create mode 100644 rl4co/models/common/__init__.py create mode 100644 rl4co/models/common/constructive/__init__.py create mode 100644 rl4co/models/common/constructive/autoregressive/__init__.py create mode 100644 rl4co/models/common/constructive/autoregressive/decoder.py create mode 100644 rl4co/models/common/constructive/autoregressive/encoder.py create mode 100644 rl4co/models/common/constructive/autoregressive/policy.py create mode 100644 rl4co/models/common/constructive/base.py create mode 100644 rl4co/models/common/constructive/nonautoregressive/__init__.py create mode 100644 rl4co/models/common/constructive/nonautoregressive/decoder.py create mode 100644 rl4co/models/common/constructive/nonautoregressive/encoder.py create mode 100644 rl4co/models/common/constructive/nonautoregressive/policy.py create mode 100644 rl4co/models/common/improvement/__init__.py create mode 100644 rl4co/models/common/improvement/base.py create mode 100644 rl4co/models/common/transductive/__init__.py create mode 100644 rl4co/models/common/transductive/base.py create mode 100644 rl4co/models/nn/__init__.py create mode 100644 rl4co/models/nn/attention.py create mode 100644 rl4co/models/nn/env_embeddings/__init__.py create mode 100644 rl4co/models/nn/env_embeddings/context.py create mode 100644 rl4co/models/nn/env_embeddings/dynamic.py create mode 100644 rl4co/models/nn/env_embeddings/edge.py create mode 100644 rl4co/models/nn/env_embeddings/init.py create mode 100644 rl4co/models/nn/flash_attention.py create mode 100644 rl4co/models/nn/graph/__init__.py create mode 100644 rl4co/models/nn/graph/attnnet.py create mode 100644 rl4co/models/nn/graph/gcn.py create mode 100644 rl4co/models/nn/graph/gnn.py create mode 100644 rl4co/models/nn/graph/hgnn.py create mode 100644 rl4co/models/nn/graph/mpnn.py create mode 100644 rl4co/models/nn/mlp.py create mode 100644 rl4co/models/nn/moe.py create mode 100644 rl4co/models/nn/ops.py create mode 100644 rl4co/models/nn/pos_embeddings.py create mode 100644 rl4co/models/rl/__init__.py create mode 100644 rl4co/models/rl/a2c/__init__.py create mode 100644 rl4co/models/rl/a2c/a2c.py create mode 100644 rl4co/models/rl/common/__init__.py create mode 100644 rl4co/models/rl/common/base.py create mode 100644 rl4co/models/rl/common/critic.py create mode 100644 rl4co/models/rl/common/utils.py create mode 100644 rl4co/models/rl/ppo/__init__.py create mode 100644 rl4co/models/rl/ppo/n_step_ppo.py create mode 100644 rl4co/models/rl/ppo/ppo.py create mode 100644 rl4co/models/rl/ppo/stepwise_ppo.py create mode 100644 rl4co/models/rl/reinforce/__init__.py create mode 100644 rl4co/models/rl/reinforce/baselines.py create mode 100644 rl4co/models/rl/reinforce/reinforce.py create mode 100644 rl4co/models/zoo/__init__.py create mode 100644 rl4co/models/zoo/active_search/__init__.py create mode 100644 rl4co/models/zoo/active_search/search.py create mode 100644 rl4co/models/zoo/am/__init__.py create mode 100644 rl4co/models/zoo/am/decoder.py create mode 100644 rl4co/models/zoo/am/encoder.py create mode 100644 rl4co/models/zoo/am/model.py create mode 100644 rl4co/models/zoo/am/policy.py create mode 100644 rl4co/models/zoo/amppo/__init__.py create mode 100644 rl4co/models/zoo/amppo/model.py create mode 100644 rl4co/models/zoo/dact/__init__.py create mode 100644 rl4co/models/zoo/dact/decoder.py create mode 100644 rl4co/models/zoo/dact/encoder.py create mode 100644 rl4co/models/zoo/dact/model.py create mode 100644 rl4co/models/zoo/dact/policy.py create mode 100644 rl4co/models/zoo/deepaco/__init__.py create mode 100644 rl4co/models/zoo/deepaco/antsystem.py create mode 100644 rl4co/models/zoo/deepaco/model.py create mode 100644 rl4co/models/zoo/deepaco/policy.py create mode 100644 rl4co/models/zoo/eas/__init__.py create mode 100644 rl4co/models/zoo/eas/decoder.py create mode 100644 rl4co/models/zoo/eas/nn.py create mode 100644 rl4co/models/zoo/eas/search.py create mode 100644 rl4co/models/zoo/ham/__init__.py create mode 100644 rl4co/models/zoo/ham/attention.py create mode 100644 rl4co/models/zoo/ham/encoder.py create mode 100644 rl4co/models/zoo/ham/model.py create mode 100644 rl4co/models/zoo/ham/policy.py create mode 100644 rl4co/models/zoo/l2d/__init__.py create mode 100644 rl4co/models/zoo/l2d/decoder.py create mode 100644 rl4co/models/zoo/l2d/encoder.py create mode 100644 rl4co/models/zoo/l2d/model.py create mode 100644 rl4co/models/zoo/l2d/policy.py create mode 100644 rl4co/models/zoo/matnet/__init__.py create mode 100644 rl4co/models/zoo/matnet/decoder.py create mode 100644 rl4co/models/zoo/matnet/encoder.py create mode 100644 rl4co/models/zoo/matnet/matnet_w_sa.py create mode 100644 rl4co/models/zoo/matnet/model.py create mode 100644 rl4co/models/zoo/matnet/policy.py create mode 100644 rl4co/models/zoo/mdam/__init__.py create mode 100644 rl4co/models/zoo/mdam/decoder.py create mode 100644 rl4co/models/zoo/mdam/encoder.py create mode 100644 rl4co/models/zoo/mdam/mha.py create mode 100644 rl4co/models/zoo/mdam/model.py create mode 100644 rl4co/models/zoo/mdam/policy.py create mode 100644 rl4co/models/zoo/mvmoe/__init__.py create mode 100644 rl4co/models/zoo/mvmoe/model.py create mode 100644 rl4co/models/zoo/n2s/__init__.py create mode 100644 rl4co/models/zoo/n2s/decoder.py create mode 100644 rl4co/models/zoo/n2s/encoder.py create mode 100644 rl4co/models/zoo/n2s/model.py create mode 100644 rl4co/models/zoo/n2s/policy.py create mode 100644 rl4co/models/zoo/nargnn/__init__.py create mode 100644 rl4co/models/zoo/nargnn/encoder.py create mode 100644 rl4co/models/zoo/nargnn/policy.py create mode 100644 rl4co/models/zoo/neuopt/__init__.py create mode 100644 rl4co/models/zoo/neuopt/decoder.py create mode 100644 rl4co/models/zoo/neuopt/model.py create mode 100644 rl4co/models/zoo/neuopt/policy.py create mode 100644 rl4co/models/zoo/polynet/__init__.py create mode 100644 rl4co/models/zoo/polynet/decoder.py create mode 100644 rl4co/models/zoo/polynet/model.py create mode 100644 rl4co/models/zoo/polynet/policy.py create mode 100644 rl4co/models/zoo/pomo/__init__.py create mode 100644 rl4co/models/zoo/pomo/model.py create mode 100644 rl4co/models/zoo/ptrnet/__init__.py create mode 100644 rl4co/models/zoo/ptrnet/critic.py create mode 100644 rl4co/models/zoo/ptrnet/decoder.py create mode 100644 rl4co/models/zoo/ptrnet/encoder.py create mode 100644 rl4co/models/zoo/ptrnet/model.py create mode 100644 rl4co/models/zoo/ptrnet/policy.py create mode 100644 rl4co/models/zoo/symnco/__init__.py create mode 100644 rl4co/models/zoo/symnco/losses.py create mode 100644 rl4co/models/zoo/symnco/model.py create mode 100644 rl4co/models/zoo/symnco/policy.py create mode 100644 rl4co/tasks/README.md create mode 100644 rl4co/tasks/__init__.py create mode 100644 rl4co/tasks/eval.py create mode 100644 rl4co/tasks/index.html create mode 100644 rl4co/tasks/train.py create mode 100644 rl4co/utils/__init__.py create mode 100644 rl4co/utils/callbacks/__init__.py create mode 100644 rl4co/utils/callbacks/speed_monitor.py create mode 100644 rl4co/utils/decoding.py create mode 100644 rl4co/utils/instantiators.py create mode 100644 rl4co/utils/lightning.py create mode 100644 rl4co/utils/meta_trainer.py create mode 100644 rl4co/utils/ops.py create mode 100644 rl4co/utils/optim_helpers.py create mode 100644 rl4co/utils/pylogger.py create mode 100644 rl4co/utils/rich_utils.py create mode 100644 rl4co/utils/test_utils.py create mode 100644 rl4co/utils/trainer.py create mode 100644 rl4co/utils/utils.py create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 tests/__init__.py create mode 100644 tests/test_envs.py create mode 100644 tests/test_policy.py create mode 100644 tests/test_tasks.py create mode 100644 tests/test_training.py create mode 100644 tests/test_utils.py diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..01a1ddce --- /dev/null +++ b/404.html @@ -0,0 +1,2332 @@ + + + +
+ + + + + + + + + + + + + + + + ++ Documentation | + Getting Started | + Usage | + Contributing | + Paper | + Join Us +
+ + + ++ Documentation | + Getting Started | + Usage | + Contributing | + Paper | + Join Us +
+ + + +An extensive Reinforcement Learning (RL) for Combinatorial Optimization (CO) benchmark. Our goal is to provide a unified framework for RL-based CO algorithms, and to facilitate reproducible research in this field, decoupling the science from the engineering.
+RL4CO is built upon:
+We offer flexible and efficient implementations of the following policies:
+We provide several utilities and modularization. For example, we modularize reusable components such as environment embeddings that can easily be swapped to solve new problems.
+RL4CO is now available for installation on pip
!
+
pip install rl4co
+
To get started, we recommend checking out our quickstart notebook or the minimalistic example below.
+This command installs the bleeding edge main
version, useful for staying up-to-date with the latest developments - for instance, if a bug has been fixed since the last official release but a new release hasn’t been rolled out yet:
pip install -U git+https://github.com/ai4co/rl4co.git
+
If you want to develop RL4CO we recommend you to install it locally with pip
in editable mode:
git clone https://github.com/ai4co/rl4co && cd rl4co
+pip install -e .
+
We recommend using a virtual environment such as conda
to install rl4co
locally.
Train model with default configuration (AM on TSP environment): +
python run.py
+
Tip
+You may check out this notebook to get started with Hydra!
+python run.py experiment=routing/am env=tsp env.num_loc=50 model.optimizer_kwargs.lr=2e-4
+
python run.py experiment=routing/am logger=none '~callbacks.learning_rate_monitor'
+
python run.py -m experiment=routing/am model.optimizer.lr=1e-3,1e-4,1e-5
+
Here is a minimalistic example training the Attention Model with greedy rollout baseline on TSP in less than 30 lines of code:
+from rl4co.envs.routing import TSPEnv, TSPGenerator
+from rl4co.models import AttentionModelPolicy, POMO
+from rl4co.utils import RL4COTrainer
+
+# Instantiate generator and environment
+generator = TSPGenerator(num_loc=50, loc_distribution="uniform")
+env = TSPEnv(generator)
+
+# Create policy and RL model
+policy = AttentionModelPolicy(env_name=env.name, num_encoder_layers=6)
+model = POMO(env, policy, batch_size=64, optimizer_kwargs={"lr": 1e-4})
+
+# Instantiate Trainer and fit
+trainer = RL4COTrainer(max_epochs=10, accelerator="gpu", precision="16-mixed")
+trainer.fit(model)
+
Other examples can be found on our documentation!
+Run tests with pytest
from the root directory:
pytest tests
+
Installing PyG
via Conda
seems to update Torch itself. We have found that this update introduces some bugs with torchrl
. At this moment, we recommend installing PyG
with Pip
:
+
pip install torch_geometric
+
Have a suggestion, request, or found a bug? Feel free to open an issue or submit a pull request. +If you would like to contribute, please check out our contribution guidelines here. We welcome and look forward to all contributions to RL4CO!
+We are also on Slack if you have any questions or would like to discuss RL4CO with us. We are open to collaborations and would love to hear from you 🚀
+If you find RL4CO valuable for your research or applied projects:
+@article{berto2024rl4co,
+ title={{RL4CO: an Extensive Reinforcement Learning for Combinatorial Optimization Benchmark}},
+ 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},
+ year={2024},
+ journal={arXiv preprint arXiv:2306.17100},
+ note={\url{https://github.com/ai4co/rl4co}}
+}
+
Note that a previous version of RL4CO has been accepted as an oral presentation at the NeurIPS 2023 GLFrontiers Workshop. Since then, the library has greatly evolved and improved!
+We invite you to join our AI4CO community, an open research group in Artificial Intelligence (AI) for Combinatorial Optimization (CO)!
+