RESOLUCIÓN DE UN PROBLEMA DE …opac.pucv.cl/pucv_txt/txt-2500/UCG2580_01.pdf · luego con los...

65
PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INFORMÁTICA RESOLUCIÓN DE UN PROBLEMA DE OPTIMIZACIÓN BI-OBJETIVO A TRAVÉS DE UN ALGORITMO CULTURAL DANIELA ANDREA DÍAZ BALLADARES BORIS EDGARDO FERNÁNDEZ OLIVARES INFORME FINAL DEL PROYECTO PARA OPTAR AL TÍTULO DE INGENIERO CIVIL EN INFORMÁTICA ABRIL 2010

Transcript of RESOLUCIÓN DE UN PROBLEMA DE …opac.pucv.cl/pucv_txt/txt-2500/UCG2580_01.pdf · luego con los...

PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA INFORMÁTICA

RESOLUCIÓN DE UN PROBLEMA DE OPTIMIZACIÓNBI-OBJETIVO A TRAVÉS DE UN ALGORITMO

CULTURAL

DANIELA ANDREA DÍAZ BALLADARES

BORIS EDGARDO FERNÁNDEZ OLIVARES

INFORME FINAL DEL PROYECTO PARA OPTAR AL TÍTULO DE INGENIERO CIVIL EN INFORMÁTICA

ABRIL 2010

Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería

Escuela de Ingeniería Informática

RESOLUCIÓN DE UN PROBLEMA DE OPTIMIZACIÓN BI-OBJETIVO A TRAVÉS DE UN ALGORITMO CULTURAL

DANIELA ANDREA DÍAZ BALLADARES

BORIS EDGARDO FERNÁNDEZ OLIVARES

Profesor Guía: Guillermo Cabrera Guerrero

Profesor Co-referente: José Rubio León

Carrera: Ingeniería Civil Informática.

Abril 2010

Agradecimientos

“Agradecemos enormemente al profesor Guillermo Cabreras, nuestro profesor guía, quien siempre mostró un gran interés sobre nuestra tesis, aportando consejos que llevaron este trabajo de título por buen camino.

Agradecer también al profesor Juan Guillermo Villegas, que desde muy lejos siempre estuvo atento a nuestras consultas y comentarios.

A cada una de las personas que dieron su valioso tiempo para despejar nuestras dudas y ayudarnos con sus comentarios.”

Dedicatorias

“Quiero dedicar este trabajo de título a mis padres, que han sido, fueron y serán por siempre mi pilar incondicional en cualquier momento. Con su completa ayuda y atención, permitieron que pudiese culminar esta larga formación profesional. Gracias por su preocupación y sacrificio de tantos años para poder entregarme lo necesario para mi bienestar.

A mi familia y amigos, por todos los consejos y alientos en los momentos más difíciles que me animaron para continuar.

No menos importante, a mi compañero de trabajo de título y amigo Boris, por su preocupación, responsabilidad y apoyo en todo momento.”

Daniela Díaz Balladares

“Quiero dedicar especialmente esta tesis a las dos personas que fueron indispensables desde el inicio de este largo camino, mis padres Rosa y Benjamín, espero se sientan orgullosos de lo que han logrado hacer de mí.

A todas las personas que aportaron de diferentes formas para mi formación, en especial a las que forman parte de mi buena familia, aunque no los nombre, los llevo a cada uno de ellos muy guardados dentro de mis pensamientos.

A mi compañera y amiga Daniela, con la cual he pasado largos pero agradables momentos construyendo esta tesis, sin duda una de las personas más valorables que conozco.”

Boris Fernández Olivares.

2

Indice

Introducción .......................................................................................................................... 7

Objetivos ................................................................................................................................ 92.1 Objetivo General ............................................................................................................................... ... 9

2.2 Objetivos Específicos............................................................................................................................ 9

Estado del Arte ................................................................................................................... 103.1 Optimización Multiobjetivo ............................................................................................................... 10

3.1.1 Métodos Escalares.................................................................................................................... 133.1.2 Métodos Interactivos. .............................................................................................................. 153.1.3 Métodos Difusos (Fuzzy)........................................................................................................... 163.1.4 Métodos usando Metaheurísticas............................................................................................ 17

3.2 Algoritmos Culturales......................................................................................................................... 193.2.1 Componentes de un algoritmo cultural.................................................................................... 203.2.2 Tipos de Conocimiento ............................................................................................................. 223.2.3 Revisión Bibliográfica................................................................................................................ 23

3.3 Problemas de Localización de instalaciones ...................................................................................... 25

Algoritmo Cultural para BOUFLP ................................................................................... 304.1 Formulación del Problema bi objetivo de localización de instalaciones sin restricciones de capacidad(BOUFLP)................................................................................................................................ ...................... 30

4.2 Representación de la Solución ........................................................................................................... 324.2.1 Codificación de Individuos........................................................................................................ 324.2.2 Comparación de individuos. ..................................................................................................... 334.2.3 Inicialización de la Población .................................................................................................... 344.2.4 Influencia del conocimiento. .................................................................................................... 354.2.5 Función aptitud......................................................................................................................... 354.2.6 Operador de Selección ............................................................................................................. 364.2.7 Operador de Recombinación:................................................................................................... 384.2.8 Operador de Mutación. ............................................................................................................ 394.2.9 Operador de Reemplazo........................................................................................................... 40

4.3 Algoritmo Cultural Propuesto. ........................................................................................................... 40

Experimentos Computacionales ........................................................................................ 435.1 Métricas Multiobjetivo....................................................................................................................... 43

5.1.1 Problema de Localización con Restricción de Cobertura (UFLP+C) .......................................... 455.1.2 Problema de Máxima Cobertura con Restricción de Costos (MCLP+B).................................... 46

5.2 Instancias utilizadas. .......................................................................................................................... 47

5.3 Afinación de Parámetros.................................................................................................................... 48

5.4 Resultados................................................................................................................................ .......... 50

Conclusiones y Trabajo Futuro ......................................................................................... 54

Bibliografía .......................................................................................................................... 56

3

Anexos .................................................................................................................................. 58Anexo I: Validación del algoritmo para UFLP............................................................................................... 58

Anexo II: Resultados Comparativos (Algoritmo Cultural, NSGA II, PAES). ................................................... 62

4

Abreviaturas BOUFLP: Biobjective Unconstrained Facility Location Problem

CFLP: Capacity Facility Location Problem

MCLP: Maximal Covering Location Problem

MCLP+B: Maximal Covering Location Problem with a Budget Constraint

MONLP-FN: Multiobjective Nonlinear Programming Problem with Fuzzy Numbers

MOP: Multiobjective Problem

NSGA-II: Non-dominated Sorting Genetic Algorithm II

PAES: Pareto Archived Evolution Strategy

SSCFLP: Single Source Capacitated Facility Location Problem

UFLP: Uncapacitated Facility Location Problem

UFLLIB: Uncapacitated Falicity Location Library

UFLP+C: Uncapacitated Facility Location Problem with a Coverage Constraint

5

Lista de Figuras

Ilustración 3.1 Representación gráfica de los conceptos ...................................................... 18 Ilustración 3.2 Interacción entre espacio de población y de creencias con funciones de

aceptación e influencia ................................................................................................. 21 Ilustración 4.1 Esquema del BOUFLP ................................................................................. 30 Ilustración 4.2 Individuo en representación binaria. ............................................................ 32 Ilustración 4.3 Relación entre cliente e instalación. ............................................................. 33 Ilustración 4.4 Individuo en representación entera ............................................................... 33 Ilustración 4.5 Gráfico con soluciones dominadas y no comparables. ................................. 34 Ilustración 4.6 Esquema de las variables utilizadas en la función fitness. ........................... 36 Ilustración 4.7 Curce uniforme ............................................................................................. 39 Ilustración 5.1 Ejemplo de métrica del espacio dominado S. ............................................... 44 Ilustración 5.2 Límites para la obtención de la métrica S .................................................... 45 Ilustración 5.3 Aproximación del frente de Pareto para la instancia A50-150C5. ............... 51 Ilustración 5.4 Aproximación del frente de Pareto para la instancia A50-150C4. ............... 52 Ilustración 5.5 Comparación de fases para el algoritmo Cultural, instancia A30-75C2 ...... 52 Ilustración 5.6 Comparación de fases para el algoritmo Cultural, instancia B30-75C2 ...... 53

Lista de Tablas

Tabla 4.1 Individuos con sus respectivos valores de su función objetivo ............................ 34 Tabla 5.1 Problemas utilizados para la afinación. ................................................................ 48 Tabla 5.2 Niveles que se utilizaron en la afinación. ............................................................. 48 Tabla 5.3 Configuración de parámetros. .............................................................................. 49 Tabla 5.4 Promedio del S’ para los diferentes valores de los parámetros ............................ 49 Tabla 5.5 Promedios según tamaño de instancia. ................................................................. 50 Tabla 9.1 Clasificación instancias UFLP ............................................................................. 58 Tabla 9.2 Resultados optimización UFLP Monoobjetivo .................................................... 61 Tabla 10.1 Resultados Comparativos entre los tres algoritmos............................................ 62

Lista de Algoritmos

Algoritmo 1 Algoritmo cultural………...………………………………………………….21 Algoritmo 2 Estructura general de un algoritmo cultural…….………...………………….41 Algoritmo 3 Algoritmo genético para SCP..………………………………………………42

6

Resumen.

Los problemas de optimización son recurrentes en el mundo real, pero cuando se intenta dar solución, la complejidad que alcanzan es muy alta para utilizar métodos simples para solucionarlos y obtener buenos resultados, más aún cuando en la realidad se presenta un conjunto de factores que se necesitan optimizar a la vez.

En este trabajo de título, se resuelve un problema de optimización bi-objetivo (costo-cobertura) de localización de instalaciones sin restricciones de capacidad (BOUFLP) a través de un algoritmo cultural. Se presentan los conceptos que giran en torno a la optimización, especialmente en optimización multi-objetivo y conceptos que pertenecen a la metaheurística utilizada, proponiendo un algoritmo cultural para dar solución a BOUFLP.

Después de la implementación del algoritmo propuesto se obtuvieron resultados que fueron comparados con los obtenidos por otros algoritmos (NSGA-II, PAES). Para esta comparación se utilizó una variación de la métrica S, la cual utiliza el espacio dominado por una solución para dar un valor que represente la calidad de esta misma. Esta comparación permitió concluir que el algoritmo cultural propuesto, es una buena opción al momento de dar solución a BOUFLP, debido a la buena calidad de las soluciones que arroja y la eficiencia en términos del tiempo que utiliza para realizar las búsquedas.

Palabras claves: Optimización Multi-objetivo, Algoritmos Culturales, Localización de Instalaciones, Frente de Pareto, BOUFLP

Abstract

The optimization problems are recurrent in the real world, but when trying to resolve, the complexity is very high, reaching to use simple methods to solve them and get good results, especially when the reality presents a set of factors that need to optimize both.

This thesis, solves a bi-objective (cost-coverage) uncapacitated facility location problem (BOUFLP) through a cultural algorithm. The concepts that revolve about optimization, especially in multi-objective optimization and concepts that belong to the metaherística used, suggesting a cultural algorithm for solving BOUFLP.

After implementation of the proposed algorithm, was obtained results that were compared with those obtained by other algorithms (NSGA-II, PAES). For this comparison was used a variation of the S metric, that it uses the space dominated by a solution to give a value that represents the quality. This comparison was concluded that the proposed cultural algorithm is a good option for solve BOUFLP, due to the high quality of resulting solutions and efficiency in terms of time used to perform searches. Keywords: Multi-objective Optimization, Cultural Algorithms, facility location, Pareto Frontier, BOUFLP.

7

Capítulo 1

Introducción

Una de las tareas más complejas y críticas en la actualidad es llevar a cabo los proyectos de la manera más eficiente, o sea, realizar la tarea con el mínimo uso de recursos posible y que en ningún caso se produzca una degradación en la calidad exigida del producto. Algo que parece tan simple en el mundo real no lo es.

A medida que las empresas se embarcan en proyectos más complejos, la solución a la problemática planteada también crece en su complejidad. Tal es la dificultad que si no se utiliza una herramienta computacional no es posible llegar a una solución óptima o a una buena aproximación a ésta.

En este trabajo de título se resuelve el problema de localización de instalaciones con la metaheurística llamada algoritmos culturales, que es la extensión de otra metaheurística llamada algoritmos genéticos. Debido a que los algoritmos culturales son una metaheuristica relativamente nueva (año 1994), la investigación realizada es poca, comparada por ejemplo, con la realizada sobre algoritmos genéticos. Por lo anterior, resulta interesante resolver el problema mediante algoritmos culturales. Además, debido al buen desempeño que muestran los algoritmos genéticos a la hora de resolver los problemas de optimización y tomando en cuenta que los algoritmos culturales heredan varios conceptos de estos, se esperan buenos resultados utilizando algoritmos culturales para solucionar problemas de optimización bi-objetivo.

En este trabajo de título se abarca el problema de optimización, en específico el problema de localización de instalaciones (facility location) bi-objetivo.

En el capítulo 2 de este trabajo de título se presentan los objetivos de la investigación, fijando el objetivo general y sus respectivos objetivos específicos.

En el capítulo 3 se realiza una investigación de la literatura presente que intenta familiarizar al lector, primero con los conceptos que giran en torno a los problemas multiobjetivos y luego con los conceptos que giran en torno a los algoritmos culturales.

En el capítulo 4 se presenta la solución y el modelado del problema, definiendo la manera en que se implementan los operadores y todo lo referente al algoritmo cultural propuesto. Además se muestran las diferentes formas de representación de las soluciones en los algoritmos culturales y se presentan las diferentes alternativas que se encuentran en la literatura para implementar los operadores de los algoritmos culturales.

8

En el capítulo 5 se exponen los resultados obtenidos con la solución implementada, realizando una comparación con otras metaheurísticas encontradas en la literatura que han sido utilizadas para resolver el mismo problema abarcado en este trabajo de título.

9

Capítulo 2

Objetivos2.1 Objetivo General

Resolver un problema de localización de instalaciones (facility location) bi-objetivo a través de un algoritmo cultural.

2.2 Objetivos Específicos. Investigar sobre el estado del arte de los algoritmos culturales.

Investigar sobre las características de los problemas de optimización bi-objetivo.

Comprender las características del problema de localización de instalaciones bi-objetivo que deberá ser resuelto mediante un algoritmo cultural.

Implementar el algoritmo cultural para la solución del problema de localización de instalaciones.

Investigar y seleccionar métricas que permitan evaluar la calidad de las soluciones obtenidas.

Realizar un estudio de sensibilidad de los parámetros del algoritmo cultural para llegar a una configuración aceptable.

10

Capítulo 3

Estado del Arte

3.1 Optimización Multiobjetivo Hoy en día, en este mundo competitivo cuando se emprende una actividad se trata que la realización de ésta consuma la menor cantidad de recursos, debido a la escases de los mismos recursos o para lograr una eficiencia que permita diferenciarse de los demás. Es así como en las diferentes ramas de la ingeniería (y en la cotidianidad) la mayoría de los problemas pueden ser expresados como problemas de optimización, algo tan habitual como la elección de un restaurant necesita de un trabajo de optimización previo, en el cual se comparan las diferentes posibilidades que pueden ser tomadas y dependiendo del criterio con el que se comparó es el restaurant que se elije. En el mundo empresarial este tipo de problemas toman una relevancia significativa, ya que un buen estudio de las posibles soluciones para una tarea implica ahorros económicos, de tiempo, de personal, etc. Lamentablemente la complejidad de este tipo de problemas dentro de una empresa generalmente es muy alta, y para llegar a una solución optima se debe realizar una trabajo extenso.

Un problema de optimización es definido como la búsqueda de un mínimo o de un máximo (óptimo) de una función objetivo [Collette 2002]. Generalmente las variables pertenecientes a la función objetivo poseen restricciones lo que obliga a que los valores que pueden tomar las variables estén dentro de un rango en el espacio de búsqueda, que es lo que a menudo se presenta cuando se intenta optimizar, estos problemas son llamados problemas de optimización con restricciones.

