Sei sulla pagina 1di 382

Investigación de Operaciones

Ing. Rodrigo Sempértegui Álvarez


Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
I. Introducción a la Investigación de Operaciones

I.1. Introducción
Investigación de Operaciones

Antecedentes:
􀁺 Durante la Segunda Guerra Mundial, el mando británico
consultó a científicos y técnicos sobre distintas cuestiones
Ing. Rodrigo Sempértegui Álvarez

militares:
– Despliegue de radares.
– Dirección de operaciones antisubmarinas, de minas,
bombardeos y traslado de tropas.

􀁺 El resultado se llamó Investigación de Operaciones


Militares, y más tarde Investigación Operativa (IO)

􀁺 El MIT contribuyó a su puesta en marcha


– El profesor Morse (MIT) fue pionero en los EE.UU.
– Fundó el Centro OR del MIT y colaboró en la fundación de
ORSA.

3
I. Introducción a la Investigación de Operaciones

¿Qué son las ciencias de la gestión (investigación


Investigación de Operaciones

operativa)?
􀁺 Hoy en día: las ciencias de la gestión y la
investigación operativa suponen “el empleo de
Ing. Rodrigo Sempértegui Álvarez

modelos matemáticos para proporcionar pautas que


permitan a los gestores tomar decisiones efectivas
partiendo de la información de la que disponen, o
para hallar el modo de ampliar ésta, en caso de que
sea insuficiente para llegar a la decisión adecuada.”
􀁺 Comparar con: ciencias de la decisión, análisis
de sistemas, investigación operativa, dinámica de
sistemas, análisis operacional, sistemas de
ingeniería, ingeniería de sistemas y otros conceptos.

4
I. Introducción a la Investigación de Operaciones

La investigación operativa en la historia


Investigación de Operaciones

􀁺 1947
– Proyecto Scoop (Scientific Computation of
Optimum Programs), en el que George Dantzig y
Ing. Rodrigo Sempértegui Álvarez

otros científicos desarrollan el método simplex de


programación lineal.
􀁺 Década de 1950
– Años muy interesantes: progresos matemáticos,
teoría de colas, programación matemática.
Comparar con: Inteligencia artificial (I.A.) en los 60.
􀁺 Década de 1960
– Crece el interés: más progreso, grandes proyectos.
Comparar con: Inteligencia artificial en los 80.

5
I. Introducción a la Investigación de Operaciones

􀁺 Década de 1970
Investigación de Operaciones

– Época de desilusión y estancamiento. NPcompleto.


Expectativas más realistas.
􀁺 Década de 1980
Ing. Rodrigo Sempértegui Álvarez

– Gran expansión del uso de computadores


personales.
Acceso cada vez más fácil a datos. Se extiende la
disposición de los directivos al empleo de modelos.
􀁺 Década de 1990
– Uso creciente de sistemas de I.O.
Nuevos avances de la tecnología de I.O; p.ej:
ampliaciones de optimización y simulación a hojas
de cálculo, lenguajes de modelación, optimización a
gran escala. Mayor interconexión entre la I.A. y la I.O
6
I. Introducción a la Investigación de Operaciones

La investigación operativa en el año 2000


Investigación de Operaciones

􀁺 CIENTOS de oportunidades para el campo de la


I.O.
􀁺 Datos, datos y más datos
Ing. Rodrigo Sempértegui Álvarez

– Datos de e-business (click stream, compras, otros


datos de transacciones, correo electrónico, etc.)
– El proyecto del genoma humano y su desarrollo
􀁺 Mayor automatización en la toma de decisiones
􀁺 Necesidad de mayor coordinación para la
utilización de recursos (gestión de la cadena de
suministro)

7
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

Definición

Aplicación del método científico por un grupo multidisciplinario


personas a la resolución de un problema.
Ing. Rodrigo Sempértegui Álvarez

Objetivo

El principal objetivo de esta área de conocimientos consiste en


formular y resolver diversos problemas orientados a la toma de
decisiones, mediante métodos científicos, que optimizan el
funcionamiento del proceso analizado, generalmente bajo
condiciones que implican la utilización de recursos escasos.

8
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

Naturaleza

La naturaleza de los problemas abordados pueden ser:


Ing. Rodrigo Sempértegui Álvarez

 Métodos determinísticos: Programación lineal, programación


entera, transporte, teoría de la localización o redes, programación
multicriterio, teoría de inventarios, etc. (Modelos de Prog.
Matemática)

 Métodos probabilísticos: Cadenas de markov, teoría de juegos,


líneas de espera, teoría de inventarios, etc.

 Métodos híbridos: Conjugan métodos determinísticos y


probabilísticos.

 Métodos heurísticos: soluciones basadas en la experiencia.

9
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

Gran cantidad de problemas reales cada más


complejos y especializados requieren de:
Ing. Rodrigo Sempértegui Álvarez

 Uso de metodologías para la formulación


matemática de estos problemas.

 Métodos y herramientas de resolución, como los


que provee la Investigación de Operaciones.

10
I. Introducción a la Investigación de Operaciones

I.1.1 Formulación del Problema


Investigación de Operaciones

1. Definir el Problema
– Definir el Problema
– Especificación de Objetivos
Observar el Sistema
Ing. Rodrigo Sempértegui Álvarez

2.
– Reunir Datos
– Estimar Valores de Parametros
3. Formular el Modelo Matemático para el Problema
– Representación Idealizada del Problema
4. Verificar el Modelo y usar el Modelo para Predicciones
– Estimar el Grado de Acercamiento del Modelo a la Realidad
5. Seleccionar la Alternativa Adecuada
– Escoger el modelo que mejor se adapta a los objetivos
6. Presentar los Resultados y Conclusiones del Estudio a la
Organización
7. Implantar y Evaluar las Recomendaciones

11
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

Formular el Problema

Observar el Sistema
Ing. Rodrigo Sempértegui Álvarez

Formular el Modelo Matemático

Verificar el Modelo y usar para predicciones

Seleccionar la Alternativa

Presentar Resultados y Conclusiones

Implantar y Evaluar
Recomendaciones
12
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

I.2 Elementos de un modelo de optimización.

Supongamos que se dispone de determinadas piezas para la


Ing. Rodrigo Sempértegui Álvarez

elaboración de dos productos finales. Se dispone de 8 “piezas


pequeñas” y 6 “piezas grandes”, que son utilizadas para elaborar
sillas (usando 2 piezas pequeñas y 1 pieza grande) y mesas
(usando 2 piezas de cada tipo).

Interesa decidir cuántas sillas y mesas fabricar de modo de obtener


la máxima utilidad, dado un beneficio neto de U$ 15 por cada silla y
de U$20 por cada mesa fabricada.

13
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

Posibles soluciones factibles a considerar, esto es soluciones


que respetan las restricciones del número de piezas
disponibles, son por ejemplo, fabricar:
Ing. Rodrigo Sempértegui Álvarez

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


• 1 sillas y 2 mesas , utilidad de U$55
• 3 mesas, utilidad de U$60
• 1 mesa y tres sillas, utilidad de U$65
• 2 sillas y 2 mesas, utilidad de U$70
• etc.

14
I. Introducción a la Investigación de Operaciones

Componentes de un modelo matemático:


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

decisiones que se debe tomar. En el ejemplo,


x: número de sillas elaboradas. y: número de mesas elaboradas.

¿Qué puedes decidir?


Ing. Rodrigo Sempértegui Álvarez

Ej: cuanto producir; cuanto invertir, y en qué, son variables de


decisión

ii) La función objetivo del problema, que permita tener el mejor


criterio para decidir entre todas las soluciones factibles. En el
ejemplo, maximizar la utilidad dada por:
z = f(x,y) = 15x + 20y

¿Qué quiere decir “mejor”?


Ej: maximizar beneficio, minimizar coste, … son objetivos

15
I. Introducción a la Investigación de Operaciones

iii) Restricciones del problema, que consiste en definir un conjunto


Investigación de Operaciones

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:
2x + 2y  8
Ing. Rodrigo Sempértegui Álvarez

Piezas pequeñas:
Piezas grandes : x + 2y  6
También se impone restricciones de no – negatividad:
x,y  0
¿Qué restricciones limitan las decisiones?
Ej: no exceder presupuesto, no usar más piezas que las disponibles,
etc.… son restricciones

iv) Resolución del Modelo y Análisis de la Solución

16
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

En resumen: Max 15x + 20y


sa: 2x + 2y  8
x + 2y  6
Ing. Rodrigo Sempértegui Álvarez

x,y  0

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
f(x,y) = cxa + dyb con a,b >1, y tendríamos un modelo de
Programación No Lineal.

17
I. Introducción a la Investigación de Operaciones
Investigación de Operaciones

BIBLIOGRÁFIA EN INVESTIGACIÓN DE OPERACIONES

1. Introducción a la Investigación de Operaciones, F.S. Hillier y


G.J. Lieberman, McGraw Hill, Sexta Edición, 1997.
Ing. Rodrigo Sempértegui Álvarez

2. Investigación de Operaciones, una introducción, H.A. Taha,


Prentice Hall, México, Sexta Edición, 1998.
3. Introduction to Management Science, F. Hillier, M. Hillier and
G.J. Lieberman. Irwin McGraw-Hill, 1999.
4. Model Operations Research: A practical Introduction. M.W.
Carter and C.C.Price. CRC Press, 2000.
5. Practical Management Science: Spreadsheet Modeling and
Applications, Winston, W.L., Albright S.C. y Broadie M.,
International Thomson Publishing Company, 1997.

18
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Temario:
Ing. Rodrigo Sempértegui Álvarez

II.1. Introducción
II.2. Definiciones
II.3. Suposiciones de la PL
II.4. Ejemplos de modelamiento.
II.5. Resolución gráfica de problemas.
II.6. Análisis de Sensibilidad.
II.7. El Método Simplex.
II.8. Dualidad en Programación Lineal.
II.9. Análisis de Sensibilidad o Post-Optimal
20
II. Modelos de Programación Matemática
Programación Lineal

II.1 INTRODUCCIÓN
Investigación de Operaciones

 La programación lineal es un caso especial de la programación


matemática, en donde todas las funciones que participan en el
modelo son lineales.
Ing. Rodrigo Sempértegui Álvarez

 Utilización:

 Planificación
 Gestión de recursos humanos y materiales
 Transporte
 Planificación financiera
 Organización de la producción.
 Una extensa gama de problemas que aparecen en las áreas
de tipo industrial, económico, administrativo, militar, etc.

21
II. Modelos de Programación Matemática
Programación Lineal

II.2 DEFINICIONES
Investigación de Operaciones

 Función Lineal.- una función f(x1, x2, x3,…. xn) es una función
lineal de x1, x2, x3,…. xn, si y solo si para algún conjunto de
constantes c1, c2, c3,…. cn, existe una función f(x1, x2, x3,….
Ing. Rodrigo Sempértegui Álvarez

xn) = c1 x1+ c2 x2, c3 x3,…. cn xn

 Desigualdad Lineal.- una desigualdad f(x1, x2, x3,…. xn)≥ b ó


f(x1, x2, x3,…. xn)≤ b es lineal, si y solo si la función f(x1, x2,
x3,…. xn) es lineal y b es cualquier número real.

 Un problema de Programación Lineal.- es un problema de


optimización, para el cual:
 Se busca maximizar o minimizar una función lineal de variables de
decisión.
 Los valores de las variables de decisión satisfacen un conjunto de
restricciones. Cada restricción es una ecuación o una desigualdad
lineal.

22
II. Modelos de Programación Matemática
Programación Lineal

La Región Factible y la Solución Óptima:


Investigación de Operaciones

• Región Factible.- Es el conjunto de todos los puntos que


satisfacen todas las restricciones del problema de PL.
Ing. Rodrigo Sempértegui Álvarez

• Solución Óptima.- Para un problema de maximización en PL la


solución óptima es el punto o conjunto de puntos de la región
factible con mayor valor de la función objetivo. Para un problema
de minimización en PL la solución óptima es el punto o conjunto
de puntos de la región factible con menor valor de la función
objetivo.

23
II. Modelos de Programación Matemática
Programación Lineal

 Suposiciones de Proporcionalidad y Aditividad.-


Investigación de Operaciones

 El hecho de que la función objetivo de un problema de PL tiene


que ser una función lineal de las variables de decisión, tiene dos
implicaciones:
Ing. Rodrigo Sempértegui Álvarez

 La contribución de cada variable de decisión a la función objetivo es


proporcional al valor de la variable de decisión.
 La contribución a la función objetivo por parte de cualquier variable
de decisión es independiente de los valores de las otras variables
de decisión.

 El hecho de que cada restricción de un problema de PL tiene


que ser una desigualdad o igualdad lineal de las variables de
decisión, tiene también dos implicaciones:
 La contribución de cada variable al lado izquierdo de cada
restricción es proporcional al valor de la variable de decisión.
 La contribución de cada variable al lado izquierdo de cada
restricción independiente de los valores de las otras variables de
decisión.

24
II. Modelos de Programación Matemática
Programación Lineal

• Suposición de Divisibilidad.-
Investigación de Operaciones

– La suposición de divisibilidad requiere que cada variable de


decisión pueda tomar valores fraccionarios.
– En muchas situaciones donde no se presenta la divisibilidad,
Ing. Rodrigo Sempértegui Álvarez

redondear cada variable de la solución óptima del problema de PL


a un valor entero, puede proporcionar una solución razonable más
no necesariamente óptima.

• Suposición de Certidumbre.-

– La suposición de certidumbre significa que tiene que conocerse


con certidumbre cada parámetro (coeficiente de la función objetivo,
coeficientes de las variables de las restricciones, lado izquierdo de
las restricciones).

25
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

II.4 Ejemplos de modelamiento.


Ing. Rodrigo Sempértegui Álvarez

i) Problema de Transporte. 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.
26
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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
Ing. Rodrigo Sempértegui Álvarez

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

27
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Diagrama:
C.D.1
X11
Ing. Rodrigo Sempértegui Álvarez

Planta 1
X12

X21 X22 C.D.2


Planta 2

X13
X23
C.D.3

Orígenes Destinos

28
II. Modelos de Programación Matemática
Programación Lineal

Variables de decisión:
Investigación de Operaciones

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


centro de distribución j (j=1,2,3)
Ing. Rodrigo Sempértegui Álvarez

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

29
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

3) Oferta :
 250
Ing. Rodrigo Sempértegui Álvarez

P1 : x11 + x12 + x13


P2 : x21 + x22 + x23  400

Las variables de decisión deben aceptar soluciones como


números reales para tener un modelo de P.L.

30
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

ii) Problema de la dieta: este consiste en determinar una


dieta de manera eficiente, a partir de un conjunto dado de
alimentos, de modo de satisfacer ciertos requerimientos
Ing. Rodrigo Sempértegui Álvarez

nutricionales.
Supongamos que se tiene la siguiente información:

Leche Legumbre Naranjas Requerimientos


(galon) (1 porción) (unidad) Nutricionales
Niacina 3,2 4,9 0,8 13
Tianina 1,12 1,3 0,19 15
Vitamina C 32 0 93 45
Costo 2 0,2 0,25

31
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Variables de decisión:
x1 : galones de leche utilizados en la dieta.
x2 : porciones de legumbre utilizadas en la dieta.
Ing. Rodrigo Sempértegui Álvarez

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+ + 9 x3  45
x1  0 ; x2  0 ; x3  0
32
II. Modelos de Programación Matemática
Programación Lineal
iii) Problema de dimensionamiento de lotes:
Este consiste en hallar una política óptima de producción para satisfacer
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

uno de los 4 periodos en que se ha subdividido el horizonte de planificación


y se tiene adicionalmente la siguiente información:

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). 33
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Variables de decisión:
xt : número de unidades elaboradas en el periodo t.
Ing. Rodrigo Sempértegui Álvarez

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

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


podríamos no incluirla, pero de todos modos la consideramos.

34
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Restricciones del problema:


1) Restricciones de cotas, que reflejan la capacidad de
producción.
Ing. Rodrigo Sempértegui Álvarez

xt 150  t  Período
2) Restricciones de no negatividad
xt  0  t  Período
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

35
II. Modelos de Programación Matemática
Programación Lineal
iv) Problema de planificación financiera:
Investigación de Operaciones

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 (PCC) :12%
Ing. Rodrigo Sempértegui Álvarez

• Segundo crédito corriente (SCC) :16%


• Crédito para el hogar :16%
• Crédito personal :10%
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.
¿Cuánto asignar a cada tipo de crédito, de la manera más eficiente,
respetando la política del banco? 36
II. Modelos de Programación Matemática
Programación Lineal

Variables de decisión:
Investigación de Operaciones

x1 :Monto asignado al PCC. x2 : Monto asignado SCC.


x3 : Monto asignado al crédito para el hogar.
Ing. Rodrigo Sempértegui Álvarez

x4 : Monto asignado al crédito personal.


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

37
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

v) 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
Ing. Rodrigo Sempértegui Álvarez

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

38
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Estas gasolinas pueden ser vendidas directamente a un


precio de $24,83 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:
Ing. Rodrigo Sempértegui Álvarez

NP RV Precio por barril (US$)


avgas A Al menos 100 A lo más 7 26,45
Avgas B Al menos 91 A lo más 6 25,91

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.

39
II. Modelos de Programación Matemática
Programación Lineal

Variables de decisión:
Investigación de Operaciones

xj : cant. de barriles del gas j que son vendidos sin mezclar, con j =
1, 2, 3, 4.
xA : cant. de barriles de avgas A. xB : cant. de barriles de avgas B.
Ing. Rodrigo Sempértegui Álvarez

xjA: cant. de gas j usado en avgas A. xjB: cantidad de gas j usado en avgas B.
Función objetivo:
Max 24,83 (x1 + x2 + x3 + x4) + 26,45xA + 25,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

40
II. Modelos de Programación Matemática
Programación Lineal

NP, avgas A:
Investigación de Operaciones

107x 1A  93x 2 A  87x 3 A  108x 4 A


 100
xA
Ing. Rodrigo Sempértegui Álvarez

NP, avgas B:
107x 1B  93x 2B  87x 3B  108x 4B
 91
xB
RVP, avgas A:
5 x 1A  8x 2 A  4 x 3 A  21x 4 A
7
xA
RVP, avgas B:
5 x 1B  8 x 2 B  4 x 3 B  21x 4 B
6
xB
41
II. Modelos de Programación Matemática
Programación Lineal
vi) Problema de expansión de la capacidad de un Sistema de
Potencia Eléctrica:
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

MW para el año t = 1, 2, ..., T.

Existen 2 alternativas para la expansión de la capacidad del


sistema: 1) Usar plantas térmicas a petróleo; 2) 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.
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.
42
II. Modelos de Programación Matemática
Programación Lineal

Variables de decisión:
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

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.

43
II. Modelos de Programación Matemática
Programación Lineal

 pt x t  gt yt 
