Você está na página 1de 242

INVESTIGACIÓN DE OPERACIONES

IND2209

UNIDAD 1

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2018
Aspectos Generales
Para las Solemnes y controles se puede utilizar lápiz
pasta, corrector, regla y calculadora básica. No esta
permitido intercambiar material durante una
evaluación. Queda estrictamente prohibido el uso de
celulares o equipos de audio durante las evaluaciones.

2
Evaluaciones
Se considera como calculadora básica aquella que permite sólo
las operaciones aritméticas elementales. Excepcionalmente estará
permitido el uso de calculadoras semicientíficas. No se permitirá
el uso de calculadoras “modernas” (Por ejemplo: Texas
Instruments, HP, etc) que permitan graficar y/o almacenar texto.
Solo con un fin referencial se adjunta imagen de lo que se
entiende por una calculadora básica:

3
Contacto
Para cualquier consulta respecto a los contenidos del
curso, evaluaciones, etc, por favor escribir a
francisco.yuraszeck@unab.cl

Horario de Consultas:
Durante o una vez finalizada la clase (de preferencia)
o por correo electrónico. Las consultas enviadas por
este último medio se responderán a la brevedad
(considerar un mayor tiempo de respuesta si las
consultas son enviadas los fines de semana).

4
Contenidos
I. Introducción a la Investigación Operativa
II. Modelos de Programación Matemática
Programación Lineal
Programación Entera
Programación en Redes

5
Introducción
Elementos básicos de un modelo de optimización.

La Optimización, en particular, es una de las


metodologías más importante para formular y resolver
diversos problemas orientados a la toma de decisiones
en las diferentes áreas de la Ingeniería, la Economía y,
en particular, en la Investigación Operativa.

6
Introducción
La Optimización se relaciona con problemas de minimizar o
maximizar una función (objetivo) de una o varias variables,
cuyos valores usualmente están restringidos por ecuaciones
y/o desigualdades.

El enfoque de la Investigación de Operaciones es el


modelaje. Un modelo es una herramienta que nos sirve
para lograr una visión bien estructurada de la realidad. Así,
el propósito del modelo es proporcionar un medio para
analizar el comportamiento de las componentes de un
sistema con el fin de optimizar su desempeño (identificar el
mejor curso de acción posible)

7
Introducción – Metodología de la IO

Definición del Construcción de Solución del


problema un modelo modelo

Implementación
y control de la Validación
solución

8
Introducción
Hoy en día el uso de modelos de optimización es cada vez más
frecuente en la toma de decisiones.

Este mayor uso se explica, principalmente, por un mejor


conocimiento de estas metodología en las diferentes disciplinas,
la creciente complejidad de los problemas que se desea resolver,
la mayor disponibilidad de software y el desarrollo de nuevos y
mejores algoritmos de solución.

Links de Interés:
https://www.informs.org/Sites/Getting-Started-With-Analytics
http://www.ichio.cl
http://www.dii.uchile.cl/~ris/
http://www.neos-guide.org/
http://www.gestiondeoperaciones.net/category/programacion_lineal/

9
Introducción: Ejemplo
Supongamos que se dispone de determinadas piezas
para la elaboración de dos productos finales. Se
dispone de 8 “piezas pequeñas” y 6 “piezas grandes”.
Estas piezas son utilizadas para elaborar sillas (usando
2 piezas pequeñas y 1 pieza grande) y mesas (usando
2 piezas de cada tipo).

10
Introducción: Ejemplo
Interesa decidir cuántas sillas y mesas fabricar de modo
de obtener la máxima utilidad, dado un beneficio neto
de U$ 10 por cada silla y de U$16 por cada mesa
fabricada.

11
Introducción: Ejemplo
La solución óptima de este problema se encuentra enumerando
las posibles soluciones factibles a considerar, esto es soluciones
que respetan las restricciones del número de piezas disponibles,
son por ejemplo soluciones factibles, fabricar:

• 4 sillas, que reportan una utilidad de U$40


• 1 sillas y 2 mesas , utilidad de U$42
• 3 mesas, utilidad de U$48
• 1 mesa y tres sillas, utilidad de U$46
• 2 sillas y 2 mesas, utilidad de U$52
• etc.

12
Introducción: Ejemplo
El conjunto de puntos factibles (o soluciones factibles) se puede
representar gráficamente en este ejemplo de 2 variables:

Un software para representar gráficamente un modelo de PL en 2 variables


es Geogebra. Descargar desde www.geogebra.org 13
Introducción: Ejemplo
Un modelo de optimización para hallar la mejor solución
factible a este problema tiene tres componentes básicas:

i) Las variables de decisión, que consiste en definir cuáles son


las decisiones que se debe tomar. En el ejemplo,

x: número de sillas elaboradas.


y: número de mesas elaboradas.

14
Introducción: Ejemplo
ii) La función objetivo del problema, que permita tener un
criterio para decidir entre todas las soluciones factibles. En el
ejemplo, maximizar la utilidad dada por:

z = f(x,y) = 10x + 16y

15
Introducción: Ejemplo
iii) Restricciones del problema, que consiste en definir un
conjunto de ecuaciones e inecuaciones que restringen los valores
de las variables de decisión a aquellos considerados como
factibles. En el ejemplo, respetar la disponibilidad de piezas
para la fabricación de sillas y mesas:

Piezas pequeñas: 2x + 2y  8
Piezas grandes : x + 2y  6

También se impone restricciones de no– negatividad:


x  0, y  0

16
Introducción: Ejemplo
En resumen:
Max 10x + 16y
s.a. 2x + 2y  8
x + 2y  6
x  0, y  0
Solución óptima:

17
Introducción
El ejemplo corresponde a un modelo de Programación Lineal.

Si además restringimos los valores de x e y a números enteros,


tendríamos un modelo de Programación Entera.

Por otra parte, si hubiese retornos crecientes a escala,


deberíamos emplear una función objetivo no lineal como ser
f(x,y)=cxa+dyb con a,b >1, y tendríamos un modelo de
Programación No Lineal.

18
Introducción
Supuestos Básicos de la Programación Lineal:

i) Linealidad

ii) Modelos deterministas

iii) Variables reales

iv) No - negatividad

19
Introducción
Existen numerosos programas computacionales para resolver
diversos problemas de optimización.

Guía de software NEOS:


http://neos.mcs.anl.gov/neos/solvers/index.html

20
Introducción
Empleando un software de modelado algebraico (AMPL:
www.ampl.com), el modelo lineal introductorio corresponde
simplemente a:

var x >=0 ; # numero de sillas


var y >=0 ; # numero de mesas

maximize beneficio_total : 10*x + 16*y ;

subject to pza_peq : 2*x + 2*y <= 8 ;


subject to pza_grande : x + 2*y <= 6 ;
21
Introducción
 Descargar AMPL versión estudiantil desde www.ampl.com

22
Introducción
Empleando Solver de EXCEL, el ejemplo introductorio
corresponde simplemente a:

23
Introducción
De donde se obtiene la siguiente solución óptima:

También se puede utilizar OpenSolver o What’sBest! como alternativa a Solver de Excel.


24
Actividad en Clases
➢ S. T. vende dos productos: colonia y perfume
➢ La colonia se vende por $3000/100ml ; cada 100ml requiere
▪ 2 gramos de fragancia
▪ 6 gramos de intensificador

➢ El perfume se vende por $8000/100ml ; cada 100ml requiere


▪ 4 gramos de fragancia
▪ 2 gramos de intensificador
▪ 1 gramo de estabilizador

➢ S. T. tiene inventario limitado. En particular, tiene


▪ 1.600 gramos de fragancia
▪ 1.800 gramos de intensificador
▪ 350 gramos de estabilizador

➢ S. T. debe usar sus insumos ahora! (no necesariamente a máxima capacidad)


➢ ¿Cuál es la estrategia de producción óptima? ¿Cuál es el ingreso asociado a esta
estrategia?

25
Actividad en Clases

 Variables de Decisión:

 Función Objetivo:

 Restricciones:
Actividad en Clases
Problema de S.T.

900 Intensificador
800
700
Perfume (P) (100ml)

600 Solución Z = 7200


500 Optima Estabilizador
400
300
200 Región Fragancia
100
Factible Z = 3100
0
-100
-100 0 100 200 300 400 500 600 700 800 900

Colonia (C) (100ml)


Z = 900
Z=0
Ejercicio Propuesto
Mega-Marketing está planeando una campaña de marketing intensiva, de una
semana, para una nueva línea de ropa. Los avisos ya han sido diseñados y
producidos y ahora quieren determinar cuánto dinero gastar en cada tipo de
publicidad. En la práctica Mega-Marketing tiene decenas de alternativas, pero
ilustraremos el problema suponiendo que solo hay dos opciones: tiempo prime
de televisión (24 horas de TVN) y prensa escrita (cuerpo C de El Mercurio).

La empresa quiere que su campaña tenga el mayor impacto posible y ha


establecido ciertos objetivos en términos del número de avisos que espera que
cada segmento de la población vea. Los estudios de mercado habituales
indican que cada minuto de TV y cada aviso escrito alcanzan a un número de
personas de acuerdo con la tabla siguiente:

28
Ejercicio

Con esto, un aviso (de un minuto) en 24 horas de TVN es visto por 500.000 niños
(17 años o menos), 100.000 mujeres adultas y 300.000 hombres adultos, y tiene
un costo de $1.800.000. Por otra parte el objetivo de Mega-Marketing es que al
menos 2.4 millones de niños, 1.8 millones de mujeres y 2.4 millones de hombres
vean su publicidad (si una persona determinada ve la publicidad dos o más veces
se considera como dos o más personas ya que estará más propenso a comprar).

Formule y resuelva un modelo de Programación Lineal que ayude a Mega-


Marketing a decidir su inversión en publicidad (suponga que se puede contratar
fracciones de minutos de TV o fracciones de páginas de prensa).

29
INVESTIGACIÓN DE OPERACIONES
IND2209

UNIDAD 2

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2017
i) Problema de Transporte
(Hitchcock, 1941; Kantorovich1942; Koopmans 1947). El
problema consiste en decidir cuántas unidades trasladar
desde ciertos puntos de origen (plantas, ciudades, etc.) a
ciertos puntos de destino (centros de distribución, ciudades,
etc..) de modo de minimizar los costos de transporte, dada
la oferta y demanda en dichos puntos.

Se suponen conocidos los costos unitarios de transporte, los


