\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc} %linux
\usepackage[spanish, activeacute]{babel}
\usepackage{fancyhdr}

\pagestyle{fancy}
%\pdfpagewidth 5.5in
%\pdfpageheight 11in

%\pagestyle{fancy}
%\headheight 35pt

%\rhead{Right top}
%\chead{Middle top}
%\lhead{Left top}
%\rfoot{Right bottom}

%\cfoot{\thepage}
%\lfoot{Left bottom}

%\usepackage[latin1]{inputenc} %windows

%\usepackage[dvips]{epsfig}
%\usepackage{mathrsfs}
%\usepackage{amsmath}
%\usepackage{pst-all}
%\usepackage{amssymb}
%\usepackage{fullpage}
\usepackage{graphicx}

\begin{document}

\fancyhf{}
\fancyhead[L]{\leftmark} %nombre de capítulo
\fancyhead[R]{RMES} % RMES
\fancyfoot[C]{
    Centro de Desarrollo de Gestión Empresarial.\\
    Poniente 1206 - Viña del Mar, Chile.\\
    Fono:(56) (32)688987 - Fax:(56) (32)2684079
    }
\fancyfoot[R]{\thepage} % la pagina

\renewcommand{\footrulewidth}{0.4pt}

\title{\textbf{
Simulación Histórica Stockpile Aguas Arriba\\
Software RMES\\
}}
\author{
    Centro de Desarrollo de Gestión Empresarial.\\
    Poniente 1206 - Viña del Mar, Chile.\\
    Fono:(56) (32)688987 - Fax:(56) (32)2684079\\
    empresa@mes.cl
    }
\date{Abril, 2010}

\maketitle

\abstract{El presente informe pretende clarificar los distintos conceptos y fórmulas involucrados en la simulación de detenciones históricas aguas arriba de un sistema Stockpile para el proyecto ''Sierra Gorda''.}

\newpage

\tableofcontents

\newpage
\section{Introducción}
Es conveniente asociar el concepto de Stockpile a acumulador de uso continuo. Las principales propiedades de un Stockpile son:
\begin{itemize}
    \item Un flujo de entrada ($F_e$)
    \item Un flujo de salida ($F_s$)
    \item Una capacidad máxima ($Q_{max}$)
\end{itemize}
Además, un Stockpile tiene una capacidad instantánea que es la capacidad actual del Stockpile (cuán lleno está en ese momento), que en el mejor de los casos es la capacidad máxima ($Q_{max}$) y en el peor de los casos está vacío.

Por definición, el flujo de entrada ($F_e$) siempre debe ser mayor que el flujo de salida ($F_s$), de forma que la velocidad de llenado del Stockpile sea mayor que la velocidad de vaciado. El Stockpile continua su llenado mientras no alcance su capacidad máxima.

El caso común de configuración con Stockpile es el siguiente:

\begin{figure}[htp]
\centering
\includegraphics[scale=0.4]{img/stockpile.eps}
\caption{Diagrama Stockpile}
\label{fig:01}
\end{figure}

El \textbf{subsistema aguas arriba} \textit{alimenta} al Stockpile, mientras que el \textbf{subsistema aguas abajo} se \textit{nutre} del Stockpile. El flujo entonces comienza en el \textbf{susbsistema aguas arriba}, pasa por el Stockpile y continua con el \textbf{subsistema aguas abajo}.

Esto implica que en caso de que \textbf{subsistema aguas arriba} falle, el Stopckpile seguirá \textit{alimentando} al \textbf{subsistema aguas abajo} mientras tenga la capacidad suficiente para hacerlo.

Este documento abordará esta situación en particular, que se conocerá como el \textbf{Problema Aguas Arriba}.

\newpage
\section{El Problema Aguas Arriba}
\subsection{Explicación}
Este problema se refiere a transformar las detenciones del \textbf{subsistema aguas arriba} considerando la existencia de un Stockpile, entendiéndose como transformar al hecho de comparar un escenario sin Stockpile respecto a uno con Stockpile.

El escenario sin Stockpile se refiere al funcionamiento normal de un subsistema cualquiera: si el subsistema falla, la falla afecta inmediatamente al \textbf{subsistemas aguas abajo}.

El escenario con Stockpile, entendiéndose éste como el conjunto \textbf{subsistema aguas arriba} y Stockpile, fallará cuando el stockpile se encuentre vacio. Esto sólo puede ocurrir cuando la duración de la falla del \textbf{subsistema aguas arriba} supera al tiempo que tarda en vaciarse el Stockpile.

