@@ -462,13 +462,15 @@ estimate_delays(::SimModel) = 0
462462
463463Get the move blocking vector `nb` from the `Hc` argument, and modify it to match `Hp`.
464464
465- The argument `Hc` is interpreted as the move blocking vector `nb`. It specifies the length
466- of each step (or "block") in the ``\m athbf{ΔU}`` vector, to customize the pattern (strictly
467- positive integers):
465+ This feature is also known as manipulated variable blocking. The argument `Hc` is
466+ interpreted as the move blocking vector `nb`. It specifies the length of each step (or
467+ "block") in the ``\m athbf{ΔU}`` vector, to customize the pattern (in time steps, thus
468+ strictly positive integers):
468469```math
469470 \m athbf{n_b} = \b egin{bmatrix} n_1 & n_2 & \c dots & n_{H_c} \e nd{bmatrix}'
470471```
471- The vector with all the manipulated input increments is then defined as:
472+ The vector that includes all the manipulated input increments ``\m athbf{Δu}`` is then
473+ defined as:
472474```math
473475\m athbf{ΔU} = \b egin{bmatrix}
474476 \m athbf{Δu}(k + 0) \\ [0.1em]
@@ -478,9 +480,9 @@ The vector with all the manipulated input increments is then defined as:
478480 \m athbf{Δu}(k + ∑_{i=1}^{H_c-1} n_i)
479481\e nd{bmatrix}
480482```
481- The provided `nb` vector is modified in these two cases :
483+ The provided `nb` vector is modified to ensure `sum(nb) == Hp` :
482484- If `sum(nb) < Hp`, a new element is pushed to `nb` with the value `Hp - sum(nb)`.
483- - If `sum(nb) > Hp`, the intervals are truncated until the sum is ` Hp`. For example, if
485+ - If `sum(nb) > Hp`, the intervals are truncated until ` sum(nb) == Hp`. For example, if
484486 `Hp = 10` and `nb = [1, 2, 3, 6, 7]`, then `nb` is truncated to `[1, 2, 3, 4]`.
485487"""
486488function move_blocking (Hp_arg:: Int , Hc_arg:: AbstractVector{Int} )
0 commit comments