T
Investigación de Operaciones

Min
t 1

t
w t   yk
Ing. Rodrigo Sempértegui Álvarez

t  15
c t  z t  w t  dt k 1
t

y
t
z t   xk t  20 wt 
k  t 14
k t  15
k 1 wt
 0,30 t  1... T
t
ct  zt  w t
zt  x
k  t 19
k t  20 x t , yt , z t , w t  0

44
II. Modelos de Programación Matemática
Programación Lineal
vii) Problema de Establecimiento del Horario de Trabajo:
Investigación de Operaciones

Una oficina de correos necesita de un número diferente de


empleados de tiempo completo, para diferentes días de la semana.
El número de empleados de tiempo completo requeridos para cada
día se da en la taba siguiente:
Ing. Rodrigo Sempértegui Álvarez

DIA No. EMP. DIA No. EMP. DIA No. EMP.


NECESARIO NECESARIO NECESARIO
Lunes 17 Martes 13 Miércoles 15
Jueves 19 Viernes 14 Sábado 16
Domingo 11
Las reglas sindicales señalan que cada empleado debe trabajar por
5 días consecutivos y después descansar 2 días. La oficina de
correos quiere cumplir con sus requerimientos diarios y utilizar
solamente empleados de tiempo completo. Formule un PL para
minimizar los empleados de tiempo completo

45
II. Modelos de Programación Matemática
Programación Lineal

Variables de Decisión: xi : número de empleados que empieza a


Investigación de Operaciones

trabajar el día i
Función Objetivo: Min z= x1 + x2 + x3 + x4 + x5 + x6 + x7
≥ 17
Ing. Rodrigo Sempértegui Álvarez

Restricciones: x1 + x4 + x5 + x6 + x7
x1 + x2 + x5 + x6 + x7 ≥ 13
x1 + x2 + x3 + x6 + x7 ≥ 15
x1 + x2 + x3 + x4 + x7 ≥ 19
x1 + x2 + x3 + x4 + x5 ≥ 14
x2 + x3 + x4 + x5 + x6 ≥ 16
x3 + x4 + x5 + x6 + x7 ≥ 11
xi ≥ 0 (i=1,2,3,…7)

46
II. Modelos de Programación Matemática
Programación Lineal

PROBLEMAS PROPUESTOS:
Investigación de Operaciones

1.- Supóngase que la oficina de correos puede obligar a trabajar un


día extra a la semana. Por ejemplo un empleado que ha trabajado de
lunes a viernes, tendría que trabajar el sábado. Se paga al empleado
Ing. Rodrigo Sempértegui Álvarez

50 dólares diarios por los 5 primeros días y 62 dólares por el día


extra (en caso de haber trabajado). Formule un PL cuya solución
permita a la oficina de correos minimizar el costo para cumplir con
sus necesidades laborales semanales.
2.-Supóngase que la oficina de correos tiene una planta de 25
empleados a tiempo completo y no se le permite ni contratar ni
despedir empleados. Formular un PL para programar el horario de
los empleados a fin de maximizar el número de fines de semana
libres recibidos por los empleados.

47
II. Modelos de Programación Matemática
Programación Lineal

PROBLEMAS PROPUESTOS:
Investigación de Operaciones

3.- Los empleados del Departamento de Policía trabajan dos turnos


de 6 horas diarias, escogidos entre los siguientes 4 turnos posibles:
1) de 0h a 6 h, 2) de 6h a 12h, 3) de 12 a 18h, 4) de 18 a 24h. Se
Ing. Rodrigo Sempértegui Álvarez

necesita el siguiente número de policías por cada turno: 1) 15, 2) 5,


3) 12 y 4) 6. A los policías que tienen turno consecutivos se les paga
12 dólares la hora y a los policías que no tienen turnos consecutivos
se le para 18 dólares la hora. Formule un PL para minimizar los
costos y cubrir la demanda diaria de fuerza laboral del Departamento
de Policía

48
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

II.5. Resolución gráfica de problemas.


Ing. Rodrigo Sempértegui Álvarez

Consideremos el siguiente problema a resolver gráficamente:

Max z = 3x1 + 5x2


sa:
x1 4
2x2  12
3x1 + 2x2  18
x1 , x2  0

49
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9

4 6 x1

50
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9

4 6 x1

51
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9
x* Solución Optima

4 6

52
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9
x* Solución Optima

4 6

53
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9
x* Solución Optima

4 6

54
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

x2 Región de puntos factibles


Función Objetivo
9
x* Solución Optima

x*
6

4 6

55
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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


en el plano, obtenida por medio de la intersección de todos los
semi-espacios que determinan cada una de las inecuaciones
presentes en las restricciones del problema.
Ing. Rodrigo Sempértegui Álvarez

A continuación, con el desplazamiento de las curvas de nivel


de la función objetivo 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, 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

56
II. Modelos de Programación Matemática
Programación Lineal
Algunas reflexiones
Investigación de Operaciones

Los ejercicios anteriores plantean un PROBLEMA DE DECISIÓN


Hemos tomado una situación real y hemos construido sus
equivalentes matemáticos: MODELO MATEMÁTICO
Ing. Rodrigo Sempértegui Álvarez

Durante la formulación de los modelos matemáticos, hemos


considerado el método cuantitativo que nos permitirá resolver el
modelo numéricamente ALGORITMO
El algoritmo es un conjunto de instrucciones que siguiendo de
manera ordenada producen una solución numérica

NUEVA DEFINICION

Ciencia para la representación de problemas reales mediante


modelos matemáticos que junto con métodos cuantitativos nos
permiten obtener una solución numérica a los mismos.

57
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Notar que se pueden dar otras situaciones en la búsqueda de


una solución óptima para esta clase de problemas:
Ing. Rodrigo Sempértegui Álvarez

1) La solución óptima exista pero haya más de una. En


el ejemplo, considerese la nueva función objetivo:
z = 6x1+4x2.
2) El problema no tenga solución, dada una región de
puntos factibles no - acotada. En el ejemplo, reemplace
cada desigualdad  por una .
3) El problema no tenga solución, porque no existen puntos
factibles. En el ejemplo, suponga que agregamos la
restricción: x1  5.

58
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

II.3. Análisis de sensibilidad.


Ing. Rodrigo Sempértegui Álvarez

Consideremos otro ejemplo:


max z= 15x + 20 y
s.a. 2x+2y≤8
x+2y ≤6
x,y≥0

59
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0
3

2 4 6

60
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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


Solución óptima : x1*= 2 ; x2*= 2
Ing. Rodrigo Sempértegui Álvarez

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


El análisis de sensibilidad permite responder, entre
otras, las siguientes preguntas:
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?

61
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

62
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

63
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

64
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

65
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

66
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

67
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

68
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

69
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Sea z = c1x1+c2x2
Ing. Rodrigo Sempértegui Álvarez

La solución óptima de la nueva función,


seguirá siendo: x1*= 2 ; x2*= 2 sí:
 c1 1
 1 
c2 2

70
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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


dejando el resto de los parámetros fijos:
Para C1:
 c1
Ing. Rodrigo Sempértegui Álvarez

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

71
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

2) ¿Cuál es el intervalo de variación de los coeficientes


del lado derecho (términos libres) de las restricciones, de
modo que la actual solución siga siendo la óptima?
Ing. Rodrigo Sempértegui Álvarez

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.

72
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0
3

2 4 6 8

73
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0
3

2 4 6 8

74
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Primera restricción.
La mayor variación del coeficiente del lado derecho se alcanza en
x=0 y y=4, de donde se obtiene:
Ing. Rodrigo Sempértegui Álvarez

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:
x=4 ; y=0, de donde se obtiene:
z(4,0) = 15 · 4 + 20 · 0 = 60 y b1 = 4 + 2 · 0 = 4
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(0,4)  z(4,0) 80  60
P1   5
b1*  b1 84

75
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

76
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

15x  20y
Ing. Rodrigo Sempértegui Álvarez

Max
sa : 2x  2 y  8
x  2y  6
4
x, y  0

4 6

77
II. Modelos de Programación Matemática
Programación Lineal

Segunda restricción.
Investigación de Operaciones

La mayor variación del coeficiente del lado derecho se alcanza en


x=6 y y=0, de donde se obtiene:
z(0,4) = 15 x 6 + 20 x 0 = 90 y b1*= 2 x 6 + 2x0 = 12
Ing. Rodrigo Sempértegui Álvarez

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


x=0 ; y= 3, de donde se obtiene:
z(4,0) = 15 x 0 + 20 x 3 = 60 y b1= 2 x 0 + 2 x 3 = 6
De aquí, se calcula el precio sombra P2, 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
P2   5
b2  b2
*
12  6

78
II. Modelos de Programación Matemática
Programación Lineal
Ejemplo 2
Investigación de Operaciones

Una fábrica produce 2 tipos de juguetes de madera: soldados y


trenes se vende un soldado en 27 dólares y se usan 10 dólares de
materia prima y 14 dólares en mano de obra. Se vende un tren en
Ing. Rodrigo Sempértegui Álvarez

21 dólares y se usan 9 de materia prima y 10 dólares en mano de


obra. La producción de soldados y trenes necesita de 2 tipos de
trabajo especializado: carpintería y acabado. Un soldado requiere
de 1 hora de carpintería y 2 de acabado. Un tren requiere de 1
hora de carpintería y una de acabado. La empresa dispone de 80
horas de carpintería y 100 de acabado y puede conseguir toda la
materia prima necesaria. La demanda de trenes no tiene límite
pero no se pueden vender mas de 40 soldados a la semana.
Formule un PL para maximizar la ganancia semanal.

79
II. Modelos de Programación Matemática
Programación Lineal

x número de trenes
Investigación de Operaciones

y número de soldados

max z = 3x + 2y ganancia
Ing. Rodrigo Sempértegui Álvarez

s.a. 2x+y ≤100 restricción de acabado


x +y ≤80 restricción de carpintería
x ≤40 restricción de demanda de soldados
x,y≥0

80
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

max z= 3x + 2y
s.a. 2x+y ≤100
Ing. Rodrigo Sempértegui Álvarez

x+y ≤80
x ≤40
x, y ≥ 0

81
II. Modelos de Programación Matemática
Programación Lineal

solución
Investigación de Operaciones

x=20
y=60
Ing. Rodrigo Sempértegui Álvarez

82
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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


Solución óptima : x*= 20 ; y*= 60
Ing. Rodrigo Sempértegui Álvarez

Valor óptimo : z = z(20,60) = 180


El análisis de sensibilidad permite responder, entre
otras, las siguientes preguntas:
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?

83
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
Programación Lineal
II. Modelos de Programación Matemática

84
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Sea z = c1x1+c2x2
Ing. Rodrigo Sempértegui Álvarez

La solución óptima de la nueva función,


seguirá siendo: x*= 20 ; y*= 60 sí:
 c1
2   1
c2

85
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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


dejando el resto de los parámetros fijos:
Para C1:
Ing. Rodrigo Sempértegui Álvarez

 c1
2   1  2  c1  4
2

Para C2:

3 3
2   1   c2  3
c2 2

86
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

2) ¿Cuál es el intervalo de variación de los


coeficientes del lado derecho (términos libres)
de las restricciones, de modo que la actual
Ing. Rodrigo Sempértegui Álvarez

solución siga siendo la óptima?


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.

87
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

max z= 3x + 2y
s.a. 2x+y ≤100
Ing. Rodrigo Sempértegui Álvarez

x+y ≤80
x ≤40
x, y ≥ 0

88
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Primera restricción.
La mayor variación del coeficiente del lado derecho se alcanza en
x=60 y y =0, de donde se obtiene:
z(60,0) = 3 · 60 + 2 · 0 = 180 y b1* = 2 · 60 + 1 · 0 = 120
Ing. Rodrigo Sempértegui Álvarez

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


x= 4 ; x2 = 0, de donde se obtiene:
z(40,0) = 3 · 40 + 2 · 0 = 120 y b1 = 2 · 40 + 1 · 0 = 80
Obsérvese que, aunque para 80≤b1≤120 la base actual es óptima
los valores de las variables de decisión y de la función objetivo
cambian. Por ejemplo si 80≤b1≤100 la solución óptima cambiará del
punto B a algún otro punto en el segmento AB. Similarmente si
100≤b1≤120 la solución óptima cambiará del punto B a algún otro
punto en el segmento AD.

89
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Para ilustrar la idea, sea b1 el número de horas de acabado


disponibles. Si cambiamos b1 a 100+Δ sabemos que la base será
óptima para -20≤Δ ≤20 la solución para el PL será todavía e punto
en el que las restricciones de acabado y carpintería son obligatorias.
Ing. Rodrigo Sempértegui Álvarez

Por lo tanto si cambiamos b1 = 100+Δ se puede encontrar los


nuevos valores de las variables al resolver
2x + y = 100 + Δ y x + y =80
Esto produce que x=20+Δ, y y=60-Δ lo que significa que si
aumentamos el número de horas de acabado da como resultado un
aumento de número de soldados producidos y una disminución de
trenes producidos.

90
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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:
Ing. Rodrigo Sempértegui Álvarez

z(60,0)  z(40,0) 180  120


P1    1.5
b1  b1
*
120  80

91
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

max z= 3x + 2y
s.a. 2x+y ≤100
Ing. Rodrigo Sempértegui Álvarez

x+y ≤80
x ≤40
x, y ≥ 0

92
II. Modelos de Programación Matemática
Programación Lineal
Segunda restricción.
Investigación de Operaciones

La mayor variación del coeficiente del lado derecho se alcanza en


x=0 y y=100, de donde se obtiene:
z(0,100) = 3·0 + 2·100 = 200 y b2*= 1·0 + 1·100 = 100
Ing. Rodrigo Sempértegui Álvarez

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


x=0 ; y=60, de donde se obtiene:
z(0,60) = 3·0 + 2·60 = 120 y b2= 1·0 + 1·60 = 60
Obsérvese que, aunque para 60≤b2≤80 la base actual es óptima los
valores de las variables de decisión y de la función objetivo cambian.
Por ejemplo si 60≤b2≤80 la solución óptima cambiará del punto B a
algún otro punto en el segmento BF. Similarmente si 80≤b1≤100 la
solución óptima cambiará del punto B a algún otro punto en el
segmento AC.

93
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ahora, sea b2 el número de horas de carpintería disponibles. Si


cambiamos b2 a 80+Δ sabemos que la base será óptima para -20≤Δ
≤20 la solución para el PL será todavía e punto en el que las
restricciones de acabado y carpintería son obligatorias.
Ing. Rodrigo Sempértegui Álvarez

Por lo tanto si cambiamos b2 = 80+Δ se puede encontrar los nuevos


valores de las variables al resolver
2x + y = 100 y x + y =80 + Δ
Esto produce que x=20-Δ, y y=60+2Δ lo que significa que si
aumentamos el número de horas de carpintería da como resultado
una disminución del número de soldados producidos y un
disminución de trenes producidos.

94
II. Modelos de Programación Matemática
Programación Lineal

De aquí, se calcula el precio sombra P2, que


Investigación de Operaciones

indica la razón o tasa de cambio de la función


objetivo con respecto al cambio en una unidad
Ing. Rodrigo Sempértegui Álvarez

del lado derecho:

z(0,100)  z(0,60) 200  120


P2   2
b2  b2
*
100  60

95
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Supongamos que cambiamos b3 = 40+Δ se puede encontrar los


nuevos valores de las variables al resolver
2x + y = 100 y x + y =80
Ing. Rodrigo Sempértegui Álvarez

Esto produce que la solución original x=20, y y=60. Entonces se


puede demostrar que la base actual es óptima para un Δ ≥ -20, lo
que significa que si se cambia el lado derecho de esta restricción en
el intervalo en la cual la base es óptima, la solución del PL no
cambia.

96
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

II.4. El Método Simplex.


Ing. Rodrigo Sempértegui Álvarez

Un PL puede tener restricciones en forma de igualdad o de


desigualdad. También pueden tener variables que tienen que
ser no negativas o no tener restricción de signo.

Para usar el Algoritmo Simplex hay que transformar el PL en


un problema equivalente, en el cual:

 Todas las restricciones son ecuaciones


 Todas las variables son no negativas

Un PL que se encuentra en esta forma está en su forma


ESTANDAR.

97
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo 1 de transformación en su forma


Estandar
Ing. Rodrigo Sempértegui Álvarez

Una Empresa produce dos tipos de cinturones: El modelo de


lujo y el modelo regular. Cada tipo requiere un metro de cuero.
El cinturón regular requiere de una hora de trabajo
especializado y el de lujo necesita de dos horas. Se dispone
semanalmente de 60 horas de mano de obra especializada y
40 metros de cuero. Si cada cinturón regular y cada cinturón
de lujo contribuyen a las ganancias con 3 y 4 dólares cada
uno; cual es el plan de producción para generar la máxima
utilidad?

98
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Si definimos:

X1 = Número de cinturones de lujo producidos


Ing. Rodrigo Sempértegui Álvarez

X2 = Número de cinturones regulares producidos

El modelo sería:

Max Z= 4X1+3X2
s.a.
X1+ X2 ≤ 40 (Restricción del cuero)
2X1+ X2 ≤ 60 (Restricción de mano de obra)
X1, X2 ≥ 0 (Restricción de no negatividad)

99
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

El modelo en la forma estandar:

Max Z= 4X1+3X2
Ing. Rodrigo Sempértegui Álvarez

s.a.
X1 + X2 + S1 = 40 (Restricción del cuero)
2X1+ X2 + S2 = 60 (Restricción de mano de obra)
X1, X2, S1 , S2 ≥ 0 (Restricción de no negatividad)

100
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo 2 de transformación en su forma Estandar


Min Z= 50X1+20X2 +30X3 +80X4
s.a. 400X1+ 200X2 + 150X2 + 500X2 ≥ 500
3X1 + 2X2 ≥6
Ing. Rodrigo Sempértegui Álvarez

2X1 + 2X2 + 4X3 + 4X4 ≥ 10


2X1 + 4X2 + X3 + 5X4 ≥ 8
X1, X2 , X3 , X4 ≥ 0

En la Forma Estadar:
Min Z= 50X1+20X2 +30X3 +80X4
s.a. 400X1+ 200X2 + 150X2 + 500X2 –E1 = 500
3X1 + 2X2 –E2 =6
2X1 + 2X2 + 4X3 + 4X4 –E3 = 10
2X1 + 4X2 + X3 + 5X4 –E4 = 8
X1, X2 , X3 , X4 ,E1 ,E2 ,E3 ,E4 ≥ 0
101
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo 3 de transformación en su forma Estandar


Max Z= 20X1+15X2
s.a. X1 ≤ 100
X2 ≤ 100
Ing. Rodrigo Sempértegui Álvarez

50X1 + 35X2 ≤ 4000


20X1 + 15X2 ≥ 2000
X1, X2 ≥ 0

