Tacna, 18 abril de 2020
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
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
16/06/2017
1
ÍNDICE GENERAL
RESUMEN
I. DEFINICIÓN
II. ALGORITMOS DEL SIGLO XX
III. LA OPTIMIZACIÓN
III. PROCEDIMIENTOS CONSTRUCTIVOS
V. PSEUDOCÓDIGO
VI. APLICACIONES
CONCLUSIONES
RECOMEDACIONES
REFERENCIAS
APÉNDICE
16/06/2017JUAN CARLOS APAZA PAUCARA
2
16/06/2017
3
RESUMEN
El presente trabajo muestra el análisis de carácter teórico de modelamientos de
algoritmos en la gestión administrativa, aplicados en la actualidad en la solución
de problemas clásicos y complejos y la importancia de las matemáticas, en las
diferentes estructuras de ramas del saber que han tenido aplicaciones los
algoritmos. Durante miles de años el ser humano se ha esforzado por abstraer la
estructura de la solución de problemas con el fin de determinar claramente cuál es
el camino seguro, preciso y rápido que lleva a esas soluciones. Son abundantes
los ejemplos: máximo común divisor, teorema de Pitágoras, áreas de figuras
geométricas, división, suma de números fraccionarios, etc. Todos estos algoritmos
matemáticos independizan los datos iniciales del problema de la estructura de su
solución, lo que permite su aplicación con diferentes conjuntos de datos iniciales
(variables).
KEYWORDS: Algoritmo, Análisis, Diseño y Control.
*Docente de la UNJBG. Asignatura: en SIG `para toma de decisiones 2017.
JUAN CARLOS APAZA PAUCARA
ANÁLISIS DE LOS MODELAMIENTOS DE ALGORITMOS EN LA
GESTIÓN ADMINISTRATIVA
Apaza Paucara, Juan Carlos*
16/06/2017JUAN CARLOS APAZA PAUCARA
4
Abstract
The present work shows the theoretical analysis of algorithms modeling in
the administrative management, currently applied in the solution of classic
and complex problems and the importance of mathematics in the different
structures of branches of knowledge that have had applications Algorithms.
For thousands of years human beings have endeavored to abstract the
structure of problem solving in order to determine clearly which is the safe,
precise and rapid path that leads to such solutions. Examples are abundant:
maximum common divisor, Pythagorean theorem, areas of geometric figures,
division, sum of fractional numbers, and so on. All these mathematical
algorithms make initial problem data independent of the structure of their
solution, allowing their application with different sets of initial (variable) data.
KEYWORDS: Algorithm, Analysis, Design and Control.
* Professor of the UNJBG. Subject: in SIG `for decision making 2017.
** Nurse of the Regional Hospital of Tacna ,.
ANALYSIS OF ALGORITHM MODELS IN
ADMINISTRATIVE MANAGEMENT
Apaza Paucara, Juan Carlos* y Mamani, Mercedes**
16/06/2017
5
I. DEFINICIÓN
ALGORITMO
Esta palabra se deriva de la traducción al latín de la palabra árabe
ALKHÔWARÎZMI, En el siglo IX, el matemático y geógrafo Mohammed Ibn
Musa Al-Khwarizmi, escribió un pequeño libro donde explicaba los nuevos dígitos
creados por los hindúes y cómo utilizarlos para realizar sencillas operaciones. Se ha
perdido la versión original de esta obra, .Kitab al-Jam.a wal-Tafreeq bil Hisab al-
Hindi. (también llamada .Aritmética., en forma abreviada), pero se han conservado
diversas traducciones al latín, realizadas todas ellas en España, que entonces era el
punto de encuentro de las culturas árabe y latina.
Según la Real Academia, en su diccionario online, ““Conjunto ordenado y finito de
operaciones que permite hallar la solución de un problema”.
López, (2009) Algoritmo Consiste en aplicar adecuadamente una serie de pasos
detallados que aseguran una solución correcta. Por lo general, cada algoritmo es
específico de un dominio del conocimiento. La programación de computadores se
apoya en este método. (P.7)
JUAN CARLOS APAZA PAUCARA
16/06/2017
6
Definición de Algoritmo
Un algoritmo es la secuencia ordenada de pasos, sin
ambigüedades, que conducen a la resolución de un
problema dado y expresado en lenguaje natural, por
ejemplo el castellano.
Un heurístico es un “procedimiento simple, a menudo basado
en el sentido común, que se supone que ofrecerá una buena
solución (aunque no necesariamente la óptima) a problemas
difíciles, de un modo fácil y rápido”. (Zanakins y Evans, 1981)
"En la última década, los nuevos avances en algoritmos han sido
tan importantes como Los impresionantes avances en la tecnología
informática “ Nemhauser. George L. (1994).
"Las mejoras tecnológicas en algoritmos, lenguajes de modelado,
software y el hardware han hecho la metodología accesible, fácil de
usar, y rápido. Así que la Era de la Optimización ha llegado “
Nemhauser. George L. (1994).
JUAN CARLOS APAZA PAUCARA
16/06/2017
7
II. Los algoritmos del Siglo XX
AÑO ALGORITMO APLICACIÓN
1946 Metrópolis de Monte Carlo Mediante el uso de procesos aleatorios, este
algoritmo ofrece una manera eficiente para
conseguir respuestas a problemas que son
demasiado complicados de resolver en forma
exacta.
1947 Método Simplex para
programación lineal.
Una solución elegante a un problema común en
planificación y toma de decisiones.
1950 Método de iteración de
subespacios de Krylov
Una técnica para solución rápida de ecuaciones
lineales que abundan en computación científica.
1951 Enfoque descomposicional
para cómputo de matrices
Un conjunto de técnicas para el álgebra lineal
numérica.
1957 El compilador Fortran de
optimización
Cambia código de alto nivel en código
informático eficiente y legible.
1959 Algoritmo QR para cálculo de
valores propios
. Otra operación crucial de matrices hecha rápida
y práctica.
JUAN CARLOS APAZA PAUCARA
16/06/2017
8
Los algoritmos del Siglo XX
AÑO ALGORITMO APLICACIÓN
1962 Algoritmos de ordenamiento
rápido (Quicksort).
Para el manejo eficiente de grandes bases de
datos.
1965 Transformada Rápida de
Fourier (FFT).
Tal vez el algoritmo de mayor alcance en
matemáticas aplicadas en uso hoy en día,.
Descompone formas de onda en componentes
periódicos.
1977 Detección de relación entre
enteros
Un método rápido para detectar ecuaciones
simples satisfechas por colecciones de números
aparentemente inconexos.
1987 Método rápido multipolar Un gran avance en el tratamiento de la
complejidad de los cálculos de n-cuerpos,
aplicado en problemas que van desde la mecánica
celeste al plegamiento de proteínas.
JUAN CARLOS APAZA PAUCARA
16/06/2017
9
OPTIMIZACIÓN
FUNCIÓN
OBJETIVA
VARIABLES
RESTRICCIONES
PROBLEMAS
CLÁSICO
ALGORITMO
METAHEURÍSTICA
Inteligencia
artificial Imitan fenómenos
sencillos observados
en la naturaleza
MÉTODOS
III. LA OPTIMIZACIÓN
JUAN CARLOS APAZA PAUCARA
16/06/2017
10MÉTODOS
EURÍSTICOS
Se basan en la aplicación de
reglas sencillas. Se diferencia,
tratan de huir de óptimos
locales orientada en búsqueda
permanente dependiendo de la
evolución del proceso de
búsqueda
Constructivos
Descomposición
Reducción
Manipulación
del modelo
Son ciegas
METAHEURÍSTICOS
La clasificación de métodos de resolución mediante
heurísticos:
.
Relativamente sencillos
Algoritmos aproximativos
Aceptan ocasionalmente
malos movimientos (Procesos
de búsqueda)
La regla de selección depende del instante
del proceso y de la historia hasta ese
momento.
Son generales
Se utiliza: No
hay método
exacto.
Demora,
limitaciones
Variable
Enteras y
reales
búsqueda por
entornos
García Sánchez, Alvaro. Técnicas metaheurísticas (p:2-4). http://www.iol.etsii.
upm.es/arch/metaheuristicas.pdf
JUAN CARLOS APAZA PAUCARA
16/06/2017
11
MODELAMIENTO
Lenguajes de programación general (C,
C++, Java, Visual Basic, FORTRAN 90) que
llaman a una biblioteca de optimización
Lenguajes o entornos de cálculo numérico o
simbólico (hojas de cálculo, lenguajes para
cálculo numérico intensivo, como MATLAB, o
para cálculo simbólico, como Maple o
Mathematica, etc.)
Bibliotecas de componentes orientados a objetos
(clases C++) para optimización: Concert de ILOG,
LINDO API de LINDO Systems, OptiMax 2000 de
Maximal Software, FLOPC++ de Universidad de
Aveiro…software abierto Computational
Infrastructure for Operations Research (COIN-OR)
(www.coin-or.org).
Entre los lenguajes de modelado más conocidos se pueden
mencionar: GAMS (www.gams.com), AMPL (www.ampl.com) de
origen estadounidense y MPL (www.maximalsoftware.com) y
AIMMS (www.aimms.com) y XPRESS-MP
(www.dashoptimization.com) de origen europeo. OLP Inegrada.
Ramos, Andrés,
Sánchez. Pedro, Ferrer,
Barquin y Linares. (2010).
JUAN CARLOS APAZA PAUCARA
16/06/2017
12
Tabla: tipos de problemas de optimización dentro de los métodos
clásicos. Las variables (reales/continuas o enteras/discretas).
JUAN CARLOS APAZA PAUCARA
16/06/2017
13
Algoritmos Creados por Martínez, (2008) los algoritmos abiertos basados en
números (ABN), El nombre de los algoritmos describe las principales
características de los mismos:
• A de Abiertos, porque no hay una forma única de realizarlos, cada alumno o
alumna puede trabajar de forma distinta, en función de su desarrollo, dominio de
cálculo, estrategias de cálculo, o simple capricho. Esta característica se
contrapone a los algoritmos tradicionales que son cerrados, en el sentido que
hay solo una forma de hacerlos.
• BN de Basados en Números, en contraposición a los algoritmos tradicionales
que están basados en cifras, el algoritmo ABN siempre trabaja con números, que
podrán ser más grandes o más pequeños, pero siempre combinan números
completos con todo su significado y no cifras a las que se trata de igual manera
sin tener en cuanta sus valores posicionales, lo que hace que se pierda el
verdadero sentido numérico del proceso” Povedano y López, (2014 : 42-43).
ALGORITMOS ABIERTOS BASADOS EN NÚNEROS (ABN)
Algoritmo adaptativo.
Todos los algoritmos incorporan la profundidad, el tiempo de
fondo y la mezcla de gases como elementos para calcular el tiempo
de descompresión.
El ZHL-8 ADT MB PMG de SCUBAPRO es el único algoritmo que
incluye la frecuencia respiratoria como indicador de la carga de trabajo
durante la inmersión y adapta las paradas de descompresión a fin de evitar
factores de riesgo.
JUAN CARLOS APAZA PAUCARA
ALGORITMOS
NATURALES
GESTACIÓN
LAS
ESTACIONES
EL PROCESO
DIGESTIVO
López, (2009) “El
proceso digestivo es un concepto
intuitivo de algoritmo con el que se
convive a diario sin que haga falta
un definición “matemática” del
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”
(p:21).
LOS CICLOS
CÓSMICOS, Etc.
Procesos,
rutinas o
biorritmos
naturales
Como
16/06/2017JUAN CARLOS APAZA PAUCARA
14
16/06/2017
15
ALGORITMOS
EVOLUTIVOS
1960
campo científico e industrial es intratable.
Un método exacto necesita un
tiempo polinomial para
garantizar la optimalidad de la
solución. problemas
denominados NP-duros
Método de
garantía
Solución de
alta calidad
Tiempo
Razonable
Aunque no garantice
una solución óptima
global
Métodos
aproximados
HEURÍSTICOSMETAHEURÍSTICA
ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN
.
Los Algoritmos Genéticos
(GA) (Holland 1992)
La Búsqueda Tabú (Tabu
Search) (Glover 1989)El Recocido Simulado
(Simulated Annealing) (Van
Laarhoven y Aarts 1987),
La Búsqueda Dispersa (Scatter
Search) (Glover et al. 2000)
Las Colonias de Hormigas
(ACO), entre otras
Búsqueda
dispersa
BD(V.
Discreta)
Variable
Contínua.
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda
Dispersa aplicados a problemas de Optimización Discreta.
Actualmente
JUAN CARLOS APAZA PAUCARA
16/06/2017
16
Algoritmos Genéticos
JUAN CARLOS APAZA PAUCARA
…la supervivencia de los más fuertes, postulados por Darwin (1859)…Los
principios básicos de los Algoritmos Genéticos fueron establecidos por
Holland (1975), y se encuentran bien descritos en varios textos – Goldberg
(1989), Davis (1991), Michalewicz (1992), Reeves (1993) –
Los Algoritmos Genéticos usan una analogía directa con el comportamiento
natural.
(http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf),
16/06/2017
17
IV. PROCEDIMIENTOS CONSTRUCTIVOS
ANALIZAR UN
PROBLEMA
TRADUCIR
UN
ALGORITMO
DISEÑAR UN
ALGORITMO
DEPURAR UN
ALGORITMO
Entrada Proceso Salida
Todo algoritmo consta de tres secciones principales:
introducción de datos Es el conjunto de operaciones a realizar
para dar solución al problema.
resultados obtenidos
JUAN CARLOS APAZA PAUCARA
16/06/2017
18
Resolución
de
Problemas
PCs
Aprender un
lenguaje de
programación
IDENTICACIÓN
DEL PROBLEMA
RESOLUCIÓN
IMPLEMENTACIÓN
FASE
Resolución de problemas por computadoras
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
/Guia_de_algioritmos.pdf
JUAN CARLOS APAZA PAUCARA
16/06/2017
19
Diseño del
algoritmo
Análisis del
problema
IDENTICACIÓN
DEL PROBLEMA
Idea clara
sobre lo que se
solicita
Datos necesarios
FASE
Resolución de problemas por computadoras
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
/Guia_de_algioritmos.pdf
Verificación
del
algoritmo
Preciso
Definido,
Consitente
Finito
Resultado
correcto,
esperado
Ejecución manual
Prueba de
algoritmo
Trazar
un plan
JUAN CARLOS APAZA PAUCARA
16/06/2017
20
Diagrama de flujo Inicio/final
Entrada por
teclado
Llamada por
subrutina
Diagrama
de flujo
Entrada
general
Acción o
proceso general
Salida
Pantalla
Decisión
Salida
Impresora
FlujoConector en
página
Conector páginas
diferentes
Iteración
Es una notación gráfica para
implementar algoritmos.
JUAN CARLOS APAZA PAUCARA
Diagrama de Flujo Elemental.
INICIO
Declaración e
Inicialización de
Variables
Entrada de
Datos
Presentación
de
Resultados
en Pantalla
FIN
Condici
ón
Verdad
era?
Si No
Acción 1 Acción 2
INICIO
Declaración e
Inicialización de
Variables
Entrada de
Datos
Procesamiento de
Datos
Presentación
de
Resultados
en Pantalla
FIN
• 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.
• Es para ser leído por personas, por tanto no se preocupa en detalles
sintácticos.
• Es un lenguaje de especificación de algoritmos, pero muy parecido a
cualquier lenguaje de programación, por lo que luego su traducción al lenguaje
de programación es muy sencillo, pero con la ventaja de que no se rige por las
normas de un lenguaje en particular. Nos centramos más en la lógica del
problema.
• El pseudocódigo también va a utilizar una serie de palabras claves o palabras
especiales que va indicando lo que significa el algoritmo.
V. PSEUDOCÓDIGO
Pseudocódigo: Diseño
Definición del problema
Análisis del problema
Selección de la mejor
alternativa
Algoritmo
Diagramación
Pseudocódigo
16/06/2017 JUAN CARLOS APAZA PAUCARA
23
Pseudicódigo: Definición del Problema
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/2017 JUAN CARLOS APAZA PAUCARA
24
Pseudicódigo: Definición del Problema
Hallar el salario mensual de un
empleado.
El salario se calcula según las
horas semanales trabajadas y el
valor de la hora, si se pasan las
horas extraordinarias (40
semanales), se pagarán al 1,5 %
16/06/201
7
JUAN CARLOS APAZA PAUCARA
Ejemplo1
25
CasoSmuaeylodrode40
Hallar Sueldo=(40*val_hora) +
((1.5*val_hora)*(Horas-40))
El programa deberá mostrar
el nombre yelsueldo delempleado
Pseudocódigo: Análisis
del Problema
Los datos de
entrada que nos
suministran
El proceso que
debe realizarse
Los datos de
salida o
resultados que
se esperan
16/06/201
7
JUAN CARLOS APAZA PAUCARA
26
ALGORITMO: Definición de Constantes
y Variables
Constantes
No existe un valor
dentro del programa
que debe permanecer
constante
nombre,
val_hora,
Horas, Sueldo
Variables
16/06/2017
JUAN CARLOS APAZA PAUCARA
27
ALGORITMO - PSEUDOCODIGO
 Inicio
