Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TF - Algoritmo - Juan Carlos Apaza Paucara
TF - Algoritmo - Juan Carlos Apaza Paucara
BASADRE GROHMANN
1
ESCUELA DE POSTGRADO
DOCTORADO EN ADMINISTRACIÓN
ANÁLISIS DE LOS
MODELAMIENTOS DE
ALGORITMOS EN LA GESTIÓN
ADMINISTRATIVA
Dr. Apaza Paucara, juan Carlos
CURSO:
Modelamiento Cuantitativo para la Gestión
1959 Algoritmo QR para cálculo de . Otra operación crucial de matrices hecha rápida
valores propios y práctica.
JUAN CARLOS APAZA PAUCARA 16/06/2017
Los algoritmos del Siglo XX
VARIABLES
MÉTODOS
RESTRICCIONES
CLÁSICO METAHEURÍSTICA
ALGORITMO
Inteligencia
artificial Imitan fenómenos
sencillos observados
en la naturaleza
10 MÉTODOS Descomposición
EURÍSTICOS Se utiliza: No
hay método Reducción
exacto.
Demora, Manipulación
METAHEURÍSTICOS
limitaciones del modelo
Variable búsqueda por
Se basan en la aplicación de Enteras y entornos
reglas sencillas. Se diferencia, reales
tratan de huir de óptimos Son ciegas
locales orientada en búsqueda
permanente dependiendo de la
Algoritmos aproximativos
evolución del proceso de
búsqueda Relativamente sencillos
Son generales
Aceptan
. ocasionalmente
malos movimientos (Procesos La regla de selección depende del instante
de búsqueda) del proceso y de la historia hasta ese
momento.
JUAN CARLOS APAZA PAUCARA 16/06/2017
García Sánchez, Alvaro. Técnicas metaheurísticas (p:2-4). http://www.iol.etsii.
upm.es/arch/metaheuristicas.pdf
Lenguajes de programación general (C,
C++, Java, Visual Basic, FORTRAN 90) que
11 llaman a una biblioteca de optimización
Procesos,
GESTACIÓN
ALGORITMOS rutinas o Como
NATURALES biorritmos
naturales
LAS
ESTACIONES
López, (2009) “El
proceso digestivo es un concepto
intuitivo de algoritmo con el que se
convive a diario sin que haga falta LOS CICLOS
un definición “matemática” del CÓSMICOS, Etc.
mismo. Tener claro el proceso
digestivo, no implica que los
alimentos consumidos nutran más. La
familiaridad de lo cotidiano impide a
las personas ver muchos algoritmos
que se suceden a su alrededor”
JUAN CARLOS APAZA PAUCARA 16/06/2017
(p:21).
ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN Método de
campo científico e industrial es intratable. garantía
ALGORITMOS Búsqueda Solución de
15EVOLUTIVOS dispersa alta calidad
1960 BD(V. Tiempo
Actualmente Discreta) Razonable
Aunque no garantice
Un método exacto necesita un una solución óptima
tiempo polinomial para global
garantizar la optimalidad de la
solución. problemas
denominados NP-duros
Métodos
Variable aproximados
Contínua. METAHEURÍSTICA HEURÍSTICOS
La Búsqueda Tabú (Tabu
El Recocido Simulado Search) (Glover 1989)
(Simulated Annealing) (Van Los Algoritmos Genéticos
Laarhoven y Aarts 1987), (GA) (Holland 1992)
.
La Búsqueda Dispersa (Scatter Las Colonias de Hormigas
Search) (Glover et al. 2000) (ACO), entre otras
JUAN CARLOS APAZA PAUCARA
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda
16/06/2017
DEPURAR UN DISEÑAR UN
ALGORITMO ALGORITMO
TRADUCIR
UN
JUAN CARLOS APAZA PAUCARA 16/06/2017
ALGORITMO
Resolución de problemas por computadoras
18
IDENTICACIÓN
DEL PROBLEMA
Resolución Aprender un
de PCs lenguaje de
Problemas FASE RESOLUCIÓN
programación
IMPLEMENTACIÓN
Realización) en un lenguaje
de
programación
Fuente: Metodología de Programación, Programación en C, Aplicaciones
electrónicas 1 /
47https://uvirtual.unet.edu.ve/pluginfile.php/10772/mod_resource/content/0
JUAN CARLOS APAZA PAUCARA 16/06/2017
/Guia_de_algioritmos.pdf
Resolución de problemas por computadoras
19 Idea clara
sobre lo que se
Análisis del solicita
problema
Trazar Datos necesarios
un plan
Diseño del Preciso
algoritmo Definido,
FASE Consitente
IDENTICACIÓN
Finito
DEL PROBLEMA
Resultado
Verificación correcto,
del esperado
algoritmo Ejecución manual
Prueba de
algoritmo
/Guia_de_algioritmos.pdf
Diagrama de flujo Inicio/final
20 Entrada
Es una notación gráfica para general
implementar algoritmos.
Entrada por
teclado
Llamada por
subrutina
Diagrama
de flujo Acción o
proceso general
Iteración
Salida Salida
JUAN CARLOS APAZA PAUCARA
Pantalla Impresora
16/06/2017
Diagrama de Flujo Elemental.
INICIO INICIO
Declaración e
Declaración e Inicialización de
Inicialización de Variables
Variables
Entrada de
Datos
Entrada de
Datos
Condici
Si ón No
Procesamiento de Verdad
Datos era?
Acción 1 Acción 2
Presentación
de
Resultados
en Pantalla
Presentación
de
Resultados
FIN en Pantalla
FIN
V. PSEUDOCÓDIGO
• El pseudocódigo es una manera de escribir algoritmos de forma poco estricta
(con una sintaxis relajada) o estructuras de datos poco detalladas, pero
intentando acercar las ideas del algoritmos a estructuras y sintaxis
parecidas a las de los lenguajes de alto nivel en los que vamos a programar el
algoritmo.
Selección de la mejor
alternativa
Algoritmo
Diagramación
16/06/2017 JUAN CARLOS APAZA PAUCARA
Pseudicódigo: Definición del Problema
24
Está dada por el enunciado
del problema, el cuál debe
ser claro y completo
Es importante que
conozcamos
exactamente que se
desea.
Mientras qué esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
16/06/201
JUAN CARLOS APAZA PAUCARA
7
Pseudocódigo: Análisis
26 del Problema
Los datos de
entrada que nos
suministran
No existe un valor
dentro del programa
Constantes que debe permanecer
constante
Variables
nombre,
val_hora,
Horas, Sueldo
Inicio Inicio
1. Solicitar los datos del empleado Haga nombre=“”, val_hora=0, Horas=0,
2. Almacenar los datos Sueldo=0
3. Si el numero de horas es mayor a Mostrar “Digite datos del empleado” Capture
cuarenta entonces nombre, val_hora, Horas Si (Horas
1. Hallar el valor del sueldo teniendo
<=40)entonces
en cuenta que el valor de la hora Haga sueldo=Horas * val_hora;
adicional será mas el 1.5% si no
Haga sueldo=(Horas * val_hora)+
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
((Horas-40)*(1.5*val_hora));
Fin si
4. Generar el nombre del empleado y Mostrar “El sueldo de :“, nombre, “es: ”, sueldo
su sueldo.
Fin
Fin
31
Las
El operaciones
programa que es
deberá mostrar necesario
si el empleado hacer,
Los datos de
en este caso, son Comparaciones
es apto para el Departamento de
entrada que nos producción
O para la Secretaría de Gerencia
suministran O No cumple con los requisitos
M (Edad)
El proceso que
con los
debe realizarse
Los datos de
salida o F (Estudios) requisitos
resultados que se Es apto
esperan Dpto Prod.
No existe un valor
dentro del programa
Constantes que debe permanecer
constante
Variables
nombre,
Sexo,
Edad
LibretaM,
JUAN CARLOS APAZA PAUCARA
certifE
16/06/201
7
ALGORITMO - PSEUDOCODIGO
33
Inicio
1. Solicitar los datos de Hoja de Vida
2. Almacenar los datos
3. Si el sexo es Masculino entonces
3.1 Si Edad esta entre 20 y 25 entonces
3.1.1 Si tiene Libreta Militar entonces
3.1.1.1 Indicar que es apto para Dpto de Producción
3.1.1.2 Si no paso 3.1.1 Indicar que no cumple requisitos
3.1.2 Si no paso 3.1 Indicar que no cumple requisitos
2. Si no entonces
1. Si posee certificados Estudios Bilingüe entonces
1.Indicar que es apto para Secretaría de Gerencia
2.Si no 3.2.1 Indicar que no cumple requisitos Fin
nombre=“
35 ”, sexo=“ ”, edad=0,
LibretaM=“ ”, certifE=“ ”
Si
Edad>20
Si LibretaM Si
nombre, “es apto para
sexo= =M && ==
Si Dpto Producción ”
Edad<25
No 1
No No
No cerfE= =S Si
nombre, “no cumple con los
1 requisitos ”
36 Codificación o
Traducción
Lenguaje de
programación
Ejecución
FASE
IMPLEMENTACIÓN
Comprobación
/Guia_de_algioritmos.pdf
Ciclo de Vida en cascada con prototipos
37
Investigación
preliminar
Diseño
y realización
Evaluación
OK
KO Modificación
Diseño
...
JUAN CARLOS APAZA PAUCARA 16/06/2017
FAMILIA DE LENGUAJES DE PROGRAMACIÓN
TIPO NOMBRE DESARROLLO
Imperativos FORTRAN desarrollado por J. Backus desde 1955 hasta 1958.
38
(se inspiran en la COBOL (COmmon Business Oriented Language) 60.
máquina de Von- ALGOL (ALGOrithmic Language)
Neumann y toman BASIC (Beginner’s All-purpose Symbolic Instruction Code), por T. Kurtz y J. Kemeny 60.
como modelo PASCAL Creado por N. Wirth en 1970
teórico las máquinas C Desarrollado a principios de los años 70
de Turing) ADA Desarrollado entre 1975 y 1980
FUNCIONALES LISP (LISt Processing). Desarrollado por J. McCarthy en 1958
(tomar otras Scheme Scheme. Desarrollado por G. J. Sussman y Steele Jr. en 1975
funciones como ML Creado por R. Milner en 1975
argumentos y Haskell Desarrollado por un comité internacional en 1990
devolver funciones.)
ORIENTADOS A Simula Desarrollado por O. J. Dahl y K. Nygaard entre 1962 y 1967
OBJETOS Smalltalk Smalltalk. Desarrollado por A. C. Kay en 1971
(la herencia que C++ Creado en 1985 por B. Stroustroup
facilita la reutilización Java Desarrollado por J. Gosling en 1993
de código.) Python Creado por Guido van Rossum en 1990
C# C#. Creado por Microsoft para la plataforma .NET en 1999.
PROGRAMACIÓN Prolog Creado en 1972 por J. Colmerauer
LÓGICA (Utiliza el Curry Curry. Creado por M. Hanus en 1996
algoritmo de
resolución para
buscar soluciones)
OTROS PARADIGMAS Programación concurrente y no determinista · Programación dirigida por
eventos · Programación visual · Programación mediante restricciones
(Constraint programming) · Programación orientada al aspecto
Adaptado por el autor de Fuente: Labra, Cueva, Izquierdo, Fuente, Luengo y Ortín, (2014). Intérpretes y
Diseño de Lenguajes de Programación (p:36-38)
JUAN CARLOS APAZA PAUCARA 16/06/2017
V. APLICACIONES
39 ALGORITMOS RÁPIDOS
Se requiere conocimiento en matemáticas
sobre:
APLICACIONES • Teoría de números.
• Campos y anillos finitos sobre los
números enteros.
Los algoritmos rápidos se requieren en • Polinomios mínimos y conjugados.
programación de sistemas asociados • Polinomios ciclotómicos.
a: • Campos y anillos de polinomios.
– Sonar. • Grupos.
– Radar. • Espacios vectoriales.
– Procesamiento sísmico. • Algebra lineal.
– Tomografía computarizada. Se requiere conocimiento en
– Procesamiento digital de imágenes y computación sobre:
señales. • Programación.
– Cualquier aplicación que requiere un • Programación avanzada.
gran volumen de cálculos numéricos. • Estructura de datos.
41
INICIOI
MA = V [1,
I=1
I>5 1] I>5 MA
I=I+ I=I+1
1
J=1
J>5 J=1 FIN
J=J+1 J >5
J=J+1
V[I,J]
V [I, J] >
MA
V [I, J]
43
.
RECOMENDACIONES
45
Las recomendaciones son las siguientes:
47
1) Matemáticos Siempre se
ejecutan de
2) Relacionales izquierda a
derecha en caso
de haber dos ó
3) Lógicos
más operadores
con el mismo nivel
4) De asignación de prioridad.
49
MUCHAS GRACIAS