SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA."

Transcripción

1 UNIVERSIDAD 1970 UNIVERSIDAD METROPOLITANA Facultad de Ingeniería Escuela de Ingeniería de Sistemas METROPOLITANA SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA. Castro Vielma, Juan Carlos Samaniego Revilla, Christian Tutor: Ing. Victor Theoktisto Caracas, Marzo de 2001

2 UNIVERSIDAD METROPOLITANA Facultad de Ingeniería Escuela de Ingeniería de Sistemas SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA. Castro Vielma, Juan Carlos Samaniego Revilla, Christian Tutor: Ing. Victor Theoktisto Caracas, Marzo de 2001

3 Derecho de Autor Cedemos a la Universidad Metropolitana el derecho de reproducir y difundir el presente trabajo, con las únicas limitaciones que establece la legislación vigente en materia de derecho de autor. En la ciudad de Caracas, a los... días del mes de... de 2001 Castro Vielma, Juan Carlos Samaniego Revilla, Christian

4 APROBACIÓN Considero que el Trabajo de Grado titulado SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA. elaborado por los ciudadanos CASTRO VIELMA, JUAN CARLOS SAMANIEGO REVILLA, CHRISTIAN para optar por el título de Ingeniero de Sistemas Reúne los requisitos exigidos por la Escuela de Ingeniería de Sistemas de la Universidad Metropolitana, y tiene méritos suficientes para ser sometido a la presentación y evaluación exhaustiva por parte del jurado examinador que se designe. En la ciudad de Caracas, a los... días del mes... de 2001 Ing. Victor Theoktisto

5 Acta de Veredicto Nosotros, los abajo firmantes, constituidos como jurado examinador y reunidos en Caracas, el día, con el propósito de evaluar el Trabajo de Grado titulado SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA. presentado por los ciudadanos CASTRO VIELMA, JUAN CARLOS SAMANIEGO REVILLA, CHRISTIAN para optar por el título de Ingeniero de Sistemas Emitimos el siguiente veredicto: Reprobado Aprobado Notable Sobresaliente Sobresaliente con mención honorífica Observaciones: Prof. Bonell Martinez Prof. Yudith Cardinale Ing. Victor Theoktisto

6 AGRADECIMIENTOS El presente trabajo no podría haberse llevado a cabo sin el apoyo moral de muchas personas, queremos agradecer a todos nuestros amigos, familiares y personas cercanas, que de una manera han estado en contacto con este trabajo. Principalmente a nuestros padres Graciela, Fernando, Sonia y Sixto por darnos la buena formación y la oportunidad de llegar a realizar esta meta en común. Estamos enormemente agradecidos al profesor Victor Theoktisto, quien desde un principio nos ha guiado a lo largo de la tesis, dándonos ideas y entusiasmándonos cada vez más en el proyecto. Por último, queremos agradecer la presencia de Dios, que nos ha acompañado en todo momento a nosotros y a todas las personas antes mencionadas y permitido completar este objetivo.

7 TABLA DE CONTENIDO LISTA DE TABLAS Y FIGURAS...4 RESUMEN...5 INTRODUCCIÓN...6 CAPITULO I MARCO TEORICO ALGORITMOS GENÉTICOS Definición Clasificación Ventajas y Desventajas Componentes Cromosoma Población Función Funciones de Penalidad Operadores Ordenador Ranking Selección Cruce Mutación Muerte Migración Algoritmos de Números Aleatorios Poblaciones en Paralelo Modelo de Islas Algoritmo Comparación con otras técnicas de búsqueda Por qué Funcionan? Teorema de Esquemas Hipótesis de la Construcción en Bloques APLICACIONES DISTRIBUIDAS Objetos Distribuidos Cliente/Servidor CORBA Interface Definition Language (IDL) Object Management Architecture (OMA) Object Request Broker (ORB)

8 CORBAServices (Servicios de CORBA) CORBAFacilities (Facilidades de CORBA) TECNOLOGÍAS UTILIZADAS Java Servlets Java Server Pages (JSP) Extensible Markup Language (XML)...59 CAPITULO II MARCO DE DESARROLLO MARCO METODOLOGICO Unified Modelling Language (UML) Diagrama de Clases patrones HERRAMIENTAS Jdbc JacORB Resin Postgresql Apache Jdk1.3 documents CONSIDERACIONES Ejecución de objetos distribuidos en red Algoritmos Genéticos en Paralelo DISEÑO DESARROLLO Arquitectura de Servicio de Ejecución de Objetos CORBA en la Red Servidor de Instancias de Objetos CORBA Servidor de Objetos Distribuidos Arquitectura de Servicios de Algoritmos Genéticos en Paralelo Cromosoma Población Variable Función Objetivo Operadores Servicio de Algoritmos Genéticos Población Total Registrador de Eventos Almacenamiento de Modelos Administración de métodos de operadores...95 CAPITULO III RESULTADOS