1. Solicitar los datos del empleado
2. Almacenar los datos
3. Si el numero de horas es mayor a
cuarenta entonces
1. Hallar el valor del sueldo teniendo
en cuenta que el valor de la hora
adicional será mas el 1.5%
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
 4. Generar el nombre del empleado y
su sueldo.
 Fin
Inicio
Haga nombre=“”, val_hora=0, Horas=0,
Sueldo=0
Mostrar “Digite datos del empleado” Capture
nombre, val_hora, Horas Si (Horas
<=40)entonces
Haga sueldo=Horas * val_hora;
si no
Haga sueldo=(Horas * val_hora)+
((Horas-40)*(1.5*val_hora));
Fin si
Mostrar “El sueldo de :“, nombre, “es: ”, sueldo
Fin
16/06/201
7
JUAN CARLOS APAZA PAUCARA
28
ALGORITMO - DF
 Inicio
1. Solicitar los datos del empleado
2. Almacenar los datos
3. Si el numero de horas es mayor a
cuarenta entonces
1. Hallar el valor del sueldo teniendo
en cuenta que el valor de la hora
adicional será mas el 1.5%
2. Si no paso 3 entonces hallar el
valor del sueldo normalmente.
 4. Generar el nombre del empleado y
su sueldo.
 Fin