requerimientos de demanda y la oferta disponible.
i) Problema de Transporte
Por ejemplo, suponga que una empresa posee dos plantas que
elaboran un determinado producto en cantidades de 250 y 400
unidades diarias, respectivamente. Dichas unidades deben ser
trasladadas a tres centros de distribución con demandas diarias
de 200, 200 y 250 unidades, respectivamente. Los costos de
transporte (en $/unidad) son:

C.Dist. 1 C.Dist.2 C.Dist.3


Planta 1 21 25 15
Planta 2 28 13 19
Formule un modelo de Programación Lineal que permita
satisfacer los requerimientos de Demanda al mínimo costo

 Diagrama
C.D.1
X11

Planta 1
X12

X21 X22 C.D.2


Planta 2

X13
X23
C.D.3

Orígenes Destinos
i) Problema de Transporte
Variables de decisión:

xij = Unidades transportadas desde la planta i (i=1,2), hasta el


centro de distribución j (j=1,2,3)

Función Objetivo:

Minimizar el costo total de transporte dado por la función:

21x11+25x12+15x13+28x21+13x22+19x23
Restricciones del Problema

1) No Negatividad: xij  0

2) Demanda:
CD1 : x11 +x21 = 200
CD2 : x12 +x22 = 200
CD3 : x13 + x23 = 250
Restricciones del Problema
3) Oferta:
P1 : x11 + x12 + x13 ≤ 250
P2 : x21 + x22 + x23 ≤ 400

Las variables de decisión deben aceptar


soluciones como números reales para tener un
modelo de P.L.
i) Problema de Transporte (Resolución
Solver de Excel)
i) Problema de Transporte (Resolución
Solver de Excel)
ii) Problema de Producción
Una firma agroindustrial está interesada en determinar
los niveles de producción de tres productos para una
fruta determinada: fruta en conserva (FC), jugo en lata
(JL) y concentrado en tarro (CT).

Las utilidades netas por caja son de $14.800, $13.200


y $18.500, respectivamente. Cada caja de FC contiene
18 kg. de fruta, 20 kg. en el caso de JL y 25 kg. para
CT. Los límites de venta para esta temporada son de
800 mil cajas de FC, 50 mil cajas de JL y 80 mil cajas
de CT.
ii) Problema de Producción
La firma espera disponer de hasta 3 millones de kg. de fruta,
obtenidos de sus cultivos propios y proveedores externos. El 20% de
esta fruta es de grado A y el restante 80% de grado B. La fruta de
grado A tiene 9 puntos en una cierta escala de calidad y la fruta
grado B tan sólo 5 puntos.

Las cajas de FC deben tener al menos 8 puntos y las cajas de JL al


menos 6 puntos, no habiendo requerimientos mínimos para el CT. Lo
anterior equivale a que cada caja de FC debe contener al menos
13,5 kg. de fruta grado A y cada caja de JL debe contener al
menos 5 kg. de fruta de grado A.

¿Cómo destinar la disponibilidad de fruta a la producción de los 3


productos?
ii) Problema de Producción
Variables de decisión:
x1 : Cajas a producir de FC
x2 : Cajas a producir de JL
x3 : Cajas a producir de CT

Función Objetivo:
Maximizar las utilidades netas totales del plan de
producción, dado por:
14.800 x1 + 13.200 x2 + 18.500 x3
Restricciones del Problema
Disponibilidad de fruta
18 x1 + 20 x2 + 25 x3  3.000.000
Calidad
13.5 x1+ 5 x2  600.000
Límites de venta
x1  800.000; x2  50.000; x3  80.000
No Negatividad
x1  0 ; x2  0 ; x3  0
TAREA: Resolver el problema de producción utilizando Solver de Excel
iii) Problema de la Dieta
(Stigler, 1945) este consiste en determinar una dieta de manera
eficiente, a partir de un conjunto dado de alimentos, de modo de
satisfacer ciertos requerimientos nutricionales.
Supongamos que se tiene la siguiente información:
Leche Legumbre Naranjas Requerimientos
(lt) (1 (unidad) Nutricionales
porción)
Niacina 3,2 4,9 0,8 13
Tiamina 1,12 1,3 0,19 15
Vitamina C 32 0 93 45
Costo 2 0,2 0,25
iii) Problema de la Dieta
Variables de decisión:
x1 : litros de leche utilizados en la dieta.
x2 : porciones de legumbre utilizadas en la dieta.
x3 : unidades de naranja utilizadas en la dieta.

Función Objetivo:
Minimizar el costo total de la dieta, dado por:
2 x1 + 0.2 x2 + 0.25 x3
Restricciones del Problema

Requerimientos mínimos de los nutrientes considerados:


3.2 x1 + 4.9 x2 + 0.8 x3  13
1.12 x1+ 1.3 x2 + 0.19 x3  15
32 x1+ + 93 x3  45
x 1  0 ; x2  0 ; x3  0
iii) Problema de la Dieta (Resolución
Solver de Excel)
iii) Problema de la Dieta (Resolución
Solver de Excel)

Referencias:
http://www.neos-guide.org/content/diet-problem-demo
http://www.gestiondeoperaciones.net/programacion_lineal/problema-de-la-dieta-en-programacion-lineal-
resuelto-con-solver-de-excel/
iv) Problema de Planificación Financiera

Supongamos que un banco dispone de $250 millones para


destinar a 4 tipo de créditos ofrecidos, los cuales tienen las
siguientes, tasas de crédito:
• Primer crédito corriente :12%
• Segundo crédito corriente :16%
• Crédito para el hogar :16%
• Crédito personal :10%
iv) Problema de Planificación Financiera

La asignación de estos créditos, debe satisfacer la siguiente


política utilizada por la institución:
El monto asignado a los PCC, debe ser al menos, el 55% del
monto asignado a los créditos corrientes, y al menos un 25% del
total del dinero prestado.
El SCC, no puede exceder el 30% del total del dinero prestado,
por políticas tributarias el interés recibido por el banco no debe
exceder a un retorno del 14% sobre el capital prestado.
iv) Problema de Planificación Financiera

¿Cuánto asignar a cada tipo de crédito, de la


manera más eficiente, respetando la política del
banco?
Variables de decisión:
x1 :Monto asignado al PCC.
x2 : Monto asignado SCC.
x3 : Monto asignado al crédito para el hogar.
x4 : Monto asignado al crédito personal.
iv) Problema de Planificación Financiera

Función Objetivo: Se propone maximizar los


retornos recibidos en la asignación, dados por:
0.12 x1 + 0.16 x2 + 0.16 x3 + 0.10 x4
Restricciones del Problema
x1  0.55 ( x1 + x2 )
x1  0.25 ( x1 + x2 +x3 + x4 )
x2  0.30 ( x1 + x2 +x3 + x4 )

(0.12x1+0.16x2+0.16x3+0.10x4 )  0.14 ( x1+


x2 +x3 +x4 )
Adicionalmente: x1 + x2 +x3 + x4  250.000.000
TAREA: Resolver el problema de planificación financiera utilizando Solver de Excel
Actividad en Clases
La compañía XYZ explota tres minas de carbón y realiza envíos a cuatro puertos. El
costo por tonelada de producción (en dólares), los contenidos de una cierta clase de
ceniza y de sulfuro por tonelada y las capacidades de producción se resumen en la
siguiente tabla:

Por su parte, las toneladas demandadas que deben ser enviadas a cada puerto,
conjuntamente con los costos de transporte (en dólares por tonelada) se dan en la
siguiente tabla:

Formule un modelo de optimización que permita determinar los niveles de producción de


cada mina de modo de satisfacer los requerimientos de demanda y que las cantidades
enviadas a cada puerto contenga a los más un 6% de ceniza y a lo más un 3,5% de
sulfuro.
Actividad en Clases
Solución con XPRESS-MP (AMPL):

http://neos.mcs.anl.gov/neos/solvers/lp:XpressMP/AMPL.html
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

En este problema se desea planificar la


expansión de la capacidad de un sistema
eléctrico para los siguientes T años. La demanda
(estimada) para el año t corresponde a dt MW
para t = 1, 2, ..., T. La capacidad existente del
sistema corresponde a ct MW para el año t =
1, 2, ..., T.
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

Existen 2 alternativas para la expansión de la


capacidad del sistema:
 Usar plantas térmicas a petróleo.
 Usar plantas térmicas a gas.
Se requiere una inversión pt por MW instalado
de una planta a petróleo que esté operativa al
comienzo del año t, y el correspondiente costo
para una planta a gas es gt.
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

Por razones políticas y de seguridad, se ha


decidido que no más del 30% de la capacidad
instalada, corresponda a plantas a gas (nuevas).
Cada planta a petróleo tiene una vida de 20
años y una planta a gas una vida de 15 años.
Se desea proponer un plan de expansión al
mínimo costo posible.
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

Variables de Decisión
xt : cantidad de MW expandidos en planta a
petróleo al inicio del año t, con t = 1, 2, ..., T.
yt : cantidad de MW expandidos en planta a gas
al inicio del año t, con t = 1, 2, ..., T.
zt : cantidad total de MW disponible en plantas
nuevas a petróleo al inicio del año t.
wt : cantidad total de MW disponible en plantas
nuevas a gas al inicio del año t.
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

 Función Objetivo:
 pt x t  gt yt 
T
Min
t 1

c t  z t  w t  dt
 Restricciones: t
z t   xk t  20
k 1
t
zt   xk t  20
k  t  19
v) Problema de expansión de la capacidad de
un Sistema de Potencia Eléctrica

t
w t   yk t  15
k 1
t
wt   yk t  15
k  t 14

wt
 0,30 t  1...T
ct  zt  w t
x t , yt , z t , w t  0
vi) Problema de Dimensionamiento de Lotes

(Wagner y Whitin, 1958). Este problema consiste en


hallar una política óptima de producción para
satisfacer demandas fluctuantes en el tiempo, de
modo de minimizar costos de producción e
inventario, considerando la disponibilidad de
diversos recursos escasos.
Supongamos que una fabrica puede elaborar hasta
150 unidades en cada uno de los 4 periodos en que
se ha subdividido el horizonte de planificación y se
tiene adicionalmente la siguiente información:
vi) Problema de Dimensionamiento de Lotes

Periodos Demandas Costo Prod. Costo de Inventario


(unidades) (US$/unidad) (US$/unidad)
1 130 6 2
2 80 4 1
3 125 8 2.5
4 195 9 3

Supuestos adicionales:
1) Existe un inventario inicial de 15 unidades.
2) No se acepta demanda pendiente o faltante (es
decir, se debe satisfacer toda la demanda del
periodo).
vi) Problema de Dimensionamiento de Lotes