9 3.1 MODELOS DE PRUEBAS Modelo Modelo Modelo PROTOTIPO CONCLUSIONES RECOMENDACIONES BIBLIOGRAFÍA APÉNDICE A APÉNDICE B

10 LISTA DE TABLAS Y FIGURAS FIGURA 1. TÉCNICAS DE BÚSQUEDA...12 TABLA 1. CODIFICACIÓN GRAY...16 TABLA 2. SELECCIÓN POR RULETA...21 FIGURA 2. RULETA DE SELECCIÓN...22 FIGURA 3. CRUCE UNIFORME...23 FIGURA 4. CRUCE PARCIAL...23 FIGURA 5. MUTACIÓN...24 FIGURA 6. MODELO DE ISLAS...27 FIGURA 7. PARALELISMOS IMPLÍCITO...32 FIGURA 8. MODELO CLIENTE / SERVIDOR EN TRES PARTES...35 FIGURA 9. ESTRUCTURA DEL IIOP [LNC]...39 FIGURA 10. ESTRUCTURA DEL IDL FIGURA 11. ESTRUCTURA DE LA OMA...41 FIGURA 12. ESTRUCTURA DE ORB...42 FIGURA 13. POLÍTICAS DEL POA...45 FIGURA 14. SUBCONJUNTOS DE LENGUAJES DE DESARROLLO WEB FIGURA 15. REPRESENTACIÓN DE CLASE, ATRIBUTOS Y OPERACIONES [UML1998]...65 FIGURA 16. DIAGRAMA DE CLASES DE LA ARQUITECTURA DE EJECUCIÓN DE INSTANCIAS EN RED FIGURA 17. DIAGRAMA ENTIDAD RELACIÓN DEL MODELO DE LA BASE DE DATOS...74 FIGURA 18. DIAGRAMA DE CLASES DE LA ARQUITECTURA SSAGOD FIGURA 19. FASES DE DESARROLLO...77 FIGURA 20. ESCENARIO DE LA ARQUITECTURA DE EJECUCIÓN DE OBJETOS CORBA EN LA RED...80 FIGURA 21. PROCESO DE LOS OPERADORES...84 FIGURA 22. ESQUEMA GENERAL DE UN SERVICIO DE ALGORITMO GENÉTICO FIGURA 23. ESQUEMA DE EVOLUCIÓN EN UN SERVICIO DE ALGORITMO GENÉTICO FIGURA 24. SECUENCIA DE OPERADORES PROPUESTA PARA LA EVOLUCIÓN FIGURA 25. DIAGRAMA DE SECUENCIA DE EVOLUCIÓN GLOBAL FIGURA 27. DIAGRAMA DE SECUENCIA DE MIGRACIÓN DE CROMOSOMAS FIGURA 28. IMPLEMENTACIÓN DEL MODELO 1 DE PRUEBA FIGURA 29. IMPLEMENTACIÓN DEL MODELO 2 DE PRUEBA FIGURA 30. IMPLEMENTACIÓN DEL MODELO 3 DE PRUEBA FIGURA 31. APLICACIÓN CLIENTE DE SSAGOD FIGURA 32. VISTA COMPLETA DE LA HERRAMIENTA CLIENTE FIGURA 33. EJEMPLO DE LOS RESULTADOS DE UN MODELO FIGURA 34. CONTROL DE PROPIEDADES DE LAS POBLACIONES FIGURA 35. CONTROL DE INGRESO DE OPERADORES

11 RESUMEN SERVIDOR DE SOLUCIONES DE ALGORITMOS GENÉTICOS PARA OPTIMIZACIÓN DISTRIBUIDA. Autores: Juan Carlos Castro Vielma Caracas, marzo de 2001 Christian Samaniego Revilla Tutor: Ing. Victor Theoktisto El acelerado desarrollo tecnológico en las redes de comput adoras conjuntamente con nuevas plataformas de desarrollo, ha sido uno de los principales impulsadores para el desarrollo de aplicaciones distribuidas. Los algoritmos genéticos en paralelo han revolucionado el mundo de la optimización; por lo general hacen gran uso de recursos computacionales, por eso se integró esta teoría en una aplicación distribuida que pueda enriquecerse con el uso de máquinas de una red conocida. La aplicación desarrollada tiene como finalidad brindar un servicio público en la red para resolver determinados problemas de optimización a través de métodos de algoritmos genéticos en un ambiente distribuido, el cual fue desarrollado bajo la normativa CORBA. Así mismo, de acuerdo a los conceptos de algoritmos genéticos se pueden configurar y variar todos sus componentes para resolver problemas específicos. Para lograr el producto se estudio y utilizó muchas tecnologías finalizando en la integración de las mismas con la teoría de Algoritmos Genéticos en Paralelo. Como resultado de la integración de las tecnologías se creó una arquitectura que distribuye la ejecución de objetos CORBA de la aplicación distribuida en diferentes partes de una red conocida. 5

