Sei sulla pagina 1di 13

URKUND

Urkund Analysis Result


Analysed Document: SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf
(D29684759)
Submitted: 2017-07-18 20:48:00
Submitted By: titulacion_sv1@utmachala.edu.ec
Significance: 6%

Sources included in the report:


edwin paredes complexivo.docx (D16400126)
Caratula - SesionDerechos.pdf (D16346627)
http://www.uv.es/asepuma/XVI/707.pdf

Instances where selected sources appear:


4
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

UNIDAD ACADMICA DE INGENIERA CIVIL CARRERA DE INGENIERA DE SISTEMAS


DESARROLLO DE UN ALGORITMO GENTICO PARA SELECCIONAR LA MEJOR RUTA PARA
UN AGENTE VENDEDOR EN JAVA USANDO LA LIBRERA JGAP SALINAS DELGADO JIMMY
FABRICIO

0: Caratula - SesionDerechos.pdf 78%

INGENIERO DE SISTEMAS MACHALA 2017

PORTADA UNIVERSIDAD TCNICA DE MACHALA UNIDAD ACADMICA DE INGENIERA


CIVIL CARRERA DE INGENIERA DE SISTEMAS

DESARROLLO DE UN ALGORITMO GENTICO PARA SELECCIONAR LA MEJOR RUTA PARA


UN AGENTE VENDEDOR EN JAVA USANDO LA LIBRERA JGAP TRABAJO PROBATORIO DEL
COMPONENTE PRCTICO DEL EXAMEN DE GRADO DE CARCTER COMPLEXIVO PARA
OPTAR POR EL TTULO DE INGENIERO DE SISTEMAS CARATULA AUTOR JIMMY FABRICIO
SALINAS DELGADO 0705341469 MACHALA, JULIO DE 2017

Nota de aceptacin: Quienes suscriben, en nuestra condicin de evaluadores del trabajo de


titulacin denominado Desarrollo de un Algoritmo Gentico para seleccionar la mejor ruta para un
Agente Vendedor en Java usando la Librera JGAP, hacemos constar que luego de haber revisado
el manuscrito del precitado trabajo, consideramos que rene las condiciones acadmicas para
continuar con la fase de evaluacin correspondiente. NOTA DE ACEPTACIN Ing. Wilmer Braulio
Rivas Asanza Ing. Jorge Luis Armijos Carrin Ing. Bertha Eugenia Mazn Olivo

Machala, (2017, 07, 13)

CESIN DE DERECHOS DE AUTORA Yo, SALINAS DELGADO JIMMY FABRICIO,

0: Caratula - SesionDerechos.pdf 93%

con C.I. 0705341469, estudiante de la carrera de INGENIERA DE SISTEMAS de la UNIDAD


ACADMICA DE INGENIERA CIVIL de la UNIVERSIDAD TCNICA DE MACHALA, en calidad
de Autora del siguiente trabajo de titulacin

denominado DESARROLLO DE UN ALGORITMO GENTICO PARA SELECCIONAR LA MEJOR


RUTA PARA UN AGENTE VENDEDOR EN JAVA USANDO LA LIBRERA JGAP.

0: edwin paredes complexivo.docx 98%

Declaro bajo juramento que el trabajo aqu descrito es de mi autora; que no ha sido previamente
presentado para ningn grado o calificacin profesional. En consecuencia, asumo la
responsabilidad de la originalidad del mismo y el cuidado al remitirme a las fuentes bibliogrficas
respectivas para fundamentar el contenido expuesto, asumiendo la responsabilidad frente a
cualquier reclamo o demanda por parte de terceros de manera exclusiva. Cedo a la
UNIVERSIDAD TCNICA DE MACHALA de forma NO EXCLUSIVA con referencia a la obra en
formato digital los derechos

de: a.

Incorporar la mencionada obra al repositorio digital institucional para su democratizacin a nivel


mundial, respetando lo establecido por la Licencia Creative Commons Atribucion-NoComercial-

2
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0), la Ley de Propiedad Intelectual del Estado
Ecuatoriano y el Reglamento Institucional.

b.

Adecuarla a cualquier formato o tecnologa de uso en internet, as como incorporar cualquier


sistema de seguridad para documentos electrnicos, correspondindome como Autor(a) la
responsabilidad de velar por dichas adaptaciones con finalidad de que no desnaturalice el
contenido o sentido de la misma. Machala, 13

de julio de 2017 SALINAS DELGADO JIMMY FABRICIO C.I. 0705341469 S

DEDICATORIA Este esfuerzo dedico principalmente a mi querida madre Jenny Yolanda Salinas
Delgado que siempre me apoyo, ha sido mi gua y ha brindado su amor. A mi ta Carmen de
Lourdes Adrin Elizalde (+), que aunque ya no est con nosotros siempre me apoy y velo por m
desde pequeo. Por ltimo dedico este proyecto de vida a mis queridos primos Alexandra Elizabeth
Salinas Adrin y Jhon Mauricio Salinas Adrin, que nunca se cansaron de apoyarme y permitirme
culminar este trabajo.

