Trabajo Practico - Aplicación de la Programación Lineal y Entera (359) - UNA

12
UNIVERSIDAD NACIONAL ABIERTA CENTO LOCAL- CARABOBO ÁREA DE INGENIERÍA CARRERA: INGENIERÍA DE SISTEMAS (236) ASIGNATURA: APLICACIÓN DE PROGRAMACIÓN ENTERA Y DINÁMICA (359) APLICACIÓN DE PROGRAMACIÓN DE ENTERA Y DINÁMICA (TRABAJO PRÁCTICO OBJ. 03, 04,07) REALIZADO POR: Ing. RONALD MEDINA C.I: 16291029 PROFESOR (A): ING. LOLA PARRAGA LAPSO 2015 -2 ENVIADO DESDE: GUANGZHOU, CHINA. ABRIL, 2016

Transcript of Trabajo Practico - Aplicación de la Programación Lineal y Entera (359) - UNA

UNIVERSIDAD NACIONAL ABIERTA

CENTO LOCAL- CARABOBO

ÁREA DE INGENIERÍA

CARRERA: INGENIERÍA DE SISTEMAS (236)

ASIGNATURA: APLICACIÓN DE PROGRAMACIÓN ENTERA Y DINÁMICA (359)

APLICACIÓN DE PROGRAMACIÓN DE ENTERA Y DINÁMICA

(TRABAJO PRÁCTICO OBJ. 03, 04,07)

REALIZADO POR:

Ing. RONALD MEDINA

C.I: 16291029

PROFESOR (A): ING. LOLA PARRAGA

LAPSO 2015 -2

ENVIADO DESDE: GUANGZHOU, CHINA.

ABRIL, 2016

OBJETIVO 3

ENUNCIADO

La compañía de construcción P&D para el próximo año tiene la oportunidad de invertir en cinco

proyectos diferentes, cada uno con un beneficio neto en miles de unidades monetarias (UM)

estimado como se muestra en la siguiente tabla:

Beneficio neto esperado (en miles de UM)

PROYECTO 1 2 3 4 5

BENEFICIOS 100 80 70 60 90

Dado que los diferentes requerimientos de cada proyecto (mano de obra, equipo etc.) los costos

varían de proyecto a proyecto y además las obligaciones de flujo de caja, hacen que P&D no pueda

invertir en todos los cinco proyectos.

En la siguiente tabla se listan los costos totales o salidas de caja requeridos para invertir en cada

proyecto:

Costos esperados (en miles UM)

PROYECTOS 1 2 3 4 5

COSTOS 60 40 20 40 50

La constructora P&D estima que tendrá una disponibilidad de caja de 150.000 UM para el próximo

año. ¿En cuáles proyectos podría invertir P&D en el próximo año para obtener un máximo beneficio?

Dada la información anterior y debido a la naturaleza de encontrar un plan que satisfaga los

requerimientos con la mayor ganancia posible, se formó un equipo de investigación de operaciones

el cual decidió enfocar el problema desde un punto de vista de Programación Entera, para

determinar en cuáles proyectos invertir o no.

Para ello responda los siguientes ítems:

•Modele el problema de Programación Entera.

Resuélvalo aplicando el paquete de programación que disponga.

•Interprete los resultados.

SOLUCIÓN

El ejercicio planteado trata de resolver un problema de toma de decisión sobre un conjunto de

proyectos de inversión, de forma que se facilite y optimice la misma.

Tras el estudio del escenario económico y utilizado la hoja de cálculo Excel activando la macro

SOLVER que ofrece la resolución en cuestión de segundos de problemas de hasta 200 variables y 500

restricciones, se ha llegado a la siguiente información:

Como se puede observar en la siguiente figura se definieron las variables de decisión, que en este

caso son los beneficios que se obtendrán por cada proyecto de inversión. Así mismo se definieron

las restricciones que no es más que los costos de cada proyecto.

NOTA: PROFE LOLA LA FOTO SE ME DISTORCIONO

FUNCIÓN OBJETIVO

MAX: Z= 100X1 + 80X2 +70X3+60X4+90X5 RESTRICCIONES:

60X1 + 40X2 +20X3+40X4+50X5 <= 150