12 INTRODUCCIÓN En los últimos años se ha incrementado el uso de algoritmos genéticos tanto en las investigaciones científicas como en problemas en la vida real, la razón fundamental se debe al elevado recurso computacional que brinda la tecnología de hoy en día. La computación distribuida impulsó a retomar los antiguos paradigmas de MainFrame en el desarrollo de nuevos productos de aplicaciones distribuidas, pero su uso en la actualidad amerita un adecuado estudio para integrar las tecnologías del mercado. La integración de la teoría de algoritmos genéticos con el paradigma de aplicaciones distribuidas intenta crear un producto que preste un servicio público para solucionar problemas de optimización desde una red a donde se tenga acceso. La elección de las adecuadas tecnologías es un papel importante al tratar de realizar aplicaciones distribuidas porque de eso dependerá su alcance y limitaciones. Por lo general éstas deben brindar un modelo Cliente / servidor, así mismo la portabilidad a determinadas plataformas de sistemas operativos. La integración Java / CORBA ha sido una de los candidatos más resaltantes porque logran el producto final. El proyecto está dividido en tres capítulos. El primer capítulo define un marco de referencia o marco teórico, el cual suministra los conceptos utilizados para el desarrollo del proyecto. El siguiente capítulo describe conceptualmente el producto desarrollado, explicando su funcionamiento y cómo se implementaron. Para finalizar se tiene el capítulo de resultados en el cual se presentan algunos modelos de optimización para la prueba de la herramienta. Adicionalmente se tienen las conclusiones y recomendaciones en las cuales se resalta las características principales, debilidades y mejoras que se pueden hacer a esta herramienta. 6

13 CAPITULO I MARCO TEORICO En este capítulo se plantean los fundamentos teóricos de los elementos que intervienen en el funcionamiento del servidor de soluciones de algoritmos genéticos. En primer lugar se explica la estructura y funcionamiento de los algoritmos genéticos. A continuación se describen las aplicaciones y objetos distribuidos y el modelo Cliente / servidor. Seguidamente se explica qué es CORBA, quienes son sus creadores y los elementos que componen su estructura. Por último, se muestran las tecnologías usadas en el desarrollo de este proyecto. 7

14 8

15 CAPITULO I Marco Teórico 1.1 ALGORITMOS GENÉTICOS Comprender los complejos mecanismos por los cuales los seres vivos hemos alcanzado nuestra forma actual, ha sido una de las tareas más ambiciosas del hombre y sin lugar a duda el trabajo realizado hace años por el naturalista inglés Charles Darwin constituye una de las contribuciones más importantes. Darwin presentó su controversial "Teoría de la Evolución Natural" ante la Sociedad Linnean de Londres, revolucionando las ciencias biológicas y cambiando incluso la filosofía del pensamiento de los seres humanos. Actualmente el paradigma Neo-Darwinista de la evolución sostiene que el mecanismo evolutivo de las especies e individuos está sustentado en cuatro procesos principales: reproducción, mutación, competencia y selección, todos frecuentemente resumidos en la frase "sobrevivencia del más apto y fuerte [Darwin1958]. Computación evolutiva fue el término que se le denominó a la aplicación de la teoría de evolución natural en equipos computacionales y con esto se plantearon los algoritmos evolutivos. No tardó mucho tiempo para compararla y asociarla a un proceso de optimización, por lo que las investigaciones fueron cada vez más aceleradas justificando su aplicación en muchos problemas. La teoría en la cual se los Algoritmos Genéticos fue propuesta por John Holland en su hito celebre: la Adaptación en Sistemas Naturales y Artificiales [Holland1975]. Junto con la teoría de AG desarrolló el concepto de Sistema Clasificador como una técnica de aprendizaje de máquina. El AG es particularmente conveniente para la solución de problemas complejos de optimización y por consiguiente es utilizado para aplicaciones que requieren problemas de adaptación. Desde su 9