En la Forma Estadar:
Max Z= 20X1+15X2
s.a. X1 +S1 = 100
X2 +S2 = 100
50X1 + 35X2 +S3 = 4000
20X1 + 15X2 –E4 = 2000
X1, X2 ,S1 ,S2 ,S3 ,E4 ≥ 0
102
II. Modelos de Programación Matemática
Programación Lineal
II.4. El Método Simplex.
Investigación de Operaciones

En lo que sigue consideremos el siguiente problema de


programación lineal en su forma estándar:
Min c1x1 + c2x2 + ... + cnxn
Ing. Rodrigo Sempértegui Álvarez

sa a11x1 + a12x2 + ... + a1nxn = b1


a21x1 + a22x2 + ... + a2nxn = b2
... ... ...
am1x1 + am2x2 + ... + amnxn = bm

xi  0, i = 1, 2, ..., n y mn
Matricialmente escrito como:
Min cTx
s.a. Ax = b
x0

103
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

En resumen, es posible reformular de manera equivalente el


problema usando las siguientes justificaciones:
Ing. Rodrigo Sempértegui Álvarez

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)

104
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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.
Ing. Rodrigo Sempértegui Álvarez

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


llevada a una ecuación de igualdad usando una variable de
exceso no negativa.

4) Siempre es posible escribir una variable libre de signo


como la diferencia de dos variables no negativas.

105
II. Modelos de Programación Matemática
Programación Lineal
Considérese un sistema Ax = b de m ecuaciones lineales con n
variables (supóngase n≥m)
Investigación de Operaciones

DEFINICION: Se obtiene una solución básica de Ax = b, haciendo


n-m variables (variables no básicas VNB) iguales a cero y
resolviendo el sistema resultante de m variables que quedan
(variables básicas VB).
Ing. Rodrigo Sempértegui Álvarez

Naturalmente, las selecciones diferentes de variables no básicas


VNB llevaran a soluciones básicas diferentes.
La búsqueda de la solución óptima se restringe a encontrar un vértice
óptimo y cada vértice del conjunto de las restricciones del problema,
llamado región de puntos factibles, corresponde a una solución
básica factible del sistema Ax = b.
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

106
 II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

EJEMPLO 1 DE SOLUCION BASICA FACTIBLE:

max Z= 4x1 + 3 x2 max Z= 4x1 + 3 x2


Ing. Rodrigo Sempértegui Álvarez

s.a. x1 + x2 ≤ 40 s.a. x1 + x2 +s1 = 40


2x1 + x2 ≤ 60 2x1 + x2 +s2 = 60
x1, x2 ≥ 0 x1, x2, s1, s2 ≥ 0

Variables Variables Solución Básica Punto


Básicas No Básicas Factible
x1,x2 s1,s2 s1=s2= 0 x1= 20 x2= 20 E
x1,s1 x2,s2 x2=s2= 0 x1= 30 s1= 10 C
x1,s2 x2,s1 x2=s1= 0 x1= 40 s2= -20 No es sbf porque s2<0
x2,s1 x1,s2 X1=s2=0 s1= -20 x2= 60 No es sbf porque s1<0
x2,s2 x1,s1 x1=s1= 0 x2= 40 s2= 20 B
s1,s2 x1,x2 x1=x2= 0 s1= 40 s2= 30 F

107
 II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

108
 II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

EJEMPLO 2 DE SOLUCION BASICA FACTIBLE:

max Z= x1 + 2 x2 + 2 x3
Ing. Rodrigo Sempértegui Álvarez

s.a. 2 x1 + x2 ≤ 8
x3 ≤ 10
x1, x2, x3 ≥ 0
Variables Solución Básica Factible Punto Z
Básicas
x1,x3 x1=4 x3=10 x2=s1=s2=0 D 24
s1,s2 s1=8 s2=10 x1=x2=x3=0 F 0
s1,x3 s1=8 x3=10 x1=x2=s2=0 E 20
x2,x3 x2=8 x3=10 x1=s1=s2=0 C 36
x2,s2 x2=8 s2=10 x1=x3=s2=0 B 16
x1,s2 x1=4 s2=10 x2=x3=s1=0 A 4

109
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

110
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Teorema Fundamental de la Programación Lineal:


Ing. Rodrigo Sempértegui Álvarez

Si un problema tiene solución óptima, tiene una solución


básica factible óptima.

111
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Dada una matriz B de m x m invertible, esta induce una partición de


las variables y parámetros del modelo como se muestra a
continuación:
n  x1  xB  c B 
x     
Ing. Rodrigo Sempértegui Álvarez

m m

x   2    c 
B D     nm
  nm
A=      
m xn  xD  c D 

xB :variables básicas.
xD :variables no básicas.
m n-m cB :costos básicos.
B : es llamada una matriz de base cD :costos no básicos.

112
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Supongamos el problema en la forma estandar:

Max z= 60 x1 + 30 x2 + 20 x3 + 0 s1 + 0 s2 + 0s3
Ing. Rodrigo Sempértegui Álvarez

s.a: 8 x1 + 6 x2 + x3 + s1 =48
4 x1 + 2 x2 + 1.5 x3 + s2 = 20
2 x1 + 1.5 x2 + 0. 5 x3 + s3 = 20
x1, x2, x3, s1, s2, s3≥ 0

Donde la solución es:


z= 280 con s1=24 ,x3=8 y x1=2
las variables básicas son: s1,x3,x1
las variables no básicas son: x2,s2,s3

113
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Por lo tanto el sistema anterior puede expresarse como:


Max z= CB xB + CD xD
s.a: B xVB + D xD = b
xB , xD≥ 0
Ing. Rodrigo Sempértegui Álvarez

S1 x2
Es decir:
max z= 0 20 60 X3 + 30 0 0 s2
X1 s3

s.a. 1 1 8 S1 6 0 0 x2
0 1.5 4 X3 + 2 1 0 s2
0 0.5 2 X1 1.5 0 1 s3

S1 0 x2 0
X3 ≥ 0 s2 ≥ 0
X1 0 s3 0

114
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Multiplicando las restricciones:


B xB + D xD = b por B-1:

B-1 B xB + B-1 D xD = B-1 b o bien:


Ing. Rodrigo Sempértegui Álvarez

xB + B-1 D xD = B-1 b

Donde:

1 2 -8
B-1= 0 2 -4
0 -0.5 1.5

115
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Sustituyendo en nuestro ejemplo:

s1 1 2 -8 6 0 0 x2 1 2 -8 48
x3 + 0 2 -4 2 1 0 s2 = 0 2 -4 20
Ing. Rodrigo Sempértegui Álvarez

x1 0 -0.5 1.5 1.5 0 1 s3 0 -1 1.5 8

O bien:

s1 -2 2 -8 x2 24

x3 + -2 2 -4 s2 = 8

x1 1.25 -0.5 1.5 s3 2

116
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ahora expresemos la función objetivo de la misma manera:


Tomemos las restricciones
B xB + D xD = b y multipliquemos por el vector CBB-1
Ing. Rodrigo Sempértegui Álvarez

CB xB + CB B-1DxD= CBB-1 b

z- CB xB - CD xD =0

Sumando las dos últimas relaciones:


z+(CB B-1D- CD)xD= CBB-1 b

117
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Criterio de Optimalidad:
Ing. Rodrigo Sempértegui Álvarez

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

 cBT B b  cDT  cDT B D x B x D
1

valor actual vector de costos
de la función reducidos.
obj.

118
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

La ecuación que define cada uno de los costos


Ing. Rodrigo Sempértegui Álvarez

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  j, existe una variable no básica xp con costo
reducido negativo, que entra a la nueva base.

119
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

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 
x  y 
B  1b    B  1A   2 p 
2 0
  j
 
   
x
 m0 y
 mp
y se debe calcular:

yk 0  yi0 
 Min  / yip  0  xk deja la base
ykp  yip 
120
II. Modelos de Programación Matemática
Programación Lineal
Ejemplo.
Investigación de Operaciones

Resolver el siguiente problema de P.L.


Max 40x + 60y
sa: 2x + y  70
x + y  40
Ing. Rodrigo Sempértegui Álvarez

x + 3y  90
x,y  0
Se deben agregar 3 variables de holgura ( s1 , s2 , s3 var.básicas), y
llevar a forma estándar (x1 = x y x2 = y).
Min -40x1 – 60x2
sa: 2x1 + x2 + s1 = 70
x 1 + x2 + s2 = 40
x1 + 3x2 + s3 = 90
x1, x2, x3, s1 , s2 , s3  0,

121
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Tabla inicial:

x1 x2 s1 s2 s3
Ing. Rodrigo Sempértegui Álvarez

2 1 1 0 0 70
1 1 0 1 0 40
1 3 0 0 1 90
-40 -60 0 0 0 0

122
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Usamos como variable entrante a la base x2 (pues r2<0).


Ing. Rodrigo Sempértegui Álvarez

x1 x2 s1 s2 s3
2 1 1 0 0 70
1 1 0 1 0 40
1 3 0 0 1 90
-40 -60 0 0 0 0

Se calcula Min { 70/1, 40/1, 90/3 } = 30, por lo tanto sale s3.

123
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Actualizando, queda la siguiente tabla (no óptima),


donde la variable entrante a la base es x1 (pues r1<0).
Ing. Rodrigo Sempértegui Álvarez

x1 x2 s1 s2 s3
5/3 0 1 0 -1/3 40
2/3 0 0 1 -1/3 10
1/3 1 0 0 1/3 30
-20 0 0 0 20 1800

Se calcula Min { 40/(5/3), 10/(2/3), 30/(1/3) } = 15, por


lo tanto s2 deja la base actual.

124
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Actualizando, queda la siguiente tabla final:

x1 x2 s1 s2 s3
Ing. Rodrigo Sempértegui Álvarez

0 0 1 -5/2 ½ 15
1 0 0 -1/3 -½ 15
0 1 0 1/3 ½ 25
0 0 0 20 10 2100

Como todos los costos reducidos son mayores o iguales que cero nos
encontramos en la solución óptima.

125
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

 x1  15 
    s2  0
xB  x 2   25 xD      
Ing. Rodrigo Sempértegui Álvarez

 s1  15  s3  0


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

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


x*=15, y *=25, con valor óptimo 2.100.

126
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo 2 del método Simplex


Ing. Rodrigo Sempértegui Álvarez

Min Z= 2X1 -3X2


s.a.
X1 + X2 ≤ 4
X1 - X2 ≤ 6
X1, X2 ≥ 0

127
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método 1 -Z X1 X2 S1 S2 ld Variable Razón


Básica
Ing. Rodrigo Sempértegui Álvarez

Min Z= 2X1 - 3X2


1 2 -3 0 0 0 -Z=0
s.a.
X1 + X2 ≤ 4 0 1 1 1 0 4 S1=4 (4/1)=4
X1 - X2 ≤ 6 0 1 -1 0 1 6 S2=6 Ninguna
X1, X2 ≥ 0

-Z X1 X2 S1 S2 ld Variable
Básica
1 5 0 3 0 12 -Z=12
0 1 1 1 0 4 X2=4
0 2 0 1 1 10 S2=10

128
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método 2 Z X1 X2 S1 S2 ld Variable Razón


Básica
Ing. Rodrigo Sempértegui Álvarez

Max -Z= -2X1 +3X2


1 -2 3 0 0 0 Z=0
s.a.
X1 + X2 ≤ 4 0 1 1 1 0 4 S1=4 (4/1)=4
X1 - X2 ≤ 6 0 1 -1 0 1 6 S2=6 Ninguna
X1, X2 ≥ 0

-Z X1 X2 S1 S2 ld Variable
Básica
1 -5 0 -3 0 12 Z=-12
0 1 1 1 0 4 X2=4
0 2 0 1 1 10 S2=10

129
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Resumen del Método Simplex:

Paso 0: Escribir el problema de programación lineal en su


Ing. Rodrigo Sempértegui Álvarez

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
tres. Sin embargo, si todos los costos reducidos son mayores
que cero , parar, ya que la actual solución es la óptima.
Paso 3: Calcular el criterio de factibilidad que determina que
variable deja la base. Si todos los cuocientes son negativos:
problema 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.

130
II. Modelos de Programación Matemática
II.Programación Lineal
Modelos de Programación Matemática
Programación Lineal
Investigación de Operaciones

No siempre es fácil obtener una solución básica


factible inicial, en las variables originales del
Ing. Rodrigo Sempértegui Álvarez

modelo. Para conseguir esto existen varios


procedimientos como son:

• Método de la M – grande.
• Método Simplex de dos fases.

131
II. Modelos de Programación Matemática
Programación Lineal
INTRODUCCIÓN
Investigación de Operaciones

Hasta el momento sólo se han estudiado problemas


en la forma estándar.
Maximizar Z.
Ing. Rodrigo Sempértegui Álvarez

Restricciones de la forma menor igual.


Todas las variables no negativas
FORMA ESTANDAR
Maximizar Z= 3X1 + 5X2
Sujeto a: X1 ≤ 4
2X2 ≤ 12
3X1 + 2X2 ≤ 18
X1, X2 ≥ 0

132
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Existen variaciones cuando:


Ing. Rodrigo Sempértegui Álvarez

 Restricciones en forma de igualdad


 Lados derechos negativos
 Restricciones de la forma mayor igual que
 Función objetivo minimizar

133
II. Modelos de Programación Matemática
Programación Lineal

Método de la M grande.
Investigación de Operaciones

Paso 1: Modifique las restricciones de tal manera que el lado


derecho de cada restricción sea no negativa.
Paso 2: Transforme cada restricción de desigualdad a la forma
Ing. Rodrigo Sempértegui Álvarez

estandar
Paso 3: Si la restricción i es una igualdad o un restricción de ≥ añadir
una variable artificial ai
Paso 4: Sea M un número positivo muy grande. Si el PL es de
minimización añadir (para cada variable artificial) Mai a la función
objetivo. Si el PL es de maximización añadir (para cada variable
artificial) -Mai a la función objetivo.
Paso 5: Ya que cada variable artificial estará en la función objetivo
(renglón cero) eliminar todas las variables artificiales de la función
objetivo (renglón cero)
Paso 5: Resolver el problema con el método simplex.

134
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

1. RESTRICCION EN FORMA DE IGUALDAD

Cualquier restricción del tipo


Ing. Rodrigo Sempértegui Álvarez

a11 X1 + a12 X2 + a13 X3 + ………+ a1n Xn =b1

Es equivalente a
a11 X1 + a12 X2 + a13 X3 + ………+ a1n Xn ≤ b1
a11 X1 + a12 X2 + a13 X3 + ………+ a1n Xn ≥ b1

Lo que es inconveniente pues aumenta el número de restricciones

135
II. Modelos de Programación Matemática
Programación Lineal

Lo que se hace entonces es introducir variables


Investigación de Operaciones

artificiales
Cambiemos la tercera restricción de desiguladad de
Ing. Rodrigo Sempértegui Álvarez

Wyndor Glas c.o. por una igualdad

FORMA ESTANDAR
Maximizar Z= 3X1 + 5X2
Sujeto a: X1 ≤ 4
2X2 ≤ 12
3X1 + 2X2 = 18
X1, X2 ≥ 0

136
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

137
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

138
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

139
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

140
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

141
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

142
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

PROBLEMA REAL PROBLEMA ARTIFICIAL


Ing. Rodrigo Sempértegui Álvarez

Max z= 3 x1 + 5 x2 Max z= 3 x1 + 5 x2 - M x5
s.a. s.a.
x1 ≤ 4 x1 ≤ 4
2 x2 ≤ 12 2 x2 ≤ 12

3 x1 + 2 x2 = 18 3 x1 + 2 x2 ≤ 18
x1 , x2 ≥ 0 x1 , x2 ≥ 0
Así: 3 x1 + 2 x2 + x5 = 18

143
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

144
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

145
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

146
II. Modelos de Programación Matemática
Programación Lineal
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

147
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

148
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

149
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

150
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

151
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

152
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

153
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

154
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

155
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

156
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

157
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

158
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo: Max 2x1 + x2


sa: 10x1 + 10x2  9
10x1 + 5x2  1
x1,x2  0
Ing. Rodrigo Sempértegui Álvarez

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 +s3 =9
10x1 + 5x2 - e4 = 1
x1,x2, x3, x4  0

159
II. Modelos de Programación Matemática
Programación Lineal
Método Simplex de dos Fases.
Investigación de Operaciones

Fase 0: Usamos los pasos 1,2 y 3 del método de la M grande


Fase 1:
Paso 1: Por el momento, ignorar la función objetivo original. En su lugar
resuelva un PL cuya función objetivo es min w= Σ ai . La resolución de este
Ing. Rodrigo Sempértegui Álvarez

programa lineal hará las variables necesariamente iguales a cero.


Ya que cada ai ≥0, la solución del PL corresponderá a uno de los 3 casos
siguientes:
caso 1: El valor óptimo de w>0. En este caso el problema no tiene solución
caso 2: El valor óptimo de w=0, y no hay variables artificiales en la base
óptima de la fase I. En este caso omitimos todas las columnas que
corresponden a las variable artificiales en el cuadro de la fase I.
Combinamos la función objetivo original con las restricciones del cuadro
óptimo de la fase I. Pasamos a la fase II
caso 3: El valor óptimo de w=0, y por lo menos una variable artificial está
en la base óptima de la fase I. En este caso podemos encontrar la solución
para el PL original, si al final de la fase I, omitimos del cuadro óptimo de la
fase I todas las variables artificiales no básicas y cualquier variable del
problema original con coeficiente negativo en el renglón cero de l cuadro
óptimo de la fase I
Fase 2: Resolver el problema con el método simplex.
160
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método Simplex de dos Fases.

Aplicamos Simplex de dos Fases :


Ing. Rodrigo Sempértegui Álvarez

Fase 1: Min x5
sa: 10x1 + 10x2 +s3 =9
10x1 + 5x2 - e4 + a 5 = 1
x1,x2, x3, x4, x5 0
Quedando la siguiente tabla:

Variables x1 x2 s3 e4 a5 valor
Básicas
w 0 0 0 0 1 0
s3 10 10 1 0 0 9
a5 10 5 0 -1 1 1
161
II. Modelos de Programación Matemática
Programación Lineal

donde:
Investigación de Operaciones

s3 9 x1 0
Ing. Rodrigo Sempértegui Álvarez

xB= = xD= x2 = 0

a5 1 e4 0

Luego se hace cero el costo reducido de la variable x5 de la


tabla anterior, y queda la siguiente tabla inicial.
Variables x1 x2 s3 e4 a5 valor
Básicas
w -10 -5 0 1 0 -1
s3 10 10 1 0 0 9
a5 10 5 0 -1 1 1

162
II. Modelos de Programación Matemática
Programación Lineal

Método Simplex de dos Fases.


Investigación de Operaciones

La variable entrante a la base es x1 ( pues r1 < 0).


Variables x1 x2 s3 e4 a5 valor
Ing. Rodrigo Sempértegui Álvarez

