Você está na página 1de 48

Una Introduccin a la

Optimizacin Usando Algoritmos


de Hormigas y sus Aplicaciones
Parte A
Jess A. Lpez
Universidad del Valle
Cali, Colombia
CIIC2007
Universidad Nacional
Bogot, Colombia
Septiembre 5 7 de 2007

Agenda
Introduccin.
Inteligencia de Enjambres.
Algoritmos de Hormigas.
Algoritmos de hormigas para la solucin de
problemas de enrutamiento.
 Algoritmos de hormigas











Bsqueda de alimento
Optimizacin y enrutamiento
Agrupamiento y categorizacin
Divisin de labores
Transporte cooperativo

Introduccin (I)
La Inteligencia Artificial se divide en dos escuelas dependiendo de como se
disea un Agente Inteligente. La primera que se ha denominado
Inteligencia Artificial Convencional y una emergente llamada Inteligencia
Computacional

Inteligencia Artificial

Inteligencia Artificial
Convencional

Inteligencia Computacional

Introduccin (II)
Inteligencia Artificial Convencional

Bsquedas en Espacios de Estado

Planeamiento Automtico

Bsqueda Combinatoria

Sistemas Expertos

Sistemas Basados en Comportamiento

Redes Bayesianas

Introduccin (III)

Inteligencia Computacional

Redes Neuronales

Sistemas Difusos

Computacin Evolutiva

Introduccin (IV)

Computacin
Evolutiva

Algoritmos
Evolutivos

Inteligencia
de Enjambres

Algoritmos
Genticos

Estrategias
Evolutivas

Optimizacin por
Colonia de
Hormigas

Optimizacin por
Enjambre de
Partculas

Programacin
Gentica

Programacin
Evolutiva

Optimizacin por
Enjambre de
Bacterias

Bsqueda por
Difusin
Estocstica

Inteligencia de Enjambres (I)

Una simple hormiga o abeja


no es muy lista, pero sus
colonias lo son. El estudio de
la inteligencia de enjambres
esta proporcionando ideas
que pueden ayudar a los
humanos a manejar
sistemas complejos, desde
enrutamiento de camiones
hasta robots militares

Inteligencia de Enjambres (II)


 Tcnicas computacionales
que estudian el
comportamiento colectivo
en grupos descentralizados
y autoorganizados
 Caractersticas:
 No existe una estructura
de control central
 No existe un modelo
explicito del entorno
 Hay un mtodo de
percepcin del entorno
 El agente puede realizar
cambios sobre el entorno

Inteligencia de Enjambres (III)


Cualquier intento de desarrollar algoritmos y
mecanismos de solucin distribuida de un
problema inspirados por el comportamiento
colectivo de colonias de insectos sociales y otras
sociedades de animales.
Bonabeau,Dorigo,Theraulaz, Swarm Intelligence,
1999

Algoritmo Basados en
Colmenas de Abajes
 Algoritmos que imitan el comportamiento de las
abejas en el proceso de bsqueda y recoleccin
de Nctar. Bsicamente realiza las siguientes
funciones:
 Distingue clases y categoras
de individuos que
conforman la colmena.
 Algunos agentes tienen la tarea de ubicar fuentes de
alimento suficientemente provechosas e informar, en la
colmena, a los otros individuos sobre la ubicacin
relativa de dicha fuente a travs de danzas.
 Dependiendo de la duracin de las danzas, indica la
ubicacin y provecho de la fuente.

Optimizacin de la funcin
Peaks (I)

Optimizacin de la funcin
Peaks (II)

Optimizacin por
Enjambre de Partculas
 Desarrollada por J.
Kennedy y R. Eberhart
(1995)
 Basada en los movimientos
de bandadas y cardmenes
 Combina un modelo
individual con un modelo
social

vid (t + 1) = w vid (t ) + c1 rand ( pid xid ) + c2 Rand ( p gd xid )


xid (t + 1) = x(t ) + vid (t + 1)

Optimizacin por
Enjambre de Bacterias
 Desarrollado por K. Passino
(2000)
 Basado en el
comportamiento
Quimiotctico de las
bacterias
 Considera el espacio de
bsqueda como un ambiente
con concentraciones
variables de nutrientes