16 CAPITULO I Marco Teórico creación hasta el momento la teoría de Algoritmos genéticos ha evolucionado considerablemente. Su utilización está justificada en diferentes problemas del mundo real, aunque su principal trabajo se centra en los problemas de optimización. En el presente trabajo se presentan soluciones para cierta gama de problemas de optimización lineal y no lineal haciendo uso de estos mecanismos, en tal sentido la documentación evaluada para diseñar el algoritmo genético se basa en los elementos necesarios como son la población, los operadores, la función objetivo y la codificación. Los AG s utilizan métodos aleatorios y heurísticos, sujetos a unas variables que pueden favorecer o empeorar la convergencia del algoritmo a la solución. Para el uso adecuado de estas variables se describen las mejores heurísticas que han sido utilizadas y evaluadas en investigaciones pasadas DEFINICIÓN Es un algoritmo matemático altamente paralelo que transforma un conjunto de objetos matemáticos individuales con respecto al tiempo, usando operaciones modeladas de acuerdo al principio de reproducción y supervivencia del más apto, tras haberse presentado de forma natural una serie de operaciones genéticas de las que destaca la recombinación sexual. Cada uno de estos objetos matemáticos suele ser una cadena de caracteres (letras o números) de longitud fija que se ajusta al modelo de las cadenas de cromosomas, y se les asocia con una cierta función matemática que refleja su aptitud [Koza1992]. 10

17 CAPITULO I Marco Teórico CLASIFICACIÓN Dentro del conjunto de técnicas de búsqueda los AG s son unas de las clases más importantes. Las técnicas de búsqueda en general se ilustran en la figura 1. y se agrupan en tres categorías: basados en cálculos, enumerativos y guiados aleatoriamente [Goldberg1989]. Las técnicas basadas en cálculos usan un conjunto suficiente y necesario de condiciones para satisface r la solución óptima del problema. Estas se dividen en métodos indirectos y directos. Los indirectos consiguen extremos locales resolviendo un conjunto no lineal de ecuaciones por medio del gradiente de la función objetivo igualándola a cero. Los métodos indirectos como Newton y Fibonacci buscan extremos manteniéndose alrededor de un espacio y guiándose por la dirección del gradiente. Las enumerativas buscan todos los puntos relativos al espacio de dominio de la función objetivo, un punto en cada tiempo. Son muy simples de implementar pero quizás requieran costo computacional. Los métodos guiados aleatoriamente se basan en parte en las enumerativas, pero adicionalmente usan información para guiar la búsqueda. Están clasificados en métodos de simulación sucesivas y algoritmos evolutivos. Los algoritmos evolutivos por otro lado, están basados en los principios de selección natural. De esta manera la búsqueda se envuelve a través de varias generaciones promoviendo la figura de soluciones potenciales por medio de operadores inspirados en los significados biológicos naturales. La técnica de algoritmos evolutivos se divide en estrategias de evolución y algoritmos genéticos. Las estrategias de evolución presentan cualidades para la adaptación de procesos de evolución artificial. Los Algoritmos genéticos proponen muchas variaciones de 11

18 CAPITULO I Marco Teórico los algoritmos básicos, operan como modelos computacionales que emulan la evolución biológica. En términos de computación, el AG traza un problema por un conjunto de representación de cromosomas donde cada uno posee una solución potencial, variando y alterando el conjunto en diferentes etapas. Las operaciones generales que realiza el AG son creación de una población cromosomas, para asignarle su solución potencial, seleccionar los mejores cromosomas y realizar manipulaciones genéticas para generar una nueva población. Figura 1. Técnicas de Búsqueda VENTAJAS Y DESVENTAJ AS No necesitan conocimientos específicos sobre el problema que intentan resolver para guiar la búsqueda. Operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las técnicas tradicionales. Cuando se usan para problemas de optimización minimizar y maximizar una función objetivo resulta menos afectada por los mínimos y máximos locales. Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivas en paralelo. Usan operadores probabilísticos en vez de los típicos operadores determinísticos de las otras técnicas. 12

19 CAPITULO I Marco Teórico Pueden tardar mucho en converger o no converger en absoluto, dependiendo en cierta medida de los parámetros que se utilicen como tamaño de la población, número de generaciones, probabilidades asignadas y algoritmos de número aleatorios. Pueden converger prematuramente COMPONENTES El AG puede verse como una caja negra que internamente contiene una serie de elementos y procesos, en general, se necesitan cinco componentes básicos para implementar un AG que resuelva un problema cualquiera: Una representación de soluciones potenciales a los problema. Una forma de crear una población inicial de soluciones. Una función de evaluación que juega el papel de ambiente, calificando las soluciones producidas en términos de su aptitud. Operadores genéticos que alteran la composición de los descendientes. Valores para los diversos parámetros utilizados por el AG, tamaño de la población, probabilidad de cruzar, mutar, migrar si se utiliza el esquema de múltiples poblaciones y número de generaciones CROMOSOMA La representación de los cromosomas juega un papel muy importante, puesto que delimitará el dominio del problema. La codificación define como va estar formado el cromosoma, de qué alfabeto estará compuesto cada gen, qué tipo de representaciones numéricas simbolizará enteros o reales. Es posible representar todo tipo de sistema de numeración entera, pero no siempre toda representación será la correcta para solucionar 13

