Está en la página 1de 10

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS

FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA INDUSTRIAL

TRABAJO FINAL

CURSO:

INVESTIGACIÓN DE OPERACIONES 2

SECCIÓN:

IS6C

DOCENTE:

AREVALO FLORES, SANDRA PATRICIA

INTEGRANTES:

CABANILLAS NIÑO, CARLA VALENTINA – U201914258


FERNANDEZ ZAMORA, JERALDIN – U20181f392
HUYHUA MARIÑO, ALISSON RUBI – U201818989
MONTESINOS JARA, STHEFANY – U201824434

2021-2

1
ÍNDICE

a) Objetivos............................................................................................................................. 3
b) CASO PARA DESARROLLAR ....................................................................................... 3
i. ¿Por qué el caso puede ser resuelto por Programación Dinámica?.................. 3
ii. ¿Qué ventajas encuentran resolver el caso por programación dinámica?...... 4
iii. Presentar el planteamiento del modelo de programación dinámica según
la siguiente estructura: ........................................................................................................... 4
1) Presentar el significado de la función objetivo, el objetivo, la descripción del
problema ..................................................................................................................................... 4
2) Presentar el significado de las variables de estado. .............................................. 4
3) Conjunto Decisión y Significado de la Decisión. ..................................................... 5
4) Función de transición. .................................................................................................... 5
5) Restricciones. ................................................................................................................... 5
6) Función de Retorno y Valor Asociado a la decisión............................................... 5
7) Ecuación Recursiva. ........................................................................................................ 6
8) Significado de la función de valor óptimo ................................................................. 6
9) Condiciones de contorno ............................................................................................... 6
iv. Presentar la codificación del modelo P4 ............................................................... 6
v. Correr el modelo y presentar el reporte de la solución óptima del P4. ............. 9
vi. Presentar un informe administrativo de la(s) solución(es) óptima(s) ................................ 9
10) Conclusiones................................................................................................................. 9
11) Bibliografía ................................................................................................................... 10

2
a) Objetivos

Nuestro objetivo dentro del caso es utilizar el método aprendido en el curso de


Investigación de Operaciones 2, programación dinámica, para resolver de
manera eficaz y rápida el problema a tratar. Asimismo, utilizar fuentes
académicas confiables que aporten al desarrollo del trabajo y enriquezcan
nuestro aprendizaje dentro del curso.

b) CASO PARA DESARROLLAR

Desarrollo del caso:

i. ¿Por qué el caso puede ser resuelto por Programación Dinámica?


Para comprender por qué el caso puede ser resuelto por programación
dinámica primero debemos entender qué significa programación dinámica. De
acuerdo con Cotta, en su libro Programación dinámica: introducción y ejercicios
resueltos, nos dice “La programación dinámica es una técnica de diseño
algorítmico que puede emplearse para solucionar inconvenientes que
involucran la toma secuencial de decisiones” (Cotta, 2018, p. 21)

3
1. El problema es uno solo, pero se puede descomponer en problemas más
pequeños.
2. Cada etapa del modelo tiene estados asociados a ellas.
3. Las posibles decisiones que se pueden tomar en cada uno de los estados son
finitas y su significado es solo uno.
4. El problema en cuestión puede ser dividido en etapas.
5. La decisión óptima de cada etapa sólo depende del estado actual y no de las
decisiones anteriores.

ii. ¿Qué ventajas encuentran resolver el caso por programación


dinámica?
1. Una de las ventajas es que es más eficiente, dado que se realizan menos
comparaciones, lo cual no sucede al enumerar exhaustivamente todas las rutas
posibles de la red de estados.
2. El problema que en primera instancia resulta ser complejo, se puede
convertir en una serie de problemas pequeños y fáciles de resolver.

iii. Presentar el planteamiento del modelo de programación


dinámica según la siguiente estructura:

1) Presentar el significado de la función objetivo, el objetivo, la


descripción del problema
Función objetivo: El valor del ingreso total otorgado por la venta de los
productos (en dólares)
Objetivo: Maximizar el valor del ingreso total otorgado por la venta de los
productos (en dólares)
Problema: Determinar en cuanto incrementar el precio de venta; desde el
producto #1 hasta el producto #3; considerando una capacidad de producción
disponible de 16 unidades; con el fin de maximizar el valor del ingreso total
otorgado por la venta de los productos (en dólares).