i (t +1) = i (t ) + C (i ) (t )

Optimizacin por
Enjambre de Bacterias
Optimizacin de Funciones
Peaks

-5
2
2

0
-2

-2
x

Algoritmos Basados en
Colonias de Hormigas
 Inicialmente desarrollados por M.
Dorigo (1991)
 Basados en diferentes
comportamientos observados en las
colonias de hormigas:





Bsqueda de alimento
Organizacin de cadveres
Divisin de labores
Construccin de nidos

 Comunicacin por estigmergia

Estigmergia
 Estigmergia =Las acciones de un insecto son
determinadas o influenciadas por las consecuencias
de las acciones previas de los otros insectos.
 Agrupacin de los insectos muertos de la colonia
 Construccin de nidos
 Bsqueda de alimento

Algoritmos de Hormigas
Los algoritmos de hormigas estn basados en
comportamientos exhibidos por las hormigas
reales:






Bsqueda de alimento
Optimizacin y enrutamiento
Agrupamiento y categorizacin
Divisin de labores
Transporte cooperativo

Cmo las Hormigas


Buscan Alimento?
 Las hormigas son capaces de encontrar el camino
ms corto hasta donde est el alimento
 La clave esta en la ruta de feromonas que ellas
dejan.
 La feromona en el camino mas corto se refuerza
haciendo que ms hormigas usen dicho camino.
 Luego de un tiempo las hormigas han definido
una ruta a seguir

Cmo las Hormigas


Buscan Alimento?
 El problema de los dos puentes

Evaporacin de Feromona
 Esto ayuda a descartar las fuentes de
alimento menos adecuadas

Optimizacin Basada en
Colonias de Hormigas (Ant
Colony Optimization ACO-)
 La idea es usar una colonia de hormigas
artificiales para resolver problemas de
optimizacin.

ACO para el Problema del


Viajante
 Las hormigas son depositadas randmicamente
en las diferentes ciudades.
 Cada hormiga busca una ruta usando una regla
probabilstica
 Cada hormiga va depositando feromona a
medida que construye una ruta
 En los nuevos recorridos la regla probabilstica
que define las ciudades a visitar est
influenciada por la cantidad de feromona
depositada
 Luego de un cierto nmero de iteraciones, una
buena solucin es encontrada

ACO para el Problema del


Viajante
 Ejemplo bsico

ACO para el Problema del


Viajante

Otras Aplicaciones
 Trfico en una red de
comunicaciones
 Programacin de
trabajos
 Programacin de rutas
para vehculos

Otras Aplicaciones
 AntNet

Optimizacin de
Funciones (I)
CESIN

SCB

J ( ) = 5e 0.5 sin (30 ) + e 0.2 sin (20 ) + 6

1 4 2

2
2
J (1 , 2 ) = 4 2.11 + 1 1 + 1 2 + 4 + 4 2 2
3

Minimum and Average Cost

Optimizacin de
Funciones (II)
2
1
0
-1
-2

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50
epochs

60

70

80

90

100

Cost Deviation

1.5

0.5

Costo Mnimo, Promedio y


Desviacin de la Poblacin

Desplazamiento de los
agentes sobre el espacio de
bsqueda

Optimizacin de
Funciones (III)
 Comparacin de diferentes tcnicas
CESIN

SCB
Algoritmo

Jmin

Javg

Algoritmo

Jmin

Javg

PSO

-1.0316

-1.0316

1.48E-07

PSO

1.2573

1.3243

6.68E-02

BSFO

-1.0316

-1.0312

5.02E-04

BSFO

1.2693

1.4395

1.98E-01

AACA

-1.0316

-1.0241

8.11E-03

AACA

1.3286

1.3395

2.52E-02

Sintonizacin de un PID
(I)
 Control de Temperatura en
reactor de agitacin continua
 Variable de entrada:
Porcentaje de apertura de la
vlvula de vapor
 Disturbios: Flujo de sustancia
y Temperatura de Sustancia
 Se considera la saturacin de
todas las variables y
cuantificacin en los niveles
de apertura.
 Puntos de operacin:
 T = 65.5C
 Ti = 37.7 C
 F = 425 l/s

Sintonizacin de un PID
(II)
 Bajo las mismas condiciones de diseo, obtener un