Básicas

w -10 -5 0 1 0 -1

s3 10 10 1 0 0 9

a5 10 5 0 -1 1 1

Calculamos Min { 9/10, 1/10}= 1/10, por lo tanto sale


a5.

163
II. Modelos de Programación Matemática
Programación Lineal
Obteniéndose la siguiente tabla final:
Investigación de Operaciones

Variables x1 x2 s3 e4 a5 valor

Básicas
Ing. Rodrigo Sempértegui Álvarez

w 0 0 0 1 0 0

s3 0 5 1 1 -1 8

x1 1 1/2 0 -1/10 1/10 1/10


s3 8 x2 0

xB= = xD= e4 = 0

x1 1/10 a5 0

Donde, la anterior, corresponde a la solución óptima del problema


en la Fase 1, con valor óptimo 0. De aquí entonces tomamos x1 y
x3 como variables básicas.

164
II. Modelos de Programación Matemática
Programación Lineal

Fase 2:
Investigación de Operaciones

Variables x1 x2 s3 e4 valor
Básicas
z -2 -1 0 0 0
s3 0 5 1 1 8
Ing. Rodrigo Sempértegui Álvarez

x1 1 1/2 0 -1/10 1/10

En la tabla hacemos 0 los costos reducidos de variables básicas


Variables x1 x2 s3 e4 valor

Básicas

z 0 0 0 -1/5 1/5

s3 0 5 1 1 8

x1 1 1/2 0 -1/10 1/10

Luego la variable entrante a la base es e4 (pues r4<0). Y calculando


Min { 8/1, (-1/10)/(1/10) } = 8, se tiene que sale s3.

165
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Quedando:

Variables x1 x2 s3 e4 valor
Básicas
Ing. Rodrigo Sempértegui Álvarez

z 0 1 1/5 0 9/5
e4 0 5 1 1 8
x1 1 1 1/10 0 9/10

donde la solución óptima del problema resulta ser:

e4 8 x2 0

xB xD
= = = =

x1 9/10 s3 0

166
II. Modelos de Programación Matemática
Programación Lineal

Consideremos otro ejemplo para el caso 2


Investigación de Operaciones

min z= 2 x1 + 3 x2
s.a. 1/2 x1 + 1/4 x2 ≤ 4
1 x1 + 3 x2 ≥ 20
Ing. Rodrigo Sempértegui Álvarez

x1 + x2 = 10
x1 , x2 ≥ 0

Aumentando las variables de holgura, exceso y artificiales

min z= 2 x1 + 3 x2

1/2 x1 + 1/4 x2 + s1 = 4

1 x1 + 3 x2 - e2 + a2 = 20

x1 + x2 + a3 = 10

167
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Primera Fase
min w= a2 + a3

1/2 x1 + 1/4 x2 + s1 = 4
Ing. Rodrigo Sempértegui Álvarez

1 x1 + 3 x2 - e2 + a2 = 20

x1 + x2 + a3 = 10

variable w x1 x2 s1 e2 a2 a3 valor

w 1 0 0 0 0 -1 -1 0

s1 1/2 1/4 1 0 0 0 4

a2 1 3 0 -1 1 0 20

a3 1 1 0 0 0 1 10

168
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

sumamos las columnas 2 y 3 para eliminar las variables a2 y a3

VB w x1 x2 s1 e2 a2 a3 valor prueba
w 1 2 4 0 -1 0 0 30
Ing. Rodrigo Sempértegui Álvarez

s1 0 1/2 0 1 0 0 0 4 16
a2 0 1 3 0 -1 1 0 20 7
a3 0 1 1 0 0 0 1 10 10

169
II. Modelos de Programación Matemática
Programación Lineal

Haciendo 1 al pivote
Investigación de Operaciones

VB w x1 x2 s1 e2 a2 a3 valor
w 1 2 4 0 -1 0 0 30
Ing. Rodrigo Sempértegui Álvarez

s1 0 0.5 0 1 0 0 0 4
a2 0 1/3 1 0 -1/3 1/3 0 20/3
a3 0 1 1 0 0 1 10

Realizando operaciones
VB w x1 x2 s1 e2 a2 a3 valor prueba
w 1 2/3 0 0 1/3 -4/3 0 10/3
s1 0 5/12 0 1 1/12 -1/12 0 7/3 28/5
x2 0 1/3 1 0 -1/3 1/3 0 20/3 20
a3 0 2/3 0 0 1/3 -1/3 1 10/3 1/5

170
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

VB w x1 x2 s1 e2 a2 a3 valor
w 1 2/3 0 0 1/3 -4/3 0 10/3
Ing. Rodrigo Sempértegui Álvarez

s1 0 5/12 0 1 1/12 -1/12 0 7/3


x2 0 1/3 1 0 -1/3 1/3 0 20/3
x1 0 1 0 0 1/2 -1/2 3/2 5

VB w x1 x2 s1 e2 a2 a3 valor
w 1 0 0 0 0 -1 -1 0
s1 0 0 0 1 -1/8 1/8 -5/8 1/4
x2 0 0 1 0 -1/2 1/2 -1/2 5
x1 0 1 0 0 1/2 -1/2 3/2 5

171
II. Modelos de Programación Matemática
Programación Lineal
Fase 2
Investigación de Operaciones

Volvemos a introducir la función objetivo original


VB z x1 x2 s1 e2 valor
z 1 -2 -3 0 0 0
s1 0 0 0 1 -1/8 1/4
Ing. Rodrigo Sempértegui Álvarez

x2 0 0 1 0 -1/2 5
x1 0 1 0 0 1/2 5

Como tanto x1 como x2 están en la base óptima de la fase 1


debemos
VB eliminarlas del renglón
z x1 0x2 s1 e2 valor
z 1 0 0 0 -1/2 25
s1 0 0 0 1 -1/8 1/4
x2 0 0 1 0 -1/2 5
x1 0 1 0 0 1/2 5

Debido a que no hay como mejorar la función objetivo original


Esta es OPTIMA
172
II. Modelos de Programación Matemática
Programación Lineal

Supongamos que en el ejemplo anterior se cambia la segunda


Investigación de Operaciones

min z= 2 x1 + 3 x2
restricción (a fin de analizar el caso 1)
s.a. 1/2 x1 + 1/4 x2 ≤ 4
1 x1 + 3 x2 ≥ 36
Ing. Rodrigo Sempértegui Álvarez

x1 + x2 = 10
x1 , x2 ≥ 0

Aumentando las variables de holgura, exceso y artificiales


min z= 2 x1 + 3 x2
s.a. 1/2 x1 + 1/4 x2 + s1 = 4
1 x1 + 3 x2 - e2 + a2 = 36
x1 + x2 + a3 = 10

173
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Primera Fase
min w= a2 + a3
1/2 x1 + 1/4 x2 + s1 = 4
Ing. Rodrigo Sempértegui Álvarez

1 x1 + 3 x2 - e2 + a2 = 36
x1 + x2 + a3 = 10

variable w x1 x2 s1 e2 a2 a3 valor
w 1 0 0 0 0 -1 -1 0
s1 0 1/2 1/4 1 0 0 0 4
a2 0 1 3 0 -1 1 0 36
a3 0 1 1 0 0 0 1 10

174
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

sumamos las columnas 2 y 3 para eliminar las variables a2 y a3


VB w x1 x2 s1 e2 a2 a3 valor prueba
w 1 2 4 0 -1 0 0 46
Ing. Rodrigo Sempértegui Álvarez

s1 0 1/2 1/4 1 0 0 0 4 16
a2 0 1 3 0 -1 1 0 36 12
a3 0 1 1 0 0 0 1 10 10

175
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

VB w x1 x2 s1 e2 a2 a3 valor

w 1 -2 0 0 -1 0 -4 6
Ing. Rodrigo Sempértegui Álvarez

s1 0 1/2 1/4 1 0 0 -1/4 3/2

a2 0 -2 0 0 -1 1 -3 6

x2 0 1 1 0 0 0 1 10

Como ninguna variable en el renglón 0 tiene coeficiente positivo


se trata de un cuadro óptimo de la fase 1.
Debido a que el valor de w=6>0 el PL no tiene solución factible

176
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Algunos casos especiales


Ing. Rodrigo Sempértegui Álvarez

1) Problema Infactible. Esta situación se detecta


cuando el valor óptimo del problema de la Fase 1
da mayor que cero.
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 básicas
óptimas.
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.
177
II. Modelos de Programación Matemática
Programación Lineal

II.5. Dualidad en Programación Lineal.


Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

restricciones.
P) Max 40x1 + 60x2
sa: 2x1+2x2  70
x1 + x2  40
x1 + 3x2  90
x1 , x2  0
La solución óptima y el valor óptimo del problema P) esta dada por:

x1 * = 5
x2* = 25

z = v(p) = 2100

178
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

En lo que sigue, combinaremos las distintas restricciones del


problema, ponderando por los valores 1, 2 y 3 cada una,
respectivamente, de modo de obtener la mejor cota superior
Ing. Rodrigo Sempértegui Álvarez

del valor óptimo del problema P). Vale decir:

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


40 2 + 90 3

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
21 + 2 + 3 3  60

179
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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

D) Min 70 1 + 40 2 + 90 3
Ing. Rodrigo Sempértegui Álvarez

sa: 2 1 + 2 + 3  40
21 + 2 + 3 3  60
1, 2, 3  0
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.

180
II. Modelos de Programación Matemática
Programación Lineal
Más generalmente, si el problema primal es:
Investigación de Operaciones

P) n
Max  c jx j
j1
n

 aij x j  bi i  1,2,..., n
Ing. Rodrigo Sempértegui Álvarez

sa :
j1

xj  0 j  1,2,..., m
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

181
II. Modelos de Programación Matemática
Programación Lineal
Lo que se puede expresar en forma matricial como:
Investigación de Operaciones

P) Max cTx
sa: Ax  b
x0
Ing. Rodrigo Sempértegui Álvarez

D) Min bT 
sa: AT   c
0
Si el problema primal corresponde a:
P) Max -cTx
sa: Ax  b
x0
Su dual resulta ser:
D) Min -bT 
sa: AT   c
0
Es decir, el dual del dual es el problema primal

182
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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:
Ing. Rodrigo Sempértegui Álvarez

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 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
v(P)  c x *   c jx j *   bi i *  bT   v(D)
T

j1 i1

183
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Además:
i)Si P) es no-acotado entonces D) es infactible.
ii)Si D) es no-acotado entonces P) es infactible.
Ing. Rodrigo Sempértegui Álvarez

Ejemplo: P) Min 3x1 + 4x2 + 5x3


sa: x1+ 2x2 + 3x3  5
2x1 + 2x2 + x3  6
x 1 , 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

184
II. Modelos de Programación Matemática
Programación Lineal

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


Investigación de Operaciones

1 2 3 4 5
 3  3 
1 2 1 0 0 3
xB  4   4
   
Ing. Rodrigo Sempértegui Álvarez

2 2 0 1 0 4
  5  5 
3 1 0 0 1 5
  1  0 
-5 -6 0 0 0 0 xD      
  2  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

185
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

1 2 3 4 5   2  3 / 2 
½ 1 ½ 0 0 3/2 xB  4    1 
   
 5  7 / 2
Ing. Rodrigo Sempértegui Álvarez

1 0 -1 1 0 1
5/2 0 -1/2 0 1 7/2   1  0 
xD      
-2 0 3 0 0 9   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

186
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

1 2 3 4 5  1  1
Ing. Rodrigo Sempértegui Álvarez

x B   2   1
0 1 1 -1/2 0 1    
1 0 -1 1 0 1  5  1
0 0 2 -5/2 1 1   3  0 
xD      
0 0 1 2 0 11   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
187
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método Simplex Dual:

La idea de este método consiste en resolver de alguna


Ing. Rodrigo Sempértegui Álvarez

manera el problema dual asociado a P) en la tabla y variables


del problema primal P), según veremos en su aplicación a un
problema primal (ejercicio anterior).
Min 3x1 + 4x2 + 5x3
sa: x1+ 2x2 + 3x3  5
2x1 + 2x2 + x3  6
x 1 , x2 , x3  0

188
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método Simplex Dual:

Min 3x1 + 4x2 + 5x3 + 0x4 + 0x5


Ing. Rodrigo Sempértegui Álvarez

sa: x1 + 2x2 + 3x3 - x4 5 x(-1)


2x1 + 2x2 + x3 - x5  6 x(-1)
x1 , x2 , x3 , x4 , x5  0

x1 x2 x3 x4 x5
-1 -2 -3 1 0 -5
-2 -2 -1 0 1 -6
3 4 5 0 0 0

189
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método Simplex Dual:

En la tabla anterior se toman dos variables de exceso x4 y x5 ,


Ing. Rodrigo Sempértegui Álvarez

y se multiplica por un número negativo con la finalidad de


encontrar la matriz identidad IRn, además es necesaria la
condición de que los costos reducidos de la tabla sean
mayores que cero ( lo que en este caso se cumple).
En la tabla anterior se escoge, usando el lado derecho, alguna
variable con valor negativo.

Escogemos x5 , variable que dejará la base. Enseguida , se


obtiene la variable entrante calculando:
Min { (-3/-2) , (-4/-2),(-5/-1)} = 3/2.

De donde resulta que x1 entra a la base.

190
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Método Simplex Dual:

x1 x2 x3 x4 x5
Ing. Rodrigo Sempértegui Álvarez

0 -1 -5/2 1 -1/2 -2
1 1 1/2 0 -1/2 3
0 1 7/2 0 3/2 -9

La tabla posee aún un lado derecho negativo (costos


reducidos negativos del problema dual), por lo cual no es
factible en P).

191
II. Modelos de Programación Matemática
Programación Lineal

x4 (=-2) deja la base, luego calculamos :


Investigación de Operaciones

Min {(-1/-1),((-7/2)/(-5/2)),((-3/2)/(-1/2))} = 1, por lo que x2 entra a la


base.
x1 x2 x3 x4 x5
Ing. Rodrigo Sempértegui Álvarez

0 1 5/2 -1 ½ 2
1 0 -2 1 -1 1
0 0 1 1 1 -11

La tabla posee lados derechos no-negativos (costos reducidos


positivos del problema dual) y también los costos reducidos de las
variables no básicas x3, x4 y x5 son no-negativos , por lo que
tenemos una solución factible en P) que es la solución óptima del
problema.
 x 1   1
x   x 2   2  v(P)  11
   
 x 3  0

192
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

II.6. Análisis de Sensibilidad o Post-Optimal

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


Ing. Rodrigo Sempértegui Álvarez

algún coeficiente del lado derecho (b)?

y se cumple: xB  0
1
Si calculamos: xB  B b
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.
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  cBTB1Ak
193
II. Modelos de Programación Matemática
Programación Lineal
donde k es el índice de la nueva variable y Ak su respectiva
Investigación de Operaciones

columna en la matriz de coeficientes. Si se cumple que rk0 se


conserva la actual solución óptima. En caso contrario, se sigue con
el Simplex.
3) ¿ Que ocurre con la actual solución óptima del problema P) si se
Ing. Rodrigo Sempértegui Álvarez

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

194
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

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:
Ing. Rodrigo Sempértegui Álvarez

rD  cD  cBT B 1D  0 o equivalent emente


T
rj  c j  c B 1 Aj  0
B j
En caso contrario, se aplica el Simplex a partir de la tabla final
de P) con los nuevos costos reducidos y nuevo valor de la
actual solución básica.

195
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Veamos los cambios que tienen lugar cuando sólo varía un


coeficiente del vector c de la función obj.
Ing. Rodrigo Sempértegui Álvarez

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

196
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Consideremos :
c j  c j  j
Ing. Rodrigo Sempértegui Álvarez

Por lo tanto se conserva la misma solución ssi:

j  rj  c j  c j  rj

197
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

b) Cambio en un coeficiente de la función objetivo


Ing. Rodrigo Sempértegui Álvarez

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.a cero.
T 1
rj  c j  cBB A j 0

0 
c i  c i  i cB  cB  i 1  cB  iei

0 
198
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Si el incremento es cualquiera en el siguiente


intervalo, se conserva la misma solución óptima:
Ing. Rodrigo Sempértegui Álvarez

 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

199
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Ejemplo:
Ing. Rodrigo Sempértegui Álvarez

La siguiente tabla, es la tabla final de un


problema de programación lineal.

1,00 2,33 1,67 0,00 0,27 -0,07 1333,33


0,00 -0,03 0,03 1,00 -0,01 0,03 66,67
0,00 6,67 3,33 0,00 2,93 0,27 18666,67

Con esta tabla realizaremos un análisis de


sensibilidad:
200
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

a) Variar los recursos ( lado derecho):


Las xB del problema primal no cambian como base
óptima, si los valores asociados a estas variables.

xB  B1b y se cumple xB  0

Para calcular estos intervalos de recursos, se


necesita la matriz inversa asociada a las variables
básicas del tabla final.

201
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal
Ing. Rodrigo Sempértegui Álvarez

 4 10   4 / 15  1 / 15
B  B 1

 1 40    1 / 150 2 / 75 
Intervalo recurso 1:
 4 / 15  1 / 15 6000  b1 
  1 / 150 2 / 75  x  4000   0
   
20000 4 b1 10000 b1
 0   0
15 15 150 150

b1  5000  b1  10000

202
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

 5000  b1  10000


Ing. Rodrigo Sempértegui Álvarez

1000  b1  16000
Intervalo recurso 2:
 4 / 15  1/ 15  6000 
 1/ 150 2 / 75  x 4000  b   0
   2

 2500  b2  20000


1500  b2  24000

203
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Variable x1:
Ing. Rodrigo Sempértegui Álvarez

Max {0}  C1  Min {((20/3)/(7/3)),((10/3)/(5/3))}

0  D1  2 10  C1* 12

Variable x4:

Máx {((20/3)/(-1/30))}  D4  Min {((10/3)/(1/30))}

-200  D4  100 -60  C4* 240

204
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

Variable x2:
Ing. Rodrigo Sempértegui Álvarez

C2* = C2 + 2 C2 = -20
2 - r2 C2*  - 20 - ( 20/3)
C2*  - 80/3

Variable x3:

C3* = C3 + 3 C3 = -18
3 - r3 C3*  - 18 - ( 10/3)
C3*  - 64/3
205
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

BIBLIOGRÁFIA EN PROGRAMACIÓN LINEAL

1. Linear Programming and Network Flow, M.Bazaraa,


Ing. Rodrigo Sempértegui Álvarez