Como generalización, y para efectos de explicitar aún más la comparación que se desea, se puede decir que todo subsistema contiene un Stockpile nulo, con capacidad nula y de cero costo, en donde la falla del subsistema aguas arriba se propaga inmediatamente. De esta forma, todo subsistema es un \textbf{subsistema con Stockpile}, en donde el subsistema se considera como un \textbf{subsistema aguas arriba}.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.4]{img/stockpileComp.eps}
\caption{Comparación Subsistema con y sin Stockpile}
\label{fig:02}
\end{figure}


\subsection{Solución a nivel de equipos}
Observando una configuración de un subsistema como tal, que a su vez es una configuración con Stockpile nulo como se mencionó anteriormente, la transformación de las detenciones del subsistema a este subsistema con Stockpile nulo no genera ningún cambio: las detenciones son iguales.

Como corolario, un subsistema con Stockpile de capacidad infinita, provoca que el conjunto completo tenga disponibilidad 100\%, a pesar de que el equipo falle, el conjunto jamás fallará.

Cuando se utiliza Stockpile sobre un subsistema, es necesario transformar las detenciones del subsistema, que ahora se puede considerar un \textbf{subsistema aguas arriba} como tal, debido a que el conjunto completo fallará sólo en caso de que el Stockpile se vacie completamente. Por ende, las detenciones del conjunto completo serán de menor duración.

Un Stockpile puede graficarse como un estanque:

\begin{figure}[htp]
\centering
\includegraphics[scale=0.4]{img/st_estanque.eps}
\caption{Stockpile como estanque}
\label{fig:03}
\end{figure}

Al diagrama \ref{fig:03} sólo basta agregar el dato de la capacidad instantánea será inicialmente igual a la capacidad inicial del Stockpile. Esta última variable es un dato al igual que los flujos y la capacidad máxima.

Lo que se documentará a continuación es el proceso de transformar una detención de un \textbf{subsistema aguas arriba} considerando la existencia de un Stockpile no nulo y finito.

El modelo de Stockpile contiene dos estados: el proceso de vaciado y el proceso de llenado. De forma arbitraria, se comenzará siempre con el proceso de vaciado. Esto quiere decir que cuando el equipo falle por primera vez, se comenzará el vaciado del Stockpile desde el nivel de capacidad inicial configurado, que a su vez, en este punto, también sera la capacidad instantánea del Stockpile, cuán lleno está en ese momento.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.3]{img/crono.eps}
\caption{Cronograma}
\label{fig:04}
\end{figure}

El diagrama \ref{fig:04} muestra el punto de partida del algoritmo. La capacidad en ese momento será la capacidad inicial.

$$Q_{inst}=Q_0$$

Observando nuevamente el diagrama \ref{fig:04}, saber cuán vacio quedará el Stockpile después de que termine la falla con duración $TTR_1$ se puede calcular de la siguiente manera:

$$Q_{inst}=Q_{inst} - TTR_1 \cdot F_s$$

Si sucediera el caso de que $Q_{inst} < 0$, implica que la duración de la falla del \textbf{subsistema aguas arriba} fue demasiado larga, por lo que el Stockpile quedó completamente vacio, provocando falla completa sobre el conjunto \textbf{subsistema aguas arriba}-Stockpile. El tiempo de falla real del conjunto será:

$$TTR_1^{'}= - \frac{Q_{inst}}{F_s}$$

Dado que el Stockpile no pude tener una capacidad negativa, es necesario resetear el valor de la capacidad instantánea para el momento en que el \textbf{subsistema aguas arriba} termine de ser reparado.

$$Q_{inst}=0$$

Luego, comienza el primer TBF a contar para el algoritmo, en el diagrama \ref{fig:04} se denomina $TBF_2$. Durante ese tiempo, el Stockpile comienza a ser llenado. Para saber cuán lleno quedará el Stockpile hasta que llegue la próxima detención $TTR_2$ se puede calcular como:

$$Q_{inst}=Q_{inst} + TBF_1 \cdot (F_e - F_s)$$

Si el valor de $Q_{inst}$ supera a la capacidad máxima, entonces es necesario corregir este valor dado que el estanque no puede ser llenado por sobre este límite:

$$Q_{inst}=Q_{max}$$

El proceso continua con la siguiente detención $TTR_2$ y así hasta terminar con todas las detenciones.


\newpage
\subsection{Solución General}
El problema a nivel de subsistema es que en presencia de subsistemas hijos en fraccionamiento las detenciones que el subsistema pueda contener podrían estar fraccionadas, esto quiere decir que una detención no impacta en un 100\% la producción, sino, un porcentaje que puede ser menor. Esto afecta directamente al vaciado o llenado del Stockpile, dado que la detención impactada afectará directamente al flujo de entrada del Stockpile.

En RMES, las detenciones que ''suben'' a un subsistema se conocen como \textbf{fallas}. La agrupación de un conjunto de fallas se conoce como \textbf{bloque de falla}. La particularidad de los \textbf{bloques de fallas} es que entre ellos no existen anidamientos ni traslapes, son objetos independientes tal como las detenciones a nivel de equipo (en donde no existen traslapes, y en caso de que existan, se filtran y modifican). Dentro de un \textbf{bloque de falla} existen varias fallas que pueden estar traslapadas. En casos simples, un \textbf{bloque de falla} contiene una única falla o varias contiguas. En casos como fraccionamiento, un \textbf{bloque de falla} contiene fallas traslapadas, gráficamente, unas encimas de otras.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.22]{img/frac.eps}
\caption{Dos equipos en fraccionamiento con 40\% y 60\% de impacto sin capacidad ociosa}
\label{fig:05}
\end{figure}

