Skip to content

1st Solution For NeurIPS 2021 Competition on ML4CO Dual Task

Notifications You must be signed in to change notification settings

stardustwls/NeurIPS2021-ML4CO-KIDA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

KIDA: Knowledge Inheritance in Dataset Aggregation

This project releases our 1st place solution on NeurIPS2021 ML4CO Dual Task.

Arxiv, Slide and model weights are available.

Environment Setup

Follow the tutorials of ml4co-competition to download ML4CO instance dataset and set up your Python dependencies. Suppose the directory of instance dataset is /YOUR_PATH/ml4co-competition/instances. The dependencies of KIDA can be found in ./Nuri/conda.yaml . Anaconda environment of ml4co can be created by source init.sh

Testing

Download model weights and put them in /YOUR_PATH/NeurIPS2021-ML4CO-KIDA/Nuri/ .

Copy the submission files to ml4co-competition directory.

cp -r /YOUR_PATH/NeurIPS2021-ML4CO-KIDA/Nuri/ /YOUR_PATH/ml4co-competition/submissions/

Evaluate models in dual task by running the following commands.

cd /YOUR_PATH/ml4co-competition/submissions/Nuri
conda activate ml4co
python ../../common/evaluate.py dual item_placement
python ../../common/evaluate.py dual load_balancing
python ../../common/evaluate.py dual anonymous

Training

Modify the configuration file in ./train_files/configs to meet the needs of the local environment.

./train_files/configs/dataset.ini is the configuration file for data generation process. DATASET_DIR decides the directory where the instance dataset is stored. STORE_DIR decides the directory where generated data is stored. NODE_RECORD_PROB decides the probability of using Strong Branching when collecting data. TIME_LIMIT decides the time limit for SCIP solver. POLICY_TYPE decides the model we use (0 for Item Placement Benchmark, 1 for Workload Apportionment Benchmark and 2 for Anonymous Benchmark).

./train_files/configs/train.ini is the configuration file for training process. STORE_DIR decides the directory where training files are stored (It must keep the same as STORE_DIR in dataset.ini). TRAIN_NUM and VALID_NUM decide the number of data used in training process for each epoch.

Then, run the following commands to train the model.

cd /YOUR_PATH/NeurIPS2021-ML4CO-KIDA/train_files
# Train Item Placement Benchmark
source item.sh
# Train Workload Apportionment Benchmark 
source load.sh
# Train Anonymous Benchmark
source ano.sh

Resouces

Technical Report

参赛方案介绍 - 旷视研究院

About

1st Solution For NeurIPS 2021 Competition on ML4CO Dual Task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.6%