Está en la página 1de 68

INVESTIGACIÓN

DE
OPERACIONES I

UNIVERSIDAD HISPANOAMERICANA
ESCUELA DE INGENIERÍA INDUSTRIAL

Ing. Claudio A. Sánchez M.

Mayo, 2004

Visita http://ing.sanchez.tripod.com
Contenido
CONTENIDO........................................................................................................................................................................... I


1. INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES...........................................................................1


1.1. HISTORIA DE LA INVESTIGACIÓN DE OPERACIONES....................................................................................................1
1.2. CARACTERÍSTICAS DE LA INVESTIGACIÓN DE OPERACIONES......................................................................................1
1.3. DEFINICIÓN.................................................................................................................................................................2
1.4. METODOLOGÍA DE LA INVESTIGACIÓN DE OPERACIONES. ..........................................................................................2
1.5. ESTRUCTURA DE LOS MODELOS EMPLEADOS EN LA INVESTIGACIÓN DE OPERACIONES. .............................................3
Complemento.................................................................................................................................................................4
1.6. FINAL........................................................................................................................................................................4
1.7. ÁREAS DE APLICACIÓN DE LA INVESTIGACIÓN DE OPERACIONES. ..............................................................................5
2. PROGRAMACIÓN LINEAL.........................................................................................................................................7
2.1. INTRODUCCIÓN. ..........................................................................................................................................................7
2.2. SUPUESTOS DE LA PROGRAMACIÓN LINEAL. ...............................................................................................................7
2.3. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL..........................................................................................8
2.4. PLANEACIÓN DE LA FUERZA DE TRABAJO. ..................................................................................................................9
2.5. FORMA ESTÁNDAR DE LOS MODELOS DE PROGRAMACIÓN LINEAL. ..........................................................................10
2.6. OTRAS FORMAS DE MODELOS DE PROGRAMACIÓN LINEAL.......................................................................................11
2.7. SOLUCIÓN GRÁFICA DE MODELOS LINEALES CON DOS VARIABLES. ........................................................................11
2.8. MÉTODO SÍMPLEX. ...................................................................................................................................................20
Preparación para iniciar iteraciones .............................................................................................................................20
Realización de iteraciones............................................................................................................................................20
2.9. MÉTODO DE LA “M” O DE PENALIZACIÓN. ...............................................................................................................29
2.10. MÉTODO DE LAS DOS FASES. ................................................................................................................................33
2.11. MÉTODO DE LA “M” O DE PENALIZACIÓN. ...........................................................................................................36
3. PROBLEMAS DE TRANSPORTE. ............................................................................................................................40
3.1. FORMULACIÓN DEL MODELO DE TRANSPORTE.........................................................................................................40
Costo de embarque ($) por carga ................................................................................................................................41
Producción...................................................................................................................................................................41
3.2. MÉTODOS PARA ENCONTRAR SOLUCIONES FACTIBLES..............................................................................................50
3.2.1. Método de la esquina noroeste. .......................................................................................................................50

Página i © Ing. C. Sánchez.


1. Introducción a la Investigación de Operaciones.
1.1. Historia de la Investigación de Operaciones.
La primera actividad de Investigación de Operaciones se dio durante la Segunda Guerra Mundial en
Gran Bretaña, donde la Administración Militar llamó a un grupo de científicos de distintas áreas del saber para


que estudiaran los problemas tácticos y estratégicos asociados a la defensa del país.
El nombre de Investigación de Operaciones fue dado aparentemente porque el equipo estaba llevando
a cabo la actividad de investigar operaciones (militares).
Motivados por los resultados alentadores obtenidos por los equipos británicos, los administradores
militares de Estados Unidos comenzaron a realizar investigaciones similares. Para eso reunieron a un grupo
selecto de especialistas, los cuales empezaron a tener buenos resultados y en sus estudios incluyeron
problemas logísticos complejos, la planeación de minas en el mar y la utilización efectiva del equipo electrónico.
Al término de la guerra y atraídos por los buenos resultados obtenidos por los estrategas militares, los
administradores industriales empezaron a aplicar las herramientas de la Investigación de Operaciones a la
resolución de sus problemas que empezaron a originarse debido al crecimiento del tamaño y la complejidad de
las industrias.
Aunque se ha acreditado a Gran Bretaña la iniciación de la Investigación de Operaciones como una
nueva disciplina, los Estados Unidos tomaron pronto el liderazgo en este campo rápidamente creciente. La
primera técnica matemática ampliamente aceptada en el medio de Investigación de Operaciones fue el Método
Símplex de Programación Lineal, desarrollado en 1947 por el matemático norteamericano George B. Dantzig.
Desde entonces las nuevas técnicas se han desarrollado gracias al esfuerzo y cooperación de las personas
interesadas tanto en el área académica como en el área industrial.
Un segundo factor en el progreso impresionante de la Investigación de Operaciones fue el desarrollo de
la computadora digital, que con sus tremendas capacidades de velocidad de cómputo y de almacenamiento y
recuperación de información, permitieron al tomador de decisiones rapidez y precisión.
Si no hubiera sido por la computadora digital, la Investigación de Operaciones con sus grandes
problemas de computación no hubiera crecido al nivel de hoy en día.
Actualmente la Investigación de Operaciones se está aplicando en muchas actividades. Estas
actividades han ido más allá de las aplicaciones militares e industriales, para incluir hospitales, instituciones
financieras, bibliotecas, planeación urbana, sistemas de transporte y sistemas de comercialización.

1.2. Características de la Investigación de Operaciones.


Es muy notable el rápido crecimiento del tamaño y la complejidad de las organizaciones (empresas)
humanas que se ha dado en estos últimos tiempos. Tal tamaño y complejidad nos hace pensar que una sola
decisión equivocada puede repercutir grandemente en los intereses y objetivos de la organización y en
ocasiones pueden pasar años para rectificar tal error. También el ritmo de la empresa de hoy implica que las
DECISIONES se tomen más rápidamente que nunca, pues el hecho de posponer la acción puede dar una
decisiva ventaja al contrario en este mundo de la competencia.
La palpable dificultad de tomar decisiones ha hecho que el hombre se aboque en la búsqueda de una
herramienta o método que le permita tomar las mejores decisiones de acuerdo a los recursos disponibles y a los
objetivos que persigue. Tal herramienta recibió el nombre de Investigación de Operaciones.
De la definición de Investigación de Operaciones, como veremos en el siguiente apartado, podemos
resaltar los siguientes términos: organización, sistema, grupos interdisciplinarios, objetivo y metodología
científica.
Una organización puede entenderse como un sistema, en el cual existen componentes; canales que
comunican tales componentes e información que fluye por dichos canales. En todo sistema las componentes
interactúan unas con otras y tales interacciones pueden ser controlables e incontrolables. En un sistema
grande, las componentes se relacionan de muchas maneras, pero no todas son importantes, o mejor dicho, no
todas las interacciones tienen efectos importantes en las componentes del sistema.
Por lo tanto es necesario que exista un procedimiento sistemático que identifique a quienes toman
decisiones y a las interacciones que tengan importancia para los objetivos de la organización o sistema. Uno de
esos procedimientos es precisamente la Investigación de Operaciones.
Una estructura por la que no fluye información, no es dinámica, es decir, no podemos considerarla
como un sistema. Por lo tanto podemos decir que la información es lo que da “vida” a las estructuras u
organizaciones humanas.

Página 1 © Ing. C. Sánchez.


Los objetivos de toda organización serán siempre alcanzar el liderato en su rama, controlando la
eficiencia y efectividad de todas sus componentes por medio de métodos que permitan encontrar las relaciones
óptimas que mejor operen el sistema, dado un objetivo específico.
Ante el tremendo avance que se ha dado en casi todas las ciencias en las últimas décadas, ya no es


factible querer saber un poco de todo, sino más bien especializarse en alguna rama de la ciencia. Los
problemas que se presentan en las organizaciones no fácilmente se pueden resolver por un sólo especialista.
Por el contrario son problemas multidisciplinarios, cuyo análisis y solución requieren de la participación de
varios especialistas. Estos grupos interdisciplinarios necesariamente requieren de un lenguaje común para
poder entenderse y comunicarse, donde la Investigación de Operaciones viene a ser ese puente de
comunicación.
El enfoque de la Investigación de Operaciones es el mismo del método científico. En particular, el
proceso comienza por la observación cuidadosa y la formulación del problema y sigue con la construcción de un
modelo científico (por lo general matemático) que intenta abstraer la esencia del problema real. En este punto
se propone la hipótesis de que el modelo es una representación lo suficientemente precisa de las
características esenciales de la situación como para que las conclusiones (soluciones) obtenidas sean válidas
también para el problema real. Esta hipótesis se verifica y modifica mediante las pruebas adecuadas. Entonces,
en cierto modo, la Investigación de Operaciones incluye la investigación científica creativa de las propiedades
fundamentales de las operaciones. Sin embargo, existe más que esto. En particular, la Investigación de
Operaciones se ocupa también de la administración práctica de la organización. Así, para tener éxito, deberá
también proporcionar conclusiones positivas y claras que pueda usar el tomador de decisiones cuando las
necesite.
La contribución del enfoque de Investigación de Operaciones proviene principalmente de:
La estructuración de una situación de la vida real como un modelo matemático, logrando una abstracción de los
elementos esenciales para que pueda buscarse una solución que concuerde con los objetivos del tomador de
decisiones. Esto implica tomar en cuenta el problema dentro del contexto del sistema completo.
2. El análisis de la estructura de tales soluciones y el desarrollo de procedimientos sistemáticos para obtenerlas.
3. El desarrollo de una solución, incluyendo la teoría matemática si es necesario, que lleva al valor óptimo de la
medida de lo que se espera del sistema (o quizá que compare los cursos de acción opcionales evaluando esta
medida para cada uno).

1.3. Definición.
Investigación de Operaciones o Investigación Operacional. Se puede definir de la siguiente manera:
“La Investigación de Operaciones es la aplicación por grupos interdisciplinarios del método científico a
problemas relacionados con el control de las organizaciones o sistemas a fin de que se produzcan soluciones
que mejor sirvan a los objetivos de toda la organización”.

1.4. Metodología de la Investigación de Operaciones.


El proceso de la Investigación de Operaciones comprende las siguientes fases:
1. Formulación y definición del problema.
2. Construcción del modelo.
3. Solución del modelo.
4. Validación del modelo.
5. Implementación de resultados.

Demos una explicación de cada una de las fases:


1. Formulación y definición del problema. En esta fase del proceso se necesita: una
descripción de los objetivos del sistema, es decir, qué se desea optimizar; identificar
las variables implicadas, ya sean controlables o no; determinar las restricciones del
sistema. También hay que tener en cuenta las alternativas posibles de decisión y las
restricciones para producir una solución adecuada.
2. Construcción del modelo. En esta fase, el investigador de operaciones debe decidir
el modelo a utilizar para representar el sistema. Debe ser un modelo tal que relacione
a las variables de decisión con los parámetros y restricciones del sistema. Los

Página 2 © Ing. C. Sánchez.


parámetros (o cantidades conocidas) se pueden obtener ya sea a partir de datos
pasados o ser estimados por medio de algún método estadístico. Es recomendable
determinar si el modelo es probabilístico o determinístico. El modelo puede ser
matemático, de simulación o heurístico, dependiendo de la complejidad de los cálculos


matemáticos que se requieran.


3. Solución del modelo. Una vez que se tiene el modelo, se procede a derivar una
solución matemática empleando las diversas técnicas y métodos matemáticos para
resolver problemas y ecuaciones. Debemos tener en cuenta que las soluciones que se
obtienen en este punto del proceso, son matemáticas y debemos interpretarlas en el
mundo real. Además, para la solución del modelo, se deben realizar análisis de
sensibilidad, es decir, ver como se comporta el modelo a cambios en las
especificaciones y parámetros del sistema. Esto se hace, debido a que los parámetros
no necesariamente son precisos y las restricciones pueden estar equivocadas.
4. Validación del modelo. La validación de un modelo requiere que se determine si
dicho modelo puede predecir con certeza el comportamiento del sistema. Un método
común para probar la validez del modelo, es someterlo a datos pasados disponibles
del sistema actual y observar si reproduce las situaciones pasadas del sistema. Pero
como no hay seguridad de que el comportamiento futuro del sistema continúe
replicando el comportamiento pasado, entonces siempre debemos estar atentos de
cambios posibles del sistema con el tiempo, para poder ajustar adecuadamente el
modelo.
5. Implementación de resultados. Una vez que hayamos obtenido la solución o
soluciones del modelo, el siguiente y último paso del proceso es interpretar esos
resultados y dar conclusiones y cursos de acción para la optimización del sistema. Si
el modelo utilizado puede servir a otro problema, es necesario revisar, documentar y
actualizar el modelo para sus nuevas aplicaciones.

1.5. Estructura de los modelos empleados en la Investigación de Operaciones.


El enfoque de la Investigación de Operaciones es el modelaje. Un modelo es una herramienta que nos
sirve para lograr una visión bien estructurada de la realidad. Así, el propósito del modelo es proporcionar un
medio para analizar el comportamiento de las componentes de un sistema con el fin de optimizar su
desempeño. La ventaja que tiene el sacar un modelo que represente una situación real, es que nos permite
analizar tal situación sin interferir en la operación que se realiza, ya que el modelo es como si fuera “un espejo”
de lo que ocurre.

Para aumentar la abstracción del mundo real, los modelos se clasifican como 1) icónicos, 2) análogos, 3)
simbólicos.
Los modelos icónicos son la representación física, a escala reducida o aumentada de un sistema real.
Los modelos análogos esencialmente requieren la sustitución de una propiedad por otra con el fin de
permitir la manipulación del modelo. Después de resolver el problema, la solución se reinterpreta de acuerdo al
sistema original.
Los modelos más importantes para la investigación de operaciones, son los modelos simbólicos o
matemáticos, que emplean un conjunto de símbolos y funciones para representar las variables de decisión y
sus relaciones para describir el comportamiento del sistema. El uso de las matemáticas para representar el
modelo, el cual es una representación aproximada de la realidad, nos permite aprovechar las computadoras de
alta velocidad y técnicas de solución con matemáticas avanzadas.
Un modelo matemático comprende principalmente tres conjuntos básicos de elementos. Estos son: 1)
variables y parámetros de decisión, 2) restricciones y 3) función objetivo.
1. Variables y parámetros de decisión. Las variables de decisión son las incógnitas (o decisiones) que
deben determinarse resolviendo el modelo. Los parámetros son los valores conocidos que relacionan

Página 3 © Ing. C. Sánchez.


las variables de decisión con las restricciones y función objetivo. Los parámetros del modelo pueden ser
determinísticos o probabilísticos.
2. Restricciones. Para tener en cuenta las limitaciones tecnológicas, económicas y otras del sistema, el
modelo debe incluir restricciones (implícitas o explícitas) que restrinjan las variables de decisión a un


rango de valores factibles.


3. Función objetivo. La función objetivo define la medida de efectividad del sistema como una función
matemática de las variables de decisión. La solución óptima será aquella que produzca el mejor valor
de la función objetivo, sujeta a las restricciones. è (SIGUE EN 1.7)

Complemento
El modelo matemático puede expresarse como el problema de elegir los valores de las variables de decisión de
manera que se optimice la función objetivo, sujeta a las restricciones dadas.
Una clasificación de modelos especialmente importante es el modelo de programación lineal, en el que
las funciones matemáticas que aparecen tanto en la función objetivo como en las restricciones, son funciones
lineales. Es posible construir modelos específicos de programación lineal que se ajustan a diversos tipos de
problemas, como determinar 1) la mezcla de productos que maximiza la ganancia, 2) la asignación de acres a
distintas cosechas para maximizar el rendimiento total neto y 3) la combinación de métodos de control de
contaminación que logren los estándares de calidad del aire a un costo mínimo.
Los modelos matemáticos tienen muchas ventajas sobre una descripción verbal del problema. Una
ventaja obvia es que el modelo matemático describe un problema en forma mucho más concisa. Esto tiende a
hacer que toda la estructura del problema sea más comprensible y ayuda a revelar las relaciones importantes
entre causa y efecto. De esta manera indica con más claridad que datos adicionales son importantes para el
análisis. También facilita el manejo del problema en su totalidad y el estudio de todas sus interrelaciones
simultáneamente. Por último, un modelo matemático forma un puente para poder emplear técnicas matemáticas
poderosas, además de las computadoras, en el análisis del problema. Sin duda, muchos de los componentes
de un modelo pueden quedar vinculados al uso de paquetes de computación.
Por otro lado, existen obstáculos que deben evitarse al usar modelos matemáticos. Un modelo es,
necesariamente, una idealización abstracta del problema, por lo que casi siempre se requieren aproximaciones
y suposiciones de simplificación si se quiere que el modelo sea manejable (capaz de ser resuelto). Por lo tanto,
debe tenerse cuidado de que el modelo sea
siempre una representación válida del problema. El criterio lógico para juzgar la validez de un modelo es
verificar si el modelo predice o no con suficiente exactitud los efectos relativos de los cursos de acción
alternativos, para poder tomar una decisión que tenga sentido. En consecuencia no es necesario incluir detalles
sin importancia o factores que tienen aproximadamente el mismo efecto sobre todas las alternativas. Ni siquiera
es necesario que la magnitud absoluta de la medida de efectividad sea aproximadamente correcta para cada
alternativa, siempre que sus valores relativos (por ejemplo, las diferencias entre sus valores) sean bastante
precisos. Entonces, todo lo que se requiere es que exista una alta correlación entre la predicción del modelo y
lo que de hecho ocurre en la vida real. Para asegurar que este requisito se cumple, es importante considerar la
prueba del modelo y las modificaciones consecuentes.
Al desarrollar el modelo se recomienda empezar con una versión muy sencilla y moverse, en una forma
evolutiva, hacia modelos más elaborados que reflejen mejor la complejidad del problema real. Este proceso de
enriquecimiento del modelo continúa sólo mientras permanezca manejable. El trueque básico que debe tomarse
en cuenta todo el tiempo es entre la precisión y el manejo del modelo.
Un paso crucial en la formulación de un modelo matemático es la construcción de una función objetivo.
Esto requiere desarrollar una medida cuantitativa de la efectividad relativa a cada objetivo. Si en el estudio se
contempla más de un objetivo, es necesario transformar y combinar las medidas respectivas en una medida
compuesta de efectividad. A veces es necesario que la medida compuesta sea algo tangible (por ejemplo,
ganancias) que corresponda a la meta más alta de la organización, o que sea algo abstracto (como “utilidad”).
En este último caso, la tarea para desarrollar esta medida puede ser compleja y requerir una comparación
cuidadosa de los objetivos y su importancia relativa. Después de determinar la medida compuesta de
efectividad, la función objetivo se obtiene expresándola como una función matemática de las variables de
decisión. Por otro lado, existen métodos que contemplan al mismo tiempo y en forma explícita objetivos
múltiples (programación por objetivos).
1.6. FINAL.
Concepto de optimización:

Página 4 © Ing. C. Sánchez.


Una característica adicional, que se mencionó como de pasada, es que la Investigación de Operaciones
intenta encontrar la mejor solución, o la solución óptima, al problema bajo consideración. En lugar de
contentarse con sólo mejorar el estado de las cosas, la meta es identificar el mejor curso de acción posible. Aún
cuando debe interpretarse con todo cuidado, esta “búsqueda de la optimalidad” es un aspecto muy importante


dentro de la Investigación de Operaciones.

1.7. Áreas de aplicación de la Investigación de Operaciones.