Variables de decisión:
xt : número de unidades elaboradas en el periodo t.
It : número de unidades de inventario al final del periodo t.

Función objetivo:
Consiste en minimizar los costos de producción y el costo de
mantenimiento de inventario.
6x1+ 4x2 + 8x3 + 9x4 + 2I1 + I2 + 2.5I3 + 3I4
vi) Problema de Dimensionamiento de Lotes

Notar que en el óptimo I4 va a ser 0, así que


incluso podríamos no incluirla, pero de todos
modos la consideramos.
Restricciones del problema:
1) Restricciones de cotas, que reflejan la
capacidad de producción.
xt 150
vi) Problema de Dimensionamiento de Lotes

2) Restricciones de no negatividad
xt , It  0

3) Restricciones de demanda
x1 + I0 – I1 = 130 Periodo 1 I0=15
x2 + I1 – I2 = 80 Periodo 2
x3 + I2 – I3 = 125 Periodo 3
x4 + I3 – I4 = 195 Periodo 4
vi) Problema de Dimensionamiento de
Lotes (Resolución Solver de Excel)
vi) Problema de Dimensionamiento de
Lotes (Resolución Solver de Excel)
vii) Problema de Mezcla de Productos

En este problema una refinería produce 4 tipos de


gasolina (gas 1, gas 2, gas 3 y gas 4). Dos
características importantes de cada gasolina son su
número de performance (NP) y su presión de vapor
(RVP), que están dados por:
NP RVP Barriles
diarios
gas 1 107 5 3814
gas 2 93 8 2666
gas 3 87 4 4016
gas 4 108 21 1300
vii) Problema de Mezcla de Productos

Estas gasolinas pueden ser vendidas directamente a un


precio de $28,3 por barril o bien mezcladas para
obtener gasolinas de aviación (avgas A y avgas B). La
calidad de estas dos últimas junto con sus precios de
venta son:

NP RVP Precio por barril (US$)

Avgas A Al menos 100 A lo más 7 31,45

Avgas B Al menos 91 A lo más 6 30,91


vii) Problema de Mezcla de Productos

El NP y RVP de cada mezcla es un promedio de


los respectivos NP y RVP de las gasolinas
empleadas.
Se desea obtener un plan de venta de las
distintas gasolinas que maximice los retornos.
Variables de Decisión

xj : cantidad de barriles del gas j que son


vendidos sin mezclar, con j = 1, 2, 3, 4.
xA : cantidad de barriles de avgas A.
xB : cantidad de barriles de avgas B.
xjA: cantidad de gas j usado en avgas A.
xjB: cantidad de gas j usado en avgas B.
vii) Problema de Mezcla de Productos

Función objetivo:

Max 28,3 (x1 + x2 + x3 + x4) + 31,45xA + 30,91xB

Restricciones: x1 + x1A + x1B = 3814


x2 + x2A + x2B = 2666
x3 + x3A + x3B = 4016
x4 + x4A + x4B = 1300
x1A + x2A + x3A + x4A = xA
x1B + x2B + x3B + x4B = xB
vii) Problema de Mezcla de Productos

 NP, avgas A: 107x1A  93x 2 A  87x 3 A  108x 4 A  100


xA

 NP, avgas B: 107x1B  93x 2B  87x 3B  108x 4B


 91
xB
 RVP, avgas A: 5x1A  8x 2 A  4x 3 A  21x 4 A  7
xA

 RVP, avgas B: 5 x1B  8 x2 B  4 x3 B  21x 4 B  6


xB
Referencias:
http://www.gestiondeoperaciones.net/programacion_lineal/ejemplo-de-un-problema-de-mezcla-de-
productos-en-programacion-lineal
INVESTIGACIÓN DE OPERACIONES
IND2209

UNIDAD 3

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2017
Resolución Gráfica de Modelos de PL

Consideremos el siguiente problema a resolver


gráficamente:

Max z = 3x1 + 5x2


s.a x1  4
2x2  12
3x1 + 2x2  18
x1,x2  0

75
Resolución Gráfica de Modelos de PL

En primer lugar, se debe obtener la región de puntos factibles en


el espacio, obtenida por medio de la intersección de todos los
semi - espacios que determinan cada una de las inecuaciones
conjuntamente con todos los planos o rectas presentes en las
restricciones del problema.

76
Resolución Gráfica de Modelos de PL
Enseguida, se estudia el comportamiento de las curvas de nivel
de la función objetivo, fijando la atención en la dirección de
crecimiento de la función (que corresponde a la dirección del
vector gradiente de la función, z(x1,x2) = (3,5)T).

De ahí se obtiene la solución óptima del problema en la


intersección de las rectas: 2x2 = 12 y 3x1+2x2 = 18
(restricciones activas). Esto es:

x1* = 2 x2* = 6
z* = 3 x1* + 5 x2* = 36

77
Resolución Gráfica de Modelos de PL

x2 Región de puntos factibles


Curvas de Nivel
9
x* Solución Optima
x*
6

4 6 x1

78
Resolución Gráfica de Modelos de PL
Notar que se pueden dar otras situaciones en la búsqueda
de una solución óptima para esta clase de problemas:

i) La solución óptima exista pero sean infinitas.

En el ejemplo, considere la nueva función objetivo:


z = 6x1+4x2.

79
Resolución Gráfica de Modelos de PL
ii) Problema no-acotado sin solución óptima, esto es con una
región de puntos factibles no - acotada.

En el ejemplo, reemplace cada desigualdad  por una .

iii) Problema sin solución al no existir puntos factibles.


En el ejemplo, suponga que agregamos la restricción: x1  5.

80
Resolución Gráfica de Modelos de PL

Ejemplo:

4 6

81
Resolución Gráfica de Modelos de PL

A partir de la resolución gráfica del problema se tiene:

Solución Óptima : x1*= 2 ; x2*= 2


Valor Óptimo : z = z(2,2) = 70

El análisis de sensibilidad permite responder, entre otras, las


siguientes preguntas:

82
Resolución Gráfica de Modelos de PL

1. ¿Cuál es el intervalo de variación de algún coeficiente de la


función objetivo, de modo que la actual solución siga siendo la
óptima?
Sea z = c1x1+c2x2
La solución óptima de la nueva función, seguirá siendo: x1*= 2 ;
x2*= 2 ssi:

 c1 1
 1 
c2 2

83
Resolución Gráfica de Modelos de PL

También podemos estudiar el intervalo de un sólo coeficiente,


dejando el resto de los parámetros fijos:

Para c1:  c1 1
 1   10  c1  20
20 2
Para c2≠0:  15 1
 1   15  c 2  30
c2 2

84
Resolución Gráfica de Modelos de PL

2. ¿Cuál es la variación del actual valor óptimo de la función


objetivo, si cambiamos en una unidad algún coeficiente del lado
derecho de las restricciones ?
Estudiaremos por separado las variaciones de cada uno de los
coeficientes del lado derecho de las restricciones, de modo
preservar la geometría del problema, esto es, que se conserven
las mismas restricciones activas de la solución óptima inicial.

85
Resolución Gráfica de Modelos de PL
Primera Restricción.
La mayor variación del coeficiente del lado derecho se alcanza
en x1 = 6 y x2 = 0, de donde se obtiene:
z(6,0) = 15*6 + 20*0 = 90 y b1*= 2*6 + 2*0 = 12

La menor variación del coeficiente del lado derecho se alcanza


en: x1= 0 ; x2= 3, de donde se obtiene:
z(0,3) = 15*0 + 20*3 = 60 y b1= 2*0 + 2*3 = 6

86
Resolución Gráfica de Modelos de PL

De aquí, se calcula el Precio Sombra P1, que indica la razón o


tasa de cambio de la función objetivo con respecto al cambio en
una unidad del lado derecho:

z (6,0)  z (0,3) 90  60
1   5
b1  b1
*
12  6

87
Resolución Gráfica de Modelos de PL
Segunda Restricción.
La mayor variación del coeficiente del lado derecho se alcanza
en x1 = 0 y x2 = 4, de donde se obtiene:
z(0,4) = 15 * 0 + 20 * 4 = 80 y b1* = 0 + 2 * 4 = 8

La menor variación del coeficiente del lado derecho se alcanza


en: x1 = 4 ; x2 = 0, de donde se obtiene:
z(4,0) = 15 * 4 + 20 * 0 = 60 y b1 = 4 + 2 * 0 = 4

88
Resolución Gráfica de Modelos de PL

De aquí, se calcula el Precio Sombra 2, que indica la razón o


tasa de cambio de la función objetivo con respecto al cambio en
una unidad del lado derecho:

z (0,4)  z (4,0) 80  60
2   5
b2  b2
*
84

89
Resolución Gráfica de Modelos de PL
Ejercicio: Considere el siguiente problema de Programación Lineal:

MAX 4*X + 3*Y


S.A. 6*X + 2*Y <= 120 (Recurso 1)
1*X + 4*Y <= 100 (Recurso 2)
5*X + 5*Y <= 150 (Recurso 3)
X>=0 Y>=0

Utilizando la resolución gráfica del problema, responda las siguientes preguntas:

1. ¿Cuál es la solución óptima?


2. ¿Cuál es el valor óptimo?
3. ¿Cuánto es lo máximo que estaría dispuesto a pagar por unidad adicional del recurso 1, 2 y 3?
4. ¿Cuál es el nuevo valor óptimo que se obtiene al contar con 10 unidades adicionales del recurso 3?
5. ¿Cuál es el intervalo de variación del coeficiente de X en la función objetivo que garantiza la misma
solución óptima?
6. ¿Cuál es el intervalo de variación del coeficiente de Y en la función objetivo que garantiza la misma
solución óptima?
7. ¿Qué sucede si el coeficiente de Y en la función objetivo cambia de 3 a 4?
8. Si se agrega la restricción 3*X + 4*Y <= 110 ¿Cambia la solución actual?
9. ¿Qué sucede si se agrega la restricción X >= 25 ?
10. ¿Qué sucede si cambio las restricciones de “<=“ por unas de “>=“ ?
90
Resolución Gráfica de Modelos de PL

Informe de Confidencialidad o Sensibilidad (Solver)

91
Algoritmos de PL: Método Simplex
En lo que sigue consideremos el siguiente problema
de programación lineal en su forma estándar.

Min c1x1 + c2x2 + ... + cnxn


sa a11x1 + a12x2 + ... + a1nxn = b1
a21x1 + a22x2 + ... + a2nxn = b2
... ... ...
am1x1 + am2x2 + ... + amnxn = bm

