tesis - tecnológico nacional de...

84
INSTITUTO TECNOLÓGICO DE LA PAZ DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN MAESTRÍA EN SISTEMAS COMPUTACIONALES UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE PARTÍCULAS PARA EL PROBLEMA DE ASIGNACIÓN AXIAL 3-DIMENSIONAL TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN SISTEMAS COMPUTACIONALES PRESENTA: ING. JOSÉ ALBERTO FRANCO GÓMEZ DIRECTOR DE TESIS: DR. MARCO ANTONIO CASTRO LIERA MIEMBROS DEL JURADO: PRESIDENTE: DR. SAÚL MARTÍNEZ DÍAZ SECRETARIO: M. EN S.C. JAVIER ALBERTO CARMONA TROYO VOCAL: M. EN C. JESÚS ANTONIO CASTRO VOCAL SUPLENTE: M.A.T.I. LUIS ARMANDO CÁRDENAS FLORIDO LA PAZ, BAJA CALIFORNIA SUR, MÉXICO; SEPTIEMBRE DEL 2011.

Upload: others

Post on 28-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

INSTITUTO TECNOLÓGICO DE LA PAZ DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

MAESTRÍA EN SISTEMAS COMPUTACIONALES

UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE PARTÍCULAS PARA EL PROBLEMA DE ASIGNACIÓN AXIAL 3-DIMENSIONAL

T E S I S

QUE PARA OBTENER EL GRADO DE MAESTRO EN SISTEMAS COMPUTACIONALES

PRESENTA: ING. JOSÉ ALBERTO FRANCO GÓMEZ

DIRECTOR DE TESIS: DR. MARCO ANTONIO CASTRO LIERA

MIEMBROS DEL JURADO: PRESIDENTE: DR. SAÚL MARTÍNEZ DÍAZ

SECRETARIO: M. EN S.C. JAVIER ALBERTO CARMONA TROYO VOCAL: M. EN C. JESÚS ANTONIO CASTRO

VOCAL SUPLENTE: M.A.T.I. LUIS ARMANDO CÁRDENAS FLORIDO

LA PAZ, BAJA CALIFORNIA SUR, MÉXICO; SEPTIEMBRE DEL 2011.

Page 2: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una
Page 3: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una
Page 4: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

i

RESUMEN de la tesis de José Alberto Franco Gómez, presentada como requisito

parcial para obtener el Grado de MAESTRO en SISTEMAS COMPUTACIONALES CON

LINEA DE TRABAJO MODELACIÓN INTELIGENTE DE SISTEMAS. La Paz, Baja

California Sur; septiembre del 2011.

Un Algoritmo Basado en Optimización por Enjambre de Partículas para el

Problema de Asignación Axial 3-Dimensional

La optimización por enjambre de partículas (PSO) es un algoritmo inspirado en el

comportamiento social de individuos dentro de enjambres en la naturaleza. Este método

emplea una búsqueda basada en poblaciones; en la cual los individuos, para desplazarse en el

espacio de búsqueda, usan su propia experiencia y el conocimiento de sus vecinos con

distintos grados de confianza. PSO fue originalmente desarrollado para problemas continuos,

pero varias adaptaciones del método a problemas discretos han sido propuestas recientemente.

Con el fin de resolver el problema de asignación axial 3-dimensional (3AP), el cual es un

problema discreto de tipo NP-duro, los operadores clásicos de PSO fueron redefinidos y un

algoritmo en paralelo fue implementado. El algoritmo propuesto se aplicó a un conjunto de

problemas de referencia y los resultados fueron comparados con los existentes de otros

algoritmos que solucionan 3AP. La evaluación muestra que el algoritmo propuesto es

competitivo.

Palabras claves: Adaptación de continuo a discreto, problemas discretos, método

evolutivo, algoritmo paralelo, optimización por enjambre de partículas, problema de

asignación axial 3-dimensional.

Page 5: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

ii

ABSTRACT of the thesis presented by JOSÉ ALBERTO FRANCO GÓMEZ as a partial

requirement to obtain the MASTER degree in COMPUTER SYSTEMS in INTELLIGENT

SYSTEMS MODELING. La Paz, Baja California Sur, México; September 2011.

An Algorithm Based on Particle Swarm Optimization for Three Dimensional Axial

Assignment Problem

Particle Swarm Optimization (PSO) is an algorithm inspired by natural social behavior of

individuals in swarms. This method employs a collaborative population based search, which

features individuals that base their movements across the search space on self experience and

neighborhood information. PSO was originally developed for continuous problems, but

several adaptations of the method to discrete problems have been recently proposed. In order

to solve the three dimensional axial assignment problem (3AP), which is a NP-hard discrete

problem, the classical operators of PSO were redefined and a parallel algorithm was

implemented. The proposed algorithm was applied to a set of benchmark problems and results

were compared with existing from other algorithms for solving 3AP. The evaluation shows

that the proposed algorithm is competitive.

Keywords: Adaptation continues to discrete, discrete problems, evolutionary method,

parallel algorithm, particle swarm optimization, three dimensional axial assignment problem.

Page 6: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

iii

A mis padres

A mis hermanos y sobrinitos

A María de Jesús Martínez González

Page 7: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

iv

Agradecimientos

Agradezco a todas las personas que, directa o indirectamente, contribuyeron para que esta

etapa académica de mi vida llegara a buen término.

Al Dr. Marco Antonio Castro Liera por su enseñanza, guía, paciencia y disposición.

Al Dr. Saúl Martínez Díaz a quien considero como una de las personas más importantes

en mi formación académica.

A todos los profesores que fueron parte de este proceso y de quienes aprendí mucho: a la

Lic. María del Carmen Rodríguez Aguilar, M. en C. Jesús Antonio Castro, M. en S.C. Javier

Alberto Carmona Troyo, M.A.T.I. Luis Armando Cárdenas Florido, M. en C. Bernabé Ortiz y

Hebert y al Dr. Mario Cortés Larrinaga.

Al M. en C. Manuel E. Casillas Brook por su amabilidad y por darme todas las facilidades

en las instalaciones de posgrado para la realización de los experimentos.

Al Dr. Matthew J. Saltzman por facilitarme los problemas de referencia.

Al Ing. Jesús Belizario Ruíz Murillo por la oportunidad de trabajo que me ofreció y que

significó tener los recursos para poder estudiar este posgrado.

Al Ing. Jonathan Dezi Verduzco Cota por el gran apoyo bibliográfico.

A todos mis compañeros de la maestría.

Page 8: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

v

Tabla de Contenido

Sección Página Resumen i Abstract ii Dedicatorias iii Agradecimientos iv Tabla de contenido v Lista de figuras vii Lista de tablas viii I. Introducción 1

1.1 Definición del problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 2 1.2 Justificación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3.1 Objetivo general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.2 Objetivos específicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Organización de la tesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 II. El problema de la asignación axial tres dimensional 6

2.1 La optimización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Problemas de optimización combinatorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Dificultad de un problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Problemas de asignación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.1 Asignación generalizada o bidimensional. . . . . . . . . . . . . . . . . . . . . . . . 10 2.4.2 Problemas multidimensionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

III. Optimización por enjambre de partículas 16 3.1Inteligencia Artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.1 Escalador de colinas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2 Recocido simulado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.3 Búsqueda Tabú. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.4 Algoritmos Genéticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.5 Inteligencia colectiva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Optimización por enjambre de partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 PSO aplicado en problemas discretos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Implementación de PSO para algunos problemas discretos. . . . . . . . . . . . . . . . . . . 26 3.5 Métodos heurísticos implementados para la solución de 3AP. . . . . . . . . . . . . . . . . . 29

IV Implementación, experimentos y resultados 32 4.1 Redefinición de los operadores de PSO al espacio discreto. . . . . . . . . . . . . . . . . . . 33

4.1.1 Espacio de búsqueda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.2 Representación de la solución. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 Función de aptitud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 Relación de orden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Page 9: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

vi

Tabla de Contenido (Continuación)

Sección Página

4.1.5 Distancia entre dos partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.6 Velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.7 Suma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Implementación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1 Números aleatorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.2 Inicialización de las partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2.3 Aptitud de las partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.4 Informantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.5 Método principal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3 Implementación Distribuida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3.1 Proceso maestro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.2 El proceso esclavo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.4 Resultados experimentales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Resultados usando el conjunto de Balaz y Saltzman. . . . . . . . . . . . . . . . 51 4.4.2 Resultados usando el conjunto se Crama y Spieksma. . . . . . . . . . . . . . . 58

V. Conclusiones y trabajo futuro 66 5.1 Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2 Trabajo futuro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Referencias 68 Apéndice A Configuración básica de PVM en Fedora 14 71

Page 10: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

vii

Lista de Figuras

Figura

Página

1 Ejemplo de maximización donde se muestra que los óptimos locales no

garantizan una buena solución. 7

2 Grafo bipartito para la asignación bidimensional. 11

3 Selección de n triángulos. 13

4 Estados del espacio de búsqueda que atrapan al agente escalador de colinas 17

5 Modificación de la posición de la partícula i . 23

6 Componentes del análisis de forma. 32

7 Analogía de un movimiento lineal donde se muestra cómo se pueden dejar

fuera posiciones prometedoras. 38

8 Analogía de un movimiento errante, el cual, tiene más probabilidades de

encontrar mejores posiciones en su trayecto 38

9 Analogía de un movimiento aplicando el operador . 40

Page 11: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

viii

Lista de Tablas

Tabla Página

I Características de los equipos de cómputo utilizados en las pruebas. 50

II Descripción de las pruebas implementadas. 51

III Resultados de la prueba 1. 51

IV Comparación de los resultados de la prueba 1. 52

V Comparación de los resultados de la prueba 1 usando /resultado óptimo 52

VI Resultados de la prueba 2. 53

VII Comparación de los resultados de la prueba 2. 53

VIII Comparación de los resultados de la prueba 2 usando /resultado óptimo . 54

IX Resultados de la prueba 3. 54

X Comparación de los resultados de la prueba3. 55

XI Comparación de los resultados de la prueba 3 usando /resultado óptimo . 55

XII Resultados de la prueba 4. 56

XIII Comparación de los resultados de la prueba 4. 56

XIV Comparación de los resultados de la prueba 4 usando /resultado óptimo . 57

XV Resultados de la prueba 5. 58

XVI Comparación de los resultados de la prueba 5. 58

XVII Comparación de los resultados de la prueba 5 usando /resultado óptimo . 59

XVIII Resultados de la prueba 6. 60

Page 12: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

ix

Lista de Tablas (Continuación)

Tabla Página

XIX Comparación de los resultados de la prueba 6. 60

XX Comparación de los resultados de la prueba 6 usando /resultado óptimo . 61

XXI Resultado de la prueba 7. 62

XXII Comparación de los resultados de la prueba7. 62

XXIII Comparación de los resultados de la prueba 7 usando /resultado óptimo . 63

XIV Resultados de la prueba 8. 64

XXV Comparación de los resultados de la prueba 8. 64

XXVI Comparación de los resultados de la prueba 8 usando /resultado óptimo . 65

Page 13: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

1

Capítulo I

Introducción

Los problemas de optimización tienen gran relevancia práctica en muchas áreas. El

problema acerca del plegamiento de proteínas, la optimización de recursos industriales,

encontrar los parámetros indicados para algún proceso, entre otros, son ejemplos comunes

donde se requiere de un método que garantice un resultado casi inmejorable.

La optimización se presenta en dos clases. La primera es la continua y la segunda es la

combinatoria o discreta. Los problemas combinatorios se caracterizan por tener un número

muy grande de posibles soluciones y, en general, la mayoría de este tipo de problemas

encontrados en la vida real están considerados como muy difíciles de resolver. En principio, es

posible hacer una enumeración de todas las combinaciones que integran al espacio de

búsqueda para encontrar la solución que cumpla con las restricciones del problema. Sin

embargo, el número de posibles combinaciones, aunque finito, es muy grande.

Dada su importancia, la optimización ha sido objeto de estudio desde diferentes tipos de

enfoques. Muchos problemas pueden resolverse con búsquedas exhaustivas o a través de

métodos matemáticos exactos como la programación lineal y el cálculo. Sin embargo, existe

una cantidad considerable de problemas tanto continuos como discretos que presentan

espacios multimodales. Estos por su dificultad son intratables con técnicas tradicionales. Para

este conjunto de problemas se han venido empleando otro tipo de métodos enmarcados dentro

del ámbito de la inteligencia artificial, los cuales, buscan explorar de manera más eficiente el

espacio de búsqueda.

Un ejemplo es la optimización por enjambre de partículas (PSO por sus siglas en inglés).

Esta es una técnica evolutiva basada en poblaciones que fue desarrollada por Kennedy y

Eberhart en 1995. Este método se basa en el paradigma de inteligencia colectiva y trata de

Page 14: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

2

emular el comportamiento de los bancos de peces (o parvadas de pájaros) con el objetivo de

solucionar problemas de optimización continuos y no lineales.

Los elementos en los que se basa este método son las partículas, las cuales, son soluciones

potenciales que tienen una posición y velocidad asociada. Estos elementos “vuelan” a través

de un espacio multidimensional ayudándose de su propia experiencia, del conocimiento del

enjambre y de operadores estocásticos. De esta manera, se espera que las partículas tiendan a

concentrarse en áreas potencialmente buenas.

PSO comparte algunas similitudes con otras técnicas evolutivas como la generación

aleatoria de la población y el uso de una función de evaluación. Pero a diferencia de otros

métodos, el número de parámetros que se deben ajustar es pequeño (Eberhart y Shi, 2001).

Esto hace que la implementación, comparada con otras técnicas evolutivas, sea más sencilla.

1.1 Definición del problema.

La optimización por enjambre de partículas ha sido utilizada con gran éxito para solucionar

problemas de tipo continuo. Algunos ejemplos donde se ha demostrado su efectividad son:

a. Entrenamiento de redes neuronales (Eberhart y Shi, 2001). Prácticamente, el método

puede ser aplicado a cualquier tipo de red neuronal.

b. Funciones continuas no lineales (Ching-Jong, et al. 2007).

En términos generales PSO puede ser utilizado para resolver la mayoría de los problemas

de optimización. Sin embargo, la definición clásica del método no funciona para problemas

combinatorios.

Ahora bien, el problema de asignación axial 3-dimensional es un problema de optimización

combinatorio que pertenece a la clase NP duro . Esto implica que es un problema no tratable

con métodos tradicionales. Aun así, se han desarrollado métodos heurísticos y exactos para

intentar solucionarlo.

Page 15: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

3

El método de optimización por enjambre de partículas no ha sido adaptado para solucionar

el problema de asignación axial 3-dimensional y, por lo tanto, no se tienen datos de cuál sería

el comportamiento de esta técnica para este problema discreto en particular.

1.2 Justificación.

La optimización de problemas de tipo discreto sigue siendo un tema abierto de

investigación. La razón es que muchos problemas tanto teóricos como prácticos caen en esta

categoría y, normalmente, su espacio de solución es muy complejo. Un enfoque que se ha

venido aplicando, con el objetivo de encontrar mejores soluciones, es adaptar técnicas que han

tenido éxito en cierto ámbito a otro completamente diferente.

Uno de estos casos es la optimización por enjambre de partículas. PSO, como ya se

mencionó, fue desarrollado inicialmente para resolver problemas continuos; pero algunos

expertos y académicos empezaron a pensar cómo solucionar otro tipo de problemas de

optimización con este método (Lu Qiang, et al. 2009).

Kennedy y Eberhart (1997) fueron los primeros en proponer un método para solucionar

problemas discretos con PSO utilizando un esquema de código binario (Wei-Neng, et al.

2009). Desde entonces muchos métodos, basados en esta heurística, se han definido para

solucionar problemas combinatorios, pero hasta hoy no se ha encontrado un método genérico

que pueda ser aplicado a la mayoría de los problemas. En general, los algoritmos propuestos

son específicos al problema a solucionar. Por ejemplo, el método con esquema de código

binario es muy prometedor para ciertos problemas, pero muchos espacios discretos no caen

dentro de su ámbito de operación.

Por lo tanto, la idea de adaptar el método clásico de optimización por enjambre de

partículas, para solucionar el problema de asignación axial 3-dimensional (3AP), se