Inicio
nombre=“”, val_hora=0, Horas=0,
Sueldo=0
“Digite datos del empleado”
nombre, val_hora, Horas
Horas==40
sueldo=Horas * val_hora;
sueldo=(Horas * val_hora)+
((Horas-40)*(1.5*val_hora));
“El sueldo de :“, nombre, “es: ”,
sueldo
Inicio 16/06/201
7
JUAN CARLOS APAZA PAUCARA
29
Pseudicódigo: Definición del Problema
Clasificar las hojas de vida de un
empleado teniendo en cuenta las
siguientes características:
-Se requiere hombre entre 20 y 25
años, con situación militar definida para
el departamento de Producción.
-Se requiere mujer con estudios de
Secretariado Bilingüe para la Secretaría
de Gerencia General
16/06/2017 JUAN CARLOS APAZA PAUCARA
Ejemplo2
30
Las operaciones que es necesario hacer,
en este caso, son Comparaciones
M (Edad)
F (Estudios)
con los
requisitos
Es apto
Dpto Prod.
El programa deberá mostrar si el empleado
es apto para el Departamento de
producción
O para la Secretaría de Gerencia
O No cumple con los requisitos
Pseudocódigo: Análisis del Problema
Los datos de
salida o
resultados que se
esperan
Los datos de
entrada que nos
suministran
El proceso que
debe realizarse
16/06/2017 JUAN CARLOS APAZA PAUCARA
31
ALGORITMO: Definición de
Constantes y Variables
Constantes
No existe un valor
dentro del programa
que debe permanecer
constante
nombre,
Sexo,
Edad
LibretaM,
certifE
Variables
16/06/201
7
JUAN CARLOS APAZA PAUCARA
32
ALGORITMO - PSEUDOCODIGO
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
16/06/2017 JUAN CARLOS APAZA PAUCARA
3.1.1
3.1.1.1
3.1.1.2
Si tiene Libreta Militar entonces
Indicar que es apto para Dpto de Producción
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
33
PSEUDOCODIGO
Inicio
Fin
16/06/2017 JUAN CARLOS APAZA PAUCARA
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Haga nombre=“ ”, sexo=“ ”, edad=0, LibretaM=“ ”, certifE=“ ”
Mostrar “Digite datos del empleado”
Capture nombre, sexo, edad, LibretaM, certifE
Si (sexo = =“M”) entonces
Si ((edad>20) && (edad<25)) entonces
Si (LibretaM = =“Si”) entonces
Mostrar nombre, “es apto para Dpto Producción ”
si no
Mostrar nombre, “no cumple con los requisitos ”
si no
Mostrar nombre, “no cumple con los requisitos ”
si no Si (certifE = =“Si”) entonces
Mostrar nombre, “es apta para Secretaría Gerencia ”
si no
Mostrar nombre, “no cumple con los requisitos ”
34
Diagrama de FlujoInicio
nombre=“ ”, sexo=“ ”, edad=0,
LibretaM=“ ”, certifE=“ ”
“Digite datos del empleado”
nombre, sexo, edad,
LibretaM, certifE
sexo= =M
nombre, “es apto para
Dpto Producción ”
Fin
Edad>20
&&
Edad<25
LibretaM==
Si
nombre, “no cumple con los
requisitos ”
cerfE= =S
nombre, “es apto para Secretaría
General ”
Si Si Si
Si
1
1
No
16/06/2017 JUAN CARLOS APAZA PAUCARA
No
No No
35
16/06/2017
36
IMPLEMENTACIÓN
Codificación o
Traducción
Lenguaje de
programación
FASE
Resolución de problemas por computadoras
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
/Guia_de_algioritmos.pdf
Ejecución
Comprobación
JUAN CARLOS APAZA PAUCARA
37
Ciclo de Vida en cascada con prototipos
Investigación
preliminar
Diseño
y realización
Diseño
...
Definir requisitos
OK
KO
Evaluación
Modificación
Breve análisis
y especificación
16/06/2017JUAN CARLOS APAZA PAUCARA
16/06/2017
38
FAMILIA DE LENGUAJES DE PROGRAMACIÓN
TIPO NOMBRE DESARROLLO
Imperativos
(se inspiran en la
máquina de Von-
Neumann y toman
como modelo
teórico las máquinas
de Turing)
FORTRAN
COBOL
ALGOL
BASIC
PASCAL
C
ADA
desarrollado por J. Backus desde 1955 hasta 1958.
(COmmon Business Oriented Language) 60.
(ALGOrithmic Language)
(Beginner’s All-purpose Symbolic Instruction Code), por T. Kurtz y J. Kemeny 60.
Creado por N. Wirth en 1970
Desarrollado a principios de los años 70
Desarrollado entre 1975 y 1980
FUNCIONALES
(tomar otras
funciones como
argumentos y
devolver funciones.)
LISP
Scheme
ML
Haskell
(LISt Processing). Desarrollado por J. McCarthy en 1958
Scheme. Desarrollado por G. J. Sussman y Steele Jr. en 1975
Creado por R. Milner en 1975
Desarrollado por un comité internacional en 1990
ORIENTADOS A
OBJETOS
(la herencia que
facilita la reutilización
de código.)
Simula
Smalltalk
C++
Java
Python
C#
Desarrollado por O. J. Dahl y K. Nygaard entre 1962 y 1967
Smalltalk. Desarrollado por A. C. Kay en 1971
Creado en 1985 por B. Stroustroup
Desarrollado por J. Gosling en 1993
Creado por Guido van Rossum en 1990
C#. Creado por Microsoft para la plataforma .NET en 1999.
PROGRAMACIÓN
LÓGICA (Utiliza el
algoritmo de
resolución para
buscar soluciones)
Prolog
Curry
Creado en 1972 por J. Colmerauer
Curry. Creado por M. Hanus en 1996
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
39
APLICACIONES
V. APLICACIONES
JUAN CARLOS APAZA PAUCARA
ALGORITMOS RÁPIDOS
Se requiere conocimiento en matemáticas
sobre:
• Teoría de números.
• Campos y anillos finitos sobre los
números enteros.
• Polinomios mínimos y conjugados.
• Polinomios ciclotómicos.
• Campos y anillos de polinomios.
• Grupos.
• Espacios vectoriales.
• Algebra lineal.
Se requiere conocimiento en
computación sobre:
• Programación.
• Programación avanzada.
• Estructura de datos.
Los algoritmos rápidos se requieren en
programación de sistemas asociados
a:
– Sonar.
– Radar.
– Procesamiento sísmico.
– Tomografía computarizada.
– Procesamiento digital de imágenes y
señales.
– Cualquier aplicación que requiere un
gran volumen de cálculos numéricos.
Nombre de la
variable
Descripción Tipo
Variable Descripción
Tipo
I Contador y subíndice Entero
V Contador y subíndice Entero
V Nombre del arreglo de ventas Entero
VA Representa la venta mayor
realizada
Entero
APLICACIÓN DE MARKETING
En un arreglo se tienen registradas las ventas de cinco
empleados durante cinco días de la semana. Se requiere
determinar cuál fue la venta mayor realizada. Realice un algoritmo para tal
fin y represéntelo mediante diagrama de flujo, pseudocódigo y diagrama
N/S. Para resolver este problema se debe entender que en el arreglo al
que se hace referencia, los renglones definen a los empleados y las
columnas los días de la semana, en consecuencia, se trata de un arreglo
de 5 x 5. Lo que se trata de encontrar es el valor mayor almacenado en el
arreglo. En la tabla 5.8 se muestran las variables que se requieren utilizar
para generar el algoritmo solución de este problema.
16/06/2017JUAN CARLOS APAZA PAUCARA
40
V [I, J] >
MA
J>5
MA
V[I,J]
INICIOI
FIN
I>5
I=I+
1
J=1
J=J+1
MA = V [1,
1]
V [I, J]
I>5
J >5
J=1
J=J+1
I = 1
I = I + 1
16/06/2017JUAN CARLOS APAZA PAUCARA
41
ALGORITMO DE MARKETING
1. Inicio
2. Desde I = 1 hasta I = 5
Desde J = 1 hasta J = 5
Leer V [I, J]
Fin desde
Fin desde
3. Hacer MA = V [1, 1]
4. Desde I = 1 hasta I = 5
Desde J = 1 hasta J = 5
Si V [I, J] > MA
Entonces
Hacer MA = V [I, J]
Fin compara
Fin desde
Fin desde
5. Escribir MA
6. Fin
Pseudocódigo Algoritmo para determinar la
venta mayor de la semana 16/06/2017JUAN CARLOS APAZA PAUCARA
42
16/06/2017
43
Parrino, Mario. (2010)
Heurística aplicada a la asignación de recursos humanos en una Universidad
JUAN CARLOS APAZA PAUCARA
16/06/2017
44
CONCLUSIONES
Las Conclusiones son las siguientes:
1. La teoría de los algoritmos eficientes en optimización discreta,
combinatoria y continua es aplicable en hallar el trayecto más corto
entre dos estaciones es algo que interesa a muchos viajeros del metro y
se pueden obtener aproximaciones bastante buenas del mundo real
utilizando algunos de los algoritmos que obtienen distancias mínimas.
2. La utilidad de los algoritmos, sirven para procesar cadenas, o algoritmos
criptográficos, y otros de optimización basados en búsquedas los
cuales recorren el espacio de soluciones tratando de conseguir una
buena solución en un tiempo razonable para minimizar o maximizar un
valor y tratando de evitar quedarse estancado en mínimos o máximos
locales.
3. El conocimiento adecuado de algoritmia y estructuras de datos facilita
el poder pasar de un lenguaje de programación a otro con mucha
mayor facilidad: puesto que ya se tiene la base, sólo hace falta superar
las dificultades técnicas particulares de cada lenguaje.
.
JUAN CARLOS APAZA PAUCARA
16/06/2017
45
RECOMENDACIONES
Las recomendaciones son las siguientes:
1. En el modelamiento cuantitativo para la toma decisiones es necesario
la aplicación de las matemáticas en el diseño de los algoritmos
apropiados pata la solución de Riesgos e incertidumbre de los
mercados.
2. Los gerentes deben recibir capacitación en Los Métodos heurísticos y l
metaheurísticos que son una alternativa para la solución aproximada
de los problemas complejos.
3. Deben orientar trabajos de investigación en la optimización de los
sistemas.
JUAN CARLOS APAZA PAUCARA
REFERENCIAS BIBLIOGRÁFICAS
Parrino, Mario. (2010). Heurística aplicada a la asignación de recursos humanos en una
Universidad. U. de Palermo Buenos Aires.
Ramos Andrés, Sánchez Pedro, Ferrer, Barquin y Linares. (2010). Modelos matemáticos de
optimización. Universidad Pontificia ICAE. Madrid.
Cairó Olvaldo, (2005). Metodología de la programación (algoritmos, diagramas de flujo y
programas), Editorial Alfaomega, Segunda edición.
Ferreyra Cortés Gonzalo. (2001). Informática para cursos de bachillerato, Editorial
Alfaomega, Segunda Edición
Imágenes obtenidas del Software DFD y Pseint.
Joyanes Aguilar Luís, Rodríguez Luis y Fernández Matilde. (1996). Fundamentos de
programación (Algoritmos, estructuras de datos y objetos), Editorial McGraw Hill,
Tercera Edición.
López Garcia, Juan Carlos. (2009). Algoritmos y programación. Segunda edición. Colombia.
Povedano Natividad Adamuz y López. Rafael Bracho. (2014). Algoritmos flexibles para las
operaciones básicas como modo de favorecer la inclusión social. Revista
Internacional de Educación para la Justicia Social (RIEJS), 3(1), 37-53. Universidad
de Córdoba
Samperio Monroy Theira Irasema. (2013). Representación de algoritmos. UA de Estado de
Hidalgo.
Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda Dispersa
aplicados a problemas de Optimización Discreta. UNPA. Caleta Olivia.
16/06/2017JUAN CARLOS APAZA PAUCARA
46
16/06/2017JUAN CARLOS APAZA PAUCARA
47
APÉNDICE
Tipo de
datos
Numéricos
Lógicos
Alfanuméricos
Entero y real
V o F
2, a. *. L´_b.---
Variables Prom=(a+b+c)/3
Constantes Pi, k
Operadores
y expresiones
Expresiones
Operadores matemáticos
Operador de asignación
Operador de relación
Operador de lógicos
Resultado=a*(2)
+ - * / ^ **
=
> < >= <= < >
AND, OR, NOT
Prioridad entre los Operadores
1) Matemáticos
2) Relacionales
3) Lógicos
4) De asignación
Siempre se
ejecutan de
izquierda a
derecha en caso
de haber dos ó
más operadores
con el mismo nivel
de prioridad.
16/06/2017
49
MUCHAS GRACIAS
JUAN CARLOS APAZA PAUCARA