Matemáticamente hablando un problema de optimización tiene la siguiente forma:

Minimizar o maximizar f( ) (Función a ser optimizada o función objetivo)

Con ( ) 0 (con m restricciones de desigualdad)

( )=0 (con p restricciones de igualdad)

Donde se tiene que , ( ) y ( ) . Los vectores ( ) y ( ) representan m restricciones de desigualdad y p restricciones de igualdad, respectivamente. Estas restricciones delimitan el subespacio donde la solución óptima debe ser buscada.

Los problemas de optimización son variados, por lo cual presentan ciertas características que permiten realizar la siguiente clasificación [Collette 2002]:

1. Número de funciones objetivos a. Una Mono-objetivo

11

b. Varias Multiobjetivo 2. Tipo de variable de decisión

a. Número real Continúa b. Número entero Discreta c. Permutaciones en un conjunto de números de tamaño finito Combinatorial.

3. Tipo de función objetivo a. Función la cuál es lineal respecto a la variable de decisión Lineal b. Función la cuál es cuadrática respecto a la variable de decisión Cuadrática c. Función la cuál es no lineal respecto a la variable de decisión No lineal

4. Forma del problema a. Con restricciones Restringido b. Sin restricciones Sin restricciones.

En el mundo real cuando se enfrenta un problema de optimización rara vez interesa el valor que tome un solo factor, generalmente el interés está dado en todos los factores que influyen en la tarea que se emprenderá, o sea, un problema de optimización multiobjetivo (MOP, por sus siglas en inglés “Multiobjective Problem”). Por ejemplo, cuando una empresa quiere realizar un proyecto de instalaciones de sucursales, no solo le debe importar que el costo de construcción de una sucursal sea el mínimo posible, si no que factores tales como la cobertura que obtendrá sobre los clientes, la distancia con la casa matriz o la calidad de la infraestructura, son igual o más importantes que el costo inicial de construcción, debido a que afectan en mayor medida las utilidades futuras de la empresa. Lamentablemente tener varias funciones objetivos optimizándose a la vez es un problema realmente complejo, puesto que estas funciones objetivos están en conflicto unas con las otras. Siguiendo con el ejemplo se puede decir que mientras mayor sea la calidad de la infraestructura de la sucursal mayor será el costo incurrido en la construcción y tomando en cuenta que el problema trata de maximizar la calidad y minimizar el costo, estas funciones están en conflicto.

En la literatura se encuentran numerosos estudios donde se tratan distintos problemas de optimización multiobjetivo que, utilizando modelos matemáticos y herramientas computacionales, logran obtener un muy buen resultado optimizando una función objetivo, aunque el problema en su naturaleza presente varias funciones objetivos, estos métodos son conocidos como métodos escalares. Esta reducción de funciones se logra mediante la utilización de modelos y se pueden realizar de variadas formas, una de ellas es priorizando uno de los objetivos y dejando los otros objetivos como restricciones, por ejemplo que efectivamente se optimice el costo de construir una sucursal pero que la construcción tenga por lo menos 900 mt2, otra forma de realizar esta optimización es asignándole a cada uno de los objetivos del problema una ponderación, para luego realizar una suma de todos los objetivos ponderados y con esto obtener un solo objetivo a optimizar, más adelante se detallarán los métodos más importantes. A pesar de que estas reducciones brindan una solución aceptable, no reflejan fielmente el problema y por lo tanto las soluciones dadas no son las que satisfacen de la mejor manera al mismo.

El concepto de optimizar varias funciones simultáneamente no se debe interpretar como la búsqueda de un óptimo para cada función, debido a que, como ya se dijo, las funciones

12

suelen estar en conflicto entre sí. Encontrar el óptimo, entonces, puede interpretarse como encontrar un buen compromiso entre todas las funciones objetivo del problema.

Esta manera de entender el óptimo en un problema multiobjetivo es ambigua, puesto que distintas personas podrían afirmar que puntos distintos representan un buen compromiso, sin que por ello sean óptimos.

Vilfredo Pareto dio, hacia finales del siglo XIX, una definición más formal de un óptimo en problemas multiobjetivo, el cual es conocido ahora como el óptimo de Pareto. Esta definición se basa en el concepto de dominancia que es el siguiente [Landa 2002]. Un punto x domina a otro y si y sólo si:

fi ( ) fi ( )

para i = 1, 2,…, k, y que, para al menos un i:

fi ( ) fi ( )

La siguiente definición dice que un punto x * es un óptimo de Pareto, si no existe ningún otro punto x que lo domine. Es decir, x * es un óptimo de Pareto si no existe ningún otro punto x que cumpla:

fi ( ) fi ( *)

para i = 1, 2,…, k, y que, para al menos un i:

fi ( ) < fi ( *)

Las condiciones para estas definiciones son válidas suponiendo que se está tratando de minimizar a todas las funciones.

La definición indica que un problema dado no necesariamente tiene sólo un punto que sea óptimo de Pareto. Por lo regular se tiene un conjunto de puntos que cumplen con esta definición. Después de que algún proceso de optimización haya encontrado varios puntos óptimos de Pareto, el tomador de decisiones es la persona encargada de elegir la solución final que ha de utilizarse en la práctica.

Además del óptimo de Pareto, es muy común encontrar en la literatura especializada el término “frente de Pareto”. El frente de Pareto es el contradominio del conjunto de puntos que forman el óptimo de Pareto. En problemas con espacios continuos, el frente de Pareto suele ser una línea casi continua. Por esta regularidad, y por mostrar claramente los compromisos y los mejores resultados en cada objetivo, se han utilizado mucho las gráficas del frente de Pareto para mostrar el resultado de los problemas multiobjetivo.

13

3.1.1 Métodos Escalares.

Quizás la idea más simple que se podría proponer para lidiar con varios objetivos sería combinarlos en uno solo usando una suma, una multiplicación o cualquier otra combinación de operaciones aritméticas que se proponga. Hay, sin embargo, problemas obvios con esta técnica. El primero de ellos es que se debe proporcionar información escalar precisa sobre el rango de los objetivos, a fin de evitar que uno de ellos domine a los demás. Esto implica que debe haber un conocimiento sobre el comportamiento de cada una de las funciones objetivos, lo que en el mundo real suele ser en la mayoría de las veces muy difícil. Sin duda, si esta combinación de objetivos es lograda sobre un buen modelo, estos métodos no sólo son los más simples de implementar, sino que también son los más eficientes debido al tiempo que necesitan.

Existen varios métodos escalares para solucionar problemas multiobjetivo, de los cuales se destacan los siguientes:

3.1.1.1 Suma ponderada

El método de la suma ponderada es uno de los más comunes para resolver problemas de optimización multiobjetivo. Como resolver un problema de optimización multiobjetivo es de una dificultad muy superior a la resolución de un problema de optimización mono-objetivo, este método realiza una transformación del problema de optimización multiobjetivo a uno mono-objetivo, bajando la complejidad y dando la opción de utilizar uno de los varios métodos para la resolución de problemas mono-objetivos. Básicamente este método asocia un peso (ponderación) a cada función objetivo y luego utiliza la suma de las funciones ponderadas para obtener una única función objetivo. El método es bastante simple para su utilización, pero lamentablemente como se comentó anteriormente la degradación en la calidad de las soluciones es muy alto en comparación con métodos más complejos.

La transformación que implica este método se presenta a continuación:

Con ( ) 0

( )=0

Donde se tiene que x , ( ) y ( ) .

Además de las restricciones dadas por el problema mismo los pesos o ponderaciones deben cumplir con otras restricciones:

i {1,…,k}

14

Debido a que este método es demasiado sensible a los valores que son utilizados para los pesos y además se sabe muy poco sobre el valor adecuado que debe tomar el coeficiente, se deben realizar soluciones con diferentes valores para wi [Coello 1998]. No obstante la intuición del diseñador sobre los valores para wi sigue siendo importante y es su gran desventaja cuando no se tiene un buen conocimiento del problema.

3.1.1.2 Programación de metas

En este método a cada función objetivo se le asigna una meta, o sea el valor deseable para cada función. Teniendo estas metas, el método trata de minimizar la desviación absoluta de la función objetivo con la meta deseada.

Se tiene inicialmente un vector de metas para cada función, además se tiene un conjunto de variables de holgura (variable de desviación positiva, cuantifica el exceso de logro de una meta) y (variable de holgura negativa, cuantifica la falta de logro de una meta) para cada función objetivo fi(x), i {1,…, k}, entonces el método se puede definir como sigue [Collette 2002]:

Minimizar ( o , … , o )

Con f1( ) = F1+ -

fk( ) = Fk+ -

( ) 0

( )=0

Además las variables de holgura deben respetar las siguientes restricciones:

y 0

* = 0 con i {1,…, k}

Las dos variables de desviación tomarán el valor cero cuando la meta alcance exactamente su nivel de aspiración. Una variable de desviación se dice que es no deseada cuando al centro decisor le conviene que la variable en cuestión alcance su valor más pequeño, es decir, cero. Por ejemplo, si se desea alcanzar los objetivos usando los valores más altos, se obtiene el siguiente problema:

Minimizar ( , … , )

Con f1( ) = F1+

15

fk( ) = Fk+

( ) 0

( )=0

Como se puede observar el problema multiobjetivo se transformó en la minimización de un solo vector donde se pueden utilizar varios métodos. Uno de los más utilizados es el descrito anteriormente donde se le asigna un peso a cada variable de holgura y luego se minimiza la suma de tales ponderaciones. Lamentablemente usando pesos se cae en los problemas anteriormente nombrados pero la diferencia es que ahora los resultados se acercarán a las metas dispuestas por el diseñador.

3.1.1.3 Método de las restricciones

Este método tiene por objetivo obtener el mínimo de una de las funciones objetivos (obviamente la más importante para el modelo), dejando las demás funciones como restricciones. Cada una de estas restricciones está acotada por ciertos niveles permitidos i. Es decir, se realiza una optimización mono-objetivo con la función objetivo más relevante sujeta a restricciones adicionales en las otras funciones objetivos. Los niveles de i se van alterando para obtener soluciones en otro espacio de búsqueda que puede resultar interesante. El método puede formularse de la siguiente manera [Coello 1998]:

(1) Encontrar el mínimo de la r-ésima función objetivo; es decir, encontrar * tal que

fr( *) = min fr( ) x F

sujeta a restricciones adicionales de la forma

fi ( ) i i = 1,2,…,k ; i r

donde i son los valores supuestos de las funciones objetivo que no se desean exceder.

(2) Repetir (1) para diferentes valores de i. La información derivada de un conjunto bien seleccionado de i puede ser útil para tomar la decisión final. La búsqueda se detiene cuando el tomador de decisiones encuentra una solución satisfactoria.

A la vez puede ser necesario repetir el proceso anterior para diferentes índices r cuando no se tenga claro cuál es la función más relevante en el modelo.

Para obtener valores adecuados de i, se efectúan normalmente optimizaciones individuales para cada una de las funciones objetivos en turno, usando técnicas de programación matemática.

3.1.2 Métodos Interactivos.

Éstos permiten que quien toma las decisiones pueda establecer preferencias durante un proceso de optimización interactivo. Luego de llevarse a cabo cada paso del proceso de optimización se presenta al responsable de decisiones los conflictos existentes y se le permite especificar sus preferencias o compromisos. De esta manera se desarrolla una

16

búsqueda guiada. Estos métodos provienen de los métodos progresivos que permiten dar ciertas preferencias en tiempos de ejecución. Estos métodos son clasificados en:

Métodos de toma de decisión previa a la búsqueda (decidir, luego buscar): los objetivos del MOP se combinan en un único objetivo que implícitamente incluye información de preferencia obtenida del responsable de la toma de decisiones. Estos son métodos de toma de decisión a priori. Gran parte de las técnicas tradicionales para resolución de MOPs utilizan esta estrategia [Duarte 2001]. Métodos de búsqueda previa a la toma de decisión (buscar, luego decidir): se realiza la optimización sin incluir información de preferencia. El responsable de la toma de decisiones escoge del conjunto de soluciones obtenidas (que idealmente son todas del conjunto Pareto óptimo). A éstos se conoce como métodos de toma de decisión a posteriori [Duarte 2001].

Como se dijo anteriormente uno de los problemas más relevantes del método de la suma ponderada es la dependencia que tiene la solución con la elección de los pesos. El métodode Fandel que es un método interactivo, tiene como objetivo ayudar al tomador de decisiones a elegir los pesos. Al igual que en la suma ponderada, las variaciones de wi permiten determinar puntos en el espacio de búsqueda. Sin embargo, en el método de Fandel, se supone que estos coeficientes son desconocidos y a la vez, se supone que el tomador de decisiones tiene definida una solución ideal. Otro método parecido a éste es llamado método STEP, donde también se utiliza información respecto a las preferencias del tomador de decisiones y con estas restringir el espacio de búsqueda paso a paso.

Otro método interactivo es el método Jahn que es completamente diferente al método de Fandel. Se comienza seleccionando un punto de partida y luego el problema es resuelto paso a paso a través del espacio de búsqueda hacia las soluciones en el Frente de Pareto. Este método está basado en un método de minimización cíclica.

3.1.3 Métodos Difusos (Fuzzy)

En el mundo real no todo se puede expresar de una manera binaria, muchas veces se necesita una etapa de transición para pasar de un estado a otro gradualmente.

Durante mucho tiempo la única herramienta que se tenía para describir el actuar era mediante la lógica binaria, donde todo es descrito en función de VERDADERO y FALSO. El problema con esta descripción simplista es que no permite tratar con la incertidumbre e imprecisión del conocimiento humano. La diferencia fundamental entre la lógica clásica y la lógica difusa es que existe una transición progresiva entre el VERDADERO y FALSO.

El método de Sakawa es un ejemplo de métodos difusos, el cuál usa lógica difusa en todos los niveles, ya sea en los parámetros del problema como también en los parámetros de las restricciones, incluso en el conjunto de soluciones se pueden encontrar usos de lógica difusa [Collette 2002]. Así, utiliza un nivel de membrecía para las soluciones. Esto significa que las soluciones tienen un nivel de correlación con el objetivo inicial, el cual es establecido por el tomador de decisiones.

17

Sakawa [Sakawa 2002] también establece que, en algunos problemas de optimización multiobjetivo, sería más apropiado considerar que los valores de los parámetros de la función objetivo y de las restricciones, involucran cierta ambigüedad, debido al desconocimiento del experto en cuanto al funcionamiento del sistema real durante el proceso de formulación del problema. Para evitarla, este autor plantea un modelo del problema de programación no lineal multiobjetivo con números difusos (MONLP-FN).

3.1.4 Métodos usando Metaheurísticas

Las metaheurísticas son métodos de optimización generales dedicados al problema de “optimización dura”.

Estos métodos son, en general, presentados como conceptos y se basan generalmente en ideas que se pueden encontrar en la cotidianidad. Las principales metaheurísticas son simulated annealing, tabu search y algoritmos genéticos.

Si se considera un conjunto de métodos de optimización, se observará que estos métodos poseen conceptos en común, por ejemplo en todos los algoritmos culturales se encuentra la llamada “cultura”. En el capítulo siguiente se explica en detalle lo referente a algoritmos culturales, ya que es esta metaheurística que tomará relevancia en esta investigación. Por ahora se introducirán algunos conceptos de los algoritmos genéticos que son necesarios para el estudio de los algoritmos culturales.

Los algoritmos genéticos son inspirados por la genética clásica, donde se considera una “población” de puntos dispersos en el espacio de búsqueda [Collette 2002]. Los algoritmos genéticos presentan características comunes con los algoritmos culturales, es por esto que se explicarán los conceptos más importantes de los algoritmos genéticos para luego entrar de lleno al campo de los algoritmos culturales.