AGRADECIMIENTO Desde estas lneas quiero dar las gracias a todas las personas que han
influenciado en m de manera positiva, y me han permitido llegar hasta aqu y lograr terminar este
trabajo. A mi tutor Ing. Wilmer Rivas por su gua, apoyo y dedicacin durante la elaboracin de este
trabajo. Tambin agradezco a los dems miembros del Comit Evaluador Ing. Jorge Luis Armijos
Carrin, Ing. Bertha Eugenia Mazn Olivo por sus revisiones y correcciones que me permitieron
culminar con este trabajo. De igual manera agradezco a todos los maestros que impartieron sus
conocimientos y que me llevaron a terminar mi formacin profesional. A mis amigos que me
brindaron su apoyo incondicional y con los que disfrute de la carrera todos estos aos.

RESUMEN En el mundo actual muchos de los problemas de mejora de rendimiento de las distintas
reas de la ingeniera son difciles de resolver a travs de mtodos comunes, por eso se crearon
algoritmos evolutivos capaces de adaptarse a su entorno y resolver estos inconvenientes. Los
Algoritmos Genticos son un logro de la inteligencia artificial, y han sido creados para intentar
simular los distintos comportamientos biolgicos basados en la seleccin natural y la gentica de
los seres vivos. Los Algoritmos Genticos son pasos bien organizados que se deben seguir, para
dar solucin a un problema, y se basan en las estrategias naturales que le han permitido al ser
humano adaptarse al medio en el que viven. El principal propsito de este trabajo es solucionar el
Problema de un Vendedor, utilizando un cdigo gentico. Este problema consiste en encontrar la
ruta ptima que debe seguir para visitar a los clientes, de manera que partiendo de cualquiera
pueda visitarlos a todos y volver a su punto inicial. La solucin del problema del Agente vendedor
es muy importante, ya que diversos problemas que existen en el mundo estn relacionados a est,
y pueden ser usados en distintas reas de la ingeniera como son logstica, fabricacin de circuitos,
tableros de circuitos o en la robtica. Para resolver este problema, se usara la Librera JGAPP que
es un componente de los Algoritmos Genticos para el lenguaje de programacin JAVA, que facilita
los mecanismos para aplicar los principios evolutivos y poder solucionar los problemas que se
plantean. Palabras Clave Algoritmo Gentico, Agente, Librera, Evolutivo, Entorno

ABSTRACT In today's world many of the problems of performance improvement of different areas of
engineering are difficult to solve through common methods, that is why evolutionary algorithms were
created that are able to adapt to their environment and solve these drawbacks. Genetic Algorithms
are an achievement of artificial intelligence, and have been created to try to simulate different
biological behaviors based on the natural selection and genetics of living beings. Genetic Algorithms
are well organized steps that must be followed to solve a problem, and are based on the natural
strategies that have allowed the human being to adapt to the environment in which they live. The
main purpose of this work is to solve the Problem of a Seller, using a genetic code. This problem
consists in finding the optimal route that must follow to visit the clients, so that from anyone can visit

3
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

them all and return to their starting point. The solution of the problem of the Selling Agent is very
important, since various problems that exist in the world are related to this, and can be used in
different areas of engineering such as logistics, circuit fabrication, circuit boards or robotics . To
solve this problem, we will use the JGAPP Library which is a component of the Genetic Algorithms
for the JAVA programming language, which facilitates the mechanisms for applying evolutionary
principles and solving the problems that arise. Keywords: Genetic Algorithm, Agent, Library,
Evolutionary, Environment

NDICE DE CONTENIDO PORTADA ii CARATULA ii REPORTE DE URKUND iv CESIN DE


DERECHOS DE AUTORA v CESIN DE DERECHOS v DEDICATORIA vi AGRADECIMIENTO vii
RESUMEN viii ABSTRACT ix NDICE DE CONTENIDO x LISTA DE ILUSTRACIONES xii 1.
INTRODUCCIN xiii 1.1. MARCO CONTEXTUAL 14 1.2. PROBLEMA 14 1.3. OBJETIVO
GENERAL 14 1.4. OBJETIVOS ESPECFICOS 15 2. DESARROLLO 16 2.1. MARCO TERICO 16
2.1.1. Algoritmos Genticos 16 2.1.2. Operadores genticos 16 2.1.3. Terminologa 17 2.1.4.
Componentes de un Algoritmo Gentico clsico 17 2.1.6. La aptitud en un AG 18 2.1.7. La
seleccin en un AG 18 2.1.8. Los Operadores de Cruzamiento 19 2.1.9. Mecanismos de Muestreo
21 2.2. MARCO METODOLGICO 21 2.2.1. Aspectos Metodolgicos 21 2.2.1.1. Planificacin de
Requisitos 21 2.2.1.2. DISEO 22 2.2.1.3. CONSTRUCCIN 23 2.2.1.3.1. Instalacin del IDE de
programacin. 23 2.2.1.3.2. Instalacin de la Librera JGAP 23

