Вы находитесь на странице: 1из 8

CAPTULO 4 METODOLOGA PROPUESTA

En este captulo, se describen los mtodos utilizados en el procedimiento propuesto para obtener soluciones del PLIDMC.

En la actualidad, muchos de los problemas de optimizacin combinatoria no pueden ser resueltos computacionalmente de manera ptima por la naturaleza del problema. Por ello, en las ltimas dcadas se han desarrollado mtodos que generen soluciones de buena calidad, sin la necesidad de examinar cada una de las posibles soluciones. Las tcnicas de la optimizacin combinatoria han incrementado la capacidad para resolver problemas reales de gran escala. Algunas de las metodologas clsicas aplicadas son: buenas formulaciones matemticas, teora de planos de corte, algoritmos de descomposicin y los mtodos heursticos.

Por otro lado, el avance de la tecnologa ha facilitado la implementacin de mtodos de solucin eficientes, y la resolucin de problemas de gran tamao, por lo que, en los ltimos aos, se ha generado un gran avance en la capacidad de los algoritmos para resolver los problemas de optimizacin. Los mtodos heursticos, tambin llamados metaheursticas, se han aplicado exitosamente en el rea de la optimizacin. Por ello, se proponen estos mtodos para obtener soluciones factibles, y en muchos casos se utilizan para problemas NP-hard. Lo que intentan estas estrategias es generar buenos resultados de la manera ms sencilla y eficaz, con un uso razonable de recursos, basndose en un conjunto de reglas, sin ser totalmente rigurosas.

Sin embargo, estos mtodos no necesariamente aseguran el ptimo, aunque pueden generar soluciones de muy buena calidad. Una forma de clasificar estos algoritmos es en base al mtodo de resolucin: construccin, mejora o

combinados. Algunos de los mtodos ms utilizados son: GRASP, algoritmos genticos y evolutivos, templado simulado, bsqueda tab, sistemas de colonia de hormigas, bsqueda dispersa, re-encadenamiento de trayectoria, entre otros.

La efectividad de estos mtodos, se basa en la capacidad de aprovechar la estructura bsica del problema, as como evitar quedar atrapado en ptimos locales. Para esto se han propuesto tcnicas que proveen beneficios, tales como aleatorizacin controlada, estructuras de datos eficientes, pre-procesamientos, entre otros. Adems, existen muchas propuestas que incluso combinan distintas metodologas y generan nuevas heursticas.

Debido a la complejidad del problema estudiado en este trabajo y el nmero de posibles soluciones que se incrementa exponencialmente conforme a la cantidad de instalaciones a ubicar, no existe actualmente un algoritmo exacto que pueda resolver cualquier PLIDMC, con un nmero polinomial de operaciones. Por lo tanto, este trabajo propone una heurstica GRASP, detallando su procedimiento en este captulo.

ALGORITMO VORAZ

Un algoritmo voraz es un procedimiento que construye una solucin factible para el problema estudiado. Es un procedimiento iterativo, que inicia con una solucin vaca y en cada iteracin va aadiendo elementos a su solucin, en base a una funcin que mide el aporte de cada elemento a la funcin objetivo, repitiendo esto hasta completar la solucin. Esta funcin es llamada funcin voraz, y mide el beneficio o contribucin de cada elemento candidato a la funcin objetivo. En cada una de las iteraciones, se ordenan los elementos por agregar en base a esta funcin generando una lista de candidatos. Se selecciona el elemento con mayor aporte a la funcin objetivo y se agrega a la solucin. Despus se reevala la funcin voraz para los candidatos restantes y se repite el proceso. Es

importante notar que esta funcin es miope en el sentido que no analiza el efecto que tendr el elemento seleccionado en las selecciones sucesivas. Sea , una solucin vaca. En la ilustracin 2 se muestra el pseudocdigo de un algoritmo voraz.

Mientras la solucin no sea factible Evaluar la funcin voraz para todos los candidatos Elegir el candidato x con mejor evaluacin Eliminar x de los candidatos Fin-Mientras
ILUSTRACIN 1. PSEUDOCDIGO DEL ALGORITMO GREEDY.

Estos algoritmos seleccionan los elementos ms prometedores del conjunto de candidatos hasta encontrar una solucin que en la mayora de los casos no es la ptima. Adems se dice que el mtodo es adaptativo, ya que en cada iteracin se va actualizando la funcin voraz, calculando las aportaciones parciales a la solucin para cada uno de los elementos candidatos. Es decir, la funcin voraz para un elemento no tiene que tener el mismo valor de una iteracin a otra.

