Apuntes de IOI PDF
Apuntes de IOI PDF
Apuntes de IOI PDF
FACULTAD DE INGENIERÍA
DEPTO. INGENIERÍA INDUSTRIAL
Investigación
de operaciones 1
2013
UNIVERSIDAD DE ANTOFAGASTA
FACULTAD DE INGENIERÍA
DEPTO. INGENIERÍA INDUSTRIAL
INDICE
Página
CAPÍTULO I: ASPECTOS INTRODUCTORIOS .................................................................. 1
1.1.- INTRODUCCIÓN ...................................................................................................... 1
1.2.- DEFINICIÓN DEL PROBLEMA Y RECOLECCIÓN DE DATOS ............................ 4
1.3.- FORMULACIÓN DE UN MODELO MATEMÁTICO .............................................. 5
1.4.- OBTENCIÓN DE UNA SOLUCIÓN A PARTIR DE UN MODELO ......................... 7
1.5.- PRUEBA DEL MODELO .......................................................................................... 8
1.6.- PREPARACIÓN PARA LA APLICACIÓN DEL MODELO ..................................... 9
CAPÍTULO II: PROGRAMACIÓN LINEAL ....................................................................... 10
2.1.- INTRODUCCIÓN .................................................................................................... 10
2.2.- RESOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LINEAL (PPL)
MEDIANTE EL MÉTODO GRÁFICO (DOS VARIABLES DECISIONALES) .............. 13
2.2.2.- Análisis De Casos Excepcionales ....................................................................... 21
2.2.2.1.- Solución No Acotada ................................................................................... 21
2.2.2.2.- Acotamiento ................................................................................................ 22
2.2.2.3.- Inconsistencia .............................................................................................. 23
2.2.2.4.- No Factibilidad ............................................................................................ 23
2.3.- FORMULACIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL .................. 24
2.4.- MÉTODO SIMPLEX DE LA PROGRAMACIÓN LINEAL .................................... 29
2.4.1.- Reglas De Programación Lineal ......................................................................... 31
2.4.2.- Terminología Básica ........................................................................................... 34
2.4.3.- Teoría del Problema Del Programación Lineal.................................................... 35
2.4.4.- Obtención de una Solución Básica Factible ........................................................ 36
2.4.4.1.-Forma Matricial ............................................................................................ 37
2.4.5.- Pasos del método simplex ................................................................................... 38
2.4.6.- Interpretación Económica ................................................................................... 42
2.5.- METODO DE LA GRAN M ..................................................................................... 44
2.6.- METODO DE DOBLE FASE ................................................................................... 47
2.7.- CASOS ESPECIALES DE PPL MEDIANTE TABLEAU ........................................ 51
2.7.1.- Problema Con Soluciones Óptimas No acotado .................................................. 51
2.7.2.- Problema Con Soluciones Óptimas Múltiples .................................................... 53
2.7.3.- Problema Sin Soluciones o Infactible ................................................................. 56
2.7.4.- Problema Con Soluciones Degeneradas .............................................................. 58
La resolución mediante el método simplex es: ....................................................................... 58
CAPITULO III: DUALIDAD Y ANÁLISIS DE SENSIBILIDAD ....................................... 60
3.1.- DUALIDAD ............................................................................................................. 60
3.1.1.- Formulación del Problema Dual. ........................................................................ 60
3.1.2.- Teoremas de Dualidad ........................................................................................ 65
3.1.4.- Solución Del Problema Dual .................................................................................. 66
3.1.5.- Interpretación Económica De Las Variables Duales ............................................ 70
3.1.6.- Método Simplex Dual......................................................................................... 72
3.1.7.- Transformación de Tabla Óptima Primal a una Tabla Óptima Dual .................... 74
UNIVERSIDAD DE ANTOFAGASTA
FACULTAD DE INGENIERÍA
DEPTO. INGENIERÍA INDUSTRIAL
1.1.- INTRODUCCIÓN
El origen de la investigación de operaciones (IO) surge durante la segunda guerra
mundial, cuando existía una necesidad urgente de asignar recursos escasos a las
distintas operaciones militares y actividades dentro de cada operación en la forma
más efectiva. La fuerza aérea Británica formó el primer grupo de IO, aunque se
acepta como origen de la investigación de operaciones al tiempo de la división y
especialización del trabajo; junto a ello, fueron apareciendo nuevos tipos de
problemas cada vez más complejos y especializados en donde, generalmente, se
pierde el horizonte de solución del todo (objetivo general) por lo específico (objetivo
particular), creándose el problema de asignación de recursos.
Hay dos factores que ayudan al desarrollo de esta temática: primero, es el gran
conocimiento desarrollado y adquirido en esta área producto de la especialización del
trabajo y técnicas productivas, a modo de ejemplo: el método Simplex para resolver
problemas de programación lineal (por Dantzig), así como: también programación
dinámica, líneas de espera, teoría de inventarios, etc. El segundo factor fue el
avance computacional, ya que disminuyó el tiempo de resolución de problemas muy
tediosos y largos por forma manual, por lo cual, se implementaron muchos
programas asociados a estas temáticas.
Categorías de problemas:
Problemas determinísticos: Son aquellos en que toda la información necesaria
para obtener una solución se conoce con certeza.
Problema estocástico: Son aquellos en que parte de la información necesaria
no se conoce con certeza, sino más bien se comporta de una manera
probabilística.
1
Tipos de decisiones:
Decisiones estratégicas: Una decisión de una sola vez que involucra políticas
con consecuencia a largo plazo para la organización. Ej. Expansión de líneas
de producción, Políticas de administración de inventarios.
Decisiones operacionales: Una decisión que implica aspectos de planificación
de corto plazo que, generalmente, se deben hacer repetidamente. Ej.
Programación de la producción.
Desarrollo de
un Modelo
Matemático
Resolución
de un Modelo
Matemático
Solución
Modelo Implementa-
Modificado ción
NO ¿Es válida la SI
solución?
2
problema en cuestión. Se dice una mejor solución y no la mejor solución, porque
puede haber varias mejores soluciones (empate), en estos casos prevalece el juicio
del tomador de decisiones en la elección final.
Las principales etapas que se describen, se deben entender como guías para la
selección y adopción del problema y su solución. Pueden ser evolutivas iterativas
dependiendo de la información disponible.
3
Las tareas principales que se deben, en general, ejecutar en cada etapa son:
Identificar, analizar, evaluar, ordenar, y priorizar los elementos que la componen. La
secuencia descrita en el punteo no es, por lo tanto, imperativa.
Se debe definir en forma clara y explicita, para obtener una respuesta correcta a
partir del problema correcto; debe existir un acuerdo completo de entre las personas
que participen en el estudio, además de una medida clara y explícitamente
establecida, de efectividad que esté en armonía con los objetivos o metas globales
de la organización.
4
el único tipo de objetivo a cumplir, esto dependerá del criterio a satisfacer por los
demandantes del estudio (ejemplo una empresa).
Hay que tener cuidado al recolectar los datos, ya que generalmente son datos
insuficientes o a veces los datos proporcionados son obsoletos, por ello, hay que
revisar que la base de datos recolectada sea actualizada a los objetivos del estudio.
5
La función planteada sea maximizar o minimizar se llama función objetivo, todas las
limitaciones que se tengan para llevar a cabo cursos de acciones diferentes se
llaman restricciones (generalmente planteadas como desigualdades). Toda constante
de modelo incluida en la función objetivo o en las restricciones se llaman parámetros
del modelo.
Hay que dejar en claro que para la solución de un problema no existe una
formulación única de un modelo, para un mismo problema pueden existir varios
modelos útiles.
Uno de los modelos relativamente más sencillos de resolver son los de programación
lineal, que se pueden usar para:
Mezcla de productos que maximice la ganancia
Diseño de terapia de radiación que combata de manera efectiva un tumor y a
la vez minimice el daño al tejido sano circundante.
6
Asignación de acres a distintas cosechas para maximizar el rendimiento total
neto.
Combinación de métodos de control de contaminación que logren estándar de
calidad del aire a un costo mínimo, etc.
De esta manera, la solución se puede obtener a partir de: analítica, obtenida a partir
del conjunto de ecuaciones o funciones que miden efectividad (criterio) o
disponibilidad (restricciones); simulada o estadística, cuando la complejidad es alta o
no existen funciones matemáticas que representen a unas restricciones o
limitaciones; y heurística, cuando existan decisiones cualitativas o de experiencia que
no pueden cuantificarse. Estas soluciones serán satisfactorias, pero no óptimas (sólo
cercanas a estas) o Mixtas por combinación de las anteriores.
7
pertenece a los demás tipos, el concepto de optimalidad (u óptimo) no está bien
estructurado y sólo obtendremos una solución buena o satisfactoria, que se debe
analizar y mejorar (si se puede) en los pasos que sigan.
Los parámetros sensibles del modelo son aquellos cuyos valores no se pueden
cambiar sin que la solución óptima cambie.
Hay que tener cuidado con el empleo de las unidades, es decir, que sean
dimensionalmente consistentes.
8
Por supuesto que no hay garantías de que el comportamiento futuro sea similar al
pasado; si el sistema es nuevo no hay datos históricos, por lo que para probarse,
deberá usarse simulación, o arriesgarse haciendo operar el sistema y el modelo (con
o sin cambios).
Las condiciones reales pueden cambiar mucho, haciendo que el modelo sea no
válido (ej. Parámetros muy diferentes, renovación de las máquinas con tecnología
diferente, etc.), por lo que, se deben establecer los controles adecuados para
determinar cualquier cambio significativo del sistema real (procedimientos
sistemáticos, controles estadísticos, etc.)
9
CAPÍTULO II: PROGRAMACIÓN LINEAL
2.1.- INTRODUCCIÓN
La aplicación de la programación lineal se está ampliando muy rápidamente a todas
las áreas del quehacer, tanto a nivel ingenieril como de otras especialidades.
En la vida real, las organizaciones operan con recursos escasos y todas ellas tienen
que tomar decisiones sobre cómo asignar estos recursos, continuamente la dirección
debe asignar estos recursos escasos para alcanzar las metas de la organización.
Existe un método de solución eficiente para este tipo de problemas llamado Método
Simplex y existen en el mercado programas computacionales que se apoyan en
ellos, tales como: Lindo, Lingo, AMPL, GAMS, OPL, POM, etc.
Notación:
Z : valor de la medida global de efectividad.
10
xj : nivel de la actividad j (para j = 1, 2, …., n)
cj : incremento en Z que resulta al aumentar una unidad en el nivel de la
actividad j
bi : cantidad del recurso i disponible para asignar a las actividades (para i = 1, 2,
…, m)
aij : cantidad del recurso i consumido por cada unidad de la actividad j.
Los valores xj son las variables de decisión y los valores de c j, bi , y aij son las
constantes de entada al modelo (parámetros del modelo).
11
cjxj en la función objetivo, como también, la contribución de cada actividad al
lado izquierdo de cada restricción funcional es proporcional al nivel de la
actividad xj en la forma en que lo representa el término a ijxj en la restricción.
Es una suposición sobre las actividades individuales que se considera
independiente de las otras. Así se presenta en situaciones tales que la división
de efectividad y el uso de recursos sea en cada caso, proporcional al nivel en
que cada actividad se ejecuta.
De aditividad.- cada función en un modelo de programación lineal (ya sea
función objetivo o en las restricciones) es la suma de las contribuciones
individuales de las actividades respectivas. Se refiere al efecto de llevar a
cabo actividades en conjunto. Así el aporte a la optimización del objetivo por
una parte, el consumo de recursos y el aporte al requerimiento en cada
actividad por la otra, debe ser medible de manera tal que resulte factible
sumar independientemente el consumo de todas las actividades consideradas.
De divisibilidad.- las variables de decisión en un modelo de programación
lineal pueden tomar cualquier valor, incluyendo valores no enteros, que
satisfagan las restricciones funcionales y de no negatividad. Como cada
variable de decisión representa el nivel de alguna actividad, se supondrá que
las actividades se pueden realizar a niveles fraccionales. (cuando los valores a
tomar por las variables de decisión no pueden ser fracciones, entonces es
parte de la programación entera). Se refiere a que las unidades de cada
actividad se pueden dividir en cualquier nivel fraccional, para que se permitan
valores no enteros de las variables de decisión.
De certidumbre.- se supone que los valores asignados a cada parámetro de
un modelo de programación lineal son constantes conocidas.
12
invariables en el largo plazo y los coeficientes tecnológicos aumentan
proporcionalmente al requerirse la producción de una unidad más.
Por otra parte, la necesidad de trabajar con un nivel fijo de recursos significa que la
solución típica de la programación lineal está también confinado a problemas de
corto plazo.
Resumen de Información:
Mesa (u) Silla (u) Horas Directas
Disponibles (hr)
Ensamble 4 (hr) 2 (hr) 60
Acabado 2 (hr) 4 (hr) 48
Utilidad u.m. $8 $6
13
Planteamiento del Problema
Restricciones:
1. Depto. Ensamble:
4X m 2X s 60
2. Depto. Acabado
2X m 4X s 48
3. No Negatividad
Xm 0
Xs 0
Función Objetivo:
Max
U 8X m 6X s
Xm
14
Cada una de las restricciones se grafican, considerando inicialmente la desigualdad
como una igualdad.
Las dos coordenadas anteriores se señalan en la gráfica y se unen con una línea
recta, pero el signo de la desigualad incluye a todos los pares ordenados que están a
la izquierda de dicha recta. La siguiente figura representa dicha situación:
Xs
Restricción 1
Xm
Las dos coordenadas anteriores se señalan en la gráfica y se unen con una línea
recta, pero el signo de la desigualad incluye a todos los pares ordenados que están a
la izquierda de dicha recta. La siguiente figura representa dicha situación:
15
Xs
Restricción 2
Xm
Restricción 1 Xs
Restricción 2
RSF
Xm
16
haciendo la función objetivo igual a un valor arbitrario, por ejemplo, se elegimos
igualar la utilidad a $48 (u.m.), esta se gráfica (con línea segmentada) de igual
manera que las inecuaciones anteriores. Esta línea de isoganancias representa
todas las cantidades posibles de mesas y sillas que producirán una utilidad total de
$48 (u.m.). El problema, finalmente, se resume en encontrar la línea de isoganancia
que tenga la mayor utilidad y que este sobre la región de soluciones factibles. Lo
anterior se realiza, moviendo la línea de isoganancia en forma paralela a una línea
de isoganancia arbitraria, hasta que alcance el último punto de la RSF.
De esta manera, el último punto factible es el identificado con la letra D, por lo cual,
es el punto óptimo se encuentra por la intersección de las restricciones 1 y 2, así:
4Xm 2X s 60
2Xm 4X s 48
Xs 6 (u) sillas
Xm 12 (u) mesas
Restricción 1 Xs
U=$132 (u.m.)
Restricción 2
U=$48 (u.m.)
RSF
Xm
Ejemplo 2:
Una pequeña fábrica de muebles, elabora únicamente dos productos: Escritorios y
Sillas. Este fabricante tiene cuatros secciones: sección corte, en la cual se procesan
silla y escritorios; sección armado, en la cual se ensamblan las sillas y escritorios;
17
sección tapicería, en la cual sólo se incluye el tapiz de las sillas y sección cubiertas,
en la cual se fabrican dichas cubiertas y se colocan en los escritorios. Durante el
siguiente periodo de producción, hay 27.000 minutos disponibles para cada una de
las secciones y este tiempo no se puede alterar dentro de los parámetros del
problema. En cada una de las secciones, se ha establecido que los tiempos
estándares fijos que se necesitan para procesar cada silla son los siguientes: 15; 12;
18,75 minutos, para las secciones de corte, armado y tapicería, respectivamente; en
cambio, para el proceso de cada escritorio se requiere de: 40; 50; 56,25 minutos,
para las secciones de corte, armado y cubierta, respectivamente. Las contribuciones
a la utilidad y a los costos fijos de cada silla son de $25 (u.m.) y para cada escritorio
es de $75 (u.m.).
Se acepta que los costos indirectos totales de los cuatros departamentos son de
$20.500 (u.m.) y los costos totales en mano de obra para todos los departamentos es
de $13.500 (u.m.), resultando un costo fijo total de $34.000 (u.m.). Se supone que la
materia prima es un costo variable y que no hay costos adicionales. El costo de la
materia prima por cada silla es de $5 (u.m.) y de cada escritorio es de $25 (u.m.). El
precio de venta a que se deberá ofrecer toda la producción es de $30 (u.m.) por cada
silla y $100 (u.m) por cada escritorio (sin considerar el costo indirecto). Se pide
maximizar la contribución a la utilidad.
Resumen de la información:
Sección Silla (min) Escritorio (min) Disponibilidad (min)
Corte 15 40 27.000
Armado 12 50 27.000
Tapicería 18,75 - 27.000
Cubierta - 56,25 27.000
Contribución
$ 25 $ 75
a la utilidad (u.m.)
Costo Materia
$5 $ 25
Prima (u.m)
Precio Venta (u.m) $ 30 $ 100
Costo Indirecto: $ 20.500 (u.m.)
Costo Mano de Obra: $ 13.500 (u.m.)
Costo Fijo Total: $ 34.000 (u.m.)
Corte:
15 X s 40 X e 27.000
18
Armado:
12 X s 50 X e 27.000
Tapicería:
18,75 X s 27.000
Cubierta:
56,25 X e 27.000
No Negatividad:
Xs 0
Xe 0
max
U 25 X s 75 X e
Representación Gráfica:
Xe
Restricción 5
Restricción 3
Restricción 1
675
Restricción 2
540 E
Restricción 4
480
C
400
F
Restricción 5
A B
Xs
1.200 1.440 1.800 2.250
U* = $30.000 U* = $47.500
Corte
15 27.000 3
Xe *Xs Contribuci ón M 0,375
40 40 8
19
Armado
12 27.000 6
Xe *Xs Contribuci ón M 0,240
50 50 25
Tapicería
18,75 27.000
Xe *Xs Contribuci ón M
0 0
Cubierta
0 27.000
Xe * Xs Contribuci ón M 0
56,25 56,25
Función Objetivo:
25 U 1
Xe *Xs Contribuci ón M 0.333
75 75 3
Podemos observar que la pendiente de la f.o. esta entre la sección corte y armado
(en valor absoluto), así:
pend _ corte 0,375 pend _ f .o. 0,333 pend _ armado 0,240
Por otra parte, como se aprecia, la f.o. crece mientras más se aleja del origen, se
puede ver que el punto D cumple con las restricciones impuestas por ele problema y
optimiza, en este caso, la contribución a la utilidad. En general, no se requiere
analizar el valor de las pendientes de todas las rectas que intervienen, sino que
mediante una inspección ocular se puede determinar cuales de todas las
restricciones se deben analizar para detectar el óptimo:
De esta manera:
U $47.500(u.m)
X s* 1.000 (u) sillas
X m* 300 (u) escritorios
20
Se puede apreciar que si utilizamos el concepto de contribución o utilidad, de igual
manera, el punto D es el de máximo beneficio.
X2
c a
RSF
c
X1
La función objetivo crece sin encontrar ninguna restricción que la acote, esto implica
que el problema está mal planteado. Se debe replantear las restricciones.
21
X2
c
a
RSF
c
X1
2.2.2.2.- Acotamiento
Las variables crecen arbitrariamente, donde el punto de soluciones factibles es la
línea de restricción, generando que el valor de la función objetivo sea constante.
Max Z X1 3X 2
s.a :
X1 X2 1
2 X1 6X 2 10
X1 0; X 2 0
X2
c a
RSF
c
X1
22
2.2.2.3.- Inconsistencia
No existe una RSF única, producto de las restricciones existentes.
X2
c
RSF 2
RSF 1 c
X1
2.2.2.4.- No Factibilidad
Para este caso, el problema necesario para definir este tipo de problema es el
siguiente programa matemático:
Max Z X1 2 X 2
s.a :
X1 X2 2
X1 3X 2 3
X1 0; X 2 0
23
X2
c a
RSF 2
RSF 1
c
X1
RSF 3
Las soluciones no son factibles en este caso, ya que no respetan las condiciones o
restricciones de no negatividad.
24
Existe una extensión de 250.000 mt 2 de tierra propicia para el cultivo de estos
productos. Supóngase que los ingenieros agrónomos han determinado que las
siguientes extensiones son necesarias para el cultivo de esos productos.
Tipo de árbol extensión mínima de cultivo por árbol
Palta 4 mt2
Pomelo 5 mt2
Mango 3 mt2
Naranja 6 mt2
Estos costos ya incluyen la compra del árbol más su cuidado y mantenimiento anual
inicial. Cada árbol empieza a ser productivo aproximadamente a los tres años de ser
plantado. Cada árbol requiere:
Palta : 36 (h-h) de cuidado al año.
Pomelo : 72 (h-h) de cuidado al año.
Mango : 50 (h-h) de cuidado al año.
Naranja : 10 (h-h) de cuidado al año.
Desarrollo
25
b.- planteamientos de las restricciones
1.- Tierra
4 X p 5 X l 3X m 6 X n 250.000
3.- Capital
2X p 0,5 X l X m 1,5 X n 20.000.000
4.- No negatividad
Xi 0 i p, l, m, n
Max
Z 1.500 Xp 800 Xl 750 Xm 1.050 Xn
s.a :
4 Xp 5 Xl 3 Xm 6 Xn 250.000
36 Xp 72 Xl 50 Xm 10 Xn 390.000
2 Xp 0,5 Xl Xm 1,5 Xn 20.000.000
X i 0 i p, l , m, n y enteras
26
Las botellas abiertas se retornan a la fundidora de vidrio, en donde se convierten a
materia prima y de ahí se mandan a las fábricas de botellas. Así la producción
máxima mensual de botellas es:
Planta de Bebidas Capacidad Mensual en Botellas
San Bernardo 1.500.000
Chillán 1.000.000
Iquique 750.000
El costo por miles de botellas desde las plantas de botellas a las plantas de bebidas
es:
DE \ A San Bernardo Chillán Iquique
Santiago 5 20 15
Concepción 20 15 2
Puerto Montt 25 2 10
Antofagasta 75 50 40
Arica 45 80 60
Desarrollo
Variables de decisión.-
Xij : cantidad de botellas (en miles) producidas en la planta i (San Bernardo, Chillán e
Iquique) y enviadas a la planta embotelladora j (Santiago, Concepción, Puerto Montt,
Antofagasta y Arica) en el mes.
Función Objetivo
3 8
Min C ij * X ij Z
i 1 j 4
i = 1,2,3 planta de botellas
j = 4,5,6,7,8 planta de bebidas
Min
Z= 5X14 + 20X15 + 25X16 + 75X17 + 45X18 +
20X24 + 15X25 + 2X26 + 50X27 + 80X28 +
15X34 + 2X35 + 10X36 + 40X37 + 60X38
Restricciones:
No Negatividad
xij 0
27
De Demanda
X 14 X 24 X 34 2.000
X 15 X 25 X 35 500
X 16 X 26 X 36 100
X 17 X 27 X 37 400
X 18 X 28 X 38 100
De Oferta
X 14 X 15 X 16 X 17 X 18 1.500
X 24 X 25 X 26 X 27 X 28 1.000
X 34 X 35 X 36 X 37 X 38 750
Problema 3: Un barco dispone de tres bodegas para la carga: una proa, una popa y
una de centro. La capacidad máxima de bodega es:
Bodega Capacidad en peso (ton) Máximo en Volumen (pie3)
Proa 2.000 100.000
Centro 3.000 135.000
Popa 1.500 30.000
Las cargas que deben ser transportadas pudiendo ser la cantidad total o parcial, son
las siguientes:
Mercadería Carga disponible (ton) Volumen unitario (pie3/ton) Utilidad ($/ton)
A 6.000 60 6.000
B 4.000 50 8.000
C 2.000 25 5.000
A fin de asegurar la estabilidad del barco, el peso en cada bodega debe ser
proporcional a su capacidad en toneladas. ¿Cómo debe ser distribuida la carga a fin
de asegurar una utilidad máxima?
Desarrollo
Variables de decisión
Xip : cantidad de carga de mercadería i, a ser llevados a proa
Xic : cantidad de carga de mercadería i, a ser llevados a centro
Xipp: cantidad de carga de mercadería i, a ser llevados a popa
i = A, B, C
Restricciones:
No Negatividad
X ip , X ic , X ipp 0
28
De capacidad máxima de bodegas
X Ap X Bp X Cp 2.000
X Ac X Bc X Cc 3.000
X App X Bpp X Cpp 1.500
De proporcionalidad a la capacidad
( X Ap X Bp X Cp ) ( X Ac X Bc X Cc ) ( X App X Bpp X Cpp )
2.000 3.000 1.500
Función Objetivo
Max
Z = 6000(XAp + XAc + XApp) + 8000(XBp + XBc + XBpp) + 5000(XCp + XCc + XCpp)
(a) función lineal llamada función objetivo, donde el concepto de optimización puede
ser maximizar (para nuestro caso) o minimizar
(b) restricciones de desigualdad
(c) restricciones de no negatividad
29
X : vector columna con n componentes, se le denomina vector de actividades (n
componentes que son las variables de decisión)
x1
x2
X
xn n 1
C : vector renglón con n componentes, se le denomina vector de precios o costos
unitarios (contribuciones unitarias)
C c1 , c2 , ... , c3 1 n
b : vector columna con m componentes, se le denomina vector disponibilidad de
recursos
b1
b2
b
bm m 1
0 : vector columna de n ceros
0
0
0
0 n 1
A : matriz de m renglones y de n columnas, se le denomina matriz de coeficientes
tecnológicos
a11 a12 a1n
a21 a22 a2 n
A
am1 am 2 amn m n
30
Matricialmente el problema de programación lineal se puede expresar como:
Optimizar
x1
x2
Z= c1 , c2 , ... , c3 1 n *
xn n 1
s.a:
a11 a12 a1n x1 b1
a21 a22 a2 n x2 b2
* ó
am1 am 2 amn m n
xn n 1
bm m 1
x1 0
x2 0
xn n 1
0 n 1
Regla 2.-
a.- la desigualdad A X b es equivalente a la desigualdad A X b.
b.- la desigualdad A X b es equivalente a la desigualdad A X b.
Regla 3.-
Toda igualdad de la forma A X b , se puede descomponer como la intersección de
dos desigualdades A X b y A X b.
Regla4.-
a.- Toda desigualdad de la forma A X b , se puede convertir en igualdad, mediante
la adición del vector columna Y de m componentes no negativos, llamada variable de
holgura
31
y1 0
y2 0
Y
ym m 1
0 m 1
hm m 1
0 m 1
Regla 5.-
Una variable no restringida, la cual toma toda clase de valores: negativos, ceros y
positivos, se puede escribir como la diferencia de dos variables no negativas
R2.-
3 x1 8 x2 20
3 x1 8 x2 20
R3.-
10 x1 3x2 7
10 x1 3x2 7
10 x1 3x2 7
32
R4 (a).-
10 x1 x2 5
7 x1 2 x2 1
x1 , x2 0
10 x1 x2 y1 5
7 x1 2 x2 y2 1
x1 , x2 0
y1 , y2 0
R5.-
x1 : variable no restrigida
x1 x2 x3
x2 x3 x1 0
x2 x3 x1 0
x2 x3 x1 0
Ejemplo.-
Convertir el problema de programación lineal a la forma canónica
Min
Z 3x1 4 x2 x3 (a)
s.a :
0,5 x1 2 x2 3
(b), (c)
x2 x3 4
x1 0, x2 0, x3 no restingida (d), (e), (f)
Desarrollo
33
La restricción (f) queda por R5:
x 4 x5 x6 4
x3 = x5 – x6
x 4 x5 x6 4
Por ejemplo:
A B
34
La solución básica factible (S.B.F) está en los vértices ABC.
Dónde n > m, para que exista un espacio de soluciones factibles mayor que un sólo
punto, es decir, que las restricciones sean linealmente independientes (l.i.)
Por ejemplo: Si n = 50 y m = 30
50 50!
= 4.7129 * 1013 puntos extremos a analizar
30 30!(50 30)!
35
Para obtener la forma aumentada del problema, se introduce el vector columna de
las variables de holgura.
Xn 1
Xn 2
Xs
Xn m
Donde:
I : matriz identidad, de orden ( m m )
0 : vector nulo que ahora tiene n+m elementos
X Bm m 1
X B : vector de variables básicas el cual se obtiene de eliminar las variables no
x
básicas de
xs
36
B: es la matriz de base
B11 B12 B1m
B21 B22 B2 m
B
Bm1 Bm 2 Bmm m m
El método Simplex introduce solo variables básicas, tales que B sea no singular, de
manera que B-1 siempre exista, es decir:
B 1BX B B 1b
IX B B 1b
2.4.4.1.-Forma Matricial
Cuando se inicia el método simplex, la forma matricial del conjunto de ecuaciones es
el siguiente:
Z
1 -C 0 0
X
0 A I b
XS
37
El segundo miembro de estas ecuaciones se ha convertido en:
Z 1 CB B 1 0 CB B 1 b
*
XB 0 B-1 b B 1b
Por lo tanto, las operaciones algebraicas en ambos miembros del conjunto original de
ecuaciones han sido equivalentes, se usa esta misma matriz, que pre- multiplicada el
lado derecho original para pre-multiplicar el lado izquierdo. En consecuencia:
Z
1 CBB-1 1 C 0
1 CB B 1 A C CB B 1
0 B-1 0 A 1
0 B-1 A B-1
La ventaja del Tableau es que ordena y automatiza este procedimiento. Por lo tanto,
la forma de Tableau para cualquier iteración es la siguiente:
Utilidad neta Precios sombra
Variables de Variables de
decisión holgura
X1 X2 Xn Xn 1 Xn 2 Xn m Valores de
Z
variables base
Variables
1 C B B -1 A C C B B-1 CB X B
básicas
X B1 0
X B2 0
B 1A B 1 B-1 b
X Bm 0
38
Paso 2:
Rescribir la F.O. de la siguiente manera:
Z CX 0
Paso 3:
Aplicar la regla de equivalencia 4, para convertir todas las desigualdades (variables
de holgura) en igualdades.
Con estos tres primeros pasos, la forma canónica queda convertida en:
Max : Z- CX 0
s.a.
AX Y b
X 0
Y 0
Este paso es necesario, pues la adición de las variables de holgura crea la primera
base B que resulta ser la matriz identidad. A su vez, se genera el primer punto
extremo de la región de factibilidad cuyas coordenadas están dadas por el vector b.
Paso 4:
Construir la tabla con los coeficientes del programa, como se muestra a continuación:
Forma condensada:
Z X1 X2 Xn Xn 1 Xn 2 Xn m
1 C B B -1 A C C B B-1 C B xB
x B1 0
xB 2 0
B 1A B 1 B-1 b
x Bm 0
39
Forma extensa:
Z x1 x2 xn xn 1 xn 2 xn m
1 z1 c1 z2 c2 zn cn zn 1 cn 1 zn 2 cn 2 zn m cn m Z0
Vectores que integran la base actual Identificación del punto extremo asociado a la base actual
Paso 5:
Seleccionar como vector de entrada aquel cuyo costo reducido (utilidad neta o precio
sombra) z j c j sea el más negativa, si no hay ningún candidato de entrada, es decir,
todas las z j c j 0, j A , entonces la solución X B es óptima; en caso de
empate, este se rompe arbitrariamente.
Paso 6:
Una vez seleccionada la columna a j que entrará a la nueva base, se selecciona el
vector de salida aBr de la base actual, utilizando la siguiente regla:
X Br X Bk
min / Ykj 0
Yrj k Ykj
En el caso que todas las Ykj del denominador sean negativos, se tiene una solución
no acotada.
Paso 7:
La intersección en el Tableau de la columna que entra y la fila que sale, determina el
elemento pivote Yrj , con el objetivo de convertir a la columna a j en el vector unitario,
es decir, ceros en toda la columna y un uno en la r-ava componente (el mismo pivote
Yrj ). Regrese al paso 5.
Nota: z j c j nos indica la utilidad ganada al introducir una unidad.
Ejemplo:
Max : Z 5000 X 1 3000 X 2
s.a.
3X1 5X 2 15
5X 1 2X 2 10
X1 0 ; X2 0
40
Resolución:
1º: Método Gráfico
X2
R2
R3
R1
(x1*,x2*)=(20/19;45/19)
Z*= $ 235.000/19
RSF
R3
X1
Paso 2 y 3
Max : Z 5000 X 1 3000 X 2 0
s.a.
3X1 5X 2 X 3 15
5X1 2 X 2 X 4 10
X1 0 ; X2 0
X3 0 ; X4 0
Paso 4: Tableau:
Tableau 0:
Z X1 X2 X3 X4
1 -5.000 -3.000 0 0 0
X3 0 3 5 1 0 15
X4 0 5 2 0 1 10
Tableau 1:
Z X1 X2 X3 X4
1 0 -1.000 0 1.000 10.000
X3 0 0 19/5 1 -3/5 9
X1 0 1 2/5 0 1/5 2
41
Tableau 2:
z x1 x2 x3 x4 Z*
1 0 0 5.000/19 16.000/19 235.000/19
x2 0 0 1 5/19 -3/19 45/19
x1 0 1 0 -2/19 5/19 20/19
235000
Z $ (um )
19
En este caso, se introdujo el producto 1 tanto como fue posible hasta alcanzar la
restricción nº 2, que fue la más importante y limitó la cantidad de X1 a dos unidades,
es así que al producir estas dos unidades de X1 , la utilidad se incrementó de 0 a
$10.000 u.m.
42
Ejemplo:
Max : Z 8X1 6X 2 Max : Z 8X1 6X 2 0
s.a. s.a.
4X1 2X 2 60 4X1 2X 2 X3 60
2X 1 4X 2 48 2X 1 4X 2 X4 48
X1 0 ; X2 0 X1 0 ; X2 0
X3 0 ; X4 0
Tableau 0:
Z X1 X2 X3 X4
1 -8 -6 0 0 0
X3 0 4 2 1 0 60
X4 0 2 4 0 1 48
Tableau 1:
Z X1 X2 X3 X4
1 0 -2 2 0 120
X1 0 1 1/2 1/4 0 15
X4 0 0 3 3 -1/2 1 18
Tableau 2:
Z X1 X2 X3 X4 Z*
1 0 0 5/3 2/3 132
X1 0 1 0 1/3 -1/6 12
X2 0 0 1 -1/6 1/3 6
La solución es:
x1 12(u) x2 6(u) Z $132(u.m)
Ejemplo:
Min : Z 3x1 5 x2
s.a.
x1 4
x2 6
3x1 2 x2 18
x1 , x2 0
43
El PPL de manera canónico es:
Max : U Z 3x1 5 x2 Max : U 3x1 5 x2 0
s.a. s.a.
x1 4 x1 x3 4
x2 6 x2 x4 6
3x1 2 x2 18 3x1 2 x2 x5 18
x1 , x2 0 x1 , x2 , x3 , x4 , x5 0
Tableau 0:
U X1 X2 X3 X4 X5 Z0
1 -3 5 0 0 0 0
X3 0 1 0 1 0 0 4
X4 0 0 1 0 1 0 6
X5 0 -3 -2 0 0 1 -18
En este caso, al evaluar el primer tableau, tenemos que la tercera restricción tiene
asignado un recurso negativo (-18), por ende, el valor de x5, siendo una variable de
holguras, tiene una valor negativo asignado inicialmente, violando la restricción
general de no negatividad. Debido a lo anterior, es que surgen dos métodos,
basados en el método simplex para solucionar este tipo de problemas (conocidos de
penalización sobre la función objetivo), los cuales son: Método de la Gran M y el
Método de Doble Fase.
Nota: hay que tener presente que cuando la función objetivo es una maximización, la
variable artificial la penalizará con un valor negativo (-MW), en cambio, para una
función objetivo de minimización, la variable artificial la penalizara con un valor
positivo (+MW).
44
Ejemplo:
max
z 4 X1 X2
s.a :
3X1 X2 3
4 X1 3X 2 6
X1 2 X 2 4
X1, X 2 0
Tenemos tres ecuaciones y seis incógnitas, por ello, la base inicial debe incluir 6-3=3
variables básicas con valor distinto a cero e igual número de no básicas con valor
igual a cero. Para ello, la función objetivo debe contener el mismo número de
variables que no están en la base, pero la función objetivo esta constituida por cuatro
45
variables, por lo cual, será necesario sustituir los términos de w1 y w2 para obtener la
forma canónica adecuada; lo anterior, se efectúa reemplazando dichos términos
partir de las restricciones que poseen dichas variables w1 y w2. Para nuestro caso,
corresponde a la restricción 1 y 2:
W1 3 3X 1 X2
W2 6 4X1 3X 2 X3
Z (4 7M ) X 1 (1 4M ) X 2 MX 3 9M
Z X1 X2 X3 W1 W2 X4
1 0 (1-5M)/3 M (4+7M)/3 0 0 4-2M
X1 0 1 1/3 0 1/3 0 0 1
W2 0 0 5/3 -1 -4/3 1 0 2
X4 0 0 5/3 0 -1/3 0 1 3
Z X1 X2 X3 W1 W2 X4
1 0 0 1/5 (8+5M)/5 -(1-5M)/5 0 18/5
X1 0 1 0 1/5 3/5 -1/5 0 3/5
X2 0 0 1 -3/5 -4/5 3/5 0 6/5
X4 0 0 0 1 1 -1 1 1
46
La solución óptima es:
X1 3/ 5
XB X2 6/5 W1 0
X W
XN X4 1 W2 0
X3 0
Z $18 / 5(um)
FASE I:
Se resuelve el siguiente problema.
min
W Wi
i 1
s.a. :
A X Y W b
X 0, Y 0,W 0
47
La solución óptima en esta fase debe ser W = 0. Si se tiene que W > 0, el problema
no tiene solución.
FASE II:
Se toma toda la tabla óptima anterior, ignorando únicamente las columnas asociadas
a los W i y el renglón de costos reducidos z j c j , sustituyendo este renglón por la
función objetivo inicial:
min
Z C X
s.a. :
B 1 AX B 1Y B 1b
X 0, X 0
Ejemplo:
min : Z 4X1 X2
s.a :
3X 1 X2 3
4X1 3X 2 6
X1 2X 2 4
X1, X 2 0
Fase I:
min
W W1 W2
s.a. :
3X 1 X2 W1 3
4X1 3X 2 X3 W2 6
X1 2X 2 X4 4
X 1 , X 2 , X 3 , X 4 ,W1 ,W2 0
48
El problema estándar queda:
min
W 7X1 4X 2 X 3 9
s.a. :
3X 1 X2 W1 3
4X1 3X 2 X3 W2 6
X1 2X 2 X4 4
X 1 , X 2 , X 3 , X 4 ,W1 ,W2 0
W X1 X2 X3 W1 W2 X4
1 0 5/3 -1 -7/3 0 0 2
X1 0 1 1/3 0 1/3 0 0 1
W2 0 0 5/3 -1 -4/3 1 0 2
X4 0 0 5/3 0 -1/3 0 1 3
W X1 X2 X3 W1 W2 X4
1 0 0 0 -1 -1 0 0
X1 0 1 0 1/5 3/5 -1/5 0 3/5
X2 0 0 1 -3/5 -4/5 3/5 0 6/5
X4 0 0 0 1 1 -1 1 1
Por lo tanto, como W=0, el problema tiene solución factible y pasamos a la fase II.
FASE II:
Las variables artificiales han servido a su propósito y se deben eliminar en todos los
cálculos siguientes. Lo anterior significa que las ecuaciones de la tabla óptima de la
fase I se pueden escribir como:
1 3
X1 X3
5 5
3 6
X2 X3
5 5
X3 X4 1
49
min
z 4X1 X2
s.a. :
1 3
X1 X3
5 5
3 6
X2 X3
5 5
X3 X4 1
X1, X 2 , X 3 , X 4 0
Se puede apreciar que la fase I nos proporciona una solución básica inicial
preparada para el problema original. Es decir, queda 4(variables) - 3(restricciones) =
1 variable asignado con valor cero, es decir, X3 = 0 y la solución básica factible inicial
está constituida por X1 ,X2 y X4.
50
Z X1 X2 X3 X4
1 0 0 0 -1/5 17/5
X1 0 1 0 0 -1/5 2/5
X2 0 0 1 0 3/5 9/5
X3 0 0 0 1 1 1
La utilidad de lo anterior, es que nos permitirá analizar distintos casos que no son
previsibles cuando se resuelve cualquier problema particular.
51
Su representación gráfica es la siguiente:
X2
c a
RSF
c
X1
Hemos visto que a medida que crece la función objetivo paralelamente hacia la
derecha, su valor crece o incrementa, pero la RSF no es un conjunto cerrado o
acotado por el lado derecho, por lo cual, la función objetivo no tiene limite y, por
ende, su valor es infinito.
Ahora, como podemos identificar dicho estudio con el método simplex. Sea el
problema de programación lineal canónico:
Max : Z CX
s.a. :
AX b
x 0
52
Aplicando las reglas ya descritas, el tablau inicial del problema es:
Z X1 X2 X3 X4
1 -4 -4 0 0 0
X3 0 -2 2 1 0 2
X4 0 -1 2 0 1 4
Z X1 X2 X3 X4
1 -8 0 2 0 4
X2 0 -1 1 1/2 0 1
X4 0 1 0 -1 1 2
Z X1 X2 X3 X4
1 0 0 -6 8 20
X2 0 0 1 -1/2 1 3
X1 0 1 0 -1 1 2
Como se puede apreciar, en esta tercera iteración X3 debe entrar a la base, pero
Y13 1 / 2 0 y Y23 1/ 2 0 .
Por lo tanto, no es posible aplicar la regla de selección que indica que variable debe
salir de la base óptima.
53
La representación gráfica es la siguiente:
X2
b
c
RSF
B c
X1
Como se aprecia, la función objetivo tiene un valor máximo (óptimo) cuando coincide
con el trazo AB de la RSF. Como se ha dicho, la solución óptima sigue estando en un
punto extremo (vértice), solo que la gran diferencia es que son dos puntos óptimos a
conocer, el punto A y B. Es necesario recordar el concepto de la combinación lineal
convexa entre dos puntos A y B, ya que cualquier punto perteneciente a la recta AB
también es óptima, es decir, como existen infinitos puntos también existen infinitos
puntos óptimos que generan el mismo valor de la función objetivo.
Nuevamente debemos indicar cuales serán las condiciones que nos permitirán
identificar soluciones múltiples óptimas mediante el método simplex. Sea el problema
de programación lineal canónico:
Max : Z CX
s.a. :
AX b
x 0
54
Si existe un vector asociado a Xk que no esté en la base óptima, cuyo costo reducido
z k ck 0 , el resto de los zi ci 0 y todas Yik 0, i 1,, m , entonces el problema
de programación lineal tiene soluciones múltiples y la base es óptima.
Z X1 X2 X3 X4
1 0 0 0 1/2 10
X3 0 0 38/5 1 -3/5 18
X1 0 1 0 0 1/10 2
Para determinar cual sería el otro punto extremo, se deberá introducir a la base la
variable X2, asi:
Z X1 X2 X3 X4
1 0 0 0 1/2 10
X2 0 0 1 5/38 -3/38 45/19
X1 0 1 0 -1/19 5/38 20/19
55
X1 20 / 19
X2 45 / 19
X2
X3 0
X4 0
Z $10(um)
Como ya se explicó, existe una combinación lineal convexa entre los puntos X1 y X2
que también es óptima, es decir, se genera el mismo valor de la función objetivo. La
expresión matemática que define dicha expresión, asociada a un X * es:
2 20 / 19
0 45 / 19
X* X 1 (1 )X 2 (1 ) , 0 1
18 0
0 0
la cual genera un punto óptimo de un conjunto de puntos óptimos existentes.
1. del tipo , ya que las variables de holgura siempre generarán una RSF y, por
lo tanto, existirá una solución factible óptima,
2. del tipo efectivamente generan variables artificiales W que por su
estructura no nos garantizan una solución factible al modelo inicial y aunque
se efectúen las provisiones necesarias para que exista un solución óptima, es
decir, que efectivamente W = 0, si no existe una RSF el problema no tendrá
solución.
56
La representación gráfica es la siguiente:
X2
c
a b
RSF 2
RSF 1 c
X1
Veamos ahora cómo identificamos esta condición por medio del método de
penalización de Gran M, presentando primero el PPL estándar y el tableau original:
Máx
Z 2X1 2X 2 MW 0
sa :
X1 X 2 X3 2
X1 X2 X4 W 4
X1, X 2 0
Z X1 X2 X3 X4 W
1 -2 -2 0 0 M 0
X3 0 1 1 1 0 0 2
W 0 1 1 0 -1 1 4
Z X1 X2 X3 X4 W
1 -2-M -2-M 0 M 0 -4M
X3 0 1 1 1 0 0 2
W 0 1 1 0 -1 1 4
57
Z X1 X2 X3 X4 W
1 0 0 2+M M 0 4-2M
X1 0 1 1 1 0 0 2
W 0 0 0 -1 -1 1 2
Z X1 X2 X3 X4
1 -3/4 0 9/4 0 18
X2 0 1/4 1 ¼ 0 2
X4 0 1/2 0 -1/2 1 0
Z X1 X2 X3 X4
1 0 0 3/2 3/2 18
X2 0 0 1 ½ -1/2 2
X1 0 1 0 -1 2 0
58
Podemos ver en este caso que en la segunda iteración ya se obtuvo el valor óptimo
de la función objetivo, pero sus vectores básicos no son los últimos; en cambio, en la
última iteración los vectores básicos son los últimos, pero la solución no mejoro. En
esta caso se puede apreciar que la primera restricción es redundante (vista de
manera gráfica), por lo cual, se dice que el punto esta mas que determinado o
sobredeterminado, ya que solo son necesarias las restricciones de negatividad y la
segunda restricción. Lamentablemente, no existe ninguna técnica confiable que nos
permita identificar restricciones redundantes a partir del tableau, sólo se puede
apreciar por el método gráfico, como se ve a continuación del ejemplo anterior.
X2
( Red
unda
nte)
RSF
c
X1
Como vimos anteriormente, las iteraciones uno y dos generaron una suerte de
ciclaje, ya que a partir de un estado común (valor objetivo iguales) se obtuvieron
soluciones distintas. Pero que pasa cuando son más de dos variables, la respuesta
es más compleja ya que el ciclaje o reciclaje, efectivamente, se vuelve más notorio,
ya que a partir del tableau inicial y después de sucesivas iteraciones aplicando el
método simplex, podemos volver nuevamente al tableau inicial sin poder llegar a la
solución óptima. Las técnicas utilizadas para solucionar el ciclaje generan una
reducción drástica en los cálculos y, por ende, en los tiempos de ejecución, pero una
técnica que mejora esta causa es la Regla Lexicográficas.
59
CAPITULO III: DUALIDAD Y ANÁLISIS DE SENSIBILIDAD
3.1.- DUALIDAD
Uno de los descubrimientos más importantes durante el desarrollo inicial de la
programación lineal fue el concepto de dualidad y sus importantes ramificaciones,
éste reveló que asociado a todo problema de programación lineal existe otro
problema lineal llamado Dual. Las relaciones entre el problema dual y el original
(llamado primal) son útiles en una gran variedad de situaciones. Por ejemplo la
solución óptima del problema dual es la que proporciona los precios sombra, otro
aspecto importante de la teoría de la dualidad es la interpretación y realización del
análisis de sensibilidad; dado que algunos o todos los valores de los parámetros que
se emplean en el modelo original son sólo estimaciones de las condiciones futuras,
es necesario investigar el efecto que tendría sobre la solución óptima en caso que
prevalecieran otras condiciones e incluso ciertos valores de estos parámetros (como
la cantidad de recursos ) pueden representar decisiones de la gerencia en cuyo caso
su elección debe ser el punto más importante de la investigación y se puede estudiar
a través del análisis de sensibilidad.
Entonces, el P.P.L. dual se define como determinar las variables duales w1 , w2 ,, wm ,
por lo cual, se define la siguiente estructura:
Min
G bT W
s.a. Problema Dual
AT W CT
W 0
60
Donde:
C T : Vector columna con n componentes transpuesta del vector C, vector de
disponibilidad de recursos duales.
W : Vector columna con m componentes; vector de actividades de variables duales.
AT : Transpuesta de la matriz A, es decir, matriz de n m elementos, matriz de
coeficientes tecnológicos.
G: Función objetivo dual, escalar.
b T : Vector de precios unitarios duales transpuesta del vector b; vector reglón con m
componentes
0 : Vector columna con m ceros.
Formas de Dualidad
Veamos, por ejemplo, como se demuestra el PPL dual a partir del PPL primal:
Max - Z C X
s.a.
A X b
X 0
61
Que es equivalente a:
Max G bT W
s.a.
AT W CT
W 0
Max Z C X Min G bT W
s.a. s.a.
3.- A X b AT W CT
X 0 W no restringida
Max Z C X Min G bT W
s.a. s.a.
4.-
A X b AT W CT
X 0 W 0
Ejemplo:
Dado el siguiente problema primal
Max Z 3 X1 8 X 2 2X3 4X 4
s.a.
X1 X2 2X3 3X 4 5
X1 X2 -1
X3 - X 4 46
X1, X 2 , X 3 , X 4 0
62
Encuentre el problema dual asociado:
3
1 1 2 3 5
8
A 1 1 0 0 b -1 CT
2
0 0 1 1 46
4
1 1 0
1 1 0
AT bT 5 1 46 C 3 8 2 4
2 0 1
3 0 1
63
Ejemplo:
Max Z 2X1 4X 2
s.a.
X1 X2 6 Min G 6W1 8W2 2W3 8W4 6W5 8W6
2 X1 X2 8 s.a.
3 X1 2 X 2 2 W1 2W2 3W3 6W4 3W5 4W6 2
6 X1 8 X 2 8 W1 W2 2W3 8W4 4W5 W6 4
3 X1 4 X 2 6 W1 ,W2 ,W3 ,W4 ,W5 ,W6 0
4 X1 X 2 8
X1, X 2 0
b) Hacer interpretaciones económicas de las soluciones óptimas de los P.L.L.
Teorema 1: Dado un problema primal (P), el dual del problema dual es el problema
primal.
Para demostrar esta condición, utilizando el problema primal (P) original, se tiene que
el problema dual (D) asociado es:
Min G bT W
s.a.
AT W CT
W 0
64
Ahora, apliquemos el dual a este problema
Min - Z C X
s.a.
A X b
X 0
El cual es equivalente a:
Max Z C X
s.a.
A X b
X 0
Dem:
T
Si X es factible para (P), entonces A X b , y premultiplicando por W 0:
T T
W AX W b.
Luego:
T
CX W AX bTW Z G
65
El valor de la función objetivo de cualquier solución factible del problema de
maximización, es una cota inferior del valor óptimo del problema de minimización, el
cual es análogo para el caso contrario.
Quiere decir que para cualquier par de soluciones factibles X ,W del primal y dual,
la función objetivo del primal es siempre menor o igual a la función objetivo del dual.
Z CX * bT W * G
66
La solución de este problema existe, pero el problema consistirá en hacer X N = 0 (ya
que es no básica) y resolver el vector XB en términos de la base B, quedando así:
X B B 1b
Z C BX B
Z C B B-1b
1
Dentro del Tableau del P.P.L. primal CB B corresponde al valor de los costos
reducidos de las variables de holgura.
Ejemplo:
Hallar el valor de las variables duales óptimas y su función objetivo del P.P.L:
Max Z 4 X1 3 X 2
s.a.
2 X 1 3 X 2 18 ( P)
4 X 1 2 X 2 10
X1, X 2 0
67
La última tabla para el primal queda como:
Z X1 X2 X3 X4 Z0
1 2 0 0 3/2 15
X3 0 -4 0 1 -3/2 3
X2 0 2 1 0 1/2 5
W1* Z3 C3 0
W2* Z4 C4 3/ 2
68
Demostración:
Sea:
v b AX 0 variables de holgura del problema primal
u AT W CT 0 variables de holgura del problema dual
Sea X W un par de soluciones del primal y dual, entonces la condición del teorema
se puede expresar como:
T
v W 0
T
u X 0
T
Dado que v W 0 , se obtiene:
T T
W AX W b
69
Teorema Nº5: Teorema de Holguras Complementarias
Dado los problemas Primal y Dual estándares, tienen soluciones factibles, entonces
existen soluciones óptimas X y W , tal que:
T
(b A X ) W 0
T
( AT W C T ) X 0
Wˆ T Bˆ Cˆ B
De esta manera:
Cˆ B Bˆ 1a CB
j j
Y
j
Cˆ BY CB z CB
j j j j
70
Si se toma el vector de recursos b y se incrementa en b , de tal forma que la base
óptima B̂ no cambie, por lo cual, la nueva solución xB seguirá siendo óptima, siempre
y cuando se cumpla que:
Xˆ B Bˆ 1 b b 0
z c Cˆ B Bˆ 1a j C j j A
j j
En cambio, la función dual ha sufrido una variación, pues ahora se tendrá:
Gˆ Wˆ T b
Gˆ ' Wˆ T b b WˆT
b W
ˆT b
Zˆ
Gˆ ' Zˆ Wˆ T b
Gˆ ' Zˆ '
Zˆ ' Zˆ Wˆ T b
Nota: b es un cambio unitario en el vector recursos, relacionado con w, que es el
precio sombra.
Ejemplo:
71
Tenemos que los valores, obtenidos del primal son:
W* 0 X* 3 X* 0
1 3 1
W* 3/ 2 X* 5 Z* 15
2 2
Hay que indicar que la interpretación económica es válida solamente para cambios
unitarios en el vector b, ya que estos no afectan a la base óptima.
Los cambios que no sean unitarios (en los distintos recursos), se estudiarán en el
análisis de sensibilidad y programación paramétrica, el cual se verá más adelante.
72
Paso1:
Construya el tableau cero, siguiendo las mismas reglas vistas para el método
simplex, es decir, que aparezca la matriz identidad y que los costos reducidos, en
este caso, sean mayores o iguales a cero, es decir:
z c 0 , j A
j j
Paso2:
Revisar todos los X , i 1,, m :
Bi
1. Si todos los X 0 , entonces el tableau actual es óptimo y, por ende, la solución
Bi
es óptima.
2. Si uno o más X 0 , entonces se selecciona el vector br que debe abandonar la
Bi
base, utilizando la siguiente expresión:
X br Min X ;X 0
i 1,, m Bi Bi
Paso 3
El vector xk de entrada a la base, debe satisfacer la siguiente regla, la cual es:
zk ck z c
j j
Max ,Y 0
Yrk j 1,, n Y rj
rj
Paso 4
La columna xk se convierte en el vector unitario, cuyo pivote Yrk es igual a uno.
Dichos cambio se efectúan con operaciones matriciales elementales. Regrese al
paso 2 hasta que se cumplan las condiciones de optimalidad.
Ejemplo:
Resolver usando el Simplex Dual:
Min G 18W1 10W 2
s.a.
2W1 4W2 4
3W1 2W2 3
W1, W2 0
73
Max H -G -18W - 10W
1 2
s.a.
- 2W - 4W W -4
1 2 3
- 3W - 2W W -3
1 2 4
W ,W ,W ,W 0
1 2 3 4
H W1 W2 W3 W4 H0
1 18 10 0 0 0
W3 0 -2 -4 1 0 -4
W4 0 -3 -2 0 1 -3
H W1 W2 W3 W4 H0
1 13 0 5/2 0 -10
W2 0 1/2 1 -1/4 0 1
W4 0 -2 0 -1/2 1 -1
H W1 W2 W3 W4 H0
1 3 0 0 5 -15
W2 0 3/2 1 0 -1/2 3/2
W3 0 4 0 1 -2 2
La diferencia entre el método dual simpleX y los dos de penalización, radica en que,
primero no se utilizan variables artificiales y, segundo existen menos iteraciones,
pero la desventaja es que exige la condición de factibilidad dual, es decir,
z c 0, j A
j j
74
Max Z CX Min G bT W
s.a. s.a.
AX b AT W CT
X 0 W 0
De esta manera, existe una relación directa entre el tableau óptimo primal y dual, el
cual se puede obtener con el siguiente procedimiento:
Paso 1
Las variables no básicas de la tabla óptima primal pasan a ser las variables básicas
de la tabla dual. Asigne las variables duales, respetando el orden en que aparecen
en la tabla primal, comenzando por las variables de holgura.
Paso 2
El valor de las variables básicas duales corresponde al valor de los costos reducidos
de las variables no básicas del problema primal, comenzando por las variables de
holgura.
Paso 3
Los costos reducidos de las variables duales no básicas corresponden al valor de las
variables básicas del problema primal.
Paso 4
Para obtener los Yj de las variables no básicas del problema dual, se pasa a
columna las filas (asociada a las variables básicas) los valores relacionados a las
variables no básicas del primal, comenzando por las variables de holgura y
multiplicando por (-1).
Paso 5
El valor óptimo de la función dual es el mismo que el valor óptimo del problema
primal en el tableau óptimo.
Ejemplo:
Max Z 4X 3X Min G 18W 10W
1 2 1 2
s.a. s.a.
2X 3X 18 2W 4W 4
1 2 1 2
4X 2X 10 3W 2W 3
1 2 1 2
X ,X 0 W ,W 0
1 2 1 2
75
Tableau Primal
W3 W4 W1 W2
Z X1 X2 X3 X4 Z0
1 2 0 0 3/2 15
X3 0 -4 0 1 -3/2 3
X2 0 2 1 0 1/2 5
Tableau Dual
G W1 W2 W3 W4 G0
1 3 0 0 5 15
W2 0 3/2 1 0 -1/2 3/2
W3 0 4 0 1 -2 2
Ejemplo:
Dado el siguiente problema dual, resolver el problema primal asociado mediante el
método simplex y a partir de esta obtenga la tabla óptima del problema dual.
Min G 2W1 W2
s.a.
3W1 W2 3
(Pr oblema _ Dual )
4W1 3W2 6
W1 2W2 3
W1 , W2 0
Desarrollo:
El problema primal asociado al dual anterior es:
Max Z 3X1 6X 2 3X 3
s.a.
3X1 4X 2 X3 2 (Pr oblema _ Pr imal )
X1 3X 2 2X 3 1
X1 , X 2 , X 3 0
76
Tableau Primal
Z X1 X2 X3 X4 X5 Z0
1 -3 -6 -3 0 0 0
X4 0 3 4 1 1 0 2
X5 0 1 3 2 0 1 1
1 -1 0 1 0 2 2
X4 0 5/3 0 -5/3 1 -4/3 2/3
X2 0 1/3 1 2/3 0 1/3 1/3
1 0 0 0 3/5 6/5 12/5
X1 0 1 0 -1 3/5 -4/5 2/5
X2 0 0 1 1 -1/5 3/5 1/5
Tableau Dual
G W1 W2 W3 W4 W5 G0
1 0 0 2/5 1/5 0 -12/5
W1 0 1 0 -3/5 1/5 0 3/5
W2 0 0 1 4/5 -3/5 0 6/5
W5 0 0 0 1 -1 1 0
Los tres primeros cambios pueden ocurrir, tanto de manera continua o discreta, en
cambio, los dos últimos sólo pueden ocurrir de manera continua. El cambio discreto
significa hacer variar una o varias componentes del problema original y
reemplazarlos por nuevas cantidades. Para el cambio continuo, dónde el análisis de
sensibilidad se llama programación
paramétrica, sufren cambios descritos por:
b b , -
C C , -
aj aj , - , j A
77
Donde:
b, C , a j : Vectores con las mismas dimensiones que los vectores b , C , A
, , : escalares que pueden tomar cualquier valor real.
78
Ejemplo:
Suponga que se quiere producir un volumen X de un producto químico A, el cual se
vende a $ 5/litro y otro volumen Y de otro producto químico B, a un precio de $3/litro.
Existen dos restricciones, siendo las más importantes: personal y costo de
producción. La primera tiene un máximo de 15 personas, mientras que la segunda
tiene un máximo de $10/hora de trabajo. Los coeficientes tecnológicos son los
siguientes:
Recurso\Producto Producto Químico A Producto Químico B
Personal 3 5
Costo de producción 5 2
Sea
X1: número de litros del producto químico A.
X2: número de litros del producto químico B.
Z X1 X2 X3 X4 Z0
1 -5 -3 0 0 0
X3 0 3 5 1 0 15
X4 0 5 2 0 1 10
1 0 -1 0 1 10
X3 0 0 19/5 1 -3/5 9
X1 0 1 2/5 0 1/5 2
1 0 0 5/19 16/19 235/19
X2 0 0 1 5/19 -3/19 45/19
X1 0 1 0 -2/19 5/19 20/19
X 45 / 19
2
X X 20 / 19
X* B 1 Z* 235/19
X X 0
N 3
X 0
4
5 / 19 3 / 19
B 1
2 / 19 5 / 19
79
a.- Supongamos que producto del mercado laboral, nuevas restricciones al empleo y
la situación macroeconómica, se debe reducir a 5 el número de empleados y la el
costo de producción a $5/hora.
Hay que notar que una reducción en ambas restricciones, por si redujo la producción
de cada producto químico y, por ende, la utilidad esperada.
80
Max : Z 5X 3X
1 2
s.a.
3X 5X 10 ( PN )
1 2
5X 2X 20
1 2
X ,X 0
1 2
Por lo tanto, el necesario utilizar simplex dual para restaurar la factibilidad y obtener
la optimalidad. De esta manera, utilizando el tableau óptima del PO y reemplazando
los valores de la columna X B por X̂ B , se tiene:
Z X1 X2 X3 X4 Z0
1 0 0 5/19 16/19 235/19
X2 0 0 1 5/19 -3/19 -10/19
X1 0 1 0 -2/19 5/19 80/19
1 0 16/3 80/57 0 50/3
X4 0 0 -19/3 -5/3 1 10/3
X1 0 1 -5/3 1/3 0 10/3
81
10 50
5 20 20
3 3
50 10
X 20 -
4 3 3
3.2.1.2.-Cambios En El Vector C :
Supongamos nuevamente el siguiente problema original:
Max Z CX
s.a.
Pr oblema Origina l
A*X b
X 0
El cambio discreto en el vector C , será un nuevo valor C C , donde C es un
vector de n componentes. El problema nuevo a resolver es:
Max Z (C C)X
s.a.
Pr oblema Nuevo
A*X b
X 0
z c c C B B 1a j cj cj WTaj cj cj
j j j
Donde a j es la columna de la matriz A.
82
obtener las condiciones de optimalidad, z j c
j
0, j A mediante el método
simplex primal.
Ejemplo:
a.- Sigamos con el ejemplo del caso anterior:
Max Z 5X 3X
1 2
s.a.
3X 5X 15 Pr oblema Original
1 2
5X 2X 10
1 2
X ,X 0
1 2
Por lo tanto C C 5 3 0 0 0 2 0 0 5 1 0 0
Como la única componente de C que cambio es c 2, entonces indica que sólo cambia
el costo reducido z2 c2 es:
5 16 5
z2 c2 c2 W T a2 c2 c2 1 3 1 2 0,
19 19 2
83
Al restablecer la factibilidad, la tabla queda de la siguiente forma:
Z X1 X2 X3 X4 Z0
1 0 0 -5/19 22/19 145/19
X2 0 0 1 5/19 -3/19 45/19
X1 0 1 0 -2/19 5/19 20/19
Se concluye que se deja de producir del bien 2, ya que sus costos son mayores que
sus ganancias, por lo cual, sólo se produce del bien 1, el cual está limitado por la
restricción 1 (cuello de botella).
b.- Sigamos con el ejemplo del caso anterior, pero ahora supongamos que el precio
unitario del producto químico A y B, se reducen de $5 a $1 y $3 a $1,
respectivamente, entonces el problema nuevo queda:
Max Z X X
1 2
s.a.
3X 5X 15 ( PN )
1 2
5X 2X 10
1 2
X ,X 0
1 2
Por lo tanto C C 5 3 0 0 4 2 0 0 1 1 0 0
Las componentes de C que cambian son c 1 y c2, generando que cambien los costos
reducidos z1 c1 z 2 c2 , entonces:
84
5 16 3
z1 c1 c1 W T a1 c1 c1 1 5 1 4 0
19 19 5
5 16 5
z2 c2 c2 W T a2 c2 c2 1 3 1 2 0,
19 19 2
De esta manera, la reducción de los precios unitarios, genero que la utilidad final se
redujera de $12,37 a $3,42, ya que no variaron las producciones de los productos
químicos A y B.
85
El cual presenta el siguiente tableau óptimo:
Z X1 X2 X3 X4 Z0
1 9/2 0 0 5/2 45
X3 0 1 0 1 0 4
X2 0 3/2 1 0 1/2 9
Como la única componente de C que cambio es c 1, entonces indica que sólo cambia
el costo reducido z c es:
1 1
5 1 15 3
z1 c1 c1 W T a1 c c 0 6 6 0,
1 1 2 3 2 2
Por lo tanto, ya es óptimo, lo cual quiere decir que en incremento del precio unitario
de $3 a $6 sobre la primera actividad (que no es básica) no ha generado un cambio
en la solución óptima del PO, siendo la misma para el PN, es decir:
X 4
3
X X 9
X* B 2
X X 0
N 1
X 0
4
Z* 45
86
Lo anterior se explica de manera sencilla, como X 1 no es básica, su nivel de
utilización es de cero, pero el incremento de su precio unitario no es lo
suficientemente atractivo para que su utilización se incremente del valor cero.
Como la única componente de C que cambio es c 1, entonces indica que sólo cambia
el costo reducido z c es:
1 1
5 1 15 5
z1 c1 c1 W T a1 c1 c1 0 10 10 0,
2 3 2 2
Por lo tanto, es óptimo, lo cual quiere decir que en incremento del precio unitario de
$3 a $10 sobre la primera actividad (que no es básica) ha generado un cambio en la
solución óptima, la cual es:
X 4
1
X X 3
X* B 2
X X 0
N 3
X 0
4
Z* 45
87
Lo anterior significa que como X 1 no es básica, su nivel de utilización es de cero,
pero el incremento de su precio unitario es lo suficientemente atractivo para que su
nivel de utilización se incremente de su valor cero a 4 unidades, pero a su vez se
reduce el nivel de utilización del producto dos de 9 a 3 unidades, lo bueno es que
dicho cambio incrementa la utilidad de $45 a $55.
zˆ cˆ W T aˆ j cj
j j
Ejemplo:
a.- Volvamos a utilizar el siguiente problema original:
Max Z 3X 5X
1 2
s.a.
X 4 Pr oblema Original
1
3X 2X 18
1 2
X ,X 0
1 2
88
El cual presenta el siguiente tableau óptimo:
Z X1 X2 X3 X4 Z0
1 9/2 0 0 5/2 45
X3 0 1 0 1 0 4
X2 0 3/2 1 0 1/2 9
Como zˆ cˆ1 0 , y j=1 no está en la base original óptima del problema original, por lo
1
tanto, reemplazando este valor en el tableau del PO, el problema queda:
Z X1 X2 X3 X4 Z0
1 2 0 0 5/2 45
X3 0 1 0 1 0 4
X2 0 3/2 1 0 1/2 9
El tableau es óptimo y la solución del PO sigue siendo óptima para el PN, así:
X 4
3
X X 9
X B 2
X X 0
N 1
X 0
4
Z 45
89
b.- Supongamos nuevamente que ocurre un cambio tecnológico en la primera
actividad, donde se cambia de 1 a 10, con respecto a la primera restricción y se
cambia de 3 a 1, con respecto a la segunda, por lo tanto, el problema nuevo queda:
Max Z 3X 5X
1 2
s.a.
10X 4 ( PN )
1
1X 2X 18
1 2
X ,X 0
1 2
donde:
1 10
a aˆ
1 3 1 1
Como zˆ cˆ1 0 , y j=1 no está en la base óptima original del problema original, por lo
1
tanto, hay que aplicar el método simplex, pero actualizando el vector Y1 del tableau
original por otro nuevo Yˆ1 , dado por:
1 0 10 10
Yˆ j B 1aˆ j
0 1/ 2 1 1/ 2
Como no es óptimo, por lo cual, hay que aplicar el método simplex para regresar a la
optimalidad, quedando el siguiente tableau final del PN:
Z X1 X2 X3 X4 Z0
1 0 0 1/20 5/2 181/5
X1 0 1 0 1/10 0 2/5
X2 0 0 1 -1/20 1/2 44/5
90
La nueva solución óptima del PN es:
X 2/5
1
X X 44 / 5
X B 2
X X 0
N 3
X 0
4
Z 181 / 5 36 ,2
Xj
3.2.1.4.- Adiciones De Nuevas Actividades :
La adición de nuevas variables X j crea un nuevo término de costos reducidos
z c y una nueva columna Yj en la tableau. Si asociado a la nueva actividad X j se
j j
conoce su precio unitario c j y su vector de coeficientes tecnológicos a j , los nuevos
elementos se calculan como:
zj cj WTa j Cj
Yj B 1a j
Ejemplo:
a.- Volvamos a utilizar el siguiente problema original:
Max Z 3X 5X
1 2
s.a.
X 4 Pr oblema Original
1
3X 2X 18
1 2
X ,X 0
1 2
91
Supongamos que ahora se crea un nuevo producto X 5, entonces la pregunta es si
conviene producir dicha actividad, cuyo precio unitario es de $7 y su vector de
coeficientes tecnológicos asociado a la primera y segunda restricción es de 1 y 2,
respectivamente, por lo tanto, el problema nuevo queda:
Max Z 3X 5X 7X
1 2 5
s.a.
2X X 4 ( PN )
1 5
2X 2X 2X 18
1 2 5
X ,X , X 0
1 2 5
donde :
1
a
5 2
Como z c 0 , hay que calcular la columna Y5 del nuevo tableau dado por:
5 5
1 0 1 1
Y5 B 1a5
0 1/ 2 2 1
El tableau final del PN, luego de restablecer la optimalidad de este problema, queda
finalmente::
Z X1 X2 X5 X3 X4 Z0
1 13/2 0 0 2 5/2 53
X5 0 1 0 1 1 0 4
X2 0 1/2 1 0 -1 1/2 5
Es óptimo este tableau, lo cual indica que la solución óptima del PO cambia,
generando que el PN tenga la siguiente solución óptima:
92
X 4
5
X 5
X 2
X B X 0
X 1
N X 0
3
X 0
4
Z 53
b.- Utilizando el mismo problema anterior, supongamos que ahora el nuevo producto
X5 tiene un precio unitario de $4 y su vector de coeficientes tecnológicos asociado a
la primera y segunda restricción es de 10 y 4, respectivamente. Por lo tanto, el
problema nuevo queda:
Max Z 3X 5X 4X
1 2 5
s.a.
2X 10 X 4 ( PN )
1 5
2X 2X 4X 18
1 2 5
X ,X , X 0
1 2 5
donde:
10
a
5 4
93
Esto quiere decir, que bajo las condiciones actuales, no se debe producir X 5 y la
solución óptima del PN es la misma del PO, es decir:
X 4
3
X 9
X 2
X B X 0
X 1
N X 0
5
X 0
4
Z 45
Al ser necesario la aplicación del método simplex dual, cada una de las k
restricciones se deben añadir en el tableau óptimo del problema original con sus
correspondientes variables de holgura. Todos los vectores unitarios asociado al
tableau óptimo del PO deben restablecerse por medio de operaciones elementales
94
matriciales. De esta manera, el método dual simplex se debe aplicar hasta obtener
una solución óptima.
Ejemplo:
a.- Retomemos nuevamente el siguiente problema:
Max Z 5X1 3X 2
s.a.
3X1 5X 2 15 ( PO)
5X1 2X 2 10
X1, X 2 0
Z X1 X2 X3 X4 Z0
1 0 0 5/19 16/19 235/19
X2 0 0 1 5/19 -3/19 45/19
X1 0 1 0 -2/19 5/19 20/19
Es obvio que la solución óptima del problema original viola la nueva restricción, ya
que no es menor o igual que uno. Entonces, el problema nuevo a resolver es:
Max Z 5X1 3X 2
s.a.
3X1 5X 2 15
( PN )
5X1 2X 2 10
X 1
2
X1 , X 2 0
95
Agregando las variables de holgura, se tiene que:
Max Z 5X1 3X 2
s.a.
3X1 5X 2 X 3 15
5X1 2X 2 X4 10
X X5 1
2
X1, X 2 , X , X , X 0
3 4 5
96
Reemplazando nuevamente el valor de X2:
45
10
19
Es obvio analizar que la solución óptima del problema original no viola la nueva
restricción, ya que es menor o igual que diez, por lo cual, la solución óptima del
problema original sigue siendo óptima para el problema nuevo. Para analizar este
suceso, veamos como queda el problema nuevo, aunque no es necesario efectuar
este análisis:
Max Z 5X1 3X 2
s.a.
3X1 5X 2 15
( PN )
5X1 2X 2 10
X 10
2
X1, X 2 0
Agregando las variables de holgura, se tiene que:
Max Z 5X1 3X 2
s.a.
3X1 5X 2 X3 15
5X1 2X 2 X4 10
X X 5 10
2
X1 , X 2 , X , X , X 0
3 4 5
97
X 45 / 19
2
X 20 / 19
X 1
X B X 145 / 19
X 5
N X 0
3
X 0
4
235
Z 12,37
19
Donde:
C: vector con n componentes, que representa el precio unitario actual.
: vector con n componentes, que representa el porcentaje de aumento de precios.
C : vector paramétrico que indica los cambios continuos, con .
98
MAX
Z CX
sa : ( PO)
AX B
X 0
zˆ j cˆ j zj cj ( B0
1
B0 a j j ), j A
Ahora, debemos preguntarnos si existe algún valor crítico de , por ejemplo , tal
que para valores mayores que la base óptima B0 dejaría de ser óptima.
B0 B0 1a j j
De esta manera:
1
1. Si B 0 B0 a j 0, j A , entonces la base óptima B0, asociada al tableau
j
óptimo del problema original, sigue siendo óptimo para cualquier valor de 0.
1
2. Si para algún j A existiese un valor correspondiente a B 0 B0 a j j 0,
entonces existe un valor crítico para , denotado por , el cuál se calcula de la
siguiente manera:
* ( z k ck )
1
B 0 B0 a j j
*
(z j cj)
Mín 1
/ B0 B0 1a j j 0
j N
B0 B0 a j j
*
Para el cual B0 deja de ser óptimo para valores de y la solución óptima seria:
Zˆ B 0 (C B 0 B0 ) X B0
*
Pero que pasa cuando , la respuesta indica que es necesario reoptimizar el
tableau óptimo correspondiente a 0 , generando dos casos:
99
a. Cuando dada por la ecuación anterior, tiene un valor mínimo único:
i. Si Yik 0, i 1,, m , entonces No existe un óptimo finito para valores de
* *
, es decir, en este caso el problema lineal para valores , tiene
como solución óptima el infinito.
ii. Si Yik 0, i 1,, m , el método simplex se aplica de la manera usual hasta
obtener una nueva solución óptima, con la salvedad de que todos los valores
z j c j , j A deben de actualizarse y la base asociada a esta nueva solución
óptima es B1
Se debe volver a analizar, en este sentido, si existe un valor crítico de en
este caso , de manera tal que B1 sigue siendo óptima para el rango de
* * **
. En este caso, el valor de es:
**
(z j cj)
Mín 1
/ B1 B1 1 a j j 0
j N
B1 B1 a j j
Ejemplo:
Considere el siguiente problema nuevo
max Z 3 6 X 1 2 2 X2 5 5 X3
s.a. :
X1 2X 2 X3 430
( PN )
3X1 2X 3 460
X1 4X 2 420
X 1 0, X 2 0, X 3 0
100
El Tableau inicial y óptimo, respectivamente, del problema original es el siguiente:
Z X1 X2 X3 X4 X5 X6 Z*
1 -3 -2 -5 0 0 0 0
X2 0 1 2 1 1 0 0 430
X3 0 3 0 2 0 1 0 460
X6 0 1 4 0 0 0 1 420
Z X1 X2 X3 X4 X5 X6 Z*
1 4 0 0 1 2 0 1350
X2 0 -1/4 1 0 1/2 -1/4 0 100
X3 0 3/2 0 1 0 1/2 0 230
X6 0 2 0 0 -2 1 1 20
Es así, que es necesario calcular si existe un valor crítico *, de manera tal, que la
base óptima no cambie:
*
(z j cj)
Mín 1
/ B0 B0 1a j j 0
j N0
B0 B0 a j j
B0 B0 1a j j 2 3 6 B0 1 Y1 Y4 Y5 1 4 5
101
Para cada caso se tiene que:
1/ 2 1/ 4 0 1 1 0
1
B0 B0 a N 0 N0 2 5 0 0 1/ 2 0 3 0 1 6 0 0
2 1 1 1 0 0
1 1 0
1
B0 B0 a N 0 N0 1 3 0 3 0 1 6 0 0 8 1 3 6 0 0
1 0 0
B0 B0 1 a N 0 N0 14 1 3
De esta manera, el rango de esta acotado por 0 1 , los cuales generan las
siguientes soluciones óptimas.
X2 100
X3 230
XB X6 20
X
XN X1 0
X4 0
X5 0
X2 100
Zˆ B 0 (C B 0 B0 ) X B0 c2 2 c3 3 c6 6 X3 2 2 5 5 0 230
X6 20
102
Se puede analizar si existe algún otro rango de , el cual genera el intervalo
* * **
. Para efectuar este análisis, del tableau óptimo cuando =0, se
actualizan los costos reducidos z j c j , j N , para *=1:
*
zˆ1 cˆ1 z1 c1 ( B0 B0 1 a1 1 ) 4 1(14) 18
zˆ4 cˆ4 z4 c4 *
( B0 B0 1a4 4 ) 1 1( 1) 0
zˆ5 cˆ5 z5 c5 *
( B0 B0 1a5 5 ) 2 1(3) 5
Analizando los elementos anteriores, se puede apreciar que X4 debe entrar a la base
del problema original y aplicando el método simplex se obtiene el nuevo tableau
óptimo, según se muestra a continuación:
Z X1 X2 X3 X4 X5 X6 Z*
1 18 0 0 0 5 0 2300
X2 0 -1/4 1 0 1/2 -1/4 0 100
X3 0 3/2 0 1 0 1/2 0 230
X6 0 2 0 0 -2 1 1 20
Z X1 X2 X3 X4 X5 X6 Z*
1 18 0 0 0 5 0 2300
X4 0 -1/2 2 0 1 -1/2 0 200
X3 0 3/2 0 1 0 ½ 0 230
X6 0 1 4 0 0 0 1 420
**
Los resultados óptimos para el rango de que esta acotado por 1 1 son:.
X4 200
X3 230
XB X6 420
X
XN X1 0
X2 0
X5 0
X4 100
Zˆ B 0 (C B 0 B0 ) X B0 c4 4 c3 3 c6 6 X3 0 5 5 0 230
X6 20
Zˆ B0 1.150 1.150
103
Los elementos necesarios a reconocer en este rango son:
1 1/ 2 0
B1 1 0 1/ 2 0
0 1 1
VB1 X4 X3 X6
VN1 X1 X2 X5
**
Sólo falta calcular si efectivamente existe un valor crítico , de manera tal que acote
las soluciones y la función, a través de:
B1 1 B 1a j j 0, j 1,2,5
B1 1 B 1a j j 4 3 6 B1 1 Y1 Y2 Y5 1 2 5
104
Finalmente, se puede concluir que la solución óptima es:
Para el rango entre 1 1
X2 100
X3 230
XB X6 420
X
XN X1 0
X4 0
X5 0
Zˆ B0 1.350 950
Este estudio estará restringido solo para 0 , puesto que para el caso de 0 ,
todos los resultados que se obtienen son análogos. Sea B0, la base óptima asociada
al problema original, es decir, cuando = 0.
max Z CX
s.a :
( PO)
AX b
X 0
105
Un cambio en el parámetro b hace variar el XB0 y el valor de la función objetivo
en el problema original. Sabemos que:
XB B 1b
Debemos determinar si existe algún valor crítico de , tal que para valores mayores
de , la sabe B0 dejaría de ser óptima:
1. Si Xˆ B0 1 (b ) 0 , para cualquier valor de , entonces la base
B0
*
Cuando , se puede obtener una nueva solución factible, utilizando el método
simplex dual, una vez actualizado Xˆ B 0 y Z * el tableau óptimo del problema original.
Cuando se efectúa la operación respectiva, se obtiene una nueva solución óptima
Xˆ B1 , la cual esta asociada a una nueva base B 1, lo cual nos permite, nuevamente,
obtener un segundo valor crítico de , siendo éste por lo tanto, el rango asociado
* * **
sería .
Ejemplo:
Consideremos el siguiente caso de programación lineal paramétrica:
max Z 3 X1 2 X 2 5 X 3
s.a. :
X1 2X2 X3 430 100
( PN )
3 X1 2X3 460 200
X1 4X2 420 400
X 1 0, X 2 0, X 3 0
106
Dónde:
b1 430 1 100
b b2 460 , 2 200
b3 420 3 400
La base óptima, las variables básicas y no básicas que constituyen el problema son:
1/ 2 1/ 4 0
B0 1 0 1/ 2 0
2 1 1
VB0 X2 X3 X6
VN 0 X1 X4 X5
107
* X B 0i
min 1
/ B0 1 i 0
i 1,, m B0 i
1/ 2 1/ 4 0 100 100
B0 1 0 1/ 2 0 200 100
2 1 1 400 0
Es así que para el rango de 0 2,3 , la solución óptima esta estructurada como:
X2 1/ 2 1 / 4 0 430 100
ˆ
X B0 X3 B0 1 (b ) B0 1b B0 1
0 1 / 2 0 460 100
X6 2 1 1 420 0
X2 100 100
Xˆ B 0 X3 230 100
X6 20
Que pasa para valores de 2,3 , se deberá actualizar el vector XB0 y la función
objetivo para =2,3, generando que:
X2 100 100 2,3 330
Xˆ B 0 X3 230 100 2,3 0
X6 20 20
Zˆ B0 1.350 300 2,3 660
108
X2 0 -1/4 1 0 1/2 -1/4 0 330
X3 0 3/2 0 1 0 1/2 0 0
X6 0 2 0 0 -2 1 1 20
Lamentablemente, al aplicar el método simplex dual, no es posible determinar el
vector de entrada, ya que todos los Y3 j 0 , lo cual indica que el problema
paramétrico no tiene solución para cualquier valor de 2,3 .
 difiere de la matriz A, únicamente en una columna no básica (la columna j), dónde:
