Page 1

PROYECTO DE INVESTIGACIÓN

Presentado para la materia de INVESTIGACIÓN DE OPERACIONES 3 para cumplir con la primera asignación de investigación de la materia

TÍTULO DEL PROYECTO DE GRADO: GENERALMENTE DE UN MÁXIMO DE DOS LÍNEAS Por Arnoely L. Araujo Hernández Alfredo Méndez Tomás Moreno Profesor: Renny Márquez

Marzo 2013


Š2013 Universidad de Los Andes MÊrida, Venezuela

ii


Índice Índice......................................................................................................................iii Índice de Tablas y Figuras...............................................................................................v Capítulo

1

Introducción...............................................................................................................6 1.1Objetivos...........................................................................................................6 1.1.1Objetivo General...........................................................................................6 1.1.2Objetivos Especificos.......................................................................................7 Capítulo

2

Marco Teórico............................................................................................................7 2.1Optimización e Investigación de Operaciones...............................................................7 2.2Heurística .........................................................................................................8 2.3Inteligencia de Enjambres.......................................................................................9 2.4La Colonia Artificial de Abejas (ABC) ........................................................................9 2.5Algoritmo de Colonia Artificial de Abejas (ABC).........................................................11 2.6Pseudo Código del algoritmo ABC ..........................................................................12 2.7Procedimiento paso a paso de aplicación del algoritmo ABC............................................13 Capítulo 3Aplicaciones................................................................................................20 3.1IEEE 802.16......................................................................................................20 3.2Definición del Problema.......................................................................................21 3.3Resultados Obtenidos..........................................................................................24 3.4Conclusiones del Problema....................................................................................25 Capítulo

4

Conclusiones.............................................................................................................26


BibliografĂ­a...............................................................................................................27

iv


รndice de Tablas y Figuras Figura 1, Esquema general de un algoritmo bio-inspirado.......................................................11 Figura 2, Algoritmo Colonia Artificial de Abejas (ABC).........................................................13 Figura. 3\................................................................................................................... formato de fila. Matriz del individuo...........................................................................23 Tabla 1. Definiciรณn de la funciรณn de un algoritmo ABC en Excel..............................................13 Tabla 10, Soluciones candidatas, observadora 2 para el algoritmo ABC en Excel...........................17 Tabla 12, Paso observadora 3 para el algoritmo ABC en Excel.................................................18 Tabla 13, Soluciones candidatas, observadora 3 para el algoritmo ABC en Excel...........................18 Tabla 14, Mejores soluciones, observadora 2 para el algoritmo ABC en Excel..............................19 Tabla 15, Reemplazo de fuentes agotadas para el algoritmo ABC en Excel..................................19 Tabla 16, Mejores soluciones para el algoritmo ABC en Excel.................................................19 Tabla 2, Parรกmetros del problema para el algoritmo ABC......................................................14 Tabla 3, Inicializaciรณn de las soluciones para el algoritmo ABC en Excel.....................................14 Tabla 4, Soluciones candidatas para el algoritmo ABC en Excel................................................15 Tabla 5, Mejores soluciones para el algoritmo ABC en Excel...................................................16 Tabla 6, Paso observadora 1 para el algoritmo ABC en Excel..................................................16 Tabla 7, Soluciones candidatas, observadora 1 para el algoritmo ABC en Excel............................17 Tabla 8, Mejores soluciones, observadora 2 para el algoritmo ABC en Excel...............................17 Tabla 9, Paso observadora 2 para el algoritmo ABC en Excel..................................................17

v


Capítulo 1 Introducción Hoy en día se hace usos de las técnicas de inteligencia artificial para la solución de una diversidad de problemas de carácter social, económico, financiero, de control, entre otros. Entre éstas técnicas se encuentran los algoritmos genéticos, búsqueda tabu, recocido simulado, lógica difusa, redes neuronales y algoritmos de inteligencia de enjambres. Siendo estos últimos, según Chan y Kumar (2007), métodos basados en el comportamiento de algunos insectos y microorganismos, imitando sus habilidades para la solución de problemas. Uno de ellos es el algoritmo de enjambre de abejas, el cual, según Marinaki, Marinakis y Zopounidis (2010), se divide en dos clases, según la búsqueda de alimento y según su apareamiento. La primera clase se basa en el comportamiento de las abejas en la búsqueda de su fuente de alimento llamado ABC (colonia de abejas artificial). La segunda clase se basa en el proceso de apareamiento de las abejas, llamado HBMO (optimización por apareamiento de abejas) (p. 806). En las siguientes secciones del trabajo se presenta la primera clase del algoritmo de enjambre de abejas, el algoritmo ABC (colonia de abejas artificial), en donde se explica su metodología y se realiza su implementación en Excel. Además, se retoma la idea de un artículo extraído de la web para dar un ejemplo de su aplicación en la solución de problemas de Planificación de Red en IEEE 802.16 Fija.