fundamenta en una corriente de investigación vigente e interesada en encontrar métodos

particulares (o bien genéricos) basados en PSO para solucionar problemas discretos.

Por otra parte, el problema de asignación axial 3-dimensional surge de un bastante

número de situaciones prácticas. Por ejemplo, en la inversión de capital, en el lanzamiento de

Page 16: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

4

satélites, en el montaje de circuitos impresos, manufacturas, teoría de grafos, economía, etc.

Estos casos de aplicación, junto con otros más, hacen que el estudio de este problema sea aun

de interés.

1.3 Objetivos

1.3.1 Objetivo general

Implementar un algoritmo basado en la optimización por enjambre de partículas aplicado al

problema de asignación axial 3-dimensional para determinar su eficiencia y la calidad de sus

soluciones generadas.

1.3.2 Objetivos específicos

a. Contar con un análisis detallado de las características del problema 3AP y de los

avances que existen en la optimización por enjambre de partículas para problemas de tipo

discreto que sirvan de base para proponer un algoritmo que resuelva el problema 3AP.

b. Diseñar casos de prueba para hacer los ajustes del algoritmo y realizar experimentos del

algoritmo propuesto con un conjunto de problemas de referencia.

c. Analizar los resultados para determinar la eficiencia y calidad de las soluciones del

algoritmo propuesto.

1.4. Organización de la tesis.

El resto de este documento está organizado de la siguiente manera:

Los capítulos II y III contienen las bases teóricas para entender el problema que se está

tratando.

En el capítulo II se define de manera formal el concepto de optimización. También, se

especifican los criterios de este trabajo para definir la dificultad de un problema. Por otra

parte, se define lo que son los problemas combinatorios. Se hace una descripción general de

Page 17: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

5

los problemas de asignación haciendo énfasis en el problema de asignación axial 3-

dimensional.

El capítulo III contiene una descripción de la optimización por enjambre de partículas. En

primer lugar, se ubica el método en el contexto de la inteligencia artificial y de la inteligencia

colectiva. Después, se hace una descripción de algunas técnicas heurísticas. Se describe la

optimización por enjambre de partículas para el caso discreto y se mencionan ejemplos donde

se ha aplicado. Al final del capítulo, se hace un recuento de algunos métodos que se han

empleado para solucionar el problema 3AP

En el capítulo IV se presenta la metodología utilizada para la resolución del problema, se

hace una descripción del algoritmo implementado, se describen los experimentos realizados y

se muestran los resultados obtenidos.

En el capítulo V se presentan las conclusiones así como el trabajo futuro a realizar.

Page 18: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

6

Capítulo II

El Problema de la Asignación Axial 3-Dimensional

2.1 La optimización.

El objetivo más importante de la optimización es mejorar (Goldberg, 2006), por tal motivo,

las técnicas de optimización buscan obtener el óptimo global de un problema. Este es un valor

(o un conjunto de valores) dentro de un espacio de búsqueda que cumple con ciertas

restricciones y que hace que el costo global del problema sea un máximo o un mínimo. El

problema de la minimización se puede expresar como sigue:

min ( )f x , sujeto a:

( ) 0, 1,...,ig x i p

( ) 0, 1,...,jh x j n

Donde x es el vector solución, ( )f x es la función objetivo, ( )ig x son las p

restricciones de desigualdad y ( )ih x es el conjunto de restricciones de igualdad.

(1)

En otras palabras, se debe determinar el vector de parámetros x que haga que la función

objetivo regrese el mejor valor mínimo posible, pero siempre cumpliendo con las restricciones

de g y h .

2.2 Problemas de optimización combinatorios.

Los problemas de optimización se clasifican en dos categorías. La primera involucra

variables de tipo continuo y la solución del problema es un conjunto de números reales. En la

otra categoría, se trabaja con variables discretas y, de un conjunto finito, se busca determinar

algún valor entero, un conjunto, una permutación o un grafo.

Page 19: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

7

Una instancia de un problema de optimización es un par ( , )F c , donde F es cualquier

conjunto (el dominio de puntos factibles) y c es la función de costo.

:c F R (2)

Entonces el problema consiste en encontrar f F para el cual

( ) ( )c f c y , para toda y F (3)

Como se verá más adelante, no siempre es posible determinar el mejor valor (óptimo

global) para determinados problemas debido a su dificultad. No obstante, es frecuente que se

pueda acceder a una solución que comparada con un vecindario sea la mejor. A esta solución

alternativa se le llama óptimo local, pero no siempre garantizan una buena calidad (fig. 1). De

manera formal se puede expresar de la siguiente forma:

Dada una instancia de un problema optimización y un vecindario N , una solución factible

f F es llamada óptimo local con respecto a N si:

( ) ( )c f c g Para toda ( )g N f (4)

Los óptimos locales son una solución alternativa cuando no es posible encontrar el óptimo

global, siempre y cuando el umbral de error aceptable no sea muy estricto. Pero para algunos

métodos representan un obstáculo en su camino a encontrar la mejor solución posible.

Figura 1. Ejemplo de maximización donde se muestra que los óptimos locales no garantizan una buena solución.

Page 20: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

8

2.3 Dificultad de un problema.

Dentro del conjunto de problemas de optimización muchos son clasificados como más

difíciles que otros. En la teoría de la computación se define de manera formal lo que hace a un

problema computacionalmente difícil. La evaluación del algoritmo, que soluciona el

problema, es comparado de manera asintótica con funciones conocidas.

Si un problema, en el peor de sus casos, está acotado por una función polinómica; se dice

que pertenece a los problemas denominados de clase P (polinómicamente acotado). Los

problemas pertenecientes a esta categoría pueden ser solucionados en un tiempo polinomial,

por ejemplo, usando búsquedas exhaustivas. En general, pueden ser resueltos en un tiempo

( )kO n para alguna constante k , donde nes el tamaño de la entrada del problema (Cormen, et

al. 2001).

Por otra parte, están los problemas de la clase NP (no determinista), los cuales, pueden ser

resueltos por una máquina de Turing no determinística. Es decir, existe un algoritmo no

determinista polinómicamente acotado (Baase, 2002). Se considera que P NP , a la fecha

no se ha demostrado que P sea un subconjunto propio de NP .

Los problemas NP completos son más difíciles que los NP . Si existiera un algoritmo

polinómicamente acotado para un problema NP completo , también habría un algoritmo

polinómicamente acotado para todos los problemas NP .

Existen una gran variedad de problemas que a simple inspección se consideran sencillos,

pero que en realidad son más complejos de lo esperado. Por lo tanto, es importante poder

determinar a qué clase pertenece el problema a solucionar. Esta acción, posteriormente,

permite decidir que técnica (una heurística o un método exacto de solución) es más apropiada

para ser implementada.

El concepto de dificultad también puede ser tratado desde otros puntos de vista. Por

ejemplo, si solo se considera la solución práctica de un problema (aun cuando pertenezca a la

clase P ), se puede afirmar que su dificultad está directamente relacionada con el grado del

Page 21: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

9

conocimiento que tengamos del mismo y con la eficiencia de los algoritmos implementados

para su solución. Si el algoritmo tarda mucho en encontrar una solución, simplemente se

puede decir que el problema está clasificado como difícil. Por ejemplo, si un problema de la

clase P tiene un orden de 100( )O n , se puede considerar intratable. Esto muestra que no todo

problema en P es sencillo ya que no siempre se cuenta con un algoritmo con una eficiencia

aceptable.

El conocimiento que se tenga del problema a resolver es importante. Algunos problemas

NP Completos pueden ser tratados aplicando restricciones adicionales en sus entradas. Esta

acción, usualmente, no garantiza que el problema deje de ser NP Completo ; pero, algunas

veces, es probable que un criterio alterno produzca un problema de clase P (Baase, 2002).

Por otra parte, la dificultad de un problema de optimización, en un espacio dado de

búsqueda, es la probabilidad de no encontrar una solución al escoger una posición aleatoria en

una distribución uniforme (Clerc, 2006). Si la probabilidad de encontrar la solución de un

problema, sin hacer ningún trabajo especial y al primer intento, es grande; se trata de un

problema sencillo.

La definición anterior nos da la posibilidad de contar con un criterio para poder estimar la

dificultad de los problemas, y así, tener una herramienta de evaluación de los algoritmos

propuestos. Para ello, la dificultad se especifica por la siguiente fórmula:

ln(1 _ _ )Dificultad probabilidad de error (5)

Lo cual implica que:

ln( _ _ )Dificultad probabilidad de éxito (6)

Resulta obvio que las restricciones pueden jugar un papel importante para reducir la

complejidad de un problema. Por ejemplo, si alguna restricción ε es ajustada, es probable que

algunos óptimos locales aceptables puedan ser alcanzables.

Page 22: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

10

Otra forma de reducir la dificultad de un problema es a través de la modificación del

espacio de búsqueda. Solo se debe hacer si existe un grado de flexibilidad en la calidad de los

resultados que se esperan encontrar.

Las modificaciones a las restricciones (o del espacio de búsqueda) no garantizan la

disminución de la dificultad. Puede suceder que la complejidad del problema aumente. Por

otro lado, no siempre es posible hacer modificaciones al espacio de búsqueda porque

normalmente se necesita un conocimiento del problema que en la mayoría de las ocasiones no

se tiene.

2.4 Problemas de asignación.

2.4.1 Asignación generalizada o bidimensional

Los problemas de asignación abordan el problema de cómo asignar nelementos a otros n

distintos (Sahu, Tapadar, 2007). Una manera de ver este problema es como un mapeo

biyectivo entre dos conjuntos finitos U y V de n elementos. Al identificar los conjuntos U

y V se puede representar la asignación por medio de una permutación.

1 2 … 3

φ (1) φ(2) … φ(n)

(7)

De esta manera cada elemento de V es mapeado por ( )x , donde x U .

La permutación φ corresponde a la una matriz de permutación ( )ijX X , donde:

10ijx

(8)

Cada renglón y columna tienen una sumatoria que resulta igual a uno. A esto se le llaman

restricciones de asignación y se pueden representar como sigue:

1, si ( )j i

Page 23: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

11

1

1, 1, 2,...,n

ijj

x i n

(9)

11, 1, 2,...,

n

iji

x j n

0,1, 1,2,...

ijxi j n

Otra manera de representar el problema es por medio de un grafo bipartito (fig. 2). Este es

un grafo G donde sus vértices quedan definidos en dos subconjuntos disjuntos con idéntica

cardinalidad. Cada arista asocia a dos elementos de cada subconjunto de manera biyectiva.

( , )G V A (10)

Donde:

V Son los vértices de G . Además, 1 2V v v y 1 2v v Nulo

A Son las aristas de G siempre de la forma ,a b A 1a v y 2b v

Figura 2. Grafo bipartita para la asignación bidimensional

Sea nS el conjunto de todas las permutaciones tales que φ ∈ nS . Si, a su vez, se tiene

asociada una matriz de costos nxn definida como ( )ijC c , donde ijc define el costo de

asignar i con j , entonces el problema consiste en encontrar en nS la permutación φ que

Page 24: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

12

minimice el costo total (Sahu, Tapadar, 2007). Este es un problema de optimización

combinatoria y está formulado como:

( )1

minn

n

i iS iC

(11)

El espacio de búsqueda para encontrar es de !n elementos. Esto implica que existe un

número muy grande de asignaciones para valores de n incluso pequeños. Sin embargo, este

problema se ha solucionado con métodos exactos como el método húngaro.

2.4.2 Problemas multidimensionales.

Los problemas de asignación multidimensionales fueron introducidos por primera vez por

Pierskalla en 1967 como una extensión del clásico problema de asignación bidimensional (M.

Aiex, et al 2005). Para el caso de la asignación 3-dimensional dos modelos han sido

investigados: el problema de la asignación axial 3-dimensional y el problema de la asignación

3-dimensional planar.

El problema de asignación axial 3-dimensional se puede representar de varias formas. Por

ejemplo, como un problema bilineal entero.

, 1 1 1

minn

n n n

ijk ij ikY Z X i j kc y z

(12)

Donde:C es la matriz de costos, ,Y Z son las matrices de permutaciones y nX es el conjunto

de todas las matrices de n n .

Este problema también se puede definir como sigue: dado un grafo tripartito completo

, , ( , ( ) ( ) ( ))n n nK I J K I J I K J K , donde , ,I J K son conjuntos disjuntos de

tamaño n , y una matriz de costos ijkC para cada triángulo ( , , )i j k I J K . El problema de

asignación axial 3-dimensional consiste en encontrar un subconjunto A de n triángulos (fig.

Page 25: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

13

3), A I J K de tal manera que cada elemento de I J K ocurra en exactamente un

triángulo de A , y el costo ( )C A de los triángulos seleccionados sea un mínimo (Crama y

Spieksma, 1992).

Figura 3. Selección de n triángulos

El problema también puede ser descrito como un problema lineal entero (Spieksma, 2000).

Dados 3 conjuntos de tamaño n ( 1A , 2A y 3A ) para cada par de tripleta en 1 2 3A A A un

número es conocido ya sea un costo o una ganancia. El problema consiste en encontrar n

tripletas tales que cada elemento en 1 2 3A A A sea exactamente una tripleta. Por lo tanto, las

n tripletas requeridas maximizan o minimizan el costo total.

Para el caso de la minimización se tiene que las restricciones de asignación son las

siguientes:

1 1 1m in

n n n

ijk i jki j k

C X

(13)

Sujeto a:

1 11

n n

ijki j

X

, para 1,...,k n

Page 26: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

14

1 1

1n n

ijki k

X

, para 1,...,j n

1 11

n n

ijkj k

X

, para 1,...,i n

0,1ijkX , para , , 1,...,i j k n

Si se alinean las n tripletas seleccionadas, se obtienen tres permutaciones de 1,2,...,n

(Huang y Lim, 2006). Sin embargo, ya que el orden de las permutaciones no es relevante, la

primera se puede dejar fija sustituyéndola por un índice i.

De esta manera el problema se puede redefinir de la siguiente forma (Burkard, et al. 2009):

Sean 3n coeficientes de costo dados de ( , , 1, 2,..., )ijkC i j k n . El problema ahora consiste en

encontrar dos permutaciones y tales que:

( ) ( ), 1min

n

n

i i iS iC

(14)

Donde: nS es el conjunto de todas las permutaciones de los enteros 1,2,.., n.

Dado que las permutaciones a ser seleccionadas pueden ser escogidas de manera arbitraría,

el problema de asignación axial 3-dimensional tiene 2( !)n soluciones factibles. El problema es

NP-duro (Karp, 1972). No existe un algoritmo que pueda resolver el problema en un tiempo

polinomial a menos que P = NP. Incluso cuando ijkC solo puede tomar dos valores, el

problema permanece NP-duro.

El problema de asignación axial 3-dimensional presenta algunos casos especiales (Crama,

Spieksma, 1992). El primero es donde la distancia (verificando las desigualdades del

triángulo) se define como un conjunto de puntos, y el costo del triángulo es la suma de las

longitudes de sus lados, pero si la suma de las longitudes son sus lados más cortos, entonces se

trata del problema S .

Page 27: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

15

Yves Crama y Frits C.R. Spieksma (1992) demostraron que incluso estos dos casos

especiales siguen siendo NP-duros.

Page 28: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

16

Capítulo III

Optimización por enjambre de partículas

3.1 Inteligencia Artificial

La inteligencia artificial (IA) tiene sus orígenes en muchas disciplinas. Algunas de las más

importantes son la filosofía, las matemáticas, la psicología, neurociencias y, por supuesto, las

ciencias computacionales. Junto con otras, cada una de estas han hecho importantes

aportaciones (Russell y Norving, 2006).

La filosofía ha intentado dar explicaciones a muchas interrogantes acerca del pensamiento

humano y el razonamiento desde épocas muy remotas. Para ello, ha desarrollado modelos que

buscan esclarecer los fenómenos mentales como el conocimiento. La IA toma estos modelos y

los formaliza a través de las matemáticas con la intención de aplicarlo en problemas

específicos. Las matemáticas han aportado a la inteligencia artificial formalidad a través de su

notación. Además, la mayoría de las técnicas de la IA utilizan muchos conceptos de la lógica,

la probabilidad, la estadística y otros campos de las matemáticas.

Los problemas que trata la inteligencia artificial abarcan un espectro muy amplio, y están