Como su nombre lo dice, Investigación de Operaciones significa “hacer investigación sobre las
operaciones”. Esto dice algo del enfoque como del área de aplicación. Entonces, la Investigación de
Operaciones se aplica a problemas que se refieren a la conducción y coordinación de operaciones o actividades
dentro de una organización. La naturaleza de la organización es esencialmente inmaterial y, de hecho, la
Investigación de Operaciones se ha aplicado en los negocios, la industria, la milicia, el gobierno, los hospitales,
etc. Así, la gama de aplicaciones es extraordinariamente amplia. Casi todas las organizaciones más grandes del
mundo (alrededor de una docena) y una buena proporción de las industrias más pequeñas cuentan con grupos
bien establecidos de Investigación de Operaciones. Muchas industrias, incluyendo la aérea y de proyectiles, la
automotriz, la de comunicaciones, computación, energía eléctrica, electrónica, alimenticia, metalúrgica, minera,
del papel, del petróleo y del transporte, han empleado la Investigación de Operaciones. Las instituciones
financieras, gubernamentales y de salud están incluyendo cada vez más estas técnicas.
Para ser más específicos, se consideran algunos problemas que se han resuelto mediante algunas
técnicas de Investigación de Operaciones. La programación lineal se ha usado con éxito en la solución de
problemas referentes a la asignación de personal, la mezcla de materiales, la distribución y el transporte y las
carteras de inversión. La programación dinámica se ha aplicado con buenos resultados en áreas tales como la
planeación de los gastos de comercialización, la estrategia de ventas y la planeación de la producción. La teoría
de colas ha tenido aplicaciones en la solución de problemas referentes al congestionamiento del tráfico, al
servicio de máquinas sujetas a descomposturas, a la determinación del nivel de la mano de obra, a la
programación del tráfico aéreo, al diseño de presas, a la programación de la producción y a la administración de
hospitales. Otras técnicas de Investigación de Operaciones, como la teoría de inventarios, la teoría de juegos y
la simulación, han tenido exitosas aplicaciones en una gran variedad de contextos.

(Complemento).
En 1972, Turban en su obra “A Sample Survey of Operations Research Ativities at the Corporate Level”,
presenta un informe de las actividades de investigación de operaciones que proporcionó un panorama de
dichas actividades durante 1969. Los resultados de este estudio son los siguientes:
Frecuencia
Técnicas Núm. de de uso
proyectos (%)
Análisis estadístico * 63 29
Simulación 54 25
Programación lineal 41 19
Teoría de inventarios 13 6
PERT/CPM 13 6
Programación dinámica 9 4
Programación no lineal 7 3
Colas 2 1
Programación heurística 2 1
Otras 13 6
* Incluye teoría de probabilidad, análisis de regresión, suavizamiento
exponencial, muestreo estadístico y pruebas de hipótesis.

Es evidente que el análisis estadístico, la simulación y la programación lineal eran y siguen siendo las
técnicas más usadas hasta entonces. El estudio indicó también que la computadora se usaba en la mayor parte
de los proyectos.

Debido al gran impacto de la Investigación de Operaciones, se han fundado en varios países del mundo
sociedades profesionales dedicadas a este campo y a actividades afines. En Estados Unidos, la Operations
Research Society of America (ORSA) (Sociedad de Investigación de Operaciones de América), se estableció en

Página 5 © Ing. C. Sánchez.


1952 y The Institute of Management Sciences (TIMS) (Instituto de Ciencias de la Administración) fue fundado en
1953; cada uno cuenta con cerca de 7,000 miembros. ORSA publica la revista Operations Research y TIMS,
Management Science. Las dos sociedades publican también, en forma conjunta, Mathematics of Operations
Research y la revista Interfaces. Estas cuatro publicaciones alcanzan más de 3,000 páginas al año e informan


sobre nuevas investigaciones y aplicaciones en este campo. Existen además muchas otras publicaciones
similares en países como Estados Unidos, Inglaterra, Francia, India, Japón, Canadá y Alemania Occidental. De
hecho, existen 29 países miembros (incluyendo Estados Unidos) de la International Federation of Operations
Research Societies (IFORS) (Federación Internacional de Sociedades de Investigación de Operaciones), en
donde cada país tiene una sociedad nacional dedicada a estas actividades.
La Investigación de Operaciones ha tenido también un impacto fuerte en las universidades. Hoy día, la
mayor parte de las universidades norteamericanas ofrecen cursos en este campo y muchas ofrecen estudios de
posgrado en Investigación de Operaciones o con una especialización en el área. En consecuencia, existen en
este momento miles de estudiantes que cada año toman al menos un curso de investigación de operaciones.
Una gran parte de las investigaciones básicas en este campo se realizan en las universidades.

La técnica de programación lineal se puede ilustrar por medio de una compañía que opera un centro de
reclamaciones que reúne distintos tipos de materiales sólidos de desperdicio y después los trata para que
puedan ser amalgamados, fabricando así un producto que se puede vender. Pueden obtenerse diferentes
grados de este producto, dependiendo de la mezcla de materiales que se use. Aunque existe alguna flexibilidad
en la mezcla para cada grado, de hecho los estándares de calidad especifican un porcentaje mínimo o máximo
(por peso) de ciertos materiales permitidos en ese grado de producto. Se cuenta con datos sobre el costo del
proceso de amalgamado y sobre el precio de venta de cada grado. El centro de reclamaciones recoge sus
materiales de desperdicio de ciertas fuentes ya establecidas, por lo que normalmente puede mantener una tasa
de producción estable para tratar estos materiales. Aún más, se conocen las cantidades disponibles que puede
recoger y tratar cada semana, al igual que el costo del tratamiento para cada tipo de material. Utilizando la
información dada, la compañía quiere determinar exactamente cuánto debe de producir de cada grado de
producto y la mezcla exacta de los materiales que debe incluir en cada grado, de manera que se maximice su
ganancia semanal total (ingresos totales por ventas menos costos totales tanto de amalgamiento como de
tratamiento).
Uno de los tipos especiales importantes de problemas de programación lineal se llama problema de
transporte. Un ejemplo característico trata sobre una compañía que produce cierto producto. Este producto se
prepara en varias fábricas distantes entre sí y después se mandan en camión a los almacenes de distribución
que se encuentran en todo el oeste de Estados Unidos. Como los costos de embarque constituyen un gasto
importante, la gerencia quiere iniciar un estudio para reducirlos todo lo que sea posible. Se han hecho
estimaciones sobre la producción de cada fábrica para la próxima temporada y a cada almacén se le ha
asignado una cierta cantidad del abastecimiento total del producto. Esta información (el número de cargas de
camión), junto con los costos de embarque por carga, para cada combinación de fábrica/almacén, se empleará
para determinar el plan óptimo para la asignación de estos embarques a las distintas combinaciones, de
manera que se minimice el costo total del transporte.
Además de la programación lineal, existen varias técnicas de programación matemática relacionadas
para manejar problemas similares. Una de estas es la programación dinámica, que se ocupa de tomar una
sucesión de decisiones interrelacionadas. Esta técnica se ejemplifica mediante un taller cuya carga de trabajo
está sujeta a fluctuaciones considerables según la temporada.
Entre los modelos probabilísticos se encuentran algunos que caen dentro del área de teoría de colas
(líneas de espera). El ejemplo clásico de teoría de colas es la sala de emergencias de un hospital. La sala de
emergencias proporciona atención médica rápida a casos urgentes que llegan en ambulancia o automóvil
privado. Siempre hay un doctor de guardia pero debido a la creciente tendencia por parte de los pacientes a usa
estas instalaciones en lugar de acudir a un consultorio privado, el hospital ha venido experimentando un
incremento continuo en el número de casos que atiende cada año. Como resultado, cuando llegan pacientes
durante las horas pico (temprano en la tarde), con frecuencia tienen que esperar su turno para que el doctor los
atienda. Se ha hecho la propuesta de que debe asignarse un segundo doctor a la sala de emergencia durante
estas horas para que puedan atender dos casos simultáneamente. Al reconocer que la sala de emergencia es
un sistema de líneas de espera, se pueden aplicar varios modelos alternos de teoría de colas para predecir las
características de espera del sistema, tanto con uno como con dos doctores. Estos modelos ayudarán al
hospital en su evaluación de la propuesta.

Página 6 © Ing. C. Sánchez.


2. Programación Lineal.
2.1. Introducción.
Muchas personas clasifican el desarrollo de la Programación Lineal (PL) entre los avances científicos
más importantes de mediados del siglo XX. En la actualidad es una herramienta común que ha ahorrado miles


o millones de dólares a muchas compañías y negocios, incluyendo industrias medianas en distintos países del
mundo. ¿Cuál es la naturaleza de esta notable herramienta y qué tipo de problemas puede manejar?
Expresado brevemente, el tipo más común de aplicación abarca el problema general de asignar recursos
limitados entre actividades competitivas de la mejor manera posible (es decir, en forma óptima). Este problema
de asignación puede surgir cuando deba elegirse el nivel de ciertas actividades que compiten por recursos
escasos para realizarlas. La variedad de situaciones a las que se puede aplicar esta descripción es sin duda
muy grande, y va desde la asignación de instalaciones productivas a los productos, hasta la asignación de los
recursos nacionales a las necesidades de un país; desde la planeación agrícola, hasta el diseño de una terapia
de radiación; etc. No obstante, el ingrediente común de todas estas situaciones es la necesidad de asignar
recursos a las actividades.
Con frecuencia, seleccionar una alternativa incluye satisfacer varios criterios al mismo tiempo. Por
ejemplo, cuando se compra una pieza de pan se tiene el criterio de frescura, tamaño, tipo (blanco, integral u
otro), costo y rebanado o sin rebanar. Se puede ir un paso más adelante y dividir estos criterios en dos
categorías: restricciones y el objetivo. Las restricciones son las condiciones que debe satisfacer una solución
que está bajo consideración. Si más de una alternativa satisfacen todas las restricciones, el objetivo se usa para
seleccionar entre todas las alternativas factibles. Cuando se elige una pieza de pan, pueden quererse 100 gr.
de pan blanco rebanado y hecho no antes de ayer. Si varias marcas satisfacen estas restricciones, puede
aplicarse el objetivo de un costo mínimo y escoger las más barata.
Existen muchos problemas administrativos que se ajustan a este molde de tratar de minimizar o
maximizar un objetivo que está sujeto a una lista de restricciones. un corredor de inversiones, por ejemplo, trata
de maximizar el rendimiento sobre los fondos invertidos pero las posibles inversiones están restringidas por las
leyes y las políticas bancarias. Un hospital debe planear que las comidas para los pacientes satisfagan ciertas
restricciones sobre sabor, propiedades nutritivas, tipo y variedad, al mismo tiempo que se trata de minimizar el
costo. Un fabricante, al planear la producción futura, busca un costo mínimo al mismo tiempo cómo cumplir
restricciones sobre la demanda del producto, la capacidad de producción, los inventarios, el nivel de empleados
y la tecnología. La PL se ha aplicado con éxito a estos y otros problemas.
La PL es una técnica determinista, no incluye probabilidades y utiliza un modelo matemático para
describir el problema. El adjetivo lineal significa que todas las funciones matemáticas del modelo deben ser
funciones lineales. En este caso, la palabra programación no se refiere a programación en computadoras; en
esencia es un sinónimo de planeación. Así, la PL trata la planeación de las actividades para obtener un
resultado óptimo, esto es, el resultado que mejor alcance la meta especificada (según el modelo) entre todas
las opciones de solución. Aunque la asignación de recursos a las actividades es la aplicación más frecuente, la
PL tiene muchas otras posibilidades. De hecho, cualquier problema cuyo modelo matemático se ajuste al
formato general del modelo de PL es un problema de PL.

2.2. Supuestos de la programación lineal.


Existe un número de suposiciones realizadas en cada modelo. La utilidad de un modelo está
directamente relacionada con la realidad de los supuestos.
El primer supuesto tiene que ver con la forma lineal de las funciones. Ya que el objetivo es lineal, la
contribución al objetivo de cualquier decisión es proporcional al valor de la variable de decisión. Producir dos
veces más de producto producirá dos veces más de ganacia, contratando el doble de páginas en las revistas
doblará el costo relacionado con las revistas. Es una Suposición de Proporción.
Además, la contribución de una variable a la función objetivo es independiente de los valores de las
otras variables. La ganancia con una computadora Notebook es de $10,750.00, independientemente de cuantas
computadoras Desktop se producen. Este es un Supuesto de Adición.
Análogamente, ya que cada restricción es lineal, la contribución de cada variable al lado izquierdo de
cada restricción es proporcional al valor de la variable e independiente de los valores de cualquier ora variable.
Estas suposiciones son bastante restrictivas. Veremos, sin embargo, que ser claros y precisos en la
formulación del modelo puede ayudar a manejar situaciones que parecen en un comienzo como lejanos a estos
supuestos.
El siguiente supuesto es la Suposición de ser Divisible. Es posible tomar una fracción de cualquier
variable. Por ejemplo, en un problema de marketing, qué significa comprar 2.67 avisos en la televisión?. Es

Página 7 © Ing. C. Sánchez.


posible que la suposición de ser divisible sea insatisfecha en este ejemplo. O puede ser que tales unidades de
2.67 avisos correspondan a 2,666.7 minutos de avisos, en cuyo caso redondeando la solución serían 2,667
minutos con una mínima duda que esté cercana a la solución óptima. Si la suposición de divisible no es válida,
entonces se usará la técnica de Programación Lineal Entera.


La última suposición es el Supuesto de Certeza. La Programación Lineal no permite incertidumbre en


los valores.
No negatividad: Será difícil que un problema cumpla con todas las suposiciones de manera exacta. Pero esto
no negará la factibilidad de uso del modelo. Un modelo puede ser aún útil aunque difiera de la realidad, si se es
consistente con los requerimientos más estrictos dentro del modelo y se tiene claras sus limitaciones al
interpretar los resultados.

Existen limitaciones prácticas para el uso de la PL. Una se relaciona con los cálculos. En general se
necesita una computadora. Desafortunadamente, las calculadoras, aun las programables, son poco útiles,
puesto que la PL tiene necesidad de gran cantidad de memoria o almacenamiento. Si no se tiene acceso a una
computadora, se estará limitado a problemas muy sencillos. La otra limitación se refiere al costo de formular un
problema de PL. En teoría, podría usarse PL, por ejemplo, para hacer las compras semanales de abarrotes. Sin
embargo, sería necesario conocer todas las compras posibles que pueden realizarse (éstas serían las
variables), además de cada restricción como sabor, número de comidas, vitaminas y proteínas. Es obvio que el
costo de obtener todos estos datos excede lo que se podría ahorrar si se hicieran las compras óptimas. Antes
de emprender una aplicación de PL, debe considerarse la disponibilidad y el costo de los datos necesarios.

2.3. Formulación de modelos de Programación Lineal.


Aunque se ponga en duda, la parte más difícil de PL es reconocer cuándo ésta puede aplicarse y
formular el problema matemáticamente. Una vez hecha esa parte, resolver el problema casi siempre es fácil.
Para formular un problema en forma matemática, deben expresarse afirmaciones lógicas en términos
matemáticos. Esto se realiza cuando se resuelven “problemas hablados” al estudiar un curso de álgebra. Algo
muy parecido sucede aquí al formular las restricciones. Por ejemplo, considérese la siguiente afirmación: A usa
3 horas por unidad y B usa 2 horas por unidad. Si deben usarse todas las 100 horas disponibles, la restricción
será:

3A + 2B = 100

Sin embargo, en la mayoría de las situaciones de negocios, no es obligatorio que se usen todos los
recursos (en este caso, horas de mano de obra). Más bien la limitación es que se use, cuando mucho, lo que se
tiene disponible. Para este caso, la afirmación anterior puede escribirse como una desigualdad:

3A + 2B ≤ 100

Para que sea aceptable para PL, cada restricción debe ser una suma de variables con exponente 1. Los
cuadrados, las raíces cuadradas, etc. no son aceptables, ni tampoco los productos de variables. Además, la
forma estándar para una restricción pone a todas las variables del lado izquierdo y sólo una constante positiva o
cero del lado derecho. Esto puede requerir algún reacomodo de los términos. Si, por ejemplo, la restricción es
que A debe ser por los menos el doble de B, esto puede escribirse como:

A ≥ 2B ó A − 2B ≥ 0

Nótese que pueden moverse términos de un lado a otro de las desigualdades como si fuera un signo de
igualdad. Pero al multiplicar una desigualdad por −1, el sentido de esta desigualdad se invierte. Puede ser
necesario hacer esto para que los coeficientes del lado derecho sean positivos. Por ejemplo, si se quiere que A
sea por lo menos tan grande como B − 2, entonces:

A ≥ B−2
ó A−B ≥ −2
por último B − A ≥ 2

Página 8 © Ing. C. Sánchez.


Una nota final sobre desigualdades: es sencillo convertir una desigualdad en una ecuación. Todo lo que
se tiene que hacer es agregar (o restar) una variable extra. Por ejemplo:

B−A≤2 es lo mismo que B−A+S=2




en donde S representa la diferencia, o la holgura, entre B − A y 2. S se llama variable de holgura. Por otro lado,
se restaría una variable de superávit en el caso siguiente:

A − 2B ≥ 0 es lo mismo que A − 2B −S = 0

Algunos métodos de solución (como el Método Símplex) y la mayoría de los programas de computadora
(como el MathProg, que viene en el ORCourseware, que acompaña al libro “Introducción a la Investigación de
Operaciones” de los autores Hillier y Lieberman) requieren que todas las desigualdades se conviertan en
igualdades.

La metodología de PL requiere que todas las variables sean positivas o cero, es decir, no negativas.
Para la mayoría de los problemas esto es real, no se querría una solución que diga: prodúzcanse menos dos
cajas o contrátense menos cuatro personas.
Mientras que no existe un límite en el número de restricciones que puede tener un problema de PL, sólo
puede haber un objetivo. La forma matemática del objetivo se llama función objetivo. Debe llevar consigo el
maximizar o minimizar alguna medida numérica. Podría ser maximizar el rendimiento, la ganancia, la
contribución marginal o los contactos con los clientes. Podría ser minimizar el costo, el número de empleados o
el material de desperdicio. Con frecuencia el objetivo es evidente al observar el problema.
Como el valor de la función objetivo no se conoce hasta que se resuelve el problema, se usa la letra Z
para representarlo. La función objetivo tendrá, entonces, la forma:

Maximizar Z = 4A + 6B
ó
Minimizar Z = 2x1 + 5x2

Se analiza una aplicación para ilustrar el formato de los problemas de Programación Lineal.

2.4. Planeación de la fuerza de trabajo.


El gerente de personal de “La Tortuga Veloz, S.A. de C.V.”, está analizando la necesidad de mano de
obra semi calificada durante los próximos seis meses. Se lleva 1 mes adiestrar a una persona nueva. Durante
este período de entrenamiento un trabajador regular, junto con uno en adiestramiento (aprendiz), producen el
equivalente a lo que producen 1.2 trabajadores regulares. Se paga $500.00 mensuales a quien está en
entrenamiento, mientras que los trabajadores regulares ganan $800.00 mensuales. La rotación de personal
entre los trabajadores regulares es bastante alta, del 10% mensual.
El gerente de personal debe decidir cuántas personas necesita contratar cada mes para adiestramiento.
En seguida se da el número de meses-hombre necesarios. También se desea tener una fuerza de trabajo
regular de 110 al principio de julio. En cuanto al 1º de enero, hay 58 empleados regulares.

Mes Meses-hombre requeridos Mes Meses-hombre requeridos


Enero 60 Abril 80
Febrero 50 Mayo 70
Marzo 60 Junio 100

Este problema tiene un aspecto dinámico, ya que la fuerza de trabajo en cualquier mes depende de la
fuerza de trabajo regular y en adiestramiento del mes anterior. Para cualquier mes, el número total de meses-
hombre disponibles se puede expresar como sigue:

Meses-hombre disponibles: Ri + 0.2Ai

en donde: Ri = número de trabajadores regulares al principio del mes


Ai = número de aprendices contratados en el mes.

Página 9 © Ing. C. Sánchez.


Entonces los requerimientos de cada mes pueden expresarse por las restricciones:

enero R1 + 0.2A1 ≥ 60



febrero R2 + 0.2A2 50
marzo R3 + 0.2A3 ≥ 60
abril R4 + 0.2A4 ≥ 80
mayo R5 + 0.2A5 ≥ 70
junio R6 + 0.2A6 ≥ 100
julio (principio) R7 ≥ 110