1.1 Objetivos 1.1.1 Objetivo General


Comprender e implementar el algoritmo ABC (colonia de abejas artificiales) en un caso de la vida real que haya sido planteado en un artículo.

1.1.2 Objetivos Especificos 1. Estudiar el algoritmo ABC (colonia de abejas artificial). 2. Indagar sobre Aplicaciones del algoritmo ABC para solucionar problemas de la vida real. 3. Implementar el algoritmo ABC (colonia de abejas artificial) en Excel.

Capítulo 2 Marco Teórico En el marco teórico se definirán los conceptos necesarios para comprender los algoritmos de enjambre, específicamente el algoritmo de Colonia de Abejas Artificiales (ABC), su algoritmo y la forma de proceder para resolver problemas complejos utilizando esta metodología así como la presentación de artículos donde se muestre la aplicación de esta técnica en problemas de la vida real.

2.1 Optimización e Investigación de Operaciones La optimización consiste en realizar una tarea, actividad o proceso de la mejor manera posible, ajustando los valores de las variables relacionadas con el problema para obtener la mejor solución. Una de las áreas que propone herramientas para la optimización es la Investigación de operaciones ¨una rama de las Matemáticas consistente en el uso de modelos matemáticos, estadística y algoritmos con objeto de realizar un proceso de toma de decisiones¨ (Guevara, Montaro y Silva, 2011, p. 32), estas herramientas se utilizan para resolver problemas de optimización que se clasifican en dos tipos indican Mezura, Cetina y Hernández (2010) los cuales son: problemas de optimización numérica y problemas de optimización combinatoria (pp. 1,2) en el tipo de problemas de optimización numérica “se busca un

7


conjunto de valores para las variables del problema de manera que al sustituirse en la función objetivo se maximice o minimice el valor de esta función” (Mezura et al., 2010, p. 1), mientras que en los problemas de optimización combinatoria “se busca encontrar el ordenamiento de un conjunto de elementos de manera que se maximice o minimice el valor de la función objetivo. (Mezura et al., 2010, p. 2)

2.2 Heurística Define Taha (2012) Heurística como “una técnica de búsqueda directa que utiliza reglas favorables practicas para localizar soluciones mejoradas” (p. 351), las técnicas heurísticas se utilizan para resolver problemas de optimización del mundo real que por su naturaleza son complejos de resolver con métodos tradicionales de optimización, algunas razones las enumeran Mezura et al.(2010) como son: •

El número de posibles soluciones (espacio de búsqueda) es demasiado grande.

El problema es tan complicado que, con la intención de obtener alguna solución, se deben utilizar modelos implicados del mismo y por ende la solución es poco ´útil.

La función de evaluación que describe la calidad de cada solución en el espacio de búsqueda varía con el tiempo y/o tiene ruido.

Las soluciones posibles están altamente restringidas, lo cual dificulta incluso la generación de al menos una solución factible (es decir, que cumpla con las restricciones del problema). (p. 3).

Lo ideal al intentar resolver un problema de optimización es utilizar métodos de optimización tradicionales ya que ellos obtienen una solución muy cercana o exacta a la óptima, debido a que los métodos tradicionales permiten obtener los máximos y mínimos globales de una función objetivo, mientras que los métodos heurísticos indican buenas soluciones rápidamente que resultan muy útiles y a pesar de no ser el valor optimo justifican su utilización, Mezura et al. (2010) indican que algunos métodos heurísticos conocidos como heurísticas bio-inspiradas se inspiran en “fenómenos inteligentes encontrados en la naturaleza” y se dividen en “Algoritmos evolutivos” e “Inteligencia Colectiva” (p. 4) siendo este ultimo tipo en el que se enfoca esta investigación.

8


2.3 Inteligencia de Enjambres La inteligencia de enjambre es una heurística inspirada en el estudio de grupos de animales, más específicamente de insectos como lo son las abejas, hormigas, termitas entre otros. Este tipo de comunidades se caracterizan por la forma como se trabaja en grupo por el mismo fin que es el bien de la colmena en general, son muy organizadas y comunicativas por lo que si se ve a la colmena como un individuo, se suman las experiencias de cada uno de los elementos que pertenece a ella y por lo tanto le permite tomar decisiones más acertadas, además de que al trabajar en grupo con el mismo objetivo se hacen más fácil, rápidas y probables tareas como por ejemplo encontrar mejores fuentes de comida para alimentar a la colmena, encontrando rutas optimas y minimizando los esfuerzos realizados como por ejemplo encontrar el camino más corto a una fuente de comida cercana. Cárdenas (2012) expresa que “el campo de la inteligencia artificial que estudia este tipo de comportamiento e intenta aplicarlo a la resolucion de problemas se denomina swarm intelligence, es decir, inteligencia de enjambre o colectiva”. (p.116).