BSQUEDA LOCAL

La bsqueda local es una tcnica que se utiliza en los problemas de optimizacin para mejorar una solucin inicial. Todo problema de optimizacin tiene un conjunto de soluciones posibles, ya sea finito o infinito. Estos algoritmos son iterativos, parten de una solucin factible y exploran dentro del conjunto de soluciones posibles, intentando mejorar la solucin, aplicando distintas estrategias de bsqueda.

Definicin 1: Cada solucin tiene un conjunto de soluciones asociadas (), que se denomina entorno de . Definicin 2: Dada una solucin , cada solucin de su entorno (), puede obtenerse directamente a partir de mediante una operacin llamada movimiento. Definicin 3: Dada una solucin , se dice que es un ptimo local si no existe una mejor solucin en () [17]. La idea bsica de estos algoritmos es, a partir de una solucin inicial 0 , explorar su entorno (0 ) y escoger una nueva solucin 1 (0 ). Para determinar un procedimiento de bsqueda local se debe definir una estructura de vecindad y el criterio de seleccin de una solucin. Por ende, la definicin de entorno-movimiento depende en gran medida de la estructura del problema a resolver, as como de la funcin objetivo. Es decir, dada una solucin factible, un algoritmo de bsqueda local explora su entorno y busca una solucin que mejore la funcin objetivo. Si cumple con el criterio de seleccin se realiza el movimiento asociado, y se repite el proceso hasta que la solucin no pueda ser mejorada. A esta solucin encontrada se le denomina ptimo local. En la ilustracin 3 se muestra el pseudocdigo del algoritmo de bsqueda local en general. Sea () la funcin a minimizar, x una solucin inicial factible y () la estructura de vecindad.

Criterio de parada falso Mientras no se cumpla el criterio de parada hacer x = arg min {f(y)|y N(x)} Si (f(x) < f(x)) entonces x x De lo contrario Criterio de parada verdadero Fin-si Fin- mientras
ILUSTRACIN 2 ALGORITMO DE BSQUEDA LOCAL

GRASP (GREEDY RANDOMIZED ADAPTATIVE SEARCH PROCEDURE)

El mtodo fue desarrollado en 1989 por Feo y Resende [18], con el objetivo principal de solucionar problemas de recubrimiento de conjuntos, aunque el trmino GRASP fue introducido hasta 1995 por Feo y Resende [19]. Dicho trmino viene de sus siglas en ingles Greedy Randomized Adaptative Search Procedure.

GRASP es una tcnica iterativa de muestreo aleatorio, de tal manera que repite su procedimiento un nmero definido de veces con la intencin de generar buenas soluciones. Cada iteracin se compone de dos fases. En la primera, se aplica una heurstica constructiva para generar una solucin factible. A partir de la solucin generada, la segunda fase utiliza una heurstica de mejora para la bsqueda de un ptimo local. El algoritmo selecciona la mejor solucin obtenida en todas las iteraciones como una solucin del problema. FASE DE CONSTRUCCIN

En la fase de construccin, por medio de un algoritmo voraz, iterativamente se construye una solucin factible. En cada iteracin de este procedimiento, se agrega un nuevo elemento a la solucin, en base al valor de la funcin voraz. Asimismo, la heurstica es adaptativa, debido al hecho de que el beneficio asociado a cada uno los elementos candidatos se actualiza en cada iteracin de la fase de construccin, reflejando los cambios generados por el elemento previamente seleccionado. Aunque los algoritmos voraces pueden producir soluciones iniciales razonables para bsquedas locales, su principal desventaja es la falta de diversidad, por lo que como una estrategia de diversificacin, se aleatoriza el algoritmo voraz con respecto a la seleccin de elementos para la solucin. En lugar de seguir la regla comn de seleccionar el mejor elemento en base al valor de la funcin voraz, se construye una lista de candidatos que incluye los mejores candidatos y se selecciona uno aleatoriamente. Para implementar esto es necesario establecer un criterio de seleccin para los elementos que van a

formar parte de la lista de candidatos, llamado comnmente umbral, que es un valor lmite permitido para los elementos. En base a este valor, se reduce la lista de candidatos a una lista restringida de candidatos (LRC) y de ellos se toma un elemento al azar. Este elemento seleccionado se aade a la solucin. El procedimiento se repite hasta completar la solucin factible. De esta manera, la tcnica de seleccin permite construir distintas soluciones iniciales en cada iteracin del GRASP.