clasificados en tareas de la vida diaria, tareas formales y tareas de los expertos (Rich y Knight,

1994). En general, la IA aborda problemas poco estructurados donde no se conoce el mejor

método para resolverlos. Algunos ejemplos son la visión, el habla, el sentido común, juegos,

demostración de teoremas, optimización, diagnósticos y los sistemas de control.

Dentro de las ramas de la inteligencia artificial se encuentra la denominada soft-computing,

la cual, es una colección de técnicas y herramientas computacionales que comparten

disciplinas muy relacionadas (Konar, 1999). En concreto, es un conjunto de metodologías que

tienen como objetivo explotar la tolerancia a la imprecisión y la incertidumbre para lograr

soluciones manejables, más robustas, y con un costo bajo (Azvine, et al, 2000). En esta

Page 29: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

17

categoría de técnicas se encuentran la lógica difusa, el razonamiento probabilístico, los

modelos conexionistas y los algoritmos evolutivos.

El paradigma principal en la IA, para la resolución de problemas de optimización, es la

búsqueda heurística. Este es un método muy general que se puede aplicar a muchos tipos de

problemas difíciles con el fin de encontrar una solución en un tiempo prudente, pero sin

garantizar que esta sea la solución óptima (global). Su objetivo es que casi siempre se

encuentre una buena solución.

Existen muchos algoritmos de búsqueda heurísticos (incluyendo a PSO). Estos han sido

implementados para resolver una diversidad grande de problemas de optimización continuos y

discretos. A continuación se presenta una breve descripción de algunas técnicas heurísticas

ampliamente utilizadas.

3.1.1. Escalador de colinas.

El agente, a partir de su estado actual en un espacio de búsqueda, examina su vecindario y

determina la dirección a tomar. Este paso lo repite N veces o hasta que ya no puede encontrar

mejoría. El algoritmo utiliza una función de evaluación para determinar si una posición es

mejor que otra.

Su desventaja se debe a que el agente puede quedar atrapado en estados que no son el

objetivo. Los lugares que limitan su movimiento son los máximos locales y mesetas (fig. 4).

Una forma de solucionar este problema es reiniciar el ascenso desde puntos aleatorios varias

veces, pero conservando el mejor valor encontrado hasta cierto instante.

Figura 4. Estados del espacio de búsqueda que atrapan al agente escalador de colinas

Page 30: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

18

3.1.2 Recocido simulado.

Es una variante del escalador de colinas, pero el movimiento del agente es muy intenso

(contiene mucha energía) en las primeras etapas de la búsqueda con el objetivo de evitar caer

en algún óptimo local. Conforme avanza la ejecución del algoritmo, se reduce la energía hasta

alcanzar un estado final de mínima energía.

La idea principal es que un resultado parcial malo no sea ignorado del todo. Puede

convertirse en el estado actual con una probabilidad 'p .

' /E Tp e , donde T es la temperatura, E es la energía del sistema y es la

diferencia entre el estado actual y el nuevo valor calculado.

(15)

La velocidad con la que se enfría el sistema a lo largo del proceso se denomina programa

de enfriamiento (Rich y Knight, 1994) y afecta notablemente la calidad de las soluciones

encontradas.

3.1.3 Búsqueda Tabú.

Se basa en la utilización de estructuras de memoria flexibles (para explorar un conjunto de

estados factible) junto con criterios de aspiración y restricciones estratégicas (Ríos Insua, et al.

2009). Este método admite movimientos potencialmente malos y utiliza una lista donde

guarda temporalmente movimientos realizados marcados como prohibidos. El objetivo de la

lista es no caer en espacios repetidos. Sin embargo, si algún elemento de la lista supera los

criterios de aspiración, es aceptado. Esto permite que movimientos potencialmente buenos (de

la lista) no queden bloqueados del todo. El algoritmo termina cuando un número de iteraciones

se cumple o cuando un umbral específico es alcanzado.

3.1.4 Los algoritmos genéticos.

Los algoritmos genéticos son métodos de búsqueda basados en la mecánica de la selección

natural y la transferencia de material genético (Goldberg, 2006). Estos algoritmos operan

sobre poblaciones donde en cada generación nuevos individuos (cromosomas) son generados a

Page 31: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

19

partir de una serie de operadores estocásticos (operadores genéticos). Los individuos

representan a las soluciones potenciales del problema a resolver y pueden codificarse como

cadenas de bits, números reales o vectores de números enteros.

Los algoritmos genéticos consisten básicamente de cuatro etapas (Tim Jones, 2005). El

primer paso es la inicialización de los individuos de manera aleatoria. Después, se obtiene la

aptitud de cada uno de ellos con base en la función de evaluación. Posteriormente, se

selecciona un conjunto de individuos a ser recombinados. La selección, entre otras formas,

puede realizarse por el método de la ruleta (basado en la proporción de la aptitud con respecto

a la de los demás) o por torneo (eliminación directa entre dos candidatos). Por último, el

algoritmo, a partir de la recombinación de los individuos seleccionados, genera nuevos

cromosomas utilizando los operadores de cruce y mutación.

El operador de cruce toma dos cromosomas y selecciona en ellos un punto de manera

aleatoria y, a partir de ese lugar, intercambia las partes de los individuos. Por otra parte, la

mutación se utiliza para generar material genético nuevo con el objetivo de evitar que el

algoritmo se estanque en algún óptimo local. Este proceso, regularmente, se efectúa con una

probabilidad pequeña. El proceso consiste en seleccionar un punto aleatorio dentro del

cromosoma y cambiar su valor.

El algoritmo termina después de cierto número de iteraciones o por algún otro criterio de

parada relacionado con la aptitud.

3.1.5 Inteligencia colectiva.

Algunas técnicas heurísticas están basadas en la inteligencia colectiva. Este paradigma se

fundamenta en el comportamiento colectivo de sistemas descentralizados y auto-organizados.

Normalmente, consisten de una población de agentes que interactúan entre sí en un espacio de

búsqueda.

Comúnmente, la interacción no es dictada por un control centralizado, sino que cada

individuo de la población sigue reglas simples. Este modo de actuar, combinado con un

Page 32: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

20

número de iteraciones, genera en la población un comportamiento más complejo. Aun cuando

el trabajo es colectivo, cada elemento de la población es considerado una solución potencial.

Un ejemplo de estas técnicas es la optimización por colonia de hormigas (ACO). Esta

heurística está inspirada en el comportamiento que siguen las hormigas cuando buscan

alimento a partir de su hormiguero. Las hormigas dejan un rastro temporal de feromonas en su

camino. Entre más hormigas sigan el rastro, la intensidad de este aumenta y, entre más intenso

sea, tiene más probabilidades de que otras hormigas lo sigan. Debido a la volatilidad de la

feromona, los caminos cortos tienen a estabilizarse mientras que los largos se vuelven débiles

y tienden a desaparecer. Así, la solución es la ruta más corta encontrada al final del algoritmo.

3.2 Optimización por enjambre de partículas (PSO).

Dentro de las heurísticas de la inteligencia colectiva se encuentra la optimización por

enjambre de partículas. Esta es en una técnica evolutiva que fue propuesta por Kennedy y

Eberhard (1995). Este método fue descubierto a través de un modelo social simplificado y

está inspirado en el comportamiento social de organismos como los bancos de peces o

bandadas de aves.

Se ha demostrado que PSO es una técnica muy eficiente para resolver problemas de

optimización de tipo continuo. Particularmente, PSO es un método que genera mejores

resultados para problemas catalogados como difíciles. Sin embargo, se ha observado que su

desempeño en problemas lineales no es muy bueno.

Una aplicación de PSO, que ha tenido gran éxito, es el entrenamiento de redes neuronales.

Prácticamente cualquier modelo conexionista puede ser entrenado por un algoritmo basado en

PSO. Una ventaja que esta técnica tiene con respecto a otras se debe a su nula necesidad de

requerir el gradiente de la función de activación.

Una solución potencial es representada en PSO por un vector llamado partícula, individuo,

elemento, agente o simplemente solución. Cada una de estas partículas i tiene la misma

dimensión n y se representan de la siguiente manera:

Page 33: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

21

( ,1 ) ( , 2 ) ( , )( ) ( , , . . . , )i i i nX i x x x

(16)

Las partículas, sobre el espacio de búsqueda n-dimensional, “vuelan” tratando de encontrar

una solución óptima. Para hacer esto, cada individuo ajusta su posición de acuerdo a una

combinación lineal de su inercia, su propia experiencia y del conocimiento del enjambre.

Cada agente almacena en una memoria la mejor posición encontrada (visitada) hasta el

instante actual t . La experiencia de la partícula se denota como:

( ,1 ) ( , 2 ) ( , )( ) ( , , . . . , )i i i nP i p p p

(17)

El conocimiento del enjambre es el conjunto de memorias de cada partícula. A diferencia

de los algoritmos genéticos, en PSO no existe la competencia entre individuos. Por lo tanto, la

interacción entre las partículas, para obtener un beneficio, es la norma. Para hacer esto, cada

partícula pone a disposición de los demás su memoria de conocimiento.

La asignación de informantes (vecindario) es una forma de compartir la experiencia. Cada

partícula recibe información de k agentes seleccionados de forma aleatoria en cada iteración

del algoritmo. Después, la partícula determina entre sus informantes aquel que tenga la mejor

aptitud previa. Posteriormente, lo selecciona para que sea parte del proceso de actualización de

su posición. Normalmente, el valor de k es pequeño (método lbest), sin embargo, puede ser

tan grande como el tamaño del enjambre (método gbest). Este último criterio hace que las

partículas tiendan hacia la mejor partícula encontrada hasta algún instante t . Las

características del problema a solucionar determinan cual de los dos métodos es más adecuado

para su implementación.

La mejor partícula del vecindario se representa por:

( ,1 ) ( , 2 ) ( , )( ) ( , , . . . , )i i i nG i g g g

(18)

Al igual que en otros algoritmo de tipo evolutivo, PSO necesita de una función de

evaluación (también llamada función de aptitud). Esta permite determinar la calidad de las

Page 34: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

22

soluciones. Su importancia radica en que es la única forma de poder evaluar la posición de

cada elemento.

Cada coordenada (elemento) de X de cada partícula tiene una velocidad o razón de cambio

V , 1, 2,...,d n .

( ,1 ) ( , 2 ) ( , )( ) ( , , . . . , )i i i nV i v v v

(19)

Para realizar un desplazamiento, la partícula determina la velocidad considerando su propia

inercia W (busca evitar la convergencia prematura), su memoria de conocimiento y su

confianza en el enjambre, para después, sumarla a la posición actual.

El grado de confianza lo determinan los operadores aleatorios 1r y 2r (en el rango 0-1)

junto con los coeficientes de confianza 1c y 2c . Estos últimos, también llamados constantes de

aceleración, son los términos que tiran a cada partícula hacia las posiciones P y G (Eberhart y

Shi, 2001).

En otras palabras, las partículas hacen un movimiento hacia un punto intermedio tomando

en cuenta la mejor posición previa, el mejor informante y un punto accesible desde la posición

actual (fig. 5). El ajuste de la posición de las partículas es conceptualmente similar a la

operación de cruce usado por los algoritmos genéticos (Kennedy, 1996).

Las ecuaciones siguientes ajustan la velocidad y posición de cada partícula:

11 1 2 2( ) ( )t t t t t t t

i i i i i iV w V c r P X c r G X (20)

1 1t t ti i iX X V (21)

Donde:

1tiV , Velocidad ajustada

tW , Inercia del propio movimiento

1c Coeficiente de confianza en la experiencia

Page 35: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

23

2c Coeficiente de confianza en la experiencia del grupo

iP Mejor posición previa de i

tiX Posición actual de i

iG Mejor posición previa encontrada por el grupo

1tr y 2

tr Operadores aleatorios entre 0 y 1.

1tiX Posición de la partícula i después del ajuste.

Figura 5. Modificación de la posición de la partícula i .

Debido a que en el proceso de actualización de la velocidad están inmiscuidos operadores

aleatorios, el método de modificación de la posición de las partículas se puede considerar a fin

de cuentas un paso estocástico, pero heurístico.

En términos generales, PSO se puede describir en tres pasos. El primero es evaluar cada

elemento para determinar la calidad de la posición actual. Esto permite que se puedan

encontrar la mejor y las mejores partículas. Después, se deben realizar los ajustes necesarios

de las mejores posiciones previas. Por último, se determinan los nuevos desplazamientos para

cada partícula con la información ajustada. Por analogía, estos movimientos no son más que

una forma de tratar de imitar a otros individuos.

Page 36: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

24

Para detener el proceso se necesita que un criterio de parada se cumpla. Este puede ser

determinado por un número fijo de ciclos, opcionalmente, combinado con un umbral de error

aceptable. Al terminar la ejecución del algoritmo, la solución que reporta el método es la

mejor posición previa encontrada por alguna partícula l.

De manera más detallada, el método de PSO se describe como sigue:

a. Inicializar la población. La posición de cada una de las partículas es determinada de

manera aleatoria.

b. La mejor posición previa es igualada a la posición actual.

c. Cada posición es evaluada en la función de aptitud para determinar la calidad de la

solución.

d. Se compara la aptitud de la posición actual con la mejor previa.

e. Asignar informantes (vecindario) de tamaño k a la partícula.

f. Determinar la mejor partícula del vecindario.

g. Ajustar la velocidad.

h. Ajustar la posición.

i. Verificar si se cumple el criterio de parada.

j. Si no se cumple, regresar al paso e.

La versión original de PSO presentaba algunas desventajas. Si la mejor solución está

estancada en algún óptimo local, todas las partículas tenderán rápidamente a concentrarse en

ese punto (Afsahi, 2011). Otra importante desventaja era su poco control para tener un balance

entre la exploración y la explotación. Para contrarrestar estos problemas, se utiliza el

coeficiente de inercia W (Abdel-Kader, 2011).

3.3 PSO aplicado en problemas discretos.

Si se considera la definición clásica de PSO, se pueden apreciar características de este

método que lo hacen una técnica poco apropiada para resolver problemas discretos. Los

conceptos que la integran están pensados para espacios continuos donde la velocidad de la

partícula queda determinada por una combinación lineal.

Page 37: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

25

Aun así, muchos investigadores (incluyendo a Kennedy y Eberhart) han desarrollado

versiones de esta heurística con el objetivo de aplicarla a los problemas discretos. Sin

embargo, no existe un algoritmo de optimización por enjambre de partículas que pueda ser

aplicado a todos los problemas de tipo discreto. Los algoritmos propuestos contienen

características muy particulares del problema a tratar o del ámbito a solucionar como muestran

Langeveld y Engelbrecht (2011) en el algoritmo genérico de optimización por enjambre de

partículas basado en conjuntos.

En la búsqueda por encontrar un método más completo para aplicar PSO en cualquier

problema combinatorio, los enfoques utilizados se pueden clasificar en cuatro (Wein-Neng, et

al. 2010):

a. Basados en operadores de intercambio. El algoritmo define la posición de la partícula

como una permutación de números y la velocidad como un conjunto de intercambios.

b. Transformación del espacio. La posición es definida como un vector real y una técnica

de transformación del espacio es usada para convertir la posición en su correspondiente

solución.

c. Matrices difusas. Estos métodos definen a la posición y a la velocidad como matrices

difusas. Se necesita un operador que, en el dominio discreto, decodifique la matriz

difusa en una solución posible.

d. Algoritmos híbridos. Se trata de cualquier enfoque que utilice una búsqueda local para

buscar mejorar la solución. Esta estrategia, llamada hibridación del método, se aplica en

alguna etapa del algoritmo principal y, en general, pretende mejorar la solución

encontrada hasta algún instante t

Se observa en la literatura que la mayoría de los esfuerzos hechos al emplear PSO en

problemas no continuos están acompañados de búsquedas locales.

Page 38: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

26

Los operadores aritméticos, usados en las ecuaciones de velocidad y posición (incluyendo

la suma, resta y multiplicación), deben ser redefinidos (Jin Qin, et al. 2011) para poder

solucionar problemas discretos complejos sobre espacios combinatorios. Esta redefinición

debe tener como objetivo encontrarles un significado práctico en el ámbito del problema a

solucionar.

Los siguientes elementos son necesarios para implementar PSO en un problema discreto