2.2.1.3.3. Disear las rutas de visitas para los clientes 23 2.2.1.3.4. Determinar la estructura
gentica 23 2.2.1.4. IMPLEMENTACIN 23 2.3. RESULTADOS 23 2.3.1. Especificacin de
Resultados. 23 3. CONCLUSIONES 26 4. REFERENCIAS BIBLIOGRFICAS 27 5. ANEXOS 28
Anexo 1. Se Agrega la Librera JGAP 28 Anexo 2. Diseo de Rutas Locales 28 Anexo 3. Diseo de
Rutas de los Locales 28 Anexo 4. Distancia entre locales 28 Anexo 5 -Resultado final: ptima Ruta
que recorre el agente Vendedor 28 Anexo 6 - Cdigo para evaluar el camino ms ptimo 28

LISTA DE ILUSTRACIONES Ilustracin 1. Cromosoma 16 Ilustracin 2. Aptitud de un Agente


Vendedor. Aptitud = 4. 17 Ilustracin 3. Aptitud de un Agente Vendedor. Aptitud = 2. 17 Ilustracin 4.
Muestreos estocsticos. 18 Ilustracin 5. Cruzamiento de un Punto. 19 Ilustracin 6. Cruzamiento
de dos Puntos. 19 Ilustracin 7. Cruzamiento Uniforme. 20 Ilustracin 8. Diseo de locales a visitar
el agente vendedor 21 INDICE DE TABLAS Tabla 1. Especificaciones Tcnicas de Hardware y
Software 21

1. INTRODUCCIN El origen de este trabajo es brindar una solucin ptima a un problema


frecuente que se le presenta a muchas personas que tienen el cargo de agentes vendedores. Dicho
problema se les presenta cuando a los vendedores se les da la tarea de recorrer cierto nmero de
locales en los que estn los clientes que tienen a su cargo, el principal inconveniente es que
cuando realizan su recorrido y visitan todos los locales al final del da se dan cuenta que les tomo
mucho tiempo completarlo. En vista de esto se cre el presente trabajo, el cual pretende brindarle
una herramienta til para que los vendedores puedan observar cual es la mejor ruta que deben
seguir para completar su recorrido de una manera ms ptima. El software trabajara as por
ejemplo si un agente vendedor emprende un recorrido en la ciudad donde reside y tiene que visitar
una vez cada uno de los locales que tiene asignado, y regresar a casa, este agente podra elegir
una ruta al alzar, sin embargo el vendedor quiere minimizar el tiempo, ahorrar energa y el dinero de
traslado, para eso se le brindar al vendedor una herramienta que le permitir analizar la ruta ms
corta y adecuada con la cual pueda cumplir su trabajo, en el que el agente vendedor puede
establecer la distancia entre cada par de locales, para poder determinar el camino ms ptimo de
su viaje, el software sumar las distancias de cada ruta posible, para luego comparar entre ellas
dichas distancias y establecer la ruta que ms le convenga.

1.1. MARCO CONTEXTUAL El problema del agente vendedor parte de un mapa en el cual constan
los locales que necesita recorrer, se establece en qu orden se debe visitar n tiendas de tal forma
que partiendo de una cualquiera, se determine la ruta ms ptima de visitas. En la actualidad se
puede obtener una variedad de informacin referente a las diferentes metodologas que existen

4
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

para comprender el problema de agente vendedor. Un extracto general de ellas se puede encontrar
en un documento publicado por el Ing. Marte Alejandro Castro Fabela en su tesis de postgrado
titulada: En Opcin al Grado de Maestro en Ciencias de La Administracin con Especialidad en
Sistemas. 1.2. PROBLEMA Se ha evidenciado que aplicando algoritmos genticos se puede
encontrar soluciones para el problema agente vendedor optimizando la eficiencia con respecto a la
relativa facilidad. La variedad de estudios efectuados se han determinado en desarrollar formas de
codificar posibles soluciones al problema (cromosomas) y establecer operadores genticos,
libreras o metodologas especiales para estas codificaciones. En determinadas problemticas se
ha desarrollado posibles soluciones mediante la implementacin de algoritmos hbridos, los cuales
son una mezcla de Algoritmos genticos y otras metodologas o lenguajes de programacin. 1.3.
OBJETIVO GENERAL Desarrollar un software mediante el uso de algoritmo gentico para
determinar la ruta optima de visitas de un agente vendedor utilizando JAVA con la librera JGAPP
que permita determinar la ruta ptima para llegar desde un punto inicial a un punto final.

1.4. OBJETIVOS ESPECFICOS Recolectar y analizar la informacin necesaria para la solucin


del problema. Determinar la estructura con la que se trabajara. Desarrollar el diseo del
software. Desarrollo del software en base al diseo planteado.

