Procedimiento para determinar explícitamente el conjunto de barcos atendidos en el mismo atraque

Procedimiento para determinar explícitamente el conjunto de barcos atendidos en el mismo atraque a partir de un par de vectores \((z, p)\)

A partir de un vector $\bar z$ que representa el conjunto de barcos servidos y un vector predecesor $\bar p$ que satisface ([*])-([*]), el conjunto de barcos que están asignados a un determinado atraque $r\in R$, $B^r$, se puede identificar fácilmente rastreando las variables predecesoras como se indica en algoritmo x1-10001r1. Esencialmente, cada iteración importante consta de los siguientes pasos: ($i$) seleccionar un índice de atraque $r\in R$ que aún no se haya considerado; ($ii$) identificar un barco servido $\hat \i$ que no precede a ningún otro barco servido (es decir, $\hat \i$ tal que $\bar z_{k(\hat \i)}=1$ y $\sum_{j\in V\setminus \{\hat \i\}}\bar p_{j\hat \i}=0$); y ($iii$) rastrear la secuencia de barcos que preceden a $\hat \i$ usando el vector predecesor $p$. Nótese que, dado que en el SBTP todos los atraques tienen las mismas características, los subconjuntos de barcos $B^r$ son perfectamente intercambiables entre ellos. El algoritmo x1-10001r1 puede resultar útil cuando se utilizan las formulaciones F0 o F1.


\begin{algorithm}
% latex2html id marker 839
[H]
Inicialización: Vectores $\ba...
...\bar p$), satisfaciendo \eqref{predecessor-1}-\eqref{n-berths}.}
\end{algorithm}