Descripción del problema:
|
|
- Nieves Cabrera Gil
- hace 6 años
- Vistas:
Transcripción
1 PROBLEMA DEL AGENTE VIAJERO USANDO BÚSQUEDA TABU PROYECTO FINAL PROGRAMACIÓN CIENTIFICA ANGELES BAEZ OLVERA 4 JUNIO 2009 Descripción del problema: El problema del agente viajero o TSP como se le conoce en la literatura, consiste en visitar las n ciudades de un tour comenzando y terminando en la misma ciudad, visitando solamente una vez cada ciudad, y haciendo el recorrido en un costo mínimo, este costo de recorrido puede estar expresado en términos de tiempo o distancia, es decir, recorrer el mínimo de kilómetros o llevar a cabo un tour en el menor tiempo posible. El problema del agente viajero se puede modelar fácilmente mediante un grafo completo en donde los vértices del grafo son las ciudades y los arcos son los caminos, dichos arcos deben tener un peso, y este peso representa la distancia que hay entre dos vértices que están conectados por medio de dicho arco. Una solución del problema del agente viajero, se puede representar como una secuencia de n+1 ciudades, en donde un tour comienza y termina con la misma ciudad. Objetivo: El objetivo de este trabajo es resolver el problema del agente viajero usando Búsqueda Tabú. Usando utilizó el lenguaje computacional ANSI C. Búsqueda Tabú: Es un procedimiento metaheurítico cuya característica distintiva es el uso de memoria. La búsqueda tabú guía un proceso de búsqueda local para explorar el espacio de solución más allá del
2 óptimo local. Algoritmo de la Búsqueda Tabú: 11Comienza con una solución inicial. 11En la iteración inicial o en cualquier otra iteración, a partir de una solución actual, el proceso pasa a la mejor solución de su vecindario. 11El movimiento siempre se acepta a pesar de que la nueva solución sea peor que la anterior. El proceso se puede ciclar, por ello se utiliza una lista tabú, en la que se encuentran los movimientos que se consideran prohibidos, es decir aquellos que no se pueden tomar para la nueva solución durante un cierto numero de iteraciones, a menos que cumplan el criterio de aspiración, el cual consisten en determinar cuando un movimiento tabú puede ser tomado para la solución. Para este problema se tomo el criterio de aspiración por objetivo [1], el cual consiste en comparar el costo que presenta la solución con movimiento tabú, con el mejor costo encontrado hasta el momento, si este costo es mejor entonces se actualiza la mejor solución, con la nueva solución que presenta el movimiento tabú. PROGRAMA: Los parámetros: El programa tiene parámetros de entrada, de salida y los calculados dentro de el. Los parámetros de entrada: Decidir como introducir los datos al programa ya sea por teclado (opción 1) o llamarlos desde un archivo (opción 2). Si se toma la opción por teclado el programa pedirá al usuario: El número de ciudades que desea visitar. La ciudad en la que se desea iniciar el recorrido.
3 El número de iteraciones que se desea hacer. La distancia o tiempo entre cada ciudad. Si se toma la opción por archivo: los tres primero números que tenga el archivo van a indicar el número de ciudades a visitar, la ciudad de inicio y el número de iteraciones respectivamente y los demás número serán las distancias de las respectivas ciudades. Cabe aclarar que el programa esta diseñado suponiendo que todas las ciudades están conectadas con todas y que el viajar de la ciudad i a la ciudad j tiene la misma distancia o tiempo que viajar de la ciudad j a la ciudad i. Los parámetros de salida: La mejor solución en cada iteración. El mejor camino que debe recorrer el agente. La distancia o tiempo que implica dicho camino. Los parámetros que son determinados por el programa son: El tamaño del vecindario: Este parámetro se calcula haciendo la operación [(numero de ciudades*(numero de ciudades -3))/2], este forma de calcular el vecindario se decidió después de hacer varias pruebas y ver como se comportaba el tamaño del vecindario, tal vez no sea la mejor manera de determinarlo, pero con las instancia probadas funciono. El número de iteraciones que un movimiento es considerado tabú: Este parámetro es calculado sacando la raíz cuadrada del número de ciudades a visitar y tomando el entero de tal resultado. Se decidió tomarlo así basado en la referencia bibliográfica [1]. Las subrutinas: El programa se compone de una serie de subrutinas, se decidió trabajar con subrutinas para tener una mejor organización del programa y en caso de requerirse hacer mas accesible las modificaciones.
4 El programa se compone de 14 subrutinas y de la función principal main (que no puede faltar). A continuación se describe cada una de las subrutinas 1. validar: Se encarga de verificar que todos los parámetros de entrada sean correctos cuando se ingresan por teclado. Recibe como parámetros la dirección de una cadena, y devuelve uno si la cadena es de enteros y cero si la cadena no tiene enteros. 2. matrix_distancia: Con esta subrutina se captura la distancio o tiempo de viajar de la ciudad i a la ciudad j, el programa esta hecho de tal manera que considera que ir de la ciudad i a la cuidad j es lo misma distancia que desplazarse de la ciudad j a la ciudad i. Recibe como parámetros el número de ciudades a visitar y la dirección de la matriz donde se van a guardas las distancias o tiempos. 3. recupero_matriz: Es la encargada de hacer una copia de la matriz de distancia. Recibe el número de ciudades a visitar, y la dirección de la matriz que se va a copiar y la dirección de la matriz a la que se va a copiar. 4. co_vecindario: Hace una copia del vecindario. Recibe el número de ciudades a visitar, el tamaño del vecindario, la dirección donde esta el vecindario, y la dirección a donde se va a copiar. 5. Imprimo, imprimir_vec: Estas dos subrutinas se usan para imprimir en pantalla las matrices y los vectores que se desee. Recibe las dimensiones de la matriz o del vector y la direcciones de la matriz o vector a imprimir. 6. Greedy: Esta subrutina es la que se encarga de calcular la solución inicial, esta solución se calcula de manera greedy, es decir siempre que se hace un cambio de ciudad, lo hace tomando el camino de menor distancia o tiempo. Recibe el numero de ciudades a visitar, la ciudad de inicio del recorrido, la dirección de la matriz de distancia de las ciudades y la dirección del vector donde se guardara el recorrido. 7. costo_recorrido: Calcula la distancia o tiempo del recorrido indicado. Recibe el número de ciudades, la dirección de la matriz de distancia, y la dirección del vector del recorrido. 8. mov2_opt: En esta subrutina es donde se genera el vecindario de cada iteración. Se aplica el algoritmo 2-opt que básicamente remueve dos arcos del tour y reconecta los dos caminos creados;
5 hay una sola forma de reconectar los dos caminos de forma que siga manteniendo el tour válido. Si se remueven los arcos (i,j) y (k,l) la unica forma de reconectarlos manteniendo el tour es (i,k), (j,l). El vecindario se compone de las dos aristas que se remueven y del costo que se tiene al hacer el movimiento. Esta subrutina recibe el número de ciudades a visitar, el costo del tour, tamaño del vecindario, la dirección de la matriz de distancia, la dirección del vector que contiene el tour y la dirección de la matriz del vecindario. 9. Minimo:.Identifica el costo mínimo en el vecindario. Recibe como parámetros el tamaño del vecindario y la dirección de la matriz del vecindario. 10. actualizo_solucion: Actualiza la solución. Recibe el número de ciudades a visitar, la posición del mejor costo del vecindario, la dirección del vector tour, y la dirección del vecindario. 11. verifico_tabu: Revisa que el movimiento elegido sea o no tabú. Recibe de parámetros el número de ciudades a visitar, el tamaño de la lista tabu, la posición del mejor costo en el vecindario, y las direcciones de la lista tabú y el vecindario y regresa 0 si el movimiento elegido no es tabu y 1 si es tabú. 12. actualizo_tabu: Se encarga de actualizar la lista tabú. Recibe la posición del mejor costo del vecindario, el tamaño de la lista tabú, costo del tour y las direcciones de vecindario y la lista tabu. 13. todo: Realiza todo el proceso de búsqueda tabú, utilizando las subrutinas antes mencionadas. Recibe como parámetros el número de ciudades a visitar, la ciudad de inicio, el número de iteraciones a realizar y la dirección de la matriz de distancias. Y finalmente en la función main que es la que contiene la interfaz inicial del programa y las indicaciones que debe seguir el usuario. Instrucciones de compilación: 1. Para compilar escriba: gcc -lm proyecto.c
6 ./a.out 2. En pantalla aparecerán las instrucciones a seguir 3. Si se desea escoger la opción por teclado debe presionarse el numero 1, si se desea la opción por archivo se presiona 2 y si se desea salir se presiona Si se escoge la opción por archiva, el usuario antes debe tener un archivo en el cual tenga los datos que se necesitan para el funcionamiento del programa. Experimentación: Se generaron varias instancias para comprobar que el programa funcionará correctamente, se probo con instancias pequeñas y con instancias grande. Las instancias grandes fueron llamadas desde archivo. Instancias pequeñas: Instancia 1: 3 ciudades, inicia 1 La matriz de distancia es: Solución inicial:{1,2,3,1,} Con un costo de:33 La solución inicial es el mejor camino Instancia 2: 6 ciudades, inicia 4, itera 15 La matriz de distancia es: Solución inicial:{4,1,5,2,6,3,4,} Con un costo de:
7 Instancia 3: 8 ciudades, inicia 2, itera 500 La matriz de distancias es: Solución inicial:{2,4,7,8,1,3,5,6,2,} costo 179 El mejor tour {2,4,7,8,6,5,3,1,2} costo de 128 Intancias grandes: Intancia 1: 19 ciudades, inicia 13, itera 200 Solución inicial: 13,12,7,8,16,1,17,5,2,11,4,14,18,9,6,19,3,10,15,13 Con un costo de:218 El mejor tour: 13,12,11,2,5,18,1,16,8,7,15,4,14,17,10,3,19,6,9,13 con un costo de 92. Intancia 2: 35 ciudades, inicia 20, itera 2000 Solución inicial: 20,18,4,6,30,3,14,32,11,12,26,9,27,19,24,10,21,15,23,31,29,2,5,8,25,35,1,28,7,17,13,16,34,22,33,20 Con un costo de 240 El mejor camino es: {20,18,4,6,30,3,14,32,11,12,26,9,27,33,22,34,7,17,13,16,28,1,35,25,8,5,2,29,31,23,15,21,10,24,19,20,} con un costo de 119.
8 Conclusiones: El programa trabaja con instancias grandes y pequeñas y puede se de gran ayuda para optimizar el recorrido de viajes. En cuanto a la programación me costo un poco, pues el trabajar con apuntadores se me complico, pero al final quedo claro. Bibliografia: Glover, F and M Laguna (1997) Tabu Search, Kluwer Academic Publishers, Boston.
El TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesComplejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Más detallesMICROSOFT EXCEL 2010
MICROSOFT EXCEL 2010 1. AVANZADO Nº Horas:24 Objetivos: Descripción de funciones avanzadas de la hoja de cálculo Microsoft Excel 2010, viendo el uso de fórmulas, funciones y gráficos en los libros de Excel.
Más detallesAPUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Más detallesPráctica 2: Análisis de sensibilidad e Interpretación Gráfica
Práctica 2: Análisis de sensibilidad e Interpretación Gráfica a) Ejercicios Resueltos Modelización y resolución del Ejercicio 5: (Del Conjunto de Problemas 4.5B del libro Investigación de Operaciones,
Más detalles1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE
Practica 1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE I. INTRODUCCION Las planillas de cálculo se han
Más detalles1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.
Capítulo 5 Campos finitos 5.1. Introducción Presentaremos algunos conceptos básicos de la teoría de los campos finitos. Para mayor información, consultar el texto de McEliece [61] o el de Lidl y Niederreiter
Más detallesIntroducción a la Programación Dinámica. El Problema de la Mochila
Tema 1 Introducción a la Programación Dinámica. El Problema de la Mochila La programación dinámica no es un algoritmo. Es más bien un principio general aplicable a diversos problemas de optimización que
Más detallesFormato para prácticas de laboratorio
PLAN DE CLAVE CARRERA NOMBRE DE LA ASIGNATURA ESTUDIO ASIGNATURA LSC 2009-2 11290 Introducción a la Programación PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado en Sistemas Computacionales
Más detallesGuía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Más detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas
Más detallesMANUAL DE USUARIO NOTAS PARCIALES MODULO CONFIGUARACION DE NOTAS -288
MANUAL DE USUARIO NOTAS PARCIALES MODULO CONFIGUARACION DE NOTAS -288 Manual Notas Parciales Página 1 de 39 Tabla de contenido Cómo usar el manual de usuario 4 Inicio 5 Notas Parciales: 6 Profesores (Listados
Más detallesNero InfoTool Manual. Nero AG
Nero InfoTool Manual Nero AG Información sobre copyright y marcas comerciales El manual de Nero InfoTool y todo su contenido están protegidos por las leyes de copyright y son propiedad de Nero AG. Reservados
Más detallesTeoría de grafos y optimización en redes
Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,
Más detallesGUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
Más detallesC a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]
Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos
Más detallesCoordinación de Sistemas y tecnologías. Elaborado por: Marcela Encinas 02/05/08 Pág.1
02/05/08 Pág.1 Captura de una Solicitud de Viático En la pantalla principal se realiza la captura de una solicitud de viático. Esta página se compone de varias secciones. En la primera sección se encuentran
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detallesEjercicios ejemplo: verificación de algoritmos del valor suma de una sucesión matemática. (CU00238A)
aprenderaprogramar.com Ejercicios ejemplo: verificación de algoritmos del valor suma de una sucesión matemática. (CU00238A) Sección: Cursos Categoría: Curso Bases de la programación Nivel II Fecha revisión:
Más detallesAlgoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira
Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un
Más detallesCapítulo 6. Relaciones. Continuar
Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,
Más detallesP L A N I F I C A C I O N
P L A N I F I C A C I O N ESTABLECIMIENTO: INSTITUTO SUPERIOR JUJUY CARRERA: TECNICATURA SUPERIOR EN INFORMATICA CON ORIENTACION EN SISTEMAS DE INFORMACION ASIGNATURA: HS. CATEDRA: MODALIDAD: PROFESOR:
Más detallesCódigo/Título de la Unidad Didáctica: CALCULADORA CIENTÍFICA.
Código/Título de la Unidad Didáctica: CALCULADORA CIENTÍFICA. Actividad nº/título: A4.Calculadora científica, Operaciones de Introducir y Obtener un Número de la Memoria de la Calculadora. Introducción
Más detallesLa última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.
Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la
Más detallesProfesor(a): M. A. Zeferino Galarza Hernández
Área Académica: Informática IV Tema: Algoritmos Profesor(a): M. A. Zeferino Galarza Hernández Periodo: Enero-junio de 2012 IV Semestre. Asignatura: Informática IV Tema: Algoritmos Abstract Contains and
Más detallesPROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE
Más detallesTEORÍA BÁSICA PASOS PARA APAGAR EL SISTEMA
TEMAS: ENCENDIDO Y APAGADO DEL PC LAS VENTANAS Y SUS PARTES 33 TALLER SIETE INDICADOR DE LOGRO: Aplica el proceso que se debe llevar a la hora de Encender y Apagar una Computadora Personal, bajo el sistema
Más detallesCon miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:
Método Simplex. Este método fue creado en el año 1947 por el estadounidense George Bernard Dantzig y el ruso Leonid Vitalievich Kantorovich, con el objetivo de crear un algoritmo capaz de crear soluciones
Más detallesFormulación del problema de la ruta más corta en programación lineal
Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,
Más detallesExcel 2013 Completo. Duración: Objetivos: Contenido: 80 horas
Excel 2013 Completo Duración: 80 horas Objetivos: Descripción del funcionamiento básico de la hoja de cálculo Microsoft Excel 2013, viendo las funciones disponibles en este programa a la hora de crear
Más detallesMANUAL DE USUARIO MODULO DE ACTIVOS FIJOS
MANUAL DE USUARIO MODULO DE ACTIVOS FIJOS Derechos Reservados 2001-2016 1 CONTENIDO Pág. 1. COMO INGRESAR A AL MODULO DE ACTIVOS FIJOS 2. ELEMENTOS DE LA INTERFAZ DEL SISTEMA. 5 3. MENÚ TABLAS 7 3.1 Tipos
Más detallesSistema Integral de Tesorería Módulo de Control Financiero Manual de Operación
Aplicaciones y Servicios de Información EMPRESS S.C. Página 1 de 20 CONTENIDO Breve descripción del... 3 Menú Archivos... 4 Saldos Bancarios.-...4 Catálogo de Movimientos Bancarios.-...5 Administración
Más detallesProyecto 2: recorridos sobre grafos y componentes conexas
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI-2693. Laboratorio de Algoritmos y Estructuras III Trimestre Abril-Julio 2015 1. Introducción Proyecto 2: recorridos
Más detallesEl determinante de una matriz se escribe como. Para una matriz, el valor se calcula como:
Materia: Matemática de 5to Tema: Definición de Determinantes Marco Teórico Un factor determinante es un número calculado a partir de las entradas de una matriz cuadrada. Tiene muchas propiedades e interpretaciones
Más detalles7. Poblar base de datos a partir de documentos XML validados con esquemas XML
7. Poblar base de datos a partir de documentos XML validados con esquemas XML En este capítulo se aborda el tema de la población de la base de datos que se creó con el constructor automático de bases de
Más detallesTABLA 8.1 Energías de explosión de las sustancias explosivas. Hidrocarburo He (Kj/mol) He (kj/kg)
8.2 Manuales de Usuario 8.2.1 Instrucciones para operar Excel. Método TNT. El primer paso es poner en forma de lista y en orden alfabético los tipos de hidrocarburos con los que se va a trabajar, con sus
Más detallesINTRODUCCIÓN AL MANEJO DE CARPETAS Y ARCHIVOS. Edublogg.wordpress.com. Caeiro Fábregas - Pérez
INTRODUCCIÓN AL MANEJO DE CARPETAS Y ARCHIVOS Caeiro Fábregas - Pérez INDICE Carpetas 3 Características de una carpeta 4 Crear una carpeta 4 Abrir una carpeta 4 Mover una carpeta 5 Cambiar el nombre de
Más detallesLABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE
LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento de las estructuras iterativas en general; la(s) condición(es)
Más detallesCreación de Formularios y Consultas
1 Facultad: Ingeniería. Escuela: Biomédica Asignatura: Informática Médica Creación de Formularios y Consultas Objetivos Identificar los controles y aplicaciones en la creación de formularios a través de
Más detallesMATEMÁTICAS PARA LA COMPUTACIÓN
MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO RELACIONES RELACIONES COMO LISTAS ENLAZADAS AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO RELACIONES COMO LISTAS ENLAZADAS Algunas
Más detallesTrabajo Práctico Nº 3 Parte 1
Trabajo Práctico Nº 3 Parte 1 Temas: Procesadores de Texto. Microsoft Word. Entorno de trabajo. La Cinta de Opciones. Barras de Herramientas. Creación y edición de Documentos de Word. Imprimir. Plantillas.
Más detallesTema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Más detallesUna Interfaz Grafo-Matriz
Una Interfaz Grafo-Matriz R. Carballo, C. Escribano, M.A. Asunción Sastre Dept. Matemática Aplicada F.Informática. U.P.M. Boadilla del Monte Madrid, 28660-Madrid e-mail: cescribano@fi.uib.es Resumen. El
Más detallesDepartamento de Matemáticas, CCIR/ITESM. 9 de febrero de 2011
Factorización LU Departamento de Matemáticas, CCIR/ITESM 9 de febrero de 2011 Índice 26.1. Introducción............................................... 1 26.2. Factorización LU............................................
Más detallesPontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Programación de Computadores Proyecto de curso,
Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Programación de Computadores Proyecto de curso, 2016-30 Introducción Solitaire Chess es un juego de lógica y estrategia producido
Más detallesDistinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.
ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesAlgoritmos basados en hormigas
Algoritmos basados en hormigas Inteligencia Artificial Avanzada 1er. Semestre 2008 1 Aspectos Generales La metáfora de los insectos sociales para resolver problemas ha sido un tema importante a partir
Más detallesINSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "
INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA " GUIA DE ESTUDIOS DE ANALISIS Y DISEÑO DE ALGORITMOS. 1. Qué es un algoritmo? 2. Qué es un Pseudocódigo?
Más detallesEDUComputacion. Te ofrece el curso de:
Requieres mejorar el Manejo y el análisis de la Información, además de Automatizar procesos y diseñar soluciones a tu propia necesidad Utilizando Excel? EDUComputacion Te ofrece el curso de: Reforma #1050-A
Más detallesManual de Aleph catalogación (Módulo)
A. Ingresar al módulo de Catalogación de Aleph 1. Ir al menú de inicio ubicado en la barra de tareas y hacer clic. 2. Ubicar el ícono de Catalogación y hacer clic. 3. Es necesario contar con una clave
Más detallesAlgoritmos para determinar Caminos Mínimos en Grafos
Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)
Más detallesPráctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros
Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros
Más detallesFundamentos de Excel
Fundamentos de Excel Excel es una potente aplicación de hoja de cálculo y análisis de datos. Pero para usarla del modo más eficaz, es necesario comprender primero los aspectos básicos. Este tutorial presenta
Más detallesGrafos. Amalia Duch Brown Octubre de 2007
Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido
Más detallesWorkManager E.D. Manual guía de usuario Diseñador de formularios
WorkManager E.D. Manual guía de usuario Diseñador de formularios En esta sección se crean y diseñan formularios. Para ingresar, clic en el menú Configuración/ Diseñador de formularios. Lista de formularios
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesANEXO Nº 2 MANUAL DE USUARIO APORTES FONDO BONO LABORAL LEY N
ANEXO Nº 2 MANUAL DE USUARIO APORTES FONDO BONO LABORAL LEY N 20.305 I N D I CE INTRODUCCION...3 1.- FONDO BONO LABORAL...3 2.- GENERACIÓN DEL FORMULARIO 57 APORTE INSTITUCIONAL FONDO BONO LABORAL...4
Más detallesDirección General de Servicio Civil Centro de Capacitación y Desarrollo Herramienta de Gestión de Formularios de Capacitación Manual de Usuario
1 Índice Presentación... 3 1. Ingreso a la aplicación... 4 2. Utilización de la aplicación... 9 2.1 Formulario de Capacitación 1 (Focap-1)... 9 2.2 Formulario de Capacitación 2 (Focap-2)... 11 2.3 Formulario
Más detallesGuía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesMicrosoft Excel 2003 (Completo)
Página 1 Horas de teoría: 32 Horas de práctica: 29 Precio del Curso: 198 Curso para aprender a utilizar la hoja de cálculo Microsoft Excel 2003, explicando todas las funciones que la aplicación posee y
Más detallesMicrosoft Excel 2003 (Completo)
Microsoft Excel 2003 (Completo) Curso para aprender a utilizar la hoja de cálculo Microsoft Excel 2003, explicando todas las funciones que la aplicación posee y viendo el uso de este programa para crear
Más detallesLENGUAJE DE PROGRAMACION UNO.
Guía de ejercicios numero uno. LENGUAJE DE PROGRAMACION UNO. Instrucciones: Para cada caso elabore la sintaxis en lenguaje C., compílelo e intégrelos al menú que su profesor le explicara en clase. Solución
Más detalles6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.
TEMA 6: ESTRUCTURAS DE DATOS (Arrays). CONTENIDO: 6.1.- Introducción a las estructuras de datos. 6.1.1.- Tipos de datos. 6.2.- Arrays unidimensionales: los vectores. 6.3.- Operaciones con vectores. 6.4.-
Más detallesPROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal
Más detallesINSTRUCTIVO FUNCIONAMIENTO DEL SISTEMA DE RECURSOS HUMANOS PROCESO DE REGISTRO DE FECHA DE INICIO DE LABORES
INSTRUCTIVO FUNCIONAMIENTO DEL SISTEMA DE RECURSOS HUMANOS PROCESO DE REGISTRO DE FECHA DE INICIO DE LABORES ÍNDICE FUNCIONAMIENTO DEL SISTEMA DE RECURSOS HUMANOS - PROCESO DE REGISTRO DE FECHA DE INICIO
Más detallesDiagramas de flujo. Actividad de aprendizaje 9. Realiza la siguiente lectura:
Actividad de aprendizaje 9 Realiza la siguiente lectura: Diagramas de flujo El diagrama de flujo es la representación gráfica de cada paso del algoritmo, utilizando símbolos, en el que se representan todas
Más detallesNota:Simule el programa paso a paso en su cuaderno para entender la lógica de ejecución. Clase Lenguaje de programación 1 Ing Eddy ruiz Largaespada.
Ejercicios Resueltos: Escriba en el entorno de desarrollo de C# visual studio los siguientes códigos,compílelos y ejecútelos.para tener los conocimientos correctos lease el capitulo 7- >Lenguaje de programacion
Más detallesIN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0
IN3701 - Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0 Acá va una pequeña guía con problemas resueltos de Geometría en Programación Lineal con problemas básicamente extraídos del
Más detallesMétodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Más detallesProgramación MODULAR: Subalgoritmos - funciones y procedimientos
Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas
Más detallesIntroducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al
Tema 6. Vectores 1. Introducción y Definiciones 2. Operaciones elementales con vectores 3. Definición y manejo de vectores (arrays arrays) en C 4. Operación de Recorrido secuencial de un vector 5. Operación
Más detallesEspecificación y uso de módulos en C++(II)
Sesión 3 Especificación y uso de módulos en C++(II) 3.1 La clase Poli para representar polinomios Disponemos de la clase Poli que permite operar con polinomios de coeficientes enteros. Se basa en el módulo
Más detallesUSO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++
USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesPROBLEMA 1. Considere el siguiente problema de programación lineal:
PROBLEMA 1 Considere el siguiente problema de programación lineal: Sean h1 y h2 las variables de holgura correspondientes a la primera y segunda restricción, respectivamente, de manera que al aplicar el
Más detallesIN34A - Optimización
IN34A - Optimización Modelos de Programación Lineal Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 24 Contenidos Programación Lineal Continua Problema de Transporte Problema de Localización
Más detallesGI-A.10.1-SA-07 GUIA RÁPIDA COMPRAR EN LÍNEA. Código: GI-A.10.1-SA-07 GUÍA RÁPIDA COMPRAR EN LÍNEA. Revisión:1 MANUAL
GUIA RÁPIDA COMPRAR EN LÍNEA 1 Página 1 de 14 2 Contenido 1... 1 2 Contenido... 2 3 CONTROL DE VERSIONES... 3 4 CONTROL DE REVISIONES... 3 5 AUTORIZACIÓN DEL DOCUMENTO... 3 6 INTRODUCCIÓN... 4 7 ALCANCE...
Más detalles: Algorítmica y Estructura de Datos I
FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria
Más detallesExplicación didáctica sobre comandos de Linux: Comandos de Inicio
Explicación didáctica sobre comandos de Linux: Comandos de Inicio 1.- Introducción De todos es bien sabido el auge tan importante que está teniendo en la actualidad el software libre, concretamente el
Más detallesUniversidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I
Tema # 10 El método de las M s como solución de problemas de programación lineal 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Resolver modelos de programación lineal mediante
Más detallesPROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
Más detallesEstructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Más detallesMICROSOFT EXCEL 2013 (COMPLETO)
MICROSOFT EXCEL 2013 (COMPLETO) Curso para aprender a utilizar la hoja de cálculo Microsoft Excel 2013, perteneciente a la suite ofimática Microsoft Office 2013, explicando todas las funciones que la aplicación
Más detallesRESOLUCION DE RAICES CUADRADAS EXACTAS. Raíz cuadrada de 625
RESOLUCION DE RAICES CUADRADAS EXACTAS Raíz cuadrada de 625 Separo el radicando en grupos de dos cifras empezando por la derecha, y busco el numero que elevado al cuadrado se aproxime lo más posible al
Más detallesAlgoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Más detallesInstructivo Costo Promedio Ponderado en el software administrativo
en el software administrativo Utilizar Costo Promedio Ponderado El costo promedio ponderado consiste en determinar un promedio, sumando los valores existentes en el inventario con los valores de las nuevas
Más detallesRetículos y Álgebras de Boole
Retículos y Álgebras de Boole Laboratorio de Matemática Discreta Jesús Martínez Mateo jmartinez@fi.upm.es Práctica 1. Ordenación topológica A. Herramientas necesarias Para la práctica que vamos a realizar
Más detallesTrabajo Práctico Nro. 1
Trabajo Práctico Nro. 1 INSTITUTO de TECNOLOGÍA O. R. T. Diagramar algoritmos para resolver los problemas planteados. Objetivos de esta práctica: Pretendemos que al finalizar esta ejercitación el alumno
Más detallesPRÁCTICA ALGORÍTMICA: EJERCICIOS PROPUESTOS
Página 1 de 7 PRÁCTICA ALGORÍTMICA: EJERCICIOS PROPUESTOS EJERCICIOS DE ESTRUCTURA REPETITIVA 1. (Problema 4) Escriba un algoritmo que lea del teclado un número entero y que compruebe si es menor que 5.
Más detallesPara poder comenzar a trabajar con Excel, es necesario considerar los siguientes términos:
Conceptos básicos de Excel Para poder comenzar a trabajar con Excel, es necesario considerar los siguientes términos: Libro de trabajo Un libro de trabajo es el archivo que creamos con Excel, es decir,
Más detallesRuta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) 1 DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar la Ruta más Corta 2 Se requiere llegar de
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Más detallesTema: Entorno a C# y Estructuras Secuenciales.
Tema: Entorno a C# y Estructuras Secuenciales. Programación I, Guía 3 1 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar el entorno de programación
Más detallesCAPÍTULO V SISTEMA PROPUESTO PARA LA DETERMINACIÓN DEL TIPO DE ELECTRODO A UTILIZAR Y PARA EL CÁLCULO DE LOS COSTOS DE SOLDADURA AL ARCO
171 CAPÍTULO V SISTEMA PROPUESTO PARA LA DETERMINACIÓN DEL TIPO DE ELECTRODO A UTILIZAR Y PARA EL CÁLCULO DE LOS COSTOS DE SOLDADURA AL ARCO 5.1.- OBJETIVOS 1.- Facilitar el trabajo a las personas encargadas
Más detallesPROGRAMACIÓN ALGORITMOS y DIAGRAMAS
PROGRAMACIÓN ALGORITMOS y DIAGRAMAS ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA ESTABLECIENDOSE UNA SECUENCIA DE
Más detallesShell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.
Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x Manual de instrucciones. Ing. Luis González Fraga 25/06/2012 En este manual usted podrá instalar y configurar en pocos minutos,
Más detalles1) Buscar productos, ver sus precios, características técnicas e imagen
1) Buscar productos, ver sus precios, características técnicas e imagen 1.1) Buscar productos por familia/grupo/categoría Ingrese a la página de Lista de Productos. Abra la ventana de Familia y seleccione,
Más detalles