Universidad de Chile Facultad de Ciencias F´ısicas y...

138
Universidad de Chile Facultad de Ciencias F´ ısicas y Matem´ aticas Departamento de Ingenier´ ıa El´ ectrica MODELACI ´ ON Y OPTIMIZACI ´ ON DE REDES IP USANDO HERRAMIENTAS DE INTELIGENCIA COMPUTACIONAL MEMORIA PARA OPTAR AL T ´ ITULO DE INGENIERO CIVIL ELECTRICISTA PATRICIO ALEJANDRO URRUTIA ARESTIZ ´ ABAL PROFESOR GU´ ıA: ALBERTO CASTRO ROJAS MIEMBROS DE LA COMISI ´ ON: HELMUTH THIEMER WILCKENS JORGE SANDOVAL ARENAS AGOSTO 2007

Transcript of Universidad de Chile Facultad de Ciencias F´ısicas y...

Page 1: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Universidad de ChileFacultad de Ciencias Fısicas y MatematicasDepartamento de Ingenierıa Electrica

MODELACION Y OPTIMIZACION DE REDES IP USANDOHERRAMIENTAS DE INTELIGENCIA COMPUTACIONAL

MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVILELECTRICISTA

PATRICIO ALEJANDRO URRUTIA ARESTIZABAL

PROFESOR GUıA:ALBERTO CASTRO ROJAS

MIEMBROS DE LA COMISION:HELMUTH THIEMER WILCKENS

JORGE SANDOVAL ARENAS

AGOSTO 2007

Page 2: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Indice general

1. Introduccion 5

2. Antecedentes 72.1. Vision General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Trafico en la Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1. Ciclos de Manejo de la Red . . . . . . . . . . . . . . . . . . . . . . 92.3. El Problema de Planificacion de Redes . . . . . . . . . . . . . . . . . . . . 10

2.3.1. Un Problema de Optimizacion . . . . . . . . . . . . . . . . . . . . . 102.3.2. Factores de Planificacion . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4. Programacion Matematica para la Planificacion . . . . . . . . . . . . . . . 112.4.1. Soluciones Optimas . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4.2. Programacion Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4.3. Problemas de Programacion Lineal . . . . . . . . . . . . . . . . . . 132.4.4. Resolviendo Programaciones Lineales . . . . . . . . . . . . . . . . . 162.4.5. Programacion Lineal Entera . . . . . . . . . . . . . . . . . . . . . . 172.4.6. Ejemplo: Balance de Capital . . . . . . . . . . . . . . . . . . . . . . 182.4.7. Programacion Dinamica . . . . . . . . . . . . . . . . . . . . . . . . 192.4.8. Caso de Estudio: El problema de Asignacion de una Celda . . . . . 20

2.5. Problemas, Notacion e Ilustraciones de Diseno de Redes . . . . . . . . . . . 222.5.1. Notacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.2. Problemas de Dimensionamiento . . . . . . . . . . . . . . . . . . . 222.5.3. Ruteo del Camino mas Corto . . . . . . . . . . . . . . . . . . . . . 242.5.4. Redes Justas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.5.5. Diseno Topologico . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.5.6. Diseno de Restauracion . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.6. Ejemplos de Modelacion Relacionados con la Tecnologıa . . . . . . . . . . 262.6.1. Redes IP: Ingenierıa de Trafico Intra-Dominio . . . . . . . . . . . . 272.6.2. Redes MPLS: Optimizacion de Tuneles . . . . . . . . . . . . . . . . 282.6.3. Redes ATM: Diseno de Camino Virtual . . . . . . . . . . . . . . . . 292.6.4. Redes de Transporte SONET/SDH: Diseno de Capacidad y Proteccion 292.6.5. Anillos SONET/SDH: Diseno del Ancho de Banda de Anillo . . . . 312.6.6. Redes WDM: Diseno de Restauracion con Conexiones Cruzadas opticas 322.6.7. IP sobre SONET: Diseno Combinado de Dos Niveles . . . . . . . . 33

3. Metodologıa de Trabajo 35

2

Page 3: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4. Omnet++ 384.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2. Vision General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.1. Moulos Jerarquicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.2. Mensajes, Puertas y Enlaces . . . . . . . . . . . . . . . . . . . . . . 394.2.3. Uso de OMNET++ . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3. Archivos NED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.4. Archivos C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.4.1. Modulos Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.5. Agregando Estadısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.6. Herramientas Adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5. Redes Neuronales 495.1. La Neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.2. Perceptron Multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.3. Modelacion de Sistemas Dinamicos . . . . . . . . . . . . . . . . . . . . . . 515.4. Identificacion de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.4.1. Procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.5. Ejemplo de Implementacion de una Red Neuronal . . . . . . . . . . . . . . 54

6. Herramientas de Optimizacion 566.1. Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.1.1. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.2. Colonia de Hormigas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.3. Algoritmos Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.3.1. Elementos Principales . . . . . . . . . . . . . . . . . . . . . . . . . 626.4. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.5. Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 676.6. Modelo de Decision Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.6.1. Enjambre de Partıculas en Numeros Continuos . . . . . . . . . . . . 706.6.2. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.7. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7. Desarrollo 787.1. Modelo de un Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787.2. Relacion entre Packet Loss - Parametros de la Red . . . . . . . . . . . . . 797.3. Elemento de Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807.4. Modelo Final de la Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7.4.1. Resultados Modelacion . . . . . . . . . . . . . . . . . . . . . . . . . 847.5. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.5.1. Diseno y Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . 91

8. Sistema Completo 988.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988.2. Resultados Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

3

Page 4: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

9. Conclusiones 1089.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089.2. Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Apendices 114

A. Programas 114A.1. Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115A.2. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125A.3. Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 129A.4. Sistema Completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133A.5. Graficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

4

Page 5: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 1

Introduccion

En la actualidad las redes de computadoras se han vuelto cada vez mas complejas.No solo han crecido en tamano, sino que cada vez se incluyen mas servicios y protocolos,como telefonıa, television, etc. Es por esto que, si una empresa o ISP quisiera plantearun unico problema de optimizacion que involucre a todas las variables de una red, per-mitiendo optimizar el funcionamiento de la misma, y que indique el momento precisoen el que se deben cambiar los equipos, o migrar a nuevas tecnologıas; serıa una tareapracticamente imposible. Esto se debe a muchas razones, una es la ausencia de un solocriterio de optimizacion, o el tamano del problema, o el hecho de que el desarrollo de redesde telecomunicaciones es un proceso que evoluciona y cambia constantemente en el tiempo.

Es entonces necesario buscar una forma alternativa de resolver este problema. La formanatural de resolverlo, debido a la estructura de capas que poseen las redes, es subdividiendoel problema, en pequenas partes, que resuelvan temas especıficos, y que mejoren la situa-cion general. Es posible que no sea una solucion optima, pero permite mejorar de maneraconsiderable el funcionamiento de una red.

Ası surge el objetivo principal del siguiente trabajo, el cual consiste en resolver unode estos subproblemas, la mejora de los parametros de calidad de servicio de una red, loscuales son: el delay, el jitter y el packet loss; especıficamente se intentara mejorar elPacket Loss de la red.

Las formas de resolver un problema de optimizacion son muy variadas, y existe unagran cantidad de herramientas que sirven de ayuda. Algunas de estas son llamadas herra-mientas de Inteligencia Computacional, las cuales se caracterizan por imitar a los seresvivos, ya sea imitando su comportamiento, forma de ser o de reproducirse. Uno de lospropositos principales de este trabajo es utilizar algunas de estas herramientas para resol-ver el problema de optimizacion, u ocuparlas para modelar el comportamiento de la red.

Se debe entonces plantear el problema de optimizacion, para lo cual es necesario cons-truir una funcion de optimizacion que relacione los parametros de calidad de servicio conlos parametros de una red, que pueden ser el tamano de los buffers de los routers involucra-dos, o los anchos de banda asignados. Una vez construida la funcion debe ser optimizada

5

Page 6: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

usando una de las herramientas antes mencionadas.

Como objetivos especificos se plantean los siguientes:

Realizar el modelo de una red usando algun software de simulacion como OMNET++[10].

Usando el modelo se de simular una red y obtener los parametros de calidad deservicio de la misma.

Definir una funcion objetivo que permita obtener los nuevos parametros de la redque mejoren el Packet Loss los parametros de calidad de servicio (QoS).

Realizar un estudio de los distintos metodos de optimizacion que se van a utilizar.

Optimizar la red con los distintos metodos y comparar los resultados obtenidos.

Realizar una optimizacion de una red real.

Comparar los resultados obtenidos con el modelo y la red real, para validar, el modelo,los metodos y la funcion de optimizacion.

6

Page 7: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 2

Antecedentes

2.1. Vision General

Existe una analogıa con los viajes aereos que permite entender el funcionamiento de lasredes de telecomunicaciones. Suponiendo que una persona desea viajar desde la ciudad dePuerto Montt a Barcelona; la persona debe viajar desde su casa al aeropuerto de PuertoMontt, y luego tomar varios aviones que pasan por varios aeropuertos antes de llegar aBarcelona, y luego viajar hasta su destino en Barcelona. Si se toma en cuenta la parte quecorresponde al viaje en avion, esta se puede considerar como una red de aeropuertos queestan conectados con links. A partir de esto, existen algunos puntos importantes que hayque tomar en cuenta:

1. Existe una serie de mecanismos de transporte (autos, aviones, trenes, etc)

2. Los mecanismos para viajar hacia el primer aeropuerto, y desde el ultimo al destinofinal requieren alguna forma de acceder a ellos

3. El nucleo del viaje es el viaje aereo, por lo que la red central se compone de una seriede aeropuertos.

Todo esto, y lo mismo pasa para las redes como Internet, en esencia es una topologıaque forma redes que conectan diferentes puntos o nodos, para satisfacer requerimientos demultiples usuarios. Existen varias razones por las que no se realizan viajes directos, entreun punto y otro, sino que se pasa a traves de varios aeropuertos; la razon mas importantees que no existe trafico suficiente que justifique un enlace directo entre Barcelona y PuertoMontt, asi se permite que los usuarios salten (hop) a traves de varios aeropuertos. En algu-nos puntos los usuarios deben cambiar de aerolınea; de la misma forma en ciertos puntos eltrafico de internet cambia de ser manejado por un proveedor a otro. Los aviones que viajana traves de ciertos segmentos son de mayor tamano que los de otros segmentos, lo que noslleva al concepto de capacidad del link (o ancho de banda). Ası, si un avion esta lleno, nose puede admitir un pasajero adicional, y si un enlace de internet se encuentra saturado,un nuevo paquete no puede ser admitido en el link.

Ahora, en los viajes aereos, al ir desde un aeropuerto a otro, antes de alcanzar eldestino final, es necesario que uno espere por algun tiempo en un aeropuerto intermedio.

7

Page 8: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Esto puede verse como si fuesemos guardados en el aeropuerto intermedio, esperando porser reenviados hacia el siguiente aeropuerto. Este mismo comportamiento se encuentra eninternet, y es conocido como packet switching, en el cual los aeropuertos pasan a ser losrouters de la red que rutean a los pasajeros a los distintos aeropuertos.

Figura 2.1: Red de Computadores

2.2. Trafico en la Internet

Para poder entender y manejar mejor ciertos parametros de una red, es necesario ob-tener un modelo matematico de la misma.

Dado el comportamiento aleatorio de la red, si se asume que el arribo de paquetes aun punto sigue un proceso de Poisson, que el tamano de los mismos sigue un distribucionexponencial, y que el sistema puede ser visto como un sistema de colas M/M/1 ; entonceses posible encontrar una formula para determinar el retardo promedio de los paquetes enla red. Sea Kp el tamano promedio de los paquetes y C la capacidad del link, entonces elservicio promedio del link es:

µp =C

Kp

Ahora, si llamamos λp al arribo promedio de los paqutes, entonces el retardo promedioes:

D(λp, µp) =1

µp − λp

Ademas es posible definir el concepto de utilizacion, denominado ρ, en que:

8

Page 9: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

ρ =λp

µp

El cual muestra el porcentaje de utilizacion promedio de un link.

Los problemas de diseno apuntan a establecer modelos matematicos de la red, comoel anterior, y optimizar algun parametro de ella, como minimizar el costo, o maximizar latasa de transmision.

2.2.1. Ciclos de Manejo de la Red

Importante es tomar en cuenta los distintos ciclos de manejo que se presentan en lared, para establecer adecuadamente el problema de optimizacion que se desea resolver. Porejemplo, es distinto el tiempo de planeamiento que se debe utilizar en decidir si un paqueteen un router debe ir por alguna interfaz, en comparacion con el tiempo que se debe tomaren decidir la instalacion de un link o un nodo en la red, la cual cambia la topologıa de lamisma. En la figura 2.2 se ve reflejada una lınea de tiempo que indica los distintos tiposde problemas.

Figura 2.2: Linea de Tiempo

9

Page 10: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.3. El Problema de Planificacion de Redes

Hoy en dıa, la informacion es transportada a traves de una variedad de “redes”. Estasvan desde redes de telefonıa analogas y digitales a redes de comunicacion celular, a redessatelitales y a, finalmente, redes de datos como la Internet, ethernets, anillos, redes dearea local, y redes metropolitanas. Una organizacion en particular puede tener una red queabarque muchas de estas tecnologıas.

Las organizaciones que posean y se conecten a dichas redes desean ser capaces de orde-nadamente desplegar, usar, y mejorar el equipamiento de redes. El rol de la planificacionde redes es proveer medios inteligentes para que una organizacion alcance las futuras ne-cisidades de la red, usando las redes existentes como punto de partida.

Naturalmente, a medida que pasa el tiempo, la tecnologıa avanza, por lo que el planea-miento es un proceso que no se detiene, el cual utiliza la ultima informacion para revisarsus planes.

La planificacion de redes es altamente desarrollada por grandes companias de teleco-municaciones, las cuales, usualmente poseen distintos departamentos para el planeamientode distintos sistemas. Las grandes inversiones involucradas y el ambiente de alta competiti-vidad hacen necesario un planeamiento eficiente y justifican el uso de tecnicas sofisticadasde planificacion.

2.3.1. Un Problema de Optimizacion

Generalmente, uno querria minimizar gastos en equipamiento y operaciones, maximi-zar ingresos, y hacer todo esto mientras cambian la tecnologıa, los requerimientos de losusuarios y el ambiente economico. Este es un objetivo muy difıcil de alcanzar. De hechoes imposible poner el problema de planificacion de redes, en todo su detalle, en un soloproblema de optimizacion, para cualquier organizacion de un tamano razonable.

Existen muchas razones para esto, una es la ausencia de un solo criterio de optimi-zacion, otro es el tamano del problema en grandes organizaciones, o tambien lo que seainesperado, como la competencia de libre mercado, nuevos desarrollos tecnologicos y nue-vos desarrollos economicos.

Debido a esto, el problema total se subdivide en pequenos problemas que sean masmanejables. Aunque esta particion puede no ser optima, y quiza solo algunos posean unasolucion optima, es la unica forma de poder realizar un progreso.

2.3.2. Factores de Planificacion

Factores Tecnologicos

El desarrollo periodico de nuevas tecnologıas puede, eventualmente, proveer mas capa-cidad, mayor confiabilidad y reducir costos. Por esto, el proveedor de redes debe determinar

10

Page 11: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

cuando y como introducir nuevas tecnologıas en la red existente. Es necesario acertar alpunto en que los beneficios de una actualizacion superan los costos de desarrollar la nuevatecnologıa.

Factores de Negocio

Existen una serie de factores relacionados con el negocio que se deben considerar. Porejemplo, si se introduce una nueva tecnologıa es posible disminuir los costos, sin embargoel costo de dejar de utilizar el equipamiento antiguo puede ser alto si se contemplaba utili-zarlo por un largo periodo de tiempo. Tambien el libre mercado puede, dada su incerteza,hacer fallar el mejor de los planeamientos. O tambien, por ejemplo, que la introduccion dela fibra optica implica que no se necesiten tantos links intercontinentales, sin embargo, lafalla de uno de ellos puede ser fatal.

Es necesario considerar que las organizaciones se guian por los beneficios que obtienen.Por esto se dice que el factor clave de los negocios para la planificacion es obtener elfinanciamiento para construir la infraestructura de la red.

Factores Organizacionales

Los factores organizacionales se refieren a como esta orientada la empresa; si esta orien-tada por la tecnologıa, lo que implica siempre hacer mejoras tecnologicas; o si esta orien-tada siempre a reducir costos. Afortunadamente existe un punto intermedio, en el que, alaumentar la tecnologıa es posible reducir los costos.

Factores Ambientales

Los factores ambientales se refieren al lugar donde se encuentra la red. Esto es, factoresque dependen del paıs en donde se encuentre la red. Estos factores pueden ser, ya sea,legales (leyes de telecomunicaciones donde se encuentre la red), economicos (por ejemplola situacion del pais) o factores que afecten la salud pblica, como por ejemplo tecnologıasinalambricas o campos electromagneicos de alta frecuencia.