Individuo: corresponde al código, como un gen, de una potencial solución de un problema de optimización. Genotipo o cromosoma: esta es otra manera de llamar al “individuo”. Gen: un cromosoma está compuesto de genes. Utilizando codificación binaria, un gen podría tomar los valores de 0 o 1. Fenotipo: cada genotipo representa una potencial solución de un problema de optimización. El valor de esta potencial solución es llamada un fenotipo.

Todos estos conceptos son graficados en la Ilustración 3.1.

Cada binariaconcepque coPor ejeun indEste vtenga uemulaindividrepliqu

En loprincipindividconsisposter

Los adebidocomo individ

Existetratam

individuo esa la cual es pto importanorresponde aemplo, si se

dividuo increvalor toma gun valor de

a lo que paduos más cuen cada vez

s algoritmopalmente el duos; la mustente en la riores estos o

algoritmos go a que la eun problemduos optimic

en varios mmiento de pro

La primerahay una fuun problemLa segundfamilia ant

Ilustraci

s codificadouna imagen nte cuando sal rendimienconsidera e

ementará migran importaadaptación m

asa en el mcapaces se rz más permit

s genéticos cruzamiento

utación, queelección b

operadores se

genéticos soevolución na

ma de optimizcen (maximi

métodos dentoblemas mul

a familia estusión de las ma mono-objda familia esterior, en est

ión 3.1 Repres

o con un conde la posici

se trata con anto que mueel problema dientras incre

ancia en el pmás alto, má

mundo real reproducirántiendo la evo

los individo, que consie es un cambasada en laerán descrito

n ampliameatural en la zación, la evicen) su nive

tro de las tiobjetivo, lo

tá compuestafunciones ojetivo. stá compuestos métodos

18

entación gráfic

njunto de geión del indivalgoritmos gestra un indide maximizaemente la haproceso de rás probabilidcon la llam

n más, estoolución de la

duos son moiste en la me

mbio aleatorias capacidados detalladam

ente utilizadque están b

volución trael de adaptac

metaheurístos cuales se

a por métodobjetivos par

ta por métoel objetivo e

ca de los conce

enes que genviduo en el egenéticos es ividuo resolación de unaabilidad parareproduccióndad de reprodmada “seleco permite qas especies.

odificados pezcla de la iio en los indes de los mente.

dos en el cabasados estoata que geneción.

icas que sepueden clas

dos “no agrera transforma

odos “agregaes transform

eptos

neralmente espacio de bla eficiencia

lviendo el pra función, la a maximizarn, ya que el ducirse tendrcción naturaque los mejo

por operadoinformaciónndividuos; yindividuos.

ampo de laos algoritmoeración tras g

e pueden utificar en dos

egativos”, enar el problem

ativos”. Al cmar el problem

es una cadebúsqueda. Ota o adaptaciroblema dadadaptación

r esta funcióindividuo q

rá. Con esto al”, donde lores genes

ores genético de dos o m

y la seleccióEn seccion

a optimizacios puede vergeneración l

tilizar para s familias:

n los cuales ma original

contrario de ma original

ena tro ión do. de

ón. que

se los se

os, más ón, nes

ión rse los

el

no en

la en

19

un problema mono-objetivo usando una función equivalente, tal como se vio en los métodos escalares.

3.2 Algoritmos Culturales La experiencia adquirida y creencias aceptadas por una comunidad en un sistema social son unas de las principales motivaciones para la creación de los Algoritmos Culturales.

Los algoritmos culturales fueron desarrollaros por Robert Reynolds, con el fin de modelar la evolución de los sistemas culturales basados en los principios de la evolución social humana tomados de la literatura de ciencias sociales, quien considero que se puede ver a la evolución como un proceso de optimización [Reynolds 1994].

Los algoritmos culturales se diferencian de los algoritmos evolutivos por la sencilla razón de que los primeros poseen memoria, de tal forma que la población mantiene una memoria de grupo o espacio de opinión con información de las soluciones potencialmente mejores y también de aquellas peores, con el objeto de dirigir la búsqueda. Ambas clases de información, hereditaria y entre generaciones, será explicada más adelante.

En las sociedades humanas, la cultura puede ser un vehículo para el almacenamiento de información en una forma que es independiente de un individuo o de individuos que se han generado, y es potencialmente accesible a todos los miembros de la sociedad. La cultura como tal es útil para orientar las actividades de resolución de problemas y la interacción social de los individuos en la población. Esto permite la libre adaptación de información, así como otros conocimientos que se manipulan y almacenan separadamente de los individuos en la población social. Esto proporciona una forma sistemática de la utilización de la libre adaptación de conocimientos para dirigir la evolución social de una población. Por lo tanto, los sistemas culturales son vistos como un doble sistema de herencia, donde, en cada paso de tiempo, el conocimiento, tanto en el nivel de población y el nivel de creencias adquirido, se transmite a la próxima generación. Este conocimiento adquirido actúa como balizas para guiar a los individuos hacia la percepción de buenas soluciones a los problemas y lejos de soluciones menos deseables [Reynolds 1999].

El principio de funcionamiento de los algoritmos culturales es el siguiente:

Los algoritmos culturales establecen que la toma de decisiones depende de la cultural heredada, así como de las creencias de la población actual.

Además el conocimiento del dominio del problema se codifica de manera separada de la población, pues existe una cierta independencia entre ambos conocimientos que permite trabajar y modelar de forma separada cada uno de ellos, para así potenciar en conjunto el algoritmo y mejorar con ello la búsqueda de las mejores soluciones.

Este sistema de doble herencia que poseen los algoritmos culturales, a nivel de población y de conocimiento, tiene por finalidad incrementar las tasas de aprendizaje y convergencia, y de esta manera, que el sistema responda mejor a un gran número de problemas [Landa 2002]. Esta característica permite identificar 2 importantes niveles de conocimientos [Soza 2005]:

20

Un nivel micro-evolutivo, el cual consiste en el material genético que es heredado a las siguientes generaciones, el cual es representado por el espacio de población. Un nivel macro-evolutivo, que es el conocimiento adquirido por los individuos a través de las generaciones, y que una vez codificado y almacenado, sirve para guiar el comportamiento de los individuos que pertenecen a una población, y es representado por el espacio de creencias [Soza 2005].

3.2.1 Componentes de un algoritmo cultural

En el contexto de los algoritmos culturales, se produce una evolución tanto en la sociedad, compuesta por individuos, como en la cultura, compuesta por creencias. En este sentido, se puede considerar que los algoritmos culturales están estructurados de la siguiente manera:

Espacio de población: en este espacio se cuenta con un conjunto de individuos donde cada uno tiene un conjunto de características independientes de los otros con las que es posible determinar su aptitud (fitness). A través del tiempo, tales individuos podrían ser reemplazados por algunos de sus descendientes [Soza 2005]. Espacio de creencias: en este espacio se almacenarán los conocimientos que han adquirido los individuos en generaciones anteriores. La información contenida debe ser accesible a cualquier individuo, quien puede utilizarla para modificar su comportamiento.[Landa 2002] Protocolo de comunicación: tiene como principal objetivo unir ambos espacios, y definir reglas del tipo de información que se debe intercambiar entre los espacios. Este protocolo define dos funciones:

Función de aceptación: esta función se encarga de extraer la información o experiencias que han obtenido los individuos de una generación y llevarlas al espacio de creencias. Función de influencia: esta función se encarga de influir sobre los operadores de variación de los individuos (como el cruzamiento y mutación en el caso de los algoritmos genéticos), así como en la selección. Así la función ejerce un tipo de presión para que los individuos resultantes de las aplicaciones de los operadores de variación se acerquen a los comportamientos deseables y se alejen de los indeseables, según la información almacenada en el espacio de creencias.

Las dos funciones anteriormente mencionadas, permiten establecer la comunicación entre los espacios de población y de creencias, y se puede apreciar en la Ilustración 3.3.

Ilu

Reynocompo

Donde

DichoAlgori

AlgoritGeneraIniciar Evalua

ustración 3.2 I

olds estableconentes [Rey

A

e

P es la pobS es el opeVc es un opF es la funB es el espAceptar: eentre el espAjustar: esespacio deInfluir: es variación Vy la socied

todo lo anitmo 1.

tmo 1 Algoritar población iel espacio de

ar población in

Interacción ent

ce que un aynolds 1999]

Algoritmo Cu

blación de inerador de seleperador de vnción objetivpacio de creees la funciónpacio de crees un operadol conocimien

un conjunVc. Determindad.

nterior, pod

tmo Cultural inicial e creencias nicial

tre espacio de p

algoritmo cu]:

ultural = {P

ndividuos quección

variación vo encias n de aceptaencias y la s

or del espacionto

nto de funcina el protoco

emos ver e

21

población y deinfluencia

ultural vien

P,S,Vc,f,B,Ace

ue compone l

ación y deteociedad ( eno de creenci

iones de infolo de comu

el pseudocód

e creencias con

ne descrito p

eptar,Ajusta

la sociedad

ermina el prn el sentido sa que ajusta

fluencia queunicación ent

digo de un

n funciones de a

por un conj

ar,Influir}

rotocolo de sociedad co actualiza

e afectan atre el espaci

algoritmo

aceptación e

junto de oc

comunicacicreencias) la creencia d

l operador io de creenci

cultural en

cho

ión

del

de ias

el

22

Repetir Actualizar el espacio de creencias (con los individuos aceptados) Aplicar operadores de variación (bajo la influencia del espacio de creencias) Evaluar cada hijo Realizar la selección

Mientras no se cumpla la condición de finalización

La mayoría de los pasos de un algoritmo cultural corresponden con los de los algoritmos tradicionales de computación evolutiva, y se puede apreciar que las diferencias están en los pasos que incluyen al espacio de creencias. Por ejemplo, en los primeros pasos se encuentra la iniciación del espacio de creencias. En el ciclo principal, está la actualización del espacio de creencias. Es en ese momento donde el espacio de creencias incorpora las experiencias individuales de un grupo selecto de individuos. Tal grupo se obtiene entre toda la población con la función de aceptación.

Por otro lado, los operadores de variación de los individuos (como la recombinación o la mutación) son modificados por la función de influencia. La función de influencia ejerce cierta presión, para que los hijos resultantes de la variación se acerquen a los comportamientos deseables, y se alejen de los indeseables, según la información almacenada en el espacio de creencias [Crawford 2007].

Considerando la importancia del tema de la incorporación de conocimiento, los algoritmos evolutivos son lo suficientemente flexibles para incorporar conocimiento desde distintas fuentes de información, cuyo objetivo último es lograr una mejora importante respecto de la eficiencia en la exploración del espacio de búsqueda. Dada su flexibilidad, distintos componentes del mismo han sido consideradas como objeto de estudio y muchas de ellas desde distintas perspectivas y enfoques [Pandolfi 2007].

3.2.2 Tipos de Conocimiento

En los últimos años, los investigadores han intentado modelar el proceso de evolución cultural desde una perspectiva micro-evolutiva en términos de la transmisión de conductas o rasgos entre los individuos de una población, y una perspectiva macro-evolutiva en términos de la formación de las creencias generalizadas sobre la base de experiencias individuales. Estas creencias generalizadas pueden servir para limitar los comportamientos de los individuos dentro de la población. El conocimiento es un conjunto prometedor de rasgos variables que proporcionan las normas de los comportamientos individuales y las directrices en el que los ajustes se pueden hacer [Chung y Reynolds, 1996]

Las cinco fuentes de conocimiento utilizadas se caracterizan por su ubicuidad en el proceso de resolución de problemas. Cada uno puede ser utilizado de alguna forma en la mayoría de los problemas.

Las fuentes de conocimiento se describen aquí en términos de su capacidad para coordinar la difusión de los individuos sobre la naturaleza de un problema:

1. Conocimiento circunstancial: se almacena el mejor ejemplar del proceso evolutivo hasta ese momento, con el objetivo de considerarlo como líder para la siguiente

23

generación. La influencia de este conocimiento se hace efectiva al hacer tender a las variables de decisión de los nuevos individuos a los valores del almacenado en el espacio de creencias.

2. Conocimiento normativo: se almacena el rango de cada variable de decisión donde se han encontrado los mejores valores, con el objetivo de hacer tender a las nuevas soluciones a dichos intervalos. El actualizar este espacio de conocimiento puede ampliar o disminuir los intervalos. Se extienden cuando el individuo aceptado no se encuentra en el rango y disminuye cuando su valor esta en el rango y los valores extremos tienen mejor rango que los anteriores y son factibles.

3. Conocimiento de dominio: Este tipo de conocimiento usa el conocimiento del dominio del problema para guiar la búsqueda. Depende directamente del tipo de problema y del espacio de búsqueda con que se cuente.

4. Conocimiento topográfico: Consiste en la creación de un mapa del lugar donde se encuentran las soluciones del problema en el proceso evolutivo. Este mapa es dividido en regiones que pueden ser clasificadas en 4 tipos: factibles, infactibles, semi-factibles y desconocidas, de acuerdo al contenido de cada una de ellas. La influencia de este conocimiento se hace efectiva al hacer tender a los nuevos individuos a las regiones factibles. Esto se traduce en un conjunto de celdas donde se almacenan los mejores individuos encontrados. Cada una de las celdas se encuentra ordenada. Se actualiza este espacio de conocimiento cuando un individuo de la nueva generación es mejor que el mejor de los valores que se encuentra en la celda respectiva.

5. Conocimiento Histórico: guardar una lista de los mejores individuos en cada uno de los cambios de entorno, con el fin de no perder los buenos eventos encontrados en generaciones anteriores [Soza 2005].

3.2.3 Revisión Bibliográfica

La iniciación en el tema de los algoritmos culturales comienza con la primera investigación de Reynolds, quién propone un tipo de algoritmo evolutivo, en los que el conocimiento del dominio no se integra a priori a la técnica, sino que se extrae durante el mismo proceso de búsqueda. Además, para el espacio de creencias propone el uso de espacio de versiones, los cuales, son una forma de aprendizaje, donde se requiere describir o definir un concepto a través de ejemplos positivos y negativos [Soza 2005].

Una segunda investigación fue la de Chung y Reynolds [Chung y Reynolds 1996], quienes propusieron una nueva forma de trabajar el espacio de creencias, utilizando una red de restricciones, con el fin de almacenar para cada una de las variables de decisión el intervalo donde se han encontrado los mejores valores.

El año 1999, Reynolds y Jin, gracias a su investigación, incorporan un nuevo componente de conocimiento que se complementa con el conocimiento normativo propuesto por Chung y Reynolds. El espacio de dominio puede ser dividido en subregiones pequeñas regulares, llamadas celdas. Y estas celdas, pueden ser clasificadas en 4 tipos [Soza 2005]: factibles, infactibles, semifactibles, porque abarcan áreas factibles e infactibles, y como último tipo, las desconocidas. Además, en sus estudios, proponen la introducción de una herramienta para manejar el conocimiento por restricciones, conocida como celda de creencias. Las celdas de creencias permitirán representar y almacenar ciertos patrones de conocimiento del

24

espacio de dominio. Se propone esta subdivisión porque se busca hacer tender a los individuos a las zonas factibles, sin perder de vista que las zonas semifactibles pueden ser de gran utilidad, ya que se conoce que muchos de los problemas de optimización considerados difíciles poseen sus mejores soluciones en el borde de la frontera factible [Soza 2005].

Los primeros avances en optimización multiobjetivo utilizando algoritmos culturales fueron realizados por Landa y Coello en el año 2002 [Landa 2002]. En su investigación se intenta retomar afirmaciones de mejora en el desempeño de los algoritmos evolutivos, pero esta vez, en problemas que han sido poco o nunca tratados con algoritmos culturales. Tales problemas son la optimización con restricciones y la optimización multiobjetivo. Los autores intentan demostrar que al agregar un espacio de creencias a un algoritmo evolutivo puede resultar beneficioso y, representa una alternativa viable para resolver problemas multiobjetivo. En los problemas de optimización mono-objetivo con restricciones, como ya existían propuestas de algoritmos culturales, el principal objetivo fue el de crear un algoritmo competitivo, y arrojaron resultados comparables con las técnicas evolutivas más importantes de optimización con restricciones.

