Академический Документы
Профессиональный Документы
Культура Документы
C a r l o s C a r v a j a l T. *
Resumen Abstract
En este artículo de investigación se analiza el modelo de inventarios This research paper studies a tunneling inventory model with
con demanda determinística de entubamiento con los algoritmos deterministic demand, using dynamic programming algorithms
de programación dinámica, con el fin de optimizarlos. El objetivo es to optimize inventories. The objective is to design software for
el diseño de un software para la toma de decisiones en el manejo decision-making in the management of tunneling inventories with
de inventarios de entubamiento con demanda determinística. La deterministic demand. The methodology is Object Oriented. The
metodología es la orientada a objetos. Los resultados son: diseño results consisted in the design of a mathematical model; recursive
del modelo matemático, algoritmos recursivos de programación algorithms implemented with dynamic programming; the Java
dinámica, programa en Java, diagramas en el Lenguaje de Mo- application and Unified Modeling Language (uml) diagrams. As a
delamiento Unificado (uml). Como conclusión se puede afirma que conclusion we state that the development of software with im-
para desarrollar un software con un alto componente matemático, portant mathematical components should be done in two phases.
este se debe hacer en dos fases: en la primera fase se desarrolla In the first phase the mathematical model must be developed.
el modelo matemático y en la segunda se implementa el Proceso The second phase is the implementation of the Unified Rational
Racional Unificado (rup). El artículo forma parte del proyecto de Process (rup). The paper is part of the research project: “Design
investigación “Diseño de un producto de software en Java, para of a Java software product for lot, deterministic, ordering inven-
modelos de inventarios determinísticos de lote económicos de tory models”, developed at the Universidad Cooperativa at Cali in
pedidos”, realizado en el 2011 en la Universidad Cooperativa, sede 2011, by the research group “Tools for the Support of Educational
Cali, por el grupo de investigación “Herramientas para apoyo de Processes (Gihaped)”.
procesos educativos (Gihaped)”.
Keywords: deterministic demand, Unified Modeling Language
Palabras clave: demanda determinista, Lenguaje de Modelamien- (uml), mathematical models, dynamic programming, object
to Unificado (uml), modelos matemáticos, programación dinámica, oriented programming.
programación orientada a objetos.
Demanda
30
Costos de pedido o alistamiento
20
Son todos los costos asociados con el reabastecimiento 10
del inventario. Estos costos varían con el número de
0
pedido y son: 2 4 6 8 10 12 14
Meses
• Costos de requisición.
• Costos de emitir y seguir la orden de compra. Figura 1. Demanda uniforme
Fuente: el autor
• Costos de inspección al recibir y colocar los artículos
en inventario y transporte.
Costos de mantenimiento 90
80
Estos son los costos asociados con mantener una canti- 70
50
se mantengan, y son:
40
30
• Costos de oportunidad de la inversión. 20
• Costos de almacenamiento (alquiler, calefacción, 10
refrigeración, vigilancia, etcétera). 0
2 4 6 8 10 12 14
• Deterioro del producto u obsolescencia. Meses
Arista es la distancia entre cada etapa -> arista (ni, nj) 1 0 3 3 Óptimo
(las longitudes de las aristas no están a escala). Fuente: el autor
Tabla 4. Etapa 5
2/ 9 Etapa Acumulado Costo/arista Total Óptimo
2 1 9 10
1 5/
2 4 3 3 6 Óptimo
3
3 4 4 6 2 80
1/0 3/ 7/
Fuente: el autor
2 6/ 2
6
3 2/1 9
4/
1 5/
2
Figura 5. Inventario etapa 3 3
Fuente: el autor 3 4
1/0 3/3 7/
2/ Tabla 5. Etapa 6
9
Etapa Acumulado Costo/arista Total Óptimo
1 5/
2 4 6 3 9 Óptimo
3
3 4 5 6 4 10
1/0 3/ 7/
Fuente: el autor
2 6/9 2
6
2/1 9
4/ 3
1 5/6
2
Figura 6. Inventario etapa 4 3
Fuente: el autor 3 4
1 3/3 7/8
4/6 3
1 5/6
2
3
Figura 9. Inventario etapa 7 3 4
Fuente: el autor 1/0 3/3 7/8
2 6/9 2
Fase 2 6
2/1 9 2/1 9
1 5/6
2 1 5/6
3 2
4 3
3 4
1/0 3/3 7/8 3
1/0 3/3 7/8
2 6/9 2 2 6/9 2
6
6
4/6 3
4/6 3
Para obtener el óptimo de la etapa 3 (figura 14), Tabla 7. Modelo – orden recursivo de las funciones
debemos haber calculado sus anteriores etapas, que es
f(7) ← menor {arista(5,7) + f(5)
la etapa 1, y escogemos el óptimo (la menor).
{arista(6,7) + f(6)
2 {arista(5,6) + f(5)
6/9 2
6
Fuente: el autor
Desarrollo de Software Orientado a Objetos (dsoo) A partir de los objetivos se deducen los requerimientos
funcionales y no funcionales del producto de software.
Para desarrollar el prototipo de software en consola se
Requerimientos funcionales
usó el paradigma de Desarrollo de Software Orientado
a Objetos [11] con el rup, usando el uml para la no- • Realizar las operaciones matemáticas.
tación, y el código fuente se escribió en lenguaje de • Crear objetos para almacenar y procesar los datos.
programación Java.
• Crear interfaces para la entrada y salida de datos.
El Proceso Racional Unificado (rup) consta de las
siguientes fases, productos y artefactos [2]: • Gestionar archivos.
Caso de uso
Tabla 11. Formulario 2. Caso de uso: gestionar archivos Código cu4
Nombre Validar datos
Caso de uso Actor Usuario
Código cu2 Cuando se van a hacer los cálculos se
Descripción revisan todos los datos de los campos
Nombre Gestionar archivos de texto.
Actor Usuario Referencia cu3
Se debe de haber pulsado el botón
Crea la interfaz y presenta las opciones Precondición
Descripción “realizar cálculos”.
propias de los archivos.
En caso de haber un error, se muestra
Poscondición
Referencia cu1 el mensaje de error.
La interfaz debe estar abierta. En caso de que algún dato esté
Precondición errado, o se sobrepase la capacidad
Debe haber conexión a la base de datos. Excepciones
de inventario o compra, se muestra un
Poscondición Datos reales error.
El sistema se bloquea en caso de no Entrada Salida
Excepciones El usuario digita
haber conexión.
los datos y pulsa En caso de haber un dato errado, el
el botón “realizar sistema muestra un mensaje de error.
Entrada - Salida cálculos”.
Aparecen los cálculos realizados en las
Se presenta la interfaz con todas las El usuario corrige interfaces.
Pulsar opción archivos opciones de archivo y gestionan los el dato Cálculos costo óptimo.
archivos. Compra óptima todos los cálculos.
Fuente: el autor Fuente: el autor
Caso de uso
Objetos_interfaz Gestión_archivos
Código cu5
Actor
Etapas_cálculos Excepción_datos
Cuando se validan los datos, se deben
realizar los cálculos y, dado el gran
Descripción
caudal de datos, se deben almacenar
ordenadamente. Figura 19. Diagrama de clases
Fuente: el autor
Referencia cu3
Descripción de los objetos:
Los datos deben cumplir con las
Precondición
restricciones. • Tipo datos: se denotan todos los tipos de datos que
Se crean los objetos matrices con las
se usarán en el software.
Poscondición
dimensiones requeridas. • Objetos interfaz: se denotan los objetos y se hace el di-
seño de la interfaz, con la que se comunicará el usuario.
Excepciones El sistema se detiene en caso de error.
• Gestión archivos: se agrupan todos los objetos y
métodos, y los objetos para los archivos.
• Main: es la clase principal desde donde se ejecuta
Entrada Salida
todo el software.
Dimensiones para • Etapas cálculos: es la clase en donde se ejecutan todos
Creación de los objetos en memoria
los objetos matrices los cálculos del software.
Fuente: el autor • Excepción_datos: se prueban los datos de entrada y
los cálculos de los parámetros.