Initial state estimation

class rtctools.optimization.initial_state_estimation_mixin.InitialStateEstimationMixin(**kwargs)

Bases: rtctools.optimization.goal_programming_mixin.GoalProgrammingMixin

Adds initial state estimation to your optimization problem using goal programming.

Before any other goals are evaluated, first, the deviation between initial state measurements and their respective model states is minimized in the least squares sense (1DVAR, priority -2). Secondly, the distance between pairs of states is minimized, again in the least squares sense, so that “smooth” initial guesses are provided for states without measurements (priority -1).

Note

There are types of problems where, in addition to minimizing differences between states and measurements, it is advisable to perform a steady-state initialization using additional initial-time model equations. For hydraulic models, for instance, it is often helpful to require that the time-derivative of the flow variables vanishes at the initial time.

initial_state_measurements() → List[Union[Tuple[str, str], Tuple[str, str, float]]]

List of pairs (state, measurement_id) or triples (state, measurement_id, max_deviation), relating states to measurement time series IDs.

The default maximum deviation is 1.0.

initial_state_smoothing_pairs() → List[Union[Tuple[str, str], Tuple[str, str, float]]]

List of pairs (state1, state2) or triples (state1, state2, max_deviation), relating states the distance of which is to be minimized.

The default maximum deviation is 1.0.