Debido a la rotación, el 10% de los trabajadores regulares se van cada mes. Así, el número de trabajadores
regulares disponibles, por ejemplo, al principio de febrero sería:

R2 = 0.9R1 + A1

En la misma forma, pueden escribirse las ecuaciones para el número de trabajadores disponibles al principio de
cada mes:

enero R1 = 58 (dado)
febrero R2 = 0.9R1 + A1
marzo R3 = 0.9R2 + A2
abril R4 = 0.9R3 + A3
mayo R5 = 0.9R4 + A4
junio R6 = 0.9R5 + A5
julio R7 = 0.9R6 + A6

El objetivo global del gerente de personal es minimizar el costo. La función objetivo es:

Minimizar: Z = 800(R1 + R2 + R3 + R4 + R5 + R6) + 500(A1 + A2 + A3 + A4 + A5 + A6)

Ahora se tiene el problema en el formato general de PL con 13 variables y 14 restricciones.

Los tomadores de decisiones en las empresas establecen criterios que debe cumplir una solución y,
después, buscan esa solución. En PL, los criterios se expresan como restricciones. Se exploran las soluciones
posibles y se usa la función objetivo para elegir la mejor de entre aquellas que cumplen con los criterios. La PL
se denomina técnica de optimización, pero optimiza sólo dentro de los límites de las restricciones. En realidad
es un método de satisfacción de criterios.

2.5. Forma estándar de los modelos de Programación Lineal.


Supóngase que existe cualquier número (digamos m) de recursos limitados de cualquier tipo, que se
pueden asignar entre cualquier número (digamos n) de actividades competitivas de cualquier clase. Etiquétense
los recursos con números (1, 2, ..., m) al igual que las actividades (1, 2, ..., n). Sea xj (una variable de decisión)
el nivel de la actividad j, para j = 1, 2, ..., n, y sea Z la medida de efectividad global seleccionada. Sea cj el
incremento que resulta en Z por cada incremento unitario en xj (para j = 1, 2, ..., n). Ahora sea bi la cantidad
disponible del recurso i (para i = 1, 2, ..., m). Por último defínase aij como la cantidad de recurso i que consume
cada unidad de la actividad j (para i = 1, 2, ..., m y j = 1, 2, ..., n). Se puede formular el modelo matemático
para el problema general de asignar recursos a actividades. En particular, este modelo consiste en elegir
valores de x1, x2, ..., xn para:

Maximizar Z = c1x1 + c2x2 + ... + cnxn,


sujeto a las restricciones:
a11x1 + a12x2 + ... + a1nxn ≤ b1
a21x1 + a22x2 + ... + a2nxn ≤ b2

Página 10 © Ing. C. Sánchez.


am1x1 + am2x2 + ... + amnxn ≤ bm
y
x1 ≥ 0, x2 ≥0, ..., xn ≥ 0
Donde:


X= Cantidad de personal, variable de decisión.


J= Nivel de actividad.
Z= Medida de efectividad global seleccionada.
C= Incremento que resulta en Z por c/incremento unitario en X.
bi= Cantidad disponible de recurso i.
aij= Cantidad de recurso i que consume c/u de actividad j
Ésta se llamará nuestra forma estándar (porque algunos libros de texto adoptan otras formas) para el problema
de PL. Cualquier situación cuya formulación matemática se ajuste a este modelo es un problema de PL.
En este momento se puede resumir la terminología que usaremos para los modelos de PL. La función
que se desea maximizar, c1x1 + c2x2 + ... + cnxn, se llama función objetivo. Por lo general, se hace referencia a
las limitaciones como restricciones. Las primeras m restricciones (aquellas con una función del tipo ai1x1 + ai2x2
+ ... + ainxn, que representa el consumo total del recurso i) reciben el nombre de restricciones funcionales. De
manera parecida, las restricciones xj ≥ 0 se llaman restricciones de no negatividad. Las variables xj son las
variables de decisión. Las constantes de entrada, aij, bi, cj, reciben el nombre de parámetros del modelo.

2.6. Otras formas de modelos de Programación Lineal.


Es conveniente agregar que el modelo anterior no se ajusta a la forma natural de algunos problemas de
programación lineal. Las otras formas legítimas son las siguientes:

1. Minimizar en lugar de maximizar la función objetivo:

Minimizar Z = c1x1 + c2x2 + ... + cnxn,

2. Algunas restricciones funcionales con desigualdad en el sentido mayor o igual:

ai1x1 + ai2x2 + ... + ainxn, ≥ bi, para algunos valores de i,

3. Algunas restricciones funcionales en forma de ecuación:

ai1x1 + ai2x2 + ... + ainxn, = bi, para algunos valores de i,

4. Las variables de decisión sin la restricción de no negatividad:

xj no restringida en signo para algunos valores de j.

Cualquier problema que incluya una, varias o todas estas formas del modelo anterior también se clasifica como
un problema de PL, siempre y cuando éstas sean las únicas formas nuevas introducidas. Puede ser que la
interpretación que se ha dado de asignación de recursos limitados entre actividades que compiten no se
aplique, pero independientemente de la interpretación o el contexto, lo único que se necesita es que la
formulación matemática del problema se ajuste a las formas permitidas. Se verá que estas otras cuatro formas
legales se pueden reescribir en una forma equivalente para que se ajuste al modelo que se presentó. Entonces,
todo problema de PL se puede poner en nuestra forma estándar si se desea.

2.7. Solución Gráfica de Modelos Lineales con dos Variables.


Para la solución gráfica de programas lineales con dos variables, lo que se tiene que hacer es trazar un
eje de coordenadas cartesianas, para graficar las desigualdades dadas por el problema, después encontrar el
Área de Soluciones Factibles y proceder a graficar la función objetivo para conocer el valor óptimo (maximizar o
minimizar) que será la solución del problema.

Ejemplo: Problema de mezcla de productos.

Página 11 © Ing. C. Sánchez.


Un fabricante está tratando de decidir sobre las cantidades de producción para dos artículos: mesas y sillas. Se
cuenta con 96 unidades de material y con 72 horas de mano de obra. Cada mesa requiere 12 unidades de
material y 6 horas de mano de obra. Por otra parte, las sillas usan 8 unidades de material cada una y requieren
12 horas de mano de obra por silla. El margen de contribución es el mismo para las mesas que para las sillas:


$5.00 por unidad. El fabricante prometió construir por lo menos dos mesas.

Paso 1: formulación del problema.


El primer paso para resolver el problema es expresarlo en términos matemáticos en el formato general de PL.
¿Cuál es el objetivo? Es maximizar la contribución a la ganancia. Cada unidad de mesas o sillas producidas
contribuirá con $5 en la ganancia. Así las dos alternativas son la producción de mesas y la producción de sillas.
Ahora puede escribirse la función objetivo:

Maximizar Z = 5x1 + 5x2

en donde: x1 = número de mesas producidas


x2 = número de sillas producidas

¿Cuáles son las restricciones o limitaciones del problema? Existen tres restricciones. Primero, el material está
limitado a 96 unidades. Cada mesa se lleva 12 unidades de material y cada silla usa 8 unidades. La primera
restricción es, entonces:

12x1 + 8x2 ≤ 96

La segunda restricción es el total de horas de mano de obra. Una mesa se lleva 6 horas, una silla 12 horas y se
dispone de un total de 72 horas. Así:

6x1 + 12x2 ≤ 72

Existe una limitación más. El fabricante prometió producir por lo menos dos mesas. Esto puede expresarse
como:

x1 ≥ 2

Por último, las restricciones de no negatividad son:

x1 ≥ 0, x2 ≥ 0

Poniendo todo junto el modelo se tiene:

Maximizar Z = 5x1 + 5x2


Restricciones: 12x1 + 8x2 ≤ 96
6x1 + 12x2 ≤ 72
x1 ≥2
x1 ≥ 0, x2 ≥ 0

Paso 2: gráfica de las restricciones.


El siguiente paso en el método gráfico es dibujar todas las restricciones en una gráfica. Esto puede hacerse en
cualquier orden. Por conveniencia se comenzará con las restricciones de no negatividad. Éstas se muestran en
la siguiente figura:

Página 12 © Ing. C. Sánchez.




En esta gráfica, una solución se representaría por un punto con coordenadas x1 (mesas) y x2 (sillas). Las
coordenadas representarían las cantidades de cada artículo que se deben producir. El cuadrante superior
derecho se llama Región Factible puesto que es el único cuadrante en que pueden estar las soluciones. Los
otros tres cuadrantes no son factibles, ya que requerirían la producción de cantidades negativas de mesas o de
sillas o de ambas.

La siguiente restricción es x1 ≥ 2. La manera más sencilla de dibujar las restricciones de recursos es en dos
pasos: (1) convertir una desigualdad en una ecuación y graficar la ecuación y (2) sombrear el área apropiada
arriba y abajo de la línea que resulta en el paso 1. Convertir una igualdad en una ecuación aquí significa ignorar
la parte de “mayor que” o “menor que” de la restricción.

Así, en el ejemplo, x1 ≥ 2 se convierte en x1 = 2. Esta ecuación está trazada en la siguiente figura:

Cualquier punto en la línea x1 = 2 satisface la ecuación. Sin embargo, la restricción es más amplia, ya que
cualquier punto x1 > 2 también la cumplirá. Esto incluye todos los puntos que están a la derecha de la línea x1 =
2. Entonces, la región factible incluye todos los valores de x1 que están sobre o a la derecha de la línea x1 = 2.

La limitación sobre las horas de mano de obra es la siguiente restricción. Como antes, primero se convierte en
una ecuación: 6x1 + 12x2 = 72. Puede graficarse esta línea si se encuentran dos puntos sobre ella. El par de
puntos más sencillos de localizar son las intersecciones con los ejes X1 y X2. Para encontrar la intersección con
el eje X2 se hace x1 = 0. La ecuación se reduce, entonces, a:

12x2 = 72
x2 = 6

La intersección con el eje X1 se encuentra haciendo x2 = 0. Así:

Página 13 © Ing. C. Sánchez.


6x1 = 72
x1 = 12

Estos dos puntos y la línea que los une se muestran en la siguiente figura:


Cualquier punto que está sobre o abajo de esta línea cumplirá con la restricción. Cualquier punto arriba de esta
línea requerirá más de 72 horas de mano de obra y no es aceptable. En la siguiente figura se combina esta
restricción con la anterior. En la región factible, ambas restricciones se cumplen.

La última restricción es la de material. Siguiendo el procedimiento anterior, primero se encuentran las


intersecciones para la igualdad. Éstas son x1 = 0, x2 = 12 y x1 = 8, x2 =0. Se localizan los dos puntos en la
gráfica; se traza la línea, y como la restricción es del tipo menor o igual que, se sombrea el área que está abajo
de la línea. El resultado se muestra en la siguiente figura:

Página 14 © Ing. C. Sánchez.


Cualquier solución que esté en la frontera o dentro del área sombreada cumplirá con todas las restricciones.
Ahora se utilizará la función objetivo para seleccionar la solución óptima.

Paso 3: obtención de la solución óptima: líneas de indiferencia.




Para encontrar la solución óptima, se grafica la función objetivo en la misma gráfica de las restricciones. La
función objetivo en este problema es Z = 5x1 + 5x2. Como todavía no se conoce el máximo valor factible de Z,
no puede trazarse el óptimo de la función objetivo. No obstante, es posible suponer algunos valores para Z y
graficar las líneas resultantes. En la siguiente figura se muestran las líneas para Z = 25 yZ = 50:

Las líneas de este tipo se llaman líneas de indiferencia, porque cualquier punto sobre una línea dada da la
misma ganancia total. Nótese que la distancia perpendicular del origen a la línea aumenta al aumentar el valor
de Z. También, todas las líneas de indiferencia son paralelas entre sí. Estas propiedades gráficas pueden
usarse para resolver el problema.

En la siguiente figura, se ilustran todas las restricciones y las dos líneas de indiferencia supuestas. En la gráfica
puede observarse que la línea de indiferencia para Z = 50 está completamente fuera de la región factible. Para
Z = 25, parte de la línea cae dentro de la región factible. Por tanto, existe alguna combinación de x1 y x2 que
satisface todas las restricciones y da una ganancia total de $25. Por inspección, puede observarse que hay
ganancias más altas que son factibles.

Imaginando que la línea de indiferencia Z = 25 se mueve hacia la línea Z = 50, de las propiedades de la gráfica
que se hicieron notar antes, el punto óptimo estará sobre la línea de indiferencia más lejana al origen pero que
todavía toque la región factible. Esto se muestra en la siguiente figura:

Página 15 © Ing. C. Sánchez.




Con el punto óptimo localizado gráficamente, la única tarea que queda es encontrar las coordenadas del punto.
Nótese que el punto óptimo está en la intersección de las líneas de restricción para materiales y horas de mano
de obra. Las coordenadas de este punto se pueden encontrar resolviendo el sistema de ecuaciones que forman
estas dos restricciones utilizando cualquiera de los métodos de solución (suma y resta, sustitución o igualación).
Las coordenadas de este punto resultan ser (6, 3). La sustitución de este punto en la función objetivo da la
ganancia máxima:

Z = 5(6) + 5(3) = $45

Resumen del método gráfico.


Para resolver gráficamente problemas de programación lineal:
Exprésense los datos del problema como una función objetivo y restricciones.
Grafíquese cada restricción.
Localícese la solución óptima.

Uso del método gráfico para minimización.


Consideremos un Problema de PL en el cual el objetivo es minimizar costos. La solución del problema
de minimización sigue el mismo procedimiento que la de problemas de maximización. La única diferencia es
que ahora se quiere el menor valor posible para la función objetivo. Supóngase que se tiene el siguiente
problema:

Ejemplo: Problema de dieta.


Un comprador está tratando de seleccionar la combinación más barata de dos alimentos, que debe
cumplir con ciertas necesidades diarias de vitaminas. Los requerimientos vitamínicos son por lo menos 40
unidades de vitamina W, 50 unidades de vitamina X y 49 unidades de vitamina Y. Cada onza del alimento A
proporciona 4 unidades de vitamina W, 10 unidades de vitamina X y 7 unidades de vitamina Y; cada onza del
alimento B proporciona 10 unidades de W, 5 unidades de X y 7 unidades de Y. El alimento A cuesta 5
pesos/kilogramo y el alimento B cuesta 8 pesos/kilogramo.

Paso 1: formulación del problema.


La meta en este problema es encontrar la manera menos costosa para satisfacer las necesidades vitamínicas.
Las dos alternativas disponibles son los alimentos A y B. Matemáticamente la función objetivo es:

Minimizar Z = 5A + 8B

Las restricciones son los requerimientos mínimos de las tres vitaminas. Éstas se muestran enseguida:

Restricciones: 4A + 10B ≥ 40 vitamina W


10A + 5B ≥ 50 vitamina X
7A + 7B ≥ 49 vitamina Y

Página 16 © Ing. C. Sánchez.


A ≥ 0, B ≥ 0 no negatividad

Paso 2: gráfica de las restricciones.


El procedimiento para graficar es el mismo que se usó antes: (1) graficar cada ecuación de restricción; (2)


graficar el área apropiada. Para la primera restricción la ecuación es 4A + 10B = 40. Las dos intersecciones con
los ejes son (0,4) y (10,0). Esta línea se muestra en la siguiente figura:

La restricción pide 40 unidades o más de la vitamina W. Cualquier punto que esté arriba de la línea de
restricción será factible y todos los puntos que quedan abajo de esa línea serán aceptables. En la siguiente
figura se muestra la región factible:

Después se grafica la restricción para la vitamina X. La ecuación 10A + 5B = 50 tiene intersecciones con los
ejes en (0,10) y (5,0). En la siguiente figura se ilustran las restricciones para las vitaminas W y X. Nótese que
las soluciones que quedan en las áreas a o b no son factibles, ya que quedarían abajo de las líneas de
restricción.

Página 17 © Ing. C. Sánchez.




Al agregar la tercera restricción, este segundo paso queda terminado, como se muestra en la siguiente figura:

Paso 3: localización de la solución óptima.


En la siguiente figura se muestra la frontera extrema más dos líneas de indiferencia, las de Z = 40 pesos y Z =
60 pesos. La frontera extrema está formada por los puntos a, b, c y d, puesto que éstos son los puntos de
intersección factibles más cercanos al origen.

Página 18 © Ing. C. Sánchez.




Gráficamente, el objetivo de minimizar el valor de Z significa ajustar una línea de indiferencia tan cerca del
origen como sea posible. En la figura anterior puede observarse que existen muchas soluciones posibles para Z
= 60, pero ninguna para Z = 40. Imaginando mover la línea Z = 60 hacia el origen, el último punto de contacto
con la frontera extrema será el punto b. Entonces, el punto b es la solución óptima. En la figura anterior se
observa que el punto b es la intersección de dos líneas:

(1) 4A + 10B = 40
(2) 7A + 7B = 49

Resolviendo el sistema de ecuaciones:

Multiplíquese la ecuación (1) por 7: (3) 28A + 70B = 280


Multiplíquese la ecuación (2) por – 4: (4) –28A – 28B = –196
42B = 84
B= 2
Sustitúyase en la ecuación (1): 4A + 10(2) = 40
A= 5

La solución menos costosa es 5 kilogramos de alimento A y 2 kilogramos de alimento B. El costo total de esta
combinación es:
Z = 5A + 8B = 5(5) + 8(2) = 25 + 16 = 41 pesos
Si se usa el método de prueba y error para localizar la solución óptima, se deben encontrar las coordenadas de
los puntos a, b, c, y d. Se debe calcular después el valor de la función objetivo para cada punto. A continuación
se muestran los resultados de este procedimiento:

Resultados de prueba y error


Punto Coordenadas Z = 5A + 8B
a A = 10, B = 0 50
b A = 5, B = 2 41  menor
c A =3, B = 4 47
d A = 0, B = 10 80

CASOS ESPECIALES.

Múltiples soluciones.

Página 19 © Ing. C. Sánchez.


Maximizar Z = 3x1 + 2x2
sujeta a x1 ≤ 4
x2 ≤ 12


3x1 + 2x2 ≤ 18
x1 ≥ x2 ≥ 0
0,

Ninguna solución factible.

Maximizar Z = 3x1 + 2x2


sujeta a 1/40x + 1/60x ≤ 1
1 2
1/50x + 1/50x ≤ 1
1 2
x1 ≥ 30
x2 ≥ 20
x1 ≥ x2 ≥ 0
0,

Área o Región de Soluciones Factibles no Acotada.

Maximizar Z = 2x1 – x2
sujeta a x1 – x2 ≤ 1
2x1 + x2 ≥ 6
x1 ≥ x2 ≥ 0
0,

2.8. Método Símplex.


El método símplex es un algoritmo. De hecho, cualquier procedimiento iterativo de solución es un
algoritmo. Entonces, un algoritmo es simplemente un proceso en el que se repite (se itera) un procedimiento
sistemático una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento
sistemático se realiza una iteración. En consecuencia, un algoritmo sustituye un problema difícil por una serie
de problemas fáciles.
Además de las iteraciones, los algoritmos incluyen un procedimiento para iniciar y un criterio para
determinar cuándo detenerse, como se resume enseguida:

Paso inicial Preparación para iniciar iteraciones

Paso iterativo Realización de iteraciones

Regla de detención ¿Es óptima la solución actual?


Si Si sí
no Fin

El método símplex es un procedimiento algebraico en el que cada iteración contiene la solución de un


sistema de ecuaciones para obtener una nueva solución a la que se le aplica la prueba de optimalidad. No

Página 20 © Ing. C. Sánchez.


obstante, también tiene una interpretación geométrica muy útil. Para ilustrar los conceptos geométricos
generales se empleará la solución gráfica del siguiente problema:

Max Z = 3x1 + 5x2




s.a.
x1 ≤4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x 1 ≥ 0 x2 ≥ 0

Solución por el método gráfico:

En la figura anterior pueden observarse los puntos de intersección que son las soluciones en los vértices del
problema. Los cinco puntos que se encuentran en los vértices de la región factible,  (0,0), (0,6), (2,6), (4,3),
(4,0) son las soluciones factibles en los vértices. Algunas de estas soluciones factibles en un vértice son
adyacentes, en el sentido de que están conectadas por una sola orilla (segmento de línea) de la frontera de la
región factible; esto es, tanto (0,6) como (4,3) son adyacentes a (2,6). Las tres propiedades clave de las
soluciones factibles en los vértices y que forman el fundamento del método símplex se resumen como sigue:

Propiedades de las soluciones factibles en un vértice:


1a. Si existe exactamente una solución óptima, entonces debe ser una solución factible en un vértice.
1b. Si existen soluciones óptimas múltiples, entonces al menos dos de ellas deben ser soluciones factibles en
vértices adyacentes.
Existe sólo un número finito de soluciones factibles en los vértices adyacentes.
Si una solución en un vértice es igual o menor (según el valor de Z) que todas las soluciones factibles en los
vértices adyacentes a ella, entonces es igual o mejor que todas las demás soluciones en los vértices; es decir,
es óptima.
La propiedad 1 significa que la búsqueda de la solución óptima se puede reducir a la consideración de
sólo las soluciones factibles en los vértices, de manera que sólo existe un número finito de soluciones que es

Página 21 © Ing. C. Sánchez.


necesario tomar en cuenta (propiedad 2). La propiedad 3 proporciona una prueba de optimalidad muy
conveniente.
El método símplex explota estas tres propiedades al examinar nada más unas cuantas soluciones
factibles en vértices prometedores y al detenerse en cuanto una de ellas pasa la prueba de optimalidad. En


particular, se traslada repetidamente (en forma iterativa) de una solución factible en un vértice a otra, adyacente
y mejor. Esto se puede realizar en forma muy eficiente hasta que la solución actual no tiene soluciones factibles
en vértices adyacentes que sean mejores. Este procedimiento se resume como sigue:

Bosquejo del método símplex:


Paso inicial: inicio en una solución factible en un vértice.
Paso iterativo: traslado a una mejor solución factible en un vértice adyacente. (Repítase este paso las veces
que sea necesario).
Prueba de optimalidad: la solución factible en un vértice es óptima cuando ninguna de las soluciones en
vértices adyacentes a ella sean mejores.

Este bosquejo muestra la esencia del método símplex,. En el caso del ejemplo, al utilizar estas reglas
de selección el método símplex procede como sigue:

Paso inicial: comienza en (0,0).


2a. Iteración 1: se mueve de (0,0) a (0,6)
2b. Iteración 2: se mueve de (0,6) a (2,6).
Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene, (2,6) es óptima.

Preparación para el método símplex.


En el procedimiento algebraico es mucho más conveniente manejar ecuaciones que desigualdades.
Así, el primer paso para preparar el método símplex es convertir las restricciones funcionales de desigualdad
en restricciones equivalentes. (Las restricciones de no negatividad se pueden dejar como desigualdades porque
el algoritmo las usa sólo indirectamente). Esta conversión se hace mediante la introducción de variables de
holgura. Considérese la primera restricción funcional del ejemplo:

x1 ≤ 4

La variable de holgura para esta restricción es x3, que no es otra cosa que la holgura entre los dos lados de la
desigualdad. Entonces:

x1 + x3 = 4

La restricción original x1 ≤ 4 se cumple siempre que x3 ≥ 0. Por tanto, x1 ≤ 4 es totalmente equivalente al


conjunto de restricciones

x1 + x3 = 4
y
x3 ≥ 0,

de manera que se usará este conjunto por resultar más conveniente.


Al introducir variables de holgura en las otras restricciones en forma parecida, el modelo de
programación lineal original para este ejemplo se puede sustituir por el modelo equivalente:

Maximizar Z = 3x1 + 5x2,


sujeta a
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj ≥ 0 para j = 1, 2, …, 5

Página 22 © Ing. C. Sánchez.


Aun cuando este problema es idéntico al anterior, esta forma es mucho más conveniente para la
manipulación algebraica y la identificación de las soluciones factibles en los vértices. Ésta se llama la forma de
igualdades del problema, para diferenciarla de la forma de desigualdades original y poder introducir la siguiente
definición:


Una solución aumentada es una solución para un problema que originalmente se encontraba en forma de
desigualdades y que se ha aumentado con los valores correspondientes de las variables de holgura para
cambiar el problema a la forma de igualdades.

Por ejemplo, al aumentar la solución (3,2) en el ejemplo, se obtiene la solución aumentada (3,2,1,8,5),
puesto que los valores correspondientes de las variables de holgura son x3 = 1, x4 = 8, x5 = 5.

Una solución básica es una solución en un vértice aumentada.

Para ilustrar esto, considérese la solución no factible en el vértice (4,6) del ejemplo. Al aumentar con los
valores obtenidos para las variables de holgura x3 = 0, x4 = 0 y x5 = –6, se llega a la solución básica
correspondiente (4,6,0,0,–6). Se permite que las soluciones básicas sean factibles o no factibles, lo que lleva a
la siguiente definición:

Una solución básica factible es una solución factible en un vértice aumentada.

Así, la solución factible en el vértice (0,6) del ejemplo es equivalente a la solución básica factible
(0,6,4,0,6) para la forma de igualdades del problema.
Como los términos solución básica y solución básica factible constituyen partes muy importantes del
vocabulario normal de programación lineal, es necesario aclarar sus propiedades algebraicas. Nótese que para
la forma de igualdades del ejemplo, el sistema de restricciones funcionales tiene dos variables más (cinco) que
ecuaciones (tres). Este hecho proporciona dos grados de libertad al resolver el sistema, ya que se pueden
elegir dos variables cualesquiera y hacerlas iguales a cualquier valor arbitrario para resolver las tres ecuaciones
en términos de las tres variables restantes (se excluyen redundancias). El método símplex usa cero para este
valor arbitrario. Las variables que por el momento se hacen iguales a cero se llaman variables no básicas;
todas las demás se llaman variables básicas. La solución que resulta es una solución básica. Si todas las
variables básicas son no negativas, entonces se tiene una solución básica factible. Para cualquier solución
básica, la solución en el vértice correspondiente se obtiene simplemente al quitar las variables de holgura. Dos
soluciones básicas son adyacentes si todas menos una de sus variables son las mismas; la misma aseveración
se cumple para las variables básicas. Entonces, trasladarse de una solución básica factible a una adyacente
significa cambiar el estado de una variable de no básica a básica y viceversa para otra variable.

En términos generales, el número de variables no básicas de una solución básica siempre es igual a los
grados de libertad del sistema de ecuaciones y el número de variables básicas siempre es igual al número de
restricciones funcionales.
Al trabajar con el problema en forma de igualdades, conviene tomar en cuenta y manipular la ecuación
de la función objetivo al mismo tiempo que las nuevas ecuaciones de las restricciones. Antes de comenzar con
el método símplex es necesario escribir el problema una vez más en su forma equivalente:

Maximizar Z,
sujeta a
Z − 3x1 − 5x2 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj ≥ 0 para j = 1, 2, …, 5

Como la ecuación de la función objetivo ya se encuentra en forma de igualdad, no necesita variable de


holgura. Con esta interpretación, las soluciones básicas no cambian, excepto que Z puede verse como una
variable básica adicional permanente.

Página 23 © Ing. C. Sánchez.


A partir de este momento ya estamos listos para pasar los coeficientes de nuestro problema a lo que
conoceremos como la Tabla Símplex:


Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18

La tabla anterior ilustra una propiedad clave que toda tabla símplex debe tener para estar en la forma
apropiada; se trata del patrón especial de los coeficientes de las variables básicas. En particular, nótese cómo
las columnas de x3, x4 y x5 (al igual que la columna de Z) contiene exactamente un +1 en el renglón que
corresponde a esa variable básica (véase la primera columna), y todos los demás coeficientes en esa columna
son cero. De la misma manera, cada ecuación contiene exactamente una variable básica con coeficiente
distinto de cero, en donde este coeficiente es +1. Esta propiedad es significativa, ya que permite identificar de
inmediato la solución básica factible actual a partir de la tabla; esto es, cada variable básica es igual a la
constante del lado derecho de su ecuación. Esta primera solución básica factible actual se muestra en la figura
anterior en la columna de ¿Es óptima?. De aquí en adelante, para cada nueva iteración del método símplex
mostraremos la solución básica factible actual en esta columna de la tabla símplex. (Recuérdese que las
variables no básicas son iguales a cero). La tabla símplex inicial quedará automáticamente en esta forma
apropiada (a menos que el problema original de programación lineal no esté en nuestra forma estándar).
El método símplex construye una tabla símplex para cada solución básica factible que se obtiene, hasta
alcanzar la solución óptima. A continuación describimos el procedimiento para problemas que ya están en la
forma estándar, con bi > 0 para toda i = 1, 2, …, m.

PASO INICIAL. Se introducen variables de holgura. Después se seleccionan las variables originales como
variables no básicas iniciales (se igualan a cero) y las variables de holgura como las variables básicas
originales. Esta selección lleva a la tabla símplex inicial anterior. Como esta tabla está en la forma apropiada, de
inmediato se obtiene la solución básica factible inicial para el ejemplo, (0,0,4,12,18). Ahora debe realizarse la
prueba de optimalidad para determinar si la solución es optima.

PRUEBA DE OPTIMALIDAD. La solución básica factible actual es óptima si y sólo si todos los coeficientes
de la ecuación de la función objetivo (renglón de Z) son no negativos ( ≥ 0 ). Si es así, el proceso termina; de
otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica factible, lo que significa el
cambio de una variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar las
variables de la nueva solución (parte 3).
En este ejemplo, hay dos coeficientes negativos en la ecuación de Z, −3 para x1 y −5 para x2 de manera
que debe irse al paso iterativo. Tacharemos la solución básica factible actual como se muestra en la tabla
anterior para indicar que esta solución no es óptima.

PASO ITERATIVO.
Parte 1. Se determina la variable básica entrante mediante la elección de la variable con el coeficiente
negativo (automáticamente se refiere a una variable no básica) que tiene el mayor valor absoluto en la ecuación
de Z. Se enmarca la columna correspondiente a este coeficiente; esta columna recibe el nombre de columna
pivote. En el ejemplo, el coeficiente negativo más grande (en términos de valor absoluto) es –5 para x2 (5>3),
por lo que x2 debe convertirse en variable básica. Este cambio se indica en la siguiente tabla con el recuadro en
la columna de x2 abajo del –5:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12 12/2 = 6 mínimo

Página 24 © Ing. C. Sánchez.


x5 0 3 2 0 0 1 18 18/2 = 9

Parte 2. Se determina la variable básica que sale; para esto, a) se toma cada coeficiente estrictamente
positivo (>0) de la columna enmarcada, b) se divide el lado derecho de cada renglón entre estos coeficientes, c)


se identifica la ecuación con el menor coeficiente y d) se selecciona la variable básica para esta ecuación. (Esta
variable básica es la que llega a cero primero cuando se incrementa la variable básica entrante). Se enmarca el
renglón de esta ecuación en la tabla símplex sin incluir la columna Z y se le da el nombre de renglón pivote. El
número que está en la intersección de los dos recuadros se llama pivote.
En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el ejemplo (antes de enmarcar
el renglón); la prueba del cociente mínimo para determinar la variable básica que sale se muestra a la
derecha de la tabla. Entonces la variable básica que sale es x4.

Parte 3. Se determina la nueva solución básica factible al construir una nueva tabla símplex en la forma
apropiada, abajo de la que se tiene. Las primeras dos columnas no cambian, excepto que la variable básica
entrante sustituye a la variable básica que sale en la columna de Variable Básica. Para cambiar el coeficiente
de la nueva variable básica en el renglón pivote a +1, se divide todo el renglón pivote entre el número pivote:

Renglón pivote nuevo = Renglón pivote antiguo / pivote

En este punto, la tabla símplex para el ejemplo se ve como la que se muestra enseguida. Para obtener
un coeficiente 0 para la nueva variable básica en las otras ecuaciones, cada renglón [inclusive el de la ecuación
de Z] excepto el renglón pivote, se cambia por la nueva tabla símplex usando la siguiente fórmula:

Renglón nuevo = renglón antiguo − (coeficiente en la columna pivote × renglón pivote nuevo)

en donde el coeficiente en la columna pivote es el número en la columna pivote correspondiente a este renglón.

Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1
x3 0
x2 0 0 1 0 1/2 0 6
x5 0
Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma siguiente:

Renglón de Z: [−3 −5 0 0 0, 0]
−(−5) [ 0 1 0 1/2 0, 6]
Renglón nuevo = [−3 0 0 5/2 0, 30]

Renglón 1: Sin cambio porque su coeficiente en la columna pivote es cero.

Renglón 3: [3 2 0 0 1, 18]
−(2) [0 1 0 1/2 0, 6]
Renglón nuevo = [3 0 0 −1 1, 6]

Estos cambios llevan a la nueva tabla símplex que se muestra en la siguiente tabla para la
iteración 1:

Página 25 © Ing. C. Sánchez.


Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o


Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z=0
x5 0 3 2 0 0 1 18
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6
Como las variables básicas siempre son iguales al lado derecho de la ecuación que le corresponde, la
nueva solución básica factible es (0, 6, 4, 0, 6) con Z = 30.

Este trabajo completa el paso iterativo, así que debe proseguirse a la prueba de optimalidad. Como la
ecuación de Z todavía tiene coeficientes negativos (–3 para x1), la prueba de optimalidad indica que la solución
no es óptima, (lo cual se muestra en la figura anterior) por lo que manda al algoritmo de regreso al paso iterativo
para obtener la siguiente solución básica factible. El paso iterativo comienza de nuevo en la tabla símplex actual
para encontrar la nueva solución. Si se siguen las instrucciones de las partes 1 y 2, se encuentra que x1 es la
variable básica entrante y x5 la variable básica que sale, como se muestra en la siguiente tabla:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6 6/3 = 2 mín.

En las siguientes tablas se muestra el conjunto completo de las tablas del método símplex para este
ejemplo. La nueva solución básica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba de optimalidad, se
encuentra que la solución es óptima porque no hay coeficientes negativos en la ecuación de Z, de manera que
el algoritmo ha terminado. En consecuencia, la solución óptima para este ejemplo (sin tomar en cuenta las
variables de holgura) es x1 = 2, x2 = 6.

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 0 0
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 12/2 = 6 mín. Z=0
x5 0 3 2 0 0 1 18 18/2 = 9
Z 1 –3 0 0 5/2 0 30
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 6, 4, 0, 6)
x2 0 0 1 0 1/2 0 6 Z = 30
x5 0 3 0 0 –1 1 6 6/3 = 2 mín.
Z 1 0 0 0 3/2 1 36
x3 0 0 0 1 1/3 –1/3 2 (2, 6, 2, 0, 0)
x2 0 0 1 0 1/2 0 6 Z = 36
x1 0 1 0 0 –1/3 1/3 2 Óptima

Anteriormente no se dijo qué hacer cuando las reglas de selección del método símplex no llevan a una
decisión clara, ya sea porque existen empates (valores iguales) o por otras ambigüedades parecidas.

Página 26 © Ing. C. Sánchez.


Empate para la variable básica entrante.
El paso 1 de cada iteración elige la variable básica que tiene el coeficiente negativo con el mayor valor
absoluto en la ecuación de Z actual como la variable básica entrante. Ahora suponga que dos o más variables
no básicas tienen el coeficiente negativo más grande (en valor absoluto), es decir, que hay un empate entre


ellas. Por ejemplo, esto ocurriría en la primera iteración del ejemplo anterior si se cambiara la función objetivo a
Z = 3x1 + 3x2, con lo que la ecuación del renglón de Z inicial sería Z−3x1−3x2 = 0. ¿Cómo debe romperse este
empate?
La respuesta es que la elección entre estos dos contendientes se puede hacer de manera arbitraria.
Tarde o temprano se llegará a la solución óptima, sin importar cuál de las variables empatadas se haya
escogido, y no existe un método conveniente para predecir cuál lleva ahí más rápidamente. En este ejemplo
ocurre que si se escoge x1 como variable entrante, el método símplex alcanza la solución óptima (2, 6) en tres
iteraciones y si se elige x2, llega en dos.

Empate para la variable básica que sale − degeneración.


Ahora suponga que el empate ocurre entre dos o más variables básicas al elegir la variable que sale en
el paso 2 de una iteración. ¿Importa cuál se escoge? En teoría sí, y en una forma crítica debido a que puede
ocurrir la siguiente sucesión de eventos. Primero, todas las variables empatadas se hacen cero al mismo tiempo
cuando aumenta el valor de la variable entrante. Por tanto, aquellas que no se eligieron como variable básica
que sale también tendrán un valor de cero en la nueva solución básica factible. (Las variables básicas con valor
de cero se llaman degeneradas y el mismo nombre se da a la solución básica factible correspondiente.)
Segundo, si una de estas variables básicas degeneradas sigue con valor de cero hasta que se selecciona como
variable básica que sale en una iteración posterior, la variable básica entrante deberá también quedar con valor
de cero (ya que no puede crecer sin que la variable básica que sale se vuelva negativa), entonces el valor de Z
permanecerá sin cambio. Tercero, si Z permanece igual en lugar de mejorar cada iteración, el método símplex
puede caer en un ciclo que repite la misma secuencia de soluciones periódicamente, en lugar de aumentar en
algún momento para llegar a la solución óptima.
Por fortuna, aunque en teoría es posible que haya ciclos perpetuos, ha sido en extremo raro que tenga
lugar en problemas reales. Si ocurriera un ciclo siempre se puede salir de él cambiando la elección de la
variable básica que sale. Por lo tanto se recomienda romper los empates arbitrariamente y seguir el proceso sin
preocuparse de las variables que puedan resultar.

Cuando no hay variable básica que sale − Z no acotada.


Existe otra posibilidad en el paso 2 de una iteración, de la que no se ha hablado: aquella en la que
ninguna variable califica como variable básica que sale. Esta situación puede ocurrir si la variable básica
entrante puede crecer indefinidamente sin que ninguna de las variables básicas actuales adquiera valores
negativos. En la forma tabular, esto significa que todos los coeficientes en la columna pivote (se excluye el
renglón de Z) son negativos o cero.
Como se ilustra en la siguiente tabla, esta situación surge cuando se considera el siguiente ejemplo:

Maximizar Z = 3x1 + 5x2,


sujeta a x1 ≤ 4
y x 1 ≥ 0, x2 ≥ 0

En este ejemplo se ignoraron las dos últimas restricciones funcionales del ejemplo resuelto
anteriormente. Vea en la tabla que x2 es la variable básica entrante pero el único coeficiente en la columna
pivote es cero. Como la prueba del cociente mínimo usa sólo coeficientes mayores que cero, no se cuenta con
un cociente que proporcione una variable básica que sale.
La interpretación de una tabla símplex como la que se muestra en la siguiente tabla es que las
restricciones no impiden el crecimiento indefinido de la función objetivo Z, de manera que el método símplex se
detiene con el mensaje de que Z es no acotada. Debido a que ni siquiera la programación lineal ha descubierto
la manera de lograr ganancias infinitas, el mensaje real en problemas prácticos es: ¡Se ha cometido un error!
Tal vez el modelo esté mal formulado, ya sea por haber omitido una restricción relevante o por haberla
establecido incorrectamente. De otra manera, pudo haber ocurrido un error en los cálculos.

Variable Lado

Página 27 © Ing. C. Sánchez.


Básica Z x1 x2 x3 derech Cociente ¿Es óptima?
o
Z 1 –3 –5 0 0
X3 0 1 0 1 4 Sin mínimo


Soluciones óptimas múltiples.


En la definición de solución óptima se mencionó que un problema puede tener más de una solución
óptima. Si en el ejemplo cambiamos la función objetivo a Z = 3x1 + 2x2 resulta que todos los puntos sobre el
segmento de recta entre (2,6) y (4,3) son soluciones óptimas. Entonces todas las soluciones son un promedio
ponderado de estas dos soluciones factibles en los vértices óptimas:

(x1, x2) = w1(2, 6) + w2(4, 3),

donde los pesos w1 yw2 son números que satisfacen las relaciones:

