Introduction
Badger is an optimizer specifically designed for Accelerator Control Room (ACR). It's the spiritual successor of Ocelot optimizer.
Badger abstracts an optimization run as an optimization algorithm interacts with an environment, by following some pre-defined rules. As visualized in the picture above, the environment is controlled by the algorithm and tunes/observes the control system/machine through an interface, while the users control/monitor the optimization flow through a graphical user interface (GUI) or a command line interface (CLI).
Algorithms, environments, and interfaces in Badger are all managed through a plugin system, and could be developed and maintained separately. The application interfaces (API) for creating the plugins are very straightforward and simple, yet abstractive enough to handle various situations.
Badger offers 3 modes to satisfy different user groups:
- GUI mode, for ACR operators, enable them to perform regular optimization tasks with one click
- CLI mode, for the command line lovers or the situation without a screen, configure and run the whole optimization in one line efficiently
- API mode, for the algorithm developers, use the environments provided by Badger without the troubles to configure them