2.4. Programacion Matematica para la Planificacion

2.4.1. Soluciones Optimas

La formulacion matematica del problema de planeamiento consiste en dos partes. Laprimera parte es la Funcion Objetivo. Esta funcion nos dice el “costo” para una solu-cion propuesta. Las variables que describen la posible solucion son llamadas Variables deDecision.

La segunda parte de la formulacion es un conjunto de Restricciones, expresadas comoecuaciones matematicas. Las restricciones limitan el rango de posibles soluciones acepta-bles, es decir determinan el Espacio de posibles soluciones.

11

Page 12: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

La funcion objetivo junto al set de restricciones es llamado Programacion Matemati-ca. Para un problema de programacion matematica una Solucion optima es aquella queminimiza la funcion objetivo, y a la vez cumple con todas las restricciones.

Algunos de los problemas poseen una unica solucion Globalmente optima, otrosposeen muchas soluciones Localmente optimas. Las soluciones globalmente optimas,como su nombre lo indica, son optimas con respecto a todo el espacio de soluciones, encambio los optimos locales, lo son con respecto a una particion de dicho espacio.

2.4.2. Programacion Lineal

Enunciado del Problema

Programacion lineal se refiere a un tipo de problema particular, lineal, y sus solucionesasociadas. Como se menciona en la seccion 2.4.1, el problema consiste en dos partes, unoes la funcion objetivo a ser minimizada:

mın Z = c1x1 + c2x2 + c3x3 + · · ·+ cnxn

Donde xi(i = 1, 2, . . . , n) son la variables de decision, cuyo valor optimo debe serencontrado; los ci(i = 1, 2, . . . , n) corresponden a costos proporcionales asociados a cadauna de las variables de decision. Z es el costo total.

La segunda parte corresponde al conjunto de restricciones:

a11x1 + a12x2 + . . . + a11nxn = b1

a21x1 + a22x2 + . . . + a12nxn = b2...am1x1 + am2x2 + . . . + a1mnxn = bm

Aca, m es la cantidad de restricciones, aij y bi son constantes. Cabe destacar que lasrestricciones tambien pueden tomar la forma de desigualdades, y, en general, las variablesde decision son mayores e iguales a cero.

Si un problema de programacion posee desigualdades en las restricciones, como:

a11x1 + a12x2 + . . . + a11nxn ≤ b1

a21x1 + a22x2 + . . . + a12nxn ≤ b2...am1x1 + am2x2 + . . . + a1mnxn ≤ bm

Es posible presentar este problema como un problema de restricciones con igualdadescomn si se agregan unas variables llamadas slack. Las variables slack son mayores o igualesque cero y compensan la desigualdad, de la siguiente forma:

a11x1 + a12x2 + . . . + a11nxn + y1 = b1

a21x1 + a22x2 + . . . + a12nxn + y2 = b2...am1x1 + am2x2 + . . . + a1mnxn + ym = bm

12

Page 13: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Donde yi(i = 1, 2, . . . ,m) son las variables de slack. Si la desigualdad es en la otradireccion, la variable es restada en vez de sumada en la ecuacion, y en este caso se llamanvariable surplus.

El problema de programacion se puede expresar de forma canonica como:

mın Z = cT x

sujeto a:Ax = b

Ahora, agregando las variables de slack el problema queda:

mın Z = cT x

sujeto a:

[A I]

[xy

]= b

2.4.3. Problemas de Programacion Lineal

Dadas las caracterısticas de la programacion lineal es posible presentar una serie deproblemas. En esta seccion veremos algunos de los mas significativos.

Problema de Minimizacion del Costo del Flujo

En este problema se tienen N nodos. Un nodo es una entidad, como un computador,el cual es capaz de procesar datos y puede ser conectado por arcos a otras entidades paraintercambiar datos. En este problema un producto (datos) viaja en forma de flujo entrelos nodos. Cada nodo puede ser, ya sea una fuente o un deposito para este flujo. El montode flujo en un nodo es:

bi > 0 cuando es fuentebi < 0 cuando es deposito

Obviamente todo el producto generado debe ser consumido, o sea:

N∑i=1

bi = 0

Si se define que el costo de una unidad de flujo desde el nodo i al nodo j es cij, yla cantidad de flujo entre el nodo i y el nodo j es xij, se puede definir el problema conprogramacion lineal como:

mın Z =∑i,j

cijxij

sujeto a:

N∑j=1

xij −N∑

k=1

xki = bi i = 1, 2, . . . , N

xij ≥ 0 i, j = 1, 2, . . . , N

13

Page 14: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Problema del Transporte

En este problema se tienen cantidades de un producto, a1, a2, . . . , aM , que son trans-portados desde M lugares a N destinos, en cantidades b1, b2, . . . , bN . El costo de transportede una unidad del producto es cij y la cantidad de flujo entre el nodo i y el nodo j es xij.El objetivo es minimizar el costo de transporte. El problema se expresa como:

mın Z =M∑i=1

N∑j=1

cijxij

sujeto a:

N∑j=1

xij = ai con i = 1, 2, . . . ,M

M∑i=1

xij = bj con j = 1, 2, . . . , N

xij ≥ 0 con