RMES también soporta fraccionamiento con capacidad ociosa, por lo que las fallas que ''suban'' al subsistema en fraccionamiento tendrán esta consideración en su impacto. Por lo tanto, se puede trabajar directamente con las fallas de un subsistema. Se debe agregar la particularidad de que las fallas llegan ''parceladas'' al subsistema, como se muestra el la figura \ref{fig:05}, por ello, en un intervalo de tiempo definido por el parcelamiento de un falla, las sumatoria de fallas anidadas en tal intervalo puede sumar a lo más un 100\%.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.3]{img/fallas_frac.eps}
\caption{Bloque de falla con impactos totales de fallas en subsistema en fraccionamiento.}
\label{fig:06}
\end{figure}

Luego, el flujo de entrada deberá ser impactado en la misma cantidad que la sumatoria de fallas que se encuentren en un intervalo parcelado. Es decir, para una sumatoria de un 100\% de impacto, implica que el flujo de entrada deberá ser igual a cero, y en caso de un impacto 0\%, el flujo de entrada deberá ser el completo.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.3]{img/fallas_frac_general.eps}
\caption{Bloque de fallas con impactos. Diagrama General.}
\label{fig:07}
\end{figure}

El diagrama \ref{fig:07} representa un bloque con fallas impactadas. Contiene $n$ parcelamientos, y a su vez, $n$ subtiempos de detención impactados. Se puede observar en el diagrama que para un subtiempo $TTR_i$, existen una cierta cantidad de fallas asociadas. La sumatoria de los impactos $I_i$ de estas fallas, que a lo más puede ser 1 (100\%), dará el impacto total $I_t$ para este subtiempo $TTR_i$.

$$I_t= \sum_{i=1}^{m} I_i \ \ \ \ \textrm{m: cantidad de fallas en $TTR_i$}$$

Este impacto $I_t$ afectará directamente al cálculo de capacidad instanstánea al final del periodo que abarca el tiempo $TTR_i$, valor que se denominará $Q(t_f)$ y se calcula como:

$$Q(t_f) = Q(t_0) + (F_e \cdot (1-I_t) - F_s ) \cdot TTR_i  $$

donde $Q(t_0)$ representa la capacidad en el Stockpile en el tiempo $t_0$.

La generalización de esta equación es:

$$Q = Q(t_0) + m \cdot (T - t_0) \ \ \ \ \ \ \ m = F_e \cdot (1-I_t) - F_s$$

Para efectos de simplificación, $t_0 =0$. Entonces obtendremos:

$$Q = Q(t_0) + m \cdot T \ \ \ \ \ \ \ m = F_e \cdot (1-I_t) - F_s$$

La figura \ref{fig:08} representa el gráfico de esta ecuación.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.4]{img/proceso_stockpile.eps}
\caption{Proceso Stockpile}
\label{fig:08}
\end{figure}

De la figura \ref{fig:08}, $Q(t_f)$ se puede estudiar para 2 casos:
\begin{enumerate}
    \item Si $Q(t_f) > 0$, implica que la falla no impactó lo suficiente para que el Stockpile quede vacio. De hecho, pudo haber ocurrido de que el Stockpile se hubiese estado llenado, pero a una velocidad menor respecto a la velocidad de llenado en un periodo sin detenciones, o simplemente, el tiempo no fue el necesario para que el Stockpile quede vacio por completo.

