set_tvp_fun¶
Class method.
-
do_mpc.controller.MPC.set_tvp_fun(self, tvp_fun)¶ Set function which returns time-varying parameters.
The
tvp_funis 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.