Algoritmos Genéticos Y



Documentos relacionados
3. Métodos clásicos de optimización lineal

Algoritmos Genéticos Y

Algoritmos genéticos. Inteligencia Computacional TC3023

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 3

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

COMPARACIÓN DE SUPERFICIES DE RESPUESTA CON BÚSQUEDA TABÚ Y ALGORITMOS GENÉTICOS

PROBLEMA DEL TRANSPORTE VRP (VEHICLE ROUTING PROBLEM)

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI RUACS ESTELI

Algoritmos Genéticos Y

PROGRAMACIÓN LINEAL ENTERA

Curvas en paramétricas y polares

Unidad 1: Números reales.

4. Métodos de Solución PPL : Solución Algebraica: METODO SIMPLEX Primera Parte

DEMOGRAFÍA EMPRESARIAL DE LA COMUNIDAD DE MADRID

Polinomios. 1.- Funciones cuadráticas

Optimización lineal con R José R. Berrendero

4. " $#%&' (#) para todo $#* (desigualdad triangular).

UNIDAD 1: NÚMEROS NATURALES

MATEMÁTICAS 2º ESO. TEMA 1

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Pasos en el Método Simplex

PROGRAMACION ENTERA. M. en C. Héctor Martínez Rubin Celis 1

Conceptos básicos de bases de datos

Tema 2. Sistemas de ecuaciones lineales

D.2 ANÁLISIS ESTADÍSTICO DE LAS TEMPERATURAS DE VERANO

SISTEMAS OPERATIVOS SISTEMA DE ARCHIVOS

Algoritmos: Algoritmos voraces

Problema de la mochila

optimización: programación lineal y entera

ALGORITMO DE OPTIMIZACIÓN BASADO EN EL APAREAMIENTO DE LAS ABEJAS(HBMO). UN NUEVO ENFOQUE HEURÍSTICO DE OPTIMIZACIÓN.

Búsqueda Heurística I

NORMA INFORMACIÓN Y DOCUMENTACIÓN. FORMATOS PARA EL INTERCAMBIO DE LA INFORMACIÓN. International Standard ISO Campo de aplicación

EL MÉTODO SIMPLEX ALGEBRAICO: MINIMIZACION. M. En C. Eduardo Bustos Farías

Microcurrículo del ÁREA DE: MATEMÁTICAS. Unidad y temas. Logro e Indicadores Indicadores De Logro

4. Método Simplex de Programación Lineal

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

TEMA 2: TEORÍA DE CONJUNTOS Y CONJUNTOS NUMÉRICOS.

Optimización en Ingeniería

Sistemas de Ecuaciones Lineales

Distribuciones muestrales. Distribución muestral de Medias

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Programación Lineal. Unidad 1 Parte 2

INSTITUTO TECNOLÓGICO DE APIZACO TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO

U.E. Colegio Los Arcos Matemáticas Guía #26B Sexto grado Máximo común divisor. Problemas.

USO DE LA CALCULADORA EN LA ENSEÑANZA DE LAS MATEMÁTICAS EN LA ESCUELA SECUNDARIA

UNIDAD DE APRENDIZAJE II UNIDAD DE APRENDIZAJE 2 ( 12 HORAS)

ALGORITMOS EVOLUTIVOS

3.1 Representación gráfica de curvas bidimensionales.

GRÁFICOS GRÁFICOS EN SPSS. Bakieva, M., González Such, J., Jornet, J., Terol, L.

Herramientas digitales de auto-aprendizaje para Matemáticas

Definición de problemas de programación lineal. Método gráfico. Método del SIMPLEX. Método de las dos fases. Análisis de sensibilidad y problema dual

P. A. U. LAS PALMAS 2005

Sistemas Operativos. Clase 2: Administración de procesos.

6. Optimización de funciones de una variable.

INFORME TÉCNICO. Por qué Sony para obtener calidad de imagen?

Ejercicios 3A. 2. Implemente un programa que, dados los tres vértices de un triángulo, calcule el área del mismo. Puede aplicar la siguiente fórmula:

Atributos Los atributos son las columnas de un relación y describen características particulares de ella.

Inteligencia Artificial Resolver problemas mediante búsqueda

Tema II: Programación Lineal

TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }

PASO 1: Poner el problema en forma estandar.

315 M/R Versión 1 Integral 1/ /1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

DESCOMPOSICIÓN FACTORIAL

Unidad 1 Números. Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto.

Teoría de Colas. Investigación Operativa II. Javier Alarcón Rafael Cáceres Jenny Martínez Pamela Quijada Grupo N 9

UNIDAD I. ALGORITMOS

Expresiones algebraicas

FACULTAD DE MINAS. 20. ACARREOS.

NIVEL 14: ESTRUCTURAS DE ACCESO DIRECTO

Etapas para la solución de un problema por medio del computador

Funciones de varias variables.

Opción A. Alumno. Fecha: 23 Noviembre 2012

Problemas de Recursividad

Algoritmos genéticos

Los números naturales

TEMA 10 LA DISTRIBUCIÓN EN PLANTA

METODOLOGÍA DE DISEÑO DE SISTEMAS

CONCEPTOS BÁSICOS DE ESTADÍSTICA

LA MAXIMIZACION DE BENEFICIOS CON UN INSUMO VARIABLE

Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados.

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal

Resolución. Resolución gráfica de problemas de optimización

Preparación de la carga para su movilización.

Métodos basados en instancias. K-vecinos, variantes

METODO SIMPLEX NOTAS DE CLASE: INVESTIGACIÓN DE OPERACIONES I UNIVERSIDAD CENTRAL PROFESOR CARLOS DÍAZ. Max Z= 12X X 2

2.1. Objetivo de la Planeación Agregada

Lección 49. Funciones I. Definición

Módulo Programación lineal. 3 Medio Diferenciado

PROBABILIDAD Y ESTADÍSTICA. Sesión 5 (En esta sesión abracamos hasta tema 5.8)

TEORIA DE NUMEROS (I) REGLAS DE DIVISIBILIDAD

Análisis de Capabilidad (Porcentaje Defectuoso)

UNIDAD 5. FRACCIONES Y OPERACIONES

Ejercicio 1: Realiza las siguientes divisiones por el método tradicional y por Ruffini: a)

Tema 4 Probabilidad condicionada: teoremas básicos. Independencia de sucesos

PREGUNTAS MÁS FRECUENTES Arrancadores suaves

Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Junio Propuesta B

Transcripción:

Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar

Niching Genetic Algorithms En un Algoritmo Genético común, el objetivo es encontrar el óptimo global del problema. De haber más de un punto del espacio de búsqueda que realice ese valor, algunas arquitecturas pueden encontrar algunos, pero no están diseñadas para encontrarlos todos. Del mismo modo, de existir óptimos locales (máximos o mínimos locales, según el problema), serán eventualmente descartados en función del óptimo global, que ganará en la comparación. Existen sin embargo arquitecturas de AG diseñadas para encontrar y conservar todos los posibles Nichos Ecológicos posibles, o sea, todos los posibles puntos o zonas del espacio de búsqueda, que correspondan a óptimos locales o al óptimo global. Así, el Algoritmo deberá encontrar y conservar todos los puntos que realicen el óptimo global, y los eventuales óptimos locales.

Niching GA GA Común Sólo Máximo Global Niching GA Máximo Global + Máximos Locales

Niching GA Restricción de Deriva Genética Existen muchas arquitecturas distintas de este tipo. Una clase de Algoritmos Genéticos Niching tienen como idea principal restringir la competencia, de modo de demorar el proceso de deriva genética (Genetic Drift). Este es el proceso por el cual el óptimo global gana sobre los óptimos locales, de modo que éstos desaparecen de la población. De este tipo son los algoritmos que utilizan Tournament Selection, o los algoritmos de división en subpoblaciones mientras la migración sea restringida. Esto tiene el defecto de que sólo se consigue Demorar el proceso; o sea, si se deja evolucionar el sistema lo suficiente, eventualmente el óptimo global terminará copando la población. La Cantidad de Generaciones es crítica, ya que dejando evolucionar lo suficiente, el sistema eventualmente convergerá y sólo se obtendrán variantes menores del óptimo global. Más aún, no hay garantías de que un óptimo local encontrado durante el proceso sea conservado, sólo más probabilidades de que no todos sean eliminados