X1 + X2 + X3+ X4+ X5 <= 5

Al ejecutar la macro SOLVER, obtuvo lo siguiente:

Los proyectos que aportan mayores beneficios y menos costos son los proyectos 2 y 3, tienen un

beneficio de 80 y 70 UM respectivamente, y costos bajos de 40 y 20 UM respectivamente, el capital

disponible para la inversión es de 150 UM; invirtiendo en esos proyectos restan del capital disponible

para la inversión 90 UM; que pueden ser utilizados para un nuevo escenario para inversión.

A continuación se presenta el informe de respuestas emitido por Excel Solver, dónde se evidencia

que la cantidad de proyectos a elegir son 2, y los mismos arrojan los mejores beneficios para la

empresa. Así mismo se detalla, el capital disponible para la inversión y el total de costos que

acarreará la misma.

Microsoft Excel 15.0 Informe de respuestas

Hoja de cálculo: [SOLVER APLICACIÓN PROGRAMACIÓN ENTERA DINÁMICA.xlsx]Hoja1

Resultado: Solver encontró una solución de enteros dentro de la tolerancia. Se cumplen todas las restricciones.

Motor de Solver

Motor: Simplex LP

Tiempo de la solución: 0,093 segundos.

Iteraciones: 0 Subproblemas: 28

Opciones de Solver

Tiempo máximo Ilimitado, Iteraciones Ilimitado, Precisión 0,000001

Máximo de subproblemas Ilimitado, Máximo de soluciones de enteros Ilimitado, Tolerancia de enteros 1%, Asumir no negativo

Celda objetivo (Valor de)

Celdas de variables

Celda Nombre Valor original Valor final Entero

Celda Nombre Valor original Valor final

$H$13 PR OYECTO A ELEGIR CAPITAL DISPONIBLE 150 150

$B$13 PROYECTO A ELEGIR A 0 0 Entero

$C$13 PROYECTO A ELEGIR B 1 1 Entero

Restricciones

Celda Nombre Valor de la celda Fórmula Estado Demora

$G$22 COSTOS PROYECTOS <= 60 $G$22<=150 No vinculante 90

$G$23 NRO PROYECTOS ELEGIDOS <= 2 $G$23<=5 No vinculante 3

$H$13 PROYECTO A ELEGIR CAPITAL DISPONIBLE 150 $H$13=150 Vinculante 0

.

$D$13 PROYECTO A ELEGIR C 1 1 Entero

$E$13 PROYECTO A ELEGIR D 0 0 Entero

$F$13 PROYECTO A ELEGIR E 0 0 Entero

OBJETIVO 4

ENUNCIADO

Para promover la seguridad de una gran urbanización, la junta de condominio de áreas comunes

desea colocar teléfonos de emergencia en cada una de las deferentes intersecciones de las calles,

se determinó que se deben colocar un máximo de 8 teléfonos para dar la mayor cobertura, como se

observa a continuación en el diagrama de todas las calles del conjunto residencial:

Los números representan las intersecciones y las letras representan las calles, la junta de

condominio de áreas comunes desea estimar el mínimo de casetas telefónicas de tal forma que den

cobertura por lo menos a dos calles.

Para ello aplique Programación Entera (PE) y realice lo siguiente:

a. Modele el problema de Programación Entera, determinando las variables de decisión, las

restricciones del problema y la función objetivo.

b. Resuélvalo aplicando el programa de programación que disponga.

c. Conclusiones.

SOLUCIÓN

Para cumplir con las restricciones del problema se requiere instalar un teléfono en cada una de las

11 calles (A a K). El modelo viene a ser:

Minimizar Z = X1 + X2 + X3+ X4 + X5 X6 + X7 +X8+X9+X10 + X11 Restricciones:

CALLE A = X1 + X2 >= 1

CALLE B = X2 + X3 >= 1

CALLE C = X4 + X5 >= 1

CALLE D = X7 + X8 >= 1

CALLE E = X6 + X7 >= 1

CALLE F = X2 + X6 >= 1

CALLE G = X1 + X6 >= 1

CALLE H = X4 + X7 >= 1

CALLE I = X2 + X4 >= 1

CALLE J = X5 + X8 >= 1