2.4 La Colonia Artificial de Abejas (ABC) Mezura et al. (2010) señalan que el proceso de búsqueda y recolección del néctar de las flores por parte de las abejas melíferas “es visto como un proceso de optimización”, como “logran centrar esfuerzos en zonas con altas cantidades de fuentes de alimento se ha modelado como una heurística para optimización” (p. 6). El algoritmo de la Colonia Artificial de Abejas (ABC) es un algoritmo bioinspirado de Inteligencia de Enjambre propuesto y desarrollado por Dervis Karaboga en 2005, con este algoritmo se busca emular el comportamiento de las abejas de búsqueda y explotación de fuentes de alimento y para según Berrocal, Vega, Gómez y Sánchez (2011) “encontrar soluciones casi óptimas en problemas NP-Completos. Para ello se define una colmena artificial formada por una zona de comunicación, denominada zona de baile, y tres tipos de abejas: obreras, observadoras y exploradoras “. El proceso de recolección de la del polen por parte de las abejas melíferas propuesto por Karaboga en 2005 “resuelve problemas de optimización numérica mediante dos comportamientos:

9


El reclutamiento de abejas en una fuente de alimento y el abandono de una fuente” (Mezura et al., 2010, p.7) este proceso consta de los siguientes elementos mínimos: •

Fuentes de Alimento: son el objetivo esencial del problema ya que se busca encontrar las mejores fuentes, las cuales se valoran por simplicidad con un número que indica la calidad de la fuente de acuerdo a las características que presenta, como cercanía a la colmena, cantidad y facilidad para extraer los alimentos entre otros.

Recolectoras Empleadas: las cuales se encargan de explotar las fuentes de alimento y constantemente comparten información sobre la rentabilidad de la fuente con las abejas recolectoras desempleadas.

Recolectoras Desempleadas: entre las cuales se tienen dos tipos que son las exploradoras cuya función es estar constantemente buscando nuevas fuentes de alimentos cercanas a la colmena y las observadoras que son quienes se encargan de elegir las mejores fuentes que serán explotadas en base a la información proporcionada por las abejas empleadas y las exploradoras.

Cuando todas las abejas empleadas encuentran una fuente de comida comparten esta información con las abejas observadoras por medio de una danza en la que indican la información de cercanía y rentabilidad de la fuente para ser seleccionada, luego cuando una fuente de comida se termina la o las abejas deciden si se convierten en exploradoras u observadoras y se selecciona una nueva fuente de alimentos aleatoriamente para reemplazar la que se agotó. En el algoritmo ABC la actividad de explotación de las fuentes de alimentación la realizan las abejas exploradoras y las empleadas mientras que la búsqueda de nuevas fuentes para ser explotadas la realizan las abejas exploradoras. El algoritmo de colonia artificial de abejas es un algoritmo bio-inspirado que trabaja de la siguiente manera, según Mezura et al. (2010) (véase la Figura 1): 1. Generar un conjunto (población) de soluciones (individuos) al problema. 2. Evaluar cada solución en la función objetivo a optimizar (1). 3. Seleccionar las mejores soluciones de la población con base en su valor en la función objetivo (1).

10


4. Generar nuevas soluciones a partir de las mejores soluciones utilizando operadores de variación. 5. Evaluar las nuevas soluciones. 6. Escoger las soluciones que formarán parte de la siguiente iteración (generación). (p. 5)

Figura 1, Esquema general de un algoritmo bio-inspirado (Mezura et al., 2010, p.6 ).

2.5 Algoritmo de Colonia Artificial de Abejas (ABC) El algoritmo de colonia artificial de abejas es un algoritmo sencillo de entender y con pocos parámetros de entrada: Tamaño de la colmena (CS), Dimensión (D) es el numero de variables del problema, Limite de iteraciones antes de abandonar una fuente (L) y el Máximo número de ciclos (MCN) que iterará el algoritmo. Mezura et al.(2010) describen el algoritmo de colonia artificial de abejas de la siguiente forma: El número de abejas empleadas es usualmente igual al número de fuentes de alimento y se asignara una abeja empleada a cada una de las fuentes. Al llegar a dicha fuente, la abeja calculará una nueva solución (volará hacia otra fuente de alimento cercana) a partir de ésta y conservará la mejor solución. El número de abejas observadoras es también usualmente igual al de abejas empleadas y se asignaran a una fuente de alimento con base en la aptitud de estas, al igual que las abejas empleadas, calculará una nueva solución a partir de su fuente de alimento. Cuando una fuente no mejora después de un cierto número de iteraciones se abandona, siendo

11


reemplazado por aquella encontrada por una abeja exploradora, lo cual implica calcular una nueva solución aleatoriamente.