2. DESARROLLO 2.1. MARCO TERICO 2.1.1. Algoritmos Genticos Los algoritmos genticos
son mtodos que se pueden adaptar, y se los puede usar para resolver problemas de bsqueda y
de optimizacin. Se basan en los procesos que los organismos vivos usan para poder adaptarse y
sobrevivir en su entorno, y que utilizan mtodos de bsqueda como lo son la mutacin y el cruce.
Estos mtodos fueron creados por Jhon Holland y Rechemberg quienes imitaron la teora de La
Evolucin Biolgica que fue propuesta por Charles Darwin, por eso siempre se parte de una
poblacin inicial, de la cual se escoge a los mejores individuos para que se puedan reproducir y
finalmente mutarlos y tener nuevas generaciones quienes estarn mejor adaptados. Estos
algoritmos son muy beneficiosos ya que pueden ser usados en diferentes reas, como lo son la
ingeniera, qumica, medicina, comercio, debido a que su aplicacin en estos campos permite la
construccin y diseo de turbinas, chips, disear redes, optimizar procesos de produccin, predecir
datos, analizar datos mdicos, o la creacin de sistemas de toma de decisiones. Para su correcto
aprovechamiento se debe tener en cuenta los operadores con los que se debe trabajar los cuales
son seleccin, reproduccin, cruce y mutacin. 2.1.2. Operadores genticos Seleccin: Aqu se
escogen a los individuos que estn mejor adaptados, para ello por lo general se suele usar un
mtodo en el cual se escogen aleatoriamente los individuos y de los cuales se seleccin una para
que sea el Padre y despus para escoger a la Madre se realiza el mismo proceso, con esto se trata
de obtener a los mejores individuos para tener una mejor descendencia. Reproduccin: Es un
operador gentico, el cual se encarga de la reproduccin de los individuos, generando uno nuevo
pero manteniendo las mismas caractersticas que permitieron que los individuos seleccionados
para este proceso sean escogidos. Cruce: Es la frecuencia con la que se reproducen los individuos,
pero en esta fase se mezclan los genes de los padres para as obtener muchos hijos, los cuales
pueden ser

copias de sus padres o a su vez tendrn partes de ellos, todo con el fin de originar un nuevo
individuo que herede lo mejor de sus progenitores. Mutacin: Es la alteracin aleatoria de los genes
del nuevo individuo, lo que permite aumentar o reducir el espacio de bsqueda del algoritmo
gentico, esta alteracin puede ser de forma fija se establece un mismo porcentaje de mutacin
para todos los individuos o de forma variable en la cual se establece un valor de mutacin distinto
para cada generacin que se obtiene. 2.1.3. Terminologa Los AG utilizan un vocabulario que es
adoptado de la gentica. A los individuos que conforman la poblacin se les conoce como
cromosomas o genotipos. Los cromosomas estn formados por unidades ordenadas en forma
lineal llamadas genes (Figura 1). Cada gene tiene una posicin dentro de un cromosoma conocida
como loci y toma algn elemento de un conjunto de posibles valores llamados alelos. Ilustracin 1.
Cromosoma Fuente: An Introduction to Genetic Algorithms. Elaborado por: Sr. Jimmy Salinas 2.1.4.
Componentes de un Algoritmo Gentico clsico Un Algoritmo Gentico, independientemente de lo
sofisticado que pueda ser su diseo, deber contener los siguientes 5 componentes: Una
5
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

representacin, en trminos de "cromosomas", de las soluciones factibles de nuestro problema.


Una manera de crear la poblacin inicial de las soluciones factibles. Una funcin de evaluacin
que estime el valor de los individuos en trminos de su aptitud. Operadores genticos que
permitan alterar la composicin de los cromosomas para obtener mejores soluciones. Valores de
los diferentes parmetros que se utilizan para el AG (

0: http://www.uv.es/asepuma/XVI/707.pdf 100%

tamao de la poblacin, probabilidades asociadas con la aplicacin de los operadores genticos).


[1]

2.1.5.

La Poblacin inicial de un Algoritmo Gentico La poblacin inicial de un AG se puede producir de


diferentes maneras. Por una parte, hacer evolucionar una poblacin de individuos que ha sido
generada aleatoriamente, es una forma adecuada de probar el desempeo del AG. Esto es debido
a que la solucin final debe ser consecuencia del proceso evolutivo del AG y no de las
caractersticas de los mtodos utilizados para generar la poblacin inicial. Por otro lado, para
algunas aplicaciones, especialmente las de la industria, puede ser ms conveniente inicializar la
poblacin del AG utilizando mtodos ms directos. Una tcnica que generalmente se adopta para
ello es utilizar un algoritmo goloso. Este es un mtodo heurstico constructivo, el cual construye
paso a paso la solucin buscando el mximo beneficio en cada etapa. [2] 2.1.6. La aptitud en un
AG La calidad de un cromosoma dado est determinada por su aptitud. Esta es simplemente un
valor numrico que se calcula por una funcin de evaluacin especfica del problema, la cual es
diseada por el programador. Por ejemplo (figura 2 y 3), la aptitud de un individuo en un problema
donde la meta sea maximizar el nmero de los que contiene en su estructura, podra ser
simplemente la cantidad de los que estn presentes en ese cromosoma. [3] [4] Ilustracin 2. Aptitud
de un Agente Vendedor. Aptitud = 4 Fuente: Fabela, Ing. Marte Alejandro Castro [1] Elaborado por:
Sr. Jimmy Salinas Ilustracin 3. Aptitud de un Agente Vendedor. Aptitud = 2 Fuente: Fabela, Ing.
Marte Alejandro Castro [1] Elaborado por: Sr. Jimmy Salinas

