Skip to content

SymbolicController

Jens Engel edited this page Jan 30, 2021 · 1 revision

SymbolicController

controller = ExplicitController( numScenarios )

This controller will prepare the optimization problem before simulations starts, during the agent initialization. The problem is prepared completely parametrically and then compiled into a YALMIP optimizer object.

This is very efficiet (i.e. fast) for smaller problems, as the optimizer object will store a pre-compiled representation of the optimization problem. Unfortunately, for bigger problem it does not scale very well, especially when many scenarios are to be considered. In this case, the ExplicitController may be recommended.

Config

The symbolic controller has two configurable options that can be used for debugging.

Name Default Value Description
verbose false By default, the symbolic controller will not output any debug information coming from the solver. Contrary to debugMode, this option does not enforce the use of optimize() and will activate debug output and verbosity of the optimizer
forceOptimize false Using this flag, the use of optimize() instead of optimizer is enforced without activating the debug mode. Note that using optimize() with the symbolic model representation is very, very slow as all constraints and expressions have to undergo YALMIP's replace()