Skip to content
forked from CSID-DGU/ASCP

Airline Scheduling Crew Pairing

Notifications You must be signed in to change notification settings

gi-jeong1000/ASCP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

265 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASCP

Airline Scheduling Crew Pairing

GitHub Role

다음과 같은 Convetion을 따릅니다.

Commit Convention

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 수정
  • style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
  • refactor: 코드 리펙토링
  • test: 테스트 코드, 리펙토링 테스트 코드 추가
  • chore : 빌드 업무 수정, 패키지 매니저 수정

💡 PR Convetion

아이콘 코드 설명
🎨 :art 코드의 구조/형태 개선
⚡️ :zap 성능 개선
🔥 :fire 코드/파일 삭제
🐛 :bug 버그 수정
🚑 :ambulance 긴급 수정
:sparkles 새 기능
💄 :lipstick UI/스타일 파일 추가/수정
:rewind 변경 내용 되돌리기
🔀 :twisted_rightwards_arrows 브랜치 합병
💡 :bulb 주석 추가/수정
🗃 :card_file_box 데이버베이스 관련 수정

Environmental Setting

OptaPlanner

Optaplanner를 서버에서 실행하는 방법입니다.

cd ASCP/PairingCreater
./gradlew build
cp build/libs/crew-pairing.jar ~/ASCP/PairingCreater/
java -jar crew-pairing.jar data/ crewpairing/ {datasize} input_{datasize}.xlsx
java -jar crew-pairing.jar data/ crewpairing/ {datasize} input_{datasize}.xlsx output.xlsx
  • 프로젝트 루트 디렉토리에서 ./gradlew build 실행하면 build/libs에 crew-pairing.jar 파일 생성됨
  • crew-pairing.jar을 프로젝트 루트 디렉토리로 이동
  • data/crewpairing/ 디렉토리에 output 폴더 추가
  • 나머지 두 명령어를 통해 Optaplanner 실행
  • 아래는 initial set (output.xlsx)이 존재하는 경우 사용. data/crewpairing/output/ 에 initial set 파일 배치


RL을 서버 및 로컬에서 실행하는 방법입니다.

  • 프로젝트 루트 디렉토리에 dataset 폴더 추가 후, input 파일 배치
  • REINFORCE.py 실행

Python Packages for Reinforcement Learning

requirements.txt 사용법

  1. 본인의 local 환경 혹은 가상환경으로 입장한다. (파이썬 3.8 이상)
  2. pip install -r requirements.txt

pytorch - CUDA 11.8

Download page

Lisence

About

Airline Scheduling Crew Pairing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 44.1%
  • Java 33.2%
  • Python 22.7%