2.1.7. La seleccin en un AG El proceso de seleccin consiste en muestrear, a partir de la


poblacin actual los elementos de la poblacin de progenitores. Los individuos de una poblacin de
progenitores heredan sus genes a la siguiente generacin, es deseable que sta est conformada
por elementos de alta aptitud. [5] Los mecanismos de muestreo son diversos, y se distinguen en
tres grupos fundamentales segn el tipo del proceso [6] 1. Muestreo directo: se toma un
subconjunto de individuos de la poblacin siguiendo un criterio fijo, del estilo de "los k mejores", "los
k peores", "por reglas de dedo", etc. 2. Muestreo aleatorio simple o equiprobable: Se asignan a
todos los elementos de la poblacin base las mismas probabilidades de formar parte de la muestra
y se constituye sta mediante ensayos de Bernoulli simples. 3. Muestreos estocsticos: Se asignan
probabilidades de seleccin o puntuaciones a los elementos de la poblacin base en funcin
(directa o indirecta) de su aptitud. La puntuacin p asociada al individuo x de la poblacin P =
{x,,...,x n ,,}, se calcula como la aptitud relativa de dicho individuo; esto es, siendo u, ,...,u, las
respectivas aptitudes se tiene que: Ilustracin 4. Muestreos estocsticos Fuente: Fabela, Ing. Marte
Alejandro Castro [1] Elaborado por: Sr. Jimmy Salinas 2.1.8. Los Operadores de Cruzamiento Los
operadores de cruzamiento actan sobre parejas de individuos (operadores binarios) y
normalmente originan otro par de individuos que heredan la combinacin de algunas caractersticas
de los progenitores. [7] [8] Existen varios tipos de cruzamiento, en el presente informe solo
mencionaremos tres alternativas. a. Cruzamiento de un Punto. El procedimiento del cruzamiento de
un punto es el siguiente: 1. Generar aleatoriamente un nmero (menor o igual que la longitud del
cromosoma) como la posicin de cruce.

2. Conservamos sin cambiar los bits antes del nmero e intercambiamos los bits despus del punto
de cruce entre los dos progenitores (Ilustracin 5). [1] Ilustracin 5. Cruzamiento de un Punto

6
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

Fuente: Fabela, Ing. Marte Alejandro Castro [1] Elaborado por: Sr. Jimmy Salinas b. Cruzamiento
de dos Puntos. Este tipo de cruzamiento es similar al de un punto, excepto que debemos
seleccionar dos posiciones y slo los bits intermedios sern intercambiados. Este tipo de cruce
preserva la primera y la ltima parte de un cromosoma y slo intercambia el segmento intermedio
(Ilustracin 6). [1] Ilustracin 6. Cruzamiento de dos Puntos Fuente: Fabela, Ing. Marte Alejandro
Castro [1] Elaborado por: Sr. Jimmy Salinas c. Cruzamiento Uniforme. El procedimiento del
cruzamiento uniforme (figura 6) es el siguiente: 1. Generar un nmero aleatorio (n), el cual indica
cuntas posiciones intercambiar.

2. Generar aleatoriamente n nmeros {P i , P 2 ,..., P n }, los cules indicarn qu posiciones


intercambiar. Para cada P intercambiar el P ensimo bit de un progenitor con el P ensimo bit del
otro, de esta manera se generan dos nuevos hijos. Ilustracin 7. Cruzamiento Uniforme Fuente:
Fabela, Ing. Marte Alejandro Castro [1] Elaborado por: Sr. Jimmy Salinas Caractersticas distintivas
de los AG Los AG son mtodos de bsqueda: 1. ciega, es decir, no disponen de ningn
conocimiento especfico del problema, de manera que la bsqueda se basa exclusivamente en los
valores de la funcin objetivo. 2. codificada, puesto que no trabajan directamente sobre el dominio
del problema, sino sobre representaciones de sus elementos. 3. mltiple, esto es, buscan
simultneamente entre un conjunto de candidatos. 4. estocstica, referida tanto a las fases de
seleccin como a las de transformacin. 2.1.9. Mecanismos de Muestreo Seleccin por torneos.
Cada elemento de la muestra se toma eligiendo el mejor de los individuos de un conjunto de z
elementos tomados al azar de la poblacin base, esto se repite k veces hasta completar la muestra.
El parmetro z suele ser un entero pequeo comparado con el tamao de la poblacin base,
normalmente 2 3. Ntese que para este caso, no es necesario hacer la asignacin de
puntuaciones. [3]

2.2. MARCO METODOLGICO 2.2.1. Aspectos Metodolgicos Se establece la metodologa RAD