J.Jarvis and H.Sherali. John Wiley & Sons, Inc., New York,
Second Edition 1990.
2. Introduction to Linear Optimization, D.Bertsekas and
J.Tsitsiklis. Athena Scientific USA, 1997.
3. Linear Programming, V.Chvátal. W.H. Freeman and
Company, New York, 1983.
4. Linear Programming and Extensions, G. Dantzig.
Princeton University Press, New Jersey, tenth printing, 1993.
5. Introducción a la Programación Lineal y No Lineal,
D.Luenberger. Adisson Wesley Iberoamericana, 1989.
6. Linear and Combinatorial Programming, K. Murty. John
Wiley & Sons, Inc., New York, Second Edition 1976.
7. Model Building in Mathematical Programming, H.P.
Williams. John Wiley & Sons, Inc., New York, 4rd Edition 1999.

206
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Lineal

DIRECCIONES ELECTRÓNICAS EN PROGRAMACIÓN LINEAL


Ing. Rodrigo Sempértegui Álvarez

Preguntas de consulta frecuente en Programación Lineal:


http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html

Servidor NEOS, guía de software de Programación Lineal:


http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/linearprog.html

Servidor NEOS, ejemplo problema de la dieta:


http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/diet/index.html

Guía de software de Programación Lineal en revista OR&MS Today


(INFORMS Magazine):
http://lionhrtpub.com/software-surveys.shtml

207
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Temario:
Ing. Rodrigo Sempértegui Álvarez

III.1. Introducción y ejemplos de modelamiento.


III.2. Resolución de problemas de P. E.
III.3. Método de Branch and Bound.

209
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Ejemplo de Restricciones “O”

Seat considera la fabricación de 3 tipos de automóviles: compacto, mediano


y largo. En la tabla se presentan los recursos requeridos y las ganancias
proporcionadas por cada tipo de automóvil. En la actualidad se cuenta con
Ing. Rodrigo Sempértegui Álvarez

6000 ton de acero y 60000 horas de trabajo. Para que la producción de un


tipo de automóvil sea económicamente factible hay que fabricar al menos
1000 unidades de este tipo. Formular un modelo matemático para optimizar
las ganancias.

COMPACTO MEDIANO LARGO


Ton. de acero 1.5 3 5
hors de trabajo 30 25 40
ganancia (dolares) 2000 3000 4000

210
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Consideremos como variables de decisión


x1 = número de automóviles compactos
x2 = número de automóviles medianos
Ing. Rodrigo Sempértegui Álvarez

x2 = número de automóviles grandes

Por lo tanto la función objetivo (ganancia de la fábrica):


Max z=2000 x1+ 3000x2 + 4000x3

R1 x1≤ 0 ó x1≥1000
R2 x2≤ 0 ó x2≥1000
R3 x3≤ 0 ó x3≥1000
R4 1.5 x1 + 3 x2 + 5 x3 ≤ 6000
R4 30 x1 +25 x2 + 40 x3 ≤ 60000

211
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Restricciones “O”
Ing. Rodrigo Sempértegui Álvarez

Se dan dos restricciones de la forma:


f(x1, x2,… xn) ≤ 0 g(x1, x2,… xn) ≤ 0
Se desea asegurar que se cumpla por lo menos una de las dos
restricciones. Deberá agregarse las siguientes dos restricciones:
f(x1, x2,… xn)≤ My g(x1, x2,… xn)≤M(1-y)
Donde: y es una variable 0-1 y M es un número muy grande que
asegure que se satisfagan:
f(x1, x2,… xn)≤M g(x1, x2,… xn)≤M
Para todos los valores de x1, x2,… xn que satisfagan las otras
restricciones.

212
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Max z=2000 x1+ 3000x2 + 4000x3

R1 x1 ≤ M1 y1
Ing. Rodrigo Sempértegui Álvarez

1000- x1 ≤ M1(1-y1)
R2 x2 ≤ M2 y2
1000- x2 ≤ M2(1-y2)
R3 x3 ≤ M3 y3
1000- x3 ≤ M3(1-y3)
R4 1.5 x1 + 3 x2 + 5 x3 ≤ 6000
R4 30 x1 +25 x2 + 40 x3 ≤ 60000
x1, x2, x3 ≥ 0
y1, y2, y3 = 0 ó 1

213
Ejemplo de Restricciones “SI ENTONCES”

STour recibe pagos de los turistas con tarjetas de crédito de 4 regiones


diferentes galápagos, costa, sierra y oriente. El valor promedio de pagos
por los clientes de cada región es galápagos 70000, costa 50000, sierra
Investigación de Operaciones

60000 y oriente 40000. STour debe decidir hacia donde deben enviar los
clientes sus pagos, ya que recibe el 20% de interés anual y desea recibir
los pagos lo más pronto posible. STour considera montar las oficinas para
procesar los pagos en cuatro ciudades Puerto Ayora, Guayaquil, Cuenca y
Puyo. El número promedio de días (a partir del envío del pago) hasta la
liquidación de un cheque y hasta que STour pueda depositar el dinero
Ing. Rodrigo Sempértegui Álvarez

depende de la ciudad a la cual se manda el pago como se muestra en la


tabla siguiente. El costo anual por manejar una oficina es de 50000. Si se
abre la oficina en Puerto Ayora solo puede recibir el dinero de galápagos y
de ninguna otra región (si galápagos envía su dinero a la Puerto Ayora
entonces ninguna otra región puede enviar el dinero a Puerto Ayora)
Formular un PL para minimizar la suma de los costos por intereses
perdidos y por el manejo de la oficina. Supóngase que cada región debe
enviar su dinero a una sola oficina.
DESDE HACIA
P.Ayora Guayaquil Cuenca Puyo

Galápagos 2 6 8 8
Costa 6 2 5 5
Sierra 8 5 2 5
Oriente 8 5 5 2
214
II. Modelos de Programación Matemática
Investigación de Operaciones Programación Entera

Restricciones “SI ENTONCES”


Ing. Rodrigo Sempértegui Álvarez

Se desea asegurar que se cumpla g(x1,x2,…xn)≥0 si se satisface


f(x1,x2,…xn)>0, mientras que si no se satisface f(x1,x2,…xn)>0
entonces g(x1,x2,…xn)≥0 no debe satisfacerse. Deberá agregarse
las siguientes dos restricciones, en definitiva f(x1,x2,…xn)>0
implica g(x1,x2,…xn)≥0 :
-g(x1, x2,… xn)≤My f(x1, x2,… xn)≤ M(1-y)
Donde: y es una variable 0-1 y M es un número muy grande que
asegure que se satisfagan:
f(x1, x2,… xn)≤M -g(x1, x2,… xn)≤M
Para todos los valores de x1, x2,… xn que satisfagan las otras
restricciones.

215
II. Modelos de Programación Matemática
Programación Entera
FUNCION OBJETIVO
Investigación de Operaciones

Intereses perdidos
 Desde Galápagos
Ing. Rodrigo Sempértegui Álvarez

A Puerto Ayora 0.2(70000)*2=28000


A Guayaquil 0.2(70000)*6=84000
A Cuenca 0.2(70000)*8=112000
A Puyo 0.2(70000)*8=112000
 Desde Costa
A Puerto Ayora 0.2(50000)*3=30000
A Guayaquil 0.2(50000)*2=20000
A Cuenca 0.2(50000)*5=50000
A Puyo 0.2(50000)*5=50000
216
II. Modelos de Programación Matemática
Programación Entera
FUNCION OBJETIVO
Investigación de Operaciones

Intereses perdidos cont…


 Desde Sierra
Ing. Rodrigo Sempértegui Álvarez

A Puerto Ayora 0.2(60000)*8=96000


A Guayaquil 0.2(60000)*5=60000
A Cuenca 0.2(60000)*2=24000
A Puyo 0.2(60000)*5=60000
 Desde Oriente
A Puerto Ayora 0.2(40000)*8=64000
A Guayaquil 0.2(40000)*5=40000
A Cuenca 0.2(40000)*5=40000
A Puyo 0.2(40000)*2=16000
217
II. Modelos de Programación Matemática
Programación Entera
FUNCION OBJETIVO
Investigación de Operaciones

Xij= 1 si se envía el dinero de la zona i a la ciudad j


0 caso contrario
Ing. Rodrigo Sempértegui Álvarez

Yi= 1 si se abre la oficina en la ciudad I


0 caso contrario
Si tomamos la función en miles de dólares
Z= +28X11+84X12+112X13+112X14
+60X21+20X22+50X23+50X24
+96X31+60X32+24X33+60X34
+64X41+40X42+40X43+16X44
+50Y1+50Y2+50Y3+50Y4 218
II. Modelos de Programación Matemática
Programación Entera
RESTRICCIONES
Investigación de Operaciones

Tipo 1: de cada zona se envíe a una ciudad


X11+X12+X13+X14=1
X21+X22+X23+X24=1
Ing. Rodrigo Sempértegui Álvarez

X31+X32+X33+X34=1
X41+X42+X43+X44=1

Tipo 2: Si de la zona j envían a la ciudad i entonces Yi=1

Xij≤Yj (i=1,2,3,4; j=1,2,3,4)


ó
X1i+X2i+X3i+X4i ≤ 4Yi (i=1,2,3,4)
219
II. Modelos de Programación Matemática
Programación Entera
RESTRICCIONES
Investigación de Operaciones

Tipo 3: si galápagos envía su dinero a la Puerto Ayora


entonces ninguna otra región puede enviar el dinero a
Puerto Ayora
Ing. Rodrigo Sempértegui Álvarez

Si X11=1 Entonces X21=0, X31=0, X41=0

Se puede escribir como

Si X11>0 Entonces X21+X31+X41≤0 (-X21-X31-X41≥0)

f=X11 g=-X21-X31-X41
Deberá incluirse las dos restricciones:
X11≤M(1-y) X21+X31+X41≤My
220
II. Modelos de Programación Matemática
Programación Entera
Funciones lineales por partes
Investigación de Operaciones

Supongamos que una función lineal por partes tiene los puntos de
ruptura b1,b2,…bn. Para algún k (k=1,2,3…n-1), bk ≤ x≤ bk+1.
Entonces, para algún número zk (0 ≤ zk ≤1) se puede escribir x
Ing. Rodrigo Sempértegui Álvarez

como:
x= zk bk+(1-zk)bk+1
Ya que f(x) es lineal para bk ≤ x≤ bk+1 , podemos escribir como:
f(x)=zk f(bk)+(1-zk) f(bk+1 )
Paso 1: donde se presenta f(x) remplazar por
z1f(b)+z2f(b2)+z3f(b3)…..znf(bn)
Paso 2: añadir las siguientes restricciones:
z1≤y1, z2≤y1+y2 , z3≤y1+y2……. zn-1 ≤yn-2+yn-1, zn ≤1
y1+y2+y3….+yn-1=1
z1+z2+z3….+zn-1=1
X=z1b1+z2b2+z3b3+…….znbn

221
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Ejemplo de Funciones lineales por partes

Supóngase que se produce gasolina a partir de petoleo. Al comprar


Ing. Rodrigo Sempértegui Álvarez

el petróleo de nuestro proveedor se recibe un descuento por


cantidad. Los 500 primeros galones de petróleo cuestan 0.25
dólares el galón; los siguientes 500 galones a 0.20 dólares; y los
siguientes 500 galones a 0.15 dólares Se pueden comprar como
máximo 1500 galones

222
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

223
II. Modelos de Programación Matemática
Programación Entera
a) Problema de la mochila.
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

recursos financieros se resumen en la siguiente tabla:


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.

224
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Variables de decisión:
1, si se invierte en el proyecto i
xi   con i  1,2,3,4
Ing. Rodrigo Sempértegui Álvarez

0, sin o

Función objetivo:
Max 35x1 + 18x2 + 24x3 + 16x4

225
II. Modelos de Programación Matemática
Programación Entera
Restricciones (tres alternativas):
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

Año3: 18x1 + 16x3  12 + s2


xi  {0,1} i = 1,2,3,4
2) Sin invertir el dinero no utilizado en un período, pero utilizando el
retorno de los proyectos concluídos:
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

226
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

Año2: 8x1+ 15x2+ 4x3 + s2 = 15 + s1 + 16x4


Año3: 18x1 + 16x3  12 + s2 + 18x2
xi  {0,1} i = 1,2,3,4

227
II. Modelos de Programación Matemática
Programación Entera
Notar que el conjunto de las soluciones factibles es finito. Esto
Investigación de Operaciones

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
Ing. Rodrigo Sempértegui Álvarez

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.

228
II. Modelos de Programación Matemática
Programación Entera
Tomemos el ejemplo de la mochila dado con anterioridad
Investigación de Operaciones

Supongamos que adicionalmente la inversión efectuada requiera


nuevas restricciones.
- Se debe invertir en al menos 1 de los 3 primeros proyectos:
Ing. Rodrigo Sempértegui Álvarez

x1 + x2 + x3  1
- El proyecto 2 no puede ser tomado a menos que el proyecto 3 si
sea tomado: x2  x3
- Se puede tomar el proyecto 3 o 4 pero no ambos: x3 + x 4  1
- No se puede invertir en más de dos proyectos: x1 + x2 + x3 + x4  2

229
II. Modelos de Programación Matemática
Programación Entera
b) Cumplimiento de un subconjunto de las restricciones de un
Investigación de Operaciones

problema.
Consideremos un problema que posee las siguientes restricciones:
12x1 + 24x2 + 18x3  2400
Ing. Rodrigo Sempértegui Álvarez

15x1 + 32x2 + 12x3  1800


20x1 + 15x2 + 20x3  2000
Supongamos además, que nos basta con obtener alguna solucion
óptima que verifique el cumplimiento de al menos 2 de las 3
restricciones anteriores.
Variables de decisión:

1, si la restricció n j se satisface


yj  
0, casocontrario

230
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Cada inecuación anterior la reemplazamos por:


12x1 + 24x2 + 18x3  2400 + M1 (1- y1)
15x1 + 32x2 + 12x3  1800 + M2 (1- y2)
Ing. Rodrigo Sempértegui Álvarez

20x1 + 15x2 + 20x3  2000 + M3 (1- y3)


Además, debemos agregar la restricción que permita que a lo
más una de las restricciones no se cumpla:
y1 + y2 + y3  2 Mi = constante lo suf. grande

231
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

c) Inclusión de costos fijos.

Supongamos que se desea tener lotes de compra de un producto


Ing. Rodrigo Sempértegui Álvarez

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 fijos 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 de faltante.

232
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Variables de decisión
Ing. Rodrigo Sempértegui Álvarez

x t: número de unidades compradas en t.


It : nivel de inventario al final del período t.
con t: 1, 2, ..., T

1, si se hace una compra en el periodo t


yt  
0, sin o

233
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Función objetivo
T
Min  st yt  pt x t  ht It
Ing. Rodrigo Sempértegui Álvarez

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

234
II. Modelos de Programación Matemática
Programación Entera
d) Problema de cobertura:
Investigación de Operaciones

Dado un número de regiones o zonas, en las cuales se ha


subdividido una comuna, cuidad, país, etc., digamos que un total de
m, se desea instalar un cierto número de servidores (escuelas,
Ing. Rodrigo Sempértegui Álvarez

centros de atención primaria de salud, compañías de bomberos,


etc.) de entre un conjunto de n potenciales servidores ubicados en
alguna de las zonas dadas.
Se conoce la información relativa a que zonas pueden ser atendidas
por cada uno de los n potenciales servidores, es decir, se conoce la
matriz de incidencia A = (aij) donde :
1, si la zona i puede ser atendida por el servidor j
aij  
0, sin o
con i  1,2,..., m y j  1,2,..., n

235
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Se desea determinar cuáles son los servidores que deben ser


instalados de modo de dar cobertura a cada zona, dados los costos
de instalación cj del servidor j.
Ing. Rodrigo Sempértegui Álvarez

Variables de decisión:
1, si se instala el servidor j
xj  
0, sin o n
Función objetivo: Min  cj xj
j1

Restricciones: Para cada zona i n


 aij x j  1
j 1

Se agrega la siguiente restricción, si adicionalmente, hay algún


límite en el número de servidores que se pueden instalar (digamos
k) : m

 xj  k 236
j1
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

e) Problema de transporte y localización:


Ing. Rodrigo Sempértegui Álvarez

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.

237
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Variables de decisión:
1, si se abre la planta j
yj  
0, sin o
Ing. Rodrigo Sempértegui Álvarez

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


satisfacer el cliente i, con j = 1,...,n y i = 1,....,m.

238
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

Función objetivo:


Min  c j y j   v j   xij  
n n m n m

 i 1 
  tij xij
j 1 j 1 j 1 i 1

Costo de Costo de Costo de


Instalación Producción Transporte

239
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Restricciones:
1) Demanda cliente i: m

 xij  di
Ing. Rodrigo Sempértegui Álvarez

i 1

2) Relacionar variables de producción con las asociadas


a la apertura de plantas (variables binarias):
n

 xij  M j y j
j1
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}.

240
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

III.2. Resolución de problemas de P. E.


Ing. Rodrigo Sempértegui Álvarez

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.
241
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Por ejemplo:
PLE) Max cTx
Ing. Rodrigo Sempértegui Álvarez

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).

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
requiridos, entonces esta solución es también solución
óptima de PLE).

242
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

243
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

244
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

245
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Ejemplo
Ing. Rodrigo Sempértegui Álvarez

PLE) Max x2
s.a. - 2x1 + 2x2  1
2x1 + x2  7
x1  0, x2  0 enteros

246
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

2x1 + x2  7 x2 - 2x1 + 2x2  1

. .
. . .
. . . . x1
3.5

247
II. Modelos de Programación Matemática
Programación Entera
Notar que en el ejemplo la solución óptima puede ser hallada por
Investigación de Operaciones

simple enumeración de todas las soluciones factibles. Aquí las


soluciones óptimas son:
x1 * = 1 o x1* = 2
Ing. Rodrigo Sempértegui Álvarez

x2 * = 1 x2* = 1
Esta alternativa de enumeración queda naturalmente restringida a
problemas muy pequeños.
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 = 3/2 x2 = 2

248
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

A partir de esta última solución podemos redondear o truncar los


valores que no salieron enteros, obteniendo respectivamente en el
ejemplo:
x1 = 2 x1 = 1
Ing. Rodrigo Sempértegui Álvarez

x2 = 2 x2 = 2
las cuales no son soluciones factibles 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.
Todavía podrían resultar soluciones factibles de PLE), pero no
neceasariamente óptimas. Por ejemplo:
PLE) Max f(x1, x2) = x1 + 5x2
s.a. x1 + 10x2  10
x1  1
x1  0, x2  0 enteros

249
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Solución óptima de PL)


x1 = 1 f(1,9/10)=5,5
x2 = 9/10
Ing. Rodrigo Sempértegui Álvarez

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

250
II. Modelos de Programación Matemática
Programación Entera
III.3. Método de Branch and Bound.
Investigación de Operaciones

Consideremos el siguiente problema de programación entera:


Ing. Rodrigo Sempértegui Álvarez

PLE) Max 21x1 + 11x2


s.a. 7x2 + 4x2  13
x1  0
x2  0
x1, x2 enteros

Consideremos inicialmente la resolución de la relajación continua de