En los problemas de optimización multiobjetivo, como no existía ninguna propuesta de algoritmos culturales que utilizaran jerarquización de Pareto, el énfasis fue mostrar la factibilidad de dicha propuesta, y obtienen muy buenos resultados, tanto así, que incluso se consigue mejorar, en al menos un caso, los resultados de otro algoritmos evolutivo (NSGA-II).

En parte de su investigación se expone una nueva forma mucho más óptima de representar las regiones factibles. Para esto utilizaron como herramienta los , árboles binario, que permitirán almacenar en cada uno de los nodos de los arboles las subdivisiones del espacio del dominio del problema. Utilizar los tiene una importante ventaja, ya que son más estrictos al considerar la reducción solo si el individuo tiene mejor fitness y también si es factible, distinto a la investigación de Chung y Reynolds [Chung y Reynolds 1996], que reducen cuando un individuo es factible o tiene mejor fitness.

Continuando con las investigaciones de Landa y Coello, en el año 2004, definen un proceso evolutivo conocido como evolución diferencial. Parte de su investigación también fue la definición de 4 conocimientos que estarán presentes en el espacio de creencias, conocidos como: Conocimiento Circunstancial, Conocimiento Normativo, Conocimiento Histórico y Conocimiento Topográfico.

En ese mismo año, Reynolds y Bing Peng [Soza 2005] intentan resolver el problema de minimización de la Tensión/Compresión de Resortes, para ello hacen una combinación de los 5 tipos de conocimiento existentes. Los cuatro mencionados anteriormente más el conocimiento de Dominio.

Los primeros trabajos que intentaron resolver problemas de optimización Combinatorial utilizando Algoritmos Culturales son los realizados por Landa y Coello en el 2004 [Landa 2004a] con la aplicación de los algoritmos culturales para resolver el problema de Job Shop Scheduling. La hipótesis principal de su investigación está basada en el sentido de que la

25

incorporación del conocimiento en el algoritmo evolutivo aumentaría su rendimiento como para que sea competitiva con otros enfoques cuyo coste computacional es mucho mayor.

Otro autor que en su investigación intenta resolver problemas de optimización Combinatorial es Carlos Soza [Soza 2005], que soluciona problemas complejos de Asignación Horaria mediante algoritmos culturales. Utiliza la influencia de la cultura circunstancial con el objetivo de incluir el espacio de creencias circunstancial para lograr guiar la búsqueda con el traspaso de información, y también utiliza la cultura normativa para influenciar al individuo a mutar para que posicione en alguno de los tiempos en que se encuentran los mejores individuos.

Y por último, la investigación de Broderick Crawford [Crawford 2007], que utiliza los algoritmos culturales para resolver el problema de cobertura de conjuntos. Utiliza la influencia de la cultura circunstancial y la cultura histórica. Su investigación pasó por varias etapas, en las cuales existieron buenos y malos resultados, pero finalmente se logró llegar a un algoritmo que utiliza el conocimiento cultural de los individuos para su beneficio, logrando con esto satisfactorios resultados para la resolución de problemas de cobertura de conjuntos.

3.3 Problemas de Localización de instalaciones Los problemas de localización han sido ampliamente estudiados en la literatura de Investigación de Operaciones; tales como programas heurísticos para localización de depósitos y optimización de redes, la búsqueda de soluciones enteras para programas lineales, localización de fábricas y otros trabajos que establecen modelos para la localización y número de fábricas.

Actualmente, la toma de decisión sobre localización, es uno de los problemas estratégicos más relevantes dentro de la gestión de la cadena de abastecimientos.

Los problemas de localización surgen de la necesidad de localizar centros para la satisfacción óptima de la demanda de un conjunto de clientes. La palabra cliente se usa para denotar objetos que requieren accesibilidad a un servicio o demandan un producto. Al tratar de analizar los problemas de localización, se debe de interactuar con clientes, por lo tanto es necesario conocer su distribución, demanda y comportamiento.

Los problemas de localización en la actualidad son conocidos como facility location problems, y se describen como un conjunto de clientes distribuidos espacialmente en un área geográfica, que demandan un cierto producto o servicio. La demanda de los clientes debe ser cubierta por uno o varios centros de distribución. Los centros de distribución, pueden operar en un marco de cooperación o competencia, dependiendo del bien o servicio que sea requerido por el cliente. El proceso de decisión establece dónde se deben ubicar los centros de distribución en el territorio deseado, tomando en cuenta los requerimientos de los clientes y las restricciones geográficas.

Un punto fundamental es el proceso de decisión, que permitirá la completa definición de localizar uno o más centro(s). Este proceso establecerá en dónde se deben ubicar los centros de distribución en el territorio deseado, tomando en cuenta los requerimientos de los clientes y las restricciones geográficas.

26

En un típico problema de localización se identifican tres elementos. Uno de ellos es el centro de distribución, que denota un conjunto de objetos, que tienen la particularidad de estar en un cierto espacio y posición, que lo hacen distintos a otros objetos, serán localizados para proporcionar un servicio o producto. Algunos ejemplos de objetos son: almacenes, plantas productivas, escuelas, hospitales, centros comerciales, edificios públicos, etc. Las propiedades principales que caracterizan a los centros de distribución son su número y tipo. El segundo elemento identificado son las localizaciones, y se refieren al conjunto de posibles puntos para situar centros de distribuciones. Y por último, los clientes que son los usuarios de las instalaciones que demandan ciertos servicios o productos, son los que serán asignados a los centros de distribución.

Pueden existir algunas consideraciones para los elementos anteriormente definidos, que dependerán totalmente del tipo de problema de localización a tratar. Por ejemplo, en algunos problemas de localización, los centros de distribución pueden adquirir importantes características, el número de centros de distribución puede estar previamente definido, como así también el número de clientes. Además, los centros pueden clasificarse respecto a su capacidad, limitados o ilimitados.

Un concepto importante a destacar es el de espacio solución en un problema de localización, y se considera al lugar físico en donde se va a ubicar el centro de distribución, y se puede representar de manera continua, discreta o de red.

Espacio continuo: son espacios que se consideran en el espacio euclidiano. El caso más típico, considera un espacio euclidiano de dos dimensiones. Espacio discreto: cuando se especifica una lista de posibles lugares para ubicar centros de distribución. En este caso proporciona flexibilidad ya que es posible incorporar características de tipo geográfica y económica al modelo.

La representación de redes varía en sus aplicaciones en las que se consideran servicios públicos y privados, que comúnmente se representan mediante un grafo. Los problemas de redes pueden ser continuos o discretos, dependiendo de sí las estaciones de servicio pueden ser ubicadas en las aristas o en los vértices del grafo que representa la infraestructura de red considerada.

Por distribución se asume que el cliente se distribuye uniformemente, que se localiza en un punto específico o en los vértices de una red.

En el caso de la demanda, a cada cliente se le asigna un valor que expresa la cantidad de servicio que requiere. La demanda puede representar la cantidad de producto o servicio requerido por un usuario, por un área o región geográfica. En ambos casos puede que no se conozca con certeza.

El comportamiento del cliente se refiere a que es libre de escoger desde cuál centro de distribución desea ser servido. Por ejemplo, el cliente puede decidir que sea servido por el centro de distribución más cercano. También, los clientes se pueden comportar de manera individual o grupal.

La toma de decisión sobre localización, es uno de los problemas estratégicos más relevantes dentro de la gestión de la cadena de abastecimientos. Los modelos de localización de

27

centros de distribución pueden tener una gran variedad de posibles aplicaciones en muchas áreas, tales como telecomunicaciones (intercambio de datos entre terminales), el transporte (tráfico aéreo de pasajeros) y el correo postal (envío de cartas y paquetes), es por ello que es importante su estudio.

Para los administradores que tienen que tomar decisiones sobre localización, necesitan disponer de un modelo matemático que refleje fielmente el problema con todas las restricciones que éste pueda tener. La implementación del modelo matemático dependerá del tamaño del total de soluciones posibles que tenga cada problema. En caso que el total de soluciones sea pequeño, puede bastar con realizar una búsqueda exhaustiva para encontrar la mejor solución, en caso que el tamaño total de soluciones sea demasiado grande, una búsqueda exhaustiva puede tardar demasiado tiempo en arrojar una solución, o incluso tardar años en encontrarla, para éstos tipos de problemas, por lo general se resuelven usando algún tipo de algoritmo de optimización.

UFLP

Es un problema de localización de instalaciones que tiene como principal característica que las instalaciones tienen una capacidad ilimitada de almacenamiento.

El problema cuenta con una función objetivo , que intenta minimizar los costos de las instalaciones y los costos de asignación entre una instalación y el cliente . Las instalaciones cuentan con costos de instalación fijos , y capacidades de almacenaje ilimitado.

Los costos de asignación, entre una instalación y el cliente , son conocidos, y la capacidad de almacenaje es ilimitado, la demanda de los clientes siempre se cumple, y no se necesita agregar el vector de demanda, , al problema.

El modelo matemático del problema se detalla a continuación:

Donde

: Cantidad de clientes

: Cantidad de instalaciones.

28

Variables de decisión.

Si se selecciona la instalación , 0 sino

, si se asigna al cliente , la instalación , 0 sino.

CFLP

Este problema de localización realiza la selección de los sitios en los que las instalaciones tienen una capacidad limitada. Se estableció la asignación de clientes a las instalaciones de forma que se satisfagan las demandas de los clientes reduciendo al mínimo los gastos de transporte y costos totales de funcionamiento

Sujeto a:

En el modelo, la función objetivo representa el costo total, incluido el coste total de transporte y el total de costes de explotación, con el objetivo de minimizarlos. Esta función esta sujetas a las siguientes restricciones:

Garantizar que la demanda de cada cliente está satisfecha.

Limita la cantidad de los suministros a todos los clientes de cada una de las instalaciones i para que estén dentro de su capacidad.

y definen los valores que pueden asumir las variables. Al asignar valores a las variables binarias, , el resultado es una estructura primitiva de problema de transporte.

SSCFLP

Este tipo problema de asignación de localización cuenta con restricción de capacidad. Es un tipo de problema CFLP, pero que además tiene la restricción que cada cliente debe ser suministrado sólo por una instalación.

29

La función objetivo de un SSCFLP es minimizar tanto los costos de la locación de instalación, como los costos de transporte entre una instalación i y el cliente j en particular. En la definición de una instalación en un sitio, se cuentan con costos de instalación fijos (fi), y capacidades de almacenaje conocidas (bi). Los costos de transporte entre una instalación i, y el cliente j (cij) es conocido, los clientes tienen una demanda determinista (dj), y los clientes i pueden ser abastecidos solo por una instalación j en particular.

Sujeto a:

Alg

En proson poalgoritinvesti

4.1 Fi

El BOde insmáximBOUFcobertobjetivlocaliz

La forse utipotenc(Ilustrinstalacij quedistanc

goritmoblemas de oocos los tratmos culturaigación.

Formulainstalacio

OUFLP es untalaciones s

ma coberturaFLP, una detura, que es vo donde sezación de ins

rmulación deliza una fociales instalaración 4.1 (aación i y dj qe es el costo cia entre la i

mo Coptimizaciónabajos de inales como t

ación delones sin n híbrido de in restriccio

a (MCLP). Ce ellas represdada por MC

e trata de mistalaciones.

(a)

I

el BOUFLP ormulación saciones y u

a)). Además que es la demde asignar (instalación i

ulturn combinatornvestigacióntécnica para

l Problemrestricciodos formula

ones de capaCada una de esenta costosCLP. La fusinimizar cos

Ilustración 4.1

ha sido propsemejante d

un conjuntose tiene fi q

manda del cliIlustración 4y el cliente j

30

ral parial multiobj

n que existesu resoluci

ma bi-obones de caciones mateacidad (UFLestas formuls, que es dadsión de estosstos y maxim

1 Esquema del

puesta en [Rdonde se tie

J = {1,…, que represeniente j. El m4.1 (b)) un cj.

C

ara BOjetivo utilizaen. Respectoión, no se h

bjetivo dcapacidademáticas: El

LP) y el problaciones aporda por UFLs dos modelomizar la cob

(b

l BOUFLP

Revelle 1996ene un con

n} de clienta el costo f

modelo ademáliente j a la

Capítu

OUFLando algoritmo de BOUFhan encontra

de localid (BOUFl problema dblema de locrta una func

LP y la otraos genera un

bertura en un

b)

6]. Y en estanjunto I = ntes que sefijo por la oás cuenta coinstalación i

ulo 4

LPmos culturaleFLP utilizanado rastros

ización dFLP).de localizacicalización ción objetivo

a representa n problema bn problema

a investigaci{1,…, m}

e deben cubperación de n dos matrici y hij que es

es, ndo

de

de

ión con o al

la bi-de

ión de

brir la

ces s la

31

El modelo presenta un parámetro llamado Dmax que es la distancia máxima de cobertura, por lo tanto si un cliente está asignado a una instalación a menor distancia que Dmax, se considera que el cliente está cubierto. Según esta definición el modelo presenta un conjunto Qj {i I : hij Dmax} que contiene todas las instalaciones que pudiesen cubrir al cliente j dentro de la distancia máxima de cobertura Dmax.

Se tiene también yi que toma el valor 1 si la instalación es seleccionada para operar y 0 en otro caso. Otra variable binaria es xij que toma el valor de 1 si la demanda del cliente j es atendida por la instalación i y 0 en otro caso.

Tomando en cuenta las anteriores definiciones el modelo matemático para BOUFLP queda como sigue:

Sujeto a,

La fórmula es una de las funciones objetivos, la cual representa el costo total de operación; donde el primer término representa el costo de atender la demanda de los clientes con la instalación seleccionada para esto, y el segundo término es la suma de los costos fijos de todas las instalaciones seleccionadas. La fórmula es la otra función objetivo del problema, esta fórmula mide la cobertura como la suma de la demanda de los clientes atendido por las instalaciones dentro de la distancia máxima de cobertura (clientes cubiertos). La restricción (junto con la restricción ) garantiza que cada cliente sea atendido por sólo una instalación. La restricción obliga a que los clientes sean asignados a instalaciones seleccionadas. Las restricciones y definen las variables de decisión xij e yi como binarias.

32

4.2 Representación de la Solución

4.2.1 Codificación de Individuos.

En el capitulo anterior se definió un individuo como una posible solución al problema planteado. Es debido a esto que a continuación se mostrará como estas soluciones serán codificadas al momento de implementar. En esta investigación se consideraron dos maneras de codificar a los individuos, una de estas es la representación binaria y la otra la representación entera.

Representación Binaria

En esta representación se tiene un vector de largo m (siendo el número de posibles instalaciones), donde un 1 en la i-ésima posición representa que la instalación i ha sido seleccionada para operar. Se debe considerar en esta representación que con este único vector no es posible representar la solución completa debido a que no se mantiene la relación entre un cliente y la instalación que lo atiende. Es por esto que se utiliza un arreglo de bits (siendo el número de clientes del problema) en donde un 1 en la posición i, j de la matriz, quiere decir que el cliente j es atendido por la instalación i. El llenado de esta matriz se realizó mediante un procedimiento el cual procura minimizar el costo sin deteriorar la demanda, debido a que se realizaron pruebas con el llenado de esta matriz de forma aleatoria donde un cliente podía ser asignado a cualquier instalación abierta, con lo cual no se obtuvieron buenos resultados. Sean el conjunto de instalaciones abiertas en el l-ésimo individuo de la población, el subconjunto de instalaciones abiertas que pueden atender al cliente j dentro del radio máximo de cobertura [Villegas 2003]. Primero, cada uno de los clientes que pueden ser cubiertos, se asigna a la instalación que lo puede cubrir al menor costo, así:

Si , entonces , para Luego, cada uno de los clientes que no pueden ser cubiertos, se asigna a la instalación que lo puede atender al menor costo.

