Herramienta software para resolver procesos de decisión de Markov utilizando recocido simulado Cristhian D SANDOVAL Ximena GALINDO Roberto E SALAS RESUMEN Este artículo expone el diseño del prototipo de software PDM- RC (Procesos de decisión de Markov implementando recocido simulado) y la implementación que se realizó utilizando varias tecnologías. Se describe el problema del Remplazo del automóvil, la forma como el prototipo lo soluciona y los resultados y conclusiones obtenidos. Palabras Claves: Procesos de Decisión de Markov, Recocido Simulado, Política, Matlab y Java. 1. INTRODUCCIÓN La importancia que tienen los procesos de decisión de Markov (PDM) en varios campos de la ciencia y la industria está ligada a la capacidad que tienen para predecir el comportamiento de un sistema a través del tiempo y lograr tomar decisiones con criterio o probabilidad. Los PDM están conformados por cadenas de Markov, estas no son más que una serie de eventos, en la cual la probabilidad de que ocurra un evento depende del evento inmediatamente anterior. En efecto, las cadenas de este tipo tienen memoria, recuerdan el último evento y esto condiciona las posibilidades de los eventos futuros. El prototipo de software PDM-RC nace de un intento por encontrar políticas óptimas de procesos de decisión de markov aprovechando todas las ventajas que nos ofrecen los algoritmos metaheuriticos y en específico el algoritmo de recocido simulado que es el algoritmo que utiliza el prototipo para determinar la política optima que maximice la recompensa durante una cantidad finita de estados. Con el software PDM-RC se han podido resolver varios problemas descritos en libros de investigación de operaciones pero también funciona para ejercicios propuestos o que son de tipo experimental cuya finalidad siempre es encontrar la mejor política para obtener una recompensa óptima. 2. GENERALIDADES Recocido Simulado El recocido simulado o Simulated annealing (SA) es un algoritmo de búsqueda local capaz de escapar de los óptimos locales permitiendo que bajo ciertas circunstancias se admitan movimientos que empeoren la mejor solución encontrada hasta el momento en el proceso de búsqueda [1]. Entre sus características principales se debe resaltar que es un algoritmo que implementa el procedimiento de búsqueda local para mejorar progresivamente las soluciones. Para ello examina la vecindad y toma el primer movimiento que produce una mejora en la solución actual. En cuanto a la cantidad de soluciones que utiliza el algoritmo SA para realizar la búsqueda se puede decir que pertenece al grupo de las metaheurísticas trayectoriales, es decir que el algoritmo SA parte de una única solución inicial y es capaz de generar un camino o trayectoria en el espacio de búsqueda. La función objetivo es estática ya que no presenta cambios durante el proceso de la búsqueda y que el algoritmo no presenta inconvenientes a la hora de decidir si se quiere minimizar o maximizar una función. La estructura de vecindad es estática para limitar el campo de soluciones vecinas, esto garantiza la potencia del algoritmo y permite buscar en vecindades de diferentes tamaños [1] Cadenas de Markov Son una herramienta para analizar el comportamiento de determinados tipos de procesos estocásticos, esto es, procesos que evolucionan de forma no determinística a lo largo del tiempo en torno a un conjunto de estados. Una cadena de Markov, por tanto, representa un sistema que varía su estado a lo largo del tiempo, siendo cada cambio una transición del sistema. Dichos cambios no están predeterminados, aunque sí lo está la probabilidad del próximo estado en función de los estados anteriores, probabilidad que es constante a lo largo del tiempo (sistema homogéneo en el tiempo).eventualmente, en una transición el nuevo estado puede ser el mismo que el anterior y es posible que exista la posibilidad de influir en las probabilidades de transición actuando adecuadamente sobre el sistema (decisión) [2]. 192
Estados Los estados son una caracterización de la situación en que se halla el sistema en un instante dado, dicha caracterización puede ser tanto cuantitativa como cualitativa [3]. Procesos de decisión de Markov Un proceso de decisión de Markov es similar a una cadena de Markov con la diferencia que la matriz de transición depende de la acción tomada por un agente en cada paso del tiempo. El objetivo es hallar una función llamada política, la cual especifica qué acción se va tomar en cada estado, de modo que optimice alguna función de costo o de recompensa. Los PDM proveen un marco matemático para modelar problemas de decisión secuencial en ambientes dinámicos inciertos. Un PDM es una tupla (S,A,P,R) donde S es un conjunto finito de estados, A es un conjunto finito de acciones, P: S * A * S [0,1] es la función de probabilidad de transición, la cual asocia un conjunto de probables estados alcanzados a una acción dada en el estado en evaluación. R(S,A) denota la recompensa obtenida si se aplica la acción A en el estado S. D (s) denota una política (o estrategia) que produce una acción para cada estado, es una regla que especifican cuáles acciones podrían aplicarse en cada caso[3]. visualización y representación de gráficos, así como para el desarrollo de algoritmos. Matlab incorpora, además, otras librerías que son colecciones de funciones especializadas y diseñadas para resolver problemas muy específicos y que se pueden integrar con facilidad a proyectos y/o tecnologías externas [6]. Integración MATLAB y JAVA En el modelo recompensa esperada de la política D es necesario encontrar los i o probabilidades de estado estable de la matriz de transición asociada a una política, por esta razón se utilizó librerías de Matlab que fueran capaz de resolver sistemas de ecuaciones y así poder encontrar los i solicitados. La integración de MATLAB y JAVA que se utilizó está basada en crear un componente en Matlab que reciba una matriz de transición, solucione y retorne un vector columna con las probabilidades de estado estable. A continuación en la figura 1 se muestra el diseño de cómo interactúan Matlab y java. Decisión Una decisión es la unión de una matriz de transición y una matriz de recompensa. La matriz de transición representa la probabilidad de pasar de un estado i a un estado j y la matriz de recompensa representa la ganancia que se obtiene de pasar de un estado i a un estado j. Política Es una regla que específica qué decisión tomar en cada estado.un proceso de decisión de Markov tiene como mínimo (m)^n políticas, donde n son la cantidad de estados y m la cantidad de decisiones que se pueden tomar en cada estado. Las políticas pueden depender del estado actual, de los estados pasados o de acciones externas. Una política óptima es aquella que maximiza el valor esperado de recompensa total de un estado específico para cierto número de transacciones [4]. Recompensa esperada de la política D El siguiente modelo se conoce como Costo promedio esperado (a largo plazo) por unidad de tiempo. En la implementación de este trabajo es utilizado para encontrar la recompensa de una política D y por eso se han redefinido algunos conceptos que a continuación se pueden apreciar en la ecuación (1). Figura 1. Interacción MATLAB y JAVA 3. SOFTWARE PDM-RC El software desarrollado que implementa el recocido simulado se desarrolló en java y los cálculos de la matriz de transición los hace matlab. En la figura 2 se muestra el caso de uso general del software PDM-RC. n R ia i= 1 E( R( D)) = π (1) i Donde: n es el número de estados. R ia es la recompensa de tomar la decisión a en el estado i. i es la probabilidad de estado estable en i. Matlab es un potente lenguaje diseñado para la computación técnica. Matlab puede ser utilizado en computación matemática, modelado y simulación, análisis y procesamiento de datos, Figura 2 Modelo de Caso de uso General PDM-RC En el caso de uso general se puede apreciar la interacción del usuario con las funciones que dispone el prototipo y la forma como el como el prototipo soluciona y responde internamente la solicitud requerida. 193
La Figura 3 presenta el modelo de interfaz que muestra como es la navegación a través del software. Q Año 16 R Año 17 S Año 18 T Año 19 Definición de decisiones Para este problema se definen 2 decisiones, cada decisión está conformada por una matriz de transición y una matriz de recompensa. Figura 3 Modelo de interfaz general PDM-RC 3. PROBLEMA DEL REEMPLAZO DEL AUTOMOVIL En la tabla 2 se representa la probabilidad de pasar de un estado i a un estado j si se toma la decisión de mantener el carro en un momento dado. Tabla 2. Matriz de transición para la decisión de mantener el carro Una persona desea revisar cada año el estado y los costos que tienen su carro y así tomar una decisión de mantener el actual carro o negociarlo por uno nuevo en ese momento. El estado del sistema, i, es descrito por la edad del carro; i puede ir desde 0 hasta 19(o desde el estado A hasta el estado T). A fin de mantener, el número de estados finitos, un carro de edad 19 permanece como un carro de edad 19 por siempre (Es considerado que ya está gastado). Las alternativas disponibles en cada estado son dos, mantener el carro actual o negociarlo por uno nuevo. En el estado 0 como el carro es nuevo, no es factible tomar la decisión de negociarlo. Así las cosas, tenemos 20 estados en los cuales se pueden tomar dos decisiones posibles, de modo que hay 2^20 posibles políticas, lo que es más de un billón de políticas. Definición de estados Para este problema se definen 20 estados, la tabla 1 se puede ver la representación y definición de cada uno. En la tabla 3 se representa la recompensa de pasar de un estado i a un estado j si se toma la decisión de mantener el carro en un momento dado. Tabla 3. Matriz de recompensas para la decisión de mantener el carro Tabla 1. Conjunto de estados para el problema del reemplazo de automovil Estado Condición A Año 0 B Año 1 C Año 2 D Año 3 E Año 4 F Año 5 G Año 6 H Año 7 I Año 8 J Año 9 K Año 10 L Año 11 M Año 12 N Año 13 O Año 14 P Año 15 En la tabla 4 se representa la probabilidad de pasar de un estado i a un estado j si se toma la decisión de negociar el carro en todos los estados. 194
Tabla 4. Matriz de transición para la decisión de negociar el carro Tabla 6. Mejor política encontrada por PDM-RC En la tabla 5 se representa la recompensa de pasar de un estado i a un estado j si se toma la decisión de negociar el carro en todos los estados. Tabla 5. Matriz de recompensas para la decisión de mantener el carro La evolución de la recompensa en el problema del reemplazo del automóvil en 250 iteraciones aplicando recocido simulado se muestra en la figura 4. 4. SOLUCIÓN UTILIZANDO EL PROTOTIPO DE SOFTWARE PDM-RC Se comenzó con una temperatura inicial de 8000 unidades, para una misma temperatura se realizaron 10 iteraciones, y se realizaron 25 iteraciones con temperaturas diferentes, es decir, el algoritmo tuvo en total 250 iteraciones. Para la disminución de la temperatura se utilizó el esquema Descenso geométrico (T= *T, T<1). La mejor política encontrada se ve en la Tabla 6 y su recompensa es de 470,5 unidades. La decisión 1 es mantener el carro y la 2 es negociar el carro por uno nuevo. Figura 4.Grafica de resultados encontrados en cada iteración 5. CONCLUSIONES El software PDM-RC demostró que puede solucionar problemas amplios gracias a su facilidad de ingresar matrices de transición grandes. La política encontrada es aceptable por tener recompensa alta además de haber sido encontrada en tiempo relativamente corto. En problemas pequeños el prototipo siempre converge a la misma política, pero en problemas grades como el tratado en este artículo el prototipo encuentra políticas diferentes pero muy similares una de la otra esto se debe a que la cantidad de datos es más amplia y los resultados muy versátiles pero con la suficientes validez para ser tomados como óptimos. 195
6. REFERENCIAS [1] Duarte M. A., Pantrigo F.J. y Gallego C.M. MetaHeurísticas, 1a ed. Madrid: Dykinson, 2007. [2] Hillier F. S. y Lieberman G. J. Introducción a la investigación de operaciones, 6a ed. : McGraw Hill, 1999. [3] Joan B Fonollosa José M Sallan Albert Suñé (2002) Métodos cuantitativos de organización industrial II. [4] Salas, R (2007) SIMULATED ANNEALING PARA LA BÚSQUEDA DE POLÍTICAS ÓPTIMAS EN PROCESOS DE DECISIÓN DE MARKOV. Vínculos.vol 2, 113, 53-62. [Online], Disponible en: <http://revistas.udistrital.edu.co/ojs/index.php/vinculos/artic le/view/4086/5751> [5] Taha, H. Investigación de operaciones, 7a ed. México: PEARSON EDUCACIÓN, 2004. [6] Amos Gilat (2005) MATLAB: UNA INTRODUCCIÓN CON EJEMPLOS PRÁCTICOS 196