2.6 Pseudo Código del algoritmo ABC El algoritmo mostrado en la Figura 2, se detalla de la siguiente manera lo primero es definir los parámetros de la función: tamaño de la colmena (CS), Máximo número de ciclos o veces que se ejecutara el algoritmo (MCN), Número de Soluciones (SN), Dimensión del problema (D) y se calcula el Limite calculado como L = (CS*D)/2. A partir de allí se generan aleatoriamente las soluciones iníciales SN del problema y se evalúa la calidad de las soluciones. Luego se inicia un ciclo de instrucciones que se ejecutaran (MCN) veces estas instrucciones son: Se calculan nuevas soluciones candidatas (nuevas fuentes de comida) utilizando para ello la formula v i,j = xi,j + ɸ · (xi,j − xk,j) (donde ɸ es un valor aleatorio que está entre -1 y 1, k es cualquiera de las fuentes diferentes a la fuente i) se evalúan las soluciones encontradas y se comparan la solución actual con la anterior y se mantiene la mejor de las dos. Después se envían las abejas observadoras a las fuentes de acuerdo a un mecanismo en el que las fuentes con mayor evaluación es a donde se enviarán las abejas observadoras, para ello se utiliza la siguiente fórmula (1), y para calcular la aptitud de una solución se utiliza la formula (2):

Posteriormente se calculan nuevas soluciones candidatas con v i,j = xi,j + ɸ · (xi,j − xk,j) para las abejas observadoras y se comparan con la solución actual manteniendo la mejor de las dos soluciones, ahora se debe observar si existen fuentes abandonadas, estas se determinan si el valor de límite de la solución es mayor que el límite establecido en los parámetros y de ser así entonces se reemplazan fuentes con nuevas

soluciones

aleatorias

encontradas

por

abejas

exploradoras,

con

la

ecuación

xij=minj+rand(0,1)*(maxj-minj), el ciclo culmina memorizando comparando la mejor solución obtenida hasta el momento.

12


Figura 2, Algoritmo Colonia Artificial de Abejas (ABC) (Mezura et al., 2010, p.10).

2.7 Procedimiento paso a paso de aplicación del algoritmo ABC El problema planteado es minimizar la función f(x) = x 12+x22 para -5 ≤ x1,x2 ≤ 5, con los siguientes parámetros tamaño de la colonia (CS) = 6; número de fuentes (SN) = CS/2 = 3, dimensión del problema (D) = 2, número máximo de ciclos (MCN) = 5, para ilustrar la solución del mismo se utiliza Microsoft Excel 2007 y se detalla paso a paso como realizar un ciclo completo de este algoritmo, como ejemplo ilustrativo. Como primer paso un ejemplo de cómo de la función en la Tabla 1. Problema

Minimizar

f(x1, x2) = x12 + x22

LimIxi LimSxi

−5 ≤ x1 ≤ 5

-5

5

−5 ≤ x2 ≤ 5

-5

5

x1, x2 ∈ R

Tabla 1. Definición de la función de un algoritmo ABC en Excel (Araujo, Méndez y Moreno, 2013). Se definen los parámetros que serán utilizados para resolver el problema, ver Tabla 2.

13


Parámetros CS

6

Tamaño de la Colmena

NS

3

Numero de soluciones

D

2

Dimensión

L

6

MCN

5

Limite L = (CS*D)/2 = 6 Número de Ciclos Máximo

Tabla 2, Parámetros del problema para el algoritmo ABC en Excel (Araujo et al., 2013). Se calculan las fuentes de alimento iníciales (soluciones) de manera aleatoria, se inicializa el contador de la fuente con el que se determina cuando la fuente se agota y calcula la aptitud utilizando la ecuación (2) y se indica la mejor solución obtenida, ejemplo: I=1 x1= 1,4112 x2= -2,5644 f(x1) = (1,4112)2+(-2,5644)2=8,5676 fit1 = 1/(1+8,5676) = 0,1045 Se realizan los mismos cálculos para las demás fuentes, los resultados se muestran en la Tabla 3. Fuentes de Alimento Iníciales Fuente 1 2 3

x1 1,4112 0,4756 -0,1824

x2 -2,5644 1,4338 -1,0323

f(xi) 8,5676 2,2820 1,0989

fiti cont. 0,1045 0 0,3047 0 0,4764 0 Mejor Fuente de Alimento 0,4764

Tabla 3, Inicialización de las soluciones para el algoritmo ABC en Excel (Araujo et al., 2013).

Se aplica la ecuación vi,j = xi,j + ɸ · (xi,j − xk,j), teniendo en cuenta que k,j y ɸ son valores aleatorios, se debe considerar que k es entero en el rango [1,SN] y debe ser diferente del i seleccionado,

14