Más contenido relacionado

PPTX
Investigacion de operaciones 1 (1)
DOC
Resumen lectura-1-historia-mcuantitativos1
DOC
Resumen lectura-1-historia-mcuantitativos1
DOC
Historia de Métodos Cuantitativos
DOC
Resumen lectura-1-historia-mcuantitativos1
PPTX
La computación
DOCX
Actividad tema 2
DOC
Antecedentes de los metodos cuantitativos
Investigacion de operaciones 1 (1)
Resumen lectura-1-historia-mcuantitativos1
Resumen lectura-1-historia-mcuantitativos1
Historia de Métodos Cuantitativos
Resumen lectura-1-historia-mcuantitativos1
La computación
Actividad tema 2
Antecedentes de los metodos cuantitativos

La actualidad más candente (9)

DOC
historia métodos cuantittativos
DOC
Historia Métodos Cuantitativos
PPTX
Inteligencia artificial
PPTX
Diapositivas 2
DOCX
Computacion s.m
DOCX
Modelos Iconográficos, Analógicos y Matemáticos o Digitales
PPTX
Matematicas
PDF
DISEÑO DE ALGORITMOS PARALELOS
DOCX
Actividad tema 2
historia métodos cuantittativos
Historia Métodos Cuantitativos
Inteligencia artificial
Diapositivas 2
Computacion s.m
Modelos Iconográficos, Analógicos y Matemáticos o Digitales
Matematicas
DISEÑO DE ALGORITMOS PARALELOS
Actividad tema 2
Publicidad

Similar a Tf algoritmo juan carlos apaza paucara (20)