PLE), que consiste en eliminar las condiciones de integralidad.

251
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

III.3. Método de Branch and Bound.


x2
Ing. Rodrigo Sempértegui Álvarez

3 x2 = 3

3/2
2 x2 = 2

21x1+11x2=39
1 x2 = 1

13/7 sol. relajada

x1
x1 = 1 x1 = 2
21x1+11x2 7x1+4x2=13 252
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

Descripción del método Branch and Bound (maximización)

Paso 0
Ing. Rodrigo Sempértegui Álvarez

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).
253
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

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.
Ing. Rodrigo Sempértegui Álvarez

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.
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.
254
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

x1 = 13/7
P0) Relajación continua
x2 = 0
-< z  39
Ing. Rodrigo Sempértegui Álvarez

P0 z = 39
P1) Max 21x1 + 11x2
x11 x12
x1 = 1 s.a. 7x1 + 4x2  13
x2 = 3/2
P1 P2 x1  1
z = 37.5 x1  0
x22 infactible
x21 x2  0
x1 = 1 x1 = 5/7 P2) Max 21 x1 + 11x2
x2 = 1 P11 P12 x2 = 2 s.a. 7x1 + 4x2  13
z = 32 z = 37 x1  1
x11 x2  1
x1 = 0
x2 = 13/4 x1  0
P121 P122
z = 35.75 x2  0
x24 infactible De donde 32  z  39
x23
x1 = 0 
x2 = 3 P1211 P1212 Solución óptima
z = 33 infactible x1* = 0; x2* = 3; z = 33 255
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

BIBLIOGRÁFIA EN PROGRAMACIÓN ENTERA

1) Integer Programming, L.A.Wolsey. John Wiley & Sons,


Ing. Rodrigo Sempértegui Álvarez

Inc., New York, 1998.


2) Combinatorial Optimization C.H.Papadimitriou and
K.Steiglitz. Prentice Hall Inc., USA, 1982.
3) Linear and Combinatorial Programming, K. Murty. John
Wiley & Sons, Inc., New York, Second Edition 1976.
4) Integer and Combinatorial Optimization, George L.
Nemhauser and Laurence A. Wolsey. John Wiley & Sons, Inc.,
New York, 1999.
5) Model Building in Mathematical Programming, H.P.
Williams. John Wiley & Sons, Inc., New York, 4rd Edition 1999.

256
II. Modelos de Programación Matemática
Programación Entera
Investigación de Operaciones

DIRECCIONES ELECTRÓNICAS EN PROGRAMACIÓN ENTERA


Ing. Rodrigo Sempértegui Álvarez

Preguntas de consulta frecuente en Programación Lineal:


http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html

Servidor NEOS, guía de software de Programación Entera:


http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/intprog.html

Servidor NEOS, ejemplo problema corte de rollos:


http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/index.html

Guía de software de Programación Lineal en revista OR&MS Today


(INFORMS Magazine):
http://lionhrtpub.com/software-surveys.shtml

257
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Temario:
Ing. Rodrigo Sempértegui Álvarez

IV.1. Introducción y ejemplos.


IV.2. Propiedades básicas de los problemas de
programación no-lineal.
IV.3. Problemas de optimización no restringida.
IV.4. Problemas con restricciones de igualdad.
IV.5. Problemas con restricciones de igualdad y
desigualdad.
IV.6. Métodos de optimización restringida.

258
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.1. Introducción y Ejemplos

A esta clase de problemas de optimización pertenecen todos


Ing. Rodrigo Sempértegui Álvarez

aquellos, en los cuales la función objetivo y/o las restricciones son


funciones no-lineales de las variables de decisión.

En particular, la programación no-lineal provee una manera de


abordar el no cumplimiento del supuesto de proporcionalidad de la
programación lineal, permitiendo la programación de economías o
deseconomías de escala y/o retornos crecientes o decrecientes a
escala.

259
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

a) Rendimientos decrecientes a escala.


Una compañía vende cuatro productos diferentes. El retorno que
provee cada producto es una función de la cantidad de recursos
Ing. Rodrigo Sempértegui Álvarez

asignados a la promoción y venta de cada producto, según la


siguiente tabla:

PRODUCTO RETORNO (M$)


Producto 1 10.000 x1 0.50
Producto 2 7.500 x2 0.75
Producto 3 9.000 x3 0.60
Producto 4 15.000 x4 0.30

260
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

En este ejemplo:
xi es la cantidad de recursos asignados al producto i, con i = 1,2,3,4.

El siguiente modelo provee una asignación de estos recursos, de


Ing. Rodrigo Sempértegui Álvarez

modo de maximizar las utilidades, considerando una inversión anual


no superior a los M$ 75.000.
Max
10.000 x10.5 + 7.500 x20.75 + 9.000 x30.6 + 15.000 x40.3

s.a:
x1 + x2 + x3 + x4  75.000
xi  0; i = 1, 2, 3, 4, 5.

261
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

b) Aproximación y ajuste de curvas.


Supongamos que se tiene un conjunto de datos
correspondientes a una determinada función y=g(x)
Ing. Rodrigo Sempértegui Álvarez

(desconocida), digamos (x1,y1), (x2,y2), .., (xm,ym) y se desea


aproximar g(x) por una función h(x)

ym

y2
y1

x1 x2 xm

262
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Algunas elecciones posibles:


Ing. Rodrigo Sempértegui Álvarez

i) h (x) = a0 + a1 x
ii) h (x) = a0 + a1 x + a2 x2
iii) h (x) = a0 + a1 x a2
iv) h (x) = a0 e a1x
v) h (x) = a0 + a1 x + a2 ea3x
vi) h (x) = a0 + a1 ln(x)

263
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

¿Cómo elegir los coeficientes a=(a0,...,an) en la función h(x) que


aproxima o ajusta los datos observados?
Ing. Rodrigo Sempértegui Álvarez

Se define una función de error: e(x,a) = g(x) – h(x)

Una elección posible de los coeficientes ai resulta de minimizar la


suma ponderada de los errores al cuadrado en cada uno de los
datos , es decir:

m m
Min F(a) =  i e(x i , a)2=  i i
 ( y  h( x i )) 2
i1 i1

264
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Que da origen a un problema de programación no-lineal sin


restricciones.
Si escogemos 1 = ... = m = 1 y h(x) = a0 + a1x, el problema
Ing. Rodrigo Sempértegui Álvarez

corresponde a una regresión lineal.

h(x)= a0 + a1x
ym

y2
y1
x1 x2 xm

265
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Cuya solución resulta ser:

m
 yi 
Ing. Rodrigo Sempértegui Álvarez

a0    
i1  m 

m 
  yi x i 
a 1   i1m 
 2 
  xi 
 i 1 

266
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

c) Localización de instalaciones.
Una compañía petrolera desea construir una refinería que
recibirá suministros desde tres instalaciones portuarias,
Ing. Rodrigo Sempértegui Álvarez

cuyas coordenadas se muestran en la siguiente figura:

Puerto B
40
30 Puerto C

Puerto A
30 80

267
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Si denotamos por x e y las respectivas coordenadas de la


refinería que se debe instalar, una posible elección es aquella
que resulta de minimizar la cantidad total de tubería
Ing. Rodrigo Sempértegui Álvarez

necesaria para conectar la refinería con los puertos, dada


por:

Min f(x,y) = ( x  0)2  ( y  0)2 


(x  30)2  ( y  40)2 
(x  80)2  ( y  30)2

268
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

La solución óptima calculada por el solver de Excel es:


x*=30,8052225
y*= 37,8900128
Ing. Rodrigo Sempértegui Álvarez

Puerto B

Puerto C

Refinería

Puerto A

269
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

d) Optimización de carteras de inversión


Se desea obtener una cartera de inversiones en base a distintos
instrumentos (acciones, pagarés, bonos, etc). La cartera elegida
Ing. Rodrigo Sempértegui Álvarez

deberá reflejar un compromiso entre los retornos de los


instrumentos elegidos y el riesgo asociado a cada uno de ellos, de
hecho es natural esperar que a mayor retorno haya un mayor riesgo
y también que exista cierta correlación entre los retornos de los
distintos instrumentos de la cartera.
A continuación se formula un modelo para obtener una cartera de
inversión de un tomador de decisiones con aversión al riesgo, con
un vector de retornos que tiene una distribución normal con media:
r = (r1, r2, ..., rn)T y matriz de covarianza: Q = (sij) con i = 1, 2, ...,
n y j = 1, 2, ..., n donde sii denota la varianza del retorno del
instrumento i y donde sij (i  j) es la covarianza de los retornos del
instrumento i con el j.

270
II. Modelos de Programación Matemática
Programación No - lineal
Sea xi el porcentaje de inversión del instrumento i en la cartera, con
Investigación de Operaciones

i = 1, 2, ..., n las variables de decisión del modelo y sea K una


constante de aversión al riesgo.
El siguiente modelo (propuesto por Markowitz, Premio Nobel de
Economía 1991), combina ambos elementos presentes en una
Ing. Rodrigo Sempértegui Álvarez

decisión de esta naturaleza:


n n n
Max  rixi  K  sij xix j
i1 i1 j1
n
sa :  xi  1
i1
xi  0 1  1,2,...,n
Usando el servidor Neos para una cartera con tres acciones
seleccionadas del menú para este problema en el servidor y un
bono, se tiene:

271
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Selected value of K is 10.00


Risk less rate of return (monthly) is 0.00407
Ing. Rodrigo Sempértegui Álvarez

Name Avg Return Std Pet of optimal


(monthly, pet) Desviation Portfolio
Coca Cola Co 2,885 6,574 48,6
Exxon Corp 1,647 4,939 13,7
Texaco Inc 1,869 6,381 16,6
Bond 0,407 0 21

272
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Optimal Portfolio Statistics

Avg Return (monthly, pet) 2,03


Ing. Rodrigo Sempértegui Álvarez

Std Desviation 4,02


Pet of Optimal Potrfolio 27,2

21.0% Coca Cola


48.6% Exxon Corp
Texaco Inc
16.7%
Bond
13.7%

273
II. Modelos de Programación Matemática
Programación No - lineal
IV.2. Propiedades básicas de los problemas de programación
no-lineal.
Investigación de Operaciones

De manera general, un problema de optimización considera la


resolución de un modelo como el que sigue:
P) Min f(x)
x  D  IRn
Ing. Rodrigo Sempértegui Álvarez

s.a.

Donde f: IRn IR es una función, comúnmente continua y


diferenciable, y D es el dominio de factibilidad del problema,
generalmente dado por:
D = {x IRn / gi(x) = bi i=1,...,m; hr(x) dr r =1,...,l}
Decimos que x*  D es un mínimo global o solución óptima del
problema P) si:
f(x*)  f(x) para todo x  D

Por otra parte, decimos que x^  D es un mínimo local del problema


P) si:
f(x^)  f(x) para todo x en una vecindad de x^
(x  D  B(x^, ))
274
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Min f(x) = (x - 1) (x - 2) (x - 3) (x - 4) (x - 5)
s.a: 1x5
Ing. Rodrigo Sempértegui Álvarez

f(x) Son mínimos locales x=1,


x+ y x*, en tanto la
solución óptima o
mínimo global es x*
x*
x
1 2 3 4 5

x+

275
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

f(x,y) = -4x3 + 3x - 6y
Ing. Rodrigo Sempértegui Álvarez

276
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

f(x,y) = x2 - 4x - 2y
Ing. Rodrigo Sempértegui Álvarez

277
II. Modelos de Programación Matemática
Programación No - lineal
Existen resultados que garantizan la existencia y unicidad de la
Investigación de Operaciones

solución de un problema de programación no lineal.


Teorema (Weiertrass). Si f es una función continua y D es un
conjunto no vacío cerrado y acotado de IRn, entonces P) tiene
solución óptima.
Teorema. Si f es una función continua y D es un conjunto cerrado
Ing. Rodrigo Sempértegui Álvarez

no vacío y además f cumple que: lim f ( x )   ,


|x| 

entonces P) tiene solución óptima.


Por su parte, la unicidad de la solución óptima se puede garantizar
sólo bajo ciertas condiciones muy especiales.
De igual modo es posible garantizar si un mínimo local es un
mínimo global del problema.
Para esto se requiere saber si el problema P) es un problema
convexo, esto es si la función objetivo f(x) es convexa y el conjunto
D de puntos factibles es un conjunto convexo.

278
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Definición. Decimos que f: IRnIR es una función convexa si:


fx + (1-)y )  f(x) + (1-)f(y)
Ing. Rodrigo Sempértegui Álvarez

para todo x, y  D (x  y) con   [0, 1]


Si la desigualdad anterior se cumple de manera estricta, decimos
que f es estrictamente convexa.

Lineal a
tramos
f(y)
f(x)

x y
279
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Adicionalmente, se tiene el siguiente resultado


Teorema. Si f es una función dos veces
Ing. Rodrigo Sempértegui Álvarez

continuamente diferenciables, las siguientes


afirmaciones son equivalentes:
i) f es una función convexa
ii) f(x)  f(y) + fT(y)(x-y) para dos puntos
cualesquiera x e y.
iii) La matriz hessiana de las segundas derivadas
parciales de f, denotada en lo que sigue por D2f(x),
es semi positiva definida para todo x.

280
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Por otra parte, también podemos caracterizar si un


conjunto cualquiera es convexo o no, de acuerdo a la
siguiente:
Ing. Rodrigo Sempértegui Álvarez

Definición. D  IRn, un conjunto no vacío, es convexo


ssi x + (1-) y  D, para todo x  D, y  D con 
 [0,1].

y y
x
x
Es convexo No es convexo

281
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Así por ejemplo, si h(x) es una función convexa el conjunto


D = { x  IRn  h(x)  d } es convexo para cualquier escalar real d.
También es posible demostrar que la intersección de conjuntos
Ing. Rodrigo Sempértegui Álvarez

convexos es un conjunto convexo. De aquí que por ejemplo el


problema
P) Min f(x)
s.a hr(x)  dr r=1,2,...,l
Con f(x) y hr(x) funciones convexas para r=1,2,..,l definen un
problema convexo, pues el dominio de factibilidad es la intersección
de los conjuntos convexos Dr={ x  IRn  hr(x)  dr }, para r=1,2,..,l.
Teorema. Si P) es un problema convexo y x* es un mínimo local de
P) entonces x* es un mínimo global o solución óptima de P), si
además, f es una función estrictamente convexa x* es una solución
óptima única.

282
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

La principal dificultad en los problemas de programación no lineal es


que incluyen restriciones no lineales de igualdad como g(x) = b y el
conjunto de puntos {xIRn : g(x)=b} generalmente no es convexo
cuando g(x) es una función no lineal cualquiera. Por lo tanto no
todos los problemas de programación no lineal son convexos y esto
Ing. Rodrigo Sempértegui Álvarez

hace más difícil garantizar que la solución encontrada por un solver


sea una solución óptima del problema.
Como puede verse en el siguiente ejemplo, que resolveremos
gráficamente, la geometría de los problemas también cambia
respecto de lo observado en programación lineal.
Consideremos el siguiente problema:
Min (x1 - 3)2 + (x2 - 4)2
s.a. x1 + x 2  5
x1 - x2  5/2
x1  0, x2  0

283
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

284
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

La solución óptima x* de este problema se alcanza el punto x1* = 2,


x2* = 3 correspondiente al único punto de la curva de nivel que tiene
el menor valor y que intersecta la región de puntos factibles.
Ing. Rodrigo Sempértegui Álvarez

Notar que la solución ya no corresponde a un vértice del dominio de


factibilidad del problema, aún cuando todavía esta solución se
alcanza en la frontera de dicho conjunto.
Sin embargo, esto último, a diferencia de lo que ocurre en
programación lineal, no siempre se produce. Si por ejemplo el
problema es ahora:
Min (x1 - 2)2 + (x2 - 2)2
s.a x1 + x2  5
x1 - x2  5/2
x1  0, x2  0
285
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

La solución cambia a lo representado en la siguiente figura, donde


la solución óptima se alcanza en x1* = 2, x2* = 2, ahora
perteneciente al interior del dominio de factibilidad del problema.
Ing. Rodrigo Sempértegui Álvarez

286
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Gráficamente,
también
podemos
Ing. Rodrigo Sempértegui Álvarez

observar la
presencia de
divesos mínimos
locales en un
problema no
lineal.

287
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.3. PROGRAMACION NO RESTRINGIDA


En esta sección consideraremos un problema
P) Min f(x) con x  IRn
Ing. Rodrigo Sempértegui Álvarez

A esta clase de problemas pertenece por ejemplo el problema de


aproximación y ajuste de curvas. Sin embargo, la principal razón
para su estudio radica en la extensión de las ideas y métodos para
esta clase de problemas a los problemas de optimización
restringida.
A continuación se resumen algunos resultados teóricos para esta
clase de problemas:

Teorema (condiciones necesarias de primer orden). Si f es una


función continuamente diferenciable y x+  IRn es un mínimo local
de P), entonces: f(x+) = 0.

288
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Teorema (condiciones necesarias de segundo orden). Si f es una


función dos veces continuamente diferenciable y x+  IRn es un
mínimo local de P), entonces:
f(x+) = 0 y D2 f(x+) es semi positiva definida.
Ing. Rodrigo Sempértegui Álvarez

Dado lo anterior, no todos los puntos x  IRn que satisfacen las


propiedades mencionadas son mínimos locales de la función, sin
embargo existen resultados que proveen condiciones necesarias y
suficientes para que un punto sea un mínimo local.
Teorema (condiciones necesarias y suficientes de segundo orden).
Sea f una función dos veces continua diferenciable en x+  IRn . Si
f(x+) = 0 y D2f(x+) es positiva definida, entonces x+ es un mínimo
local estricto.

Teorema. Sea f una función convexa continuamente diferenciable,


entonces x+ es un mínimo global ssi f(x+) = 0.

289
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Ejemplo. Considere la función:


f(x1,x2) = 3 x12 + x23 - 3/2 x22
Ing. Rodrigo Sempértegui Álvarez

su gradiente y matriz Hessiana corresponden a:

 6x1 
f ( x )   2 
 2
3 x  3 x 2

6 0 
D f (x )  
2

 0 6 x 2  3 

290
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

De modo que hay dos posibles candidatos, x+ = (0, 0)T


y x* = (0, 1)T, que satisfacen las condiciones necesarias de
primer orden. Sin embargo
Ing. Rodrigo Sempértegui Álvarez

6 0 
D f (x )  
2

 0 6 x 2  3 
sólo es positiva definida en x* = (0,1), de modo que x* es un
mínimo local del problema.

291
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.3. Problemas de optimización no restringida.


Ing. Rodrigo Sempértegui Álvarez

292
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

La mayor parte de los algoritmos de optimización para abordar esta


