./scheduler 01.in 01.out
- GCC 7.5+
- Google OR-Tools
/usr/include/ortools
,/usr/lib/libortools.so
make libs-or/lib/libortools.so
would download and build OR-Tools automaticallymake scheduler
if OR-Tools is installed
- Generate valid outputs
- Translate testcases to
MIPCP problem instances- Solvers feasible with APIs
- Illustrate the objective function
- The metric to be minimized
- Illustrate the constraints: Disjunctive Model
- Dependencies of operations
- Capacity of each slice
Find suitable FPTAS- Related researches
- Parallel task scheduling problem - Wikipedia
- Scheduling for Parallel Processing
- parallel identical processors
- the number of processors is a variable
- nonpreemptive
- task graph is arbitrary
- processing times are upper- and lower-bounded by 1 and 96
- all tasks are ready at time 0
- no task has any deadline
- optimality criterion:
- schedule length (C_max)
- weighted sum of completion times (\sum {w_j c_j})
- rigid, noncontiguous
- Scheduling multiprocessor tasks — An overview
- Scheduling Parallel Tasks: Approximation Algorithms
- Bounds on Multiprocessing Timing Anomalies
- Approximation Algorithms for Scheduling Parallel Jobs
- Scheduling Multiprocessor Tasks to Minimize Schedule Length - independent, unit length
- Reduce the execution time
- Multithread /
Parallelprogramming- SatParameters::set_num_search_workers
SCIPsolveConcurrent (may be slower on Workstations)
- Divide & Conquer
- Split jobs to groups
Branch pruning- Set the time limit explicitly
- SatParameters::set_max_time_in_seconds(...)
SCIPsetRealParam(..., "limits/time", ...)- The sub-optimal solution may be worse than traditional one
- Put the most effort in Testcase 10
- Multithread /
# | Slices | Ops | jjl | Our | Strong | Remark |
---|---|---|---|---|---|---|
0 | 3 | 5 | 75 | 51 | 51 | Opt |
1 | 1 | 172 | 29584 | 67900.09074 | 67900.09074 | Opt |
2 | 3 | 11 | 363 | 173.977 | 173.977 | Opt |
3 | 2 | 14 | 392 | 109757.124 | 109757.124 | Opt |
4 | 2 | 17 | 578 | 270386.62151 | 270533.85177 | Opt |
5 | 4 | 34 | 4624 | 12667.7143 | 12667.7143 | Opt |
6 | 4 | 33 | 4356 | 19501.14172 | 19501.36364 | Opt |
7 | 4 | 28 | 3136 | 17533.5815 | 17695.212 | Opt |
8 | 8 | 40 | 12800 | 43642.98051 | 45288.91921 | Strong |
9 | 8 | 87 | 60552 | 64573.2938 | 68919.2094 | Strong |
10 | 36 | 241 | 2090916 | 389586.49585 | 415366.00282 | Strong |
# | l | n | Ops | Metric | Remark |
---|---|---|---|---|---|
c031 | 1 | 1 | 1 | 1 | Optimal |
3d2a | 1 | 17 | 100 | 677320.389817 | Optimal |
5626 | 2 | 1 | 1 | 388.47968 | 0s Optimal |
c8c5 | 2 | 30 | 100 | 2094950.036765 | 120s CP-SAT |
4ee8 | 2 | 23 | 100 | 683412.200993 | 60s CP-SAT |
2e58 | 3 | 3 | 6 | 214 | 0s Optimal |
b06e | 3 | 5 | 11 | 101.77677 | 0s Optimal |
1f21 | 3 | 7 | 26 | 61206.753544 | 60s CP-SAT |
187b | 3 | 6 | 26 | 5553 | 50s Optimal |
240e | 3 | 6 | 26 | 23769 | 120s Optimal |
1955 | 3 | 20 | 60 | 8076.669 | 360s CP-SAT |
c53c | 3 | 17 | 60 | 16099 | 360s CP-SAT |
4b3b | 3 | 20 | 65 | 13167.5427 | 360s CP-SAT |
21ca | 3 | 30 | 100 | 1452587.795588 | 360s CP-SAT |
6e33 | 3 | 10 | 100 | 7662 | 360s CP-SAT |
01ef | 4 | 5 | 18 | 564.8458 | *Our 180s CP |
d311 | 4 | 6 | 25 | 845.1861 | *Our 180s CP |
657e | 4 | 15 | 34 | 14960.48323 | 480s CP-SAT |
281e | 4 | 3 | 77 | 158807.638315 | 480s CP-SAT |
fc0f | 4 | 4 | 100 | 386012.897789 | 480s CP-SAT |
a72a | 5 | 2 | 7 | 6708 | 0s Optimal |
f29f | 5 | 11 | 17 | 31237.063741 | 600s CP-SAT |
368c | 5 | 4 | 21 | 4638 | 100s Opt-MIP |
e238 | 5 | 10 | 38 | 153009.650022 | 600s CP-SAT |
af14 | 5 | 25 | 99 | 43638.2 | 720s CP-SAT |
1444 | 5 | 25 | 100 | 507194.93133 | 720s CP-SAT |
3e1e | 5 | 5 | 100 | 149457.279682 | 720s CP-SAT |
bc5f | 6 | 6 | 37 | 86108.7 | 180s CP-SAT |
1516 | 6 | 10 | 40 | 7610.389 | Traditional |
64d1 | 6 | 2 | 47 | 127042.557474 | 900s CP-SAT |
ddf1 | 6 | 15 | 78 | 238856.693142 | 1200s CP-SAT |
080c | 6 | 11 | 83 | 105800.321041 | 1200s CP-SAT |
1ff9 | 6 | 16 | 100 | *876060.34 | *Traditional |
7118 | 6 | 10 | 100 | 2083949.872824 | 1200s CP-SAT |
e9eb | 6 | 10 | 100 | 2363918.966663 | 900s CP-SAT |
5247 | 7 | 6 | 42 | 48515.092067 | 1080s CP-SAT |
778c | 7 | 10 | 50 | 149754.138889 | 1080s CP-SAT |
4467 | 7 | 19 | 67 | 33029.89308 | Traditional |
4551 | 7 | 27 | 76 | 36845.17234 | Traditional |
210c | 7 | 12 | 83 | 269026.028198 | 1080s CP-SAT |
7d9b | 7 | 22 | 85 | 725300.748775 | Traditional |
621f | 8 | 4 | 33 | 570 | 1200s CP-SAT |
ec0d | 8 | 15 | 40 | 61303.06067 | 1200s CP-SAT |
95ca | 8 | 30 | 56 | 787465.26548 | 1200s CP-SAT |
1b3d | 8 | 29 | 73 | 1242802.600223 | Traditional |
7427 | 8 | 10 | 73 | 758.102972 | 1200s CP-SAT |
60a9 | 8 | 19 | 75 | 576.092008 | 1200s CP-SAT |
94a0 | 8 | 10 | 84 | 388724.507176 | 1200s CP-SAT |
20e3 | 8 | 25 | 85 | 880111.653036 | 1200s CP-SAT |
d6af | 8 | 8 | 87 | 308061.409469 | 1200s CP-SAT |
abaf | 8 | 10 | 88 | 291132.838896 | 1200s CP-SAT |
3419 | 8 | 30 | 89 | 943287.678979 | 1200s CP-SAT |
5204 | 8 | 30 | 89 | 346093.05308 | Traditional |
8a44 | 8 | 30 | 90 | 45648.958668 | Traditional |
fd5b | 8 | 30 | 90 | 386142.42016 | Traditional |
cc41 | 8 | 29 | 91 | 312216.35186 | Traditional |
18e7 | 8 | 17 | 93 | 2132 | Traditional |
2542 | 8 | 30 | 94 | 779116.665037 | Traditional |
10e2 | 8 | 26 | 96 | 1147528.548496 | Traditional |
59bf | 8 | 20 | 96 | 2441 | Traditional |
6407 | 8 | 30 | 97 | 456539.268123 | Traditional |
b41d | 8 | 30 | 97 | 112697 | Traditional |
d652 | 8 | 30 | 97 | 302854 | Traditional |
2c5f | 8 | 30 | 100 | 834279.616973 | Traditional |
46ad | 8 | 30 | 100 | 1477416.14074 | Traditional |
5905 | 8 | 30 | 100 | 1208250.244 | CP-SAT |
59a5 | 8 | 30 | 100 | 116.534 | Traditional |
9052 | 8 | 30 | 100 | 1192972.674 | CP-SAT |
fb0f | 8 | 30 | 100 | 1513040.322707 | CP-SAT |
3672 | 8 | 25 | 100 | 1335276.067131 | Traditional |
b779 | 8 | 22 | 100 | 1059680.409904 | Traditional |
cda6 | 8 | 19 | 100 | 1858 | Traditional |
96fa | 8 | 18 | 100 | 663633 | Traditional |
4b93 | 8 | 12 | 100 | 9276.196777 | Traditional |
d829 | 8 | 7 | 100 | 155595.28125 | Traditional |
0942 | 8 | 5 | 100 | 495290.452062 | Traditional |
7725 | 8 | 3 | 100 | 151608 | Traditional |
77a2 | 8 | 1 | 100 | 20485.359342 | Traditional |