w1 + w2 = 1 y w1 ≥ 0, w2 ≥ 0

Por ejemplo, w1 = 1/3 y w2 = 2/3 da:

(x1, x2) = 1/3(2, 6) + 2/3(4, 3) = (2/3+8/3, 6/3+6/3) = (10/3, 4)

como una solución óptima.

En general, cualquier promedio ponderado de dos o más soluciones (vectores) donde los pesos son no
negativos y suman 1 se llama combinación convexa de estas soluciones. Entonces, toda solución óptima en el
ejemplo es una combinación convexa de (2, 6) y (4, 3).

Este ejemplo es representativo de problemas con soluciones óptimas múltiples.

Cualquier problema de Programación Lineal con soluciones óptimas múltiples (y una región factible acotada)
tiene al menos dos soluciones factibles en los vértices que son óptimas. Toda solución óptima es una
combinación lineal de estas soluciones factibles en los vértices óptimas. En consecuencia, en la forma
aumentada, toda solución óptima es una combinación convexa de las soluciones básicas factibles óptimas.

El método símplex se detiene automáticamente al encontrar una solución básica factible óptima. Sin
embargo, en muchas aplicaciones de Programación Lineal existen factores intangibles que no se incorporan al
modelo y que pueden ser útiles para tomar decisiones significativas sobre las soluciones óptimas alternativas.
En esos casos, también deben identificarse las otras soluciones óptimas. Esto requiere encontrar todas las
demás soluciones básicas factible óptimas, y entonces toda solución óptima es una combinación convexa de
las soluciones básicas factibles óptimas.

Una vez que el método símplex encuentra una solución básica factible óptima, se puede detectar si
existen otras y, si así es, se encuentra como sigue:

Siempre que un problema tiene más de una solución básica factible óptima, al menos una variable no básica
tiene coeficiente cero en la ecuación de Z final, de manera que si aumenta su valor, el valor de la función Z no
cambia. Por lo tanto, estas otras soluciones básicas factibles óptimas se pueden identificar (si se desea)
realizando iteraciones adicionales del método símplex, en las que cada vez se elige una variable no básica con
coeficiente cero como variable básica entrante. Si una de estas iteraciones no tiene una variable básica que
sale esto indica que la región factible es no acotada y la variable básica entrante puede crecer indefinidamente
sin cambiar el valor de Z.

Página 28 © Ing. C. Sánchez.


2.9. Método de la “M” o de Penalización.
Hasta este momento se han presentado los detalles del método símplex con la suposición de que el
problema se encuentra en nuestra forma estándar (maximizar Z sujeta a las restricciones funcionales de la
forma ≤ y restricciones de no negatividad sobre todas las variables) con bi ≥ 0 para toda i = 1, 2, ..., m.


En esta sección se establecerá cómo hacer los ajustes requeridos a otras formas legítimas de modelos de
Programación Lineal. Se verá que todos estos ajustes se pueden hacer en el paso inicial, de manera que el
resto del método símplex se aplica justo como se aprendió.
El único problema serio que introducen las otras formas de restricciones funcionales (= ó ≥) es
identificar una solución inicial básica factible. Antes, esta solución inicial se encontraba en forma muy
conveniente al hacer que las variables de holgura fueran las variables básicas iniciales, donde cada una era
igual a la constante no negativa del lado derecho de la ecuación correspondiente. Ahora debe hacerse algo
más. El enfoque estándar que se utiliza es estos casos es la técnica de variables artificiales. Ésta construye
un problema artificial más conveniente introduciendo una variable ficticia (llamada variable artificial) en cada
restricción que lo requiera. Esta nueva variable se introduce sólo con el fin de que sea la variable básica inicial
para esa ecuación. Las restricciones usuales de no negatividad también se aplican sobre estas variables y la
función objetivo se modifica para que imponga una penalización exorbitante en el caso de que adquieran
valores mayores que cero. Las iteraciones del método símplex automáticamente fuerzan a las variables
artificiales a desaparecer (a volverse cero) una a una, hasta que todas quedan fuera de la solución; después
de esto se resuelve el problema real.

Para ilustrar la técnica de las variables artificiales, primero se considerará el caso en que la única forma
no estándar en el problema es la presencia de una o más restricciones en forma de igualdad.
Restricciones en forma de igualdad.
En realidad, cualquier restricción en forma de igualdad:

ai1x1 +ai2x2 + . . . + ainxn = bi

es equivalente a dos restricciones de desigualdad:

ai1x1 + ai2x2 + . . . + ainxn ≤ bi,


ai1x1 + ai2x2 + . . . + ainxn ≥ bi

Sin embargo, en lugar de hacer esta sustitución e incrementar con ello el número de restricciones, es
más conveniente usar la técnica de la variable artificial. Suponga que se modifica el problema de ejemplo
presentado y resuelto en la sección anterior. El único cambio que sufre el modelo de programación lineal es que
la tercera restricción, 3x1 + 2x2 ≤ 18, se convierte en una restricción de igualdad:

3x1 + 2x2 = 18

Aplicando la técnica de las variables artificiales se introduce una variable artificial no negativa
(denotada por x5) en la última ecuación, como si fuera una variable de holgura:

3x1 + 2x2 + x5 =18

En resumen si tenemos una restricción funcional en forma de igualdad y deseamos “pasarla a su forma
de igualdad”, únicamente debemos sumar una variable artificial.

Restricciones funcionales de la forma ≥


Para ilustrar la manera en que la técnica de las variables artificiales maneja las restricciones de la forma
≥ usaremos el siguiente ejemplo:

Página 29 © Ing. C. Sánchez.


Minimizar Z = 0.4x1 + 0.5x2
sujeta a 0.3x1 + 0.1x2 ≤ 2.7
0.5x1 + 0.5x2 = 6
0.6x1 + 0.4x2 ≥ 6


x1 ≥ x2 ≥ 0
0,

Notemos que la tercera restricción es del tipo ≥, por lo que para cambiarla a su forma de igualdad
tendríamos que restar una variable de superávit (o de excedente), quedando de la siguiente manera:

0.6x1 + 0.4x2 − x5 = 6

Se ha restado la variable de excedente x5 (se utilizó x5 porque en la primera restricción agregamos una
variable de holgura que sería x3 y en la segunda restricción agregamos también una variable artificial que sería
x4; todo esto con el fin de convertir las desigualdades a su forma de igualdades) para que consuma el exceso
de 0.6x1 + 0.4x2, o sea, lo que se pasa de 6. No obstante en este caso debe agregarse otra variable. Esta
variable extra, llamada variable artificial se aumenta como sigue:

0.6x1 + 0.4x2 − x5 + x6 = 6

La razón de esto es que, si no se agrega la variable artificial, no se estarían cumpliendo las


restricciones de no negatividad. Para comprenderlo, se dejará sin aumentar. El método símplex comienza por
hacer todas las variables reales (originales) iguales a cero. Entonces:

0.6x1 + 0.4x2 − x5 = 6

Sea x1 = 0 y x2 = 0, entonces:

−x5 = 6
ó
x5 = −6 (que no cumple la restricción de no negatividad)

La variable artificial opera para mantener todas las variables no negativas cuando 0.6x1 + 0.4x2 es
menor que 6. Si x1 = 0 y x2 = 0, entonces x5 = 0 y

0.6x1 + 0.4x2 − x5 + x6 = 6
x6 = 6

En resumen, una restricción de la forma ≥ se convierte a su forma de igualdad restando una variable de
excedente y sumando una variable artificial.

Consideremos el siguiente problema:

Maximizar Z = 3x1 + 5x2


sujeta a x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 = 18
x1 ≥ 0, x2 ≥ 0

Como explicamos anteriormente, para resolver este problema, debemos construir un problema
artificial que tiene la misma solución óptima que el problema real, haciendo dos modificaciones a este
problema real.

Página 30 © Ing. C. Sánchez.


Se aplica la técnica de las variables artificiales introduciendo una variable artificial no negativa (denotada
por x5) en la última ecuación, como si fuera una variable de holgura:

3x1 + 2x2 + x5 =18




Se asigna una penalización enorme al hecho de tener x5 > 0, cambiando la función objetivo
Z = 3x1 + 5x2 a:
Z = 3x1 + 5x2 − Mx5,

donde M simbólicamente representa un número positivo muy grande. Este método que fuerza a x5 hasta el nivel
de x5 = 0 en la solución óptima se llama método de la M.

Nota: Para el caso de minimización, penalizamos a la variable artificial, haciéndola aparecer en la función
objetivo con un coeficiente de +M.
Ahora se encuentra la solución óptima para el problema real aplicando el método símplex al problema
artificial.
Como x5 juega el papel de la variable de holgura en la tercera restricción del problema artificial, esta
restricción es equivalente a 3x1 + 2x2 ≤ 18.
En particular, el sistema de ecuaciones después de aumentar el problema artificial (en otras palabras,
pasarlo a su forma de igualdades) es:

Maximizar Z,
sujeta a
Z − 3x1 − 5x2 + Mx5 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj ≥ 0 Para j = 1, 2, …, 5

En este momento estamos preparados para pasar los coeficientes a la tabla símplex:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 M 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12
x5 0 3 2 0 0 1 18

Esta tabla todavía no está en la forma apropiada porque el coeficiente de x5 es diferente de cero en la
ecuación de Z (es M). Por lo tanto, antes de que el método símplex pueda aplicar la prueba de optimalidad y
encontrar la variable básica entrante, debe pasarse esta tabla a la forma apropiada para que cumpla la
condición símplex. Esta condición que debe cumplir toda tabla del método símplex para que pueda
reportarnos la siguiente solución básica factible dice que: “Toda variable básica debe tener un 1 en la
intersección de su renglón y columna correspondiente y cero en los demás renglones incluido el renglón de Z”,
en otras palabras, que toda variable que sea básica solamente debe aparecer en el renglón de la restricción
que representa. Para hacer cero el coeficiente M, utilizamos el renglón de x5 como renglón pivote
multiplicándolo por −M y sumando el resultado al renglón de Z. Realizando el procedimiento anterior, la tabla
símplex queda de la siguiente manera:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 -3M-3 -2M-5 0 0 0 −18M −Mx5 + Z
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)

Página 31 © Ing. C. Sánchez.


x4 0 0 2 0 1 0 12 Z = −18M
x5 0 3 2 0 0 1 18

Podemos observar que la tabla anterior ya se encuentra en la forma apropiada y podemos leer la


solución básica factible actual, que es (0, 0, 4, 12, 18), la cual aplicando la prueba de optimalidad vemos que no
es óptima ya que todavía tenemos coeficientes negativos en el renglón de Z (los correspondientes a x1 y x2).
Aplicando el método símplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor absoluto
corresponde a x1 (−3M−3), recordemos que M es un número muy grande positivo, por lo tanto, x1 se convierte
en la variable básica entrante, realizando los cocientes correspondientes, vemos que x3 se convierte en la
variable básica saliente. El procedimiento completo para resolver este ejemplo se muestra en el siguiente
conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 -3M-3 -2M-5 0 0 0 −18M
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z = −18M
x5 0 3 2 0 0 1 18 18/3 = 6
Z 1 0 -2M-5 3M+3 0 0 −6M+12
x1 0 1 0 1 0 0 4 (4, 0, 0, 12, 6)
x4 0 0 2 0 1 0 12 12/2 = 6 Z = −6M+12
x5 0 0 2 −3 0 1 6 6/2 = 3
Z 1 0 0 −9/2 0 M+5/2 27
x1 0 1 0 1 0 0 4 4/1 = 4 (4, 3, 0, 6, 0)
x4 0 0 0 3 1 −1 6 6/3 = 2 Z = 27
x2 0 0 1 −3/2 0 1/2 3
Z 1 0 0 0 3/2 M+1 36
x1 0 1 0 0 −1/3 1/3 2 (2, 6, 2, 0, 0)
x3 0 0 0 1 1/3 −1/3 2 Z = 36
x2 0 0 1 0 1/2 0 6 Óptima

MINIMIZACIÓN con el método símplex.


Una manera directa de minimizar Z con el método símplex es cambiar los roles de los coeficientes
negativos y positivos en el renglón de la función objetivo, tanto para la prueba de optimalidad como para la
parte 1 de una iteración. Se determina la variable básica entrante mediante la elección de la variable con el
coeficiente positivo menor en la ecuación de Z. La solución básica factible actual es óptima si y sólo si todos los
coeficientes de la ecuación de la función objetivo (renglón de Z) son no positivos ( ≤ 0 ). Si es así, el proceso
termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica factible, lo que
significa el cambio de una variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar
las variables de la nueva solución (parte 3). Notemos que no se ha dicho nada con respecto a la forma de
obtener la variable básica saliente en una iteración, ya que este paso se realiza de la misma manera que
cuando se está maximizando, es decir, se escoge aquella variable básica con el menor cociente. Ilustremos la
forma de utilizar el método símplex para el caso de minimización. Consideremos el siguiente ejemplo:

Minimizar Z = 3x1 + 8x2


sujeta a x1 + 4x2 ≤ 4
x1 + 2x2 ≥ 2
x1 ≥ 0, x2 ≥ 0

Pasando este problema a su forma de igualdades añadiendo las variables necesarias, obtenemos lo
siguiente:
Minimizar Z,
sujeta a

Página 32 © Ing. C. Sánchez.


Z − 3x1 − 8x2 − Mx5 = 0
x1 + 4x2 + x3 = 4
x1 + 2x2 − x4 + x5 = 2
xj ≥ 0 para j = 1, 2, …, 5


Utilizando el método de la M para obtener una solución óptima por el método símplex, obtenemos el
siguiente conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 −3 −8 0 0 −M 0
x3 0 1 4 1 0 0 4
x5 0 1 2 0 −1 1 2
Z 1 M−3 2M−8 0 −M 0 2M (0, 0, 4, 0, 2)
x3 0 1 4 1 0 0 4 4/1 = 4 Z = 2M
x5 0 1 2 0 −1 1 2 2/1 = 2
Z 1 0 −2 0 −3 −M+3 6 (2, 0, 2, 0, 0)
x3 0 0 2 1 1 −1 2 Z=6
x1 0 1 2 0 −1 1 2 Óptima

Notemos que la primera tabla no se encontraba en la forma apropiada para el método símplex, ya que
el coeficiente de la variable básica x5 era de −M en el renglón de Z, lo cual hacia que no se cumpliera la
condición símplex.

2.10. Método de las dos Fases.


En el ejemplo presentado en la sección “Restricciones funcionales de la forma ≥“, recordemos la función
objetivo real:

Problema real: Minimizar Z = 0.4x1 + 0.5x2


Sin embargo, el método de la M utiliza la siguiente función objetivo a través de todo el procedimiento:

Método de la M: Minimizar Z = 0.4x1 + 0.5x2 + Mx4 + Mx6

Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados con M, el método de dos
fases puede eliminar la M usando las siguientes dos funciones objetivo que definen Z de manera
completamente diferente:

Método de las dos fases:


Fase 1: Minimizar Z = x4 + x6 (hasta que x4 = 0 y x6 = 0).
Fase 2: Minimizar Z = 0.4x1 + 0.5x2 (con x4 = 0 y x6 = 0).

La función objetivo de la fase 1 se obtiene dividiendo la función objetivo del método de la M entre M
eliminando los términos despreciables, en otras palabras, la fase 1 consiste en la minimización de la suma de
todas las variables artificiales que se introduzcan en el problema. Como la fase 1 concluye al obtener una
solución básica factible para el problema real (aquella en la que x4 = 0 y x6 = 0), esta solución se usa como la
solución básica factible inicial para aplicar el método símplex al problema real (con su función objetivo) en la
fase 2. Antes de resolver el ejemplo de esta manera se hará un resumen de las características generales.

Resumen del método de dos fases.


Paso inicial: Se revisan las restricciones del problema original introduciendo variables artificiales según se
necesite para obtener una solución básica factible inicial obvia para el problema artificial.
Fase 1: uso del método símplex para resolver el problema de programación lineal:

Página 33 © Ing. C. Sánchez.


Minimizar Z = Σ de todas las variables artificiales, sujeta a las restricciones revisadas.
La solución óptima que se obtiene para este problema (con Z = 0) será una solución básica factible para
el problema real.
Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen cero). Comenzando


con la solución básica factible que se obtuvo al final de la fase 1, se usa el método símplex para resolver el
problema real.
Enseguida se resumen los problemas que deben resolverse por el método símplex en las fases
respectivas para el ejemplo.

Problema para la fase 1:


Minimizar W = x4 + x6,
sujeta a
0.3x1 + 0.1x2 + x3 = 2.7
0.5x1 + 0.5x2 + x4 = 6
0.6x1 + 0.4x2 − x5 + x6 = 6
y
x1≥0 x2≥0 x3≥ x4≥0 x5≥0 x6≥0

Problema para la fase 2:


Minimizar Z = 0.4x1 + 0.5x2,
sujeta a
0.3x1 + 0.1x2 + x3 = 2.7
0.5x1 + 0.5x2 = 6
0.6x1 + 0.4x2 − x5 = 6
y
x1≥0 x2≥0 x3≥ x5≥0

Las únicas diferencias entre estos dos problemas se encuentran en la función objetivo y en la inclusión
(fase 1) o exclusión (fase 2) de las variables artificiales x4 y x6. Sin las variables artificiales, el problema para la
fase 2 no tiene una solución básica factible inicial obvia. El único propósito de resolver el problema para la fase
1 es obtener una solución básica factible con x4 = 0 y x6 = 0 que se pueda usar como la solución básica factible
inicial para la fase 2.

Las siguientes tablas muestran el resultado de aplicar el método símplex a este problema para la fase 1:

Variable Lado
Básica W x1 x2 x3 x4 x5 x6 derech Cociente ¿Es óptima?
o
W 1 0 0 0 −1 0 −1 0
x3 0 0.3 0.1 1 0 0 0 2.7
x4 0 0.5 0.5 0 1 0 0 6
x6 0 0.6 0.4 0 0 −1 1 6
W 1 1.1 0.9 0 0 −1 0 12
x3 0 0.3 0.1 1 0 0 0 2.7 2.7/0.3=9 (0,0,2.7,6,0,6)
x4 0 0.5 0.5 0 1 0 0 6 6/0.5=12 W = 12
x6 0 0.6 0.4 0 0 −1 1 6 6/0.6=10
W 1 0 0.53 −3.66 0 −1 0 2.1
x1 0 1 0.33 3.33 0 0 0 9 9/0.33=27.2 (9,0,0,1.5,0,0.6
)
x4 0 0 0.33 −1.6 1 0 0 1.5 1.5/0.33=4. W = 2.1
5
6
x6 0 0 0.2 −2 0 −1 1 0.6 0.6/0.2=3
W 1 0 0 1.64 0 1.65 −2.65 0.51

Página 34 © Ing. C. Sánchez.


x1 0 1 0 6.63 0 1.65 −1.6 8.01 8.01/1.65=4.8 (8.01,3,0,0.51,0,
5 0)
x4 0 0 0 1.64 1 1.65 −1.6 0.51 0.51/1.65=0.30
W = 0.51
5


x2 0 0 1 −10 0 −5 5 3
W 1 0 0 0 −1 0 −1 0
x1 0 1 0 5 −1 0 0 7.5 (7.5,4.5,0,0,0.3,
0)
x5 0 0 0 0.99 0.60 1 −1 0.3 W=0
x2 0 0 1 −5.0 3 0 0 4.5 Óptima fase 1
5

