You are on page 1of 38

Aplicacin de los Algoritmos Genticos al

Problema del Agente Viajero



CAPTULO II
MARCO TERICO

El Problema del Agente Viajero o TSP, es un ejemplo que muestra y
analiza la problemtica que subyace tras algunos tipos de problemas
matemticos que a priori parecen tener una solucin relativamente fcil y
en la prctica presentan un gran problema. Es uno de los problemas ms
famosos en el campo de la optimizacin combinatoria computacional.

Se conoce la forma de resolverlo pero slo en teora, en la prctica
la solucin no es aplicable debido al tiempo que computacionalmente se
precisa para obtener su resultado.

2.1 INVESTIGACIONES RELACIONADAS CON EL ESTUDIO
En un coloquio en Viena el 5 de febrero de 1930, el matemtico austriaco Karl
Menger plantea por primera vez el TSP en lenguaje matemtico. Menger
planteaba que el problema de determinar rutas de distancia mnima entre
dos localidades era una herramienta para encontrar ciclos Hamiltonianos de
distancia mnima

El matemtico George B. Dantzig, el padre de la Programacin
Lineal o PL, se interes en el TSP y junto con Del bert Fulkerson y Selmer
Johnson en la Rand Corporation, relajaron el problema combinatorio (cero-
uno) a uno de variables continuas con la restriccin de estar entre 0 y 1. El
problema se convierte en uno de PL y haciendo uso del mtodo simplex
(desarrollado por el George B. Dantzig). Encontraron que el TSP poda a
ser resuelto en forma computacional. Sin embargo, al crecer el nmero
de puntos o localidades, el problema se volv a inviable computacionalmente
hablando. El problema resuelto por Dantzig y Fulkerson estaba constituido por
49 ciudades

En 1973 S. Lin y B. Kernighan plantean An Effective Heuristic Algorithm
for the Traveling-Salesman Problem, en Operations Research 21. En este
trabajo se discute un procedimiento heurstico muy eficaz para generar
soluciones ptimas y cerca del ptimo-simtrico del vendedor ambulante
problema. El procedimiento se basa en un enfoque general a la heurstica que
tiene una amplia aplicacin en problemas de optimizacin combinatoria. El
procedimiento genera soluciones ptimas para todos los problemas
analizados, problemas clsicos que aparecen en la literatura, as como los
problemas generados al azar de prueba, hasta 110 ciudades.

En las siguientes dcadas, el problema fue investigado por
matemticos, fsicos, qumicos y cientficos de la computacin.

Grandes progresos fueron hechos en los aos de 1970 y 1980, con
Grtschel, Padberg, Rinaldi y otros que resolvieron problemas exactos hasta
con 2392 ciudades, usando las tcnicas de planos de corte y Branch & Bound.

En 1994, Robert Bixby, Willian Cook and Dave Applegate del
Departamento de Computacin y Matemticas Aplicadas de Rice
University en Houston, para probar la eficacia de Cplex, y poder
comercializar el producto, crearon un programa especfico para el TSP
denominado Concorde. Los resultados impresionantes que lograron con su
cdigo fueron tales que llamaron la atencin de la comunidad en
optimizacin y desde hace 15 aos el Concorde se ha usado para resolver una
enorme cantidad de aplicaciones. En pocas palabras el agente viajero usa el
Concorde. Bixby haba desarrollado en aos anteriores, un paquete
computacional llamado Cplex para problemas de optimizacin
combinatoria. Los programas son rutinas en C ++ de algoritmos de
Programacin Lineal usando puntos interiores, tcnicas de podamiento,
planos de corte y heursticas.

En 2000, Keld Helsgaun presenta An effective implementation of the
linkernighan traveling salesman heuristic (European Journal of Operations
Research 12), probando la implementacin para 7,397 ciudades (el ms largo
problema no trivial) y su extensin a 85,800 ciudades con ptimos
desconocidos.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.180.1798.

En 2005, Cook y otros computaron un tours ptimo con 33,810
ciudades.

En 2006, Keld Helsgaun presenta An Effective Implementation of K-opt
Moves for the Lin-Kernighan TSP, probando la efectividad en un rango de
10,000 a 1, 000,000 de ciudades.
http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=4C6DB5985C708123E
C8FE2CC81026D28?doi=10.1.1.180.1807.

2.2 BASES TEORICAS ESPECIALIZADAS SOBRE EL TEMA

2.2.1 Conceptos en optimizacin
En la centuria pasada, una jerarqua de tales problemas ha emergido, junto
con una correspondiente coleccin de tcnicas para su solucin. Estos
problemas, son conocidos como el problema de la programacin matemtica:
donde se encuentra el valor de
x
, tal que:

