I solved your enclosed model in 350sec.
using SCIP (Answer was "5" ) with no special
settings.
Seems NEOS SCIP can be hooked up to many different solvers
(including GLPK), I wonder which solver are you using behind SCIP?
* if position[a] > position[b], then before[a,b] = 0
* if position[a] < position[b], then before[a,b] = 1
Big-M: M = 15 - 1 given 15 tasks.
position[b] - position[a] <= M * before[a,b]
position[a] - position[b] <= M * before[b,a]
before[a,b]+before[b,a] == 1
/*
The project consists of 15 tasks. Completion of any of
these tasks will save time on other tasks in the project as
follows:
Task 1 savings: 2 hours on task 2: 2 hours on task 4: 1
hours on task 9
Task 2 savings: 2 hours on task 1: 3 hours on task 15
Task 3 savings: 4 hours on task 1: 1 hours on task 5
Task 4 savings: 1 hours on task 1: 1 hours on task 3: 2
hours on task 5: 1 hours on task 10
Task 5 savings: 1 hours on task 2: 1 hours on task 10: 1
hours on task 13: 1 hours on task 14: 1 hours on task 15
Task 6 savings: 1 hours on task 4: 1 hours on task 8: 2
hours on task 11: 1 hours on task 15
Task 7 savings: 2 hours on task 2: 3 hours on task 15
Task 8 savings: 4 hours on task 5: 1 hours on task 11
Task 9 savings: 1 hours on task 2: 2 hours on task 3: 1
hours on task 11: 1 hours on task 13
Task 10 savings: 4 hours on task 11: 1 hours on task 15
Task 11 savings: 1 hours on task 1: 1 hours on task 3: 1
hours on task 8: 1 hours on task 10: 1 hours on task 12
Task 12 savings: 3 hours on task 1: 1 hours on task 4: 1
hours on task 11
Task 13 savings: 2 hours on task 3: 3 hours on task 12
Task 14 savings: 1 hours on task 3: 1 hours on task 6: 1
hours on task 7: 1 hours on task 8: 1 hours on task 12
Task 15 savings: 2 hours on task 6: 2 hours on task 12: 1
hours on task 13
*/
can reduce the before[,] variables somehow,
create variable pair: before[a,b] and before[b,a]
only if task a, b are related in savings.
Cheers,
Yingjie