Notemos que ya hemos obtenido una solución óptima para la fase 1 que consistió en la minimización de
la suma de todas las variables artificiales. Observemos también que la función objetivo W terminó con un valor
de cero en la última tabla, lo que indica que las dos variables artificiales (x4 y x6) valen cero ó tienen valores
recíprocos y se cancelan mutuamente para dar cero. En nuestro caso, las dos variables artificiales valen cero ya
que no se encuentran en la columna de las variables básicas en la última tabla de la primera fase. La segunda
fase consiste en resolver el problema original utilizando como tabla inicial de esta fase la última tabla de la
primera fase pero sin considerar la columna de las variables artificiales ya que éstas tomaron el valor de cero en
la primera fase. El método símplex aplicado a la segunda fase se muestra en el siguiente conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 x6 derech Cociente ¿Es óptima?
o
Z 1 −0.4 −0.5 0 0 0 0 0
x1 0 1 0 5 −1 0 0 7.5
x5 0 0 0 0.99 0.60 1 −1 0.3
x2 0 0 1 −5.0 3 0 0 4.5
5
Z 1 0 −0.5 2 0 3
x1 0 1 0 5 0 7.5
x5 0 0 0 0.99 1 0.3
x2 0 0 1 −5.0 0 4.5
5
Z 1 0 0 −0.52 0 5.25
x1 0 1 0 5 0 7.5 (7.5,4.5,0,0,0.3,
0)
x5 0 0 0 0.99 1 0.3 Z = 5.25
x2 0 0 1 −5.0 0 4.5 Óptima fase 2
5

Notemos que no fue necesario aplicar propiamente el método símplex a la primera tabla de la segunda
fase, ya que únicamente aplicando operaciones con matrices para tratar de llevar esta tabla a la forma
apropiada para el método símplex fue suficiente para resolver el problema planteado en la segunda fase. Es
necesario aclarar que no siempre ocurrirá de esta manera, es decir, si después de dejar la tabla en la forma
apropiada, es necesario aplicar el método símplex, se debe aplicar como lo hemos estudiado.

Nota: Independientemente de que el problema original (real) sea de maximización o minimización, la primera
fase siempre consistirá en la minimización de la suma de todas las variables artificiales.

Página 35 © Ing. C. Sánchez.


2.11. Método de la “M” o de Penalización.
Hasta este momento se han presentado los detalles del método símplex con la suposición de que el
problema se encuentra en nuestra forma estándar (maximizar Z sujeta a las restricciones funcionales de la


forma ≤ y restricciones de no negatividad sobre todas las variables) con bi ≥ 0 para toda i = 1, 2, ..., m.
En esta sección se establecerá cómo hacer los ajustes requeridos a otras formas legítimas de modelos de
Programación Lineal. Se verá que todos estos ajustes se pueden hacer en el paso inicial, de manera que el
resto del método símplex se aplica justo como se aprendió.
El único problema serio que introducen las otras formas de restricciones funcionales (= ó ≥) es
identificar una solución inicial básica factible. Antes, esta solución inicial se encontraba en forma muy
conveniente al hacer que las variables de holgura fueran las variables básicas iniciales, donde cada una era
igual a la constante no negativa del lado derecho de la ecuación correspondiente. Ahora debe hacerse algo
más. El enfoque estándar que se utiliza es estos casos es la técnica de variables artificiales. Ésta construye
un problema artificial más conveniente introduciendo una variable ficticia (llamada variable artificial) en cada
restricción que lo requiera. Esta nueva variable se introduce sólo con el fin de que sea la variable básica inicial
para esa ecuación. Las restricciones usuales de no negatividad también se aplican sobre estas variables y la
función objetivo se modifica para que imponga una penalización exorbitante en el caso de que adquieran
valores mayores que cero. Las iteraciones del método símplex automáticamente fuerzan a las variables
artificiales a desaparecer (a volverse cero) una a una, hasta que todas quedan fuera de la solución; después
de esto se resuelve el problema real.

Para ilustrar la técnica de las variables artificiales, primero se considerará el caso en que la única forma
no estándar en el problema es la presencia de una o más restricciones en forma de igualdad.

Restricciones en forma de igualdad.


En realidad, cualquier restricción en forma de igualdad:

ai1x1 +ai2x2 + . . . + ainxn = bi

es equivalente a dos restricciones de desigualdad:

ai1x1 + ai2x2 + . . . + ainxn ≤ bi,


ai1x1 + ai2x2 + . . . + ainxn ≥ bi

Sin embargo, en lugar de hacer esta sustitución e incrementar con ello el número de restricciones, es
más conveniente usar la técnica de la variable artificial. Suponga que se modifica el problema de ejemplo
presentado y resuelto en la sección anterior. El único cambio que sufre el modelo de programación lineal es que
la tercera restricción, 3x1 + 2x2 ≤ 18, se convierte en una restricción de igualdad:

3x1 + 2x2 = 18

Aplicando la técnica de las variables artificiales se introduce una variable artificial no negativa
(denotada por x5) en la última ecuación, como si fuera una variable de holgura:

3x1 + 2x2 + x5 =18

En resumen si tenemos una restricción funcional en forma de igualdad y deseamos “pasarla a su forma
de igualdad”, únicamente debemos sumar una variable artificial.

Restricciones funcionales de la forma ≥


Para ilustrar la manera en que la técnica de las variables artificiales maneja las restricciones de la forma
≥ usaremos el siguiente ejemplo:

Página 36 © Ing. C. Sánchez.


Minimizar Z = 0.4x1 + 0.5x2
sujeta a 0.3x1 + 0.1x2 ≤ 2.7


0.5x1 + 0.5x2 = 6
0.6x1 + 0.4x2 ≥ 6
x1 ≥ x2 ≥ 0
0,

Notemos que la tercera restricción es del tipo ≥, por lo que para cambiarla a su forma de igualdad
tendríamos que restar una variable de superávit (o de excedente), quedando de la siguiente manera:

0.6x1 + 0.4x2 − x5 = 6

Se ha restado la variable de excedente x5 (se utilizó x5 porque en la primera restricción agregamos una
variable de holgura que sería x3 y en la segunda restricción agregamos también una variable artificial que sería
x4; todo esto con el fin de convertir las desigualdades a su forma de igualdades) para que consuma el exceso
de 0.6x1 + 0.4x2, o sea, lo que se pasa de 6. No obstante en este caso debe agregarse otra variable. Esta
variable extra, llamada variable artificial se aumenta como sigue:

0.6x1 + 0.4x2 − x5 + x6 = 6

La razón de esto es que, si no se agrega la variable artificial, no se estarían cumpliendo las


restricciones de no negatividad. Para comprenderlo, se dejará sin aumentar. El método símplex comienza por
hacer todas las variables reales (originales) iguales a cero. Entonces:

0.6x1 + 0.4x2 − x5 = 6

Sea x1 = 0 y x2 = 0, entonces:

−x5 = 6
ó
x5 = −6 (que no cumple la restricción de no negatividad)

La variable artificial opera para mantener todas las variables no negativas cuando 0.6x1 + 0.4x2 es
menor que 6. Si x1 = 0 y x2 = 0, entonces x5 = 0 y

0.6x1 + 0.4x2 − x5 + x6 = 6
x6 = 6

En resumen, una restricción de la forma ≥ se convierte a su forma de igualdad restando una variable de
excedente y sumando una variable artificial.

Consideremos el siguiente problema:

Maximizar Z = 3x1 + 5x2


sujeta a x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 = 18
x1 ≥ 0, x2 ≥ 0

Como explicamos anteriormente, para resolver este problema, debemos construir un problema
artificial que tiene la misma solución óptima que el problema real, haciendo dos modificaciones a este
problema real.

Página 37 © Ing. C. Sánchez.


Se aplica la técnica de las variables artificiales introduciendo una variable artificial no negativa (denotada
por x5) en la última ecuación, como si fuera una variable de holgura:


3x1 + 2x2 + x5 =18

Se asigna una penalización enorme al hecho de tener x5 > 0, cambiando la función objetivo
Z = 3x1 + 5x2 a:
Z = 3x1 + 5x2 − Mx5,

donde M simbólicamente representa un número positivo muy grande. Este método que fuerza a x5 hasta el nivel
de x5 = 0 en la solución óptima se llama método de la M.

Nota: Para el caso de minimización, penalizamos a la variable artificial, haciéndola aparecer en la función
objetivo con un coeficiente de +M.
Ahora se encuentra la solución óptima para el problema real aplicando el método símplex al problema
artificial.
Como x5 juega el papel de la variable de holgura en la tercera restricción del problema artificial, esta
restricción es equivalente a 3x1 + 2x2 ≤ 18.
En particular, el sistema de ecuaciones después de aumentar el problema artificial (en otras palabras,
pasarlo a su forma de igualdades) es:

Maximizar Z,
sujeta a
Z − 3x1 − 5x2 + Mx5 = 0
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
xj ≥ 0 Para j = 1, 2, …, 5

En este momento estamos preparados para pasar los coeficientes a la tabla símplex:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derecho Cociente ¿Es óptima?
Z 1 –3 –5 0 0 M 0
x3 0 1 0 1 0 0 4
x4 0 0 2 0 1 0 12
x5 0 3 2 0 0 1 18

Esta tabla todavía no está en la forma apropiada porque el coeficiente de x5 es diferente de cero en la
ecuación de Z (es M). Por lo tanto, antes de que el método símplex pueda aplicar la prueba de optimidad y
encontrar la variable básica entrante, debe pasarse esta tabla a la forma apropiada para que cumpla la
condición símplex. Esta condición que debe cumplir toda tabla del método símplex para que pueda
reportarnos la siguiente solución básica factible dice que: “Toda variable básica debe tener un 1 en la
intersección de su renglón y columna correspondiente y cero en los demás renglones incluido el renglón de Z”,
en otras palabras, que toda variable que sea básica solamente debe aparecer en el renglón de la restricción
que representa. Para hacer cero el coeficiente M, utilizamos el renglón de x5 como renglón pivote
multiplicándolo por −M y sumando el resultado al renglón de Z. Realizando el procedimiento anterior, la tabla
símplex queda de la siguiente manera:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o

Página 38 © Ing. C. Sánchez.


Z 1 -3M-3 -2M-5 0 0 0 −18M −Mx5 + Z
x3 0 1 0 1 0 0 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z = −18M
x5 0 3 2 0 0 1 18


Podemos observar que la tabla anterior ya se encuentra en la forma apropiada y podemos leer la
solución básica factible actual, que es (0, 0, 4, 12, 18), la cual aplicando la prueba de optimalidad vemos que no
es óptima ya que todavía tenemos coeficientes negativos en el renglón de Z (los correspondientes a x1 y x2).
Aplicando el método símplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor absoluto
corresponde a x1 (−3M−3), recordemos que M es un número muy grande positivo, por lo tanto, x1 se convierte
en la variable básica entrante, realizando los cocientes correspondientes, vemos que x3 se convierte en la
variable básica saliente. El procedimiento completo para resolver este ejemplo se muestra en el siguiente
conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o
Z 1 -3M-3 -2M-5 0 0 0 −18M
x3 0 1 0 1 0 0 4 4/1 = 4 (0, 0, 4, 12, 18)
x4 0 0 2 0 1 0 12 Z = −18M
x5 0 3 2 0 0 1 18 18/3 = 6
Z 1 0 -2M-5 3M+3 0 0 −6M+12
x1 0 1 0 1 0 0 4 (4, 0, 0, 12, 6)
x4 0 0 2 0 1 0 12 12/2 = 6 Z = −6M+12
x5 0 0 2 −3 0 1 6 6/2 = 3
Z 1 0 0 −9/2 0 M+5/2 27
x1 0 1 0 1 0 0 4 4/1 = 4 (4, 3, 0, 6, 0)
x4 0 0 0 3 1 −1 6 6/3 = 2 Z = 27
x2 0 0 1 −3/2 0 1/2 3
Z 1 0 0 0 3/2 M+1 36
x1 0 1 0 0 −1/3 1/3 2 (2, 6, 2, 0, 0)
x3 0 0 0 1 1/3 −1/3 2 Z = 36
x2 0 0 1 0 1/2 0 6 Óptima

MINIMIZACIÓN con el método símplex.


Una manera directa de minimizar Z con el método símplex es cambiar los roles de los coeficientes
negativos y positivos en el renglón de la función objetivo, tanto para la prueba de optimalidad como para la
parte 1 de una iteración. Se determina la variable básica entrante mediante la elección de la variable con el
coeficiente positivo menor en la ecuación de Z. La solución básica factible actual es óptima si y sólo si todos los
coeficientes de la ecuación de la función objetivo (renglón de Z) son no positivos ( ≤ 0 ). Si es así, el proceso
termina; de otra manera, se lleva a cabo otra iteración para obtener la nueva solución básica factible, lo que
significa el cambio de una variable no básica por una básica (parte 1) y viceversa (parte 2), y después despejar
las variables de la nueva solución (parte 3). Notemos que no se ha dicho nada con respecto a la forma de
obtener la variable básica saliente en una iteración, ya que este paso se realiza de la misma manera que
cuando se está maximizando, es decir, se escoge aquella variable básica con el menor cociente. Ilustremos la
forma de utilizar el método símplex para el caso de minimización. Consideremos el siguiente ejemplo:

Minimizar Z = 3x1 + 8x2


sujeta a x1 + 4x2 ≤ 4
x1 + 2x2 ≥ 2
x1 ≥ x2 ≥ 0
0,

Página 39 © Ing. C. Sánchez.


Pasando este problema a su forma de igualdades añadiendo las variables necesarias, obtenemos lo
siguiente:
Minimizar Z,


sujeta a
Z − 3x1 − 8x2 − Mx5 = 0
x1 + 4x2 + x3 = 4
x1 + 2x2 − x4 + x5 = 2
xj ≥ 0 para j = 1, 2, …, 5

Utilizando el método de la M para obtener una solución óptima por el método símplex, obtenemos el
siguiente conjunto de tablas:

Variable Lado
Básica Z x1 x2 x3 x4 x5 derech Cociente ¿Es óptima?
o
Z 1 −3 −8 0 0 −M 0
x3 0 1 4 1 0 0 4
x5 0 1 2 0 −1 1 2
Z 1 M−3 2M−8 0 −M 0 2M (0, 0, 4, 0, 2)
x3 0 1 4 1 0 0 4 4/1 = 4 Z = 2M
x5 0 1 2 0 −1 1 2 2/1 = 2
Z 1 0 −2 0 −3 −M+3 6 (2, 0, 2, 0, 0)
x3 0 0 2 1 1 −1 2 Z=6
x1 0 1 2 0 −1 1 2 Óptima

Notemos que la primera tabla no se encontraba en la forma apropiada para el método símplex, ya que
el coeficiente de la variable básica x5 era de −M en el renglón de Z, lo cual hacia que no se cumpliera la
condición símplex.

3. Problemas de Transporte.

3.1. Formulación del Modelo de Transporte.


La programación lineal es un campo tan amplio que se extiende a subclases de problemas
para los cuales existen métodos de solución especiales. Una de estas subclases se conoce como
problemas de transporte. El método símplex de programación lineal, puede servir para resolver estos
problemas. Pero se han desarrollado métodos más sencillos que aprovechan ciertas características
de los problemas. Entonces, el método del transporte son sólo técnicas especiales para resolver
ciertos tipos de problemas de programación lineal.
El transporte desempeña un papel importante en la economía y en las decisiones
administrativas. Con frecuencia la disponibilidad de transporte económico es crítica para la
sobrevivencia de una empresa.
¿Qué significa problema de transporte? Supóngase que un fabricante tiene tres plantas que
producen el mismo producto. Estas plantas a su vez mandan el producto a cuatro almacenes. Cada

Página 40 © Ing. C. Sánchez.


planta puede mandar productos a todos los almacenes, pero el costo de transporte varía con las
diferentes combinaciones. El problema es determinar la cantidad que cada planta debe mandar a
cada almacén con el fin de minimizar el costo total de transporte.


La manera más fácil de reconocer un problema de transporte es por su naturaleza o estructura


“de-hacia”: de un origen hacia un destino, de una fuente hacia un usuario, del presente hacia el
futuro, de aquí hacia allá. Al enfrentar este tipo de problemas, la intuición dice que debe haber una
manera de obtener una solución. Se conocen las fuentes y los destinos, las capacidades y demandas
y los costos de cada trayectoria. Debe haber una combinación óptima que minimice el costo (o
maximice la ganancia). La dificultad estriba en el gran número de combinaciones posibles.
Puede formularse un problema de transporte como un problema de programación lineal y
aplicarse el método símplex. Si se hiciera, se encontraría que los problemas de transporte tienen
características matemáticas únicas. Para visualizar esto, considérese el siguiente ejemplo:

Ejemplo prototipo.
Chícharos enlatados es uno de los productos más importantes de la compañía P & T. Los
chícharos se preparan en tres enlatadoras (cercanas a Bellingham, Washington; a Eugene, Oregón y
a Albert Lea, Minnesota) y después se mandan por camión a cuatro almacenes de distribución (en
Sacramento, California; Salt Lake City, Utah; Rapid City, South Dakota y Alburquerque, New Mexico)
en el oeste de Estados Unidos. Puesto que los costos de embarque constituyen un gasto importante,
la gerencia ha iniciado un estudio para reducirlos lo más posible que se pueda. Se ha hecho una
estimación de la producción de cada enlatadora para la próxima temporada y se ha asignado a cada
almacén una cierta cantidad de la producción total de chícharos. En la siguiente tabla se proporciona
esta información (en unidades de carga de camión), junto con el costo de transporte por camión
cargado para cada combinación de enlatadora-almacén. Como se ve hay un total de 300 cargas de
camión que se deben transportar. El problema es determinar el plan de asignación de estos
embarques a las distintas combinaciones de enlatadora-almacén que minimice el costo total de
transporte.

Costo de embarque ($) por carga


Almacén
1 2 3 4 Producción
1 464 513 654 867 75
Enlatadora 2 352 416 690 791 125
3 995 682 388 685 100
Asignación 80 65 70 85

Página 41 © Ing. C. Sánchez.


Este, de hecho, es un problema de programación lineal del tipo de los problemas de
transporte. Para formularlo, sea Z el costo total de transporte y sea xij (i = 1, 2, 3; j = 1, 2, 3, 4) el
número de cargas de camión que se mandan de la enlatadora i al almacén j. Entonces el objetivo es


seleccionar los valores de estas 12 variables de decisión (las xij) para:

Minimizar Z= 464x11 + 513x12 + 654x13 + 867x14 + 352x21 + 416x22 + 690x23 + 791x24


995x31 + 682x32 + 388x33 + 685x34

sujeta a las restricciones:

x1 + x1 + x1 + x1 = 75

1 2 3 4
x2 + x2 + x2 + x2 = 125

1 2 3 4
x3 + x3 + x3 + x3 = 100

1 2 3 4
x1 + x2 + x3 = 80

1 1 1
x1 + x2 + x3 = 65

2 2 2
x1 + x2 + x3 = 70

3 3 3
x1 + x2 + x3 = 85

4 4 4

xij ≥ 0 (i = 1, 2, 3; j = 1, 2, 3, 4)

La siguiente tabla muestra los coeficientes de las restricciones. Como se verá enseguida, lo
que distingue a este problema como un problema de transporte es la estructura especial en el patrón
de estos coeficientes, no su contexto.

Coeficiente de:
x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34
1 1 1 1
1 1 1 1 Restricciones
1 1 1 1 de enlatadora
A= 1 1 1
1 1 1 Restricciones
1 1 1 de
almacén
1 1 1

Página 42 © Ing. C. Sánchez.


Entre paréntesis, la solución óptima para este problema es x11 = 0, x12 = 20, x13 = 0, x14 = 55,
x21 = 80, x22 = 45, x23 = 0, x24 = 0, x31 = 0, x32 = 0, x33 = 70, x34 = 30. Cuando se conozca la prueba de
optimalidad se podrá verificar este resultado.


Modelo general del problema de transporte.


Para describir el modelo general del problema de transporte es necesario emplear términos
que sean mucho menos específicos que los que se usaron para los componentes del ejemplo
prototipo. En particular, el problema general de transporte se refiere (literal o en sentido figurado) a la
distribución de cualquier bien desde cualquier grupo de centros de abastecimiento, llamados
orígenes, a cualquier grupo de centros de recepción, llamados destinos, de tal manera que se
minimicen los costos totales de distribución. La correspondencia en terminología entre el ejemplo
prototipo y el problema general se resume en la siguiente tabla:

Ejemplo prototipo Problema general