(Rapid Application Development), determinando un proceso eficiente y puntual en la elaboracin del
programa, estableciendo las diferentes etapas de desarrollo, obteniendo una tolerancia y flexibilidad
a modificaciones en el proceso. sta metodologa requiere las siguientes etapas: Planificacin de
Requisitos, Diseo, Construccin, Implementacin. 2.2.1.1. Planificacin de Requisitos Se requiere
las siguientes precisiones para desarrollar la aplicacin. Tabla 1. Especificaciones Tcnicas de
Hardware y Software ESPECIFICACIONES HARDWARE Componente Requisito Equipo y
procesador Procesador core I5; 1 GHz recomendado; Memoria 2 GB de RAM mnimo; 2 GB mnimo
de espacio en disco para equipos basados en x86; 2 TB mximo para equipos x64.
ESPECIFICACIONES SOFTWARE Componente Requisito Sistema Operativo Windows 7 IDE
Programacin NetBeans Versin 8.2 Librera JGAP ( Paquete de Algoritmos Genticos de Java)
Fuente: Sr. Jimmy Salinas Elaborado por: Sr. Jimmy Salinas 2.2.1.2. DISEO A continuacin se
detalla el esquema de la distribucin de los locales, por los que el vendedor debe recorrer utilizando
la ruta ms ptima para cumplir su objetivo. El ambiente de trabajo en el que se desarrolla el
programa es NetBeans Versin 8.2. Se determina la creacin de 5 locales que debe visitar el
agente vendedor.

Ilustracin 8. Diseo de locales a visitar el agente vendedor Fuente: Sr. Jimmy Salinas Elaborado
por: Sr. Jimmy Salinas 2.2.1.3. CONSTRUCCIN 2.2.1.3.1. Instalacin del IDE de programacin.
Se instala NetBeans, para desarrollar mediante el lenguaje de java el programa de algoritmo
gentico del problema agente vendedor. 2.2.1.3.2. Instalacin de la Librera JGAP Se procede a
descargar la librera JGAP para luego cargarla en el programa, y poder hacer uso de sus mtodos
(Ver Anexo 1). 2.2.1.3.3. Disear las rutas de visitas para los clientes Se traza la ruta de visitas para
los clientes dentro de un jframe en el entorno de Netbeans (Ver Anexo 3). 2.2.1.3.4. Determinar la
estructura gentica Se establece la estructura gentica mediante la utilizacin de una frmula
matemtica para obtener las posibles combinaciones, luego comparar las distancias, escoger la
ruta ms ptima para que el agente vendedor recorra y cumpla su objetivo (Ver Anexo 4-6).

2.2.1.4. IMPLEMENTACIN Se desarrolla el programa de algoritmo gentico de agente vendedor


con xito, se procede a realizar las pruebas correspondientes sin ningn problema. En la aplicacin

7
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

se le determina la ubicacin de los locales a visitar, luego se presiona aceptar para obtener sus
distancias, las cuales se presentan en una tabla, seguidamente se presiona el botn generar el
mismo que se encarga de calcular la ruta ms ptima que el agente vendedor debe recorrer (Ver
Anexo 5). 2.3. RESULTADOS 2.3.1. Especificacin de Resultados. Para resolver el problema de
agente vendedor y encontrar la ruta ms ptima, se desarrolla una aplicacin que sigue el siguiente
proceso: 1. Se ejecuta el programa, luego aparece el entorno con el que se trabajara el diseo de la
ruta. (Ver anexo 2) 2. Se realiza el diseo de la ruta (poblacin inicial) que debe recorrer el agente
vendedor, la cual se puede escoger entre los distintos locales disponibles. (Ver Anexo 3.) 3. Usar el
operador de seleccin establecido para determinar la mejor distancia. Se realiza de la siguiente
manera [9]: En el Problema del Agente Vendedor, en el cual se debe obtener la mejor ruta
disponible para poder visitar los locales comerciales queda establecida por esta frmula de la
siguiente manera: Estableciendo los locales comerciales que debe visitar L= {Cliente 1 , Cliente 2
, Cliente 3 ,Lm} Y para cada par de locales Local 1 ,Local 2 , y donde la distancia entre ellas
ser d(Cliente 1 ,Cliente 2 ) La mejor solucin posible ser minimizar la distancia entre los
Clientes: u=1 (Li, i ) (Lu, Li) d L + 1 + d i=1

Esta frmula expresa el recorrido que hace el vendedor desde un local que empieza en Li (cliente
Inicial), luego visita las dems ciudades para regresar al punto de partida Li desde el ltimo cliente
en el que estuvo Lu (Cliente ltimo). En eI Anexo 4, se establece que: Cliente= {Cliente 1 ,
Cliente 2 , Cliente 3 , Cliente 4 , Cliente 5 } d= (Cliente1, Cliente2)= 7 d= (Cliente1, Cliente3)=
6 d= (Cliente1, Cliente4)= 1, d= (Cliente1, Cliente5)= 4 d= (Cliente2, Cliente3)= 1 d=
(Cliente2, Cliente4)= 8 d= (Cliente2, Cliente5)= 11 d= (Cliente3, Cliente4)= 7 d= (Cliente3,
Cliente5)= 10 d= (Cliente4, Cliente5)= 3 Cuyo ordenamiento Cliente1, Cliente2, Cliente3,
Cliente4, Cliente5 sera su posible solucin pero tiene una longitud de 23, pero el recorrido con una
menor distancia es Cliente1, Cliente5, Cliente4, Cliente3, Cliente 2 el cual tiene 22. 4. Utilizar los
operadores de reproduccin, cruce y mutacin al local actual para poder asignarlo a los dems. 5.
Retomar el paso 2 hasta que se hayan realizado todas las combinaciones para encontrar la ruta
ms ptima para llegar al punto de parada que se haya establecido. 6. Cuando termina de realizar
las combinaciones y cumples la condicin, se logra obtener y mostrar al mejor individuo en este
caso la distancia ms ptima entre los locales. (Ver Anexo 5) El caso del agente vendedor se
establece como un problema completo de tipo NP, debido a esto cuando se tiene un numero grande
de locales, no se podra verificar si los resultados obtenidos para determinar la ruta ms ptima
sean los mejores, y debido a esto los mtodos que se utilizan siempre son los que logran llegar a la
mejor solucin en un corto tiempo. [5] Los problemas de este tipo como el del Agente vendedor son
muy importantes en lo referente a la computacin y sus afines, ya que existe muchos problemas
que estn basados en este enunciado, por ejemplo en la elaboracin de circuitos integrados en la
cual se debe minimizar el tiempo en la que se deben grabas las lneas de conexin elctrica