j es entero en el rango [1,D] y ɸ es un numero real entre [-1,1]. Se evalúa la aptitud de las soluciones candidatas y se comparan con las soluciones actuales y se mantienen las mejores soluciones, cabe destacar que si una solución candidata mejora una solución actual su contador se hace igual a 0 de lo contrario si se mantiene la solución entonces se incrementa en 1 la solución, por ejemplo: Con i =1, k=2 y j=1 entonces v11 = 1,4112 + 0,8050·(1,4112 - 0,4756) = 2,1644 v12 = -2,5644, este valor se mantiene porque j≠2 Solución candidata (2,1644; -2,5644) f(x1) = (2,1644)2+(-2,5644)2=11,2606 fit1 = 1/(1+11,2606) = 0,0816 Se comparan las aptitudes de las soluciones, como 0,0816 < 0,1045 no se mejora la solución anterior por lo tanto se aumenta el cont = 1, ver resultados en la tabla 4 Soluciones Candidatas k 2 3 1

j 1 2 1

Φ 0,8050 0,0762 -0,0671

vi,j 2,1644 0,4756 -0,0755

vi,j f(xi)candidata fiti Mejora? -2,5644 11,2606 0,0816 NO 1,6217 2,8562 0,2593 NO -1,0323 1,0713 0,4828 SI

cont. 1 1 0

Tabla 4, Soluciones candidatas para el algoritmo ABC en Excel (Araujo et al., 2013). La tabla 5, muestra las mejores soluciones obtenidas hasta el momento y en ella se calcula la probabilidad de selección utilizando la ecuación (1) de una fuente a la cual se dirigirán las abejas observadoras, cabe destacar que las que tienen una aptitud mejor, tienen mayor probabilidad de que se dirijan a esa fuente. Un ejemplo de cálculo de probabilidad para la fuente 1 es P1=0,1045/0,8920 = 0,1172 Mejores Soluciones Fuent

x1

x2

f(xi)fuente

15

fiti

Pi

Piacum

cont.


e 1 2 3

1,4112 0,4756 -0,0755

-2,5644 1,4338 -1,0323

8,5676 2,2820 1,0713 Σfiti

0,1045 0,1172 0,1172 0,3047 0,3416 0,4588 0,4828 0,5412 1,0000

1 1 0

0,8920

Tabla 5, Mejores soluciones para el algoritmo ABC en Excel (Araujo et al., 2013). Se inicia el paso de las observadoras con la observadora 1 para seleccionar la fuente a la cual se dirigirá se compara el número aleatorio con la columna de probabilidad acumulada de la Tabla 5, y en donde se cumpla que el valor de Pi acum sea mayor que NAfuente esa es la fuente seleccionada, los valores de los parámetros son: Numero para seleccionar la fuente 0,7612, k=1, j=2, NAfuente, k y j son valores aleatorios. Como ejemplo de este cálculo se tiene: 1,0000 > 0,7612 entonces i = 3, los resultados obtenidos se muestran en la Tabla 6.

Fuente 3 1

x1 x2 -0,0755 -1,0323 1,4112 -2,5644

f(xi)fuente fiti 1,0713 0,4828

K 1

j 2

Tabla 6, Paso observadora 1 para el algoritmo ABC en Excel (Araujo et al., 2013). Al igual que con el paso de las abejas empleadas, en el paso de las observadoras también es necesario calcular soluciones candidatas y compararla con la solución en cuestión. v11 = -0,0755 este valor se mantiene porque j≠1 v12 = -1,0323 + (-0,7961·(-1,0323 – (-2,5644))) = 5,0772 0,1645 < 0,4828 al comparar las aptitudes la solución no mejora por lo tanto se aumenta el contador, cont = 1. Como se observa en la Tabla 7. Φ

vi,j

vi,j

f(xi)candidata

16

fiti

Mejora?

cont.


-0,7961

-0,0755

-2,2520

5,0772

0,1645

NO

1

Tabla 7, Soluciones candidatas, observadora 1 para el algoritmo ABC en Excel (Araujo et al., 2013). Luego se almacenan las mejores soluciones para seguir iterando con el algoritmo como muestra la Tabla 8. Mejores Soluciones Fuente 1 2 3

x1 1,4112 0,4756 -0,0755

x2 -2,5644 1,4338 -1,0323

f(xi)fuente fiti Pi Piacum 8,5676 0,1045 0,1172 0,1172 2,2820 0,3047 0,3416 0,4588 1,0713 0,4828 0,5412 1,0000 Σfiti

cont. 1 1 1

0,8920

Tabla 8, Mejores soluciones, observadora 2 para el algoritmo ABC en Excel (Araujo et al., 2013). Se continua con la observadora 2, los parámetros son Na fuente=0,2267, k=3, j=1 y al comparar el Nafuente con la Piacum de la Tabla 8, 0,3416 > 0,2267 se selecciona entonces la fuente 2. Fuent e 2 3

x1 0,4756 -0,0755

x2 1,4338 -1,0323

f(xi)fuente fiti 2,2820 0,3047

K 3

j 1

