--- license: apache-2.0 --- # ML4TSP Pretrained Files 2024-02-02 **This repository primarily stores the pretrained files for ML4TSP.** **All the files in this repository have a last update date prior to 2024-02-02.** ## 1. Dataset #### 1.1 Supervised Learning Training Dataset **File Naming Convention:** tsp{nodes_num}\_{distribution}\_{solver(params)}\_{size}.txt | Problem Scale | Train File | |:-------------:|:----------:| | TSP50 | [tsp50_uniform_lkh_5k_1.28m.txt](https://huggingface.co/datasets/ML4CO/ML4TSPDataset/blob/main/tsp50_uniform_lkh_5k_1.28m.txt) | LKH-5K | | TSP100 | [tsp100_uniform_lkh_5k_1.28m.txt](https://huggingface.co/datasets/ML4CO/ML4TSPDataset/blob/main/tsp100_uniform_lkh_5k_1.28m.txt) | LKH-5K | | TSP500 | [tsp500_uniform_lkh_50k_128k.txt](https://huggingface.co/datasets/ML4CO/ML4TSPDataset/blob/main/tsp500_uniform_lkh_50k_128k.txt) | LKH-50k | | TSP1000 | [tsp1000_uniform_lkh_100k_64k.txt](https://huggingface.co/datasets/ML4CO/ML4TSPDataset/blob/main/tsp1000_uniform_lkh_100k_64k.txt) | LKH-100k | #### 1.2 Test Dataset (Uniform) **File Naming Convention:** tsp{nodes_num}\_{solver(params)}\_{avg_length}.txt | Problem Scale | Test | Distribution | Size | |:-------------:|:----:|:------------:|:----:| | TSP50 | [tsp50_concorde_5.68759.txt](https://huggingface.co/datasets/ML4CO/TSPUniformDataset/blob/main/tsp_uniform/tsp50_concorde_5.68759.txt) | uniform | 1280 | | TSP100 | [tsp100_concorde_7.75585.txt](https://huggingface.co/datasets/ML4CO/TSPUniformDataset/blob/main/tsp_uniform/tsp100_concorde_7.75585.txt) | uniform | 1280 | | TSP500 | [tsp500_concorde_16.54581.txt](https://huggingface.co/datasets/ML4CO/TSPUniformDataset/blob/main/tsp_uniform/tsp500_concorde_16.54581.txt) | uniform | 128 | | TSP1000 | [tsp1000_concorde_23.11812.txt](https://huggingface.co/datasets/ML4CO/TSPUniformDataset/blob/main/tsp_uniform/tsp1000_concorde_23.11812.txt) | uniform | 128 | | TSP10000 | [tsp10000_concorde_large_71.84185.txt](https://huggingface.co/datasets/ML4CO/TSPUniformDataset/blob/main/tsp_uniform/tsp10000_concorde_large_71.84185.txt) | uniform | 16 | ## 2. Model Parameters #### 2.1 NAR Model Parameters | Pretrained File | Net Type | Layer | Embed | Hidden | Out | Epoch(select)| |:----------------|:--------:|:-----:|:-----:|:------:|:---:|:------------:| | tsp50_diffusion.pt | gnn | 12 | 128 | 256 | 2 | 100(?) | | tsp50_dimes.pt | gnn | 12 | 128 | 256 | 2 | 405/500step | | tsp50_gnn.pt | gnn | 12 | 128 | 256 | 2 | 100(96) | | tsp50_gnn_wise.pt | gnn | 12 | 128 | 256 | 2 | 100(76) | | tsp50_gnn4reg.pt | gnn | 12 | 128 | 256 | 2 | 100(62) | | tsp50_us.pt | sag | 3 | 64 | 64 | 50 | 100(3) | | tsp100_diffusion.pt | gnn | 12 | 128 | 256 | 2 | 50(?) | | tsp100_dimes.pt | gnn | 12 | 128 | 256 | 2 | 240/250step | | tsp100_gnn.pt | gnn | 12 | 128 | 256 | 2 | 50(50) | | tsp100_gnn_wise.pt | gnn | 12 | 128 | 256 | 2 | 50(48) | | tsp100_gnn4reg.pt | gnn | 12 | 128 | 256 | 2 | 50(18) | | tsp100_us.pt | sag | 3 | 64 | 64 | 50 | 50(3) | | tsp500_diffusion.pt | gnn | 12 | 128 | 256 | 2 | 50(?) | | tsp500_dimes.pt | gnn | 12 | 128 | 256 | 2 | 66/100step | | tsp500_gnn.pt | gnn | 12 | 128 | 256 | 2 | 50(22) | | tsp500_gnn_wise.pt | gnn | 12 | 128 | 256 | 2 | 50(14) | | tsp1000_diffusion.pt | gnn | 12 | 128 | 256 | 2 | 50(?) | | tsp1000_gnn_wise.pt | gnn | 12 | 128 | 256 | 2 | 50(44) | #### 2.2 AR Model Parameters | Pretrained File | Net Type | Layer | Embed | Heads | Baseline | Epoch(select)| |:----------------|:--------:|:-----:|:-----:|:-----:|:--------:|:------------:| | tsp50_am.pt | gat | 3 | 128 | 8 | rollout | 360(360) | | tsp50_pomo.pt | gat | 3 | 128 | 8 | shared | 360(360) | | tsp50_symnco.pt | gat | 3 | 128 | 8 | no | 360(360) | | tsp100_am.pt | gat | 3 | 128 | 8 | rollout | 500(500) | | tsp100_pomo.pt | gat | 3 | 128 | 8 | shared | 100(100) | | tsp100_symnco.pt | gat | 3 | 128 | 8 | no | 330(329) | ## 3. Training Details ### 3.1 NAR Model * lr_scheduler: "cosine-decay" (torch.optim.lr_scheduler.CosineAnnealingLR) * learning-rate: 0.003(initial) * optimizer: "AdamW" (torch.optim.AdamW) ### 3.2 AR Model * lr_scheduler: None * learning-rate: 0.0001(fix) * optimizer: "Adam" (torch.optim.Adam)