entre los diferentes componentes que forman el integrado [10]. En el Campo de la medicina son
muy usados, un ejemplo de ellos es al momento de realizar los exmenes con los rayos X, el cual
mide la intensidad de la radiacin, por ejemplo estos exmenes deben lograr un determinado
nmero de posiciones, esto sera igual al nmero de locales comerciales, y el tiempo que se
demora en desplazarse de un punto a otro es la distancia entre los locales. [6] [2] Como podemos
apreciar Una vez que se cumplieron todas las condiciones establecidas, se obtiene como resultado
final (Ver anexo 8). El camino ms ptimo que debe tomar el vendedor, en el caso de este ejercicio
fue la Ruta L 1 , L 5 , L 4 , L 3 , L 2 , L 1, cuya distancia fue de 22.

3. CONCLUSIONES Durante todo este trabajo se ha podido hablar de los Algoritmos Genticos,
desde su origen, estructura y componentes, de una manera sencilla con el fin de lograr entender
cmo funciona el problema del Agente Vendedor y como se podra resolver. Los Algoritmos
genticos aportan muy buenos resultados sin necesidad de utilizar grandes recursos o sumas de
dinero, por lo que se deben seguir aprovechando para futuras investigaciones, siempre y cuando se
establezcan y se ajusten correctamente los parmetros que se vayan utilizar para cada problema.
Se debe elegir con mucho cuidado los parmetros que se van a utilizar como son la poblacin, el
mtodo de cruce, ya que de eso depender la tasa de natalidad. En conclusin el algoritmo
8
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

gentico que se utiliz para la resolucin del problema del agente vendedor, tratan de hacer que la
solucin se parezca lo ms acertada posible de lo que podra pasar en la vida real

4. REFERENCIAS BIBLIOGRFICAS [1] I. M. A. C. FABELA, ALGORITMOS GENETICOS CON


EDADES PARA RFSOLVER EL PROBLEMA DEL AGENTE VIAJERO, SAN NICOLAS DE LOS
GARZA. N, L, Nuevo Len, Mexico, Junio de 1999. [2] M. H. Noschang, The Traveling Salesman
Problem - a Review of Theory and Current Research, University of Cincinnati,, 1996. [3] D. R. B. R.
R. M. David Baesley., An Overview of Genetic Algorithms: Part 1, Fundamentals, University
Computing,, 1993. [4] E. Collingwood., Investigation of Multiple Chromosome Evolutionary Algorithm
for Bus Scheduling and Other Problems, University of Edinburgh: Knowledge Based Systems.
Depaertament of Artificial Intelligence, 1995. [5] B. L. M. A. D. E. Goldberg, Genetic algorithms,
selection schemes, and the varying Effects of noise, IUGA1 Report No, 1995. . [6] A. P. Serrada,
Una Introduccin a la Computacin Evolutiva, Anselmo@hp9000.cpd.uva.es, 1996. [7] H.-L. Fang,
Investigating Genetic Algorithms for Scheduling, University of Edinburgh: MSc Dissertation.
Depaertament of Artificial Intelligence, 1992. [8] D. R. B. R. R. M. David Baesley, An Overview of
GA: part 2, Research Topics, University Computing, 1993. [9] J. F. A. S. O. S. Francesc Comellas,
Matematica Discreta, Barcelona, Espaa: Edicion Universidad Politecnica de Catalunya, 2001. [10]
Z. Michalewicz, Genetic Agorithms + Data Structures = Evolution, Springer-Verlag, 1994..

5. ANEXOS Anexo 1. Se agrega la librera JGAP Anexo 2. Diseo de Rutas Locales . Fuente: IDE
de programacin Netbeans Elaborado por: Sr. Jimmy Salinas Fuente: IDE de programacin
Netbeans Elaborado por: Sr. Jimmy Salinas Anexo 3. Diseo de Rutas entre los Locales Anexo 4.
Distancia entre locales Fuente: IDE de programacin Netbeans Fuente: IDE de programacin
Netbeans Elaborado por: Sr. Jimmy Salinas Elaborado por: Sr. Jimmy Salinas Anexo 5 -Resultado
final: ptima Ruta que recorre el Anexo 6 - Cdigo para evaluar el camino agente Vendedor ms
optimo Fuente: IDE de programacin Netbeans Elaborado por: Sr. Jimmy Salinas Fuente: IDE de
programacin Netbeans Elaborado por: Sr. Jimmy Salinas