En este punto, sólo se debe chequear que
$$ si \ \ Q(t_f) > Q_{max} \longrightarrow Q(t_f)=Q_{max}$$

    \item Si $Q(t_f) < 0$, implica que la falla impactó lo suficiente para que el Stockpile quede vacio. Si ello ocurrio, necesariamente $m<0$. Esto implica que el Stockpile se vació en algún punto anterior, representado en la figura \ref{fig:08} con el valor $t_i$, generando una falla que efectivamente detiene al conjunto subsistema-Stockpile de duración $TTR_{i}^{'}$. El momento $t_i$ de inicio de la falla, en donde $Q=0$, y la duración se calculan como:

$$t_i= - \frac{Q(t_0)}{m} \ \ \ \ \ \ m<0, \ \ t > 0$$

$$TTR_{i}^{'} = \frac{Q(t_f)}{F_e \cdot (1-I_t) - F_s } \ \ \ \ \ \textrm{ó} \ \ \ \ TTR_{i}^{'}= t_f - t_i$$ 

En este punto, se debe considerar el impacto total $I_t$ del conjunto de fallas en estudio y el concepto de flujo de entrada impactado
 $$F_{e\_imp} =F_e \cdot (1 - I_t)$$

\begin{enumerate}
    \item si $I_t = 1$, entonces el impacto fue completo, por lo que el flujo de entrada impactado se anuló completamente $F_{e\_imp}= 0$. Los impactos de las fallas no sufren modificación.

    \item si $I_t < 1$, quiere decir que, a pesar de que el Stockpile se encuentra vacio, el flujo de entrada impactado no es nulo por completo, por lo tanto, el Stockpile sigue trabajando a una capacidad menor. Por lo tanto, el impacto total $I_t$ debe ser modificado, pues debería ser un impacto menor. Este impacto modificado $I_t^{'}$ se calcula como:

$$I_t^{'}= 1 - \frac{F_e \cdot(1-I_t)}{F_s}$$

Ahora, es necesario ponderar el impacto de las fallas en estudio, de forma que la sumatoria de estas sea igual a $I_t^{'}$. Básicamente se quiere:

$$p \cdot \sum_{i=1}^{m} I_i= I_t^{'}$$

$$p = \frac{I_t^{'}}{\sum_{i=1}^{m} I_i}$$

donde $p$ es un valor entre $]0,1]$ que multiplicará a cada impacto de las fallas:

$$I_i^{'}= p \cdot I_i \ \ \ \ \ \ \forall i={1, \ldots, m}$$

$$I_i^{'}= p \cdot I_i \ \ \ \ \ \ \forall i={1, \ldots, m}$$

Finalmente, la configuración de las fallas quelicará a cada impacto de las fallas:

$$I_i^{'}= p \cdot I_i \ \ \ \ \ \ \forall i={1, \ldots, m}$$

Finalmente, la configuración de las fallas que realmente impactaron al conjunto subsistema-Stockpile tendrán una duración $TTR_{i}^{'}$ y cada una una impacto $I_i^{'}$.

\begin{figure}[htp]
\centering
\includegraphics[scale=0.2]{img/filtro.eps}
\caption{Filtro}
\label{fig:09}
\end{figure}


\end{enumerate}

Finalmente, se debe resetear el valor $Q(t_f)$ a cero.
$$Q(t_f)=0$$
\end{enumerate}

Esto debe repetirse por cada parcelamiento del bloque de fallas.

Para los TBF's, la fórmula no cambia respecto a la solución a nivel de equipos expuesta anteriormente:

$$Q(t_f)=Q(t_0) + TBF_i \cdot (F_e - F_s)$$

donde $t_0$ y $t_f$ se refiere a los tiempos de inicio y fin del $TBF_i$ en cuestión. Si el valor de $Q(t_f)$ supera a la capacidad máxima, entonces 
$Q(t_f)=Q_{max}$.

Como corolario, la fórmula anterior se puede escribir como:

$$Q(t_f)=Q(t_0) + TBF_i \cdot F_t$$

donde el impacto asociado a $F_t$ es $0$.

\newpage
\section{Conclusiones}
El documento explica un modelo para la transformación de las detenciones contenidas en un subsistema considerando la existencia de un Stockpile y tomando en cuenta la existencia de subsistemas en fraccionamiento.

La defición de que todo subsistema contienen un stockpile nulo puede ser útil para una futura implementación en RMES.

El \textbf{Problema Aguas Abajo} aún sigue en estudio.

\end{document} 