(Clerc, 2006):

a) Un espacio de búsqueda H .

b) Una forma de representar las posiciones x H .

c) Una función f definida en el espacio de búsqueda H tal que ( ) ,f x c c C .

d) Una relación de orden , 'c c .

e) Una definición de distancia para , 'x x .

f) La velocidad de la partícula.

g) Resta (posición, posición)velocidad.

h) Multiplicación externa (número real, velocidad)velocidad.

i) Suma (Velocidad, velocidad)Velocidad.

j) Desplazamiento (posición, velocidad)posición.

Esto se debe a que todos estos elementos están integrados en las ecuaciones de velocidad y

movimiento. Su redefinición, generalmente, es lo que ocasiona una nueva interpretación de los

conceptos de velocidad y movimiento.

3.4 Implementación de PSO para algunos problemas discretos.

El primer intento, para extender PSO para problemas discretos, es el algoritmo binario de

PSO (Wei-Neg, et al. 2010) propuesto por Kennedy y Eberhart. Está basado en un esquema de

código binario y muchas variantes surgieron tomándolo como referencia. Sin embargo, no se

ha encontrado un algoritmo genérico y, normalmente, se considera un método útil solo para

ciertos problemas que puedan representarse con las estructuras que maneja el método.

Page 39: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

27

Otro ejemplo, del uso de PSO en problemas discretos, es el Algoritmo PSO híbrido multi-

criterio con comunicaciones para la optimización combinatoria (Lakshmi, 2010). Este

algoritmo utiliza el concepto de múltiples enjambres; pero el tamaño de los cúmulos

propuestos, a diferencia de otros algoritmos, es dinámico y opera con un tamaño pequeño. El

objetivo principal de este algoritmo es la optimización de problemas multi-objetivos. Los

autores señalan que este algoritmo, comparado con otros, es muy competitivo.

Se ha aplicado PSO con redes bayesianas para la selección de atributos en la minería de

datos (Correa, et al. 2007). Este algoritmo también utiliza variables discretas, pero las

poblaciones que utiliza tienen partículas de tamaño variable. Esto hace que cada solución

tenga un número constante de atributos a través de las iteraciones. Por otra parte, el concepto

de velocidad es redefinido como una probabilidad. Es decir, hace que la velocidad sea como

un vecindario proporcional para después estimar nuevas posiciones. La desventaja, que este

algoritmo presenta, es que para que tenga un buen desempeño, el número de atributos debe ser

pequeño.

En un ámbito parecido, se ha implementado PSO en conjunto con operadores genéticos

para la agrupación de documentos (Premalatha y Natarajan, 2009). Si las partículas tienden a

estancarse en un óptimo local, se agrega la reproducción al procedimiento utilizando los

operadores de cruce y mutación definidos en los algoritmos genéticos. Esto permite una

convergencia más rápida hacia soluciones de mejor calidad.

PSO también ha sido adaptado para solucionar el problema de planificación flexible

trabajo-tienda (Jun-qing Li, et al. 2009). De nuevo fue necesario incorporar una técnica

auxiliar para hacer el algoritmo híbrido. En este caso la técnica usada fue la búsqueda tabú. En

general, se propone una representación de las partículas a través de cromosomas. Además, los

operadores clásicos de PSO son adaptados para utilizar funciones de cruzamiento y mutación

similares a los algoritmos genéticos. En cada generación o iteración, se le aplica la búsqueda

tabú a la mejor solución encontrada hasta ese momento con el objetivo de mejorarla. El

algoritmo es competitivo comparado con los algoritmos genéticos implementados para

Page 40: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

28

resolver este mismo problema, sin embargo, el tiempo de ejecución es alto y el algoritmo es

poco robusto.

Un problema al que se recurre frecuentemente para solucionarlo con PSO es el problema

del agente viajero (TSP). Uno de estos métodos implementados es el algoritmo de

optimización por enjambre de partículas mejorado (Yang y Wang, 2007). Este algoritmo se

centra en la utilización de un depresor para evitar la convergencia prematura. Para ello, se

apoya en un medidor de diversidad que permite variar el valor del depresor. El algoritmo es

competitivo, pero no es superior a otros métodos.

Otro enfoque utilizado es el método basado en conjuntos (Wei-Neng, et al. 2010). Primero,

este algoritmo busca caracterizar el espacio discreto a través de representaciones basadas en

conjuntos. Segundo, Las soluciones candidatas son redefinidas como un conjunto y la

velocidad queda representada por un conjunto de posibilidades. Todos los operadores de PSO

clásico (como los aritméticos, las reglas de ajuste de la velocidad y posición) son remplazados

por operadores de la teoría de conjuntos. Una desventaja que presenta este método es su poca

generalización ya que está claramente definido para resolver ciertos problemas combinatorios.

El algoritmo genérico de optimización por enjambre de partículas demuestra la viabilidad

de usar PSO para resolver problemas basados en conjuntos (Langeveld y Engelbrecht, 2011).

Un objetivo particular de este método es encontrar un conjunto de parámetros que, aplicado a

los 33 problemas de prueba, generen buenas soluciones. Aunque no se encontró, el algoritmo

es lo suficientemente robusto para ser aplicado a cualquier problema que se pueda especificar

como un problema basado en conjuntos.

Finalmente, se sabe que la implementación en paralelo de algoritmos puede tener varias

ventajas como la disminución del tiempo de ejecución. Además, el desarrollo de aplicaciones

paralelas ya no está confinado a grandes y costosos equipos (Castro Liera, et al. 2011). Esto

hace que exista una mayor tendencia a desarrollar e implementar algoritmos distribuidos de

manera directa.

Page 41: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

29

3.5. Métodos heurísticos implementados para la solución del 3AP.

Muchas técnicas se han empleado para solucionar el problema 3AP. Existen algunas que

utilizan la enumeración implícita, pero estas implementaciones, aún en paralelo, han sido

incapaces de resolver problemas de tamaño real (Centeno, 2010).

Como 3AP es un problema combinatorio, la mayoría de técnicas heurísticas usadas para su

solución son aquellas que ya han demostrado ser muy eficientes en la resolución de problemas

discretos como la búsqueda tabú, los algoritmos genéticos y la optimización por colonia de

hormigas.

El uso de algoritmos híbridos es muy común. Se observa en la literatura que los algoritmos

implementados, para solucionar 3AP, necesitaron en algún punto utilizar algún proceso

auxiliar para mejorar la calidad de sus soluciones. Por ejemplo, la utilización de un algoritmo

genético con alguna técnica de búsqueda local. Algunas veces, el proceso auxiliar es utilizado

como una inicialización para que, posteriormente, el método principal del algoritmo tome esos

valores e inicie su proceso.

Ese es el caso del algoritmo S-FANT, el cual, es un método basado en la optimización por

colonia de hormigas (Jiang, et al. 2008). El algoritmo consiste en dos fases. En la primera,

llamada fase de muestreo, se utiliza un esquema de múltiples reinicios para generar óptimos

locales. En la segunda etapa, la feromona es inicializada de acuerdo a la frecuencia de las

tripletas que aparecen en esos óptimos locales. Posteriormente, el método estándar de ACO es

aplicado para mejorar esas soluciones potenciales.

Los algoritmos genéticos también han sido empleados para resolver 3AP, sin embargo, se

observa que utilizar solo el algoritmo genético no genera muy buenas soluciones. Se advierte

que para implementar un algoritmo genético para 3AP se encuentra difícil implementar de

manera conjunta el operador de mutación junto con el de cruzamiento (Gonzalez y Centeno,

2001). Además, para obtener mejores resultados es necesario aumentar el tamaño de la

población. González propuso en su algoritmo no utilizar el cruce, pero si la mutación. En este

Page 42: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

30

caso, se comprobó que un número elevado de mutaciones es conveniente para obtener mejores

resultados.

Un método que utiliza un algoritmo genético para solucionar 3AP se puede mejorar

implementando una búsqueda local. Por ejemplo, es bien conocido que el Método húngaro

puede resolver el problema de asignación 2-dimensional (2AP) de una forma eficiente. Este

hecho es utilizado en el algoritmo genético híbrido (Huang y Lim 2006). La idea principal de

este método es remplazar el operador de mutación por una búsqueda local utilizando el

método húngaro. Para hacer esto, es necesario hacer una proyección de 3D a 2D. Es decir, la

solución del problema 3AP consiste de dos permutaciones y mientras que 2AP consiste

solamente de una; pero si una permutación (del caso 3AP) se fija, entonces la optimización de

la segunda permutación se convierte en un problema 2AP. Esto es equivalente a construir un

grafo bipartita a partir de uno tripartita.

Dada una solución inicial para 3AP ( , ), entonces:

Sea , ( ),ij i i jd C entonces , 1, 2,..,i j n se tiene que:

( ) ( ) , ( ), 1 1min min

n n

n n

i i i i iS Si iC d

(22)

Usando la misma idea, se pueden definir otras dos formas de hacer la proyección:

Sea , , , ( )i j i j id C , , 1, 2,..,i j n (23)

Sea , , ( ), ( )i j j i id C , , 1, 2,..,i j n (24)

El método anterior también utiliza una técnica de múltiples reinicios que encuentra buenos

resultados en un tiempo muy corto. Sin Embargo, una vez que localiza un óptimo local ya no

le es posible mejorarlo. Aún si se le da más tiempo al algoritmo, este no puede mejorar la

solución.

Page 43: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

31

Por otra parte, GRASP es una meta-heurística (heurística guiada por otra heurística) de

múltiples reinicios para problemas combinatorios. Usualmente consiste de un procedimiento

ávido de construcción y de una búsqueda local. GRASP con redefinición de vínculos fue

implementado para solucionar el problema 3AP. La idea principal del método es explorar

trayectorias que conectan soluciones de alta calidad. En general es una meta-heurística que

genera buenos resultados, pero la eficiencia no es muy buena al ser comparada con otros

métodos. Una ventaja de este algoritmo es que puede ser implementado en paralelo para

reducir los tiempos de ejecución.

También se ha recurrido a la implementación de algoritmos basados en la búsqueda tabú.

Tal es el caso de la búsqueda de soluciones para el 3AP-Axial usando búsqueda por entornos

(Centeno, 2010). Esta implementación se basa en los elementos básicos de la búsqueda Tabú

más algunas características propias. El algoritmo utiliza una memoria a corto plazo que le

permite tener en cuenta los atributos recién cambiados (pasado reciente). Con esta memoria,

junto con otros atributos, se busca evitar revisitar soluciones. Además, cuenta con un criterio

de aspiración que permite ciertos movimientos aun cuando tengan estatus tabú. Este algoritmo

también está hibridizado a través de una heurística voraz que inicializa las soluciones al inicio

del método.

Pseudo-código del algoritmo de búsqueda tabú adaptado para solucionar 3AP:

1. Leer archivo de costo.

2. Leer dimensión de la vecindad.

3. Generar la solución inicial x .

4. Repetir

a. Generar candidatas de la solución anterior

b. Seleccionar 'x candidatas de x / ( ') ( *);f x f x

c. *x candidatas ( ) ;x HM

d. Actualizar HM

5. Hasta regresar a la solución inicial

6. Fin.

Page 44: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

32

Capítulo IV

Implementación, experimentos y resultados

Para adaptar un algoritmo basado en PSO que solucione 3AP se necesita de un mecanismo

que permita transformar los componentes de PSO continuo al dominio discreto. En el capítulo

III están descritos los operadores para implementar un algoritmo de tipo discreto usando PSO.

Sin embargo, no se ha tratado el método para llevar a cabo dicha implementación, lo cual, es

uno de los principales problemas a resolver en el presente trabajo. La generalización de un

proceso para implementar PSO en el dominio discreto no es sencilla. Comparado con otras

técnicas está limitada y se acentúa más en los problemas combinatorios.

Uno de muchos enfoques utilizados para hacer esta adaptación es el análisis de forma

(forma analysis). Este planteamiento se define como sigue (Gong y Tuson, 2007): Dado un

operador de plantilla, cualquier descripción adecuada del dominio de algún problema tratado

da lugar a un operador concreto, cuyos comportamientos y rendimiento están relacionados a

los supuestos que se hicieron para describir el espacio de búsqueda. Los componentes de esta

definición puede observarse en la figura 6.

Figura 6. Componentes del análisis de forma

Base definida para el dominio

Dominio 1

Descripción 1

Descripción 2

Dominio 2

Descripción 1

Descripción 2

Operador

plantilla

Operador 1

Operador 2

Operador 3

Operador 4

Page 45: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

33

En otras palabras, este enfoque, a partir del conocimiento que se tiene del problema y de

relaciones de equivalencia, permite derivar los operadores que permitan implementar PSO al

dominio del problema 3AP.

4.1 Redefinición de los operadores de PSO al espacio discreto.

4.1.1. Espacio de búsqueda.

El espacio de búsqueda del problema 3AP está conformador por 2( !)n de posibles

soluciones y a este conjunto se le denomina nS . Cada elemento de nS puede transformarse en

otra solución dentro de nS aplicándole un operador un número determinado de veces.

4.1.2. Representación de la solución.

Cada partícula consta de dos conjuntos , nS definidas de la siguiente manera:

(0), (1),..., ( 1)p p p n y (0), (1),..., ( 1)q q q n (25)

Donde el dominio de y es 0,.. 1n y el rango son los valores comprendidos entre 1

y n . Además, se define la siguiente restricción de la posición:

( ), ( )p m p l donde m l , ( ) ( )p m p l y

( ), ( )q m q l donde m l , ( ) ( )q m q l

(26)

Lo cual implica que ningún elemento de o puede ser colocado en dos lugares

diferentes al mismo tiempo. Esta restricción limita a la partícula a pertenecer solo a nS y es

equivalente a la restricción del método clásico donde si una partícula abandona el espacio de

búsqueda, se le ajusta su posición para que permanezca dentro de los límites definidos.

Page 46: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

34

4.1.3. Función de aptitud.

La función de aptitud f es aquella que permite evaluar una solución. 3AP se puede

representar de diferentes formas, pero el espacio de búsqueda, ya definido, permite trabajar

con la representación de 3AP definida en (14).

4.1.4. Relación de orden

En el contexto de PSO, se entiende por relación de orden a todo operador que aplicado a un

par de partículas l y m permita determinar cuál de las dos es mejor o si son equivalentes.

La relación de orden de dos partículas l y m para 3AP se define de la siguiente manera:

l es mejor que m si ( ) ( )l mf X f X

m es mejor que l si ( ) ( )l mf X f X

l es equivalente a m si ( ) ( )l mf X f X

(27)

Sin embargo, que ( ) ( )l mf X f X no implica que siempre l mX X , es decir, que su

distancia sea cero.

4.1.5. Distancia entre dos partículas.

La redefinición de los operadores de PSO debe incluir la distancia en el espacio de

búsqueda. Esta debe ser una buena medida de la diferencia de dos puntos en el espacio de

búsqueda (Jin Qin, 2011).

Redefinición (distancia). La distancia comprendida entre dos partículas, es el resultado de

hacer una comparación de cada una de las componentes que integran a y para determinar

el número de elementos que son diferentes.

1( , )l mdist X X d para (28)

Page 47: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

35

2( , )l mdist X X d para

Por ejemplo, dadas dos partículas l y m su distancia en la componente es:

1, 2,3, 4,5lX , 5, 4,3,2,1mX

( , ) 4l mdist X X

(29)

Esto es equivalente a decir que la distancia es el número de veces que se debe aplicar un

operador a una de las dos partículas para que sean iguales.

La distancia, entonces, no es la diferencia aritmética de los resultados arrojados por la

función de aptitud al evaluar l y m . Sin embargo, es evidente que entre más cercanos estén l y

m , la probabilidad de que los valores resultantes de la función de aptitud sean parecidos es

más alta.

En el caso del problema 3AP, se observa que las variaciones en los valores de y (por

mínimas que estas sean) pueden provocar un resultado muy diferente con respecto al valor que

tenía antes de la variación, incluso, si la distancia entre el vector inicial y el perturbado es uno.

No obstante, en 3AP las tripletas que contienen un valor considerado como un óptimo local

regularmente contienen información perteneciente a un óptimo global (He Jiang, et al. 2008).

Por lo tanto, es conveniente informar a las partículas de aquellos casos donde existe un