2) Presentar el significado de las variables de estado.


“Es importante señalar por qué este caso no puede ser resuelto mediante
programación lineal, esto se debe a que, la programación dinámica no sigue un
patrón estándar ni un algoritmo establecido; es decir, cada situación es única;
por ello, es necesario establecer parámetros para las variables que se desean
utilizar ya que, solo algunas de ellas serán utilizadas a conveniencia.” (Tripiana,
2018)
Variable de estado:
S1: Producto (1,2,3)

4
S2: Capacidad de producción (en unidades) disponible

3) Conjunto Decisión y Significado de la Decisión.


Conjunto decisión: La decisión de cuantas unidades producir.
D(S) = {0,1,2}
d = 0 (incrementar el precio de venta en 0 ($/unidad))
d = 1 (incrementar el precio de venta en 1 ($/unidad))
d = 2 (incrementar el precio de venta en 2 ($/unidad))

4) Función de transición.
Función de transición: Genera los siguientes estados posibles en función de la
disponibilidad y las decisiones posibles.
sn1 = s1 + 1
Si s1 = 1 entonces
sn2 = s2 - DemA(d)
Sinosi s1 = 2 entonces
sn2 = s2 - DemB(d)
Sino
sn2 = s2 - DemC(d)
Fin Si

5) Restricciones.
Restricciones: Son las condiciones lógicas que delimitan la formación de
estados.
Sn1 <= 3 (Son 3 productos)
Sn2 >= 0 (La capacidad de producción disponible no puede ser cero)

6) Función de Retorno y Valor Asociado a la decisión.


Función de retorno: Dicha función calcula el valor que se obtiene cuando a
partir de un estado se toma una determinada decisión.
R (S, d) = Ad (S) + f (Sn)
Valor asociado a la decisión: El valor que se obtiene.
Si s1 = 1 entonces
ad(s) = DemA(d) * (PV(s1) + d)
Sinosi s1 = 2 entonces

5
ad(s) = DemB(d) * (PV(s1) + d)
Sino
ad(s) = DemC(d) * (PV(s1) + d)
Fin Si

7) Ecuación Recursiva.
Ecuación recursiva: Determina el valor optimo en cada estado.

F (s1, s2) = f(S) = Máximo {R (S, d)},  d  D(S)

8) Significado de la función de valor óptimo

S1=1
S2= 16
F (s1, s2): Máximo ingreso total (en dólares) de la empresa, que se logrará
realizando la venta de los productos, desde el producto #1 hasta el producto
#3, considerando una capacidad disponible de 16 unidades.
Generación de la función:
F (S1, S2, S3) = Max {(Demi(d) * (PV(s1) + d) + f (S1+1, s2 - Demi(d))}
Estado inicial:
S1 = 1 (producto 1)
S2 = 16 (16 unidades de capacidad de producción disponible)

9) Condiciones de contorno
Condiciones de contorno: Permite determinar el valor de la función de valor
óptimo.
Antes: Sn1 ≤ 3
Ahora: Sn1 ≤ 4
La 9na etapa es ficticia.
f(s) = 0

iv. Presentar la codificación del modelo P4

Maximizando el ingreso:
Option Explicit
Dim PV(1 To 4), DemA(0 To 2), DemB(0 To 2), DemC(0 To 2)

6
Sub Preliminary_Definitions()
Call FillArray(PV, "{7,5,4}", 1)
Call FillArray(DemA, "{5,3,2}", 0)
Call FillArray(DemB, "{7,6,5}", 0)
Call FillArray(DemC, "{8,6,4}", 0)
End Sub

Sub Model_Structure()
NSV = 2
NCT = 2
End Sub

Sub Starting_State()
s1 = 1
s2 = 16
End Sub

Sub Decision_Set()
DS = "{0,1,2}"
End Sub

Sub Transition_Function()
sn1 = s1 + 1
If s1 = 1 Then
sn2 = s2 - DemA(d)
ElseIf s1 = 2 Then
sn2 = s2 - DemB(d)
Else
sn2 = s2 - DemC(d)
End If
7
End Sub