clase de problemas pertenecen a la clase de algoritmos generales
de descenso que reducen el cálculo de un mínimo local a una
secuencia de problemas de búsqueda lineal (o búsqueda
Ing. Rodrigo Sempértegui Álvarez

unidimensional).
Decimos que un vector d  IRn es una dirección de descenso de la
función f en el punto x+ ssi la derivada direccional de f en x+ en la
dirección d, es negativa:
x2

f(x)

d x+

-f(x)

Z=20
Z=10 x1
293
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Consideremos además la función unidimensional (en una variable)


g() = f(x+ + d)
donde  es un escalar real llamado el tamaño del paso. Esta función
da el valor de la función f cuando uno se mueve a partir del punto x+
Ing. Rodrigo Sempértegui Álvarez

en la dirección d un cierto paso .


Claramente, si g’(0) = fT(x+)d < 0, es posible escoger un paso  tal
que:
g() = f(x+ + d) < f(x+) = g(0)
esto es, que reduzca el valor de la función respecto del valor actual
en x+.

294
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Algoritmo general de descenso


1) Considere un punto inicial x = x0. Hacer k = 0.
2) Escoger una dirección de descenso dk.
Ing. Rodrigo Sempértegui Álvarez

3) Realizar una búsqueda lineal que seleccione un paso k tal que:


gk(k) = f(xk + kdk) < f(xk) = gk(0)
4) Hacer xk+1 = xk + kdk.
5) Hacer un test de convergencia. Si converge parar. En caso
contrario, hacer k=k+1 y volver a 2)
En el paso 5), los criterios más usuales de convergencia son que se
cumpla:
 f(xk)   
f(xk+1) - f(xk)/ (1+ f(xk))  
para un cierto número L de valores consecutivos de k, y donde  es
una tolerancia de error dada, por ejemplo  = 10-4.

295
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Existen varios métodos para escoger una dirección de descenso,


uno de ellos es:
Ing. Rodrigo Sempértegui Álvarez

Método del Descenso más Pronunciado


En este método, también conocido como Método del Gradiente o
Método de Cauchy, dado la actual aproximación xk, la dirección de
descenso se escoge como:
dk = -f(xk)
Ejemplo.Considerar el problema:

Min (x1 – 2)4 + (x1 – 2x2)2


sa:  x1 
 x   IR
2

 2

que resolvemos usando el método del descenso más pronunciado


a partir del punto x10 = 0, x20 = 3
296
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

297
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Iteración k xk f(xk) f(xk) k


1 (0.00,3.00) 52.00 (-44.00,24.00) 0.062
Ing. Rodrigo Sempértegui Álvarez

2 (2.70,1.51) 0.34 (0.73, 1.28) 0.24


3 (2.52,1.20) 0.09 (0.80,-0.48) 0.11
4 (2.43,1.25) 0.04 (0.18, 0.28) 0.31
5 (2.37,1.16) 0.02 (0.30,-0.20) 0.12
6 (2.33,1.18) 0.01 (0.08, 0.12) 0.36
7 (2.30,1.14) 0.009 (0.15,-0.08) 0.13
8 (2.28,1.15) 0.007 (0.05, 0.08)

298
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Otra elección posible para la dirección de descenso es la que usa el:


Método de Newton
Ing. Rodrigo Sempértegui Álvarez

Aquí el vector dk se calcula como la solución del siguiente sistema


de ecuaciones:
D2f(x)dk = - f(x)
Sin embargo, a pesar de ser un método más eficiente que el anterior
respecto de su rápidez de convergencia, requiere en cada iteración,
el cálculo de las segundas derivadas parciales y la resolución de un
sistema de ecuaciones. Además, dk está garantizada que es una
dirección de descenso sólo si D2f(xk) es positiva definida.

Al aplicar el método al ejemplo anterior se tiene:

299
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

f(xk)
Ing. Rodrigo Sempértegui Álvarez

Iteración k f(xk)
1 (0.00,3.00) 52.00 (-44.00,24.00)
2 (0.67,0.33) 3.13 (-9.39,-0.04)
3 (1.11,0.56) 0.63 (-2.84,-0.04)
4 (1.41,0.70) 0.12 (-0.80,-0.04)
5 (1.61,0.80) 0.02 (-0.22,-0.04)
(-0.07, 0.00)
6 (1.74,0.87) 0.05 (-0.0003,-0.04)
8 (1.83,0.91) 0.0009

300
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.4. Problemas con restricciones de igualdad.

El problema que se desea abordar consiste en:


Ing. Rodrigo Sempértegui Álvarez

P) Min f(x)
s.a. g1(x) = b1
g2(x) = b2
g m(x) = bn mn

Definición. Decimos que x  IRn es un punto regular de las


restricciones del problema P) ssi:

gi(x) = bi i = 1, 2, ..., m

g1(x), g2(x), ..., gm(x) son vectores l.i.

301
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Para presentar algunos resultados teóricos, que permiten el cálculo


de mínimos locales, se introdujo la definición anterior, que se
relaciona con el cumplimiento de ciertas condiciones de regularidad
del problema.
Ing. Rodrigo Sempértegui Álvarez

A continuación, introducimos la función Lagrangiana asociada a P):


m
L(x,  )  f (x)   i (gi (x)  bi )
i1
donde   1, 2, ..., m)T representa el vector de los Multiplicadores
de Lagrange.

Los siguientes resultados teóricos establecen ciertas propiedades


que satisface un mínimo local, las cuales muestran, en particular,
que dicho punto es un punto estacionario de la función lagrangeana.

302
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Teorema. (Condiciones necesarias de primer orden):


Sean f(x) y g1(x),g2(x),...,gm(x) funciones continuamente
diferenciales y sea x^ un mínimo local que además es un punto
Ing. Rodrigo Sempértegui Álvarez

regular de las restricciones de P), entonces existe un vector λ^ 


IRm, de multiplicadores de Lagrange tales que:
m
 x L(x ,  )  f (x )   ^i gi (x ^ )  0
^ ^ ^
i1

303
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Teorema (Condiciones necesarias y suficientes de


segundo orden).
Ing. Rodrigo Sempértegui Álvarez

Sean f, g1 ,g2, ..., gm funciones dos veces


continuamente diferenciables y sea x^  IRn un
punto regular de las restricciones de P) que junto
con λ^  IRm, satisfacen:
m
 xL(x ,  )  f (x )   ^igi (x ^ )  0
^ ^ ^
i1
y que m
D f (x )   ^i D2gi (x ^ )
2 ^
i1
es una matriz positiva definida entonces x^ es un
mínimo local de P).
304
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Ejemplo:
Min x12  x 22
Ing. Rodrigo Sempértegui Álvarez

sa : x1  x 2  4
 x1 
x   IR 2

 2
Buscamos la solución óptima usando las
condiciones de optimalidad:

305
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

h1(x )  x1  x 2  4
Ing. Rodrigo Sempértegui Álvarez

f (x )  x12  x 22 ;m  1

f (x )  (2x1, 2x 2 )T 0 0 
h1( x )   
 0 0 

2 0  0 0 
D f (x )  
2 D h( x )  
2

  0 0 
 0 2 

306
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Luego las condiciones de primer orden son:


Ing. Rodrigo Sempértegui Álvarez

2x1 + λ1 = 0
2x2 + λ1 = 0
x1 + x2 - 4 = 0 ( Factibilidad)

Resolviendo el sistema: x1 = x2 = 2; λ1 = -4,


luego por existencia de la solución óptima
de P) se tiene que la solución óptima es :
x1=2 , x2=2
307
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

De todos modos las condiciones de segundo orden


se cumplen pues:
2 0  0 0   2 0 
Ing. Rodrigo Sempértegui Álvarez

 0 2    1 0 0    0 2 
     
es positiva definida.
Notar que en x* se tiene: m
 f (x )   *i hi (x * )
*

i1

 4  4 T  41 1T

308
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.5. Prob. con rest. de igualdad y desigualdad.


Ing. Rodrigo Sempértegui Álvarez

Por último consideramos un problema más general


de optimización:
P) Min f(x)
s.a. gi(x) = bi i = 1, 2, ..., m
hr(x) = dr r = 1, 2, ..., l

En este caso decimos que x^ es un punto regular


de las restricciones del problema ssi:

309
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

gi(x^) = bi ; i = 1, 2, ..., m
Ing. Rodrigo Sempértegui Álvarez

hr(x^)  dr ; r = 1, 2, ..., l

g1(x^), g2(x^), ..., gm(x^), hj(x^) vectores l.i.

con j  { r / hr(x^) = dr }

310
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Teorema (condiciones necesarias de primer orden


Ing. Rodrigo Sempértegui Álvarez

de Karush-Kuhn-Tucker (KKT)).
Suponga que las funciones f, g1, ..., gm, h1, ..., hl
son continuamente diferenciables. Sea x^ un
punto regular de P) y mínimo local del problema,
entonces existen multiplicadores de lagrange: 1, 2
, ..., m y m1 , m2 , ..., ml  0 :
m l
f (x )    i gi (x )   m r hr (x )  0
^ ^ ^
i 1 r 1
m r (hr (x ^ )  dr )  0 ; r  1, 2, ..., l
311
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

IV.6. Métodos de optimización restringida.


Ing. Rodrigo Sempértegui Álvarez

a) Método de activación de restricciones


Este método se aplica en esta descripción a
problemas que sólo poseen restricciones de
desigualdad.
La idea es que si el problema no restringido tiene
una solución óptima que no satisface una parte de
las restricciones, se considera k restricciones como
de igualdad y se resuelve este problema
restringido hasta llegar a un conjunto de
restricciones activas cuya solución también
satisface las restricciones omitidas.
312
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Paso1: Resuelva el problema no restringido. Si el


óptimo satisface todas las restricciones parar, en
caso contrario, hacer k=1 e ir al paso 2.
Ing. Rodrigo Sempértegui Álvarez

Paso 2: Activar cualquiera de las k restricciones y


hallar una solución que satisfaga las condiciones
de optimalidad KKT. Si la solución resulta factible
para las restantes restricciones parar. Sino, active
otro conjunto de k restricciones y repita el paso. Si
se han tomado todos los conjuntos de k
restricciones sin hallar solución factible ir al paso 3.

313
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Paso 3: Si k = L (# total de restricciones)


no existe solución factible. En caso
Ing. Rodrigo Sempértegui Álvarez

contrario, hacer k= k+1 e ir a paso 2.

Ejemplo. Consideremos el problema:


Min (2x1 – 5)2 + (2x2 – 1)2
s.a. x1 + 2x2  2
x1, x2  0

314
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

El problema no restringido tiene como


solución a
Ing. Rodrigo Sempértegui Álvarez

x1* = 5/2 y x2* = ½

obtenida al resolver: f(x) = 0

Claramente, este punto no satisface la


restricción:
h1(x1,x2) = x1 + 2x2  2.
315
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Consideramos entonces activa la restricción


lineal, esto es resolvemos:
Ing. Rodrigo Sempértegui Álvarez

f(x1, x2) + m1 h1(x1, x2) = 0


h1 (x1, x2) = 2

Cuya solución optima es:


x1^ = 22/10 = 11/5
x2^ = -1/10
m1^ = -12/5 que no satisface x2
0
316
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Continuando con el método, si sólo se activa x1= 0 se


llega al mínimo local:
Ing. Rodrigo Sempértegui Álvarez

x1 = 0, x2 = ½ m2= 0, m1= 0, m3= 0

Notar que otro mínimo local se tiene con


x1 + 2x2  2 y x2 = 0 activas, obteniéndose:
x1 = 2, x2 = 0.

317
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

b) Método de Frank – Wolfe.


Ing. Rodrigo Sempértegui Álvarez

Este método permite la resolución de un problema


cuya función objetivo es una función convexa no-
lineal y cuyas restricciones son todas lineales. Este
método reemplaza la función objetivo por una
secuencia de funciones lineales que la aproximan,
dando así origen a una secuencia de problemas de
programación lineal.

318
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Si xk es la actual aproximación a la solución


óptima del problema
Ing. Rodrigo Sempértegui Álvarez

P) Min f(x)
s.a. Ax = b
x0

Entonces la expansión en serie de Taylor


en torno a x =xk, a saber f(x) = f(xk) +
f(xk)(x – xk), permite aproximar el
problema P) por el problema lineal:
319
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Min f(xk) + f(xk)(x – xk)


s.a. Ax = b
Ing. Rodrigo Sempértegui Álvarez

x0
o equivalentemente, eliminando los
términos constantes, se puede considerar
el problema:
PLk) Min f(xk)x
s.a. Ax = b
x0
320
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Si xPLk denota la solución óptima de PLk), este


punto no necesariamente es cercano a xk de
modo que es necesario proponer un punto que
Ing. Rodrigo Sempértegui Álvarez

resulte de hacer una minimización


unidimensional en el segmento que une xk con
xPLk.

Todo lo anterior se resume en el siguiente


algoritmo:

321
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Pao 0: Escoger un punto inicial factible x0. Hacer


k = 1.
Ing. Rodrigo Sempértegui Álvarez

Paso 1: Evaluar c= f(xk-1)


Paso 2: Hallar la solución óptima xPLk del siguiente
problema lineal
Min cT x
s.a. Ax = b
x0

322
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Paso 3: Para la variable   [0, 1], se define


g() = f(xk-1 +  [xPLk – xk-1])
Ing. Rodrigo Sempértegui Álvarez

Usar algún procedimiento de minimización


unidimensional para hallar un k que aproxime la
solución de Min { g() /   [0, 1]}

323
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Paso 4: Hacer xk = xk-1 + k (xPLK – xk-1)


Paso 5: Si se satisface el criterio de parada del
Ing. Rodrigo Sempértegui Álvarez

método, parar. En caso contrario, hacer k = k + 1 y


volver al Paso 1.

324
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

Ejemplo.
Min x12 – 5x1 + 2x22 – 8x2
Ing. Rodrigo Sempértegui Álvarez

sa: 3x1 + 2x2  6


x1, x2  0

Iteración k x k-1  f(x k-1) xLPk xk k


1 (0, 0) (-5, -8) (0, 3) (0, 2) 2/3
2 (0, 2) (-5, 0) (2, 0) (5/6, 7/6) 5/12

325
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

BIBLIOGRÁFIA EN PROGRAMACIÓN NO LINEAL

1. Nonlinear Programming, M.Bazaraa, H.Sherali and C.Shetty.


John Wiley & Sons, Inc., New York, Second Edition 1993.
Ing. Rodrigo Sempértegui Álvarez

2. Nonlinear Programming, D.Bertsekas. Athena Scientific USA,


1995.
3. Numerical Methods for Unconstrained Optimization and
Nonlinear Equations, J.Dennis and R.Schnabel. SIAM Classics in
Applied Mathematics 16. SIAM Publications, Philadelphia, 1996.
4. Practical Methods of Optimization, R.Fletcher. John Wiley &
Sons, Inc., 1981.
5. Introducción a la Programación Lineal y No Lineal,
D.Luenberger. Adisson Wesley Iberoamericana 1989.
6. Mathematical Programming: Theory and Algorithms, M.Minoux.
John Wiley & Sons, Inc., New York, 1986
7. Optimization Software Guide, J.Moré and S.Wright, SIAM
Frontiers in Applied Mathematics 14, SIAM Publications,
Philadelphia 1993.

326
II. Modelos de Programación Matemática
Programación No - lineal
Investigación de Operaciones

DIRECCIONES ELECTRÓNICAS EN PROGRAMACIÓN NO


LINEAL
Ing. Rodrigo Sempértegui Álvarez

Preguntas de consulta frecuente en Programación No Lineal:


http://www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq.html

Servidor NEOS, guía de software de Programación No Lineal :


http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/unconstropt.html
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/constropt.html

Servidor NEOS, ejemplo problema de carteras de inversión:


http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/port/index.html

Guía de software de Programación No Lineal en revista OR&MS Today


(INFORMS Magazine):
http://lionhrtpub.com/software-surveys.shtml

327
Investigación de Operaciones III. Programación Dinámica

Contenidos
Ing. Rodrigo Sempértegui Álvarez

III. Programación Dinámica

328
Investigación de Operaciones III. Programación Dinámica

III. Programación Dinámica

 La programación dinámica se utiliza tanto en problemas lineales


Ing. Rodrigo Sempértegui Álvarez

como no lineales.
 La programación dinámica es útil para resolver un problema
donde se deben tomar una serie de decisiones interrelacionadas.
 A diferencia de la P.L., la programación dinámica no tiene
formulación matemática estándar. Se trata de un enfoque de tipo
general para la solución de problemas, y las ecuaciones se
derivan de las condiciones individuales de los mismos.

329
Investigación de Operaciones III. Programación Dinámica

El problema de la diligencia
Un cazafortunas desea ir de Missouri a California en una
Ing. Rodrigo Sempértegui Álvarez

diligencia, y quiere viajar de la forma más segura posible. Tiene


los puntos de salida y destino conocidos, pero tiene múltiples
opciones para viajar a través del territorio.
Se entera de la posibilidad de adquirir seguro de vida como
pasajero de la diligencia.
El costo de la póliza estándar (Cij) se muestra en la tabla de la
siguiente página.
¿Cuál es la ruta que minimiza el costo de la póliza de seguro?

330
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
III. Programación Dinámica

331
Investigación de Operaciones III. Programación Dinámica

Algunas Alternativas de Solución


1. Enumeración exhaustiva: enumerar todas las rutas
Ing. Rodrigo Sempértegui Álvarez

posibles, calcular su costo y elegir la de menor valor. En


total son 18.
2. Elegir la ruta más barata en cada etapa. Esta solución no
necesariamente conduce al óptimo global. Un pequeño
sacrificio en una etapa puede permitir mayores ahorros
más adelante
3. Programación Dinámica:
 Estrategia de solución: un problema complejo es
desagregado en problemas más simples que se resuelven
etapa por etapa
 En el caso de la diligencia un problema simple sería pensar
qué pasaría si al viajero sólo le faltara una etapa del viaje

332
III. Programación Dinámica

Por P.D. la solución sería entonces ir desde el estado actual (i


Investigación de Operaciones

cualquiera que sea) y llegar a su destino final (estado J) al costo cij.


Se hace lo mismo para cada jornada (etapa), ensanchando el
problema. Así encontramos la solución óptima del lugar al que debe
Ing. Rodrigo Sempértegui Álvarez

dirigirse teniendo en cuenta la información de la iteración anterior.

Formulación
Sea Xn ( n = 1,2,3,4 ) las variables que representan el destino
inmediato en la etapa n.
A → X1 → X2 → X3 → X4 Donde X4 = J
Sea fn (S, Xn) el costo total de la mejor política global para las etapas
restantes, dado que el agente se encuentra en el estado S, listo para
iniciar la etapa n y se dirige a Xn como destino inmediato.

333
III. Programación Dinámica

Dados S y n , sea Xn* el valor de Xn (no necesariamente único), que


Investigación de Operaciones

minimiza fn (S , Xn) , y sea fn*(S) el valor mínimo correspondiente de


