Investigación de Operaciones 1: Autor: Danilo de Jesús Ariza Agámez
Investigación de Operaciones 1: Autor: Danilo de Jesús Ariza Agámez
Operaciones 1
978-958-5455-98-6
Edición:
Fondo editorial Areandino
Fundación Universitaria del Área Andina
Calle 71 11-14, Bogotá D.C., Colombia
Tel.: (57-1) 7 42 19 64 ext. 1228
E-mail: [email protected]
http://www.areandina.edu.co
Hecho en Colombia
Made in Colombia
Todos los derechos reservados. Queda prohibida la reproducción total o parcial de esta
obra y su tratamiento o transmisión por cualquier medio o método sin autorización escrita
de la Fundación Universitaria del Área Andina y sus autores.
Investigación De
Operaciones 1
UNIDAD 1
Introducción 7
Metodología 8
Desarrollo temático 9
UNIDAD 1
Introducción 26
Metodología 27
Desarrollo temático 28
UNIDAD 2
Introducción 50
Metodología 51
Desarrollo temático 52
UNIDAD 2
Introducción 69
Metodología 70
Desarrollo temático 71
i
Índice
UNIDAD 3
Introducción 91
Metodología 92
Desarrollo temático 93
UNIDAD 3
Introducción 115
Metodología 116
UNIDAD 4
Introducción 134
Metodología 135
UNIDAD 4
Introducción 154
Metodología 155
Bibliografía 176
Introducción La investigación de operaciones resulta ser una valiosa
herramienta matemática orientada al apoyo en la toma de
decisiones asociadas con la gestión de recursos. A través del
desarrollo del presente curso de Investigación de
Operaciones I se aborda un importante conjunto de
herramientas de gestión muy relacionadas con procesos de
ingeniería. En esta primera cartilla se da tratamiento a
algunos conceptos generales del área, tales como las partes
en que se divide, los procesos genéricos involucrados,
luego se inicia la introducción a la programación lineal
como una de las ramas de la investigación de operaciones,
esta introducción contempla los primeros conceptos
particulares y se ilustra las generalidades, a través de la
presentación de un sencillo ejemplo. El desarrollo del curso,
además de cada una de las cartillas cuenta con un conjunto
de recursos, orientados a favorecer la comprensión de cada
uno de los contenidos, entre los que se cuenta enlaces a
videos, ejercicios resueltos a manera de lecturas
complementarias o como requisito para enfrentar los
ejercicios de repaso.
4
Fundación Universitaria del Área Andina 8
Conceptos básicos e introducción a la Programación Lineal
5
Fundación Universitaria del Área Andina 9
Áreas de la investigación de operaciones
La investigación de operaciones encuentra aplicaciones en campos diversos tales como
procesos de manufactura, planificación de transporte, construcción, diseño de sistemas de
telecomunicaciones, planeación y gestión financiera, gestión de sistemas de salud, entre
muchas otras. Diferentes problemas, según su naturaleza, se abordan desde diferentes áreas
que forman este campo de la gestión. Entre las áreas de la investigación de operaciones se
encuentran las siguientes:
o Programación Lineal.
o Programación Lineal entera.
o Programación no lineal.
o Programación dinámica.
o Teoría de inventarios.
o Problemas de asignación y transporte.
o Teoría de colas.
En cuanto a los datos, se debe contar con la cantidad suficiente que permita el adecuado
entendimiento de la situación a resolver, lo cual será parte del insumo utilizado frente a un
modelo matemático que se llegue a plantear. Se espera que la empresa tenga los debidos
sistemas de información que permitan proporcionar al equipo de investigación de
operaciones los datos verdaderamente útiles frente a las necesidades existentes con ello
relacionadas.
Además, se debe tener en cuenta que muchas veces la búsqueda rigurosa del valor óptimo
implica en algunos casos altos costos que no son plenamente justificados por el beneficio
obtenido. Una importante corriente frente a estas situaciones es la aplicación de
procedimientos heurísticos o intuitivos que, si bien no dan la solución óptima si proporcionan
buenas soluciones aproximadas subóptimas.
Dado que una solución óptima hallada a partir de un modelo puede ser muy diferente del
valor ideal real, en estudios de investigación de operaciones siempre se debe considerar
análisis adicionales posteriores o análisis posóptimos, en los que, generalmente los
administradores plantean preguntas sobre qué pasaría si se hubiese tomado en cuenta otras
suposiciones en la formulación del modelo.
Implementación de la solución
La fase de implementación consiste en llevar o traducir la solución planteada a un proceso
operativo. Esta etapa debe considerar diferentes pasos, entre los que se incluye una clara
explicación o capacitación a todo el personal que de alguna forma tenga que ver con la
realización del estudio o su uso operativo. La adecuada solución y el éxito de su
implementación puede dar lugar a que el sistema se aproveche por varios años, sin embargo a
lo largo de estos se debe realizar las debidas supervisiones y detectar si se cumplen los
supuestos sobre los cuales se planteó el problema e implemento la solución y, si es el caso,
llevar a cabo posibles modificaciones. Otro importante paso en la etapa de implementación
corresponde a la documentación, esta debe darse con la debida claridad y precisión de tal
manera que no exista ambigüedad al realizar tareas propias de la operación basada en el
sistema.
Programación Lineal
La Programación Lineal o PL es quizá el más importante avance en la ciencia a mitad del siglo
pasado. Desde su aparición ha sido muy utilizada como herramienta de planificación en
En la fabricación de puertas de 2,5 metros (P1) y ventanas corredizas de 1,20 por 1,90 (P2) (en
lotes de 20 unidades), se quiere determinar el número de lotes por semana de cada producto
con el fin obtener la máxima utilidad posible, teniendo en cuenta las limitaciones de
capacidad de las plantas, se puede dar cualquier combinación posible que satisfaga las
restricciones.
Si se ha de fabricar 𝑥𝑥! lotes del producto P1 y 𝑥𝑥! lotes del producto P2 y teniendo en cuenta la
información de la tabla 1.1 encontramos que la función 𝑍𝑍 corresponde a la siguiente
expresión
𝑍𝑍 = 6𝑥𝑥1 + 10𝑥𝑥2
Como corresponde, según los objetivos de la empresa, se desea escoger los valores de 𝑥𝑥! y 𝑥𝑥!
que den lugar al mayor valor de 𝑍𝑍, es decir, se quiere maximizar esta función, teniendo en
cuenta las limitaciones o restricciones en relación con la disponibilidad de horas en las plantas
de producción. Según la tabla La tabla 1.1 cada lote del producto P1 requiere una hora
semanal en la planta El Tintal, y sólo hay disponible 4 horas por semana, lo que se asocia con
una restricción expresada mediante 𝑥𝑥! ≤ 4, por otra parte, cada lote del producto P2 requiere
dos horas de trabajo en la planta Quinta Camacho, cuya capacidad de producción está
limitada a 12 horas semanales para nuevos productos, con lo cual la correspondiente
restricción es 2𝑥𝑥! ≤ 12. Cada lote de los productos P1 y P2 demandan respectivamente 3 y 2
horas semanales de trabajo en la planta Puente Aranda, pero esta planta limita la producción
a un total de 18 horas por semana, lo que da la restricción 3𝑥𝑥! + 2𝑥𝑥! ≤ 18, en el ámbito de la
Programación Lineal a estas restricciones, que se refieren a las limitaciones del recurso, se les
conoce como restricciones estructurales. Finalmente, teniendo en cuenta que no se puede
producir una cantidad negativa de lotes de cada producto, las cantidades 𝑥𝑥! y 𝑥𝑥! deben
satisfacer las restricciones 𝑥𝑥! ≥ 0 y ≥ 0, las cuales son conocidas como restricciones de no
negatividad. Una síntesis de lo anterior mediante expresiones matemáticas consiste en hallar
los valores de 𝑥𝑥! y 𝑥𝑥! que permitan:
Se desea saber las cantidades a fabricar de cada producto teniendo en cuenta las limitaciones
de tiempo en las máquinas. De la tabla 1.x se tiene entonces la formulación como un
problema de Programación Lineal.
El modelo está planteado, lo hecho hasta aquí corresponde a la formulación del modelo,
debemos pensar en procedimientos de solución, en el siguiente numeral abordaremos una
forma gráfica para resolver el problema.
En los ejemplos que hemos citado como ilustración inicial de la Programación Lineal
encontramos las variables de decisión, dos en el ejemplo 1.1 y tres en el 1.2. Tomando como
referencia el problema del ejemplo 1.1, si consideramos el caso de igualdad en cada una de las
restricciones y realizamos las correspondientes representaciones gráficas, donde la variable 𝑥𝑥!
se asocia con el eje horizontal y 𝑥𝑥! con el eje vertical, obtenemos una línea recta por cada
restricción estructural, las restricciones de no negatividad (𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0) obligan a
considerar solo valores en el primer cuadrante del plano cartesiano. En la figura 1.1 se muestra
la representación gráfica de las líneas correspondientes al caso de igualdad.
En la figura 1 se ha sombreado la región limitada por las rectas obtenidas, el estudiante puede
verificar que cualquier par de valores 𝑥𝑥! , 𝑥𝑥! correspondientes a puntos sobre la región
sombreada satisface las restricciones establecidas. En este contexto a la región se denomina
región factible. Dado que se requiere hallar el par de valores 𝑥𝑥! , 𝑥𝑥! que maximizan la función
𝑍𝑍, nos corresponde analizar en cual o cuales de los puntos de la región factible se presenta el
máximo de 𝑍𝑍, para hallar este máximo nos fundamentamos en ensayo y error elaborando la
gráfica de 𝑍𝑍 = 6𝑥𝑥! + 10𝑥𝑥! para algún valor de prueba de 𝑍𝑍, por ejemplo 𝑍𝑍 = 20, si la recta
tiene puntos en la región factible (al menos uno) significa que el valor elegido para 𝑍𝑍 es un
valor válido de la función objetivo, aunque no necesariamente el máximo. Podemos probar
con otros valores de 𝑍𝑍 y elaborar las respectivas gráficas y ver cuál da el mejor valor.
En la figura 2 se ha representado varias de estas rectas y se observa que son paralelas entre sí,
además, entre las que se ha graficado, la que presenta el mejor valor de 𝑍𝑍 es aquella que se
encuentra más lejos del origen.
De lo anterior se podría inferir que la idea fundamental del método gráfico de solución
consiste en trazar la familia de rectas paralelas de la forma 𝑍𝑍 = 𝑐𝑐 y observar cuál de las que
tiene puntos sobre la región factible es la más alejada del origen, en esta recta, el punto o
conjunto de puntos que se encuentre sobre la región factible da la solución al problema
planteado. En la práctica se puede trazar una de ellas y valerse de procedimientos de
traslación de la regla sin cambio de la pendiente sobre la región factible en la dirección que 𝑍𝑍
mejora su valor. La traslación se hace hasta que la regla pasa solo por un punto de la región
factible. A manera de conclusión podemos ver que 𝑍𝑍 toma su máximo valor en el punto
correspondiente a 𝑥𝑥! = 2; 𝑥𝑥! = 6 y el valor máximo es 𝑍𝑍 = 72.
El procedimiento gráfico solo es posible usarlo cuando se tiene problemas con dos variables
de decisión (aunque con alguna dificultad se podría usar con tres variables), para casos de más
de tres variables es imperativo el uso de métodos analíticos, cuyo estudio se iniciará en la
cartilla de la semana 2 A continuación se presenta el modelo general de un problema de
Programación Lineal.
En el ejemplo 1.1 nos podemos referir a las capacidades de las tres plantas de producción
como los recursos y a la tarea de fabricar dos tipos de productos como las actividades. En
general, en un problema de Programación Lineal se habla de la existencia de 𝑚𝑚 recursos
asignables a 𝑛𝑛 actividades. La disponibilidad de recursos siempre está asociada con
limitaciones de los mismos correspondientes a las restricciones.
𝑐𝑐! = 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑒𝑒𝑒𝑒 𝑍𝑍 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑎𝑎𝑎𝑎 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑢𝑢𝑢𝑢𝑢𝑢 𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑗𝑗.
𝑏𝑏! = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑎𝑎 𝑙𝑙𝑙𝑙𝑙𝑙 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 (𝑖𝑖 = 1, 2, . . . , 𝑚𝑚).
𝑎𝑎!" = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑𝑑𝑑 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑝𝑝𝑝𝑝𝑝𝑝 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑎𝑎𝑎𝑎𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑗𝑗.
Lo cual significa que por cada unidad de la actividad 1 se utiliza una cantidad
𝑎𝑎!! del recurso 1, una cantidad 𝑎𝑎!" del recurso 2. Genéricamente, por cada unidad de la
actividad 𝑛𝑛 se utiliza una cantidad 𝑎𝑎!! del recurso 1, una cantidad 𝑎𝑎!! del recurso 2, y así
sucesivamente. A los coeficientes 𝑐𝑐! , … , 𝑐𝑐! ; 𝑏𝑏! , … , 𝑏𝑏! ; 𝑎𝑎!! , … , 𝑎𝑎!! , … , 𝑎𝑎!! , … , 𝑎𝑎!" se conocen
como constantes o parámetros del modelo
Esta forma se puede considerar en este curso como la forma estándar del modelo matemático
del problema.
En el ejemplo 1.1 los vértices (0, 6), (2,6) 𝑦𝑦 (4,3) son soluciones factibles, ya que hacer parte
de la región factible, a este tipo de soluciones que se presentan en vértices de la región
factible se les conoce como soluciones factibles en vértices.
El Método Simplex
Del Método Simplex se puede decir en principio que consiste en un procedimiento analítico
orientado a la solución de problemas de PL, sus fundamentos tienen origen en la geometría,
razón por la cual lo estudiamos inicialmente desde una perspectiva geométrica, para lo cual
estaremos apoyados en la situación del ejemplo 1.1 presentado en la cartilla de la semana 1.
La figura 1 muestra la región factible correspondiente al ejemplo 1.1 y se señalan los vértices
de la región, 0, 0 0, 6 2,6 , 4, 3 4, 0 , anotamos antes que las coordenadas de tales
vértices son soluciones factibles, (soluciones factibles en vértices). Es fácil ver que cada vértice
es la intersección de dos rectas asociadas con restricciones, en el caso general de un problema
de PL con 𝑛𝑛 variables de decisión, aunque no es posible visualizarlo geométricamente, cada
solución factible en vértice corresponde a la intersección de 𝑛𝑛 fronteras de restricción.
5
Fundación Universitaria del Área Andina 28
Figura 1
Fuente: Propia.
En el caso de un problema de programación lineal con dos variables de decisión, la figura 2.1
permite ver que dos vértices adyacentes comparten o satisfacen una misma restricción en
común (una menos que el número de variables), extendiendo esta idea al caso general de un
problema con 𝑛𝑛 variables, se tiene entonces que dos soluciones factibles en vértices
adyacentes comparten o satisfacen 𝑛𝑛 − 1 restricciones, tales soluciones factibles en vértices
adyacentes se encuentran en un segmento de recta o arista de la región factible. Como de
cada vértice se desprenden dos aristas, a cada solución factible en un vértice se le puede hallar
dos soluciones factibles en vértices adyacentes (en aristas diferentes) ¿Cuál es el par de
vértices adyacentes de cada uno de los vértices de la región factible dada en la figura 1?
Valiéndonos de la región factible del ejemplo 1.1, mostrada en la figura 2, presentamos las
ideas básicas de la lógica del Método Simplex desde el punto de vista geométrico.
De las consideraciones vemos que, para hallar la solución óptima, el Método Simplex solo
toma en cuenta las soluciones factibles en vértices, recalcando lo anotado anteriormente en
relación con solución de problemas de PL que tienen región factible acotada. Esto es
importante en razón a que del infinito número de soluciones factibles solo hay que analizar un
reducido número de posibilidades. También vale la pena ver que se toma como solución
inicial la correspondiente a (0, 0), es decir, todas las variables de decisión valen cero, lo que
evita la necesidad de realizar cálculos en la consecución de esta solución inicial.
En el análisis también se observa que en cada iteración, a partir de la solución actual, el
Método Simplex solo considera como posibles mejores soluciones las correspondientes a
vértices adyacentes, por tanto la trayectoria seguida hasta llegar a una solución óptima es el
conjunto de aristas de la región factible. En el proceso de determinación de una mejor
solución, con base en el Método Simplex solo se identifica en qué medida mejora el valor de 𝑍𝑍
por cada una de las aristas que parten del correspondiente vértice, al final se selecciona la
arista que conduzca a la mayor mejora en el valor de 𝑍𝑍. Con estos razonamientos finalizamos
el análisis del Método Simplex desde el punto de vista geométrico y nos disponemos a
abordar su estudio de forma algebraica.
Un problema de PL que involucre más de tres variables de decisión no puede ser tratado con
base en una representación gráfica de la región factible, razón por la cual se aborda mediante
procedimientos algebraicos basados principalmente en la solución de sistemas de ecuaciones
lineales, sin embargo, las restricciones estructurales están expresadas en forma de
inecuaciones, lo que demanda la necesidad de ajustar el modelo matemático del problema de
forma tal que tales restricciones se puedan expresar en forma de ecuaciones.
Para el tratamiento algebraico del problema convertimos las inecuaciones asociadas con
restricciones estructurales mediante la incorporación de una variable de holgura. Para
comprender esta idea consideremos primero la 𝑖𝑖 − 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 restricción expresada mediante:
Esta inecuación se puede convertir en ecuación sumando un apropiado valor positivo 𝑥𝑥! al
lado izquierdo de la desigualdad, es decir:
Ejemplo 2.1: utilizar variables de holgura para escribir el modelo del problema de la empresa
La Arenosa en forma de ecuaciones.
Figura 2
Fuente: Propia.
Para analizar de forma más cercana los conceptos consideremos siguientes soluciones
ampliadas (aunque no detallamos aún como se obtienen, el estudiante puede verificar que
satisface el modelo ampliado) correspondientes al ejemplo 2.2.
La solución 𝑎𝑎) no es una solución básica factible porque la variable 𝑥𝑥! no satisface la
condición de no negatividad, vemos también que correspondería a la solución no factible
𝑥𝑥! = 4, 𝑥𝑥! = 6 del problema original.
La solución 𝑏𝑏) es una solución básica factible en un vértice, que correspondería a la solución
factible 𝑥𝑥! = 0, 𝑥𝑥! = 0.
Si nos referimos al caso del ejemplo 2.2 las soluciones factibles (0, 0) 𝑦𝑦 (0, 6) se ubican en
vértices adyacentes de la región factible mostrada en la Figura 2.2, por tanto las respectivas
soluciones ampliadas son (0, 0, 4, 12, 18) 𝑦𝑦 (0, 6, 4, 0, 6) que son soluciones básicas factibles
adyacentes, lo que se puede confirmar observando que coinciden en la variable no básicas 𝑥𝑥! .
Para pasar de la solución (0, 0, 4, 12, 18) a (0, 6, 4, 0, 6) se cambia 𝑥𝑥! de variable no básica a
básica, operación contraria se hace con la variable 𝑥𝑥! .
A partir de la expresión 𝑍𝑍 = 𝑐𝑐! 𝑥𝑥! + 𝑐𝑐! 𝑥𝑥! + ⋯ + 𝑐𝑐! 𝑥𝑥! , que define la función objetivo,
podemos escribir 𝑍𝑍 − 𝑐𝑐! 𝑥𝑥! − 𝑐𝑐! 𝑥𝑥! − ⋯ − 𝑐𝑐! 𝑥𝑥! e incorporar esta ecuación en el modelo
ampliado del problema, esto con el fin de abordar los procedimientos algebraicos propios de
la aplicación del Método Simplex, con lo que se obtiene el siguiente sistema:
Se destaca en esta forma que se ha agregado al sistema la variable 𝑍𝑍 y una nueva ecuación,
con lo que el sistema ampliado consiste ahora en 𝑚𝑚 + 1 ecuaciones con 𝑚𝑚 + 1 variables. Los
razonamientos planteados hasta aquí se refieren a la forma estándar de problemas de
Ejemplo 2.2
A partir del modelo ampliado, mediante la incorporación de las debidas variables de holgura,
resolver el problema de la empresa La Arenosa mediante los procedimientos algebraicos
asociados con el Método Simplex.
v Procedimiento de iniciación: considerar como solución básica inicial aquella en la cual las
variables 𝑥𝑥! , y 𝑥𝑥! se toman como no básicas, es decir 𝑥𝑥! = 0, y 𝑥𝑥! = 0. Al sustituir estos
valores en el sistema ampliado se tiene 𝑥𝑥! = 4, 𝑥𝑥! = 12 y 𝑥𝑥! = 18. Por tanto la solución
básica inicial es 𝑥𝑥! = 0, 𝑥𝑥! = 0, 𝑥𝑥! = 4, 𝑥𝑥! = 12 y 𝑥𝑥! = 18.
v Procedimiento de prueba de optimalidad: con los valores actuales de 𝑥𝑥! , y 𝑥𝑥! , la función
objetivo 𝑍𝑍 = 6𝑥𝑥! + 10𝑥𝑥! toma el valor 0 (𝑍𝑍 = 0). Es claro que ninguna de las variables
básicas 𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥! contribuye con el valor de la función objetivo (sus coeficientes son cero),
esto significa que un aumento en el valor de al menos una de las variables no básicas
𝑥𝑥! , y 𝑥𝑥! da lugar a un mejor valor de la función objetivo, se concluye entonces que la actual
solución no es óptima.
Paso 1: selección de una variable no básica para ser básica. El paso inicial de cada
iteración es seleccionar una las variables no básicas para que haga parte del conjunto de
variables básicas, es decir, incrementar su valor y realizar el correspondiente ajuste de las
otras variables básicas. Esto equivale al proceso descrito en la sección xx, consistente en
pasar de una actual solución factible a una solución mejor a lo largo de una de las aristas
que salen de la actual solución. La selección de la variable a convertirse en básica se hace
teniendo en cuenta cuál de las variables no básicas tiene mayor coeficiente en la función
objetivo 𝑍𝑍, ya que este coeficiente indica en cuanto aumenta 𝑍𝑍 con el aumento en cada
unidad de las variables no básicas consideradas. En el ejemplo se elige 𝑥𝑥! como nueva
variable básica (variable básica entrante) porque su coeficiente es 10 mientras que el de 𝑥𝑥!
es 6.
Debido a que 𝑥𝑥! pasa a ser variable básica, buscamos que su coeficiente sea 1 en la ecuación
(𝐹𝐹! ) y cero en las demás ecuaciones. Aplicando operaciones básicas de filas asociadas con el
procedimiento de eliminación de Gauss, el sistema se reduce a:
Las operaciones hechas son: sumar 5 veces la ecuación 𝐹𝐹! a la 𝐹𝐹! (𝐹𝐹! + 5𝐹𝐹! ), multiplicar por
! !
la ecuación 𝐹𝐹! ( 𝐹𝐹! ) y restar la ecuación 𝐹𝐹! a la 𝐹𝐹! 𝐹𝐹! − 𝐹𝐹! , tal como se señala
! !
anteriormente entre cada par de ecuaciones original y resultante. Sustituyendo 𝑥𝑥! =
0, 𝑥𝑥! = 0 en el último sistema, tenemos 𝑥𝑥! = 4, 𝑥𝑥! = 6, 𝑥𝑥! = 6, con lo cual la nueva
solución básica factible es (0, 6, 4, 0, 6) y según se encuentra a partir de la ecuación 𝐹𝐹! la
función objetivo toma el valor 𝑍𝑍 = 60.
De lo anterior vemos que el incremento de 𝑥𝑥! solo afecta la no negatividad de 𝑥𝑥! y 𝑥𝑥! deduce
que, para satisfacer la no negatividad de variables, es necesario que 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0 y 𝑥𝑥! ≥ 0,
por tanto es necesario que 4 − 𝑥𝑥! ≥ 0 y 6 − 3𝑥𝑥! ≥ 0, lo que se satisface con 𝑥𝑥! ≤ 4 y 𝑥𝑥! ≤ 2.
Con lo cual se debe elegir 𝑥𝑥! ≤ 2. El incremento de 2 unidades en 𝑥𝑥! hace que 𝑥𝑥! sea cero
convirtiéndose ahora en la variable básica saliente. Aplicando las respectivas operaciones
sobre filas se encuentra el nuevo sistema ampliado mostrado a continuación.
A partir del nuevo sistema ampliado se observa que la nueva solución básica factible es
(2, 6, 2, 0, 0), con la cual el valor de la función objetivo es 𝑍𝑍 = 72. La prueba de optimalidad
se realiza a partir de 𝑍𝑍 = 72 − 3𝑥𝑥! − 2𝑥𝑥! = 72, se ve que cualquier incremento en las
variables no básicas 𝑥𝑥! y 𝑥𝑥! da lugar a una disminución del actual valor de Z, por tanto el no
hay solución básica adyacente que sea mejor que la solución actual, con lo que se concluye
que la solución es óptima.
Ejemplo 2.3: aplicar el Método Simplex en su forma tabular para resolver el problema de la
empresa La Arenosa.
La tabla 1 muestra una fila de encabezados, una columna para las variables básicas y las
columnas de coeficientes de las variables. Se resalta la fila 𝐹𝐹! En el paso inicial se selecciona
𝑥𝑥! , 𝑥𝑥! y 𝑥𝑥! como variables básicas lo que implícitamente indica que las no básicas son 𝑥𝑥! y 𝑥𝑥! .
Hasta este punto del desarrollo se tiene que la solución básica factible actual es
(0, 0, 4, 12, 18)
𝐹𝐹! 𝑍𝑍 1 −6 −10 0 0 0 0
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 2 0 1 0 12
𝐹𝐹! 𝑥𝑥! 0 3 2 0 0 1 18
Tabla 1.
Fuente: Propia.
Para que la solución sea óptima se requiere que todos los coeficientes en la fila 𝐹𝐹! sean no
negativos, como este no es el caso, la actual solución no es óptima y se requiere proceder con
una iteración.
Tabla 2
Fuente: Propia.
Para decidir la variable básica saliente se determina lo que llamamos fila pivote.
Considerando solo los valores positivos de la columna pivote, se divide los valores del lado
derecho o valores 𝑏𝑏! de cada fila por el respectivo coeficiente en la columna pivote, la fila
en la que resulta el menor cociente corresponde a la fila pivote, la variable básica de la
respectiva fila es la variable básica saliente y el número en la intersección de la fila y
columna pivote se llama número pivote. En el caso de este ejemplo 𝐹𝐹! es la fila pivote
!"
debido a que el cociente = 6, mientras que el cociente de la fila 𝐹𝐹! es 9, la variable básica
!
saliente es 𝑥𝑥! tal como se resalta a continuación.
Tabla 3
Fuente: Propia.
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 1 0 1 0 6
2
𝐹𝐹! 𝑥𝑥! 0 3 0 0 −1 1 6
Tabla 4
Fuente: Propia.
Con base en lo anterior, y sabiendo que 𝑥𝑥! = 0 y 𝑥𝑥! = 0 tenemos que la nueva solución
básica factible es (0, 6, 4, 0, 6), correspondiendo a un valor de la función objetivo 𝑍𝑍 = 60.
En cuanto a la prueba de optimalidad sobre la última solución hallada, vemos que la nueva
fila 𝐹𝐹! contiene un coeficiente negativo se concluye que la actual solución básica factible
no es óptima.
Determinamos la nueva fila pivote al aplicar la prueba del coeficiente mínimo, dividiendo
cada valor del lado derecho en cada fila por el respectivo coeficiente en la columna pivote,
encontrándose que la nueva fila pivote es la fila 𝐹𝐹! , por tanto la variable básica saliente es
𝑥𝑥! y el número pivote es 3, estos elementos de las observaciones se resaltan en la tabla 6.
Tabla 6
Fuente: Propia.
Con base en lo anterior obtenemos la nueva tabla simplex de donde se obtendrá la nueva
solución básica factible. En la nueva tabla 𝑥𝑥! será la variable básica entrante en remplazo de
𝑥𝑥! . La nueva fila 𝐹𝐹! se obtiene mediante la división de la fila pivote 𝐹𝐹! por el número 3. A la
fila 𝐹𝐹! se suma 6 veces la nueva fila 𝐹𝐹! y a la fila 𝐹𝐹! se resta la nueva fila 𝐹𝐹! , el resultado se
muestra en la tabla 7.
𝐹𝐹! 𝑥𝑥! 0 0 0 1 1 1 2
−
3 3
𝐹𝐹! 𝑥𝑥! 0 0 1 0 1 0 6
2
𝐹𝐹! 𝑥𝑥! 0 1 0 0 1 1 2
−
3 3
Tabla 7
Fuente: Propia.
Si comparamos las formas algebraicas y tabular del Método Simplex, vemos que en esencia
son equivalentes, sin embargo, la forma tabular facilita el trabajo. En adelante trabajaremos
con base en la forma tabular en lugar de la forma algebraica, particularmente hallaremos a
continuación la solución del problema 1.2.
Ejemplo 2.4: resolver el problema del ejemplo 1.2 presentado en la semana 1 mediante la
forma tabular del Método Simplex.
Solución: el ejemplo se refiere a la necesidad de hallar los valores de 𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥!
correspondientes respectivamente a las cantidades de juegos de mesas, guardarropa y camas
que se deben fabricar con el fin de obtener la mayor utilidad posible. El modelo que resulta,
dado en la cartilla de la semana 1 es el siguiente:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
2𝑥𝑥! + 𝑥𝑥! + 3𝑥𝑥! ≤ 180
𝑥𝑥! + 3𝑥𝑥! + 2𝑥𝑥! ≤ 300
2𝑥𝑥! + 𝑥𝑥! + 2𝑥𝑥! ≤ 240
𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0
La aplicación del Método Simplex demanda la necesidad de introducir las variables de holgura
𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥! para convertir en ecuación las inecuaciones correspondientes a las restricciones
estructurales. El modelo ampliado es el siguiente:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
2𝑥𝑥! + 𝑥𝑥! + 3𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! = 180
𝑥𝑥! + 3𝑥𝑥! + 2𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! = 300
2𝑥𝑥! + 𝑥𝑥! + 2𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! + 𝑥𝑥! = 240
𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥ 0
20
Fundación Universitaria del Área Andina 43
En este caso tenemos 𝑚𝑚 = 3 restricciones estructurales y 𝑛𝑛 = 3 variables de decisión, el
modelo ampliado corresponde a un sistema de 𝑚𝑚 = 3 ecuaciones y 𝑚𝑚 + 𝑛𝑛 = 6 variables, hay
una diferencia de 3 entre el número total de variables y el de ecuaciones, lo que indica que el
número de grados de libertad, que define la cantidad de variables no básicas es 3 (cuyo valor
se elige arbitrariamente), con lo que las otras tres son variables básicas.
Al incluir como una nueva fila la expresión que involucra la función objetivo, el problema se
convierte en:
La tabla 8 muestra la fila de encabezados, la columna que indica cuales son las variables
básicas y las columnas de coeficientes de todas las variables en las restricciones estructurales,
también aparece resaltada la fila 𝐹𝐹! . En el paso inicial se selecciona 𝑥𝑥! , 𝑥𝑥! y 𝑥𝑥! como variables
básicas, por consiguiente las no básicas son 𝑥𝑥! , 𝑥𝑥! y 𝑥𝑥! .
Tabla 8
Fuente: Propia.
Con 𝑥𝑥! = 0, 𝑥𝑥! = 0 y 𝑥𝑥! = 0 y sustituyéndolos en el sistema tenemos 𝑥𝑥! = 180, 𝑥𝑥! =
300 y 𝑥𝑥! = 240. Por lo tanto la solución básica inicial es 𝑥𝑥! = 0, 𝑥𝑥! = 0, 𝑥𝑥! = 0, 𝑥𝑥! =
180, 𝑥𝑥! = 300 y 𝑥𝑥! = 240 y el actual valor de la función objetivo sería 𝑍𝑍 = 0. Dado que la fila
𝐹𝐹! tiene coeficientes negativos la solución actual no es óptima y se requiere proceder con una
iteración.
El coeficiente más negativo en la fila 𝐹𝐹! es el de la variable 𝑥𝑥! , esta es entonces la variable
básica entrante. En la tabla 9 se resalta la columna pivote.
Tabla 9
Fuente: Propia.
El estudiante puede observar que, dividiendo en cada fila el valor del lado derecho por el
respectivo coeficiente en la columna pivote, encontramos que el menor coeficiente
corresponde a la fila 𝐹𝐹! , por lo tanto esta es la fila pivote y 𝑥𝑥! pasará a ser la variable básica
saliente. En la tabla 10 se resalta la fila y la columna pivote y se ve que el número pivote es 2.
Tabla 10
Fuente: Propia.
La nueva tabla simplex (tabla 11) se obtiene mediante las siguientes operaciones:
• Registrar a 𝑥𝑥! como nueva variable básica en lugar de 𝑥𝑥! .
• Dividir por 2 los valores en la fila pivote.
• Sumar a 𝐹𝐹! la nueva fila 𝐹𝐹! multiplicada por 60.
• Restar la nueva fila 𝐹𝐹! de la fila 𝐹𝐹! .
• Restar de la fila 𝐹𝐹! dos veces la nueva fila 𝐹𝐹! .
𝐹𝐹! 𝑥𝑥! 0 1 1 3 1 0 0 90
2 2 2
𝐹𝐹! 𝑥𝑥! 0 0 5 1 0 1 0 210
2 2
𝐹𝐹! 𝑥𝑥! 0 0 0 −1 −1 0 1 60
Tabla 11
Fuente: Propia.
Con 𝑥𝑥! = 𝑥𝑥! = 𝑥𝑥! = 0 se tiene 𝑥𝑥! = 90, 𝑥𝑥! = 210, 𝑥𝑥! = 60, lo que significa que la actual
solución básica es 90, 0, 0, 0, 210, 60 , Esta solución no es óptima debido a que en la fila 𝐹𝐹!
hay coeficientes negativos.
Tabla 12
Fuente: Propia.
Dividiendo cada valor del lado derecho por el respectivo coeficiente en la columna pivote
!
encontramos que 𝐹𝐹! es la nueva fila pivote, 𝑥𝑥! será la variable básica saliente y . Es el número
!
pivote. En la tabla 2.12 se resalta la fila y la columna pivote.
Para obtener la nueva matriz simplex, mostrada en la tabla 13, incluimos 𝑥𝑥! en la columna de
variables básicas a cambio de 𝑥𝑥! , que es la variable básica saliente. La nueva fila 𝐹𝐹! se obtiene
𝐹𝐹! 𝑍𝑍 1 0 0 54 30 8 0 7080
𝐹𝐹! 𝑥𝑥! 0 1 0 7 1 1 0 48
−
5 2 5
𝐹𝐹! 𝑥𝑥! 0 0 1 1 0 2 0 84
5 5
𝐹𝐹! 𝑥𝑥! 0 0 0 −1 −1 0 1 60
Tabla 13
Fuente: Propia.
Con las variables no básicas 𝑥𝑥! = 0, 𝑥𝑥! = 0 y 𝑥𝑥! = 0, la nueva solución básica factible es
(48, 84, 0, 0, 0,60), con la cual el valor de la función objetivo es 𝑍𝑍 = 7080. En la tabla 13
vemos que no hay coeficientes negativos en la fila 𝐹𝐹! , por tanto la solución es óptima.
La variable básica entrante se elige en función del coeficiente más negativo en la fila 𝐹𝐹! (la que
contiene la función objetivo), sin embargo, si dos o más variables básicas coinciden en su
valor, se puede elegir arbitrariamente la que será la variable básica entrante.
Si la igualdad se da entre los cocientes que definen la variable básica saliente, teóricamente se
tiene que la elección podría tener un importante impacto en razón a que puede suceder lo
siguiente: todas las variables asociadas con un mismo cociente llegarán a cero para un mismo
valor de la variable básica entrante, de tal manera que existirán variables básicas con valor
cero, a las que se les llama variables degeneradas, dando lugar a la solución básica factible con
variables básicas degeneradas (Solución básica degenerada). Por otra parte, si alguna de las
variables básicas degeneradas permanece con valor cero hasta ser elegida como variable
básica saliente en otra iteración, la variable básica entrante también valor cero puesto que no
se le permite su crecimiento sin que la saliente se haga negativa, y por consiguiente no
Otra posibilidad existente en una iteración es el no poder seleccionar variable básica saliente
debido a que la variable básica entrante puede crecer indefinidamente sin que alguna de las
otras variables básicas llegue a ser cero o negativa, lo que significa que los coeficientes de la
columna pivote son negativos o cero, lo que a su vez se relaciona con el ilimitado crecimiento
del valor de la función objetivo. Esto realmente quiere decir que se ha cometido algún error,
bien sea en la formulación del modelo o no haber tenido en cuenta información importante.
Este tipo de situaciones no resuelta por el Método Simplex.
Finalmente existen casos de problemas que realmente tienen múltiples soluciones óptimas,
es decir, diferentes valores de las variables de decisión que resultan en el mismo valor de la
función objetivo, pero el Método Simplex finaliza al hallar la primera solución óptima. En estos
casos en que de alguna forma se conoce de múltiples soluciones óptimas, puede tomarse la
decisión con base en aspectos no considerados en el modelo. Vale la pena anotar que el
mismo Método Simplex proporciona una forma de determinar si un problema tiene más de
una solución. En efecto, lo hace con base en el hecho que si alguna de las actuales variables
no básicas de la iteración que da la solución óptima tiene coeficiente cero en la fila 𝐹𝐹! , se tiene
que al aumentar su valor, no cambia el de la función objetivo, pero sí cambia el conjunto de
soluciones básicas factibles que dan el mismo valor óptimo.
Dado que los desarrollos alrededor de los métodos a trabajar se basan en la forma tabular del
Método Simplex, al igual que en las semana 2 se requiere las habilidades propias de los
procedimientos de eliminación gaussiana, por lo que se insiste en la necesidad de afianzar el
manejo de las mismas, remitirse a las lecturas complementarias donde se encuentra ejercicios
resueltos. Se llama nuevamente la atención en el sentido de aprovechar los recursos de video,
donde se trata, mediante la solución y explicación de ejercicios, la aplicabilidad de los temas
bajo estudio.
4
Fundación Universitaria del Área Andina 51
Solución de problemas de Programación Lineal en forma no
estándar
Sin embargo no todas las situaciones reales asociadas con problemas de programación lineal
obedecen el modelo estándar. Ciertos problemas conducen a modelos en los que algunas
restricciones se expresan mediante ecuaciones, inecuaciones con signos ≤, o con números
negativos al lado derecho, por lo que se hace necesario el tratamiento de estos detalles con el
fin de poder abordar la solución mediante el Método Simplex.
La principal diferencia en este caso, en cuanto al uso del Método Simplex, consiste en la
determinación de la solución básica inicial. En estos casos se emplea una técnica que se basa
en la introducción de una nueva variable, conocida como variable artificial, en los casos que
Según la forma del nuevo modelo, podemos ver la necesidad de introducir variables de
holgura solo en las dos primeras restricciones, con lo cual el modelo ampliado queda como se
muestra a continuación.
La aplicación del Método Simplex en el caso de modelos en la forma estándar indica que la
solución básica factible inicial correspondía al conjunto de valores tomados por las variables
Para obtener una solución inicial básica factible, modificamos el sistema ampliado asociado
con el problema, de tal forma que se introduce en la tercera restricción la variable artificial
𝑥𝑥!! ≥ 0 y se establece una penalización a la función objetivo, esta penalización consiste en
una disminución de la función objetivo en un valor dado por 𝑀𝑀𝑥𝑥!! , siendo 𝑀𝑀 un número muy
grande, la idea buscar que en realidad tal penalización no exista, lo que se logra solo si se
consigue que la variable artificial al final valga 0, es por ello que la técnica que se aplica, en
asocio con el Método Simplex, se conoce como método de la gran M. El correspondiente
sistema de ecuaciones modificado, al que podemos llamar sistema artificial ampliado se
formula como sigue:
Paso inicial: tomando como variables no básicas iniciales la pareja 𝑥𝑥! , 𝑥𝑥! (por consiguiente
valen 0), se llega a la solución básica factible inicial 𝑥𝑥! = 4, 𝑥𝑥! = 12, 𝑥𝑥!! = 18. La forma
tabular es la siguiente:
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 2 0 1 0 12
𝐹𝐹! 𝑥𝑥!! 0 3 2 0 0 1 18
Tabla 1
Fuente: Propia.
Dado que el procedimiento de la forma tabular del Método Simplex requiere que los
coeficientes de las variables básicas en la fila 𝐹𝐹! sean cero, aplicamos el ajuste algebraico
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 2 0 1 0 12
𝐹𝐹! 𝑥𝑥!! 0 3 2 0 0 1 18
Tabla 2
Fuente: Propia.
En la tabla 4 ahora 𝑥𝑥! remplaza a 𝑥𝑥! como variable básica, la fila 𝐹𝐹! se remplaza por el
resultado de la operación 𝐹𝐹! + (3𝑀𝑀 + 6)𝐹𝐹! , mientras que la fila 𝐹𝐹! se remplaza por el
resultado de restar a 𝐹𝐹! la nueva fila 𝐹𝐹! multiplicada por 3.
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 2 0 1 0 12
𝐹𝐹! 𝑥𝑥!! 0 0 2 −3 0 1 6
Cualquiera sea la solución que se derive de la tabla 4 no es óptima porque hay coeficientes
negativos en la fila 𝐹𝐹! . Se requiere una nueva iteración.
Segunda iteración: al acometer una nueva iteración, a partir del signo de los coeficientes en
la fila 𝐹𝐹! en la tabla 4, se encuentra que la variable básica entrante es 𝑥𝑥! , que la fila pivote es 𝐹𝐹!
y por tanto la variable artificial 𝑥𝑥!! es la variable básica saliente.
La tabla 5 es la nueva tabla simplex, que se obtiene cambiando a 𝑥𝑥! como variable básica en
lugar de 𝑥𝑥!! y realizando las habituales operaciones sobre las filas.
𝐹𝐹! 𝑍𝑍 1 0 0 −9 0 𝑀𝑀 + 5 54
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 0 3 1 −1 6
𝐹𝐹! 𝑥𝑥! 0 0 1 3 0 1 3
−
2 2
Tabla 5
Fuente: Propia.
La solución que se obtenga de la tabla 5 no puede ser óptima porque aún hay un coeficiente
negativo en la fila 𝐹𝐹! , este es el correspondiente a la variable 𝑥𝑥! , por tanto se realiza una nueva
iteración.
𝐹𝐹! 𝑍𝑍 1 0 0 0 3 𝑀𝑀 + 2 72
𝐹𝐹! 𝑥𝑥! 0 1 0 0 1 1 2
−
3 3
𝐹𝐹! 𝑥𝑥! 0 0 0 1 1 1 2
−
3 3
𝐹𝐹! 𝑥𝑥! 0 0 1 0 1 0 6
2
Tabla 6
Fuente: Propia.
En lo que respecta a la función objetivo, dado que se pide su minimización, se puede convertir
en un problema de maximización al considerar el opuesto de la función original, es decir, si el
problema es minimizar 𝑍𝑍, nos enfocamos en resolver el problema maximizar −𝑍𝑍. Con esta
última consideración el problema queda en la siguiente forma:
Atendiendo al hecho que hay en total seis variables y tres ecuaciones de restricciones
podemos seleccionar tres variables no básicas y tres básicas. Se toma el trio 𝑥𝑥! , 𝑥𝑥!! , 𝑥𝑥!! como
variables básicas. En esta fase de preparación podemos ver que el sistema no se encuentra
aún en la forma requerida para aplicar la forma tabular del Método Simplex, esto en razón a la
presencia de las variables básicas 𝑥𝑥!! , 𝑥𝑥!! en la fila 𝐹𝐹! que contiene la función objetivo 𝑍𝑍, para
eliminarlas 𝐹𝐹! multiplicamos por −𝑀𝑀 las filas 𝐹𝐹! y 𝐹𝐹! y sumamos los resultados a 𝐹𝐹! , como se
ilustra a continuación:
𝐹𝐹! 𝑥𝑥! 0 6 2 1 0 0 0 54
𝐹𝐹! 𝑥𝑥!! 0 1 1 0 1 0 0 12
𝐹𝐹! 𝑥𝑥!! 0 3 2 0 0 −1 1 30
Tabla 7
Fuente: Propia.
Teniendo en cuenta que M es un valor muy grande, la solución básica inicial que se obtenga
de la tabla anterior no puede ser óptima porque hay valores negativos en la fila 𝐹𝐹! . Para una
nueva iteración vemos que el coeficiente más negativo en 𝐹𝐹! es el de la variable 𝑥𝑥! , por tanto
esta es la variable básica entrante, al aplicar la prueba de cociente mínimo se tiene que la
variable básica saliente es 𝑥𝑥! . La figura muestra la tabla resaltando la fila y la columna pivote.
Las operaciones para obtener una mejor solución básica factible son: incluir 𝑥𝑥! como variable
básica en lugar de 𝑥𝑥! , dividir por 6 la fila 𝐹𝐹! , restar a 𝐹𝐹! la nueva fila 𝐹𝐹! multiplicada por
(−4𝑀𝑀 + 8), restar a 𝐹𝐹! la nueva fila 𝐹𝐹! , restar a 𝐹𝐹! la nueva fila 𝐹𝐹! multiplicada por 3, lo que da
como resultado la siguiente tabla 9.
Tabla 9
Fuente: Propia.
La solución que puede derivarse de la última tabla no es óptima porque aún hay coeficientes
negativos en la fila 𝐹𝐹! , por tanto se requiere una nueva iteración, en la cual la nueva variable
básica entrante es 𝑥𝑥! y la saliente es 𝑥𝑥!! ¿Por qué? La tabla 10 es la nueva tabla simplex. La
respuesta a la pregunta y la deducción de la tabla se deja al estudiante como ejercicio de
repaso.
Tabla 1
Fuente: Propia.
La presencia de coeficientes negativos en 𝐹𝐹! obliga a una nueva iteración con 𝑥𝑥! como
variable básica entrante y 𝑥𝑥!! como saliente. Las usuales operaciones conducen a la tabla 11
como nueva tabla simplex, la deducción de la tabla 11 a partir de la tabla 10 se deja al
estudiante como ejercicio de repaso.
𝐹𝐹! 𝑍𝑍 −1 0 0 1 𝑀𝑀 − 11 0 𝑀𝑀 −105
2
𝐹𝐹! 𝑥𝑥! 0 1 0 1 1 0 0 15
−
4 2 2
𝐹𝐹! 𝑥𝑥! 0 0 0 1 3 1 −1 3
4 2 2
𝐹𝐹! 𝑥𝑥! 0 0 1 1 3 0 0 9
−
4 2 2
Tabla 11
Fuente: Propia.
15 9 3
𝑥𝑥! = = 7,5 ; 𝑥𝑥! = = 4,5 ; 𝑥𝑥! = = 1,5
2 2 2
De donde se tiene que −𝑍𝑍 = −105 𝑜𝑜 𝑍𝑍 = 105. Con esta parte terminamos el tratamiento del
problema mediante el uso del método de la gran M. a continuación veremos un método
alternativo conocido como el método de las dos fases.
Ejemplo 3.4. Usar el método de las dos fases para resolver el siguiente problema de
programación lineal
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀: 𝑍𝑍 = 8𝑥𝑥! + 10𝑥𝑥!
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
6𝑥𝑥! + 2𝑥𝑥! ≤ 54
𝑥𝑥! + 𝑥𝑥! = 12
3𝑥𝑥! + 2𝑥𝑥! ≥ 30
𝑥𝑥! ≥ 0; 𝑥𝑥! ≥ 0
Tal como en el ejemplo 3.3 agregamos una variable de holgura 𝑥𝑥! a la primera restricción, a la
segunda se agrega la variable artificial 𝑥𝑥!! , a la tercera restricción restamos la variable de
exceso 𝑥𝑥! y sumamos la variable artificial 𝑥𝑥!! . En la primera fase se debe resolver el problema
El sistema de ecuaciones que resulta, sobre el cual se aplica el Método Simplex es:
Al igual que en el ejemplo 3.3, se toma el trio 𝑥𝑥! , 𝑥𝑥!! , 𝑥𝑥!! como variables básicas. El sistema no
está en la forma requerida para aplicarle la forma tabular del Método Simplex, debido a que
𝐹𝐹! 𝑍𝑍 −1 −4 −3 0 0 1 0 −42
𝐹𝐹! 𝑥𝑥! 0 6 2 1 0 0 0 54
𝐹𝐹! 𝑥𝑥!! 0 1 1 0 1 0 0 12
𝐹𝐹! 𝑥𝑥!! 0 3 2 0 0 −1 1 30
Tabla 12
Fuente: Propia.
La solución para el mejor valor de la Z artificial dada por la tabla no es óptima, siguiendo los
procedimientos asociados con el Método Simplex tabular, se requiere una iteración para hallar
una mejor. El coeficiente más negativo en 𝐹𝐹! es el de la variable 𝑥𝑥! , que será la variable básica
entrante, mientras que la variable básica saliente es 𝑥𝑥! . La tabla 13 es la nueva tabla simplex
obtenida a partir de la tabla 12, se deja al estudiante como ejercicio de repaso la deducción de
esta tabla.
𝐹𝐹! 𝑍𝑍 −1 0 5 2 0 1 0 −6
−
3 3
𝐹𝐹! 𝑥𝑥! 0 1 1 1 0 0 0 9
3 6
𝐹𝐹! 𝑥𝑥!! 0 0 2 1 1 0 0 3
−
3 6
𝐹𝐹! 𝑥𝑥!! 0 0 1 1 0 −1 1 3
−
2
Tabla 13
Fuente: Propia.
Tabla 14
Fuente: Propia.
𝐹𝐹! 𝑍𝑍 −1 0 0 0 1 0 1 0
𝐹𝐹! 𝑥𝑥! 0 1 0 1 1 0 0 15
−
4 2 2
𝐹𝐹! 𝑥𝑥! 0 0 0 1 3 1 −1 3
4 2 2
𝐹𝐹! 𝑥𝑥! 0 0 1 1 3 0 0 9
−
4 2 2
Tabla 15
Fuente: Propia.
Aquí se llega a la solución óptima para la función objetivo artificial 𝑍𝑍 = 𝑥𝑥!! + 𝑥𝑥!! = 0 para la
!" ! !
cual se tiene que 𝑥𝑥! = = 7,5 ; 𝑥𝑥! = = 4,5 ; 𝑥𝑥! = = 1,5, que constituyen una solución
! ! !
factible del problema original.
Continuamos ahora con la fase 2. Esta fase se prepara a partir de la tabla final de la fase 1
(tabla 14) eliminando las columnas de las variables artificiales 𝑥𝑥!! y 𝑥𝑥!! , con lo que se obtiene
la tabla 3.16:
𝐹𝐹! 𝑍𝑍 −1 8 10 0 0 0
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 15
4 2
𝐹𝐹! 𝑥𝑥! 0 0 0 1 1 3
4 2
𝐹𝐹! 𝑥𝑥! 0 0 1 1 0 9
−
4 2
Tabla 16. Resulta eliminando las columnas de variables artificiales de la tabla final de fase y sustituyendo la
función objetivo por la original
Fuente: Propia.
𝐹𝐹! 𝑍𝑍 −1 0 0 1 0 −105
−
4
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 15
4 2
𝐹𝐹! 𝑥𝑥! 0 0 0 1 1 3
4 2
𝐹𝐹! 𝑥𝑥! 0 0 1 1 0 9
−
4 2
Dado que en esta última tabla no hay coeficientes negativos, la solución que se deriva de aquí
es la solución óptima y coincide con la hallada mediante el método de la gran M. es posible
que en otros problemas se deba realizar iteraciones adicionales para llegar a la solución
óptima.
20
i
Índice
Introducción
Metodología
Desarrollo temático
Puesto que buena parte de la temática a trabajar alrededor de la forma matricial del Método
Simplex se basan, lógicamente en operaciones con vectores y matrices, requiere que el
estudiante afiance las habilidades propias del manejo de este tipo de operaciones, en este
punto es importante remitirse a las lecturas complementarias donde se encuentra ejercicios
resueltos. Se llama nuevamente la atención sobre la necesidad de aprovechamiento de los
videos propuestos, donde se trata, mediante la solución y explicación de ejercicios, la
aplicabilidad de los temas que estudiamos.
Para llegar a la representación matricial del modelo sea un vector fila 𝒄𝒄 compuesto por los 𝑛𝑛
coeficientes 𝑐𝑐! , 𝑐𝑐! , … , 𝑐𝑐! presentes en la función objetivo, 𝒙𝒙 un vector columna compuesto
por las 𝑛𝑛 variables de decisión 𝑥𝑥! , 𝑥𝑥! , … , 𝑥𝑥! , 𝑨𝑨 la matriz de coeficientes de las restricciones
estructurales, 𝒃𝒃 el vector columna de los 𝑚𝑚 valores de lado dercho 𝑏𝑏! , 𝑏𝑏! , … , 𝑏𝑏! y 0 (cero en
negrilla) un vector de 𝑛𝑛 componentes todas igual acero, es decir:
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀: 𝒁𝒁 = 𝒄𝒄𝒄𝒄
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
𝑨𝑨𝑨𝑨 ≤ 𝒃𝒃
𝒙𝒙 ≥ 𝟎𝟎
𝒙𝒙 𝒙𝒙
𝑨𝑨, 𝑰𝑰 𝒙𝒙 = 𝒃𝒃 𝑦𝑦 𝒙𝒙 ≥ 0
𝒉𝒉 𝒉𝒉
El proceso para hallar una solución básica factible, habiendo identificado las variables básicas
y no básicas, corresponde a la solución del sistema de ecuaciones anterior, con la condición
que las variables no básicas sean iguales a cero, en el proceso para llegar a ello, y de acuerdo
con los procedimientos estudiados previamente e ilustrados en los ejemplos trabajados hasta
aquí, se podría eliminar del sistema de ecuaciones de restricciones 𝑨𝑨, 𝑰𝑰 , las columnas de
coeficientes de variables no básicas, obteniéndose una matriz 𝑩𝑩 de coeficientes de las
actuales variables básicas, si además 𝒙𝒙𝑩𝑩 es el actual vector variables, la solución básica factible
es la solución de del sistema:
𝑩𝑩𝒙𝒙𝑩𝑩 = 𝒃𝒃
A la luz de los principios de álgebra lineal, siendo 𝑩𝑩 una matriz invertible, la solución básica
actual 𝒙𝒙𝑩𝑩 corresponde a:
Si además de lo anterior, denotando con 𝒄𝒄𝑩𝑩 el vector de coeficientes de las variables básicas
en la función objetivo (incluyendo los ceros de las variables de holgura). El valor de la función
objetivo correspondiente a esta solución básica está dado por:
Para mostrar la valides de la forma matricial del Método Simplex consideremos a continuación
el problema de la empresa la Arenosa. El problema consiste en:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
𝑥𝑥! ≤ 4
2𝑥𝑥! ≤ 12
3𝑥𝑥! + 2𝑥𝑥! ≤ 18
𝑥𝑥! ≥ 0; 𝑥𝑥! ≥ 0
𝑥𝑥! 1 0 1 0 0 4
𝑥𝑥!
𝑐𝑐 = 6, 10 ; 𝒙𝒙 = 𝑥𝑥 ; 𝒙𝒙𝒉𝒉 = 𝑥𝑥! ; 𝑨𝑨, 𝑰𝑰 = 0 2 0 1 0 ; 𝒃𝒃 = 12
! 𝑥𝑥! 3 2 0 0 1 18
Con base en los procedimientos de solución y resultados presentados en el ejemplo 2.3 y las
expresiones planteadas anteriormente en relación con la forma matricial, la secuencia de
soluciones básicas factibles son las siguientes:
En el paso inicial:
𝑥𝑥! 1 0 1 0 0 4
𝑥𝑥!
𝑐𝑐 = 6, 10 ; 𝒙𝒙 = 𝑥𝑥 ; 𝒙𝒙𝒉𝒉 = 𝑥𝑥! ; 𝑨𝑨, 𝑰𝑰 = 0 2 0 1 0 ; 𝒃𝒃 = 12
! 𝑥𝑥! 3 2 0 0 1 18
𝑥𝑥! 1 0 0
𝑥𝑥 !𝟏𝟏
𝒙𝒙𝑩𝑩 = ! ; 𝑩𝑩 = 𝑩𝑩 = 0 1 0
𝑥𝑥! 0 0 1
Entonces:
𝑥𝑥! 1 0 0 4 4
𝑥𝑥! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 0 1 0 12 = 12 ; 𝒄𝒄𝑩𝑩 = 0, 0, 0
𝑥𝑥! 0 0 1 18 18
Por tanto:
4
𝑍𝑍 = 0, 0, 0 12 = 0
18
En la primera iteración:
𝑥𝑥! 1 0 0 1 0 0
!𝟏𝟏 !
𝒙𝒙𝑩𝑩 = 𝑥𝑥! ; 𝑩𝑩 = 0 2 0 ; 𝑩𝑩 = 0 ! 0
𝑥𝑥! 0 2 1 0 −1 1
8
Fundación Universitaria del Área Andina 74
Entonces:
𝑥𝑥! 1 0 0
1 4 4
𝑥𝑥! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 0 0 12 = 6 ; 𝒄𝒄𝑩𝑩 = 0, 10, 0
𝑥𝑥! 2 18 6
0 −1 1
Por tanto:
4
𝑍𝑍 = 0,10, 0 6 = 60
6
En la segunda iteración:
1
1 0
𝑥𝑥! 3
1 0 0 1
𝒙𝒙𝑩𝑩 = ! ; 𝑩𝑩 = 0 2 0 ; 𝑩𝑩!𝟏𝟏
𝑥𝑥 = 0 0
𝑥𝑥! 0 2 1 2
1
0 1
3
Entonces:
1 1
1 −
𝑥𝑥! 3 3
1 4 2
𝑥𝑥! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 0 0 12 = 6 ; 𝒄𝒄𝑩𝑩 = 0, 10, 6
𝑥𝑥! 2 18 2
1 1
0 −
3 3
Por tanto:
2
𝑍𝑍 = 0,10, 6 6 = 72
2
9
Fundación Universitaria del Área Andina 75
Tabla 1
Fuente: Propia.
Se puede observar, a partir de la tabla 1, que esta se puede representar mediante la siguiente
ecuación matricial.
𝑍𝑍 0
1 −𝒄𝒄 0 𝐱𝐱
= 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒ó𝑛𝑛 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 (𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖)
𝟎𝟎 𝑨𝑨 𝑰𝑰 𝐱𝐱
𝒉𝒉 𝒃𝒃
Ahora multiplicamos por la izquierda cada lado de la ecuación matricial inicial por la matriz.
1 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏
0 𝑩𝑩!𝟏𝟏
Se tiene:
𝑍𝑍 0
1 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 1 −𝒄𝒄 0 𝐱𝐱 1 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏
=
0 𝑩𝑩!𝟏𝟏 𝟎𝟎 𝑨𝑨 𝑰𝑰 𝐱𝐱 0 𝑩𝑩!𝟏𝟏 𝒃𝒃
𝒉𝒉
𝑍𝑍
1 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝐱𝐱 𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝒃𝒃
=
𝟎𝟎 𝑩𝑩!𝟏𝟏 𝑨𝑨 𝑩𝑩!𝟏𝟏 𝐱𝐱 𝒉𝒉 𝑩𝑩!𝟏𝟏 𝒃𝒃
A manera de resumen del uso del Método Simplex en forma tabular presentamos la siguiente
secuencia de pasos:
11
Fundación Universitaria del Área Andina 77
Aplicaremos a continuación la forma matricial del Método Simplex para resolver el problema
de asignación de recursos de la empresa La Arenosa.
Ejemplo 4.2: resolver el problema de la empresa La Arenosa mediante la forma matricial del
Método Simplex.
Solución:
El enunciado del problema original es:
𝑥𝑥! ≤ 4
2𝑥𝑥! ≤ 12
3𝑥𝑥! + 2𝑥𝑥! ≤ 18
𝑥𝑥! ≥ 0; 𝑥𝑥! ≥ 0
Al incorporar las variables de holgura 𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥! , el problema se transforma en:
1 0 1 0 0 4
𝑐𝑐 = 6, 10 ; 𝑨𝑨, 𝑰𝑰 = 0 2 0 1 0 ; 𝒃𝒃 = 12
3 2 0 0 1 18
𝑥𝑥! 4 1 0 0
𝒙𝒙𝑩𝑩 = 𝑥𝑥! = 12 ; 𝒄𝒄𝑩𝑩 = 0, 0, 0 ; 𝑩𝑩 = 𝑩𝑩!𝟏𝟏 = 0 1 0
𝑥𝑥! 18 0 0 1
Para verificar que la solución que sale de aquí no es óptima se observa que:
1 0 0
𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 = 0, 0, 0 0 1 0 − 6, 10 = −6, −10
0 0 1
Como entre los coeficientes que resultan hay valores negativos, la solución no es óptima.
Primera iteración:
1 0 0 1 0 1 0
!𝟏𝟏
𝑩𝑩 𝑨𝑨 = 0 1 0 0 2 = 0 2
0 0 1 3 2 3 2
Por otro lado, los valores del lado derecho están dados por el vector 𝐱𝐱 ! inicial, cuyos
componentes son 4, 12 𝑦𝑦 18, al dividir estos valores por los respectivos coeficientes
positivos de 𝑥𝑥! y aplicar la prueba de cociente mínimo se llega a que la variable
!" !"
saliente es 𝑥𝑥! ( = 6; = 9).
! !
1 0 0
1 0 0 1
𝑩𝑩 = 0 2 0 ; 𝑩𝑩!𝟏𝟏 = 0 0
0 2 1 2
0 −1 1
Prueba de optimalidad: el conjunto de variables no básicas está formado ahora por 𝑥𝑥! y 𝑥𝑥! ,
por ser 𝑥𝑥! una variable original, de 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 obtenemos su coeficiente en la función
objetivo, el producto es:
1 0 0
1 1 0
!𝟏𝟏
𝒄𝒄𝒃𝒃 𝑩𝑩 𝑨𝑨 − 𝒄𝒄 = 0,10, 0 0 0 0 2 − 6, 10 = −6, −5
2 3 2
0 −1 1
Por tanto el coeficiente de 𝑥𝑥! es −6, mientras que, por ser 𝑥𝑥! una variable de holgura, del
producto 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨 obtenemos su coeficiente en la función objetivo, el producto es:
1 0 0
1
𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 = 0,10, 0 0 0 = 0, 5, 0
2
0 −1 1
Por tanto el coeficiente de 𝑥𝑥! es 5. Como el coeficiente de 𝑥𝑥! es negativo la actual solución
que de aquí surja no es óptima.
Segunda iteración
1
0 0
1 1 0 1 0
!𝟏𝟏
𝑩𝑩 𝑨𝑨 = 0 0 0 2 = 0 1
2 3 2 3 1
0 −1 1
1 1
1 −
𝑥𝑥! 3 3 4 2
1
𝐱𝐱 𝑩𝑩 = 𝑥𝑥! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 0 0 12 = 6 ; 𝒄𝒄𝑩𝑩 = 0,10, 6
𝑥𝑥! 2
1 1 18 2
0 −
3 3
Prueba de optimalidad de la segunda iteración: las variables no básicas ahora son 𝑥𝑥! y 𝑥𝑥! ,
por ser variables de holgura, sus coeficientes en la función objetivo se obtienen del producto
𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 :
1 1
1 −
3 3
1
𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 = 0,10, 6 0 0 = 0, 3, 2
2
1 1
0 −
3 3
Entonces el coeficiente de 𝑥𝑥! es 3 y el de 𝑥𝑥! es 2, ninguno de los dos es negativo, por lo tanto
la solución que de aquí se obtenga es la solución óptima, los valores de las variables son
entonces: 𝑥𝑥! = 2; 𝑥𝑥! = 6; 𝑥𝑥! = 2; 𝑥𝑥! = 0; 𝑥𝑥! = 0.
Dada la importancia de los valores en la tabla o iteración final, lo que da la solución óptima,
usaremos la siguiente notación para referirnos en adelante a elementos de la solución óptima.
Sea 𝑩𝑩 la matriz de coeficientes de las variables básicas luego de la última iteración, denotamos
entonces:
𝑺𝑺𝒐𝒐 = 𝑩𝑩!𝟏𝟏 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙𝑙𝑙 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑙𝑙𝑙𝑙𝑙𝑙 𝑑𝑑𝑑𝑑 ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑒𝑒𝑒𝑒 𝐹𝐹! 𝑎𝑎 𝐹𝐹!.
𝑨𝑨𝒐𝒐 = 𝑩𝑩!𝟏𝟏 𝑨𝑨 = 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙𝑙𝑙 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑒𝑒𝑒𝑒 𝐹𝐹! 𝑎𝑎 𝐹𝐹! .
𝒚𝒚𝒐𝒐 = 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 = 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙𝑙𝑙 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑑𝑑𝑑𝑑 ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑒𝑒𝑒𝑒 𝐹𝐹! .
𝒛𝒛𝒐𝒐 = 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨 = 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑝𝑝𝑝𝑝𝑝𝑝 𝑒𝑒𝑒𝑒 𝑚𝑚é𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑎𝑎𝑎𝑎 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 − 𝒄𝒄 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖.
(𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑑 𝑞𝑞𝑞𝑞𝑞𝑞 𝒛𝒛𝒐𝒐 − 𝑐𝑐 𝑠𝑠𝑠𝑠𝑠𝑠 𝑙𝑙𝑙𝑙𝑙𝑙 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙𝑙𝑙 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 𝑒𝑒𝑒𝑒 𝐹𝐹! )
𝑍𝑍 ! = 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝒃𝒃 = Ó𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓ó𝑛𝑛 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜.
𝒃𝒃! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 𝑑𝑑𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑ℎ𝑜𝑜 𝑑𝑑𝑑𝑑𝑑𝑑 𝑐𝑐𝑎𝑎𝑎𝑎𝑎𝑎 ó𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑒𝑒𝑒𝑒 𝐹𝐹! 𝑎𝑎 𝐹𝐹!. .
Consideremos ahora la situación en la que conocemos la tabla inicial, definida mediante:
Para verificar el cumplimiento y uso de este principio fundamental del Método Simplex
tomemos nuevamente el problema de la empresa La Arenosa. En este caso la tabla inicial y la
respectiva representaciónmatricial son las siguientes:
Tabla 2
Fuente: Propia.
En la tabla final, que da la solución óptima al modelo planteado, se resalta el vector 𝒚𝒚𝒐𝒐 y la
matriz 𝑺𝑺𝒐𝒐 , estos componentes separados y la tabla final se muestran a continuación.
Tabla 3
Fuente: Propia.
17
Si bien es cierto que ya se conoce los demás elementos de la tabal final, realizaremos ahora los
cálculos que permitan verificar el cumplimiento de las fórmulas asocoadas con el principio
fundamental del Método Simplex, según las cuales a partir de la tabla inicial, el vector 𝒚𝒚𝒐𝒐 y la
matriz 𝑺𝑺𝒐𝒐 se puede completar la tabla final. Los cálculos son los siguientes.
1 0
𝒐𝒐
𝒚𝒚 𝑨𝑨 − 𝒄𝒄 = 0, 3, 2 0 2 − 6, 10 = 6, 10 − 6, 10 = 0, 0
3 2
4
𝒚𝒚𝒐𝒐 𝒃𝒃 = 0, 3, 2 12 = 72
18
Entonces:
𝒕𝒕𝒐𝒐 = 𝟎𝟎, 𝟎𝟎 0, 3, 2 72
1 1
1−
3 3 1 0 0 0
1
𝑺𝑺𝒐𝒐 𝑨𝑨 = 0 0 0 2 = 0 1
2
1 1 3 2 1 0
0 −
3 3
1 1
−1
3 3 4 2
1
𝑺𝑺𝒐𝒐 𝒃𝒃 = 0 0 12 = 6
2
1 1 18 2
0 −
3 3
1 1
0 0 1 − 2
3 3
1
𝑻𝑻𝒐𝒐 = 0 1 0 0 6
2
1 0 1 1 2
0 −
3 3
Para formalizar el estudio del Método Simplex revisado consideremos las siguientes ideas:
En lo que sigue de este tema denotaremos como 𝑩𝑩!𝟏𝟏 𝒂𝒂 la inversa de la antigua matriz 𝑩𝑩 y como
!𝟏𝟏
𝑩𝑩𝒏𝒏 la inversa de la nueva matriz 𝑩𝑩. Con base en en esto y las definiciones anteriores y
fundamentados en procedimientos relacionados con operaciones entre filas, se puede llegar a
expresiones que permitan calcular el elemento en la posición (𝑖𝑖, 𝑗𝑗) de la matriz 𝑩𝑩!𝟏𝟏 𝒏𝒏
!𝟏𝟏 !𝟏𝟏
(simbolizado como (𝑩𝑩𝒏𝒏 ) 𝒊𝒊𝒊𝒊 ) a partir del elemento en la posición (𝑖𝑖, 𝑗𝑗) de la matriz 𝑩𝑩𝒏𝒏 ,
(simbolizado como (𝑩𝑩!𝟏𝟏
𝒂𝒂 ) 𝒊𝒊𝒊𝒊 ). La expresión de cálculo es la siguiente:
!
!!"
(𝑩𝑩!𝟏𝟏
𝒂𝒂 ) 𝒊𝒊𝒊𝒊 − ! 𝑩𝑩!𝟏𝟏
𝒂𝒂 𝒓𝒓𝒓𝒓 𝑠𝑠𝑠𝑠 𝑙𝑙𝑙𝑙 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 𝑛𝑛𝑛𝑛 𝑒𝑒𝑒𝑒 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟.
!!"
(𝑩𝑩!𝟏𝟏
𝒏𝒏 ) 𝒊𝒊𝒊𝒊 =
!
! 𝑩𝑩!𝟏𝟏
𝒂𝒂 𝒓𝒓𝒓𝒓 𝑠𝑠𝑠𝑠 𝑙𝑙𝑙𝑙 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 𝑒𝑒𝑒𝑒 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟
!!"
𝑩𝑩!𝟏𝟏 !𝟏𝟏
𝒏𝒏 = 𝑬𝑬𝑩𝑩𝒂𝒂
!
𝑎𝑎!"
𝜌𝜌! − ! 𝑠𝑠𝑠𝑠 𝑙𝑙𝑙𝑙 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 𝑛𝑛𝑛𝑛 𝑒𝑒𝑒𝑒 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟
𝑎𝑎!"
𝜌𝜌!
𝝆𝝆 = ⋮ , 𝑐𝑐𝑐𝑐𝑐𝑐 𝜌𝜌! =
𝜌𝜌! 1
! 𝑠𝑠𝑠𝑠 𝑙𝑙𝑙𝑙 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑖𝑖 𝑒𝑒𝑒𝑒 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑟𝑟
𝑎𝑎!"
19
Se muestra ahora el uso del Método Simplex revisado mediante la solución del problema de la
empresa la Arenosa.
Ejemplo 4.3:
Aplicar el Método Simplex revisado para resolver el problema del ejemplo 4.1 y 4.2.
1 0 0
𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 = 0, 0, 0 0 1 0 − 6, 10 = −6, −10
0 0 1
Prueba de optimalidad: La existencia en el resultado de valores negativos indica que la
actual solución no es óptima.
Iteración 1: como tiene el coeficiente más negativo en la fila de la función objetivo, 𝑥𝑥! es la
variable básica entrante, con lo cual, a la luz del Método Simplex revisado, 𝑘𝑘 = 2.
De la matriz 𝑩𝑩!𝟏𝟏 𝑨𝑨 los coeficientes de 𝑥𝑥! en las ecuaciones 1, 2 y 3 son los valores de la
segunda columna, como se tiene que
1 0 0 1 0 1 0
𝑩𝑩!𝟏𝟏 𝑨𝑨 = 0 1 0 0 2 = 0 2
0 0 1 3 2 3 2
Dividiendo los valores del lado derecho de las ecuaciones (4, 12 y 18) por los respectivos
coeficientes positivos de 𝑥𝑥! , y según el criterio de mínimo cociente, se encuentra que la
variable básica saliente es 𝑥𝑥! . Al ser 𝑥𝑥! el segundo componente del vector 𝐱𝐱 ! , se tiene que
𝑟𝑟 = 2.
Se requiere ahora actualizar la inversa de la matriz 𝑩𝑩, para lo cual calculamos primero el vector
𝝆𝝆 y luego la matriz 𝑬𝑬 (cambiando la segunda columna de la matriz identidad por el vector 𝝆𝝆).
0 0 1 1 0 0
1 1 0 0 1
𝑩𝑩!𝟏𝟏 !𝟏𝟏
𝒏𝒏 = 𝑬𝑬𝑩𝑩𝒂𝒂 = 𝑬𝑬𝑬𝑬 = 0 0 0 1 0 = 0 0
2 0 0 1 2
0 −1 1 0 −1 1
𝑥𝑥! 1 0 0
1 4 4
𝐱𝐱 𝑩𝑩 = 𝑥𝑥! = 𝑩𝑩!𝟏𝟏 𝒃𝒃 = 0 0 12 = 6 ; 𝒄𝒄𝑩𝑩 = 0,10, 0
𝑥𝑥! 2 18 6
0 −1 1
Prueba de optimalidad: las variables no básicas son ahora por 𝑥𝑥! (variable original) y 𝑥𝑥!
(variable de holgura). Hallamos el coeficiente de 𝑥𝑥! en la función objetivo mediante el cálculo
de 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 y tenemos:
1 0 0
1 1 0
𝒄𝒄𝒃𝒃 𝑩𝑩!𝟏𝟏 𝑨𝑨 − 𝒄𝒄 = 0,10, 0 0 0 0 2 − 6, 10 = −6, −5
2 3 2
0 −1 1
Se verifica entonces que el coeficiente buscado es −6, mientras que del producto 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨
hallamos el respectivo coeficiente de 𝑥𝑥! , el producto es:
0 0 1
1
𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 = 0,10, 0 0 0 = 0, 5, 0
2
0 −1 1
Con lo cual el coeficiente de 𝑥𝑥! es 5. Como el coeficiente de 𝑥𝑥! es negativo la actual solución
que de aquí surja no es óptima.
0 0 1
1 1 0 1 0
𝑩𝑩!𝟏𝟏 𝑨𝑨 = 0 0 0 2 = 0 1
2 3 2 3 0
0 −1 1
Los valores de 𝐱𝐱 ! en la anterior iteración son 4, 6 𝑦𝑦 6, (nuevos valores del lado derecho de las
ecuaciones), al dividir respectivamente estos valores por los coeficientes positivos de 𝑥𝑥! el
criterio de cociente mínimo indica que la variable saliente es 𝑥𝑥! y por tanto 𝑟𝑟 = 3
1 1
1 1 −
1 0 − 1 0 0 3 3
3 1 1
𝑩𝑩!𝟏𝟏 !𝟏𝟏
𝒏𝒏 = 𝑬𝑬𝑩𝑩𝒂𝒂 = 0 1 0 0 0 = 0 0
1 2 2
0 0 0 −1 1 1 1
3 0 −
3 3
! !
1 −
𝑥𝑥! ! ! 4 2
!𝟏𝟏 !
𝐱𝐱 𝑩𝑩 = 𝑥𝑥! = 𝑩𝑩 𝒃𝒃 = 0 ! 0 12 = 6 ; 𝒄𝒄𝑩𝑩 = 6,10, 0
𝑥𝑥! ! ! 18 2
0 −! !
22
Prueba de optimalidad de la segunda iteración: las variables no básicas en esta iteración
son 𝑥𝑥! y 𝑥𝑥! , (ambas variables de holgura) sus coeficientes en la función objetivo resultan de
𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨.
1 1
1 −
3 3
!𝟏𝟏 1
𝒄𝒄𝑩𝑩 𝑩𝑩 = 0,10, 6 0 0 = 0, 3, 2
2
1 1
0 −
3 3
Como tales coeficientes son positivos la solución correspondiente a esta iteración es óptima.
Introducción
Las primeras cuatro cartillas de este curso de Investigación de operaciones I las hemos
dedicado fundamentalmente a aspectos relacionados con la búsqueda de una solución a
un problema a partir de un modelo inicial formulado a partir de un contexto propio de
programación lineal, sin embargo, en investigación de operaciones en general y en
programación lineal en particular, no siempre se llega al trabajo final mediante la solución
de un modelo inicial. Se debe considerar la posibilidad de revisar el modelo planteado y
que a partir de ello se pueda encontrar una mejor solución. Aunque es válido pensar que
ello demande la necesidad de resolver otro problema desde cero, en programación lineal
existe un conjunto de principios que podrían aplicarse a partir de la solución de un modelo
inicial, tales principios hacen parte de lo que se conoce como análisis de sensibilidad, en lo
cual resulta de vital importancia un tema previo de gran importancia, este corresponde a
la teoría de la dualidad.
El desarrollo de la cartilla inicia con una introducción al análisis post óptimo, destacando
en ello los precios sombra, que muy cercanamente están relacionado con la teoría de la
dualidad. Seguidamente abordamos en sí los principios de la teoría de la dualidad para
finalizar el desarrollo con un breve tratamiento del análisis de sensibilidad.
Tratándose de contenidos en los que se debe realizar cálculos matriciales en los que se
aplica los principios tratados en el módulo, entre los recursos del módulo se presenta un
resumen de principios que se aplican en el desarrollo de ejercicios y solución de
problemas relacionados con teoría de la dualidad y el análisis de sensibilidad.
Desarrollo temático
Fundamentos de dualidad y análisis de sensibilidad
Introducción al análisis post óptimo
La solución de un problema de Investigación de operaciones no siempre va hasta la
aplicación de un procedimiento o algoritmo que entregue la solución óptima del problema
a partir del modelo planteado, siempre se debe hacer un análisis posterior conocido como
análisis post óptimo, esto es particularmente aplicable a los problemas de programación
lineal. Por ejemplo, en problemas que involucran muchísimas restricciones estructurales y
variables de decisión, es importante realizar variaciones al modelo tomando en cuenta
posibles situaciones no consideradas antes, lo que lleva a que luego de hallar una solución
óptima, se procede a resolver diferentes versiones del problema con las variaciones que
se considere. Podría resultar muy tedioso las múltiples aplicaciones del algoritmo de
solución, sin embargo, utilizando una técnica conocida como reoptimización, se puede
inferir los cambios a realizarse a partir de la tabla que da la solución a reoptimizar, con la
ventaja que una mejor solución, correspondiente al modelo modificado, generalmente se
encuentra con mucho menos trabajo.
En restricciones estructurales de la forma ≤ 𝑏𝑏! los valores de los 𝑏𝑏! representan límites de
recursos, que generalmente están asociados con decisiones del administrador, pero en el
análisis post optimo podrían aumentarse a cambio de que se justifique mediante un
significativo beneficio adicional en la función objetivo. Frente a lo anterior resulta
importante conocer en qué medida mejora la función objetivo con el aumento de los
valores de 𝑏𝑏! . En el contexto de aplicación del Método Simplex se habla de precio sombra.
El precio sombra del 𝑖𝑖 − 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 recurso, simbolizado mediante 𝑦𝑦!! mide la razón a la que
mejora la función objetivo Z como consecuencia de un aumento en 𝑏𝑏! . En la aplicación del
Método Simplex, aunque no se ha hablado de ello, el precio sobra de 𝑙𝑙𝑙𝑙 𝑖𝑖 − 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒
restricción corresponde al coeficiente con que aparece la 𝑖𝑖 − 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 variable de holgura
en la fila 𝐹𝐹! de la tabla simplex final.
Tabla 1
Fuente: Propia.
• Valores del lado derecho: los valores del lado derecho de las restricciones estructurales
del problema dual son los 𝑛𝑛 coeficientes 𝑐𝑐! , 𝑐𝑐! , … , 𝑐𝑐! de las variables de decisión en la
función objetivo del problema primal.
Tabla 2
Fuente: Propia.
Ejemplo 5.2: representación matricial de los problemas primal y dual del modelo de la
empresa La Arenosa.
Tabla 3
Fuente: Propia.
Dado que 𝒛𝒛 = (𝑧𝑧! , 𝑧𝑧! , … 𝑧𝑧! ) = 𝒄𝒄𝑩𝑩 𝑩𝑩!𝟏𝟏 𝑨𝑨 es el vector agregado por el Método Simplex en
cada iteración al vector – 𝒄𝒄 = (−𝑐𝑐! , −𝑐𝑐! , … −𝑐𝑐! ) de coeficientes iniciales, entonces, en
cada iteración sobre el problema primal, los coeficientes de las variables originales
𝑥𝑥! , 𝑥𝑥! , … 𝑥𝑥! , 𝑥𝑥!!! en la fila 𝐹𝐹! son respectivamente los componentes de 𝒛𝒛 − 𝒄𝒄 = ( 𝑧𝑧! −
𝑐𝑐! , 𝑧𝑧! − 𝑐𝑐! , … 𝑧𝑧! − 𝑐𝑐! ), mientras que, los coeficientes de las variables de holgura
(𝑥𝑥!!! , … , 𝑥𝑥!!! ) en la misma fila son los componentes de 𝒚𝒚 = (𝑦𝑦! , 𝑦𝑦! , … , 𝑦𝑦! ). Entonces,
según la formulación del problema dual a partir del primal, se puede afirmar que el
problema dual es una forma alternativa de plantear la meta a lograr, a través del Método
Simplex, la solución óptima del primal que satisfaga la condición de optimalidad,
establecida en términos de los coeficientes de las variables en la fila 𝐹𝐹! como 𝑥𝑥! ≥ 0, 𝑥𝑥! ≥
0, … 𝑥𝑥! ≥ 0, y 𝑦𝑦! ≥, 𝑦𝑦! ≥ 0, … , 𝑦𝑦! ≥ 0.
Cuando se alcanza la condición de optimalidad es claro que el vector 𝒚𝒚 = (𝑦𝑦! , 𝑦𝑦! , … , 𝑦𝑦! )
es una óptima solución del problema dual, en cuyo caso se simboliza mediante
𝒚𝒚𝒐𝒐 (𝒚𝒚 óptimo) de componentes 𝑦𝑦!! , 𝑦𝑦!! , … , 𝑦𝑦!
!
y el valor óptimo de la función objetivo 𝑊𝑊
del problema dual coincide con el óptimo 𝑍𝑍 del primal. Los valores óptimos 𝑦𝑦!! , 𝑦𝑦!! , … , 𝑦𝑦! !
del problema dual corresponden a los precios sombra del problema primal.
• Propiedad de dualidad débil: sea el vector 𝒙𝒙 una solución factible del problema primal y
sea 𝒚𝒚 una solución factible del problema dual, entonces:
𝒄𝒄𝒙𝒙𝒐𝒐 = 𝒃𝒃𝒚𝒚𝒐𝒐
• Propiedad de dualidad fuerte: sea el vector 𝒙𝒙𝒐𝒐 una solución óptima del problema primal y
sea 𝒚𝒚𝒐𝒐 una solución óptima del problema dual, entonces:
𝒄𝒄𝒄𝒄 ≤ 𝒃𝒃𝒃𝒃
𝒄𝒄𝒄𝒄 = 𝒃𝒃𝒃𝒃
𝒄𝒄𝒙𝒙𝒐𝒐 = 𝒃𝒃𝒚𝒚𝒐𝒐
Hemos tratado como a partir de la formulación del problema original o primal llegamos a
la formulación del dual, una relación fundamental entre los dos problemas es la lógica
correspondencia entre sus soluciones básicas. Los desarrollos alrededor de estos
principios y los relacionados con el Método Simplex permitirían llegar a otros resultados
que completan los presentados en la sección propiedades de la dualidad, estos se
resumen a continuación.
Soluciones básicas óptimas complementarias: toda solución básica óptima del problema
dual tiene una solución básica óptima complementaria en el problema dual. A partir de la
fila 𝐹𝐹! de la tabla correspondiente a una solución óptima del problema primal, se puede
hallar la solución óptima complementaria (𝒚𝒚𝒐𝒐 , 𝒛𝒛𝒐𝒐 − 𝒄𝒄) del problema dual.
Tomando en consideración los dos problemas, el primal y el dual, las soluciones básicas se
clasifican de acuerdo con el cumplimiento o no de las condiciones de factibilidad y de
optimalidad. La condición de factibilidad es aquella en la cual las variables originales y de
holgura satisfacen la no negatividad, y la condición de optimalidad obliga a que todos los
coeficientes en la fila 𝐹𝐹! son no negativos. En este contexto se emplea otros términos
como subóptima y suróptima para referirse
• Soluciones factibles duales: son soluciones básicas complementarias en las que la solución
básica dual complementaria es solución factible del problema primal.
Considerando lo anterior se tiene la siguiente tabla que resume la relación entre las
diferentes soluciones básicas complementarias.
Fuente: Propia.
Análisis de sensibilidad
La expresión análisis de sensibilidad en el contexto de la programación lineal se refiere al
estudio de las consecuencias, sobre una solución óptima obtenida, si se consideran
cambios en los valores de los parámetros que definen el modelo, por ejemplo algunos
coeficientes en la función objetivo, o en los coeficientes y valores del lado derecho de las
restricciones estructurales. Según lo estudiado, en relación con los principios de la
dualidad, es claro que los cambios en los parámetros del modelo del problema primal
generan cambios en los respectivos parámetros del problema dual. Un cambio que podría
considerarse sobre un modelo inicialmente planteado es sobre los coeficientes de una
variable no básica en la solución obtenida a partir del modelo inicial, frente a lo cual se
tiene que, por ser no básica, su valor es cero y por tanto no afecta la factibilidad de la
función, pero puede haber efectos sobre la solución complementaria, que se encuentra
asociada con el problema dual.
Es razonable pensar que luego de estudiar posibles cambios en los parámetros, que
conduzcan a una mejor solución, se debe resolver desde el comienzo el problema para el
modelo modificado, lo que no representaría mayores dificultades en el caso de problemas
con un pequeño número de variables y restricciones, pero en problemas bastante grande
esto demandaría una gran cantidad de trabajo que sería preferible evitar.
Afortunadamente el principio fundamental del Método Simplex, estudiado en la cartilla de
la semana 4, disminuye notablemente la necesidad de cálculos al mostrar de forma casi
inmediata en qué medida, los cambios al modelo impactan la solución final antes
obtenida. Según lo que indique este análisis se puede establecer si la solución óptima
hallada para el modelo original es o no la más conveniente y proceder en consecuencia.
Con el fin de presentar el proceso mediante el cual Para describir este procedimiento
asumamos que mediante el uso del Método Simplex se ha hallado a una solución óptima
de un modelo inicial de parámetros 𝑐𝑐! , 𝑎𝑎!" , 𝑏𝑏! , o las respectivas formas matriciales
𝒄𝒄𝒄𝒄 y 𝑨𝑨𝑨𝑨 = 𝒃𝒃. Si se cambia alguno de los parámetros las nuevas expresiones matriciales
serán 𝒄𝒄𝒙𝒙 y 𝑨𝑨𝒙𝒙 = 𝒃𝒃 o parámetros 𝑐𝑐! , 𝑎𝑎!" , 𝑏𝑏! .
Para actualización de la tabla simplex que da la solución óptima del modelo inicial, de tal
manera que se halle la tabla final que se obtendría si se procediera sobre el modelo
modificado, retomamos el principio fundamental del Método Simplex, estudiado en la
sección 4.x, según el cual:
Tabla 5. Obtención de la tabla final del modelo modificado a partir de su tabla inicial
Fuente: Propia.
Se recalca aquí que lo fundamental de este planteamiento radica en el hecho que, con
base en la solución óptima obtenida a partir de un modelo inicial y de la tabla inicial del
modelo modificado, se puede hallar la tabla final del modificado sin necesidad de realizar
todas las operaciones asociados con la aplicación del Método Simplex aplicado sobre el
modelo inicial.
Tabla 6
Fuente: Propia.
1 0 4
𝒄𝒄 = 8, 10 ; 𝑨𝑨 = 0 2 ; 𝒃𝒃 = 24
2 2 18
De la tabla simplex final del modelo origina, se tiene el vector 𝒚𝒚𝟎𝟎 y la matriz 𝑺𝑺𝟎𝟎 .
Tabla 7
Fuente: Propia.
𝐹𝐹! 𝑥𝑥! 0 1 0 1 0 0 4
𝐹𝐹! 𝑥𝑥! 0 0 2 0 1 1 24
𝐹𝐹! 𝑥𝑥! 0 2 2 0 0 0 18
Tabla 8
Fuente: Propia.
A diferencia del desarrollo dada en la sección 4.x, donde reaalmente conociamos el resto
de la tabla final, aquí se pone de manifiesto la real utilidad del los principios de cálculo
debido a que no conocemos la totalidad de elementos de la tabla final del modelo
modificado. Los cálculos son los siguientes.
1 0
𝒚𝒚𝒐𝒐 𝑨𝑨 − 𝒄𝒄 = 0, 3, 2 0 2 − 8, 10 = 4, 10 − 8, 10 = −4, 0
2 2
4
𝒐𝒐
𝒚𝒚 𝒃𝒃 = 0, 3, 2 24 = 108
18
Entonces:
1 1
1 − 1
3 3 1 0 0
1 3
𝑺𝑺𝒐𝒐 𝑨𝑨 = 0 0 0 2 = 0 1
2 2
1 1 2 2 0
0 − 3
3 3
1 1
1 −
3 3 4 6
1
𝑺𝑺𝒐𝒐 𝒃𝒃 = 0 0 24 = 12
2
1 1 18 −2
0 −
3 3
1 1
1 1 −
0 3 3 6
3 1
𝑻𝑻𝒐𝒐 = 0 1 0 0 12
2 2
0 1 1 −2
3 0 −
3 3
Llevando estos resultados a la representación obtenemos la tabla final del modelo
modificado, mostrada en la tabla 9.
𝐹𝐹! 𝑥𝑥! 0 1 0 1 1 1 6
−
3 3 3
𝐹𝐹! 𝑥𝑥! 0 0 1 0 1 0 12
2
𝐹𝐹! 𝑥𝑥! 0 2 0 0 1 1 −2
−
3 3 3
Tabla 9
Fuente: Propia.
𝐹𝐹! 𝑍𝑍 1 0 0 0 1 4 96
𝐹𝐹! 𝑥𝑥! 0 0 0 1 1 1 7
−
2 2
𝐹𝐹! 𝑥𝑥! 0 0 1 0 1 0 12
2
𝐹𝐹! 𝑥𝑥! 0 1 0 0 1 1 −3
−
2 2
Tabla 10
Fuente: Propia.
Ahora se tiene la solución básica 𝑥𝑥! = −3; 𝑥𝑥! = 12; 𝑥𝑥! = 7; 𝑥𝑥! = 0; 𝑥𝑥! = 0, que no es
factible por no satisfacer las condiciones de no negatividad (𝑥𝑥! = −3). Pero según los
criterios de la tabla 6.x sí es superóptima, lo que implica que es factible dual. Frente a una
situación de este tipo resulta de gran utilidad un nuevo procedimiento conocido como
Método Simplex dual, el cual se tratará brevemente en la siguiente sección.
Introducción al Método Simplex dual
Una variante interesante del Método Simplex es el simplex dual, el cual trata con
soluciones básicas del problema dual que son factibles duales pero no son factibles
primales y luego procede a la búsqueda de una solución óptima de tal manera que se
alcance la factibilidad en el problema primal. El procedimiento es tal que opera como con
un problema como si se usara al mismo tiempo el Método Simplex al problema dual.
La utilidad del Método Simplex dual se pone de manifiesto en situaciones en las que, por
ejemplo, el uso de Método Simplex implique la incorporación de un gran número de
variables artificiales que proporcionen una solución factible básica inicial, por lo que
resulta preferible iniciar con una solución con una solución que sea básica factible dual en
el marco de aplicación del Método Símplex dual. Otra utilidad se relaciona con el análisis
de sensibilidad, en el que a partir de una solución óptima hallada mediante el uso del
Método Simplex, se introduce variantes al modelo y se busca una nueva solución con base
en el modelo modificado. Si la solución básica óptima con que se contaba resulta no ser
factible primal pero aún cumple la prueba de optimalidad, es pertinente usar el Método
Símplex dual a partir de la solución básica factible dual. Presentamos a continuación un
resumen de los detalles o pasos asociados con el Método Símplex dual.
• Incorporar las variables de holgura que se requiera para convertir las inecuaciones en
ecuaciones.
• Hallar una solución básica en la que los coeficientes de la fila 𝐹𝐹! sean ceros para las
variables básicas y no negativos para las no básicas, de esta forma la solución será óptima
si es factible.
• Prueba de factibilidad de la situación inicial: En caso que todas las variables básicas sean
no negativas, se concluye que la solución es factible y en consecuencia también es óptima,
con lo cual se llega al final del proceso, en caso contrario se requiere ingresar al proceso
iterativo.
• Paso 1 de la iteración: identificar cual debe ser la variable básica saliente, esta será la que
tenga el valor más negativo entre el actual conjunto de variables básicas.
• Paso 2 de la iteración: identificar cual variable básica debe ser la entrante, esto se
determina examinando las variables no básicas con coeficientes negativos en la fila de la
variable básica saliente, la variable entrante será la que arroje cociente de menor valor
absoluto al dividir su coeficiente en 𝐹𝐹! por su coeficiente negativo en la final de la básica
saliente.
Ejemplo 5.4
Usamos en este ejemplo el Método Simplex dual para resolver el dual correspondiente al
problema de la empresa la Arenosa. A continuación se escribe el problema dual ajustado
de tal manera que ahora es un problema de maximización (multiplicando por -1 la
ecuación de la función objetivo)
𝑦𝑦! + 3𝑦𝑦! ≥ 6
2𝑦𝑦! + 2𝑦𝑦! ≥ 10
Solución:
Tabla 11
Fuente: Propia.
Esta solución no es factible por tener valores negativos, se requiere entonces el desarrollo
del proceso iterativo.
Primera iteración
Paso 1 de la primera iteración: se identifica a 𝑦𝑦! como la variable básica saliente, debido
a que tiene el valor más negativo entre las actuales variables básicas.
Paso 2 de la primera iteración: se identifica a 𝑦𝑦! como la variable básica entrante, esto en
razón a que el cociente de su coeficiente en la fila 𝐹𝐹! por su coeficiente en la fila de la
variable saliente arroja el numero con menor valor absoluto.
Fuente: Propia.
Esta solución no es factible porque contiene valores negativos entre sus variables básicas,
se requiere una nueva iteración.
Segunda iteración
Paso 1 de la segunda iteración: ahora la variable básica saliente es e identifica a 𝑦𝑦! (es la
única variable básica que tiene valor negativo en la tabla 12).
𝐹𝐹! 𝑦𝑦! 0 1
− 1 0 1
1
− 3
3 3 2
Tabla 13
Fuente: Propia.
Introducción
Hasta la semana cinco hemos tenido la oportunidad de trabajar alrededor de una de las
áreas más utilizadas en Investigación de operaciones, la programación lineal, habiendo
visto que el mayor fundamento está en el uso del Método Simplex. Destacamos en ello
que los problemas están asociados con restricciones que pueden expresarse como
relaciones lineales entre las variables de decisión y que esas mismas variables
generalmente se encuentran sometidas a restricciones de no negatividad. Sin embargo,
vale anotar que, en el ámbito de los problemas propios de la investigación de operaciones,
y de la programación lineal particularmente, se encuentran problemas en los cuales las
variables de decisión se encuentran sometidas, además de las restricciones estructurales y
de no negatividad, a tomar valores enteros, lo que da lugar al uso de técnicas específicas
de programación lineal, conocidas como programación lineal entera.
Desarrollo temático
Fundamentos de Programación Lineal entera
Problemas de Programación Lineal entera
El paso conceptual del modelado de un problema de programación lineal, estudiada hasta
la semana anterior, a la programación lineal entera es bastante sencillo desde el punto de
vista de la formulación, sin embargo la solución resulta significativamente diferente e
incluso más intensiva desde el punto de vista computacional. En general un problema de
programación lineal entera o PLE, es un problema de programación lineal en el que
algunas de las variables de decisión involucradas están limitadas a tomar solo valores
enteros. Si el problema involucra variables enteras y no enteras se dice que es un
problema de programación lineal mixto, ejemplo de ello es el ilustrado en el siguiente
ejemplo:
En los casos en que todas las variables de decisión solo pueden tomar valores enteros, se
dice que el problema es de programación lineal entera puro. Un ejemplo de modelo de
este tipo de modelo se ilustra en el siguiente ejemplo.
En algunos casos los valores de las variables están limitados aún más, y solo pueden tomar
valores 0 o 1, o lo que comúnmente se conoce como decisiones del tipo Sí o No, en cuya
situación el problema correspondiente se clasifica como problema de programación lineal
entera binario (PLEB). A continuación se presenta un ejemplo de modelo de programación
lineal entera binario (PLEB).
Ejemplo 6.4:
La tabla 1 resume los datos del problema, las cantidades de dinero se expresan en
millones.
Fuente: Propia.
El objetivo es tener el máximo del valor presente neto total, es decir, se quiere maximizar
la función:
El costo de optar o no por cada alternativa es igual al costo de la misma por el valor de la
respectiva variable de decisión 𝑥𝑥! , dependiendo si el valor de 𝑥𝑥! es 1 o 0. Si además se
tiene en cuenta que la FUAA cuenta con un límite de inversión de 30 mil millones de
pesos, una de las restricciones es:
𝑥𝑥! + 𝑥𝑥! ≤ 1
De lo planteado hasta ahora con base en el enunciado y formulación del modelo podemos
extraer algunos de los elementos generales de la programación lineal entera binaria, por
ejemplo, son situaciones en las cuales se toman decisiones del tipo Sí o No. Además,
algunos grupos de decisiones son alternativas mutuamente excluyentes, de tal manera
que una decisión positiva dentro de las variables del grupo obliga a que las demás sean
1 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑒𝑒𝑒𝑒 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑗𝑗.
𝑥𝑥! =
0 𝑠𝑠𝑠𝑠 𝑛𝑛𝑛𝑛 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑒𝑒𝑒𝑒 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑗𝑗.
Ejemplo 6.5
1 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑙𝑙𝑙𝑙 𝑖𝑖𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛ó𝑛𝑛 𝑗𝑗
𝑥𝑥! = 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑗𝑗 = 1, 2, 3, 4
0 𝑠𝑠𝑠𝑠 𝑛𝑛𝑛𝑛 𝑠𝑠𝑠𝑠 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑙𝑙𝑙𝑙 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖ó𝑛𝑛 𝑗𝑗
La finalidad es obtener el mayor rendimiento posible, el cual está dado en términos del
valor presente neto que llegue a producir cada una de las opciones que se haga, por tanto
el objetivo es maximizar la función
𝑥𝑥! ≥ 𝑥𝑥!
Finalmente las variables 𝑥𝑥! solo pueden tomar los valores 0 o 1, el modelo resultante es:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
𝑥𝑥! ≥ 𝑥𝑥!
Ejemplo 6.6
1 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑙𝑙𝑙𝑙 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑗𝑗
𝑦𝑦! = 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑗𝑗 = 1, 2, 3.
0 𝑒𝑒𝑒𝑒 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 𝑛𝑛𝑛𝑛 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑙𝑙𝑙𝑙 𝑚𝑚á𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞𝑞 𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎
Donde los valores de 𝑘𝑘! , 𝑘𝑘! , 𝑘𝑘! son números lo suficientemente grande para limitar los
valores de 𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥! . La función objetivo es la diferencia éntrelos ingresos recibidos y los
gastos en que se incurre, se tienen entonces que:
𝑍𝑍 = 36.000𝑥𝑥! + 24.000 𝑥𝑥! + 45.000𝑥𝑥! − (18.000𝑥𝑥! + 12.000 𝑥𝑥! + 24.000𝑥𝑥! ) − (600.000𝑦𝑦! + 450.000
𝑦𝑦! + 300𝑦𝑦! )
𝑍𝑍 = 18.000𝑥𝑥! + 12.000 𝑥𝑥! + 21.000𝑥𝑥! − 600.000𝑦𝑦! + 450.000 𝑦𝑦! + 300.000𝑦𝑦!
En este caso, atendiendo a las condiciones del problema, el valor de 100 para 𝑘𝑘! , 𝑘𝑘! 𝑦𝑦 𝑘𝑘!
es suficiente para acotar los posibles valores de 𝑥𝑥! , 𝑥𝑥! 𝑦𝑦 𝑥𝑥! . Por tanto el modelo del
problema se resume en:
𝑥𝑥! ≤ 100𝑦𝑦!
𝑥𝑥! ≤ 100𝑦𝑦!
𝑥𝑥! ≤ 100𝑦𝑦!
𝑥𝑥! , 𝑥𝑥! , 𝑥𝑥! ∈ ℤ!
𝑦𝑦! , 𝑦𝑦! , 𝑦𝑦! ∈ {0, 1}
Tal como sucede con el contexto del problema del ejemplo 6.4, muchas empresas que
buscan su expansión, consideran posibilidades de creación de plantas o apertura de sedes
en diferentes sitios geográficos considerando las ventajas que pueda dar un sitio u otro. La
selección del sitio demanda un detallado análisis que permita soportar la decisión del tipo
1 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑒𝑒𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑗𝑗
𝑥𝑥! =
0 𝑠𝑠𝑠𝑠 𝑛𝑛𝑛𝑛 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑒𝑒𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑗𝑗
Ejemplo 6.5:
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
2𝑥𝑥! + 𝑥𝑥! ≤ 6
+
𝑥𝑥! , 𝑥𝑥! ∈ ℤ
Solución:
Sea:
La utilidad que se pueda obtener está dada por la función objetivo 𝑍𝑍 = 8𝑥𝑥! + 5𝑥𝑥! , la
limitante en tiempo de horas de trabajo corresponde a 𝑥𝑥! + 𝑥𝑥! ≤ 6, mientras que los
recursos de madera están limitados por 9𝑥𝑥! + 5𝑥𝑥! ≤ 45 y, teniendo en cuenta que los
valores 𝑥𝑥! , 𝑥𝑥! deben ser enteros, el correspondiente modelo de programación lineal
entera es y su relajado, al que llamamos subproblema 1, son los siguientes:
Tabla 2
Fuente: Propia.
15 9 165
𝑥𝑥! = ; 𝑥𝑥! = ; 𝑍𝑍 = = 41,25
4 4 4
Lo que indica que el máximo valor que podría alcanzar la función objetivo del problema
original, restringido a valores enteros es valor hallado para la función objetivo del
problema relajado es 𝑍𝑍 = 41.
Ahora lo que sigue es establecer una partición del conjunto de soluciones factibles del
modelo relajado. La partición se puede establecer de forma arbitraria, pero teniendo en
cuenta que para el caso de la variable 𝑥𝑥! su valor en la solución óptima es mayor que 3,
podemos usar una partición que involucre este valor, con lo que tenemos las restricciones
𝑥𝑥! ≤ 3 y 𝑥𝑥! ≥ 4, (se toma 𝑥𝑥! ≥ 4 porque para el problema entero no tiene sentido tomar
valores en (3, 4)). Con lo anterior el subproblema 1 se divide en los subproblemas 2 y 3
ilustrados a continuación.
Tabla 3
Fuente: Propia.
Tabla 4
Fuente: Propia.
!" !"#
La solución del subproblema 4 es 𝑥𝑥! = y 𝑥𝑥! = 2, dando 𝑥𝑥! = 1 y 𝑍𝑍 = = 40,556 la
! !
cual no es una solución factible para el modelo de PLE. En cuanto al subproblema 5, se
encuentra que no hay valores que satisfagan el subproblema 3 y al mismo tiempo la
restricción 𝑥𝑥! ≥ 2, por tanto es necesario dividir el subproblema 4, en dos nuevos
subproblemas, con el fin de hallar una solución mejor que la del subproblema 2 (Z=39) e
!"#
inferior que 𝑍𝑍 = = 40,556.
!
!"
Del subproblema 4 tenemos 𝑥𝑥! = ≅ 4,44, lo que sugiere considerar las nuevas
!
restricciones 𝑥𝑥! ≤ 4 y 𝑥𝑥! ≥ 5 para definir los nuevos subproblemas.
Fuente: Propia.
La solución del subproblema 6 es 𝑥𝑥! = 4, 𝑥𝑥! = 1, lo que resulta en 𝑍𝑍 = 37, esta solución,
si bien es factible, se debe descartar porque no es mejor que la solución factible del
subproblema 2, en consecuencia, una mejor alternativa de solución se debe explorar por
la vía del subproblema 7, del cual se tiene como única solución posible 𝑥𝑥! = 5, 𝑥𝑥! = 0,
correspondiendo a un valor 𝑍𝑍 = 40, que es mejor que el valor óptimo hallado hasta el
momento (𝑍𝑍 = 39) y no puede ser mejorado porque estaríamos particionando un
conjunto vacío de soluciones. En conclusión, la solución óptima del problema original de
programación lineal entera es la correspondiente a la solución del subproblema 7.
1
Fundación Universitaria del Área Andina
Introducción
A lo largo de las cartillas anteriores en este curso hemos tenido la oportunidad de abordar
la programación lineal como una de las ramas fundamentales de la investigación de
operaciones, de la misma forma hemos encontrado situaciones que corresponden a casos
particulares de programación lineal, específicamente los que se enmarcan en el campo de
la programación lineal entera, lo que as u vez da lugar a la consideración de
procedimientos especiales distintos al Método Simplex. En esta cartilla iniciamos el
estudio introductorio de un tipo de problemas que, si bien puede tratarse desde la
perspectiva de la programación lineal entera, dada su estructura se aborda desde una
variante especial del Método Simplex. El problema se conoce como problema del
transporte y el método de solución es el Método Simplex de transporte. Debe aclararse
que la denominación de problema de transporte no lo convierte en un contexto exclusivo
del traslado de elementos físicos, veremos cómo diferentes problemas distintos se
pueden modelar como un problema del transporte.
El estudio de los contenidos inicia presentando las características generales del contexto
del problema del transporte, a partir de lo cual se puede establecer su formulación o
modelado como un problema de programación lineal. Realizadas las consideraciones a
que diere lugar el enunciado o situaciones particulares, se aborda la primera parte del
procedimiento de solución, la cual consiste en la obtención de una solución básica factible
inicial, tal como se requiere en la aplicación del Método Simplex, pero en este caso se
realiza mediante el uso de tres alternativas aquí consideradas. La solución completa de
problemas de transporte se estudiará e ilustrará en la octava cartilla.
3
Fundación Universitaria del Área Andina
4
Fundación Universitaria del Área Andina
Ejemplo 7.1
Una panadería en la ciudad de Bogotá tiene dos sucursales 𝑆𝑆! 𝑦𝑦 𝑆𝑆! en las que se elabora
los productos para vender en tres puntos de venta 𝑃𝑃! , 𝑃𝑃! y 𝑃𝑃! . La oferta de la sucursal 𝑆𝑆!
es de 2000 unidades de productos, la de la sucursal 𝑆𝑆! es de 2500. La demanda en el
punto de venta 𝑃𝑃! es de 1500 unidades, la del punto 𝑃𝑃! es de 2000 y la del punto 𝑃𝑃! es de
1000 unidades, además de lo anterior, los costos de envío desde la sucursal 𝑆𝑆! hacia los
puntos 𝑃𝑃! , 𝑃𝑃! y 𝑃𝑃! son respectivamente 8, 6 y 10, mientras que desde la sucursal 𝑆𝑆! los
respectivos costos son 10, 4 y 9. El problema a resolver consiste en hallar la política de
envío que tenga el menor costo tratando de satisfacer la demanda. Con este fin definimos
los siguientes términos:
𝑥𝑥!" = 𝑢𝑢𝑢𝑢𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑆𝑆! 𝑖𝑖 = 1, 2 ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑒𝑒𝑒𝑒 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑃𝑃! (𝑗𝑗
= 1, 2, 3)
5
Fundación Universitaria del Área Andina
Por tanto, atendiendo a la cantidad total de unidades que se ofrece desde cada sucursal
𝑆𝑆! , 𝑆𝑆! y a las necesidades demandadas desde los puntos de venta 𝑃𝑃! , 𝑃𝑃! , 𝑃𝑃! se tiene la
siguiente formulación del problema (en que las restricciones son de igualdad porque la
cantidad de unidades ofrecidas es igual a la demandada):
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
Siguiendo algunas de las ideas asociadas con el tratamiento del Método Simplex tenemos
la representación matricial de la situación.
La función Z se puede expresar como el producto del vector 𝒄𝒄 compuesto por los
coeficientes de las variables en la función objetivo y el vector columna cuyas componentes
son las variables de decisión, es decir:
6
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 137
𝑥𝑥!!
𝑥𝑥!"
𝑥𝑥!"
𝒁𝒁 = 𝒄𝒄𝒄𝒄 = 𝟖𝟖, 𝟔𝟔, 𝟏𝟏𝟏𝟏, 𝟏𝟏𝟏𝟏, 𝟒𝟒, 𝟗𝟗 𝑥𝑥
!"
𝑥𝑥!!
𝑥𝑥!"
Observamos particularmente que las dos primeras filas de la matriz 𝐴𝐴 corresponden a los
coeficientes de las variables de decisión, en las ecuaciones de restricción, asociadas con
las cantidades enviadas desde cada sucursal, mientras que las otras tres filas
corresponden a los coeficientes de cantidades recibidas por cada punto de venta desde las
sucursales.
Tabla 1.
Fuente: Propia.
Veremos posteriormente que la tabla resumen dejará ver la estructura genérica del
problema.
En el modelo que se describe se asume que cada uno de los puntos de origen cuenta con
una cantidad constante de unidades a distribuir totalmente entre los destinos y que desde
cada destino se requiere una cantidad constante de unidades que debe satisfacerse por
los puntos de origen, lo que significa que la totalidad de unidades ofrecidas y requeridas
deben ser iguales, a esta particularidad se le conoce como propiedad de existencia de
solución factible. La realidad de problemas en ciertos casos muestra que los valores de 𝑆𝑆!
corresponden a cantidades máximas que se podrían distribuir desde el punto de origen 𝑂𝑂!
8
Fundación Universitaria del Área Andina
La organización de los datos o parámetros del problema del ejemplo 7.1 en tabla 7.1,
correspondientes a la distribución de productos de panadería, permite extender la misma
idea al caso general de situaciones que se pueden modelar como problemas de
transporte, en los que se quiere minimizar el costo total de distribución asumiendo la
igualdad entre oferta y demanda, así como la directa proporcionalidad entre los costos
totales de envío, entre un origen y un destino, y el respectivo costo unitario. La
correspondiente tabla genérica es la tabla 2.
Tabla 2
Fuente: Propia.
9
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 140
Repasando nuevamente la estructura del modelo matemático del problema de la del
ejemplo 7.1, si se envía 𝑥𝑥!" unidades desde el origen 𝑂𝑂! hasta el destino 𝐷𝐷! y 𝑐𝑐!" es el costo
unitario de envió, el costo total en que se incurre al realizar todos los envíos está dado por
una función objetivo 𝑍𝑍, la finalidad del problema es:
! !
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
!
𝑥𝑥!" ≥ 0 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑖𝑖 = 1, 2, … , 𝑚𝑚 𝑦𝑦 𝑗𝑗 = 1, 2, … , 𝑛𝑛
Imagen 1
Fuente: Propia.
10
Fundación Universitaria del Área Andina
Dado que algunos casos los problemas a resolver no corresponden a problemas del
transporte en que la oferta es igual a la demanda, un caso particular es aquel en que la
oferta supera la demanda, por lo que resulta conveniente definir un destino ficticio, al cual
enviar la diferencia de disponibilidad, o un origen ficticio desde el cual se satisface la
demanda faltante. A continuación presentamos un ejemplo de cada caso.
Tabla 3
Fuente: Propia.
11
Fundación Universitaria del Área Andina
𝐷𝐷! = 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑑𝑑𝑑𝑑 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒 𝑚𝑚𝑚𝑚𝑚𝑚 𝑗𝑗 (𝑗𝑗 = 1, 2, 3, 4)
𝑥𝑥!" = 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑑𝑑𝑑𝑑 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒 𝑚𝑚𝑚𝑚𝑚𝑚 𝑖𝑖 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑒𝑒𝑒𝑒𝑒𝑒𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑒𝑒𝑒𝑒 𝑒𝑒𝑒𝑒 𝑚𝑚𝑚𝑚𝑚𝑚 𝑗𝑗.
De las consideraciones anteriores es claro que no puede producirse motores en mes dado
para ser entregados en meses anteriores, lo que significa que no hay valor a asignar a los
𝑥𝑥!" para 𝑖𝑖 > 𝑗𝑗, sin embargo, dado el interés de modelarlo como el problema del
transporte, es necesario definir valores para estos costos no conocidos. En este punto se
usa un gran valor M con el mismo significado que el usado en el método de la gran M en el
contexto del Método Simplex, para que al final resulten valores de 𝑥𝑥!" = 0 para 𝑖𝑖 > 𝑗𝑗.
Por otra parte, a la luz del modelo del problema del transporte, en este caso no están
definidos los valores correspondientes a la oferta, esto debido a que las cantidades a
producir en cada mes no son fijas y es precisamente parte de lo que se quiere saber, pero
el modelo de problema del transporte exige que todos los parámetros sean cantidades
12
Fundación Universitaria del Área Andina
Tabla 4
Fuente: Propia.
Ejemplo 7.3
Una compañía distribuye agua en tanques a sectores que tienen difícil acceso al servicio,
para ello compra el agua en unas fuentes 𝑂𝑂! , 𝑂𝑂! y 𝑂𝑂! y las distribuye a los destinos
𝐷𝐷! , 𝐷𝐷! , 𝐷𝐷! y 𝐷𝐷! . La única imposibilidad existente para hacer envíos de agua se da entre el
13
Fundación Universitaria del Área Andina
Tabla 5
Fuente: Propia.
14
Fundación Universitaria del Área Andina
Con el fin de ajustar el problema al modelo del problema del transporte, se requiere que
las demandas sean cantidades constantes, con el fin de poder considerar que estas
demandas corresponden a las cotas superiores, procedemos de forma similar a la
situación del ejemplo 7.2, donde veíamos un exceso de oferta y se introdujo un destino
ficticio que supuestamente recibiera la oferta sobrante. En este caso en el que la demanda
supera la oferta, se introduce un origen ficticio desde el cual se enviaría el déficit de
disponibilidad. Este origen ficticio tendría una disponibilidad, también ficticia, cuyo valor
es el déficit de disponibilidad, que corresponde a la suma de máximas demandas menos la
disponibilidad total real, revisando los valores encontramos que esta capacidad ficticia es
de 50.
Por otro lado, como se debe evitar que las necesidades mínimas sean satisfechas por el
origen ficticio, en la formulación también debemos considerar los límites inferiores o
requerimientos mínimos de cada destino. Vemos que 𝐷𝐷! no indica un mínimo, por lo que
no se requiere consideración alguna. En el caso de 𝐷𝐷! tampoco se hace consideración
adicional porque su demanda de 60 excede en 10 a la disponibilidad del origen ficticio,
esto indica que de la cantidad que reciba al menos 10 debe llegar de orígenes reales. De la
misma forma, para 𝐷𝐷! no se requiere consideración adicional porque su mínimo es igual a
lo solicitado. Finalmente, en el caso del destino 𝐷𝐷! se ve que la supuesta disponibilidad del
origen ficticio podría “abastecer” una parte de los requerimientos mínimos además del
adicional pedido, por tanto es necesario realizar ajustes de tal manera que el origen
ficticio no “cubra” esta necesidad en más de 20 del total de 50. Este propósito se puede
alcanzar si el destino 𝐷𝐷! se considera como dos destinos diferentes, uno de ellos con
demanda de 30 y costo de un valor de M para las cantidades “enviadas” desde el origen
ficticio y otro destino con demanda de 20 y costo de envío de cero para el envío al destino
ficticio.
Con los anteriores razonamientos y renombrando los destinos de tal manera que del
original destino 𝐷𝐷! se obtiene los destinos 𝐷𝐷! y 𝐷𝐷! , el anterior 𝐷𝐷! pasa a ser 𝐷𝐷! , 𝐷𝐷! pasa a
ser 𝐷𝐷! y 𝐷𝐷! pasa a ser 𝐷𝐷! partir del segundo se obtiene finalmente la formulación como un
problema del transporte mostrada en la tabla 6, la tabla también refleja las
consideraciones relativas a que los costos de envío desde el origen ficticio son cero y que
los del origen 𝑂𝑂! al destino 𝐷𝐷! toman un gran valor de 𝑀𝑀 para hacer nada preferente el
envío entre estos extremos.
15
Fundación Universitaria del Área Andina
Tabla 6
Fuente: Propia.
Luego de introducir las variables artificiales y aplicar los procesos algebraicos que llevan
en la fila 𝐹𝐹! , la que corresponde a la función objetivo, los coeficientes de las variables
básicas iniciales sean cero, se realiza el proceso de inicialización en el que se obtiene la
primera solución básica factible y hacer la prueba de optimalidad que a la larga conduce a
la necesidad de llevar a cabo la primera iteración. En la primera iteración, y en las demás
que sean necesarias, se determina las variables básicas entrante y saliente, se reduce el
sistema a la forma apropiada de eliminación gaussiana y se determina la nueva solución
básica que sea factible. Sin embargo hemos comentado que la estructura especial de la
matriz o tabla de coeficientes de restricciones en el problema de transporte permite
simplificar las operaciones, que de otro modo serían realizadas a través del Método
Simplex, lo que da lugar al Método Simplex del transporte. Los detalles que conducen a las
simplificaciones de operaciones gracias a la estructura especial de la tabla de coeficientes,
16
Fundación Universitaria del Área Andina
Con base en la formulación de la tabla 7.6 correspondiente al ejemplo 7.3, usar el método
de la esquina noroeste para hallar la solución básica factible inicial. Según la formulación
se tiene 𝑚𝑚 = 4 puntos de origen y 𝑛𝑛 = 5 destinos la toda solución factible tiene 𝑚𝑚 + 𝑛𝑛 −
1 = 8 variables básicas.
17
Fundación Universitaria del Área Andina
Fuente: Propia.
𝑍𝑍 = 16 30 + 16 20 + 14 0 + 13 60 + 20 10 + 23 30 + 𝑀𝑀 10 + 0 50 =
𝑍𝑍 = 2470 + 10𝑀𝑀
18
Fundación Universitaria del Área Andina
Con base en la formulación de la tabla 7.6 correspondiente al enunciado del ejemplo 7.3,
usar el método de aproximación de Russel para hallar la solución básica factible inicial.
Al calcular todos los valores de ∆!" = 𝑐𝑐!" − 𝛼𝛼! − 𝛽𝛽! (usando los respectivos valores 𝑐𝑐!" )
encontramos que ∆!" = 2𝑀𝑀 es el más negativo de los ∆!" por tanto se selecciona 𝑥𝑥!" como
19
Fundación Universitaria del Área Andina
Al calcular los valores ∆!" encontramos que ∆!" = 5 − 𝑀𝑀 es el más negativo de los ∆!" por
tanto se selecciona 𝑥𝑥!" como variable básica y se asigna 𝑥𝑥!" = 10, para completar la
demanda de la columna 5 y no volver a considerarla y dejando una disponibilidad de 40 en
el origen 𝑂𝑂! .
Al calcular los valores ∆!" encontramos que ∆!" = −29 es el más negativo de los ∆!" por
tanto se selecciona 𝑥𝑥!" como variable básica y se asigna 𝑥𝑥!" = 40, lo que aún no completa
la demanda de la columna 3. Se propone al estudiante como ejercicio de repaso la
verificación de estos cálculos y el completar la selección de la solución básica inicial, el
resultado completo debe ser:
𝑥𝑥!" = 50, 𝑥𝑥!" = 10, 𝑥𝑥!" = 40, 𝑥𝑥!" = 30, 𝑥𝑥!" = 30, 𝑥𝑥!" = 0, 𝑥𝑥!" = 20, 𝑥𝑥!" = 30
20
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 151
Mientras que el valor de 𝑍𝑍 es:
21
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 152
1
Fundación Universitaria del Área Andina
Introducción
Hace aproximadamente 50 días iniciamos el curso de Investigación de operaciones I y en
las 7 semanas que han pasado hemos hecho un intenso recorrido por algunas de las áreas
de la investigación de operaciones fundamentalmente relacionadas con la programación
lineal. Habiendo llegado la semana 8 nos disponemos a dar continuidad a una temática
iniciada en la semana anterior, el problema de transporte, y específicamente los pasos del
procedimiento de solución que siguen a la obtención de la solución básica factible. Estos
pasos corresponden a la prueba de optimalidad de la solución inicial y el procedimiento
iterativo que ha de llevarse a cabo cuando aún no se alcanza la solución óptima. Vale
destacar en este procedimiento completo, denominado Método Simplex de transporte,
que el procedimiento de solución se basa en la misma filosofía del Método Simplex
estándar, pero de manera mucho más ágil. Se ilustra el tratamiento temático con base en
un ejemplo formulado en la semana 7.
3
Fundación Universitaria del Área Andina
Dado que esta es la última semana, la última actividad que se debe desarrollar es la
evaluación final, la cual vale el 40% de la evaluación del curso, casi la mitad del mismo, por
lo tanto se recomienda realizar una revisión de los temas anteriores, tener a mano
ejercicios y talleres realizados o los resúmenes o apuntes que tenga.
4
Fundación Universitaria del Área Andina
Desarrollo temático
Solución del problema del transporte y problema de asignación
Fases del procedimiento del Método Simplex del transporte
En la cartilla de la semana 7, mediante el método de aproximación de Russel llegamos a la
conclusión que para el problema del ejemplo 7.3, la solución básica factible hallada en la
fase de iniciación del procedimiento de solución del Método Simplex de transporte es:
𝑥𝑥!" = 50, 𝑥𝑥!" = 10, 𝑥𝑥!" = 40, 𝑥𝑥!" = 30, 𝑥𝑥!" = 30, 𝑥𝑥!" = 0, 𝑥𝑥!" = 20, 𝑥𝑥!" = 30
Encontramos además que el valor 𝑍𝑍 = 2570. Con base en ello procedemos ahora a
realizar la prueba de optimalidad a esta solución inicial.
Recordemos que la prueba de optimalidad en el Método Simplex se realiza con base en los
coeficientes en la fila 𝐹𝐹! , en la cual la actual solución básica factible es óptima si los
coeficientes de las variables básicas son cero y los de las variables no básicas son no
negativos. En los procedimientos iterativos asociados con la obtención una nueva solución
básica factible se hace necesario el uso de tediosas operaciones entre filas. En el caso del
Método Simplex de transporte podemos hallar estos valores sin necesidad de las tantas
operaciones, solo se requiere el cálculo de unos valores 𝑢𝑢! y 𝑣𝑣! a partir del conocimiento
del actual conjunto de variables básicas resolviendo el sistema de ecuaciones que resulta
de:
𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! = 0 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑙𝑙𝑙𝑙𝑙𝑙 𝑖𝑖, 𝑗𝑗 𝑡𝑡𝑡𝑡𝑡𝑡 𝑞𝑞𝑞𝑞𝑞𝑞 𝑥𝑥!" 𝑒𝑒𝑒𝑒 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑏𝑏á𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠.
Entonces, una solución básica factible es óptima si y solo si 𝒄𝒄𝒊𝒊𝒊𝒊 − 𝒖𝒖𝒊𝒊 − 𝒗𝒗𝒋𝒋 ≥ 𝟎𝟎 para (𝑖𝑖, 𝑗𝑗) tal
que 𝑥𝑥!" es no básica. Con lo antes indicado, solo se necesita hallar los valores de 𝑢𝑢! y 𝑣𝑣!
5
Fundación Universitaria del Área Andina
Ejemplo 8.1
Solución
𝑥𝑥!" = 50, 𝑥𝑥!" = 10, 𝑥𝑥!" = 40, 𝑥𝑥!" = 30, 𝑥𝑥!" = 30, 𝑥𝑥!" = 0, 𝑥𝑥!" = 20, 𝑥𝑥!" = 30.
𝑐𝑐!" = 0, 𝑐𝑐!" = 17, 𝑐𝑐!" = 40, 𝑐𝑐!" = 13, 𝑐𝑐!" = 14, 𝑐𝑐!" = 19, 𝑐𝑐!" = 19, 𝑐𝑐!" = 23.
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑥𝑥!" : 𝑐𝑐!" = 14 = 𝑢𝑢! + 𝑣𝑣! , 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 14 = 𝑢𝑢! + 19, 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑢𝑢! = −5
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑥𝑥!" : 𝑐𝑐!" = 13 = 𝑢𝑢! + 𝑣𝑣! , 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 13 = 𝑢𝑢! + 18, 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑢𝑢! = −5
Ahora se puede hallar los valores 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! para las variables no básicas:
7
Fundación Universitaria del Área Andina
Fuente: Propia.
En la tabla 1, además de los costos unitarios, ofertas y demandas, se resalta en verde las
asignaciones de las actuales variables básicas; en amarillo se resalta los valores de los
𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! de las variables no básicas. También hay una columna para los valores de los
𝑢𝑢! y una fila para los 𝑣𝑣! . Como hay valores negativos entre estos 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! se concluye
que la actual solución básica no es óptima, lo que obliga a ingresar al procedimiento
iterativo.
Procedimiento iterativo
Al igual que el Método Simplex estándar, el Método Simplex de transporte cuenta con la
definición de las variables básicas entrante y saliente, la determinación de la nueva
solución básica factible y la correspondiente prueba de optimalidad.
La selección de la variable básica entrante se hace con base en los valores de los 𝑐𝑐!"
correspondientes a las variables no básicas de la iteración anterior, se elige como variable
básica entrante aquella 𝑥𝑥!" para la cual el 𝑐𝑐!" sea el más negativo. Para el caso del ejemplo
tenemos que la variable básica entrante es 𝑥𝑥!! .
8
Fundación Universitaria del Área Andina
Tabla 2
Fuente: Propia.
En el caso del ejemplo, en la tabla 2 se ha resumido la tabla 1 para mostrar solo los valores
en las celdas asociadas con las actuales variables básicas y se ha señalado con la etiqueta
V.E la celda de la variable básica entrante. Vemos dos posibles recorridos, si se toma el
que va de V.E a 𝑥𝑥!" , se debería dar un aumento de 30 en 𝑥𝑥!" , una disminución de 30 en
𝑥𝑥!" , un aumento de 30 en 𝑥𝑥!" y finalmente una disminución de 30 en 𝑥𝑥!" , pero esto
último no es posible debido a que la asignación de 𝑥𝑥!" es de 10 y no puede disminuir en
30. En cambio, si se toma la otra posibilidad, 𝑥𝑥!" aumenta en 10, 𝑥𝑥!" disminuye en 10, 𝑥𝑥!"
aumenta en 10 y 𝑥𝑥!" disminuye en 10, lo cual sí tiene sentido. En conclusión la variable
básica saliente es 𝑥𝑥!" porque fue la que llegó a cero en el recorrido.
9
Fundación Universitaria del Área Andina
𝑥𝑥!" = 50, 𝑥𝑥!" = 10, 𝑥𝑥!" = 50, 𝑥𝑥!" = 20, 𝑥𝑥!" = 30, 𝑥𝑥!" = 0, 𝑥𝑥!" = 20, 𝑥𝑥!" = 30.
Prueba de optimalidad
La tabla 8.3 muestra los últimos resultados, además de los valores actualizados de
asignaciones de variables básicas y los valores de los 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! de variables no básicas.
Como hay valores negativos de 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! , la actual solución no es óptima y se requiere
realizar una nueva iteración. La actualización de esta tabla se deja al estudiante como
ejercicio de repaso.
10
Fundación Universitaria del Área Andina
Fuente: Propia.
Segunda iteración
De la tabla final de la primera iteración (tabla 3) se observa que el valor más negativo de
los 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! de variable no básicas es el correspondiente a 𝑥𝑥!! , por tanto esta es la
variable entrante. El ciclo señalado en la tabla indica que ahora la variable básica saliente
es 𝑥𝑥!" con lo cual, al hacerse cero, el conjunto de nuevas asignaciones, que define la
nueva solución básica factible es:
𝑥𝑥!! = 30, 𝑥𝑥!" = 20, 𝑥𝑥!" = 40, 𝑥𝑥!" = 50, 𝑥𝑥!" = 20, 𝑥𝑥!" = 0, 𝑥𝑥!" = 30, 𝑥𝑥!" = 20,
𝑍𝑍 = 13 50 + 13 20 + 15 40 + 19 30 + 19 20 + 23 0 + 0 30 + 0(20)
11
Fundación Universitaria del Área Andina
Con el nuevo conjunto de variables básicas, para la prueba de optimalidad se calcula como
antes los valores de 𝑢𝑢!, 𝑣𝑣! y los 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! del nuevo conjunto de variables no básicas.
En la tabla 4 se muestra estos valores y la actualización de asignaciones a las variables
básicas. De la tabla se deduce que 𝑐𝑐!! − 𝑢𝑢! − 𝑣𝑣! es negativo, por tanto la actual solución
básica no es óptima.
Tabla 4
Fuente: Propia.
Tercera iteración
𝑥𝑥!! = 30, 𝑥𝑥!" = 20, 𝑥𝑥!" = 40, 𝑥𝑥!" = 50, 𝑥𝑥!" = 20, 𝑥𝑥!! = 0, 𝑥𝑥!" = 30, 𝑥𝑥!" = 20,
12
Fundación Universitaria del Área Andina
𝑍𝑍 = 13 50 + 13 20 + 15 40 + 19 30 + 19 20 + 20 0 + 0 30 + 0(20)
Tabla 5
Fuente: Propia.
Con la nueva solución básica, se calcula los nuevos valores de 𝑢𝑢!, 𝑣𝑣! y 𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! de las
variables no básicas. La tabla 8.5 es la tabla final actualizada a la tercera iteración, de
donde se deduce que la actual solución es óptima debido a que todos los valores de
𝑐𝑐!" − 𝑢𝑢! − 𝑣𝑣! asociados con variables no básicas son no negativos.
Enviar 50 tanques del origen 𝑂𝑂! al destino 𝐷𝐷! , con lo cual se agota la oferta del origen 𝑂𝑂! .
Enviar desde 𝑂𝑂! 20 tanques a 𝐷𝐷! y 40 a 𝐷𝐷! con lo cual se agota la oferta del origen 𝑂𝑂! .
Enviar desde 𝑂𝑂! 30 tanques a 𝐷𝐷! y 20 a 𝐷𝐷! con lo cual se agota la oferta del origen 𝑂𝑂! .
13
Fundación Universitaria del Área Andina
Un problema de asignación, o cualquiera que pueda modelarse como tal, cumple con las
siguientes características.
En el estudio del problema del transporte vimos que existen situaciones reales en los que
la oferta no coincide con la demanda, en cuyo caso es necesario la incorporación de
orígenes o destinos ficticios, de tal forma que la nueva situación se pueda ajustar al
modelo correspondiente. En el caso de problemas de asignación sucede algo parecido,
siendo necesario la incorporación de asignados o tareas ficticias para que el problema se
enmarque en el modelo y aplicar los respectivos procedimientos de solución.
14
Fundación Universitaria del Área Andina
1 𝑠𝑠𝑠𝑠 𝑠𝑠𝑠𝑠 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑒𝑒𝑒𝑒 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑎𝑎! 𝑎𝑎 𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑡𝑡!
𝑥𝑥!" = 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑖𝑖, 𝑗𝑗 = 1, 2, … , 𝑛𝑛
0 𝑒𝑒𝑒𝑒 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
Si 𝑍𝑍 es el costo total de asignar los recursos 𝑎𝑎! a las tareas 𝑡𝑡! , entonces la finalidad del
problema es:
! !
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
Antes ya hemos señalado que cada asignado se puede dedicar a una sola tarea, lo que en
el conjunto de restricciones esto se refleja en el hecho que la primera sumatoria, sobre el
conjunto de tareas es igual a 1. También hemos señalado cada tarea puede ser realizada
por un solo asignado, lo que corresponde a la segunda sumatoria.
15
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 166
Tablas de costos equivalentes
De la formulación del problema, en la que cada recurso o asignado 𝑎𝑎! se dedica a una
tarea 𝑡𝑡! (𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑖𝑖, 𝑗𝑗 = 1, … , 𝑛𝑛), se genera la tabla de costos del problema, la tabla genérica
es la tabla 8.6.
𝒕𝒕𝒋𝒋
𝒕𝒕𝟏𝟏 𝒕𝒕𝟐𝟐 … 𝒕𝒕𝒏𝒏
𝒂𝒂𝒊𝒊
𝒂𝒂𝟏𝟏 𝑐𝑐!! 𝑐𝑐!" … 𝑐𝑐!!
𝒂𝒂𝟐𝟐 𝑐𝑐!" 𝑐𝑐!! … 𝑐𝑐!!
⋮ ⋮ ⋮ ⋱ ⋮
𝒂𝒂𝒏𝒏 𝑐𝑐!! 𝑐𝑐!! … 𝑐𝑐!!
Tabla 6
Fuente: Propia.
jemplo 8.1
16
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 167
𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 Oferta
𝑙𝑙! 𝑙𝑙! 𝑙𝑙! 𝑙𝑙! 𝑙𝑙! 𝑙𝑙!
𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵
𝑏𝑏! 5 2 15 10 15 10 1
𝑏𝑏! 5 2 15 10 15 10 1
𝑏𝑏! 5 2 15 10 15 10 1
𝑏𝑏! 15 12 25 20 25 20 1
𝑏𝑏! 20 17 30 25 30 25 1
𝑏𝑏! 10 7 20 15 20 15
Demanda 1 1 1 1 1 1
Tabla 7
Fuente: Propia.
Con base en la tabla 7, el problema podría ser resuelto como un problema de transporte en el cual
se quiere minimizar los costos totales de almacenamiento, lo cual está dado por:
! !
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑎𝑎:
17
Fundación Universitaria del Área Andina
Fundación Universitaria del Área Andina 168
Ejemplo 8.2
Una empresa transportadora dispone de cuatro tipos de vehículos para carga pesada y
asigna a los conductores según la experiencia y habilidad de manejo de los mismos, según
la asignación se puede afectar el consumo de gasolina de los vehículos. La empresa tiene
entre sus empleados con tres conductores para estos vehículos. Los costos adicionales de
asignar el conductor 𝐶𝐶! al vehículo 𝑉𝑉! en el consumo de combustible se dan en la tabla 8.
𝑉𝑉𝑉𝑉ℎí𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑉𝑉! 𝑉𝑉! 𝑉𝑉! 𝑉𝑉!
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
𝐶𝐶! 180 150 200 2000
𝐶𝐶! 250 305 450 500
𝐶𝐶! 200 208 320 100
Tabla 8
Fuente: Propia.
𝑉𝑉𝑉𝑉ℎí𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑉𝑉! 𝑉𝑉! 𝑉𝑉! 𝑉𝑉!
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
𝐶𝐶! 180 150 200 2000
𝐶𝐶! 250 305 450 500
𝐶𝐶! 200 208 320 100
𝐶𝐶!! 0 0 0 0
Tabla 9.
Fuente: Propia.
18
Fundación Universitaria del Área Andina
El algoritmo húngaro trabaja a partir de los datos de esta tabla de costos para obtener un
conjunto de sucesivas tablas equivalentes que solo pueden estar compuestas de números
positivos y cero, y que en últimas llevan a la consecución de la solución óptima. ¿Cómo se
halla estas tablas equivalentes? El fundamento inicial radica en que se puede sumar o
restar cualquier valor de cualquier elemento o un mismo valor de cualquier fila o columna
sin que cambie la esencia del problema. Esto lo que significa es que la solución óptima de
una nueva tabla es la misma solución óptima de su tabla precedente, de ahí el nombre de
tablas equivalentes.
La operación concreta con que inicia el algoritmo, para obtener tablas equivalentes de
costos, consiste en restar a cada fila el menor número contenido en ellas, lo que dará
lugar a una tabla equivalente que contiene al menos un cero en todas las filas, pero podría
haber alguna columna que no tenga cero, en cuyo caso se procede a restar a todos los
elementos de cada columna el valor más pequeño contenido en ella. Estas dos
operaciones garantizan que en todas las filas y en todas las columnas haya elementos
cero. Si los ceros obtenidos brindan un completo conjunto de asignaciones, estas últimas
conforman una solución óptima del problema y se llega al final del algoritmo. Los detalles
o pasos del algoritmo son los siguientes:
Paso 1. Hallar tabla de costos equivalentes: restar el menor valor de cada columna a los
elementos de esa columna y, en la tabla que resulta de ello, restar el menor valor de cada
fila a cada elemento de la fila. Esto dará como resultado una tabla en la que hay al menos
un cero en cada fila y en cada columna.
Paso 2. Verificar si se ha alcanzado la optimalidad: para ello se inicia un cero a cada fila
iniciando por la fila que contenga menor cantidad de ceros, luego se cancela o se tacha los
otros ceros que se encuentren en esa fila y sobre la columna que esta el asignado. Esta
operación se debe repetir con las demás filas hasta realizar todas las asignaciones (de
ceros) posible y no haya ceros que cancelar. La solución óptima existe si con el
reordenamiento de las columnas se puede obtener una diagonal de ceros. Si no se ha
alcanzado la solución se debe realizar el siguiente paso.
19
Fundación Universitaria del Área Andina
a) Marcar o señalar las filas en las que no se haya hecho asignaciones de ceros.
b) Marcar las columnas en las que haya algún cero cancelado en alguna fila marcada.
c) Marcar las filas con ceros asignados en alguna columna marcada.
d) Realizar las operaciones b y c hasta que no se pueda marcar más filas o columnas.
e) Trazar una línea sobre las filas no marcadas y sobre las columnas marcadas, luego de esto
se toma el menor número que no ha sido atravesado por línea alguna y se resta de los
elementos no atravesados y se suma a los elementos de columnas atravesadas.
𝑽𝑽𝑽𝑽𝑽𝑽í𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄
𝑉𝑉! 𝑉𝑉! 𝑉𝑉! 𝑉𝑉!
𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪
𝐶𝐶! 180 150 200 200
𝐶𝐶! 250 305 450 500
𝐶𝐶! 200 208 320 100
𝐶𝐶!! 0 0 0 0
Tabla 10
Fuente: Propia.
Los valores mínimos en las filas 1, 2, 3 y 4 son respectivamente 150, 250, 100 y 0, al restar
estos valores a cada elemento de su respectiva fila se obtiene la tabla 11.
𝑉𝑉𝑉𝑉ℎí𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑉𝑉! 𝑉𝑉! 𝑉𝑉! 𝑉𝑉!
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
𝐶𝐶! 30 0 50 50
𝐶𝐶! 0 55 200 250
𝐶𝐶! 100 108 220 0
𝐶𝐶!! 0 0 0 0
Tabla 11
Fuente: Propia.
20
Fundación Universitaria del Área Andina
Con el fin de obtener ceros en la diagonal principal se reorganiza las filas de la tabla así:
𝑉𝑉𝑉𝑉ℎí𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝑉𝑉! 𝑉𝑉! 𝑉𝑉! 𝑉𝑉!
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶
𝐶𝐶! 𝟎𝟎 55 200 250
𝐶𝐶! 30 𝟎𝟎 50 50
𝐶𝐶!! 0 0 𝟎𝟎 0
𝐶𝐶! 100 108 220 𝟎𝟎
Tabla 11
Fuente: Propia.
Habiendo llegado a este punto se tiene que la mejor decisión es asignar el conductor
𝐶𝐶! al vehículo 𝑉𝑉! , el conductor 𝐶𝐶! al vehículo 𝑉𝑉! , y el conductor 𝐶𝐶! al vehículo 𝑉𝑉! . El
vehículo que queda libre es el 𝑉𝑉! , según la solución le correspondería el conductor 𝐶𝐶!! ,
pero este conductor no existe.
Ejemplo 8.5. Una empresa requiere realizar mantenimiento a 3 máquinas 𝑀𝑀! , 𝑀𝑀! , 𝑀𝑀!
usadas en su proceso de producción. El mantenimiento realizado a cada máquina demora
un día, pero todo el mantenimiento no puede durar más de un día, por lo cual se contrata
a tres técnicos diferentes 𝑇𝑇! , 𝑇𝑇! , 𝑇𝑇! para que cada uno se dedique a una máquina. Los
costos de cada técnico son varían para cada máquina. Se necesita establecer un plan de
mantenimiento de tal manera que sea lo más económico posible. Los costos respectivos
se presentan en la tabla siguiente:
Fuente: Propia.
21
Fundación Universitaria del Área Andina
Aplicando el método húngaro, se encuentra que la primera tabla equivalente de costos es:
Tabla 13
Fuente: Propia.
Comenzamos una asignación por la primera fila (texto en rojo) y tachando (texto amarillo)
los otros ceros de la columna. Luego asignamos y tachamos en la tercera, llegando solo a
dos asignaciones de valores cero.
Fuente: Propia.
Se requiere tres asignaciones, por tanto marcamos (Fondo gris) las filas sin ceros
asignados (la segunda), las columnas con algún cero cancelado en alguna fila marcada (la
tercera), fila con ceros asignados en alguna columna marcada con un cero asignado (la
primera). Luego se traza una línea sobre las filas no marcadas y las columnas marcadas, el
resultado es el siguiente.
22
Fundación Universitaria del Área Andina
Tabla 15
Fuente: Propia.
A partir de lo anterior se toma el menor de todos los números no atravesado por ninguna
línea, restarlo a los elementos de las filas no atravesadas y sumarlo a los elementos de las
columnas atravesadas. La nueva tabla es la siguiente.
Fuente: Propia.
A partir de aquí se realiza una nueva asignación comenzando por las filas que tengan
menos ceros.
Fuente: Propia.
23
Fundación Universitaria del Área Andina
24
Fundación Universitaria del Área Andina