EII 400

Optimización Lineal
2
º
semestre 2013
Unidad II
PROGRAMACION LINEAL
2
Modelo de Programación Lineal
• Un modelo de programación matemática es
lineal si todas las relaciones funcionales que
contiene (función objetivo y restricciones) son
lineales.
1
1
. : 1,2, ,
0 1,2, ,
n
j j
j
n
ij j i
j
j
Min c x
s a a x b i m
x j n
=
=

⋅ ≤ = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅


3
Modelo de Programación Lineal
. :
0
T
Opt c x
s a A x b
x

⋅ ≤

( )
1
2
3
1 2 3
, , , ,
n
n
x
x
x
Opt c c c c
x
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⋅ ⋅ ⋅ ⋅ ⋅
⎜ ⎟

⎜ ⎟

⎜ ⎟
⎝ ⎠
1
1
2
11 12 13 1
2
3
21 22 23 2
3
1 2 3
1 2 3
. :
, , , 0
n
n
m m m mn
n
m
n
b
x
b
a a a a
x
b
a a a a
x
s a
a a a a
x
b
x x x x
⎛ ⎞
⎜ ⎟
⎛ ⎞ ⋅ ⋅ ⋅
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⋅ ⋅ ⋅
⎜ ⎟
⎜ ⎟
⎜ ⎟
⋅ ≤ ⋅
⎜ ⎟
⎜ ⎟
⎜ ⎟

⎜ ⎟ ⋅
⎜ ⎟
⎜ ⎟

⎜ ⎟ ⎜ ⎟
⎜ ⎟

⎝ ⎠
⎝ ⎠
⎜ ⎟
⎝ ⎠
⋅ ⋅ ⋅ ⋅ ≥
4
Instancia de un Modelo de
Programación Lineal
Ejemplo :
3 4 7
. : 8 6 3 5
7 4 4 4
, , 0
Min x y z
s a x y z
x y z
x y z
⋅ + ⋅ + ⋅
⋅ − ⋅ + ⋅ ≥
⋅ + ⋅ − ⋅ ≤

( )
3,4,7
8 6 3 5
. :
7 4 4 4
, , 0
T
c
x
Min y
z
x
s a y
z
x y z
A
⎛ ⎞
⎜ ⎟

⎜ ⎟
⎜ ⎟
⎝ ⎠
⎛ ⎞
− + − −
⎛ ⎞ ⎛ ⎞
⎜ ⎟
⋅ ≤
⎜ ⎟ ⎜ ⎟
⎜ ⎟

⎝ ⎠ ⎝ ⎠
⎜ ⎟
⎝ ⎠

5
Supuestos generales de un Modelo
de Programación Lineal
Proporcionalidad: la contribución de cada variable x a cada
medida de efectividad es proporcional a x.
Aditividad e independencia: la contribución de una variable
x a una medida de efectividad es independiente de la
contribución de cualquier otra variable.
Divisibilidad: las variables pueden tomar valores
fraccionarios
Determinismo: los valores de todos los parámetros son
determinísticos y conocidos.
i i i
x c x → ⋅
i i k k
c x c x ⋅ + ⋅
ij j ik k i
a x a x b ⋅ ⋅ ⋅ + ⋅ + ⋅ +⋅ ⋅ ⋅ ≤
6
Ejemplo:
Planificación de la Producción
• Una empresa fabrica tres tipos de juegos de comedor: Colonial,
Inglés y Rústico.
• Las materias primas principales son madera y genero.
• Otros insumos son de costo comparativamente muy bajo y se
asume que siempre están disponibles.
• El proceso de producción consta de una etapa de corte y
cepillado, y una etapa de ensamblaje y terminación.
• La tabla muestra las cantidades de materias primas y tiempos
de proceso requeridos por cada unidad de producto fabricado.
Producto Madera
(m
2
)
Genero
(m
2
)
Corte y
Cepillado
(hrs)
Ensamblaje y
Terminado
(hrs)
Colonial 6 5 3 5
Inglés 6 3 2 4
Rústico 8 0 1 2
7
Ejemplo:
Planificación de la Producción
• El departamento de abastecimiento ha informado que para el
próximo mes se dispondrá de 1200 m
2
de madera y 600 m
2
de
genero.
• El departamento de producción, ha informado que dispondrá de
400 horas-máquina para corte y cepillado y 800 horas-hombre
para ensamblaje y terminado.
• Finalmente, el departamento comercial ha estimado los precios
de venta en M$1000, M$800 y M$400 para los comedores
Colonial, Inglés y Rústico, respectivamente.
• Se desea establecer un plan de producción que maximice los
ingresos por ventas.
8
Parámetros
• Precios estimados de venta por cada tipo de comedor (1000,800,400)
• Requerimientos de madera por unidad de producida de cada tipo de
comedor (tabla)
• Requerimientos de genero por unidad de producida de cada tipo de
comedor (tabla)
• Tiempos de proceso en corte y cepillado por unidad producida de cada
tipo de comedor (tabla)
• Tiempos de proceso en ensamblaje y terminado por unidad producida
de cada tipo de comedor (tabla)
• Cantidad total de madera disponible (1200)
• Cantidad total de genero disponible (600)
• Horas-máquina totales disponibles para corte y cepilado (400)
• Horas-hombre totales disponibles para ensamblaje y terminado (800)
Ejemplo:
Planificación de la Producción
9
Variables de Decisión
- x
c
: Cantidad de comedores coloniales a producir.
- x
i
: Cantidad de comedores ingleses a producir.
- x
r
: Cantidad de comedores rústicos a producir.
Medidas de Efectividad
• Ingreso total por ventas (I)
• Cantidad total de madera utilizada (M)
• Cantidad total de genero utilizada (G)
• Cantidad total de horas-máquina utilizada en corte y cepillado (HM)
• Cantidad total de horas-hombre utilizada en ensamblaje y terminado (HH)
Ejemplo:
Planificación de la Producción
10
Relaciones Funcionales
I = Ingresos:
M = Madera:
G = Genero:
HM = Horas Máquina:
HH = Horas Hombre:
Ejemplo:
Planificación de la Producción
1000 800 400
c i r
x x x ⋅ + ⋅ + ⋅
6 6 8
c i r
x x x ⋅ + ⋅ + ⋅
5 3 0
c i r
x x x ⋅ + ⋅ + ⋅
3 2 1
c i r
x x x ⋅ + ⋅ + ⋅
5 4 2
c i r
x x x ⋅ + ⋅ + ⋅
11
Restricciones
Cantidad total de madera utilizada ≤ Cantidad total disponible
Cantidad total de genero utilizado ≤ Cantidad total disponible
Horas-Máquinas requeridas ≤ Horas-Máquinas disponibles
Horas-Hombre requeridas ≤ Horas-Hombre disponibles
Función Objetivo
Maximizar Ingreso Total por ventas
Ejemplo:
Planificación de la Producción
6 6 8 1200
c i r
M x x x = ⋅ + ⋅ + ⋅ ≤
5 3 0 600
c i r
G x x x = ⋅ + ⋅ + ⋅ ≤
1000 800 400
c i r
Max I x x x = ⋅ + ⋅ + ⋅
3 2 1 400
c i r
HM x x x = ⋅ + ⋅ + ⋅ ≤
5 4 2 800
c i r
HH x x x = ⋅ + ⋅ + ⋅ ≤
12
Modelo
Optimizante
Max I
s.a: M <= 1200
G <= 600
HM <= 400
HH <= 800
x >= 0 enteros
Ejemplo:
Planificación de la Producción
1000 800 400
. : 6 6 8 1200
5 3 0 600
3 2 1 400
5 4 2 800
, , 0
c i r
c i r
c i r
c i r
c i r
c i r
Max x x x
s a x x x
x x x
x x x
x x x
x x x enteros
⋅ + ⋅ + ⋅
⋅ + ⋅ + ⋅ ≤
⋅ + ⋅ + ⋅ ≤
⋅ + ⋅ + ⋅ ≤
⋅ + ⋅ + ⋅ ≤

