MHESettings#
- class MHESettings(n_horizon=None, t_step=None, meas_from_data=False, state_discretization='collocation', collocation_type='radau', collocation_deg=2, collocation_ni=1, nl_cons_check_colloc_points=False, nl_cons_single_slack=False, cons_check_colloc_points=True, store_full_solution=False, store_lagr_multiplier=True, store_solver_stats=<factory>, nlpsol_opts=<factory>)[source]#
Bases:
EstimatorSettings
Settings for
do_mpc.estimator.MHE
.The
do_mpc.estimator.MHE
automatically creates an instance of typeMHESettings
and adds it to its class attributes.Example to change settings:
mhe.settings.n_horizon = 20
Note
Settings cannot be updated after calling
do_mpc.estimator.MHE.setup()
.- Parameters
n_horizon (
Optional
[int
]) –t_step (
Optional
[float
]) –meas_from_data (
bool
) –state_discretization (
str
) –collocation_type (
str
) –collocation_deg (
int
) –collocation_ni (
int
) –nl_cons_check_colloc_points (
bool
) –nl_cons_single_slack (
bool
) –cons_check_colloc_points (
bool
) –store_full_solution (
bool
) –store_lagr_multiplier (
bool
) –store_solver_stats (
List
[str
]) –nlpsol_opts (
Dict
) –
Methods#
check_for_mandatory_settings#
- check_for_mandatory_settings(self)#
Method to assert the necessary settings required to design
do_mpc.estimator.MHE
set_linear_solver#
- set_linear_solver(self, solver_name='MA27')#
Method to set the linear solver to
MA27
.This method enables to set the linear solver to
MA27
. This change in many cases will drastically boost the speed of do-mpc.Example:
mhe.settings.set_linear_solver(solver_name = "MA27")
- Parameters
solver_name (
str
) – Specify the solver name.
supress_ipopt_output#
- supress_ipopt_output(self)#
Method to supress the ipopt solver output.
This method set the revelvant settings in the ipopt solver in order to supress the output log.
Attributes#
collocation_deg#
-
MHESettings.collocation_deg:
int
= 2# Choose the collocation degree for continuous models with collocation as state discretization.
collocation_ni#
-
MHESettings.collocation_ni:
int
= 1# For orthogonal collocation, choose the number of finite elements for the states within a time-step (and during constant control input).
Note
Can be used to avoid high-order polynomials.
collocation_type#
-
MHESettings.collocation_type:
str
= 'radau'# Choose the collocation type for continuous models with collocation as state discretization.
Note
Currently only
'radau'
collocation type is available.
cons_check_colloc_points#
-
MHESettings.cons_check_colloc_points:
bool
= True# For orthogonal collocation choose whether the linear bounds set with
do_mpc.estimator.MHE.bounds
are evaluated once per finite Element or for each collocation point.
meas_from_data#
-
MHESettings.meas_from_data:
bool
= False# Default option to retrieve past measurements for the MHE optimization problem.
The
do_mpc.estimator.MHE.set_y_fun()
is called during setup.
n_horizon#
-
MHESettings.n_horizon:
int
= None# Prediction horizon of the optimal control problem.
Parameter must be set by user.
nl_cons_check_colloc_points#
-
MHESettings.nl_cons_check_colloc_points:
bool
= False# For orthogonal collocation choose wether the bounds set with
do_mpc.estimator.MHE.set_nl_cons()
are evaluated once per finite Element or for each collocation point.
nl_cons_single_slack#
-
MHESettings.nl_cons_single_slack:
bool
= False# If
True
, soft-constraints set withdo_mpc.estimator.MHE.set_nl_cons()
introduce only a single slack variable for the entire horizon.
state_discretization#
-
MHESettings.state_discretization:
str
= 'collocation'# Choose the state discretization for continuous models.
Currently only
'collocation'
is available.Note
This attribute has no effect if model is created in
discrete
type.
store_full_solution#
-
MHESettings.store_full_solution:
bool
= False# Choose whether to store the full solution of the optimization problem.
This is required for animating the predictions in post processing.
Warning
It drastically increases the required storage.
store_lagr_multiplier#
-
MHESettings.store_lagr_multiplier:
bool
= True# Choose whether to store the lagrange multipliers of the optimization problem.
Warning
Increases the required storage.
t_step#
-
MHESettings.t_step:
float
= None# Timestep of the estimator.
store_solver_stats#
-
MHESettings.store_solver_stats:
List
[str
]# Choose which solver statistics to store.
Must be a list of valid statistics.