PDF
Resumen de algoritmo
PPTX
Análisis y Diseño de Algoritmos
PPTX
Ch1LevitinEsapañol.pptx este es un interesante
PPTX
Algoritmo
PDF
Rol de los algoritmos
PDF
Roldelosalgoritmos 190622134550-190622141439
PDF
Logaritmos 2
PDF
Roldelosalgoritmos 190622134550
PPTX
Algoritmo
PPTX
Algoritmos1
DOCX
Algoritmos
PDF
Algorítmia-TESIS.pdf
PPTX
Logica algoritmos
PDF
Manual analisis-de-algoritmos
PDF
Manual análisis de algoritmos
PDF
Manual de análisis y diseño de algoritmos
KEY
Sosa info 04
PDF
Algoritmo
PDF
Manual analisis de algoritmos v1
Resumen de algoritmo
Análisis y Diseño de Algoritmos
Ch1LevitinEsapañol.pptx este es un interesante
Algoritmo
Rol de los algoritmos
Roldelosalgoritmos 190622134550-190622141439
Logaritmos 2
Roldelosalgoritmos 190622134550
Algoritmo
Algoritmos1
Algoritmos
Algorítmia-TESIS.pdf
Logica algoritmos
Manual analisis-de-algoritmos
Manual análisis de algoritmos
Manual de análisis y diseño de algoritmos
Sosa info 04
Algoritmo
Manual analisis de algoritmos v1
Publicidad

Último (20)

PDF
Mapa mental de cultura social Historia Economica
PPTX
funcionesestadisticas-131218074642-phpapp02_095910.pptx
PPTX
Analisis-Vygotskiano-El-Desarrollo-Temprano-de-0-a-3-Anos.pptx
PDF
Proyecto Bootcamp - Entregables y Documentación.pdf
DOCX
Documento sin título.dohdjdksksksksksjjskscx
PPT
Estadistica descriptiva e inferencial para procesos industriales y de desarrollo
PPTX
Gestion ambiental……………….////////…………………..
PDF
Ranking de potencias geopolíticas revisado al año (2025).pdf
PPTX
Diapos.pptxcscscscscscscscscscscscscscscsc
PDF
Principios d. Anatomía y no se que más poner jaja
PPTX
Epidemiologia de campo vrs epidemiologia social.pptx
PPTX
CONVENIO DE GESTION 2025 DIRESA LIMA SAITARIA
PPTX
GUERRAS INTERNACIONALES DE BOLIVIA .pptx
PDF
Estrategia de apoyo realizada por juan pablo
PDF
Los mayores CI en la historia de la humanidad (2025).pdf
PDF
Cronogramas padres planeación mes de agosto
PPTX
ASTU_U3_EA_CLMR modelos del sistema turistico.pptx
PPT
RESOLUCION ALTERNATIVA DE CONFLICTOS 3 CONT.ppt
PDF
G1PPT.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
PDF
Crema Azul y Amarillo Ilustrativo Dibujado a Mano Técnicas de Muestreo Presen...
Mapa mental de cultura social Historia Economica
funcionesestadisticas-131218074642-phpapp02_095910.pptx
Analisis-Vygotskiano-El-Desarrollo-Temprano-de-0-a-3-Anos.pptx
Proyecto Bootcamp - Entregables y Documentación.pdf
Documento sin título.dohdjdksksksksksjjskscx
Estadistica descriptiva e inferencial para procesos industriales y de desarrollo
Gestion ambiental……………….////////…………………..
Ranking de potencias geopolíticas revisado al año (2025).pdf
Diapos.pptxcscscscscscscscscscscscscscscsc
Principios d. Anatomía y no se que más poner jaja
Epidemiologia de campo vrs epidemiologia social.pptx
CONVENIO DE GESTION 2025 DIRESA LIMA SAITARIA
GUERRAS INTERNACIONALES DE BOLIVIA .pptx
Estrategia de apoyo realizada por juan pablo
Los mayores CI en la historia de la humanidad (2025).pdf
Cronogramas padres planeación mes de agosto
ASTU_U3_EA_CLMR modelos del sistema turistico.pptx
RESOLUCION ALTERNATIVA DE CONFLICTOS 3 CONT.ppt
G1PPT.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Crema Azul y Amarillo Ilustrativo Dibujado a Mano Técnicas de Muestreo Presen...

