Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimización I
Rosa Medina
1 de junio de 2015
Rev. 7 de junio de 2023 por M. Vega
1
Problema prototipo
Una empresa tiene dos plantas productivas (A y B), tres centros de
distribución (C, D y E) y una sala de ventas (F). Cada mes la planta A puede
producir hasta 20 unidades de productos y la planta B hasta 10 unidades. La
sala de ventas tiene una demanda de 30 unidades mensuales para vender. El
costo de transporte de los productos varı́a dependiendo del canal que se utilice.
Costos unitarios
de los canales de envı́o
A B C D E F
A - 4 3 - - -
B - - - 3 2 -
C - - - - 3 -
D - - 2 - - 2
E - - - - - 2
F - - - - - -
Se debe decidir cómo enviar los productos a través de la red para satisfacer la
demanda, de manera que los costos de transporte sean mı́nimos.
2
Grafo del problema, G(N, A)
3
Observaciones
4
Modelo matemático
Variables de decisión:
xij : flujo de productos por el arco (i, j) ∈ A
Parámetros:
cij : costo unitario del arco (i, j) ∈ A)
del nodo i ∈ V
bi : oferta
Oi
si el nodo i es planta productiva
bi = −Di si el nodo i es sala de ventas
0 si el nodo i es centro de distribución (transbordo)
5
Modelo matemático
Modelo:
P
mı́n cij xij
(i,j)∈A
P P
s.a xij − xji = bi , ∀i ∈ N
j∈δi+ j∈δi−
xij ≥ 0 ∀(i, j) ∈ A
con
δi+ = {j ∈ N : (i, j) ∈ A} δi− = {j ∈ N : (j, i) ∈ A}
8
Modelo matemático: Teorema
Caracterización de una matriz de base
Dado un Problema de Flujo de Costo Mı́nimo definido en un grafo dirigido
conexo, G, con un arco raı́z. Entonces B es una matriz básica para el
problema si, y sólo si, es la matriz de incidencia nodo-raı́z de un árbol de
cobertura con raı́z de G.
(A, C) (B, D) (C, E) (D, F ) (E, F ) F
A 1 0 0 0 0 0
B 0 1 0 0 0 0
C -1 0 1 0 0 0
D 0 -1 0 1 0 0
E 0 0 -1 0 1 0
F 0 0 0 -1 -1 1
Ejemplo: arco DC
axDC = −axCE − axEF + axDF
10
Modelo matemático
Problema Dual:
P
máx bi wi
i∈N
s.a wi − wj ≤ cij , ∀(i, j) ∈ A
wi irrestrictas ∀i ∈ N
Holguras complementarias:
▶ wi (
P P
xij − xji − bi ) = 0, ∀i ∈ N
j∈δi+ j∈δi−
▶ xij (wi − wj − cij ) = 0, ∀(i, j) ∈ A
11
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
12
Simplex en redes
Inicialización:
1. Encontrar base factible inicial. Árbol de cobertura con raı́z factible para
el problema
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
Variables básicas:
xBD = 10 xDF = 10
13
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas. Se usan las
variables duales y T. de Holguras Complementarias, asignando cero a la
variable dual del nodo raiz: wi − wj = cij . Costos reducidos:
c′ij = cij − (wi − wj ).
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
wB − wD = cBD = 3 wB = 5
wD − wF = cDF = 2 wD = 2
wA − wC = cAC = 3 wA = 8
wC − wE = cCE = 3 wC = 5
wE − wF = cEF = 2 wE = 2
wF = 0 wF = 0
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas. Se usan las
variables duales y T. de Holguras Complementarias, asignando cero a la
variable dual del nodo raiz: wi − wj = cij . Costos reducidos:
c′ij = cij − (wi − wj ).
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
c′AB = cAB − wA + wB = 4 − 8 + 5 = 1
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida. Ver en el ciclo que se forma al
agregar la variable no básica, la primera variable que se hace cero. Arcos a
favor del ciclo, aumentan. Arcos en contra, disminuyen.
1.4 Actualizar la base e ir a 1.1.
Obs.: Si más de una se hace cero, elegir sólo una arbitrariamente, para
mantener el árbol de cobertura conexo. Corresponde a una solución
degenerada.
17
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida. Ver en el ciclo que se forma al
agregar la variable no básica, la primera variable que se hace cero. Arcos a
favor del ciclo, aumentan. Arcos en contra, disminuyen.
1.4 Actualizar la base e ir a 1.1.
18
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1. Las variables se actualizan partiendo por las
hojas. Arcos a favor del ciclo, aumentan. Arcos en contra, disminuyen. Los
arcos que no pertenecen al ciclo no modifican su valor.
Variables básicas:
xBD = 0 xBE = 10
19
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas. Se usan las
variables duales y T. de Holguras Complementarias, asignando cero a la
variable dual del nodo raiz: wi − wj = cij . Costos reducidos:
c′ij = cij − (wi − wj ).
1.2 Seleccionar la variable no básica de entrada. Si no existe, la solución es
óptima.
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
c′AB = cAB − wA + wB = 4 − 8 + 4 = 0
c′DC = cDC − wD + wC = 2 − 1 + 5 = 6
c′DF = cDF − wD + wF = 2 − 1 + 0 = 1
Simplex en redes
Inicialización:
1. Encontrar base factible inicial.
Iteraciones:
1.1 Calcular los costos reducidos de las variables no básicas.
1.2 Seleccionar la variable no básica de entrada. Mı́nimo de los costos
reducidos. Si no existe, la solución es óptima. Todos los costos reducidos
son mayores o iguales que cero
1.3 Seleccionar la variable básica de salida.
1.4 Actualizar la base e ir a 1.1.
c′ij ≥ 0, ∀xij no básica
=⇒ Óptimo Encontrado
Costo mı́nimo:
3 · 20 + 3 · 20 + 2 · 30 + 3 · 0 + 2 · 10 = 200