fn (S, Xn) entonces:
fn* (S) = Min Xn fn(S, Xn) = fn(S, Xn*)
Ing. Rodrigo Sempértegui Álvarez

Costo Mínimo costo


fn(S, Xn) = Inmediato + futuro (etapa
(etapa n) n+1 en adelante)
= cs , xn + fn+1* (Xn)
↓ ↓
Costo por ir Costo óptimo
de la ciudad i acumulado
al destino j

334
III. Programación Dinámica
Etapa n=4
Investigación de Operaciones

Como el destino final (estado J) se alcanza al terminar la etapa 4,


entonces

f5*(J) = 0
Ing. Rodrigo Sempértegui Álvarez

El objetivo es hallar f1*(A) y su ruta correspondiente.


Cuando el cazafortunas tiene sólo una etapa por recorrer (n=4) , su
ruta de ahí en adelante, estará determinada por el estado actual (H o
I) y su destino final X4=J

La ruta será: S →J donde S= H o I

Luego f4*(S) = cS,J + f5*(J) = cS,J


f4(H) = cH,J = 3
f4(I) = cI,J = 4

335
III. Programación Dinámica

Etapa n=3
Investigación de Operaciones

El cazafortunas tiene 2 etapas por recorrer (n=3).


Suponga que sale de E.
Ing. Rodrigo Sempértegui Álvarez

Luego f3*(E) = 4 y X3* = H


En general para la etapa 3 se tiene:

336
III. Programación Dinámica
Etapa n=2
Investigación de Operaciones

En la segunda etapa, el cazafortunas tiene 3 jornadas por recorrer


(n=2). Suponga que sale de C.
Ing. Rodrigo Sempértegui Álvarez

Luego f2*(C) = 7 y X2* = E


En general para la etapa 2 se tiene:

337
III. Programación Dinámica
Etapa n=1
Investigación de Operaciones

En la primera etapa, el cazafortunas tiene todas las jornadas por


recorrer (n=1). Necesriamente debe salir de A.
Ing. Rodrigo Sempértegui Álvarez

Luego f1*(A) = 11 y X1* = C ó D


Veamos:

338
III. Programación Dinámica

La solución del problema gráficamente


Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez

Podemos ver que hay 3 soluciones óptimas

339
III. Programación Dinámica
Características de la P.D.
Investigación de Operaciones

1. El problema se puede dividir por etapas, que requieren una política


de decisión en cada una de ellas.
2. Cada etapa tiene un cierto número de estados asociados a su
inicio. (Estados son las diferentes condiciones posibles en las que se
Ing. Rodrigo Sempértegui Álvarez

puede encontrar el sistema en cada etapa del


problema).
3. El efecto de la política de decisión en cada etapa, es transformar el
estado actual en un estado asociado con el INICIO de la siguiente
etapa.
4. El procedimiento pretende hallar la política óptima para el
problema completo. Esto quiere decir, la política a emplear desde
cualquier posible estado del problema.
5. Dado el estado actual, la política óptima desde este estado es
independiente de las políticas adoptadas en las etapas anteriores.
(la solución depende únicamente del estado actual y no de cómo se
llegó allí) PRINCIPIO DE OPTIMALIDAD EN LA P.D., (Richard
Bellman, 1957)

340
III. Programación Dinámica
Características de la P.D. cont….
Investigación de Operaciones

6. El procedimiento de la solución termina cuando se obtiene la


política óptima de la última etapa (por lo general la solución en esta
etapa es trivial)
7. Siempre se dispone de una relación recursiva (esto es lo que
Ing. Rodrigo Sempértegui Álvarez

permite trabajar las decisiones interrelacionadas).


La relación recursiva será:
fn* (Sn)= Max Xn { fn (Sn, Xn) } ó fn* (Sn)= Min Xn { fn (Sn, Xn) }

Donde:
N: Número de etapas
n: etiqueta para la etapa actual (n=1,2,3,…N)
Sn: Estado actual para la etapa n
Xn: Variable de decisión para la etapa n

341
III. Programación Dinámica
Características de la P.D cont….
Investigación de Operaciones

8.Cuando se tiene una relación recursiva como la de la función, el


procedimiento de solución “hacia atrás” inicia en la última etapa y se
mueve hacia la primera, etapa por etapa
Ing. Rodrigo Sempértegui Álvarez

Xn* : Valor óptimo de Xn dado Sn

342
Investigación de Operaciones III. Programación Dinámica

ALGORITMO DE P.D. HACIA ATRÁS: Para cada valor


probable de la variable de estado al inicio de la etapa,
determinar el mejor estado final
Ing. Rodrigo Sempértegui Álvarez

ALGORITMO DE P.D. HACIA ADELANTE: Para cada


valor probable de la variable de estado al final de la
etapa, determinar el mejor estado inicial

343
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
INTRODUCCIÓN
Investigación de Operaciones

• Esta es una nueva herramienta que nos ayuda en la


resolución de los diferentes tipos de problemas.
Ing. Rodrigo Sempértegui Álvarez

• Así el objetivo es de minimizar costes y/o maximizar los


beneficios.

• Estando dados de la siguiente forma:

optimizar f ( x) con las restriccio nes


hi ( x)  bi i  1.....l

hi ( x)  bi i  1.....m
h ( x)  b i  1.....n
 i i
INTRODUCCIÓN
Investigación de Operaciones

 Un algoritmo eficiente que se puede utilizar es el


Ing. Rodrigo Sempértegui Álvarez

simplex.

 Para el caso de tener muchas variables este ya no


resulta eficiente, por el tiempo que requiere para
realizar los cálculos.
INTRODUCCIÓN
Investigación de Operaciones

 Existen los llamados Problemas de Optimización


Combinatorios que contienen variables de
Ing. Rodrigo Sempértegui Álvarez

decisión enteras y el espacio de soluciones está


formado por ordenaciones o subconjuntos de
números naturales.

 Los más conocidos son:


 Problema de la mochila
 Problema del viajante
Knapsack problem-De la
 Consiste en:
mochila
Investigación de Operaciones

 Seleccionar de entre un conjunto de n productos, cada


uno con un valor ci y un volumen vi.
Ing. Rodrigo Sempértegui Álvarez

 Determinando aquellos que quepan en un recipiente con


volumen V y que tengan el mayor valor posible. Así se
determina un subconjunto para el cual:

| *  1..n

c i
i  max  ci
i 1.. n
i

con la restricció n
v V
i
i
Knapsack problem-De la
mochila
Investigación de Operaciones

 xi toma el valor de 1 cuando el item se introduce en


Ing. Rodrigo Sempértegui Álvarez

la mochila
 xi toma el valor de n0 en caso contrario.
 Así: max  ci xi
i 1

con las restriccio nes


n

v x
i 1
i i V

xi  0,1 i  1..n
Investigación de Operaciones

Travelling Salesman Problem(TSP)


 Dado un mapa de carreteras, se desea visitar n
Ing. Rodrigo Sempértegui Álvarez

ciudades de forma que se recorra el menor número de


kilómetros y solo se visite una sola vez cada ciudad.

6 Solución Optima es la ruta


15
<1, 6, 3, 4, 2, 5>
20
1 16 7
Con un coste de 61km.
3
12 20
16 7 8
5
9 21
2 10 4
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
Problemas de tipo
combinatorio
Investigación de Operaciones

 La enumeración completa del conjunto de


soluciones y la generación del conjunto de
soluciones factibles no es eficiente.
Ing. Rodrigo Sempértegui Álvarez

 El tiempo de cálculo crece exponencialmente con


el número de ítems del problema.
Investigación de Operaciones

Problema de la mochila
 Para el problema de la mochila el número de
Ing. Rodrigo Sempértegui Álvarez

subconjuntos del conjunto {1..n} es 2n

 Si un computador pudiese generar en un segundo un


millón de esos subconjuntos el tiempo para hallar la
solución sería:

 Con n = 20, 220 = un segundo.


 Con n = 40, 240 = dos semanas.
 Con n = 60, 260 = 365 siglos.
Investigación de Operaciones

Problemas P
 Aquellos para los cuales se conocen algoritmos que
Ing. Rodrigo Sempértegui Álvarez

necesitan un tiempo polinominal para ofrecer una


solución óptima.

 Son resolubles eficientemente.


Investigación de Operaciones

Problemas NP
 Aquellos para los cuales no se conoce un algoritmo
Ing. Rodrigo Sempértegui Álvarez

polinomial de resolución.
 No son algorítmicamente resolubles eficientemente.
 P es un subconjunto de NP:

P  NP
Investigación de Operaciones

Problemas NP-completos
 La mayoría de problemas de interés empresarial son
Ing. Rodrigo Sempértegui Álvarez

NP-completos.

 No se ha podido encontrar algoritmos eficientes para la


resolución de problemas NP-completos.
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
Investigación de Operaciones

HEURÍSTICAS
Del griego heuriskein que significa encontrar.
Ing. Rodrigo Sempértegui Álvarez

Son algoritmos que ofrecen soluciones factibles, que


aunque no optimicen la función objetivo, se
supone que al menos se acercan al valor óptimo.

Las heurísticas son utilizadas como una herramienta


útil que da soluciones a problemas reales.
Investigación de Operaciones

HEURÍSTICAS
Definición:
Ing. Rodrigo Sempértegui Álvarez

“Procedimientos simples, a menudo basados en el


sentido común, que se supone ofrecerán una buena
solución (aunque no necesariamente la óptima) a
problemas difíciles, de un modo fácil y rápido”
Zanakis, Evans 1981
HEURÍSTICAS
Investigación de Operaciones

Factores para la utilización de métodos heurísticos:


Ing. Rodrigo Sempértegui Álvarez

a. Cuando no existe un método exacto de


resolución o éste requiere mucho tiempo de
cálculo o memoria.
b. Cuando no se necesita la solución óptima.
c. Cuando los datos son poco fiables.
d. Cuando las hay limitaciones de tiempo,
espacio, etc.
e. Como paso intermedio en la aplicación de otro
algoritmo.
Investigación de Operaciones

HEURÍSTICAS
Ventajas:
Ing. Rodrigo Sempértegui Álvarez

 Permiten mayor flexibilidad para el manejo de las


características del problema.

 Ofrecen más de una solución.


Inconvenientes:
Investigación de Operaciones

HEURÍSTICAS
 No es posible conocer la calidad de la solución.
Ing. Rodrigo Sempértegui Álvarez

 Existen métodos para realizar acotaciones. Un


procedimiento es el de relajar el problema, de manera que
sea más fácil de resolver.

 Cuando estos procedimientos no son posibles, se puede


utilizar métodos que indican que la heurística no es
buena.

 Siempre una técnica exacta es mejor que cualquier tipo de


heurística.
Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
Investigación de Operaciones

TIPOS DE HEURÍSTICAS
 MÉTODOS CONSTRUCTIVOS

 MÉTODOS DE DESCOMPOSICIÓN
Ing. Rodrigo Sempértegui Álvarez

 MÉTODOS DE REDUCCIÓN

 MANIPULACIÓN DEL MODELO

 MÉTODOS DE BÚSQUEDA POR ENTORNOS


Investigación de Operaciones

MÉTODOS
 Añaden
CONSTRUCTIVOS
paulatinamente componentes
individuales a la solución, hasta que se obtiene
Ing. Rodrigo Sempértegui Álvarez

una solución factible.

 ALGORITMOS GOLOSOS O DEVORA-DORES


(GREEDY)
MÉTODOS DE DESCOMPOSICIÓN
Investigación de Operaciones

 (“Divide y vencerás”) Dividen el problema en


subproblemas más pequeños, siendo el
Ing. Rodrigo Sempértegui Álvarez

output de uno el input de otro.

 APLICACIÓN A UN PROBLEMA DE
PROGRAMACIÓN LINEAL MIXTA.
Investigación de Operaciones

MÉTODOS DE REDUCCIÓN
 Identificanalguna característica que
presumiblemente deba poseer la solución
Ing. Rodrigo Sempértegui Álvarez

óptima.
Investigación de Operaciones

MANIPULACIÓN DEL MODELO


 Modifican la estructura del modelo,
haciéndolo más sencillo de resolver, y
Ing. Rodrigo Sempértegui Álvarez

deduciendo de su solución, la solución del


problema original.

 REDUCIR EL ESPACIO DE SOLUCIONES

 AUMENTAR EL ESPACIO DE SOLUCIONES


MÉTODOS DE BÚSQUEDA POR
ENTORNOS
Investigación de Operaciones

 Partiendo de una solución factible inicial, y


mediante alteraciones de esa solución, pasan de
forma iterativa a otras soluciones factibles de su
Ing. Rodrigo Sempértegui Álvarez

entorno.

 CRITERIO DE PARADA

 ALMACENAMIENTO DE SOLUCIÓN ÓPTIMA.

 PASO DE UNA SOLUCIÓN FACTIBLE A OTRA.


(NEIGHBORHOOD)
MÉTODO DE BÚSQUEDA LOCAL O DE
Investigación de Operaciones

DESCENSO
 En cada iteración se pasa de una solución actual
a una de su entorno que sea mejor que ella,
Ing. Rodrigo Sempértegui Álvarez

finalizando cuando todas las soluciones del


entorno sean peores.

 OPTIMOS LOCALES.
EJEMPLO DE FUNCIÓN
Investigación de Operaciones

CON UN ÓPTIMO LOCAL


Ing. Rodrigo Sempértegui Álvarez

Solución inicial

Óptimo local

Xi-2 Xi-1 Xi Xi+1


Investigación de Operaciones
Ing. Rodrigo Sempértegui Álvarez
Investigación de Operaciones

Recocido Simulado
 Recocer:
Ing. Rodrigo Sempértegui Álvarez

 Proceso térmico para obtener estados de baja energía en


un sólido, mediante un baño térmico.
 Para cada temperatura durante el proceso de
recocido, el sólido puede alcanzar el equilibrio
térmico solo si el enfriamiento se produce
lentamente.
 Caso contrario puede llegar a estados meta-
estables.
Investigación de Operaciones

Recocido Simulado
 La evolución de un sólido en el baño térmico puede ser
simulado mediante el algoritmo de la Metrópolis, basado
Ing. Rodrigo Sempértegui Álvarez

en las técnicas Monte Carlo.


 Realiza en paso de un estado a otro según:
 Si el estado generado posee una energía menor que el
estado que actualmente se tiene, se acepta el estado
generado como actual.
 Caso contrario el estado se aceptará con una
determinada probabilidad, la cual está en función de:
 La temperatura
 La diferencia entre los dos niveles de energía.
Investigación de Operaciones

Algoritmos genéticos
 “Técnicas de búsqueda basadas en la mecánica de la
Ing. Rodrigo Sempértegui Álvarez

selección natural y genética” [Goldberg, 1989]

 Los algoritmos genéticos son flexibles y pueden ser


aplicados en un amplio número de problemas.
Investigación de Operaciones

Algoritmos genéticos
 En los algoritmos biológicos, la información
Ing. Rodrigo Sempértegui Álvarez

hereditaria es pasada a través de los cromosomas o


genes, los cuales a su vez están formados de un
determinado número de valores (alelos).

 Los organismos pueden agruparse formando


poblaciones, los que mejor se adaptan tienen
mayor probabilidad de sobrevivir y reproducirse.
Investigación de Operaciones

Algoritmos genéticos
 Los alelos pueden representar valores de las
Ing. Rodrigo Sempértegui Álvarez

variables de decisión, que se corresponderán con


los genes.

 Los cromosomas representan las soluciones.

 Los algoritmos genéticos, trabajan sobre una


población de soluciones generando una nueva en
cada iteración.
Investigación de Operaciones

Búsqueda Tabú
 Los orígenes de la búsqueda tabú se ubican a
fines de los 60s y principios de los 70s.
Ing. Rodrigo Sempértegui Álvarez

 Se atribuye a Fred Glover, quien desarrolló esta


heurística para tratar de resolver problemas de
cubierta no lineal, aunque varios de sus principios
también fueron delineados independientemente
por P. Hansen .
Búsqueda Tabú
 El uso de estructuras flexibles de memoria basadas en atributos,
Investigación de Operaciones

diseñadas para permitir una mejor explotación de los criterios de


evaluación y la información histórica de la búsqueda que se
conseguiría con estructuras rígidas de memoria o con sistemas
carentes de memoria
Ing. Rodrigo Sempértegui Álvarez

 Un mecanismo asociado de control basado en la interacción entre las


condiciones que limitan y hacen más flexible el proceso de
búsqueda. Este mecanismo se encuentra inmerso en la técnica en la
forma de restricciones y criterios de aspiración

 La incorporación de memorias de diferente duración (de corto a largo


plazo), para implementar estrategias que intensifiquen y
diversifiquen la búsqueda. Las estrategias de intensificación
refuerzan las propiedades de las combinaciones de movimientos que
han demostrado ser buenas, mientras que las estrategias de
diversificación dirigen la búsqueda hacia nuevas regiones del espacio
de soluciones factibles.
 Una entre las metaheurísticas más exitosas que
Investigación de Operaciones

GRASP
aparecieron en los últimos años del siglo pasado es
GRASP.
Ing. Rodrigo Sempértegui Álvarez

 un método multiarranque diseñado para resolver


problemas difíciles en optimización combinatoria. En
su versión básica cada iteración consiste en dos fases:
una fase constructiva cuyo producto es una solución
factible buena, aunque no necesariamente un óptimo
local, y una búsqueda local, durante la cual se
examinan vecindades de la solución, al llegar a un
óptimo local la iteración termina.

 La iteraciones continúan, guardando la mejor solución


encontrada en cada una de ellas, hasta que se alcanza
un criterio de terminación.
 Una de las misiones en una red neuronal consiste en
Investigación de Operaciones

Redes Neuronales simular las propiedades observadas en los sistemas


neuronales biológicos a través de modelos matemáticos
recreados mediante mecanismos artificiales
Ing. Rodrigo Sempértegui Álvarez

 Una red neuronal se compone de unidades llamadas


neuronas. Cada neurona recibe una serie de entradas a
través de interconexiones y emite una salida. Esta salida
viene dadas por 3 enlaces:

 Enlace Sináptico
 Enlace de Activación
 Enlace de Transferencia
Redes Neuronales
Investigación de Operaciones

 Enlace Sináptico: que por lo general consiste en la


sumatoria de cada entrada multiplicada por el peso
de su interconexión (valor neto). Si el peso es
Ing. Rodrigo Sempértegui Álvarez

positivo, la conexión se denomina excitatoria; si es


negativo, se denomina inhibitoria.

 Enlace de activación: que modifica a la anterior.


Puede no existir, siendo en este caso la salida la
misma función de propagación.

 Enlace de transferencia: que se aplica al valor


devuelto por la función de activación. Se utiliza
para acotar la salida de la neurona y generalmente
viene dada por la interpretación que queramos
darle a dichas salidas

Potrebbero piacerti anche