Framework overview¶
Design¶
The scheduler is designed stateless. Meaning no information of past solutions or problems are saved. This brings the advantage, that a scheduler running as a mirco service can be accessed by several clients, stopped, restarted and have its settings changed without affecting running experiments using it.
Algorithm plugin¶
By design, the scheduler provides to different scheduling algorithms. There is a solver_interface defined in python and every module placed in this folder is automatically included.
Choosing an algorithm¶
At any point in time the schedulers algorithm can be switched, e.g. via a SiLA command. You can also request a list of available algorithms, request the basic information on any available
[# TODO: release Insert exemplary ipython in-out correspondences]
Shipped algorithms¶
Currently, there are the following scheduling algorithms implemented:
Simple Solver (More an academic example than actually usable)
Advanced Priority Dispatching Heuristic (recommended for quick solutions)
CPOptimizer (recommended for best solutions)
A Graph Neural Network-Priority Dispatching Heuristic is currently under construction.