Cargas de chícharos enlatados Unidades de un bien
Tres enlatadoras m orígenes
Cuatro almacenes n destinos
Producción de la enlatadora i si recursos en el origen i
Asignación al almacén j Demanda dj en el destino j
Costo de embarque por carga Costo cij por unidad distribuida
desde la enlatadora i al almacén desde el origen i al destino j
j

Así, por lo general, el origen i (i = 1, 2, ..., m) dispone de si unidades para distribuir a los
destinos y el destino j (j = 1, 2, ..., n) tiene una demanda de dj unidades que recibe desde los
orígenes. Una suposición básica es que el costo de distribución de unidades desde el origen i al
destino j es directamente proporcional al número distribuido, donde cij denota el costo por unidad
distribuida. Igual que para el ejemplo prototipo, estos datos de entrada se pueden resumir en forma
muy conveniente en la tabla de costos y requerimientos que se muestra enseguida:

Costo por unidad


distribuida
Destino
1 2 ... n Recursos
1 c11 c12 ... c1n s1
Origen 2 c21 c22 ... c2n s2
. . . . .
. . . . . . . .
. . . . .

Página 43 © Ing. C. Sánchez.


m cm1 cm2 ... cmn sm
Demanda d1 d2 ... dn


Sea Z el costo total de distribución y xij (i = 1, 2, ..., m; j = 1, 2,..., n) el número de unidades


que se distribuyen del origen i al destino j, la formulación de programación lineal para este problema
es:

m n
Minimizar Z= ∑∑c
i = 1 j =1
ij xij
sujeta a
n
∑x
j =1
ij = si para i = 1, 2, ..., m

m
∑x
i =1
ij = dj para j = 1, 2, ..., n
y
xij ≥ 0, para toda i y j

Note que la tabla que resulta de los coeficientes de las restricciones tiene la estructura
especial que se muestra en la siguiente tabla:

Coeficiente de
x11 x12 . . . x1n x21 x22 . . . x2n . . . xm1 xm2 . . . xmn
1 1 ... 1 Restricciones
1 1 ... 1 de origen
.
.
.

A= 1 1 ... 1
1 1 1 Restricciones
1 1 ... 1 de destino
. . .
. . .

. . .

1 1 1

Cualquier problema de programación lineal que se ajuste a esta formulación especial es del
tipo de problemas de transporte, sin importar su contexto físico. De hecho, se han realizado
numerosas aplicaciones no relacionadas con el transporte que se ajustan a esta estructura especial.
Ésta es una de las razones por las que el problema de transporte se suele considerar como uno de
los tipos especiales de problemas de programación lineal más importantes.
Una condición necesaria y suficiente para que un problema de transporte tenga soluciones
factibles es que:

Página 44 © Ing. C. Sánchez.


m n
∑s = ∑d
i =1
i
j =1
j

Esta propiedad se puede verificar observando que las restricciones requieren que:


m n m n
∑ si
i =1
y ∑ dj
j =1
sean iguales a ∑∑x
i =1 j =1
ij

Esta condición de que los recursos totales deben ser iguales a la demanda total en realidad exige que
el sistema esté balanceado. Si el problema tiene algún significado físico y esta condición no se
cumple, casi siempre significa que, o bien si, o bien dj de hecho representan una cota y no un
requerimiento exacto. Si este es el caso, se puede introducir un “origen” o “destino” imaginario
(llamado origen ficticio o destino ficticio) para captar la holgura, con el fin de convertir las
desigualdades en igualdades y satisfacer la condición de factibilidad.
El problema de transporte es sólo un tipo especial de problemas de programación lineal y
puede resolverse aplicando el método símplex tal y como lo hemos estudiado. Sin embargo, veremos
que si se aprovecha la estructura especial que se muestra en la tabla anterior, se puede lograr un
importante ahorro en los cálculos. Se hará referencia a este procedimiento simplificado como el
método símplex de transporte.

Para hacer hincapié en la simplificación lograda por el método símplex de transporte, se


revisará primero la forma en que el método símplex general (no simplificado) establecería el problema
de transporte en forma tabular. Después de construir la tabla de los coeficientes de restricción (vea la
tabla anterior), de convertir la función objetivo a la forma de maximización y de usar el método de la M
para introducir las variables artificiales z1, z2, ..., zm+n en las m+n ecuaciones de restricción
respectivas, se ve que las columnas de la tabla símplex tendrían la forma que se muestra en la
siguiente tabla:

Variable Ec. Coeficiente de Lado


básica núm. Z ... xij ... zi ... zm+j ... derecho
Z (0) −1 cij M M 0
(1)
.
.
.

zi (i) 0 1 1 si
.
.
.

zm+j (m+j) 0 1 1 dj
.
.
.

(m+n)

Página 45 © Ing. C. Sánchez.


En esta tabla, todos los elementos que no se muestran en estas columnas son ceros. El único
ajuste que queda por hacer antes de la primera iteración es eliminar algebraicamente los coeficientes
distintos de cero de las variables básicas iniciales (artificiales) en el renglón de Z (renglón 0).


Después de cualquier iteración subsecuente, el renglón 0 tendría la forma que se muestra en


la siguiente tabla:

Variable Ec. Coeficiente de Lado


Básica núm Z ... xij ... zi ... zm+j ... derecho
m n

Z (0) −1 cij−ui−vj M−ui M−vj − ∑ siui − ∑ djvj


i =1 j =1

A causa del patrón de ceros y unos que siguen los coeficientes en la tabla anterior, ui y vj
tienen la siguiente interpretación:

ui = múltiplo del renglón i original que se ha restado (directa o indirectamente) del renglón 0
original durante todas las iteraciones del método símplex que llevaron a la tabla actual.

vj = múltiplo del renglón m+j original que se ha restado (directa o indirectamente) del renglón 0
original durante todas las iteraciones del método símplex que llevaron a la tabla actual.

El renglón 0 actual se puede obtener sin usar ningún otro renglón con sólo calcular los valores
de ui y vj directamente. Como cada variable básica debe tener coeficiente cero en el renglón 0, estos
valores se pueden obtener resolviendo el sistema de ecuaciones:

cij−ui−vj = 0 para cada i y j tal que xij es variable básica,

lo cual se puede hacer de manera directa.

Además de los datos de entrada (los valores de cij, si y dj), la única información que necesita el
método símplex de transporte es la solución básica factible actual, los valores actuales de ui y vj y los
valores resultantes de cij−ui−vj para las variables no básicas xij. Cuando se resuelve un problema a
mano es conveniente registrar esta información en una tabla símplex de transporte, como la que se
muestra enseguida:

Página 46 © Ing. C. Sánchez.




En los casos en que la sumatoria de todo lo que se produce en todos los orígenes es mayor
que la sumatoria de todo lo que se demanda en todos los destino o viceversa, entonces se dice que
el problema no está balanceado. En estos casos lo primero que se debe hacer antes de intentar
resolver el problema es balancearlo.

m n
Para el caso de SOBREPRODUCCIÓN ( ∑ si > ∑ dj )
i =1 j =1

Si el caso es que se dispone de mayor producción de la que se demanda, entonces para


balancear el problema se agrega un destino imaginario o artificial (llamado también destino ficticio) el
cual tendrá como demanda dicha sobreproducción. En cuanto a los costos asociados a este nuevo
destino los estableceremos a cero (¿por qué?). El siguiente dibujo muestra lo que se debe hacer:

Página 47 © Ing. C. Sánchez.




donde
m n
dn+1 = ∑ si − ∑ dj
i =1 j =1

y
ci,n+1 = 0, para i = 1, 2, ..., m

n n
Para el caso de SOBREDEMANDA ( ∑d > ∑s j i )
j =1 j =1

Si el caso es que se tiene mayor demanda de lo que se produce, entonces para balancear el
problema se agrega un origen imaginario o artificial (llamado también origen ficticio) el cual tendrá
como recursos (producirá) dicha sobredemanda. En cuanto a los costos asociados a este nuevo
origen los estableceremos a cero (¿por qué?). El siguiente dibujo muestra lo que se debe hacer:

Página 48 © Ing. C. Sánchez.




donde

n m
sm+1 = ∑ dj − ∑ si
j =1 i =1

y
cm+1j = 0 para j = 1, 2, ..., n

Como todas las restricciones funcionales en el problema de transporte son igualdades, el


método símplex obtendría una solución inicial básica factible introduciendo variables artificiales y
usándolas como variables básicas iniciales. La solución básica que resulta de hecho sólo es factible
para la versión aumentada del problema, por lo que se necesita un buen número de iteraciones para
hacer que el valor de estas variables artificiales sea cero y se alcancen las soluciones básicas
factibles reales. El método símplex de transporte pasa por alto todo esto, pues usa un procedimiento
más sencillo para construir directamente una solución básica factible real en la tabla de transporte.
Antes de describir este procedimiento, es necesario establecer que el número de variables
básicas en cualquier solución básica de un problema de transporte es una menos de lo que se
espera. Normalmente en los problemas de programación lineal, se tiene una variable básica por cada
restricción funcional. En los problemas de transporte con m recursos y n destinos el número de
restricciones funcionales es m+n. Sin embargo,

el número de variables básicas = m + n − 1.

Página 49 © Ing. C. Sánchez.


Esto se debe a que se manejan restricciones de igualdad y este conjunto de m + n ecuaciones
tiene una ecuación adicional o (redundante) que se puede eliminar. La razón es que se sabe que la
cantidad total que se manda desde todos los orígenes debe ser igual que la cantidad total que se


recibe en todos los destinos. Por lo tanto, cualquier solución básica factible en una tabla de transporte
debe aparecer con exactamente m + n − 1 asignaciones no negativas, en donde la suma de las
asignaciones en cada renglón o columna es igual a su demanda o sus recursos

3.2. Métodos para encontrar soluciones factibles.


Al iniciar, todos los renglones de los orígenes y las columnas de destinos de la tabla símplex
de transporte se toman en cuenta para proporcionar una variable básica (asignación).
1. Se selecciona la siguiente variable básica (asignación) entre los renglones y columnas en
que todavía se puede hacer una asignación de acuerdo a algún criterio.
2. Se hace una asignación lo suficientemente grande como para que use el resto de los
recursos en ese renglón o la demanda restante en esa columna (cualquiera que sea la
cantidad más pequeña).
3. Se elimina ese renglón o columna (la que tenía la cantidad más pequeña en los recursos o
demanda restantes) para las nuevas asignaciones.(Si el renglón y la columna tiene la misma
cantidad de recursos y demanda restante, entonces arbitrariamente se elimina el renglón. La
columna se usará después para proporcionar una variable básica degenerada, es decir, una
asignación con cero unidades.)
4. Si sólo queda un renglón o una columna dentro de las posibilidades, entonces el
procedimiento termina eligiendo como básicas cada una de las variables restantes (es decir,
aquellas variables que no se han elegido ni se han eliminado al quitar su renglón o columna)
asociadas con ese renglón o columna que tiene la única asignación posible. De otra manera
se regresa al paso 1.

3.2.1. Método de la esquina noroeste.


1. Regla de la esquina noroeste: la primera elección es x11 (es decir, se comienza en la esquina
noroeste de la tabla símplex de transporte). De ahí en adelante, si xij fue la última variable
básica seleccionada, la siguiente elección es xi,j+1 (es decir, se mueve una columna a la
derecha) si quedan recursos en el origen i. De otra manera, se elige xi+1,j (es decir, se mueve
un renglón hacia abajo).
Para hacer más concreta esta descripción, se ilustrará el procedimiento general, utilizando la
regla de la esquina noroeste en el siguiente ejemplo:

Página 50 © Ing. C. Sánchez.


Recursos
3 7 6 4 5


2 4 3 2 2

4 3 8 5 3

10
Demanda 3 4 2 1 10

Lo primero que debemos hacer al resolver cualquier problema de transporte es comprobar que
esté balanceado, si no lo estuviera, agregamos un origen o un destino artificial según sea el caso
para conseguir que el problema quede balanceado y podamos comenzar a resolverlo. En nuestro
ejemplo, la sumatoria de los recursos de los tres orígenes es de 10 unidades que es igual a la
sumatoria de las demandas de los destinos, por lo que nuestro problema está balanceado y podemos
iniciar con la resolución.
Comenzamos asignando en la esquina noroeste de la tabla, es decir, en la celda
correspondiente a la variable básica x11 (paso 1), podemos observar que en la primera columna se
demandan 3 unidades del bien y en el primer renglón disponemos de 5 unidades, entonces enviamos
las 3 unidades demandadas desde el origen 1 hacia el destino 1 (ya que hay los recursos suficiente
para satisfacer toda la demanda) y decrementamos a 2 los recursos restantes en ese origen (paso 2).
Con ésto cubrimos toda la demanda del primer destino (ó almacén) y lo cancelamos para las
próximas asignaciones (paso3):

Recursos
3 7 6 4 5 2
3
2 4 3 2 2

4 3 8 5 3

Demanda 3 0 4 2 1

La siguiente asignación será en la celda correspondiente a la variable x12 (paso 1) ya que


todavía le quedan recursos al origen 1 (además es la esquina noroeste de la tabla restante después
de haber eliminado la primera columna). Notemos que en el segundo destino se demandan 4
unidades del bien y ahora solamente se disponen de 2 unidades en el origen 1, entonces se envían
las 2 unidades del origen 1 al destino 2 para satisfacer 2 de las 4 unidades demandadas en este
destino quedando 2 por satisfacer (paso 2) y cancelamos el origen 1 ya que no tiene más unidades

Página 51 © Ing. C. Sánchez.


del bien para enviar a otro destino
(paso 3):


Recursos
3 7 6 4 5 2 0
3 2
2 4 3 2 2

4 3 8 5 3

Demanda 3 0 4 2 2 1

La siguente asignación será en la celda correspondiente a la variable x22 (paso 1) ya que no le


quedan unidades del bien al origen 1 (notemos también que esa celda es la que se encuentra en la
esquina noroeste de la tabla restante después de haber eliminado el primer renglón y la primera
columna y no olvidemos que estamos aplicando la regla de la esquina noroeste). Ya que solamente
faltan 2 unidades para satisfacer por completo la demanda del segundo destino y se disponen
exactamente de 2 unidades en el segundo origen, entonces enviamos 2 unidades del bien del origen
2 al destino 2 (paso 2) y cancelamos el segundo renglón ya que no le quedan más unidades para
enviar a otro destino. Dejamos pendiente la eliminación de la segunda columna ya que nos servirá
más adelante para hacer la asignación de una variable básica degenerada, esdecir, una asignación
con cero unidades (paso 3):

Recursos
3 7 6 4 5 2 0
3 2
2 4 3 2 2 0
2
4 3 8 5 3

Demanda 3 0 4 2 0 2 1

La siguiente asignación será en la celda correspondiente a la variable x32 (paso1) ya que no le


quedan más unidades al origen 2. Notemos que “se demandan cero unidades del bien en el segundo
destino”, en este momento es cuando hacemos una asignación de cero unidades convirtiendo así a la
variable x32 en una variable básica degenerada (paso 2) y ahora sí podemos cancelar la segunda
columna para ya no considerarla más en las siguientes asignaciones (paso 3). Notemos que esta

Página 52 © Ing. C. Sánchez.


demanda de cero unidades es satisfecha sin ningún problema por el origen 3 ya que éste dispone
todavía de 3 unidades del bien:


Recursos
3 7 6 4 5 2 0
3 2
2 4 3 2 2 0
2
4 3 8 5 3
0

Demanda 3 0 4 2 0 2 1

Como solamente queda un renglón dentro de las posibilidades (el renglón 3 no ha sido
cancelado), entonces aplicando el paso 4 del procedimiento general para construir una solución inicial
básica factible, la siguiente asignación será en la celda que corresponde a la variable x33 (paso 1). Ya
que la demanda del tercer destino (2 unidades) puede ser satisfecha muy bien por el tercer origen,
entonces enviamos 2 unidades del bien del origen 3 al destino 3 quedando solamente 1 unidad en el
tercer origen (paso 2) para enviarlo al cuarto destino y con eso cubrir su demanda de una unidad,
cancelando de esta manera tanto el destino 3 como el destino 4 y el tercer renglón ya que la
demanda de todos los destinos ya ha sido satisfecha y no quedan más unidades del bien en ningún
origen:

Recursos
3 7 6 4 5 2 0
3 2
2 4 3 2 2 0
2
4 3 8 5 3 1 0
0 2 1
Costo = 52
Demanda 3 0 4 2 0 2 0 1 0

Página 53 © Ing. C. Sánchez.


La solución inicial básica factible es x11=3, x12=2, x22=2, x32=0 (variable básica degenerada),
x33=2 y x34=1 y el costo total de transporte asociado a esta primera “Política de Transporte” factible es
de:


x11 c11 x12 c12 x22 c22 x32 c32 x33 c33 x34 c34
Costo 3 (3 + 2 (7 + 2 (4 + 0 (3 + 2 (8 + 1 (5 = 52
= ) ) ) ) ) ) unidades

Es necesario aclarar que esta no es la solución final del problema, es necesario aplicar a esta
primera solución factible la prueba de optimidad ya que puede existir una mejor “política de
transporte” que minimice todavía más el costo total.

4.2.2. Método de aproximación de Vogel.


2. Método de Aproximación de Vogel: para cada renglón y columna que queda bajo
consideración, se calcula su diferencia, que se define como la diferencia aritmética entre el
costo unitario más pequeño (cij) y el que le sigue, de los que quedan en ese renglón o
columna. (Si se tiene un empate para el costo más pequeño de los restantes de un renglón o
columna, entonces la diferencia es 0). En el renglón o columna que tiene la mayor diferencia
se elige la variable que tiene el menor costo unitario que queda. (Los empates para la mayor
de estas diferencias se pueden romper de manera arbitraria).
Para hacer más concreta esta descripción, se ilustrará el procedimiento general, utilizando el
método de aproximación de Vogel para resolver el ejemplo presentado anteriormente y que fue
resuelto por la regla de la esquina noroeste:
Iniciamos el método calculando las primeras diferencias para cada renglón y columna. De las
diferencias que obtuvimos nos fijamos en la mayor (¿Por qué?), que resulta ser para la tercera
columna. En esa columna encontramos el costo unitario (cij) menor y en esa celda realizamos la
primera asignación:

Recurso DIF.
s
3 7 6 4 5 1

Página 54 © Ing. C. Sánchez.


2 4 3 2 2 0 0
2
4 3 8 5 3 1


10
Demanda 3 4 2 0 1 10
1
DIF. 1 1 3 2

Nota: Marcaremos a la mayor de las diferencias seleccionada encerrándola en un círculo y escribiéndole como
superíndice el número que le corresponda en la secuencia de selección.

Observemos en la figura anterior que únicamente eliminamos el segundo renglón ya que la


tercera columna nos servirá después para hacer la asignación de una variable básica degenerada.
Continuando con la aplicación del método, tenemos que calcular nuevamente las diferencias de las
columnas ya que hemos eliminado un renglón y ésto puede ocasionar que las diferencias aritméticas
entre el costo unitario más pequeño y el que le sigue ya no sean las mismas:

Recurso DIF.
s
3 7 6 4 5 1

2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 4 1 2 0 1 10
1
DIF. 1 1 3 2
2
1 4 2 1

Como siguiente paso deberíamos calcular las nuevas diferencias de columnas, pero ya que
solamente queda un renglón dentro de las posibilidades (ésto no significa que solamente un renglón
quede bajo consideración ya que podemos observar que ninguna de las cuatro columnas (destinos)
ha sido eliminada y todas quedan todavía bajo consideración), no es posible encontrar la diferencia
aritmética entre el costo menor y el que le sigue, por lo tanto vamos tomando una a una las celdas
que quedan comenzando con la de menor costo unitario hasta que todas hayan sido asignadas.

Página 55 © Ing. C. Sánchez.


Recurso DIF.
s
3 7 6 4 5 2 1 1
3 1 0 1 0


2 4 3 2 2 0 0
2
4 3 8 5 3 0 1
3
10
Demanda 3 0 4 1 0 2 0 1 0 10
1
DIF. 1 1 3 2
2
1 4 2 1