xi  0, i = 1, 2, ..., n y mn
Algoritmos de PL: Método Simplex
Matricialmente escrito como:

Min cTx
sa Ax = b
x0
No existe pérdida de la generalidad al suponer
que un problema viene dado en la forma estándar.
En efecto, si tuviésemos el siguiente problema:
Algoritmos de PL: Método Simplex
P) Max 9u + 2v + 5z
sa 4u + 3v + 6z  50
u + 2v - 3z  8
2u – 4v + z = 5
u,v  0
z  IR

Es posible reformular de manera equivalente el


problema anterior usando que:
Algoritmos de PL: Método Simplex
1) Siempre es posible llevar un problema de
maximización a uno de minimización. Si f(x) es la
función objetivo a maximizar y x* es la solución
óptima:
f(x*)  f(x) , " x factible
- f(x*)  - f(x) , " x factible

\ x* es también mínimo de - f(x)


Algoritmos de PL: Método Simplex
2) Cada restricción del tipo  puede ser llevada a
una ecuación de igualdad usando una (nueva)
variable de holgura no negativa, con un coeficiente
nulo en la función objetivo.

3) De igual modo, cada restricción del tipo  puede


ser llevada a una ecuación de igualdad usando una
(nueva) variable de exceso no negativa.

4) Siempre es posible escribir una variable libre de


signo como la diferencia de dos variables no
negativas.
Algoritmos de PL: Método Simplex

Considerando la siguiente notación:

u = x1
v = x2
z = x3 - x4
s1 = x5 (HOLGURA)
s2 = x6 (EXCESO)
Algoritmos de PL: Método Simplex

El problema P) puede ser escrito de manera


equivalente como

Min - 9x1 - 2x2 - 5x3 + 5x4 + 0x5 + 0x6


sa: 4x1 + 3x2 + 6x3 - 6x4 + x5 =50
x1 + 2x2 - 3x3 + 3x4 - x6 = 8
2x1 - 4x2 + x3 - x4 = 5
xi  0, i=1,2,3,4,5,6.
Algoritmos de PL: Método Simplex

La búsqueda de la solución óptima se


restringe a encontrar un vértice óptimo.
Cada vértice del conjunto de las
restricciones del problema, esto es del
conjunto { x / Ax=b, x  0 }, corresponde
en términos algebraicos a una solución
básica factible del sistema Ax = b.
Algoritmos de PL: Método Simplex

Esta solución básica factible, corresponde


a su vez a aquellas soluciones que resultan
de resolver el sistema para exactamente m
variables, fijando las restantes n-m en
cero, llamadas respectivamente variables
básicas y no-básicas, que además deben
satisfacer condiciones de no-negatividad.
Teorema Fundamental de la
Programación Lineal
Cada problema de PL en su forma estándar
cumple con las siguientes tres propiedades:
➢ Si el problema no tiene solución óptima
entonces es no-acotado o infactible.
➢ Si tiene una solución factible, tiene una solución
básica factible.
➢ Si el problema tiene solución óptima, tiene una
solución básica factible óptima.
Referencias: http://www.gestiondeoperaciones.net/programacion_lineal/teorema-
fundamental-de-la-programacion-lineal-y-sus-propiedades/
Algoritmos de PL: Método Simplex

En lo que sigue suponemos que ran (A)=m y que


por lo tanto existe una matriz invertible B de
mxm, que sin pérdida de la generalidad
asumimos corresponde a aquella que definen las
m primeras columnas de A
Lo anterior induce una partición de las variables
y parámetros del modelo como lo muestra la
siguiente diapositiva:
Algoritmos de PL: Método Simplex
n

 x1     
B D   x  m
c  m

A=

x    B
c  B
m
   xD  c D 
    nm
  nm
 xn     
xB :variables básicas.
m n-m xD :variables no básicas.
cB :costos básicos.
B : es llamada una matriz de base cD :costos no básicos.
Algoritmos de PL: Método Simplex
De este modo, el sistema Ax = b equivale a:

BxB  D xD  b
BxB  b  D xD
1 1
xB  B b  B D xD

donde esta última expresión da el valor de la


solución básica asociado a la actual base B, en este
caso asociada a las m primeras variables
Algoritmos de PL: Método Simplex

 Criterio de optimalidad:
c x c x c x
T T
B B
T
D D

 c B b  B D x  c x
T 1 1 T
B D D D

 c B b  c  c B D x
T 1 T T 1
B D B D

valor vector de
actual costos
función reducidos.
objetivo
Algoritmos de PL: Método Simplex
La ecuación que define cada uno de los costos
reducidos es:
rj  c j  cBT B 1A j

donde j es el índice de variable no-básica y Aj


la respectiva columna en A de esa variable.
La actual solución básica factible es óptima
ssi rj  0 "j, En caso contrario, existe una
variable no básica xp con costo reducido
negativo, que entra a la nueva base y que
permite reducir el valor de la función objetivo
respecto de la actual solución.
Algoritmos de PL: Método Simplex
Para decidir quién deja la base, es necesario calcular el mayor
valor que puede tomar la variable entrante que garantiza la
factibilidad de la nueva solución básica. Con:

 y1 0   y1 p 
y  y 
B 1b  
20 
B 1 Ap  
2p

   
   
 ym 0   ym p 

y se debe calcular:
yk 0  yi0 
 Min  / yip  0  xk deja la base
ykp  yip 
Algoritmos de PL: Método Simplex
La tabla del Método Simplex mantiene la siguiente estructura:

Donde:
 I: Matriz Identidad
 0: Costos reducidos asociados a las variables básicas
 B: Matriz de variables básicas
 D: Matriz de variables no básicas
 b: Lado derecho
 Cb: Coeficientes en la función objetivo asociados a las variables básicas
 Cd: Coeficientes en la función objetivo asociados a las variables no básicas
Ejemplo

Resolver el siguiente problema de P.L.

Max 40x + 60y


sa: 2x + y  70
x + y  40
x + 3y  90
x,y  0
Algoritmos de PL: Método Simplex
En primer lugar se deben agregar 3 variables de
holgura (introducimos x1 , x2 , x3 - var.básicas), y
llevar a forma estándar (usamos x4 = x y x5 = y).

Min -40x4 – 60x5


sa: x1 + 2x4 + x5 = 70
x2 + x4 + x5 = 40
x3 + x4 + 3x5 = 90
xi  0, i = 1, 2, 3, 4, 5
Tabla Inicial: Método Simplex

x1 x2 x3 x4 x5
1 0 0 2 1 70
0 1 0 1 1 40
0 0 1 1 3 90

0 0 0 -40 -60 0
Algoritmos de PL: Método Simplex
Usamos como variable entrante a la base x5 (pues
su costo reducido r5<0).

x1 x2 x3 x4 x5
1 0 0 2 1 70
0 1 0 1 1 40
0 0 1 1 3 90
0 0 0 -40 -60 0

Se calcula min { 70/1, 40/1, 90/3 } = 90/3=30,


por lo tanto sale x3.
Algoritmos de PL: Método Simplex
Actualizando, queda la siguiente tabla (no óptima),
donde la variable entrante a la base es x4 (pues
r4<0).
x1 x2 x3 x4 x5
1 0 -1/3 5/3 0 40
0 1 -1/3 2/3 0 10
0 0 1/3 1/3 1 30
0 0 20 -20 0 1800

Como
min{40/(5/3),10/(2/3),30/(1/3)}=10/(2/3)=15,
la variable x2 deja la base actual.
Algoritmos de PL: Método Simplex
Actualizando, queda la siguiente tabla final:
x1 x2 x3 x4 x5
1 -5/2 ½ 0 0 15
0 3/2 -1/2 1 0 15
0 -1/2 ½ 0 1 25
0 30 10 0 0 2100

Como todos los costos reducidos son mayores o


iguales que cero nos encontramos en la solución
óptima.
Algoritmos de PL: Método Simplex

 x 1  15 
 x 2  0 
x B   x 4   15  xD      
     x 3  0 
 x 5  25 

z* = - 40*15 – 60*25 = - 2100

En la formulación inicial, tenemos como solución


óptima x*=15, y *=25, con valor óptimo 2100.
Resumen del Método Simplex
Paso 0: Escribir el problema de programación
lineal en su forma estándar.

Paso 1: Escoger una solución básica factible


inicial.

Paso 2: Escoger una variable no-básica con costo


reducido negativo que determina la variable
entrante y seguir al Paso 3. Si todos los costos
reducidos son mayores o iguales que cero, parar
ya que la actual solución básica factible es
óptima.
Resumen del Método Simplex
Paso 3: Calcular el criterio de factibilidad que
determina que variable deja la base. Si todos
los cuocientes son negativos el problema es no-
acotado, parar.

Paso 4: Actualizar la tabla de modo de


despejar el valor de las nuevas variables
básicas, los costos reducidos y el valor de la
función objetivo. Volver al Paso 2.
Método Simplex de dos Fases

No siempre es inmediata la obtención de una solución


básica factible inicial, en las variables originales del
modelo. Para conseguir esto existen varios
procedimientos como son:

 Método Simplex de dos fases.


 Método de la M – grande.
Método Simplex de dos Fases
Fase 1: Se considera un problema auxiliar que
resulta de agregar tantas variables auxiliares a
las restricciones del problema, de modo de
obtener una solución básica factible. Resolver
por Simplex un nuevo problema que considera
como función objetivo la suma de las variables
auxiliares. Si el valor óptimo es cero ir a la Fase
2. En caso contrario, no existe solución factible.
Método Simplex de dos Fases
Fase 2: Resolver por Simplex el problema
original a partir de la solución básica factible
inicial hallada en la Fase1.

Ejemplo: Max 2x1 + x2


sa: 10x1 + 10x2  9
10x1 + 5x2  1
x1,x2  0
Método Simplex de dos Fases
Se debe agregar una variable de holgura (x3) y
una variable de exceso (x4), y llevarlo a su
forma estándar.

Min -2x1 - x2
sa: 10x1 + 10x2 +x3 =9
10x1 + 5x2 - x4 = 1
x1,x2, x3, x4  0
Método Simplex de dos Fases

Aplicamos Simplex de dos Fases :

Fase 1: Min x5
sa: 10x1 + 10x2 +x3 =9
10x1 + 5x2 - x 4 + x5 = 1
x1,x2, x3, x4, x5 0
Método Simplex de dos Fases

 Queda la siguiente tabla inicial:


x1 x2 x3 x4 x5
10 10 1 0 0 9
10 5 0 -1 1 1
0 0 0 0 1 0