Tf algoritmo juan carlos apaza paucara

  • 1. Tacna, 18 abril de 2020 UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN 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 16/06/2017 1
  • 2. ÍNDICE GENERAL RESUMEN I. DEFINICIÓN II. ALGORITMOS DEL SIGLO XX III. LA OPTIMIZACIÓN III. PROCEDIMIENTOS CONSTRUCTIVOS V. PSEUDOCÓDIGO VI. APLICACIONES CONCLUSIONES RECOMEDACIONES REFERENCIAS APÉNDICE 16/06/2017JUAN CARLOS APAZA PAUCARA 2
  • 3. 16/06/2017 3 RESUMEN El presente trabajo muestra el análisis de carácter teórico de modelamientos de algoritmos en la gestión administrativa, aplicados en la actualidad en la solución de problemas clásicos y complejos y la importancia de las matemáticas, en las diferentes estructuras de ramas del saber que han tenido aplicaciones los algoritmos. Durante miles de años el ser humano se ha esforzado por abstraer la estructura de la solución de problemas con el fin de determinar claramente cuál es el camino seguro, preciso y rápido que lleva a esas soluciones. Son abundantes los ejemplos: máximo común divisor, teorema de Pitágoras, áreas de figuras geométricas, división, suma de números fraccionarios, etc. Todos estos algoritmos matemáticos independizan los datos iniciales del problema de la estructura de su solución, lo que permite su aplicación con diferentes conjuntos de datos iniciales (variables). KEYWORDS: Algoritmo, Análisis, Diseño y Control. *Docente de la UNJBG. Asignatura: en SIG `para toma de decisiones 2017. JUAN CARLOS APAZA PAUCARA ANÁLISIS DE LOS MODELAMIENTOS DE ALGORITMOS EN LA GESTIÓN ADMINISTRATIVA Apaza Paucara, Juan Carlos*
  • 4. 16/06/2017JUAN CARLOS APAZA PAUCARA 4 Abstract The present work shows the theoretical analysis of algorithms modeling in the administrative management, currently applied in the solution of classic and complex problems and the importance of mathematics in the different structures of branches of knowledge that have had applications Algorithms. For thousands of years human beings have endeavored to abstract the structure of problem solving in order to determine clearly which is the safe, precise and rapid path that leads to such solutions. Examples are abundant: maximum common divisor, Pythagorean theorem, areas of geometric figures, division, sum of fractional numbers, and so on. All these mathematical algorithms make initial problem data independent of the structure of their solution, allowing their application with different sets of initial (variable) data. KEYWORDS: Algorithm, Analysis, Design and Control. * Professor of the UNJBG. Subject: in SIG `for decision making 2017. ** Nurse of the Regional Hospital of Tacna ,. ANALYSIS OF ALGORITHM MODELS IN ADMINISTRATIVE MANAGEMENT Apaza Paucara, Juan Carlos* y Mamani, Mercedes**
  • 5. 16/06/2017 5 I. DEFINICIÓN ALGORITMO Esta palabra se deriva de la traducción al latín de la palabra árabe ALKHÔWARÎZMI, En el siglo IX, el matemático y geógrafo Mohammed Ibn Musa Al-Khwarizmi, escribió un pequeño libro donde explicaba los nuevos dígitos creados por los hindúes y cómo utilizarlos para realizar sencillas operaciones. Se ha perdido la versión original de esta obra, .Kitab al-Jam.a wal-Tafreeq bil Hisab al- Hindi. (también llamada .Aritmética., en forma abreviada), pero se han conservado diversas traducciones al latín, realizadas todas ellas en España, que entonces era el punto de encuentro de las culturas árabe y latina. Según la Real Academia, en su diccionario online, ““Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema”. López, (2009) Algoritmo Consiste en aplicar adecuadamente una serie de pasos detallados que aseguran una solución correcta. Por lo general, cada algoritmo es específico de un dominio del conocimiento. La programación de computadores se apoya en este método. (P.7) JUAN CARLOS APAZA PAUCARA
  • 6. 16/06/2017 6 Definición de Algoritmo Un algoritmo es la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y expresado en lenguaje natural, por ejemplo el castellano. Un heurístico es un “procedimiento simple, a menudo basado en el sentido común, que se supone que ofrecerá una buena solución (aunque no necesariamente la óptima) a problemas difíciles, de un modo fácil y rápido”. (Zanakins y Evans, 1981) "En la última década, los nuevos avances en algoritmos han sido tan importantes como Los impresionantes avances en la tecnología informática “ Nemhauser. George L. (1994). "Las mejoras tecnológicas en algoritmos, lenguajes de modelado, software y el hardware han hecho la metodología accesible, fácil de usar, y rápido. Así que la Era de la Optimización ha llegado “ Nemhauser. George L. (1994). JUAN CARLOS APAZA PAUCARA
  • 7. 16/06/2017 7 II. Los algoritmos del Siglo XX AÑO ALGORITMO APLICACIÓN 1946 Metrópolis de Monte Carlo Mediante el uso de procesos aleatorios, este algoritmo ofrece una manera eficiente para conseguir respuestas a problemas que son demasiado complicados de resolver en forma exacta. 1947 Método Simplex para programación lineal. Una solución elegante a un problema común en planificación y toma de decisiones. 1950 Método de iteración de subespacios de Krylov Una técnica para solución rápida de ecuaciones lineales que abundan en computación científica. 1951 Enfoque descomposicional para cómputo de matrices Un conjunto de técnicas para el álgebra lineal numérica. 1957 El compilador Fortran de optimización Cambia código de alto nivel en código informático eficiente y legible. 1959 Algoritmo QR para cálculo de valores propios . Otra operación crucial de matrices hecha rápida y práctica. JUAN CARLOS APAZA PAUCARA
  • 8. 16/06/2017 8 Los algoritmos del Siglo XX AÑO ALGORITMO APLICACIÓN 1962 Algoritmos de ordenamiento rápido (Quicksort). Para el manejo eficiente de grandes bases de datos. 1965 Transformada Rápida de Fourier (FFT). Tal vez el algoritmo de mayor alcance en matemáticas aplicadas en uso hoy en día,. Descompone formas de onda en componentes periódicos. 1977 Detección de relación entre enteros Un método rápido para detectar ecuaciones simples satisfechas por colecciones de números aparentemente inconexos. 1987 Método rápido multipolar Un gran avance en el tratamiento de la complejidad de los cálculos de n-cuerpos, aplicado en problemas que van desde la mecánica celeste al plegamiento de proteínas. JUAN CARLOS APAZA PAUCARA
  • 10. 16/06/2017 10MÉTODOS EURÍSTICOS Se basan en la aplicación de reglas sencillas. Se diferencia, tratan de huir de óptimos locales orientada en búsqueda permanente dependiendo de la evolución del proceso de búsqueda Constructivos Descomposición Reducción Manipulación del modelo Son ciegas METAHEURÍSTICOS La clasificación de métodos de resolución mediante heurísticos: . Relativamente sencillos Algoritmos aproximativos Aceptan ocasionalmente malos movimientos (Procesos de búsqueda) La regla de selección depende del instante del proceso y de la historia hasta ese momento. Son generales Se utiliza: No hay método exacto. Demora, limitaciones Variable Enteras y reales búsqueda por entornos García Sánchez, Alvaro. Técnicas metaheurísticas (p:2-4). http://www.iol.etsii. upm.es/arch/metaheuristicas.pdf JUAN CARLOS APAZA PAUCARA
  • 11. 16/06/2017 11 MODELAMIENTO Lenguajes de programación general (C, C++, Java, Visual Basic, FORTRAN 90) que llaman a una biblioteca de optimización Lenguajes o entornos de cálculo numérico o simbólico (hojas de cálculo, lenguajes para cálculo numérico intensivo, como MATLAB, o para cálculo simbólico, como Maple o Mathematica, etc.) Bibliotecas de componentes orientados a objetos (clases C++) para optimización: Concert de ILOG, LINDO API de LINDO Systems, OptiMax 2000 de Maximal Software, FLOPC++ de Universidad de Aveiro…software abierto Computational Infrastructure for Operations Research (COIN-OR) (www.coin-or.org). Entre los lenguajes de modelado más conocidos se pueden mencionar: GAMS (www.gams.com), AMPL (www.ampl.com) de origen estadounidense y MPL (www.maximalsoftware.com) y AIMMS (www.aimms.com) y XPRESS-MP (www.dashoptimization.com) de origen europeo. OLP Inegrada. Ramos, Andrés, Sánchez. Pedro, Ferrer, Barquin y Linares. (2010). JUAN CARLOS APAZA PAUCARA
  • 12. 16/06/2017 12 Tabla: tipos de problemas de optimización dentro de los métodos clásicos. Las variables (reales/continuas o enteras/discretas). JUAN CARLOS APAZA PAUCARA
  • 13. 16/06/2017 13 Algoritmos Creados por Martínez, (2008) los algoritmos abiertos basados en números (ABN), El nombre de los algoritmos describe las principales características de los mismos: • A de Abiertos, porque no hay una forma única de realizarlos, cada alumno o alumna puede trabajar de forma distinta, en función de su desarrollo, dominio de cálculo, estrategias de cálculo, o simple capricho. Esta característica se contrapone a los algoritmos tradicionales que son cerrados, en el sentido que hay solo una forma de hacerlos. • BN de Basados en Números, en contraposición a los algoritmos tradicionales que están basados en cifras, el algoritmo ABN siempre trabaja con números, que podrán ser más grandes o más pequeños, pero siempre combinan números completos con todo su significado y no cifras a las que se trata de igual manera sin tener en cuanta sus valores posicionales, lo que hace que se pierda el verdadero sentido numérico del proceso” Povedano y López, (2014 : 42-43). ALGORITMOS ABIERTOS BASADOS EN NÚNEROS (ABN) Algoritmo adaptativo. Todos los algoritmos incorporan la profundidad, el tiempo de fondo y la mezcla de gases como elementos para calcular el tiempo de descompresión. El ZHL-8 ADT MB PMG de SCUBAPRO es el único algoritmo que incluye la frecuencia respiratoria como indicador de la carga de trabajo durante la inmersión y adapta las paradas de descompresión a fin de evitar factores de riesgo. JUAN CARLOS APAZA PAUCARA
  • 14. ALGORITMOS NATURALES GESTACIÓN LAS ESTACIONES EL PROCESO DIGESTIVO López, (2009) “El proceso digestivo es un concepto intuitivo de algoritmo con el que se convive a diario sin que haga falta un definición “matemática” del 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” (p:21). LOS CICLOS CÓSMICOS, Etc. Procesos, rutinas o biorritmos naturales Como 16/06/2017JUAN CARLOS APAZA PAUCARA 14
  • 15. 16/06/2017 15 ALGORITMOS EVOLUTIVOS 1960 campo científico e industrial es intratable. Un método exacto necesita un tiempo polinomial para garantizar la optimalidad de la solución. problemas denominados NP-duros Método de garantía Solución de alta calidad Tiempo Razonable Aunque no garantice una solución óptima global Métodos aproximados HEURÍSTICOSMETAHEURÍSTICA ALGORITMOS EVOLUTIVOS PARA OPTIMIZACIÓN . Los Algoritmos Genéticos (GA) (Holland 1992) La Búsqueda Tabú (Tabu Search) (Glover 1989)El Recocido Simulado (Simulated Annealing) (Van Laarhoven y Aarts 1987), La Búsqueda Dispersa (Scatter Search) (Glover et al. 2000) Las Colonias de Hormigas (ACO), entre otras Búsqueda dispersa BD(V. Discreta) Variable Contínua. Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda Dispersa aplicados a problemas de Optimización Discreta. Actualmente JUAN CARLOS APAZA PAUCARA
  • 16. 16/06/2017 16 Algoritmos Genéticos JUAN CARLOS APAZA PAUCARA …la supervivencia de los más fuertes, postulados por Darwin (1859)…Los principios básicos de los Algoritmos Genéticos fueron establecidos por Holland (1975), y se encuentran bien descritos en varios textos – Goldberg (1989), Davis (1991), Michalewicz (1992), Reeves (1993) – Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. (http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf),
  • 17. 16/06/2017 17 IV. PROCEDIMIENTOS CONSTRUCTIVOS ANALIZAR UN PROBLEMA TRADUCIR UN ALGORITMO DISEÑAR UN ALGORITMO DEPURAR UN ALGORITMO Entrada Proceso Salida Todo algoritmo consta de tres secciones principales: introducción de datos Es el conjunto de operaciones a realizar para dar solución al problema. resultados obtenidos JUAN CARLOS APAZA PAUCARA
  • 18. 16/06/2017 18 Resolución de Problemas PCs Aprender un lenguaje de programación IDENTICACIÓN DEL PROBLEMA RESOLUCIÓN IMPLEMENTACIÓN FASE Resolución de problemas por computadoras 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 /Guia_de_algioritmos.pdf JUAN CARLOS APAZA PAUCARA
  • 19. 16/06/2017 19 Diseño del algoritmo Análisis del problema IDENTICACIÓN DEL PROBLEMA Idea clara sobre lo que se solicita Datos necesarios FASE Resolución de problemas por computadoras 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 /Guia_de_algioritmos.pdf Verificación del algoritmo Preciso Definido, Consitente Finito Resultado correcto, esperado Ejecución manual Prueba de algoritmo Trazar un plan JUAN CARLOS APAZA PAUCARA
  • 20. 16/06/2017 20 Diagrama de flujo Inicio/final Entrada por teclado Llamada por subrutina Diagrama de flujo Entrada general Acción o proceso general Salida Pantalla Decisión Salida Impresora FlujoConector en página Conector páginas diferentes Iteración Es una notación gráfica para implementar algoritmos. JUAN CARLOS APAZA PAUCARA
  • 21. Diagrama de Flujo Elemental. INICIO Declaración e Inicialización de Variables Entrada de Datos Presentación de Resultados en Pantalla FIN Condici ón Verdad era? Si No Acción 1 Acción 2 INICIO Declaración e Inicialización de Variables Entrada de Datos Procesamiento de Datos Presentación de Resultados en Pantalla FIN
  • 22. • 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. • Es para ser leído por personas, por tanto no se preocupa en detalles sintácticos. • Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de programación, por lo que luego su traducción al lenguaje de programación es muy sencillo, pero con la ventaja de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica del problema. • El pseudocódigo también va a utilizar una serie de palabras claves o palabras especiales que va indicando lo que significa el algoritmo. V. PSEUDOCÓDIGO
  • 23. Pseudocódigo: Diseño Definición del problema Análisis del problema Selección de la mejor alternativa Algoritmo Diagramación Pseudocódigo 16/06/2017 JUAN CARLOS APAZA PAUCARA 23
  • 24. Pseudicódigo: Definición del Problema 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/2017 JUAN CARLOS APAZA PAUCARA 24
  • 25. Pseudicódigo: Definición del Problema Hallar el salario mensual de un empleado. El salario se calcula según las horas semanales trabajadas y el valor de la hora, si se pasan las horas extraordinarias (40 semanales), se pagarán al 1,5 % 16/06/201 7 JUAN CARLOS APAZA PAUCARA Ejemplo1 25
  • 26. CasoSmuaeylodrode40 Hallar Sueldo=(40*val_hora) + ((1.5*val_hora)*(Horas-40)) El programa deberá mostrar el nombre yelsueldo delempleado Pseudocódigo: Análisis del Problema Los datos de entrada que nos suministran El proceso que debe realizarse Los datos de salida o resultados que se esperan 16/06/201 7 JUAN CARLOS APAZA PAUCARA 26
  • 27. ALGORITMO: Definición de Constantes y Variables Constantes No existe un valor dentro del programa que debe permanecer constante nombre, val_hora, Horas, Sueldo Variables 16/06/2017 JUAN CARLOS APAZA PAUCARA 27
  • 28. ALGORITMO - PSEUDOCODIGO  Inicio 1. Solicitar los datos del empleado 2. Almacenar los datos 3. Si el numero de horas es mayor a cuarenta entonces 1. Hallar el valor del sueldo teniendo en cuenta que el valor de la hora adicional será mas el 1.5% 2. Si no paso 3 entonces hallar el valor del sueldo normalmente.  4. Generar el nombre del empleado y su sueldo.  Fin Inicio Haga nombre=“”, val_hora=0, Horas=0, Sueldo=0 Mostrar “Digite datos del empleado” Capture nombre, val_hora, Horas Si (Horas <=40)entonces Haga sueldo=Horas * val_hora; si no Haga sueldo=(Horas * val_hora)+ ((Horas-40)*(1.5*val_hora)); Fin si Mostrar “El sueldo de :“, nombre, “es: ”, sueldo Fin 16/06/201 7 JUAN CARLOS APAZA PAUCARA 28
  • 29. ALGORITMO - DF  Inicio 1. Solicitar los datos del empleado 2. Almacenar los datos 3. Si el numero de horas es mayor a cuarenta entonces 1. Hallar el valor del sueldo teniendo en cuenta que el valor de la hora adicional será mas el 1.5% 2. Si no paso 3 entonces hallar el valor del sueldo normalmente.  4. Generar el nombre del empleado y su sueldo.  Fin Inicio nombre=“”, val_hora=0, Horas=0, Sueldo=0 “Digite datos del empleado” nombre, val_hora, Horas Horas==40 sueldo=Horas * val_hora; sueldo=(Horas * val_hora)+ ((Horas-40)*(1.5*val_hora)); “El sueldo de :“, nombre, “es: ”, sueldo Inicio 16/06/201 7 JUAN CARLOS APAZA PAUCARA 29
  • 30. Pseudicódigo: Definición del Problema Clasificar las hojas de vida de un empleado teniendo en cuenta las siguientes características: -Se requiere hombre entre 20 y 25 años, con situación militar definida para el departamento de Producción. -Se requiere mujer con estudios de Secretariado Bilingüe para la Secretaría de Gerencia General 16/06/2017 JUAN CARLOS APAZA PAUCARA Ejemplo2 30
  • 31. Las operaciones que es necesario hacer, en este caso, son Comparaciones M (Edad) F (Estudios) con los requisitos Es apto Dpto Prod. El programa deberá mostrar si el empleado es apto para el Departamento de producción O para la Secretaría de Gerencia O No cumple con los requisitos Pseudocódigo: Análisis del Problema Los datos de salida o resultados que se esperan Los datos de entrada que nos suministran El proceso que debe realizarse 16/06/2017 JUAN CARLOS APAZA PAUCARA 31
  • 32. ALGORITMO: Definición de Constantes y Variables Constantes No existe un valor dentro del programa que debe permanecer constante nombre, Sexo, Edad LibretaM, certifE Variables 16/06/201 7 JUAN CARLOS APAZA PAUCARA 32
  • 33. ALGORITMO - PSEUDOCODIGO 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 16/06/2017 JUAN CARLOS APAZA PAUCARA 3.1.1 3.1.1.1 3.1.1.2 Si tiene Libreta Militar entonces Indicar que es apto para Dpto de Producción 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 33
  • 34. PSEUDOCODIGO Inicio Fin 16/06/2017 JUAN CARLOS APAZA PAUCARA • • • • • • • • • • • • • • • Haga nombre=“ ”, sexo=“ ”, edad=0, LibretaM=“ ”, certifE=“ ” Mostrar “Digite datos del empleado” Capture nombre, sexo, edad, LibretaM, certifE Si (sexo = =“M”) entonces Si ((edad>20) && (edad<25)) entonces Si (LibretaM = =“Si”) entonces Mostrar nombre, “es apto para Dpto Producción ” si no Mostrar nombre, “no cumple con los requisitos ” si no Mostrar nombre, “no cumple con los requisitos ” si no Si (certifE = =“Si”) entonces Mostrar nombre, “es apta para Secretaría Gerencia ” si no Mostrar nombre, “no cumple con los requisitos ” 34
  • 35. Diagrama de FlujoInicio nombre=“ ”, sexo=“ ”, edad=0, LibretaM=“ ”, certifE=“ ” “Digite datos del empleado” nombre, sexo, edad, LibretaM, certifE sexo= =M nombre, “es apto para Dpto Producción ” Fin Edad>20 && Edad<25 LibretaM== Si nombre, “no cumple con los requisitos ” cerfE= =S nombre, “es apto para Secretaría General ” Si Si Si Si 1 1 No 16/06/2017 JUAN CARLOS APAZA PAUCARA No No No 35
  • 36. 16/06/2017 36 IMPLEMENTACIÓN Codificación o Traducción Lenguaje de programación FASE Resolución de problemas por computadoras 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 /Guia_de_algioritmos.pdf Ejecución Comprobación JUAN CARLOS APAZA PAUCARA
  • 37. 37 Ciclo de Vida en cascada con prototipos Investigación preliminar Diseño y realización Diseño ... Definir requisitos OK KO Evaluación Modificación Breve análisis y especificación 16/06/2017JUAN CARLOS APAZA PAUCARA
  • 38. 16/06/2017 38 FAMILIA DE LENGUAJES DE PROGRAMACIÓN TIPO NOMBRE DESARROLLO Imperativos (se inspiran en la máquina de Von- Neumann y toman como modelo teórico las máquinas de Turing) FORTRAN COBOL ALGOL BASIC PASCAL C ADA desarrollado por J. Backus desde 1955 hasta 1958. (COmmon Business Oriented Language) 60. (ALGOrithmic Language) (Beginner’s All-purpose Symbolic Instruction Code), por T. Kurtz y J. Kemeny 60. Creado por N. Wirth en 1970 Desarrollado a principios de los años 70 Desarrollado entre 1975 y 1980 FUNCIONALES (tomar otras funciones como argumentos y devolver funciones.) LISP Scheme ML Haskell (LISt Processing). Desarrollado por J. McCarthy en 1958 Scheme. Desarrollado por G. J. Sussman y Steele Jr. en 1975 Creado por R. Milner en 1975 Desarrollado por un comité internacional en 1990 ORIENTADOS A OBJETOS (la herencia que facilita la reutilización de código.) Simula Smalltalk C++ Java Python C# Desarrollado por O. J. Dahl y K. Nygaard entre 1962 y 1967 Smalltalk. Desarrollado por A. C. Kay en 1971 Creado en 1985 por B. Stroustroup Desarrollado por J. Gosling en 1993 Creado por Guido van Rossum en 1990 C#. Creado por Microsoft para la plataforma .NET en 1999. PROGRAMACIÓN LÓGICA (Utiliza el algoritmo de resolución para buscar soluciones) Prolog Curry Creado en 1972 por J. Colmerauer Curry. Creado por M. Hanus en 1996 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
  • 39. 16/06/2017 39 APLICACIONES V. APLICACIONES JUAN CARLOS APAZA PAUCARA ALGORITMOS RÁPIDOS Se requiere conocimiento en matemáticas sobre: • Teoría de números. • Campos y anillos finitos sobre los números enteros. • Polinomios mínimos y conjugados. • Polinomios ciclotómicos. • Campos y anillos de polinomios. • Grupos. • Espacios vectoriales. • Algebra lineal. Se requiere conocimiento en computación sobre: • Programación. • Programación avanzada. • Estructura de datos. Los algoritmos rápidos se requieren en programación de sistemas asociados a: – Sonar. – Radar. – Procesamiento sísmico. – Tomografía computarizada. – Procesamiento digital de imágenes y señales. – Cualquier aplicación que requiere un gran volumen de cálculos numéricos.
  • 40. Nombre de la variable Descripción Tipo Variable Descripción Tipo I Contador y subíndice Entero V Contador y subíndice Entero V Nombre del arreglo de ventas Entero VA Representa la venta mayor realizada Entero APLICACIÓN DE MARKETING En un arreglo se tienen registradas las ventas de cinco empleados durante cinco días de la semana. Se requiere determinar cuál fue la venta mayor realizada. Realice un algoritmo para tal fin y represéntelo mediante diagrama de flujo, pseudocódigo y diagrama N/S. Para resolver este problema se debe entender que en el arreglo al que se hace referencia, los renglones definen a los empleados y las columnas los días de la semana, en consecuencia, se trata de un arreglo de 5 x 5. Lo que se trata de encontrar es el valor mayor almacenado en el arreglo. En la tabla 5.8 se muestran las variables que se requieren utilizar para generar el algoritmo solución de este problema. 16/06/2017JUAN CARLOS APAZA PAUCARA 40
  • 41. V [I, J] > MA J>5 MA V[I,J] INICIOI FIN I>5 I=I+ 1 J=1 J=J+1 MA = V [1, 1] V [I, J] I>5 J >5 J=1 J=J+1 I = 1 I = I + 1 16/06/2017JUAN CARLOS APAZA PAUCARA 41 ALGORITMO DE MARKETING
  • 42. 1. Inicio 2. Desde I = 1 hasta I = 5 Desde J = 1 hasta J = 5 Leer V [I, J] Fin desde Fin desde 3. Hacer MA = V [1, 1] 4. Desde I = 1 hasta I = 5 Desde J = 1 hasta J = 5 Si V [I, J] > MA Entonces Hacer MA = V [I, J] Fin compara Fin desde Fin desde 5. Escribir MA 6. Fin Pseudocódigo Algoritmo para determinar la venta mayor de la semana 16/06/2017JUAN CARLOS APAZA PAUCARA 42
  • 43. 16/06/2017 43 Parrino, Mario. (2010) Heurística aplicada a la asignación de recursos humanos en una Universidad JUAN CARLOS APAZA PAUCARA
  • 44. 16/06/2017 44 CONCLUSIONES Las Conclusiones son las siguientes: 1. La teoría de los algoritmos eficientes en optimización discreta, combinatoria y continua es aplicable en hallar el trayecto más corto entre dos estaciones es algo que interesa a muchos viajeros del metro y se pueden obtener aproximaciones bastante buenas del mundo real utilizando algunos de los algoritmos que obtienen distancias mínimas. 2. La utilidad de los algoritmos, sirven para procesar cadenas, o algoritmos criptográficos, y otros de optimización basados en búsquedas los cuales recorren el espacio de soluciones tratando de conseguir una buena solución en un tiempo razonable para minimizar o maximizar un valor y tratando de evitar quedarse estancado en mínimos o máximos locales. 3. El conocimiento adecuado de algoritmia y estructuras de datos facilita el poder pasar de un lenguaje de programación a otro con mucha mayor facilidad: puesto que ya se tiene la base, sólo hace falta superar las dificultades técnicas particulares de cada lenguaje. . JUAN CARLOS APAZA PAUCARA
  • 45. 16/06/2017 45 RECOMENDACIONES Las recomendaciones son las siguientes: 1. En el modelamiento cuantitativo para la toma decisiones es necesario la aplicación de las matemáticas en el diseño de los algoritmos apropiados pata la solución de Riesgos e incertidumbre de los mercados. 2. Los gerentes deben recibir capacitación en Los Métodos heurísticos y l metaheurísticos que son una alternativa para la solución aproximada de los problemas complejos. 3. Deben orientar trabajos de investigación en la optimización de los sistemas. JUAN CARLOS APAZA PAUCARA
  • 46. REFERENCIAS BIBLIOGRÁFICAS Parrino, Mario. (2010). Heurística aplicada a la asignación de recursos humanos en una Universidad. U. de Palermo Buenos Aires. Ramos Andrés, Sánchez Pedro, Ferrer, Barquin y Linares. (2010). Modelos matemáticos de optimización. Universidad Pontificia ICAE. Madrid. Cairó Olvaldo, (2005). Metodología de la programación (algoritmos, diagramas de flujo y programas), Editorial Alfaomega, Segunda edición. Ferreyra Cortés Gonzalo. (2001). Informática para cursos de bachillerato, Editorial Alfaomega, Segunda Edición Imágenes obtenidas del Software DFD y Pseint. Joyanes Aguilar Luís, Rodríguez Luis y Fernández Matilde. (1996). Fundamentos de programación (Algoritmos, estructuras de datos y objetos), Editorial McGraw Hill, Tercera Edición. López Garcia, Juan Carlos. (2009). Algoritmos y programación. Segunda edición. Colombia. Povedano Natividad Adamuz y López. Rafael Bracho. (2014). Algoritmos flexibles para las operaciones básicas como modo de favorecer la inclusión social. Revista Internacional de Educación para la Justicia Social (RIEJS), 3(1), 37-53. Universidad de Córdoba Samperio Monroy Theira Irasema. (2013). Representación de algoritmos. UA de Estado de Hidalgo. Soria C ., Pandolfi D., Villagra S y Villagra A. (2014). Algoritmos de Búsqueda Dispersa aplicados a problemas de Optimización Discreta. UNPA. Caleta Olivia. 16/06/2017JUAN CARLOS APAZA PAUCARA 46
  • 47. 16/06/2017JUAN CARLOS APAZA PAUCARA 47 APÉNDICE Tipo de datos Numéricos Lógicos Alfanuméricos Entero y real V o F 2, a. *. L´_b.--- Variables Prom=(a+b+c)/3 Constantes Pi, k Operadores y expresiones Expresiones Operadores matemáticos Operador de asignación Operador de relación Operador de lógicos Resultado=a*(2) + - * / ^ ** = > < >= <= < > AND, OR, NOT
  • 48. Prioridad entre los Operadores 1) Matemáticos 2) Relacionales 3) Lógicos 4) De asignación Siempre se ejecutan de izquierda a derecha en caso de haber dos ó más operadores con el mismo nivel de prioridad.