Para controlar la diversidad de las soluciones encontradas se utiliza el parmetro [0,1]. Cuando =0 el algoritmo es un algoritmo voraz puro, mientras que cuando =1 es totalmente aleatorio. Es importante encontrar un equilibrio en la aleatoriedad de la generacin de la solucin, lo que se controla con el valor asignado, puesto que si es demasiado aleatorio generar soluciones iniciales pobres, en contraste con poca aleatoriedad siempre se obtendr la misma solucin.

Se puede resumir la fase de construccin descrita anteriormente en la ilustracin 4, que muestra el pseudocdigo basado en la propuesta de Feo y Resende [19]:

Solucin = {} Mientras la solucin no se complete Calcular funcin voraz para todos los candidatos Calcular el umbral Construir Lista Restringida de Candidatos (LRC) s=Seleccionar Elemento aleatoriamente de (LRC) Solucin = Solucin s Fin-mientras
ILUSTRACIN 3 PSEUDOCDIGO DE LA FASE DE CONSTRUCCIN DE SOLUCION POR MEDIO DE UN ALGORITMO VORAZ ALEATORIZADO PARA EL CASO GENERAL.

Dado que la fase constructiva no garantiza la optimalidad local con respecto a la estructura de entorno en la que se trabaja, la segunda fase aplica una bsqueda local para intentar mejorar la solucin construida.

FASE DE MEJORA

La bsqueda local desempea un papel importante en el GRASP, ya que sirve para buscar soluciones localmente ptimas en regiones prometedoras del espacio de soluciones. El algoritmo trabaja de modo iterativo, reemplazando

sucesivamente la solucin actual por una mejor solucin del entorno de la solucin actual. Esto se repite hasta encontrar el ptimo local. Es posible explorar distintos entornos de bsqueda. Asimismo, se pueden tener distintos criterios para seleccionar las nuevas soluciones de los entornos, siendo lo ms simple evaluar las soluciones con respecto a la funcin objetivo.

La ilustracin 5, muestra los pseudocdigos para la fase de mejora, tambin propuesta por Feo y Resende [19]:

Mientras s no ptimo local Encontrar una mejor solucin t N(s) s=t Fin-mientras Regresar (s como un ptimo local del problema)
ILUSTRACIN 4 PSEUDOCDIGO DE LA FASE DE BSQUEDA LOCAL PARA EL CASO GENERAL.

El xito de un algoritmo de bsqueda local radica en una buena seleccin de la estructura de vecindad, en tcnicas de bsqueda efectivas y en la calidad de la solucin inicial.

A manera de resumen se presenta en la ilustracin 6 el pseudocdigo propuesto por Feo y Resende [19], para el GRASP en general:

Procedimiento GRASP Leer datos Mientras no se satisfaga el criterio de parada de GRASP Construir solucin por medio del algoritmo voraz aleatorizado Bsqueda Local Actualizar solucin (solucin, mejor solucin encontrada) Fin de mientras Regresar (mejor solucin encontrada) Fin
ILUSTRACIN 5 ALGORITMO DEL HEURSTICO GRASP

La finalidad de realizar muchas iteraciones del procedimiento es hacer un muestreo del espacio de soluciones. De esta manera se evita quedar atrapado en un ptimo local, que pueda estar muy alejado del ptimo global.

Es difcil analizar formalmente la calidad de las soluciones obtenidas utilizando la metodologa GRASP. Sin embargo, existe una justificacin intuitiva que plantea el GRASP como una tcnica de muestreo repetitivo, ya que cada iteracin del mtodo produce una muestra de una distribucin no conocida, generada de todas las soluciones posibles, cuya media y varianza depende de la naturaleza restrictiva de la lista de candidatos. Por ello, en funcin de la lista de candidatos se puede obtener una media y una varianza de la distribucin. Si la funcin voraz es efectiva el valor de la solucin promedio es bueno, pero probablemente no el ptimo, aunque algunas veces despus de aplicar la fase de mejora la mejor solucin obtenida es la ptima.

A pesar de que las caractersticas de GRASP pueden ser encontradas en otras metodologas de bsqueda heurstica, la implementacin en la prctica es distinta. Se propone esta metodologa, debido a la capacidad que tiene para la obtencin de soluciones para problemas de optimizacin combinatoria de gran tamao. Adems, es un mtodo sencillo y fcil de implementar. En el siguiente captulo se describe detalladamente la implementacin del heurstico GRASP al PLIDMC.

Вам также может понравиться