9
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

Hit and source - focused comparison, Side by Side:


Left side: As student entered the text in the submitted document.
Right side: As the text appears in the source.

Instances from: edwin paredes complexivo.docx

2: edwin paredes complexivo.docx 98% 2: edwin paredes complexivo.docx 98%

Declaro bajo juramento que el trabajo aqu descrito es de mi autora; Declaro bajo juramento que el trabajo aqu descrito es de mi autora;
que no ha sido previamente presentado para ningn grado o que no ha sido previamente presentado para ningn grado o
calificacin profesional. En consecuencia, asumo la responsabilidad calificacin profesional. En consecuencia, asumo la responsabilidad
de la originalidad del mismo y el cuidado al remitirme a las fuentes de la originalidad del mismo y el cuidado al remitirme a las fuentes
bibliogrficas respectivas para fundamentar el contenido expuesto, bibliogrficas respectivas para fundamentar el contenido expuesto,
asumiendo la responsabilidad frente a cualquier reclamo o demanda asumiendo la responsabilidad frente a cualquier reclamo o demanda
por parte de terceros de manera exclusiva. Cedo a la por parte de terceros de manera EXCLUSIVA.
UNIVERSIDAD TCNICA DE MACHALA de forma NO EXCLUSIVA
con referencia a la obra en formato digital los derechos Cedo a la UNIVERSIDAD TCNICA DE MACHALA de forma NO
EXCLUSIVA con referencia a la obra en formato digital los derechos
de: a. de:

Incorporar la mencionada obra al repositorio digital institucional para a. Incorporar la mencionada obra al repositorio digital institucional
su democratizacin a nivel mundial, respetando lo establecido por la para su democratizacin a nivel mundial, respetando lo establecido
Licencia Creative Commons Atribucion-NoComercial-CompartirIgual por la Licencia Creative Commons Atribucin-NoComercial-
4.0 Internacional (CC BY-NC-SA 4.0), la Ley de Propiedad CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0), la Ley de
Intelectual del Estado Ecuatoriano y el Reglamento Institucional. Propiedad Intelectual del Estado Ecuatoriano y el Reglamento
Institucional.
b.
b. Adecuarla a cualquier formato o tecnologa de uso en internet, as
Adecuarla a cualquier formato o tecnologa de uso en internet, as como incorporar cualquier sistema de seguridad para documentos
como incorporar cualquier sistema de seguridad para documentos electrnicos, correspondindome como Autor(a) la responsabilidad
electrnicos, correspondindome como Autor(a) la responsabilidad

10
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

de velar por dichas adaptaciones con finalidad de que no de velar por dichas adaptaciones con la finalidad de que no se
desnaturalice el contenido o sentido de la misma. Machala, 13 desnaturalice el contenido o sentido de la misma.

Machala, 25

11
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

Instances from: Caratula - SesionDerechos.pdf

0: Caratula - SesionDerechos.pdf 78% 0: Caratula - SesionDerechos.pdf 78%

INGENIERO DE SISTEMAS MACHALA 2017 INGENIERO DE SISTEMAS UNIVERSIDAD TCNICA DE


MACHALA UNIDAD ACADMICA DE INGENIERA CIVIL
PORTADA UNIVERSIDAD TCNICA DE MACHALA UNIDAD CARRERA DE INGENIERA DE SISTEMAS
ACADMICA DE INGENIERA CIVIL CARRERA DE INGENIERA
DE SISTEMAS

1: Caratula - SesionDerechos.pdf 93% 1: Caratula - SesionDerechos.pdf 93%

con C.I. 0705341469, estudiante de la carrera de INGENIERA DE con C.I. 0704257518, estudiante de la carrera de INGENIERA DE
SISTEMAS de la UNIDAD ACADMICA DE INGENIERA CIVIL de SISTEMAS de la UNIDAD ACADMICA DE INGENIERA CIVIL de
la UNIVERSIDAD TCNICA DE MACHALA, en calidad de Autora la UNIVERSIDAD TCNICA DE MACHALA, en calidad de Autor del
del siguiente trabajo de titulacin siguiente trabajo de titulacin

12
URKUND SALINAS DELGADO JIMMY FABRICIO_PT-010517.pdf (D29684759)

Instances from: http://www.uv.es/asepuma/XVI/707.pdf

3: http://www.uv.es/asepuma/XVI/707.pdf 100% 3: http://www.uv.es/asepuma/XVI/707.pdf 100%

tamao de la poblacin, probabilidades asociadas con la aplicacin tamao de la poblacin, probabilidades asociadas con la aplicacin
de los operadores genticos). [1] de los operadores genticos).

2.1.5.

13

Potrebbero piacerti anche