donde:
 x 1  0 
 x 3  9 
xB       x D   x 2   0 
 x 5   1    
 x 4  0
Método Simplex de dos Fases
 Luego se hace cero el costo reducido de la
variable x5 en la tabla anterior, y queda la
siguiente tabla para iniciar el uso de Simplex.

x1 x2 x3 x4 x5
10 10 1 0 0 9
10 5 0 -1 1 1
-10 -5 0 1 0 -1
Método Simplex de dos Fases
Usamos como variable entrante a x1 ( pues r1 <
0).
x1 x2 x3 x4 x5
10 10 1 0 0 9
10 5 0 -1 1 1
-10 -5 0 1 0 -1

Calculamos min { 9/10, 1/10}= 1/10, por lo


tanto sale x5.
Método Simplex de dos Fases
 Obteniéndose la siguiente tabla final:
x1 x2 x3 x4 x5
0 5 1 1 -1 8
1 ½ 0 -1/10 1/10 1/10
0 0 0 0 1 0

 x 2  0 
 x 1  1/ 10
xB       x D   x 4   0 
x 3   8     
 x 5  0
Método Simplex de dos Fases
Una vez obtenida la solución óptima del
problema en la Fase 1, con valor óptimo 0,
tomamos x1 y x3 como variables básicas
iniciales para la Fase 2.
Fase 2:
x1 x2 x3 x4
0 5 1 1 8
1 ½ 0 -1/10 1/10
-2 -1 0 0 0
Método Simplex de dos Fases
En la tabla hacemos 0 los costos reducidos de
variables básicas
x1 x2 x3 x4
0 5 1 1 8
1 ½ 0 -1/10 1/10
0 0 0 -1/5 1/5

Luego la variable entrante a la base es x4 (pues


r4<0), calculando min { 8/1, · } = 8, se tiene que
deja la base x3.
Método Simplex de dos Fases
Actualizando la tabla queda:
x1 x2 x3 x4
0 5 1 1 8
1 1 1/10 0 9/10
0 1 1/5 0 9/5

de donde la solución óptima del problema


resulta ser:
 x1  9 / 10  x 2  0 
xB       xD      
x 4   8   x 3  0 
Casos Especiales
1) Problema Infactible. Esta situación se
detecta cuando el valor óptimo del problema de
la Fase 1 es distinto a cero.

Ejemplo: Max 3x1 + 2x2


s.a: 2x1 + x2  2
3x1 + 4x2  12
x1,x2  0
Casos Especiales
2) Múltiples Soluciones Óptimas. Esta situación
se detecta cuando existen costos reducidos
iguales a cero en una o más de las variables no
básicas óptimas.

Ejemplo: Max 2x1 + 4x2


s.a: x1 + 2x2  5
x1 + x2  4
x1,x2  0
Casos Especiales
3) Problema No Acotado. Esta situación se detecta
cuando al realizar el cálculo de la variable que
deja la base, todos los elementos ykj de la columna j
en la tabla, son negativos para j el índice de una
variable no básica con costo reducido negativo.

Ejemplo: Max 2x1 + x2


s.a: x1 - x2  10
2x1  40
x1,x2  0
INVESTIGACIÓN DE OPERACIONES
IND2209

UNIDAD 4

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2017
Dualidad en Programación Lineal
Consideremos un ejemplo de producción de 2 productos
finales que hacen uso de tres recursos escasos
(máquinas), cuyas disponibilidades en horas
corresponden a los lados derechos de las restricciones
del siguiente modelo:

P) Max 40x1 + 60x2


sa: 2x1+ x2  70
x1 + x2  40
x1 + 3x2  90
x1, x2  0
Dualidad en Programación Lineal

La solución óptima y el valor óptimo


del problema P) esta dada por: x1 x2 x3 x4 x5

x1* = 15 0 0 1 -5/2 ½ 15
x2* = 25
1 0 0 3/2 -1/2 15
z = v(p) = 2100
0 1 0 -1/2 ½ 25
Obs: Donde x3, x4, x5
Variables de holgura del problema P). 0 0 0 30 10 2100
Dualidad en Programación Lineal
En lo que sigue, combinaremos las distintas restricciones
del problema, ponderando por los valores no-negativos
1, 2 y 3 cada una, respectivamente, de modo de
obtener la mejor cota superior del valor óptimo del
problema P). Vale decir:

1(2x1+x2) + 2(x1+x2) + 3(x1+3x2)  70 1 +


40 2 + 90 3
Dualidad en Programación Lineal
Para garantizar que el lado derecho de esta última
desigualdad sea una cota superior de la función
objetivo se debe cumplir que :

2 1 + 2 + 3  40
1 + 2 + 3 3  60
Dualidad en Programación Lineal

La mejor elección de esta cota se obtendría al resolver


el siguiente problema de optimización:

D) Min 70 1 + 40 2 + 90 3
sa: 2 1 + 2 + 3  40
1 + 2 + 3 3  60
1, 2, 3  0
Dualidad en Programación Lineal
Este problema se conoce como el problema “Dual” D)
asociado al problema “Primal” P).

También resulta que al formular el problema dual de


D) se obtiene el problema primal (o uno equivalente).

Cualquiera de los dos entrega la misma información y


el valor óptimo alcanzado es el mismo.
Relaciones de Dualidad
Problema de Minimización Problema de Maximización
Si la restricción es: La variable asociada es:
>= >= 0
<= <= 0
= irrestricta
Si la variable es: La restricción correspondiente es:
>= 0 <=
<= 0 >=
irrestricta =
Relaciones de Dualidad

Más generalmente, si el problema primal es:


n
P) Max  c jx j
j1
n
sa :  aijx j  bi i  1,2,..., n
j1

xj  0 j  1,2,..., m
Relaciones de Dualidad

su dual resulta el problema:

m
D) Min  bi i
i 1
m
sa :  aiji  c j j  1,2,..., n
i 1

i  0 i  1,2,..., m
Relaciones de Dualidad
Lo que se puede expresar en forma matricial como:

P) Max cTx
sa: Ax  b
x0

D) Min bT 
sa: AT   c
0
Relaciones de Dualidad
Notar que D) corresponde de manera equivalente a:
Max -bT 
sa: -AT   -c
0
De modo que su dual resulta ser:
D) Min -cTx
sa: -A x  -b
x0
es decir, el dual del dual es el problema primal (o uno
equivalente).
Teorema de Dualidad Débil
Si x  IRn, es una solución factible del problema
primal P) y   IRm, una solución factible del problema
dual D), entonces:
n m
c x   c j x j   bi i  b T 
T

j 1 i 1

En particular, si ambas soluciones son los óptimos de sus


respectivos problemas, sus valores óptimos cumplen que:
v(P)  v(D)
Teorema de Dualidad Débil
En general, el valor de cualquier solución
factible del problema de minimización, provee
una cota superior del valor óptimo del
problema de maximización. Análogamente, el
valor de la función objetivo de cualquier solución
factible del problema de maximización es una
cota inferior del valor óptimo del problema de
minimización.
Ejemplo
Sean los siguientes problemas Primal-Dual. Gráficamente muestre
el cumplimiento del Teorema de Dualidad Débil:

P) Min 2X1 + 2X2


3X1 + 4X2 >= 6
2X1 + X2 >= 2
X1, X2 >= 0

D) Max 6Y1 + 2Y2


3Y1 + 2Y2 <= 2
4Y1 + Y2 <= 2
Y1, Y2 >= 0
Teorema de Dualidad Fuerte
Si x* = (x1*, x2*, ..., xn*)T, es una solución óptima
problema primal P), entonces el problema dual D) tiene
solución óptima * = (1*, 2*, ..., m*)T que satisface:

n m
Además: v(P)  c x *   c j x j *   bi i *  b T   v(D)
T
j1 i 1

i)Si P) es no-acotado, sin solución óptima, entonces D) es


infactible.
ii)Si D) es no-acotado, sin solución óptima, entonces P) es
infactible
Ejemplo
P) Min 3x1 + 4x2 + 5x3
sa: x1+ 2x2 + 3x3  5
2x1 + 2x2 + x3  6
x1, x2, x3  0

D) Max 5 1 + 6 2
sa: 1 + 22  3
21 + 22  4
31 + 2  5
1, 2  0
Ejemplo

Resolvemos D) por Simplex, en su forma estándar:

1 2 3 4 5
 3  3
1 2 1 0 0 3 x B   4   4
2 2 0 1 0 4  5  5
   0 
3 1 0 0 1 5 xD   1    
 2  0
-5 -6 0 0 0 0

Luego la variable entrante a la base es 2 (pues r2<0). Y


calculando Min { 3/2, 4/2, 5/1 } = 3/2, se tiene que sale 3
Ejemplo

1 2 3 4 5
  2  3 / 2 
xB  4    1 
½ 1 ½ 0 0 3/2
1 0 -1 1 0 1    
 5  7 / 2
5/2 0 -1/2 0 1 7/2
  1  0 
-2 0 3 0 0 9 xD      
  3  0 

Luego la variable entrante a la base es 1 (pues r2<0). Y


calculando Min { (3/2)/(1/2), 1/1, (7/2)/(5/2)} = 1, se tiene
que sale 4
Ejemplo

1 2 3 4 5
0 1 1 -1/2 0 1  1  1
x B   2   1
1 0 -1 1 0 1    
0 0 2 -5/2 1 1  5  1
0 0 1 2 0 11   3  0 
xD      
  4  0 
Sol. óptima de D):
1* = 1; 2* = 1; v(D) = 11
Sol. óptima de P):
x1* = 1; x2* = 2; x3* = 0; v(P) = 11
Método Simplex Dual
Resolver el siguiente modelo mediante el Método
Simplex Dual.

P) Min 3x1 + 4x2 + 5x3


s.a: x1+ 2x2 + 3x3  5
2x1 + 2x2 + x3  6
x 1 , x 2, x 3  0
Ejercicio Propuesto
Decidir si X1=21, X2=0, X3=0, X4=1, X5=0, es la solución óptima del
siguiente problema:

P) Max 7x1 - 6x2 + 5x3 - 2x4 + 3x5


s.a: x1+ 3x2 + 3x3 - 2x4 + 2x5 ≤ 19
x1 + x2 + x3 + x4 + x5 ≤ 25
x1 + 2x2 + 4x3 + x4 + x5 ≤ 22
x1, x2, x3 , x4, x5  0

Mediante la teoría de dualidad en Programación Lineal hallar la