Si , entonces , para Todas las soluciones que se generan en el proceso evolutivo serán factibles debido a que toda la demanda de cada cliente será cubierta por una sola instalación la cual no tiene restricciones de capacidad. En el ejemplo de la ilustración 4.1 (b) se tiene por lo tanto los individuos deben ser codificados como muestra la ilustración 4.2 y junto con su matriz relación que se muestra en la ilustración 4.3.

0 1 1 0 0 Ilustración 4.2 Individuo en representación binaria.

33

0 0 0 0 0 0 0 0 0 0

1 1 1 1 0 0 1 0 0 0

0 0 0 0 1 1 0 1 1 1

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0Ilustración 4.3 Relación entre cliente e instalación.

Este individuo representa una solución factible para el ejemplo anterior, donde las instalaciones 2 y 3 son elegidas como parte de la solución y su característica de factible esta dado a que como conjunto cubren todas las columnas (clientes) del problema.

Representación No Binaria

En cambio, en una representación entera se define un vector de largo igual al número de clientes y en cada posición se guarda el número de la instalación que cubre dicho cliente. Para el ejemplo de la ilustración 4.1 (b) se tendría como solución la ilustración 4.4. En esta representación para que una solución sea factible se debe asumir que cuando un cliente se asigna a una instalación, dicha instalación este operativa.

2 2 2 2 3 3 2 3 3 3

Ilustración 4.4 Individuo en representación entera

Para la implementación se eligió la representación binaria, y la justificación se basa en que en el estudio realizado en [Villegas 2003], utiliza la representación binaria ya que con la representación entera obtiene bajos resultados computacionales.

4.2.2 Comparación de individuos.

Ya se ha explicado cuales son las funciones de evaluación en BOUFLP y de qué manera podrían ser representados los individuos. Pero ahora resalta una complicación que en los problemas mono-objetivo no se encuentra. Si se considera que ahora un individuo posee dos valores para su función objetivo (uno para el costo y otro valor para la cobertura), ahora no es trivial realizar la comparación entre individuos. Para lidiar con este problema se utiliza el frente de Pareto que se explico en la sección 3.1. Esto quiere decir que cuando se comparan dos individuos, se debe tomar en cuenta los dos valores que presentan sus funciones objetivo por separado, a continuación se presenta un ejemplo para aclarar la comparación de individuos.

Suponiendo que se tienen 3 individuos con sus respectivos valores de sus funciones objetivo donde se trata de minimizar f1 y maximizar f2, tal como se presentan en la tabla 4.1.

34

Individuo 1 Individuo 2 Individuo 3 (x) (x) (x) (x) (x) (x) 5 30 8 25 5 23

Tabla 4.1 Individuos con sus respectivos valores de su función objetivo

Se pude observar claramente que el individuo 1 domina al individuo 2 ya que:

Además de los conceptos de dominado y no dominado existe el caso en que estas relaciones no existen, por ejemplo, si se compara el individuo 2 y el individuo 3 se tiene:

En este caso se tiene que ninguno de los dos individuos domina al otro ya que el individuo 2 tiene mejor valor en la función 2 pero el individuo 3 tiene mejor valor en la función 1 y por lo tanto éstos son soluciones no comparables, para tal caso se debe considerar un criterio adicional para la elección del individuo que en este caso está basado en el valor del fitness que posea el individuo, esto se explicará en la sección de la función de aptitud (fitness).

Para mostrar estos dos casos se presenta el siguiente gráfico (ilustración 4.5), el punto donde se interceptan las líneas es el de referencia:

Ilustración 4.5 Gráfico con soluciones dominadas y no comparables.

4.2.3 Inicialización de la Población

Cuando se trata de obtener una población inicial necesaria para partir en el proceso evolutivo, ésta suele generarse o calcularse de manera aleatoria. Para generar un individuo los depósitos que estarán operativos se seleccionarán aleatoriamente, esto quiere decir que el vector yi se llenará con 1s y 0s al azar. Luego a partir de esto se realiza el llenado de la matriz xij como se definió anteriormente.

35

4.2.4 Influencia del conocimiento.

La característica más distintiva de los algoritmos culturales, es la inserción del conocimiento (ver sección 3.2.2), el cuál mediante una función de influencia afecta las generaciones futuras. En la investigación [Crawford 2007], la función influencia está basada en el conocimiento circunstancial e histórico. Básicamente con esto se utiliza al individuo mejor adaptado encontrado hasta el momento (circunstancial) y una lista de individuos que poseen mejor nivel de adaptación respecto al resto de la población (histórico). Con esto se puede pensar que el nivel de diversidad sea bajo ya que lo más probable es que los mejores individuos posean características parecidas, pero existen otras instancias para que la diversidad ingrese en la población como por ejemplo en la selección. Como más adelante se explicará, para realizar la recombinación se utilizan dos padres, para no caer en el error de obtener máximos locales usando excesivamente la cultura, es que se dispone seleccionar un padre desde la población para ingresar diversidad y el otro padre seleccionarlo desde el conocimiento para influenciar la nueva generación. Basado en la investigación [Crawford 2007], se hace uso de estos dos tipos de conocimientos. El conocimiento histórico guardará una lista con todos los individuos encontrados en la aproximación al frente de Pareto y que se utilizarán como padres de las siguientes generaciones. El conocimiento circunstancial proveerá la información de los dos mejores individuos encontrados hasta el momento, un individuo dará información sobre el mejor valor encontrado para f1 y el otro individuo para f2. Este conocimiento influenciará a la población al momento de calcular el fitness, de tal manera que mientras un individuo tenga valores más cercanos a los valores de los individuos en el conocimiento circunstancial, más aptos será.

4.2.5 Función aptitud

La función aptitud (fitness) en los algoritmos culturales refleja la calidad de la solución, en un problema mono-objetivo la función aptitud es generalmente la misma función objetivo, pero lamentablemente en un problema bi-objetivo esta alternativa no es muy práctica al momento de implementar, debido a que ahora se presentan dos valores por cada solución y como se dijo anteriormente la comparación entre individuos no siempre se puede realizar, por lo tanto lo que generalmente se hace en la literatura es realizar una escalarización de las funciones objetivos, obteniendo un número representativo de su fitness, el cual se utiliza al momento de realizar las operaciones en los algoritmos culturales. Es importante que esta escalarización represente en la mejor medida la aptitud de un individuo, es por esto que cuando los valores de las diferentes funciones objetivos representen distintas unidades de medida o se muevan en rangos demasiado distintos se deben realizar ajustes a los valores, por ejemplo si una de las funciones objetivos se mueve en el intervalo [1000…1500] y la otra función objetivo se mueve en el intervalo [100…150] al intentar minimizar estas funciones una disminución será menos relevante que una disminución en , ya que trabajan con diferentes magnitudes, es claro que debe insertarse un coeficiente para corregir esta diferencia, multiplicando la primera función por 0.1 o la segunda por 10 para que los valores que se utilizan en la función de aptitud estén en el mismo intervalo.

Uno de los grandes problemas de escalarizar las funciones es que no se tiene conocimiento alguno del dominio del problema. En la solución implementada hasta ahora se utiliza el

36

intervalo en que las funciones objetivos se mueven para realizar la escalarización, como es de suponer en las primeras iteraciones este intervalo será bastante acotado pero dará una buena aproximación para escalarizar. Para esto se utiliza el conocimiento circunstancial donde se mantienen los límites que se han encontrado soluciones al problema para cada función objetivo. Con esto, se realiza una ponderación de la siguiente manera:

Se obtiene la diferencia que existe entre el valor de f1 y el límite inferior del intervalo donde se han encontrado valores para f1. Con esto se obtiene el porcentaje que representa esta diferencia dentro del intervalo y el mismo cálculo se realiza para f2, por lo tanto el fitness queda de la siguiente manera:

Donde dif1 es la diferencia que existe entre el valor de la función f1 con lif1 que es el límite inferior para el intervalo de la función f1 y lsf1 que es el límite superior del intervalo de la función f1. Análogo para la función f2. Se presenta la ilustración 4.6, para comprender de mejor manera los valores utilizados en la función fitness. Es claro que mientras el individuo presente menor valor en la función fitness, implica que los valores para f1 y f2 están más cercanos a los límites que interesan, por lo tanto, entre menor valor para la función fitness más apto será el individuo.

Ilustración 4.6 Esquema de las variables utilizadas en la función fitness.

4.2.6 Operador de Selección

Este operador es uno de los más importantes dentro de los algoritmos culturales, es el encargado de seleccionar los individuos dentro de la población que posean un mejor nivel de adaptación, es decir con mejor fitness. Esta selección es un punto importante para la transmisión de características deseables que puedan poseer los individuos ya encontrados. No obstante, no solo se debe elegir a los individuos que posean mejor fitness, ya que individuos que poseen bajo nivel de adaptación pudiesen tener información relevante para la solución y debiesen ser seleccionados en cierta medida para insertar diversidad y rescatar

37

esa información que pudiesen tener los individuos menos adaptados. Existe una gran cantidad de técnicas para realizar esta selección, de las cuales algunas son mutuamente exclusivas pero otras se pueden usar en combinación que es lo que se hace a menudo. Entre las técnicas de selección se encuentra la selección elitista, donde se garantiza la selección de los miembros más aptos de cada generación; Selección proporcional a la aptitud, los individuos más aptos tienen más probabilidad de ser seleccionados, pero no da certeza; Selección por rango: a cada individuo de la población se le asigna un rango numérico basado en su aptitud, y la selección se basa en este ranking, en lugar de las diferencias absolutas en aptitud. Pero los más utilizados para llevar a cabo la selección, es la realización de torneos y la técnica llamada selección por rueda de ruleta, los cuales se presentan a continuación.

Selección por torneo: Esta selección se basa en la comparación directa entre individuos. Generalmente se realizan comparaciones entre dos individuos pero es posible realizar torneos entre más individuos, aunque no es recomendable realizar torneos entre grupos grandes ya que los individuos menos adaptados tendrán muy poca posibilidad de ser seleccionados obteniendo niveles de diversidad poco adecuados, lo que implica una convergencia hacia máximos locales. Existen dos versiones de selección por torneo [Gestal], la versión determinística en la cual se selecciona el individuo más apto participando en el torneo y la versión probabilística que en vez de escoger siempre el mejor se genera un número aleatorio del intervalo [0,…,1], si es mayor que un parámetro p (fijado para todo el proceso evolutivo) se escoge el individuo más apto y en caso contrario el menos apto. Generalmente p toma valores en el rango 0,5 < p < 1. Es claro que con esta última versión se mejora el nivel de diversidad. Selección por rueda de ruleta: A cada uno de los individuos de la población se le asigna una parte proporcional a su ajuste de una ruleta, de tal forma que la suma de todos los porcentajes sea la unidad. Los mejores individuos recibirán una porción de la ruleta mayor que la recibida por los peores. Generalmente la población está ordenada en base al ajuste por lo que las porciones más grandes se encuentran al inicio de la ruleta. Para seleccionar un individuo basta con generar un número aleatorio del intervalo [0,…,1] y devolver el individuo situado en esa posición de la ruleta. Esta posición se suele obtener recorriendo los individuos de la población y acumulando sus proporciones de ruleta hasta que la suma exceda el valor obtenido.

Es un método muy sencillo, pero ineficiente a medida que aumenta el tamaño de la población. Presenta además el inconveniente de que el peor individuo puede ser seleccionado más de una vez.

Otra característica que hace importante a este operador de selección es que a menudo, es acá donde comienza la influencia de la cultura, debido a que generalmente uno de los padres utilizados para la recombinación es seleccionado del espacio de creencias.

Para la implementación se utilizará la selección de torneo con su versión determinística para elegir al padre1 del individuo. Se justifica la siguiente elección, ya que en la literatura es una de las mayores técnicas utilizadas, y además en [Villegas 2003] se utiliza para la implementación de un algoritmo genético para BOUFLP. En la selección del segundo padre se utiliza el espacio de creencias del algoritmo cultural. Como antes se explicó, se utilizará

38

conocimiento histórico, con lo cual se cuenta con una lista de los mejores individuos de la población. Por tanto, cualquier individuo del conocimiento histórico puede ser seleccionado como padre, ya que no se debe comparar su fitness o funciones objetivo, porque eso se hizo previamente para definir si es o no parte del conocimiento histórico, por lo tanto la selección de un individuo del conocimiento histórico se realiza de forma aleatoria.

4.2.7 Operador de Recombinación:

Este operador considera los valores de fitness para determinar qué elementos se copian en el hijo, logrando pasar información de mayor valor a las descendencias.

Se presentan dos operadores de recombinación que son analizados para la implementación, que son propuestos en el Algoritmo de Beasley, y además utilizados en la investigación de SCP con algoritmos Culturales [Crawford 2007], que se detallan a continuación:

Operador de fusión: operador propuesto por Beasley, que considera lo siguiente

Sean los individuos padres, y , con sus valores fitness y sea el individuo hijo , se tiene que

a) Si , entonces b) Si , entonces

i) , con probabilidad , ii) , con probabilidad

El valor de los fitness de cada individuo estará determinado por el valor de sus genes. Ahora bien, cuando dos individuos padres combinen sus genes, la elección de cuales genes son pasados al individuo hijo debería estar basada en las aptitudes relativas de los dos individuos padres. Cuando se quiere contribuir a una mejor aptitud del individuo hijo, se debe mantener un gen particular de un individuo más apto que si se considerara en vez al individuo padre menos apto. Estas elecciones solo deben ser realizadas para los genes que difieren de los valores de ambos individuos padres. Ahora bien, los valores de los genes que son idénticos en ambos individuos padres, son copiados al hijo [Crawford 2007].

La ventaja de este operador de fusión con respecto a los operadores de un punto (cruce básico) y dos puntos (cruce multipunto), es su capacidad para generar nuevas soluciones cuando las dos soluciones padres tienen una estructura similar. Esto debido a que se focaliza en las diferencias entre las dos estructuras combinadas.

Operador de Cruce:

El operador de cruce general, busca calcular el genoma del nuevo individuo en función del genoma del padre y de la madre, por lo tanto se le considera fuertemente responsable de las propiedades del algoritmo genético, y determinará en gran medida la evolución de la población. Se presenta la técnica de cruce uniforme que se detalla a continuación [Gestal]:

Cruce uniforme: se lleva a cabo generando una máscara de cruce. Esto no es más que una cadena de la misma longitud que las que se pretende cruzar,

39

poblada aleatoriamente de ceros y unos. La generación de la descendencia es guiada por esa máscara. Uno de los hijos adoptará el valor de los genes del progenitor A en las posiciones en las que la máscara contenga un uno, y los de B en aquellas posiciones en las que en la máscara haya un cero (figura 4.7). El segundo hijo adoptará en cada posición los valores del progenitor contrario al del primer hijo [Gil 2009].

.

Ilustración 4.7 Curce uniforme

Como se explicó anteriormente, en la selección de los padres se utilizará la selección de torneo y la influencia del conocimiento (histórico). Y para continuar con el proceso de recombinación, en la implementación propuesta, se utiliza el cruce uniforme, y esta elección se apoya en la elección que realiza el autor en la investigación [Villegas 2003].

4.2.8 Operador de Mutación.

El operador de mutación provoca que los genes de un individuo, varíe su valor de forma estocástica. Aunque se pueden seleccionar los individuos directamente de la población actual y mutarles antes de introducirlos en la nueva población, en las mutaciones se suele utilizar de manera conjunta con el operador de cruce. Primeramente se seleccionan dos individuos de la población para realizar el cruce. Si el cruce tiene éxito entonces uno de los descendientes, o ambos, se muta con cierta probabilidad. Se imita de esta manera el comportamiento que se da en la naturaleza, pues cuando se genera la descendencia siempre se produce algún tipo de error, por lo general sin mayor trascendencia, en el paso de la carga genética de padres a hijos.

