2. 2
• ¿Qué es un problema?
• Soluciones:
Absolución
Resolución
Solución
Disolución
• ¿Por qué decimos que un problema es complejo?
• Análisis de problemas: ¿Quién resuelve los problemas?
• ¿Qué entendemos por identificar un problema?
1.1 Introducción a la Programación Lineal
3. 3
¿Qué es Investigación de Operaciones?
El uso de las matemáticas y las computadoras
para ayudar a tomar decisiones racionales frente a
problemas de administración complejos
4. 4
Aplicación de las técnicas de la administración a problemas (sistemas):
Determinísticos
Toda la información necesaria para obtener una
solución se conoce con certeza
Estocásticos
Parte de la información no se conoce con certeza
5. 5
Método Científico para resolver problemas complejos
En las Ciencias En Administración
Defínase el problema
Recoléctense los datos
Formulénse hipótesis
Pruebénse hipótesis
Evalúense resultados
Obténganse conclusiones
Defínase el problema
Recoléctense los datos
Defínanse soluciones alternativas
Evalúense soluciones alternativas
Selecciónese la mejor alternativa
Puesta en práctica
6. 6
¿Qué se hace en la realidad?
Estar bien informado
Conocer todas las alternativas
Ser objetivo (ser optimizador económico)
Muchas
soluciones
Definir el
problema
Establecer
los criterios
de solución
Buscar las
soluciones
Solución
Satisfactoria
Aumentar los
criterios
Pocas
soluciones
Disminuir
criterios
7. 7
¿Qué hace un Director de Empresa para escoger la acción más
efectiva para alcanzar las metas de la Organización?
Establecer Criterio que usará
Seleccionar un conjunto de alternativas para considerarlas
Determinar el modelo que se usará y los valores de los parámetros
Determinar la alternativa que optimiza el criterio
8. 8
Aportes: Técnicas de Programación Lineal
– George Dantzig (USAF), Marshall Wood y Murray Geisler
– Wassily Leontief (modelo insumo-producto)
• Método Simplex
– Gomory (programación lineal discreta)
– Lester Ford y D. K: Fulkerson (redes, trayectoria crítica)
• CPM y PERT
9. 9
CONSTRUCCIÓN DE MODELOS CUANTITATIVOS
Los métodos cuantitativos se emplean:
• Como guía en la toma de decisiones
• Como ayuda en la toma de decisiones
• Para automatizar la toma de decisiones
10. 10
Características de los Sistemas Administrativos
• Def: “Sistema....
• Tipos de sistemas: Cerrados, abiertos
Modelos:
• Normativos, descriptivos
• Concretos, Abstractos (verbales o simbólicos)
• Aplicación (Inventarios)
• Técnica (Programación Lineal)
• Comparación de Modelos (validez, confialbilidad
y la simplicidad)
11. 11
• Dimensionalidad de los modelos (unidades)
• Toma de decisiones
• Dimensionalidad de los modelos (unidades)
Categoría Consecuencia
Certidumbre Deterministas
Riesgo Probabilísticas
Incertidumbre Desconocidas
Conflicto Influidas por un oponente
12. 12
Uso de Datos para la Toma de Decisiones
“Determina primero los hechos, después puedes
tergiversarlos como te plazca”. Mark Twin
“Los hechos no dejan de existir porque se ignoren”.
Aldous Huxley
13. 13
• ¿Qué son los datos?
Son hechos o conceptos conocidos o supuestos y
generalmente se expresan en números
• Tipos de datos
Internos y externos
Objetivos y subjetivos
• Requerimientos de datos en diferentes niveles de
la Organización
Control operativo
Control Administrativo
Planeación estratégica
14. 14
Situación: Inversión
Considere el problema enfrentado por Mark, graduado de la maestría de
administración de empresas, quién recientemente obtuvo un puesto como
analista financiero en una compañía de Wall Street. Uno de los beneficios
adicionales es un plan de retiro en el que el empleado pone 5% de su
ingreso mensual. La compañía iguala esta cantidad. El dinero de este plan
es entonces invertido en dos fondos: un fondo de acciones y un fondo de
bonos. El Departamento de Beneficios le ha pedido a Mark que especifique
la fracción de este dinero que habría que invertir en cada fondo. Mark ha
analizado el rendimiento anterior de estos fondos y se ha enterado de que
el fondo de acciones ha crecido a una tasa anual promedio de 10%,
mientras que el fondo de bonos, ha promediado una retribución anual de
6%. Para diversificar su cartera y para controlar el riesgo, no desea poner
todos los huevos en una sola canasta, ha identificado dos pautas:
1. Ninguno de los fondos debe tener más del 75% de la inversión total.
2.La cantidad invertida en el fondo de acciones no debe exceder del doble
invertido en el fondo de bonos.
15. 15
1 Definición del problema
El problema de Mark está bien definido, se conoce el
objetivo global, las limitaciones básicas para la toma de
decisión
2 Desarrollo del Modelo Matemático
Expresar el problema en forma matemática (formular el
modelo), por lo que se requiere determinar las variables
involucradas
16. 16
Variables de decisión:
S : Fracción de capital por invertir en acciones
B : Fracción de capital por invertir en bonos
Para el problema se desean escoger valores para que estas
variables:
1 Maximicen la retribución anual esperada
2 Satisfagan todas las pautas de inversión
17. 17
- Función Objetivo
El objetivo global de un problema de decisión
expresado en una forma matemática en términos de
los datos y de las variables de decisión:
Maximizar 0,1 S + 0,06 B
- Restricciones (limitaciones)
Es un límite sobre los valores de las variables en un
modelo matemático típicamente impuestos por
condiciones externas.
18. 18
- Ningún fondo tenga más del 75% de lo invertido
S 0,75 (límite superior en el fondo de acciones)
B 0,75 (límite superior en el fondo de bonos)
- La fracción S invertida en el fondo de acciones no debe
exceder del doble de la fracción B invertida en el fondo
de bonos
S 2 B ó S - 2 B 0
- Cada fracción debe ser no negativa
S, B 0
19. 19
Finalmente el modelo resultante es:
Maximizar 0,1 S + 0,06 B
Sujeto a:
S 0,75
B 0,75
S - 2 B 0
S, B 0
20. 20
3 Resolución del modelo matemático
Al resolver el problema usando cualquier técnica se
tienen los siguientes valores para las variables de
decisión:
S = 0,75 y
B= 0,75
Generando una retribución de:
0,1 * 0,75 + 0,06 * 0,75 = 0,12 (12%) ¿?
Solver 1
21. 21
4 Validación y Control de la Solución
Al observar los valores de las variables de decisión
(S=0,75 y B=0,75) se ve que no tienen sentido. No se
puede invertir un 75% en ambos fondos
simultáneamente.
Hay un error, no se incorporó una restricción, esto es,
los recursos disponibilidad.
S + B = 1
22. 22
5 Modificación del Modelo
Maximizar 0,1 S + 0,06 B
Sujeto a:
S 0,75
B 0,75
S - 2 B 0
S + B = 1
S, B 0
23. 23
Resolviendo nuevamente se tiene que:
S = 0,6667 y
B = 0,3333
Finalmente la retribución es
0,1 * 0,6667 + 0,06 * 0,33333 = 0,86667 (8,667%)
Nota: Emplear Solver para determinar el
valor de las variables de decisión
24. 24
1.2 Construcción de Modelos de PL
Modelo de Programación Lineal
Es un modelo matemático en el que las
relaciones entre variables son lineales y
donde hay un solo objetivo o medida de
rendimiento.
La ventaja que tiene el modelo es que
existe una técnica matemática que
permite determinar la decisión óptima.
25. 25
El modelo de PL tiene un conjunto de variables de decisión, una
función objetivo la que debe maximizarse o minimizarse y un
conjunto de relaciones o restricciones.
Z = C1X1 + C2X2 + ......... CnXn
Z : es un objetivo económico (beneficios, producción, costos, etc)
Ci : coeficientes constantes (factores de ponderación)
Xi : variables de decisión (n)
sujeto a (Restricciones (m) ):
A1X1 + A2X2 + ......... AnXn B1
..................................................
A1X1 + A2X2 + ......... AnXn Bm
FORMALIZACIÓN DEL MODELO DE PL
26. 26
Matricialmente se tiene:
Vector de variables o
niveles de actividad
Vector de “costos” o
factor de ponderación
n
x
x
x
.
2
1
n
c
c
c ...
2
1
27. 27
Vector de variables o
niveles de actividad
Vector de variables o
niveles de actividad
A
B
n
b
b
b
2
1
mn
m
m
n
n
a
a
a
a
a
a
a
a
a
..
..
..
..
..
..
..
2
1
2
22
21
1
12
11
28. 28
Entonces
Optimizar Z = CT X = [c1 c2 c3]
n
x
x
x
2
1
=
n
j
j
j x
c
1
sujeto a
A X B
y X 0
29. 29
Ejemplo 1:
Una mueblería produce dos tipos de productos, sillas y
mesas. Supóngase que el beneficio marginal por cada
silla es de $8 y por cada mesa es de $10. Para la
producción se dispone de 20 horas hombre (hh) y de 10
unidades de madera (um). Para la construcción de una
silla se requieren 8 hh y 2 um, y para la construcción de
una mesa se requieren 6 hh y 4 um. ¿Cuántas sillas y
mesas se deben construir para obtener el mayor
beneficio?.
31. 31
Formulación del PL
Sea
X1 : Nº de sillas
X2 : Nº de mesas
Función Objetivo:
Max Z = 8X1 + 10X2
Sujeto a:
8X1 + 6X2 20 // hh
2X1 + 4X2 10 // um
X1 0 y X2 (no negatividad)
32. 32
Ejemplo 2:
Dos productos se elaboran al pasar en forma sucesiva por tres
máquinas.
El tiempo por máquina asignado a los dos productos está limitado
a 10 horas por día
El tiempo de producción y la ganancia por unidad de cada
producto son:
Producto Máquina 1 Máquina 2 Máquina 3 Ganancia $
1 10 6 8 2
2 5 20 15 3
Minutos por unidad
Obtenga el modelo de PL para maximizar la ganancia
34. 34
Ejemplo 3:
RMC posee una pequeña fábrica de pinturas para interiores y exteriores de
casa para su distribución al mayoreo. Se utilizan dos materiales básicos, A y B.
La disponibilidad máxima de A es de 6 toneladas diarias, la de B es de 8
toneladas por día. La necesidad diaria de materia prima por tonelada de pintura
para interiores y exteriores se resumen en la siguiente tabla:
Un estudio de mercado ha establecido que la demanda diaria de pintura para
interiores no puede ser mayor que las pinturas para exteriores en más de una
tonelada. Asimismo, el estudio señala que la demanda máxima de pintura para
interiores está limitada a dos toneladas diarias.
El precio al mayoreo es de $3.000 para la pintura de exteriores y $2.000 para la de
interiores.
¿Cuánta pintura para exteriores e interiores debe producir la fábrica de pinturas
RMC todos los días para maximizar el ingreso bruto?
Tonelada de materia prima
por tonelada de pintura Disponibilñidad
Exterior Interior máxima (Toneladas)
Materai prima A 1 2 6
Materia prima B 2 1 8
35. 35
Solución:
1. Variables de decisión
X1 : Toneladas de pintura de exteriores producidas por día
X2 : Toneladas de pintura para interiores producidas por día
2. Función Objetivo: Maximizar ganancia
MAX Z = 3 X1 + 2 X2 miles de unidades monetarias
3. Restricciones
X1 + 2 X2 6
2 X1 + X2 8
- X1 + X2 1
X2 2
X1 , X2 0
36. 36
Ejemplo 4:
Una empresa fabrica dos productos, A y B. En su elaboración, cada
producto debe pasar por dos secciones. El suministro de mano de obra
de la sección 1 es 100 horas y el de la sección 2 es 200 horas.
El tiempo de mano de obra cuesta $2 por hora en la sección 1 y $1,5
en la sección 2. Las horas de mano de obra necesarias por unidad de
cada producto son las siguientes:
Producto A Producto B
Sección 1 4 3
Sección 2 2 8
La cantidad máxima de unidades de B que puede venderse es igual a
treinta; la de A es veinticuatro. La materia prima para cada producto
cuesta $5 por unidad. El precio unitario de A es $30 y el de B es $25$
a) Construya el modelo de PL correspondiente.
37. 37
1.3 Solución de Problemas PL
Existen varias métodos, entre ellos se tiene
1.3.1 Método Gráfico
1.3.2 Método Simplex
38. 38
1.3.1 Método Gráfico
Este método es muy limitado por la incapacidad de
visualizar más de tres dimensiones. Sin embargo es
recomendable usarlo para fijar los conceptos que son
aplicables a los otros métodos de resolución.
39. 39
Los pasos a seguir son:
1. Construir el modelo
2. Graficar cada una de las restricciones en el sistema
formado por las variables de decisión.
3. Identificar la región (zona) factible
4. Determinar el valor objetivo (VO) a partir de la función
objetivo en cada uno de los vértices de la zona factible.
Si es minimizar, considerar el menor o el mayor en caso
de maximizar.
40. 40
Ejemplo
PROTRAC produce dos líneas de equipo pesado. Una de estas
líneas de productos (llamada equipo para remoción de escombros)
se destina esencialmente a aplicaciones de construcción. La otra
línea (llamada equipos forestales está destinada a la industria
maderera. El miembro más grande de la línea de equipos para
remover escombro (el E-9) y el miembro mayor de la línea de
equipos forestales (el F-9) se producen en el mismo departamento y
con el mismo equipo. Haciendo uso de las predicciones económicas
para el próximo mes, el gerente de mercadotecnia de PROTAC
juzga que durante ese periodo será posible vender los E-9 y los F-9
que la empresa pueda producir. La administración debe ahora
recomendar una meta de producción para el próximo mes. Es decir,
¿cuántos E-9 y F-9 deben producirse?. En la toma de decisión, los
principales factores a considerar son los siguientes:
41. 41
1. PROTRAC tendrá una utilidad de $5.000 por cada E-9 que se
venda y $4.000 por cada F-9.
2. Cada producto pasa por operaciones mecánicas tanto en el
departamento A como en el departamento B
3. Para la producción del próximo mes, estos dos departamentos
tienen disponibles 150 y 160 horas respectivamente. Cada E-9
consume 10 horas en el departamento A y 20 horas en el
departamento B, mientras que cada F-9 consume 15 horas en el
departamento A y 10 horas en el departamento B.
42. 42
4. Con objeto de cumplir un compromiso con el sindicato, el total
de horas de trabajo que se dedicarán a la verificación de los
productos terminados del próximo mes no puede ser menor en
10% a una meta establecida de 150 horas. Esta actividad se
realiza en un tercer departamento que no tiene relación con los
departamentos A y B. Cada E-9 requiere de 30 horas de
comprobación y cada F-9, 10 horas.
5. Con el objeto de mantener su posición actual en el mercado, la
alta gerencia ha decretado que para la política de operación es
necesario construir al menos un F-9 por cada 3 E-9.
6. Un consumidor importante ha ordenado un total de por lo menos
cinco aparatos (en cualquier combinación de E-9 y F-9) para el
próximo mes, así es que por lo menos debe producirse esa
cantidad
47. 47
Cálculo de E y F
(Vértice C: Resolver el sistema)
10E + 15F = 150
20E + 10F = 160
E = 4,5
F = 7
y VO = 5.000(4,5) + 4.000(7)
22.500 + 28.000
VO = 50.500
48. 48
Consumo: (horas)
Depto A: 10(4,5) + 15(7) = 150
Depto B: 20(4,5) +10(7) = 160
Depto Pruebas: 30(4,5) + 10(7) = 205
En los departamentos A y B el consumo es
igual a la disponibilidad en cambio en el
departamento de pruebas se consumió más del
mínimo exigido.
49. 49
1.3.2 Método Simplex
1. Forma estándar del Modelo de PL
2. Soluciones Básicas
3. Método Simplex Primal: Algoritmo
50. A. Forma estándar del Modelo de PL
• Todas las restricciones son ecuaciones (con
segundos miembros no negativos
• Todas las variables son no negativas
• La función Objetivo puede ser maximización
o minimización
51. 51
A.1 Restricciones
Una restricción del tipo () puede convertirse en
ecuación mediante la suma de una variable de
holgura (restando una variable de exceso) al primer
miembro de la restricción.
Ejemplo:
1) desigualdad: 3x1 + 12x2 20
igualdad 3x1 + 12x2 + x3 = 20 con x3 0
2) desigualdad: 8x1 + 10x2 120
igualdad 8x1 + 10x2 - x4 = 120 con x4 0
52. 52
A.2 Segundo miembro no negativo
Se multiplica la desigualdad (ecuación) por -1
Ej. 3X1 + 2X2 -5
-3X1 - 2X2 <= 5
53. 53
A.3 Variables irrestrictas
Una variable irrestricta (no restringida) xi puede
expresarse en términos de dos variables no negativas
mediante el uso de la sustitución:
La sustitución debe realizarse en todas las
restricciones y en la función objetivo
0
, '
'
'
i
i x
x
'
'
'
i
i
i x
x
x
54. 54
Ejemplo:
Escriba el siguiente modelo de PL en la forma estándar:
MAX z = 2x1 + 3x2
sujeto a
x1 + x2 = 10
-2x1 + 3x2 -5
7x1 - 4x2 6
x1 irrestricta y
x2 0
Forma Estándar
56. 56
A.4 Función Objetivo
El modelo estándar de programación lineal puede ser
utilizado para resolver problemas del tipo de maximización o
de minimización, algunas veces sirve para convertir una forma
a la otra.
La maximización de una función equivale a la
minimización del negativo de la misma función y viceversa.
Ejemplo: MAX z = 5x1 + 3x2 + 5x3
es matemáticamente equivalente a
MIN (-z) = -5x1 - 3x2 - 5x3
57. 57
B. Soluciones Básicas
En un PL con m ecuaciones y n incógnitas
• Una solución básica asociada se determina haciendo n-m
variables iguales a cero y luego, resolviendo las m
ecuaciones con las restantes m incógnitas, siempre que la
solución exista y sea única
• En la PL nos referimos a las n-m variables que se hacen
cero como variables no básicas (externas), y a las m
variables restantes como variables básicas (siempre que
exista una solución única).
Se dice que una solución básica es factible si todos los
valores de su solución son no negativos
58. 58
Algoritmo del método Simplex
INICIO
Obtener Forma Estándar (forma aumentada)
Construir tabla inicial
Mientras NO SEA Óptimo
{
Identificación variables de entrada/Salida
Desarrollo de la tabla revisada
}
FIN
59. 59
C. Método Simplex Primal
Tabla Simplex General
Cj C1 C2 .. Cn 0 0 .. 0
Variables Valores de
Básicas Solución X1 X2 .. Xn Xn+1 Xn+2 .. Xn+m
0 Xn+1 b1 a11 a12 .. a1n 1 0 .. 0
0 Xn+2 b2 a21 a22 .. a2n 0 1 .. 0
. .. .. .. .. .. .. .. .. .. ..
. .. .. .. .. .. .. .. .. .. ..
0 Xn+m bm am1 am2 .. amn 0 0 .. 1
Zj
Cj - Zj XXX
Construcción de la tabla inicial
60. 60
Ejemplo:
MAX Z = 3 X1 + 2 X2
s a
1) X1 + 2 X2 <= 6
2) 2 X1 + X2 <= 8
3) - X1 + X2 <= 1
4) X2 <= 2
X1, X2 >= 0
Dado el siguiente PL encontrar su solución
aplicando el método Simplex
63. 63
Solución Inicial:Variable Entrante y Saliente
Cj 3 2 0 0 0 0
Básica Solución X1 X2 X3 X4 X5 X6
0 X3 6 1 2 1 0 0 0 6
0 X4 8 2 1 0 1 0 0 4
0 X5 1 -1 1 0 0 1 0 -1
0 X6 2 0 1 0 0 0 1
Zj 0 0 0 0 0 0 0
Cj - Zj XXX 3 2 0 0 0 0
a)
b) (menor
positivo
determina
la variable
que sale
Mayor contribución
64. 64
Instrucciones
a) Cj- Zj El mayor para variable entrante
b) Se divide la columna solución por los coeficientes de la columna
de la variable que entra y se elige el menor de los positivos
c) Como la variable que entra es solución entonces la columna debe ser de ceros y un 1
i) Se divide la fila completa por el pivote (valor de la intersección fila columna)
ii) Para convertir los otros coeficientes a cero se utiliza la fila resultante del punto anterior
se multiplica por algun coeficiente de tal forma que al sumarlo (restarlo) a la fila de interés
el coeficiente sea cero
-> Para la fila de X3 se multiplica por -1 y se suma
-> Para la fila de X5 sólo hay que sumar
-> Para la fila de X6 ya es un cero
La nueva tabla es:
68. 68
Un Problema de Minimización (Penalización: M)
MIN Z = 2 X1 + 8 X2
sa
1) 5 X1 + 10 X2 = 150
2) X1 20
3) X2 14
X1 0
69. 69
Forma estándar:
Restricciones:
1) Ya es una igualdad: 5 x1 + 10x2 = 150
2) Tiene variable de holgura: x1 + x4 = 20
3) Tiene una variable de exceso: x2 - x6 = 14
Resumen:
5 x1 + 10x2 = 150
x1 + x4 = 20
x2 - x6 = 14
¡¡ No es posible determinar un grupo de variables básicas !!
70. 70
Forma estándar:
En el ejemplo anterior (maximización) todas las
restricciones tenían variables de holgura las que se
consideraban como variables básicas, pero no es así en
este caso, por lo tanto hay que que agregar variables
artificiales (X3 y X5) asociadas a un costo muy alto (M)
para asegurarse que al final sean variables externas y no
participen en la solución, para las restricciones 1) y 3).
Estas variables artificiales participan en la función
objetivo multiplicadas por el coeficiente M.
72. 72
Tabla Inicial
Las variables básicas son: X3, X4 y X5
Cj 2 8 M 0 M 0
Base Solución X1 X2 X3 X4 X5 X6
M X3 150 5 10 1 0 0 0
0 X4 20 1 0 0 1 0 0
M X5 14 0 1 0 0 1 -1
Zj
Cj - Zj XXX
73. 73
Iteración 1
Cj 2 8 M 0 M 0
Base Solución X1 X2 X3 X4 X5 X6
M X3 150 5 10 1 0 0 0
0 X4 20 1 0 0 1 0 0
M X5 14 0 1 0 0 1 -1
Zj 164M 5M 11M M 0 M -M
Cj - Zj XXX 2-5M 8-11M 0 0 0 M
Entra X2 y sale X5
74. 74
Iteración 2
Cj 2 8 M 0 M 0
Base Solución X1 X2 X3 X4 X5 X6
M X3 10 5 0 1 0 -10 10
0 X4 20 1 0 0 1 0 0
8 X2 14 0 1 0 0 1 -1
Zj 112+10M 5M 8 M 0 -10M+8 10M-8
Cj - Zj XXX 2-5M 0 0 0 11M-8 -10M+8
Entra X6 y sale X3
75. 75
Iteración 3
Cj 2 8 M 0 M 0
Base Solución X1 X2 X3 X4 X5 X6
0 X6 1 0,5 0 0,1 0 -1 1
0 X4 20 1 0 0 1 0 0
8 X2 15 0,5 1 0,1 0 0 0
Zj 120 4 8 0,8 0 0 0
Cj - Zj XXX -2 0 M-0,8 0 M 0
Entra X1 y sale X6
76. 76
Situación Final
Base Solución X1 X2 X3 X4 X5 X6
2 X1 2 1 0 0,2 0 -2 2
0 X4 18 0 0 -0,2 1 2 -2
8 X2 14 0 1 0 0 1 -1
Zj 116 2 8 0,4 0 4 -4
Cj - Zj XXX 0 0 M-0,4 0 M-4 4
La solución es óptima (todos los elementos
de la última fila son cero o positivos).
77. 77
1. 4 Análisis de sensibilidad
Sensibilidad implica preguntarse ¿qué sucedería sí …
A) Cambia un coeficiente del lado derecho de las
restricciones
B) Cambia uno de los coeficientes de la función objetivo
79. 79
Ejemplo:
Recordando el problema de Protac.
Max Z: 5.000 E + 4.000 F
sa
10 E + 15 F ≤ 150
20 E + 10 F ≤ 160
30 E + 10 F ≥ 135
E - 3 F ≤ 0
E + F ≥ 5
E ≥ 0 y F ≥ 0
80. 80
A) Cambios en los términos independientes
La solución era:
E = 4,5
F = 7
y Z = 50.500
Supongamos
a) Que se dispone de una hora adicional en el
departamento A (151 horas)
b) Que se dispone de una menos en el
departamento A (149 horas)
c) Lo anterior pero para el departamento B
82. 82
Trazado de la gráfica
Caso a)
10 E + 15 F =151 => E = 151/10 y F = 151/15
Esta recta queda un poco desplazada a la derecha. Su
pendiente no cambia, por tanto el punto C se ha
trasladado al punto C’. La solución se mantiene en la
intersección de las rectas 10 E + 15 F = 151
20 E + 10 F =160
84. 84
Trazado de la gráfica
Caso b )
10 E + 15 F =149 => E = 149/10 y F = 149/15
Esta recta queda un poco desplazada a la izquierda. Su
pendiente no cambia, por tanto el punto C se ha
trasladado al punto C’’. La solución se mantiene en
la intersección de las rectas 10 E + 15 F = 149
20 E + 10 F = 160
86. 86
Trazado de la gráfica
F
17
16
15
14
13
12
11
10
9
8
7 C
6 C''
5
4 (E-3F)
3
2
1
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 E
(10E+15F)
(20E+10F)
(30E+10F) (E+F)
A B
C'
D
FO
87. 87
La solución ahora es:
Departamento A (±1 lado derecho)
a) E = 4,45 F = 7,1 y Z = 50.650
b) E = 4,55 F = 7,1 y Z = 50.350
Departamento B (±1 lado derecho)
c1) E = 4,575 F = 6,95 y Z = 50.675
c2) E = 4,425 F = 7,05 y Z = 50.325
88. 88
Diferencia de Z:
Departamento A (±1 lado derecho)
a) Z = 50.500 y Z’ = 50.650 ΔZ = 150
b) Z = 50.500 y Z’ = 50.350 ΔZ = -150
Departamento B (±1 lado derecho)
c1) Z = 50.500 y Z’ = 50.675 ΔZ = 175
c2) Z = 50.500 y Z’ = 50.325 ΔZ = -175
89. 89
Definición:
Precio dual, valor marginal o precio sombra es
el cambio incremental en los beneficios por
cambio unitario en el término independiente de
una restricción
90. 90
B) Cambios unitarios en los coeficientes de la
función objetivo
Coeficiente de E: 5001 Z = 50.504,5
E: 4999 Z = 50.495,5
Coeficiente de F: 4001 Z = 50.507
F: 3999 Z = 50.493
91. 91
1. 4. 2 Interpretación de la Tabla Simplex:
Información que se puede obtener de la tabla simplex
La solución óptima
• El estado de los recursos
• Los precios duales
• Sensibilidad de la solución óptima a cambios de disponibilidad
de recursos, ganancia marginal (coef. de la FO) y uso de
recursos.
93. 93
Solución óptima (para el problema de
maximización)
Variable de Valor
decisión óptimo Decisión
X1 3 1/3 Producir 3,333 ton pintura exterior
X2 1 1/3 Producir 1,333 ton pintura interior
Z 12 2/3 Ganancia resultante unidades $
94. 94
Estado de los Recursos
Clasificación de las restricciones: escasa, abundante ya sea
que la solución óptima “consuma” o no la cantidad
disponible del recurso.
Se determina a partir de las variables de holgura:
X3 = 0 Escasa Materia Prima A
X4 = 0 Escasa Materia Prima B
X5 = 3 Abundante Límite en exceso para X1 sobre X2
X6 = 2/3 Abundante Límite en la demanda de X1
95. 95
Precio Dual (Valor unitario de un recurso)
• y1 = 1/3 miles de unid mon/ton adicional materia prima A
• y2 = 1 1/3 miles de unid mon/ton adicional materia prima B
• y3 = 0
• y4 = 0
Esta información se obtiene de la tabla simplex óptima
considerando los coeficientes de la fila de Z
Base Solución X1 X2 X3 X4 X5 X6
Z 12 2/3 3 2 1/3 1 1/3 0 0
96. 96
El mismo resultado se puede obtener de la ecuación de Z
óptimo:
Z = 12 2/3 - (1/3 X3 + 1 1/3 X4 + 0 X5 + 0 X6)
Si se cambia X3 de su nivel cero actual, Z cambiará a nivel de 1/3 de
miles de unidad monetaria por tonelada. Pero un cambio en X3 equivale a
cambiar el recurso A en una cantidad igual
X1 + 2 X2 + X3 = 6
Esto significa que el precio dual de la materia prima A es 1/3
Para la materia prima B es 1 1/3 y para los recursos 3 y 4 son cero.
97. 97
1. Cambio máximo en la disponibilidad de Recursos
• Cambiar el recurso materia prima A en la cantidad D1
Esto significa que el recurso materia prima A será 6 + D1
Si D1 > 0, se produce un aumento
Si D1 < 0, se produce una disminución
98. 98
¿Cómo hacerlo?
A la restricción inicial agregar D1 y resolver aplicando
simplex
El cambio sólo afecta a la solución (el segundo miembro),
considerando que las constantes del segundo miembro
nunca se utilizan de pivote.
101. 101
¿Qué hacer con toda esta información?
• Procurar que la solución siga siendo factible
Esto significa que las variables básicas no deben
ser negativas. Mantener la no negatividad
1) X2 = 4/3 +2/3 D1 0
2) X1 = 10/3 -1/3 D1 0
3) X5 = 3 - D1 0
4) X6 = 2/3 -2/3 D1 0
102. 102
Se consideran dos casos:
• Caso 1: D1 >0
1) Se satisface con cualquier valor
2) D1 10
3) D1 3
4) D1 1
En consecuencia D1 debe ser a lo más 1
103. 103
• Caso 2: D1 < 0
2), 3) y 4) se satisfacen siempre
1) D1 -2
en este caso D1 -2
Resumen: -2 D1 1
6 - 2 Materia prima A 6+1
4 Materia prima A 7
104. 104
• Haciendo el mismo análisis para la materia
prima B se tiene:
-2 D2 4
8 - 2 Materia prima B 8+4
6 Materia prima B 12
105. 105
2. Cambio máximo en la relación
Utilidad/Costo marginal
La FO nunca se utiliza como ecuación pivote, por lo
tanto cualquier cambio en sus coeficientes la
afectarán sólo a ella en la tabla óptima.
Pueden ocurrir dos casos: que las variables sean
básicas o no en tabla óptima.
106. 106
Caso 1: Variables básicas
Cambiar la ganancia marginal de X1 de 3 a 3 + D1
D1 puede ser positivo o negativo
La FO tendrá la forma
Z = (3+D1)X1 + 2X2
Utilizando este nuevo coeficiente se llega a la
siguiente tabla óptima:
107. 107
Cj 3 2 0 0 0 0
Base Solución X1 X2 X3 X4 X5 X6
2 X2 1 1/3 0 1 2/3 - 1/3 0 0
3 X1 3 1/3 1 0 - 1/3 2/3 0 0
0 X5 3 0 0 -1 1 1 0
0 X6 2/3 0 0 - 2/3 1/3 0 1
Z A 0 0 B C 0 0
Cj-Zj XX 3 2 -B -C 0 0
A= 12 1/3 + 10/3 D1 B = 1/3 - 1/3 D1 C = 4/3 + 2/3 D1
Los únicos cambios en los coeficientes no básicos X3 y
X4 de la ecuación de Z
108. 108
Estos cambios pueden determinarse de la tabla original,
multiplicando los coeficientes no básicos y el segundo miembro
de la fila de X1 por D1, y luego sumandolo a la fila Z óptimo.
Cj 3 2 0 0 0 0
Base Solución X1 X2 X3 X4 X5 X6
2 X2 1 1/3 0 1 2/3 - 1/3 0 0
3 X1 3 1/3 1 0 - 1/3 2/3 0 0
0 X5 3 0 0 -1 1 1 0
0 X6 2/3 0 0 - 2/3 1/3 0 1
Z 12 2/3 0 0 1/3 1 1/3 0 0
Cj-Zj XX 3 2 - 1/3 -1 1/3 0 0
A= 12 1/3 + 10/3 D1 B = 1/3 - 1/3 D1 C = 4/3 + 2/3 D1
109. 109
Para el caso de maximización:
1/3 - 1/3 D1 0 y
4/3 + 2/3 D1 0
de la primera D1 1
y de la segunda D1 -2
-2 D1 1
Finalmente:
3-2 C1 3 + 1
1 C1 4
¡¡¡¡¡ Inténtelo para C2 !!!!!
110. 110
Caso 2: Variables no básicas
Un cambio en los coeficientes objetivos pueden afectar
sólo a los coeficientes de la ecuación de Z (la columna
correspondiente no se utiliza como pivote).
El caso en estudio no sirve porque X1 y X2 son básicas
en la tabla óptima.
111. 111
Ejemplo:
Sea Z = 5X1 + 2X2
para las mismas restricciones del ejemplo en estudio.
La tabla resultante es:
Cj 3 2 0 0 0 0
Base Solución X1 X2 X3 X4 X5 X6
2 X3 2 0 1 1/2 1 - 1/2 0 0
3 X1 4 1 1/2 0 1/2 0 0
0 X5 5 0 1 1/2 0 1/2 1 0
0 X6 2 0 1 0 0 0 1
Z 20 0 1/2 0 2 1/2 0 0
Cj-Zj XX 3 1 1/2 0 -2 1/2 0 0
112. 112
X2 es ahora no básica
El objetivo es cambiar su coeficiente C2 = 2 a C2 + D2 y
luego encontrar el intervalo.
Al aplicar el nuevo coeficiente habrá un cambio en el
coeficiente de 0,5 a 0,5 - D2
En general, el cambio D del coeficiente objetivo original
de una variable no básica conduce SIEMPRE al
decremento en la misma cantidad del coeficiente
objetivo en la tabla óptima.
La tabla permanecerá óptima en tanto que 0,5 -D2 0
esto es, D2 0,5
114. 114
Ejemplo:
Resolver el siguiente PL empleando simplex y realizar
un análisis de sensibilidad.
MAX Z = 3X1 + 2X2 +5X3
sa
X1 + 2X2 + X3 ≤ 500
3X1 + 2X3 ≤ 460
X1 + 4X2 ≤ 420
X1 ,X2 , X3 ≥ 0
115. 115
1.5 Método Simplex Dual
Cuando los problemas de PL no tienen una solución factible
básica inicial con sólo holguras, se pueden resolver sin
utilizar variables artificiales, entregando la misma
información.
• DEFINICIÓN DEL PROBLEMA DUAL
El dual es un problema de PL que se obtiene
matemáticamente de un modelo primal de PL dado. Los
problemas primal y dual están relacionados a tal grado que la
solución de uno de ellos conduce en forma automática a la
solución del otro.
116. 116
• En la mayoría de los procedimientos de PL, el dual se
define para varias formas del primal, dependiendo de
los tipos de restricciones, de los signos de las
variables y del sentido de la optimización.
• Se incluirá una definición única del problema dual
que incluye automáticamente a todas las formas del
primal. Se basa en el hecho de que el problema de PL
debe calcularse en forma estándar antes de resolverlo
mediante el método simplex o simplex dual, de esta
manera al definir el problema dual mediante la forma
estándar, los resultados serán consistentes con la
información contenida en la tabla simplex..
117. 117
n
j
j
j x
c
z
1
La forma estándar general del primal se define como:
maximizar o minimizar
n
j
j
ij x
a
1
sujeto a i = 1, 2, ....., m
j = 1, 2, ..., n
xj 0
Notar que las n variables xj, incluyen los excesos y las holguras.
El esquema se muestra en el siguiente diagrama:
118. 118
Variables primales
X1 X2 .. Xj .. Xn
C1 C2 .. Cj .. Cn
a11 a12 .. a1j .. a1n b1 y1
a21 a22 .. a2j .. a2n b2 y2
.. .. .. .. .. .. ..
.. .. .. .. .. .. ..
am1 am2 .. amj .. amn bm ym
Segundo
miembro de
restricciones
duales
Coeficientes
del primer
miembro de las
restricciones
duales
j-ésima
restricción
dual
Funcción
objetivo del
dual
Variable
dual
119. 119
El diagrama muestra que el dual se obtiene simétricamente del
primal de acuerdo con las siguientes reglas:
• Para toda restricción primal hay una variable dual
• Para toda variable primal hay una restricción dual
• Los coeficientes de las restricciones de una variable primal forman
los coeficientes del primer miembro de la restricción dual
correspondiente, el coeficiente objetivo de la misma variable se
convierte en el segundo miembro de las restricción dual; y el
segundo miembro de la restricción primal se convierte en el
coeficiente objetivo de la respectiva variable dual
Estas reglas indican que el problema dual tendrá m variables (y1,
y2, ..., ym) y n restricciones, (correspondientes a x1, x2 ,...., xn).
120. 120
En la tabla siguiente se muestra como determinar los elementos
restantes del problema dual: sentido de la optimización, tipo de
restricciones y el signo de las variables duales.
Función Objetivo Dual
Estándar del primal Función objetivo Restricciones Variables
Maximización Minimización Irrestrictas
Minimización Maximización Irrestrictas
Todas las restricciones primales son ecuaciones y todas las
variables son no negativas.
124. 124
El objetivo general es encontrar el mejor plan de distribución, es
decir, la cantidad que se debe enviar por cada una de las rutas desde
los puntos de suministro hasta los puntos de demanda.
El “mejor plan” es aquel que minimiza los costos totales de envío,
produzca la mayor ganancia u optimice algún objetivo corporativo.
Se debe contar con:
i) Nivel de oferta en cada fuente y la cantidad de demanda
en cada destino.
ii) Costo de transporte unitario de mercadería desde cada
fuente a cada destino.
2.1 Modelo de Transporte
125. 125
También es necesario satisfacer ciertas restricciones:
1. No enviar más de la capacidad especificada desde cada punto de
suministro (oferta).
2. Enviar bienes solamente por las rutas válidas.
3. Cumplir (o exceder) los requerimientos de bienes en los puntos
de demanda.
2.1 Modelo de Transporte
126. 126
2.1 Modelo de Transporte
Esquemáticamente se podría ver como se muestra en la siguiente
figura
Destinos
Fuentes
1 1
2
2
n
m
s2
sm
d2
s1
d1
dn
.
.
.
.
.
.
Xij: cantidad transportada desde la fuente i al destino j
C11, X11
Cmn, Xmn
Cij: Costo del transporte unitario desde la fuente i al destino j
donde
Gráficamente: Para m fuentes y n destinos
127. 127
Modelo general de PL que representa al modelo de Transporte
o
x
d
x
s
x
x
c
Z
ij
j
m
i
ij
i
n
j
ij
m
i
n
j
ij
ij
1
1
1 1
j=1,2,...,n
i=1,2,...,m
El modelo implica que al menos la oferta debe ser igual a la demanda
para toda i y j
minimizar
s a
2.1 Modelo de Transporte
128. 128
Modelo general de PL que representa al modelo de Transporte
Modelo de transporte equilibrado: Oferta = Demanda
i
n
j
ij S
x
1
j=1, 2, 3,....,n
j
m
i
ij D
x
1
i=1, 2, 3,....,m
0
ij
x para toda i y j
2.1 Modelo de Transporte
129. 129
Aplicaciones del modelo de Transporte
El Modelo de Transporte no sólo es aplicable al movimiento de
productos, sino que también, como modelo se puede aplicar a otras
áreas tales como:
• Planificación de la Producción
• Control de Inventarios
• Control de Proveedores
• Otras
2.1 Modelo de Transporte
130. Ejemplo:
RPG tiene cuatro plantas ensambladoras en Europa. Están
ubicadas en Leipzig, Alemania (1);Nancy, Francia (2); Lieja,
Bélgica (3), y Tilburgo, Holanda (4). Las máquinas
ensambladoras usadas en estas plantas se producen en Estados
Unidos y se embarcan a Europa. Llegaron a los puertos de
Amsterdan (1), Amberes (2) y El Havre (3).
Los planes de producción del tercer trimestre (julio a
septiembre) ya han sido formulados. Los requerimientos (la
demanda en destinos) de motores diesel E-4 son los
siguientes:
2.1 Modelo de Transporte
131. Planta Cantidad de Motores
(1) Leipzig 400
(2) Nancy 900
(3) Lieja 200
(4) Tilburgo 500
Total 2000
Puerto Cantidad de Motores
(1) Amsterdan 500
(2) Amberes 700
(3) El Hevre 800
Total 2000
La cantidad disponible de máquinas E-4 en los puertos(oferta en
orígenes) son:
2.1 Modelo de Transporte
132. 132
Los costos ($) de transporte de un motor
desde un origen a un destino son:
Desde el
origen
1 2 3 4
1 12 13 4 6
2 6 4 10 11
3 10 9 12 4
Al destino
2.1 Modelo de Transporte
133. 133
1. Variables de decisión
Xij = número de motores enviados del puerto i a la planta j
i = 1, 2, 3
j = 1, 2, 3, 4
Construcción del modelo de PL
2. Función Objetivo
Minimizar Z = 12 X11 + 13 X12 + 4X13 + 6X14 + 6X21 + 4X22 +
10X23 + 11X24 + 10X31 + 9X32 + 12X34 + 4X14
2.1 Modelo de Transporte
134. 134
X11 + X21 + X31 400
X12 + X22 + X32 900
X13 + X23 + X33 200
X14 + X24 + X34 500
1) Oferta: La cantidad de elementos enviados no puede exceder la
cantidad disponible
X11 + X12 + X13 + X14 500
X21 + X22 + X23 + X24 700
X31 + X32 + X33 + X34 800
3. Restricciones:
2) Demanda: Debe satisfacerse la demanda de cada planta
Xij 0 para i=1, 2, 3; j= 1, 2, 3, 4
y de no negatividad
2.1 Modelo de Transporte
136. 136
Algoritmos Específicos
2.1.1 Regla de la esquina noroeste (MEN)
2.1.2 Método por aproximación de Vogel (MAV)
2.1.3 Método del costo mínimo (MCM)
2.1.4 Método del paso secuencial y
2.1.5 DIMO (método de distribución modificada)
2.1 Modelo de Transporte
137. 137
Descripción de los algoritmos
La regla de la esquina noroeste, el método de aproximación
de Vogel y el método del costo mínimo son alternativas para
encontrar una solución inicial factible.
El método del escalón y el DIMO son alternativas para
proceder de una solución inicial factible a la óptima.
Por tanto, el primer paso es encontrar una solución inicial
factible, que por definición es cualquier distribución de
ofertas que satisfaga todas las demandas
2.1 Modelo de Transporte
138. 138
Descripción de los algoritmos
Una vez obtenida una solución básica factible, el algoritmo
procede paso a paso para encontrar un mejor valor para la
función objetivo.
La solución óptima es una solución factible de costo mínimo
Para aplicar los algoritmos, primero hay que construir una
tabla de transporte.
2.1 Modelo de Transporte
141. 141
2.1.1 Regla de la esquina Noroeste
Se inicia el proceso desde la esquina izquierda superior
Se ubican tantas unidades como sea posible en la ruta
Cantidad de Unidades = Mínimo(disponibilidad, demanda)
Las siguientes asignaciones se hacen o bien recorriendo hacia la
derecha o bien hacia abajo.
Las demandas se satisfacen recorriendo sucesivamente de
izquierda a derecha y las ofertas se destinan recorriendo de
arriba hacia abajo.
2.1 Modelo de Transporte
145. 145
2.1.2 Método de aproximación de
Vogel (MAV)
MAV usa información de costos mediante el concepto de costo
de oportunidad para determinar una solución inicial factible.
Seleccionar en una fila la ruta más barata y la que le sigue.
Hacer su diferencia (penalidad), que es el costo adicional por
enviar una unidad desde el origen actual al segundo destino y
no al primero.
En nuestro caso, para el puerto1, C13 y C14; Penalidad = 6 - 4
MAV asigna un costo de penalidad por no usar la mejor ruta
en esta fila.
2.1 Modelo de Transporte
146. 146
2.1.2 Método de aproximación de Vogel
Lo anterior se repite para cada fila y cada columna, esto es,
determinar todas las penalidades
Los pasos iterativos de MAV son los siguientes:
1. Identificar la fila o columna con la máxima penalidad.
2.Colocar la máxima asignación posible a la ruta no usada que
tenga menor costo en la fila o columna seleccionada en el punto
1 (los empates se resuelven arbitrariamente)
3. Reajustar la oferta y demanda en vista de esta asignación.
4. Eliminar la columna en la que haya quedado una demanda 0 (o
la fila con oferta 0), de consideraciones posteriores.
5. Calcular los nuevos costos de penalidad.
2.1 Modelo de Transporte
147. 147
2.1.2 Método de aproximación de Vogel
El MAV continúa aplicando este proceso en forma sucesiva
hasta que se haya obtenido una solución factible.
Los resultados obtenidos se muestran en las siguientes tablas
2.1 Modelo de Transporte
148. 148
2.1.2 Método de aproximación de Vogel
Plantas
Puertos 1 2 3 4 Oferta Penalidades
1 12 13 4 6 2
500
2 6 4 10 11 2
700
3 10 9 12 4 5
800
Demanda 400 900 200 500 2000
Penalidades 4 5 6 2
Calculadas todas las penalidades, la mayor
corresponde a la columna 3 (penalidad = 6)
Paso 1: Identificar máxima penalidad (fila o columna)
Paso 0: Cálculo de penalidades
2.1 Modelo de Transporte
149. 149
2.1.2 Método de aproximación de Vogel
Paso 2: Asignación de unidades (MIN(oferta,demanda))
Paso 3:Reajuste de oferta y demanda
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 11
700
3 10 9 12 4
800
Demanda 400 900 0 200 500 2000
2.1 Modelo de Transporte
152. 152
2.1.2 Método de aproximación de Vogel
Repitiendo los pasos anteriores, finalmente se llega a la siguiente
solución
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 300 500
2 6 4 10 11
700 0 700
3 10 9 12 4
400 200 200 600 800
Demanda 400 900 0 200 200 500 2000
¿Es solución factible? ¿m + n - 1 = 6? SI
Costo: 200*4+300*6+700*4+400*10+200*9+200*4 = $12.000
2.1 Modelo de Transporte
153. 153
2.1.3. Método del Costo Mínimo
1. Dada una tabla de transporte
2. Asignar la mayor cantidad de unidades a la variable
(ruta) con el menor costo unitario de toda la tabla.
3. Tachar la fila o columna satisfecha.
4. Ajustar oferta y demanda de todas las filas y columnas
5. Si hay más de una fila o columna no tachada repetir
los puntos 2, 3 y 4
Algoritmo
Fundamento
Asignar la mayor cantidad de unidades a una ruta
disponible de costo mínimo
2.1 Modelo de Transporte
154. 154
2.1.3. Método del Costo Mínimo (cont.)
Ejemplo: Aplicar MCM a la tabla de transporte
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
500
2 6 4 10 11
700
3 10 9 12 4
800
Demanda 400 900 200 500 2000
Unidades a asignar = MIN(200,400) = 200
Existen tres rutas costo mínimo. Elijamos la 1_3
Paso 2
2.1 Modelo de Transporte
155. 155
2.1.3. Método del Costo Mínimo (cont.)
Paso 3: Tachar fila o columna (columna 3)
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 11
700
3 10 9 12 4
800
Demanda 400 900 0 200 500 2000
Aún quedan más de una fila o columna sin tachar. Ir a paso 2
Ajustar ofertas y demandas (fila 1 y columna 3)
Paso 5
Paso 4
2.1 Modelo de Transporte
156. 156
2.1.3. Método del Costo Mínimo (cont.)
Paso 4: Tachar ajustar fila 3 y columna 4
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 11
700
3 10 9 12 4
500 300 800
Demanda 400 900 0 200 0 500 2000
Aún quedan más de una fila o columna sin tachar. Ir a paso 2
Paso 5
Paso 2: Ruta de costo menor -> 3_4 (ó 2_2)
Unidades = MIN(500,800) = 500
Paso 3: Tachar columna 4
2.1 Modelo de Transporte
157. 157
2.1.3. Método del Costo Mínimo (cont.)
Paso 4: Tachar ajustar fila 2 y columna 2
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 0
700 0 700
3 10 9 12 4
500 300 800
Demanda 400 200 900 0 200 0 500 2000
Aún quedan más de una fila o columna sin tachar. Ir a paso 2
Paso 5
Paso 2: Ruta de costo menor -> 2_2
Unidades = MIN(700,900) = 300
Paso 3: Tachar fila2
2.1 Modelo de Transporte
158. 158
2.1.3. Método del Costo Mínimo (cont.)
Paso 4: Tachar ajustar fila 3 y columna 2
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 0
700 0 700
3 10 9 12 4 100
200 500 300 800
Demanda 400 200 900 0 200 0 500 2000
Aún quedan más de una fila o columna sin tachar. Ir a paso 2
Paso 5
Paso 2: Ruta de costo menor -> 3_2
Unidades = MIN(200,300) = 200
Paso 3: Tachar columna 2
2.1 Modelo de Transporte
159. 159
2.1.3. Método del Costo Mínimo (cont.)
Paso 4: Tachar ajustar fila 3 y columna 1
Puertos 1 2 3 4 Oferta
1 12 13 4 6
200 300 500
2 6 4 10 0
700 0 700
3 10 9 12 4 100 0
100 200 500 300 800
Demanda 300 400 200 900 0 200 0 500 2000
Aún quedan más de una fila o columna sin tachar. Ir a paso 2
Paso 5
Paso 2: Ruta de costo menor -> 3_1
Unidades = MIN(400,100) = 100
Paso 3: Tachar fila 3
2.1 Modelo de Transporte
160. 160
2.1.3. Método del Costo Mínimo (cont.)
Paso 4: Tachar ajustar fila 1 y columna 1
Puertos 1 2 3 4 Oferta
1 12 13 4 6 0
300 200 300 500
2 6 4 10 0
700 0 700
3 10 9 12 4 100 0
100 200 500 300 800
Demanda 300 400 200 900 0 200 0 500 2000
Queda sólo una fila sin tachar. Terminar
Paso 5
Paso 2: Ruta de costo menor -> 1_1
Unidades = MIN(300,300) = 300
Paso 3: Tachar fila 1 ó columna 1 (sólo una de ellas)
2.1 Modelo de Transporte
161. 161
2.1.3. Método del Costo Mínimo (cont.)
Comparación de los resultados
¿Es solución factible? ¿m + n - 1 = 6? SI
Costo: 300*12+200*4+700*4+100*10+200*9+500*4 = $12.000
Método Rutas Costo
MEN 6 $14.200
MAV 6 $12.000
MCM 6 $12.000
Los tres métodos entregan soluciones básicas factibles,
pero ninguno asegura que la solución sea óptima.
Conclusión
2.1 Modelo de Transporte
162. 162
2.1.4. Método de Pasos Secuenciales
Este método comienza con una solución inicial factible.
En cada paso se intenta enviar artículos por una ruta que
no se haya usado en la solución factible actual, en tanto
se elimina una ruta usada actualmente.
En cada cambio de ruta debe cumplirse que:
1. La solución siga siendo factible y
2. Que mejore el valor de la función objetivo
El procedimiento termina cuando no hay cambio de rutas
que mejoren el valor de la función.
Fundamento
2.1 Modelo de Transporte
163. 163
2.1.4. Método de pasos secuenciales (cont..)
Usar la solución actual (MEN, MAV o MCM) para crear una
trayectoria única del paso secuencial. Usar estas trayectorias
para calcular el costo marginal de introducir a la solución
cada ruta no usada.
Si todos los costos marginales son iguales o mayores que
cero, terminar; se tendrá la solución óptima. Si no, elegir la
celda que tenga el costo marginal más negativo (empates se
resuelven arbitrariamente)
Usando la trayectoria del paso secuencial, determine el
máximo número de artículos que se pueden asignar a la ruta
elegida en el punto 2 y ajustar la distribución adecuadamente.
Regrese al paso 1
Algoritmo
1
2
3
4
2.1 Modelo de Transporte
164. 164
2.1.4. Método de pasos secuenciales (cont..)
a) Ponga un signo + en la celda de interés no ocupada
b) Ponga un signo - en una celda usada de la misma fila
c) Ponga un + en una celda usada de la misma columna
El proceso continúa alternando los signos + y - tanto en las filas
como en las columnas hasta que se obtenga una sucesión de
celdas (trayectoria) que satisfagan dos condiciones
1. Hay un signo + en la celda desocupada original de interés, y
2. Cualquier fila o columna que tenga un signo + debe tener
también un signo - y viceversa.
Algoritmo Paso 1
2.1 Modelo de Transporte
176. 176
2.1.4. Método de pasos secuenciales (cont..)
Algoritmo Paso 2: Determinar costos marginales
Todas rutas son no negativas (positivas o cero)
Solución factible óptima!!! $12.000
Compare esta solución con la obtenida con MAV y MCM ¿ ...?
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
300 +2 200 0 100 500
2 6 4 10 11
+1 700 +13 +12 0 700
3 10 9 12 4
100 200 +10 500 0 800
Demanda 0 400 0 900 0 200 0 500 2000
2.1 Modelo de Transporte
177. 177
2.1.5. Método de Distribución Modificada (DIMO)
Algoritmo
1. Usar la solución actual (NE, MAV o MCM) y las siguientes
operaciones (a) y (b) para determinar el costo marginal de enviar
material para cada una de las rutas no usadas.
Asociar a cada fila un índice ui y a cada columna un índice vj
a) Hacer u1 = 0. Encuéntrese los índices de las filas u2, ..., um y los
índices de las columnas v1, ...., vn tales que cij = ui + vj para cada
celda usada.
b) Sea eij = cij - (ui+vj) para cada celda no usada; eij será el costo
marginal de introducir la celda (ruta) i, j a la solución.
Los pasos 2 a 4 son los mismos que en el método secuencial.
2.1 Modelo de Transporte
178. 178
2.1.5. Método de Distribución Modificada (DIMO)
Aplicar el algoritmo al problema en estudio y
comparar resultados obtenidos con los métodos
anteriores
Comentar resultados
¿Qué explica que existan dos soluciones
óptimas factibles?
2.1 Modelo de Transporte
180. 180
2.1.5. Método de Distribución Modificada (DIMO)
Paso1.a) Solucionar la ecuación
Existen 6 ecuaciones y siete variables entonces se hace u1 = 0
(puede ser cualquiera) y se determina el resto de los índices
v1 = 12 v2 = 13 u2 = - 9 u3 = -4 v3 = 16 v4 = 8
Paso 1.b) Calcular los costos marginales para cada celda no usada.
eij = cij - (ui + vj)
2.1 Modelo de Transporte
190. 190
2.1.5. Método de Distribución Modificada (DIMO)
Paso 2: Prueba de Optimalidad.
No hay costos negativos por lo tanto es óptima
VO = 300*12+200*4+700*4+100*10+200*9+500*4=$12.000
Plantas
Puertos 1 2 3 4 Oferta
1 12 13 4 6
300 0 200 0 100 500
2 6 4 10 11
1 700 13 12 0 700
3 10 9 12 4
100 200 10 500 700 800
Demanda 0 400 0 900 200 500 2000
Ver Transporte RPG Equilibrio
2.1 Modelo de Transporte
191. 191
2.1.6. Modelo de Transporte: Situaciones Especiales
1. Solución en problemas de maximización de transporte
2. El caso en que la oferta excede a la demanda.
3. Eliminación de rutas inaceptables.
4. Degeneración en problemas de transporte.
5. Propiedades especiales del modelo de transporte
2.1 Modelo de Transporte
192. 192
2.1.6. Modelo de Transporte: Situaciones Especiales
1. Solución en problemas de maximización de transporte.
a) Se utilizan los beneficios marginales en lugar de los costos.
Se asignará unidades a la celda que tenga el mayor valor
marginal y el procedimiento concluirá cuando todas las rutas
tengan valores marginales negativos.
b) Convertir la tabla de beneficios en una tabla de costo: Se
busca el beneficio mayor, en cada celda se le resta al mayor
el beneficio de la celda. Ejemplo:
2.1 Modelo de Transporte
193. 193
2.1.6. Modelo de Transporte: Situaciones Especiales
Tabla de beneficios
14 19 12
17 19 15
16 20 11
6 1 8
3 1 5
4 0 9
2
3
Destinos
Fuentes
1 2 3
1
Destinos
1 2 3
Fuentes
1
2
3
Mayor = 20
Tabla de costo
2.1 Modelo de Transporte
194. 194
2.1.6. Modelo de Transporte: Situaciones Especiales
2. El caso en que la oferta excede a la demanda.
Se utiliza un destino ficticio en la tabla de transporte. Se
considera como nulo el costo de enviar una unidad a dicho
destino desde cada una de las fuentes (orígenes).
Si la demanda es mayor que la oferta el problema no tiene
solución factible, sin embargo el administrador podría
abastecer toda la demanda que sea posible a un costo
mínimo.
Se utiliza un origen ficticio. El costo de abastecer cualquier
destino desde dicho origen será cero. Sin embargo podría
haber un cargo por orden no cubierta.
Ver Transporte RPG (O>D) y (O<D
2.1 Modelo de Transporte
195. 195
2.1.6. Modelo de Transporte: Situaciones Especiales
3. Eliminación de rutas inaceptables.
Se asocia a una ruta no aceptable un costo lo suficientemente
alto para que no sea atrayente la ruta en cuestión. El costo M
Por ejemplo: producir en abril para vender en febrero del mismo
año.
4. Degeneración en problemas de transporte.
Se dice que un problema se degenera cuando hay menos de
m + n - 1 rutas ocupadas. Esto puede ocurrir cuando
simultáneamente se satisface una demanda y se agota una
oferta.
Ver Transporte RPG (inaceptable)
2.1 Modelo de Transporte
196. 196
2.1.6. Modelo de Transporte: Situaciones Especiales
5. Propiedades especiales del modelo de transporte
Todo problema de transporte es posible resolverlo mediante
algoritmos que usan sólo la adición y la sustracción.
Si todas las ofertas y demandas tienen valores enteros en un
problema de transporte, los valores óptimos de las variables
de decisión serán también enteros.
2.1 Modelo de Transporte
197. 197
Ejercicios
Suponer que se tienen tres fábricas M1, M2 y M3 que producen
39, 48 y 33 toneladas respectivamente, de un cierto producto
que debe llevarse a cuatro destinos, D1, D2, D3 y D4, los cuales
requieren 40, 37, 18 y 25 toneladas.
Los costos están dados por la siguiente tabla:
2.1 Modelo de Transporte
1
D1 D2 D3 D4
M1 2 3 1 2
M2 1 4 7 6
M3 8 9 4 5
198. 198
Planificación de la producción:
2.1 Modelo de Transporte
2
Periodo Capacidad de Producción
Máxima (unidades)
Demanda a
satisfacer
Costo de
Producción ($)
Costo de
Almacenaje ($)
1 1200 900 15 1.2
2 800 800 18 1.4
3 1100 1000 17 1.1
4 900 700 20 1.5
¿Cuánto hay que producir en cada periodo para satisfacer la
demanda al mínimo costo (tanto de producción como de
almacenaje)?.
Supuesto: No existe inventario inicial ni final.
Plantear el problema usando el modelo de transporte.
Encuentre las respuestas usando Solver.
199. 199
Situación:
Asignar m trabajos (o trabajadores) a n máquinas.
Un trabajo i (=1, 2, 3 ,...,m) cuando se asigna a la máquina
j (=1,2,....,n) incurre en un costo cij.
El objetivo es asignar los trabajos a las máquinas uno a uno
al menor costo.
La formulación de este problema puede considerarse como
un caso especial del modelo de transporte.
2.2 Modelo de Asignación
200. 200
Descripción
Los trabajos representan las “fuentes” y las máquinas los
“destinos”
La oferta disponible en cada fuente es 1 como también
lo es la demanda en cada destino.
cij es el costo de transportar (asignar) el trabajo i a la
máquina j
El costo puede representar también características de
competencia de cada trabajador
201. 201
Descripción
En el caso que un trabajo no deba ser asignado
(porque no cumple con los requisitos) a una máquina
(actividad) en particular, este costo debe tener un
valor alto (M)
En el caso de existir desequilibrio, esto es, más
trabajos que máquinas o más máquinas que trabajos,
hay que equilibrar con máquinas o trabajos figurados
(ficticios), logrando de esta forma que m = n
202. 202
Expresión matemática del modelo
0, si el i-ésimo trabajo no se asigna a la j-ésima máquina
1, si el i-ésimo trabajo se asigna a la j-ésima máquina
Xij =
Máquina
1 2 ….. n
C11 C12 ….. C1n
C21 C22 ….. C2n
….. ….. ….. …..
Cn1 Cn2 ….. Cnn
1
2
…..
n
Trabajo
1
1
…..
1
1 1 ….. 1
203. 203
Por lo tanto el modelo está dado por:
minimizar z =
n
i
n
j
ij
ij x
c
1 1
sujeto a 1
1
n
j
ij
x i=1,2, ...,n
1
1
n
i
ij
x j=1,2,..n
xij = 0 ó bien 1
204. 204
Ejemplo:
La gerencia general de RPG (ejemplo de transporte) con sede
en Bruselas, este año, como parte de su auditoría anual, decidió
que cada uno de sus cuatro vicepresidentes visite e inspeccione
cada una de sus plantas de ensamblaje durante las primeras dos
semanas de junio. Las plantas están ubicadas en Leipzig
(Alemania), Nancy (Francia, Lieja (Bélgica) y Tilburgo
(Holanda).
Para decidir a que vicepresidente enviar a una planta
determinada, se asignaron puntos (costos) a cada uno de ellos
de acuerdo a su experiencia, habilidades lenguísticas, tiempo
que durará la inspección y otros. Estos datos se muestran en la
siguiente tabla:
207. 207
Métodos de Solución
Existen varias formas de obtener la solución:
a) Listar todas las alternativas posibles con sus costos y seleccionar
la de menor costo (algoritmo exhaustivo)
b) Método Húngaro: método iterativo
a) Listar todas las alternativas:
¿Cuántas alternativas posibles existen?
- El primer trabajo se puede asignar de n formas formas posibles
- El segundo de n-1 formas
- El último sólo de 1 forma
En total existen n! formas de hacer la asignación completa
208. 208
Método Húngaro:
Paso 0: Construir la matriz de asignación
Para obtener la solución óptima cada nueva matriz de asignación
debe satisfacer:
Propiedad 1: Todos los números son no negativos
Propiedad 2: Cada fila y cada columna tiene al menos una celda con
un valor cero
Paso 1:
a) Reducción de filas: Restar el costo menor de cada fila a la fila
correspondiente y/o
b) Reducción de columnas: Restar el costo menor de cada columna
a la columna correspondiente
Con esto se crea una nueva matriz con las propiedades 1 y 2
209. 209
Método Húngaro:
Paso 2: Determinar si la matriz es reducida (Prueba de Optimalidad).
Trazar el menor número de líneas rectas sobre las filas y columnas
para cubrir todos los ceros.
Si el número de rectas es igual al número de filas o columnas se dice
que esta matriz es reducida.
Si la matriz no es reducida pasar al paso 3, sino pasar al paso 4
210. 210
Método Húngaro:
Paso 3: Movimiento
De todas las celdas no cruzadas identifique una con el menor
valor y haga lo siguiente:
a) Restar el valor a cada celda no cruzada
b) Sumar el valor a cada celda de intersección de rectas
Volver al paso 2
211. 211
Método Húngaro:
Paso 4: Solución óptima (Asignación)
Primero se asigna a las que tengan sólo una alternativa, se van
marcando y así sucesivamente
Determinar el costo: Se suman todos los costos correspondientes
a las asignaciones (o sumar todos los pi y qj).
¿Qué valor se obtiene al sumar todos los valores que se restaron
en las reducciones de filas y columnas?
212. 212
Ejemplo: Aplique el método Húngaro al ejemplo
1 2 3 4 pi
F 24 10 21 11
M 14 22 10 15
O 15 17 20 19
P 11 19 14 13
qj
Paso 0: Matriz de Asignación
Nota: En negrita los menores de cada fila
213. 213
Paso 1: Reducción de filas y columnas
1 2 3 4 pi
F 14 0 11 1 10
M 4 12 0 5 10
O 0 2 5 4 15
P 0 8 3 2 11
qj 1
1 2 3 4 pi
F 14 0 11 0 10
M 4 12 0 4 10
O 0 2 5 3 15
P 0 8 3 1 11
qj 1
214. 214
Paso 2: Determinar si la matriz es reducida
1 2 3 4 pi
F 14 0 11 0 10
M 4 12 0 4 10
O 0 2 5 3 15
P 0 8 3 1 11
qj 1
No es reducida: sólo tres rectas (para ser reducida deben ser 4)
Ir al paso 3
215. 215
Paso 3: Movimiento (Seleccionar el menor: restar a las
no tachadas, sumar a las intersecciones)
1 2 3 4 pi
F 14 0 11 0 10
M 4 12 0 4 10
O 0 2 5 3 15
P 0 8 3 1 11
qj 1
1 2 3 4 pi
F 15 0 12 0 10
M 4 11 0 3 10
O 0 1 5 2 15
P 0 7 3 0 11
qj 1 + 1
Volver al paso 2 !!
216. 216
Iteración paso 2:
1 2 3 4 pi
F 15 0 12 0 10
M 4 11 0 3 10
O 0 1 5 2 15
P 0 7 3 0 11
qj 1 + 1
Se tachan todos los ceros con cuatro rectas, por tanto es óptima
Ir al paso 4 !!
217. 217
Paso 4: Asignación
1 2 3 4 pi
F 15 0 12 0 10
M 4 11 0 3 10
O 0 1 5 2 15
P 0 7 3 0 11
qj 1 + 1
Costo = c12 + c23 + c31 +c44
= 10+10+15+13 = 48
j
i q
p
Costo
=10 + 10 + 15 + 11 + 1 + 1 = 48
Ver Asignación RPG
218. 218
Modelo de Asignación: Otras consideraciones
El modelo de asignación de RPG es un modelo de minimización
en el cual el número de vicepresidentes es igual al número de
plantas, y todas las asignaciones posibles son aceptables.
Consideremos ahora modelos tipo asignación donde no todas las
condiciones anteriores se cumplen. En particular se considerarán
situaciones en las que:
1 Hay una desigualdad entre el número de “personas” por
asignar y el número de “destinos” que requieren personas
asignadas.
2 Hay un modelo de maximización
3 Existen asignaciones inaceptables
219. 219
Modelo de Asignación: Otras consideraciones
1. Ofertas y demandas desiguales
a) Oferta mayor que la demanda
Suponer que el presidente de RPG quiere auditar a la planta de
Tilburgo, por tanto tendrá que decidir cual de los cuatro
vicepresidentes debe asignar a cada una de las tres plantas
restantes.
Solución: Se elimina la restricción que requería un
vicepresidente para Tilburgo. El resultado de este cambio es que
la holgura para uno de los cuatro vicepresidentes será 1 en la
nueva solución óptima
Ver Asignación RPG (O>D)
220. 220
Modelo de Asignación: Otras consideraciones
1. Ofertas y demandas desiguales
b) Demanda mayor que la oferta
Suponer que el vicepresidente de Personal tiene que viajar a
Illinois durante la primer semana de junio, por lo tanto no puede
participar en la auditoría en Europa.
Solución: Se agrega un vicepresidente ficticio (igual al modelo
de transporte) para obtener una solución factible, pero es claro
que una de las plantas quedará sin auditar.
221. 221
Modelo de Asignación: Otras consideraciones
2. Hay un modelo de maximización
La respuesta de asignación es un beneficio y no un costo
Ejemplo: Suponga que RPG tiene que asignar vendedores a sus
territorios de venta.
Existen cuatro personas bien capacitadas listas para ser
asignadas y tres territorios requieren un nuevo vendedor. Uno
de los vendedores no será asignado.
En este caso la asignación de un vendedor cualquiera a un
territorio se mide por el incremento marginal esperado en la
contribución de dicha asignación a las ganancias.
222. 222
Modelo de Asignación: Otras consideraciones
2. Hay un modelo de maximización
La matriz de ganancia es la siguiente
Contribución del
Vendedora
Territorio
1
Territorio
2
Territorio
3
A 40
$ 30
$ 20
$
B 18
$ 28
$ 22
$
C 12
$ 16
$ 20
$
D 25
$ 24
$ 27
$
Ver Asignación Vendedores RPG
223. 223
Modelo de Asignación: Otras consideraciones
3. Situaciones con asignaciones inaceptables
Ejemplo: Suponga que el presidente de RPG no tiene
el menor deseo de que el vicepresidente de
Operaciones realice una auditoría a la Planta Nancy.
Solución: Asignar un costo arbitrariamente alto a esta
“ruta”, de tal modo que al restar de él cualquier
número finito se obtiene siempre un valor mayor que
otros números relevantes
Ver Asignación RPG inaceptable
224. 224
2.3 Modelo de Transbordo
Este modelo permite que las unidades no vayan
directamente desde un origen a un destino, sino
que pasen por nodos intermedios o transitorios.
Cada origen, punto intermedio y destino final se representan
como nodos y se conectan a través de arcos dirigidos
Restricción en cada nodo transitorio:
suma flujos entrantes = suma flujos saliente
También se puede representar por medio de una matriz donde un
mij = 1 cuando existe un enlace directo entre el nodo i y el nodo
j; y mij = 0 cuando no hay enlace directo entre estos nodos
225. 225
Modelo de Transbordo: Algoritmo
Inicialización: Encuentre un plan de embarque factible que
satisfaga todas las restricciones de suministro y demanda, al
mismo tiempo que mantiene un equilibrio en todos los nodos
de transbordo.
Prueba de Optimalidad: Pruebe el plan de embarque actual
para ver si es óptimo, es decir, si es el plan que incurre en los
costos totales mínimos. Si es así, deténgase con la solución
óptima, sino vaya al paso 3.
Movimientos: Use el hecho de que el plan de embarque
actual no es óptimo para crear un nuevo plan de embarque
factible con menos costo total que el actual. Vaya al paso 2.
1
2
3
226. 226
Consideraciones:
• Los pasos del algoritmo son análogos a los del algoritmo de
pasos sucesivos (escalón).
• Tanto los nodos origen como los destinos pueden ser a su vez
nodos de transbordo.
• Al igual que el modelo de transporte, puede haber desequilibrio,
en ese caso se agregan fuentes o destinos ficticios con costo cero.
• El numero total del sistema está dado por el total de la oferta o de
la demanda.
• A cada nodo de transbordo se asigna un suministro (demanda)
igual a su suministro (demanda) original (cero, si no coincide
originalmente con un destino) más el total de unidades del
sistema. Esto permite que todas las unidades puedan pasar por un
empalme dado.
227. 227
Ejemplo 1:
Determínese un programa de embarque que cubra todas las
demandas a un costo mínimo total para los datos
correspondientes al siguiente grafo (costo en $).
3 4
2
4
3
7 2
1 3 5
2 4 6
+95 -30
+70
+15
-30 -45
8
228. 228
Solución
• Los sitios 1 y 2 son orígenes
• Los sitios 5 y 6 son destinos
• El sitio 3 es origen y empalme
• El sitio 4 es destino y empalme
• La oferta es mayor que la demanda por tanto se requiere un
destino ficticio que demande 75 unidades
• Agregar 180 unidades a cada empalme (oferta y demanda)
• El costo de las unidades que van de un empalme (como origen)
a él mismo (como destino) y de cualquier origen al sitio ficticio
es cero.
• A las rutas no permitidas se les asocia un valor relativamente
alto (por 1.000)
231. 231
Ejemplo 2:
Una corporación necesita transportar 70 unidades de un producto, del sitio 1 a
los sitios 2 y 3 en cantidades de 45 y 25 unidades, respectivamente. Las tarifas
cij (en miles de pesos por unidad) de carga aérea entre los sitios comunicados
por carguero se dan en la tabla, en la cual las líneas punteadas indica que no hay
servicio disponible. Determínese un programa de embarque que asigne el
número requerido de artículos a cada destino, a un costo mínimo de transporte.
Ningún embarque requiere de vuelo directo, se permiten los envíos empleando
puntos intermedios.
1 2 3 4
1 .... 38 56 34
2 38 ... 27 ...
3 56 27 ... 19
4 34 ... 19 ...
234. 234
2.4. Modelos de Redes
2.4.1 Teoría de Grafos
2.4.2 Modelo de la Ruta más corta
2.4.3 Modelo del Árbol Expandido Mínimo
2.4.4 Problema del Flujo Máximo
235. 235
2.4.1 Introducción a la Teoría de Grafos
Grafo no dirigido:
Un grafo no dirigido G consiste en un conjunto V de vértices
(o nodos) y un conjunto E de lados (ramas o enlaces) tales que
cada lado e ε E está asociado a un par no ordenado de vértices
v y w. Si un lado e está asociado a un único par de vértices v y
w, entonces e= (v,w) o e=(w,v).
Grafo dirigido:
Un grafo dirigido (o digrafo) G consiste en un conjunto V de
vértices (o nodos) y un conjunto E de lados (o ramas) tales que
cada lado e ε E está asociado a un par ordenado de vértices. Si
un lado e está asociado a un par ordenado único de vértices v y
w, se escribe e = (v,w).
236. 236
2.4.1 Introducción a la Teoría de Grafos
Se dice que un lado e = (v,w) de un grafo (dirigido o no dirigido) es
incidente en v y w. Se dice que los vértices v y w son incidentes
en e y también son vértices adyacentes.
Si G es un grafo (dirigido o no dirigido) con un conjunto de vértices
V y un conjunto de lados E, se escribe G = (V,E)
Nodo (Vértice):
Un círculo de una red utilizada para representar una planta,
almacén o tienda.
Nodo de Suministro:
Nodo desde le cual los productos se van a enviar.
237. 237
2.4.1 Introducción a la Teoría de Grafos
Nodo de demanda:
Nodo que va a recibir los productos para cumplir con una
demanda conocida.
Nodo de transbordo:
Nodo que recibe productos desde otros nodos para su
distribución.
Arco (enlace):
Línea de una red que conecta un par de nodos. Se le utiliza para
representar una ruta válida desde el nodo origen al nodo de
distribución.
238. 238
2.4.1 Introducción a la Teoría de Grafos
Arco dirigido:
Indica el sentido de movimiento de los productos.
Camino:
Una secuencia de nodos en una red unidos por arcos (dirigidos o
no dirigidos)
Trayectoria (lazo):
Es un camino cerrado (ciclo) donde el primer nodo es a su vez el
último.
239. 239
2.4.1 Introducción a la Teoría de Grafos
Representación Matricial
i) Matriz de Adyacencia
ii) Matriz de costo (beneficio)
Representación de un grafo:
Un grafo se puede representar matemáticamente como:
a) Una matriz
b) Una lista enlazada
c) Árbol
240. 240
2.4.1 Introducción a la Teoría de Grafos (cont.)
Matriz de Adyacencia:
Para un grafo G, es una matriz A de dimensión NxN,
donde A[i,j] es verdadero (1) si, y sólo si, existe un arco
que vaya del vértice i al vértice j. En ausencia de arco
directo se representa generalmente por 0.
Ejemplo:Dado el siguiente grafo encontrar su matriz de
adyacencia
242. 242
2.4.1 Introducción a la Teoría de Grafos (cont.)
Matriz de Costo:
Para un grafo G etiquetado, es una matriz C de dimensión
NxN, donde A[i,j] es el costo (valor de la etiqueta) si, y
sólo si, existe un arco que vaya del vértice i al vértice j.
En ausencia de arco directo se representa generalmente
por infinito (costo extremadamente alto, para la
simulación se hace uso de un valor fuera de contexto).
Ejemplo:Dado el siguiente grafo encontrar su matriz de costo
243. 243
2.4.1 Introducción a la Teoría de Grafos (cont.)
2
3
4
1
1 2 3 4
1 10 15
2 12
3 20
4 5
10
15 20 12
5
244. 244
2.4.1 Introducción a la Teoría de Grafos (cont.)
Para un grafo no dirigido, tanto la matriz de adyacencia
como la matriz de costo son simétricas, esto es:
A[i,j] = A[j,i]
ó
C[i,j] = C[j,i]
245. 245
Ejemplo Introductorio
Seymour Miles es el gerente de distribución de Zigwell. Zigwell
distribuye sus motores oruga en cinco estados del medio oeste. Por lo
regular, Seymour Miles tiene 10 aparatos E-9 in situ en lo que
designaremos como local 1. Estos tractores deben ser enviados a los
dos locales de construcción más importantes designados como 3 y 4.
Se necesitan tres E-9 en el local 3 y siete en el local 4. Debido a
itinerarios arreglados con anterioridad, relativos a la disponibilidad de
conductores, los tractores solo pueden ser distribuidos de acuerdo con
las rutas alternativas que se muestran en el grafo de la figura.
La figura tiene un número +10 en el nodo 1, esto significa que hay 10
aparatos E-9 disponibles (oferta). Los indicadores -3 y -7 asociados a
los locales 3 y 4, respectivamente, denotan los requerimientos
(demandas) de éstos.
247. 247
Los costos cij son unitarios. Por ejemplo el costo de
recorrer el arco (5,3) es c53 por cada tractor.
Debido a los acuerdos sostenidos con los conductores,
Zigwell debe cambiarlos en cada local que se encuentre
sobre la ruta. Las limitaciones en la disponibilidad de
conductores ocasionan que haya una cota superior en el
número de tractores que pueden recorrer cualquier arco
dado.
Por ejemplo: u53 es la cota superior o capacidad en el arco
(5,3).
El problema de Sygmour consiste en encontrar un plan de
embarque que satisfaga la demanda y las restricciones de
capacidad a costo mínimo.
248. 248
El problema en particular se conoce como modelo
de transbordo con capacidades.
Expresar el problema como un PL
a) Variables de decisión
xij = número total de E-9 que se enviarán a través
del arco (i,j).
= flujo del nodo i al nodo j
249. 249
b) Función Objetivo
MIN Z =C12X12+C23X23+C24X24+C25X25+C34X34+C43X43+C53X53+C54X54
la red
(i,j) de
ar
todos los
c
x ij
ij cos
,
0
c) Restricciones
s a
+ X12 = 10
- X12+X23+X24+X25 = 0
-X23 -X43 -X53 +X34 = -3
-X24 +X43 -X34 -X54 = -7
-X25 +X53 +X54 = 0
Balance
de
flujo
251. 251
Formulación General del Modelo de Transbordo con Capacidades
Xij denotan el flujo del nodo i al nodo j a lo largo del arco que
conecta esos nodos.
Lj representa la oferta en el nodo j
ij
ij ij x
c
s.a.
minimice
n
j
L
x
x j
k kj
k jk ,....,
2
,
1
,
la red
(i,j) de
ar
todos los
c
x ij
ij cos
,
0
252. 252
Resolver para las siguientes capacidades y costos
Capacidad
de a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5
Sitio 1 10
Sitio 2 4 3 3
Sitio 3 2
Sitio 4 4
Sitio 5 3 5
Costo Unitario
de a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5
Sitio 1 $100
Sitio 2 $45 $50 $20
Sitio 3 $60
Sitio 4 $85
Sitio 5 $10 $55
Ver transbordo con capacidades
253. 253
2.4.2 Modelo de la Ruta más corta
Se pueden dar dos casos para representar la red:
Como grafo no dirigido
Como grafo dirigido
Situaciones:
a
b
Cualquiera que sea el caso corresponde
a grafos ponderados (con peso)
254. 254
2.4.2 Modelo de la Ruta más corta
Considerénse todos los nodos que estén directamente
conectados con el origen. Etiquetarlos con la distancia al
origen y su nodo predecesor. Etiquetas temporales,
[distancia, nodo].
De entre todos los nodos con etiquetas temporales,
escoger el que tenga la distancia menor y se marca como
permanente. Si todos están con etiquetas permanentes se
va al paso cuatro.
a) Algoritmo: Grafo no dirigido
1
2
255. 255
2.4.2 Modelo de la Ruta más corta (GND)
Todo nodo que no tenga etiqueta permanente, tendrá etiqueta
temporal o estará sin etiqueta. Sea L el último nodo con
etiqueta permanente. Considerénse todas las etiquetas de los
vecinos de L (directamente conectados a L mediante un
arco). Para cada uno de estos nodos calcúlese la suma de su
distancia a L. Si el nodo en cuestión no está etiquetado,
asígnese una etiqueta temporal que conste de esta distancia y
de L como predecesor. Si el nodo en cuestión ya tiene
etiqueta temporal, cámbiese sólo si la distancia recién
calculada es menor que la componente de distancia de la
etiqueta actual. En este caso, la etiqueta contendrá esta
distancia y a L como predecesor. Regresar al paso 2
3
Algoritmo:
256. 256
2.4.2 Modelo de la Ruta más corta (GND)
Las etiquetas permanentes indican la distancia más corta entre
el nodo origen a cada nodo de la red. También indican el
nodo predecesor en la ruta más corta hacia cada nodo. Para
encontrar el camino más corto de un nodo dado, comiéncese
en él y retroceda al nodo anterior. Continuar con el recorrido
hasta llegar al origen.
Algoritmo:
4
257. 257
2.4.2 Modelo de la Ruta más corta (GND)
Ejemplo: Para el siguiente grafo encontrar la distancia más corta
desde el nodo H al resto de los nodos.
H
1
2
3
4
5
6
7
8
4
1
1
1
1
2
2
7
6
3
3
3
258. 258
2.4.2 Modelo de la Ruta más corta (GND)
Solución:
H
1
2
3
4
5
6
7
8
4
1
1
1
1
2
2
7
6
3
3
3
(8,H)
(4,H)
(5,1)
(6,3)
(8,2)
(6,3)
(9,4)
(9,7)
ó
1:Ver ejemplo 1 Ruta mas corta 2: Hacer problema 19 guía 2 (Ejemplo 2 Ruta mas corta
260. 260
2.4.2 Modelo de la Ruta más corta (GD)
Es una técnica exhaustiva, esto es, prueba todas las alternativas
posibles.
Opera a partir de un conjunto S de vértices cuya distancia más
corta desde el origen ya es conocida. Inicialmente S contiene sólo
el nodo de origen. En cada paso se agrega algún vértice restante v
a S, cuya distancia desde el origen es la más corta posible.
Para cada paso del algoritmo, se utiliza una matriz D para registrar
la longitud del camino más corto a cada vértice.
b) Algoritmo de Dijkstra
261. 261
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
INICIO
0) V = {1, 2, 3, 4, ..., n}
1) S = {1} // nodo 1 se supone que es el origen
2) Para i=2 Hasta n Hacer
3) Di = C1i
4) Para i=1 Hasta n-1 Hacer
5) Elegir un vértice w en V-S tal que Dw sea un mínimo
6) agregar w a S
7) Para cada vértice v en V-S Hacer
SI ((Dw+Cwv)<Dv)
//Pv = w
Dv = Dw+Cwv
8) //Dv=mínimo(Dv,Dw+Cwv)
FIN
262. 262
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
Ejemplo: Aplicar el algoritmo al siguiente grafo dirigido
10
100
60
50
30
10
2
1
3 4
5
20
263. 263
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
Inicial
0) V = {1, 2, 3, 4, 5}
1) S = {1}
2)
3) D2 = 10, D3 = inf, D4=30, D5 = 100
4) Iterar 4 veces
5) Seleccionar nodo con distancia más corta de V-S,
En el ejemplo es el nodo 2
Iteración S w D2 D3 D4 D5
Inicial {1} -- 10 inf 30 100
264. 264
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
6) Agregar el nodo 2 a S : S = {1,2}
7) Iterar |V-S|, (V-S = {3,4,5})
D3=mínimo(D3,D2+C23) =mínimo(inf,10+50) = 60
D4=mínimo(D4,D2+C24) =mínimo(30,10+inf) = 30
D5=mínimo(D5,D2+C25) =mínimo(100,10+inf) = 100
Iteración S w D2 D3 D4 D5
Inicial {1} -- 10 inf 30 100
1 {1,2} 2 10 60 30 100
265. 265
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
2a Iteración
V-S = {3,4,5}
5) w = 4
6) S = {1,2,4}
7) Iterar |V-S| V-S = {3,5}
D3=mínimo(D3,D4+C43) =mínimo(60,30+20) = 50
D5=mínimo(D5,D4+C45) =mínimo(100,30+60) = 90
Iteración S w D2 D3 D4 D5
Inicial {1} -- 10 inf 30 100
1 {1,2} 2 10 60 30 100
2 {1,2,4} 4 10 50 30 90
266. 266
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
3a Iteración
V-S = {3,5}
5) w = 3
6) S = {1,2,4,3}
7) Iterar |V-S| (V-S = {5})
D5=mínimo(D5,D3+C35) =mínimo(90,50+10) = 60
Iteración S w D2 D3 D4 D5
Inicial {1} -- 10 inf 30 100
1 {1,2} 2 10 60 30 100
2 {1,2,4} 4 10 50 30 90
3 {1,2,4,3} 3 10 50 30 60
267. 267
2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra
4a Iteración
V-S = {5}
5) w = 5
6) S = {1,2,4,3,5}
7) Iterar |V-S| (V-S = {})
Iteración S w D2 D3 D4 D5
Inicial {1} -- 10 inf 30 100
1 {1,2} 2 10 60 30 100
2 {1,2,4} 4 10 50 30 90
3 {1,2,4,3} 3 10 50 30 60
4 {1,2,4,3,5} 5 10 50 30 60
Tabla Final
268. 268
¿Cuál es el camino?
Para conocer el camino hay que incluir otra matriz P de
vértices, tal que Pv contenga el vértice inmediato anterior a v
en el camino más corto.
Se asigna a Pv valor inicial 1 para todo v 1
La matriz P se actualiza después de la línea 8.
Si Dw + Cwv < Dv en la línea 8, después se hace Pv = w
Al término de la corrida del algoritmo, el camino a cada vértice
puede encontrarse regresando por los vértices predecesores de
la matriz P
269. 269
¿Cuál es el camino?
Para el ejemplo, la matriz P debe tener los valores
P2 =1, P3 = 4, P4 = 1, P5 = 3
Para encontrar el camino más corto del vértice 1 al 5, se siguen
los predecesores en orden inverso.
3 es el predecesor de 5
4 es el predecesor de 3
1 es el predecesor de 4
270. 270
Problema de los caminos más cortos entre
todos los pares de nodos
Para visualizar el problema se emplea un grafo dirigido G =
(V,A) en el que cada arco v w tiene un costo no negativo
Cv,w. El problema consiste en encontrar el camino de longitud
más corta (menor costo) entre v y w para cada par ordenado de
vértices (v,w).
Algoritmo de Floyd
Se utiliza una matriz A, donde Aij = Cij para toda i j, si no
existe camino directo entre i y j se supone que Cij = inf. Cada
elemento de la diagonal se hace cero.
271. 271
Problema de los caminos más cortos entre todos los pares de nodos
Después se hacen n iteraciones en la matriz A.
Al final de la k-ésima iteración Aij tendrá por valor la longitud
más pequeña de cualquier camino que vaya desde el vértice i
hasta el vértice j y que no pase por un vértice mayor que k.
Esto es, i y j, los vértice extremos del camino, pueden ser
cualquier vértice, pero todo vértice intermedio debe ser menor
o igual a k.
En la k-ésima iteración se aplica la siguiente fórmula para
calcular A
k-1Aij
kAij = min
k-1Aik + k-1Akj
272. 272
Problema de los caminos más cortos entre todos los pares de nodos
Para calcular Aij, se compara k-1Aij, el costo de ir de i a j sin
pasar por k o cualquier otro nodo con numeración mayor, con
k-1Aik + k-1Akj, el costo de ir primero de i a k y después de k a j,
sin pasar a través de un vértice mayor que k. Si el paso por el
vértice k produce un camino más económico que el de k-1Aij, se
elige ese costo para kAij.
k-1Aij
i
k
j
273. 273
Problema de los caminos más cortos entre todos los pares de nodos
Algoritmo de Floyd // Se supone que se cuenta con la matriz de costo C
0) INICIO
1) Desde i = 1 Hasta N
2) Desde j = 1 Hasta N
3) Aij Cij
4) Desde i = 1 Has ta N
5) Aii = 0
6) Desde k = 1 Hasta N
7) Desde i = 1 Hasta N
8) Desde j = 1 Hasta N
9) SI (Aik + Akj < Aij)
10) Aij = Aik + Akj
11) FIN
274. 274
Problema de los caminos más cortos entre todos los pares de nodos
Recuperación de caminos para el Algoritmo de Floyd
Cuando es de interés conocer el camino más corto
entre dos vértices, hay que consignarlo en una matriz
P, donde Pij tiene el vértice k que permitió a Floyd
encontrar el valor menor de Aij. Si Pij es cero, el
camino de i a j es directo.
275. 275
Problema de los caminos más cortos entre todos los pares de nodos
Algoritmo de Floyd Modificado
0) INICIO
1) Desde i = 1 Hasta N
2) Desde j = 1 Hasta N
3) Aij Cij
3) Pij 0
4) Desde i = 1 Has ta N
5) Aii = 0
6) Desde k = 1 Hasta N
7) Desde i = 1 Hasta N
8) Desde j = 1 Hasta N
9) SI (Aik + Akj < Aij)
10) Aij Aik + Akj
10) Pij k
11) FIN
276. 276
Problema de los caminos más cortos entre todos los pares de nodos
Ejemplo: Aplique Floyd al grafo ponderado mostrado en la
figura
1 2 3
2
8
3
2
5
277. 277
Problema de los caminos más cortos entre todos los pares de nodos
Solución:
Tabla Inicial
Nodos 1 2 3
1 0 8 5
2 3 0 inf
3 inf 2 0
0Aij
278. 278
Problema de los caminos más cortos entre todos los pares de nodos
Solución:
Después de la primera iteración
1Aij
Nodos 1 2 3
1 0 8 5
2 3 0 8
3 inf 2 0
279. 279
Problema de los caminos más cortos entre todos los pares de nodos
Solución:
Después de la segunda iteración
2Aij
Nodos 1 2 3
1 0 8 5
2 3 0 8
3 5 2 0