Skip to content

lokali/PFSS-IL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

[AAAI 2024] Learning to Optimize Permutation Flow Shop Scheduling via Graph-based Imitation Learning

This is the official implementation for the paper "Learning to Optimize Permutation Flow Shop Scheduling via Graph-based Imitation Learning", AAAI 2024.

If you find it useful, please consider citing:

@inproceedings{li2024learning,
  title={Learning to Optimize Permutation Flow Shop Scheduling via Graph-based Imitation Learning},
  author={Li, Longkang and Liang, Siyuan and Zhu, Zihao and Ding, Chris and Zha, Hongyuan and Wu, Baoyuan},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  year={2024}
}

Overview

  • The permutation flow shop scheduling (PFSS), aiming at finding the optimal permutation of jobs, is widely used in manufacturing systems.

End-to-end neural combinatorial optimization pipeline

  • In our paper, we train the model via expert-driven imitation learning to accelerate the convergence. Our learning model is based on the graph structure, which incorporates the GGCN (Gated Graph ConvNets) as the encoder.

End-to-end neural combinatorial optimization pipeline

Implementations

For our imitation learning model, our code is developing based on here.

  • Installation:
# Environment: Ubuntu 16.04, using Python 3.6.7, PyTorch 1.2.0 and CUDA 10.0. Anaconda
# Clone the repository. 
git clone https://github.com/SCLBD/IL_PFSS.git 

# Set up a new conda environment and activate it.
conda create -n tsp python=3.6.7
source activate tsp

# Install all dependencies and Jupyter Lab (for using notebooks).
conda install pytorch=1.2.0 cudatoolkit=10.0 -c pytorch  
conda install numpy scipy cython tqdm scikit-learn matplotlib seaborn tensorboard pandas
conda install jupyterlab -c conda-forge
pip install tensorboard_logger
  • Quick start for our imitation learning model
cd learning-pfss

# Quick Training
./scripts/train.sh 
    
# Quick Testing.   
./scripts/test.sh

For the other four heuristic baselines (random search, iterated local search, iterated greedy, NEH), our code is developing based on here.

cd baselines
python run_heuristics.py 

Acknowledgement and Related Work:

We thank those papers for giving us inspirations:

We thank those github source codes for helping to build our own codes:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published