p j x h
m i b x x x g
x x x f
j
i n i
n
,..., 1 , 0 ) (
,..., 1 , ) ,..., , (
a sujeto
) ,..., , ( min
2 1
2 1
= =
= >=


Donde f, g y h, son funciones generales del parmetro
n
R x e
. Las
tcnicas para resolver tales problemas son siempre iterativas, por naturaleza, y
su convergencia es estudiada usando matemticas del mundo real.

Si la restriccin no existe, o es una restriccin de igualdad, con menor o
igual nmero de variables que la funcin objetivo entonces, el clculo
diferencial, da la respuesta, ya que solo se trata de buscar los valores
extremos de la funcin.

Si la restriccin contiene mayor cantidad de variables que la funcin
objetivo, o la restriccin contiene restricciones de desigualdad, existen
mtodos en los que en algunos casos se encuentran los valores mximos o
mnimos.

Si tanto restricciones, como funcin objetivo son lineales se encuentra
en el estudio de la Programacin Lineal o PL, la existencia de mximo
(mnimo), est asegurada, y el problema se reduce a la aplicacin de unos
simples algoritmos de lgebra lineal elemental, los llamado mtodo simplex
y dual. En el caso de la Programacin No Lineal, existen, las
llamadas condiciones de Khun-Tucker, las cuales en algunos casos, pueden
ser utilizables, para probar encontrar puntos crticos, mximos o mnimos. Sin
embargo, esta es un rea, an muy poco desarrollada de la matemtica,
frecuentemente, las condiciones de Khun-Tucker fallan, o no son suficientes,
para la existencia de extremos.

Geomtricamente, los programas no lineales, se diferencian de un
programa lineal. En la figura 2.1, se ilustra un programa no lineal. Se quiere
minimizar una funcin
) (x f
, en el intervalo con
8 0 s s x
. El punto
5 = x
es el
ptimo. El punto
0 = x
, es una buena solucin factible, y es una solucin ptima
en la vecindad de
0 = x
.

Aqu se distinguen, dos tipos de soluciones: un ptimo local que est en
un lado, y un punto global que se encuentra en el otro lado, el punto de 5 = x .
Un ptimo local, es un ptimo con respecto a la solucin factible en una regin
cerrada en dicho punto. Se formaliza estas dos clases de ptimos, mediante la
siguiente definicin.

f(x)
x
0 5 8
Mnimo
local
Mnimo
global

Figura 2.1: ptimos locales y globales

Definicin. Sea ) ,..., , (
2 1 n
x x x x = , una solucin factible a un problema de
minimizacin, con una funcin objetivo ) (x f ; se llama x a:

1. Un mnimo global, si ) ( ) ( y f x f s , para cada punto factible
) ,..., , (
2 1 n
y y y y = ;
2. Un mnimo local, si ) ( ) ( y f x f s , para cada punto factible
) ,..., , (
2 1 n
y y y y = , suficiente cerrado a x . Esto es, si existe un nmero
0 > c (posiblemente muy pequeo), tal que cada variable
j
y , cumple
con c c + s s
j j j
x y x , y es factible, entonces ) ( ) ( y f x f s .

El concepto de mnimo local, es muy importante. Muchos procedimientos
en programacin no lineal de propsito general, slo determinan el mnimo
local.

2.2.2 Complejidad computacional
La complejidad computacional estudia el esfuerzo o costo de la resolucin de un
problema. El esfuerzo necesario para resolver un problema de forma eficiente
puede variar enormemente.

Cuando se resuelve un problema, se busca la mejor solucin entre un
conjunto de posibles soluciones. Al conjunto de todas las posibles soluciones a
un problema concreto se llama espacio de bsqueda.

La bsqueda de una solucin, se reduce a buscar el valor extremo
(mnimo o mximo) en el espacio de bsqueda. Este espacio de bsqueda a
veces puede ser bien definido, pero en la mayora de las ocasiones slo se
tiene el conocimiento de algunos puntos en el espacio de bsqueda.

Al planteamiento de un problema concreto, se encuentra una serie de
algoritmos que se pueden aplicar. Se suele decir que el orden de complejidad
de un problema es la del mejor algoritmo que se conozca para resolverlo. As
se clasifican los problemas y los estudios sobre algoritmos que se aplican a la
realidad.
En el tiempo han aparecido diversos estudios, que han llevado a la
constatacin de que existen problemas muy difciles, problemas que desafan
la utilizacin de las computadoras para resolverlos.

La cuestin es que existen, por una parte, problemas resolubles de
manera determinista mediante algoritmos polinomiales y en un tiempo
polinomial, como puede ser, por ejemplo la resolucin de ecuaciones, la
realizacin de sumas, productos, etc., pudiendo acotar el tiempo de resolucin,
ms o menos largo, de una manera aceptable. Estos son los problemas P.

Los algoritmos de complejidad polinomial, se dice que son tratables, en
el sentido de que suelen ser abordables en la prctica. Los problemas para los
que se conocen algoritmos con esta complejidad, se dice que forman la clase
P. Aquellos problemas para los que la mejor solucin que se conoce es de
complejidad superior a la polinomial, se dice que son problemas intratables.
Sera interesante encontrar alguna solucin polinomial (o mejor) que permitiera
abordarlos.

Sin embargo, tambin existen problemas NP que pueden resolverse de
forma no determinista, probando una solucin conjeturada. Esta comprobacin
es de una gran rapidez en comparacin con el tiempo polinomial necesario en
general para la resolucin determinista de los problemas P.

Algunos de estos problemas intratables, pueden caracterizarse por el
curioso hecho de que puede aplicarse un algoritmo polinomial, para comprobar
si una posible solucin es vlida o no. Esta caracterstica lleva a un mtodo de
resolucin no determinista consistente en aplicar heursticos para obtener
soluciones hipotticas que se van desestimando (o aceptando) a ritmo
polinomial. Los problemas de esta clase se denominan NP (la N de no-
deterministas y la P de polinomial).

Se conoce una amplia variedad de problemas de tipo NP, de los cuales
destacan algunos de ellos de extrema complejidad. Grficamente se puede
decir que algunos problemas se hayan en la "frontera externa" de la clase NP.
Son problemas NP, y son los peores problemas posibles de clase NP. Estos
problemas se caracterizan por ser todos "iguales" en el sentido de que si se
descubriera una solucin P para alguno de ellos, esta solucin sera fcilmente
aplicable a todos ellos.

Se puede afirmar que los problemas fciles estn en P (y en NP), pero
los difciles de verdad, slo estn en NP y se llaman NP-completos.

Es ms, si se descubriera una solucin para los problemas NP-
completos, esta sera aplicable a todos los problemas NP y, por tanto, la clase
NP desaparecera del mundo cientfico al carecerse de problemas de ese tipo.

Una alternativa para resolver los problemas NP-completos son las
denominadas metaheurstica (como los algoritmos genticos). Ejemplos
de problemas NP-completos son el problema del agente viajero (TSP), el
problema del coloreamiento de un grafo, etc.

2.2.3 Soluciones aproximadas
En la actualidad, todos los algoritmos conocidos para problemas NP-completos
utilizan tiempo exponencial, con respecto al tamao de la entrada. Se
desconoce si hay algoritmos ms rpidos, por lo cual, para resolver un
problema NP-completo de tamao arbitrario, se utiliza uno de los siguientes
enfoques:

- Aproximacin: Un algoritmo que rpidamente encuentra una solucin
no necesariamente ptima, pero dentro de un cierto rango de error. En
algunos casos, encontrar una buena aproximacin es suficiente para
resolver el problema, pero no todos los problemas NP-completos tienen
algoritmos de aproximacin.
- Probabilstica: Un algoritmo probabilstico utiliza aleatoriedad para
obtener en promedio una buena solucin al problema planteado con
una pequea probabilidad de fallar, para una distribucin de los datos
de entrada dada.
- Restricciones: Restringiendo la estructura de las entradas se pueden
encontrar algoritmos ms rpidos.
- Casos particulares: Puede ocurrir que se reconozcan casos
particulares del problema para los cuales existen soluciones rpidas.
- Heursticas: Un algoritmo que trabaja razonablemente bien en muchos
casos. En general son rpidos, pero no existe medida de la calidad de
la respuesta.

Las aproximaciones Metaheursticas suelen ser empleadas. Un ejemplo
de algoritmo heurstico de complejidad O(n log n) es el algoritmo
voraz, utilizado para la coloracin de vrtices, en algunos compiladores.

Desde su origen, la programacin matemtica, se encuentra abocada en
problemas para los que no existe mtodo analtico alguno que permita obtener,
con seguridad y en un tiempo conveniente, el ptimo terico. ste es, por
ejemplo, el caso de los problemas combinatorios en que el sentido comn da
por imposible la enumeracin. Es ms que normal que el tamao y la
naturaleza de ciertos problemas combinatorios nos prohiban abordarlos por la
va del sentido comn. Nuestro buen sentido, educado por la ciencia, sabe
distinguir particularmente los problemas NP completos, para los cuales no
existe un algoritmo que en tiempo polinomial sea capaz de encontrar la
solucin.

Desde la investigacin de operaciones se ha establecido, por esas
razones, mtodos denominados heursticos, que no proporcionan el ptimo
formal, pero susceptibles de llegar a soluciones buenas, tanto ms fiables en
cuanto que permiten determinar al mismo tiempo una cota (superior o inferior)
del ptimo terico con el que se comparan. Con el auge de las PC, hacia
principios de los ochenta, estos mtodos han ido ganando terreno, puesto que
se iba haciendo, cada vez ms, factible y fcil intentar diferentes heursticas y
juzgar su eficacia relativa.

Durante los ltimos aos han aparecido una serie de tcnicas,
denominadas metaheursticas, cuya finalidad es la de encontrar buenas
soluciones a problemas de optimizacin (lineal o no lineal y con o sin
restricciones). Entre ellas se pueden enumerar los algoritmos genticos, el
recocido simulado, la bsqueda tab, etc. Su aplicacin a los problemas de
secuenciacin de todo tipo es una finalidad tpica y clsica. Es ms,
prcticamente todas ellas estn basadas en intentar resolver, de la mejor forma
posible, problemas tpicos de Organizacin de la Produccin. As, los
problemas tpicos de secuenciacin de trabajos en mquinas, de asignacin de
rutas, planificacin de la produccin, etc. han sido, son y, casi con toda
seguridad, sern el banco de pruebas de las ms modernas tcnicas de
bsqueda de soluciones a problemas en los que, de entrada, se sacrifica la
posibilidad de encontrar la solucin ptima.

2.2.4 Mtodos Metaheursticos
El trmino, metaheurstica o meta heurstica, fue acuado por F. Glover en
1986. Con ello, pretenda definir un procedimiento maestro de alto nivel, que
gua y modifica otras heursticas, para explorar soluciones ms all de la simple
optimalidad local.

A partir de la definicin de F. Glover, se encuentran en las literaturas,
otras definiciones alternativas de metaheurstica o heurstica moderna.

Una metaheurstica, es un mtodo de solucin general, que proporciona
tanto una estructura general, como criterios estratgicos para desarrollar un
mtodo especfico que se ajuste a un tipo particular del problema.

Una clasificacin jerrquica para intentar una taxonoma a las
metaheursticas, consiste en armar un rbol desde el punto de vista
conceptual. Existen heursticas trayectoriales y poblacionales.

Entre las metaheursticas trayectoriales destacan, las basadas en
bsqueda local (como TS y SA), bsqueda iterativa (como ILS y FANS) y
bsqueda multi-arranque (como GRASP). Por otro lado, entre las
metaheursticas poblacionales, destacan, las basadas en combinacin de
soluciones (como GA y SS) y las basadas en movimientos (como ACO, de
optimizacin de colonias de hormigas y SI, inteligencia de enjambres). En la
tabla 2.1, se presentan los acrnimos (en ingls) de las metaheursticas, ms
reconocidas.

Los Algoritmos Genticos o GA (del ingls Genetic Algorithms) fueron
introducidos por Holland para imitar algunos de los mecanismos que se
observan en la evolucin de las especies. Los mecanismos no son conocidos
en profundidad pero s algunas de sus caractersticas: la evolucin ocurre en
los cromosomas; un ser vivo da vida a otro, mediante la decodificacin de los
cromosomas de sus progenitores, el cruce de los mismos, y la codificacin de
los nuevos cromosomas formando los descendientes; las mejores
caractersticas de los progenitores se trasladan a los descendientes, mejorando
progresivamente las generaciones.

Nombre Mtodo
ACO Optimizacin por colonias de hormigas
AMP Programas de memoria adaptativa
CA Algoritmos culturales
EA Algoritmos evolutivos
FANS Bsqueda por entorno adaptativo borroso
GA Algoritmos genticos
GLS Bsqueda local guiada
GRASP
Procedimientos de bsqueda miope,
aleatorizada y adaptativa
ILS Bsqueda local iterativa
MA Algoritmos memticos
PR Re-encadenamientos de caminos
SA Recocido simulado
SI Inteligencia de enjambre
SS Bsqueda dispersa
TS Bsqueda Tab
VNS Bsqueda de entorno variable

Tabla 2.1: Clasificacin de las Metaheursticas

Los algoritmos de recocido simulado o SA (de Simulated Annealing)
fueron introducidos por Kirkpatrick en 1983, para la optimizacin de problemas
combinatorios con mnimos locales. Utilizan tcnicas de optimizacin no
determinista: no buscan la mejor solucin en el entorno de la solucin actual
sino que generan aleatoriamente una solucin cercana y la aceptan como la
mejor si tiene menor costo, o en caso contrario con una cierta probabilidad p;
esta probabilidad de aceptacin ir disminuyendo con el nmero de iteraciones
y est relacionada con el empeoramiento del coste.

Estos algoritmos derivan de la analoga termodinmica con el proceso
metalrgico del recocido: cuando se enfra un metal fundido suficientemente
despacio, tiende a solidificar en una estructura de mnima energa (equilibrio
trmico); a medida que disminuye la temperatura, las molculas tienen menos
probabilidad de moverse de su nivel energtico; la probabilidad de movimiento
se ajusta a la funcin de Boltzmann.

Entre los distintos mtodos y tcnicas heursticas de resolucin de
problemas combinatorios surge, en un intento de dotar de "inteligencia" a los
algoritmos de bsqueda local, el algoritmo de bsqueda tab, de Glover y
Laguna en 1997.

La bsqueda tab o TS de Tab Search, a diferencia de otros algoritmos
basados en tcnicas aleatorias de bsqueda de soluciones cercanas, se
caracteriza porque utiliza una estrategia basada en el uso de estructuras de
memoria para escapar de los ptimos locales, en los que se puede caer al
"moverse" de una solucin a otra por el espacio de soluciones. Al igual que en
la bsqueda local, la bsqueda tab selecciona de modo agresivo el mejor de
los movimientos posibles en cada paso. Al contrario que sucede en la
bsqueda local, se permiten movimientos a soluciones del entorno aunque se
produzca un empeoramiento de la funcin objetivo, de manera que sea posible
escapar de los ptimos locales y continuar estratgicamente la bsqueda de
mejores soluciones.

Numerosos algoritmos basados en el principio de Darwin, han empezado
a desarrollarse sobre las ltimas tres dcadas. Ellos estn usando el trmino
de mtodos de computacin evolucionaria.

El trmino de algoritmos evolucionarios o evolutivos, es usado en forma
indistinta para describir diferentes tcnicas de computacin evolutiva.

Para las tareas de optimizacin de funciones de variables reales, la
evolucin estratgica ha emergido como un gran contendor a diversos mtodos
de solucin tradicionales.

La computacin evolutiva plantea los problemas complejos de bsqueda
y optimizacin bajo un enfoque evolutivo, basado en la teora evolucionista. La
computacin evolutiva La computacin evolutiva es una rama de la inteligencia
artificial que involucra problemas de optimizacin combinatoria. Se inspira en
los mecanismos de la evolucin biolgica.

Durante los aos 60 y 70, varias corrientes de investigacin
independientes comenzaron a formar lo que ahora se conoce como
computacin evolutiva:

- Programacin Evolucionaria o EP (Evolutionary Programming).
- Estrategias Evolutivas o ES (Evolution Strategies).
- Algoritmos Genticos o GA (Genetic Algorithms).

La Programacin Evolutiva naci en la dcada de 1960 y su creador
fue Lawrence J. Fogel. Este desarrollo comenz como un esfuerzo encaminado
a crear inteligencia artificial basada en la evolucin de mquinas de estado
finitas.

Las Estrategias Evolutivas fueron propuestas por Ingo Rechenberg y
Hans Paul Schwefel en la dcada de 1970. Su principal objetivo era el de
optimizar de parmetros.

Los Algoritmos Genticos fueron propuestos por John H. Holland en
1975 y su motivacin inicial fue la de proponer un modelo general de proceso
adaptable.

Cada una de estas tcnicas fue desarrollada de forma independiente,
siendo la denominacin de computacin evolutiva porque estn basadas en un
esquema general comn; todos ellos poseen:

- Un conjunto de soluciones debidamente codificadas (los individuos)
formando una poblacin (ver la figura 2.2)
- Un procedimiento de transformacin a la nueva poblacin, desde la
poblacin anterior.
- Una funcin evaluadora del mrito de las soluciones que forman parte
de la poblacin.
- Un mecanismo de seleccin de individuos en funcin de su adaptacin
al medio.

1
2
3
4
5
6
7

Figura 2.2: Solucin y el individuo

Las tcnicas difieren en la seleccin de reproductores y en la seleccin
de supervivientes (ver la figura 2.3).
P(0) = Inicializacin de la poblacin
Bondad P(0) = Evaluacin P(0)
G = 0
P Aux (G) = Seleccin de reproductores
P Aux (G) = Transformacin
Bondad P Aux (G) = Evaluacin P Aux (G)
P(G) = Seleccin de supervivientes
Bondad P(G) = Evaluacin P(G)
Repetir hasta que

Figura 2.3: Algoritmo evolutivo


El evolucionismo como un proceso de optimizacin, est ligado al
genotipo de un individuo (ver figura 2.4), porque ste designa la constitucin
gentica de un individuo; es decir es la informacin contenida en los alelos de
los genes del individuo. Fenotipo corresponde a las caractersticas fsicas del
individuo.

a b c d g g

Figura 2.4: Codificacin y cromosoma

Los rasgos fenotpicos no son necesariamente consecuencia de la carga
gentica del individuo, sino que el desarrollo y conducta de ste frente al
mundo exterior est condicionada por el propio medio: la epignesis, y por el
aprendizaje del individuo y del grupo a lo largo de su existencia. La epignesis
predice que los rganos del embrin son formados de la nada, por medio de
induccin por parte del ambiente.

El caso paradigmtico de la epignesis se da en el crecimiento, que a
partir de un cigoto se desarrolla una compleja estructura celular y orgnica. En
la teora de sistemas se incluyen los mecanismos que permiten a un
determinado individuo modificar ciertos aspectos de su estructura interna o
externa como resultado de la interaccin con su entorno inmediato.

La epignesis representa por tanto el proceso de "sintonizacin" final
mediante el cual cada individuo se adapta de forma eficiente a su entorno a
partir de las capacidades contenidas en su cdigo gentico. Los genes son
parte de una red compleja de interacciones que se retroalimenta y, por ende,
no actan como identidades independientes.
http://es.wikipedia.org/wiki/Epignesis.

La adaptabilidad del individuo, est condicionada a la forma como se
expresa su carga gentica, es decir su fenotipo; no existiendo una relacin
directa entre el cdigo gentico y el comportamiento desarrollado.

2.2.5 Algoritmos Genticos
El trmino Algoritmo Gentico o GA, fue primeramente usado por John Holland,
desde su libro Adaptation in Natural and Artificial Systems en 1975.

La influencia de Holland en el desarrollo de este tpico es muy
importante; junto con Ingo Rechemberg y Hans-paul Schwefel (EA) y Fogel
(EP), comparten las ideas de mutacin y seleccin, formando el ncleo de la
teora de la evolucin neo Darwiniana (Handbook de Metaheurstica).

2.2.5.1 Conceptos bsicos
La resolucin de un problema, como la bsqueda de una solucin ptima en un
gran espacio de soluciones. De la misma manera la naturaleza se enfrenta al
mismo dilema en la bsqueda de la mejor adaptacin de los individuos al
medio. Los integrantes de una poblacin compiten entre ellos en la bsqueda
de la supervivencia. Aquellos miembros de la poblacin capaces de adaptarse
mejor al medio que les rodean, tendrn mayor oportunidad de sobrevivir. Por
otro los integrantes de la poblacin con menos capacidades, tendrn una
oportunidad menor de sobrevivir.

El fenotipo del individuo que ha logrado el xito o fracaso, corresponde a
la informacin contenida en su carga gentica. Esta informacin se encuentra
codificada en los genes (fragmento del ADN) en una determinada localizacin
de un cromosoma especfico. Los cromosomas se encuentran en el interior del
ncleo.

En el proceso de reproduccin, los ancestros transmiten a su
descendencia parte de su carga gentica. En este cruce los individuos
descendientes poseern caractersticas del fenotipo de sus ancestros. Debido
a que los individuos mejor dotados poseern mayor descendencia, las
sucesivas generaciones disfrutarn de la combinacin de las buenas
caractersticas de generaciones pasadas, lo que se traducir en una mejor
adaptacin al medio.

Las mutaciones ocasionadas en el material gentico, son otra fuente de
variabilidad gentica; produciendo cambios en la poblacin, diferentes a las
heredadas de las generaciones anteriores.

En conclusin los individuos mejor adaptados se reproducen, sobreviven
y se reproducen en mayor medida dando lugar a lo que se ha denominado la
seleccin natural.

a b c d g g

Figura 2.5: Gen

Segn la Gentica, los cromosomas contienen aproximadamente 80.000
genes, y son los responsables de la herencia (ver la figura 2.5).

Para aplicar GA a un problema, el primer paso consiste en codificar el
cromosoma artificial. Estos pueden ser cadenas de unos y ceros, lista de
parmetros, etc. Luego existe un procedimiento para discriminar las soluciones
buenas de las malas. Es la funcin de evaluacin o funcin de fitness, que es
usada por GA para guiar la evolucin de las nuevas generaciones. En este
momento se est con las condiciones de evolucionar soluciones para el
problema.

Los operadores genticos, son utilizados para procesar iterativamente la
poblacin, creando una secuencia de poblaciones (ver la figura 2.6).

GA es mtodo para resolver problemas de optimizacin que est basado
en la seleccin natural, el proceso que dirige la evolucin biolgica. El GA
repetidamente modifica soluciones de poblaciones individuales. En cada paso,
el GA selecciona aleatoriamente individuos desde la actual poblacin
produciendo los hijos de la nueva generacin. Sobre sucesivas generaciones,
la poblacin se dirige a la solucin ptima.

Poblacin
(cromosomas)
Evaluacin
(aptitud)
Operadores
genticos
Seleccin
(parejas)
Reproduccin
Progenitores
Cadenas
decodificadas
Manipulacin
Nueva
generacin
Desdendientes
Parejas

Figura 2.6: Ciclo de un GA

GA hace uso de tres reglas principales en cada para crear la nueva
generacin desde la actual poblacin:

- Reglas de seleccin, que selecciona los parientes que contribuyen a la
poblacin en la siguiente generacin.
- Reglas de cruce, combina dos parientes para formar el hijo de la
siguiente generacin.
- Reglas de mutacin, aplica aleatoriamente cambios a los individuos
parientes para formar hijos.

La tcnica GA difiere de la optimizacin tradicional por: genera una
poblacin de puntos (no un punto); y selecciona la siguiente poblacin
utilizando cambios aleatorios (en vez de conseguir un nuevo punto, desde
procedimientos determinsticos).

Asumir un espacio discreto y una funcin

El problema general es encontrar



Aqu es un vector de variables decisionales, y es la funcin objetivo.
Se asume que el problema es de minimizacin. Tales problemas son conocidos
como discretos o Problema de optimizacin Combinatoria o COP
(Combinatorial Optimization Problem).

Una de las facilidades distintivas de GA, es permitir la separacin de la
representacin del problema desde las actuales variables del cual fue
originalmente desarrollado. En otras palabras, se distingue el genotipo la
representacin codificada de las variables desde el fenotipo. Esto es, el vector
es representado por un string o una cadena s de longitud l desde un alfabeto
A usando el mapeo:


En la prctica, se necesita usar un espacio de bsqueda


La imagen de

bajo puede representar una solucin invlida al


problema original. El string de longitud l depende de las dimensiones de ambos
X y .

El mapeo genotipo-fenotipo, en encontrar la optimizacin:


Donde la funcin es

Con inyectiva, desde el punto que tiene una inversa.

Tanto los libros de Holland como Goldberg, plantean la representacin
de las variables como un string binario, es decir .

2.2.5.2 GA aplicado al TSP
El primer estudio sobre aproximacin al TSP a partir de GA la efectu Brady
(1985). Ms tarde fue seguido por Grefenstette y colaboradores (1985),
Goldberg y Lingle (1985), Oliver y col. (1987) y otros.

Aqu se exponen algunas representaciones, as como diferentes
operadores de cruce y mutacin, que han sido utilizados para resolver el TSP
por medio de GA. En particular se trata sobre la representacin basada en la
trayectoria que es la ms utilizada, y luego se explicar la
representacin binaria que presenta algunos problemas a la hora de realizar el
cruzamiento y mutacin clsicos y, por ese motivo, tuvo que idearse un mtodo
distinto para resolver el TSP utilizando este tipo de representacin.

La representacin basada en la trayectoria es la representacin ms
natural de un tours o. Una gira se representa como una lista de n ciudades. Si
la ciudad k es el j-simo elemento de la lista, la ciudad k es la j-sima ciudad a
visitar. As por ejemplo, la gira 11 > 2 > 3 > 8 > 9 > 4 > 7 > 6 > 1 > 5
>10 se representa como en la figura 2.7.

11 2 3 8 9 4 7 6 1 5 10

Figura 2.7: Ciclo de un GA

Los operadores clsicos no funcionan con esta representacin, por
tal razn se han definido otros operadores de cruce y mutacin, tales como:
PMX, CX, OX1, OX2, POS, ER y AP para cruces, y DM, EM, ISM, SIM, IVM,
SM para mutacin.

En la operacin PMX, introducida por Goldberg y Lingle, una parte de la
lista representando a uno de los padres, se hace corresponder con una parte,
de igual tamao, de la lista del otro padre, intercambiando la
informacin restante. Por ejemplo en la figura 2.8, se consideran las listas de
dos padres, y se selecciona aleatoriamente el intercambio de 3 elementos,
empezando desde la cuarta posicin. Se observa las relaciones 84, 95 y
46 y viceversa.

11 2 3 8 9 4 7 6 1 5 10
1 2 3 4 5 6 7 8 9 10 11
11 2 3 4 5 6 7 6 1 5 10
1 2 3 8 9 4 7 8 9 10 11

Figura 2.8: Operador PMX

En el primer padre est repetido el valor de 6 en la octava posicin y se
cambia por 8, desde la relacin 648; y el 5 (posicin 10) por 9.

11 2 3 4 5 6 7 8 1 9 10
1 2 3 8 9 4 7 6 5 10 11

Figura 2.9: Resultado del operador PMX

Con respecto al segundo padre el valor repetido de 8 se cambia por 6; y
el valor de 9 (posicin 10) se cambia por 5. La aplicacin completa del
operador PMX es la que se presenta en la figura 2.9 para dos descendientes.

El operador CX de Oliver (1987), crea un descendiente a partir de los
padres, de tal manera que cada posicin se ocupa por el correspondiente
elemento de uno de los padres. Por ejemplo, se considera los padres de la
figura 2.10.

Se escoge el primer elemento del descendiente bien del primer
elemento del primer padre o del primer elemento del segundo padre. Por tanto,
el primer elemento del descendiente debe ser un 1 o un 8. Se ha escogido el 1.

Luego se considera el ltimo elemento del descendiente. Ya que dicho
elemento debe ser escogido de uno de los padres, puede tratarse de un 6 u 8.
Se escoge el 8, con lo cual el descendiente est constituido por el 1 en el
primer elemento y 8 en el ltimo.

De forma anloga se encuentra que el segundo y cuarto elemento
del descendiente deben de ser seleccionados del segundo padre.

Una vez concluido esa etapa, se considera el tercer elemento del
descendiente. Dicho elemento puede ser escogido de cualquiera de los
padres. Supongamos que lo seleccionamos del segundo padre. Esto
implica que los elementos quinto, sexto y sptimo del descendiente
deben de escogerse del segundo padre.

8 2 3 1 5 4 7 6
1 2 3 4 5 6 7 8
1 8
1 2 4 8
1 2 3 4 5 6 7 8

Figura 2.10: Operador CX

El operador de mutacin DM de Michalewizc (1992), comienza
seleccionando una sub-lista al azar. Dicha sub-lista se extrae de la lista, y se
inserta en una posicin aleatoria. Por ejemplo, considerando el tours de la
figura 2.11, se observa que se selecciona la sub-lista compuesta de 8->9->4-
>7->6. Despus de quitar la sub-lista se tiene: 11->2->3->1->5->10. Si se
selecciona la ciudad 10, para insertar la sub-lista se tiene la lista del nuevo
descendiente.

11 2 3 8 9 4 7 6 1 5 10
11 2 3 8 9 4 7 6 1 5 10
11 2 3 1 5 10
1 2 3 1 5 10 8 9 4 7 6

Figura 2.11: Operador de mutacin DM

2.3 DEFINICION DE TERMINOS BASICOS
ADMINISTRACIN: Conjunto ordenado y sistematizado de principios, tcnicas
y prcticas que tiene como finalidad apoyar la consecucin de los objetivos de
una organizacin a travs de la provisin de los medios necesarios para
obtener los resultados con la mayor eficiencia, eficacia y congruencia; as como
la ptima coordinacin y aprovechamiento del personal y los recursos tcnicos,
materiales y financieros.
ANLISIS: Descomposicin del todo en sus partes para extraer conocimiento.
ALTERNATIVA: Ver solucin.
ALELO: Valor que puede adoptar un gen.
CLIENTE: Es quien accede a un producto o servicio por medio de una
transaccin financiera (dinero) u otro medio de pago. Quien compra, es el
comprador, y quien consume el consumidor.
CONOCIMIENTO: Facultad o efecto de conocer. Poseen conocimiento
aquellos seres capaces de traer a su conciencia (vid. CONCIENCIA) el mundo
que les rodea o su propia realidad. Por el conocimiento, el sujeto entra con las
cosas conocidas en la relacin sujeto-objeto. Existen grados distintos de
conocimiento (de "luces"), desde el conocimiento animal hasta la visin
beatifica.
CONTROLAR: Acto de medir y registrar los resultados alcanzados por un
agente del sistema organizacional en un tiempo y espacio determinados.
EFECTIVIDAD: Cumplimiento al ciento por ciento de los objetivos planteados.
EFICACIA: Capacidad de lograr los objetivos y metas programadas con los
recursos disponibles en un tiempo predeterminado.
Capacidad para cumplir en el lugar, tiempo, calidad y cantidad las metas y
objetivos establecidos.
EFICIENCIA: Uso racional de los medios con que se cuenta para alcanzar un
objetivo predeterminado; es el requisito para evitar o cancelar dispendios y
errores.
Capacidad de alcanzar los objetivos y metas programadas con el mnimo de
recursos disponibles y tiempo, logrando su optimizacin.
ENFOQUE AL CLIENTE: Mtodo de Gestin, basado en identificar y desplegar
internamente los requisitos cuyo desarrollo satisface las necesidades y
expectativas de los clientes, y en priorizar coherentemente los procesos de la
organizacin que repercuten en su satisfaccin.
ESPACIO DE SOLUCIONES: Conjunto de todas las posibles soluciones a un
problema determinado que es posible alcanzar con el sistema de resolucin
empleado. Equivale a espacio de individuos.
EXPERIMENTACIN: Observacin provocada.
FENOTIPO: Caractersticas fsicas de un individuo determinadas por su
genotipo y las condiciones del medio externo.
FUNCION: Mandato formal permanente e impersonal de una organizacin o de
un puesto de trabajo.
GEN: Analoga natural de cada uno de los elementos que conforman la cadena
o cromosoma que se necesita para representar un individuo.
GENERACION: Proceso de creacin de nuevos individuos. Tambin se
emplea como sinnimo de poblacin.
GENOTIPO: Se emplear para denotar el contenido gentico de un individuo,
es decir, el cromosoma que lo codifica.
HIPTESIS: Antecedente de una proposicin condicional o hipottica.
Enunciado que slo se puede probar por sus consecuencias.
INDIVIDUO: Equivalente analgicamente a solucin o alternativa.
MEDIO EXTERNO: Entorno en el que se desarrollan y compiten los individuos.
En el presente trabajo ser anlogo al dominio de ubicacin de las actividades.
META: Es la cuantificacin del objetivo que se pretende alcanzar en un tiempo
sealado, con los recursos necesarios.
MTODO: Proceso o camino sistemtico establecido para realizar una tarea o
trabajo con el fin de alcanzar un objetivo predeterminado.
MTODO CIENTFICO: Sigue la definicin tradicional del mtodo cientfico. Se
enuncia una hiptesis, esta se intenta comprobar mediante la realizacin de
una prueba, controlando las variables
METODOLOGA: Parte de la lgica que estudia los mtodos (y sus formas
lgicas especiales) para la investigacin.
MODELAMIENTO: Tipo de aprendizaje en el que una persona aprende
observando el comportamiento deseado en otras personas.
MODELO: Descripcin simplificada y prctica del funcionamiento de algo.
OBJETIVO: Expresin cualitativa de un propsito en un periodo determinado;
el objetivo debe responder a la pregunta "qu" y "para qu".
POBLACION: Conjunto de individuos existentes en un momento (iteracin)
dado. En adelante denotado por P.
PROCESO: Un conjunto de acciones integradas y dirigidas hacia un fin. Una
accin continua u operacin o serie de cambios o tareas que ocurren de
manera definida. La accin y el efecto de continuar de avanzar, en especial del
tiempo.
PROCESO DE MEJORA: Proceso sistemtico de adecuacin de la
organizacin a las nuevas y cambiantes necesidades y expectativas de clientes
y otras partes interesadas, realizada mediante la identificacin de
oportunidades de mejora, y la priorizacin y ejecucin de proyectos de mejora.
SATISFACCIN DEL CLIENTE: Percepcin del cliente sobre el grado en que
se han cumplido sus requisitos.
SISTEMA: Conjunto de procesos o elementos interconectados e
interdependientes que forman un todo complejo.
SOLUCION: Configuracin compatible con las restricciones del problema y que
le da la solucin.
SOLUCIN PTIMA: Solucin s S, tal que la funcin objeto f(s) sea ptima.
Analgicamente, el individuo mejor adaptado a su entorno.
SOLUCIN SUB PTIMA: Solucin de calidad cercana a la de la solucin
ptima, o bien de calidad aceptable para las condiciones del problema
planteado.

2.4 PRESENTACION Y DESARROLLO DE LOS MODELOS
El objetivo del presente trabajo, es conocer la ruta de la fiscalizacin de los
Comits Partidarios en el JNE, mediante la propuesta para el Problema del
Agente Viajero, de acuerdo con el marco terico, adems de presentar de las
metodologas explicadas en dicho captulo; y por otro lado presentar la
propuesta de modelacin matemtica haciendo uso de un meta generador
como es el software LINGO.

Se utiliza como datos de prueba, los lugares de la fiscalizacin realizada
al Movimiento Regional: Movimiento Independiente Unin y Cambio, que se
encuentra ubicada en la Regin de Puno y sus Comits Partidarios que estn
dentro de la regin.

Se confecciona un programa en MATLAB que realiza todas las acciones
de los Algoritmos Genticos referidas al Problema del Agente Viajero,
probndose una variedad de formulaciones de rutas en las poblaciones.
Generar la poblacin
inicial
Evaluar la poblacin
con la funcin
Seleccionar los individuos
que formarn las parejas
Crear nuevos individuos
mediante cruce y mutacin
Sustituir individuos en la
poblacin
Solucin al
problema?
No
Terminar
Si

Figura 2.12: Diagrama de flujo para GA

En la figura 2.12, se presenta el diagrama de dibujo para encontrar la
solucin al TSP, haciendo uso de GA. Este esquema est basado en el SGA
(Simple Genetic Algorithm) presentado en D. Goldberg (1989).

La poblacin est compuesta de MAXPOP individuos; donde cada
individuo se compone de un cromosoma con N valores enteros. Cada valor es
un fenotipo que corresponde a una de las ciudades.

Para generar la poblacin inicial, el primer individuo es un tour ordenado
en forma ascendente; mientras los otros individuos son una permutacin
aleatoria entre N valores:

% Inicialice la poblacion
poblacion = zeros(MAXPOP,N);
poblacion(1,:) = (1:N);
for k = 2:MAXPOP
poblacion(k,:) = randperm(N);
end

Para evaluar la poblacin se hace uso de la funcin:

% Evalua la distancia total
for j = 1:MAXPOP
d = 0;
for k = 2:N
d = d + DISTANCIA(poblacion(j,k-1),poblacion(j,k));
end
totalDist(j) = d+DISTANCIA(poblacion(j,N),poblacion(j,1));
end

El proceso de determinar nuevas generaciones se presenta en el
siguiente bucle:

for iteracion = 1:MAXGEN
% Evalua la distancia total

% Encuentra la mejor ruta en la poblacin

% Operadores GA

%Mutacin

poblacion = newPoblacion; %sustituir individuos
end