aˆ j a j j, j N
Con a j A y y j vector columna de m componentes.
Hay que aclarar que, a diferencia de los dos casos anteriores, una vez obtenido el
valor crítico de (por ejemplo , el análisis no se puede volver a realizar para
*
valores de , ya que en este caso â j se convierte de un vector no básico
* *
(0 ) a un vector básico ( ). Dicho este comentario, se continuará el
estudio paramétrico de esta variable.
109
zˆ j cˆ j C B 0 B0 1aˆ j cj, j N
zˆ j cˆ j C B 0 B0 1 (a j j ) cj C B 0 B0 1a j C B 0 B0 1 j cj
zˆ j cˆ j C B 0 B0 1a j cj C B 0 B0 1 j
zˆ j cˆ j zj cj C B 0 B0 1 j , j N
Ejemplo:
Resuelva el siguiente PPL:
max Z 3X 1 2X 2 5X 3
s.a. :
(1 )X1 2X 2 X3 430
( PN )
(3 )X1 2X 3 460
X1 4X 2 420
X1 0, X 2 0, X 3 0
1 1
aˆ1 3 1
1 0
110
max Z 3X1 2 X 2 5X 3
s.a. :
X1 2X 2 X3 430
( PO)
3X1 2X 3 460
X1 4X 2 420
X1 0, X 2 0, X 3 0
El tableau asociado es:
Z X1 X2 X3 X4 X5 X6 Z*
1 4 0 0 1 2 0 1350
X2 0 -1/4 1 0 1/2 -1/4 0 100
X3 0 3/2 0 1 0 1/2 0 230
X6 0 2 0 0 -2 1 1 20
Entonces:
z1 c1 4
1/ 2 1/ 4 0 1 1
1
C B 0 B0 1 2 5 0 0 1/ 2 0 1 1 2 0 1 1
2 1 1 0 0
De esta manera, el :
* 4
4
1
111
Los costos reducidos, asociados a X1 y 0 4 son:
zˆ1 cˆ1 4 ( 1) 4
112
CAPITULO III: PROBLEMA DE TRANSPORTE,
TRANSBORDO Y ASIGNACIÓN
Hay que tener presente que cada destino puede absorber, a través de su demanda,
la producción de los distintos orígenes, por lo cual, el objetivo principal es determinar
la cantidad óptima que se debe enviar desde cada origen a cada destino, de manera
tal que el costo total de transporte sea mínimo.
La siguiente figura representa el modelo de transporte como una red con “m” centros
de oferta, que tienen que surtir a “n” centros de consumo, dónde cada nodo
representa un origen o destino y los arcos indican una conexión entre un origen y
destino indica que se puede transportar un producto.
“m” Centros de “n” Centros de
Oferta Demanda
(Origen) (Destino)
C11, X11
1 1
2 2
C22, X22
Ci1, Xi1
Ci2, Xi2
i j
Cij, Xij
Cin, Xin
Cmj, Xmj
m n
Cmn, Xmn
113
Donde:
m n
Min Z C X
i 1 j 1 ij ij
s.a.
n
X ai , i 1, , m,
j 1 ij
m
X bj, j 1, , n
i 1 ij
X ij 0, i, j
ai bj
i 1 j 1
114
Con esto, el problema a resolver es:
m n
Min Z C X
i 1 j 1 ij ij
s.a.
n
X ai , i 1,, m,
j 1 ij
m
X bj, j 1,, n
i 1 ij
X ij 0, i, j
A esta última estructura de programación lineal (PT) se le conoce como estructura de
transporte.
Donde:
XT X 11 X 12 X 1n X 21 X 22 X 2 n X m1 X m 2 X mn
C C11 C12 C1n C21 C22 C2 n Cm1 Cm 2 Cmn
T
d a1 a2 am b1 b2 bn
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0 m renglones
A m n renglones
0 0 0 0 1
I I In I n I n n renglones
nn
m n columnas
115
1 0 0 0
0 1 0 0
In n componentes
0 0 0 1
n componentes
116
1 2 3 n Oferta
1 X 11 X 12 X 13 X 1n a1
2 X 21 X 22 X 23 X 2n a2
3 X 31 X 32 X 33 X 3n a3
Matriz de flujos
m X m1 X m2 X m3 X mn am
Demanda b1 b2 b3 bn
Nota: Este algoritmo también se conoce como Stepping Stone Algorithm o Algoritmo
de Saltando Piedras.
En el caso que la oferta total sea mayor que la demanda total, entonces se tendrá:
m n
a b
i j
i 1 j 1
Los costos unitarios hacia ese centro de consumo b n+1 serán todos ceros, es decir, la
matriz de costos asociada quedará:
1 2 3 n n 1 Oferta
1 C11 C12 C13 C1n 0 a
1
2 C 21 C 22 C 23 C 2n 0 a
2
3 C31 C32 C33 C3n 0 a
3
m C m1 C m 2 C m3 C mn 0 a
n
Demanda b1 b2 b3 bn bn 1
117
Los costos unitarios hacia ese centro d oferta a n+1, serán todos ceros, es decir, la
matriz de costos queda:
1 2 n Oferta
1 C11 C 21 C1n a1
2 C12 C 22 C 2n a2
m C m1 C m 2 C mn an
m 1 0 0 0 am 1
Demanda b1 b2 bn
Una vez que el problema de transporte está balanceado, ya sea agregando centros
de demanda o centros de oferta ficticios o artificiales, se asegura que cumple con la
condición necesaria y suficiente para que el problema tenga solución.
Con lo anterior, se requiere que dicha solución inicial que sea básica (SBFI) y
factible. Para obtener dicha solución básica factible inicial, se utilizan distintos
mecanismos para su obtención, siendo en nuestro caso tres: Método de la Esquina
Noroccidental, Método del Mínimo Costo y Método de Vogel.
Para obtener una solución básica factible se empieza a construir una matriz de flujos
de la siguiente manera:
Paso 1:
En la posición (1,1), que es la esquina N-0 de la matriz ( de ahí su nombre), se
asigna el siguiente flujo a dicha posición:
118
X 11 Min a1 , b1
aˆ1 a1 X11
bˆ b1 X 11
1
aˆ i ai X ij
bˆ b X ij
j i
Paso 2:
Ocurrirá que una de los componentes, ya sea demanda u oferta será igual a cero,
por lo cual:
Si â 0 , pasar a la posición (2,1) y hacer X 21 Min a2 , bˆ1 Min a , b X .
1 2 1 11
Si b̂ 0 , pasar a la posición (1,2) y hacer X Min aˆ1, b Min a X , b
1 12 2 1 11 2
Paso 3:
Continuar con la misma lógica hasta llegar a la posición (m, n). La matriz de flujos
que se obtenga será factible y básica para el problema de transporte.
Ejemplo:
Se tiene tres plantas, las cuales abastecen a 5 regiones; como se indica a
continuación:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 16 19 16 60
3 18 15 18 20 M 90
Demanda 30 40 70 40 60
Solución:
Se debe analizar si la demanda es igual a la oferta, es decir:
119
ai bj
i j
40 60 90 30 40 70 40 60
190 240
Como existe una mayor demanda que oferta, implica que de acuerdo a nuestras
definiciones, es necesario agregar un centro de oferta artificial (m+1=3+1=4), así la
matriz queda con un Centro de Oferta Artificial 4 y una oferta a4=50 y los costos
asociados a cada centro de demanda es igual a cero, entonces la matriz de costos
asociada es la siguiente:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
Con la matriz anterior, nos permite buscar nuestro objetivo, el cual es obtener la
matriz de flujos, siendo inicialmente igual a:
1 2 3 4 5 Oferta
1 40
2 60
3 90
4 50
Demanda 30 40 70 40 60
Iteración 1:
Paso 1:
X 11 Min a1 , b1 Min 40,30 30
aˆ1 40 30 10
bˆ 30 30 0
1
Paso 2:
Como bˆ1 0 , se pasa a la posición (1,2), entonces:
120
X12 Min aˆ1, b2 (10,4) 10
aˆˆ1 10 10 0
bˆ2 40 10 30
ˆ
Iteración 3: Como bˆ2 0 , entonces pasa a la posición (2,3)
aˆˆ 30 30 0
2
bˆ 70 30 40
3
ˆ
Iteración 5: Como bˆ3 0 , entonces pasa a la posición (3,4)
X 34 Min aˆ3 , b4 50 ,40 40
aˆˆ 50 40 10
3
bˆ 40 40 0
4
Iteración 6: Como bˆ4 0 , entonces pasa a la posición (3,5)
X 35 Min aˆˆ3 , b5 10,60 10
ˆ
aˆˆ 10 10 0
3
bˆ 60 10 50
5
ˆ
Iteración 7: Como aˆˆ 3 0 , entonces pasa a la posición (4,5)
121
X 45 Min a 4 , bˆ5 50,50 50
aˆ 50 50 0
4
ˆ
bˆ 50 50 0
5
Costo MEN:
C X 20 * 30 19 *10 20 * 30 13 * 30 18 * 40 20 * 40 M *10 0 * 50 $3.300 10 M
ij ij
i j
Los números sobre las flechas indican las iteraciones de MEN. La solución inicial es
básica, ya que hay m n 1 4 5 1 8 flujos que X ij 0 y el resto, es decir,
m n m n 1 4 5 8 12 flujos son iguales acero X ij 0 . Lo anterior indica que
se satisfacen las restricciones de oferta y las restricciones de demanda y además, la
solución inicial es no-degenerada, porque hay exactamente m n 1 flujos en la
base que son positivos.
Aunque este método es sencillo, tiene como desventaja que la SBFI de la región de
soluciones del PT, se encuentra demasiado alejado de la solución óptima, es decir,
desde este punto hasta la solución óptima se requerirán varias iteraciones, lo cual
puede ser costoso desde el punto de uso del computador. La cusa principal de este
problema es que este método no toma en cuenta el costo, sólo la oferta y la
demanda.
Del ejemplo anterior, se puede analizar que existe un valor extremadamente elevado
(10M), el cual no favorece para nada el costo del transporte, asociado a la solución
inicial del problema
122
3.1.2.2.- Método De Vogel
Este método, que nos entrega una solución básica factible inicial para el algoritmo de
transporte, nos proporciona una solución más cercana al punto óptimo.
Paso 1:
Construya la matriz de costos y flujos asociados al problema balanceado y vaya al
paso 3.
Paso 2:
Utilice el remanente de la matriz de costos y flujos una vez que estos últimas se
hayan asignado.
Paso 3:
Se entiende por diferencia de fila (de columna) a la diferencia entre los dos números
más pequeños que hay en la fila (columna). Calcule todas las diferencias de filas o
columnas de la matriz de costos.
Paso 4:
Seleccione aquella fila o columna con mayor diferencia. Los empates se rompen de
manera arbitraria.
Paso 5:
Seleccione el costo más pequeño en la matriz de costos, ya sea en la fila o columna
seleccionada en el paso anterior. Designe a esta posición como Cij.
Paso 6:
En la matriz de flujo, hágase X ij Min ai , b j , donde la posición (i,j) fue identificada
en el paso anterior.
123
Ejemplo
Resolvamos el mismo problema anterior, pero utilizando el método de Vogel:
Iteración 1:
Matriz de Costos y Flujos:
1 2 3 4 5 Oferta 1 2 3 4 5 Oferta
1 20 19 14 21 16 40 1 40
2 15 20 13 19 16 60 2 60
3 18 15 18 20 M 90 3 90
4 0 0 0 0 0 50 4 50
Demanda 30 40 70 40 60 Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta Diferencia
1 20 19 14 21 16 40 2
2 15 20 13 19 16 60 2
3 18 15 18 20 M 90 3
4 0 0 0 0 0 50 0
Demanda 30 40 70 40 60
Diferencia 15 15 13 19 16
Rojo: mínimos por fila . Azul: mínimos por columna .
Paso 4:
Se selecciona la columna cuatro por tener la mayor diferencia que es 19.
Paso 5:
El costo más pequeño corresponde a Cij C 44 0 .
Paso 6:
X 44 min( a4 , b4 ) min( 50,40) 40
a 4 a4 X 44 50 40 10 b 4 b4 X 44 40 40 0
Paso 7:
Como b 4 0 , todos los elementos de la columna 4, a excepción de X44, se hacen
igual a cero y la columna 4 se elimina para cualquier consideración futura.
Iteración 2:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
124
1 2 3 4 5 Oferta
1 0 40
2 0 60
3 0 90
4 40 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 20 19 14 16 40 2
2 15 20 13 16 60 2
3 18 15 18 M 90 3
4 0 0 0 0 10 0
Demanda 30 40 70 0 60
Diferencia 15 15 13 16
Paso 4:
Se selecciona la columna cinco por tener la mayor diferencia que es 16.
Paso 5:
El costo más pequeño corresponde a Cij C 45 0 .
Paso 6:
X 45 min( aˆ 4 , b5 ) min(10,60) 10
aˆ 4 aˆ 4 X 45 10 10 0 b 5 b5 X 45 60 10 50
Paso 7:
Como aˆˆ 4 0 , todos los elementos de la fila 4 se hacen cero, a excepción de X 45 y la
fila 4 se elimina para cualquier consideración futura.
Iteración 3:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 40
2 0 60
3 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
125
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 20 19 14 16 40 2
2 15 20 13 16 60 2
3 18 15 18 M 90 3
4 0
Demanda 30 40 70 0 50
Diferencia 3 4 1 0
Paso 4:
Se selecciona la columna dos por tener la mayor diferencia que es 4.
Paso 5:
El costo más pequeño corresponde a Cij C32 15 .
Paso 6:
X 32 min( a3 , b2 ) min( 90,40) 40
aˆ3 a3 X 32 90 40 5 0 bˆ2 b2 X 32 40 40 0
Paso 7:
Como bˆ2 0 , todos los elementos de la columna 2 se hacen cero, a excepción de
X32 y la columna 2 se elimina para cualquier consideración futura.
Iteración 4:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 40
2 0 0 60
3 40 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 20 14 16 40 2
2 15 13 16 60 2
3 18 18 M 50 0
4 0
Demanda 30 0 70 0 50
126
Diferencia 3 1 0
Paso 4:
Se selecciona la columna uno por tener la mayor diferencia que es 3.
Paso 5:
El costo más pequeño corresponde a Cij C 21 15 .
Paso 6:
X 21 min( a2 , b1 ) min( 60,30) 30
aˆ a X
2 2 21 60 30 3 0 bˆ b X
1 1 30 30 0
21
Paso 7:
Como bˆ1 0 , todos los elementos de la columna 1 se hacen cero, a excepción de
X21 y la columna 1 se elimina para cualquier consideración futura.
Iteración 5:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 0 40
2 30 0 0 60
3 0 40 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 14 16 40 2
2 13 16 30 3
3 18 M 50 M-18
4 0
Demanda 0 0 70 0 50
Diferencia 1 0
Paso 4:
Se selecciona la fila tres por tener la mayor diferencia que es M-18.
Paso 5:
El costo más pequeño corresponde a Cij C33 18 .
Paso 6:
X 33 min( aˆ3 , b3 ) min( 50,70) 50
aˆ3 aˆ3 X 33 50 50 0 bˆ3 b3 X 33 70 50 20
127
Paso 7:
Como aˆˆ3 0 , todos los elementos de la fila 3 se hacen cero, a excepción de X 33 y la
fila 3 se elimina para cualquier consideración futura.
Iteración 6:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 0 40
2 30 0 0 60
3 0 40 50 0 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 14 16 40 2
2 13 16 30 3
3 0
4 0
Demanda 0 0 20 0 50
Diferencia 1 0
Paso 4:
Se selecciona la fila dos por tener la mayor diferencia que es 3.
Paso 5:
El costo más pequeño corresponde a Cij C 23 13 .
Paso 6:
X 23 min( aˆ 2 , bˆ3 ) min( 30,20) 20
aˆ 2 aˆ 2 X 23 30 20 10 bˆ3 bˆ3 X 23 20 20 0
Paso 7:
Como bˆ3 0 , todos los elementos de la columna 3 se hacen cero, a excepción de X 23
y la columna 3 se elimina para cualquier consideración futura.
Iteración 7:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
128
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 0 0 40
2 30 0 20 0 60
3 0 40 50 0 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 16 40 16
2 16 10 16
3 0
4 0
Demanda 0 0 0 0 50
Diferencia 0
Paso 4:
Se selecciona la fila uno o dos (arbitrariamente se rompe este empate) por tener la
mayor diferencia que es 16.
Paso 5:
El costo más pequeño corresponde a Cij C15 16 .
Paso 6:
X 15 min( a1 , bˆ5 ) min( 40,50) 40
aˆ1 a1 X 15 40 40 0 bˆ5 bˆ5 X 15 50 40 10
Paso 7:
Como aˆ1 0 , todos los elementos de la fila 1 se hacen cero, a excepción de X 15 y la
fila 1 se elimina para cualquier consideración futura.
Iteración 8:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
129
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 0 0 40 40
2 30 0 20 0 60
3 0 40 50 0 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:
1 2 3 4 5 Oferta Diferencia
1 0
2 16 10 16
3 0
4 0
Demanda 0 0 0 0 10
Diferencia 0
Paso 4:
Se selecciona la fila dos por tener la mayor diferencia que es 16.
Paso 5:
El costo más pequeño corresponde a Cij C 25 16 .
Paso 6:
X 25 min( aˆ 2 , bˆ5 ) min(10,10) 10
ˆ
aˆˆ 2 aˆ 2 X 25 10 10 0 bˆ5 bˆ5 X 25 10 10 10
Paso 7:
ˆ
Como aˆˆ1 0 bˆ5 0 , todos los elementos de la fila 2 y la columna 5 se hacen cero, a
excepción de X25 y la fila 1 y la columna 5 se eliminan para cualquier consideración
futura.
Iteración 9:
Paso 2:
Notemos que efectivamente la iteración anterior fue la última, por lo cual, se obtiene
la Matriz de Costos (sin tarjar) y La Matriz de Flujos final:
Matriz de Costos:
130
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
Matriz de Flujos:
1 2 3 4 5 Oferta
1 0 0 0 0 40 40
2 30 0 20 0 10 60
3 0 40 50 0 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Para calcular el costo del Método de Vogel se multiplican los flujos y costos
respectivos, correspondiente a la SBFI, obteniendo el siguiente valor:
C X 40 *16 30 *15 20 *13 10 *16 40 *15 50 *18 40 * 0 10 $3.010
ij ij
i j
Paso 1:
Construya la matriz de costos y flujos asociados al problema balanceado y vaya al
paso 3.
Paso 2:
Utilice el remanente de la matriz de costos y flujos una vez que estas últimas se
hayan asignado.
Paso 3:
Seleccione el costo más pequeño en la matriz de costos, ya sea en fila o columna.
Designe a esta posición como Cij.
Paso 4:
En la matriz de flujo, hágase X ij Min ai , b j , donde la posición (i,j) fue identificada
en el paso anterior.
Hágase la oferta ai igual a:
131
aˆi ai X ij
Hágase la demanda bj igual a:
b̂ b X ij
j i
Paso 5:
3. Si aˆ 0 , llénese la fila i de la matriz de flujos con ceros, a excepción de la
i
posición (i,j) y elimínese esa fila de cualquier consideración futura en la matriz de
costos.
4. Si bˆ 0 , llénese la columna j de la matriz de flujos con ceros, a excepción de la
j
posición (i,j) y elimínese a esa columna de cualquier consideración futura en la
matriz de costos.
Regrese al paso 2
Ejemplo
Resolvamos el mismo problema anterior, pero utilizando el método de Vogel:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
Iteración 1:
Paso 1:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
Paso 3:
El costo más pequeño de la matriz, corresponde completamente a la fila 4, por lo
cual, se elije arbitrariamente la posición (4,5): Cij C 45 0 .
Paso 4:
X 45 min( a4 , b5 ) min( 50,60) 50
aˆ a X
4 4 44 50 50 0 bˆ b X
5 5 60 50 1045
Paso 5:
Como aˆ 4 0 , todos los elementos de la fila 4, a excepción de X45, se hacen igual a
cero y la fila 4 se elimina para cualquier consideración futura.
132
Iteración 2:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 40
2 60
3 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0
Demanda 30 40 70 40 10
El costo más pequeño de la matriz, corresponde a la posición (2,3): Cij C 23 13 .
Paso 4:
X 23 min( a2 , b3 ) min( 60,70) 60
aˆ 2 a2 X 23 60 60 0 bˆ3 b3 X 23 70 60 10
Paso 5:
Como aˆ 2 0 , todos los elementos de la fila 2, a excepción de X 23, se hacen igual a
cero y la fila 2 se elimina para cualquier consideración futura.
Iteración 3:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
133
1 40
2 0 0 60 0 0 60
3 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 0
3 18 15 18 20 M 90
4 0
Demanda 30 40 10 40 10
El costo más pequeño de la matriz, corresponde a la posición (1,3): Cij C13 14 .
Paso 4:
X13 min( a1 , bˆ3 ) min( 40,10) 60
a1 a1 X 13 40 10 3 0 bˆ 3 bˆ3 X 23 10 10 0
Paso 5:
ˆ
Como bˆ3 0 , todos los elementos de la columna 3, a excepción de X 13, se hacen
igual a cero y la columna 3 se elimina para cualquier consideración futura.
Iteración 4:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 10 40
2 0 0 60 0 0 60
3 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 20 19 21 16 30
2 0
3 18 15 20 M 90
4 0
Demanda 30 40 0 40 10
134
El costo más pequeño de la matriz, corresponde a la posición (3,2): Cij C32 15 .
Paso 4:
X 32 min( a3 , b2 ) min( 90,40) 40
a 3 a3 X 32 90 40 5 0 b 2 b2 X 32 40 40 0
Paso 5:
Como bˆ2 0 , todos los elementos de la columna 2, a excepción de X 32, se hacen
igual a cero y la columna 2 se elimina para cualquier consideración futura.
Iteración 5:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 10 40
2 0 0 60 0 0 60
3 40 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 20 21 16 30
2 0
3 18 20 M 50
4 0
Demanda 30 0 0 40 10
El costo más pequeño de la matriz, corresponde a la posición (1,5): Cij C15 16 .
Paso 4:
X15 min( a1 , bˆ5 ) min( 30,10) 10
ˆ
aˆ1 a1 X 15 10 10 10 bˆ5 bˆ5 X 15 30 10 2 0
Paso 5:
ˆ
Como bˆ5 0 , todos los elementos de la columna 5, a excepción de X 15, se hacen
igual a cero y la columna 5 se elimina para cualquier consideración futura.
Iteración 6:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
135
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 10 10 40
2 0 0 60 0 0 60
3 40 0 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 20 21 20
2 0
3 18 20 50
4 0
Demanda 30 0 0 40 0
El costo más pequeño de la matriz, corresponde a la posición (3,1): Cij C31 16 .
Paso 4:
X 31 min( aˆ3 , b1 ) min( 50,30) 30
aˆˆ aˆ X
3 3 31 50 30 2 0 1 bˆ b X
1 30 30 0
31
Paso 5:
Como bˆ1 0 , todos los elementos de la columna 1, a excepción de X 31, se hacen
igual a cero y la columna 1 se elimina para cualquier consideración futura.
Iteración 7:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 10 10 40
2 0 0 60 0 0 60
3 30 40 0 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
136
Paso 3:
1 2 3 4 5 Oferta
1 21 20
2 0
3 20 20
4 0
Demanda 0 0 0 40 0
El costo más pequeño de la matriz, corresponde a la posición (3,4): Cij C34 20 .
Paso 4:
X 34 min( aˆˆ3 , b4 ) min( 20,40) 20
ˆ
aˆˆ 3 aˆˆ 3 X 31 20 20 0 bˆ4 b4 X 34 40 20 2 0
Paso 5:
ˆ
Como aˆˆ 3 0 , todos los elementos de la fila 3, a excepción de X34, se hacen igual a
cero y la fila 3 se elimina para cualquier consideración futura.
Iteración 8:
Paso 2:
Al regresar, la matriz de costos y flujos quedan de la siguiente manera:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
1 2 3 4 5 Oferta
1 0 0 10 10 40
2 0 0 60 0 0 60
3 30 40 0 20 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Paso 3:
1 2 3 4 5 Oferta
1 21 20
2 0
3 0
4 0
Demanda 0 0 0 20 0
El costo más pequeño de la matriz, corresponde a la posición (1,4): Cij C14 21 .
Paso 4:
X 14 min( aˆ1 , bˆ4 ) min( 20,20) 0
137
ˆ
aˆˆ1 aˆ1 X14 20 20 0 bˆ4 bˆ4 X 14 20 20 0
Paso 5:
ˆ
Como aˆˆ 0 bˆ4 0 , todos los elementos de la fila 1 y columna 4, a excepción de
1
X14, se hacen igual a cero y la fila 1 y columna 4 se elimina para cualquier
consideración futura.
Iteración 9:
Paso 2:
Notemos que efectivamente la iteración anterior fue la última, por lo cual, se obtiene
la Matriz de Costos (sin tarjar) y La Matriz de Flujos final:
Matriz de Costos:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
Matriz de Flujos:
1 2 3 4 5 Oferta
1 0 0 10 20 10 40
2 0 0 60 0 0 60
3 30 40 0 20 0 90
4 0 0 0 0 50 50
Demanda 30 40 70 40 60
Para calcular el costo del Método de Costo Mínimo, se multiplican los flujos y costos
respectivos, correspondiente a la SBFI, obteniendo el siguiente valor:
C X 10 *14 20 * 21 10 *16 60 *13 30 *18 40 *15 20 * 20 50 * 0 $3.040
ij ij
i j
Paso 1:
Balancear el problema de transporte, a fin de cumplir la condición necesaria y
suficiente para obtener una solución óptima, es decir:
138
m n
ai bj
i 1 j 1
Paso 2:
Generar una solución inicial que sea básica y factible, utilizando, ya sea: Método de
Vogel o Método De Extremo NorOccidental o Método de Mínimo Costo.
Paso 3:
Construir una matriz de costos C ij , asociada a la solución básica factible que se
tenga, donde:
C C , Si X está en la base
ij ij ij
C 0 , Si X no está en la base
ij ij
Paso 4:
Con esta matriz de costos, calcular el valor de todas las variables duales:
u , con i 1,...., m v , con j 1,....., n
i j
Utilizando la expresión:
ui v j Cij 0 i 1,..., m ; j 1,..., n
Paso 5:
Los parámetros zij cij se calculan por medio de la ecuación zij cij (ui v j ) cij .
Como estamos usando el PT como minimización, si todos los Zij Cij 0, i, j , la
solución actual es óptima. En caso contrario, si Zij Cij 0, i, j , se elije el valor más
positivo, correspondiente a X ij , correspondiente a la variable de flujo X ij para debe
entrar a la base.
Para seguir la coherencia general de la programación, el PT será aplica mediante
reglas de maximización, lo cual: si todos los Zij Cij 0, i, j , la solución actual es
óptima. En caso contrario, si Zij Cij 0, i, j , se elije el valor más negativo,
correspondiente a la variable de flujo X ij para debe entrar a la base.
Paso 6:
139
Si la variable X ij entra a la base con un cierto valor positivo , la oferta ai y la
demanda b j se desequilibran en un valor , a menos de que exista un mecanismo
de compensación.
Tengamos presente que los cinco flujos generan una solución básica factible inicial
(m+n-1=5), ya que:
X 11 X ij a1
X in ai
X m1 X mn am
X 11 X m1 b1
X1 j bj
X in X mn bn
X 11 0, X 1 j 0, X in 0, X m1 0, X mn 0
Supongamos que zij cij , es la más negativa y por lo tanto, X ij entra a la nueva
base con un determinado valor 0 , ( X ij , entra a la base por que z ij cij 0 ).
140
1 j n Oferta
1 X 11 X1 j a1
i / X ij X in ai
m X m1 X mn am
Demanda b1 bj bn
141
Para que esta solución sea básica, es decir, que solamente están m+n-1 elementos
en la base, debe ser lo suficientemente grande como para reducir el valor de uno o
varios flujos básicos a cero. Si analizamos la matriz anterior, vemos que si
aumenta, los siguientes flujos disminuyen: X , X , X , por lo tanto:
1j in m1
min X ,X ,X
1j in m1
Este circuito es único, por lo cual, el paso 6 se puede resumir como sigue:
6.a.- Construya el circuito único que contiene a la variable Xij que entra a la base.
Nota: Un reglón o una columna pueden tener más de dos celdillas en el circuito, pero
no pueden ser consecutivas más de dos de ellas.
Ejemplo:
Sea el problema de transporte, que tiene tres orígenes con capacidad de 40, 60 y 90
unidades, respectivamente y cinco destinos con demandas de 30, 40, 70, 40 y 60
unidades, respectivamente y los costos unitarios están dados en la siguiente tabla:
Matriz de Costos:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 No surte 90
Demanda 30 40 70 40 60
Iteración 1:
El problema esta desbalanceado, puesto que la oferta total es menor que la
demanda total en 50 unidades. Como se muestra a continuación:
4 5
a 190 b 240
i 1i j 1 j
De esta manera, para balancear el problema se debe crear un centro de oferta
artificial a5, el cual tiene una oferta de 50 unidades y cuyos costos son
C 4 j 0, j ,,5 . El problema ya balanceado, genera la siguiente matriz de costos:
1 2 3 4 5 Oferta
1 20 19 14 21 16 40
2 15 20 13 19 16 60
3 18 15 18 20 M 90
4 0 0 0 0 0 50
Demanda 30 40 70 40 60
142
Paso 2: Utilizando el Método de Vogel, se obtiene la solución básica factible inicial,
con un costo de $3.010. La matriz de flujos asociada es:
1 2 3 4 5 Oferta
1 0 0 0 0 40 40
2 30 0 20 0 10 60
3 0 40 50 0 0 90
4 0 0 0 40 10 50
Demanda 30 40 70 40 60
Paso 3:
Se construye la matriz de costos C ij , donde:
C 15 16 C 32 15
C 21 15 C 33 18
C 23 13 C 44 0
C 25 16 C 45 0
El resto de los C ij 0 . A continuación, hay que asociar las variables duales ui a los
orígenes ( i 1,,4 ) y las vj a los destinos ( j 1,,5 ), generándose la siguiente
matriz de costos actualizada:
1 2 3 4 5
1 0 0 0 0 16 u1
2 15 0 13 0 16 u2
3 0 15 18 0 0 u3
4 0 0 0 0 0 u4
v1 v2 v3 v4 v5
Paso 4:
Se generan las ecuaciones: ui v j Cij 0 i 1,..., m ; j 1,..., n
De esta manera:
C15 u1 v5 0
C 21 u 2 v1 0
C 23 u2 v3 0
C 25 u2 v5 0
C 32 u3 v2 0
C 33 u3 v3 0
C 44 u4 v4 0
C 45 u4 v5 0
143
Se puede analizar que se puede, específicamente, utilizar tanto u2 o v5, las cuales
están tres veces en las ecuaciones anteriores y por conveniencia asignaremos en
este caso u2=0.
Conocidos las variables duales v1, v3 y v5, se calculan ahora u1, u3, u4, v2 y v4:
C15 u1 v5 0 u1 C15 v5 16 16 0
C 33 u3 v3 0 u3 C 33 v3 18 13 5
C 45 u4 v5 0 u4 C 45 v5 0 16 16
C 32 u3 v2 0 v2 C 32 u3 15 5 10
C 44 u 4 v4 0 v4 C 44 u 4 0 ( 16) 16
En resumen:
u1 0 , v1 15
u2 0 , v2 10
u3 5 , v3 13
u4 16 , v4 16
v5 16
Paso 5:
Utilizando la formula: z c C (u v ), i, j N , se obtienen los indicadores de
ij ij ij i j
optimalidad:
z c C (u v ) 20 (0 15) 5
11 11 11 1 1
z c C (u v ) 19 (0 10) 9
12 12 12 1 2
z c C (u v ) 14 (0 13) 1
13 13 13 1 3
z c C (u v ) 21 (0 16 ) 5
14 14 14 1 4
z c C (u v ) 20 (0 10) 10
22 22 22 2 2
z c C (u v ) 19 (0 16) 3
24 24 24 2 4
z c C (u v ) 18 (5 15) 2
31 31 31 3 1
z c C (u v ) 20 (5 16 ) 1
34 34 34 3 4
z c C (u v ) M (5 16 ) M 21
35 35 35 3 5
144
z c C (u v ) 0 ( 16 15) 1
41 41 41 4 1
z c C (u v ) 0 ( 16 10) 6
42 42 42 4 2
z c C (u v ) 0 ( 16 13) 3
43 43 43 4 3
Pase 6:
El circuito queda representado, tabularmente, en la matriz de flujos:
1 2 3 4 5 Oferta
1 40 40
2 30- 20+ 10 60
3 40 50- 90
4 40 10 50
Demanda 30 40 70 40 60
El valor que debe tomar debe ser el mínimo de los flujos que disminuyen al
aumentar , es decir:
Min X ,X Min 30,50 30
21 33
Iteración 2:
Paso 3:
Se construye la matriz de costos C ij , donde:
C 15 16 C 32 15
C 23 13 C 33 18
C 25 16 C 44 0
C 31 18 C 45 0
145
El resto de los C ij 0 . A continuación, hay que asociar las variables duales ui a los
orígenes ( i 1,,4 ) y las vj a los destinos ( j 1,,5 ), generándose la siguiente
matriz de costos actualizada:
1 2 3 4 5
1 0 0 0 0 16 u1
2 0 0 13 0 16 u2
3 18 15 18 0 0 u3
4 0 0 0 0 0 u4
v1 v2 v3 v4 v5
Paso 4:
Se generan las ecuaciones: ui v j Cij 0 i 1,..., m ; j 1,..., n . De esta manera:
C15 u1 v5 0
C 23 u2 v3 0
C 25 u2 v5 0
C 31 u3 v1 0
C 32 u3 v2 0
C 33 u3 v3 0
C 44 u 4 v4 0
C 45 u4 v5 0
En este caso se puede utilizar u3, la cual está tres veces en las ecuaciones
anteriores, entonces u3=0.
Conocidos las variables duales v1, v2 y v3, se calculan ahora u1, u2, u4, v4 y v5:
C15 u1 v5 0 u1 C15 v5 16 21 5
C 23 u2 v3 0 u2 C 23 v3 13 18 5
C 25 u2 v5 0 v5 C 25 u2 16 ( 5) 21
C 44 u 4 v4 0 v4 C 44 u 4 0 ( 21) 21
C 45 u4 v5 0 u4 C 45 v5 0 (21) 21
En resumen:
146
u1 5 , v1 18
u2 5 , v2 15
u3 0 , v3 18
u4 21 , v4 21
v5 21
Paso 5:
Utilizando la formula: z c C (u v ), i, j N , se obtienen los indicadores de
ij ij ij i j
optimalidad:
z c C (u v ) 20 ( 5 18) 7
11 11 11 1 1
z c C (u v ) 19 ( 5 15) 9
12 12 12 1 2
z c C (u v ) 14 ( 5 18) 1
13 13 13 1 3
z c C (u v ) 21 ( 5 21) 5
14 14 14 1 4
z c C (u v ) 15 ( 5 18) 2
21 21 21 2 1
z c C (u v ) 20 ( 5 15) 10
22 22 22 2 2
z c C (u v ) 19 ( 5 21) 3
24 24 24 2 4
z c C (u v ) 20 (0 21) 1
34 34 34 3 4
z c C (u v ) M (0 21) M 21
35 35 35 3 5
z c C (u v ) 0 ( 21 18) 3
41 41 41 4 1
z c C (u v ) 0 ( 21 15) 6
42 42 42 4 2
z c C (u v ) 0 ( 21 18) 3
43 43 43 4 3
Pase 6:
El circuito queda representado, tabularmente, en la matriz de flujos:
1 2 3 4 5 Oferta
1 40 40
2 50+ 10- 60
3 30 40 20- 90
4 40- 10+ 50
Demanda 30 40 70 40 60
El valor que debe tomar debe ser el mínimo de los flujos que disminuyen al
aumentar , es decir:
147
Min X ,X ,X Min 10,20,40 10
25 33 44
Tercera Iteración:
Paso 3:
Se construye la matriz de costos C ij , donde:
C 15 16 C 33 18
C 23 13 C 34 20
C 31 18 C 44 0
C 32 15 C 45 0
El resto de los C ij 0 . A continuación, hay que asociar las variables duales ui a los
orígenes ( i 1,,4 ) y las vj a los destinos ( j 1,,5 ), generándose la siguiente
matriz de costos actualizada:
1 2 3 4 5
1 0 0 0 0 16 u1
2 0 0 13 0 0 u2
3 18 15 18 20 0 u3
4 0 0 0 0 0 u4
v1 v2 v3 v4 v5
Paso 4:
Se generan las ecuaciones: ui v j Cij 0 i 1,..., m ; j 1,..., n . De esta manera:
C15 u1 v5 0
C 23 u2 v3 0
C 31 u3 v1 0
C 32 u3 v2 0
C 33 u3 v3 0
C 34 u3 v4 0
C 44 u 4 v4 0
148
C 45 u4 v5 0
En este caso se puede utilizar u3, la cual está cuatro veces en las ecuaciones
anteriores, entonces u3=0.
Conocidos las variables duales v1, v2, v3 y v4, se calculan ahora u1, u2, u4 y v5:
C15 u1 v5 0 u1 C15 v5 16 20 4
C 23 u2 v3 0 u2 C 23 v3 13 18 5
C 44 u4 v4 0 u4 C 44 v4 0 (20) 20
C 45 u4 v5 0 v5 C 45 u4 0 ( 20) 20
En resumen:
u1 4 , v1 18
u2 5 , v2 15
u3 0 , v3 18
u4 20 , v4 20
v5 20
Paso 5:
Utilizando la formula: z c C (u v ), i, j N , se obtienen los indicadores de
ij ij ij i j
optimalidad:
z c C (u v ) 20 ( 4 18) 6
11 11 11 1 1
z c C (u v ) 19 ( 4 15) 8
12 12 12 1 2
z c C (u v ) 14 ( 4 18) 0
13 13 13 1 3
z c C (u v ) 21 ( 4 20) 5
14 14 14 1 4
z c C (u v ) 15 ( 5 18) 2
21 21 21 2 1
z c C (u v ) 20 ( 5 15) 10
22 22 22 2 2
z c C (u v ) 19 ( 5 20 ) 4
24 24 24 2 4
z c C (u v ) 16 ( 5 20 ) 1
25 25 25 2 5
149
z c C (u v ) M (0 20) M 20
35 35 35 3 5
z c C (u v ) 0 ( 20 18) 2
41 41 41 4 1
z c C (u v ) 0 ( 20 15) 5
42 42 42 4 2
z c C (u v ) 0 ( 20 18) 2
43 43 43 4 3
Oferta Demanda
1 30
40 1
16, 40
2 40
60 2 13, 60 15, 40
18, 30
3 70
18, 10
90 3
20, 10
4 40
0, 30
50 4
0, 20
Artificial
5 60
Notemos que la oferta total era de 190 unidades y de demanda total de 240
unidades, por lo cual, existe una demanda insatisfecha de 50 unidades y de acuerdo
al problema de transporte, la manera óptima de no satisfacer esta demanda es
dejando insatisfecho a los centro de consumo 4 en 30 unidades (flujo X44) y al centro
de consumo 5 en 20 unidades (flujo X45).
150
3.1.3.- Problemas de Transporte Degenerados
Como hemos visto, siempre los m+n-1 vectores básicos eran siempre mayores que
cero, pero se puede dar el caso que durante alguna iteración del algoritmo de
transporte se obtenga una solución básica, factible y degenerada, es decir, de los
m+n-1 vectores de la base, uno o mas de dichos vectores básicos obtenga el valor
cero.
151
Apéndice
Resumen Método Simplex Revisado
-Paso iterativo:
Determine la variable básica que entra; igual que el método Simplex original.
Determine la variable básica que sale; igual que el método original excepto, que se
calculan únicamente los miembros requeridos para esto (los coeficientes de la
variable básica que entra en todas las ecuaciones, menos la cero) y después el
segundo miembro de cada ecuación para cada coeficiente estrictamente positivo.
Ejemplo:
Min : Z 3X1 5 X 2
s.a.
x1 4
x2 12
3x1 2x2 18
X1 0 ; X2 0
Max :
Z 3X1 5 X 2
s.a.
x1 x3 4
2x2 x4 12
3x1 2x2 x5 18
Xi 0 : i 1,5
Solución:
1 0 1 0 0
C = (3,5) A, I 0 2 0 1 0
3 0 0 0 1
152
4 x3
x1
b 12 ; x ; xS x4
x2
18 x5
Iteración 0:
X3 1 0 0
1
xB X4 B 0 1 0 B
X5 0 0 1
4 1 0 0 4 4
b 12 xB 0 1 0 12 12
18 0 0 1 18 18
4
CB 0 0 0 Z 0 0 0 12 0
18
Iteración 1:
x3 1 0 0 1 0 0
1
xB x2 B 0 2 0 B 0 1/2 0
x5 0 2 1 0 -1 1
x3 1 0 0 4 4
xB x2 0 1/2 0 12 6
x5 0 -1 1 18 6
4
Z 0 5 0 6 30
6
Iteración 2:
x3 1 1/ 3 1/ 3 4 2
xB x2 0 1/ 2 0 12 6
x1 0 1/ 3 1/ 3 18 2
CB 0 5 3
2
Z 0 5 3 6 36 Z 36
2
Ejercicio en la iteración 2:
153
1 1/ 3 1/ 3 1 0 0 0
1
B A 0 1/ 2 0 0 2 0 1
0 1/ 3 1/ 3 3 2 1 0
1 1/3 1/ 3
1
CB B 0 5 3 0 1/2 0 0 3/ 2 1
0 - 1/3 1/ 3
0 0
1
CB B A C 0 5 3 0 1 3 3 0 0
1 0
Z
1 0 0 0 3/ 2 1 X1 36
0 0 0 1 1/ 3 1/ 3 X 2 2
0 0 1 0 1/ 2 0 X3 6
0 1 0 0 1/ 3 1/ 3 X4 2
X5
Z 36
Método Alternativo:
Como B (y por tanto B-1) cambian tan poco de una iteración a otra, resulta más
eficiente obtener:
BN1 EBA1
154
Ejemplo:
Iteración 1
Z x1 x2 x3 x4 x5
1 -3 -5 0 0 0 0
x3 0 1 0 1 1 0 4
x4 0 0 2 0 0 0 12
x5 0 3 2 0 0 1 18
X3
xB X4
X5
0 1 0 0
1/ 2 E 0 1/2 0
1 0 -1 1
1 0 0 1 0 0 1 0 0
1
B N 0 1/ 2 0 0 1 0 0 1/ 2 0
0 1 1 0 0 1 0 1 1
1 0 0 4 4
1
xB B b 0 1 / 2 0 12 6
0 1 1 18 6
1 0 0 1 -
1
C B B ANB C NB 0,5,0 0 1 / 2 0 0 - 3, 3,
0 1 1 3 -
1 0 0
1
CB B 0,5,0 0 1 / 2 0 0,5 / 2,0
0 1 1
Iteración 2:
Z x1 x2 x3 x4 x5
1 -3 - 0 5/2 0
x3 0 1 - 1 0 0 4
x2 0 0 - 0 1/2 0 6
x5 0 3 - 0 -1 1 6
155
1 0 1/ 3 1 0 0 1 1/ 3 1/ 3
1
B N 0 1 0 0 1/ 2 0 0 1/ 2 0
0 0 1/ 3 0 1 1 0 1/ 3 1/ 3
1/ 3 1/ 3
1
CB B 0,5,3 1/ 2 0 ,3 / 2,1
1/ 3 1/ 3
1 1/ 3 1/ 3 4 2
1
xB B b 0 1/ 2 0 12 6
0 1/ 3 1/ 3 18 2
2
1
Z CB B B 0,5,3 6 36
2
Z x1 x2 x3 x4 x5
1 - - - 3/2 1 36
x3 0 - - 1 1/3 -1/3 2
x2 0 - - 0 ½ 0 6
x1 0 - - 0 -1/3 1/3 2
Las soluciones son:
X 1 12 u X2 6 u Z $132(um)
156