Tabla 9, Paso observadora 2 para el algoritmo ABC en Excel (Araujo et al., 2013). 0,3241 > 0,3047 al comparar las aptitudes la solución mejora por lo tanto se hace cero el contador, cont = 0. Como se observa en la Tabla 10. φ vi,j vi,j f(xi)candidata fiti Mejora? -0,5505 0,1722 1,4338 2,0854 0,3241 SI

cont. 0

Tabla 10, Soluciones candidatas, observadora 2 para el algoritmo ABC en Excel (Araujo et al., 2013).

17


Mejores Soluciones Fuent e x1 x2 1 1,4112 -2,5644 2 0,1722 1,4338 3 -0,0755 -1,0323

f(xi)fuente fiti Pi Piacum 8,5676 0,1045 0,1147 0,1147 2,0854 0,3241 0,3556 0,4703 1,0713 0,4828 0,5297 1,0000 Σfiti

cont. 1 0 1

0,9114

Tabla 11, Mejores soluciones, observadora 2 para el algoritmo ABC en Excel (Araujo et al., 2013). Nuevamente se almacenan las mejores soluciones para seguir iterando, ver la Tabla 11. Seguidamente es el turno de la observadora 3, con parámetros son Na fuente= 0,8433, k=2, j=1 y al comparar el Nafuente con la Piacum de la Tabla 11, 1,000 > 0,8433 se selecciona entonces la fuente 3. Fuente 3 2

x1 -0,0755 0,1722

x2 -1,0323 1,4338

f(xi)fuente fiti 1,0713 0,4828

k 2

j 1

Tabla 12, Paso observadora 3 para el algoritmo ABC en Excel (Araujo et al., 2013). 0,4838 > 0,4828 al comparar las aptitudes la solución mejora por lo tanto se hace cero el contador, cont = 0. Como se observa en la Tabla 10. φ -0,4452

vi,j vi,j 0,0348 -1,0323

f(xi)candidata fiti Mejora? 1,0669 0,4838 SI

cont. 0

Tabla 13, Soluciones candidatas, observadora 3 para el algoritmo ABC en Excel (Araujo et al., 2013). Se repite el paso de almacenar las mejores soluciones para seguir iterando con el algoritmo como muestra la Tabla 14. Mejores Soluciones Fuente

x1

x2

f(xi)fuente

18

fiti

Pi

Piacum

cont.


1 2 3

1,4112 0,1722 0,0348

-2,5644 1,4338 -1,0323

8,5676 2,0854 1,0669 Σfiti

0,1045 0,1145 0,1145 0,3241 0,3552 0,4697 0,4838 0,5303 1,0000

1 0 0

0,9124

Tabla 14, Mejores soluciones, observadora 2 para el algoritmo ABC en Excel (Araujo et al., 2013). Se Reemplazan las soluciones en donde se hayan agotado las fuentes de comida, en este ciclo no se ha agotado ninguna fuente y esto se observa porque en la fila contador de la Tabla 14 ningún valor supera el límite L = 6 que se definió para el problema estudiado, por lo tanto las soluciones quedan igual. Reemplazo Fuentes Abandonadas Fuente 1 2 3

x1 1,4112 0,1722 0,0348

x2 -2,5644 1,4338 -1,0323

f(xi)fuente 8,5676 2,0854 1,0669

fiti Pi Piacum cont. 0,1045 0,1145 0,1145 1 0,3241 0,3552 0,4697 0 0,4838 0,5303 1,0000 0

Σfiti

Reemplazar NO NO NO

0,9124

Tabla 15, Reemplazo de fuentes agotadas para el algoritmo ABC en Excel (Araujo et al., 2013). Para finalizar el ciclo se procede a memorizar la mejor solución obtenida hasta el momento, que se comparara con las soluciones obtenidas posteriormente, se almacenan como muestra la Tabla 16. Mejores Soluciones Fuente

x1

x2

f(xi)

fiti

Mejoranterior

0,0348 -1,0323 1,0669 0,4838

Mejornuevo Memorizado

0,0348 -1,0323 1,0669 0,4838 0,0348 -1,0323 1,0669 0,4838

Tabla 16, Mejores soluciones para el algoritmo ABC en Excel (Araujo et al., 2013). Esta forma de proceder se va a repetir hasta que se alcance el número máximo de ciclos (MCN) = 5 definido en los parámetros iníciales del problema.

19


Capítulo 3

Aplicaciones

En este capítulo se mostrara como es aplicado el algoritmo de Colonia de Abejas Artificiales (ABC), para solucionar problemas de la vida real. Más específicamente se mostrara como esta meta heurística basada en inteligencia colectiva es utilizada para la planificación de de Red en IEEE 802.16 Fija.