20 CAPITULO I Marco Teórico un problema en específico. La codificación se realiza tomando en cuenta: Alfabeto o alelo, es la especificación de símbolos que puede representar el gen en un cromosoma. Si se quiere representar una numeración decimal entonces los alelos podrán ser un elemento del conjunto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9. En general estaría compuesta por un número n donde el alfabeto sería el intervalo de 0 hasta n-1. El tamaño de la cadena, representa combinaciones de alelos. La fórmula que aproximadamente determina el tamaño de la cadena del cromosoma es la parte entera de LogB (LimiteSuperior)+1; donde B es la base de representación numérica y LimiteSuperior es el tamaño más grande que se puede aceptar. La codificación tradicional utilizada para representar un conjunto de soluciones es el esquema binario en el cual un cromosoma es una cadena de la forma (b 1, b 2,..., b m ) donde el conjunto de alelos sean 0 o 1. Hay varias razones por las cuales suele usarse la codificación binaria en los AGs, todas ellas fueron justificadas en el trabajo pionero de Holland [Holland1975]. Él comparó dos representaciones diferentes que tuvieran la misma capacidad de acarreo de información, una tenía pocos alelos y cadena largas (cadenas binarias de 80 bits) y la otra tenía un número elevado de alelos (cadenas decimales de longitud 24) donde Sus argumentos fueron los siguientes: Utilizar pocos alelos y una mayor longitud da pie a un grado más elevado de paralelismo implícito porque permite más esquemas. El uso de cadenas cortas y más cantidad de alelos reduce el número de esquemas. 14