CALLE K = X3 +X5 >= 1

Como se puede observar todas las variables son binarias, se utilizó TORA, el diseño de éste programa

permite usarlo en modo tutorial o en modo automático. Se maneja con menús, y en consecuencia

no requiere un manual de usuario.

La solución óptima del problema es: la instalación de 4 teléfonos en las esquinas 1, 2, 5,7. Al observar

el diagrama de las calles del conjunto residencial se tiene que:

Al colocar un teléfono en la esquina número 1, se tendrá cobertura en las calles A y G.

• Al colocar un teléfono en la esquina 2, se tendrá cobertura en las calles I, A y B.

• Al colocar un teléfono en la esquina 5, se tendrá cobertura en las calles K, J y C.

• Y al colocar un teléfono en la esquina 7, se tendrá cobertura en las calles E, H y D.

Si se observa más detalladamente al colocar los teléfonos en esos puntos estratégicos se consigue

la cobertura total de las calles del condominio con una menor cantidad de teléfonos de la que se

tenía a disposición.

OBJETIVO 7

ENUNCIADO

El gerente de una represa pronostica que se necesitarán rt Kilowatt hora (kw/h) de capacidad de

generación durante el año t el año actual es el 1. Cada año la gerencia debe decidir en cuánto se

debe aumentar la capacidad de generación. Cuesta ct(x) unidades monetarias (UM) aumentar la

capacidad de generación (x) kw/h durante el año t. Durante cada año, el 10% de la capacidad

generadora anterior se pierde, menos el primer año. A la gerencia le cuesta mt(i) (UM) mantener (i)

unidades de capacidad durante el año t. al inicio del año 1, están disponibles 100.000 kw/h de

capacidad de generación. Plantee una fórmula recursiva de programación dinámica que permita a

la gerencia de la represa reducir al mínimo el total de cumplir con las necesidades de energía,

durante la siguiente t años.

SOLUCIÓN:

Generalmente en los problemas de recursión de programación dinámica y si es un problema de

minimización se escribe de la siguiente manera:

ft(i)=min{Costo durante la etapa t) + ft+1 (nuevo estado en la etapa t+1)} (1) ft(i) es

el costo mínimo que se genera desde la etapa t hasta el final del problema ( es decir el problema

termina después de la etapa T), dado que el estado es i en la en la etapa t.

El planteamiento correcto de una recursión de la forma 81) requiere la identificación de tres

aspectos importantes del problema.

• Primeramente se deben tomar en cuenta el conjunto de decisiones que es admisible, o

factible para el estado y la etapa dados. Es decir, éstas dependen de t y de i.

Entonces tenemos:

Xt= cantidad de capacidad por añadir.

It= cantidad de capacidad disponible.

Rt= kilowatt/h que se necesitan (Demanda).

¿Qué valores de Xt son factibles?

Para cumplir la demanda de rt del año t debemos tener it + Xt >= rt o Xt >= rt – it. De ésta

manera los Xt factibles son los valores de Xt que satisfacen Xt>= rt – it.

• Se deben especificar como el costo durante el periodo actual (etapa t) dependen del valor

de t, el estado actual, y la decisión tomada en la etapa t. entonces ¿Cuál será el costo

durante el año t?

Si Xt kw/h se añaden durante un año que empieza con it kw/h de capacidad disponibles,

entonces, durante el año t, se genera un costo:

CT (XT) +mt (iT + XT).

• ¿Cuál será el estado al principio del año t + 1?

Al iniciar dicho año, la planta tendrá 0.9 it kw/h de capacidad antigua más los XT kw/h que

se han sumado durante el año t. Por lo tanto, el estado al inicio del año t +1 será:

0.9 it + XT.

Ahora se define fT(iT) como el costo mínimo generador por la planta durante los años t, t+1,…, T

dados que están disponibles it kw/h de capacidad al principio del año t.

Al comenzar el año T no hay costos futuros por considerar de modo que:

fT(iT)=min{CT(XT) +min(iT + XT) donde XT deben satisfacer XT>= rT-iT, para t<T. (2)

Luego se aplica:

fT(iT)=min{CT(XT) +min(iT + XT) + ft+1(0.9it + Xt )} (3).