3.1 IEEE 802.16 Según Berrocal, Vega, Gómez y Sánchez (2011) el IEEE 802.16 O WIMAX (Worldwide interoperabilly for Microwave Acces) es una tecnología que permite un rápido despliegue de redes inalámbricas de banda ancha locales y metropolitanas interoperables, debido a que están basadas en la plataforma IP. Dicha tecnología define una red de acceso inalámbrico puntomultipunto (PMP) fija que trabaja a frecuencias entre 11GHz y 66GHz, en la que debe haber visibilidad directa entre la estación base (BS, Base Station) y el terminal de usuario (SS, Subscriber Station). Siendo la estación base la entidad de red que proporciona la interfaz entre los usuarios y el núcleo de red (CN, CoreNetwork).(p. 1) La última versión del estándar, 802.16-2009 en su mejora 802.16j, introduce el concepto de retransmisión multisalto (MR-Multlho Relay). En este modo de operación se sustituye la BS por una MR-BS y una o varias estaciones retransmisoras (RS, Relay Station) supervisadas por la MR-BS, accediendo a la comunicación directa entre los terminales de usuarios SS y la estación base de retransmisión multisalto MR-BS. La principal ventaja de la opción MR es que se aumenta considerablemente la cobertura de la red de acceso. Sin embargo para este tipo de redes se debe tener una adecuada localización de las BS (o MR-BS y RS) para satisfacer de manera eficiente la demanda de tráfico y la cobertura. Para ello se hace uso del algoritmo ABC (colonia de abejas artificial) para localizar, dado un mapa con las ubicaciones de los SS fijos y las posibles ubicaciones de las BS, las estaciones bases para el despliegue de manera que la cantidad de BS y sus posiciones a utilizar para dar servicio a todos los usuarios sea mínima (Berrocal et. al, 2011, p.1).

20


3.2 Definición del Problema Los datos del problema son los siguientes:

Variables auxiliares:

𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣 𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣 𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣 𝑣𝑣𝑣 𝑣𝑣 , 𝑠𝑠 𝑠𝑠 𝑠𝑠𝑠𝑠𝑠

,,

𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣 𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣 𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣 𝑣𝑣𝑣 𝑣𝑣 , 𝑠𝑠 𝑠𝑠 𝑠𝑠𝑠𝑠𝑠 .

Función objetivo

21


Restricciones

Una abeja o solución debe contener información sobre qué ubicaciones tienen una BS instalada y cuáles son los SS que tiene asignados. Una posible forma de representar esta información es con una matriz, A, de tamaño [NBS]x[Cmax+1] y con el formato de fila que se muestra en la Fig.2., en donde cada fila representa una ubicación en la que se puede instalar una BS e indica si una ubicación está activa, es decir, si tiene instalada una BS, el número de usuarios asignados y sus identificadores. Se eligió un tamaño de fila igual a Cmax+1 porque ésta es la máxima longitud posible para cuando la BS tiene asignados Cmax usuarios, solicitando cada uno una unidad de servicio (Berrocal et. al, 2011).

22


Figura. 3: formato de fila. Matriz del individuo. Berrocal et al. (2011) La población inicial se eligió de manera aleatoria, pero cumpliendo las restricciones definidas y teniendo en cuenta que un usuario sólo puede ser servido por una BS cuando está dentro de su zona de cobertura, es decir cuando cumple la ecuación:

Donde ( la

y el

,y

,

)y(

,

) son las coordenadas de la

y del

es el radio de la zona de cobertura máxima para la

,

es la distancia entre

.

Según Berrocal et. al (2011) el proceso de búsqueda avanzado se realiza en las abejas exploradoras y consta de cinco pasos: el primero generar una solución aleatoria que cumpla con las restricciones, el segundo determinar el número de ubicaciones con BS instaladas (NABS); el tercero, el cálculo de la probabilidad de elección para cada BS 100/NABS.; el cuarto la selección aleatoria de una BS en función de la probabilidad acumulada y por último la reasignación de los SS de esa BS a las BS que se encuentren mas ocupadas. Se trabaja con 4 instancias del problema, siendo las dos primeras de un tamaño de 30 ubicaciones de BS posibles y 300 SS a servir, además

se configura igual a 0.2 en todas las BS. Las

dos últimas tienen un tamaño de 60 ubicaciones de BS posibles y 600 SS a servir y

se configura igual

a 0.15 en todas las BS. Ambos, SS y ubicaciones de BS, se distribuyen de forma uniforme en un espacio

23


bidimensional de área 1.0x1.0. Se asume que todos los SS demandan una unidad de servicio y que la capacidad máxima (Cmax) de cada BS es de 30 unidades de servicio. El problema fue configurado para los tres parámetros del algoritmo de ABC, en donde los valores del parámetro limite fueron [3, 5, 7, 10, 15, 20, 25]; los valores del parámetro CS [30,100,170, 240, 310] y los valores del Máximo Número de Ciclos [100, 200, 300, 400,500, 600, 700, 800, 900, 1000], quedando como configuración final (en base a un estudio paramétrico) de los tres parámetros 10, 240 y 600 respectivamente. (Berrocal et. al, 2011).