21 CAPITULO I Marco Teórico Estas premisas se deben a que el cálculo de los esquemas se realiza (c+1) l, donde c es la cardinalidad del alfabeto y l es la longitud de la cadena. Las siguientes codificaciones investigadas utilizan un conjunto de alelos binarios. De esta manera el cromosoma se representa de la siguiente manera: b n b n-1... b 2 b 1 b 0 Donde B i {0,1 Para el caso particular de la representación de los números enteros se tomaría el primer dígito binario de la izquierda para el signo. Luego el número sería: = n 1 ( ) ( ) N bn 1 b 1 2 b 2 2 b 3 2 b 4 2 bn 1 Un problema que fue notado desde los inicios de la investigación de AG fue el uso de la representación binaria no mapeo adecuadamente el espacio de búsqueda. Por ejemplo, si codificamos 5 y 6 en binario los cuales están adyacentes en el espacio de búsqueda sus equivalentes en binario son 101 y el 110, los cuales difieren en dos bits. A este fenómeno se le denomina El Risco Hamming [Caruana1988], y ha conducido a los investigadores a proponer una representación alternativa en la que la propiedad de adyacencia existente en el espacio de búsqueda pueda preservarse en la representación. La codificación de Gray [Heitkoetter1994] es parte de una familia de representaciones que caen en esta categoría [Whitley1998]. Es una codificación isomórfica a la binaria donde cada valor difiere en un solo bit con respecto de sus vecinos izquierdo y derecho. 2 15

22 CAPITULO I Marco Teórico Todo número binario se puede convertir en una codificación Gray operando XOR a sus bits consecutivos de derecha a izquierda. Por ejemplo, dado el número 0101 en binario ( indica XOR) 0 1=1, 0 1=1, 1 0=1 y el último bit de la izquierda permanece igual. Produciendo 0111, el cual es un código de Gray equivalente. La tabla 1 describe el proceso de transformación de los primeros 7 números empezando de 1. Número Binario Gray Tabla 1. Codificación Gray Para la codificación de números reales, se utiliza dos esquemas generales, el primero es una extensión de la codificación de enteros y la segunda utilizando el estándar de la IEEE para precisión simple. La extensión de la codificación de números enteros define: i i 1 i 2 ( i 2) ( i 1) i ( ) ( ) N 1b n = bn 1 2 bn 2 2 bn 3 2 b3 2 b2 2 b1 2, con i 0 El estándar IEEE describe el siguiente esquema: Signo Exponente Mantisa bit 8 bits 23 bits ( 1+ Mantisa) 2 Signo Exponente N = 1, donde Exponente tiene una representación de complemento a dos y Mantisa representa un número menor en el rango de 0 a 1 [Patterson1995]. 16

23 CAPITULO I Marco Teórico Ambas representaciones tienen sus ventajas y desventajas, en el caso de la primera no realiza grandes saltos, pero sí tiene mayor probabilidad de navegar por localidades cercanas a un entorno. La otra realiza saltos extremadamente grandes evitando llegar a soluciones cercanas POBLACIÓN Define un conjunto de cromosomas que surtirán modificaciones esenciales en cada etapa o iteración del algoritmo. Esta población en principio es generada arbitrariamente al iniciar la corrida del AG. Habitualmente la población inicial se escoge generando cromosomas al azar. Para lograr ésto se debe utilizar un generador aleatorio de cromosomas. Es importante resaltar que se debe mantener al inicio la mayor diversidad de cromosoma en cuanto a su valor significativo, ya que puede acelerar la convergencia. Una cuestión que uno puede plantearse es el tamaño idóneo de la población. Parece intuitivo que las poblaciones pequeñas corren el riesgo de no cubrir adecuadamente el espacio de búsqueda, mientras las poblaciones de gran tamaño pueden acarrear problemas relacionados con el excesivo costo computacional. El promedio utilizado, por lo general, para problemas sencillos es entre 20 y 30, y para el caso de los más difíciles se utiliza entre 150 a 200 individuos [Alander1992] FUNCIÓN Está dada por la representación del modelo matemático donde se realizará la búsqueda de soluciones. Su trabajo es esencial ya que asigna la solución o aptitud que describe un cromosoma. 17

24 CAPITULO I Marco Teórico Puesto que los AG s trabajan con una sola función objetivo sin restricciones se utilizan métodos que reduzcan un modelo con restricciones a una sola función. Los métodos usualmente utilizados se llaman funciones de penalidad FUNCIONES S DE PENALIDAD Son muy utilizadas para resolver modelos de optimización con restricciones, su objetivo es introducir las restricciones en la función objetivo penalizándolas con unos valores enormes, de tal forma que afecten en sentido contrario a la soluci ón y en el límite de las restricciones activas su valor se reduce a cero [Goldberg1989]. Proceso de transformación de restricciones: Dado el siguiente modelo f con n restricciones G i f (x) G 1( x) 0 G 2( x) 0 : ( x) 0 Gn Se unen todas las restricciones a una función de penalización P n = r h k = 1 k ( G k ( x)) Donde r es una constante muy grande. Si se está maximizando hk 0 y si es minimización 0. Luego el modelo quedaría reducido a f ( x) + P. hk Una posible función, se tiene hk 2 ( y) = y si se está minimizando y hk 2 ( y) = y si se está maximizando. 18

25 CAPITULO I Marco Teórico OPERADORES Son procesos que modifican el entorno y atributos de la población en una evolución dada, siguiendo los patrones de evolución biológica natural. El conjunto de operadores que afectan una evolución se clasifican de dos formas: como filtros y otros como mapeo. Los filtros definen cambios en la población, éstos pueden ser selección, cruce, muerte y migración si se maneja un esquema de múltiples poblaciones. Los de mapeo varían directamente atributos del cromosoma como pueden ser la aptitud de la función, la codificación por medio de la mutación, aptitudes de ranking y ordenamientos por aptitud en la población. Usualmente sirven de soporte a los operadores de filtro ORDENADOR Clasifica los cromosomas de una población de acuerdo a la aptitud asignada por la función objetivo. Actúan por lo general antes de fijar la probabilidad de selección de cada cromosoma. Existen situaciones generales donde la elección del algoritmo de ordenamiento puede empeorar o acelerar el tiempo de ejecución. Usualmente cuando se inicia la corrida, la población generada aleatoriamente está casi totalmente desordenada y el método de ordenamiento QuickSort trabaja mucho más rápido en este tipo de escenario, donde su orden de crecimiento está dado por ο ( nlog( n)) y en otro escenario es ο ( n 2 ) [AHO1988]. Para el caso donde se encuentre un desorden ligero es recomendable utilizar el algoritmo HeapSort cuyo orden de crecimiento en el peor de los caos es ο ( nlog( n)). En contraste con QuickSort, no tiene el mismo desempeño en ambientes de sumo desorden [AHO1988]. 19

26 CAPITULO I Marco Teórico RANKING Asigna una aptitud probabilística a cada cromosoma proporcional al orden de mejor aptitud. La probabilidad de ranking de un cromosoma representa un indicador de peso que determina un porcentaje de poder ser seleccionado en el momento de la reproducción. La manera usual de asignar esta probabilidad es utilizando la aptitud de la función objetivo de la siguiente forma, dado L el número total de cromosomas en la población y 1 i L, en donde p i es la probabilidad de ranking del cromosoma i, se tiene: p i = L f j= 1 i f j, donde p = 1. L i= 1 i Una característica adicional que debe brindar la función para utilizar este método es que el rango sea mayor que 0. Otra forma general es utilizando una función de rango lineal que asigne probabilidades fijas según el ordenamiento de la población por aptitud[theoktisto1995]. Se asigna a cada rango j la probabilidad proporcional de selección de acuerdo a la siguiente función: ( L j + 1) ( L + 1) 2 L p i =, donde p i = 1 L i= SELECCIÓN Determina cuáles de los individuos de una población formarán parte de la siguiente generación de cromosomas. Los métodos más utilizados son la ruleta de la fortuna y torneo. El primer método es muy simple y consiste en crear una ruleta en la que cada cromosoma tiene asignada una fracción proporcional a su aptitud, seguidamente la rueda se gira para determinar los 20

27 CAPITULO I Marco Teórico seleccionados (ver figura 2 y tabla 2). Los individuos que tengan mayor aptitud tendrán mayor probabilidad de ser seleccionados prevaleciendo como siempre la supervivencia de los más aptos [Goldberg1989]. El método de torneo procede barajando la población y seguidamente se hace competir a los cromosomas que la integran en grupos de tamaño definido en un torneo del que resultarán ganadores aquellos que tengan mayor aptitud [Coello1995]. Normalmente el tamaño del grupo en el que compiten es de dos o en parejas y el número de veces que se debe barajar debe ser dos veces. Para el caso general de grupos de n competidores se debe barajar n veces la población. El proceso general consistiría en generar un número aleatorio entre 0 y 1, luego ubicar el cromosoma con mayor probabilidad de selección que sea menor o igual al número aleatorio. Este proceso se repite tantas veces como la cantidad de cromosomas que se quiere elegir. N Cromosoma Aptitud % de Selección Total Tabla 2. Selección por Ruleta 21

28 CAPITULO I Marco Teórico CRUCE Figura 2. Ruleta de selección Es aplicado luego de la selección y recibe dos cromosomas padres para cruzar y producir nuevos hijos. Los dos operadores de cruce generales son el uniforme y el parcial. El primero es utilizado por el algoritmo genético simple o canónico, el segundo se obtiene por intercambio parcial de ciertos genes. El cruce uniforme se implementa mediante operaciones de bit sobre las cadenas de cromosomas y una máscara del cruce (W) generada para k puntos aleatorios de cruce. Esta máscara es particular al tipo de cruce realizado, puesto que si es el cruce simple k=1 [Goldberg1989] y si es uniforme [Syswerda1989] k varía en función de 1 al número de alelos menos uno que contiene un cromosoma. Es posible que el operador genere más de dos hijos en función de los padres, esto se realiza variando la máscara de cruce y repitiendo el proceso (ver figura 3). Para ejemplificar mejor se tiene lo siguiente: sea C1 y C2 cromosomas padres obtenidos por un operador de selección, W la 22

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

Algoritmos Genéticos. Introduccion a la Robótica Inteligente Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con

Más detalles

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Unidad 2. Bases de la Auditoria Administrativa de la Empresa

Unidad 2. Bases de la Auditoria Administrativa de la Empresa Unidad 2 Bases de la Auditoria Administrativa de la Empresa Bases de la Auditoria Administrativa de la Empresa En este capítulo vamos a dejar sentado las bases fundamentales de!a Auditoría Administrativa,

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

1.2 SISTEMAS DE PRODUCCIÓN

1.2 SISTEMAS DE PRODUCCIÓN 19 1.2 SISTEMAS DE PRODUCCIÓN Para operar en forma efectiva, una empresa manufacturera debe tener sistemas que le permitan lograr eficientemente el tipo de producción que realiza. Los sistemas de producción

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA II. Objetos distribuidos y CORBA 1. Objetos Distribuidos 2. CORBA 1. Características 2. Modelo de trabajo 3. ORB 4. Arquitectura

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008 Última actualización: 01 de Setiembre de 2008 Copyright Artech Consultores S. R. L. 1988-2008. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento

Más detalles

Sistemas de Gestión de Calidad. Control documental

Sistemas de Gestión de Calidad. Control documental 4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

1.1 EL ESTUDIO TÉCNICO

1.1 EL ESTUDIO TÉCNICO 1.1 EL ESTUDIO TÉCNICO 1.1.1 Definición Un estudio técnico permite proponer y analizar las diferentes opciones tecnológicas para producir los bienes o servicios que se requieren, lo que además admite verificar

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J. Generación de Números Aleatorios Números elegidos al azar son útiles en diversas aplicaciones, entre las cuáles podemos mencionar: Simulación o métodos de Monte Carlo: se simula un proceso natural en forma

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

ANÁLISIS DE VARIANZA EMPLEANDO EXCEL y WINSTATS

ANÁLISIS DE VARIANZA EMPLEANDO EXCEL y WINSTATS ANÁLISIS DE VARIANZA EMPLEANDO EXCEL y WINSTATS 1) INTRODUCCIÓN El análisis de varianza es una técnica que se puede utilizar para decidir si las medias de dos o más poblaciones son iguales. La prueba se

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Las Relaciones Públicas en el Marketing social