Niching GA - Entornos Existe un segundo tipo de Algoritmos Genéticos Niching, diseñados de modo que cualquier óptimo local encontrado durante la búsqueda tenga buenas probabilidades de sobrevivir, sin importar la Cantidad de Generaciones considerada. La idea principal es definir de alguna manera un Entorno del óptimo (máximo). Si un punto con un valor más alto es encontrado dentro del entorno, estamos trepando una ladera y no en una cima, por lo tanto el punto presente se descarta y se toma el nuevo. De lo contrario, si otro punto con valor más alto es encontrado pero Fuera del entorno, entonces se considera que estamos en una cima (claramente no la mas alta de la función), y ambos puntos se conservan. Los diferentes Algoritmos Geneticos Niching de esta clase, se basan entonces en la forma en que definen y manejan este entorno (implícita o explícita, estática o dinámica, Homogénea en toda la población o no)

Niching GA - Entornos Explícito Es necesario definir un valor para el radio y forma del entorno Implicito No hay necesidad de definir explícitamente el valor del radio ni la forma del entorno en ningún punto del proceso, ni siquiera dentro del algoritmo Estático El valor del radio no cambia dentro de la corrida del Algoritmo Dinámico El valor del radio cambia dentro de la corrida del Algoritmo, según un patrón prefijado Adaptativo El valor del radio cambia dentro de la corrida del Algoritmo, de una forma que varía de una función a otra y una corrida a otra Homogéneo El radio se supone igual en todo el dominio (Bounds) No Homogéneo El radio puede variar en distintas zonas del dominio

Niching GA Restricted Tournament Selection: Steady State GA, sólo 2 individuos se eligen por vez, al azar de la población. Estos individuos sufren Crossover, Mutación, y Competencia, generándose un único candidato a reinserción. Se eligen entonces k elementos al azar de la población. De estos se extrae el más similar al candidato, y se los compara. Si el candidato tiene mejor Fitness, ingresa en ese lugar, de lo contrario es descartado. Worst Among Most Similar and Enhanced Crowding: Existen variantes SS y generacionales de estos 2 algoritmos. En ambos, la idea es al encontrar un buen individuo, reinsertarlo en la población eliminando un individuo similar (y por lo tanto cercano en el espacio de soluciones), pero con menor fitness. En Enhanced Crowding, se eligen los k individuos con peor fitness de la población, se elige el más similar entre estos al candidato, y se comparan los valores de Fitness. Sobrevive e ingresa en la población el que tenga mejor fitness. La idea en ambos casos es sólo descartar un individuo de la población si se encuentra otro cercano con mejor fitness (o sea, subiendo la misma ladera)

Niching GA Deterministic Crowding Mahfoud, 1995 (Tesis) La forma del entorno del óptimo está determinada por una Distancia en el espacio de soluciones. El radio del entorno es implícito (una de las más importantes ventajas del algoritmo), no es necesario definirlo en ningún paso del proceso, ni es supuesto homogéneo (puede variar en las distintas zonas del dominio). Es un método de tipo Overlapping, o sea, los padres compiten con los hijos por la supervivencia Requiere mucha mayor cantidad de procesamiento que un AG común, dado que TODA la población debe ser emparejada y cruzada de una generación a otra (no hay selección dado que toda la población es cruzada, ni mutación, dado el riesgo de que la mutación tome una buena solución y la arruine)

Niching GA Deterministic Crowding Población Inicial Evaluación Inicial InitPop Shuffle and Pairing Crossover Sin Selección Toda la población Es Cruzada en pares Sin Mutación Deterministic Crowding NewPop Termina?