Sub State_Constraints()
Ct1 = sn1 <= 3 + 1
Ct2 = sn2 >= 0
End Sub

Sub Economic_Return()
If s1 = 1 Then
ad(s) = DemA(d) * (PV(s1) + d)
ElseIf s1 = 2 Then
ad(s) = DemB(d) * (PV(s1) + d)
Else
ad(s) = DemC(d) * (PV(s1) + d)
End If
End Sub

Sub Return_Function()
Rd(s) = ad(s) + f(sn)
End Sub

Sub Recursive_Equation()
f(s) = maxim(Rd(s))
End Sub

Sub Boundary_Conditions()
f(s) = 0
End Sub

8
v. Correr el modelo y presentar el reporte de la solución óptima del
P4.

Reporte P4:
Optimal Value Function, f(s) =
100
Number of
solutions = 1
s1 s2 p(s) f(s)
Solution 1 1 16 0 100
2 11 2 65
3 6 1 30

vi. Presentar un informe administrativo de la(s) solución(es) óptima(s)

Reporte Administrativo:

Incrementar el precio
Producto
($/unidad) de venta en
1 0
2 2
3 1

Conclusión: Se pudo determinar que, se debe incrementar el precio de venta en


0 ($/unidad) del producto 1, en 2 ($/unidad) del producto 2, en 1 ($/unidad) del
producto 3 y, con ello, obtener un ingreso total de 100 dólares.

10) Conclusiones
- La programación dinámica ha sido la mejor opción para resolver este caso
ya que la empresa podrá establecer un precio de venta base para cada
presentación (A, B y C) y así, determinar la demanda. De este modo, la
empresa obtiene un enfoque positivo hacia el precio de venta base
respectivo, mejorando la rentabilidad y a la vez la productividad de los tres
tipos de productos.
- Al llevar a cabo primero el planeamiento del modelo de programación
dinámica del problema, y luego la codificación del modelo P4 se obtiene un
máximo ingreso total por las ventas de los productos esperado de $100.00.
- Se concluye que a través de la programación dinámica es la mas eficaz para
este tipo de problemas, ya que, al realizarse una mínima de comparaciones,
convierte un problema complejo en sencillo y rápido, en minutos.
- La codificación del modelo p4, se realizo para maximizar el ingreso y una
vez que corrió el programa sin falla alguna. Se adjunto el reporte de la
solución óptima, dando como resultado que en producto 1 se incrementa $
0; producto 2 en 2$ y producto 3 en 1$.

9
11) Bibliografía

- Tripiana, R. (2018). La programación dinámica como herramienta


operativa. Recuperado de
https://www.researchgate.net/publication/337801877_LA_PROGRAM
ACION_DINAMICA_COMO_HERRAMIENTA_OPERATIVA .
[Consulta: 23 de noviembre del 2021].
- Cotta, C. (2018). Programación dinámica: introducción y ejercicios
resueltos. Servicio de Publicaciones y Divulgación Científica de la
Universidad de Málaga. Recuperado de:
https://elibro.upc.elogim.com/es/lc/upc/titulos/45269C [Fecha de
consulta: 23 de noviembre del 2021]
- Gil S.; Llave M. & Munive J. (2021) Aplicación de modelo de
programación dinámica para la asignación de recursos del área de
fuerza de ventas de la empresa Total Potentials Recuperado de:
https://repositorioacademico.upc.edu.pe/bitstream/handle/10757/621
494/Tema77-Gil-Llave-Munive.pdf?sequence=5&isAllowed=y [Fecha
de consulta: 23 de noviembre del 2021]
- Camero A. (2013) Propuesta de implementación de Programación
Dinámica para la asignación de horarios en las asignaturas de la
FCCA Recuperado de:
https://www.researchgate.net/publication/324763820_Propuesta_de_i
mplementacion_de_Programacion_Dinamica_para_la_asignacion_de
_horarios_en_las_asignaturas_de_la_FCCA [Fecha de consulta: 23
de noviembre del 2021]

10

También podría gustarte