La solución inicial básica factible es x11=3, x12=1, x13=0 (variable básica degenerada), x14=1,
x23=2 y x32=3 y el costo total de transporte asociado a esta primera “Política de Transporte” factible es
de:

x11 c11 x12 c12 x13 c13 x14 c14 x23 c23 x32 c32
Costo 3 (3 + 1 (7 + 0 (6 + 1 (4 + 2 (3 + 3 (3 = 35
= ) ) ) ) ) ) unidades

Es necesario aclarar que ésta puede o no ser la solución final del problema, es necesario
aplicar a esta primera solución factible la prueba de optimalidad ya que puede existir una mejor
“política de transporte” que minimice todavía más el costo total.

Comparación de criterios alternativos para el paso 1.


Se compararán estos dos criterios para elegir la siguiente variable básica. La virtud principal
de la regla de la esquina noroeste es la facilidad y rapidez con que se aplica. Sin embargo, como no
le da importancia a los costos unitarios cij, por lo general la solución que se obtiene distará mucho de
la óptima. Si se realiza un esfuerzo un poco mayor para encontrar la solución inicial básica factible, es
posible que se reduzca mucho el número de iteraciones que después necesita el método símplex de
transporte para encontrar la solución óptima. El objetivo del otro criterio es precisamente encontrar
una solución así.
El método de aproximación de Vogel ha sido el más popular durante muchos años, en parte
porque es relativamente fácil hacerlo a mano. Este criterio toma en cuenta los costos unitarios en
forma efectiva ya que la diferencia representa el mínimo costo adicional en que se incurre por no
hacer una asignación en la celda que tiene el menor costo en esa columna o renglón.
Podemos decir, que el método de aproximación de Vogel proporciona una mejor solución
inicial que el criterio de la esquina noroeste, en otras palabras es más cualitativo.

Página 56 © Ing. C. Sánchez.


El siguiente paso después de hallar una solución inicial básica factible (por cualquiera de los
dos criterios expuestos anteriormente) es verificar si esta solución inicial es efectivamente óptima


aplicando la prueba de optimidad.


La prueba de optimidad estándar del método símplex para el problema de transporte, se
puede reducir de la siguiente manera:

Una solución básica factible es óptima si y sólo si cij−ui−vj ≥ 0 para toda (i,j) tal que xij es no
básica.

Así, lo único que hay que hacer para realizar esta prueba es obtener los valores de ui y vj para
la solución básica factible actual y después calcular los valores cij−ui−vj según se describe enseguida.
Como el valor de cij−ui−vj debe ser cero si xij es una variable básica, ui y vj satisfacen el
conjunto de ecuaciones:

cij = ui + vj para cada (i,j) tal que xij es básica.

Existen m+n−1 variables básicas y por tanto hay m+n−1 ecuaciones de este tipo. Como el número de
incógnitas (las ui y vj) es m+n, se puede asignar un valor arbitrario a cualquiera de estas variables sin
violar las ecuaciones. La elección de esta variable y su valor no afecta el valor de ningún cij−ui−vj, aun
cuando xij sea no básica, por lo que la única diferencia (menor) estriba en la facilidad para resolver
estas ecuaciones. Una elección conveniente para lograr esto es seleccionar la ui que tiene el mayor
número de asignaciones en su renglón (los empates se rompen de manera arbitraria) y asignarle un
valor de cero. Gracias a la sencilla estructura de estas ecuaciones, resulta muy fácil obtener
algebraicamente los valores del resto de las variables.
Para ejemplificar la prueba de optimalidad, consideremos la solución inicial básica factible
obtenida por la regla de la esquina noroeste para nuestro ejemplo en cuestión:

v1 v2 v3 v4 Recurso ui
s
u1 3 7 6 4 5
3 2
u2 2 4 3 2 2
2
u3 4 3 8 5 3
0 2 1
Costo=5
Demanda 3 4 2 1 2
vj

Página 57 © Ing. C. Sánchez.


Para este problema, existen m+n−1=3+4−1=6 variables básicas, que dan origen al siguiente
conjunto de ecuaciones:


3 = u1+v1
7 = u1+v2
4 = u2+v2
3 = u3+v2
8 = u3+v3
5 = u3+v4

Observemos que resultaron ser 6 ecuaciones que involucran 7 incógnitas (tres de las ui y
cuatro de las vj), por lo que este sistema de ecuaciones no es cuadrado. La forma de resolverlo es
dando un valor arbitrario a una de las incógnitas, para que, a partir de él encontremos el valor de las
demás. La regla para hacer esta asignación arbitraria nos dice que sea para la ui (ó renglón) que haya
tenido el mayor número de asignaciones. En nuestro ejemplo, el renglón 1 tuvo dos asignaciones, el
renglón 2 tuvo una asignación y por último el tercer renglón tuvo tres asignaciones, por lo que
asignamos el valor de cero a la incógnita u3. De esta asignación resulta lo siguiente:

3 = u1+v1
7 = u1+v2
4 = u2+v2
3 = u3+v2 →v2 = 3
8 = u3+v3 →v3 = 8
5 = u3+v4 →v4 = 5

Hemos obtenido el valor de tres incógnitas más, v2, v3 y v4, los cuales nos ayudarán para hallar
el valor de las incógnitas restantes:
3 = u1+v1 si u1=4, entonces v1= −1
7 = u1+v2 si v2=3, entonces u1= 4
4 = u2+v2 si v2=3, entonces u2= 1
3 = u3+v2 →v2 = 3
8 = u3+v3 →v3 = 8
5 = u3+v4 →v4 = 5

De esta forma hemos obtenido el valor de todas las incógnitas y procedemos a colocarlos en
la tabla como sigue:

v1 v2 v3 v4 Recurso ui
s
u1 3 7 6 4 5 4
3 2
u2 2 4 3 2 2 1
2
3

Página 58 © Ing. C. Sánchez.


u3 4 8 5 3 0
0 2 1
Costo=5
Demanda 3 4 2 1 2


vj −1 3 8 5

Ahora calculemos los valores cij−ui−vj para las variables no básicas, ya que para las básicas,
este valor es cero (por la forma de las ecuaciones con que se hallaron los valores de las incógnitas ui
y vj), y coloquemos estos valores en la esquina inferior izquierda de cada celda:

Para la celda (1,3): 6 − 4 − 8 = −6


Para la celda (1,4): 4 − 4 − 5 = −5
Para la celda (2,1): 2 − 1 − (−1) = 2
Para la celda (2,3): 3 − 1 − 8 = −6
Para la celda (2,4): 2 − 1 − 5 = −4
Para la celda (3,1): 4 − 0 − (−1) = 5

v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5 4
3 2
0 0 −6 −5
u2 2 4 3 2 2 1
2
2 0 −6 −4
u3 4 3 8 5 3 0
0 2 1
5 0 0 0
Costo=5
Demanda 3 4 2 1 2
vj −1 3 8 5

En este momento se puede aplicar la prueba de optimalidad para verificar los valores de
cij−ui−vj obtenidos. Como cuatro de estos valores (c13−u1−v3= −6, c14−u1−v4= −5, c23−u2−v3= −6,
c24−u2−v4= −4), son negativos, se concluye que la solución básica factible actual no es óptima.
Entonces, el método símplex de transporte debe proceder a hacer una iteración para encontrar una
mejor solución básica factible.

Una iteración.
Igual que para método símplex estándar, una iteración del método símplex de transporte debe
determinar una variable básica entrante (paso 1), una variable básica que sale (paso 2) y después
identificar la nueva solución básica factible que resulta (paso 3).

Página 59 © Ing. C. Sánchez.


Paso 1: como cij−ui−vj representa la tasa a la que cambia la función objetivo si se incrementa la
variable no básica xij, la variable que entra debe tener un valor de cij−ui−vj negativo, para que el costo


total Z disminuya. Entonces, los candidatos en la tabla anterior son x13, x14, x23 y x24 . Entre ellos se
elige el valor negativo más grande (en términos absolutos) de cij−ui−vj como la variable básica
entrante, que en este caso corresponde a x13 y x23. En los casos en que haya empate para la elección
de la variable básica entrante, este empate se rompe de manera arbitraria, ya que tarde o temprano
llegaremos a la misma solución independientemente de la elección de la variable. Pero, observemos
lo siguiente: ya que debemos elegir la variable básica “entrante, es decir, aquella que comenzará a
tener un valor (ya que antes no lo tenía porque era variable no básica), entonces, es conveniente que
elijamos aquella que tenga el costo menor, ya que el valor de la variable entrante multiplicado por su
respectivo costo será la contribución al costo total. En nuestro caso, el costo asociado a x13 es 6 y el
costo asociado a x23 es 3, por lo que la variable que debemos elegir como entrante es x23.
Paso 2: si se incrementa el valor de la variable básica entrante, se establece una reacción en
cadena de cambios compensatorios en otras variables básicas (asignaciones) para seguir
satisfaciendo las restricciones de recursos y demanda. La primera variable básica que disminuya su
valor hasta cero será la variable básica que sale. En general, siempre existe sólo una reacción en
cadena (en cualquier dirección) que se puede completar con éxito para conservar la factibilidad,
cuando la variable básica entrante aumenta su valor. Esta reacción en cadena se puede identificar si
se hace una selección entre las celdas que tienen variables básicas: primero, la celda donadora en
la columna que tiene la variable básica; después, la celda receptora en el renglón que corresponde a
la celda donadora; luego, la celda donadora en la columna en que se encuentra esta celda receptora,
y así sucesivamente, hasta que la reacción en cadena conduce a una celda donadora en el renglón
que tiene a la variable básica entrante. Cuando una columna o renglón tiene más de una celda
adicional con variable básica, puede ser necesario explorar el camino que se va aseguir para
averiguar cuál debe seleccionarse como celda donadora o receptora. (Todas las demás menos la
adecuada llegarán tarde o temprano a un camino sin salida en un renglón o columna que no tiene
otra celda con una variable básica). Después de identificar la reacción en cadena. La celda donadora
que tiene la asignación menor proporciona en forma automática la variable básica que sale. (En caso
de un empate para la celda donadora, se puede elegir cualquiera para proporcionar la variable básica
que sale).
Si x23 es la variable básica entrante, la reacción en cadena de la tabla anterior se resume
enseguida. (Siempre se indicará la variable básica entrante colocando un signo + encuadrado dentro
de su celda):

Página 60 © Ing. C. Sánchez.


v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5 4


3 2
0 0 −6 −5
u2 2 4 − 3 2 2 1
2 +
2 0 −6 −4
u3 4 3 +8 −5 3 0
0 2 1
5 0 0 0
Costo=5
Demanda 3 4 2 1 2
vj −1 3 8 5

Al aumentar x23 debe disminuir x33 en la misma cantidad para conservar la demanda de 2 en la
columna 3; esto a su vez requiere que se aumente x32 en esa cantidad para mantener la oferta de 3
en el renglón 3 y esto a su vez exige una disminución en el valor de x22 para conservar la demanda de
4 en la columna 2. Esta disminución en x22 completa con éxito la reacción en cadena ya que también
conserva la oferta del renglón 2.
El resultado final es que las celdas (2,3) y (3,2) se convierten en celdas receptoras, cada una
con su asignación adicional proveniente de las celdas donadoras (2,2) y (3,3). Estas celdas están
indicadas en la tabla anterior por medio de los signos + y −). Observe que tuvo que elegirse la celda
(3,2) como celda receptora para el renglón 3 y no la (3,4), ya que esta última no hubiera tenido celda
donadora en la columna 4 para continuar la reacción en cadena. Note además que, a excepción de la
variable básica entrante, todas las celdas receptoras y donadoras en la reacción en cadena deben
corresponder a variables básicas en la solución básica factible actual.
Cada celda donadora disminuye su asignación en una cantidad exactamente igual al aumento
que tiene la variable básica entrante (y las otras celdas receptoras). Entonces, la celda donadora que
comienza con la asignación más pequeña −en este caso las celdas (2,2) y (3,3)− debe ser la primera
en llegar a una asignación de cero conforme se incrementa la variable entrante x23. Así, x22 ó x23 se
pueden convertir en la variable básica que sale. Cuando existe empate para la variable básica que
sale, éste puede romperse de manera arbitraria, es decir, eligiendo cualquiera de las variables
donadoras con la asignación más pequeña como variable básica saliente. Como una regla empírica,
podemos seleccionar como variable básica saliente aquélla que tenga asociado el mayor costo
unitario, ya que como esta variable perderá completamente su valor (es decir, se convertirá de
variable básica a variable no básica), esperaríamos que el costo total de transporte disminuya. Así,
escogeríamos a x33 como variable básica saliente.

Página 61 © Ing. C. Sánchez.


Paso 3: la nueva solución básica factible se identifica sumando el valor (antes de los cambios) de la
variable básica que sale a las asignaciones de cada celda receptora y restando esta misma cantidad
de las asignaciones de cada celda donadora. En la tabla anterior se observa que el valor de la


variable básica que sale x33 es 2, por lo que esta porción de la tabla símplex de transporte cambia,
como se ilustra en la siguiente tabla para la nueva solución. (Como x33 es no básica en la nueva
solución, su nueva asignación es cero y ya no se muestra en la tabla).

v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5
3 2
0 0 −6 −5
u2 2 4 3 2 2
0 2
2 0 −6 −4
u3 4 3 8 5 3
2 1
5 0 0 0
Costo=4
Demanda 3 4 2 1 0
vj
En este momento se puede señalar una interpretación útil de las cantidades cij−ui−vj que se
obtienen en la prueba de optimalidad. Debido al cambio de 2 unidades en las asignaciones de las
celdas donadoras a las receptoras, el costo total cambia en:

∆Z = 2(3−8+3−4) = 2(−6) = −12 = 2(c23−u2−v3)

es decir, el costo total de transporte se decrementa en 12 unidades con respecto al costo anterior que
era de 52 unidades. Notemos que hemos obtenido una nueva política de transporte, la cual podemos
resumir así:

La nueva solución básica factible es x11=3, x12=2, x22=0 (variable básica degenerada), x23=2,
x32=2 y x34=1 y el costo total de transporte asociado es de:

x11 c11 x12 c12 x22 c22 x23 c23 x32 c32 x34 c34
Costo 3 (3 + 2 (7 + 0 (4 + 2 (3 + 2 (3 + 1 (5 = 40
= ) ) ) ) ) ) unidades

Antes de completar la solución del problema ejemplo, se hará un resumen de las reglas del
método símplex de transporte.

Página 62 © Ing. C. Sánchez.


Resumen del método símplex de transporte
Inicialización: Se construye una solución inicial básica factible. Se realiza la prueba de optimalidad.
Prueba de optimalidad: Se obtiene ui y vj eligiendo el renglón con el mayor número de asignaciones y


estableciendo su ui = 0, y después resolviendo el sistema de ecuaciones cij = ui+vj para cada (i,j) tal
que xij es básica. Si cij−ui−vj ≥ 0 para toda (i,j) tal que xij es no básica, entonces la solución actual es
óptima por lo que el proceso se detiene. De lo contrario, se regresa a una iteración.

Iteración:
1. Se determina la variable básica entrante: se elige la variable no básica xij que tiene el valor
negativo más grande (en términos absolutos) para cij−ui−vj.
2. Se determina la variable básica que sale identificando la reacción en cadena (encontrar un circuito)
que se necesita para conservar la factibilidad cuando se aumenta el valor de la variable básica
entrante. Entre las celdas donadoras se selecciona la variable básica que tiene el menor valor.
3. Se determina la nueva solución básica factible: se suma el valor de la variable básica que sale a
las asignaciones de las celdas receptoras y se resta este valor a las asignaciones de las celdas
donadoras.

Continuando con la aplicación de este procedimiento a nuestro problema, tenemos que


calcular los nuevos valores de las ui y vj y después los valores cij−ui−vj correspondientes a las
variables no básicas para determinar si todos cumplen con la prueba de optimalidad: Nuevamente
existen m+n−1=3+4−1=6 variables básicas, que dan origen al siguiente conjunto de ecuaciones:

3 = u1+v1
7 = u1+v2
4 = u2+v2
3 = u2+v3
3 = u3+v2
5 = u3+v4

Observemos que nuevamente resultaron ser 6 ecuaciones que involucran 7 incógnitas (tres de
las ui y cuatro de las vj). Ya que hay empate en el número de asignaciones que tiene cada renglón (2
asignaciones en cada renglón), asignemos el valor de cero a la incógnita u1. De esta asignación
resulta lo siguiente:
3 = u1+v1 → v1=3
7 = u1+v2 → v2=7
4 = u2+v2
3 = u2+v3
3 = u3+v2

Página 63 © Ing. C. Sánchez.


5 = u3+v4

Hemos obtenido el valor de dos incógnitas más, v1, y v2, los cuales nos ayudarán para hallar el
valor de las incógnitas restantes:


3 = u1+v1 → v1=3
7 = u1+v2 → v2=7
4 = u2+v2 si v2=7, entonces u2= −3
3 = u2+v3 si u2= −3, entonces v3=6
3 = u3+v2 si v2=7, entonces u3= −4
5 = u3+v4 si u3= −4, entonces v4=9

De esta forma hemos obtenido el valor de todas las incógnitas y procedemos a colocarlos en
la tabla como sigue:

v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5 0
3 2

u2 2 4 3 2 2 −3
0 2

u3 4 3 8 5 3 −4
2 1

Costo=4
Demanda 3 4 2 1 0
vj 3 7 6 9

Ahora calculemos los valores cij−ui−vj para las variables no básicas y coloquemos estos
valores en la esquina inferior izquierda de cada celda:

Para la celda (1,3): 6 − 0 − 6 = 0


Para la celda (1,4): 4 − 0 − 9 = −5
Para la celda (2,1): 2 − (−3) − 3 = 2
Para la celda (2,4): 2 − (−3) − 9 = −4
Para la celda (3,1): 4 − (−4) − 3 = 5
Para la celda (3,3): 8 − (−4) − 6 = 6

v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5 0
3 2
0 0 0 −5
u2 2 4 3 2 2 −3
0 2
2 0 0 −4
Página 64 © Ing. C. Sánchez.
2
u3 4 3 8 5 3 −4
2 1
5 0 6 0


Costo=4
Demanda 3 4 2 1 0
vj 3 7 6 9

Aplicando la prueba de optimalidad para verificar los valores de cij−ui−vj obtenidos, vemos que
dos de estos valores ( c14−u1−v4= −5, c24−u2−v4= −4) son negativos, se concluye que la solución básica
factible actual no es óptima. Entonces, el método símplex de transporte debe proceder a hacer una
iteración para encontrar una mejor solución básica factible. Aplicando el procedimiento descrito
anteriormente, se llega al siguiente conjunto de tablas símplex de transporte que se muestra
enseguida y que dan solución al problema planteado:

v1 v2 v3 v4 Recurso ui
7 s
u1 3 −6 4 5 0
3 2 +
0 0 0 −5
u2 2 4 3 2 2 −3
0 2
2 0 0 −4
u3 4 3 +8 5 − 3 −4
2 1
5 0 6 0
Costo=4
Demanda 3 4 2 1 0
vj 3 7 6 9

v1 v2 v3 v4 Recurso ui
7 s
u1 3 6 4 5
3 1 1
0 0 0 −5
u2 2 4 3 2 2
0 2
2 0 0 −4
u3 4 3 8 5 3
3
5 0 6 0
Costo=3
Demanda 3 4 2 1 5
vj

Página 65 © Ing. C. Sánchez.


La nueva solución básica factible es x11=3, x12=1, x14=1, x22=0 (variable básica degenerada),
x23=2 y x32=3 y el costo total de transporte asociado es de:


x11 c11 x12 c12 x14 c14 x22 c22 x23 c23 x32 c32
Costo 3 (3 + 1 (7 + 1 (4 + 0 (4 + 2 (3 + 3 (3 = 35
= ) ) ) ) ) ) unidades

Como en esta última tabla todas las cij−ui−vj son no negativas (¡comprobarlo!), la prueba de
optimalidad identifica este conjunto de asignaciones como óptimo, lo cual concluye el algoritmo.

Página 66 © Ing. C. Sánchez.

También podría gustarte