set_tvp_fun¶
Class method.
-
do_mpc.controller.MPC.
set_tvp_fun
(self, tvp_fun)¶ Set function which returns time-varying parameters.
The
tvp_fun
is called at each optimization step to get the current prediction of the time-varying parameters. The supplied function must be callable with the current time as the only input. Furthermore, the function must return a CasADi structured object which is based on the horizon and on the model definition. The structure can be obtained withget_tvp_template()
.Example:
# in model definition: alpha = model.set_variable(var_type='_tvp', var_name='alpha') beta = model.set_variable(var_type='_tvp', var_name='beta') ... # in optimizer configuration: tvp_temp_1 = optimizer.get_tvp_template() tvp_temp_1['_tvp', :] = np.array([1,1]) tvp_temp_2 = optimizer.get_tvp_template() tvp_temp_2['_tvp', :] = np.array([0,0]) def tvp_fun(t_now): if t_now<10: return tvp_temp_1 else: tvp_temp_2 optimizer.set_tvp_fun(tvp_fun)
Note
The method
set_tvp_fun()
. must be called prior to setup IF time-varying parameters are defined in the model. It is not required to call the method if no time-varying parameters are defined.Parameters: tvp_fun (function) – Function that returns the predicted tvp values at each timestep. Must have single input (float) and return a structure3.DMStruct
(obtained withget_tvp_template()
).
This page is auto-generated. Page source is not available on Github.