solución óptima y valor óptimo de su respectivo problema dual
(formule este último).
Análisis de Sensibilidad o Postoptimal

1) ¿Qué ocurre con las actuales variables básicas si se


cambia algún coeficiente del lado derecho (b)?

Si calculamos: xB  B1b y se cumple: xB  0


Las mismas variables básicas lo son también de la
nueva solución óptima, calculada con el nuevo b .

Si lo anterior no se cumple, se puede aplicar el Método


Simplex Dual.
Ejemplo: Modificación Lado Derecho

Max 2x1 + 7x2 - 3x3


sa: x1 + 3x2 + 4x3  30 x1 x2 x3 x4 x5
x1 + 4x2 - x3  10
x1,x2,x3  0 0 -1 5 1 -1 20

Sin resolver nuevamente el 1 4 -1 0 1 10


problema, se desea saber si las
actuales variables básicas óptimas
del problema también lo son del 0 1 1 0 2 20
mismo problema, donde los lados
derechos corresponde al vector
b=(20,30)
Ejemplo: Intervalo variación Lado Derecho

Max 9x1 + 12x2 x1 x2 x3 x4 x5


sa: 4x1 + 3x2  180
2x1 + 3x2  150 1 0 0 15
1/2 -1/2

4x1 + 2x2  160


0 1 -1/3 2/3 0 40
x1,x2  0
0 0 -4/3 2/3 1 20
Encuentre un intervalo de
variación para b1=180 que
conserve la actual base óptima 0 0 1/2 7/2 0 615
del problema.
Sol: 150  b1  195 Calcule el intervalo para b2 y b3

Max {-bj/yij con yij>0} <= D <= Min {-bj/yij con yij<0}
Ejemplo: Intervalo variación Lado Derecho
2) ¿Qué ocurre con la actual solución óptima si se
agrega una nueva variable al problema ?

Para decidir si la actual solución básica es óptima


para el nuevo problema, calculamos el costo reducido
de la nueva variable mediante la formula:

rk  ck  cBT B 1Ak
donde k es el índice de la nueva variable y Ak su
respectiva columna en la matriz de coeficientes. Si se
cumple que rk0 se conserva la actual solución óptima.

En caso contrario, se puede seguir con el Método


Simplex agregando a la tabla una nueva columna con
entradas B-1Ak y rk y tomando como variable entrante
a la nueva base la que acabamos de introducir al
problema.
Ejemplo: Nueva Variable

Max 9x1 + 12x2


sa: 4x1 + 3x2  180 x1 x2 x3 x4 x5
2x1 + 3x2  150
4x1 + 2x2  160 1 0 1/2 -1/2 0 15
x1,x2  0
0 1 -1/3 2/3 0 40
Se desea estudiar la posibilidad de
elaborar un nuevo producto con
beneficio neto igual a 8 y que requiere 0 0 -4/3 2/3 1 20
4, 2 y 5 unidades de los recursos
asociados a cada restricción.
0 0 1/2 7/2 0 615
Sin resolver nuevamente el problema,
¿Conviene elaborar el producto?
3) ¿Qué ocurre con la actual solución óptima del problema P) si
se cambian los coeficientes que definen la función objetivo ?

Supongamos que el vector de coeficientes en la función objetivo


cambia a un vector c  IR n

La actual solución óptima también lo es para P con:


T
P) Min c x
sa : Ax  b
x0
Siempre que los nuevos costos reducidos sean mayores o iguales
a cero (notar que también cambia el valor de la función objetivo
en la actual solución óptima). Es decir se debe cumplir que:

rD  cD  cBTB1D  0 o equivalentemente
T 1
rj  c j  cBB A j 0 "j

En caso contrario, se aplica el Método Simplex a partir de la


tabla final de P) con los nuevos costos reducidos y nuevo valor de
la actual solución básica.
Veamos los cambios que tienen lugar cuando sólo varía un
coeficiente del vector c de la función objetivo.

a) Cambio de un coeficiente asociado a una variable no-básica


xJ:

Se conserva la misma solución óptima del problema P) ssi. para


esa variable xJ:
T 1
rj  c j  cBB A j 0 "j
Ejemplo: Cambio Parámetros Función Objetivo

Max 2x1 + 7x2 - 3x3


sa: x1 + 3x2 + 4x3  30
x1 + 4x2 - x3  10 x1 x2 x3 x4 x5
x1,x2,x3  0
0 -1 5 1 -1 20

Sin resolver nuevamente el


problema, se desea saber que 1 4 -1 0 1 10
sucede si el beneficio del producto 2
aumenta de 7 a 9 ¿Entra X2 a la
0 1 1 0 2 20
base? ¿Cuál es el punto de
indiferencia?
b) Cambio en un coeficiente de la función objetivo asociado a
una variable básica:

En este caso para tener la misma solución óptima, se debe


cumplir que el costo reducido de todas las variables. cero.
T
rj  c j  cBB  1A j  0

0 
c i  c i  i cB  cB  i 1  cB  ie i

0 
Si el incremento es cualquiera en el siguiente intervalo, se
conserva la misma solución óptima:

 rj   rj 
Max  / yij  0  i  Min  / yij  0
 yij   yij 
donde rj es el costo reducido de la respectiva variable no básica
en la actual solución óptima y los coeficientes yij denotan las
entradas en la tabla final del Simplex asociadas a la variable
básica xi (cuyo costo cambia) y la respectiva variable no básica
xj
Ejemplo: Cambio Parámetros Función Objetivo

Max 20x1 + 15x2


sa: 2x1 + 2x2  8
2x1 + x2  6 x1 x2 x3 x4
x1,x2  0
0 1 1 -1 2
Encontrar un intervalo de
variación para C1 y C2 que
conserven la actual solución 1 0 -1/2 1 2
óptima.
0 0 5 5 70
Sol: -30  C1  -15
-20  C2  -10
Ejemplo: Cambio Parámetros Función Objetivo

Max 2x1 + 7x2 - 3x3


sa: x1 + 3x2 + 4x3  30
x1 + 4x2 - x3  10 x1 x2 x3 x4 x5
x1,x2,x3  0
0 -1 5 1 -1 20

Sin resolver nuevamente el


1 4 -1 0 1 10
problema, se desea saber que
sucede si se modifica los
parámetros de la función 0 1 1 0 2 20
objetivo, quedando éstos de la
siguiente forma:
Z = x1 + 5x2 - 2x3
Ejemplo: Nueva Restricción
Max 2x1 + 7x2 - 3x3
sa: x1 + 3x2 + 4x3  30
x1 + 4x2 - x3  10 x1 x2 x3 x4 x5
x1,x2,x3  0
0 -1 5 1 -1 20

Sin resolver nuevamente el


problema, se desea saber que 1 4 -1 0 1 10
sucede si se considera una
nueva restricción de la forma: 0 1 1 0 2 20

3x1 + 2x2 + 3x3  25

http://www.metodosimplex.com/analisis-de-sensibilidad-o-postoptimal-metodo-simplex/
INVESTIGACIÓN DE OPERACIONES
IND2209

UNIDAD 5

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2017
Modelos de Programación Entera
En muchas aplicaciones, la solución de un problema
tiene sentido solamente si una parte o todas las
decisiones toman valores restringidos a números enteros.

Un problema lineal de programación entera es de la


forma:

P) Max cTx
s.a. A x = b
x  0, xj entero (j Є Ĵ)
Modelos de Programación Entera
En este sentido los algoritmos de resolución de los modelos
de Programación Entera difieren a los utilizados en los
modelos de Programación Lineal.

Algunos algoritmos de Programación Entera (PE) son:

➢ Branch & Bound


➢ Branch & Cut

➢ Planos Cortantes

➢ Relajación Lagrangeana

➢ Etc…

Referencia: http://www.gestiondeoperaciones.net/category/programacion-entera/
i) Problema de Inversión
Una empresa está pensando invertir en cuatro
proyectos diferentes, cada proyecto se finaliza a lo más
en 3 años. Los flujos de caja requeridos en cada año
junto con el Valor Presente Neto de cada proyecto,
concluidos los años de ejecución, y las disponibilidades
de recursos financieros se resumen en la siguiente tabla:
i) Problema de Inversión

Proy 1 Proy 2 Proy 3 Proy 4 Disp. Recursos


Año 1 10 8 6 12 30
Año 2 8 15 4 0 15
Año 3 18 0 16 0 12
V.P.N. 35 18 24 16

Interesa determinar en cuáles proyectos invertir de


modo de conseguir el mayor V.P.N. de la inversión.
i) Problema de Inversión
Variables de decisión:

1, si se invierte en el proyecto i


xi   con i  1,2,3,4
0, sin o

Función objetivo:
Max 35x1 + 18x2 + 24x3 + 16x4
i) Problema de Inversión
Restricciones (tres alternativas):
1) Reinvirtiendo el dinero no utilizado en un período:
Año1: 10x1 + 8x2 + 6x3 + 12x4 + s1 = 30
Año2: 8x1 + 15x2 + 4x3 + s2 = 15 + s1
Año3: 18x1 + 16x3  12 + s2
xi  {0,1} i = 1,2,3,4
i) Problema de Inversión
2) Sin invertir el dinero no utilizado en un período, pero
utilizando el retorno de los proyectos concluidos:
Año1: 10x1 + 8x2 + 6x3 + 12x4  30
Año2: 8x1 + 15x2 + 4x3  15 + 16x4
Año3: 18x1 + 16x3  12 + 18x2
xi  {0,1} i = 1,2,3,4
i) Problema de Inversión
3) Reinvirtiendo el dinero no utilizado en un período y,
también el retorno de proyectos concluidos:
Año1: 10x1+ 8x2+ 6x3+ 12x4+ s1 = 30
Año2: 8x1+ 15x2+ 4x3 + s2 = 15 + s1 + 16x4
Año3: 18x1 + 16x3  12 + s2 + 18x2
xi  {0,1} i = 1,2,3,4
i) Problema de Inversión
Notar que el conjunto de las soluciones factibles es
finito. Esto ocurrirá generalmente con los problemas de
Programación Entera (puros). En el ejemplo, el número
de soluciones factibles no supera el número de las
soluciones binarias del problema (variables restringidas
sólo a valores 0 o 1) que son 24 = 16, dado el número
de variables utilizadas, de hecho las soluciones factibles
son menos de 16 pues en particular xi=1 para
i=1,2,3,4 no satisface las disponibilidades de capital
en cualquiera de las tres alternativas.
i) Problema de Inversión
Supongamos que adicionalmente la inversión efectuada
requiera nuevas restricciones.
Se debe invertir en al menos 1 de los 3 primeros
proyectos:
x1 + x2 + x3  1
El proyecto 2 no puede ser tomado a menos que el
proyecto 3 si sea tomado:
x2  x3
i) Problema de Inversión
Se puede tomar el proyecto 3 o 4 pero no ambos:
x3 + x4  1
No se puede invertir en más de dos proyectos:
x1 + x2 + x3 + x4  2
ii) Inclusión de Costos Fijos
Supongamos que se desea tener lotes de compra de un
producto dado, para satisfacer demandas que fluctúan en
el tiempo sobre un horizonte de planificación dividido en T
períodos.
Asumimos conocidos: una estimación de la demanda dt con t
= 1, 2, ..., T, los costos asociados a la compra de una
unidad pt, los costos asociados al mantenimiento de una
unidad en inventario de cada período ht y los costos fijos
asociados a la gestión de compra en el período t , st.
Observación: No se permite unidades faltantes (demanda
pendiente).
ii) Inclusión de Costos Fijos
Variables de decisión
xt: número de unidades compradas en t.
It : nivel de inventario al final del período t.
1, si se hace una compra en el periodo t
yt  
0, sin o