solución potencialmente buena.

4.1.6. Velocidad

La velocidad, en la definición clásica, representa la distancia que se debe recorrer por

alguna partícula i desde su posición actual X hacia algún punto en nS (Wei-jun Xia y Zhi-

ming Wu, 2006). Este concepto no se puede aplicar a los problemas discretos. La redefinición

de la distancia permite trabajar con otro enfoque en la velocidad: la velocidad es cualquier

operador que aplicado a tnX S produce otra posición 1tX válida en nS .

Page 48: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

36

Redefinición (Velocidad). La velocidad es un operador que perturba la distancia de una

posición X con respecto a algún otro punto en nS . Es decir, los elementos de X deben ser

modificados para que la distancia con respecto a algún punto accesible, iP o iG sea pequeña o

nula.

1( ( , )) ( , )t tdist Y X dist Y X , donde 1, ,t tnX X Y S (30)

La perturbación se logra utilizando el enfoque basado en operadores de intercambio

descrito en el capítulo III. Para las permutaciones, el operador más utilizado es el cruce

también usado en los algoritmos genéticos. Existen una amplia variedad de estos operadores,

sin embargo, no existe evidencia de que alguno sea superior a otro (Huang y Lim, 2006) y,

además, el problema que se requiere resolver determina cuál de ellos es más apropiado de

utilizar.

No es deseable que la partícula tienda hacia otro punto de una forma total. La justificación

para esto es el gran tamaño de nS . Si la distancia obtenida después de la perturbación es igual

a cero, se repite un punto en nS ya explorado por otra partícula. En lugar de eso, es preferible

que la partícula quede en algún punto cercano que se pueda evaluar y desde donde se pueda

iniciar otro movimiento.

Para lograr un acercamiento parcial entre dos puntos es necesario limitar el número de

intercambios a realizar. Pero no es conveniente establecer posiciones fijas en el vector como

no intercambiables. Esto también provoca que ciertos puntos queden con pocas probabilidades

de ser explorados aun cuando sean buenas soluciones potenciales. En vez de ello, el operador

de intercambio 1( , , )X Y p limita el intercambio de dos elementos de la siguiente manera:

Si 1 1( ) ( )X p Y p , 1 1( ) ( )X p Y p y 1 1( ( ( ))) ( )X pos Y p X p

Siempre que 1 1( ( ))p pos Y p

Donde: 1 1, ( ( )) xp pos Y p P , xP es el conjunto de todas las posiciones de X .

(31)

Page 49: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

37

Conforme el valor 1p tienda a 1n la probabilidad de intercambio va disminuyendo hasta

ser cero cuando 1p lo iguala. Por lo tanto, la probabilidad de intercambio del elemento de X

está totalmente sujeta a la posición en X del elemento en Y .

Por otra parte, un acercamiento directo (“lineal”) limita el espacio a ser explorado (fig.7).

Es preferible realizar un acercamiento al nuevo punto de forma un poco errante (fig.8). Esto se

puede obtener haciendo una perturbación de la distancia usando intercambios estocásticos.

Esta operación, que trabaja en conjunto con la restricción de intercambio, tiene como objetivo

tener varias posiciones de tipo ' nX S ya evaluadas al final del proceso. Es decir, no solo se

evalúa la posición final 1tX , sino toda una trayectoria válida. Esta es la principal ventaja que

este operador tiene con respecto a otros operadores como el cruce parcial (PMX), el cual, no

proporcionó la diversidad necesaria para que el algoritmo propuesto convergiera a soluciones

buenas. La desventaja es que necesita de un número de intentos de intercambios mayor a n .

Las pruebas realizadas muestran que 3n intentos son suficientes para hacer el cruce

estocástico.

La evaluación parcial de los puntos de la trayectoria no implica evaluar toda la función de

aptitud. Esto incrementaría en demasía el tiempo de ejecución. Para solucionar este problema

se evalúa de forma parcial f en y .

, , , , , , , , , , , , , , , ,( , , , , , ) ( ( )) ( )parcial i j k l m n i m k l j n aptitud i j k l m n i m k l j nf X C c c c c X c c c c

Donde: C es la matriz de costos, , , , ,,i j k l m nc c C son los costos antes del

intercambio de j y m , , , , ,,i m k l j nc c C son los costos después del intercambio de las

posiciones j y m

(32)

A continuación se describe el operador de velocidad incluyendo el proceso de intercambio

de un elemento de X con el operador previamente descrito:

1( ( , )) ( , , )kdist Y X X Y p (33)

Page 50: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

38

donde 1 ( )kp aleatorio n en el intento k de intercambio y donde 1,2,.. 3k n

Figura 7. Analogía de un movimiento lineal donde se muestra como se puede dejar fuera posiciones prometedoras

Figura 8. Analogía de un movimiento errante, el cual, tiene más probabilidades de encontrar mejores posiciones en su trayecto.

4.1.7. Suma

Redefinición (Suma de velocidades). La definición clásica lo describe como una suma

aritmética de dos números reales cuyo resultado es la velocidad. Esto permite una

combinación lineal de un punto accesible, iP y iG . Debido a que no es posible realizar una

combinación directa en el espacio discreto de los tres componentes que resulte en un número

real, la suma se puede redefinir de dos formas.

Page 51: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

39

El operador de suma de dos velocidades es la probabilidad de seleccionar a iP y iG para

perturbar a tX (usando ) y así producir 1tnX S . Para ello los coeficientes de confianza

2c y 3c se fijan con un valor de uno. Por lo tanto, la probabilidad de la selección de una de las

dos componentes está fija en 12

. Un número real aleatorio 0,1a se genera para ser el

selector.