El objetivo de la mutación es producir diversidad en la población. Si al generar aleatoriamente la población inicial o después de varias generaciones, en la misma posición de todos los cromosomas sólo aparece un único elemento del alfabeto utilizado, esto supondrá que con los operadores de reproducción y cruce, nunca cambiara dicho elemento, por lo que puede ocurrir que jamás se alcance la solución óptima al problema. La probabilidad de aparición del operador de mutación no debe ser grande para no perjudicar la correcta construcción de bloques. El operador de mutación origina variaciones

40

elementales en la población y garantiza que cualquier punto del espacio de búsqueda pueda ser alcanzado.

De acuerdo a la probabilidad que se tenga, se elegirá el tipo de mutación a realizar, fuese de uno o más bit. Este criterio de elección puede proveer una cuota de búsqueda aleatoria, que permitirá evitar la pérdida de información genética valiosa reintroduciendo información perdida por convergencias prematuras de modo que expande el espacio de búsqueda.

Se analizan dos técnicas utilizadas para la mutación, que se detallan a continuación [Orozco 2007]:

Mutación de bit: En este tipo de mutación existe una única probabilidad de que se produzca una mutación de algún bit. De producirse, el algoritmo toma aleatoriamente un bit, y lo invierte. Mutación multibit: Cada bit tiene una probabilidad de mutarse o no, que es calculada en cada pasada del operador de mutación multibit.

Debido a que existe una cierta probabilidad que se debe tener en cuenta para la elección de la técnica de mutación, es importante considerar que de acuerdo a una probabilidad existente, la mutación puede parecer una búsqueda aleatoria, y además ayudará a evitar la pérdida de información genética valiosa reintroduciendo información perdida por convergencias prematuras de modo que expande el espacio de búsqueda. En el algoritmo cultural propuesto en esta investigación se utilizó la mutación multibit.

4.2.9 Operador de Reemplazo

Otra de las acciones que se realizan en la ejecución de un algoritmo cultural y que vale la pena analizar, es el reemplazo de la generación antigua (padres) por la generación nueva (hijos). Existen varias técnicas de reemplazo pero la más utilizada es la llamada reemplazogeneracional, que básicamente consiste en reemplazar completamente la generación antigua por la nueva. Otro tipo es el reemplazo steady state (estado estacionario) donde un individuo de la generación padre es elegido para ser reemplazado por un individuo hijo, generalmente esta elección se hace sobre el conjunto de los individuos peor adaptados. También se puede realizar una mezcla de las dos técnicas nombradas anteriormente, reemplazando completamente una porción de la generación padre. La implementación del operador de reemplazo en la solución tomo en cuenta el reemplazo generacional, creando una población auxiliar para la creación de los hijos y que luego pasa a ser la población de padres en la siguiente iteración.

4.3 Algoritmo Cultural Propuesto. Ya presentados los operadores y las distintas alternativas que se han estudiado para implementarlos, se propone la estructura general del algoritmo cultural que resuelve BOUFLP, utilizando como referencia el algoritmo 3. Este algoritmo cultural presenta dos fases bien demarcadas.

Fase Exploración: Procura obtener diversidad en las soluciones encontradas utilizando los operadores que se encuentran en los algoritmos genéticos. Se realiza una población inicial y de ella se generan las próximas generaciones. Como la idea en esta fase es encontrar un

41

espacio con soluciones diversas y no converger, el operador de mutación utilizado posee una probabilidad de mutación relativamente alta, así el algoritmo obtendrá al final de esta fase, individuos en el espacio de creencias (conocimiento histórico) abarcando un gran espacio de búsqueda.

Fase de Explotación: Esta fase utiliza el espacio de creencias obtenido en la fase anterior y mediante el operador de mutación realiza pequeñas modificaciones en los genes de los individuos para realizar una búsqueda en vecindades próximas a los individuos en el espacio de creencias. Luego estos individuos mutados si poseen una mejor adaptación, actualizan el espacio de creencias y se comienza el ciclo nuevamente. Es claro que en esta fase el operador de mutación no puede utilizar la misma probabilidad que en la fase anterior, es por esto que se utiliza otra probabilidad mucho más pequeña.

Algoritmo 2 Estructura General de un Algoritmo CulturalBegint = 0 Inicializar Población P(t) Inicializar Creencias B(t) (1) Evaluar condición de los individuos de (P(t)) While (no condición de término) do

begint = t + 1 padres = Seleccionar padres desde P(t-1) e Influencia B(t) (2) Hijos = Transformar (Padre, Influencia (B(t))) (3) Hijos= Mutar (Hijos) (4) Evaluar (Hijos) (5) P(t) = Hijos (6) Actualizar (B(t), Aceptar(P(t))) (7)

endend while While (no condición de término) do

begini = i + 1 Baux (i ) = Mutar (B(t)) (8) Evaluar (Baux(i)) (9) Actualizar (B(t), Aceptar(Baux(i))) (10)

endend while

End

Inicializar creencias B(t): Función que almacena en el espacio de creencias los individuos, de la población inicial, que son considerados para generar el conocimiento.

Influencia (B(t)): La influencia considera el conocimiento de tipo Histórico, y se utiliza en el operador de selección y recombinación. Pero el conocimiento se aplica en el operador de recombinación donde se utiliza el conocimiento almacenado en el espacio de creencias para recombinar el individuo padre seleccionado del espacio de creencias con el otro individuo padre seleccionado de la población anterior

42

Actualizar (B(t), Aceptar(P(t))): Función que en cada ciclo evolutivo actualiza el espacio de creencias, basándose en la función de aceptación(). La función de aceptación() selecciona los individuos de los que se extraerá información para ser almacenada en el espacio de creencias.

Evaluar (Hijos): Función que evalúa la función aptitud de cada hijo creado.

Mutar (Hijos): Función que modifica una cantidad de genes en los hijos recién creados. La cantidad de genes cambiados depende de una probabilidad de mutación Pm dada.

Algoritmo 3 Algoritmo Genético para SCP

1- Generación de población inicial con N soluciones aleatorias. Sea t:= 0 2- Selección de dos individuos P1, a través de la selección por torneo desde la población, y para P2, selección aleatoria desde el conocimiento histórico. 3- Combinación de P1 y P2 para formar una nueva solución usando el cruce uniforme básico. 4- Mutar k columnas seleccionada aleatoriamente, donde k está determinado por la tasa de mutación (mutación multibit). 5- Se utiliza representación binaria y C es infactible, hacer C factible mediante reparación o penalización. 6- Remover columnas redundantes en C aplicando el operador heurístico definido. 7- Si C es idéntica a cualquiera de las soluciones en la población, ir al paso 2; en otro caso, actualizar t:=t+1 e ir al paso 7. 8- Reemplazar una solución elegida aleatoriamente con un fitness sobre el promedio en la población C (método de reemplazo steady-state o generacional). 9- Repetir pasos 2-7 hasta que t=M (M no duplicado) soluciones hayan sido generadas. La mejor solución encontrada con el fitness más pequeño en la población.

43

Capítulo 5

Experimentos Computacionales

En este capítulo, se presentan algunos resultados de experimentos computacionales realizados previamente. Para la experimentación en estudio, se utilizó un computador con un procesador Intel Celeron 1.3 Ghz, 256 MB de memoria RAM, con sistema operativo Ubuntu Versión 9.04 de 32 bits.

La implementación realizada se codifico en lenguaje C compilado con “GCC – GNU Project C and C++ complier”. La elección del lenguaje utilizado para la codificación se justifica por las diversas implementaciones que existe en la literatura, pues los autores buscan un lenguaje potente y veloz, que les permita obtener un mejor rendimiento de la implementación.

5.1 Métricas MultiobjetivoAntes de mostrar los resultados obtenidos con el algoritmo cultural se debe introducir sobre las métricas que ayudan a definir cuando una solución es mejor que otra, debido a que en una optimización multiobjetivo no existe un criterio único que permita definir con facilidad la calidad de las soluciones. Para comparar los resultados obtenidos por distintos algoritmos de optimización multiobjetivo o para comparar los resultados de un mismo algoritmo para el afinamiento de sus parámetros, se han desarrollado varias métricas de desempeño, las cuales buscan capturar las características que hacen a una aproximación del conjunto Pareto-óptimo mejor que otra en algún criterio. Por lo general, éstas asignan a un conjunto aproximación particular un número que refleja un aspecto de calidad determinado [Lucken 2003]. En general, no existe un acuerdo común sobre cuáles medidas de desempeño debería utilizarse, por lo que una práctica usual es utilizar una combinación de métricas a fin de comparar las aproximaciones obtenidas en diferentes aspectos. Así, la comparación en sí misma se vuelve multiobjetivo. El diseño de métricas para comparar los algoritmos de optimización multiobjetivo es un campo que se encuentra activo en investigación. Se han desarrollado diferentes métricas que evalúan la calidad de la aproximación del frente de Pareto obtenida. Para un detallado análisis de las métricas existentes se puede consultar [Lucken 2003]. Para la medición de los resultados obtenidos para el problema de localización de instalaciones se utiliza una adaptación de la métrica S. Esta elección se justifica, ya que en la investigación guía del autor [Villegas 2003] se elige esta medida, ya que es considerada como elección en otras investigaciones bastante importantes, como la de [Zitzler 1998]. Esta métrica evalúa la calidad de una aproximación del frente de Pareto con el tamaño del espacio dominado por dicha aproximación. Por lo tanto se considerará una aproximación al frente cuando ésta posea el espacio dominado más grande de todas las aproximaciones a ese mismo frente.

La cal(área, referenLa unifrente punto solucióla ilussolució

El vallos crimodifidominv(x). Lobjetivrara v[VillegLa mé

El valvalor dPara fodefinirque limínim

lidad de unavolumen o

ncia. ión del espacde Pareto esde referenc

ón de máximstración 5.1 eón marcada

or de la métiterios de deficada S’ connado por la aLa solución vo, obtenida

vez factible ygas 2003].

étrica S’ está

or de la solude S’ será ce

formar el espr los límitesmitan el esp

mo costo y d

a aproximachipervolum

cio dominads el valor decia es el antma coberturaenseña la mécon induc

Ilustración

trica S depenecisión. Utilin valores enaproximacióideal es un

as optimizandy solo es al

definida po

ución ideal ero, puesto qpacio domina inferior y spacio de sode máxima

ión del frenmen) compre

do por todas la métrica Sti–ideal (i.e.a, y la mínimétrica S parace un espaci

n 5.1 Ejemplo d

nderá de lasizando el enntre cero y

ón del frentevector form

do cada critelcanzable si

r:

'S

sería S’ = 1que no hay niado por el cosuperior del oluciones no

cobertura (

44

nte de Paretoendido entre

las solucionS. Para los p, una soluci

ma coberturaa un problemo dominado

de métrica del

s unidades qnfoque de [M

uno. S’ se PF* y el es

mado por laserio sin consno existe c

))(()(

*

*

xvSPFS

, y cuando ninguna soluconjunto de aespacio de

o dominadas(marcadas c

o está dada pe dicha apro

nes que comproblemas deión que tiena de la solucma de localiz (rectángulo

espacio domin

que se utiliceMedaglia 20

define comspacio domins solucionessiderar los dconflicto ent

no exista ninción que defaproximacionsoluciones n

s son preciscon en la

por el tamañoximación y

ponen la apre localizaciónne el máximción de mínización multi

o sombreado)

nado S.

en para medi003], se obtimo la divisió

nado por la s óptimas deemás. La sotre las funci

nguna solucfina un espacnes al frenteno dominadasamente las a ilustración

ño del espacy un punto

roximación dn abordados

mo costo de imo costo). Eiobjetivo, ca).

ir cada uno ene la métri

ón del espacsolución ide

e cada funcilución ideal iones objetiv

ción factible cio dominadoe es importanas. Los puntsoluciones

n 5.2). Amb

cio de

del s el

la En

ada

de ica cio eal ión es

vo.

el o. nte tos de

bas

45

soluciones extremas de la frontera de Pareto se obtuvieron en dos fases, que luego serán explicadas a profundidad.

Ilustración 5.2 Límites para la obtención de la métrica S

Es importante aclarar que toda solución que no esté dentro de los límites siempre estará dominada por alguna de ellas. Por ejemplo, en la ilustración 5.2, el punto A está dominado por la solución de mínimo costo ya que el punto A tiene un costo superior y una cobertura inferior a las de dicha solución (i.e., un peor servicio a un mayor costo). Igualmente, el punto B está dominado por la solución de máxima cobertura, ya que tiene un costo mayor y una cobertura inferior a las de dicha solución [Villegas 2003]. Entonces esto exige que se deban eliminar todas las soluciones que tengan una cobertura inferior a la de la configuración de mínimo costo o un costo superior al de la configuración de máxima cobertura. Y para filtrar dichas soluciones es necesario determinar las soluciones extremas de la frontera de Pareto del problema de localización multiobjetivo (configuraciones de costo mínimo y máxima cobertura). En esta investigación, los límites de la frontera de Pareto que se necesitan para utilizar la métrica S’, fueron encontrados utilizando optimización monoobjetivo con algoritmos culturales para encontrar ambas soluciones requeridas (mínimo costo y máxima cobertura). Específicamente, se formula un problema de localización sin restricciones de capacidad con una sola función objetivo (minimizar costo o maximizar cobertura), y se incluye la otra función objetivo como restricción adicional. A continuación se presenta la definición del problema:

5.1.1 Problema de Localización con Restricción de Cobertura (UFLP+C)

46

Sujeto a,

Para la solución de mínimo costo, ésta se consigue en dos fases. En primera instancia, se resuelve el UFLP descrito anteriormente por las ecuaciones (5.1)-(5.5), y se obtiene el valor óptimo ( ) que corresponde a la cota mínima del costo ( ) de cualquier configuración de la red. Luego se busca maximizar la cobertura alcanzable con dicho costo. Cualquier solución que tenga una cobertura inferior estará dominada por la solución de mínimo costo, ya que necesariamente será más costosa y además ofrecerá una menor cobertura. Para la solución de mínimo costo ( ) y máxima cobertura ( ), se obtiene al resolver el problema de optimización definidos por las restricciones siguientes:

Sujeto a:

De la anterior definición del problema se obtendrá el valor óptimo ( ) que representa la cota mínima de cobertura ( ) de cualquier solución no dominada.

5.1.2 Problema de Máxima Cobertura con Restricción de Costos (MCLP+B).

Ahora bien, para encontrar el límite superior de la aproximación a la frontera de Pareto, se necesita obtener la solución de máxima cobertura. Se realiza un procedimiento similar al que se utilizó para encontrar la solución de mínimo costo: primero se encuentra la máxima cobertura alcanzable con el conjunto de bodegas disponible ( ). Para obtenerla no es necesario resolver ningún problema de optimización. Basta con examinar que clientes estarían cubiertos si se abrieran todas las bodegas, haciendo

y calculando la expresión:

47

La expresión garantiza que los clientes son contados una sola vez, aunque puedan ser cubiertos por más de una bodega. En la segunda fase se minimiza el costo necesario para lograr la cobertura

Sujeto a:

El valor óptimo del problema (5.12) – (5.17) es la cota superior del costo de cualquier solución no dominada. Una solución más costosa aunque tenga la máxima cobertura estará dominada por la solución aquí obtenida, ya que esta es la forma de ofrecer el mejor servicio al menor costo. Para obtener los límites necesarios para la elaboración de la métrica S, tuvo que utilizarse los algoritmos mono-objetivos (UFLP+C y MCLP+B) anteriormente nombrados, logrando los valores esperados en comparación con los de la investigación de [Villegas 2003]. Para la resolución de estos problemas monoobjetivos se utilizó el mismo algoritmo cultural propuesto en esta investigación. Debido a esto surgió la necesidad de comprobar que este algoritmo se desempeña de buena forma solucionando problemas monoobjetivos. Esto dará cierta seguridad de que los límites encontrados serán los óptimos para cada función. Se profundiza y muestran resultados sobre esta validación en el anexo.

