CSE505/Assignment2
2024-03-09 16:25:30 -05:00
..
A feat: assignment 2 2024-03-09 16:25:30 -05:00
B feat: assignment 2 2024-03-09 16:25:30 -05:00
C feat: assignment 2 2024-03-09 16:25:30 -05:00
README.md feat: assignment 2 2024-03-09 16:25:30 -05:00

Assignment 1

Part A

clingo

Part B

clingo

| size | processors | deadline | result | time | | ---- | ---------- | -------- | | 10 | 3 | 20 | yes | 0.031 | | 20 | 6 | 30 | no | 4.498 | | 20 | 8 | 30 | yes | 0.233 | | 30 | 6 | 60 | unknown | too long to solve | | 30 | 8 | 60 | yes | 2.961 | | 30 | 8 | 80 | yes | 6.701 | | 30 | 8 | 90 | yes | 9.245 |

With either too high or too low constrain, the runtime grows exponentially. If the constrain is too low, it must iterate through all answers to find one correct result. If it is too high, then it may waste too much time fill the first processor.

Google OR-Tools

Part C

clingo

size ans time
5 5 0.678
10 9 0.866
15 13 1.122
20 17 1.902
25 21 6.379
30 25 34.466

One important factor of the runtime is the max number of cut to check. If we set max = 10 with size = 30, we get the time of 0.914. However, it is impossible to get the max size before running, I believe this time would be a great representation of the runtime of clingo.

AMPL