Las Relaciones Públicas en el Marketing social Las Relaciones Públicas en el Marketing social El marketing social es el marketing que busca cambiar una idea, actitud o práctica en la sociedad en la que se encuentra, y que intenta satisfacer una necesidad

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

Fundación Universitaria San. Direccionamiento IP

Fundación Universitaria San. Direccionamiento IP Fundación Universitaria San S Mateo - Interconectividad II Direccionamiento IP Qué son las direcciones IP? Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

INTERNET Y WEB (4º ESO)

INTERNET Y WEB (4º ESO) INTERNET Y WEB (4º ESO) 1. CLASIFICACIÓN DE LAS REDES Internet se define comúnmente como la Red de redes, o la Red global. En cualquier caso, puede considerarse como la unión de entidades más pequeñas

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

5to Año PROFESORES DE 5TO Página 1 de 5

5to Año PROFESORES DE 5TO Página 1 de 5 Mecanismos de selección de personal para un puesto de trabajo Análisis y evaluación de capacidades e intereses para un puesto de trabajo El Reclutamiento: En esta fase se pretende reunir el mayor número

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

MUESTREO TIPOS DE MUESTREO

MUESTREO TIPOS DE MUESTREO MUESTREO En ocasiones en que no es posible o conveniente realizar un censo (analizar a todos los elementos de una población), se selecciona una muestra, entendiendo por tal una parte representativa de

