Add CLI option to dump the optimized schedule
CLI should have an option that outputs an optimized schedule without statistical modeling. Probably JSON.
Provisional example:
angonoka schedule --output schedule.json tasks.yml
Possible output
{
"makespan": 200,
"tasks": [
{
"task": "Do things",
"agent": "Bob",
"priority": 0,
"expected_duration": 100,
"expected_start": 0
},
{
"task": "Do other things",
"agent": "Mary",
"priority": 0,
"expected_duration": 100,
"expected_start": 0
},
{
"task": "Do even more things",
"agent": "Bob",
"priority": 1,
"expected_duration": 100,
"expected_start": 100
}
]
}
Could probably refactor the part about optimization from here https://gitlab.com/signal9/angonoka/-/blob/d130c8f4b89dd7e7d30fb9999cd7ccdc2ef30900/src/predict.cpp#L100-103 into a standalone function that takes the event queue as parameter. I.e.
optimize(EventQueue, Configuration) -> Schedule
schedule(Configuration) -> (Future<OptimizationResult>, EventQueue)
predict(Configuration) -> (Future<Prediction>, EventQueue)
Edited by Andrew