controlador con desempeo similar al obtenido con AG y
CD.
 Bajo esfuerzo de control
 Buen rechazo a perturbaciones
 Rpido establecimiento

1
U ( z ) = K p E ( z ) + K d 1 z 1 E ( z ) + K i
E (z )
z 1

1
J = K1
N

(r (k ) y(k ))
k =0

1 N
2
(
(
)
(
)
)
+ K2
u
k

u
k

N 1 k =1

Sintonizacin de un PID
(III)
ACO
100
Temperatura (C)

 Comparacin de
diferentes
tcnicas

50

Porcentaje de Apertura

MSE
MTSE
CAA
CAS

FUZZY
2.23E+01
8.46E+04
1.49E+02
2.45E+00

PIDAG
1.81E+01
6.66E+04
1.49E+02
4.17E+00

1000

2000

3000
Tiempo (min)

4000

5000

1000

2000

3000
Tiempo (min)

4000

5000

100

50

PIDPSO
1.74E+01
6.80E+04
1.49E+02
3.73E+00

PIDBSFO
3.52E+01
1.43E+05
1.49E+02
1.16E+00

PIDACO
1.63E+01
6.00E+04
1.49E+02
5.32E+00

Control Indirecto
Adaptativo (I)
 Control de Nivel en
Tanque con seccin
variable
 Se usa un modelo
estimado de la planta
y un controlador por
equivalencia
dh(t ) d 2 gh(t )
c
1
=
+
u (t ) u (k ) =
(r (k ) (k 1)h(k 1))
(k 1)
dt
a h(t ) + b
a h(t ) + b

Control Indirecto
Adaptativo (II)

Liquid height, h

15

10

10

20

30

40

50

60

70

80

90

100

10

20

30

40

50
Time, k

60

70

80

90

100

Control Action, u

50

El sistema de identificacin
corresponde al algoritmo
de enjambres

-50

Plataforma de Experimentacin en
un Sistema de Temperatura
Multizona

Cmo Controlar la
Plataforma?
MODELO?
CONTROL?
RESTRICCIONES
?

Disturbios del
Ambiente

S1
I1

S2

I2

I16

S25

Basada en Hormigas Un
Agente

Basada en Hormigas Dos


Agente

Basada en Hormigas Cuatro


Agentes

Algoritmo de Hormigas para


Agrupamiento
 Algunas especies de hormigas agrupan los
cadveres de las hormigas muertas

Aplicaciones
 Agrupamiento de objetos usando
robots
 Se recoge el objeto con una alta
probabilidad si se perciben pocos objetos
cerca
 Se deposita el objeto con alta probabilidad
si se perciben muchos objetos cerca

Divisin de Labores
 Unas de las claves del xito de los insectos sociales
es su especializacin morfolgica y funcional:






Las reinas son reproductoras


Soldados y obreros estriles
Obreros especializados en cuidad y alimentar las larvas
Obreros especializados en buscar comida
Soldados especializados en cuidar el nido

Divisin de Labores
Asignacin Adaptativa de Tareas
ATAA
Inicio

ALGORITMO ATAA

Aparece una tarea


a realizarse

NO

Distancia

_X=

X+ ;

SI

X=

distancia = 0;

SI

X=

X 0;

Tarea X
Cubierta?

SI

NO

NO
NO

Se decrementa la
demanda de X

SI

Agente
disponible?

Fin

Asignacin Adaptativa de Tareas


Ejemplo

Transporte Cooperativo
Emular el comportamiento de las hormigas
para transportar cooperativamente objetos
que estn por encima de la capacidad de un
individuo

Aplicaciones
Transporte cooperativo en robtica

Algunos Enlaces
Ant Colony Optimization
http://www.aco-metaheuristic.org/
The Swarm-Intelligent Systems (SWIS)
http://swis.epfl.ch/
Swarm Intelligence resources
http://staff.washington.edu/paymana/swarm/
Ants Viewer 1.0
http://www.rennard.org/alife/english/antsgb.html
TSPLIB is a library of sample instances for the TSP
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/
Generic simulated flocking creatures boids.
http://www.red3d.com/cwr/boids/
Design and implementation of self-organizing and self-assembling
artifacts.
http://www.swarm-bots.org/

Você também pode gostar