3.3 Resultados Obtenidos Los resultados que se obtuvieron para las cuatro instancias fueron los siguientes: Instancia 1: Mejor fitness = 16 Media mejor fitness 16.0 Tamaño población = 240 No medio Evaluaciones = 1471.2 Intervalo de confianza al 95% = [1268,1675] Instancia 2: Mejor fitness = 15 Media mejor fitness 15.0 Tamaño población = 240 No medio Evaluaciones = 1896.0 Intervalo de confianza al 95% = [1570,2222] Instancia 3

24


Mejor fitness = 29 Media mejor fitness = 29.0 Tamaño población = 240 No medio Evaluaciones = 4706.4 Intervalo de confianza al 95% = [3953,5460] Instancia 4 Mejor fitness = 23 Media mejor fitness = 24.15 Tamaño población = 240 No medio Evaluaciones = 3418.7 Intervalo de confianza al 95% = [2558,4279]

3.4 Conclusiones del Problema Se observa que el tamaño de la población se mantiene constante en las 4 instancias, esto es síntoma de ahorro de recursos computacionales. Además, es de notar que las dos últimas instancias presentan un mejor “fitness” superior al de las dos primeras instancias, esto es debido a que para las últimas dos instancias se tiene un tamaño de BS instaladas y SS a servir mayor que las instancias anteriores. Por tanto, la distancia optima a la que deben ser instaladas 60 BS con 600 SS a servir; con una distancia máxima entre los SS y las BS de 0.15 y una capacidad máxima (Cmax) de 30 unidades de servicio por cada BS, es 29.

25


Capítulo 4 Conclusiones La aplicación del algoritmo bio-inspirado ABC (enjambre de abejas artificiales) se constituye como una buena alternativa para solucionar problemas de alta complejidad computacional. El estudio de dicho algoritmo permitió comprender el procedimiento implícito para llevar a cabo su implementación en Excel, y la indagación acerca de su aplicación en problemas de la vida real dio una idea de su utilidad en la solución de problemas de optimización con un buen uso de recursos computacionales.

26


Bibliografía Berrocal, Vega, Gómez & Sánchez (2011). ‘Metaheurística Aplicada al Problema de Planificación de Red en IEEE 802.16 Fija’. Recuperado el 6 de marzo de 2013 de http://congresomaeb2012.uclm.es/papers/paper_51.pdf Cárdenas, A. (2012), ‘Inteligencia Artificial, Métodos Bio-Inspirados: Un Enfoque Funcional Para Las Ciencias de La Computación’, Pereira, Colombia, Universidad Tecnológica de Pereira Facultad de Ingenierías Eléctrica, Electrónica, Física Y Ciencias de la Computación. Chan, F. & Tiwari, M. (2007, diciembre). ‘Artificial Bee Colony Algorithm and Its Application to`Generalized Assignment Problem’. Recuperado el 3 de marzo de 2013 de http://natcomp.liacs.nl/SWI/papers/artificial.bee.colony.algorithm/abc.algorithm.and.its.applicatio n.to.generalized.assignment.problem.pdf Guevara, M., Montano, M., and Silva, J. (2011). ‘Perfil Del Profesional En Administración De Empresas En El Área De Investigación De Operaciones De La Universidad De El Salvador’. San Salvador, El Salvador: Universidad de El Salvador. Marinaki, Marinakis, Y. & Zopounidis , C. (2010). ‘Honey Bees Mating Optimization algorithm for financial classification problems’. Recuperado el 3 de marzo de 2013 de http://web.info.uvt.ro/~dzaharie/cne2012/proiecte/tehnici/ABC/ABC %2BfinancialClassification.pdf


Mezura, E., Cetina, O., and Hernandez, B. (2010), ‘Nuevas Heurísticas Inspiradas en la Naturaleza para Optimización Numérica’, in (spanish) Silva, R., Portilla, E., and Molina, M., (editors) ‘Mecatronica’, pp. 249-272, Editorial IPN, ISBN: 978-607-414-192-4. Ochoa, G., (2011) ‘Introducción a la Computación Evolutiva y la Morfogénesis Artificial’, Evolution, Bicentenario del Nacimiento de Charles Darwin, Editorial Equinoccio. Taha, H. A. (2012). ‘Investigación de operaciones Novena edición’. Naucalpan de Juárez, Estado de México: Pearson Educación de México, S.A. de C.V. ‘Step by Step Procedure of ABC’. Recuperado el 6 de marzo de 2013 de http://mf.erciyes.edu.tr/abc/pub/Step%20by%20Step%20Procedure%20of%20ABC.pdf

28

Algoritmoenjambredeabejas(abc)  

El Algoritmo de "Enjambre de Abejas" es un algoritmo heurístico basado en el comportamiento de las abejas en la búsqueda de su fuente de ali...