Más detalles

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008 Introducción Aunque la estrategia de adquisiciones que Oracle ha seguido en los últimos años siempre ha buscado complementar y fortalecer nuestra oferta

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

SISTEMAS DE INFORMACIÓN I TEORÍA

SISTEMAS DE INFORMACIÓN I TEORÍA CONTENIDO: CICLO DE VIDA DE DESARROLLO DE SI FASES GENÉRICAS DEL CICLO DE VIDA DE DESARROLLO DE SI VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI DE DESARROLLO DE SI: ANÁLISIS Material diseñado

Más detalles

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

Capas del Modelo ISO/OSI

Capas del Modelo ISO/OSI Modelo ISO/OSI Fue desarrollado en 1984 por la Organización Internacional de Estándares (ISO), una federación global de organizaciones que representa aproximadamente a 130 países. El núcleo de este estándar

Más detalles

NIFBdM B-12 COMPENSACIÓN DE ACTIVOS FINANCIEROS Y PASIVOS FINANCIEROS

NIFBdM B-12 COMPENSACIÓN DE ACTIVOS FINANCIEROS Y PASIVOS FINANCIEROS NIFBdM B-12 COMPENSACIÓN DE ACTIVOS FINANCIEROS Y PASIVOS FINANCIEROS OBJETIVO Establecer los criterios de presentación y revelación relativos a la compensación de activos financieros y pasivos financieros

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software Hugo F. Arboleda Jiménez. MSc. Docente-Investigador, Facultad de Ingenierías, Universidad de San

Más detalles

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA ACLARACIONES Y RESPUESTAS A CONSULTAS SEGUNDA PARTE De acuerdo a lo señalado en el numeral 11 de las Bases de Licitación, a continuación se presenta

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3. GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que

Más detalles

Control del Stock, aprovisionamiento y distribución a tiendas.

Control del Stock, aprovisionamiento y distribución a tiendas. Control del Stock, aprovisionamiento y distribución a tiendas. Tan importante como el volumen de ventas y su rentabilidad, el control del stock supone uno de los pilares fundamentales en el éxito de una

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

ETS Caminos Santander. Curso 2012. Ejercicios de introducción a la programación.

ETS Caminos Santander. Curso 2012. Ejercicios de introducción a la programación. Ejercicio 1. Saludo. El programa preguntará el nombre al usuario y a continuación le saludará de la siguiente forma "Hola, NOMBRE" donde NOMBRE es el nombre del usuario. Ejercicio 2. Suma. El programa

Más detalles