5.2 Instancias utilizadas. Las instancias resueltas en los experimentos computacionales se han obtenido de la investigación realizada en [Villegas 2003]. Estas instancias han sido desarrolladas aleatoriamente usando un generador de problemas que sigue la metodología UflLib.

Estas instancias están realizadas tomando un problema en particular que trata de una red de recolección de café en el país de Colombia, donde existen depósitos (instalaciones), centros compradores (clientes) y granjeros a los que un centro compra café. Por lo tanto el número de granjeros que el centro comprador atiende es la demanda de este centro. Se generaron problemas de tres tamaños diferentes con m depósitos y n centros compradores (valores de m-n: 10-25, 30-75 y 50-150). Además estas instancias están catalogadas en dos tipos (A y B). Las instancias del tipo A presentan una distribución uniforme de los centros con cuadras de 190 unidades de distancia de ancho, por otra parte en las instancias del tipo B los mismos centros compradores son elegidos para funcionar como depósitos, y por lo tanto la distancia entre ese depósito y centro comprador es 0. Otra catalogación de las instancias

48

es la referida a los costos fijos, por lo que son etiquetadas como C1, C2 y C3 si todos los depósitos presentan el mismo costo fijo, con 400, 700 y 1000 respectivamente. Las instancias etiquetadas como C4, C5 y C6, tienen una distribución uniforme de los costos fijos entre U(100,400), U(400,700), U(700,1000), respectivamente.

Por lo tanto, una instancia etiquetada como A50-150C2 tiene 50 depósitos uniformemente distribuido en cuadras de 190 unidades de distancia, 150 centros compradores y todos los depósitos presentan un costo fijo de 700.

5.3 Afinación de Parámetros El algoritmo cultural propuesto en esta investigación presenta ciertos parámetros que deben ser afinados. Estos parámetros influyen en distinta medida en los resultados arrojados por el algoritmo, es por esto que es necesario un minucioso análisis de los valores que serán usados. El algoritmo presenta cuatro parámetros que se necesitan afinar: tamaño de la población L, número de generaciones T que a su vez será el criterio de término de la fase exploratoria, probabilidad de mutación en la población Pmp, probabilidad de mutación en el espacio de creencias Pmc. Para realizar el afinamiento de estos parámetros se utilizo una metodología similar a la utilizada en [Villegas 2003]. Se utilizaron cuatro problemas de prueba:

Problema m n

A30-75C1 30 75

B30-75C2 30 75

A50-150C5 50 150

B50-150C5 50 150 Tabla 5.1 Problemas utilizados para la afinación.

Se utilizaron diferentes niveles para cada uno de los parámetros los cuales se muestran en la tabla 5.2.

Parámetro Niveles

L 30, 60, 90,120,150

T 50, 100, 150,200,250,300

Pmp 0.1,0.15,0.2,0.25,0.3

Pmc 0.02,0.03, 0.04, 0.05 Tabla 5.2 Niveles que se utilizaron en la afinación.

Se ejecutó el algoritmo cultural una vez para cada combinación de parámetros y se obtuvieron los valores de S’ para cada uno de los cuatro problemas de prueba que se utilizaron. En la tabla 5.4 se presenta el promedio que se obtuvo para cada valor que tomaron los parámetros, valor que se utilizó para tomar la decisión sobre la configuración correcta. Por lo tanto, el valor utilizado para el tamaño de la población L, número de generaciones T, la probabilidad de mutación en la población Pmp, la probabilidad de

49

mutación en el espacio de creencias Pmc, fueron configurados como se muestra en la tabla 5.3.

T L Pmp Pmc

100 150 0.15 0.04

Tabla 5.3 Configuración de parámetros.

T Promedio L Promedio Pmp Promedio Pmc Promedio50 0,6359 30 0,6056 0.10 0,6626 0,02 0,6568

100 0,6463 60 0,6424 0,15 0,6703 0,03 0,6683 150 0,6225 90 0,6519 0,20 0,6647 0,04 0,6741 200 0,6690 120 0,6420 0,25 0,6681 0,05 0,6681 250 0,6660 150 0,6468 0,30 0,6686 300 0,6661

Tabla 5.4 Promedio del S’ para los diferentes valores de los parámetros

La cantidad de iteraciones en la segunda fase del algoritmo también es un parámetro importante, este parámetro no se afinó junto con los demás debido a que se puede asegurar que mientras más exploración se haga, siempre el resultado será mejor, sólo se tomo un valor donde un aumento no mejore el valor de S’ o la mejora es casi despreciable, debido a que el tiempo que se toma el algoritmo en realizar más iteraciones, no es justificable por el pequeño aumento en la calidad de la solución. El valor para este parámetro es de 2000.

Otro parámetro que afecta a la calidad de las soluciones es la semilla, este valor es necesario cuando se utilizan valores aleatorios. Un ejemplo, cuando se crea la población inicial, sin este parámetro el algoritmo crearía siempre la misma población inicial, debido a que la función en el lenguaje C utilizada para obtener valores aleatorios tiene esta particularidad. Para el afinamiento de parámetros se utilizó la misma semilla para cada una de las posibles configuraciones para que éste no afectara al resultado. Para los resultados computacionales se utilizaron 10 semillas para cada una de las instancias.

Otro parámetro que se desprende de la modelación de BOUFLP es el Dmax (Distancia máxima de cobertura) y para efecto de las pruebas computacionales utilizadas el valor es Dmax=35.

Es importante destacar que esta afinación se realizó pensando en una configuración general para todas las instancias y por lo tanto, lo más probable es que para algunas de ellas otra configuración de parámetros, obtenga mejores resultados a los reportados en este trabajo de título.

50

5.4 Resultados. Algoritmo Cultural NSGA-II Diferencia PAES Diferencia

Tamaño Instancia Tiempo S' (1) |PF*| Tiempo S' (2) |PF*| Tiempo S' (3) |PF*|

10*25 187,33 0,677 9,91 1685,75 0,677 9,75 0 382,58 0,677 9,75 0

30*75 859,91 0,741 42,25 1585,33 0,732 35,91 0,0119 559,08 0,696 28,66 0,0126

75*150 1179,33 0,762 41,91 2486,50 0,761 34,58 0,0015 1254,33 0,661 20,83 0,1528

Tabla 5.5 Promedios según tamaño de instancia.

En el anexo II, se presenta una tabla con los valores más detallados para cada una de las instancias, el tiempo que demoraron las 10 ejecuciones independientes, el valor de la métrica S’ y el número de individuos en la aproximación del frente de Pareto, tanto para el algoritmo cultural implementado en esta investigación y los resultados utilizando NSGA-II y PAES obtenidos en [Villegas 2003], además muestra la diferencia para S’ que existe entre los valores obtenidos mediante el algoritmo cultural y los otros dos algoritmos. Estos mismos valores fueron resumidos en la tabla 5.5 mediante los promedios, agrupando las instancias según el tamaño que presentaban.

El valor para S’ se obtuvo fusionando las aproximaciones de los frentes de las 10 ejecuciones independientes y se rescataron todos los individuos no dominados de este conjunto, es claro que para determinar que un individuo formará parte de la aproximación al frente final, debe ser comparado con todos los individuos de cada uno de los 10 conjuntos obtenidos para cada instancia.

Los resultados obtenidos mediante NSGA-II y PAES son muy interesantes al momento de realizar la comparación, debido a que en [Villegas 2003] NSGA-II se destacó por obtener resultados de buena calidad en comparación con PAES, y PAES se destacó a su vez por ser más rápido que NSGA-II.

Luego de la realización de los experimentos y analizar las diferencias entre los valores de S’, se obtuvo que el algoritmo cultural en promedio mejora los resultados en un 0.4% en comparación con el algoritmo NSGA-II, mientras que lo hace en un 7.9% cuando se compara con PAES. Aunque la diferencia entre la calidad de soluciones obtenidas por el algoritmo cultural y NSGA-II es mínima, sí es considerable la diferencia en tiempo que existe, siendo el algoritmo cultural en promedio un 60.74% más rápido que NSGA-II. Por otra parte cuando se comparan los tiempos entre el algoritmo cultural y PAES la diferencia es pequeña siendo el algoritmo cultural en promedio un 1.97% más rápido que PAES, a pesar de que los experimentos se realizaron en máquinas diferentes, la capacidad de procesamiento de estas es semejante, por lo cual la diferencia obtenida en los resultados no es atribuible a la máquinas. Por lo tanto, el algoritmo cultural propuesto en esta investigación obtiene buenos resultados comparables con NSGA-II y un tiempo comparable con el obtenido mediante PAES.

