/working_ray

Primary LanguagePython

๐Ÿ 

Requirements

pip install pandas tqdm tabulate

Input file format

- <name1>
day: start-end, start-end
day: start-end, start-end, start-end
day: start-end
day: start-end
day: start-end
- <name2>
day: start-end
day: start-end
.
.
.

For example,

- ํ–„๋งŒํ˜
์›”: 15-18
ํ™”: 15-18
์ˆ˜: 15-18
๋ชฉ: 15-18
๊ธˆ: 15-18
- ํž˜๋งŒํ–„
ํ™”: 11-16
์ˆ˜: 11-16
- ๋งŒํ˜ํ–„
ํ™”: 16-19
์ˆ˜: 16-17
๋ชฉ: 16-17
๊ธˆ: 13-15

Usage

python main.py <path_to_input_file> -n <num_solutions> -o <output>

Example

python main.py input.txt -n 3 -o timetable

The schedule tables will be stored to timetable_x.csv.

Scheduling using GA...
100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 100/100 [00:00<00:00, 134.26it/s]
Done
=================== Option #1 ===================

name    ideal   actual
๊ธฐ๋ฏธ๊ทœ  0.071   0.077
๊ธฐ์ง€ํ˜ธ  0.047   0.046
Justina 0.033   0.031
๊ธฐํ˜€๊ฒจ  0.014   0.031
์œ ์ฐจ์šฐ  0.033   0.077
์ด๋„ํ›„  0.099   0.108
์ œ์—ฌ์„œ  0.094   0.046
์กฐ๋ฏธ์šฐ  0.047   0.046
์กฐ์œ ์ง€  0.127   0.077
์‹œ์ˆ˜์š”  0.165   0.200
์ด์„œ์ฃผ  0.212   0.200
๋ฐฐ์ฃผ๊ทœ  0.057   0.062

|   start_time | ์›”     | ํ™”     | ์ˆ˜     | ๋ชฉ     | ๊ธˆ      |
|-------------:|:-------|:-------|:-------|:-------|:--------|
|            8 | ์œ ์ฐจ์šฐ | ๊ธฐํ˜€๊ฒจ | ๊ธฐํ˜€๊ฒจ | ์œ ์ฐจ์šฐ | ์œ ์ฐจ์šฐ  |
|            9 | ์œ ์ฐจ์šฐ | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ์œ ์ฐจ์šฐ | ์ œ์—ฌ์„œ  |
|           10 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           11 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           12 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           13 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | Justina |
|           14 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์ด๋„ํ›„ | Justina |
|           15 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           16 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           17 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           18 | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           19 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |
|           20 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |

=================== Option #2 ===================

name    ideal   actual
๊ธฐ๋ฏธ๊ทœ  0.071   0.077
๊ธฐ์ง€ํ˜ธ  0.047   0.046
Justina 0.033   0.031
๊ธฐํ˜€๊ฒจ  0.014   0.031
์œ ์ฐจ์šฐ  0.033   0.077
์ด๋„ํ›„  0.099   0.108
์ œ์—ฌ์„œ  0.094   0.046
์กฐ๋ฏธ์šฐ  0.047   0.046
์กฐ์œ ์ง€  0.127   0.077
์‹œ์ˆ˜์š”  0.165   0.200
์ด์„œ์ฃผ  0.212   0.200
๋ฐฐ์ฃผ๊ทœ  0.057   0.062

|   start_time | ์›”     | ํ™”     | ์ˆ˜     | ๋ชฉ     | ๊ธˆ      |
|-------------:|:-------|:-------|:-------|:-------|:--------|
|            8 | ์œ ์ฐจ์šฐ | ๊ธฐํ˜€๊ฒจ | ๊ธฐํ˜€๊ฒจ | ์œ ์ฐจ์šฐ | ์œ ์ฐจ์šฐ  |
|            9 | ์œ ์ฐจ์šฐ | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ์œ ์ฐจ์šฐ | ์ œ์—ฌ์„œ  |
|           10 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           11 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           12 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           13 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | Justina |
|           14 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์ด๋„ํ›„ | Justina |
|           15 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           16 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           17 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           18 | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           19 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |
|           20 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |

=================== Option #3 ===================

name    ideal   actual
๊ธฐ๋ฏธ๊ทœ  0.071   0.077
๊ธฐ์ง€ํ˜ธ  0.047   0.046
Justina 0.033   0.031
๊ธฐํ˜€๊ฒจ  0.014   0.031
์œ ์ฐจ์šฐ  0.033   0.077
์ด๋„ํ›„  0.099   0.108
์ œ์—ฌ์„œ  0.094   0.046
์กฐ๋ฏธ์šฐ  0.047   0.046
์กฐ์œ ์ง€  0.127   0.077
์‹œ์ˆ˜์š”  0.165   0.200
์ด์„œ์ฃผ  0.212   0.200
๋ฐฐ์ฃผ๊ทœ  0.057   0.062

|   start_time | ์›”     | ํ™”     | ์ˆ˜     | ๋ชฉ     | ๊ธˆ      |
|-------------:|:-------|:-------|:-------|:-------|:--------|
|            8 | ์œ ์ฐจ์šฐ | ๊ธฐํ˜€๊ฒจ | ๊ธฐํ˜€๊ฒจ | ์œ ์ฐจ์šฐ | ์œ ์ฐจ์šฐ  |
|            9 | ์œ ์ฐจ์šฐ | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ์œ ์ฐจ์šฐ | ์ œ์—ฌ์„œ  |
|           10 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ๋ฐฐ์ฃผ๊ทœ | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           11 | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ๋ฐฐ์ฃผ๊ทœ | ์ œ์—ฌ์„œ  |
|           12 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           13 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์‹œ์ˆ˜์š” | Justina |
|           14 | ์ด์„œ์ฃผ | ๊ธฐ์ง€ํ˜ธ | ์‹œ์ˆ˜์š” | ์ด๋„ํ›„ | Justina |
|           15 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           16 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ๊ธฐ๋ฏธ๊ทœ | ์ด์„œ์ฃผ  |
|           17 | ์ด๋„ํ›„ | ์ด๋„ํ›„ | ๊ธฐ๋ฏธ๊ทœ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           18 | ์ด์„œ์ฃผ | ์‹œ์ˆ˜์š” | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์กฐ์œ ์ง€  |
|           19 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |
|           20 | ์ด์„œ์ฃผ | ์กฐ์œ ์ง€ | ์กฐ๋ฏธ์šฐ | ์‹œ์ˆ˜์š” | ์ด์„œ์ฃผ  |