1 ( ( , ) ( ( , )t t ti i i i iX dist P X dist G X (34)

Debido a que la partícula tiene ajustados sus coeficientes de confianza al mismo nivel, la

partícula i “salta” en cada iteración hacia su mejor posición previa ó hacía el mejor

informante encontrado en la iteración t .

Por otra parte, el operador de suma de dos velocidades es una secuencia de

perturbaciones sobre tX (usando ) de tal forma que el resultado final sea 1tnX S . El

resultado de la primera perturbación es nY S , es decir, sigue siendo una posición valida en el

espacio de búsqueda. La primera perturbación es hecha con respecto a iP , mientras que la

segunda considera a iG .

1 ( ( , ) ( ( , )t t ti i i i iX dist P X dist G X (35)

Lo que es equivalente a realizar una composición del operador de la siguiente forma:

1 ( ( , ( ( , ))))t ti i iX dist G dist P X (36)

Se observa que en cada iteración t , la partícula tiende a regresar a su mejor posición previa

para luego alejarse hacia un informante. Este comportamiento resulta beneficioso para la

partícula porque de manera implícita existe una búsqueda local. Cada vez que la partícula se

aleja para después regresar, el vecindario de su mejor posición previa es explorado. En

consecuencia, es factible que se mejore el valor de la posición previa en algún punto cercano

al óptimo local (fig. 9). Este comportamiento también se observa con el operador , pero de

Page 52: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

40

forma menos directa y, además, se obtienen resultados más favorables con . Sin embargo, el

operador implica más costo computacional debido a que siempre se realizan dos

perturbaciones en cada iteración.

En ambos operadores está implícito el operador Desplazamiento (posición, velocidad)

posición. Cada perturbación sobre tX implica un cambio en su posición.

En ambas definiciones w es ignorado debido a que la velocidad es un operador sobre tX .

La primera componente de la definición clásica de velocidad no contiene a la posición,

entonces, y por analogía, el operador de velocidad no puede aplicarse en el caso discreto en

ausencia de tX . Esto es equivalente a decir que la velocidad inicial es igual a cero.

Figura 9. Analogía de un movimiento aplicando el operador .

Page 53: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

41

4.2 Implementación.

4.2.1 Número aleatorios

La heurística de optimización por enjambre de partículas depende ampliamente de procesos

estocásticos. Algunos ejemplos donde se requieren son en la inicialización del enjambre y en

los operadores 1r y 2r . El algoritmo propuesto necesita de la aleatoriedad en el operador en ,

y en otros más.

Las librerías que comúnmente están incorporadas en los compiladores tanto libres como

comerciales no son buenos generadores de números pseudo-aleatorios. Esto se refleja en un

pobre rendimiento de los algoritmos que las utilizan.

El generador de números pseudo-aleatorios KISS de Marsaglia cumple con todas las

pruebas estadísticas estándar que se emplean para garantizar la calidad de los generadores

(Marsaglia, 1999). Sin embargo, este presenta una desventaja: tiene un alto consumo de

tiempo. Por lo tanto, es necesario implementar un mecanismo que ayude a reducir ese

inconveniente cuando el algoritmo principal utilice con mucha frecuencia el generador de

Marsaglia. La solución se obtiene con la generación de una matriz de números psudo-

aleatorios (usando KISS) de un tamaño suficiente para garantizar un comportamiento bueno

del método implementado. Las pruebas hechas indican que un tamaño de 3200 ( 3)n es

suficiente. La matriz aleatoria se define como:

, 3200 ( 3)( )i j nA a

Donde: ,i ja es el i esimo número aleatorio en su posición j y , 1, 2..,i ja n

(37)

Para los casos donde no es necesario o se imposibilita el uso de A se utiliza una función alea que utiliza directamente el generador KISS de Marsaglia.

( ) (0,1) ( ))na alea ARGUMENTO KISS ARGUMENTO , donde

1, 2..,na ARGUMENTO

(38)

Page 54: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

42

4.2.2 Inicialización de las partículas

Frecuentemente la condición de la población inicial, hasta cierto punto, afecta la calidad de

la solución o la velocidad de convergencia de la población (Jun-qing Li, et al. 2009). Por lo

tanto, es de gran ayuda utilizar el conocimiento que se tiene del problema a tratar. Algunas

veces, el espacio de búsqueda puede contener varias propiedades que se pueden tomar en

cuenta para inicializar las partículas. Para el problema 3AP, no existe alguna característica

clara que pueda ayudar a una buena inicialización. Solo se sabe que una característica deseable

en el enjambre es que tenga mucha diversidad. Para lograrlo, se debe implementar un método

que inicialice las partículas de manera aleatoria con una distribución uniforme. Además, debe

cumplir con las restricciones de (26). Existe la alternativa de implementar un método auxiliar,

pero no es el objetivo de este proyecto. En lugar de eso, se decidió implementar el algoritmo

en paralelo.

El procedimiento de inicialización del enjambre ( inienjambre ) toma como parámetro la

partícula i a ser inicializada así como a la componente o . Se genera un conjunto de

números aleatorios y a cada uno de ellos es asignado a la correspondiente posición de la

partícula i .

Para la implementación, la partícula es una estructura que contiene los componentes de la

posición actual, su memoria de conocimiento e información sobre los informantes.

Partícula { y los cuales definen la posición actual de la partícula. aptitud Almacena la aptitud actual p y p los cuales definen la mejor posición previa de la partícula maptitudp Almacena la mejor aptitud previa encontrada inf[ ]NUMINF Arreglo que contiene NUMINF informantes mejorInf Mejor informante del arreglo inf } El algoritmo de inicialización de partículas es el siguiente:

1: Inicializar una lista lineal ( Lista ) de n nodos Donde 1, 2,..Lista n

Page 55: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

43

2: rango n // Se determina el rango de números a ser seleccionados 3: Para 0j hasta 1n 4 ( )na alea rango 5: Inicializar ( [ ] [ ])i j Lista na o ( [ ] [ ])i j Lista na 6: [ ]Lista Lista Lista na 7: 1rango rango

4.2.3 Aptitud de las partículas.

Es necesario calcular la aptitud de cada elemento del enjambre. Esto permite determinar la

mejor partícula de la población ( mejorglobal ). Por otra parte, cada iP se inicializa con la

posición inicial ( y ), por lo que la mejor aptitud previa es igual a la aptitud actual. Este

proceso solo se ejecuta una vez. La razón se debe a que la actualización de estas variables está

implícita en el algoritmo principal. El procedimiento aptitudparticulas se describe como:

1: 0mejorglobal

2: Para 0i hasta 1n

3: ( , )i i iaptitud f

4: i imaptitudp aptitud

5: ( , ) ( , )i i i ip p

6: Si i mejorglobalaptitud aptitud

7: mejorglobal i

4.2.4. Informantes

Los informantes de cada partícula son redefinidos de forma aleatoria en cada iteración t .

Pruebas realizadas indican que un número pequeño de informantes es suficiente para

retransmitir el rumor en el enjambre. El mejor informante es aquel cuya mejor aptitud previa

es mejor que la de los demás.

La naturaleza de 3AP hace que un número grande de informantes no sea buena idea. Como

se selecciona solo al mejor, muchas partículas con mal desempeño tienen más posibilidades de

Page 56: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

44

no ser seleccionadas. Existe la probabilidad de que se ignoren algunas partículas con una

pobre aptitud previa aunque sean la antesala a un óptimo local. Esto es un problema porque

limita la diversidad (Incluso en PSO clásico es deseable garantizar la diversidad).

El método selI selecciona al mejor informante 0k :

1: Para 0i hasta 1n

2: Para 0k hasta 1NUMINF

3: inf [ ] ( )i k alea NUMPARTICULAS

4: 0inf [ ]i imejorInf k

4.2.5 Método principal

1: Establecer los parámetros del algoritmo ( , , ,NUMPARTICULAS n NUMINF NUMCICLOS )

2: _A inicializa A

3: _ ( , )C Inicializa C archivo n // Inicializar la matriz de costos

4: ()inienjambre //inicializar las dos componentes y de cada partícula

5: aptitudparticulas

6: Para 1j hasta NUMCICLOS

7: selI // Estable los informantes

8: Para 0i hasta NUMPARTICULAS

9: 1 ( ( , ) ( ( , )t t ti i i i idist P dist G // o usar 1 ( ( , ( ( , ))))t t

i i idist G dist P

10: 1 ( ( , ) ( ( , )t t ti i i i idist P dist G // o usar 1 ( ( , ( ( , ))))t t

i i idist G dist P

11: Reportar mejorglobal

4.3 Implementación distribuida

La optimización por enjambre de partículas tiene características que lo hacen factible de

paralelizar. Una de ellas es el manejo de sub-poblaciones independientes en un conjunto de

computadoras interconectadas que trabajan, de manera cooperativa, por medio de protocolos

de paso de mensajes (clúster) con alguna topología de migración (Castro Liera, et al. 2011).

Page 57: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

45

En cada nodo del clúster, se ejecuta el algoritmo para después intercambiar información en

etapas definidas por un periodo migratorio. La información que se intercambia junto con el

periodo migratorio son factores que se deben ajustar de forma adecuada para no afectar el

rendimiento del algoritmo.

Las ventajas de una implementación en paralelo de PSO son el aumento de la diversidad de

las soluciones así como una reducción en el tiempo de ejecución.

Para implementar un algoritmo distribuido se puede utilizar software libre como PVM

(Parallel Virtual Machine) o MPI (Message Passing Interface). Para este proyecto se utiliza

PVM. Con este software se puede configurar una máquina paralela virtual compuesta por

varios equipos de cómputo. PVM, aprovecha los núcleos de los procesadores más modernos lo

que incrementa el poder de procesamiento.

En PVM es necesario establecer un nodo maestro. En este lugar se ejecuta el código

principal del programa. Este a su vez, engendra los procesos esclavos tanto en el equipo

maestro como en los nodos del clúster.

Si la topología de migración es centralizada, todos los nodos envían su información al nodo

maestro, posteriormente, este envía otra información a los esclavos. Por otra parte, si la

topología es anillo, cada nodo envía a otro nodo previamente establecido la información. Al

final de todo el proceso, el nodo maestro recibe la información para seguir con el proceso

final.

Para la implementación de este proyecto se utilizó Fedora 14 que es una distribución

basada en el sistema operativo Linux, el cual, es un kernel multitarea muy estable, libre y que

permite la instalación de PVM sin dificultad (Apéndice A). En Fedora 14, se puede definir un

entorno muy completo de administración del clúster a través de archivos por lotes y

comandos.

Page 58: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

46

4.3.1 Proceso maestro

Las pruebas realizadas indicaron que la topología en anillo no proporciona un buen

desempeño al algoritmo. Por lo tanto, el algoritmo propuesto trabaja sobre un entorno

centralizado de la siguiente manera: el proceso maestro lanza los procesos esclavos. Si se

utiliza la opción de convergencia rápida, se reciben las mejores partículas de todos los nodos

cada 1,200 ciclos. En cada migración el proceso envía todas las partículas recibidas a todos los

nodos. El siguiente paso es muy similar a la convergencia rápida. La diferencia es el periodo

migratorio ( PM ).

El proceso del nodo maestro se describe de la siguiente manera.

1: Definir PM , NUMNODOS

2: ( _ , )engendra procesos esclavos NUMNODOS

3: Para 0i hasta NUMNODOS

4: _ ( )ienviar parametros nodo

5: ( _ _ )si usar convergencia rapida

6: Para 0i hasta 10

7: Para 0j hasta NUMNODOS

8: ( , , ) _ _aptitud recibe cualquier nodo

9: japtitud aptitud

10: j

11: j

12: Para 0j hasta NUMNODOS

13: Para 0k hasta NUMNODOS

14: _ _ ( , , , )k k k jenviar al nodo aptitud nodo 15: Para 0i hasta 1PM

16: Para 0j hasta NUMNODOS

17: ( , , ) _ _aptitud recibe cualquier nodo

Page 59: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

47

18: japtitud aptitud

19: j

20: j

21: Para 0j hasta NUMNODOS

22: Para 0k hasta NUMNODOS

23: _ _ ( , , , )k k k jenviar al nodo aptitud nodo 24: .mejor aptitud

25: Para 0j hasta NUMNODOS

26: ( , , ) _ _aptitud recibe cualquier nodo

27: japtitud aptitud

28: j

29: j

30: ( _ )jsi aptitud mejor aptitud

31: _ jmejor aptitud aptitud

32: _ jmejor

33 _ jmejor

4.3.2 El proceso esclavo

Este proceso se encarga de ejecutar el código principal del programa. Modifica la posición

y calcula la aptitud de las partículas. Cada cierto periodo, envía la mejor partícula al nodo

maestro y se pone en espera para recibir las mejores partículas de los demás nodos.

El proceso esclavo se describe de la siguiente manera:

1: Establecer los parámetros del algoritmo ( , , ,NUMPARTICULAS n NUMINF NUMCICLOS )

2: _ ( )recibe parámetros maestro

2: _A inicializa A

Page 60: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

48

3: _ ( , )C Inicializa C archivo n // Inicializar la matriz de costos

4: ()inienjambre //inicializar las dos componentes y de cada partícula

5: aptitudparticulas

6: ( _ _ )si usar convergencia rápida

6: Para 1j hasta 12000

7: selI // Estable los informantes

8: Para 1i hasta NUMPARTICULAS

9: 1 ( ( , ( ( , ))))t ti i idist G dist P

10: 1 ( ( , ( ( , ))))t ti i idist G dist P

11: (( mod1200) 0)si j

12: _ _ _ ( , , )mejorglobal mejorglobal mejorglobalenviar al nodo maestro maptitudp p p

13: para 1i hasta NUMNODOS

14 _ _ ( , , )recibe de maestro aptitud

15: ( )mejorglobalsi aptitud maptitudp

16: para 1k hasta ASIGNACIONES

17: ( )índice alea NUMPARTICULAS

18: índicemaptitudp aptitud

19: índicep

20: índicep

21: ( )índice mejorglobalsi maptitudp maptitudp

22: mejorglobal índice

23: Para 1j hasta NUMCICLOS

24: selI // Estable los informantes

25: Para 0i hasta NUMPARTICULAS

26: 1 ( ( , ) ( ( , )t t ti i i i idist P dist G // o usar 1 ( ( , ( ( , ))))t t

i i idist G dist P

27: 1 ( ( , ) ( ( , )t t ti i i i idist P dist G // o usar 1 ( ( , ( ( , ))))t t

i i idist G dist P

Page 61: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

49

28: (( mod ) 0) ( _ 1)si j PM migraciones hechas PM

29: _ _ _ ( , , )mejorglobal mejorglobal mejorglobalenviar al nodo maestro maptitudp p p

30: para 1i hasta NUMNODOS

31: _ _ ( , , )recibe de maestro aptitud

32: para 1k hasta ASIGNACIONES

33: ( )índice alea NUMPARTICULAS

34: índicemaptitudp aptitud

35: índicep

36: índicep

37: ( )índice mejorglobalsi maptitudp maptitudp

38: mejorglobal índice

39: _ _ ( , , )mejorglobal mejorglobal mejorglobalenviar al maestro maptitudp p p

Pruebas realizadas indican que es posible alcanzar óptimos locales con 10 migraciones de

12,000 ciclos para n ’s grandes usando el operador . Sin embargo, después de las 10

migraciones se encuentra difícil encontrar mejoras en los resultados. Esto provoca que se

aumente el número de ciclos del algoritmo con el objetivo de encontrar mejores aptitudes.

Utilizar el operador , después de las 10 migraciones de 1200 ciclos, hace más tardado la

ejecución del algoritmo. Por lo tanto, se utiliza el operador en las próximas PM

migraciones.

4.4 Resultados experimentales

El código está implementado en su mayoría en el lenguaje C (Con algunas funcionalidades

de C++ para el manejo de memoria) y está compilado con GCC. Las pruebas fueron hechas

en un clúster homogéneo de 15 equipos de cómputo con las características mostradas en la

tabla I.

Page 62: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

50

Tabla I. Característica de los equipos de cómputo utilizados en las pruebas

Característica Descripción Marca Dell Microprocesador Pentium Core 2 Duo de 2.6 Ghz Memoria RAM 2 GB

Para probar el algoritmo se utilizaron dos conjuntos de datos estándar. El primero es el

conjunto de Balas y Saltzman (B-S) el cual consiste de 60 instancias de prueba. Le

corresponden 5 instancias a cada problema de acuerdo al valor de n . Los problemas son

4,6,8,10,12,14,16,18,20, 22, 24, 26n . Los coeficientes de C se generan de manera aleatoria

con una distribución uniforme en el intervalo de [0,100]. El segundo conjunto usado es el de

Crama y Spieksma (C-S). Este conjunto es generado haciendo una restricción en los

coeficientes , , , , ,i j k i j i k j kC d d d . Consiste de tres tipos de problemas compuestos por tres

instancias de 33n y 66n .

Antes de ejecutar el algoritmo para las pruebas finales, hubo una etapa de refinamiento del

algoritmo. Esta concluyó cuando el algoritmo arrojó resultados más consistentes. Finalmente,

Los dos conjuntos se probaron con la configuración de parámetros definidos en la Tabla II.

El resultado de cada problema del conjunto de Balaz y Saltzman es el promedio de los 5

sub-problemas que lo integran. El algoritmo se ejecutó una sola vez para todos los problemas

incluyendo al conjunto de Crama.

Para cada experimento se presentan tres tablas. En la primera se muestra de forma

independiente el resultado obtenido junto con el tiempo que tomo la ejecución. En la segunda,

se hace una comparación con los otros métodos. En la última tabla, se muestra otro criterio

para hacer la comparación. Los valores son el resultado de dividir el valor obtenido por cada

algoritmo entre el óptimo global. Por lo tanto, si el valor es muy cercano o igual a uno, el

resultado es bueno.

Page 63: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

51

Tabla II. Descripción de las pruebas implementadas

Prueba Partículas Conjunto Nodos Migraciones con Migraciones con 1 600 B-S 30 10 cada 120 ciclos 0 2 600 B-S 30 10 cada 1,200 0 3 600 B-S 30 10 cada 1,200 10 cada 1,200 ciclos 4 600 B-S 30 10 cada 1,200 10 cada 12,000 ciclos 5 600 C-S 30 10 cada 120 ciclos 0 6 600 C-S 30 10 cada 1,200 0 7 600 C-S 30 10 cada 1,200 10 cada 1,200 ciclos 8 600 C-S 30 10 cada 1,200 10 cada 12,000 ciclos

4.4.1 Resultados usando el conjunto de Balas y Saltzman.

La tabla III muestra los resultados obtenidos al utilizar 10 migraciones cada 120 ciclos

utilizando el operador . Se observa en la tabla IV que el algoritmo alcanza el óptimo para

12n y que, como lo muestra la tabla V, para 14 15n el resultado ya es muy aceptable.

Tabla III. Resultado de la prueba 1.

n Resultado Tiempo (segundos)

4 42.2 1.20 6 40.2 1.69 8 23.8 2.06 10 19 2.48 12 15.6 2.94 14 10.2 3.45 16 12.8 3.99 18 11.4 4.58 20 16 5.07 22 22.8 5.48 24 20.8 6.09 26 27.8 6.39

Page 64: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

52

Tabla IV. Comparación de los resultados de la prueba 1.

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO) 4 42.2 43.2 - 42.2 42.2 42.2 42.2 42.2 6 40.2 45.4 - 40.2 40.2 40.2 40.2 40.2 8 23.8 33.6 - 33.6 23.8 23.8 23.8 23.8 10 19 40.8 - 22.6 19 19 19 19 12 15.6 24 15.6 26.2 15.6 15.6 15.6 15.6 14 10 22.4 10 26.4 10 12.6 10 10.2 16 10 25 10.2 26 10 14.2 10 12.8 18 6.4 17.6 7.4 24.6 7.2 12.6 8.2 11.4 20 4.8 27.4 6.4 26.8 5.2 14.2 6.2 16 22 4 18.8 7.8 26.4 5.6 17 7.6 22.8 24 1.8 14 7.4 23.2 3.2 15 6.6 20.8 26 1.3 15.7 8.4 23.2 3.6 15.2 7 27.8

Tabla V. Comparación de los resultados de la prueba 1 usando /resultado óptimo .

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO)

4 42.2 1.02 - 1.00 1.00 1.00 1.00 1.00 6 40.2 1.13 - 1.00 1.00 1.00 1.00 1.00 8 23.8 1.41 - 1.41 1.00 1.00 1.00 1.00

10 19 2.15 - 1.19 1.00 1.00 1.00 1.00 12 15.6 1.54 1.00 1.68 1.00 1.00 1.00 1.00 14 10 2.24 1.00 2.64 1.00 1.26 1.00 1.02 16 10 2.50 1.02 2.60 1.00 1.42 1.00 1.28 18 6.4 2.75 1.16 3.84 1.13 1.97 1.28 1.78 20 4.8 5.71 1.33 5.58 1.08 2.96 1.29 3.33 22 4 4.70 1.95 6.60 1.40 4.25 1.90 5.70 24 1.8 7.78 4.11 12.89 1.78 8.33 3.67 11.56 26 1.3 12.08 6.46 17.85 2.77 11.69 5.38 21.38

La tabla VI muestra los resultados de la prueba 2 para el conjunto de Balaz y Saltzman. Se

aprecia que los resultados mejoraron significativamente para 20n . La tabla VII y VIII

muestran que los resultados obtenidos igualan o superan a todos los resultados del algoritmo

de Balaz y Saltzman. También se aprecia que los resultados son idénticos a los de GRASP

Page 65: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

53

para 14n y que para 14n son muy similares. Se observa que, en general, los resultados

son buenos.

Tabla VI. Resultados de la prueba 2.

n Resultado Tiempo (segundos)

4 42.2 7.38 6 40.2 12.16 8 23.8 15.37

10 19 19.93 12 15.6 24.57 14 10 28.16 16 10.4 31.91 18 7.8 37.59 20 7.6 42.47 22 9.8 46.51 24 9.8 53.38 26 10.2 55.71

Tabla VII. Comparación de los resultados de la prueba 2.

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO) 4 42.2 43.2 - 42.2 42.2 42.2 42.2 42.2 6 40.2 45.4 - 40.2 40.2 40.2 40.2 40.2 8 23.8 33.6 - 33.6 23.8 23.8 23.8 23.8 10 19 40.8 - 22.6 19 19 19 19 12 15.6 24 15.6 26.2 15.6 15.6 15.6 15.6 14 10 22.4 10 26.4 10 12.6 10 10 16 10 25 10.2 26 10 14.2 10 10.4 18 6.4 17.6 7.4 24.6 7.2 12.6 8.2 7.8 20 4.8 27.4 6.4 26.8 5.2 14.2 6.2 7.6 22 4 18.8 7.8 26.4 5.6 17 7.6 9.8 24 1.8 14 7.4 23.2 3.2 15 6.6 9.8 26 1.3 15.7 8.4 23.2 3.6 15.2 7 10.2

Page 66: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

54

Tabla VIII. Comparación de los resultados de la prueba 2 usando /resultado óptimo

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO)

4 42.2 1.02 - 1.00 1.00 1.00 1.00 1.00

6 40.2 1.13 - 1.00 1.00 1.00 1.00 1.00

8 23.8 1.41 - 1.41 1.00 1.00 1.00 1.00

10 19 2.15 - 1.19 1.00 1.00 1.00 1.00

12 15.6 1.54 1.00 1.68 1.00 1.00 1.00 1.00

14 10 2.24 1.00 2.64 1.00 1.26 1.00 1.00

16 10 2.50 1.02 2.60 1.00 1.42 1.00 1.04

18 6.4 2.75 1.16 3.84 1.13 1.97 1.28 1.22

20 4.8 5.71 1.33 5.58 1.08 2.96 1.29 1.58

22 4 4.70 1.95 6.60 1.40 4.25 1.90 2.45

24 1.8 7.78 4.11 12.89 1.78 8.33 3.67 5.44

26 1.3 12.08 6.46 17.85 2.77 11.69 5.38 7.85

Los resultados obtenidos para la prueba 3 sobre el conjunto de Balaz-Saltzman mostrados

en la tabla IX muestran una notable mejoría para 14n . Las tablas X y XI indican que no

solo se supera a Balaz-Saltzman sino que también a MultiFO y Multirestart-Hung. Por otra

parte, la diferencia entre S-Fant-Hung, GRASP es muy pequeña.

Tabla IX. Resultados de la prueba 3.

n Resultado Tiempo (segundos)

4 42.2 10.51 6 40.2 12.80 8 23.8 20.57 10 19 26.12 12 15.6 31.29 14 10.2 36.22 16 10.2 41.61 18 7.4 47.86 20 7.2 55.58 22 8 59.96 24 8 67.54 26 9 72.68

Page 67: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

55

Tabla X. Comparación de los resultados de la prueba 3.

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO) 4 42.2 43.2 - 42.2 42.2 42.2 42.2 42.2 6 40.2 45.4 - 40.2 40.2 40.2 40.2 40.2 8 23.8 33.6 - 33.6 23.8 23.8 23.8 23.8 10 19 40.8 - 22.6 19 19 19 19 12 15.6 24 15.6 26.2 15.6 15.6 15.6 15.6 14 10 22.4 10 26.4 10 12.6 10 10.2 16 10 25 10.2 26 10 14.2 10 10.2 18 6.4 17.6 7.4 24.6 7.2 12.6 8.2 7.4 20 4.8 27.4 6.4 26.8 5.2 14.2 6.2 7.2 22 4 18.8 7.8 26.4 5.6 17 7.6 8 24 1.8 14 7.4 23.2 3.2 15 6.6 8 26 1.3 15.7 8.4 23.2 3.6 15.2 7 9

Tabla XI. Comparación de los resultados de la prueba 3 usando /resultado óptimo

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO)

4 42.2 1.02 - 1.00 1.00 1.00 1.00 1.00

6 40.2 1.13 - 1.00 1.00 1.00 1.00 1.00

8 23.8 1.41 - 1.41 1.00 1.00 1.00 1.00

10 19 2.15 - 1.19 1.00 1.00 1.00 1.00

12 15.6 1.54 1.00 1.68 1.00 1.00 1.00 1.00

14 10 2.24 1.00 2.64 1.00 1.26 1.00 1.02

16 10 2.50 1.02 2.60 1.00 1.42 1.00 1.02

18 6.4 2.75 1.16 3.84 1.13 1.97 1.28 1.16

20 4.8 5.71 1.33 5.58 1.08 2.96 1.29 1.50

22 4 4.70 1.95 6.60 1.40 4.25 1.90 2.00

24 1.8 7.78 4.11 12.89 1.78 8.33 3.67 4.44

26 1.3 12.08 6.46 17.85 2.77 11.69 5.38 6.92

La prueba 4 para el conjunto de Balaz y Saltzman generó los mejores resultados (tabla XII).

Sin embargo, el tiempo de ejecución se incrementó considerablemente debido al aumento de

operaciones requeridas. Se aprecia en la tabla XIII y XIV que los resultados son superiores a

los obtenidos por GRASP y S-FANT-HUNG. Además, la diferencia con FOGA es muy

pequeña.

Page 68: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

56

Tabla XII. Resultados de la prueba 4.

n Resultado Tiempo (segundos)

4 42.2 31.80 6 40.2 50.07 8 23.8 60.47 10 19 77.57 12 15.6 91.69 14 10 104.8 16 10 118.6 18 6.8 133.40 20 5.6 155.40 22 6 171.40 24 4.8 196.20 26 6 211.40

Tabla XIII. Comparación de los resultados de la prueba 4.

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO) 4 42.2 43.2 - 42.2 42.2 42.2 42.2 42.2 6 40.2 45.4 - 40.2 40.2 40.2 40.2 40.2 8 23.8 33.6 - 33.6 23.8 23.8 23.8 23.8 10 19 40.8 - 22.6 19 19 19 19 12 15.6 24 15.6 26.2 15.6 15.6 15.6 15.6 14 10 22.4 10 26.4 10 12.6 10 10 16 10 25 10.2 26 10 14.2 10 10 18 6.4 17.6 7.4 24.6 7.2 12.6 8.2 6.8 20 4.8 27.4 6.4 26.8 5.2 14.2 6.2 5.6 22 4 18.8 7.8 26.4 5.6 17 7.6 6 24 1.8 14 7.4 23.2 3.2 15 6.6 4.8 26 1.3 15.7 8.4 23.2 3.6 15.2 7 6

Page 69: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

57

Tabla XIV. Comparación de los resultados de la prueba 4 usando /resultado óptimo

n Óptimo Balaz-Saltzman

GRASP with pathrelinking

MultiFO FOGA MultiRestart-Hung

S-FANT-HUNG

Algoritmo propuesto

(PSO)

4 42.2 1.02 - 1.00 1.00 1.00 1.00 1.00

6 40.2 1.13 - 1.00 1.00 1.00 1.00 1.00

8 23.8 1.41 - 1.41 1.00 1.00 1.00 1.00

10 19 2.15 - 1.19 1.00 1.00 1.00 1.00

12 15.6 1.54 1.00 1.68 1.00 1.00 1.00 1.00

14 10 2.24 1.00 2.64 1.00 1.26 1.00 1.00

16 10 2.50 1.02 2.60 1.00 1.42 1.00 1.00

18 6.4 2.75 1.16 3.84 1.13 1.97 1.28 1.06

20 4.8 5.71 1.33 5.58 1.08 2.96 1.29 1.17

22 4 4.70 1.95 6.60 1.40 4.25 1.90 1.50

24 1.8 7.78 4.11 12.89 1.78 8.33 3.67 2.67

26 1.3 12.08 6.46 17.85 2.77 11.69 5.38 4.62

Page 70: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

58

4.4.2 Resultados usando el conjunto de Crama y Spieksma

La tabla XV muestra los resultados obtenidos para la prueba 5 del conjunto Crama-

Spieksma. Como lo muestran las tablas XVI y XVII el algoritmo presenta buenos resultados

aun cuando el número de ciclos de ejecución es muy pequeño. Supera en su totalidad a la

búsqueda por entornos y, en comparación con los demás, los resultados son muy competitivos.

Tabla XV. Resultados de la prueba 5.

Caso n

Resultado Tiempo (seg)

3DA99N1 33 1608 6.11 3DA99N2 33 1401 6.12 3DA99N3 33 1604 6.27

3DA198N1 66 2666 12.98 3DA198N2 66 2460 11.62 3DA198N3 66 2767 11.79 3DIJ99N1 33 4797 6.08 3DIJ99N2 33 5057 6.79 3DIJ99N3 33 4287 6.81 3DI198N1 66 9708 14.97 3DI198N2 66 8956 14.45 3DI198N3 66 9757 14.78 3D1299N1 33 133 5.91 3D1299N2 33 131 6.02 3D1299N3 33 131 6 3D1198N1 66 286 11.52 3D1198N2 66 286 11.80 3D1198N3 66 283 11.36

Tabla XVI. Comparación de los resultados de la prueba 5.

Caso n

Óptimo Crama y Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO) 3DA99N1 33 1607 1618 1608 1608 1608 - 1608 3DA99N2 33 1395 1411 1401 1401 1401 - 1401 3DA99N3 33 1604 1609 1604 1604 1604 - 1604

3DA198N1 66 2654 2668 2664 2662 2662 - 2666 3DA198N2 66 2433 2469 2449 2449 2449 - 2460 3DA198N3 66 2748 2775 2759 2758 2758 - 2767 3DIJ99N1 33 4772 4861 4797 4797 4797 - 4797 3DIJ99N2 33 2035 5142 5068 5068 5067 - 5057 3DIJ99N3 33 4260 4352 4287 4287 4287 - 4287 3DI198N1 66 9633 9780 9694 9687 9684 - 9708 3DI198N2 66 8831 9142 8954 8947 8944 - 8956 3DI198N3 66 9670 9888 9751 9747 9745 - 9757 3D1299N1 33 133 135 133 133 133 133 133 3D1299N2 33 130 137 131 132 131 133 131 3D1299N3 33 130 135 131 131 131 131 131 3D1198N1 66 283 293 286 287 286 302 286 3D1198N2 66 281 294 286 286 286 295 286 3D1198N3 66 280 293 282 283 282 306 283

Page 71: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

59

Tabla XVII. Comparación de los resultados de la prueba 5 usando /resultado óptimo .

Caso n Óptimo Cramay Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO)

3DA99N1 33 1607 1.007 1.001 1.001 1.001 - 1.001

3DA99N2 33 1395 1.011 1.004 1.004 1.004 - 1.004

3DA99N3 33 1604 1.003 1.000 1.000 1.000 - 1.000

3DA198N1 66 2654 1.005 1.004 1.003 1.003 - 1.005

3DA198N2 66 2433 1.015 1.007 1.007 1.007 - 1.011

3DA198N3 66 2748 1.010 1.004 1.004 1.004 - 1.007

3DIJ99N1 33 4772 1.019 1.005 1.005 1.005 - 1.005

3DIJ99N2 33 2035 2.527 2.490 2.490 2.490 - 2.485

3DIJ99N3 33 4260 1.022 1.006 1.006 1.006 - 1.006

3DI198N1 66 9633 1.015 1.006 1.006 1.005 - 1.008

3DI198N2 66 8831 1.035 1.014 1.013 1.013 - 1.014

3DI198N3 66 9670 1.023 1.008 1.008 1.008 - 1.009

3D1299N1 33 133 1.015 1.000 1.000 1.000 1.000 1.000

3D1299N2 33 130 1.054 1.008 1.015 1.008 1.023 1.008

3D1299N3 33 130 1.038 1.008 1.008 1.008 1.008 1.008

3D1198N1 66 283 1.035 1.011 1.014 1.011 1.067 1.011

3D1198N2 66 281 1.046 1.018 1.018 1.018 1.050 1.018

3D1198N3 66 280 1.046 1.007 1.011 1.007 1.093 1.011

La tabla XVIII muestra los resultados de la prueba 6 para el conjunto de Crama-spieksma.

Se aprecian mejorías en algunos resultados y, como lo muestran las tablas XIX y XX, los

resultados superan en su totalidad a los obtenidos por Crama-Spieksma y son muy similares a

los obtenidos por GRASP y MultiFO. Por otra parte, los valores se mantienen muy cerca de

FOGA.

Page 72: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

60

Tabla XVIII. Resultados obtenidos de la prueba 6.

Caso n

Resultado Tiempo (seg)

3DA99N1 33 1608 50.86 3DA99N2 33 1401 52.31 3DA99N3 33 1604 56.98

3DA198N1 66 2666 114.02 3DA198N2 66 2452 109.54 3DA198N3 66 2758 105.24 3DIJ99N1 33 4797 55.34 3DIJ99N2 33 5067 55.30 3DIJ99N3 33 4287 53.25 3DI198N1 66 9686 114.59 3DI198N2 66 8947 110.76 3DI198N3 66 9749 113.38 3D1299N1 33 133 50.41 3D1299N2 33 131 52.71 3D1299N3 33 131 51.35 3D1198N1 66 286 97.96 3D1198N2 66 286 104.18 3D1198N3 66 282 97.99

Tabla XIX. Comparación de los resultados de la prueba 6.

Caso n

Óptimo Crama y Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO) 3DA99N1 33 1607 1618 1608 1608 1608 - 1608 3DA99N2 33 1395 1411 1401 1401 1401 - 1401 3DA99N3 33 1604 1609 1604 1604 1604 - 1604

3DA198N1 66 2654 2668 2664 2662 2662 - 2666 3DA198N2 66 2433 2469 2449 2449 2449 - 2452 3DA198N3 66 2748 2775 2759 2758 2758 - 2758 3DIJ99N1 33 4772 4861 4797 4797 4797 - 4797 3DIJ99N2 33 2035 5142 5068 5068 5067 - 5067 3DIJ99N3 33 4260 4352 4287 4287 4287 - 4287 3DI198N1 66 9633 9780 9694 9687 9684 - 9686 3DI198N2 66 8831 9142 8954 8947 8944 - 8947 3DI198N3 66 9670 9888 9751 9747 9745 - 9749 3D1299N1 33 133 135 133 133 133 133 133 3D1299N2 33 130 137 131 132 131 133 131 3D1299N3 33 130 135 131 131 131 131 131 3D1198N1 66 283 293 286 287 286 302 286 3D1198N2 66 281 294 286 286 286 295 286 3D1198N3 66 280 293 282 283 282 306 282

Page 73: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

61

Tabla XX. Comparación de los resultados de la prueba 6 usando /resultado óptimo .

Caso n Óptimo Cramay Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO)