En la ilustración 5.3 se presenta el gráfico de la aproximación al frente de Pareto para la instancia A50-150C5. Se observan los límites que encierran el área a dominar y la curva que forma la aproximación al frente de Pareto. El espacio que domina la curva es del 80.4% formada por una población de 53 individuos. El gráfico muestra los valores estandarizados

)2()2()1(

)3()3()1(

51

tanto para los valores de los individuos y de los límites, debido a que estos valores son los que se utilizan para el cálculo del S’. Como se puede apreciar es una excelente aproximación del frente de Pareto con un espacio dominado grande y una curva bastante poblada.

Por otro lado en la ilustración 5.4 se presenta el gráfico para la instancia A50-150C4. Este ya no presenta una curva tan pronunciada y con menor cantidad de individuos en ella, a pesar de ser del mismo tamaño de la instancia anterior, cubriendo solo el 63.5% del área a dominar, se piensa que esto ocurre debido a que la configuración de algunas instancias, no permite formar combinaciones que pudiesen mejorar la curvatura de la aproximación al frente. Por lo tanto, un valor bajo para S’, no es precisamente responsabilidad del algoritmo.

Ilustración 5.3 Aproximación del frente de Pareto para la instancia A50-150C5.

95

100

105

110

115

120

125

60 70 80 90 100

Aprox. Al Frente

Límites

52

Ilustración 5.4 Aproximación del frente de Pareto para la instancia A50-150C4.

Otro resultado interesante se muestra en la ilustración 5.5 y ilustración 5.6. Como se señalo anteriormente este algoritmo cultural presenta dos fases, una de exploración y otra de explotación. En el gráfico se muestran dos aproximaciones al frente de Pareto. La serie “Aprox. Sin Explotación” es la aproximación al frente que se obtiene terminada la fase de exploración. Se puede observar que es superada en gran medida por la serie “Aprox. Con Explotación. En estos gráficos no se han estandarizados las funciones, para observar la magnitud real del cambio entre fases.

Ilustración 5.5 Comparación de fases para el algoritmo Cultural, instancia A30-75C2

99

100

101

102

103

104

105

106

107

108

85 90 95 100

Aprox. Al Frente

Límites

7000

8000

9000

10000

11000

12000

13000

14000

15000

16000

900 1400 1900 2400

Aprox. ConExplotación

Límites

Aprox. SinExplotación

53

Ilustración 5.6 Comparación de fases para el algoritmo Cultural, instancia B30-75C2

Además de los resultados con la configuración de los parámetros descrita anteriormente, se realizaron pruebas con valores distintos para el parámetro Dmax. Para valores grandes (150 unidades de distancia) se observó que el algoritmo convergía rápidamente en el valor máximo para la función objetivo que mide la cobertura f2 y en las siguientes iteraciones el algoritmo sólo realizaba una búsqueda del óptimo para la función de costos f1. Esto se explica porque con valores grandes para Dmax, alcanzar el 100% de cobertura es relativamente fácil ya que existen muchas combinaciones posibles donde un cliente queda con una instalación a menor distancia que el valor de Dmax. Es por esto que en las aproximaciones al frente de Pareto para valores grandes para Dmax, generalmente están compuestas sólo por un individuo, casi como un problema mono-objetivo donde el mejor individuo es el que presenta mejor nivel de costos.

7000

8000

9000

10000

11000

12000

13000

14000

15000

1000 1500 2000 2500

Aprox. ConExplotación

Límites

Aprox. SinExplotación

54

Conclusiones y Trabajo Futuro

En el presente trabajo de título se investiga sobre las distintas técnicas capaces de resolver un problema de optimización bi-objetivo, algoritmos culturales y su aplicación al problema de localización de instalaciones.

En el caso de la optimización multiobjetivo, de las investigaciones realizadas existen innumerables estudios que utilizan modelos matemáticos y herramientas, que buscan el objetivo final, entregar buenos resultados de optimización respecto de la función objetivo modelada, algunos cambiando la naturaleza del problema bajando su complejidad, y otros tratando directamente con la naturaleza de problemas bi-objetivos lo que resulta mucho más complejo de resolver.

Gracias a una exhaustiva investigación del estado del arte de todos los métodos posibles que existen para resolver problema de optimización bi-objetivo, se confirma una correcta elección de la metaheurística elegida. Los algoritmos culturales como metaheurística resultan interesante, pues utilizan todas las características de los algoritmos genéticos que los hace adaptables a este tipo de problemas e incorporan el llamado conocimiento, que influencia a las nuevas generaciones con experiencia obtenidas en generaciones anteriores.

De las investigaciones que existen sobre algoritmos culturales aplicados a problemas de optimización, solo de manera general se puede decir que los resultados obtenidos por los investigadores permiten tener una visión de que esta técnica es muy eficiente y segura. Aunque es un tema que día a día se sigue explorando, y cada investigación extiende los conocimientos, las aplicaciones en problemas de optimización multiobjetivo son muy pocas. Respecto del uso de los algoritmos culturales, se concluye que gracias a la influencia de la cultura se puede orientar a converger a una mejor solución en un mejor tiempo de optimización. Gracias a esta técnica aplicada al problema, la toma de decisiones respecto de una mejor solución, ya no solo dependerá del traspaso de genes de la generación anterior a la nueva, sino que también los buenos genes se rescatarán en la cultura que se creará gracias a las generaciones que han pasado, tal como sucede, en el mundo real.

Después de haber aplicado la técnica de algoritmos culturales a BOUFLP, se concluye que la técnica se adapta de buena manera al tipo de problema. Aunque si se destaca algunos problemas como por ejemplo al momento de obtener el nivel de adaptación de un individuo (fitness), ya que resulta algo complejo obtener un valor representativo de la calidad de una solución, debido a que ahora la actitud de un individuo depende de dos valores que miden cosas distintas y por ende no es trivial fusionarlos en un solo valor, no así en problemas mono-objetivo.

De los resultados obtenidos se destaca la capacidad que tiene el algoritmo de acelerar su convergencia con la fase exploratoria y la utilización del espacio de creencias para esto. Sin

55

esta fase, según los experimentos realizados el algoritmo necesita realizar muchas más generaciones, lo que lleva a un empeoramiento del tiempo y muchas veces a la calidad de las soluciones. Se piensa que es esta característica la responsable del buen rendimiento en tiempo que presenta el algoritmo y que lo hace destacable entre los algoritmos abarcados en esta investigación.

Un trabajo interesante que puede continuar con esta investigación sería resolver el problema BOUFLP mediante otras heurísticas, realizando una comparación entre el algoritmo cultural y otra metaheurística, debido a que este problema en la literatura ha sido poco abarcado y sólo ha podido ser comparado con benchmarks obtenidos de [Villegas 2003]

Respecto a la metaheurística utilizada en esta investigación, se ha insertado en su espacio de creencia el conocimiento circunstancial e histórico, lo que deja abierta una investigación donde se inserten otros conocimientos que podrían ayudar aún más al algoritmo cultural en la búsqueda del frente de Pareto.

Respecto a los operadores del algoritmo cultural (selección, cruzamiento, mutación y reemplazo), se ha mostrado en esta investigación varias formas de llevarlos a cabo, es deseable que en una próxima investigación se realicen pruebas con implementaciones diferentes a las utilizadas en este algoritmo cultural propuesto.

56

Bibliografía

[Bilde 1977] O.Bilde and J. Krarup (1977). “Sharp lower bounds and efficient algorithms for the simple plant location problem Annals of Discrete Mathematics”. 79-97.

[Chung y Reynolds 1996] ChanJin Chung, Robert G. Reynolds (1996). “A self-adaptive approach to representation shifts in cultural algorithms”.

[Crawford 2007] Broderick Crawford, Carolina Lagos, Carlos Castro, Fernando Paredes (2007). “A Cultural Algorithm for Solving the Set Covering Problem”.

[Coello 1998] Carlos Coello. (1998) “Optimización Evolutiva con Objetivos Múltiples: Estado del Arte y Tendencias Futuras”.

[Collette 2002] Yann Collette, Patrick Siarry (2002). “Multiobjective Optimization. Principles and Case Studies”.

[Duarte 2001] Susana Duarte. (2001) “Optimización Multiobjetivo de Redes Empleando Algoritmos Evolutivos Paralelos”

[Gestal] Marcos Gestal Pose “Introducción a los Algoritmos Genéticos”

[Gil 2009] Francisco Gil Montoya (2009) “Optimización de Tensión en Redes de Distribución utilizando Técnicas Evolutivas”. Tesis Doctoral, Universidad de Granada, España, 2009

[Instancias 1977] Instancias UFLP (1977). http://www.mpi-inf.mpg.de/departments/d1/projects/benchmarks/UflLib/data/bench/BildeKrarup.tgz

[Landa 2002] Ricardo Landa (2002) “Algoritmos culturales aplicados a optimización con restricciones y optimización multiobjetivo”. Tesis magister, Centro de Investigación y Estudios Avanzados del Instituto Politecnio Nacional, México D.F.2002.

[Landa 2004] Ricardo Landa, Carlos Coello (2004). “A cultural algorithm with diferential evolution to solve constrained optimization problems”

57

[Landa 2004a] Ricardo Landa, Carlos Coello (2004). “A cultural algorithm for solving the job shop scheduling problem”

[Lucken 2003] Christian Daniel von Lücken Martínez (2003) “Algoritmos evolutivos para optimización multiobjetivo: Un estudio comparativo en un ambiente paralelo asíncrono.” Trabajo de Tesis desarrollado como parte de los requerimientos para el grado de Master En Ingeniería de Sistemas de la Universidad Nacional de Asunción

[Medaglia 2003] Andrés L. Medaglia -,Shu-Cherng Fang (2003). “A genetic-based framework for solving (multicriteria) weighted matching problems”.

[Orozco 2007] Samuel Orozco (2007) Tesis “Algoritmos Genéticos”

[Pandolfi 2007] D. Pandolfi, M.E. de San Pedro, M. Lasso, A. Villagra, y G. Leguizamón (2007) “Incorporación de Conocimiento en Algoritmos Evolutivos para Problemas de Scheduling”.

[Revelle 1996] Revelle, C. and G. Laporte. (1996). “The Plant Location Problem: New Models and Research Prospects.” Operations Research, 44, 864–874.

[Reynolds 1994] Robert G. Reynolds (1994). “An Introduction to Cultural Algorithms”.

[Reynolds 1999] Robert G. Reynolds (1999). “Cultural algorithms: Theory and applications”. In David Corne, Marco Dorigo, y Fred Glover, editors, New Ideas in Optimization, pages 367–377. McGraw-Hill, London,”.

[Sakawa 2002] Masatoshi Sakawa (2002) “Genetic Algorithms and Fuzzy Multiobjective Optimization”

[Soza 2005] Carlos Soza (2005) Tesis “Algoritmos Culturales para resolución de problemas complejos de Asignación Horaria”.

[Villegas 2003] Juan G. Villegas (2003) “Problemas de Localización Multiobjetivo”

[Zitzler 1998] Eckart Zitzler and Lothar Thiele (1998). “Multiobjective Evolutionary Algorithms:A Comparative Case Study and the Strength Pareto Approach”

58

Anexos

Anexo I: Validación del algoritmo para UFLP. En esta investigación se propone un algoritmo cultural para el problema BOUFLP, por lo cual en la sección de experimentos computacionales se han realizado comparaciones para verificar que este algoritmo cultural brinda buenos resultados para este problema en un tiempo relativamente bajo. Ciertamente, el algoritmo ha sido desarrollado pensando en un problema biobjetivo, pero en el transcurso de la investigación se vio en la obligación de realizar optimizaciones monoobjetivos para obtener una métrica para las soluciones al problema biobjetivo. Es por esto que se realizaron experimentos para comprobar que este algoritmo cultural también se desenvuelve de buena manera solucionando problemas monoobjetivos. Para esto se tomo el problema de localización de instalaciones sin restricciones de capacidad (UFLP), donde el modelo está formado por la función objetivo (5.1) y que se encuentra sujeta a las restricciones ((5.3)-(5.6)). Se realizaron pruebas computacionales donde se resolvieron 122 instancias, donde en el 100% de ellas, el algoritmo cultural ha encontrado el óptimo publicado, lo cual permite inferir que el algoritmo cultural tendrá un buen comportamiento frente a problemas monoobjetivos. Instancias utilizadas Las instancias resueltas en los experimentos computacionales para el problema UFLP, se han obtenido de la librería UFLP del Instituto de Informática Max Plank [Instancias 1977]. Estas instancias fueron propuestas en 1977 en [Bilde 1977]. La estructura de los problemas se basa en la observación de que los costos de apertura, menores o mayores, sea rentable por abrir más o menos instalaciones. Para la mayoría de los problemas de los costos de instalación se fija un valor para todas las instalaciones, mientras que los costos de conexión son elegidos de forma aleatoria de un cierto intervalo.

Existen 22 tipos de problemas, los cuales se describen en la tabla 9.1:

Tipo de Problema Tamaño Costo de Instalación Costo de conexión B 30/80 Discreto Uniforme (1000, 10000) Discreto Uniforme (0, 1000)C 50/100 Discreto Uniforme (1000, 2000) Discreto Uniforme (0, 1000)

Dq* 30/80 Igual, q*1000 Discreto Uniforme (0, 1000)Eq* 50/100 Igual, q*1000 Discreto Uniforme (0, 1000)

(*) q = 1,...,10 Tabla 0.1 Clasificación instancias UFLP

59

Resultados

Instancia Tiempo(sg) Valor costo Instancia Tiempo(sg) Valor costo Instancia Tiempo(sg) Valor costo

B1.1 64 23468 C1.1 61 16781 D1.1 15 14190

B1.2 62 22119 C1.2 70 15842 D1.2 29 14293

B1.3 55 23549 C1.3 68 17668 D1.3 14 14252

B1.4 55 20747 C1.4 41 16799 D1.4 16 13209

B1.5 58 23976 C1.5 63 17504 D1.5 15 12166

B1.6 52 21014 C1.6 76 17911 D1.6 15 13893

B1.7 51 22103 C1.7 69 17406 D1.7 14 13844

B1.8 61 20338 C1.8 66 17677 D1.8 15 13350

B1.9 49 25038 C1.9 71 17728 D1.9 15 14055

B1.10 53 21864 C1.10 40 17994 D1.10 158 14634

D2.1 17 18312 D3.1 13 23729 D4.1 16 27412

D2.2 16 19208 D3.2 35 23915 D4.2 15 26652

D2.3 38 19590 D3.3 15 23416 D4.3 13 27091

D2.4 18 18901 D3.4 16 22636 D4.4 14 28150

D2.5 15 19443 D3.5 13 23571 D4.5 17 26014

D2.6 37 19891 D3.6 13 22773 D4.6 13 26576

D2.7 16 19253 D3.7 17 23019 D4.7 13 25724

D2.8 128 19331 D3.8 14 23385 D4.8 13 27658

D2.9 15 18151 D3.9 72 24304 D4.9 14 26151

D2.10 18 18759 D3.10 14 22341 D4.10 13 25261

D5.1 14 30338 D6.1 13 31823 D7.1 12 34183

D5.2 13 30428 D6.2 12 33520 D7.2 13 35534

D5.3 13 30082 D6.3 13 32119 D7.3 12 34937

D5.4 15 29505 D6.4 13 32896 D7.4 13 36580

D5.5 13 30518 D6.5 13 32999 D7.5 13 32942

D5.6 12 27784 D6.6 12 33084 D7.6 12 36235

D5.7 13 30674 D6.7 14 32222 D7.7 12 35007

D5.8 13 29708 D6.8 34 33449 D7.8 13 33132

D5.9 13 30147 D6.9 13 32876 D7.9 13 34966

D5.10 16 29233 D6.10 15 34466 D7.10 15 34227

D8.1 16 36710 D9.1 13 40917 D10.1 13 40980

D8.2 13 37050 D9.2 13 38258 D10.2 12 40995

D8.3 34 37384 D9.3 12 39293 D10.3 13 37698

60

D8.4 13 36968 D9.4 27 39939 D10.4 33 40783

D8.5 13 38294 D9.5 14 39360 D10.5 12 39898

D8.6 26 37606 D9.6 13 39457 D10.6 13 40908

D8.7 14 37361 D9.7 14 38540 D10.7 12 41372

D8.8 14 36208 D9.8 12 40725 D10.8 13 41595

D8.9 14 37446 D9.9 13 38191 D10.9 37 42781

D8.10 13 37043 D9.10 14 39310 D10.10 12 40809

E1,1 280 15042 E2.1 24 21410 E3.1 23 25486

E1.2 24 14459 E2.2 29 20740 E3,2 84 25947

E1.3 25 15159 E2,3 61 20696 E3.3 24 25739

E1,4 77 14074 E2.4 25 21544 E3,4 76 26286

E1,5 155 14457 E2,5 155 20796 E3.5 23 25984

E1.6 27 14426 E2,6 70 21310 E3.6 25 25337

E1.7 26 14242 E2.7 23 20975 E3.7 23 26055

E1.8 23 14181 E2.8 27 21480 E3.8 24 25490

E1.9 24 14537 E2.10 24 21667 E3,9 77 25558

E1,10 81 14630 E2,9 186 21287 E3.10 23 25390

E4.1 22 30417 E5.1 23 32377 E6.1 22 36033

E4.2 22 28047 E5.2 23 32208 E6.2 23 36441

E4.3 22 28650 E5.3 23 33874 E6.3 31 36554

E4.4 22 29372 E5.4 27 32571 E6.4 23 36868

E4,5 165 29850 E5,5 76 33625 E6.5 25 35591

E4.6 23 29941 E5.6 23 33194 E6,6 66 36404

E4.7 22 30329 E5.7 28 31629 E6.7 23 37872

E4.8 24 29952 E5.8 23 33251 E6.8 22 35751

E4.9 27 29542 E5.9 23 33796 E6.9 27 36235

E4.10 25 28481 E5.10 30 34086 E6.10 24 37144

E7.1 22 39901 E8.1 23 41421 E9.1 23 45048

E7.2 21 39737 E8.2 22 42640 E9.2 22 45152

E7.3 23 38669 E8.3 22 41027 E9.3 22 44688

E7.4 24 39919 E8,4 69 41841 E9.4 24 43775

E7.5 32 40706 E8.5 22 42487 E9.5 22 44333

E7.6 22 39121 E8.6 23 41994 E9.6 23 42443

E7.7 22 38845 E8.7 25 42574 E9,7 80 44245

E7.8 23 38636 E8.8 24 41415 E9.8 25 45684

E7.9 22 39092 E8.9 21 43772 E9.9 22 44634

61

E7.10 26 40013 E8.10 22 41308 E9.10 23 44162

E10.1 23 46832

E10.2 22 47612

E10.3 22 45658

E10.4 22 45852

E10.5 22 47652

E10.6 23 45955

E10.7 22 46391

E10.8 23 46678

E10.9 22 47415

E10.10 28 47449

Tabla 0.2 Resultados optimización UFLP Monoobjetivo

62

Anexo II: Resultados Comparativos (Algoritmo Cultural, NSGA-II, PAES). Algoritmo Cultural NSGA-II Diferencia PAES Diferencia

Instancia Tiempo S' (1) |PF*| Tiempo S' (2) |PF*| Tiempo S' (3) |PF*|

A10-25C1 252 0,7057 13 1344 0,7057 13 0,0000 372 0,7057 13 0,0000

A10-25C2 197 0,6136 11 1511 0,6136 11 0,0000 394 0,6136 11 0,0000

A10-25C3 186 0,6993 9 1859 0,6993 9 0,0000 326 0,6993 9 0,0000

A10-25C4 115 0,5729 5 3186 0,5729 5 0,0000 305 0,5729 5 0,0000

A10-25C5 152 0,6351 8 1748 0,6351 8 0,0000 378 0,6351 8 0,0000

A10-25C6 183 0,5982 9 1650 0,5982 9 0,0000 384 0,5982 9 0,0000

A30-75C1 464 0,8071 18 1633 0,8071 18 0,0000 499 0,7795 16 0,0354

A30-75C2 1247 0,8013 47 1345 0,8012 43 0,0001 622 0,7915 41 0,0124

A30-75C3 1177 0,7552 50 1394 0,7538 43 0,0019 603 0,7384 29 0,0228

A30-75C4 450 0,7471 21 1874 0,7508 20 -0,0049 525 0,7342 20 0,0176

A30-75C5 940 0,7790 46 1413 0,7783 40 0,0009 595 0,7572 33 0,0288

A30-75C6 740 0,7245 37 1474 0,6676 36 0,0852 511 0,5300 12 0,3670

A50-150C1 1473 0,7878 52 2385 0,7913 43 -0,0044 1386 0,7391 25 0,0659

A50-150C2 1043 0,7611 37 2522 0,7597 39 0,0018 1231 0,6729 23 0,1311

A50-150C3 1165 0,7883 53 2298 0,7665 34 0,0284 1269 0,6900 26 0,1425

A50-150C4 735 0,6345 17 2575 0,6344 17 0,0002 1233 0,6106 15 0,0391

A50-150C5 1459 0,8039 53 2446 0,8072 40 -0,0041 1251 0,7590 23 0,0592

A50-150C6 1434 0,7903 43 2259 0,7862 38 0,0052 1218 0,6461 27 0,2232

B10-25C1 135 0,7795 7 1439 0,7795 7 0,0000 397 0,7795 7 0,0000

B10-25C2 130 0,5856 5 1430 0,5856 5 0,0000 405 0,5856 5 0,0000

B10-25C3 238 0,7410 14 1288 0,7410 13 0,0000 433 0,7410 13 0,0000

B10-25C4 260 0,7261 14 1747 0,7261 14 0,0000 440 0,7261 14 0,0000

B10-25C5 115 0,8117 6 1766 0,8117 6 0,0000 363 0,8117 6 0,0000

B10-25C6 285 0,6517 18 1261 0,6517 17 0,0000 394 0,6517 17 0,0000

B30-75C1 683 0,7650 38 1566 0,7609 30 0,0054 562 0,7134 27 0,0723

B30-75C2 944 0,7323 59 1525 0,7285 49 0,0052 563 0,6899 34 0,0615

B30-75C3 1351 0,6335 72 1345 0,6330 51 0,0008 578 0,5991 53 0,0574

B30-75C4 618 0,5214 32 2562 0,5333 23 -0,0223 502 0,5211 21 0,0006

B30-75C5 905 0,7473 45 1433 0,7631 31 -0,0207 564 0,7360 26 0,0154

B30-75C6 800 0,8775 42 1460 0,8088 47 0,0849 585 0,7602 32 0,1543

B50-150C1 802 0,8345 23 2698 0,8447 23 -0,0121 1280 0,6925 10 0,2051

B50-150C2 1221 0,7634 53 2289 0,7515 41 0,0158 1241 0,4970 13 0,5360

B50-150C3 1410 0,7915 58 2284 0,7988 52 -0,0091 1279 0,6836 26 0,1578

B50-150C4 567 0,7498 10 2603 0,7500 10 -0,0003 1192 0,7253 14 0,0338

B50-150C5 939 0,6393 37 2301 0,6387 35 0,0009 1212 0,5021 16 0,2733

B50-150C6 1904 0,8016 67 3178 0,8029 43 -0,0016 1260 0,7152 32 0,1208

Tabla 0.3 Resultados Comparativos entre los tres algoritmos

)2()2()1(

)3()3()1(