( )
1000,800,400
6 6 8 1200
5 3 0 600
. :
3 2 1 400
5 4 2 800
, , 0
c
i
r
c
i
r
c i r
x
Max x
x
x
s a x
x
x x x entero
⎛ ⎞
⎜ ⎟

⎜ ⎟
⎜ ⎟
⎝ ⎠
⎛ ⎞ ⎛ ⎞
⎛ ⎞
⎜ ⎟ ⎜ ⎟
⎜ ⎟
⋅ ≤
⎜ ⎟ ⎜ ⎟
⎜ ⎟
⎜ ⎟ ⎜ ⎟
⎜ ⎟
⎝ ⎠
⎝ ⎠ ⎝ ⎠

Geometría del Problema de
Programación Lineal
14
Ejemplo Solución única:
Construcción del Espacio de Soluciones
Maximizar
2 1
5 3 x x +
230 2
2 1
≤ + x x
250 2
2 1
≤ + x x
120
2
≤ x
0
1
≥ x
: a sujeto
0
2
≥ x
( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
15
Construcción del Espacio de Soluciones
(4)
(4)
(5)
2
x
1
x
Restricciones (4) y (5)
0
1
≥ x
0
2
≥ x
16
Construcción del Espacio de Soluciones
(Restricciones (4) y (5))
(1)
(4)
(5)
Agregar restricción (1)
230 2
2 1
≤ + x x
x
1
= 0 x
2
= 230
x
2
= 0 x
1
= 115
2
x
1
x
17
Construcción del Espacio de Soluciones
(Restricciones (1),(4) y (5))
Agregar restricción (2)
2
x
1
x
(1)
(4)
(5)
(2)
250 2
2 1
≤ + x x
x
1
= 0 x
2
= 125
x
2
= 0 x
1
= 250
18
Construcción del Espacio de Soluciones
(Restricciones (1),(2),(4) y (5))
2
x
1
x
(1)
(4)
(5)
(2)
(3)
Agregar restricción (3)
120
2
≤ x
19
Puntos Extremos
Región de
soluciones
Factible
(0,0)
(0,120)
(115,0)
(70,90)
(10,120)
2
x
1
x
20
Solución óptima
¿ Existe una solución con
Z=400 ?
¿ Existe una solución con
Z=210 ?
2
x
1
x
400 5 3
2 1
= + x x
Dirección de mejora
Solución Optima
(70,90)
210 5 3
2 1
= + x x
¿ Cuál es la solución
óptima?
(1)
(2)
(3)
(20,30)
21
Solución óptima (cont...)
Restricción
activa
Solución Optima
Restricción
No activa
Restricción
activa
2
x
1
x
22
Ejemplo Solución Infactible
Maximizar
2 1
5 3 x x +
230 2
2 1
≤ + x x
250 2
2 1
≤ + x x
120
2
≤ x
0
1
≥ x
: a sujeto
0
2
≥ x
( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
150
1
≥ x
( ) 6
Nueva Restricción
23
2
x
1
x
Ejemplo Solución Infactible:
Construcción de Región de soluciones
Restricciones 1) a 5)
24
2
x
1
x
(1)
(4)
(5)
(2)
(3)
(6)
Agregar restricción (6)
150
1
≥ x
No existe área factible
Ejemplo Solución Infactible:
Construcción de Región de soluciones
Restricciones 1) a 6)
25
Ejemplo Problema No Acotado
Maximizar
2 1
5 3 x x +
0
1
≥ x
: a sujeto
0
2
≥ x
( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
230 2
2 1
≥ + x x
250 2
2 1
≥ + x x
26
Problema No Acotado:
Espacio de Soluciones
2
x
1
x
(3)
(1)
(4)
(2)
(5)
Función objetivo
27
Ejemplo Solución única en
Espacio No acotado
2 1
5 3 x x +
0
1
≥ x
: a sujeto
0
2
≥ x
( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
230 2
2 1
≥ + x x
250 2
2 1
≥ + x x
28
Solución única en espacio
No acotado : Espacio de Soluciones
2
x
1
x
(3)
(1)
(4)
(2)
(5)
Función objetivo
29
Nueva F.O
Ejemplo Problema con
Múltiples Soluciones
Maximizar
2 1
4 2 x x +
230 2
2 1
≤ + x x
250 2
2 1
≤ + x x
120
2
≤ x
0
1
≥ x
: a sujeto
0
2
≥ x
( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
30
Función
objetivo
Problema con Múltiples Soluciones:
Espacio de Soluciones
Pendiente de la F.O iguala la pendiente
de la restricción (2)
2
x
1
x
(2)
31
Problema con Múltiples Soluciones:
Espacio de soluciones
Función
objetivo
1
x
Múltiples Soluciones
2
x
(2)
32
Análisis de Sensibilidad
• Una vez conocido el valor y la (s) solución (es) óptima (s) nace
la inquietud de estudiar la estabilidad de dicha (s) solución (es)
1
1
. : 1,2, ,
0 1,2, ,
*
n
j j
j
n
ij j i
j
j
Min c x
s a a x b i m
x j n
X
=
=

⋅ ≤ = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅

( )
( )
1
1
*
. : 1,2, ,
0 1,2, ,
¿ ?
n
j j j
j
n
ij ij j i i
j
j
Min c x
s a a x b i m
x j n
X
δ
δ δ
=
=
± ⋅
± ⋅ ≤ ± = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅

33
Análisis de Sensibilidad
• ¿qué pasa si cambian un poco los parámetros de la función
objetivo?
• ¿qué pasa si cambian un poco los parámetros de las
restricciones?
• ¿existe algún rango en el cual la solución óptima no cambia?
• ¿cómo determinar ese rango?
• En caso de cambiar la solución, ¿qué tan relevantes son estos
cambios?
• Dado lo anterior, ¿realmente queremos sólo la solución
óptima? ¿podríamos buscar otro tipo de soluciones?
• Algunos enfoques:
– Optimización Estocástica
– Optimización Robusta
– Análisis de Sensibilidad
34
Análisis de Sensibilidad
• Cambios en los Coeficientes de F.O.
El problema es :
Maximizar
2 1
5 3 x x +
2
x
1
x
Solución óptima
Z=660
230 2
2 1
≤ + x x
250 2
2 1
≤ + x x
120
2
≤ x
0
1
≥ x
: a sujeto
0
2
≥ x ( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
35
Análisis de Sensibilidad
1
x
2
x
¿Qué sucede si el Coeficiente de x
1
cambia a 3 + δ?
1
x
36
Análisis de Sensibilidad
2
x
1
x
(1)
(2)
(3)
¿ Cuál es el máximo valor de δ tal que la
solución óptima no cambia ?
( )
1 11
2
2 12
3 2
2
5 1
c a
m
c a
δ δ − + − − − −
= ≥ = = = −
7 δ − ≥ −
7
Max
δ =
37
2
x
1
x
Análisis de Sensibilidad
Nueva solución óptima
¿qué pasa si δ > 7 ?
¿qué tan drástico es el cambio en la solución?
¿puede realizarse el cambio de manera simple?
38
2
x
1
x
Análisis de Sensibilidad
Otros ejemplos
39
2
x
1
x
Análisis de Sensibilidad
Otros ejemplos
40
Análisis de Sensibilidad
Desplazamiento de Restricciones
El problema es :
Maximizar
2 1
5 3 x x +
2
x
1
x
Solución optima
Z=660
230 2
2 1
≤ + x x
250 2
2 1
≤ + x x
120
2
≤ x
0
1
≥ x
: a sujeto
0
2
≥ x ( ) 5
( ) 4
( ) 3
( ) 2
( ) 1
41
1
x
2
x
(1)
(2)
(3)
Análisis de Sensibilidad
¿ Qué pasa si el lado derecho de la restricción
(1) cambia a 230 +δ ?
¿ Qué pasa si el lado derecho de la restricción
(1) cambia a 230 -δ ?
42
La nueva solución óptima tiene las mismas
restricciones activas.
La nueva solución se encuentra interceptando las
restricciones (1) y (2), es decir resolviendo:
1
x
2
x
(1)
(2)
Nueva solución
óptima
Análisis de Sensibilidad
1 2
2 230 x x δ ⋅ + = +
( )
( )
1 2
1 2
2 230 1
2 250 2
x x
x x
⋅ + =
+ ⋅ =
43
Análisis de Sensibilidad
La nueva solución óptima es:
De este modo podemos determinar cuánto varia la solución optima y los
y el valor objetivo respectivo, como función del valor de la variación δ
1 2
210 2 270
;
3 3
x x
δ δ + ⋅ −
= =
El valor objetivo óptimo es:
210 2 270
3 5
3 3
1980
3
Z
Z
δ δ
δ
+ ⋅ −
= ⋅ + ⋅
+
=
44
Análisis de Sensibilidad
El precio sombra de una restricción es el incremento unitario o
marginal en el valor óptimo de la función objetivo, por unidad de
incremento en el lado derecho de la restricción, en otras palabras:
( )
0
. . . .
lim
F O Nueva F O Original
δ
δ
λ
δ


=
En el caso lineal:
( )
. . . . F O Nueva F O Original δ
λ
δ

=
1980
660
1
3
3
δ
λ
δ
+

= =
45
Análisis de Sensibilidad
¿Que pasa con variaciones en
restricciones no activas?
• En un determinado rango, la solución óptima no cambia
• ¿cómo determinar dicho rango?
• ¿cómo es el precio sombra en dicho rango?
• ¿qué pasa fuera de este rango?
46
Sinopsis del Método Simplex
• En n dimensiones es computacionalmente imposible evaluar
la F.O. en cada uno de los puntos extremos (son
demasiados).
• El método Simplex encuentra la solución óptima utilizando
un algoritmo de búsqueda local.
• Empezando en un punto extremo cualquiera, el Simplex se
mueve de un punto extremo a otro adyacente con mejor
valor objetivo hasta que el procedimiento no se puede
repetir.
47
Sinopsis del Método Simplex
2
x
1
x
• Empiece en cualquier punto extremo.
• Muévase a un punto extremo adyacente
con mejor valor en la F.O.
• Continúe hasta que no se encuentre un
punto extremo adyacente con mejor valor
en la F.O.
48
Sinopsis del Método Simplex
2
x
1
x
Algunas preguntas relevantes
• ¿Cómo encontrar un vértice inicial?
• ¿Cómo encontrar y evaluar los vértices
adyacentes?
• si hay más de una dirección de mejoramiento,
¿Cuál elegir? ¿Cuál es mejor?
Ejemplos de Formulación en
Programación Lineal
50
Ejemplo: Dieta
Descripción
• Un fabricante de alimentos para mascotas desea establecer la
composición óptima de los pellets para perros.
• Los pellets son fabricados en base a cuatro ingredientes: Harina de
soya, harina de pescado, cereales y carnes variadas.
• El alimento debe poseer las siguientes características alimenticias:
– Contenido de proteína: mínimo 20%
– Contenido de fibra: mínimo 15%
– Hidratos de carbono: mínimo 20%, máximo 30%
– Calorías por kilogramo: mínimo 1500, máximo 2000
La Tabla muestra las características nutritivas y el costo de c/ingrediente
Ingrediente Proteína
s (%)
Fibra
(%)
Hid. Carbono
(%)
Calorías/kg Costo
($/kg)
Harina de Soya 10 15 50 800 60
Harina de
Pescado
50 5 1500 100
Cereales 5 5 70 1200 80
Carnes 70 5 2000 150
51
Parámetros
• Contenido máximo y mínimo de cada nutriente en el alimento
• Contenido calórico máximo y mínimo del alimento
• Contenido porcentual de cada nutriente en cada ingrediente (Tabla)
• Aporte calórico de cada ingrediente (Tabla)
• Costo de cada ingrediente
Variables de Decisión
- x
s
: Contenido (fracción) de harina de soya en el alimento
- x
p
: Contenido (fracción) de harina de pescado en el alimento
- x
t
: Contenido (fracción) de cereales el alimento
- x
c
: Contenido (fracción) de carnes en el alimento
Ejemplo: Dieta
52
Medidas de Efectividad
- CT = costo total por kilogramo de alimento
- P = contenido porcentual de proteínas en el alimento
- F = contenido porcentual de fibra en el alimento
- H = contenido porcentual de Hidratos de carbono en el alimento
- C = aporte calórico por kg. de alimento
Relaciones Funcionales
- CT = precio por kg. de SS * contenido porcentual de SS en el alimento
+ precio por kg. de HP * contenido porcentual de HP en el alimento
+ precio por kg. de cereal * contenido porcentual de cereal en el
alimento
+ precio por kg. de carne * contenido porcentual de carne en alimento
= 60x
s
+ 100x
p
+ 80x
t
+ 150x
c
Ejemplo: Dieta
53
Relaciones Funcionales
- P = % de proteína en la SS * % de SS en el alimento
+ % de proteína en la HP * % de HP en el alimento
+ % de proteína en la cereal * % de cereal en el alimento
+ % de proteína en la carne * % de carne en el alimento
= 10x
s
+ 50x
p
+ 5x
t
+ 70x
c
- F = 15x
s
+ 5x
t
- H = 50x
s
+ 5x
p
+ 70x
t
+ 5x
c
- C = 800x
s
+ 1500x
p
+ 1200x
t
+ 2000x
c
Ejemplo: Dieta
54
Restricciones
- Contenido porcentual de proteína >= contenido mínimo de proteína en el alimento
P >= 20
- Contenido porcentual de fibra >= contenido mínimo de fibra en el alimento
F >= 15
- Contenido porcentual de H. Carbono >= contenido mínimo de H. Carbono en el
alimento
H >= 20
- Contenido porcentual de H. Carbono <= contenido máximo de H. Carbono en el
alimento
H <= 30
- Aporte calórico del alimento >= aporte calórico mínimo del alimento
C >= 1500
- Aporte calórico del alimento <= aporte calórico máximo del alimento
C <= 2000
Función Objetivo
Minimizar costo total por kilogramo de alimento
Ejemplo: Dieta
55
Modelo Optimizante
Min 60x
s
+ 100x
p
+ 80x
t
+ 150x
c
s.a.
10x
s
+ 50x
p
+ 5x
t
+ 70x
c
>= 20
15x
s
+ 5x
t
>= 15
50x
s
+ 5x
p
+ 70x
t
+ 5x
c
>= 20
50x
s
+ 5x
p
+ 70x
t
+ 5x
c
<= 30
800x
s
+ 1500x
p
+ 1200x
t
+ 2000x
c
>= 1500
800x
s
+ 1500x
p
+ 1200x
t
+ 2000x
c
<= 2000
x
s
+ x
p
+ x
t
+ x
c
= 1
x
s
, x
p
, x
t
, x
c
>= 0
Min CT
s.a.
P >= 20
F >= 15
H >= 20
H <= 30
C >= 1500
C <= 2000
x є [0,1]
Ejemplo: Dieta
56
El Problema de Transporte
Un fabricante desea trasladar un número de unidades de un
artículo, desde diferentes depósitos hasta un cierto número de
tiendas. Cada tienda requiere un cierto número de unidades
del artículo, mientras que cada depósito tiene limitaciones con
respecto a la cantidad a suministrar
Plantas
(Oferta)
Clientes
(Demanda)
a
1
a
2
b
1
b
2
b
3
• No existen nodos de
transferencia (sólo
nodos oferta/demanda)
• Arcos conectan nodos
oferta con nodos
demanda (Red Bipartita)
57
El Problema de Transporte
Parámetros
• m = número de depósitos
• n = número de tiendas
• a
i
= cantidad total disponible del artículo en el depósito i.
• b
J
= requerimiento total del artículo en la tienda j.
• c
ij
= costo unitario de transporte entre la planta i y la tienda j
Variables de Decisión:
• x
ij
= número de unidades del artículo trasladadas desde el depósito i
a la tienda j
58
El Problema de Transporte
( )
1 1
1
1
. : 1...
1...
0 ,
m n
ij ij
i j
n
ij i
j
m
ij j
i
ij
Min c x
s a x a i m
x b j n
x i j
= =
=
=

≤ ∀ =
≥ ∀ =
≥ ∀
∑∑


59
El Problema de Transporte
( )
1 1
caso balanceado
m n
i j
i j
Si a b
= =
=
∑ ∑
( )
1 1
1
1
. : 1...
1...
0 ,
m n
ij ij
i j
n
ij i
j
m
ij j
i
ij
Min c x
s a x a i m
x b j n
x i j
= =
=
=

= ∀ =
= ∀ =
≥ ∀
∑ ∑


60
Balanceo de ofertas y demandas
O
1
=400
D
1
= 600
O
2
=700
O
3
=500
D
2
= 500
D
3
= 300
4
7
6
5
5
5
9
5
8
El Problema de Transporte
D
4
= 200
0
0
0
Otot. = 1600
Dtot. = 1400
61
Al resolver el problema obtenemos como solución:
O
1
≤ 400
D
1
= 600
O
2
≤ 700
O
3
≤ 500
D
2
= 500
D
3
= 300
400 Ton
200 Ton
2
0
0

T
o
n
3
0
0

T
o
n
3
0
0

T
o
n
El Problema de Transporte
62
Al resolver el problema obtenemos como solución:
O
1
=400
D
1
= 600
O
2
=700
O
3
=500
D
2
= 500
D
3
= 300
400 Ton
200 Ton
2
0
0

T
o
n
3
0
0

T
o
n
3
0
0

T
o
n
El Problema de Transporte
D
4
= 200
200 Ton
63
• Existe una red de transporte compuesta por nodos N,
conectados a través de un conjunto de arcos, A.
Ejemplos:
• Telecomunicaciones
• Redes computacionales
• Redes hidráulicas
• Redes de transporte de pasajeros/carga
• Redes de proyectos (PERT-CPM)
Problemas de Flujo en Redes
1
4
6
5
2
3 7
64
Problemas de Flujo en Redes
Problema de Flujo a Mínimo Costo:
• En dicha red existe una serie de nodos productores (oferta) y
nodos consumidores (demanda).
• Se debe decidir como enviar (que arcos utilizar) para enviar los
productos desde los nodos oferta hacia los nodos demanda),
• Eventualmente por medio de nodos de transbordo
• Minimizando los costos de transporte sobre la red
1
4
6
5
2
3 7
O
1
=10
O
4
=20
D
5
=15
D
7
=15
65
Problema de Flujo a Mínimo Costo:
• Cada arco posee un costo unitario de transporte, c
ij
(distancia recorrida, tiempo de viaje, etc.)
Existe un limite máximo u
ij
y un limite mínimo l
ij
, para
el flujo en los arcos de la red.
Problemas de Flujo en Redes
(c
ij
, l
ij
, u
ij
)
1
4
6
5
2
3 7
O
1
=10
O
4
=20
D
5
=15
D
7
=15
# Ori gen Desti no
1 1 2 10 0 10
2 1 3 8 0 10
3 1 4 4 5 10
4 2 3 6 0 10
5 2 5 7 0 10
6 3 4 3 5 10
7 3 5 4 0 10
8 3 6 9 0 10
9 4 3 8 5 10
10 4 6 6 0 10
11 5 3 4 0 10
12 5 6 7 5 10
13 5 7 8 0 10
14 6 5 5 0 10
15 6 7 2 0 10
Límite
Superior
Arcos Costo/
Di stancia
Lími te
Inferior
66
Problemas de Flujo en Redes
En resumen:
⇒ Un Red o Grafo G(N,A).
⇒ N es el conjunto de nodos.
⇒ A es el conjunto de arcos.
⇒ C
ij
costo en el arco (i,j) ∈ A.
⇒ f
ij
: flujo en el arco (i,j).
⇒ Límite mínimo l
ij
.
⇒ Límite Máximo u
ij
.
⇒ Cada nodo i de la red posee una oferta O
i
, una demada D
i
, o
bien es nodo de transferencia.
⇒ b(l): oferta en el nodo l
• > 0 ⇒ Oferta
• < 0 ⇒ Demanda
• = 0 ⇒ Transferencia
1
4
6
5
2
3 7
b(1) =10
b(4) =20
b(5) =-15
b(7) =-15
67
( )
ij ij
ij A
Min C f



( ) ( )
( )
/ /
1
sujeto a:
si es nodo oferta
si es nodo demanda
0 si es nodo transferencia
( , )
( ) 0
j
jk ij j
k jk A i ij A
ij ij ij
n
i
O j
f f b j D j j N
j
l f u i j A
b i
∈ ∈
=


− = = − ∀ ∈



≤ ≤ ∀ ∈
=
∑ ∑

se asume que:
Problema de Flujo a Mínimo Costo:
Problemas de Flujo en Redes
68
12 13 14 23 25 34 35
36 43 46 53 56 57 65 67
10 8 4 6 7 3 4
9 8 6 4 7 8 5 2
⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ +
⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅
Min f f f f f f f
f f f f f f f f
{ } { }
12 13 14
sujeto a:
0 10 + + − = f f f
Problemas de Flujo en Redes
En el ejemplo:
0
0
5
0
0
5
0
0
5
0
0
5
0
0
0
≤ f
12

≤ f
13

≤ f
14

≤ f
23

≤ f
25

≤ f
34

≤ f
35

≤ f
36

≤ f
43

≤ f
46

≤ f
53

≤ f
56

≤ f
57

≤ f
65

≤ f
67

10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
{ } { }
23 25 12
0 + − = f f f
{ } { }
35 36 34 13 23 43 53
0 f f f f f f f + + − + + + =
{ } { }
43 46 14 34
20
..
..
..
+ − + = f f f f
69
Problemas de Flujo en Redes
A X b ⋅ =
12
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
2 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
3 0 1 0 1 0 1 1 1 1 0 1 0 0 0 0
4 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0
5 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0
6 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1
7 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
f
f
i
i
i
i
i
i
i
A
=
⎡ ⎤
⎢ ⎥
= −
⎢ ⎥
⎢ ⎥ = − − − −
⎢ ⎥
⋅ = − −
⎢ ⎥
⎢ ⎥
= − −
⎢ ⎥
= − − − −
⎢ ⎥
⎢ ⎥
= − −
⎣ ⎦

13
14
23
25
34
35
36
43
46
53
56
57
65
67
10
0
0
20
0
15
15
f
f
f
f
f
f
f
f
f
f
f
f
f
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
=
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟

⎜ ⎟
⎜ ⎟
⎜ ⎟

⎝ ⎠
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
70
Problemas de Flujo en Redes
Caso NO balanceado 1
1
4
6
5
2
3 7
b(1) =10
b(4) =20
b(5) =-12
b(7) =-13
71
Problemas de Flujo en Redes
Caso NO balanceado 2
1
4
6
5
2
3 7
b(1) =10
b(4) =20
b(5) =-17
b(7) =-18
72
• Este es otro problema de gran importancia.
• Consideremos un grafo dirigido G = (N,A).
• Sean s y r dos nodos del grafo.
• A cada arco (i,j) asociamos un costo c
ij
, que puede
representar, por ejemplo, distancia.
• El problema es encontrar un camino dirigido en el grafo
que conecte s con r y que tenga distancia o costo
mínimo.
• Un problema relacionado es encontrar simultáneamente
las rutas mínimas entre un origen s, y todos los nodos
restantes del grafo.
– Árbol de Rutas Mínimas
El Problema de Ruta Más Corta
73
• Una manera de formularlo matemáticamente, es
considerando la idea de enviar una unidad de flujo,
entre desde el origen s y el destino r.
• El modelo deberá encontrar la forma más barata de
realizar el traslado de dicha unidad
• Así, encontrará equivalentemente la ruta más barata o
mas corta entre s y r.
• De este modo se puede utilizar la formulación del PFMC.
• (es posible demostrar que efectivamente el modelo
elegirá sólo una ruta, la más corta)
El Problema de Ruta Más Corta
74
• Ruta entre dos nodos s y r.
El Problema de Ruta Más Corta
( ) ( )
( )
( )
/ /
sujeto a:
1
1
0 ,
0 1
ij ij
ij A
jk ij
k jk A i ij A
ij
Min C f
j s
f f b j j r
j s r
f

∈ ∈

=


− = = − =


∀ ≠

≤ ≤

∑ ∑
75
• Ruta entre un nodo s y todos los otros nodos (árbol de rutas
mínimas).
El Problema de Ruta Más Corta
( ) ( )
( )
( )
/ /
sujeto a:
| | 1
1
0 | | 1
ij ij
ij A
jk ij
k jk A i ij A
ij
Min C f
N j s
f f b j
j s
f N

∈ ∈

− =

− = =

− ∀ ≠

≤ ≤ −

∑ ∑
76
• Cualquier proyecto puede ser representado mediante nodos de
inicio y término de actividades (eventos)
• Los arcos son las actividades que debe ser realizadas
• Las actividades que parten en un nodo o evento k no pueden
comenzar hasta que todas las actividades conducentes a k sean
finalizadas.
Redes PERT-CPM
(Program Evaluation and Review Technique -
Critical Path Method)
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
• La actividad 2-3 requiere que la actividad 1-2 haya sido
completada previamente
• Las actividades 3-5 y 3-6 requieren que las actividades 2-3, 1-3 y
4-3 hayan sido completadas
77
• Es posible contemplar actividades ficticias para definir
precedencias requeridas (sin tiempos de ejecución)
Redes PERT-CPM
(Program Evaluation and Review Technique -
Critical Path Method)
1
2
4
3
5
7
8
9
10
6
11
12
13
14
O ≡
≡ D
• Actividad 10-12 no puede comenzar antes de la 8-11
• Actividad 2-5 y 4-5 deben comenzar simultáneamente
• Actividad 13-14 debe ser ejecutada después de 10-12
(uso de maquinaria común-restricciones lógicas-físicas, etc.)
78
• Cada actividad (arco) puede presentar requerimiento de
recursos, costos, etc.
• En particular interesa el estudio de los tiempos asociados a cada
actividad
Redes PERT-CPM
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
79
• Existen diferentes rutas o secuencias de actividades
• Cada secuencia de actividades poseerá un tiempo total de
ejecución …
Redes PERT-CPM
• ¿cuál es el tiempo de ejecución del proyecto? …
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
T
1-2-5-7
=21 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
T
1-3-5-7
=21 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
T
1-4-6-7
=20 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
80
• ¿Cuanto tarda en comenzar la actividad 3-5 o 3-6?
Redes PERT-CPM
• 1-2-3 ⇒ 16 días
• 1-3 ⇒ 4 días
• 1-4-3 ⇒ 12 días
⇒ 16 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
81
• ¿Cuanto tarda en comenzar la actividad 5-7?
Redes PERT-CPM
• 1-2-5 ⇒ 18 días
• 1-2-3-5 ⇒ 22 días
• ¿Otros …? (1-2-3-5 ya incluye el tiempo máximo desde 3)
⇒ 22 días
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
82
El tiempo requerido para dar término a las actividades del
proyecto, corresponde el tiempo de ruta máximo (ruta crítica)
Redes PERT-CPM
1
4
6
5
2
3 7
Inicio del
proyecto
Término del
proyecto
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
6 días
7 días
9 días
6 días
T
1-2-3-6-7
=33 días
• ¿Cómo calcular la ruta máxima, más larga/cara entre el
origen s y el destino r?
83
( ) ( )
( )
( )
/ /
sujeto a:
1
1
0 ,
0 1
ij ij
ij A
jk ij
k jk A i ij A
ij
Max t f
j s
f f b j j r
j s r
f

∈ ∈

=


− = = − =


∀ ≠

≤ ≤

∑ ∑
Redes PERT-CPM
84
Formulación Alternativa
( )
:
,
0
≥ + ∀ ∈

D
j i ij
O
Min TI
Sujeto a
TI TI T i j A
T
1
4
6
5
2
3 7
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
7
7 6 67
7 5 57
6 3 36
6 4 46
6 5 56
:
≥ +
≥ +
≥ +
≥ +
≥ +
Min TI
Sujeto a
TI TI T
TI TI T
TI TI T
TI TI T
TI TI T
5 2 27
5 3 35
3 1 13
3 2 23
3 4 43
≥ +
≥ +
≥ +
≥ +
≥ +
TI TI T
TI TI T
TI TI T
TI TI T
TI TI T
4 1 14
2 1 12
4 1 14
0
0
≥ +
≥ +
≥ +

TI TI T
TI TI T
TI TI T
TI
Esta equivalencia se
relaciona fuertemente
con conceptos de
dualidad (lo veremos
más adelante)
Ti: tiempo en el cual finalizan todas las actividades terminadas en el nodo i,
o en el cual las actividades que se inician en i, pueden comenzar.
85
1
4
6
5
2
3 7
10 días
8 días
5 días
4 días
7 días
3 días
8 días
2 días
9 días
6 días
6 días
7 días
¿-δ
ij
en cada arco?
Formulación Matemática Reducciones de CPM
( )
( ) ( )
,
:
,
?
0
δ
δ
δ


≥ + − ∀ ∈


=
∑ ij ij
i j A
j i ij ij
ij
D
O
Min C
Sujeto a
TI TI T i j A
T T
T
• Sabemos que la duración del proyecto es 33 días
• Necesitamos que el proyecto termine en 28 días
• En cada actividad (i,j) existe un costo C
ij
por unidad de tiempo
de reducción.
• ¿Cuánto gastar y en que actividades de modo de lograr una
reducción de 28 días ?
86
Formulación Matemática Reducciones de CPM
14 14 12 12 14 14 43 43 23 23 13 13 27 27
35 35 36 36 46 46 56 56 57 57 67 76
δ δ δ δ δ δ δ
δ δ δ δ δ δ
⋅ + ⋅ + ⋅ + ⋅ + + ⋅ + ⋅
+ ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅
Min C C C C C C C
C C C C C C
• En el ejemplo
28
D
TI ≤
( ) ( )
( ) ( )
( ) ( )
( )
( )
5 2 27 27 4 1 14 14
5 3 35 35 2 1 12 12
3 1 13 13 4 1 14 14
3 2 23 23 0
3 4 43 43
; ;
; ;
; ;
; ; 0
;
δ δ
δ δ
δ δ
δ
δ
≥ + − ≥ + −
≥ + − ≥ + −
≥ + − ≥ + −
≥ + − ≥
≥ + −
TI TI T TI TI T
TI TI T TI TI T
TI TI T TI TI T
TI TI T TI
TI TI T
( )
( )
( )
( )
( )
7 6 67 76
7 5 57 57
6 3 36 36
6 4 46 46
6 5 56 56
:
δ
δ
δ
δ
δ
≥ + −
≥ + −
≥ + −
≥ + −
≥ + −
Sujeto a
TI TI T
TI TI T
TI TI T
TI TI T
TI TI T
87
Formulación Matemática Reducciones de CPM
• ¿Qué hacemos si tenemos un presupuesto limitado, inferior
al óptimo entregado por el problema anterior?
( ) ( )
( ) ,
:
,
0
δ
δ

≥ + − ∀ ∈

⋅ ≤

D
j i ij ij
O
ij ij
i j A
Min TI
Sujeto a
TI TI T i j A
T
C C
• En este caso muy probablemente no alcanzaremos los 28 días
• Estamos controlando nuestro presupuesto
• Dado dicho presupuesto sabemos que hemos reducido a
máximo el tiempo de ejecución del proyecto
88
El Problema del Tamaño de Lote
(LSP - ELSP)
• El LSP es el problema de decidir un plan de producción para
un sistema de 1 ítem en un horizonte de T períodos de
tiempo.
• No existe capacidad de producción ni de inventario
• En cada periodo debe decidirse en qué cantidades producir,
y qué cantidades almacenar.
• Se debe satisfacer completamente las demandas de cada
periodo y minimizando los costos totales.
• Costos de producción (sólo variable) y de inventario.
89
El Problema del Tamaño de Lote
(LSP - ELSP)
1 1
1
0
(1)
1,....., (2)
, 0
, 0 1,.....,
T T
t t t t
t T
t t t t
T
t t
Min CP X CI I
I X D I t T
I I
I X t T
= =

⋅ + ⋅
+ = + ∀ =
=
≥ ∀ =
∑ ∑
X
t
Producción en el período t
CP
t
Costo unitario de producción para el período t
I
t
Nivel de inventario o unidades almacenadas hasta el final
del período t, para ser utilizadas a partir del periodo t+1
CI
t
Costo unitario de inventario para el período t
D
t
Demanda del período t.
90
Formulación de Redes del ELSP
1 5 6 7 8 2 3 4
1 2 3 4 5 6 7 8
D D D D D D D D
0
I
0
=0 I
8
=0
-D
1
-D
2
-D
3
-D
4
-D
5
-D
6
-D
7
-D
8
1
T
i
t
D
=

91
( ) ( )
( )
( , )
/ , / ,
s.a:
0 ( , )
ij ij
i j A
jk ij
k j k A i i j A
ij
Min C f
f f b j j N
f i j A

∈ ∈

− = ∀ ∈
≥ ∀ ∈

∑ ∑
{ }
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( )
( )
( )
0,1,2,3,4,5,6,7,8
0,1 , 0,2 , 0,3 , 0,4 , 0,5 , 0,6 , 0,7 , 0,8
arcos de producción
arcos de inventario
1,2 , 2,3 , 3,4 , 4,5 , 5,6 , 6,7 , 7,8
N
A
=
⎧ ⎫
⎪ ⎪
=
⎨ ⎬
⎪ ⎪
⎩ ⎭
0, 1,2,...,8
1,2,...,8, 1
j
ij
i
CP i j
C
CI i j i
= =

=

= = +


( )
8
1
1,2,...,8
0
j
j
j
D i
b i
D i
=
− =


=

=



Formulación de Redes del ELSP
92
Otras Equivalencias en
Programación Lineal
• Ecuaciones (igualdades) en Desigualdades
3 4 7 6 x y z ⋅ + ⋅ + ⋅ =
3 4 7 6
3 4 7 6
x y z
x y z
⋅ + ⋅ + ⋅ ≥

⋅ + ⋅ + ⋅ ≤
• Desigualdades en Ecuaciones (igualdades)
3 4 7 6 x y z ⋅ + ⋅ + ⋅ ≤
3 4 7 6
0
x y z H
H
⋅ + ⋅ + ⋅ + =


3 4 7 6 x y z ⋅ + ⋅ + ⋅ ≥
3 4 7 6
0
x y z H
H
⋅ + ⋅ + ⋅ − =


93
• Variables irrestrictas en variables no negativas
( )
x
1 2
1 2
, 0
x x x
x x
= −


• Variables no negativas e irrestrictas
0 x ≥
( ) ( )
1 2
2 1
1 2
0
,
x x x
x x
x x
= −
⇒ − ≤
Otras Equivalencias en
Programación Lineal
94
Formatos Canónico y Estándar
• Formato Canónico
1
1
. : 1,2, ,
0 1,2, ,
n
j j
j
n
ij j i
j
j
Max c x
s a a x b i m
x j n
=
=

⋅ ≤ = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅


1
1
. : 1,2, ,
0 1,2, ,
n
j j
j
n
ij j i
j
j
Min c x
s a a x b i m
x j n
=
=

⋅ ≥ = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅


95
Formatos Canónico y Estándar
• Formato Estándar
1
1
. : 1,2, ,
0 1,2, ,
n
j j
j
n
ij j i
j
j
Max c x
s a a x b i m
x j n
=
=

⋅ = = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅


1
1
. : 1,2, ,
0 1,2, ,
n
j j
j
n
ij j i
j
j
Min c x
s a a x b i m
x j n
=
=

⋅ = = ⋅ ⋅ ⋅
≥ = ⋅ ⋅ ⋅


96
Formatos Canónico y Estándar
• Pasar el siguiente problema al formato canónico:
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
2 3 8
. : 2 7 10
7 2 2 9
3 3 3
8 9 5 5
Min x x
s a x x
x x
x x
x x x
x
x
x
x
⋅ + ⋅ +
⋅ + − ≤
⋅ + ⋅ + =
⋅ + ⋅ + ≥
⋅ + ⋅ + ≤