Niching GA Deterministic Crowding? ), ( ), ( ), ( ), ( 1 2 2 1 2 2 1 1 C P d C P d C P d C P d + + 2 2 1 1 con y con Comparamos C P C P 1 2 2 1 con y con Comparamos C P C P

Niching GA Deterministic Crowding P, C 1 P2, C1, 2 Si d ( P1, C1 ) + d( P2, C2 ) d( P1, C2 ) + d( P2, C1 )? No Si f ( C1 ) > f ( P1 )? No Si f ( C2 ) > f ( P1 )? No D 1 = C 1 D 1 = P 1 D 1 = C 2 D 1 = P 1 Si f ( C2 ) > f ( P2 )? No Si f ( C1 ) > f ( P2 )? No D 2 = C 2 D 2 = P 2 D 2 = C 1 D 2 = P 2

Niching GA Deterministic Crowding La mayoría de los Algoritmos Genéticos Niching requieren mayor cantidad de procesamiento y fine tuning de Parámetros, o sea, ajuste fino de uno o más parámetros (cosa que no ocurre en los AG comunes). En el caso de Deterministic Crowding, el parámetro a ajustar es los Operadores de Crossover a utilizar, y la proporción en que se aplicará cada uno (y es problem dependent, el ajuste cambia de un problema a otro). Esto se debe a que existen algunos operadores como Cube Crossover, con una gran tendencia a explorar, pero que resulta disruptiva y no permite mejorar las buenas soluciones ya encontradas (se conservan pocos óptimos locales). Y viceversa, existen operadores como Uniform Crossover, con poca tendencia a explorar y que no son buenos encontrando óptimos, pero sí refinan una buena solución encontrada para llevarla al óptimo local más cercano, y conservan las buenas soluciones en la población. En general la proporción de aplicación es del orden de 80 a 90 % operadores de Preservación, 10 a 20 % operadores de Exploración

Niching GA Deterministic Crowding Las distancias más comúnmente empleadas son las usuales, distancia euclídea al cuadrado para problemas reales, distancia de Hamming para problemas discretos, y modificaciones para adaptarlas al problema, en el caso de que no exista una más indicada. Ventajas: Está diseñado para encontrar y conservar todos los óptimos locales de la función, así como todos los puntos que realicen el óptimo global No importa la cantidad de generaciones que se lo deje evolucionar (no es un parámetro crítico No hay necesidad de definir explícitamente el entorno del óptimo (radio y entorno implícitos) Sí es necesario definir una función distancia en el espacio de soluciones, pero esto es necesario en casi todos los algoritmos de este tipo Desventajas Mayor Procesamiento Necesidad de ajuste de 1 parámetro de un problema a otro

Ejemplo - De Jong Function F5 Deterministic Crowding = 32 16 0 16 32 32 16 0 16 32 32 16 0 16 32 32 16 0 16 32 32 16 0 16 32 32 32 32 32 32 16 16 16 16 16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32 A = + + + + = 5 1, 6, 6, 5 ] ) ( [ ] ) ( [ 1 j i j i j i A y j A x i F ε

Ejemplo - De Jong Function F5 Deterministic Crowding Algoritmo: Deterministic Crowding Tipo: Generacional Distancia: Euclídea modificada (se anula si los vectores son demasiado similares; esto evita que el algoritmo ponga demasiadas soluciones similares sobre un mismo punto) 2 v w = sum( v w).^2 si v w > ε dist( v, w) = 0 sino Operadores de Crossover: Cube Crossover (95 %) (Factor de Exploración 1.25) Uniform Crossover with shuffle (5 %) Selección y Mutación: No utilizados en esta arquitectura Tamaño de la Población Inicial: 80 Individuos Cantidad de Generaciones: 50 a 70

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Ejemplo - De Jong Function F5 Deterministic Crowding

Grouping Genetic Algorithm Los Algoritmos Genéticos en general, no funcionan bien en problemas del tipo de Particiones, donde el problema consiste en dividir el espacio en partes de forma de cubrirlo todo, sin repetición, optimizando una ó más cantidades. Algunos de los más conocidos problemas de este tipo, son: Bin Packing Problem: Se tiene una colección de objetos de volúmenes diversos, que deben ser colocados en cajas de tamaño fijo (Bins), de manera de minimizar el número total de cajas utilizado. La restricción obvia es que no se debe exceder el volumen máximo de la caja Graph Coloring Problem: Se debe pintar los nodos de un grafo dado, de modo que nodos conectados por una arista del grafo, no tengan el mismo color El Teorema de los 4 colores dice que cualquier grafo (planar) puede ser coloreado con 4 colores, de esta forma. Sin embargo, la forma de colorear un grafo en particular es NP-Hard TSP with several Salesmen: El problema es el TSP cuando se tiene más de un viajante: se deben encontrar n Tours, uno para cada vendedor, de manera que entre los n viajantes cubran todo el circuito sin repetir ciudades (salvo la primera), minimizando la distancia total recorrida por cada uno

Grouping Genetic Algorithm Falkenauer, 1996 Se diseñó una arquitectura de AG específica para problemas de Particiones. Codificación, Función de Evaluación, y métodos de Crossover y Mutación. Los métodos deben ser ajustados en cada problema, y ajustados para las eventuales restricciones y costos, pero el método proporciona una muy buena arquitectura básica que da buenos resultados en muchos casos. Existen 2 codificaciones básicas. Una es Permutaciones, ya que, al ser un problema de Particiones, todo el conjunto a partir debe estar en alguna de las clases, y por definición son problemas discretos (aún cuando las restricciones suelen ser reales, como en el caso del Bin Packing Problem Volúmenes). Se le agrega al final una coordenada por clase a llenar (en la arquitectura más común, se debe prefijar el número máximo de clases, cajas a llenar, o colores a utilizar), que indica cuántos individuos hay en cada clase. La restricción a cumplir es que la suma de estas últimas coordenadas debe ser igual al número total de objetos a distribuir (tamaño de la partición) La otra es la codificación por Subconjuntos

Grouping Genetic Algorithm - Codificaciones 2 9 7 1 5 3 10 6 4 8 4 3 3 4 3 3 Clase 1:Objetos 2, 9, 7, 1 Clase 2:Objetos 5, 3, 10 Clase 3:Objetos 6, 4, 8 Clase 1: 4 primeros elementos Clase 2: 3 elementos siguientes Clase 3: 3 elementos finales Restricción a cumplir 4 + 3+ 3 = 10 N i= 1 #( g i ) = #(Permutación)

Grouping Genetic Algorithm - Codificaciones Ejemplo Multiple TSP (con varios vendedores) 4 + 3+ 3 = 10 2 9 7 1 5 3 10 6 4 8 4 3 3 El Orden en que aparecen las ciudades dentro de cada Tour es una parte importante del problema 6 4 8 Centro 5 2 10 3 1 9 7

Grouping Genetic Algorithm - Codificaciones Ejemplo Bin Packing Problem Codificación por Permutaciones 4 + 3+ 3 = 10 2 9 7 1 5 3 10 6 4 8 4 3 3 9 2 1 7 5 3 10 4 6 8 Todos los objetos a embalar tienen que estar en alguna de las cajas (asegurado por la codificación), sin exceder el volumen de la caja contenedora. El Orden en que aparecen las variables dentro de cada grupo es Irrelevante Existe gran cantidad de soluciones Equivalentes (Redundancia)

Grouping Genetic Algorithm - Codificaciones Ejemplo Bin Packing Problem Codificación por Subconjuntos 1 2 3 4 5 6 7 8 9 10 1 1 2 3 2 3 1 3 1 2 Sin restricciones 1 2 3 9 2 1 7 5 3 10 4 6 8 El Orden en que aparecen las variables dentro de cada grupo es Irrelevante, la división es en Subconjuntos (la variable indica a que grupo pertenece el elemento, de forma de asegurar que todos están asignados) Redundancia 0

Grouping Genetic Algorithm - Crossover 1 - Crossover por Permutaciones 1 - Codificación por Permutaciones: La codificación por permutaciones presenta gran redundancia (muchas soluciones que producen la misma partición), lo que dificulta la búsqueda. Por lo tanto sólo debe ser usada en casos como el MTSP, donde el orden de los elementos dentro del grupo es importante. En ese caso, cualquiera de los operadores utilizados para permutaciones y TSP como Order Based Crossover, Cyclic Crossover, o Partial Map Crossover, puede ser usado sin problemas (aplicándolo solo a la parte Permutación). También puede ir combinado con otro que opere sobre la segunda parte del vector, teniendo en cuenta que en esta parte el orden no es necesariamente importante, y que si bien la longitud máxima es en general fija, la cantidad de grupos efectivamente utilizados (cajas usadas, cantidad de vendedores), puede ser variable. Por lo tanto, la solución puede ser de Longitud Variable

Grouping Genetic Algorithm - Crossover 1 - Crossover por Permutaciones P 1 = 2 9 7 1 5 3 10 6 4 8 4 3 3 P 2 = 4 10 2 6 5 3 9 7 1 8 2 4 4 C 1 = 2 9 7 10 5 3 1 6 4 8 4 3 4 Partial Map Crossover Single Point Crossover 4 + 3+ 4 = 11 10 Restricción No Satisfecha

Grouping Genetic Algorithm - Crossover 1 - Crossover por Permutaciones Esta forma de Crossover tiene la desventaja de que no tiene en cuenta los grupos que constituyen los padres. Por lo tanto, en general No Preserva una parte muy importante de la información genética de los padres. Así, aunque este operador funciona y busca adecuadamente soluciones para el TSP, en muchas ocasiones genera hijos de menor calidad de los padres. Por otro lado, el problema de la restricción no cumplida siempre existe. Uno de los problemas del Grouping Genetic Algorithm es que en la mayoría de los operadores de Crossover, se producen Incompatibilidades que deben ser reparadas. Y la redistribución de los elementos debe ser hecha teniendo en cuenta las características del problema en particular. Por lo tanto, Para aplicar Grouping GA es necesario diseñar una Heurística de Reparación de solucíones Incompatibles, asociada al operador de Crossover, que es altamente problem-specific

Grouping Genetic Algorithm - Crossover 2 - Crossover por subconjuntos 1 2 3 4 5 6 7 8 9 10 1 1 2 3 2 1 3 2 1 3 1 2 3 1 4 1 3 2 4 2 1 3 2 1 2 3 4 1 2 3 4 5 6 7 8 9 10 1 1 2 3 2 1 3 2 1 3 1 2b 3b 2 3 3b 2b 2b 3b 2b

Grouping Genetic Algorithm - Crossover 2 - Crossover por subconjuntos 1 2 3 4 5 6 7 8 9 10 1 1 2 3 2 1 3 2 1 3 1 2b 3b 2 3 3b 2b 2b 3b 2b Están en 2 grupos 1 2 3 4 5 6 7 8 9 10 1 1 2 1 2 1 2b 3b 2 3 3b 2b 2b 3b 2b Tengo ahora 5 grupos, y elementos Repetidos. A éstos se los elimina del grupo en el que estaban en el PRIMER padre. Así, el grupo 3 desaparece, y los grupos 1 y 2 del padre 1 quedan ahora con 2 elementos

Grouping Genetic Algorithm - Crossover 2 - Crossover por subconjuntos 1 2 3 4 5 6 7 8 9 10 1 1 2 1 2 1 2b 3b 2 3 3b 2b 2b 3b 2b 1 2 3 4 5 6 7 8 9 10 1 1 4 3 2 1 2 4 3 2 1 2 3 4 1 1 2 3b 2b 1 2b 2 3b 2b Pueden aparecer cajas vacías (como la 3), cajas excesivamente llenas, etc. Nuevamente es necesaria una Heurística de Reparación

Grouping Genetic Algorithm - Crossover 2 - Crossover por subconjuntos 1 1 2 3 2 1 3 2 1 3 1 2 3 1 4 1 3 2 4 2 1 3 2 1 2 3 4 C 1 = 1 1 4 3 2 1 2 4 3 2 1 2 3 4 Observemos que el grupo 1 corresponde al grupo 1 del padre 1, sólo perdió 1 elemento, y los grupos 2 y 3 corresponden a los grupos 2 y 3 del padre 2, exactos en posición y elementos Se preservó parte de la información genética de los padres, relativa a la conformación de los grupos dentro de la partición

Grouping Genetic Algorithm - Mutación Se ha observado que, de manera similar a Niching GA, los operadores de Mutación tienen tendencia a arruinar buenas soluciones. Por lo tanto, existen muchas arquitecturas de Grouping GA sin mutación. Sin embargo, existen problemas que pueden ser solucionados por un adecuado operador de Mutación. Uno de los más comunes es clases con muy pocos elementos, lo cual en general en los problemas de partición no es deseable (cajas casi vacías, tours demasiado cortos). Por lo tanto, uno de los operadores de mutación más usados consiste en tomar la clase más vacía y redistribuir sus elementos entre las otras clases, de ser posible, según alguna heurística que dependerá del problema. En el caso de MTSP con permutaciones, cualquier operador de TSP tales como Inversión, Shift Mutation, o Swap, adaptados a modificar recorridos dentro de cada Tour, pueden resultar una herramienta altamente efectiva, ayudando a acortar la longitud recorrida dentro de cada tour.

Grouping Genetic Algorithm Fitness Function Para el Bin Packing Problem, se ha propuesto la siguiente función de Evaluación: F i F( sol) = 1 N N i= 1 F i C donde es el Volumen Total de la caja i ocupada en esta solución, C es el volumen total de las cajas (recordemos que se suponen del mismo tamaño y volumen), y N es el número total de cajas empleado en la solución. F C, F C 1 Ahora como i i. Pero entonces la suma es menor o igual que N, por lo que esta función cumple 0 F 1 para cualquier solución del dominio. El objetivo es Maximizar F (conseguir F=1), que corresponde al caso en que todas las cajas están llenas al máximo de su capacidad. Agregar una caja vacía baja el valor de F en 1/N, y cualquier caja no llena disminuirá el valor de F de manera proporcional. m

Grouping Genetic Algorithm Fitness Function sol = sol 2 = 1 0.9 0.9 0.9 1.0 1.0 0.7 1 1 F( sol1 ) = = 3 3 F( sol ) 1 3 ( 2 2 2 0.9 + 0.9 + 0.9 ) = 3*0.81 0. 81 1 3 ( 2 2 2 1 + 1 + 0.7 ) = (2 + 0.49) 0. 83 2 = = m es un entero positivo (generalmente 1 ó 2), que controla la preferencia de la función por cajas totalmente llenas. O sea, m=1 da el mismo valor para soluciones con cajas a medio llenar que a otra que tiene el mismo volumen total y cajas ocupadas, pero más cajas llenas. Con m=2, la función favorece a las soluciones que tienen más cajas llenas.

Grouping Genetic Algorithm Fitness Function Para el MTSP, se ha propuesto la siguiente función de Evaluación: F ( sol ) = min( max i= 1: N (distancia recorrida por el vendedor i)) = min( max i= 1: N ( T i )) Esta función mide el tour mas largo recorrido por uno de los vendedores en esta solución. Existen otras funciones con comportamientos ligeramente distintos, como minimizar la distancia total recorrida, etc. En el caso de usar esta función, se asegura que el Algoritmo intentará minimizar el tour mas largo, y por ende todos los recorridos. Sin embargo, tendrá problemas cuando existan máximos obligados (una ciudad muy retirada del resto, que obligue a un tour largo). En ese caso el algoritmo no intentará mejorar el resto de los recorridos, mientras que la otra función sí

Grouping Genetic Algorithm Fitness Function 6 4 8 12 11 5 10 3 1 Centro 7 2 9 La función Minimizar el Tour más largo tiene un mínimo obligado extremadamente alto, dado por la ciudad 7, y cualquier cambio en el resto de los recorridos pasará inadvertido. La función Distancia Total Recorrida, en cambio, tiene mínimo obligado, pero su valor depende del resto de los recorridos.

Grouping Genetic Algorithm Fitness Function F ( sol ) N = p1 min(max( T, = 1,..., )) + 2 i i N p T i i= 1 Recordemos que el objetivo es resolver el MTSP, no minimizar una función en particular. Por lo tanto, se pueden diseñar otras funciones que incorporen tengan en cuenta los 2 puntos de vista. De este modo, la función seguirá intentando mejorar el resto de los recorridos, aunque exista uno necesariamente muy largo, e intentará que todos los tours tengan longitudes similares (que no exista uno mucho más largo que los demás) En este caso, se convierte en una optimización multiobjetivo

Grouping Genetic Algorithm Resumen: Es mas una estrategia que un algoritmo determinado No existen paquetes ni recetas cerradas (como sí existen en el caso de Niching GA), que funcionen en todos los casos. Una parte importante del algoritmo debe ser adecuada a cada problema. Funciona mucho mejor que los demás en los problemas de particiones Varios problemas delicados con muchas restricciones, como problemas de Ruteo de Vehiculos, incluyendo ventanas de tiempo (TSPWTW), y problemas de recogida-entrega (PDPWTW, Pickup and Delivery Problem With Time Windows, G. Pankratz, 2005), han sido exitosamente resueltos con esta técnica