3DA99N1 33 1607 1.007 1.001 1.001 1.001 - 1.001

3DA99N2 33 1395 1.011 1.004 1.004 1.004 - 1.004

3DA99N3 33 1604 1.003 1.000 1.000 1.000 - 1.000

3DA198N1 66 2654 1.005 1.004 1.003 1.003 - 1.005

3DA198N2 66 2433 1.015 1.007 1.007 1.007 - 1.008

3DA198N3 66 2748 1.010 1.004 1.004 1.004 - 1.004

3DIJ99N1 33 4772 1.019 1.005 1.005 1.005 - 1.005

3DIJ99N2 33 2035 2.527 2.490 2.490 2.490 - 2.490

3DIJ99N3 33 4260 1.022 1.006 1.006 1.006 - 1.006

3DI198N1 66 9633 1.015 1.006 1.006 1.005 - 1.006

3DI198N2 66 8831 1.035 1.014 1.013 1.013 - 1.013

3DI198N3 66 9670 1.023 1.008 1.008 1.008 - 1.008

3D1299N1 33 133 1.015 1.000 1.000 1.000 1.000 1.000

3D1299N2 33 130 1.054 1.008 1.015 1.008 1.023 1.008

3D1299N3 33 130 1.038 1.008 1.008 1.008 1.008 1.008

3D1198N1 66 283 1.035 1.011 1.014 1.011 1.067 1.011

3D1198N2 66 281 1.046 1.018 1.018 1.018 1.050 1.018

3D1198N3 66 280 1.046 1.007 1.011 1.007 1.093 1.007

Los resultados de la prueba 7, mostrados en la tabla XXI, muestran poca mejoría de los

valores. Pero se observa en la tabla XXII y XXIII que el número de valores similares a FOGA

es mayor.

Page 74: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

62

Tabla XXI. Resultados obtenidos de la prueba 7.

Caso n

Resultado Tiempo (seg)

3DA99N1 33 1610 64.87 3DA99N2 33 1401 66.20 3DA99N3 33 1605 63.95

3DA198N1 66 2665 128.06 3DA198N2 66 2453 118.51 3DA198N3 66 2761 146.35 3DIJ99N1 33 4797 70.47 3DIJ99N2 33 5067 78.50 3DIJ99N3 33 42.87 66.39 3DI198N1 66 9687 151.91 3DI198N2 66 8946 146.96 3DI198N3 66 9748 145.19 3D1299N1 33 133 64.98 3D1299N2 33 131 66.80 3D1299N3 33 131 66.50 3D1198N1 66 286 139.02 3D1198N2 66 286 132.52 3D1198N3 66 282 129.24

Tabla XXII Comparación de los resultados de la prueba 7.

Caso n

Óptimo Crama y Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO) 3DA99N1 33 1607 1618 1608 1608 1608 - 1610 3DA99N2 33 1395 1411 1401 1401 1401 - 1401 3DA99N3 33 1604 1609 1604 1604 1604 - 1605

3DA198N1 66 2654 2668 2664 2662 2662 - 2665 3DA198N2 66 2433 2469 2449 2449 2449 - 2453 3DA198N3 66 2748 2775 2759 2758 2758 - 2761 3DIJ99N1 33 4772 4861 4797 4797 4797 - 4797 3DIJ99N2 33 2035 5142 5068 5068 5067 - 5067 3DIJ99N3 33 4260 4352 4287 4287 4287 - 42.87 3DI198N1 66 9633 9780 9694 9687 9684 - 9687 3DI198N2 66 8831 9142 8954 8947 8944 - 8946 3DI198N3 66 9670 9888 9751 9747 9745 - 9748 3D1299N1 33 133 135 133 133 133 133 133 3D1299N2 33 130 137 131 132 131 133 131 3D1299N3 33 130 135 131 131 131 131 131 3D1198N1 66 283 293 286 287 286 302 286 3D1198N2 66 281 294 286 286 286 295 286 3D1198N3 66 280 293 282 283 282 306 282

Page 75: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

63

Tabla XXIII Comparación de los resultados de la prueba 7 usando /resultado óptimo

Caso n Óptimo Cramay Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO)

3DA99N1 33 1607 1.007 1.001 1.001 1.001 - 1.002

3DA99N2 33 1395 1.011 1.004 1.004 1.004 - 1.004

3DA99N3 33 1604 1.003 1.000 1.000 1.000 - 1.001

3DA198N1 66 2654 1.005 1.004 1.003 1.003 - 1.004

3DA198N2 66 2433 1.015 1.007 1.007 1.007 - 1.008

3DA198N3 66 2748 1.010 1.004 1.004 1.004 - 1.005

3DIJ99N1 33 4772 1.019 1.005 1.005 1.005 - 1.005

3DIJ99N2 33 2035 2.527 2.490 2.490 2.490 - 2.490

3DIJ99N3 33 4260 1.022 1.006 1.006 1.006 - 0.010

3DI198N1 66 9633 1.015 1.006 1.006 1.005 - 1.006

3DI198N2 66 8831 1.035 1.014 1.013 1.013 - 1.013

3DI198N3 66 9670 1.023 1.008 1.008 1.008 - 1.008

3D1299N1 33 133 1.015 1.000 1.000 1.000 1.000 1.000

3D1299N2 33 130 1.054 1.008 1.015 1.008 1.023 1.008

3D1299N3 33 130 1.038 1.008 1.008 1.008 1.008 1.008

3D1198N1 66 283 1.035 1.011 1.014 1.011 1.067 1.011

3D1198N2 66 281 1.046 1.018 1.018 1.018 1.050 1.018

3D1198N3 66 280 1.046 1.007 1.011 1.007 1.093 1.007

La tabla XXIV muestra los resultados obtenidos de la prueba 8 para el conjunto de Crama-

Spieksma. Las soluciones no muestran una mejoría notable en comparación con la prueba 7 y

si muestran un aumento significativo en el tiempo de ejecución. Se concluye que, para este

conjunto, no es necesario ejecutar tantos ciclos para llegar a una buena solución. Las tablas

XXV y XXVI muestran los comparativos finales.

Page 76: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

64

Tabla XXIV. Resultados obtenidos de la prueba 8.

Caso n

Resultado Tiempo (seg)

3DA99N1 33 1608 187.07 3DA99N2 33 1401 183.28 3DA99N3 33 1604 171.22