{i = 1, 2, . . . ,Mj = 1, 2, . . . , N

Ademas se cumple una ley de conservacion natural, que todo el producto transportadoes igual a todo el producto recibido:

M∑i=1

ai =N∑

i=1

bj

Problema del Transbordo

Este problema es parecido al problema del transporte, sin embargo, ademas de losnodos fuentes y nodos deposito del producto, existe un numero de nodos de transbordo,los cuales se usan para retransmitir el producto desde las fuentes a los destinos (unos deellos son los routers). Por tanto, podemos separar los N nodos de la red en subconjuntosde nodos fuente S (source), nodos de transbordo T (transshipment) y nodos de destino D(destination). Entonces se puede presentar el problema de la siguiente forma:

mın Z =∑i,j=1

cijxij

sujeto a:

N∑j=1

xij −N∑

k=1

xki = ai con i ∈ S

N∑j=1

xij −N∑

k=1

xki = 0 con i ∈ T

N∑j=1

xij −N∑

k=1

xki = −bi con i ∈ D

14

Page 15: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Ademas: ∑i∈S

ai =∑i∈D

bi

Problema de Capacidad

En un problema que incluya las capacidades de cada link para el transporte del pro-ducto, se incluyen restricciones para el flujo en cada link de la siguiente forma:

0 ≤ xij ≤ Capij ∀i, j

Donde Cap es la capacidad maxima del link ij.Y el problema se expresa ahora como:

mın Z =∑i,j=1

cijxij

sujeto a:

N∑j=1

xij −N∑

k=1

xki ≤ ai con i ∈ S

N∑j=1

xij −N∑

k=1

xki = 0 con i ∈ T

N∑j=1

xij −N∑

k=1

xki ≤ −bi con i ∈ D

Ademas: ∑i∈S

ai ≥∑i∈D

bi

Este es un problema donde se deben utilizar variables slack para expresarlo como unproblema basico.

Problema de Asignacion

El uso tıpico de este tipo de problemas es asignar N trabajadores a N trabajos. Elbeneficio (opuesto al costo) de asignar a un trabajador i a un trabajo j es cij. Ademas:

xij =

{1 Si el trabajador i es asignado al trabajo j0 En otro caso

Por lo tanto la funcion objetivo sobre todos lo posibles asignamientos es:

max Z =N∑

i=1

N∑j=1

cijxij

Las restricciones deben expresar tres hechos acerca del problema:

15

Page 16: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

• Cada trabajador puede ser asignado a lo mas a un trabajo.

• A cada trabajo puede ser asignado un solo trabajador.

• Los xij son mayores o iguales a cero.

Estas restricciones pueden ser expresadas de la siguiente forma:

N∑j=1

xij = 1 Para i = 1, 2, . . . , N

N∑i=1

xij = 1 Para j = 1, 2, . . . , N

xij ≥ 0 Para

{i = 1, 2, . . . , Nj = 1, 2, . . . , N

Problema de Maximo Flujo

Es un problema con N nodos. Un nodo es una fuente (“s”), y un nodo es un deposito(“d”). Existen tambien restricciones de capacidad en los links:

0 ≤ xij ≤ Capij ∀i, j

El objetivo de este problema es maximizar el flujo a traves de la red. Ası, si el flujodesde s a d es f tenemos:

max fN∑

i=1

xsi −N∑

i=1

xis = f fuente

N∑j=1

xij −N∑

j=1

xji = 0 i 6= fuente, destino

N∑i=1

xdi −N∑

i=1

xid = −f destino

2.4.4. Resolviendo Programaciones Lineales

Existen dos enfoques para resolver programaciones lineales, el metodo simplex, y elalgoritmo del punto interior.

Supongamos el siguiente problema de programacion lineal:

max Z = x1 + 2x2

Sujeto a:43x1 + x2 ≤ 4 en a

x2 ≤ 3 en b4x1 + x2 ≤ 8 en c

16

Page 17: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Donde a, b y c se muestran en la figura 2.3. Al dibujar las restricciones, es aparente queel espacio de soluciones es convexo. De hecho el espacio de soluciones para programacionlineal es siempre convexo, de dimesion igual al numero de variables de decision. La solucionoptima se encuentra en una de las esquinas de este espacio de soluciones (I, II, III o IV).Estos puntos se conocen como puntos extremos.

Figura 2.3: Espacio de Soluciones

Para el problema lineal presente, el valor de la funcion objetivo en los puntos extremoses:

0 + 2× 3 = 6,00 en I3/4 + 2× 3 = 6,75 en II3/2 + 2× 2 = 5,50 en III2 + 2× 0 = 2,00 en IV

Podemos ver que la solucion optima se encuentra en el punto extremo II. El metodosimplex es un procedimiento en que el algoritmo se mueve de un punto extremo a otro,de una manera inteligente, hasta que el punto extremo optimo se alcanza. El algoritmo depunto interior parte desde un punto interno y avanza de forma descendente hacia el puntoextremo de solucion optima.

2.4.5. Programacion Lineal Entera

En muchos problemas practicos de planeamiento de redes poseen una solucion dondealgunas o todas las variables de decision son enteras en vez de continuas. Debido a estouno tenderıa a resolver el problema usando la tıpica programacion lineal, sin embargo estolleva a soluciones malas y no optimas.

17

Page 18: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.4.6. Ejemplo: Balance de Capital

Suponiendo una empresa de telecomunicaciones que debe construir una serie de Ncentros de switching para proveer servicio de switch a la base del cliente. Sea ci el costo deconstruir un centro de switching en el sitio i. Sea pi el beneficio que se genera al poner uncentro de switching en la posicion i. sea C la cantidad de fondos maxima para construircentros de switching, o sea:

N∑i=1

cixi ≤ C

donde las variables de decision xi se definen como:

xi =

{1 si el sitio i es seleccionado como un centro0 si el sitio i no es seleccionado como centro

Entonces:

costo total =∑N

i=1 cixi

beneficio total =∑N

i=1 pixi

El problema de programacion matematica entonces es:

max Z =N∑

i=1

pixi

Sujeto a: ∑Ni=1 cixi ≤ C

xi ≥ 0 i = 1, 2, . . . , N

Con xi un entero binario e i = 1, 2, . . . , N .

Tecnicas de Solucion

Una forma popular de resolver los problemas de programacion lineal entera es utilizandoalgoritmos de la familia branch and bound. Para comprender su funcionamiento se debeenrender el concepto de arbol de decision. Un arbol de decision es una representacion detodas las posibles soluciones a tomar produciendo todas las posibles soluciones al problema.Cada solucion potencial ocupa una hoja en el arbol. El algoritmo branch and bound generalımites en la solucion. Esto se utiliza para eliminar sub-arboles durante la bsqueda de lasolucion optima. Ası, si largas porciones del arbol son continuamente eliminadas, no haynecesidad de revisar todas las posibles soluciones para encontrar el optimo, lo que reduceel tiempo de procesamiento considerablemente.

18

Page 19: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 2.4: Demanda predicha de circuitos para los proximos 3 anos

2.4.7. Programacion Dinamica

La idea principal de la Programacion Dinamica es que la larga familia de problemasde optimizacion puede ser transformada en un problema en el cual se debe encontrar elcamino mas corto a traves de un grafico apropiado. Como ejemplo, consideremos un linken un sistema telefonico para el cual la demanda predicha se ilustra en la figura 2.4.

Ademas, se asume que se puede elegir dentro de los sistemas de la tabla 2.1.

Sistema Capacidad (circuitos) Costo

A 100 $1000B 250 $1750C 500 $3000

Tabla 2.1: Capacidad y Costo

Ahora el problema es decidir cuanta capacidad instalar cada ano para alcanzar la de-manda predicha y minimizar la inversion a traves de los anos. El problema puede serresuelto de la siguiente manera. Se parte creando un grafo, o un arbol de decision, quemuestre cada secuencia posible de instalacion a traves de los anos (ver figura 2.5).

Se puede apreciar que la peor estrategia es instalar en cada ano la capacidad justademandada. La mejor estrategia es istalar dos sistemas de 500 circuitos, lo cual se puedehacer instalando dos el primer ano, o uno el primero y otro el segundo.

Un factor que puede ser incluido en este ejemplo es el costo del dinero, o sea cuantovaria el costo del equipo ano a ano segun variaciones como la inflacion, lo cual puede hacerque el costo de instalar los sistemas de un ano a otro cambie. Para agregarlo basta hacelos cambios apropiados en los costos en cada rama.

19

Page 20: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 2.5: Arbol de decision de la secuencia de instalacion

2.4.8. Caso de Estudio: El problema de Asignacion de una Celda

La arquitectura basica de los sistemas de comunicaciones moviles es dividir el area decovertura en pequenos areas o celdas. Una estacion base en el centro de la celda mantienecontacto de radio con los moviles en la celda. La estacion base tambien esta conectado aun switch que permite conectar a los moviles a la red publica.

Un concepto importante en comunicaciones celulares es el “handoff”, el cual ocurrecuando un movil abandona una celda y entra a una adyacente. Entonces, el movil cambiala comunicacion por radio a la estacion base de la nueva celda.

Generalmente, un solo switch puede ser conectado a multiples celdas. Entonces hay dostipos de handoff, uno en que el movil se mueve de una celda a otra, cuando ambas estanbajo el control del mismo switch, o cuando el movil se mueve de una celda a otra, en laque las celdas estan conectadas a diferentes switches.

En este problema de optimizacion hay N celdas y M switches. El problema basico

20

Page 21: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

es asignar las celdas a los switches para minimizar una funcion de costo. Se definen lassiguientes variables:

hij Costo por unidad de tiempo de los handoffs de la celda i a la j. Este esproporcional a el volumen de handoffs entre la celda i y la celda j.

cik Costo por el tiempo de cableado entre la celda i y el switch k. Este costopuede ser ajustado.

λi Numero de llamadas procesadas por la celda i en una unidad de tiempo.

Mk Capacidad de procesamiento de llamadas del switch k.

Es posible definir xik como:

xik =

{1 si la celda i es asignada al switch k0 en otro caso

Hay una restriccion en la habilidad de procesar llamadas de cada switch:

N∑i=1

λixik ≤ Mk k = 1, 2, . . . ,M

Una segunda restriccion prohıbe que se conecte una celda a mas de un switch:

M∑k=1

xik = 1 i = 1, 2, . . . , N

Ahora la funcion objetivo posee dos componentes aditivas. Una es el costo de cablearlos switches a las celdas:

Zcableo =N∑

i=1

M∑k=1

cikxik

cik puede ser proporcional a la distancia y tomar en cuenta el costo de cableo locales.

La segunda componente es el costo de los handoff que ocurren entre dos switches dis-tintos. Se define entonces que:

zijk = xikxjk i, j = 1, 2, . . . , N k = 1, 2, . . . ,M

Donde zijk es 1 si la celda i y la celda j estan asignadas al mismo switch k, y es 0 si noes ası, Luego se define:

yij =M∑

k=1

zijk i, j = 1, 2, . . . , N

donde yij es uno si las celdas i y j son asignadas al mismo switch. El costo del handoffes entonces:

21

Page 22: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Zhandoff =N∑

i=1

N∑j=1

hij(1− yij)

donde hij es el costo por unidad de tiempo de handoffs entre la celda i y la celda j. Lafuncion de costo total es entonces:

Z = Zcableo + Zhandoff =N∑

i=1

M∑k=1

cikxik +N∑

i=1

N∑j=1

hij(1− yij)

El problema puede ser convertido en un problema de programacion entera usando lassiguientes restricciones:

zijk ≤ xij

zijk ≤ xjk

zijk ≥ xik + xjk − 1zijk ≥ 0

2.5. Problemas, Notacion e Ilustraciones de Diseno

de Redes

2.5.1. Notacion

En este capıtulo se presentan dos formas de representar las redes, con la llamada link-path notation y con node-link formulation, sin embargo ambas traen ciertos problemas alrepresentar redes grandes por lo que se opta finalmente por la notacion link-demand-path-identifier-based notation, la cual se presenta a continuacion.

Cada demanda se denota con la letra d, y el numero total de pares de demandas es D.Cada link se denota con la letra e, y el numero total de links es E. Ahora, dadas estasdefiniciones, se define el volumen para una demanda como hd, y la capacidad de un linkcomo ce. El numero total de nodos es V , y cada uno se etiqueta con la letra v.

Ahora, para cada demanda el flujo va a ir tomando distintos caminos o path. El nume-ro total de paths candidatos para una demanda d se denota como Pd, y cada path esetiquetado como p. Ahora, definidos los paths, un volumen de flujo se divide en los dis-tintos path, se denota como xdp. El costo de que un flujo pase por un link se denota como ξe.

Ahora, una vez aclarado el tema de la notacion principal se pueden ir formulando sindificultad los distintos problemas, como se vera en las secciones a continuacion.

2.5.2. Problemas de Dimensionamiento

En esta seccion se considera el problema de minimizar el costo de los links de la red,con un volumen de demanda dado entre los distintos nodos. La red a considerar es la de

22

Page 23: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

la Figura 2.6, en la cual solo tres de los cuatro nodos generan demanda entre ellos, y elcuarto solo rutea.

Figura 2.6: Red de cuatro nodos

Como se ve en la figura 2.6, la estructura consiste en V = 4 nodos y E = 5 links. En laparte superior se muestran las demandas bi-direccionales, D = 3. Como se vio en la sec-cion anterior, nodos (vertices) son etiquetados con la etiqueta general v (v = 1, 2, . . . , V ),los links (edges) con la etiqueta e(e = 1, 2, . . . , E) y las demandas con la etiqueta d(d =1, 2, . . . , D).

La capacidad de cada link es ce, cuando se de, sin embargo, para este problema, estaes la variable que queremos determinar, por lo que cuando la capacidad no esta dada, sinoque sea una variable se utiliza ye.

A la derecha de la figura 2.6 se pueden ver los volmenes de las demandas, los caminos(paths) definidos y los costos de cada uno de los links ξe.

Del, volumen de demanda, los flujos, y los distintos path, se concluye que:

Pd∑p=1

xdp = hd

O sea, que el volumen de una demanda es igual a la sumatoria de sus flujos por losdistintos caminos.

Ahora, dado que no todos los caminos posibles son ocupados, los distintos flujos, nopasan necesariamente por todos los links, por lo que podemos definir una variable binariaδedp, la cual nos indica con un 1 si el link pertenece al camino p para la demanda d, y un 0en otro caso, lo que nos ayuda a determinar la carga en un link. Por lo tanto si llamamosa la carga del link e, y

e:

23

Page 24: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

ye=∑

d

∑p

δedpxdp

Lo que nos lleva a las restricciones que imponen las capacidades de los links:

ye=∑

d

∑p

δedpxdp ≤ ye

Finalmente se puede formular la funcion de costos como:

F =E∑

e=1

ξeye

Con esto podemos formular el problema de los cuatro nodos como:

MinimizarF = 2y1 + y2 + y3 + 3y4 + y5

Sujeto a:x11 = 15

x21 +x22 = 20x31 +x32 = 10x31 ≤ y1

x11 +x32 ≤ y2

x22 +x32 ≤ y3

x11 x22 ≤ y4

x21 ≤ y5

x11, x21, x22, x31, x32 ≥ 0, y1, y2, y3, y4, y5 ≥ 0

De manera general el problema se plantea como sigue:

Minimizar:funcion objetivo: F =

∑e ξeye

Sujeto a:restricciones de demanda:

∑p xdp = hd

restricciones de capacidad:∑

d

∑p δedpxdp ≤ ye

restricciones en las variables: x ≥ 0, y ≥ 0

2.5.3. Ruteo del Camino mas Corto

Ahora nos enfocamos al problema del camino mas corto, esto es, para la demanda d,todo su volumen hd es realizada en el camino mas corto, con respecto a algn peso del linkw = (w1, . . . , wE), con we como el peso del link e

24

Page 25: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.5.4. Redes Justas

Suponiendo una demanda eloptica en una red, esto es, que cada demanda consumetanto ancho de banda como le sea asignado, un problema comun es definir cuanto anchode banda asignar a cada demanda, para que las capacidades del link no se vean excedidas.

En gran medida, el mejor criterio de equidad es el llamado Max-Min Fairness (MMF),tambien llamado equidad. El primer paso de obtener la solucion MMF consiste en asignarel mismo volumen maximo a todas las demandas, asegurando que la mınima asignaciones maximizada. Si se considera la red de la figura 2.7, tiene E = 2 links, V = 3 nodos yD = 3 demandas. Las capacidades de los links son c1 = c2 = 11

2. Cada demanda tiene un

solo camino candidato. El primer paso de la solucion resulta en la siguiente asignacion deflujo: x11 = x21 = x31 = 3

4, la cual resulta ser la solucion final. De otra manera, si despues

del primer paso, algo de capacidad esta aun libre, el proceso de incremento del volumende demanda, para aquellas que puedan, continua. Supongamos que la capacidad de e = 2aumenta a 2, entonces, despues del primer paso an queda 1

2de capacidad libre en el link

e = 2. Por ende la demanda d = 2 puede utilizar esta capacidad, aumentando la demandaasignada a 11

4.

Figura 2.7: Red de dos links

Existe una solucion que resulta ser an mejor que MMF, el cual es el principio deasignacion Proportional Fairness (PF). Este consiste en maximizar la suma de los loga-ritmos naturales de los volumenes asignados a las demandas, en nuestro caso, maximizarlog X11 + log x21 + log x31. Los beneficios de usar logaritmos naturales es que no permitenque alguna de las demandas sea cero, y ademas impiden que se le asigne demasiado volu-men a alguna demanda. La funcion objetivo aca es no lineal, y para el problema la solucionresulta ser: x11 = x21 = 1 y x31 = 1

2. Se debe notar que la solucion aca es mejor que en

MMF, ya que en la solucion original la capacidad aprovechada es: x11 + x21 + x31 = 214, y

en la solucion PF es x11 + x21 + x31 = 212, de una capacidad total igual a 3 (c1 + c2 = 3).

2.5.5. Diseno Topologico

En el diseno topologico, la funcion objetivo toma en cuenta el costo de instalacion,ademas del costo que depende de la capacidad, es decir:

F =∑

e

ξeye +∑

e

κeue

25

Page 26: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

donde κe es el costo de instalacion, e ue es una variable binaria que representa si el linksera o no instalado.

2.5.6. Diseno de Restauracion

Este diseno se refiere a la tolerancia a fallas de alguno de los links. Ası, cada link debedimensionarse no tan solo para llevar la carga que le corresponde, sino que tambien la deun link que falle. Se introduce la variable binaria αes, la cual indica si el link se encuentraactivo o no, ası las restricciones de capacidad cambian a:∑

d

∑p

δedpxdp ≤ αesye

donde s = 0, 1, . . . , S corresponde al tipo de falla. Esta situacion se ve reflejada en lafigura 2.8, la cual presenta en la parte superior fallas para el caso de trafico bifurcado, yen la parte inferior para el caso en que el trafico no esta bifurcado:

Figura 2.8: Soluciones tolerantes a fallas

2.6. Ejemplos de Modelacion Relacionados con la Tec-

nologıa

Este capıtulo ilustra con ejemplos aplicados a la tecnologıa las formas de modelar losproblemas del capıtulo anterior.

26

Page 27: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.6.1. Redes IP: Ingenierıa de Trafico Intra-Dominio

Este problema se refiere al que enfrentan los proveedores de Internet (ISP), en la zonade Intra-Dominio, como muestra la figura 2.9.

Figura 2.9: Red IP Intra-Dominio

Para el ruteo Intra-Dominio existen dos protocolos bien establecidos, open shortest-path first (OSPF) e intermediate system (IS-IS). Ambos funcionan de manera parecida ybuscan el camino mas corto entre dos routers. Dado que en este caso se tienen los linksestablecidos, se busca que los distintos links no se congestionen, es decir:

ye(w) ≤ ce, e = 1, 2, . . . , E

Ahora, se define la utilizacion del link como ye/ce. Entonces la maxima utilizacion sobre

todos los links es:

r = maxe=1,...,E

{y

e/ce

}Por lo tanto el problema final queda como:

Minimizar:F = r

Sujeto a:∑p xdp(w) = hd∑d

∑p δedpxdp(w) ≤ cer

r continuo we enteros no negativosSi en el optimo r∗ < 1, entonces ningun link estara congestionado.

27

Page 28: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.6.2. Redes MPLS: Optimizacion de Tuneles

Multi-protocol label switching (MPLS), es una tecnica reciente que provee ingenierıade trafico controlado para el flujo de paquetes de distintas clases de trafico en redes IPcore. Se asignan “Caminos virtuales”, de punto a punto de una capacidad predefinida a di-ferentes flujos correspondientes a diferentes clases de servicios asociadas con ciertos gruposde usuarios, con reden locales conectadas por la red IP core a traves de los tuneles MPLS.

Ası, el problema a resolver es el siguiente: como llevar diferentes clases de trafico enuna red MPLS a traves de la creacion de tuneles, de tal manera que el numero de tunelessea mınimo en cada router/link y la carga sea balanceada.

Para solucionarlo, se asume que la demanda hd puede ser llevada sobre multiples tuneles.Y si consideramos a xdp como la fraccion del volumen de la demanda para d a ser levadaen el tunel p. Entonces la restriccion para la demanda es:∑

p

xdp = 1 d = 1, 2, . . . , D

Si se tiene una cantidad positiva ε que sea el lımite menor en la fraccion de flujo en untunel, y se usa la variable binaria udp, para indicar el uso de un tunel, entonces:

εudp ≤ hdxdp

xdp ≤ udp

El numero total de tuneles en el link e es entonces:∑d

∑p

δedpudp

Como el objetivo es reducir la congestion de tuneles, entonces se minimiza r, que repre-senta el mınimo numero de tuneles sobre todos los links. Ası,el problema se formula como:

Minimizar:F = r

Sujeto a:∑p xdp(w) = 1∑d hd

∑p δedpxdp(w) ≤ cer

εudp ≤ hdxdp

xdp ≤ udp∑d

∑p δedpudp ≤ r

xdpcontinuo y no negativoudp binarior entero

28

Page 29: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2.6.3. Redes ATM: Diseno de Camino Virtual

ATM, a diferencia de MPLS, provee el concepto de camino virtual permanente o semi-permanente con una tasa de datos garantizada. Ahora el problema de diseno a solucionares: como determinar la capacidad del link para que el costo total del link sea minimizadodados los requerimientos de demanda del path virtual, y que la capacidad del link puedeestar en unidades modulares como 155 Mbps.

Ahora, pese a que hay varios caminos posibles, solo uno de ellos debe ser seleccionadopara cubrir por completo la demanda d, por ende, la variable binaria udp cumple la relacion:∑

p

udp = 1

Con esto el problema de optimizacion resulta ser:

minimizar:F =

∑e ξeye

Sujeto a:∑p udp = 1∑d hd

∑p δedpudp ≤ ye

udp = 1

2.6.4. Redes de Transporte SONET/SDH: Diseno de Capacidady Proteccion

Nodos en redes SONET o SDH estan equipados con dispositivos como terminal mul-tiplexers (TM), digital cross connects (DCS), y add-drop multiplexers (ADM). TMs yDCSs son usados en redes de transmision con topologıa de malla, mientras que ADMsson nodos tıpicos de redes en anillo. Hay muchas tasa de transmision de datos posiblespara SONET/SDH que estan dadas como senal sıncrona de transferencia (STS) para SO-NET y modulos de transporte sıncrono (STM) para SDH. En el estdar SONET, nivelesOC (optical carrier) se definen tambien en correspondencia con sus equivalentes electricosSTSs. Ademas, se permiten sub-tasas de transmision de datos llamadas VT en sonet yVC en SDH. Ademas, lıneas T1 y T3 pueden ser conectadas a SONET/SDH a traves deadaptadores. Las distintas tasas de transmision se encuentran en la tabla 2.2. las sub tasasse ven en la tabla 2.3

Ahora, debido a la complejidad de las redes SONET/SDH es difıcil hacer las preguntasde diseno hechas anteriormente. Para este ejemplo se supone que los nodos tienen capaci-dad DCS, lo que significa que puede “switchear” la senal a cualquier sub-tasa.

Primero, se considera el caso en que la red es usada como red de transporte para unared de voz digital de circuito-switchado. La interfaz E1 del switch requiere una tasa de2.048 Mbps, puede ser transportada en una SDH VC-12. En otras palabras, cada grupo de

29

Page 30: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Tabla 2.2: Tasas de Transmision para SONET/SDH

Senal SONET Senal SDH Tasa de Bits (Mbps)

STS-1 (OC-1) - 51,84STS-3 (OC-3) STM-1 155,52STS-12 (OC-12) STM-4 622,08STS-48 (OC-48) STM-16 2.488,32STS-192 (OC-192) STM-64 9.953,28

Tabla 2.3: Tasas de transmision para VC y VTTipo de VC Bits(Mbps)VC-11 1.728VC-12 2.304VC-3 48.960VC-4 150.336

Tipo de VT Bits(Mbps)VT-1.5 1.728VT-2 2.304VT-3 3.456VT-6 6.912

circuitos d compuesto, por ejemplo, de 30 modulos de circuito hd constituye una demandaagregada desde el punto de vista de una red SDH.

Los links que interconectan los nodos de transporte estan compuestos de sistemas detransmision optica STM-n, donde n = 1, 4, 16, 64, usando fibras opticas. Cada moduloSTM-1 puede llevar 63 contenedores VC-12. Ası, para el caso considerado, el problema dediseno de la capacidad de la red de transporte puede ser formulado como:

Minimizar:F =

∑e ξeye

Sujeto a:∑p xdp = hd∑d

∑p δedpxdp ≤ Mye

xdp, ye enteros no negativos

Donde M = 63 y ξe es el costo en el link e. sin embargo esta formulacion es simplifica-da, ya que no diferencia entre los costos de modulos STM-1 realizado en la transmision desistemas de diferentes tasas. Un diseno mas exacto asume que el costo de un sistema detransmision STM-n realizado en el link e es igual a ξen, y el problema se transforma a:

Minimizar:F =

∑e ξenyen

Sujeto a:∑p xdp = hd∑d

∑p δedpxdp ≤ Mnyen

30

Page 31: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

xdp, yen enteros no negativos

Donde yen es el numero de sistemas STM-n realizados en el link e, y Mn = 63n es lamodularidad de dicho sistema.

2.6.5. Anillos SONET/SDH: Diseno del Ancho de Banda de Anillo

En redes anillo SDH, los mecanismos de restauracion son intrınsecos a la funcionalidadde la red. Anillos auto-recuperables han sido ampliamente desarrollados debido a su capaci-dad de restauracion menor a 50ms para una falla en un link. Los nodos de una red de anilloson lamados ADM y son capaces de insertar o extraer cualquier contenedor VC-12 fueradel set de todos los contenedores que circulan alrededor del anillo. La figura 2.10 muestraun anillo bi-direccional con cuatro fibras opticas. Si se asume que este anillo esta basadoen el sistema de transmision STM-1, o sea el sistema con 63 contenedores VC-12. El anillose divide en dos pares de fibras, un par basico, y un par de proteccion. La pregunta dediseno es entonces: dada la inherente naturaleza de ruteo de un anillo SONET/SDH yel volumen de demanda, como se puede determinar cual es el numero mınimo y tipo deanillos paralelos que se necesitan?.

Por ejemplo, si la demanda d = 1 entre ADMs v = 1 y v = 2 tiene un volumen deh1 = 3 VC-12s, entonces tres numero seleccionados desde el set {1, 2, . . . , 63} son reserva-dos entre los nodos v = 1 y v = 2, y los VCs con estos numeros son usados para realizar los90 circuitos requeridos entre los dos nodos para formar un grupo troncal d. Cuando uno delos segmentos del anillo falla, entonces los switches de proteccion actuan automaticamentere-switcheando el modulo STM-1 a la parte no afectada del para de fibras de proteccion.

Figura 2.10: Anillo bi-direccional

La colocacion de los flujos de demanda en un anillo para los set de demanda dados noes una tarea trivial, ya que cda volumen de demanda puede ser dividido en dos partes. Sise asumen demandas no dirigidas, entonces el volumen de demanda hvw entre los nodos vy w , con v < W puede ser realizada por dos caminos, desde v a w en el sentido de lasmanecillas del reloj, o desde w a v en el sentido de las manecillas del reloj, y se denota

31

Page 32: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

el primer flujo com uvw y el segundo como zvw. El problema de diseno correspondiente escomo:

Minimizar:F = r

Sujeto a:uvw + zvw = hvw

δevwuvw + (1− δevw)zvw ≤ Mruvw, zvw, r enteros no negativos

donde:

δevw =

{1 si v ≤ e ≤ w0 de otra manera

2.6.6. Redes WDM: Diseno de Restauracion con Conexiones Cru-zadas opticas

En redes wavelength division multiplexing (WDM), DVUs corresponden a longitudesde onda llamadas lambdas o colores. LCUs corresponden a fibras opticas. Hoy en dıa, unalongitud de onda es tıpicamente capaz de llevar 10 Gbps, mientras que una fibra opticapuede tener alrededor de 100 longitudes de onda. Los nodos en la red WDM son llamadosOptical Cross-Connects (OXC), y existen dos tipos de dispositivos basico, los que reali-zan conversiones de longitudes de onda, y los que no, que son mas simples que los primeros.

Consideremos el siguiente problema de diseno, que se refiere a la asignacion de longi-tudes de onda apropiada para una red WDM con diversidad de caminos de ruteo y sinconversion de longitudes de onda.

Demandas por capacidad se denotan con la letra d = 1, 2, . . . , D, los caminos candidatospara la demanda d con p = 1, 2, . . . , Pd y los links con e = 1, 2, . . . , E. Colores permitidosen los links son etiquetados con c = 1, 2, . . . , C. Finalmente una situacion de falla se denotacon s = 0, 1, . . . , S, donde s = 0 corresponde al estado normal sin fallas.

Los parametros constantes del problema son: el volumen de demanda hds en la situacions, ξe definiendo el costo de un LCU en el link e, y los coeficientes αes, coeficientes binariosque indican con un 0 si el link e posee una falla en la situacion s. Ademas de las variablesδedp que indica si el link e pertenece al path p para la demanda d, ademas los coeficientesθdps que indica si el path de la demanda d se encuentra fallido. Ahora, se desea encontrarel valor de las variables:

xdpc: flujo (numero de caminos de luz) realizando la demanda d en el color c en elcamino p.

zce: numero de veces que el color c es usado en el link e.

32

Page 33: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

ye: capacidad del link e expresado en e numero de fibras.

El problema de optimizacion resulta:

Minimizar:F =

∑e ξeye

Sujeto a:∑p θdps

∑c xdpc ≥ hds∑

d

∑p δedpxdpc = zce

ye ≥ zce

2.6.7. IP sobre SONET: Diseno Combinado de Dos Niveles

El siguiente problema consiste en una mezcla de una red IP, sobre una red SONET.Este tipo de red se puede ver en la figura 2.11. Ahora, el problema consiste en: dada unared IP Intra-Dominio y que los links IP estan hechos como caminos de transmision sobreuna red SONET, como se determina la capacidad requerida por los links IP, y el ruteo deestos links en la red SONET de una manera integrada para minimizar el costo de la redIP.

Figura 2.11: IP sobre SONET

33

Page 34: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

El problema de optimizacion se plantea como sigue:

Minimizar:F =

∑e ξeye +

∑e

∑q ζeqzeq

Sujeto a:∑p xdp(w) = hd∑d

∑p δedpxdp(w) ≤ ρMye∑

q

∑c zeq = ye

M∑

e

∑q γgeqzeq ≤ Ncg

we entero no negativoye, zeq

Donde q corresponde al camino candidato en la capa SONET para el link IP e, lavariable binaria γgeq indica si el path q en la red de transporte para la demanda e usa ellink g. La capacidad del link g es cg que expresada en modulos OC-48 se denota como N.ρ es el coeficiente de utilizacion. ζeq es el costo en la red SONET.

34

Page 35: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 3

Metodologıa de Trabajo

El desarrollo del trabajo posee una forma bastante estructurada. La optimizacion delos parametros de QoS se realiza fuera de lınea, por lo que es posible realizar el trabajopaso a paso. La metodologıa de trabajo se ve reflejada en la figura 3.1.

Figura 3.1: Metodologıa de trabajo

Es posible dividir la metodologıa de trabajo en tres etapas. La primera correspondeal desarrollo del modelo. Este modelo sirve para generar datos que seran ocupados en lasegunda etapa. Conocida una relacion entre los parametros, y con los datos generados

35

Page 36: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

en la primera etapa, es posible entrenar una red neuronal, la emula el comportamientode la red y permite obtener una relacion explıcita entre los parametros de la red y elPacket Loss. Una vez entrenada la red es utilizada en la tercera etapa del trabajo, la cualconsiste en optimizar el Packet Loss. La red neuronal es utilizada por las herramientas deoptimizacion para evaluar las distintas soluciones, es decir, la red neuronal reemplaza a lafuncion objetivo.

Una vez que se verifique que el modelo funciona, y que es posible mejorar los parame-tros de calidad de servicio, se realizara una optimizacion de una red real, para validar losresultados obtenidos en la simulacion.

Para comenzar con la creacion del modelo, debemos tener en cuenta cuales son losparametros de la red que se veran reflejados en nuestro modelo. Dado que el modelo essolo una abstraccion de la realidad, solo consideran algunos de ellos en el modelo. Paraconstruir el modelo, y luego encontrar la relacion de estos con el packet loss, los parametrosa considerar son los siguientes:

Tamano de los paquetes

Velocidad de Generacion de los paquetes

Anchos de banda asociados a los distintos enlaces

El tamano de las colas de los routers

Perdidas de paquetes asociadas a trafico concurrente

Velocidad de procesamiento de los routers

Con estos parametros se modela la red. Para realizar esta tarea utilizamos el softwarede modelacion de eventos discretos Omnet++, el cual es ideal para los propositos de estetrabajo de tıtulo, ya que de manera simple y modular construye la red y sus distintoselementos. Este software esta basado en el lenguaje de programacion C++; por lo que lamodelacion se programa orientada a objetos. Esto permite que la modelacion tenga una es-tructura modular, lo que permite programar cada parte de la red por separado, facilitandoesta tarea. Los datos generados por la red modelada seran registrados en distintos archivos,para luego entrenar una red neuronal que encuentre la relacion entre los parametros antesmencionados y el packet loss.

La red neuronal sera programada en el lenguaje Perl. Este lenguaje se elige por su fa-cilidad de uso, y porque posee librerıas de redes neuronales basadas en las librerias FANNdel lenguaje C. Pese a que quiza no sea un lenguaje de la eficiencia de C, dado que eltrabajo es fuera de lınea, no se necesita que este sea el mas eficiente por ahora. Utilizandolos datos de entrada y salida registrados en archivos por una serie de simulaciones de la redconstruida en Omnet++, se entrena la red neuronal para que encuentre la relacion entrelos parametros de la red y el packet loss generado.

Una vez que la red este entrenada, esta se utilizara como la funcion objetivo queutilizaran las distintas herramientas de optimizacion. Estas tambien seran programadas

36

Page 37: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

en PERL, por las razones antes mencionadas, ademas existen librerıas para AlgoritmosGeneticos.

En resumen el software necesario es el siguiente:

1. Omnet++

2. PERL

AI::FANN (Librerıa redes Neuronales)

AI::Genetic (Librerıa Algoritmos Geneticos)

Chart (Librerıa para Graficas)

3. Kile (Editor de Latex)

La figura 3.2 muestra de manera esquematica el sistema que sera utilizado, y los dis-tintos modulos que seran implementados en cada lenguaje.

Figura 3.2: Sistema utilizado en el desarrollo del software

Es importante considerar que, de comprobarse que este metodo ayuda a mejorar losparametros de QoS, serıa posible construir una aplicacion que optimizara los parametrosen lınea, de la cual lo desarrollado en el presente trabajo serıa el nucleo de dicha aplicacion.Aunque dicha aplicacion queda fuera de los alcances del presente trabajo, queda propuestopara un trabajo a futuro. Esta aplicacion podrıa ser utilizada, por ejemplo, por los ISPpara mejorar el comportamiento de sus redes.

37

Page 38: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 4

Omnet++

4.1. Introduccion

Omnet++ es un simulador modular de eventos discretos de red orientado a objetos. Elsimulador puede ser usado para:

Modelacion de trafico en redes de telecomunicaciones

Modelacion de Protocolos

Modelacion de redes de colas

Modelacion de multiprocesadores y otros sistemas de hardware distribuido

Validacion de arquitecturas de hardware

Evaluacion de aspectos de desempeno de sistemas de software complejo

Etc...

Un modelo consiste en modulos jerarquicamente anidados, cuya profundidad no esta li-mitada. Los modulos se comunican entre si mediante mensajes, los cuales pueden contenercomplejas estructuras de datos. Los mensajes pueden ser enviados directamente a otromodulo, o a traves de un camino predefinido.

Los modulos, en su nivel mas bajo, son llamados modulos simples, y son programadosen C++ usando la librerıa de simulacion.

Toda la informacion a continuacion se encuentra orientada a la version de OMNET++para sistemas operativos Linux.

38

Page 39: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4.2. Vision General

4.2.1. Moulos Jerarquicos

Los modelos OMNET++ son a menudo llamados redes. El modulo de mas alto nivel esllamado modulo de sistema. Este modulo contiene submodulos, los cuales pueden contenerotros submodulos anidados, como muestra la figura 4.1. La cantidad de modulos anidadoses ilimitada. Los modulos que contienen submodulos son llamados modulos compuestos(compound modules), en cambio, los modulos que se encuentran a mas bajo nivel de lajerarquıa de modulos son llamados modulos simples(simple module).

Figura 4.1: Modulos simlpes y compuestos

Los modulos simples son los que contienen los algoritmos del modelo. Estos son imple-mentados en C++, usando las librerias de clases de OMNET++.

4.2.2. Mensajes, Puertas y Enlaces

Los modulos se comunican entre ellos a traves de mensajes. Estos, en una red, represen-tan paquetes o frames. los mensajes pueden contener estructuras de datos complejas. Losmensajes se pueden enviar a otros modulos, o a si mismo (automensaje), estos ultimos sonutilizados para implementar relojes, ya que el tiempo de simulacion local avanza cuandoel modulo recibe un mensaje.

Las puertas son las interfaces de entrada y salida de los modulos, y los mensajes sonenviados o llegan a traves de ellas.

los enlaces, o conexiones, son creados dentro de un solo nivel de la jerarquıa del modulo.Las conexiones pueden ser entre submodulos del modulo compuesto, o entre un submoduloy su modulo padre como lo indica la figura 4.2.

A las conexiones se le pueden asignar tres parametros, los cuales ayudan a la modelacionde redes de comunicacion, los cuales son:

Propagation delay

Bit error rate

39

Page 40: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 4.2: Conexiones entre modulos

Data rate

Propagation delay es la cantidad de tiempo que se tarda el mensaje en atravesar unenlace. Bit error rate especıfica la probabilidad que un bit no se transmita correctamente,lo que permite la modelacion del ruido. Data rate se especifica en bits/segundo, y es usadopara calcular el tiempo de transmision de un paquete.

4.2.3. Uso de OMNET++

Para trabajar con una simulacion hecha en OMNET++ son necesarios una serie dearchivos, los cuales se detallan a continuacion:

Archivos NED: Describen la estructura del modulo con parametros, puertas, etc.

Archivos C++: Son las fuentes de los modulos simples en la simulacion.

Archivos .msg: En estos archivos es posible definir el tipo de mensajes a enviar.

omnetpp.ini: Este es un archivo necesario para la compilacion, en el se pueden definirparametros que seran compartidos por los demas archivos; es un archivo de configu-racion.

Una vez que se poseen todos estos archivos dentro de un mismo directorio, se utilizala herramienta de compilacion que trae OMNET++ opp makemake, el cual al ejecutarlogenera un Makefile; luego basta con hacer make, para que se compile la simulacion.

40

Page 41: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4.3. Archivos NED

Los archivos NED son los que definen la topologıa de la red, los cuales facilitan ladescripcion modular de la red. Un archivo NED puede contener los siguientes componentes:

Directivas import

Definiciones de canales

Definiciones de modulos simples y complejos

Definiciones de red

Las directivas import, permiten importar declaraciones de otros archivos ned, funcionacomo la sentencia include en C++.

La definicion de un canal especifica una conexion con caracterısticas dadas, la sintaxises:

channel ChannelName

//...endchannel

Los parametros a definir en un canal son: delay, error y datarate.

Los modulos simples son las estructuras basicas para modulos mas complejos, su sintaxises:

simple SimpleModuleName

parameters:

//...gates:

//...endsimple

Los parametros de los modulos simples son definidos por el que los crea, y en generalpueden ser numericas, booleanas o strings. Los gates (puertas) son las entradas y salidasdel modulo, por donde se transmiten los mensajes; estas pueden ser arreglos que represen-tan un gran numero de entradas o salidas.

Los modulos complejos, ademas de poseer los campos de un modulo simple, puedenanidar submodulos, y poseen conexiones entre ellos. La sintaxis es:

module CompoundModule

parameters:

//...

41

Page 42: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

gates:

//...submodules:

//...connections:

//...endmodule

Los parametros y gates funcionan de la misma forma que en los modulos simples, lossubmodulos(submodules) corresponden a modulos mas simples, de menor jerarquıa, anida-dos en el. Las conexiones (connections) son conexiones entre los submodulos definidos, oentre los submodulos y el exterior a traves de las gates. Estas conexiones pueden realizarsemediante canales(channels) previamente definidos, o darle las caracterısticas en la mismaconexion. La sintaxis de las conexiones es:

entrada - -> channel - -> salida

Las definicion de red declara a la simulacion como una instancia de un modelo previo,lo cual permite finalmente que corra la simulacion. La sintaxis es :

network networkType : networkName

parameters:

//..endnetwork

42

Page 43: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4.4. Archivos C++

4.4.1. Modulos Simples

En OMNET++ los eventos ocurren dentro de los modulos simples, los cuales se im-plementan con C++. Ası los modulos simples pueden generar eventos y reaccionar anteellos. Para crear un modulo simple se utiliza la clase cSimpleModule. Esta, junto a laclase cCompoundModule pertenecen a la librerıa de OMNET++ y son derivadas de la clasecModule.

cSimpleModule posee las siguientes funciones miembro:

void initialize()

void handleMessage(cMessage *msg)

void activity()

void finish()

La funcion initialize() es llamada en el paso de inicializacion, cuando OMNET++construye la red, creando los modulos simples y complejos necesarios y conectandolos deacuerdo a las definiciones del archivo NED. initialize() crea los parametros inicialespara el objeto creado.

handleMessage y activity funcionan durante el proceso. handleMessage es llama-da cuando el modulo recibe un mensaje. activity es una solucion basada en corutinasla cual implementa el proceso de interaccion (es simpre preferible utilizar handleMessage).

La funcion finish, es llamada cuando la funcion termina en forma satisfactoria. Gene-ralmente es usada para guardar las estadısticas reunidas durante el proceso de simulacion.

43

Page 44: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4.5. Agregando Estadısticas

Para generar estadısticas de algn tipo, OMNET++ provee un par de herramientas quefacilitan esta tarea.

Figura 4.3: Obtencion de estadısticos en una simulacion de OMNET++

Primero se deben crear dos objetos, uno del tipo cOutVector eventoVector y otrodel tipo cLongHistogram eventoStats(eventoVector y eventoStats son los nombres delos objetos). El primero guarda la cantidad total de eventos transcurridos. El segundo esuna estructura que nos permite llevar la cuenta de estadısticos como la mınima, maxima,media, desviacion estandar, etc.

Luego, mediante eventoVector.record(evento); se guarda la informacion vectorial,y se guarda automaticamente en el archivo omnetpp.vec.

Ahora con la funcion eventoStats.collect(evento) se guardan los eventos en el obje-to. Los distintos valores se pueden recuperar con eventoStats.min(), eventoStats.max(),eventoStats.mean(), etc. Finalmente, en la funcion finish(), se puede invocar a la fun-

44

Page 45: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

cion recordScalar, la cual graba en el archivo omnetpp.sca la informacion. Para guardarlo que posee eventoStats se utiliza eventoStats.recordScalar(‘‘evento’’), donde‘‘evento’’, es el nombre del evento. En general se puede gusrdar cualquier variable en elarchivo omnetpp.sca, mediante recordScalar(‘‘nombre’’, variable). Los strings en-tregados a la funcion van escritos en el archivo, y sirven para identificar las variables.

El diagrama de flujo que se presenta en la figura 4.3 representa la forma de obtenerestadısticas en una simulacion de OMNET++.

Por ejemplo, supongamos que de una red, se desea medir el conteo de saltos promedioque debe dar un mensaje para llegar a su destino. Se guarda en el conteo de saltos de cadamensaje en un vector de salida (pares ordenados (tiempo, valor)). Tambien se calcula lamedia, desviacion estandar, valores maximos y mınimos por nodo.

Para poder realizar esto se agrega un objeto de vector de salida (el cual guardara datosen omnetpp.vec), y un objeto histograma (que calcula, la media, desviacion estandar, etc)a la clase, de la siguiente manera:

cLongHistogram hopCountStats;

cOutVector hopCountVector;

Ahora, cuando un mensaje llega al nodo destino, las estadısticas se actualizan, por loque se agrega el siguiente codigo a la funcion handleMessage():

hopCountVector.record(hopcount);

hopCountStats.collect(hopcount);

hopCountVector.record() escribe los datos en omnetpp.vec. En cambio los datosescalares seran grabados manualmente en la funcion finish(), la cual es invocada al finalde la simulacion. La llamada a recordScalar() en el codigo de finish escribe en el archivoomnetpp.sca, como se muestra a continuacion:

void nombreClase::finish()

{// Esta funcion es llamada al final de la simulacion

ev << ‘‘Enviados: ’’ << numSent << endl;

ev << ‘‘Recividos: ’’ << numReceived << endl;

ev << ‘‘Hops, min: ’’ << hopCountStats.min() << endl;

ev << ‘‘Hops, max: ’’ << hopCountStats.max() << endl;

ev << ‘‘Hops, mean: ’’ << hopCountStats.mean() << endl;

ev << ‘‘Hops, stddev: ’’ << hopCountStats.stddev() << endl;

recordScalar(‘‘#Enviados’’, numSent);

recordScalar(‘‘#Recividos’’, numReceived);

hopcountStats.recordScalar(‘‘Conteo de Hops’’);

}

45

Page 46: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Como se aprecia en el ejemplo es posible guardar estadısticas en el archivo omnetpp.sca,correpondientes NO solamente al objeto hopCountStats definido anteriormente, sino quetambien se pueden almacenar otras variables como numSent o numReceived.

Para visualizar los dos archivos, OMNET++ provee dos herramientas graficas quepermiten visualizar mejor los datos. Una de ellas es scalars, la cual se ejecuta de la siguienteforma:

$scalars omnetpp.sca

scalars se muestra en la figura 4.4. Es posible aplicar filtros a los distintos datos, yobtener graficos como el de la figura 4.5.

Figura 4.4: Programa scalars

Figura 4.5: Grafico generado con scalars

46

Page 47: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

La segunda herramienta es plove, la cual nos permite analizar los vectores de salida. Seejecuta con el comando:

plove omnetpp.vec

plove nos permite ver los distintos graficos generados en el programa, como se ve enla figura 4.6, y permite elegir distintas opciones para la visualizacion. Uno de los graficosgenerados se ve en la figura 4.7.

Figura 4.6: Programa plove

Figura 4.7: Grafico generado con scalars

47

Page 48: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

4.6. Herramientas Adicionales

Ademas de las herramientas de visualizacion mencionadas en la seccion anterior existenotras herramientas que vale la pena mencionar. Una de ellas es gned, la cual es un editorgrafico de los archivos NED, el cual nos permite facilmente ir creando nuestra red, y darlea los distintos modulos caracterısticas graficas que nos ayuden a comprender mejor que eslo que esta pasando. Un ejemplo del editor se encuentra en la figura 4.8.

Figura 4.8: Editor Grafico Gned

La otra herramienta es INET, que, en realidad, corresponde a una serie de librerias ymodulos pre-creados, que ya poseen implementados distintos protocolos y dispositivos dered, logrando crear redes muy complejas. Una serie de ejemplos de estas redes se encuentranimplementados dentro de INET. Uno de estos se ve en la figura 4.9, el cual implementamensajes ARP dentro de una red Ethernet.

Figura 4.9: Mensajes ARP usando la libreria INET

48

Page 49: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 5

Redes Neuronales

Es posible definir las redes neuronales de la siguiente forma: Un sistema de elementos deprocesamiento simples, neuronas, que estan conectadas por un conjunto de pesos sinapticosformando una red [4]. La funcion de la red queda determinada por su arquitectura, lamagnitud de los pesos y el modo de operacion del elemento de procesamiento.

5.1. La Neurona

El elemento mas basico de una red neuronal es llamado nodo, unidad o neurona. Esteelemento de procesamiento toma un numero de entradas, les aplica pesos, las suma entreellas y el resultado se usa como argumento para una funcion llamada funcion de activacion.

Figura 5.1: Una Neurona

En la figura 5.1 se aprecia una de las neuronas de la red cuya funcion representativaresulta ser:

yi = fi(hi) = fi

(n∑

j=1

wij + wi0

)

49

Page 50: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Las entradas a una unidad pueden ser salidas de otras unidades, o pueden ser entradasexternas. El desplazamiento wi0 es llamado bias, la cual corresponde a una entrada cons-tante de valor 1, con un peso de wi0.

En general la funcion de activacion puede ser cualquiera, sin embargo las funciones masutilizadas son la sigmoide (tanh), exponencial, y la funcion step.

5.2. Perceptron Multicapa

Una de las formas mas comunes de combinar las neuronas en una red es la llama redperceptron multicapa (MLP). La red MLP basica se construye ordenando las unidades encapas, cada unidad en una capa tiene como entradas las salidas de neuronas de la capaanterior o entradas externas. Dada esta estructura, estas redes son a menudo llamadasfeedforward.

Figura 5.2: Red Perceptron Multicapa

Como se aprecia en la figura 5.2, la red posee dos capas de neuronas, la segunda capa esllamada capa de salida, ya que produce las salidas de la red. La primera capa es conocidacomo capa oculta, ya que se encuentra de alguna manera oculta entre las entradas externas.La formula matematica que expresa lo que pasa en la red MLP toma la forma:

yi(t) = gi[ϕ, θ] = Fi

[nh∑j=1

Wi,jfj

(nϕ∑l=1

wj,lϕl + wj,0

)+ Wi,0

]donde θ especifica el vector de parametros, el cual contiene todos los parametros ajus-

tables de la red, los pesos y bias.

50

Page 51: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Para determinar los valores de los pesos se debe tener un conjunto de ejemplos de comolas salidas yi, se relacionan con las entradas ϕl. La tarea de determinar los pesos a partir delos ejemplos es llamada entrenamiento o aprendizaje. Los pesos son determinados a partirde los ejemplos, de tal manera que la red, de acuerdo a alguna metrica, modela la relacionverdadera de la manera mas acertada posible.

5.3. Modelacion de Sistemas Dinamicos

Las redes MLP son una forma sencilla de realizar modelacion de tiempo discreto desistemas dinamicos, los cuales poseen una relacion no lineal entre las entradas y las salidasdel sistema.

Figura 5.3: Sistema Dinamico

Sea t la cuenta de los multiples perıodos de muestreo, entonces, y(t) representa la salidadel sistema, mientras que y(t−1) es la salida observada en el anterior perıodo de muestreo.Si se asume que la salida de un sistema dinamico en un momento determinado puede serdescrita como una funcion de sus entradas y salidas anteriores, es decir:

y(t) = S[y(t− 1), . . . , y(t− n), u(t− 1), . . . , u(t−m)]

Una red MLP puede ser usada para aproximar S si las entradas de la red (ϕ1, ϕ2, . . .)son escogidas como las n pasadas salidas y las m pasadas entradas.

5.4. Identificacion de Sistemas

Identificacion de Sistemas es la tarea de inferir una descripcion matematica, un mo-delo, de un sistema dinamico, a partir de una serie de medidas del sistema.

Dependiendo del nivel de conocimiento del sistema, el problema de identificacion desistemas puede afrontarse de distintas maneras. Si la identificacion esta basada exclusi-vamente en los datos obtenidos del sistema, sin ningun conocimiento de este, es llamadaModelacion de Caja Negra. En contraste con esto, cuando toda la fısica del problemaes conocida se llama Modelacion de Caja Blanca. Cuando se conoce solo parte delsistema, y esta informacion es utilizada para mejorar el sistema empırico, este se llamaModelacion de Caja Gris.

51

Page 52: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

5.4.1. Procedimiento

Para identificar el modelo de un sistema dinamico, en general se sigue el procedimientomostrado en la figura 5.4.

Figura 5.4: Procedimiento basico de identificacion de sistemas

Experimentos

El proposito de los experimentos es la recoleccion de datos que describan como elsistema en el rango de operaciones completo. La idea es variar las entradas u(t) y observarel impacto en la salida y(t). El conjunto de datos obtenidos de entradas y salidas es luegoutilizado para inferir el modelo del sistema.

Seleccion de la Estructura del Modelo

Una estructura de modelo corresponde a un conjunto de modelos candidatos. En generalel problema de seleccion de un modelo se divide en dos partes:

1. Seleccionar la familia de las estructuras de modelo consideradas apropiadas paradescribir el sistema, por ejemplo, modelos lineales, redes neuronales MLP, funcionesde base radial, etc.

52

Page 53: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

2. Seleccionar el subconjunto de la familia escogida. Por ejemplo, en la familia de las re-des neuronales, el subconjunto puede ser una estructura del tipo NARX(2,3,1), dondeNARX(2,3,1) significa que el modelo posee un retardo de un perıodo de muestreo, yque la salida actual depende de dos salidas anteriores y tres entradas anteriores.

Estimacion del Modelo

Una vez que el conjunto de candidatos ha sido seleccionado, se debe un modelo par-ticular del conjunto. Este modelo se escoge a partir de algun criterio. La estrategia mascomunmente utilizada para escoger este modelo, corresponde a elegir el que provea la me-jor prediccion a un paso, en terminos del menor error cuadratico medio observado entrelas salidas y las predicciones. Este proceso es conocido como estimacion, sin embargo, elmismo proceso en la comunidad de redes neuronales es conocido como entrenamiento oaprendizaje.

Validacion

Cuando un modelo ha sido estimado/entrenado debe ser evaluado para determinar sicumple o no los requerimientos necesarios. El proceso de validacion se encuentra estre-chamente relacionado con el uso que se le quiere dar al modelo. A menudo es un procesoque debe realizarse a mano, debido a que los requerimientos de aceptacion son a menudodifusos.

53

Page 54: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

5.5. Ejemplo de Implementacion de una Red Neuronal

Se ha mencionado que una red neuronal permite modelar sistemas que sean no linea-les. Para comprobar esto realizaremos una implementacion para una funcion simple, peroclaramente no lineal, esta es la funcion XOR. El comportamiento de la funcion XOR se vereflejado en la tabla 5.1.

u1 u2 y

-1 -1 -1-1 1 11 -1 11 1 -1

Tabla 5.1: Funcion XOR

En la figura 5.5 se aprecia graficamente esta funcion. Es claro que el problema no eslinealmente separable, es decir, es imposible trazar una lınea en el espacio de las entradasque separe las posibles salidas de la funcion.

Figura 5.5: Problema de ls funcion XOR

Sin embargo, es posible implementar una red neuronal, la cual, en base a las entradas,es entrenada para imitar el comportamiento de la red. Las caracterısticas principales denuestra red neuronal seran las siguientes:

2 entradas

Capa oculta con 4 neuronas

54

Page 55: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capa de salida co neurona

Error permitido 0.0001

Funciones de activacion sigmoidales

Numero maximo de epocas de entrenamiento: 5000000

La estructura de la red se ve reflejada en la figura 5.6.

Figura 5.6: Estructura para la red neuronal de la funcion XOR

Esta red es entrenada aplicandole las entradas que se encuentran en la tabla 5.1, has-ta que se cumpla el numero lımite de epocas, o el error cuadratico medio sea menor alaceptado (0.0001). Al entrenar la red, ya en la epoca 445 el error cuadratico medio esde 0.0000921591, que es menor al permitido, por lo que el entrenamiento se detiene. Losresultados obtenidos con la red neuronal se muestran en la tabla 5.2.

u1 u2 y

-1 -1 -0.996706-1 1 1.0026811 -1 0.9833801 1 -0.994452

Tabla 5.2: Resultados obtenidos por la red neuronal emulando la funcion XOR

Podemos ver que los resultados son bastante cercanos a los valores que entrea la funcionXOR, comprobando la capacidad de las redes neuronales de emular sistemas no lineales.

55

Page 56: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 6

Herramientas de Optimizacion

6.1. Simulated Annealing

Simmulated Annealing esta basado en la metafora de moleculas enfriandose en unpatron cristalino despues de haber sido calentado. En el metal fundido las moleculas semueven caoticamente, y mientras el metal se va enfriando, ellas empiezan a encontrarpatrones de conectividad con las moleculas vecinas, hasta que se ordenan en un patronordenado (un optimo).

Para el caso del problema de optimizacion, Simulated Annealing toma un string de bits,el cual es modificado cambiando bits seleccionados al azar. Si el string resultante es unamejor solucion al problema, reemplaza al original; si es peor, sin embargo, puede aun seraceptado si pasa un test de probabilidad. El umbral de probabilidad es una funcion de la“temperatura” del sistema, la cual disminuye con el tiempo. Asi la probabilidad de aceptaruna solucion peor decrece al enfriarse el sistema. El efecto de esto es que el algoritmorecorre grandes areas del espacio de soluciones en las primeras iteraciones saltando dentroy fuera de regiones de optimos locales. Luego el algoritmo se focaliza en las regiones masprometedoras del espacio de soluciones del problema.

56

Page 57: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Algoritmo

El algoritmo se realiza en iteraciones, para las cuales la temperatura es menor que lade la iteracion anterior. La temperatura inicial T0 debe ser una temperatura que permitael movimiento, o sea, que la probabilidad de pasar de un estado i a un estado j sea muyalta. El algoritmo se explica en el siguiente pseudocodigo:

i = i0T = T0

K = K0

while(condicion de STOP)

while(k<K&&a<A)

generar j en N(i)if(c(j)− c(i) < 0)

i = ja = a + 1

else

generar r random

if(r < exp[(c(i)− c(j))/T ])i = ja = a + 1

k = k + 1T = αTK = ρKk = 0a = 0

mostrar i, c(i)

Donde:

• i y j corresponden a una de las posibles soluciones al problema.

• T es la temperatura del sistema.

• K es la cantidad de iteraciones que estamos dispuestos a hacer en cada etapa, quees equivalente al tiempo en el que se enfria el sistema.

• A es la cantidad de aceptaciones que se permiten hacer en cada etapa.

• N() es la funcion de entorno.

• c(i) son los costos de la solucion i. Por ende si c(j) − c(i) < 0, quiere decir que elcosto de la solucion j es menor.

• exp[(c(i) − c(j))/T ] es la funcion que fija el umbral de aceptacion de una solucionque es mas costosa.

• α es un valor positivo menor que uno que se encarga de ir disminuyendo la tempera-tura.

57

Page 58: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

• ρ es un valor positivo mayor que uno que permite esperar un poco mas para encontrarel equilibrio ya que a medida que el sistema se enfria es mas difıcil encontrarlo.Generalmente es 1.05.

• Para el criterio de STOP se utiliza generalmente un parametro de congelamientoFRZN, y se asume que si A/K < FRZN el sistema esta congelado, ya que lacantidad de aceptaciones es muy pequeno con respecto a la cantidad de iteraciones,por lo que es muy difıcil cambiar de estado.

6.1.1. Implementacion

El algoritmo es implementado en el lenguaje de programacion Perl. Este toma unafuncion y a esta le aplica el proceso de optimizacion. Las figuras 6.1 y 6.2 muestran grafi-camente la forma en que se implementa el algoritmo.

Figura 6.1: Implementacion Simulated Annealing

58

Page 59: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 6.2: Implementacion Simulated Annealing

6.2. Colonia de Hormigas

Marco Dorigo, Vittorio Maniezzo y Alberto Colorni mostraron como un simple com-portamiento de seguir-feromonas puede ser utilizado para optimizar el famoso problemadel vendedor viajero, el cual debe recorrer una serie de ciudades minimizando el camino

59

Page 60: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

recorrido. Su “Optimizacion de Colonia de Hormigas” esta basada en la observacion dehormigas que encontrarıa el camino mas corto alrededor de un obstaculo que separa sunido del objetivo, que puede ser un dulce que se derrite en una vereda en verano.

Las hormigas se mueven alrededor dejando rastros de feromonas, las cuales se disipancon el tiempo y la distancia. La intensidad de la feromona en un punto, que es el numerode moleculas de feromonas que una hormiga puede encontrar, es alto cuando hormigas hanpasado por el punto recientemente, o cuando un gran numero de hormigas han pasado porel punto. Ası, hormigas que siguen el rastro de feromonas tienden a congregarse simple-mente por el hecho que la densidad de feromonas crece con cada hormiga adicional quepasa por el punto. Este comportamiento se ve reflejado en la figura 6.3.

Figura 6.3: Optimizacion de Colonia de Hormigas

El mecanismo que se utiliza para realizar la optimizacion es un proceso iterativo. Encada iteracion se lanzan m hormigas, las cuales representan las soluciones al problema. Lashormigas construyen las soluciones de manera probabilıstica, guiandose por un rastro deferomona artificial y por informacion calculada a priori de manera heurıstica. La regla deprobabilidad es la siguiente:

60

Page 61: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

pkij(t) =

[τij(t)]α · [ηij]

β∑l∈Nk

i

[τil(t)]α · [ηlj]

βcon j ∈ Nk

i

donde pkij(t) es la probabilidad con la que, en una iteracion t del algoritmo, la hormiga

k, situada actualmente en la ciudad i, elije la ciudad j como proxima parada. Nki es el

conjunto de ciudades no visitadas aun por la hormiga k. τij(t) es la cantidad de feromonaacumulada sobre el arco (i, j) de la red en la iteracion t. ηij es la informacion heurısticapara la que se utiliza la inversa de la distancia existente entre las ciudades i y j. α y β sondos parametros ajustables.

Cuando todas las hormigas han construido la solucion debe actualizarse la cantidad deferomona en cada arco. Esto se hace de la siguiente forma:

τij(t+1) = (1−ρ) · τij(t)+∆τ bestij ∆τ best

ij =

{1/Lbest si el arco (i, j) pertenece a T best

0 en caso contrario

donde ρ es el coeficiente de evaporacion de la feromona. T best es la mejor solucion en-contrada hasta el momento. Lbest es el largo de la solucion T best.

Es necesario que el nivel de la feromona se mantenga en una rango [τmin, τmax]. Estoslımites se imponen con el objetivo de evitar el estancamiento en la busqueda de soluciones.Toda la feromona se inicializa con τmax.

6.3. Algoritmos Geneticos

Algoritmos Geneticos (GA) es un metodo de busqueda global que imita la evolucionbiologica natural. GAs operan sobre una poblacion de soluciones potenciales, aplicando elprincipio de supervivencia del mas apto para producir mejores aproximaciones a la solu-cion. En cada generacion, un nuevo conjunto de aproximaciones es creado por el procesode seleccion de individuos de acuerdo a su nivel de “fitness” y su reproduccion usando ope-radores tomados de la genetica natural. Este proceso lleva a la evolucion de poblacionesde individuos que estan mejor adaptados a su ambiente que los individuos que los crearon.

Los individuos son codificados como strings o cromosomas, los genotipos (valores delos cromosomas) se encuentran mapeados en forma unica en el dominio de las variables dedecision. La representacion mas comun de las GAs es el alfabeto binario. Por ejemplo, unproblema con dos variables x1 y x2 puede ser mapeado en un cromosoma como muestra lafigura 6.4.

Como se ve en el ejemplo, es posible codificar las distintas variables de distintas mane-ras. Luego, una vez decodificado el cromosoma en el espacio de las variables de decision, esposible calcular su “fitness”. Esto se hace a traves de la funcion objetivo, la cual establecelas bases para la seleccion de pares de individuos que seran unidos durante la reproduccion.

61

Page 62: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 6.4: Cromosoma de x1 y x2

Ası, durante la fase de reproduccion, los individuos con un alto fitness tendran unamayor probabilidad de ser seleccionados que los que tengan un menor fitness. Una vezseleccionados los individuos estos se cruzan para formar una nueva y mejorada poblacion.A esta poblacion nueva se le aplica un operador genetico de mutacion, el cual consiste enun cambio aleatorio de los bits de los cromosomas nuevos con una cierta probabilidad. Estose realiza para evitar la posibilidad que la poblacion converja a un mınimo local.

6.3.1. Elementos Principales

El proceso general de los GAs se puede expresar en el siguiente pseudocodigo, dadauna poblacion P (t):

begin

t = 0;

inicializar P(t);

evaluar P(t);

while no se termine de trabajar

begin

t = t+1;seleccionar P(t) de P(t-1);

reproducir los pares en P(t);

reinsertar en P(t);

mutar P(t);

evaluar P(t);

end

end

Donde t corresponde al numero de iteracion del algoritmo.

Representacion de la Poblacion y su Inicializacion

GAs operan sobre un numero potencial de soluciones, llamada poblacion, que consistenen la codificacion del conjunto de parametros simultaneamente.

Como se ha visto anteriormente, la forma de codificacion de los cromosomas en GAmas comn es la binaria. Tambien es posible utilizar codificacion Gray, la cual posee una

62

Page 63: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

distancia de Hamming constante entre valores adyacentes. Tambien existen otros tipos derepresentaciones que es posible ocupar al codificar el cromosoma, cada uno con caracterısti-cas distintas.

Una vez decidida la representacion a usar, el primer paso es crear un poblacion inicial.Esto, usualmente se hace generando el numero requerido de individuos usando un generadorde numeros aleatoreos que distribuya uniformemente los numeros en el rango deseado. Unavariacion a este procedimiento es el llamado Inicializacion al azar extendida de Bramlette,donde un numero de inicializaciones al azar son probadas para cada individuo, y aquella conel mejor desempeno es elegida como poblacion inicial. Otra forma es generar la poblaciones iniciarla con algunos individuos que es sabido que se encuentran en la vecindad deloptimo global.

La Funcion Objetivo y la Funcion de Fitness

La funcion objetivo es usada para proveer una medida de como los individuos se handesempenado en el dominio del problema. En el caso de un problema de minimizacion, losindividuos mas adaptados tendran el menor valor numerico de la funcion objetivo asociada.La funcion de fitness es normalmente usada para transformar los valores de l a funcionobjetivo en medidas de desempeno relativas, asi:

F (x) = g(f(x))

donde f es la funcion objetivo, g transforma la funcion objetivo a numeros no negativosy F es la resultante funcion de fitness. Este mapeo es siempre necesario cuando la funcionobjetivo es una minimizacion, y el menor valor corresponde al mejor desempeno. Unatransformacion comunmente usada es la asignacion proporcional de fitness. El desempenoindividual F (xi) es calculado relativo a toda la poblacion, esto es:

F (xi) =f(xi)

Nind∑i=1

f(xi)

donde Nind es el tamano de la poblacion.

Tambien es posible ocupar una transformacion que desfase la funcion objetivo:

F (x) = af(x) + b

donde a es un factor de ecala positivo si se esta maximizando y negativo si se esta mi-nimizando. El desfase b es usado para asegurar que el resultado de los valores del fitnesssean positivos.

Seleccion

Seleccion es el proceso de determinar el numero de veces que un individuo es elegidopara reproduccion, y por ende el numero de descendientes que va a producir. Es posibledividir el proceso de seleccion en dos partes:

63

Page 64: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

1. Determinar el numero de intentos que un individuo puede recibir.

2. Traducir el numero de intentos esperados en un numero discreto de descendientes.

La primera parte se concentra en transformar el valor del fitness en la probabilidadreal que te un individuo de reproducirse. La segunda parte es la seleccion probabilisticade individuos para la reproduccion basado en su valor de fitness relativo unos con otros,lo que es llamado sampling.

Metodo de Seleccion de la Ruleta

Muchas tecnicas de seleccion emplean el metodo de la ruleta. Se determina un intervaloreal, Sum, como la suma de las probabilidades de seleccion de los individuos, o la sumade los fitness sobre toda la poblacion actual. Luego se mapean los individuos en intervaloscontinuos dentro del rango [0, Sum], el tamano del intervalo asignado a cada individuocorresponde a su valor de fitness. Luego, para seleccionar a los individuos se generannumero aleatoreos dentro del intervalo [0, Sum], y el individuo que contenga el numeroaleatorio generado es seleccionado para la reproduccion. Ası, se repite el proceso hastaobtener un numero deseado de individuos para la reproduccion.

Cruce

Cruce es el proceso basico en GA para producir nuevos cromosomas. De la misma formaque se produce en la naturaleza, los nuevos individuos generados poseen material geneticode ambos padres. La forma mas simple de cruce es la de un solo punto. Por ejemplo, seconsideran los siguientes padres:

P1 = 1 0 0 1 0 1 1 0

P2 = 1 0 1 1 1 0 0 0

Ahora se elige un punto al azar entre [1, l− 1], donde l es el largo del string. Si se eligeel punto de cruce, digamos i = 5, entonces en ese punto los padres se dividen y generandos nuevos hijos:

O1 = 1 0 0 1 0 0 0 0

O2 = 1 0 1 1 1 1 1 0

Cruce Multipunto

El cruce es similar al de un solo punto, solo que se eligen m puntos para realizar el cruce.La idea detras de esto es que las partes del cromosoma que mas aportan al desempeno deun individuo particular no se encuentran necesariamente adyacentes.

64

Page 65: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Cruce Uniforme

El cruce uniforme generaliza el esquema de cruce de los cromosomas. Para realizar elcruce uniforme se crea una mascara del mismo largo que los cromosomas que indica cualesson los bits de cruce, como muestra el siguiente ejemplo:

P1 = 1 0 1 1 0 0 0 1 1 1

P2 = 0 0 0 1 1 1 1 0 0 0

Mask = 0 0 1 1 0 0 1 1 0 0

O1 = 0 0 1 1 1 1 0 1 0 0

O2 = 1 0 0 1 0 0 1 0 1 1

Mutacion

En evolucion natural, mutacion es un proceso aleatorio donde parte de un gen es re-emplazado por otro para producir una nueva estructura genetica. En GAs, mutacion esaplicada aleatoreamente, con una probabilidad baja, tıpicamente entre 0.001 y 0.01, y mo-difica elementos en los cromosomas.

El rol de la mutacion es proveer una garantıa de que la probabilidad de busqueda paracualquier string no sea nunca cero, y permita recobrar buen material genetico que podrıaperderse al aplicar seleccion y cruce. La forma de aplicarlo es cambiar con esta probabilidadbaja el estado de un bit dentro del cromosoma. Si pasa el test de probabilidad, el bit secambia de cero a uno o viceversa. Este proceso se aplica a todos los bits de los cromosomas.La mutacion debe tener una probabilidad baja, ya que si no, el estado del sistema serıasiempre un caos, y no convergeria a la solucion optima.

Reinsercion

Una vez que la poblacion ha sido producida por seleccion y recombinacion de los in-dividuos, el fitness de la nueva poblacion debe ser determinado. Dependiendo del numerode individuos que sean generados en cada iteracion con respecto a la poblacion total esel esquema de reinsercion que se debe aplicar. El tamano de la poblacion original debemantenerse. En general varios esquemas de reinsercion son posibles. Por ejemplo, es posi-ble reemplazar los individuos que posean el menor desempeno con los nuevos individuos.Tambien es posible que en vez de reemplazar los de menor desempeno se vayan reempla-zando los individuos que son mas viejos; asi se garantiza que todos los individuos seranreemplazados en el tiempo. Por ende un individuo que sobreviva varias generaciones debeposeer un desempeno lo suficientemente fuerte.

65

Page 66: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

6.4. Implementacion

El algoritmo se implementa en Matlab, usando un Toolbox de Algoritmos Geneticos,el cual implementa funciones que permiten realizar los distintos procesos (Seleccion, Crucey Mutacion), de una manera facil y ordenada. Ademas incluye una implementacion defunciones que permiten codificar nuestros datos en strings binarios que facilitan el proceso.Las figuras 6.5 y 6.6 presentan un esquema de la programacion del algoritmo.

Figura 6.5: Implementacion Algoritmos Geneticos

66

Page 67: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 6.6: Implementacion Algoritmos Geneticos

6.5. Particle Swarm Optimization

Una teorıa muy simple se encuentra por debajo del Modelo de cultura adaptivo yenjambres de partıculas. Este se basa en tres procesos principales:

• Evaluar

• Comparar

• Imitar

67

Page 68: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Evaluar

La tendencia de evaluar estımulos para decidir si son positivos o negativos, atractivos orepulsivos, es una de las caracterısticas que se encuentran mas presentes en los seres vivos.El aprendizaje no puede ocurrir a menos que el organismo pueda evaluar y distinguircaracterısticas que sean atrayentes o repulsivas, que permitan distinguir lo bueno de lomalo. Desde este punto de vista, el aprendizaje puede ser definido como un cambio quepermite al organismo mejorar la evaluacion media de su ambiente.

Comparar

En casi todas las cosas que pensamos o hacemos, nos juzgamos a traves de la compracioncon otros, ya sea evaluando como nos vemos, nuestra riqueza, inteligencia u otros aspectosde opinion y habilidad. Individuos en enjambres de partıculas se comparan a si mismoscon sus vecinos e imitan aquellos que son superiores a si mismos.

Imitar

La verdadera imitacion es central para la sociabilidad humana, y es central en la ad-quicision y mantenimiento de las habilidades mentales.

Los tres principios de evaluacion, comparacion e imitacion pueden ser combinados,incluso en simples seres sociales en programas de computadores, permitiendoles adaptarsea complejos retos que les presente el ambiente, resolviendo difıciles problemas.

6.6. Modelo de Decision Binaria

Consideremos seres muy simples, cuyas decisiones son binarias, si/no o verdadero/falso,pero decisiones sutiles, donde es muy difıcil decidir que decisiones tomar.

Dos importantes tipos de informacion poseen estos seres super simplificados. La pri-mera es su propia experiencia, es decir saben que estado ha sido el mejor hasta ahora. Elsegundo tipo de conocimiento que poseen es como los individuos alrededor de ellos se handesempenado.

Para el presente modelo se puede decir que los individuos tienden a ser influenciadospor el mayor exito de cualquier otro individuo que se encuentre en su vecindad. Estospueden estar conectados de acuerdo a un gran numero de esquemas. La mayorıa de lasimplementaciones de enjambres de partıculas usan uno de dos principios sociometricos:

gbest: Todos los miembros de la poblacion se encuentran conectados unos con otros, porende cada partıcula es influenciada por el mejor desempeno de cualquier miembro dela poblacion total.

lbest: Se crea una vecindad para cada individuo, que esta constituida por el, y sus kvecinos mas cercanos. Por ejemplo, si k = 2, cada individuo i sera influenciado porel mejor desempeno entre un grupo consituido por las partıculas i− 1, i e i + 1.

68

Page 69: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

En terminos matematicos se propone un modelo donde la probabilidad de un individuoque decida si o no, verdadero o falso, o cualquier otra decision binaria, es una funcion defactores personales y sociales:

P (xid(t) = 1) = f(xid(t− 1), vid(t− 1), ρid, ρgd)

donde:

. P (xid(t) = 1) es la probabilidad que el individuo i escoja 1 para el bit d dentro delstring.

. xid(t) es el estado actual del bit d del string del individuo i.

. t corresponde al paso actual, y t− 1 al paso anterior.

. vid(t − 1) es una medida de la predisposicion del individuo o la probabilidad actualde elegir 1.

. rhoid es el mejor estado encontrado hasta ahora, por ejemplo, es 1 si el mayor exitodel individuo ocurrio cuando xid era 1 y 0 si este fue en 0.

. ρgd es el mejor vecino, la misma situacion anterior.

El parametro vid(t) determinara un umbral de probabilidad. Si vid(t) es alto, es masprobable que el individuo elija 1, y pequenos valores favorecen la eleccion del 0. Es necesarioque dicho umbral se mantenga entre cero y uno, para esto podemos utilizar la funcionsigmoide:

s(vid(t)) =1

1 + e−vid

Se necesita ajustar la disposicion del individuo hacia las mejoras individuales y las dela comunidad, para esto se define vid(t) como:

vid(t) = vid(t− 1) + ϕ1(ρid − xid(t− 1)) + ϕ2(ρgd − xid(t− 1))

Si ρid < s(vid(t)) entonces xid(t) = 1; si no xid(t) = 0

Los terminos ϕ son numeros aleatorios que sirven para darle importancia a la influenciasocial o al aprendizaje individual. Por ende, al ser aleatorios, a veces la influencia socialsera mayor, y otras veces lo sera el aprendizaje individual. En general se limitan estosparametros a ser numeros aleatorios que sumen 4.

Es posible limitar vid para que s(vid) no se acerque demasiado a cero o uno; esto ase-gura que siempre existe alguna posibilidad que un bit cambie de estado. Un parametroconstante Vmax puede ser elegido para limitar el rango de vid. En la practica, si se eligeVmax como ±4 hay siempre una chance de s(Vmax) ≈ 0,018 de que el bit cambie de estado.Este parametro es similar a la mutacion en GA.

El algoritmo completo, maximizando los beneficios, se aprecia en el siguiente pseu-docodigo:

69

Page 70: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Loop

For i=1 to numero de individuos

if G(~xi) > G(~ρi) then do //G() evalua los beneficios

For d=1 to dimensiones

ρid = xid // ρid es el mejor hasta ahora

Next d

End do

g=i //arbitrario

For j= indices de los vecinos

if G(~ρj) > G(~ρg) then g=j //g es el ındice del mejor desempe~no en

la vecindad

Next j

For d=1 to numero de dimensiones

vid(t) = vid(t− 1) + ϕ1(ρid − xid(t− 1)) + ϕ2(ρgd − xid(t− 1))vid(t) ∈ (−Vmax, +Vmax)if ρid < s(vid(t)) then xid(t) = 1; else xid(t) = 0;

Next d

Next i

Until criterio de parada

6.6.1. Enjambre de Partıculas en Numeros Continuos

El aplicar el algoritmo en numeros continuos es muy parecido al hacerlo en numerosbinarios; sin embargo existen algunos cambios. En el caso de los numeros continuos, ~vi(t)representa la velocidad de la partıcula en el espacio de soluciones y ~xi representa la posicion.Entonces, la velocidad y la posicion de la partıcula se ajustan como:{

~vi(t) = ~vi(t− 1) + ϕ1(~ρi − ~xi(t− 1)) + ϕ2(~ρg − ~xi(t− 1))~xi(t) = ~xi(t− 1) + ~vi(t)

El parametro Vmax es aca necesario para evitar que el sistema aumente su velocidadinfinitamente y explote al aumentar las oscilaciones.

if vid > Vmax then vid = Vmax

if vid < −Vmax then vid = −Vmax

El pseudocodigo en este caso queda como:

70

Page 71: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Loop

For i=1 to numero de individuos

if G(~xi) > G(~ρi) then do //G() evalua los beneficios

For d=1 to dimensiones

ρid = xid // ρid es el mejor hasta ahora

Next d

End do

g=i //arbitrario

For j= indices de los vecinos

if G(~ρj) > G(~ρg) then g=j //g es el ındice del mejor desempe~no en

la vecindad

Next j

For d=1 to numero de dimensiones

vid(t) = vid(t− 1) + ϕ1(ρid − xid(t− 1)) + ϕ2(ρgd − xid(t− 1))vid(t) ∈ (−Vmax, +Vmax)xid(t) = xid(t− 1) + vid(t)

Next d

Next i

Until criterio de parada

71

Page 72: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

6.6.2. Implementacion

La implementacion se realiza en el Lenguaje de Programacion Perl, y, dadas las carac-terısticas del problema a tratar, se realiza la implementacion del algoritmo para numeroscontinuos. Las figuras 6.7 y 6.7 muestran esquematicamente la implementacion del algo-ritmo.

Figura 6.7: Implementacion de Particle Swarm Optimization (PSO)

72

Page 73: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 6.8: Implementacion de Particle Swarm Optimization (PSO)

73

Page 74: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

6.7. Pruebas

Una vez presentados los algoritmos de optimizacion, se han realizado una pequenaprueba de funcionamiento, la cual puede dar una idea de los resultados que se puedenesperar al momento de resolver el presente problema. Las pruebas se realizaron optimizandola funcion: ∑

i

x2i

con −512 < xi < 512, e i ∈ {1, 2, 3, 4, 5}. es una funcion bastante simple y sirve deguia, ya que sabemos de antemano su valor optimo (cero).

Los resultados obtenidos por los distintos algoritmos, y el tiempo de procesamiento decada uno se ven reflejados en las graficas a continuacion.

74

Page 75: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Simmulated Annealing

Figura 6.9: Simmulated Annealing, valores optimos

Figura 6.10: Simmulated Annealing, tiempos de procesamiento

75

Page 76: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Algoritmos Geneticos

Figura 6.11: Algoritmos Geneticos, valores optimos

Figura 6.12: Algoritmos Geneticos, tiempos de procesamiento

76

Page 77: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Particle Swarm Optimization

Figura 6.13: Particle Swarm Optimization, valores optimos

Figura 6.14: Particle Swarm Optimization, tiempos de procesamiento

77

Page 78: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 7

Desarrollo

El presente trabajo corresponde a una continuacion del Trabajo de Tıtulo realizadopor el Sr. Juan Luis Hood Llanos[1], en el ano 2000. De este desarrollo se toman aspectoscomo la modelacion de routers utilizando teorıa de colas.

7.1. Modelo de un Router

Dado el funcionamiento de los routers, es natural usar teorıa de colas para modelarlos.Los routers se componen de una serie de links, por los cuales entra y sale trafico; los linksposeen buffers de memoria compartida, en las cuales los paquetes que aun no se puedanprocesar quedan guardados, esperando que el link se libere. Tambien posee un procesadorque se encarga de enrutar los paquetes a traves de los distintos links.

De esta manera, es posible ver a un router como una serie de colas de entrada al proce-sador, desde las interfaces de entrada, y otra serie de colas de salida, hacia las interfaces desalida. Los buffers del router son representados por el tamano de las distintas colas. Estasituacion se muestra en la figura 7.1.

Figura 7.1: Representacion de un router utilizando teorıa de colas

78

Page 79: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Sin embargo, dado que las distintas interfaces de entrada llegan a un mismo procesador,es posible simplificar el modelo juntando todas las colas a la entrada del procesador, comouna sola cola que llega directo al procesador, como se muestra en la figura 7.2.

Figura 7.2: Representacion de un router con una cola a la entrada

Ahora bien, el modelo aun se encuentra incompleto, debido a que en las interfaces desalida, es posible que los paquetes encolados no puedan ser puestos en el enlace, debidoa que el paquete es muy grande, o que no hay ancho de banda disponible. Es por estoque para modelar esta situacion se anaden servidores luego de las colas de las interfacesde salida que emulen esta situacion. Este modelo no se utiliza con las colas de entrada,ya que estas se encuentran conectadas directamente al procesador. Por lo tanto el modelofinal del router a utilizar es el que se muestra en la figura 7.3, el cual incluye el modelo delos distintos enlaces.

Figura 7.3: Modelo final de un router utilizando teorıa de colas

7.2. Relacion entre Packet Loss - Parametros de la

Red

Una vez que tenemos el modelo del router, al establecer una red como la de la figura 7.4,es necesario analizar cuales son los distintos factores, dado el modelo que pueden afectarel Packet Loss.

79

Page 80: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Existen cuatro razones, bastante relacionadas, que pueden provocar la perdida de unpaquete en esta red:

1. Llenado de la cola de entrada del router.

2. Llenado de la cola de salida del router.

3. Ancho de banda utilizado.

4. Trafico concurrente

Figura 7.4: Red simple entre un cliente y un servidor

Los parametros se encuentran bastante relacionados entre si, ya que el comportamien-to de uno afecta directamente el comportamiento de los otros, por ejemplo, un aumentosignificativo del ancho de banda asignado afecta directamente en la cantidad de memoriautilizada por la cola de entrada de un router, el cual, dado que rapidamente va procesandolos paquetes, afecta la cola que representa los enlaces (colas de salida). Si una de estascolas se llena, los paquetes que sigan llegando se perderan.

7.3. Elemento de Red

En las secciones anteriores se describe la forma de modelar un router; sin embargo estemodelo es posible simplificarlo aun mas. El tema que nos interesa es el Packet Loss, porende, la velocidad de los enlaces entre routers no nos interesan. Ademas, la cola de salidade un router, va a dar a la cola de entrada de otro router o del servidor. Por esto es posibleresumir estas colas en una sola gran cola. Ası, podemos representar cada elemento de redcomo una cola simple y un procesador, y los llamamos elementos de red, ya que estospueden ser indistinatmente routers o servidores. El cliente no se modela como una cola,ya que este es simplemente un ente que pone paquetes en la cola del primer router a unacierta velocidad.

7.4. Modelo Final de la Red

Finalmente, es posible establecer el modelo de red que se requiere para resolver elproblema, y verificar si es posible disminuir el Packet Loss mediante la modificacion de lamemoria maxima de cada elemento. Ahora, dado que el problema se plantea en una redcore, que posee en general similares caracterısticas, podemos realizar una simplificacion

80

Page 81: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

mas. Ya que vemos el caso de un solo cliente y un solo servidor, en la red core, esta esuna representacion poco valida, sin embargo, si suponemos que este cliente representa amuchos clientes, y que el servidor representa a un conjunto de servidores, la muestra sevuelve mas representativa. Para esto, nuestro cliente genera paquetes de tamano aleatorio,con distribucion exponencial; los paquetes se generan mas rapido de lo que realmentelo harıa una sola fuente, ası, se representan varias fuentes a la vez. De la misma forma,podemos resumir el core de routers, como un solo gran router por el que pasan los mensajesy llegan al servidor. La figura 7.5 muestra una representacion grafica de la red; encerradosen las lineas punteadas se encuentra cada uno de los elementos de red, es decir, cada unode ellos es representado por un modulo especıfico dentro del modelo de Omnet++.

Figura 7.5: Esquema de red Final simplificado

Cliente

El cliente se compone de tres archivos:

gen.cc

gen.h

gen.ned

La funcion del cliente es ir generando los paquetes para que se envien al servidor. Estosson generados con una distribucion exponencial, de media 5000. Los paquetes se van gene-rando a un cierto intervalo de segundos determinado. Ademas el cliente tiene la capacidad(para efectos del modelo) de detectar cuantos paquetes se han perdido. Si se han perdidomas del 2% de los paquetes que se han generado, el cliente aumenta el intervalo de tiempoen el que se generan los paquetes, lo que se traduce en una red mas lenta (congestionada).Ahora, si se han perdido menos del 2% de los paquetes el intervalo disminuye, hasta elmınimo fijado desde un principio.

Debido al comportamiento del cliente, sin importar lo mucho que aumente el trafico,la perdida de paquetes puede llegar a ser cercana al 2%. Esto es muy importante, ya que,aunque intuitivamente se podrıa creer que el packet loss aumenta linealmente con el au-mento de trafico, lo que en realidad sucede es que el packet loss aumenta en un principio,pero luego, dado el aumento de trafico, el ancho de banda disminuye, los clientes no puedenenviar sus paquetes a la misma velocidad (la red se vuelve lenta), y esto estanca la perdidade paquetes. Este estancamiento sucede generalmente cercano al 2% de paquetes perdidos.

La figura 7.6 muestra un esquema del funcionamiento del cliente.

81

Page 82: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.6: Esquema de funcionamiento del cliente

Router

El router se compone de los siguientes archivos:

fifo.h

fifo.cc

fifo.ned

mirouter s.ned

El router va recibiendo los paquetes para luego enviarlos hasta el servidor. El router,al recibir un paquete, lo envia al servidor, si su procesador no se encuentra ocupado. Sieste esta ocupado, lo pone en su cola de mensajes. Al ponerlo en la cola, verifica si tieneel espacio suficiente; si es asi lo almacena, si no, el paquete se pierde.

82

Page 83: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

La figura 7.7 muestra un esquema del funcionamiento del router.

Figura 7.7: Esquema de funcionamiento del router

Servidor

El servidor se compone de los siguietes archivos:

sink.h

sink.cc

sink.ned

fifo.h

fifo.cc

fifo.ned

miservidor s.ned

83

Page 84: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

El trabajo del servidor es recibir los paquetes que se le envian desde el router, y pro-cesarlos. En este caso el proceso consiste en eliminarlos. Ademas realiza un catastro sobrecual de los paquetes llego y cual no. Para esto revisa la informacion que contienen lospaquetes, estos indican su numero dentro de la secuencia; con esto determina cual es elpaquete que se perdio. Dado que no tenemos incidencia sobre el Servidor, y no podemosejercer control ahi, se establece una cola lo suficientemente larga y un procesamiento losuficientemente corto para que ningun paquete se pierda al llegar al servidor.

La figura 7.8 muestra un esquema del funcionamiento del servidor.

Figura 7.8: Esquema de funcionamiento del servidor

7.4.1. Resultados Modelacion

Una vez terminado el modelo se procede a la generacion de datos, los cuales seranusados para entrenar la red neuronal. El modelo, ademas de procesar los paquetes, guardaen archivos individuales los siguientes datos:

Intervalos de tiempo entre la generacion de paquetes para cada evento (paquete).

Memoria ocupada en el router para cada evento.

Tamano de cada paquete.

Resultado final de cada paquete (0 = paquete llego, 100 = paquete se perdio).

Los datos se generan para distintos tamanos de memoria maxima en la cola del router,y distintos intervalos de tiempo. Los datos corresponden a:

84

Page 85: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

La memoria varia desde 10000 a 268430 kilobytes, de 10000 en 10000 kilobytes.

Los intervalos de tiempo varian desde 9e−5[s] a 1e−4[s], de 1−6[s] en 1−6[s]

Cada experimento envia un conjunto de 1000 paquetes.

Por lo tanto se tienen 27 × 11 = 297 conjuntos de datos, cada uno con 1000 paquetes,lo cual abarca un gran rango de datos. Dada la gran cantidad de datos, se incluyen graficasde ciertos casos interesantes.

Caso 1

Para el siguiente caso, se tienen las siguientes caracteristicas:

Memoria maxima: 200000 [kbytes]

Intervalo de Tiempo mınimo: 9,1e−5[s]

Mensajes: 101, desde el 640 a 740

La figura 7.9 Muestra la salida del Modelo de Red.

Figura 7.9: Resultados del Modelo de Red

Como se ve en la figura 7.9, entre los paquetes numero 640 y 690 existen perdidas depaquetes. Estas perdidas son discretas, pero el grafico une los puntos con lıneas para unamejor apreciacion visual.

85

Page 86: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.10: Intervalos de tiempo del Modelo de Red

Especıficamente los paquetes perdidos son: 646, 655, 658, 665, 666, 668, 678, 679, 681.

La figura 7.10 muestra los intervalos de tiempo que se espera para enviar el siguientepaquete. Los paquetes se han ido generando a una velocidad fija mınima. Estos al llegaral router, algunos son almacenados en la cola, y otros se pierden. Al perderse el routerinforma en los datos globales cuantos paquetes se han ido perdiendo. Y el cliente, al darsecuenta que se han perdido mas del 2% de los paquetes generados, aumenta el intervalode tiempo de espera para generar otro paquete(congestion). Luego, cuando se han perdidomenos del 2% de los paquetes disminuye el intervalo de tiempo de espera hasta el mınimopermitido.

Finalmente las figuras 7.11 y 7.12 muestran dos graficos, uno muestra la memoriautilizada en el router al momento de llegar el paquete. La memoria ya se encuentra casicompletamente utilizada, y al llegar un paquete que supere el tamano maximo este sepierde, como se describe en la tabla 7.1.

86

Page 87: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Paquete N◦ Tamano[KB] Memoria Utilizada[KB] Suma[KB]646 14569 190103 204672655 19538 184858 204396658 9574 195581 205155665 9519 197052 206571666 7871 192493 200364668 16548 188224 204772678 21369 183899 205268679 22917 183899 206816681 32460 173137 205597

Tabla 7.1: Suma de Tamano de Paquetes y Memoria Utilizada en caso de perdida

Figura 7.11: Memoria utilizada en el router al llegar el paquete

Una vez que el intervalo entre envios de paquetes aumenta (fig. 7.10), la cola empiezaa liberarse, ya que el router sigue procesando los paquetes a la misma velocidad (esteprocesamiento no depende del tamano de cada paquete). Incluso la cola llega a vaciarse,para luego empezar a llenarse denuevo al volver el intervalo de tiempo envıo de paquetesa su mınimo.

87

Page 88: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.12: Tamano de cada Paquete

Caso 2

Este caso es, quiza, no tan interesante como el anterior; sin embargo muestra el fun-cionamiento normal del sistema, cuando el intervalo de tiempo no cambia, pese a que hayunos pocos paquetes perdidos, ya que la suma total aun no supera el 2%.

Para el siguiente caso, se tienen las siguientes caracteristicas:

Memoria maxima: 100000

Intervalo de Tiempo mınimo: 9,6e−5

Mensajes: 101, desde el 433 a 533

Como muestra la figura 7.13, en este caso solo se pierden 3 paquetes: 452, 483 y 484.Sin embargo, como vemos en la figura 7.14 los intervalos de generacion de paquetes semantienen constantes. Esto se debe a que, aunque existe una buena cantidad de trafico,dado el tamano de la memoria, la perdida de paquetes no es suficiente para considerarlouna congestion.

Si vemos ahora la figura 7.15 la memoria se mantiene relativamente estable bajo ellımite maximo. Esto quiere decir que la perdida de paquetes se debe a casos especialesen los que los paquetes perdidos resultaron ser demasiado grandes. Esta afirmacion secomprueba al ver la figura 7.16, que indica un gran tamano de paquetes exactamente enel area donde se producen las perdidas.

88

Page 89: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.13: Resultados del Modelo de Red

Figura 7.14: Intervalos de tiempo del Modelo de Red

89

Page 90: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.15: Memoria utilizada en el router al llegar el paquete

Figura 7.16: Tamano de cada Paquete

90

Page 91: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

7.5. Red Neuronal

La red neuronal debe reflejar claramente el funcionamiento del sistema. Es por esto quees entrenada usando los datos generados anteriormente, que abarcan un amplio rango defuncionamiento del sistema. Este es uno de los elementos clave del sistema final, ya que lared corresponde a la funcion objetivo del modulo de optimizacion.

7.5.1. Diseno y Entrenamiento

La red neuronal emula el comportamiento de la red para un evento, es decir, dadasciertas entradas indica si el paquete actual se pierde o no. Las entradas de la red a considerarson las siguientes:

Del Router: Memoria Total o Maxima.

Del router: Memoria ocupada hasta el momento.

Del Cliente: Intervalo mınimo de tiempo.

Del Cliente: Intervalo actual de generacion de paquetes

Estados de los paquetes anteriores.

Tamano del mensaje

Un esquema de la estructura de la red se encuentra en la figura 7.17.

Figura 7.17: Esquema de la red Neuronal

91

Page 92: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Estructura Preliminar

Ya han sido definidas las entradas, falta definir cuantos datos anteriores se tomaran encuenta, para el caso de los estados anteriores, y de los intervalos de generacion anteriores.Dados los resultados de los modelos, especialmente del caso 1, mencionado en la seccionanterior, se fija un numero de 10 eventos anteriores, y 10 intervalos anteriores de emisionde paquetes. Por lo tanto la red neuronal posee 24 entradas.

La cantidad de neuronas en la capa oculta, y el numero de entradas va determinandola complejidad de la red. El numero de entradas en la capa oculta es siempre recomendableque sea un numero igual o mayor al numero de entradas, para el caso de aproximacion defunciones. Se propuso un total de 40 neuronas en la capa oculta. Ademas las funciones deactivacion de la capa oculta son sigmoidales, y de la capa de salida es lineal.

Dadas las entradas, la red debe aproximar la salida (0 para un paquete que llega y 100para un paquete perdido). Como la salida de la red es una funcion lineal, esta entregara va-lores entre 0 y 100, por lo que es necesario refinar la salida. Se determina un umbral iguala 50, por lo que si la salida de la red es superior a 50 se considerara un paquete perdido,y si es menor que 50 se considerara como un paquete que llego a destino.

Con esta estructura y condiciones la red fue entrenada, sin embargo los resultadosobtenidos no fueron validos. Sabemos, por las secciones anteriores que del total de paquetesenviados, solo se pierde alrededor del 2%. Por lo tanto, los ejemplos que se presentan a lared neuronal, a la hora de ser entrenada contenıan una cantidad muy grande de paquetesque llegaban a destino en comparacion con los ejemplos en que los paquetes se perdıan,por lo que, al entrenar la red, esta indicaba que todos los paquetes llegaban a destino. Perola situacion mas interesante es detectar las condiciones en que los paquetes se pierden, yno tanto cuando estos llegan a destino. Es por esto que se debe encontrar alguna forma deaumentar los ejemplos en que un paquete se pierde.

Esquema de entrenamiento

Para entrenar la red, dados los resultados obtenidos, se crea un esquema de entrena-miento que aumente el numero de casos en que se pierde un paquete, para mejorar elconjunto de entrenamiento. Para realizar esto se crea un programa que toma el conjuntode datos que fue creado por el modelo, y uno a uno almacena las entradas, y analiza lassalidas para estas entradas. Si el programa encuentra un conjunto de entradas que corres-ponde a un paquete que se ha perdido, repite en el conjunto de entrenamiento el conjuntode entradas un numero de veces que se determine. La figura 7.18 muestra el esquema deentrenamiento de la red neuronal.

92

Page 93: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.18: Esquema de Entrenamiento

93

Page 94: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Resultados

Luego de una serie de pruebas, la estructura de la red neuronal es la siguiente:

24 entradas

10 Estados de los paquetes anteriores

10 Intervalos anteriores de tiempo

50 Neuronas en la capa oculta y una neurona a la salida.

Funcion de activacion sigmoide en capa oculta y lineal en la capa de salida

20 repeticiones de cada paquete perdido

A modo de ejemplo las siguientes graficas muestran el comportamiento de la red neu-ronal, en comparacion con los valores que genera el modelo. En azul se aprecia la salidaobtenida con el modelo, y en rojo la salida que se obtiene usando la red neuronal.

94

Page 95: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.19: Comparativa Valores Reales - Valores Red Neuronal

95

Page 96: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.20: Comparativa Valores Reales - Valores Red Neuronal

96

Page 97: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 7.21: Comparativa Valores Reales - Valores Red Neuronal

97

Page 98: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 8

Sistema Completo

8.1. Introduccion

Una vez que la red neuronal se encuentra entrenada, es posible conectarla con el sistemacompleto. El sistema debe poder determinar cual es la memoria maxima optima para cadapaquete. La red neuronal permite quitar el sistema secuencial del sistema, y es posibleaproximar para cualquier tipo de entradas si el paquete se perdera o no.

Sin embargo, para poder determinar si el sistema de optimizacion logra disminuir elpacket loss, es necesario establecer un sistema de comparacion entre un caso que considerememorias maximas optimizadas para cada paquete, para un caso en que se envia una seriede paquetes, con la memoria maxima fija, y otro caso en que se tome en cuenta la memoriamaxima optimizada para cada paquete.

Para que los casos sean comparables se debe utilizar la misma semilla a la hora degenerar los paquetes, asi, para ambos casos, el tamano de cada paquete en la secuencia esel mismo. Ahora, la red neuronal, solo entrega informacion aproximada sobre si el paquetese pierde o no. Por esto, para el caso optimizado, es necesario conectarlo nuevamente almodelo, para actualizar las entradas modificadas para cada paquete, y alimentar la redneuronal con las nuevas entradas. La figura 8.1 muestra un esquema del funcionamientodel sistema de optimizacion conectado al modelo, para poder obtener las distintas entradasde la red neuronal.

98

Page 99: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 8.1: Esquema del Sistema Completo de Optimizacion

99

Page 100: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

8.2. Resultados Finales

A continuacion se presentan graficas que muestran el funcionamiento del sistema, ysu comparacion con la situacion original. En esta ocacion solo se muestran algunos casossignificativos, que permiten concluir sobre el funcionamiento del sistema.

Caso 1

El siguiente caso muestra datos para un intervalo de tiempo mınimo de 9,0e−5[s], y unamemoria maxima, para el caso original de 268430[KB].

Figura 8.2: Resultados Finales

Figura 8.3: Intervalos de Tiempo

100

Page 101: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 8.4: Memoria Utilizada

Figura 8.5: Memoria Maxima para cada Paquete

101

Page 102: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Caso 2

El siguiente caso muestra datos para un intervalo de tiempo mınimo de 9,0e−5[s], y unamemoria maxima, para el caso original de 50000[KB].

Figura 8.6: Resultados Finales

Figura 8.7: Intervalos de Tiempo

102

Page 103: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 8.8: Memoria Utilizada

Figura 8.9: Memoria Maxima para cada Paquete

103

Page 104: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Caso 3

El siguiente caso muestra datos para un intervalo de tiempo mınimo de 9,4e−5[s], y unamemoria maxima, para el caso original de 50000[KB].

Figura 8.10: Resultados Finales

Figura 8.11: Intervalos de Tiempo

104

Page 105: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 8.12: Memoria Utilizada

Figura 8.13: Memoria Maxima Utilizada para cada Paquete

105

Page 106: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Caso 4

El siguiente caso muestra datos para un intervalo de tiempo mınimo de 9,7e−5, y unamemoria maxima, para el caso original de 268430.

Figura 8.14: Resultados Finales

Figura 8.15: Intervalos de Tiempo

106

Page 107: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Figura 8.16: Memoria Utilizada

Figura 8.17: Memoria Maxima utilizada para cada paquete

107

Page 108: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Capıtulo 9

Conclusiones

9.1. Objetivos

El objetivo de realizar una prueba sobre una red real no pudo ser concretado, por pro-blemas de tiempo. Gran parte de esta memoria fue dedicada al problema de la modelaciondel sistema. Se comprueba que un lenguaje orientado a objetos, como C++ es muy utila la hora de enfrentar este tipo de problemas. Permite disenar cada elemento de red demanera individual y replicarlos sobre esta.

Se considera que se cumple a cabalidad con unos de los objetivos principales de estamemoria, que es presentar herramientas de Inteligencia Computacional, para el uso ensistemas de optimizacion. estas realizan una gran cantidad de calculos, pero simples, queno llevan mucho tiempo de procesamiento, lo que podrıa permitir la implementacion deuna herramienta de optimizacion en lınea. Ademas la red neuronal, luego de ser entrenada,entrega los resultados casi instantaneamente una vez que se le presentan las entradas, porlo que trabaja perfectamente como funcion objetivo de dicha herramienta de optimizacion.

9.2. Desarrollo

El trabajo resultante es un aporte a la mejora del funcionamiento de las redes decomputadoras. El problema del packet loss.

El modelo resultante realizado con Omnet++ resulto ser, como indican las distintasgraficas, el esperado. Lograba reflejar la perdida de paquetes cercana al 2% en los casosmas crıticos, y esto se veia reflejado en los cambios de intervalo de tiempo de generacionde paquetes, que era interpretado como un aumento de la congestion del sistema. A su vez,la perdida de paquetes sucedia en concordancia con un llenado de la cola del router que,dado este estado, se veia imposibilitado de almacenar el paquete, y este era descartado.Este modelo se usa satisfactoriamente para generar datos que indican el Packet Loss delSistema y los distintos estados de la red.

Definir una funcion objetivo para el problema no fue factible, dada la complejidad dela dinamica de este. Por esto se opto por una solucion alternativa, la Red Neuronal. LasRedes Neuronales son conocidas por ser buenos aproximadores universales de sistemas

108

Page 109: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

no lineales, por ello se decide usarlo en reemplazo de la funcion objetivo. Ademas, estaeleccion ayuda a confirmar el segundo objetivo de esta memoria, que es mostrar el usode Herramientas de Inteligencia Computacional para incentivar su uso. La Red Neuronaldemostro ser una gran herramienta de aproximacion, ya que seguia con bastante cercanıala situacion original con errores de entre tres a cinco paquetes en la secuencia, lo que esbastante bajo. Sin embargo, en ciertos casos, como cuando los intervalos de generacioneran muy pequenos, y la memoria maxima del router era tambien muy pequena, la situa-cion real mostraba un alto numero de paquetes perdido; en este caso la red no era capazde seguir con mucha exactitud al modelo y mostraba que casi todos los paquetes se perdian.

El estudio de las herramientas de optimizacion llego a conclusion de manera mas tem-prana de lo esperado. Los metodos propuestos fueron:

Simulated Annealing

Colonia de Hormigas

Algoritmos Geneticos

Particle Swarm Optimization

El primer metodo descartado fue Colonia de Hormigas, ya que este metodo esta masenfocado a otro tipo de problemas de optimizacion, el cual es encontrar el camino mascorto dentrto de un arbol de posibilidades. El segundo metodo que fue descartado fueSimulated Annealing; este fue descartado por su pobre desempeno, hasta con funcionesbastante simples, y su demora en la convergencia. Pese a que Simulated Annealing esun metodo intuitivamente correcto, sus valores optimos encontrados no son los mejores ysu tiempo de simulacion es bastante alto en comparacion con las otras herramientas. Laoptimizacion fue realizada usando finalmente Particle Swarm Optimization. La eleccionfue hecha por dos motivos:

1. Su simpleza: La herramienta de optimizacion fue relativamente facil de implementaren el Lenguaje de Programacion Perl, a diferencia de algoritmos geneticos que esuna herramienta mas compleja, y sus librerias en Perl no eran del todo satisfactorias,ya que ninguna utilizaba el gray coding. Ademas Omnet++, C++ y perl fueron loslenguajes elegidos al realizar la memoria, y la mejor implmentacion de los Algoritmosgeneticos fue conseguida en un software finalmente no utilizado que fue Matlab.

2. La Novedad: Claramente Algoritmos Geneticos es una herramienta mucho mas cono-cida que PSO, y dado que uno de los objetivos de esta memoria es presentar herra-mientas de inteligencia computacional, fue elegida para incentivar su investigacion yuso.

109

Page 110: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

9.3. Resultados

El funcionamiento conjunto del sistema trajo un problema clave. El objetivo principalde la memoria es disminuir el packet loss en la red. Sin embargo para cumplir este objetivose necesitaba una funcion objetivo acorde, la cual entregase como resultado el packet lossen la red, dadas ciertas entradas. El problema de dicha funcion es que se contrapone con ladinamica del funcionamiento mismo de la red, que paquete a paquete, dependiendo de sutamano, de los estados anteriores, de la congestion, etc. Es por esto que se opta por tratarde mejorar paquete a paquete la posibilidad que este no se pierda, con la esperanza queaunque no se tenga una solucion optima del problema general, se llegue al menos a unasolucion sub-optima, que mejore el funcionamiento de la red.

En los resultados se muestran cuatro casos significativos para concluir si es posibleestablecer una mejora. Los casos 1 y 4 muestran para un Intervalo mınimo de Tiempo pe-queno (Alta congestion) y para un Intervalo mınimo de tiempo mayor ( Alta Congestion),usando gran cantidad de memoria en el router. En ambos casos el Packet Loss es menor enla situacion original que cuando se intenta optimizar el sistema. Sin embargo, se aprecia,en ambos caso que la utilizacion promedio de la memoria es bastante menor al maximoestablecido.

En los casos 2 y 3 en vez de tener una memoria maxima grande, se tiene una bastantemas pequena. En estos casos fue posible disminuir el Packet Loss, aumentando la memoriamaxima permitida.

En conclusion, es posible disminuir el Packet Loss para ciertos casos haciendo uso delmanejo de la memoria, y llevarla a un termino medio cuando esta es muy pequena. Cla-ramente, el resultado obtenido no es optimo, ya que no se logra disminuir el Packet Lossen todos los casos, sin embargo, podemos llegar a concluir que es posible hacerlo, ya seamejorando el sistema de optimizacion aca propuesto, o enfocando el problema a un nivelsuperior cambiando la funcion objetivo.

Cabe destacar el caso cuando la memoria maxima es alta, que claramente sucede enlo routers actuales y permiten asignar a las distintas colas gran cantidad de memoria. Enestos casos la memoria es sub-utilizada, por lo que hay aca un recurso que no necesesa-riamente esta siendo utilizado en un 100% y que podrıa utilizarse de otra forma, ya seaalmacenando datos, o asignandoselo a otra cola.

Este es el primer paso para una posible aplicacion que monitorea los routers de corey permita realizar acciones sobre ellos, cambiando las memorias, y mejorando el funcio-namiento de estas. En la actualidad ya existen herramientas de manejo centralizado derouters, como CiscoWorks, la cual permite monitorear routers y guardar informacion his-torial. Una posible aplicacion de la herramienta propuesta serıa adicionar un modulo aCiscoWorks, el cual mediante mensajes SNMP reciba informacion sobre el estado de losrouters, este realice una optimizacion de sus asignaciones de memoria, y realice los cambiosde manera automatizada.

110

Page 111: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Si una herramienta como esta pudiese llevarse a cabo, el funcionamiento de los routersserıa mucho mas dinamico que el actual, permitiendo a los ISP mejorar los problemas dered de una manera centralizada y mas importante aun, de manera automatica. Eso si, parapoder manejar tales volumenes de datos, es neecesario contar con una gran capacidad deprocesamiento dedicada a resolver el prolema de optimizacion.

111

Page 112: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Bibliografıa

[1] “Estimacion y Modelamiento del Ancho de Banda en Conexiones de Internet”. JuanLuis Hood Llanos. 2002

[2] “Routing, Flow, and Capacity Design in Communication and Computer Networks”.Michal Pioro, Deepankar Medhi. Morgan Kaufmann Publishers. 2004.

[3] “Planning Telecomunication Networks”. Thomas G. Robertazzi. IEEE Press. 1999.

[4] “Neural Networks for Modelling of Dynamic Systems”. M. Nogaard, O. Ravn, N. K.Poulsen y L. K. Hansen. Springer. 2000.

[5] “Genetic Algorithm Toolbox for Use with MATLAB”. Andrew Chipperfield, PeterFleming, Hartmut Pohlheim, Carlos Fonseca. Version 1.2. Department of AutomaticControl and System Engineering University of Sheffield.

[6] “Learning Perl”. Randal L. Schwartz, Tom Phoenix. O’Reilly 3rd Edition. 2001.

[7] “Dokumentation of Perl Module Chart”. Chart Group. 2006.

[8] “El Lenguaje de Programacion C++”. Bjarne Stroustrup. Segunda edicion. 1993

[9] “OMNeT++ Discrete Event Simulation System”. Andras Varga. Version 3.2. Marzo2005.

[10] http://www.omnetpp.org. Diciembre 2006.

[11] http://search.cpan.org/∼salva/AI-FANN-0.07/lib/AI/FANN.pm.Diciembre 2006.

[12] http://search.cpan.org/∼aqumsieh/AI-Genetic-0.04/Genetic.pm.Noviembre 2006.

[13] http://search.cpan.org/∼chartgrp/Chart-2.4.1/Chart.pod. Febrero 2007.

112

Page 113: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Apendices

113

Page 114: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

Apendice A

Programas

114

Page 115: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

A.1. Modelo

115

Page 116: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

116

Page 117: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

117

Page 118: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

118

Page 119: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

119

Page 120: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

120

Page 121: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

121

Page 122: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

122

Page 123: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

123

Page 124: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

124

Page 125: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

A.2. Red Neuronal

125

Page 126: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

126

Page 127: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

127

Page 128: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

128

Page 129: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

A.3. Particle Swarm Optimization

129

Page 130: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

130

Page 131: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

131

Page 132: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

132

Page 133: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

A.4. Sistema Completo

133

Page 134: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

134

Page 135: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

135

Page 136: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

136

Page 137: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

137

Page 138: Universidad de Chile Facultad de Ciencias F´ısicas y ...repositorio.uchile.cl/tesis/uchile/2007/urrutia_pa/sources/urrutia_pa.p… · Universidad de Chile Facultad de Ciencias F´ısicas

A.5. Graficos

138