con t: 1, 2, ..., T
ii) Inclusión de Costos Fijos
Función objetivo
T
Min  st y t  p t x t  h t It
t 1

Restricciones
xt + It-1 - It = dt t = 1, 2, ..., T
I0 = inventario inicial
xt  Mt yt t = 1, 2, ..., T
Mt = cte. grande
Actividad en Clases
Tres empresas telefónicas pidieron que me suscribiera a su
servicio de larga distancia dentro del país. MaBell cobra
US$16 fijos por mes, más US$0,25 por minuto. PaBell cobra
US$25 por mes, pero el costo por minuto se reduce a
US$0,21. Y con PhoneBell, la tarifa fija es de US$18 y el
costo por minuto de US$0,22. Suelo hacer un promedio de
200 minutos de llamadas de larga distancia al mes.
Suponiendo que no pague el cargo fijo si no hago llamadas
y que puedo repartir a voluntad mis llamadas entre las tres
empresas, ¿Cómo debo repartir las llamadas entre las tres
empresas para minimizar la cuenta telefónica mensual?
iii) Transporte y Localización
Si se tiene un conjunto de m clientes que demandan di
unidades de un producto determinado. Una compañía
desea satisfacer esas demandas desde un cierto conjunto de
plantas elegidas de n potenciales lugares donde se
instalarán.
Sean cj los costos asociados a la instalación de la planta j ,
vj el costo unitario de producción de la planta j y tij el costo
de transporte de una unidad desde la planta j al cliente i.
Se desea decidir cuáles plantas abrir y el tamaño de cada
una de modo de satisfacer las demandas estimadas.
iii) Transporte y Localización
Variables de decisión:

1, si se abre la planta j


yj  
0, sin o

xij = el número de unidades elaboradas en la planta j


para satisfacer el cliente i, con j = 1,...,n y i = 1,....,m.
iii) Transporte y Localización
Función objetivo:
n n
 m
  n m
Min  j j  j   ij 
c y  v x   tijxij
j 1 j1 i 1 j 1 i 1
iii) Transporte y Localización
Restricciones:
1) Demanda cliente i: n

xj 1
ij  di
2) Relacionar variables de producción con las asociadas a
la apertura de plantas (variables binarias):
m

x
i 1
ij  M j yj

donde Mj es una constante grande (por ejemplo, capacidad


máxima de producción de la planta j), con xij  0 e yj 
{0,1}.
iv) Problema de Asignación
Un departamento de ingeniería industrial de una
universidad desea determinar cual es la mejor
asignación de profesores para un conjunto de cursos
que se deben dictar el próximo semestre. Cada
profesor debe dictar uno de los siguientes cursos:
Optimización, Economía, Investigación Operativa,
Gestión de Operaciones y Evaluación de Proyectos.
Se ha consultado a los profesores sobre la preferencia
de dictar estos cursos. La siguiente tabla muestra estas
preferencias donde 10 es máxima preferencia y 1
mínima preferencia.
iv) Problema de Asignación
Profesores
Cursos A B C D E
Optimización 8 9 6 10 3
Economía 6 6 10 4 9
Investigación Operativa 10 8 5 10 4
Gestión de Operaciones 10 9 4 8 5
Evaluación de Proyectos 5 4 9 3 9

Se desea determinar cual es la asignación de


profesores a cursos, de tal manera que cada profesor
dicte un curso y cada curso tenga un profesor, y que el
nivel total de satisfacción de las preferencias sea
máximo.
iv) Problema de Asignación
iv) Problema de Asignación
v) Problema Corte de Rollos
Una industria que fabrica papel y lo distribuye en rollos
debe determinar la mejor forma de realizar el proceso
de corte. Los rollos de papel que se producen tiene un
ancho de 100 cm; sin embargo, los clientes demandan
rollos de 30 cm, 45 cm y 50 cm de ancho. Por lo tanto,
al cortar los rollos de 100 cm se incurre en una pérdida
de material que depende de la forma en que se corten
los rollos.
Se desea determinar la forma de efectuar el corte de
manera que se satisfaga la demanda y se minimice la
pérdida total de material.
v) Problema Corte de Rollos
Se tiene un pedido de 800 rollos de 30 cm de ancho, 500
rollos de 45 cm y 1.000 rollos de 50 cm. Dada las
características de los rollos demandados por los clientes,
existen 6 alternativas de corte de un rollo de 100 cm de
ancho, que se muestra a continuación:
Esquema 1: 30 – 30 – 30 Pérdida: 10
Esquema 2: 30 – 45 Pérdida: 25
Esquema 3: 45 – 45 Pérdida: 10
Esquema 4: 45 – 50 Pérdida: 5
Esquema 5: 50 – 50 Pérdida: 0
Esquema 6: 30 – 50 Pérdida: 20
v) Problema Corte de Rollos
v) Problema Corte de Rollos

Referencia: http://www.neos-guide.org/content/cutting-stock-problem
¿Es la mejor solución que podemos alcanzar?
Actividad en Clases
El Concejo de una determinada municipalidad está
interesado en ubicar dos ambulancias en una zona
recientemente urbanizada, con el propósito de
maximizar el número de residentes que pueden ser
alcanzados por una ambulancia en situaciones de
emergencia en un tiempo máximo de 5 minutos. Esta
zona ha sido subdividida en 6 unidades territoriales y
los tiempos promedio estimado (en minutos) para ir de
una unidad territorial a otra se resumen en la siguiente
tabla:
Actividad en Clases

La población de las unidades territoriales 1 a la 6 se estima


en 200, 600, 450, 550, 360 y 480 personas,
respectivamente. Formule un modelo de Programación
Entera que contribuya a decidir en cuál de las unidades
territoriales instalar las ambulancias, evitando que ambas
queden en la misma. ¿Cómo cambia su modelo si no se
acepta que una unidad territorial quede sin ser atendida
por una ambulancia? ¿Qué haría si este último modelo
resulta infactible?
Actividad en Clases
Actividad en Clases
vi) Problema Generación Eléctrica
EGE abastece de electricidad a tres ciudades. La compañía
dispone de cuatro generadores que son utilizados para
proporcionar la potencia eléctrica requerida. El generador
principal es empleado las 24 horas del día y no es materia de
planificación en este problema.
Los otros tres generadores (que llamaremos 1, 2 y 3) están
disponibles para generar la potencia adicional cuando se
requiera. Considerar que se incurre en un costo de arranque
cada vez que uno de estos generadores comienza a operar.
Los costos de arranque son de $6.000 para el generador 1,
de $5.000 para el generador 2 y de $4.000 para el
generador 3. Estos generadores se utilizan (por separado)
únicamente de la siguiente manera: se puede poner en
operación a las 6am y funcionar 8 horas (hasta las 2pm) o
16 horas (hasta las 10pm), o puede ponerse en
funcionamiento a las 2pm y funcionar 8 horas (hasta las
10pm).
vi) Problema Generación Eléctrica
Los pronósticos para mañana indican la necesidad de
contar con 3.200 MW adicionales entre las 6am y las
2pm, necesidad que se eleva a 5.700 MW entre las
2pm y las 10pm. El generador 1 puede proporcionar
hasta 2.400 MW, el 2 hasta 2.100 MW y el 3 hasta
3.300MW. El costo por MW utilizado durante un
periodo de 8 horas es de $8 en el caso de 1, $9 en el
de 2 y $7 en el de 3.
vi) Problema Generación Eléctrica
Formule y resuelva un modelo de Programación Entera
para determinar los niveles óptimos de operación de
cada generador para el día de mañana que minimice
los costos totales satisfaciendo los requerimientos
adicionales de potencia eléctrica.
vi) Problema Generación Eléctrica
vi) Problema Generación Eléctrica
Resolución de Modelos de PE
Supongamos que tenemos el siguiente problema de
programación lineal:
PL) Max cTx
s.a. Ax=b
x0
Pero todas o una parte de las variables deben
restringir su valor a números enteros, dando origen a un
problema de Programación Entera (puro) o de
Programación Entera- Mixta, respectivamente.
Resolución de Modelos de PE
Por ejemplo:
PLE) Max cTx
s.a. Ax=b
x  0, xj entero
El problema PL) corresponde a la relajación continua
del problema PLE), que resulta de eliminar las
condiciones de integralidad de las variables de
decisión en PLE).
Resolución de Modelos de PE
En este caso, el valor óptimo de PL) provee sólo una
cota superior del valor óptimo de PLE). Notar sin
embargo, que si la solución óptima de PL) cumple con la
integralidad de los valores requeridos, entonces esta
solución es también solución óptima de PLE).
Ejemplo: Resolución de Modelos de PE
PLE) Max x2
s.a. - 2x1 + 2x2  1
2x1 + x2  7
x1  0, x2  0 enteros
Resolución de Modelos de PE
Notar que en el ejemplo la solución óptima puede ser
hallada por simple enumeración de todas las soluciones
factibles. Aquí la solución óptima es:

x 1* = 2 x 2* = 2

Esta alternativa de enumeración queda naturalmente


restringida a problemas muy pequeños.
Resolución de Modelos de PE
Alternativamente, podemos resolver la relajación
continua asociada al problema PLE). Si la solución
óptima de la relajación continua da una solución entera,
esa es la solución óptima no solo del problema lineal
sino que también lo es del problema lineal entero.
En el ejemplo, la solución de la relajación continua es:

x1 = 13/6
x2 = 8/3
Resolución de Modelos de PE
A partir de esta última solución podemos redondear los
valores que no salieron enteros, en el ejemplo:
x1 = 2
x2 = 3
la cual no es una solución factible de PLE), de modo que
desde el punto de vista de una resolución numérica no
es suficiente con resolver la relajación continua.
Resolución de Modelos de PE
Todavía podrían resultar soluciones factibles de PLE),
pero no necesariamente óptimas. Por ejemplo:

PLE) Max f(x1, x2) = x1 + 5x2


s.a. x1 + 10x2  10
x1  1
x1  0, x2  0 enteros
Resolución de Modelos de PE
Solución óptima de PL)
x1 = 1 f(1,9/10)=5,5
x2 = 9/10
Redondeando o truncando los valores
x1 = 1 infactible x1 = 1 f(1,0)=1
x2 = 1 x2 = 0
Pero la solución óptima de PLE) es:
x1 = 0; x2 = 1; v(PLE) = 5
Algoritmo Branch & Bound
Consideremos el siguiente problema de programación
entera:

PLE) Max 21x1 + 11x2


s.a. 7x1 + 4x2  13
x1  0
x2  0
x1, x2 enteros
Algoritmo Branch & Bound
Consideremos inicialmente la resolución de la relajación continua
de PLE), que consiste en eliminar las condiciones de integralidad.
Algoritmo Branch & Bound
Descripción del método Branch and Bound (Maximización)
Paso 0
Hacer P0), la relajación continua de PLE)
Fijar la cota inferior del v(PLE) en -.
Paso1
Seleccionar un problema no resuelto, Pi)
Resolver Pi) como problema de programación lineal.
Agotar este problema, usando:
(i) que se encontró una solución entera
(ii) que el problema resulta infactible
(iii) que el problema no provee un valor mejor que la actual cota del valor
óptimo v(PLE).
Algoritmo Branch & Bound
Si el problema Pi) resulta agotado y da solución entera,
mejorar el valor de la cota inferior de v(PLE).
Si todos los problemas están agotados, parar.
Solución óptima de PLE), la solución entera asociada a
la actual cota inferior de v(PLE), si existe (si no existe
entonces PLE) es infactible)
Si el problema no está agotado pasar al paso 2.
Algoritmo Branch & Bound
Paso 2
Seleccionar una variable xj= ûj, cuyo valor en la
solución óptima de Pi) no de entero.
Eliminar la región correspondiente a
ûj < ûj < ûj + 1
Crear dos nuevos problemas de programación lineal
que incorporen a Pi) dos restricciones mutuamente
excluyentes: xj  ûj, xj  ûj +1 una en cada
problema y volver al paso 1.
Algoritmo Branch & Bound
Actividad en Clases (Branch & Bound)
Resuelva el siguiente problema de Programación
Entera:

PLE) Max 5x1 + 8x2


s.a. x1 + x2  6
5x1 + 9x2  45
x1  0
x2  0
x1, x2 enteros

Referencia: http://www.gestiondeoperaciones.net/programacion-entera/ejemplo-del-
algoritmo-de-branch-and-bound-ramificacion-y-acotamiento/
INVESTIGACIÓN DE OPERACIONES
IND2209

UNIDAD 6

PROF. FRANCISCO YURASZECK E.


INGENIERO COMERCIAL UTFSM
MAGÍSTER EN MARKETING UAI
DIPLOMADO EN GESTIÓN DE OPERACIONES UAI – ECLASS
ALUMNO DOCTORADO EN INGENIERÍA INDUSTRIAL PUCV
SOCIO INSTITUTO CHILENO DE INVESTIGACIÓN OPERATIVA (ICHIO)
E-MAIL: FRANCISCO.YURASZECK@UNAB.CL

FACULTAD DE INGENIERÍA
UNIVERSIDAD ANDRÉS BELLO

INVESTIGACIÓN DE OPERACIONES
Primer Semestre 2017
Modelos de Redes
Existe una multitud de situaciones, en investigación de
operaciones, que se pueden modelar y resolver como
redes (nodos conectados por ramas). Algunas encuestas
recientes informan que hasta el 70% de los problemas
de programación matemática en el mundo real se
pueden representar como modelos relacionados con
redes.

Fuente: Investigación de Operaciones, Hamdy Taha.


Modelos de Redes
Estos modelos de redes son formulados como un
conjunto de puntos que comúnmente son llamados nodos,
los que pueden representar entes como ciudades,
bodegas, plantas, entre otros; además hay
interconexiones de unión entre los nodos conocidos como
arcos, los que pueden representar entes tales como
caminos, tuberías, cables conductores, rutas aéreas o
marítimas, entre otros.
Modelos de Redes
Estos modelos de flujo
en redes nos pueden
ayudar a representar,
modelar y optimizar
sistemas de transporte,
programación de rutas
de vehículos, cadenas
logísticas, organización
de actividades en un
proyecto, entre otras.
Problema del Camino Más Corto
El problema del camino más corto consiste en
encontrar una ruta o camino óptimo entre un nodo
fuente y un nodo destino, los cuales están enlazados a
través de una red con arcos que poseen un cierto
atributo, el cual puede ser costo, distancia, tiempo, etc.

La Programación Entera permite abordar de forma


eficiente este tipo de problemas, en especial cuando la
cantidad de nodos y rutas posibles es un
número significativo.
Problema del Camino Más Corto
Consideremos el siguiente diagrama donde los números
asignados a cada uno de los arcos representan la
distancia en kilómetros de un nodo a otro. Se desea
encontrar la ruta con la distancia mínima para ir del
nodo 1 al nodo 8.
Problema del Camino Más Corto
El tamaño reducido de la red anterior permite
encontrar el camino más corto simplemente
enumerando las distintas alternativas que comenzando
en el nodo 1 permita llegar al nodo 8. De esta forma
las rutas posibles son:
 Ruta 1-2-5-7-8: 4+8+17+9=38[km]
 Ruta 1-3-4-7-8: 3+12+20+9=44[km]
 Ruta 1-3-4-6-8: 3+12+2+22=39[km]
 Ruta 1-3-4-8: 3+12+15=30[km]
 Ruta 1-3-6-8: 3+4+22=29[km]
La ruta o camino más corto es 1-3-6-8 con una
distancia total de 29[km].
Problema del Camino Más Corto
A continuación se formula un modelo de Programación
Entera que permite extender este tipo de resultados a
un problema de estas características:

Variables de Decisión:

Función Objetivo:
Problema del Camino Más Corto
Restricciones: (1) garantiza que sólo un nodo (entre el 2 y el 3) pueda ser el
que se visita a continuación de comenzar en el nodo 1.
(2) determina que si se visito el nodo 2 después del nodo 1,
entonces necesariamente el nodo 5 será visitado después del nodo
2.
(3) permite verificar que si el nodo 3 fue visitado luego del nodo
1, entonces a continuación se visita el nodo 4 o el nodo 6 (sólo uno
de ellos).
(4) establece que si el nodo 5 fue visitado luego del nodo 2,
entonces el nodo 7 debe ser visitado luego del nodo 5.
(5) garantiza que si el nodo 4 fue visitado luego del nodo 3,
entonces a continuación se visita uno de los siguientes nodo: 7, 8 o
6.
(6) indica que si el nodo 6 fue visitado inmediatamente luego de
estar en el nodo 3 o 4, a continuación se visita el nodo 8.
(7) determina que si el nodo 7 fue visitado inmediatamente luego
de estar en el nodo 4 o 5, a continuación se visita el nodo 8.
(8) asegura que ya sea el nodo 7, 4 o 6 sea el último en visitar
previo a terminar la ruta en el nodo 8.
Problema del Camino Más Corto
Al implementar en Solver el problema anterior se
alcanzan los siguientes resultados:

Donde se corrobora que la ruta más corta (solución


óptima) corresponde al camino 1-3-6-8 con una
distancia total de 29[km] (valor óptimo).
Problema de Flujo Máximo
Este tipo de problemas es similar al Problema de Ruta
más Corta, pero ahora se busca determinar el flujo
máximo entre un nodo fuente y un nodo destino, los que
están enlazados a través de una red, con arcos con
capacidad finita, tal como se presenta en la siguiente
figura. Notar que los números asignados a cada uno de
los arcos representan los flujos máximos o capacidades
correspondientes a cada arco.
Problema de Flujo Máximo

Desde el punto de vista de la Programación Entera


podemos plantear la situación de la siguiente forma:
Problema de Flujo Máximo
Variables de Decisión:

Función Objetivo: Maximizar las unidades que salen


del nodo de origen (1) a los que éste conecta (2, 4 y 5)
o alternativamente maximizar las unidades que llegan
al nodo de destino (8) desde los que conectan a él (3, 6
y 7).
Problema de Flujo Máximo
Restricciones:

Restricciones de Flujo Máximo: La cantidad de unidades


que sale de cada nodo de origen a un nodo de destino
no puede superar la capacidad detallada en el arco,
por ejemplo, del nodo 1 al nodo 2 sólo se pueden
enviar 7 unidades.
Problema de Flujo Máximo
Restricciones de Balance de Flujo en los Nodos: Debe
existir un equilibrio entre la cantidad de unidades que
llega a un nodo y las que de éste salen, por ejemplo el
número de unidades que se envía desde el nodo 1 al 4
(si es que así fuese el caso) debe ser igual a lo que
desde el nodo 4 se envían al nodo 3 y 6.
Problema de Flujo Máximo
No Negatividad e Integralidad: Las variables de decisión
de decisión deben cumplir las condiciones de no
negatividad. Adicionalmente exigiremos que éstas
adopten valores enteros aún cuando se podría
flexibilizar dicha situación lo que daría origen a un
problema de Programación Lineal.
Problema de Flujo Máximo
Luego de implementar el modelo de optimización
anterior con Solver se alcanza la siguiente solución
óptima y valor óptimo:
Problema de Flujo Máximo
Notar que el flujo máximo de unidades que puede
llegar al nodo de destino son 32 unidades (valor
óptimo) donde cualquiera de las funciones objetivos
propuestas proporciona el mismo resultado (en
particular hemos utilizado la primera de ellas). Los
valores de las celdas en color amarillo representan la
solución óptima, es decir, la cantidad de unidades que
fluyen en cada combinación de un nodo origen destino.

Referencia:
http://www.gestiondeoperaciones.net/programacion-entera/ejemplo-del-
problema-del-flujo-maximo-en-programacion-entera-resuelto-con-solver/

Você também pode gostar