3DA198N1 66 2667 369.89 3DA198N2 66 2455 365.40 3DA198N3 66 2761 283.65 3DIJ99N1 33 4797 193.03 3DIJ99N2 33 5067 197.28 3DIJ99N3 33 4287 188.50 3DI198N1 66 9687 483.33 3DI198N2 66 8947 463.10 3DI198N3 66 9748 440.43 3D1299N1 33 133 189.89 3D1299N2 33 131 185.70 3D1299N3 33 131 180.76 3D1198N1 66 286 387.52 3D1198N2 66 286 382.27 3D1198N3 66 282 356.79

Tabla XXV. Comparación de los resultados de la prueba 8.

Caso n

Óptimo Crama y Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO) 3DA99N1 33 1607 1618 1608 1608 1608 - 1608 3DA99N2 33 1395 1411 1401 1401 1401 - 1401 3DA99N3 33 1604 1609 1604 1604 1604 - 1604

3DA198N1 66 2654 2668 2664 2662 2662 - 2667 3DA198N2 66 2433 2469 2449 2449 2449 - 2455 3DA298N3 66 2748 2775 2759 2758 2758 - 2761 3DIJ99N1 33 4772 4861 4797 4797 4797 - 4797 3DIJ99N2 33 2035 5142 5068 5068 5067 - 5067 3DIJ99N3 33 4260 4352 4287 4287 4287 - 4287 3DI198N1 66 9633 9780 9694 9687 9684 - 9687 3DI198N2 66 8831 9142 8954 8947 8944 - 8947 3DI198N3 66 9670 9888 9751 9747 9745 - 9748 3D1299N1 33 133 135 133 133 133 133 133 3D1299N2 33 130 137 131 132 131 133 131 3D1299N3 33 130 135 131 131 131 131 131 3D1198N1 66 283 293 286 287 286 302 286 3D1198N2 66 281 294 286 286 286 295 286 3D1198N3 66 280 293 282 283 282 306 282

Page 77: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

65

Tabla XXVI. Comparación de los resultados de la prueba 8 usando /resultado óptimo

Caso n Óptimo Cramay Spieksma

GRASP with pathrelinking

MultiFO FOGA Búsqueda por

entornos

Algoritmo propuesto

(PSO)

3DA99N1 33 1607 1.007 1.001 1.001 1.001 - 1.001

3DA99N2 33 1395 1.011 1.004 1.004 1.004 - 1.004

3DA99N3 33 1604 1.003 1.000 1.000 1.000 - 1.000

3DA198N1 66 2654 1.005 1.004 1.003 1.003 - 1.005

3DA198N2 66 2433 1.015 1.007 1.007 1.007 - 1.009

3DA198N3 66 2748 1.010 1.004 1.004 1.004 - 1.005

3DIJ99N1 33 4772 1.019 1.005 1.005 1.005 - 1.005

3DIJ99N2 33 2035 2.527 2.490 2.490 2.490 - 2.490

3DIJ99N3 33 4260 1.022 1.006 1.006 1.006 - 1.006

3DI198N1 66 9633 1.015 1.006 1.006 1.005 - 1.006

3DI198N2 66 8831 1.035 1.014 1.013 1.013 - 1.013

3DI198N3 66 9670 1.023 1.008 1.008 1.008 - 1.008

3D1299N1 33 133 1.015 1.000 1.000 1.000 1.000 1.000

3D1299N2 33 130 1.054 1.008 1.015 1.008 1.023 1.008

3D1299N3 33 130 1.038 1.008 1.008 1.008 1.008 1.008

3D1198N1 66 283 1.035 1.011 1.014 1.011 1.067 1.011

3D1198N2 66 281 1.046 1.018 1.018 1.018 1.050 1.018

3D1198N3 66 280 1.046 1.007 1.011 1.007 1.093 1.007

Page 78: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

66

Capítulo V

Conclusiones y trabajo futuro.

5.1 Conclusiones

Con base en el análisis del problema 3AP y del estado del arte de la optimización por

enjambre de partículas para problemas discretos, se logró adaptar el método de PSO para

solucionar el problema de asignación axial tres dimensional por medio de un algoritmo

distribuido.

La evaluación del algoritmo propuesto, con dos conjuntos de datos estandarizados, indica

que es competitivo. La calidad de las soluciones es buena y, en varios casos, superior a la de

otros métodos.

No fue posible hacer una comparación efectiva de los tiempos de ejecución con otros

métodos. Cada uno de ellos fue implementado en diferente hardware y en algunos casos no

está especificado. Para los algoritmos de B-S y de C-S no hay reporte de los tiempos; Por otra

parte, GRASP está implementado en paralelo. Con base en los resultados, se concluye que el

tiempo de ejecución es bueno, pero necesita mejorarse.

Se determinó que poblaciones pequeñas no proporcionan la diversidad suficiente para

obtener buenos resultados a menos que el algoritmo sea implementado en paralelo. Una

implementación de este tipo, además de aumentar la diversidad, reduce el tiempo total de

ejecución.

5.2 Trabajo futuro

El algoritmo puede encontrar en muchos casos el óptimo global o buenas soluciones en un

tiempo relativamente corto, pero a partir de ese momento le cuesta trabajo mejorar. La

solución implementada es el aumento del número de ciclos de ejecución, pero este problema,

Page 79: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

67

al parecer, puede superarse si se implementa una búsqueda local que use alguna heurística o

un algoritmo tradicional como el método húngaro.

Implementar otro operador de cruce estocástico que no utilice 3n intentos de intercambio

sin afectar a la diversidad.

Reducir el tiempo de ejecución del algoritmo. Se propone adaptar el algoritmo para

implementarlo en paralelo, pero utilizando otra arquitectura como los procesadores de gráficos

avanzados de propósito general de cómputo (GPGPU).

Con el objetivo de encontrar un método más genérico, se propone utilizar las bases de este

algoritmo para aplicarlo en la solución del problema de asignación 3-dimensional planar.

Page 80: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

68

Referencias

Amit Konar, 1999. Artificial Intelligence and Soft Computing, Behavioral and Cognitive Modeling of the Human Brain. CRC Press. London. 816 p.

Anshuman Sahu, Rudrajit Tapadar, 2007. Solving The Assignment Problem using Genetic Algorithm and Simulated Anneling. IAENG International Journal of Applied Mathematics.

Behnam Azvine, Nader Azarmi, Detlef D. Nauck, 2000. Intelligent Systems and Soft Computing Prospects, Tools and Applications. Springer New York. 376p.

Castro Liera, M.A., Morales Viscaya, J.A., Castro Liera, I., Castro Liera J.A., Cárdenas Florido, L.A. 2011. Distributed Particle Swarm Optimization Using Clusters and GPGPU. Research Project PAZ-MSC-2009-201 Instituto Tecnológico de La Paz, B.C.S., México. 5 p.

Centeno R. Manuel V. 2010. Búsqueda de soluciones para el 3AP-Axial usando búsqueda por entornos. ICHIO.

Ching-Jong Liao, Chao-Tang Tseng, Pim Luarn, 2007. A Discrete Version of Particle Swarm Optimization for Flowshop Scheduling Problems. Computers & Operations Research. 34(10): 3099-3111 p.

Clerc, Maurice. 2006. Particle Swarm Optimization. London UK. ISTE Ltd. 243 p.

David Ríos Insúa, Sixto Ríos Insua, Jacinto Martín Jiménez, Antonio Jiménez Martín. 2009. Alfaomega Ra-Ma. Segunda edición. Distrito Federal México. 387 p.

Elaine rich, kevin knight. 1994. Inteligencia Artificial. Mc GrawHill. 2da. Edición. United States.

Elon S. Correa, Alex A. Freitas, Colin G. Johnson. 2007. Particle Swarm and Bayesian Networks Applied to Attribute Selection for Protein Functional Classification. GECCO '07 Proceedings of the 2007 GECCO conference companion on Genetic and evolutionary computation. 2651-2658 p.

Gaofeng Huang, Andrew Lim. 2006. A Hybrid Genetic Algorithm for the Three-Index Assignment Problem. European Journal of Operational Research. Vol. 172, No. 1. 249-257 p.

Goldberg, David E. 2006. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley. Boston. 432 p.

He Jiang, Zhilei Ren, Yan Hu, 2008. A Sampling Based FANT for 3-Dimensional Assignment Problem. Evolutionary Computation CEC 2008. (IEEE World Congress on Computational Intelligence) IEEE Congress on. 4118 – 4124 p.

Page 81: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

69

James Kennedy, Russel Eberhart, 1995. Particle Swarm Optimization. Neural Networks, 1995. Proceedings. IEEE International Conference on Vol. 4. 1942 – 1948 p.

Jin Qin, Yi-xin Yin, Xiao-juan Ban, 2011. Hybrid Discrete Particle Swarm Algorithm for Graph Coloring Problem. Journal of Computers, Vol 6, No 6. 1175-1182 p.

Joost Langeveld, Andries P. Engelbrecht. 2011. A Generic Set-Based Particle Swarm Optimization Algorithm. ICSI 2011 International Conference on Swarm Intelligence.

Jun-qing, Quan-ke Pan, Sheng Xie, Bao-xian Jia y Yu-ting Wang. 2009. A Hybrid Particle Swarm Optimization and Tabu Search algorithm for Flexible Job-Shop Scheduling Problem. IACSIT.

Jusmelis S. Gonzalez S. y Manuel V. Centeno R. 2001. Desarrollo de un Programa para Resolver el Problema de Asignación Axial 3-Dimensional a través de un Algoritmo Genético. Saber. Vol. 13. No. 2. 123-126 p.

K. Lakshmi, 2010. Multicriteria Hybrid PSO Algorithm with Comunications for Combinatorial Optimization. A2CWiC '10 Proceedings of the 1st Amrita ACM-W Celebration on Women in Computing in India.

M. Tim Jones. 2005. AI Aplication Programming. Second Edition. Charles River Media. Canada. 473 p.

Marsaglia, G. 1999. Eight In-line Random Number Generators. http://www.bobwheeler.com/stat/Password/MarsagliaPost.txt. sci.stat.math.

Pramalatha, K, Dr. A.M. Natarajan, 2009. Discrete PSO with GA Operators for Document Clustering. International Journal of Recent Trends in Engineering, vol. 1, núm. 1. 20-24 p.

Qiang Lu, Xue-Na Qiu, Shi-Rong Liu. 2009. Discrete Particle Swarm Optimization Algorithm with Fully Communicated Information. GEC '09 Proceedings of the first ACM/SIGEVO Summit on Genetic and Evolutionary Computation.

Qingyun Yang, Wang. 2007. An Improve Discrete Particle Swarm Optimization algorithm for TSP. 2007. WI-IATW '07 Proceedings of the 2007 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology - Workshops. 35-38 p.

R. M. Karp, 1972. Reducibility Among Combinatorial Problems. The IBM Research Symposia Series. 85-103 p.

Rainer Burkard, Mauro Dell’Amico, Silvano Martello. 2009. Assignment Problems. Society for Indutrial and Applied Mathematics. Philadelphia. 402 p.

Rehab F. Abdel-kader. 2011. An Improved Discrete PSO with GA Operators for Efficient QoS-Multicast Routing. International Journal of Hybrid Information Technology. Vol. 4, No. 2. 23-38 p.

Page 82: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

70

Renata M.Aiex, Mauricio G.C. Resende, Panos M. Pardalos, Gerardo Toraldo. 2005. GRASP with Path Relinking for Three-Index Assignment. Journal on Computing. Vol. 17, No. 2. 224-247 p.

Russell C. Eberhart, Yuhui shi. 2001. Particle Swarm Optimization: Developments, Applications and Resources. Evolutionary Computation 2001. Vol. 1. 81-86 p.

Sara Baase, Allen Van Gelder, 2002. Algoritmos Computacionales, Introducciónal Análisis y Diseño. Addison Wesley. Tercera edición. México. 679 p.

Spieksma, Frits. C.R., 2000. Multi Index Assignment Problems: Complexity, approximation, applications. In: Pardalos, P.M., Pitsoulis, L.S. (Eds.), Nonlinear Assignment Problems, Algorithms and Applications, Kluwer Academic Publishers. 1-12 p.

Stuart Russell, Peter Norving. 2006. Inteligencia Artificial un Enfoque Moderno. Pearson Prenrice Hall. 2da edición. Madrid España. 1179 p.

Tao Gong, Andrw L. Tuson, 2007. Binary Particle Swarm Optimization: a Forma Analysis Approach. GECCO '07 Proceedings of the 9th annual conference on Genetic and evolutionary computation. 172-172 p.

Thomas, H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. 2001. Introduction to Algorithms. The MIT Press. Second edition. Cambridge Massachusetts.1184 p.

Wei-jun Xia and Zhi-ming Wu. 2006. A Hybrid Particle Swarm Optimization Approach for the Job-Shop Scheduling Problem. The International Journal of Advanced Manufacturing Technology. Vol. 29. No. 3-4. 360-366 p.

Wei-Neng Chen, Jun Zhang, Henry S.H. Chung, Wen-Liang Zhong, Wei-Gang Wu, Yu-hui Shi, 2010. A Novel Set-Based Particle Swarm Optimization Method for Discrete Optimization Problems. Evolutionary Computation, IEEE Transactions on, Vol. 14, No.. 2. 278-300 p.

Yves Crama, Frits C.R. Spieksmam 1992. Aproximation Algorithms for Three-Dimensional Assignment Problem with Triangle Inequalities. European Journal of Operational Research Vol. 60, No. 3. 273-279 p.

Zahra Afsahi, Ramin Javadzadeh, M. Meybodi. 2011. Hybrid Model of Particle Swarm Optimization and Cellular Learning Automata with New Structure of Neighborhood. ICMLC 2011 3rd. International Conference on Machine Learning and Computing.

Page 83: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

71

Apéndice A

Configuración básica de PVM en Fedora 14.

1. Instalación.

La forma más sencilla de instalar PVM es a través de la línea de comandos de una

terminal con el comando yum. La instalación y configuración se debe hacer como

usuario root.

#yum –y install pvm*

2. Configuración.

2.1 RSH

El demonio rshd debe estar correctamente ejecutándose en todos los equipos que

conformarán el clúster. Esto es necesario para que cada host pueda ejecutar

comandos en otras máquinas.

2.2 Variables de entorno.

Editar el archivo .bashrc para agregarle las siguientes variables de entorno:

PVM_ROOT=/usr/share/pvm3

PVM_ARCH=LINUXI386

PVM_RSH=/usr/bin/ssh

Export PVM_ROOT PVM_ARCH PVM_RSH

2.3 Para incluir la ruta de los binarios de PVM en la variable PATH del sistema, se debe

editar el archivo .bashprofile de la siguiente manera:

PATH=$PATH:$HOME/bin:$PVM_ROOT/lib

export PATH

Page 84: TESIS - Tecnológico Nacional De Méxicoposgrado.lapaz.tecnm.mx/uploads/archivos/4f33d8bfedc85.pdf · UN ALGORITMO BASADO EN LA OPTIMIZACIÓN POR ENJAMBRE DE ... posible hacer una

72

2.4 Hosts remotos

En el archivo /etc/hosts de cada nodo se deben agregar los nombres de los equipos

que conforman el clúster y se debe eliminar la referencia 127.0.0.1.

10.9.2.3 nodo1

3. Ejecución.

3.1 Para ejecutar PVM.

#pvm

3.2 Para agregar nodos a la máquina virtual.

Una vez dentro del ambiente de PVM se pueden agregar hosts utilizando el comando

add de la siguiente forma:

pvm>add nombre_del_host

También es posible hacerlo a través de un archivo que tenga listado todos los

nombres de los equipos que conformarán a la máquina.

#pvm máquinas

3.3 Para eliminar un host

pvm>delete nombre_host

3.4 Para ver las máquinas que conforman la instancia de PVM.

pvm>conf

3.5 Para ver las tareas que se están ejecutando en PVM

pvm>ps –xa

3.6 Para salir de PVM.

Si se utiliza el comando quit, se abandona la línea de comandos de PVM; pero no se

termina la ejecución de la tareas. Para terminar totalmente la ejecución de PVM se

debe usar el comando halt.

Para mayor información acceda a:

http://www.csm.ornl.gov/pvm/

http://www.netlib.org/pvm3/book/pvm-book.html

Y para administrar un clúster por medio de ssh puede visitar la siguiente referencia:

http://mcastroliera.blogspot.com/search/label/pvm