Upload
manuel-bedoya-d
View
63
Download
3
Embed Size (px)
Citation preview
1
INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES
Tabla de contenido P R O L O G O
FUNDAMENTACIÓN
1. Objetivo de la materia.
INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES
1. Antecedentes históricos de la IO.
2. Metodología de la Investigación de Operaciones
3. Aplicaciones de la Investigación de Operaciones
4. Referencias Bibliográficas
1. PROGRAMACION LINEAL (PL).
1.1. Objetivo.
1.2. Antecedentes históricos y definición.
1.3. Modelo de programación lineal general.
1.4. Formulación de problemas con programación lineal.
1.5. Solución para el modelo de programación lineal.
1.6. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo [MAT96]
1.7. Referencias bibliográficas
2. SOLUCIÓN ANALÍTICA DEL MODELO DE PROGRAMACIÓN LINEAL.
2.1. Objetivo.
2.2. Conceptos relacionados.
2.3. Teoremas de la programación lineal.
2.4. Método Simplex.
2.5. Matriz unitaria "I" de base con variables artificiales.
2.6. Casos especiales en la tabla Simplex.
2.7. Teoría de la dualidad.
2.8. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
2.9. Referencias bibliográficas
3. ANÁLISIS DE SENSIBILIDAD DEL MODELO DE PROGRAMACIÓN LINEAL.
3.1. Objetivo.
3.2. Método Dual - Simplex.
3.3. Análisis de sensibilidad.
3.4. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
3.5. Referencias bibliográficas
4. APLICACIONES DE LA PROGRAMACIÓN LINEAL
4.1. Objetivo.
4.2. Definiciones.
4.3. Red de distribución.
4.4. Redes de flujo
4.5. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
4.6. Referencias bibliográficas
A. ECUACIONES LINEALES, MATRICES Y DETERMINANTES.
A.1. Sistemas de ecuaciones lineales
A.2. Matrices y determinantes
B. RESULTADOS A PROBLEMAS EJERCICIO EN CAPÍTULOS DEL LIBRO.
B.1. Capítulo 1
B.2. Capítulo 2.
2
B.3. Capítulo 3.
B.4. Capítulo 4.
P R O L O G O
Cuando se tiene la intención de cursar INVESTIGACIÓN DE OPERACIONES (IO), ya sea como opción o bien
obligadamente en el conjunto de materias que componen la carrera elegida, una de las primeras informaciones que se
tiene acerca de la misma es su gran aplicación en todo tipo de instituciones, como metodología para resolver los
problemas que se presentan, y también la dificultad para aprenderla con la insatisfacción por no haber cumplido los
objetivos que regularmente se fijan.
Es conveniente aclarar que la IO es el nombre del conjunto de conocimientos para enfrentar los problemas que se
presentan en las grandes organizaciones humanas, involucrando filosofía de solución integral con enfoque sistemático,
con gente interdisciplinaria utilizando la ciencia con modelos matemáticos y técnicas de muestreo.
Pero la dificultad empieza desde que se programa el contenido del curso que por razón del tiempo asignado al mismo,
debe limitarse el material para exponer, ejemplificar, estudiar y ejercitar. Por tal motivo, las expectativas del estudiante
en nivel de licenciatura deben ser congruentes a las restricciones que normalmente caracterizan un curso de IO, el
cual se prepara para impartir una o más técnicas matemáticas, elegidas entre las que más se utilizan en el medio; los
estudiantes tienen así la oportunidad de hacer un acercamiento al material de estudio de esta asignatura y
posteriormente, ya sea en cursos de postgrado o profesionalmente, entrar de lleno a la aplicación de la IO a un caso.
Con este proyecto de libro se pretende tener un avance, en la exposición del material que está contenido en los cursos
de la UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y
ADMINISTRATIVAS (UPIICSA) del INSTITUTO POLITÉCNICO NACIONAL (IPN). Para ello, un modelo
avanzado al estudiar IO debe ser suficientemente claro para su aprendizaje asistiendo al salón escolar y también para
la persona que con toda buena voluntad, lo emprenda a distancia a través de algún medio, vía correspondencia o
computarizado, mediante el sistema que el IPN tiene considerado para servir a la educación superior. El proyecto del
IPN incluye la elaboración de material didáctico agrupado en volúmenes que se denominan POLILIBROS
conteniendo los elementos del conocimiento diseñados para cumplir los objetivos de asignaturas y carreras
profesionales. De esta manera puede atender, de un modo flexible en tiempo y espacio, el aprendizaje independiente
de una población masiva y dispersa de alumnos, tanto en las aulas de sus diferentes unidades como fuera de ellas,
para aquellos que no pueden asistir a la escuela.
Con el material de este libro se piensa proporcionar no sólo información, se busca también la formación del alumno
en un modelo de educación a distancia que propicie el estudio independiente para adquirir el conocimiento y
cultura que se propone sin la intervención directa del maestro. Se requieren las siguientes características para que el
curso propuesto tenga aceptación institucional:
Material de apoyo suficiente para cumplir los objetivos de la asignatura específica y de carrera
interdisciplinaria.
Infraestructura modular para facilitar su uso en un sistema computarizado en el sitio web conveniente con
organización orientadora para que el alumno capte los conceptos y se motive a continuar interactuando con
los ejemplos expuestos y los ejercicios parcialmente resueltos que se sugiere terminar.
Suficientes ejemplos de problemas típicos, de formulación de modelos, algunos resueltos gráfica y
analíticamente, para la mejor comprensión de los algoritmos.
3
Agradezco a UPIICSA, importante unidad interdisciplinaria del Instituto Politécnico Nacional, la oportunidad que me
da al presentar esta propuesta de libro que espero contribuya en la formación de personal técnicamente preparado que
requiere el país.
FUNDAMENTACIÓN
La INVESTIGACIÓN de OPERACIONES es una metodología científica aplicable al análisis de problemas complejos
para la toma de decisiones en un medio ambiente socio-económico, administrativo o de ingeniería, en instituciones
públicas o privadas. Su utilización debe ser en la forma de participación interdisciplinaria cuya característica es
esencial en el perfil considerado para los egresados de la Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias
Sociales y Administrativas, perteneciente al Instituto Politécnico Nacional.
Esta disciplina de estudio en las cinco licenciaturas de UPIICSA, contribuye a formar en el egresado la necesaria
organización en su pensamiento para el uso del método científico en el análisis riguroso de los problemas que enfrente
y la aplicación de técnicas de solución.
1. Objetivo de la materia.
Con el estudio de esta materia, el alumno debe aprender la aplicación del método científico en el análisis y solución
de algunos problemas representativos y comunes para el profesional en las áreas empresariales y de gobierno como
son administración, ingeniería, transporte y sistemas de información. Se inicia al estudiante en la aplicación de las
técnicas matemáticas más usuales de esta metodología, como son la programación lineal y sus aplicaciones.
4
Tabla de
contenido 1. Antecede
ntes
históricos
de la IO.
2. Metodolo
gía de la
Investigació
n de
Operaciones
3. Aplicacio
nes de la
Investigació
n de
Operaciones
4. Referenci
as
Bibliográfic
as
Rusell L. Ackoff
5
George Dantzig
George Dantzig y Rusell Ackoff , investigadores de origen norteamericano, se consideran pioneros en
el nacimiento y desarrollo de metodologías científicas, en el campo de la Programación Lineal e
Investigación de Operaciones , respectivamente, desde el pasado siglo XX
También se conoce como Ciencia de la Administración, debido a que su aplicación se restringe a sistemas creados
por el hombre como son organizaciones de todo tipo, institutos y empresas, en general es utilizada para tomar
decisiones en problemas con características de complejidad para resolverlos, por lo que es necesaria la intervención
de personal interdisciplinario actuando en equipo, para aplicar el método científico, con el objetivo común de buscar
una solución integral y óptima.
Actualmente, una persona con cualquier formación profesional, desempeñando la función de administrador en cierta
área de la organización, sea del sector público o privado, requiere de la utilización de las matemáticas y las
computadoras para tomar decisiones racionales al enfrentar los problemas. El mundo complicado de mercado en que
se vive ahora, exige la aplicación de estrategias refinadas y aún sofisticadas que aseguren la buena conducción de la
empresa; para una buena parte de las organizaciones ya no es suficiente confiar a la experiencia personal las decisiones
adecuadas, pues depende por lo general de la evaluación de alternativas de acción que pueden consumir mucho tiempo
valioso, además, que pueden ser demasiadas para esperar el buen juicio de una sola persona. De esta manera se impone
el uso del procesador electrónico, capacitado para manejar cantidades masivas de información, pero requiere de
software que se elabora a partir de la interpretación abstracta o modelo matemático construido por los técnicos
responsables.
En resumen, personas con formación interdisciplinaria actuando en equipo, emplean la Investigación de
Operaciones (IO), aplicando procedimientos, técnicas y herramientas científicas a problemas operativos de las
organizaciones con el propósito de desarrollar y ayudar a evaluar alternativas de solución.
DEFINICIONES DE DIFERENTES AUTORES.
En el libro de Shamblin y Stevens llamado Investigación de Operaciones.
Un Enfoque Fundamental de la editorial Mc Graw Hill impreso en México, 1991.
La Investigación Operacional es un enfoque científico de la toma de decisiones
En el libro de Ackoff y Sasieni llamado Fundamentos de Investigación de Operaciones de la editorial Limusa impreso
en México en 1994.
La Investigación de Operaciones es: La aplicación del método científico, por equipos interdisciplinarios, a problemas
que comprenden el control de sistemas organizados hombre-máquina, para dar soluciones que sirvan mejor a los
propósitos de la organización como un todo.
En el libro de Thierauf y Grosse llamado Toma de decisiones por medio de Investigación de Operaciones de la
editorial Limusa impreso en México en 1977.
La investigación de Operaciones utiliza el enfoque planeado (método científico) y un grupo interdisciplinario, a fin
de representar las complicadas relaciones funcionales en modelos matemáticos para suministrar una base
cuantitativa para la toma de decisiones, y descubrir nuevos problemas para su análisis cuantitativo.
6
Libro de Moskowitz y Wright. Investigación de Operaciones. Prentice Hall 1979.
Método científico aplicado a problemas y la toma de decisiones por la gerencia.
En el libro de Winston llamado Investigación de Operaciones. Aplicaciones y Algoritmos 2ª edición. Grupo Editorial
Iberoamérica impreso en México en 1994.
Planteamiento científico a la toma de decisiones, que busca determinar cómo diseñar y operar mejor un sistema,
normalmente bajo condiciones que requieren la asignación de recursos escasos.
1. Antecedentes históricos de la IO.
La búsqueda de la mejor solución (máxima, mínima, o también la óptima) para una variedad de problemas ha divertido
e intrigado al hombre a través de las épocas. Euclides en su libro III, describió formas de encontrar las líneas rectas
de mayor y menor longitud, desde un punto hasta la circunferencia de un círculo; y en el libro IV, el paralelogramo
de mayor área para un perímetro dado. Los grandes matemáticos de los siglos XVI a XVIII desarrollaron la teoría y
proceso de optimización que resuelven difíciles problemas geométricos, dinámicos y físicos, tales como las curvas de
revolución mínima o la curva de descenso más rápido.
En general, la historia no se escribe con exactitud, pero si se pueden recopilar hechos que describan de alguna manera
la evolución conocida de acuerdo con escritos, estudios e investigaciones encontradas. Las técnicas utilizadas en la
aplicación de la IO conducen al pasado siglo XX, pero también al pasado remoto de siglos como antecedentes. Para
ello es conveniente fijarse en la idea fundamental de la IO que es el método científico cuyo origen exacto se
desconoce. En escritos hechos hace milenios como es el Antiguo Testamento se menciona a Jetro, suegro de Moisés,
como autor de un tratado de principios de organización y más recientemente, en el antepasado siglo XIX, Charles
Babbage es autor del trabajo On the Economy of Machinery and Manufactures. Al ingeniero Frederick Winslow
Taylor, norteamericano de origen, se le reconoce la paternidad de la Administración Científica debido a sus
investigaciones sobre las obligaciones y tareas de los jefes de taller, así como también de la producción diaria
individual según la capacidad del obrero para tareas específicas, definiendo así la división del trabajo mediante
capacitación, selección y adiestramiento de los trabajadores. Además, Taylor aplicó el análisis científico a los
problemas de manufactura, estableciendo normas de trabajo y la especialización. Por su parte Henry L. Gant, planeó
las tareas de las máquinas para evitar demoras de producción. Así es posible fijar fechas de entrega con más seguridad.
También contribuyó al enfoque científico incluyendo el aspecto humano como integrante.
Con el inicio del siglo XX, los investigadores también utilizaron procedimientos científicos para analizar problemas
localizados fuera de las ciencias puras como son la Física, la Química, la Biología, entre otras más, pero en la década
que se inicia en 1910, Taylor se dedicó a buscar la eficiencia para las tareas haciendo valer los estudios de tiempos y
movimientos de Frank y Lillian Gilbreth eliminando movimientos innecesarios y desperdicios en cada tarea. En la
misma década durante la 1ª. Guerra Mundial, se le confió a Thomas A. Edison el averiguar las maniobras más eficaces
de los barcos mercantes para disminuir los embarques perdidos por ataques de los submarinos enemigos. Edison
empleó un "tablero táctico" como modelo para simular las operaciones reales.
Un ingeniero danés A. K. Erlang hizo experimentos relacionados con las fluctuaciones de la demanda telefónica en
equipo automático quedando estos trabajos como fundamento de muchos modelos matemáticos que se usan
actualmente en los estudios de Teoría de Colas o Líneas de Espera. En 1937, a punto de empezar la Segunda Guerra
Mundial, se juntó en el Reino Unido a un equipo de matemáticos, ingenieros y científicos en áreas básicas, para
estudiar los problemas estratégicos y tácticos asociados con la defensa del país. Se formó un equipo cuyo objetivo era
determinar la utilización más efectiva de los limitados recursos militares. En consecuencia, a las actividades de este
7
grupo se le llamó Investigación Operacional, que es terminología común en el medio militar. Primero se les pidió
ayuda para los militares en la utilización eficiente del radar para localizar aviones enemigos; después en 1940 se
reunió otro grupo, el circo de Blackett encabezado por el distinguido físico inglés P. Blackett para estudiar la actuación
del equipo de control de cañones en el campo; había tres fisiólogos, cuatro matemáticos, un físico, un astrofísico, un
oficial militar y un agrimensor.
En los Estados Unidos de Norteamérica se motivaron por los éxitos alcanzados por los grupos británicos, en Abril de
1942 se decidió introducir la IO a nivel superior, emprendiendo también estudios tales como: problemas logísticos
complejos, el desarrollo de patrones de vuelo para aviones y la planeación de maniobras navales. En la Fuerza Aérea
se le dio el nombre de Análisis de Operaciones y en el Ejército y la Marina los de Investigación de Operaciones y
Evaluación de Operaciones, respectivamente. Cuando terminó la guerra, la necesidad de reconstruir en la Gran
Bretaña, dio lugar al surgimiento de otros problemas de administración en sectores de gobierno e industria los cuales
demandaron la actuación de los mismos científicos especializados en la IO.
También en los Estados Unidos de Norteamérica, en la década de 1950 con el desarrollo y comercialización de las
computadoras, los investigadores de operaciones y la gente asociada con las operaciones de la última guerra, se
percataron que los estudios realizados en la misma eran de gran utilidad, aplicados a los problemas industriales. La
computadora y el desarrollo de la IO motivaron a los ejecutivos industriales y a los especialistas de esta disciplina
para reunirse y provocar su rápido crecimiento.
La Programación Lineal (PL) tuvo un gran impulso para la investigación industrial dando entrada las empresas a
muchos especialistas; las técnicas Pert, control de inventarios, y la simulación, empezaron a emplearse con éxito; en
vez de los simples promedios, se incluyeron la probabilidad y la estadística tan útiles en cualquier estudio moderno.
Actualmente el uso de la IO es extenso en áreas de: contabilidad, compras, planeación financiera, mercadotecnia,
planeación de producción, transporte y muchas otras más, convirtiéndose en importante instrumento de competencia
para los presupuestos y contratos.
La siguiente tabla esboza parte de los estudios y técnicas en que se apoyaron los grupos de IO en el desarrollo de esta
disciplina.
Antecedente histórico de Investigación de Operaciones.- Desde el siglo XVI:
8
Figura 1. Técnicas utilizadas en IO
Se puede observar que la IO fue desarrollada en el siglo XX con el apoyo, siglos atrás, de importantes aportaciones
de científicos que con su talento y dedicación, dejaron sólidos cimientos para los estudios de solución en los sistemas
actuales.
2. Metodología de la Investigación de Operaciones
El enfoque de sistemas a un problema, es característico en la IO, consiste en examinar toda el área que es
responsabilidad del administrador y no una en particular; esto permite que el grupo de IO observe los efectos de
acciones fuera del área de localización del problema, lo que puede permitir resolver el problema verdadero y no sólo
sus síntomas. Además, debe incluirse una base cuantitativa o modelo para la toma de decisión en la solución del
problema, pero en algunos casos, las respuestas dadas por la computadora conducirán a la necesidad de ciertas
modificaciones que reflejen la futura condición del negocio o bien será una guía a seguir por el administrador sin
necesidad de hacer cambios.
La investigación de operaciones proporciona la oportunidad de que sus resultados se utilicen en la toma de decisiones
a niveles administrativos superiores, medianos y bajos. La experiencia del administrador, las futuras condiciones del
negocio y los resultados de un modelo matemático forman la mejor combinación para la planeación, organización,
dirección y control de las actividades de la empresa. El procedimiento de siete pasos mostrado en el siguiente
diagrama, puede constituir una metodología de acción al aplicar la IO.
9
Figura 2. Diagrama con metodología de la investigación de operaciones
Paso 1.- Identificar el problema.
Comienza con la observación de los fenómenos que rodean el problema; hechos opiniones y síntomas relativos
al mismo. Esto incluye la especificación de los objetivos de la organización y de las partes a analizar de la
misma. En algunas ocasiones puede que el problema no esté bien definido porque entran en conflicto los
objetivos, como es maximizar la utilidad, pero también es deseable minimizar los costos totales, lo cual es
improbable lograr simultáneamente; por tal motivo se requiere diálogo y acuerdos entre los miembros del
equipo de IO y la parte corporativa para decidir un objetivo global. También las primeras observaciones
10
pueden resultar con objetivos en conflicto como es un departamento de producción que desea programar
grandes y prolongadas campañas de un sólo artículo para disminuir los costos de preparación y montaje de sus
máquinas. Pero en contraste, si se cumple lo anterior, crecerían los inventarios de materia prima y de producto,
tanto en proceso como terminado, causando serios problemas en departamentos de: ventas, contabilidad y
finanzas. De este modo, ventas desea un gran inventario pero muy variado, con una producción muy flexible;
por su parte finanzas desea mantener el inventario bajo y mejorar las inversiones de capital. Cuando muchos
factores de esta clase concurren en el problema es indispensable la aportación de la interdisciplinar del equipo
de IO, pues es razonable que las fases individuales de un problema se comprendan y analicen mejor por los
que tienen el adiestramiento especial, necesario en los campos apropiados. Por ejemplo, un banco desea reducir
los gastos relacionados con los salarios de los cajeros, pero manteniendo un nivel adecuado de servicio a los
clientes (tiempo de espera razonable para el cliente y de ocio para los cajeros). Los aspectos funcionales del
banco que influyen para conseguir los objetivos pueden ser los que siguen:
Llegadas promedio al banco de clientes por hora, pues conforme aumenta se deben instalar cajeros
adicionales para tener el nivel deseado de servicio.
Promedio de clientes servidos por hora de uno o más cajeros.
Efecto sobre los objetivos del banco, de mantener filas (colas) para cada caja o formar una sola que
distribuye clientes conforme se desocupan las cajas.
Intercambio entre filas de clientes, con desorden, en sistema de cola por caja.
Paso 2.- Observar el sistema
Se determinan aquellos factores que afectan, como son: variables, limitaciones y suposiciones. Los factores
variables que requieren decisiones como es el nivel de inventario y la necesidad de publicidad; las limitaciones
restringen el uso de recursos como: dinero, tiempo, personal, capacidad productiva, existencias de materia
prima; las suposiciones pueden ser para: precios de producto y competencia del mercado. Hay que reunir datos
para estimar valores de los parámetros que afectan el problema de la organización. En el ejemplo del banco,
algunos parámetros pueden ser:
Llegadas promedio de clientes por hora (tasa), durante la jornada bancaria.
Promedio de clientes servidos por hora en caja con diferente tamaño de fila.
Paso 3.- Formular un modelo matemático del problema
Consiste en el desarrollo de cursos alternativos de acción o hipótesis, en la forma de modelo matemático que
generalmente se diseña para usarse en computadora con el software correspondiente para obtener la solución
óptima o una aproximación a ella. Frecuentemente en este paso, hay necesidad de desarrollar varios modelos
que a primera vista parecen prometedores, posteriormente se van desechando conforme muestran sus
deficiencias para seleccionar el que se ajusta más a los objetivos planteados, los que no deben descuidarse
especificando una ecuación como medida de efectividad con el objetivo preciso. Se puede construir (formular)
un modelo que represente la estructura del sistema real en términos cuantitativos para manipularse y
experimentar cambiando ciertas variables y manteniendo como constantes a otras para conocer los efectos
sobre el sistema que se estudia. De esta manera, se puede experimentar con el mundo real en términos
abstractos. La construcción de los modelos matemáticos puede ser muy difícil incluyendo expresiones
complejas con variables controlables como son: precios de venta, número de unidades producidas, algunos
costos, número de vendedores, restricciones presupuestadas; por otra parte, las variables no controlables por
la administración pueden ser: precios de los competidores, costo de las materias primas, costos de mano de
obra, demanda de los clientes y su localización. Las variables controlables y las no controlables se relacionan
11
con matemáticas en forma precisa, el conjunto de expresiones forman lo que se llama modelo matemático
cuya solución es función de los valores que tomen dichas variables. La construcción del modelo debe incluir
una ecuación objetivo, con la previa definición del significado cuantitativo de las variables involucradas y
puede necesitar el complemento de un grupo de expresiones restrictivas para los valores posibles de las
variables controlables. Por ejemplo, unidades que se producen, dinero gastado, demanda de clientes,
asignación de recursos, disponibles o requeridos, como son las desigualdades (<= o >=) para no exceder lo
especificado o para cumplir el mínimo requerido. Hay dos procedimientos para obtener la mejor solución a un
problema partiendo de un modelo: el analítico y el numérico. El analítico emplea la deducción matemática
con base en el álgebra y/o cálculo para lograr la solución óptima de acuerdo a las consideraciones de diseño;
por otro lado, el numérico prueba diversos valores de las variables de control del modelo, compara los
resultados obtenidos y selecciona la serie de valores que optimizan. Estos procedimientos varían, desde los de
tanteo hasta los iterativos. Para ciertas situaciones complejas no hay modelo analítico que las represente en
forma válida, en estos casos se puede recurrir a un modelo de simulación que permite, con la ayuda de la
computadora, aproximar el comportamiento del sistema y buscar la mejor solución. En este paso es común el
regreso al paso 2 para ajustes de observación.
Paso 4.- Verificar el modelo y usarlo en predicciones
Se trata ahora de verificar si el modelo matemático diseñado en el paso 3 anterior, es una buena representación
de la realidad que se estudia, calificando su validez para situaciones actuales. Cuando sea posible, se debe
obtener información respecto al comportamiento del modelo al cambiar valores en sus variables y parámetros,
especialmente si estos últimos no se pueden determinar con exactitud, esto se conoce como análisis de
sensibilidad o experimentación sobre el modelo y con ayuda de la computadora, cambiando los valores a
variables y parámetros, que representen las situaciones reales, incluyendo las desventajosas. Frecuentemente,
si la experimentación es muy limitada, se pueden tener resultados engañosos que posteriormente en aplicación
a población mayor, se debe regresar a corregir los criterios equivocados en los pasos precedentes 2 y 3. Con
el análisis de sensibilidad se puede ajustar:
La medida de efectividad u objetivo como es el dinero como utilidad o costo.
Revisión de las variables bajo control o de decisión.
Revisión de las variables no controlables y ambientales como demanda y ubicación de clientes, precios
de la competencia, o nivel de actividad económica.
Relación de los factores ya mencionados con las restricciones propuestas.
En particular para el ejemplo del banco, si los valores de predicción para el tiempo de espera en cola y el nivel
de servicio no están cerca de los valores reales obtenidos en la observación del paso 2, seguramente se
necesitará otro modelo o al menos revisar los parámetros considerados al mismo. Este caso es para analizar,
si el modelo es válido para las situaciones de poca demanda de clientes y para los días de pago acostumbrados.
Paso 5.- Seleccionar una alternativa
Si existe una alternativa que se adapte mejor a los objetivos de la organización con el modelo matemático
propuesto, entonces debe seleccionarse para su presentación a los responsables de decidir, pero frecuentemente
la situación no es clara para hacerlo así, porque el conjunto de opciones resultantes está sujeta a restricciones
difíciles de cumplir o imposibles.
Paso 6.- Presentar resultados a la organización
12
Al terminar la etapa de pruebas y desarrollo de un modelo con solución aceptable, se puede presentar una
recomendación o bien varias alternativas para que la organización seleccione la que mejor se ajustan a sus
necesidades. Generalmente hay necesidad de mostrar varias corridas de computadora, en cuyo caso es
conveniente instalar un sistema bien documentado para aplicar el modelo según lo establecido por la
administración. Este sistema debe incluir, tanto el modelo como el procedimiento de solución, análisis de
sensibilidad y los procedimientos operativos para su probable implantación. Pero dado el caso muy frecuente
de rechazo a la solución propuesta, ya sea por definición incorrecta o debido a la poca participación del
tomador de decisión, entonces será necesario regresar al paso 1,2 ó 3.
Paso 7.- Implantar y evaluar las recomendaciones
Si la organización acepta el estudio con la propuesta de solución, se procede a la implantación que incluye el
sistema de cómputo y la vigilancia constante para las actualizaciones por cambios en el sistema. Con
frecuencia se requiere un número considerable de programas integrados. Las bases de datos y los sistemas de
información administrativos pueden proporcionar información actualizada cada vez que el modelo se utilice,
en cuyo caso se necesitan programas de interfaz (interacción con el usuario) para hacer amigable la operación
del sistema propuesto. También se pueden instalar programas adicionales que manejen los resultados del
implante de manera automática o bien un sistema interactivo de computadora denominado sistema de soporte
de decisiones, para ayudar a la dirección con información relevante en sus decisiones. Se puede generar
informes con la terminología usual en el medio, que relacionen los resultados entregados por el sistema
implantado y las implicaciones. Dependiendo del tamaño del estudio se pueden requerir meses o años para
implantar (desarrollar, probar e instalar) el sistema computarizado y posteriormente su mantenimiento en las
indispensables actualizaciones de programas, modelo y aún de equipo (hardware). Cualquier falla o rechazo
en la implantación puede hacer necesario la revisión y ajuste en los pasos 1, 2, 3 y 4.
UBICACIÓN DE LA IO EN LAS ORGANIZACIONES.- La investigación de operaciones ha tenido un impacto
impresionante en el mundo, al mejorar la eficiencia de muchas organizaciones. Ha hecho contribuciones significativas
al incremento de la productividad dentro de la economía de muchos países, de ellos más de 30 que son miembros de
la International Federation of Operational Research Societies (IFORS). Al inicio de la década de los 90, el U.S. Bureau
of Labor Statistics predijo que la IO sería la 3ª área profesional, de más rápido crecimiento para los egresados
graduados entre 1990 y 2005 en Estados Unidos, con 100,000 personas laborando como analistas de IO en el 2005.
El problema de la localización de un grupo de IO dentro de la empresa ha merecido una gran atención, sin embargo,
no hay una posición preferida para las organizaciones; pero se puede decir que los que han tenido éxito dependen de
los niveles jerárquicos superiores de la institución, lo cual da una base firme para su funcionamiento con obligaciones
de enfrentar los problemas de tomar decisiones y de utilidad inmediata para la administración. Teniendo el respaldo
de la autoridad superior con prestigio dentro de la empresa, se podrán cruzar los linderos departamentales y obtener
la información necesaria para dar soluciones.
Generalmente el grupo de IO se asocia con el de sistemas de procesamiento de datos, pues el acceso a las
computadoras es el apoyo indispensable para sus actividades, por lo que no es raro que estén integrados dada la
posibilidad de tener el mejor manejo de la información deseada y ordenada como convenga. De este modo ambos
grupos, el de IO y el de sistemas de procesamiento de datos, se complementan en términos de los objetivos de la
institución.
Para la mayoría de los estudios de IO, se recomienda un equipo compuesto de analistas y de personal involucrado en
el problema que se enfrenta, este grupo informa a un Comité Directivo de la Administración integrado por los
directivos departamentales que están afectados en el problema estudiado de IO, los cuales a su vez se reúnen con la
13
administración superior para reportar los progresos. Los comités allanan el camino del personal de IO para obtener la
cooperación del personal de operación y su aceptación.
3. Aplicaciones de la Investigación de Operaciones
Áreas funcionales
Una muestra de los problemas que la IO ha estudiado y resuelto con éxito en negocios e industria se tiene a
continuación:
Personal
La automatización y la disminución de costos, reclutamiento de personal, clasificación y asignación a tareas
de mejor actuación e incentivos a la producción.
Mercado y distribución
El desarrollo e introducción de producto, envasado, predicción de la demanda y actividad competidora,
localización de bodegas y centros distribuidores.
Compras y materiales
Las cantidades y fuentes de suministro, costos fijos y variables, sustitución de materiales, reemplazo de equipo,
comprar o rentar.
Manufactura
La planeación y control de la producción, mezclas óptimas de manufactura, ubicación y tamaño de planta, el
tráfico de materiales y el control de calidad.
Finanzas y contabilidad
Los análisis de flujo de efectivo, capital requerido de largo plazo, inversiones alternas, muestreo para la
seguridad en auditorías y reclamaciones.
Planeación
Con los métodos Pert para el control de avance de cualquier proyecto con múltiples actividades, tanto
simultáneas como las que deben esperar para ejecutarse.
La lista de áreas funcionales de la organización que son de posible aplicación de la IO, es ilustrativa del potencial que
tiene para resolver el problema de la empresa.
Problemas ejemplo de aplicación con éxito de la IO.- En los siguientes problemas el gobierno o empresa, ahorraron
millones de dólares en la aplicación de la IO:
1. Programación del horario de las rondas de policías de San Francisco.-En 1989 Taylor y Huxley diseñaron un
método para programar el horario de las rondas de oficiales de la Policía de San Francisco, usando un modelo
14
de programación lineal, la programación de metas y la programación entera. El ahorro sumó 11 millones de
dólares anuales.
2. Reducción de gastos de combustible en la industria de la energía eléctrica.- En 1989 Chao y Cols ahorraron a
79 empresas de servicio de energía eléctrica más de 125 millones de dólares en costos de compras y de déficit,
usando programación dinámica y simulación.
3. Diseño de una instalación para desmontar lingoteras en Bethlehem Steel.- En 1989 Vasko y Cols ayudaron a
esta empresa siderúrgica con el diseño del sistema de quitar lingoteras a los lingotes de acero con un modelo
de programación entera ahorrando 8 millones de dólares anuales.
4. Mezcla de gasolinas en Texaco.- Con programación lineal y no lineal Dewit y Cols diseñaron un modelo de
mezcla para cuatro tipos de gasolina ahorrando 30 millones de dólares al año; aplicando análisis de sensibilidad
calcularon el efecto de cambios al modelo.
5. Programación del horario de los camiones para North America Van Lines.-En 1989 Powell y Cols, con
modelos de redes y programación dinámica, formularon la asignación de carga a chóferes, reduciendo costos
en 2.5 millones de dólares, con mejor servicio.
6. Administración del inventario a Blue Bell.-En 1985 Edwars, Wagner y Wood con programación lineal y
modelos probabilísticos de inventario redujeron el nivel medio de inventario de ropa deportiva y de oficina en
un 31%.
7. Determinación de carteras de bonos.- Varias personas (Chandy y Kharabe, 1986) utilizaron la programación
lineal para máxima ganancia con restricciones de riesgo y de la diversificación de la cartera.
8. Planeación de producción en lechería.-En 1985 Sullivan y Secrest, usaron programación lineal con utilidad de
48000 dólares, al determinar el proceso: del suero, la leche cruda, el suero dulce y la crema, para obtener:
queso crema, requesón, crema agria y crema de suero.
9. Reemplazo de equipo en Phillips Petroleum.- Para el reemplazo de equipo usaron modelos (Waddell, 1983),
que se estima ahorraron 90000 dólares por año.
4. Referencias Bibliográficas
ACK68. - Ackoff Rusell L. & Sasieni Maurice W.
Fundamentals of Operations Research. Wiley. New York. 1968.
DAN63. - Dantzig George B.
Linear Programming and Extensions. Princenton University Press. Princenton N.J. 1963.
GAS74. - Gass Saul I.
Linear Programming. Methods and Applications. McGraw Hill, New York.1974
HIL95. - Hillier-Lieberman.
Introducción a la Investigación de Operaciones.-McGraw-Hill.- 6a.edición.- 1995.
SHA78. - Shamblin - Stevens.
Investigación de Operaciones. Un enfoque Fundamental.- Mc Graw Hill. Primera edición. 1978.
15
THI77.- Thierauf-Grosse.
Toma de decisiones por medio de la Investigación de Operaciones.-Limusa.- 1ª edición, 4ª Reimpresión.-
1977.
WAG75. - Wagner H.
Principles of Operation Research. 2d. edition. Englewood Cliffs. N. J. Prentice Hall. 1975.
WIN94.- Winston Wayne.
Investigación de Operaciones. Aplicaciones y Algoritmos.- Grupo Editorial Iberoamérica.- 2ª Edición.-1994.
Capítulo 1. PROGRAMACION LINEAL (PL).
Tabla de contenido 1.1. Objetivo.
1.2. Antecedentes históricos y definición.
1.3. Modelo de programación lineal general.
1.4. Formulación de problemas con programación lineal.
1.5. Solución para el modelo de programación lineal.
1.6. Ejercicios, actividades de aprendizaje y autoevaluaciones
correspondientes al capítulo [MAT96]
1.7. Referencias bibliográficas
1.1. Objetivo.
Iniciarse en la técnica de programación lineal con el aspecto más importante del método científico: la representación
o modelo en formulación matemática lineal de algunos problemas elegidos, los agrupados en "clásicos"; también debe
aprender los conceptos teóricos fundamentales utilizando la metodología gráfica en sólo dos variables.
1.2. Antecedentes históricos y definición.
El desarrollo de la programación lineal se considera entre los avances científicos más importantes del siglo XX, pues
su impacto ha sido extraordinario. Actualmente es una herramienta de uso común que ha beneficiado a muchas
organizaciones en distintos países con ahorros de cualquier índole, por lo que su uso se está ampliando rápidamente
a todos los sectores de la sociedad. Una gran mayoría de los cálculos científicos en computadoras usan la
programación lineal proliferando las publicaciones y libros sobre esta materia de gran aplicación.
Uno de sus antecedentes se registra con el método de análisis de insumo-producto que desarrolló el economista W.
Leontief; también se debe reconocer al economista y matemático soviético L.V. Kantorovich, quien ya en 1939
formuló y resolvió un problema de programación lineal para la organización y planeación de la producción; otro
antecedente es, la interpretación de Hitchcock a "un problema de tipo de transportación" en 1941. El problema de la
16
dieta, fue analizado por Stigler en 1945. El gran impulso de la programación lineal para la industria y los negocios se
identifica con el doctor George Dantzig, matemático norteamericano de origen, que desarrolló el algoritmo Simplex,
un método sistemático de resolución para problemas modelados con programación lineal. Esto ocurrió en 1947 cuando
se ocupó, con Marshal Wood y asociados, de un proyecto para la Fuerza Aérea de los Estados Unidos. Se organizó
un grupo de investigación con el título de Proyecto SCOOP (Scientific Computation of Optimum Programs).
Actualmente las principales aplicaciones de la PL son del área industrial; también, aunque en menor parte, en el campo
urbano y social.
A partir de 1950, un número cada vez mayor de investigadores (matemáticos y economistas) aislados o constituyendo
grupos contribuyen al desarrollo de las diferentes ramificaciones de la programación lineal; en particular, la "Rand
Corporation" con G. B. Dantzig y W. Orchard-Hays, después L. R. Ford, D. R. Fulkerson, y D. Gale; el departamento
de matemáticas de la Universidad de Princenton con A. W. Tucker y H. W. Kun; la "Graduate School of Industrial
Administration" del "Carnegie Institute of Technology" con A. Charnes y W. Cooper. Los dos primeros grupos
trabajan en la teoría matemática de los programas y su instalación en computadoras; los resultados se publicaron en
la "Rand Corporation" en la serie de "Rand notes on linear programming and extensions" (desde 1953 a 1961); se
deben mencionar las de Dantzig sobre los desarrollos teóricos, las de W. Orchard_Hays sobre la instalación de los
programas de cálculo en máquinas, las de L. R Ford y D. R. Fulkerson sobre las redes de transporte; es necesario citar
especialmente en el activo del grupo de Princenton, el método "húngaro" de H. W. Kun, para los problemas de
asignación, la publicación de la notable colección de notas "Linear Inequalities and Related Systems" en 1956 y el
método de Gomory para el cálculo de los problemas lineales en números enteros a finales del año 1958. El equipo del
"Carnegie Tech" desarrolló la PL en aplicaciones industriales, se interesó en aspectos teóricos particulares como:
degeneración, errores de redondeo, el Simplex revisado, variables acotadas.
En los últimos años, lo notable y más prometedor parece ser: La programación lineal en números enteros por R.
Gomory, el principio de descomposición de Dantzig y Wolfe, los programas lineales estocásticos, el algoritmo de
punto interior de Narendra Karmarkar, con aportaciones importantes de un matemático ruso I. Dikin en 1967,
redescubierto, después de la publicación de Karmarkar por varios investigadores: E.R.Barnes, T. M.Cavalier y
A.L.Soyster. Además R.J.Vanderbei, M.S.Meketon y B.A.Freedman publicaron en 1986, "A modification of
Karmarkar's Linear Programming Algorithm". Al inicio la programación lineal se llamó "programación en estructura
lineal". En 1948, Tjalling Koopmans sugirió a George Dantzing simplificar el nombre.
DEFINICIÓN DE LA PROGRAMACIÓN LINEAL
Es una de las técnicas agrupadas como programación matemática, aplicable a problemas de asignación de
recursos limitados, con actividades competitivas hacia un objetivo común, que puede ser de maximizar beneficios
(por ejemplo utilidades o bien rendimientos); también se puede desear minimizar el esfuerzo (por ejemplo los costos,
el personal asignado a tareas, o el desperdicio en procesos). Se usa un modelo matemático con representación válida
de la problemática en estudio; sus relaciones deben ser lineales o de "línea recta", que significa utilizar, sólo una
variable de primer grado en cada término
1.3. Modelo de programación lineal general.
El modelo de PL es una representación simbólica (abstracción) de la realidad que se estudia, se forma con expresiones
lógicas matemáticas conteniendo términos que significan contribuciones: a la utilidad (con máximo), al costo (con
mínimo), al consumo de recurso (disponible con desigualdad <=), al recurso requerido (con desigualdad >=), recurso
especificado (con igual =). Contiene las siguientes cuatro partes:
1a parte
17
Definición con el significado cuantitativo de las variables de decisión (controlables).
2a parte
Función económica u objetivo a optimizar (máximo o bien mínimo):
3a parte
Sujeta a restricciones:
4a parte
Condición de no negativo a variables:
PROPIEDADES DEL MODELO DE PROGRAMACIÓN LINEAL
Para que un modelo de PL sea válido, debe cumplir las propiedades siguientes:
I. Proporcionalidad.-Significa que la contribución al valor de la función objetivo y el consumo o requerimiento
de los recursos utilizados, son proporcionales al valor de cada variable de decisión. Así el término 4X1 es
proporcional, porque contribuye al valor de la función Z con 4, 8, 12, etc. para los valores 1, 2, 3, etc.,
respectivamente, de X1. Se puede observar el aumento constante y proporcional de 4 conforme crece el valor
de X1. En contraste, el término no lineal 4X12, contribuye con 4, 16, 36, etc., para los mismos valores 1, 2, 3,
etc., respectivamente, de la variable X1; Aquí se observa que el aumento en la contribución no es constante y
por lo tanto no hay proporcionalidad.
II. Aditividad.- Significa que se puede valorar la función objetivo Z, así como también los recursos utilizados,
sumando las contribuciones de cada uno de los términos que intervienen en la función Z y en las restricciones.
III. Divisibilidad.- Significa que las variables de decisión son continuas y por lo tanto son aceptados valores no
enteros para ellas. La hipótesis de divisibilidad más la restricción de no negatividad, significa que las variables
de decisión pueden tener cualquier valor que sea positivo o por lo menos igual a cero.
IV. Certidumbre.- Significa que los parámetros o constantes son estimados con certeza, o sea, no interviene una
función de probabilidad para obtenerlos
18
El modelo de programación lineal es un caso especial de la programación matemática, pues debe cumplir que, tanto
la función objetivo como todas las funciones de restricción, sean lineales.
APLICACIONES TÍPICAS DE LA PROGRAMACIÓN LINEAL
Aparentemente, las estructuras de organización complejas propias de la sociedad moderna han reconocido interesantes
problemas de optimización tales como la manera más eficiente de manejar la economía de un país o también la mezcla
de ingredientes de un fertilizante para satisfacer las especificaciones agrícolas a costo mínimo. Ambos
problemas utilizan el modelo de programación lineal (PL), para optimizar una función lineal condicionada a
restricciones lineales, que es sencillo en su estructura matemática, pero poderoso por su gran adaptación a una
amplia variedad de problemas.
La programación lineal es una técnica matemática de resolución de problemas, su desarrollo representa una ayuda a
los administradores para tomar decisiones en la asignación de recursos. A continuación aparecen algunas
aplicaciones típicas de la PL:
1. Un fabricante desea desarrollar un programa de asignación en producción y una política de inventario que
satisfagan la demanda de ventas de periodos futuros. Así se podría cumplir la demanda con mínimo costo
total de producción y de inventario.
2. Un analista financiero debe seleccionar una cartera de inversiones a partir de una diversidad de alternativas en
acciones y bonos. Se debe establecer la cartera que maximice el rendimiento sobre la inversión asignada.
3. Un administrador de mercadotecnia desea determinar la mejor manera de asignar un presupuesto de
publicidad como radio, televisión, periódicos y revistas. Al gerente le gustaría determinar la combinación de
medios que maximice la efectividad de la publicidad.
4. Una empresa tiene almacenes en varias. ubicaciones en todo el país. Para un conjunto de demandas de sus
productos por parte de sus clientes, la empresa desearía determinar cuánto debe asignar en embarques a cada
uno de los almacenes y a cada cliente, de manera que los costos totales de transporte resulten mínimos.
Estas aplicaciones representan unas cuantas situaciones en las que se ha utilizado con éxito la programación lineal,
pero ilustran su potencial en la solución de problemas. Un estudio detallado revela las características comunes de
ellas. En el ejemplo 1, el fabricante desea minimizar costos; en el 2, el analista financiero desea maximizar el
rendimiento sobre la inversión; en el 3, el gerente de mercadotecnia desea maximizar la efectividad de la publicidad,
y en el ejemplo 4, la empresa desea minimizar los costos totales de transporte. En todos los problemas de
programación lineal, el objetivo es el máximo o bien el mínimo de alguna cantidad en la acción de asignar
recursos.
Los problemas de programación lineal se caracterizan, además, por las condiciones impuestas o restricciones de
recursos, que limitan el grado en que se puede cumplir algún objetivo. En el ejemplo 1, el fabricante está limitado
por restricciones que requieren que la demanda de producto quede satisfecha y por restricciones respecto a la
capacidad de producción. El problema de la cartera del analista financiero está limitado por la cantidad total de fondos
de inversión disponibles y las cantidades máximas que se pueden invertir en cada acción o bono. La decisión en la
selección de medios del gerente de mercadotecnia, está restringida por un presupuesto de publicidad fijo y por la
disponibilidad de los varios medios. En el problema de transportación, el programa de embarques de costo mínimo
está restringido al suministro de productos disponibles en cada almacén. La diversidad de condiciones mencionadas,
es parte de lo que puede esperar aquel que decida enfrentar un problema, pues las restricciones son otra característica
general en todo problema de programación lineal
1.4. Formulación de problemas con programación lineal.
19
La formulación de un problema de cualquier tamaño con programación lineal debe sujetarse al formato del modelo
de PL general ya presentado antes.
Se empieza como parte 1, con la observación y análisis necesario para definir el significado cuantitativo de las
variables de decisión o controlables que se pueden representar, en símbolos como X1, X2, X3,..., o bien, identificar
con nombre específico de producto o bienes de manufactura, almacén o venta, disponibilidad y/o requerimiento de
recurso o materia prima.
Se continúa con la parte 2, para construir la función objetivo o medida de efectividad, representada por una variable
(denotada con Z, G, U, etc.) cuyo valor se desea maximizar (utilidad, rendimiento, ingreso, producción) o
bien minimizar (costo, tiempo, mano de obra, inventario). Puede ocurrir en algún caso, que la formulación resulte no
lineal, pero con las transformaciones adecuadas se puede hacer la conversión a lineal.
Como parte 3 debe considerarse la construcción de las restricciones que limitan el valor óptimo que puede tomar la
función objetivo, o sea, definen las soluciones admisibles o región factible del problema. Las restricciones pueden ser
de una o todas las clases siguientes: Si no se debe exceder el recurso disponible, de la forma <=; para no menos de lo
requerido, de la forma >=; o también para igualar el recurso especificado, de la forma =.
Se termina con la parte 4, para condicionar las variables a valores no negativos, debido a que en la gran mayoría de
los problemas los valores negativos no tienen significado físico. Los casos de excepción merecen tratamiento especial.
1.4.1. Ejemplos de formulación de modelos de PL.
La construcción de un modelo de programación lineal debidamente planteado que represente un problema real es un
arte. La mayoría de la gente que lo intenta tiene más dificultades en ello que con los otros aspectos de esta técnica
pues se requiere de imaginación e inventiva. Esto se puede mejorar con paciencia y práctica, ajustándose a la estructura
dada como modelo general.
El siguiente procedimiento puede ser útil antes de pretender la estructura matemática del problema en estudio:
Concentrar la atención en identificar el objetivo general como puede ser, el máximo de: utilidades,
rendimientos, audiencia; o bien, el mínimo de: costos, personal, distancias, tiempo, materia prima, o
contaminación.
Identificar las decisiones (variables controlables) en forma cuantitativa con la unidad precisa de medición,
como # de personas, # de pesos, # de toneladas.
Identificar las constantes conocidas como coeficientes Cj que aportan al valor del objetivo, o coeficientes aij
que contribuyen al consumo de materia prima o al requerimiento de recurso.
Identificar todas las condiciones a las que se sujeta el objetivo en forma de restricciones en sus diferentes
tipos:<=cuando mucho, >= al menos, = estrictamente lo especificado.
A continuación se presentan ejemplos de planteamiento funcional, pero en algunos puede haber alternativa cambiando
la definición de variable en la parte 1.
Ejemplo 1-1. PL al combinar camiones refrigerados en transporte de alimento (REFCAM).
En la siguiente tabla se tiene la información de costo en renta y también las capacidades, de dos tipos de camión
transportista refrigerado para la distribución de alimentos, una parte de los cuales pueden descomponerse durante el
viaje. En particular se requiere un total de 900 y 1200 metros cúbicos (m3) de espacio refrigerado y no refrigerado,
20
respectivamente. Formule un modelo de PL para decidir y resolver el problema de cuántos camiones de cada tipo
rentar para que el costo sea el menor posible.
Figura 1-1. Información para renta de camiones con y sin espacio refrigerado del ejemplo REFCAM.
1ra. parte.- Definición de las variables de decisión
2da. parte.- Función económica u objetivo de costo
3ra. parte.- Sujeta la función de mínimo costo a restricciones de espacio de carga:
4a. parte.- Condiciones de signo para las variables de decisión:
Observaciones para el Ejemplo 1-1.-El primer problema de ejemplo es de decisión y la pregunta evidente para el
distribuidor responsable es ¿cuántos camiones de cada tipo deben rentarse para cumplir con la distribución? Para
contestarla, en la primera parte del modelo se definen las incógnitas que se acostumbra denotar con la letra X con
índices, como XA, XB, para hacer la diferencia entre los dos tipos de camión A y B. Para formular la función objetivo
en la parte 2 del modelo, se observa que la renta de un camión tipo A cuesta 3 (3000 pesos) multiplicado por el número
XA de camiones tipo A para renta, resulta así el término 3XA que significa el costo de todos los camiones A rentados,
21
por otro lado la renta de un sólo camión tipo B es de 4, por lo tanto 4XB es el costo de rentar los camiones tipo B. Con
la suma de los dos términos o contribuciones de costo se obtiene el valor total de Z, la función objetivo de costo, cuya
dimensión es:
En la parte 3 correspondiente a las restricciones, debe pensarse en el recurso espacio de carga que es el atributo de
interés de los camiones a rentar. La capacidad especificada de carga, refrigerada o no, de los mismos, se emplea para
plantear los términos de las restricciones, las que se traducen como requerimiento o necesidad de 900 m3 de espacio
de carga refrigerada y 1200 m3 de espacio de carga no refrigerada, lo cual hace un total de dos restricciones a formular.
Cada término de ellas se construye considerando el espacio de un sólo camión (20 m3 refrigerados para el A)
multiplicado por el número de camiones (XA para A) del tipo que se decida rentar, o sea, 20XA es la contribución de
espacio refrigerado de los camiones A para los requeridos 900 m3 del distribuidor. De la misma manera se forma el
término 30XB como contribución de espacio refrigerado de los camiones B. En la restricción 20XA + 30XB >= 900 se
utiliza la desigualdad >= porque el requerimiento de 900 m3 se interpreta como el espacio mínimo necesario para el
alimento perecedero.
Las mismas ideas ya expuestas son aplicables para la segunda restricción referente al requerimiento de 1200 m3 de
espacio no refrigerado, ambas se dimensionan así:
Por último en la parte 4, las condiciones de valor no negativo para las incógnitas, son lo natural para este problema
ejemplo, entendiendo que el número de camiones a rentar es positivo: XA > 0, XB > 0 o bien, puede que la solución
al modelo planteado de este problema, resulte que no conviene rentar algún tipo de camión, en tal caso se presentaría
con XA = 0 ó con XB = 0, puesto que XA < 0 ó XB < 0 no tiene significado físico.
Ejemplo 1-2. PL al combinar tamaños de camiones en transporte (TAMACA).
Una compañía transportadora tiene 10 camiones con capacidad de 20 toneladas y 5 camiones de 15 toneladas. Los
camiones grandes tienen costos de operación de $150 por kilómetro recorrido y los pequeños de $ 125 por kilómetro
recorrido. En la siguiente semana la compañía requiere transportar 200 toneladas de azúcar en un recorrido de 800
kilómetros. La posibilidad de otros compromisos de transporte, impone una política táctica de mantener en reserva,
por lo menos, dos camiones pequeños por cada camión grande. ¿Cuál es el número óptimo de camiones de ambas
clases que se deben utilizar para transportar el azúcar? Formule un modelo de programación lineal para este problema.
Figura 1-2. Información: costo según el tamaño de camión, recorrido y transporte del ejemplo TAMACA.
Modelo de programación lineal.
1a parte.- Definición de variables de decisión
22
2a parte.- Función económica u objetivo: Planteamiento de costo mínimo de operar Xj camiones
3a parte.- Restricciones o condiciones.- Requerimiento de carga a transportar:
Restricciones de camiones disponibles a utilizar: Xg <= 10; Xp <= 5 (camiones).
Para la restricción de tener en reserva dos camiones pequeños por cada camión grande, se definen otras
variables y significan camiones en reserva para otro uso:
Sea X r j = número de camiones en reserva de tipo j (j = g, p)
Camiones grandes reservados = total de grandes menos los utilizados: Xrg=10-Xg
Camiones pequeños reservados = total de pequeños menos los utilizados: Xrp=5-Xp
4a parte: Condiciones de signo para las variables:
Observaciones al Ejemplo 1-2: Análisis de la propiedad de proporcionalidad:
23
El cambio para diferentes valores de Xg se mantiene constante (20), o las contribuciones de 20, 40, 60,..., son
proporcionales al valor incremental de Xg. En contraste, el valor de las contribuciones 20, 80, 180,..., para diferentes
valores de la variable en X2g no se mantiene constante y por lo tanto no hay proporcionalidad.
El problema de ejemplo 1.2, como primera parte, es decidir el número de camiones grandes (Xg) y pequeños (Xp) a
utilizar para el transporte del azúcar.
Para construir la función objetivo de la segunda parte del modelo, hay necesidad de pensar como administrador del
transporte, pues en cualquier caso se desea cumplirlo con bajo costo. Puesto que existe diferencia al operar camiones
de diferente tamaño, pero el recorrido es igual para los grandes y pequeños, en tal caso se calcula el costo del viaje
para cada uno de los dos tipos de camión el cual se emplea como coeficiente de costo Cj en cada término de la función
Z que representa el costo total a minimizar.
Las restricciones de la parte 3 del modelo matemático son de tres clases: se debe cumplir un requerimiento (>=) de
transporte de 200 toneladas de azúcar. Para la posible pregunta de por qué no se utiliza un simple signo de igualdad
(=), considere que la capacidad de los camiones grandes de 20 toneladas, si es múltiplo de las 200 toneladas a
transportar, pero en cambio, la capacidad de 15 toneladas de los camiones pequeños, no es múltiplo de 200, en tal
caso, puede no cumplirse en igualdad; por otro lado no se debe olvidar la política de mantener en reserva cierto número
de camiones. Posteriormente se trata la conveniencia de evitar, en lo posible, las restricciones estrictas de igualdad
(=), pues la programación lineal, las restricciones (<=) y (>=) no excluyen la posibilidad de cumplir la igualdad y
aportan flexibilidad en la búsqueda de la mejor solución. Otra clase de restricción a considerar se refiere al total de
camiones existentes de cada tamaño, lo cual se expresa con la desigualdad (<=) significando, que se dispone de un
máximo de 10 grandes y 5 pequeños. La restricción para dejar en reserva algunos camiones, necesita una definición
adicional para ellos, pues en la primera parte del modelo sólo se definen las variables de decisión para representar los
camiones a utilizar. De esta manera, se plantean las expresiones para: Xrg = 10 - Xg; Xrp = 5 - Xp, sustituyéndolas en
la interpretación de la política de reserva, conteniendo las variables de decisión Xg, Xp, así como también las variables
que representan los camiones en reserva Xrg, Xrp las cuales sirven para el análisis durante la formulación, pero no
permanecen en la presentación final del modelo.
Se termina el modelo con la parte 4 en que se condicionan las variables sólo a valor positivo o cero, pues el negativo
no tiene significado físico en este problema.
Las expresiones en negrita forman el modelo matemático pedido.
Ejemplo 1-3. PL en horarios para cubrir turnos de trabajo (HORAPRO).
Figura 1-3. Policías para vigilancia de un sector de la ciudad en ejemplo HORAPRO.
Cada policía debe laborar 8 horas consecutivas. El periodo 1 sigue al 6.
Formule un modelo de PL para determinar el número óptimo de policías.
24
Ayuda para el análisis: En este problema se conoce, que para fines de control, se divide el día completo en periodos
de 4 horas de duración, logrando continuidad de la vigilancia de policías los que deben trabajar durante dos periodos
consecutivos. También se sabe el requerimiento en número de policías para cada uno de los seis periodos; entonces
la siguiente forma tabular puede ser buena ayuda para la comprensión del problema considerando a Xj como grupo
de policías asignados para iniciar los periodos j (j = 1,2,...,6).
Figura 1-4. Inicio y permanencia de grupos X j de policías en los periodos j del día en ejemplo HORAPRO.
Modelo de programación lineal.
1a parte.- Definición de variables:
2a parte.- Función económica.- Aquí debe pensarse en el menor número de policías necesarios para cumplir, por lo
menos, los requeridos en cada uno de los seis periodos j:
3a parte.- Restricciones: La misma tabla da la combinación de los grupos de policías Xj para cubrir, como se observa,
los requerimientos de cada periodo j.
4a parte.- Condiciones de signo, NO NEGATIVO:
Ejemplo 1-4. PL en la dieta de jugos (BEDIET).
Un proveedor de bebidas dietéticas debe preparar con las existentes de su bodega, un pedido de 500 litros de ponche
dietético el cual debe contener por lo menos 20% de jugo de naranja, 10% de jugo de toronja y 5% de jugo de betabel.
La siguiente tabla informa de 5 bebidas existentes con su contenido de jugos y el costo de las mismas. ¿Qué cantidad
de cada bebida deberá de emplear el proveedor para cumplir el pedido a un costo mínimo? Formule un modelo de
programación lineal que represente este problema.
25
Figura 1-5. Información de bebidas almacenadas en ejemplo BEDIET.
Modelo de programación lineal.
1a parte.- Definición de variables:
2a parte.- Función económica u objetivo:
3a parte: Sujeta a restricciones.-
Restricción de proporción de contenido de jugo:
Para este tipo de restricción es necesario convertir la información de contenido en por ciento (%) de jugo de
la tabla a fracción decimal de un sólo litro del mismo, ya que la definición de significado de las variables en
la primera parte del modelo se hizo como litros de bebida j. Por lo tanto, la fracción 0.40 ó 400 mililitros de
jugo de naranja multiplicado por XA litros, es la contribución de la bebida A (0.40XA) para cumplir el 20%
(0.20 por litro de ponche) de jugo de naranja en la bebida pedida. También 0.05XB es la contribución de la
bebida B y 1XC, es la contribución de C (pura naranja) al ponche pedido. Las restricciones de toronja y betabel
se formulan de la misma manera.
4a parte.- Condición de signo para las variables:
Ejemplo 1-5. PL en la inversión de capital (INVECAP).
Un banco desea establecer una política de préstamo para el siguiente trimestre y por tal motivo asignó un presupuesto
de 12 millones de dólares para prestarles a sus clientes. En la tabla siguiente se anotan los tipos de préstamo con el
interés correspondiente y las probabilidades de no-recuperación del capital prestado. Lo que no se puede recuperar no
26
tiene intereses. Por competencia con otros bancos, se requiere asignar préstamos de al menos el 40% del total, a los
tipos de préstamo 4 y 5. Con la habitación debe prestarse al menos un 50% de la suma de los préstamos 1, 2, y 3. La
política de banco es que la relación total de los irrecuperables sea un máximo de 0.04. Formule un modelo de
programación lineal para este problema de inversión.
Figura 1-6. Información de tipo de préstamos bancarios en ejemplo INVECAP.
Modelo de programación lineal
1a parte.- Definición de variables:
2a parte.- Función objetivo:
En este problema, a la función Z a maximizar se le debe formular con la suma de las contribuciones de
rendimiento de los cinco tipos de préstamo, pero descontando la fracción de irrecuperables los cuales se
estiman en la columna derecha de la tabla:
3a parte.- Sujeto a restricciones.
27
4a parte.- Condiciones de signo.
El conjunto de expresiones en negrita forma el modelo matemático de programación lineal que se pide formular.
Ejemplo 1-6. PL en la selección de máquinas para un proceso (MAQUIPRO).
Una compañía tiene 3 tipos de máquinas procesadoras con diferentes características en cuanto a velocidad, precisión
y costo de producción. En la siguiente tabla se resumen las mismas:
Figura 1-7. Información de características de máquinas tipo j en ejemplo MAQUIPRO.
Cada día de 8 horas deben producirse 500 piezas. Formule un modelo de programación lineal para este problema:
Modelo matemático de programación lineal.
1a parte.- Definición de variables.-
Para este problema el estudiante puede razonar a partir de la información dada, que se conocen las
características de las máquinas de procesar piezas, pero no cuántas utilizar de cada uno de los tres tipos, puesto
que a las diferencias técnicas entre ellas, se agrega el costo de operarlas. De este modo se define:
28
Sea Xj = número de máquinas de tipo j (j = 1, 2, 3) necesarias para producir 500 piezas en un día de 8 horas
a condición de hacerlo con el menor costo.
2a parte.- Función económica.-
La medida para decidir en este problema, es la conveniencia de cumplir la cuota de producción de 500 piezas
en la forma más económica posible; para ello es necesario que se involucren los costos asociados con cada
tipo j de máquina calculando antes de la formulación de la función Z, el costo Cj correspondiente; por lo tanto:
Z mínima = suma de contribuciones de costo de los tres tipos de máquina.
Observe que los coeficientes Cj se obtienen sumando, al costo nominal de una hora de proceso, el costo
correspondiente a la estimación de piezas rechazadas, que para el caso de la máquina j =1 es de 10% ó 0.10
en fracción decimal multiplicado por 30 piezas producidas en una hora, resulta en 3 piezas con defecto en una
hora de proceso. Cada rechazo cuesta un dólar, entonces se suma este costo: 3(1 dólar) = $3, al nominal de $5
y así se tiene C1 = $8. Los costos C2 y C3 se calculan con el mismo criterio.
3a parte.- Sujeta a restricciones.-
La cuota de producción de 500 piezas en una jornada de 8 horas conviene convertirla a su equivalente para
una sola hora, pues se puede observar que la información restante está en esos términos. La producción pedida
constituye una importante condición del problema y debe plantearse como restricción u obligación, la cual se
construye a partir de las velocidades especificadas por máquina tipo j; pero las tasas anotadas son nominales,
puesto que se estima un porcentaje de piezas aceptadas para los diferentes tipos j de máquina, en tal caso es
necesario ajustar las velocidades o tasas de producción de acuerdo a su eficiencia para plantear el
requerimiento en términos reales:
A j = Producción real por máquina tipo j, debido a la eficiencia en piezas buenas.
29
Otra restricción a considerar se refiere al número total de máquinas de tipo j que se tienen para este proceso
de producción, debiéndose plantear con desigualdad <=, significando que el número de máquinas utilizadas,
debe ser menos o cuando mucho, lo anotado en el lado derecho:
Como no hay significado físico para valores negativos de las variables, entonces se limitan como sigue
4a parte.- Condiciones de signo a variables
Las expresiones escritas en negrita forman el modelo de programación lineal que se pide.
Ejemplo 1-7. PL para distribuir carga en transporte (BARCOCARGA).
Un barco tiene tres bodegas: en la proa, en el centro, y en la popa con los siguientes límites de:
Figura 1-8. Capacidades en el barco del ejemplo BARCOCARGA.
Los siguientes cargamentos se ofrecen, pudiendo aceptar los dueños del barco, el total o una porción cualquiera de
cada uno de los siguientes:
Figura 1-9. Artículos a transportar en ejemplo BARCOCARGA.
30
Para preservar el equilibrio del barco, el peso de cada bodega debe ser proporcional a la capacidad en toneladas.
Formule un modelo de PL para determinar cómo distribuir la carga en las bodegas para una utilidad máxima.
Modelo de programación lineal
Distribuir la carga en toneladas, de tres artículos j diferentes, en cualquiera de las tres bodegas i, significa la
flexibilidad de ocupar los espacios convenientes para máxima ganancia cumpliendo las restricciones de capacidad
especificadas. Dado que un artículo j puede asignarse a cualquiera de las tres bodegas i, entonces se pueden definir
las variables Xij para representar las toneladas de producto j en las tres bodegas como X1j, X2j, X3j o bien, las toneladas
cargadas en las bodegas i de los tres productos como XiA, XiB, XiC. Entonces con la misma letra X con doble índice
se pueden definir las variables de decisión.
Figura 1-10. Fracciones de la carga distribuidas en ejemplo BARCOCARGA.
1a parte: Definición de variables.
2a parte: Función económica u objetiva.
3a parte: Sujeta a restricciones.-
Las limitaciones de capacidad deben expresarse
Con desigualdad <=, lo cual significa que se debe cargar menos o cuando mucho la capacidad especificada ya
sea en toneladas o bien el espacio en metros cúbicos. En cada viaje, la suma de la carga ofrecida a transportar,
supera la capacidad total del barco, entonces se puede llevar sólo una parte de ella, así las restricciones son
<=.
31
Para conservar el equilibrio debe considerarse que la suma de XiA + XiB + XiC, de toneladas cargadas a
cualquier bodega i, es menor a la capacidad de i, por lo tanto es una fracción de ella. Se interpreta como
proporción utilizada de la capacidad, que debe igualarse para las tres bodegas y tratarse como una variable
adicional, a las ya definidas: sea Xpc la proporción de capacidad que es <= 1 como sigue:
4a parte.- Condiciones de no negatividad:
Ejemplo 1-8. PL en la producción de fertilizantes con diferentes ingredientes (FERTILIZ).
Se producen dos clases de fertilizante distinguidos por contenido químico, disponibilidad del mismo y costo de
ingredientes como se muestra aquí:
Figura 1-11. Informe: contenido, costo, precio de fertilizantes, ejemplo FERTILIZ.
32
Formule un modelo de PL. Para obtener la combinación de fertilizantes a producir que maximice la utilidad.
La tabla de datos de este problema es un buen ejemplo de ordenación y síntesis de la información dada; con esa ventaja
se facilita el análisis al formular el modelo.
Modelo de programación lineal.
1a parte.- Definición de variables.
2a parte.- Función económica u objetivo.
3a parte.- Sujeto a restricciones de contenido químico:
4a parte.- Condiciones de signo para las variables.
Ejemplo 1-9. PL para mínimo desperdicio en proceso de corte (CORTEPAPEL).
Una papelería recibe un pedido de 500, 300 y 100 rollos de papel de cierta calidad en ancho de 30, 45 y 56 pulgadas,
respectivamente. En almacén se tienen rollos de papel de la calidad solicitada pero con un ancho de 108 pulgadas. Si
la papelería desea satisfacer el pedido del cliente deberá someter a corte longitudinal los rollos en existencia pero se
tendrá obligadamente un desperdicio de papel.
Formule un modelo de programación lineal que minimice el desperdicio.
Antes de iniciar la formulación del modelo de PL de este problema, se pueden revisar las varias alternativas
convenientes para realizar el corte, desde un ancho de 108 pulgadas que tienen los rollos existentes en almacén hasta
los anchos del pedido. Para ello se presenta la siguiente tabla que facilita el análisis de cuántos rollos en 30, 45 y 56
pulgadas se pueden obtener en cada proceso de corte, cuidando que las diferentes combinaciones sean posibles y con
un desperdicio menor a 30 pulgadas.
Figura 1-12. Tipos de corte conveniente para ajustar anchos solicitados en ejemplo CORTEPAPEL.
33
Modelo matemático de programación lineal.
1a parte.- Definición de variables:
2a parte.- Función económica u objetivo.-
Se utiliza el cálculo del desperdicio en pulgadas anotado en la columna derecha de la tabla, para construir los
términos correspondientes al desperdicio de cada tipo de corte los cuales sumados, valoran la función Z a
minimizar.
3a parte.- Sujeto a restricciones.-
La misma tabla ordena el dato de número de rollos con determinado ancho, obtenido en cada corte de tipo j,
este número multiplicado por el número de cortes j, es el término contribuyente para surtir los rollos de papel
pedidos. Así en cada restricción de ancho pedido, se tienen tantos términos como tipos de corte que aportan
tal ancho de rollo.
4a parte.- Condiciones de signo para:
1.5. Solución para el modelo de programación lineal.
Existen métodos de solución del modelo de programación lineal, tanto gráfico como analítico. Para la gran mayoría
de los problemas es indispensable aplicar la metodología analítica, con los algoritmos muy eficientes que desarrollaron
los científicos ya citados en los antecedentes de PL. Pero en beneficio de la claridad, conviene iniciar la exposición
de cómo resolver el problema ya formulado con programación lineal, con el método gráfico, que por su sencillez, es
posible que el alumno se motive más para el estudio. Para ello primero se debe revisar la forma en que puede
presentarse un modelo o planteamiento del problema que se estudia.
1.5.1. Formas equivalentes del modelo de programación lineal.
Además de la necesaria generalización del modelo de programación lineal, esta técnica requiere el uso de dos formas
especiales equivalentes; las que se denominan forma canónica, la cual es muy útil en teoría de dualidad cuando se
trata de hacer una interpretación económica para el problema en estudio; la otra forma se denomina estándar, la cual
es indispensable si se desea resolver el problema. A continuación se dan características de ambas:
34
Formas equivalentes del modelo de programación lineal
EQUIVALENCIA ALGEBRAICA PARA EL MODELO DE PROGRAMACIÓN LINEAL
1. La función objetivo cambia al multiplicar:
2. Una restricción cambia al multiplicar por:
3. Una restricción en igualdad equivale a dos restricciones en desigualdad con los mismos términos; la
primera de tipo <= y la segunda de >=, si el objetivo es máximo; con mínimo, se invierte el orden.
4. Una restricción (<=) se hace (=), sumando la holgura Hi >=0 en el lado izquierdo.
5. Una restricción (>=) se hace (=), restando una superávit Si >=0 en el lado izquierdo.
6. Una variable Xj <= 0, se maneja con otra variable:
7. Una variable no restringida en signo, o libre para tomar valor (+), (-), o cero, se sustituye con la diferencia
de dos variables no negativas como sigue:
Ejemplo 1-10. Forma Canónica y Estándar con objetivo mínimo (FOREQUI1).
Obtener las formas canónica y estándar para el siguiente modelo de PL que incluye condiciones muy especiales para
las variables como es X1libre, lo que significa que puede tomar valores positivos, negativos y cero, obligando los
acuerdos para su tratamiento algebraico que permita el uso de PL. La variable X3 se ejemplifica de manera especial,
como no positiva; todo lo anterior para mejor ilustración del tema:
35
Ejemplo 1-11. Forma Canónica y Estándar con objetivo máximo (FOREQUI2).
Se presenta para ayuda del estudiante que requiera ilustración adicional en la conversión del modelo de PL a las
formas canónica y estándar:
36
1.5.2. Método gráfico para resolver modelos de programación lineal con solo dos variables.
En esta sección interesa hacer análogos geométricos, esto es, gráficas de funciones lineales que contiene el modelo
matemático de programación lineal obtenido en la formulación del problema que se analiza. Dicho modelo puede
37
contener expresiones tanto en forma de ecuaciones (=) como en desigualdades (<= ó >=), cada una de ellas
corresponde a un gráfico en la analogía geométrica.
Primero considere la infinidad de puntos que constituyen en conjunto el plano y los cuatro cuadrantes
convencionalmente aceptados, para dividirlo en zonas caracterizadas por la combinación de signo que se puede dar,
a los valores medidos con números reales. Para lograr los cuadrantes en el plano se utilizan los ejes cartesianos con
escala de medición de valores de las variables del problema; por ejemplo, se puede asignar el eje horizontal de abscisas
para la medición de valores de la variable X1; también se puede asignar el eje vertical de ordenadas, para la medición
de valores de la variable X2. La localización de cualquier punto en este espacio plano requiere de una distancia
horizontal (X1) y de una distancia vertical (X2) denotado como par ordenado o vector (X1, X2). Un punto sobre el eje
X1 corresponde a X2=0 y un punto sobre el eje X2 corresponde a X1=0, que son las ecuaciones respectivas de los ejes
horizontal y vertical. Dichos ejes se cruzan en el punto (X1, X2) = (0, 0), el cual se conoce como origen.
Si la ecuación tiene sólo dos variables, el gráfico de la misma sobre el plano es una línea recta, es decir, se requiere
un espacio de dos dimensiones, la horizontal y la vertical, para graficar tal ecuación; pero la representación geométrica
de una ecuación en tres variables, requiere un espacio de tres dimensiones. En tal caso, a los ejes X1 y X2, se les agrega
un tercer eje X3 como tercera dimensión, que pasa por el origen hacia el observador. Los gráficos de la Figura 1-
13 y Figura 1-14 muestran lo anterior para una ecuación cualquiera:
Figura 1-13. Gráfico de una ecuación en dos dimensiones.
38
Figura 1-14. Gráfico de una ecuación en tres dimensiones.
El método gráfico proporciona la oportunidad de visualizar algunos de los conceptos importantes de la programación
lineal. Pero tiene una gran limitación referente, a que sólo es posible aplicarlo en problemas muy pequeños; para este
curso se limita el método gráfico aplicado a problemas con sólo dos variables. El método gráfico para resolver
problemas que se han modelado con programación lineal consiste en asignar un eje cartesiano para cada una de las
dos variables involucradas; de esta manera se asigna, por ejemplo, el eje horizontal como escala para los distintos
valores que pueda tener la variable X1; también se puede asignar el eje vertical con su respectiva escala para ubicar
los distintos valores que puede tomar la variable X2. Un sistema con dos ejes cartesianos, horizontal y vertical, permite
representar en un espacio plano las líneas rectas que geométricamente hablando representan cada expresión
matemática lineal con sólo dos variables. Las restricciones y condiciones de signo del problema, representan al sistema
que debe graficarse en un plano y después se valora en el mismo la función económica Z, con la cual se busca un
punto del sistema que maximice o bien minimice su valor.
Para mejor comprensión del método gráfico de solución de problemas modelados con programación lineal, se presenta
el siguiente ejemplo que se detalla lo suficiente para el voluntarioso estudiante de esta técnica poderosa en su
aplicación. Posteriormente se presentan otros ejemplos con el propósito de profundizar en la enseñanza e intentar
mayor avance en el aprendizaje.
Ejemplo 1-12. Problema de combinar producción para máxima utilidad (QUIMCAR) [AND93].
QUIMCAR es una empresa que elabora varios productos químicos. En un proceso de producción en particular se
utilizan tres recursos como materia prima de dos productos: una cera automotriz y una pasta pulidora, que se usan en
la pintura de la carrocería a vehículos automotores y se distribuye para su venta al menudeo a varias empresas
distribuidoras. Para producir la cera y la pasta se utilizan tres recursos, según se muestra en la siguiente tabla, en la
cual se observa que una tonelada de cera es una mezcla de 2/5 de tonelada del recurso 1 y 3/5 de tonelada del 3. Por
otro lado, una tonelada de pasta es la mezcla de 1/2, 1/5 y 3/10 de tonelada de los recursos 1,2 y 3, respectivamente.
La producción de la cera automotriz y la pasta pulidora está restringida a la disponibilidad de los tres recursos. Para
el periodo de producción anual, se tienen disponibles las cantidades siguientes de cada una de las materias primas.
39
Figura 1-15. Recursos disponibles para la producción en ejemplo QUIMCAR.
Figura 1-16. Material requerido para cera y pasta pulidora en ejemplo QUIMCAR.
El departamento de contabilidad ha analizado las cifras de producción, asignando los costos correspondientes para
ambos productos, llegó a precios que resultan en una contribución a la utilidad de 400 dólares por cada tonelada de
cera automotriz y de 300 dólares por cada tonelada de pasta pulidora, producidas. La administración, después de
analizar la demanda potencial, ha concluido que los precios establecidos aseguran la venta de toda la cera y pasta que
se produzca.
El problema es determinar: 1º.-Un conjunto de expresiones matemáticas o modelo, representando el objetivo y
restricciones del problema descrito. 2º.- Resolver en forma gráfica y determinar cuántas toneladas de cera y pasta
debe producir la empresa para maximizar la contribución total a la utilidad.
Definición de las variables y función objetivo
Como ya se apuntó anteriormente, los problemas de programación lineal tienen un objetivo ya sea de máximo o bien
de mínimo. En este problema, el objetivo es de maximizar la contribución a la utilidad y se plantea en forma
matemática introduciendo alguna forma simple de notación, como sigue:
1a. Parte.-Definición de variables.-
Es importante precisar la unidad de medida:
2a. parte.- Función objetivo.-
La contribución a la utilidad se origina de: (1) la que proviene de la producción de X1 toneladas de cera
automotriz, y (2) la que proviene de la producción de X2 toneladas de pasta pulidora. Dado que se gana 400
dólares por cada tonelada de cera producida, la empresa gana$400 X1 si se producen X1 toneladas de cera.
También, en vista de que se gana 300 dólares por cada tonelada de pasta producida, la empresa gana $300
X2 si se producen X2 toneladas de pasta. Identificando con Z la contribución total a la utilidad y eliminando el
signo de dólares se tiene:
40
El problema es encontrar la combinación de producción que maximice la contribución total a la utilidad. Esto
es, se deben determinar los valores para X1 y X2 que den el valor más elevado posible de Z. En terminología
de programación lineal, se nombran a X1 y a X2 como las variables de decisión. Dado que el objetivo de
maximizar la utilidad es una función de éstas, entonces se dice que Z = 400 X1 + 300 X2 es la función objetivo,
que también se puede escribir abreviando los coeficientes a unidades que significan cientos de dólares por
tonelada producida, como sigue:
Cualquier combinación de producción de cera y pasta se conoce como una solución al problema. Sin embargo,
únicamente aquellas soluciones que satisfagan todas las restricciones se conocen como soluciones factibles
o posibles. La combinación específica de producción factible, que resulte en la contribución mayor a la
utilidad, se conoce como la combinación de producción óptima, o simplemente, la solución óptima. Pero
primero se requiere conocer todas las restricciones del problema y posteriormente se muestra un método para
definir gráficamente, en el plano de dibujo, el espacio en que se ubican el conjunto de puntos de solución
factible.
3a. Parte.- Restricciones de materia prima.
La cantidad de materia prima disponible, condiciona o sujeta el valor de la función objetivo para cumplirse
con los tres recursos limitados, calculando las posibles soluciones en las cantidades de cera y pasta que se
pueden producir. Según la información de producción (vea la tabla), se sabe que cada tonelada de cera
automotriz utiliza 2/5 toneladas del recurso 1, por lo que el total de toneladas del mismo utilizado en la
producción de X1 toneladas de cera es 2/5X1; además, cada tonelada de pasta usa 1/2 tonelada del recurso 1,
como resultado, X2 toneladas de pasta usan 1/2 X2 toneladas de recurso 1, entonces el consumo total de
toneladas de recurso 1 para producir X1 de cera y X2 de pasta está dado por
Debido a que se tiene un máximo de 20 toneladas de materia prima 1 disponible, la combinación de producción
a decidir debe satisfacer la restricción
La relación anterior es una desigualdad que anota las contribuciones al consumo de recurso 1, utilizadas en la
producción de X1 toneladas de cera y de X2 toneladas de pasta, que debe ser menos que o igual a 20 toneladas
disponibles.
La tabla indica que el recurso 2 no es requerido por la cera, pero si por la pasta pues cada tonelada producida
de ésta requiere 1/5 tonelada de las 5 disponibles, se expresa así:
41
Si desea, ahora verifique por sí mismo que la restricción para la materia prima 3 es
Hasta aquí se han definido, las restricciones de materia prima; sólo falta establecer que las toneladas de cera
y pasta no puede ser un número negativo.
4a parte.- Condiciones de valor no negativo para las variables:
Esto asegura valores no negativos de las variables de decisión como solución al problema presente, se conocen
como restricciones de no negatividad y son una característica general de los problemas de programación lineal.
Modelo matemático del problema de Quimcar.
La formulación matemática o modelo simbólico, representa en forma abstracta, el objetivo y las restricciones del
problema, trasladados del mundo real a un conjunto de relaciones matemáticas. El modelo completo del problema es:
Ahora sólo falta encontrar la combinación de productos cera y pasta expresadas como toneladas de X1 y X2 que
satisface todas las restricciones y también resulte en un valor máximo de la función objetivo, comparado con el valor
de cualquier otra solución factible, lo que significa la solución óptima del problema.
Este modelo matemático del problema es programación lineal, tiene una función objetivo y restricciones, todas con
la característica especial de que son una función lineal de las variables de decisión.
Las funciones matemáticas en las cuales sólo una de las variables aparece elevada a la primera potencia como un
término independiente, se conocen como funciones lineales. La función objetivo 4X1 + 3X2 es lineal, porque cada
una de las variables de decisión aparece en un término por separado con exponente 1. Si la función objetivo se
presentara como 4X21 + 3X3
2, no se trataría de una función lineal. Por la misma razón, el número de toneladas de la
materia prima 1 requerida, 2/5X1+1/2X2 , también es una función lineal de las variables de decisión. Similarmente, el
lado izquierdo de todas las desigualdades de restricción son funciones lineales, así la formulación matemática del
problema anterior se identifica como un programa lineal.
Solución gráfica
Un problema de programación lineal con sólo dos variables de decisión se puede resolver de manera gráfica sobre el
espacio plano. Se inicia este procedimiento de solución desarrollando una gráfica que despliegue las posibles
42
soluciones (valores X1 y X2) para el problema QUIMCAR. En la Figura 1-17 aparecen los valores de X1 sobre un eje
horizontal y los valores de X2 sobre uno vertical. De esta manera se divide el plano o papel de trabajo, en cuatro
espacios limitados por los ejes, formando así los cuadrantes 1, 2, 3 y 4. Cualquier punto de la gráfica puede quedar
identificado por un par de valores X1 y X2, que representa la posición del punto con respecto de los ejes X1 y X2. Cada
par (X1, X2) corresponde a un punto solución de esta manera se tendría una infinidad de ellos en el plano considerado.
Pero para la solución particular en la que X1 = 0 y X2 = 0, se ubica un punto vértice identificado como origen para
ambos ejes.
Figura 1-17. Algunos puntos solución para el problema QUIMCAR.
El siguiente paso es mostrar, qué puntos corresponden a soluciones factibles del programa lineal. Tanto X1 como
X2 deben ser de valor no negativo, por lo que sólo es necesario considerar la porción de la gráfica en donde X1 >= 0
y X2 >= 0, lo que se conoce como primer cuadrante. En la Figura 1-18 las flechas indican el primer cuadrante, o sea,
la región donde estos requisitos de no negatividad quedan satisfechos para la solución buscada.
43
Figura 1-18. Gráfica del primer cuadrante. Cumple las restricciones de no negatividad (>= 0).
Anteriormente se determinó la desigualdad que representa la restricción para la materia prima 1 es:
Para mostrar todos los puntos solución que la satisfacen, se traza la línea que geométricamente representa a la ecuación
lineal: 2/5X1 + 1/2X2, = 20 la cual debe ser recta, se calculan dos puntos pertenecientes a la misma y a continuación
se traza una línea recta a través de los mismos. Para ello, arbitrariamente se buscan los puntos sobre los ejes en que,
por supuesto, se tiene el valor de cero para una de las variables, así al hacer X1 = 0, se ubica sobre el eje X2 y
resolviendo la ecuación en función de la variable X2, queda ½ X2 = 20, o también X2 = 40; por lo tanto el punto (X1=0,
X2=40) satisface la ecuación anterior, pues es la intersección de las rectas, eje X2 y la que representa el recurso 1;
alternativamente, para encontrar un segundo punto que satisfaga esta ecuación se hace X2 = 0 y se resuelve en función
de X1. Al hacerlo se observa que 2/5X1 = 20, es decir, X1 =50, por lo que un segundo punto que también satisface la
ecuación es (X1=50, X2=0). Con estos dos puntos, se puede trazar la recta que se conoce como línea de restricción
de la materia prima 1, mostrada en la Figura 1-19
44
Figura 1-19. La línea recta de restricción de la materia prima 1, ejemplo QUIMCAR.
La desigualdad que representa a la restricción de la materia prima 1 es:
¿Puede usted identificar las soluciones que satisfacen esta restricción? Observe primero, que cualquiera de la infinidad
de puntos que forman la línea recta de restricción 2/5X1 + 1/2X2, = 20 debe satisfacer a la misma; pero ¿dónde están
los puntos solución que satisfacen la desigualdad: 2/5X1 + 1/2X2 < 20? Ahora considere dos puntos de solución
(X1 =10, X2 =10) y (X1 =40, X2 =30). La Figura 1-19muestra que la primera solución se ubica por debajo de la línea
de restricción y la segunda queda por encima, entonces ¿cuál de estas soluciones satisface la restricción del recurso
1? Para el punto (X1 =10, X2 =10), se tiene:
Dado que 9 es menor que 20 toneladas de materia prima 1 disponible, la combinación o solución, de productos X1=10
toneladas de cera automotriz, X2=10 toneladas de pasta pulidora satisface la restricción del recurso 1, en este caso se
califica a (10,10) como una solución factible. Por otro lado, para X1 =40 y X2 =30 se tiene:
31 es mayor que las 20 toneladas disponibles de recurso 1, por lo que la solución X1 = 40 toneladas de cera, X2 = 30
toneladas de pasta, no satisface la restricción, y por lo tanto la solución (40,30) no es factible.
Si una solución particular no es factible, todas las demás soluciones del mismo lado de la línea recta de restricción
tampoco lo serán. Si una solución particular es factible, todas las demás soluciones del mismo lado de la línea de
restricción serán factibles, por lo que solamente es necesario evaluar un punto de solución para determinar cuál es el
45
lado de la línea de restricción que representa las soluciones factibles. En la Figura, el área factible con todos los puntos
que satisfacen la restricción de la materia prima 1 se muestra sombreada.
Figura 1-20. Región factible para la restricción de la materia prima 1, ejemplo QUIMCAR.
¿Se siente capaz de trazar una línea de restricción y localizar los puntos de solución que son factibles? Si así lo desea
intente resolver la restricción 2.
Para el caso que necesite más instrucción, a continuación se muestra la identificación de los puntos de solución que
satisfacen la restricción de la materia prima 2:
Se empieza dibujando la línea de restricción correspondiente a la ecuación 1/5 X2 = 5, que es equivalente a X2 = 25,
simplemente se dibuja una línea cuyo valor X2 es 25, está línea es paralela a X1 y está a 25 unidades por encima del
eje horizontal. En la Figura 1-21 se dibuja la línea recta que corresponde a la restricción de la materia prima 2, la
región sombreada corresponde a todas las combinaciones de producción que son soluciones factibles para la
restricción de la materia prima 2.
46
Figura 1-21. Región factible de la restricción de materia prima 2, ejemplo QUIMCAR.
De manera similar, se puede diferenciar el conjunto de todas las soluciones factibles para la restricción de la materia
prima 3. La Figura 1-22muestra la zona de puntos factibles. Como ejercicio práctico, pruebe trazar la región factible
de la restricción de la materia prima 3 y verifíquelo con este gráfico.
Figura 1-22. Región factible para la restricción de la materia prima 3, ejemplo QUIMCAR.
47
Ahora se tienen tres gráficas por separado que muestran las soluciones factibles para cada una de las restricciones. En
un problema de programación lineal, se necesita identificar las soluciones que satisfacen simultáneamente todas las
restricciones. Las gráficas de las Figura 1-20, Figura 1-21 y Figura 1-22 se pueden superponer para obtener una
intersección gráfica de las tres restricciones. La Figura 1-23muestra esta gráfica de restricciones combinadas. La
región sombreada de esta figura incluye todos los puntos solución que simultáneamente, satisfacen todas las
restricciones. Las soluciones que satisfacen simultáneamente todas las restricciones del sistema se conocen como
factibles, la parte sombreada se conoce como la región de soluciones factibles, o simplemente región factible.
Cualquier punto en las fronteras de la región factible, o bien en su interior, es un punto de solución factible. Ahora
que se ha identificado la región factible, se puede seguir adelante con el método de solución gráfica y determinar cuál
es la solución óptima para el problema de QUIMCAR. Recuerde que la solución óptima para un problema de
programación lineal es la solución factible que aporte el mejor valor de la función objetivo.
Figura 1-23. Región de soluciones factibles del problema ejemplo QUIMCAR.
Se inicia el paso de optimización del procedimiento de solución gráfica volviendo a dibujar la región factible en una
gráfica por separado. La Figura muestra dicha gráfica.
El procedimiento para determinar la solución óptima evaluando la función objetivo para cada una de las soluciones
factibles, no es posible pues hay demasiadas, (de hecho, una infinidad). Por lo tanto, para identificar la solución óptima
no se debe utilizar un procedimiento de ensayo y error. En vez de intentar calcular la contribución a la utilidad de
cada solución factible, se selecciona un valor arbitrario de la contribución a la utilidad y se identifican todas las
soluciones factibles (X1, X2) que dan el valor seleccionado.
48
Figura 1-24. Región factible del problema ejemplo QUIMCAR.
Por ejemplo, ¿qué soluciones factibles dan una contribución a la utilidad de 2400 dólares? Estas soluciones se dan
por los valores de X1 y X2 de la región factible que cumplan con la siguiente función objetivo que se puede simplificar
para obviar cálculos, así:
Ésta expresión es simplemente la ecuación de una línea recta, por lo que todas las soluciones factibles (X1, X2), con
una contribución a la utilidad de 24 dólares deben estar en esta línea. Ya se aprendió como trazar una línea de
restricción; el procedimiento para trazar la línea de la función objetivo o de utilidad es el mismo. Haciendo X1=0, se
tiene que X2 debe ser 8; entonces, el punto de solución (X1=0, X2=8) está en la recta. Similarmente, haciendo X2 = 0,
se tiene que el punto de solución (X1=6, X2 = 0), también está en la recta. Dibujando la línea recta por estos puntos,
se identifican todas las soluciones que tienen una contribución a la utilidad de 24; una gráfica de esta línea de utilidad
se presenta en la Figura 1-25 que muestra un número infinito de combinaciones factibles de producción que darán
una contribución de 24 a la utilidad.
Utilizando el procedimiento anterior para el trazado de rectas de utilidad y de restricción, se trazan la línea de utilidad
de 72 y 120 que se presentan en la misma Figura 1-25. Por supuesto, sólo los puntos de las rectas de valor 24, 72 y
120 que están dentro de la región factible, deben considerarse como soluciones factibles para tal contribución de
utilidad.
49
Figura 1-25. Diferentes líneas de utilidad para el problema ejemplo QUIMCAR
Dado que las rectas de utilidad son paralelas y de valor creciente conforme se alejan del origen, se pueden obtener
valores mayores para la función objetivo, continuando el movimiento hacia fuera del conjunto factible pero
manteniéndose adentro del mismo, hasta alcanzar el (los) último(s) punto(s) vértice antes de salir. Dado que los puntos
fuera de la región factible no son aceptables, el (los) punto(s) vértice en la región factible que coincide(n) con la recta
de utilidad mayor es una solución óptima al programa lineal.
El estudiante debe identificar ahora, el punto de solución óptimo para el problema ejemplo QUIMCAR. Utilice una
regla y escuadra, mueva paralelamente la recta de utilidad tan lejos del origen como pueda, pero conservando el
contacto en la zona factible. ¿Cuál es el último punto de la región factible? Este punto debe ser vértice y corresponde
a la solución óptima, vea el gráfico de la Figura 1-26. Los valores óptimos para las variables de decisión son (X1, X2)
= (25, 20).
50
Figura 1-26. Solución óptima para el problema ejemplo QUIMCAR.
Dependiendo del tamaño y claridad de su gráfica, se determinan los valores óptimos exactos de X1 y X2 leyendo
directamente de la gráfica. Pero observe en la Figura 1-23, la solución óptima del ejemplo está en la intersección de
las rectas de restricción 1 y 3 que se pueden resolver para precisar los valores coordenados.
Por lo que los valores de las variables de decisión X1 y X2 deberán satisfacer las ecuaciones de manera simultánea.
Resolviendo en función de X1 en (1)
Sustituyendo esta expresión (4) de X1 en la ecuación (3) y resolviendo en función de X2 se obtiene
51
Sustituyendo X2 =20 en la ecuación (4) y resolviendo en función de X1, resulta
A pesar de que la solución óptima para el problema está formada de valores enteros de las variables de decisión, esto
no será siempre el caso. La localización exacta del punto de solución óptima es X1 =25 y X2 =20. Este punto identifica
las cantidades óptimas de producción para QUIMCAR en 25 toneladas de cera automotriz y 20 toneladas de pasta
pulidora, con una contribución a la utilidad de:
Así, en un problema de programación lineal con dos variables de decisión, se puede determinar el valor exacto de las
variables de la solución óptima, utilizando primero el método gráfico para identificar el punto que optimiza y después
resolviendo simultáneamente las dos ecuaciones que generan el mismo.
Trazo de líneas rectas
Un aspecto importante del método gráfico es la posibilidad de trazar líneas rectas representando las restricciones y la
función objetivo del programa lineal. El procedimiento más sencillo para trazar la recta de una ecuación, es
encontrando dos puntos cualesquiera que la satisfagan y a continuación trazando la recta a través de dichos puntos.
En el caso de la línea recta de restricción de la materia prima 1 del problema QUIMCAR
Se identifican los dos puntos (X1 = 0, X2 = 40) y (X1 = 50, X2 = 0). Después se traza la línea recta de restricción de la
materia prima 1 a través de estos dos puntos.
Cuando en la ecuación de restricción sólo aparece una variable, como es el caso de la materia prima 2 del problema
(1/5 X2 <= 5), se resuelve en función de la única variable que aparece en la ecuación (para esta restricción, X2 =25);
es claro que en tal ecuación X1 = 0 pues no está presente, así (X1 =0, X2 =25) representa el punto en el eje X2 por
donde debe pasar una recta paralela al eje X1.
52
Todas las rectas de restricción y de funciones objetivo en los programas lineales de dos variables, se pueden trazar si
se pueden identificar los puntos de la línea. Sin embargo, determinar dichos puntos no siempre es tan fácil como
resultó en el problema QUIMCAR. Por ejemplo, considere la restricción:
Usando la forma de igualdad y haciendo X1 = 0, se tiene que el punto (X1 = 0, X2 = -100) pertenece a la recta de
restricción. Si X2=0, se tiene el segundo punto (X1 = 50, X2 = 0) sobre la misma recta de restricción. Si se ha dibujado
sólo la porción no negativa (X1 >= 0, X2 >= 0) correspondiente al primer cuadrante de la gráfica, entonces no se puede
fijar el primer punto (X1 = 0, X2 = -100), porque no hay escala para valores negativos en la gráfica tal como es X2 =
-100. Siempre que se tengan dos puntos de la recta, con uno o ambos valores negativos, el procedimiento gráfico
obligado es incluir la escala negativa a los dos ejes coordenados horizontal y vertical, incluyendo los cuadrantes
necesarios. En este ejemplo, se puede localizar el punto (X1 = 0, X2 = -100) extendiendo hacia abajo el eje vertical
para incluir los valores negativos de X2. Una vez localizados los dos puntos que satisfacen la ecuación y el conjunto
de soluciones factibles para la nueva restricción de ejemplo 2X2 - 1X2 <= 100, entonces se procede a su trazo, según
se ve en la siguiente figura:
Figura 1-27. Soluciones factibles de la restricción 2X1-1X2 <= 100
Considere ahora la restricción: 1X1 - 1X2 >= 0 mostrada en la Figura 1-28. El lado derecho con valor cero en esta
desigualdad, identifica una línea recta que contiene o pasa por el punto vértice conocido como origen. Para determinar
las soluciones que satisfacen la restricción como igualdad, primero se hace X1 = 0 y se resuelve en función de X2. El
resultado muestra que el origen (X1= 0, X2 = 0) está en la recta de restricción. Al hacer X2 = 0 y al resolver para X1,
resulta en el mismo punto. Pero se puede obtener otro punto de la recta, al dar a X2 un valor cualquiera distinto de
cero y entonces resolver en función de X1. Por ejemplo, haciendo que X2 = 100 y resolviendo en función de X1, se
encuentra que el punto (X1 = 100, X2 = 100) también pertenece a la recta. En ambos puntos (X1=0, X2= 0) y (X1 =
100, X2 = 100) se puede trazar la línea de restricción 1X1-1X2 = 0 y pueden determinarse las soluciones factibles para
1X1 - 1X2 >= 0.
53
Figura 1-28. Soluciones factibles de la restricción 1X1 - 1X2 >= 0
Resumen del método de solución gráfica en dos variables.
1. Dibuje en un sistema de dos ejes cartesianos (por ejemplo X1 para la coordenada horizontal y X2 para la
coordenada vertical) las líneas rectas correspondientes a cada una de las expresiones lineales del modelo de
programación lineal, identificando las mismas, calcule y anote las coordenadas (valores de X1 y X2) para cada
punto vértice.
2. Observe la dirección de las desigualdades para definir, individualmente, el conjunto de puntos de solución
factible de cada una de las restricciones y posteriormente, combinando todas ellas, por intersección o traslape,
definir y señalar el conjunto de puntos de solución factible para todo el sistema de restricciones del problema.
3. Con un valor arbitrario para la función Z, calcule las coordenadas de un punto perteneciente a cada uno de los
dos ejes cartesianos, dando alternativamente el valor de cero a X1 y X2 de la función objetivo Z, ahora se traza
una recta que pase por dichos puntos en los ejes, la cual muestra todos los valores posibles de X1 y X2 de la
misma.
4. Mueva la recta de la función objetivo Z paralelamente hacia valores mayores de la función, si el problema es
de máximo, o bien, hacia valores menores, si el problema es de mínimo, hasta que coincida con un punto
vértice, antes de salir de la región factible. La recta de la función objetivo se cuantifica con los valores (X1,
X2) al coincidir con el vértice; su valor crecerá o bien decrecerá conforme a su traslado paralelo, según sean
los signos de sus términos.
5. Cualquier punto vértice que sea solución factible para el sistema de restricciones que coincida con la recta de
la función objetivo que resulte con el valor mayor para un máximo o bien con el menor para un mínimo, según
el caso, es una solución óptima.
Variables de Holgura
Además de la solución óptima y de su contribución a la utilidad asociada, la administración de QUIMCAR desea
tener información de uso de las tres materias primas. Se puede obtener esta información reemplazando los valores
óptimos de las variables (X1=25, X2=20) en las restricciones del programa lineal.
54
Figura 1-29. Material consumido: solución óptima cera y pasta, ejemplo QUIMCAR.
La solución completa le indica a la administración que la producción de 25 toneladas de cera automotriz y de 20
toneladas de pasta pulidora requiere toda la materia prima disponible 1 y 3, pero solamente cuatro de las cinco
toneladas de la materia prima 2. La tonelada de la materia prima 2 no utilizada se conoce como holgura. En
terminología de programación lineal, cualquier capacidad sin utilizar y ociosa para una restricción igual o menor
(<=) se llama holgura asociada con la restricción, por lo que la restricción del recurso 2 tiene una holgura de una
tonelada.
A menudo se agregan variables, conocidas como variables de holgura Hi, o bien Xi, (según la notación preferida) a
la formulación de un problema de programación lineal para representar la capacidad ociosa. La capacidad sin utilizar
no hace ninguna contribución a la utilidad, por lo que las variables de holgura que se incluyan en la función objetivo
deben tener coeficientes iguales a cero. En general, las variables de holgura representan la diferencia entre los lados
derecho e izquierdo de una restricción de tipo <=.
Una vez agregadas las variables de holgura a la representación matemática correspondiente al problema QUIMCAR
el modelo matemático se convierte en:
Cuando todas las restricciones de un problema lineal se expresan en forma de igualdades, se dice que el modelo
matemático está en forma estándar. En el problema QUIMCAR se observa que en la solución óptima (X1=25,
X2 =20), el valor de las variables de holgura es:
Figura 1-30. Holguras de materia prima en ejemplo QUIMCAR.
55
Figura 1-31. Concepto físico de la holgura H2 en ejemplo QUIMCAR.
También se puede utilizar el análisis gráfico para obtener la información de las holguras. Observe que al determinar
la solución óptima de la Figura, el punto vértice que es intersección de la materia prima 1 y de la 3, restringen o
limitan la región factible hasta ese punto vértice, por lo que la solución óptima requiere usar la totalidad de estos dos
recursos. En otras palabras, la gráfica en Figura 1-23 muestra que en la solución óptima, la línea recta de restricción
de la materia prima 2 no limita la región factible en ese punto vértice, por lo que se puede esperar algún sobrante
(holgura) de este recurso.
Cuando en un gráfico se tienen rectas de restricción que sólo tocan un vértice del conjunto factible o bien ningún
punto del mismo, se identifican como restricciones redundantes (sobrantes). En problemas con más de dos variables
de decisión, se tienen métodos analíticos para detectar la redundancia.
En tal caso, la región factible se conserva igual, independientemente de que se incluya o no una restricción redundante
del problema, por lo tanto se pueden eliminar sin que tengan ningún efecto sobre la solución óptima. Sin embargo, en
la mayor parte de los problemas de programación lineal, las restricciones redundantes no se descartan porque no son
reconocibles de inmediato como tales. El problema QUIMCAR no tiene restricciones redundantes pues todas las
restricciones forman la frontera de la región factible.
Observaciones y comentarios
1. En la forma estándar de un programa lineal, los coeficientes para las variables de holgura son cero en la función
objetivo, por lo tanto, las variables de holgura que representan recursos sin utilizar, no afectan el valor de la
función y se pueden omitir. Pero en algunas aplicaciones, algunos o todos los recursos no utilizados pueden
venderse para recuperar valores y contribuir a la utilidad. En estos casos las variables de holgura
correspondientes se convierten en variables de decisión que representan el total de recursos a vender. Para
cada una de estas variables, un coeficiente distinto de cero en la función objetivo reflejará la utilidad asociada
con la venta de una unidad del recurso correspondiente.
2. Las restricciones redundantes no afectan la región factible; como consecuencia, pueden eliminarse de un
modelo de programación lineal sin afectar la solución óptima. Sin embargo, si posteriormente se debe resolver
el modelo de programación lineal con algunos cambios en los datos, una restricción previamente redundante
se podría convertir en un recurso limitante, por lo que se sugiere conservar todas las restricciones del modelo
de programación lineal, aun cuando se espere que una o más de ellas sean redundantes.
Puntos extremos y solución óptima
Suponga que la contribución a la utilidad de una tonelada de pasta pulidora se incrementa de 300 a 600 dólares, en
tanto que la contribución a la utilidad de una tonelada de cera automotriz y todas las demás restricciones se mantienen
sin modificación. La función objetivo se convierte en:
56
¿Cómo afecta este cambio de la función objetivo a la solución óptima del problema de QUIMCAR? La Figura 1-
32 muestra la solución gráfica del problema, utilizando la función objetivo modificada. Observe que las restricciones
no tienen cambio, entonces la región factible es la misma; pero se han alterado las líneas rectas de utilidad para reflejar
la nueva función objetivo.
Como se observa en la Figura 1-32, al mover la línea recta de utilidad de manera paralela, alejándola del origen, se
encuentra la solución óptima. Los valores de las variables de decisión en este punto son X1=18.75 y X2 = 25. El
aumento en la utilidad de la pasta pulidora ha creado un cambio en la solución óptima. De hecho, como quizás ya lo
previó, se reduce la producción de la cera y aumenta la de pasta pulidora, porque ahora tiene una utilidad mayor.
Respecto de las soluciones gráficas de la Figura 1-26 y Figura 1-32 se debe hacer una observación importante: la
solución óptima ocurre en alguno de los vértices o intersecciones de la región factible. En terminología de
programación lineal, estos vértices se conocen como puntos extremos de la región factible, por lo que para este
problema se tienen cinco vértices, es decir, cinco puntos extremos (Figura 1-32). Ahora se puede dar la observación
siguiente sobre la localización de las soluciones óptimas.
Figura 1-32. Cambia óptimo: objetivo máximo Z = 400X1 + 600 X2, ejemplo QUIMCAR
Si existe la solución óptima de un problema de programación lineal, se puede encontrar en un punto extremo
de la región factible del problema.
Esta propiedad significa que, si busca la solución óptima de un problema de programación lineal, debe limitarse a
evaluar y comparar los puntos de solución correspondientes a los vértices de la región factible.
OTROS EJEMPLOS DE MÉTODO GRÁFICO: Se presentan algunos problemas resueltos con gráfica para
ampliar la oportunidad de adquirir este conocimiento:
Ejemplo 1-13. Método gráfico, PL en máximo con restricciones <= (MAXCAN1) [HIL67].
57
El gráfico en la Figura 1-33 muestra el conjunto de soluciones factibles, coordenadas y notas importantes de vértices,
con valores de Z para los mismos; además, se presentan coordenadas en tabla de todo el sistema, el que se amplía
debido a las holguras que se suman a cada una de las restricciones.
Figura 1-33. Solución gráfica del ejemplo MAXCAN1.
Anote que se evalúan sólo los vértices factibles y que las rectas correspondientes a las restricciones (1) y (2) son
paralelas al eje X2 y al eje X1, respectivamente, por lo que no hacen intersección con ellos, es decir, no forman vértice.
En el punto vértice C se localiza el valor máximo buscado para la función Z. En la Figura 1-34 se muestra el conjunto
de puntos que son factibles para cada una de las tres restricciones y el primer cuadrante; la intersección de todos ellos
resulta en la región factible de la Figura 1-33.
59
Figura 1-34. Regiones factibles en cada restricción del ejemplo MAXCAN1.
Para valorar los puntos vértices del conjunto factible se sustituyen los valores correspondientes (X1, X2) en la ecuación
Z:
Figura 1-35. Concepto físico de holgura en restricción 3 del ejemplo MAXCAN1.
60
Espacio ampliado al sumar holguras.- En la siguiente tabla se muestran los vértices dados en el gráfico del Ejemplo
1-13, MAXCAN1. Estos se generan como solución básica, pues se conjuntan 5 variables (2 de decisión más 3
holguras) del modelo en forma estándar. Se anota (X1, X2) conocidas en la solución gráfica y sustituyendo éstas en la
misma forma, se valoran H1, H2, H3, obteniendo la solución básica respectiva.
Figura 1-36. Espacio ampliado a 5 dimensiones, en ejemplo MAXCAN1.
Solución básica: Se tiene con, al menos, (m + n) - m = n variables iguales a cero.
En donde: m = # de restricciones; n = # de variables originales o de decisión.
Para el ejemplo: m = 3; n = 2; entonces: (m + n) - m = (3 + 2) - 3 = 2 variables nulas.
En la tabla, cada renglón es una solución básica, pues 2 de las 5 variables son cero.
Un vértice o punto extremo único es el cruce de sólo 2 líneas, como es en este ejemplo.
Una solución básica factible en vértice único, se denomina no degenerada. Observe que las variables
nulas pertenecen a las rectas que tocan el vértice. Número máximo de soluciones básicas únicas.- Estima el tiempo
para la computadora.
En este ejemplo se ven 8 vértices y 2 que no existen por paralelismo entre rectas.
Conjunto convexo.- Un conjunto es convexo si dados dos puntos A, B, cualesquiera del mismo, el segmento de recta
que los une, se incluye totalmente en dicho conjunto. La expresión matemática, de todos los puntos P obtenidos por
combinación convexa entre dos puntos A y B del mismo es:
61
Figura 1-37. Ejemplos de conjunto convexo.
Figura 1-38. Ejemplos de conjunto no convexo.
Ejemplo 1-14. Método gráfico, PL en mínimo con restricciones >= (MINCAN1).
63
Figura 1-40. Regiones factibles del ejemplo MINCAN1.
Observe el valor de la función objetivo, es mínimo en el vértice C (2,4) con Zc = 14.
El conjunto de soluciones factibles de la Figura 1-39 de este problema, es no acotado, se obtiene sobreponiendo las
regiones factibles de las tres restricciones del modelo y la región factible del primer cuadrante, mostradas en la Figura
1-40
64
Un vértice formado con más de dos líneas rectas, se califica como solución no única, como son los vértices O y C
que se pueden formar con tres combinaciones de intersección según se muestra en el gráfico de la Figura 1-39 para
tales puntos. En particular, el vértice C se denomina como solución degenerada pues es factible y no único. El
origen O, se califica como no factible, al igual que la infinidad de puntos restantes (sean vértices o no), que no
pertenecen al conjunto factible, sombreado entre las rectas (1), (2) y eje X1.
Un punto vértice de solución degenerada en la analogía geométrica bidimensional se tiene con una recta
restricción redundante en ese punto, pero tal recta no forma el conjunto factible.
La forma estándar requiere que todas las restricciones sean de igualdad, pero cuando el modelo en estudio tiene
restricciones de tipo >=, se usa una holgura negativa Si llamada variable de superávit, la cual debe restarse a cada
una de esas restricciones como sigue:
Figura 1-41. Concepto físico de superávit en restricción 1, ejemplo MINCAN1.
De esta manera, el espacio de dos dimensiones de la Figura 1-39 y Figura 1-40, se amplía a un espacio de 5
dimensiones que no se puede dibujar, pero si tratar analíticamente.
La tabla de la Figura 1-42 muestra las coordenadas o valor para cada una de las variables en el problema Ejemplo 1-
14, MINCAN1, ampliado a 5 dimensiones (2 variables de decisión más 3 variables superávit), al pasar a forma
estándar; se conservan los valores (X1, X2) obtenidos en la solución gráfica de la Figura 1-39 y se sustituyen en la
forma estándar para calcular el valor de S1, S2, S3, variables restadas en el lado izquierdo de las restricciones. En la
tabla, cada renglón se identifica con cada vértice de la Figura 1-39, pero debido a la ampliación del espacio, se
convierten en solución básica pues tienen, por lo menos: n = (m + n) - m = (3 + 2) - 3 = 2 variables de valor cero. Pero
los puntos extremos O y C, tienen más de 2 variables nulas, en este caso con 3 variables cero, se identifican
como soluciones básicas no únicas y en particular C es una solución básica degenerada.
Supóngase ahora que la función objetivo Z se cambia para máximo, en tal caso el traslado hacia fuera del cuadrante,
de la línea recta correspondiente a la función Z, con el propósito de incrementar el valor de las variables X1 y X2,
resulta en un incremento indefinido para el valor de dicha función y por lo tanto sin límite.
Sustituyendo (X1, X2) de los dos vértices de la región factible se obtiene el óptimo como mínimo ZC = 14:
65
Figura 1-42. Sistema ampliado a 5 dimensiones en ejemplo MINCAN1.
Ejemplo 1-15. Método gráfico, PL en máximo y mínimo, restricciones <= y >= (MAXMIN1).
Este nuevo ejemplo inicia una serie de variantes a partir del Ejemplo 1-14, se estima que el estudiante fija más
conocimiento cuando tiene oportunidad de comparar los efectos de los cambios en el mismo problema, se pretende
responder a: ¿qué pasaría sí.....?
Como se puede ver en la Figura 1-44, el efecto inmediato del cambio es que ahora se tiene un conjunto factible
acotado, que permite calcular para la función Z el máximo y también el mínimo. Se anota información relevante, ya
explicada en anteriores ejemplos y se sugiere al lector estudioso comprobar lo aprendido hasta ahora, con el ejercicio
de graficar, cada una de las restricciones y luego definir el conjunto de soluciones factibles para todo el sistema de
este problema. Verifique la Figura 1-43.
66
Figura 1-43. Factibilidad de restricciones en ejemplo MAXMIN1.
Observe que los puntos vértices (extremos) son la intersección de por lo menos dos líneas rectas, en tal caso se dice
que son únicos; pero los puntos O y C se forman con tres líneas rectas, calificándolos como vértices no únicos, pues
se puede generar la misma intersección de las tres maneras en que se anota en la Figura 1-44. Para este ejemplo, el
punto extremo C, además de no único, es factible y por lo tanto solución degenerada. El vértice origen O, queda en
la categoría de no factible, como es cualesquier punto no incluido en la zona sombreada. A propósito de ella revise,
si así lo desea, la definición de conjunto convexo y verifique que las regiones factibles correspondientes a los
problemas gráficos de ejemplo, cumplen para tal calificación.
67
Figura 1-44. Solución gráfica del ejemplo MAXMIN1, resulta una región factible acotada al invertir la
restricción (1) a <=.
# Máximo de soluciones básicas únicas: m =3 restricciones; n = 2 variables originales
Ejemplo 1-16. Método gráfico con PL en máximo y mínimo, una restricción en = (FACTIRECTA).
Así el conjunto factible resulta en un sólo segmento de recta BC. Se sugiere como ejercicio, graficar individualmente
las restricciones y verificar su conjunto factible con la Figura 1-45.
68
Figura 1-45. Gráfica del modelo ejemplo FACTIRECTA, variante del MAXMIN1, con el segmento de recta
BC como conjunto de soluciones factibles.
Restricción redundante: Para este problema, puede ser tanto el número uno, como la número dos, según la que se
utilice primero para definir el vértice "C". En caso de que requiera mayor exposición, a continuación se presenta en
la Figura 1-46 el conjunto factible correspondiente a cada restricción del Ejemplo 1-16; anote en particular, el gráfico
de la (3) que es de igualdad, provoca que el conjunto factible sea un sólo segmento de recta BC.
69
Figura 1-46. Región factible para cada restricción del ejemplo FACTIRECTA.
Ejemplo 1-17. Método gráfico, PL en máximo y mínimo, la variable X2 no positiva. (MINMAXCU).
70
Figura 1-47. Solución gráfica del modelo ejemplo MINMAXCU, muestra un conjunto factible que se ubica en
el cuarto cuadrante debido a que la variable X2 se condiciona a valor no positivo.
Esta nueva variante elegida como Ejemplo 1-17 tiene algo especial, como es condicionar a signo no positivo a la
variable X2, con el resultado gráfico que quizá, ya esperaba usted.
La aceptación de la posibilidad de valor negativo para X2, obliga al cálculo que incluye las dos alternativas: con signo
menos y con cero, para X2; así se consigue situar el dibujo con los vértices necesarios para el trazo, definición del
conjunto factible y la evaluación de la función objetivo en el cuarto cuadrante del sistema bidimensional.
Como puede observar en la Figura 1-47, el conjunto de soluciones factibles del ejemplo 1.17 se define en el cuarto
cuadrante con el triángulo cuyos vértices son O B C.
En la Figura 1-48 se presenta la región factible que le corresponde a cada una de las restricciones del ejemplo
MINMAXCU para verificar sus resultados gráficos:
71
Figura 1-48. Región factible de restricciones del ejemplo MINMAXCU.
Programa CAVA.- El lector que así lo desee puede consultar en el programa CaVa (próximo a liberarse) las
soluciones (ya sea analítica o bien gráfica), de algunos de los problemas ejemplo del libro. Puede encontrar, como
ejemplos de formulación de modelos de PL, los números: 1.4Bediet, 1.7 de distribución de carga en barco, 1.9 de
desperdicio en proceso de corte. Como ejemplos de método gráfico los números 1.31 al1.43.
1.6. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo [MAT96]
En las siguientes subsecciones encontrará una serie de ejercicios que ayudarán a la total comprensión de los temas
tratados en el presente capítulo. Asimismo, los ejercicios marcados con *AUTOEVAL* son de auto evaluación, el
peso de los incisos correspondientes a cada uno de ellos podrán ser consultados en la sección de respuestas. Se sugiere
resolverlos, y una vez terminados, revisar su solución y calcular la calificación correspondiente y así evaluar el
entendimiento del mismo.
Se recomienda aplicar los ejercicios aquí planteados a casos prácticos de la vida diaria como parte de las actividades
de aprendizaje del presente material.
72
1.6.1. Mezcla de tipos de petróleo crudo *AUTOEVAL*.
Una empresa puede comprar dos tipos de petróleo crudo: ligero a un costo de $25 dólares por barril y pesado a $22
dólares por barril. Cada barril de petróleo crudo ya refinado, produce la fracción de barril anotada de los tres productos
de la siguiente tabla:
Figura 1-49. Tabla de mezcla de tipos de petróleos crudos.
La refinería se ha comprometido a entregar pedidos en barriles de 1.260,000 de gasolina, 900,000 de turbosina y
300,000 de queroseno. Formule con PL un modelo que defina todas las variables de decisión, determine los barriles
de cada tipo de petróleo crudo a comprar, minimice el costo total y satisfaga la demanda.
B.1.1. Mezcla de tipos de petróleos crudos.
Enunciado del ejercicio
6 expresiones-acierto en modelo (1/2 punto c/u)
1.6.2. Mezcla de tipos de camión.
Una empresa recibió un contrato para suministrar a distribuidores 800,000 galones de gasolina por mes. La compañía
tiene disponibles $500,000 dólares para iniciar una flota consistente en tres tipos diferentes de camiones. En la
siguiente tabla se muestra la capacidad, costo de compra, costo operativo y número máximo de viajes por cada tipo
de camión.
73
Figura 1-50. Tabla de mezcla de tipos de camión.
Considerando el mantenimiento y la disponibilidad de conductores, la empresa desea comprar a lo más 10 vehículos
para su flota. Así mismo, la compañía desea asegurar la compra de al menos 3 de los camiones del tipo 3 para usarse
en las rutas de trayecto corto y baja demanda. Finalmente, la empresa desea que a lo más la mitad de la flota sea de
camiones del tipo 1. Formule un modelo para determinar la composición de la flota que minimice los costos operativos
mensuales y satisfaga las demandas, sin salirse del presupuesto.
B.1.2. Mezcla de tipos de camión.
1.6.3. Transporte de turbosina al aeropuerto.
Una línea aérea reabastece sus aeronaves regularmente en los cuatro aeropuertos incluidos en su servicio. La turbosina
puede comprarse a tres vendedores posibles de cada aeropuerto. La tabla siguiente indica el costo de entrega (compra
más embarque) de 1,000 galones de cada vendedor a cada aeropuerto; también el número disponible en miles de
galones que cada vendedor puede proveer cada mes; por último, el requerimiento mensual de turbosina en miles de
galones en cada aeropuerto.
Figura 1-51. Tabla de transporte de turbosina al aeropuerto.
Formule un modelo de PL que determine cantidades de turbosina a comprar y enviar por parte de cada vendedor a
cada aeropuerto con mínimo costo, satisfaciendo al mismo tiempo por lo menos la demanda mensual a cada aeropuerto
y no excediendo el suministro de cualquier vendedor.
74
B.1.3. Transporte de turbosina al aeropuerto.
1.6.4. Asignación de servicio postal a sucursales.
Una ciudad desea determinar cuántas subestaciones postales se requieren para dar servicio a su población. La ciudad
ha sido dividida en ocho zonas postales. Se han identificado cinco ubicaciones posibles para las subestaciones. Cada
ubicación puede dar servicio a un número diferente de zonas, como se indica en la siguiente tabla:
Figura 1-52. Tabla de asignación de servicio postal a sucursales.
Formule un modelo para determinar el número mínimo de subestaciones (y sus ubicaciones) necesarias para dar
servicio a las ocho zonas postales. (Sugerencia: defina una variable apropiada para cada ubicación.)
75
B.1.4. Asignación de servicio postal a sucursales.
1.6.5. Producción de partes para ensamble.
Tres divisiones de una compañía fabrican un producto en el que cada unidad completa consiste en cuatro unidades
del componente A y tres unidades del componente B. Los dos componentes (A y B) se fabrican a partir de dos materias
primas diferentes. Existen 100 unidades de la materia prima 1 y 200 unidades de la materia prima 2 disponibles. Cada
una de las tres divisiones usa un método diferente para fabricar los componentes, dando como resultado distintos
requerimientos de materia prima y productos. La tabla muestra los requerimientos de materia prima por corrida de
producción en cada división y el número de cada componente producido por esa corrida.
Figura 1-53. Tabla de producción de partes para ensamble.
Por ejemplo, cada corrida de producción de la división 1 requiere 8 unidades de la materia prima 1 y 6 unidades de la
materia prima 2. El producto de esta corrida es 7 unidades de A y 5 unidades de B. Formule un modelo para determinar
el número de corridas de producción para cada división que maximice el número total de unidades terminadas de
producto.
76
B.1.5. Producción de partes para ensamble.
1.6.6. Transporte de combustible.
Una empresa tiene 14,000 galones de una mezcla de gasolina y alcohol en el almacén 1 y 16,000 galones en el almacén
2. Desde esos almacenes, debe proveer 10,000 galones al cliente 1 y 20,000 galones al 2. El costo de embarcar 1 galón
desde cada almacén a cada cliente es en dólares:
Figura 1-54. Tabla de transporte de combustible.
Formule un modelo de programación lineal para determinar el plan de embarque de costo mínimo que satisfaga las
restricciones de provisión y demanda.
77
B.1.6. Transporte de combustible.
1.6.7. Mezcla de componentes en producción de pólvora.
Una empresa mezcla azufre, carbón y salitre para producir pólvora. El producto final debe contener al menos 10%,
pero no más de 20%, de carbón por unidad de peso. La cantidad de salitre no puede exceder el 50% de la cantidad de
carbón usado. Para evitar una explosión accidental, la suma de 50% del azufre más 60% del carbón más 30% del
salitre usados no pueden exceder 35% del producto final. El azufre es con mucho el componente más caro. Formule
un modelo para determinar la cantidad de cada ingrediente que debe utilizarse para producir cada libra de pólvora que
satisfaga las restricciones y, a la vez, que requiera la menor cantidad de azufre.
B.1.7. Mezcla de componentes en producción de pólvora.
1.6.8. Producción de jugos *AUTOEVAL*.
Cada semana, se usa una sola máquina durante 150 horas para destilar jugo de naranja y de toronja en concentrados
almacenados en dos tanques separados de 1000 galones antes de congelarlos. La máquina puede procesar 25 galones
de jugo de naranja por hora, pero sólo 20 galones de jugo de toronja. Cada galón de jugo de naranja cuesta $2 y pierde
30% de contenido de agua al destilarse en concentrado. El concentrado de jugo de naranja se vende después en $8 por
galón. Cada galón de jugo de toronja cuesta $2.5 y pierde 25% de contenido de agua al destilarse en concentrado. El
concentrado de jugo de toronja se vende después en $10 por galón. Formule un modelo de programación lineal para
determinar un plan de producción que maximice la ganancia para la siguiente semana usando las variables:
78
X n = número de galones de jugo de naranja por utilizar esta semana X t = número de galones de jugo de toronja por
utilizar esta semana
B.1.8. Producción de jugos.
Enunciado del ejercicio
6 expresiones-acierto en modelo (1/2 punto c/u)
1.6.9. Producción de jugos concentrados.
Como variante del ejercicio anterior, formule un modelo de programación lineal para determinar un plan de
producción que maximice la ganancia para la siguiente semana usando las variables: Xcn = el número de galones de
concentrado de naranja por producir esta semana Xnt = el número de galones de concentrado de toronja por producir
esta semana
B.1.9. Producción de jugos concentrados.
1.6.10. Transporte de barriles de petróleo.
Se debe transportar 100,000 barriles de cada uno de tres campos petroleros a un tanque de almacenamiento A. El
petróleo puede transportarse en camiones directamente de los campos al tanque A con un costo de $0.03 por barril-
milla. También pueden enviarse hasta 150,000 barriles de petróleo, desde los campos mediante ductos a un eje central
B a un costo de $0.02 por barril-milla y luego transportarse al A en camiones a $1 por barril. Formule un modelo de
Pl del plan de embarque de costo mínimo, dadas las siguientes distancias en millas:
79
Figura 1-55. Tabla de transporte de barriles de petróleo.
B.1.10. Transporte de barriles de petróleo.
Enunciado del ejercicio
1.6.11. Asignación de cultivos *AUTOEVAL*.
Se tienen 50 acres de tierra en la cual plantar cualquier cantidad de maíz, soya, lechuga, algodón y brócoli. La siguiente
tabla muestra la información relevante perteneciente a la producción, al costo de plantación, al precio de venta
esperado y los requerimientos de agua para cada cultivo:
Figura 1-56. Tabla de asignación de cultivos.
Para la próxima temporada hay 100,000 litros de agua disponibles y se pueden vender al menos 5,120 Kg de maíz.
Formule un modelo de programación lineal.
80
B.1.11. Asignación de cultivos.
1.6.12. Conceptos de PL con opciones de acierto *AUTOEVAL*.
Opciones de aciertos para diferentes conceptos.
(1) conjunto convexo, (2) vector C, (3) matriz A, (4) redundante, (5) forma estándar, (6) desigualdad, (7) solución
básica, (8) variable superávit, (9) solución degenerada, (10) programación lineal, (11) forma canónica, (12) (m + n)!
/ m! n!, (13) variable de holgura, (14) solución factible, (15) solución no única.
Anote el # correspondiente en los paréntesis siguientes:
(__) Arreglo a coeficientes de consumo en restricciones.
(__) Solución básica, no única, factible.
(__) Posible consumo adicional al recurso requerido.
(__) Número máximo de soluciones básicas únicas.
(__) Objetivo Máximo (Mínimo), restricciones <= (>=), variables>= 0
(__) Infinidad de puntos satisfaciendo toda restricción.
(__) Tiene al menos, n variables nulas.
(__) Con matemática lineal abstrae problema analizado.
(__) Ubicado en: interior, frontera, o vértice del conjunto.
(__) Significa el posible exceso de recurso.
(__) Objetivo Max (Min), restricciones =, variables >= 0.
(__) Tiene menos de m variables positivas.
81
(__) Arreglo de coeficientes de la función objetivo.
(__) Restricción que no limita el conjunto factible.
(__) P = A + (1 - ) B; 0 <= <= 1
Nota: Un paréntesis puede tener más de un número y éstos pueden repetirse en otros.
B.1.12. Conceptos de PL con opciones de acierto.
Opciones de aciertos para diferentes conceptos.
Anote el # correspondiente en los paréntesis siguientes:
(3, 6, 5, 10,11) Arreglo a coeficientes de consumo en restricciones.
(4, 7, 9, 14,15) Solución básica, no única, factible.
(6,8) Posible consumo adicional al recurso requerido.
(12) Número máximo de soluciones básicas únicas.
(10,11) Objetivo Max (Min), restricciones <= (>=), variables>= 0
(1, 5, 6, 10,14) Infinidad de puntos satisfaciendo toda restricción.
(7, 9,15) Tiene al menos, n variables nulas.
(5, 10,11) Con matemática lineal abstrae problema analizado.
(14) Ubicado en: interior, frontera, o vértice del conjunto.
(6,13) Significa el posible exceso de recurso.
(5,10) Objetivo Max (Min), restricciones =, variables >= 0.
(4, 7, 9,15) Tiene menos de m variables positivas.
(2,10) Arreglo de coeficientes de la función objetivo.
(4, 9,15) Restricción que no limita el conjunto factible.
(1,10) P = A + (1- ) B; 0 <= <=1
82
1.6.13. Solución gráfica 1 con aciertos de opción múltiple *AUTOEVAL*.
Dado el gráfico y el modelo de PL que lo origina:
Figura 1-57. Gráfica y modelo 1 con aciertos de opción múltiple.
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(__) La recta de restricción #2 es:
a) AO b) GACD c) FCBE d) O B D e) FAL
(__) La recta de restricción #3 es:
a) OA b) FCBE c) EBCF d) DCAG e) ninguna
(__) Las coordenadas de un vértice no único son:
a (-2,0) b (2,2) c (0,2) d (2,0)
(__) El conjunto factible es el espacio:
a) ALG b) BCD c) OACB d) AFC e) AF
(__) El # máximo de soluciones básicas únicas es:
a) 15 b) 18 c) 32 d) 10 e) 28
83
(__) El # de soluciones inexistentes son:
a) 6 b) 4 c) 3 d) 8 e) 2 f) 1 g) ninguna
(__) El # de soluciones básicas en vértice no único es:
a) 9 b) 6 c) 12 d) 15 e) 3
(__) Hay solución degenerada en vértice(s):
a) OB b) CO c) EB d) A e) O f) FC
(__) Hay solución no degenerada en vértice(s):
a) A b) CF c) E d) BC e) ninguna
(__) Hay redundancia por restricción(es) #:
a) 3,2 b) 2 c) 1 d) 3 e) ninguna
(__) Restricción 1,2,3,4 en = con:
a) H1, H2, H3,-S4 b) H1, H2, H3 c) -S1,-S2,-S3,-S4
(__) Valor max, min respectivo en función Z es:
a) -2,-8 b) 4,-2 c) -6,-12 d) 1,-5
B.1.13. Solución gráfica con aciertos de opción múltiple.
Dado el gráfico y el modelo de PL que lo origina:
84
Figura B-1. Solución 1
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(c) La recta de restricción #2 es:
a) AO b) GACD c) FCBE d) O B D e) FAL
(a) La recta de restricción #3 es:
a) OA b) FCBE c) EBCF d) DCAG e) ninguna
(b) Las coordenadas de un vértice no único son:
a (-2,0) b (2,2) c (0,2) d (2,0)
(d) El conjunto factible es el espacio:
a) ALG b) BCD c) OACB d) AFC e) AF
(a) El # máximo de soluciones básicas únicas es:
a) 15 b) 18 c) 32 d) 10 e) 28
(e) El # de soluciones inexistentes son:
a) 6 b) 4 c) 3 d) 8 e) 2 f) 1 g) ninguna
(b) El # de soluciones básicas en vértice no único es:
85
a) 9 b) 6 c) 12 d) 15 e) 3
(d) Hay solución degenerada en vértice(s):
a) OB b) CO c) EB d) A e) O f) FC
(b) Hay solución no degenerada en vértice(s):
a) A b) CF c) E d) BC e) ninguna
(d) Hay redundancia por restricción(es) #:
a) 3,2 b) 2 c) 1 d) 3 e) ninguna
(a) Restricción 1,2,3,4 en = con:
a) H1, H2, H3,-S4 b) H1, H2, H3 c) -S1,-S2,-S3,-S4
(a) Valor max, min respectivo en función Z es:
a) -2,-8 b) 4,-2 c) -6,-12 d) 1,-5
B.1.14. Solución gráfica con aciertos de opción múltiple.
Dado el gráfico y el modelo de PL que lo origina:
Figura B-2. Solución 2
86
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(c) La recta de restricción #2 es:
a) KAO b) GACD c) FCBE d) TCK e) RFKL
(a) La recta de restricción #3 es:
a) KAO b) FCBE c) EBCF d) DCAG e) ninguna
(c) Coordenadas de vértices no únicos:
a(-2,0)(0,2) b(2,2)(4,0) c(3,3)(1,3)(0,0)
(d) El conjunto factible es el espacio:
a) AKGL b) KCF c) OACB d) AKC e) KF
(b) El # máximo de soluciones básicas únicas es:
a) 15 b) 21 c) 32 d) 10 e) 28
(f) El # de soluciones inexistentes son:
a) 6 b) 4 c) 1 d) 6 e) 2 f) 3 g) ninguna
(a) El # de soluciones básicas en vértice no único es:
a) 9 b) 6 c) 12 d) 15 e) 3
(b) Hay solución degenerada en vértice(s):
a) OB b) CK c) EB d) A e) O f) FA
(c) Hay solución no degenerada en vértice(s):
a) R b) O c) A d) KC e) ninguna
(b) Hay redundancia por restricción(es) #:
a) 3,1 b) 2,5 c) 1 d) 4 e) ninguna
(d) En 1, 2, 3, 4,5 pasa a = con:
a) 3Hi y 2Si b) 1Hi y 4Si c) 2Hi y 3Si d) 4Hi y 1Si
(d) Valor max, min respectivo en función Z es:
87
a) -3,-8 b) 4,-2 c) 6,-1 d) -2,-7
B.1.13. Solución gráfica con aciertos de opción múltiple.
Dado el gráfico y el modelo de PL que lo origina:
Figura B-1. Solución 1
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(c) La recta de restricción #2 es:
a) AO b) GACD c) FCBE d) O B D e) FAL
(a) La recta de restricción #3 es:
a) OA b) FCBE c) EBCF d) DCAG e) ninguna
(b) Las coordenadas de un vértice no único son:
a(-2,0) b (2,2) c(0,2) d(2,0)
(d) El conjunto factible es el espacio:
a) ALG b) BCD c) OACB d) AFC e) AF
(a) El # máximo de soluciones básicas únicas es:
88
a) 15 b) 18 c) 32 d) 10 e) 28
(e) El # de soluciones inexistentes son:
a) 6 b) 4 c) 3 d) 8 e) 2 f) 1 g) ninguna
(b) El # de soluciones básicas en vértice no único es:
a) 9 b) 6 c) 12 d) 15 e) 3
(d) Hay solución degenerada en vértice(s):
a) OB b) CO c) EB d) A e) O f) FC
(b) Hay solución no degenerada en vértice(s):
a) A b) CF c) E d) BC e) ninguna
(d) Hay redundancia por restricción(es) #:
a) 3,2 b) 2 c) 1 d) 3 e) ninguna
(a) Restricción 1,2,3,4 en = con:
a) H1, H2, H3,-S4 b) H1, H2, H3 c) -S1,-S2,-S3,-S4
(a) Valor max, min respectivo en función Z es:
a) -2,-8 b) 4,-2 c) -6,-12 d) 1,-5
1.6.14. Solución gráfica 2 con aciertos de opción múltiple *AUTOEVAL*.
Dado el gráfico y el modelo de PL que lo origina:
89
Figura 1-58. Gráfica y modelo 2 con aciertos de opción múltiple.
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(__) La recta de restricción #2 es:
a) KAO b) GACD c) FCBE d) TCK e) RFKL
(__) La recta de restricción #3 es:
a) KAO b) FCBE c) EBCF d) DCAG e) ninguna
(__) Coordenadas de vértices no únicos:
a(-2,0)(0,2) b(2,2)(4,0) c(3,3)(1,3)(0,0)
(__) El conjunto factible es el espacio:
a) AKGL b) KCF c) OACB d) AKC e) KF
(__) El # máximo de soluciones básicas únicas es:
a) 15 b) 21 c) 32 d) 10 e) 28
(__) El # de soluciones inexistentes son:
a) 6 b) 4 c) 1 d) 6 e) 2 f) 3 g) ninguna
(__) El # de soluciones básicas en vértice no único es:
90
a) 9 b) 6 c) 12 d) 15 e) 3
(__) Hay solución degenerada en vértice(s):
a) OB b) CK c) EB d) A e) O f) FA
(__) Hay solución no degenerada en vértice(s):
a) R b) O c) A d) KC e) ninguna
(__) Hay redundancia por restricción(es) #:
a) 3,1 b) 2,5 c) 1 d) 4 e) ninguna
(__) En 1, 2, 3, 4,5 pasa a = con:
a) 3Hi y 2Si b) 1Hi y 4Si c) 2Hi y 3Si d) 4Hi y 1Si
(__) Valor max, min respectivo en función Z es:
a) -3,-8 b) 4,-2 c) 6,-1 d) -2,-7
B.1.14. Solución gráfica con aciertos de opción múltiple.
Dado el gráfico y el modelo de PL que lo origina:
Figura B-2. Solución 2
91
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
(c) La recta de restricción #2 es:
a) KAO b) GACD c) FCBE d) TCK e) RFKL
(a) La recta de restricción #3 es:
a) KAO b) FCBE c) EBCF d) DCAG e) ninguna
(c) Coordenadas de vértices no únicos:
a(-2,0)(0,2) b(2,2)(4,0) c(3,3)(1,3)(0,0)
(d) El conjunto factible es el espacio:
a) AKGL b) KCF c) OACB d) AKC e) KF
(b) El # máximo de soluciones básicas únicas es:
a) 15 b) 21 c) 32 d) 10 e) 28
(f) El # de soluciones inexistentes son:
a) 6 b) 4 c) 1 d) 6 e) 2 f) 3 g) ninguna
(a) El # de soluciones básicas en vértice no único es:
a) 9 b) 6 c) 12 d) 15 e) 3
(b) Hay solución degenerada en vértice(s):
a) OB b) CK c) EB d) A e) O f) FA
(c) Hay solución no degenerada en vértice(s):
a) R b) O c) A d) KC e) ninguna
(b) Hay redundancia por restricción(es) #:
a) 3,1 b) 2,5 c) 1 d) 4 e) ninguna
(d) En 1, 2, 3, 4,5 pasa a = con:
a) 3Hi y 2Si b) 1Hi y 4Si c) 2Hi y 3Si d) 4Hi y 1Si
(d) Valor max, min respectivo en función Z es:
92
a) -3,-8 b) 4,-2 c) 6,-1 d) -2,-7
1.6.15. Solución gráfica 3 con aciertos de opción múltiple *AUTOEVAL*.
Dado el gráfico y el modelo de PL que lo origina:
Figura 1-59. Gráfica y modelo 3 con aciertos de opción múltiple.
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
( __) La recta de restricción #1 es:
a) BAE; b) FATQ; c) OACD; d) GECRH
( __) La recta de restricción #4 es:
a) QRD; b) FATQ; c) OACD; d) GECRH
(__) Las coordenadas del vértice T son:
a(3,3); b(1,3); c(0,2); d(4,0); e(-2,0)
( __) El conjunto factible es el espacio:
a) AOF; b) AEGF; c) ACRT; d) QRT
93
( __) El # máximo de soluciones básicas únicas es:
a)15; b)32; c)21; d)10; e)28
( __) El # de soluciones inexistentes son:
a) 2; b) 4; c) 3; d) 5; e) 7; f) 1; g) ninguna
( __) El # de soluciones básicas en vértice no único es:
a) 15; b) 6; c) 9; d) 12; e) 3
( __) Hay solución degenerada en vértice(s):
a) AO; b) CT; c) EGF; d) AR; e) RDC
( __) Hay solución no degenerada en vértice(s):
a) AFG; b) CT; c) Q; d) AB; e) GF
( __) Hay redundancia por restricción(es) #:
a) 3,4; b) 1,2; c) 5; d) 6; e) ninguna
( __) Restricción en = con:
a) 3Si, 3Hi; b) 4Si, 2Hi; c) 2Si, 4Hi; d) 2Wi,2Si,2Hi; d) 6Si
(__ ) Valor max, min respectivo en función Z es:
a) -2,-8, b) 4,-2, c) -6,-12, d) 5,-4
B.1.15. Solución gráfica con aciertos de opción múltiple.
Dado el gráfico y el modelo de PL que lo origina:
94
Figura B-3. Solución 3
Resuelva como en ejemplos 1.12, 13,...,17; luego elija el acierto entre los incisos: a), b),..., anotando en los paréntesis
(__) lo que crea correcto:
( d ) La recta de restricción #1 es:
a) BAE; b) FATQ; c) OACD; d) GECRH
(a) La recta de restricción #4 es:
a)QRD; b) FATQ; c) OACD; d) GECRH
(b) Las coordenadas del vértice T son:
a(3,3); b(1,3); c(0,2); d(4,0); e(-2,0)
( c ) El conjunto factible es el espacio:
a) AOF; b) AEGF; c) ACRT; d) QRT
( e ) El # máximo de soluciones básicas únicas es:
a)15; b)32; c)21; d)10; e)28
95
(d) El # de soluciones inexistentes son:
a)2; b)4; c)3; d)5; e)7; f)1; g) ninguna
(a) El # de soluciones básicas en vértice no único es:
a) 15; b)6; c)9; d) 12; e)3
(d) Hay solución degenerada en vértice(s):
a) AO; b) CT; c) EGF; d) AR; e) RDC
(b) Hay solución no degenerada en vértice(s):
a) AFG; b) CT; c) Q; d) AB; e) GF
(a) Hay redundancia por restricción(es) #:
a) 3,4; b) 1,2; c) 5; d)6; e) ninguna
(c) Restricción en = con:
a) 3Si, 3Hi; b) 4Si, 2Hi; c) 2Si, 4Hi; d) 2Wi, 2Si, 2Hi; d) 6Si
(a) Valor max, min respectivo en función Z es:
a)-2,-8, b)4,-2, c)-6,-12, d)5,-4
1.7. Referencias bibliográficas
AND93. - Anderson D. - Sweeney D. - Williams T
Introducción a los Modelos Cuantitativos para Administración.,- Grupo Editorial Iberoamérica.- 1993.
DAN63. - Dantzig George B.
Linear Programming and Extensions. Princenton University Press. Princenton N.J. 1963.
GAS74. - Gass Saul I.
Linear Programming. Methods and Applications. McGraw Hill, New York.1974
GAS81. - Gass Saul I.
Programación lineal.- Limusa 1ª Edición 1981
HIL95.- Hillier-Lieberman.
96
Introducción a la Investigación de Operaciones.-McGraw-Hill.- 6a.edición.- 1995.
MAT96. - Mathur Kamlesh and Solow Daniel.
Investigación de Operaciones. El Arte de la Toma de Decisiones. Prentice Hall Hispanoaméricana. 1996
SAT95. - Saaty Thomas.
Mathematical Methods of Operations Research, Mc Graw Hill Book Company, New York, 1959
WAG75. - Wagner H.
Principles of Operation Research. 2d. edition. Englewood Cliffs. N. J. Prentice Hall. 1975.
WIN94.- Winston Wayne.
Investigación de Operaciones. Aplicaciones y Algoritmos.- Grupo Editorial Iberoamérica.- 2ª Edición.-1994.
Capítulo 2. SOLUCIÓN ANALÍTICA DEL MODELO DE PROGRAMACIÓN LINEAL.
Tabla de contenido 2.1. Objetivo.
2.2. Conceptos relacionados.
2.3. Teoremas de la programación lineal.
2.4. Método Simplex.
2.5. Matriz unitaria "I" de base con variables artificiales.
2.6. Casos especiales en la tabla Simplex.
2.7. Teoría de la dualidad.
2.8. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
2.9. Referencias bibliográficas
2.1. Objetivo.
El alumno debe aprender la utilización del poderoso y versátil método simplex de solución en programación lineal,
aplicado en problemas ejemplo pequeños que muestran las diversas circunstancias de su preparación antes de aplicar
el algoritmo y los casos especiales identificables en la tabla solución. También con fines de interpretación económica,
debe aprender las relaciones que vinculan a un problema con su dual asociado y los teoremas derivados.
2.2. Conceptos relacionados.
Para la gran mayoría de los problemas modelados con programación lineal, el método gráfico es claramente inútil
para resolverlo, pero afortunadamente y gracias a la dedicación de varios científicos, desde mediados del siglo XX se
cuenta con el eficiente método SIMPLEX, poderoso por su aplicación versátil en cualquier área de la actividad
humana. Pero como antecedente a la exposición del simplex, conviene aclarar con definiciones algunos conceptos
relacionados.
En programación lineal es necesario calificar la palabra solución para precisar el concepto al que se hace referencia,
como se expresa enseguida:
97
SOLUCIÓN.- Es un conjunto de n + m variables "Xj", definidas ordenadamente como un vector X = (X1, X2,... Xj,
... Xn, Xn+1, ... , Xn+m) que satisface el conjunto de ecuaciones que constituyen el sistema en el problema.
En donde: m =número de restricciones; n =número de variables de decisión.
SOLUCIÓN FACTIBLE.- Es un conjunto de n + m variables "Xj", definidas ordenadamente como un vector X = (
X1, X2, ... Xj, ... Xn , Xn+1, ..., Xn+m) que satisface el conjunto de ecuaciones que constituyen el sistema en el problema.
Y además la condición, toda Xj >= 0.
SOLUCIÓN BÁSICA.- Se obtiene, cuando en el sistema de ecuaciones se hacen n variables iguales a cero del total
de (n+m) variables y resolviendo las ecuaciones para las restantes "m" variables, siempre que el determinante de los
coeficientes de estas "m" variables llamadas básicas, no sea cero. Consulte el apéndice A.
SOLUCIÓN BÁSICA FACTIBLE.- Es una solución básica que cumple Xj >= 0, para toda j (j = 1, 2,..., n + m); es
decir, todas las variables básicas son no negativas. En una analogía geométrica con sólo dos variables, se puede
comparar con los vértices en el área sombreada.
SOLUCIÓN NO DEGENERADA.- Es una solución básica factible, con exactamente "m" variables básicas Xi,
estrictamente positivas.
SOLUCIÓN DEGENERADA.- Es una solución básica factible, con menos de "m" variables básicas Xi positivas,
pues al menos, una de ellas es de valor cero.
SOLUCIÓN ÓPTIMA.- Es una solución básica factible que optimiza la función
2.3. Teoremas de la programación lineal.
La PL se fundamenta en varios teoremas de los cuales se definen tres de los más importantes:
1. El conjunto de soluciones factibles de la programación lineal es convexo.
Definición.- Un conjunto es convexo, si dados dos puntos cualesquiera A y B del mismo, el segmento de recta
que los une, se incluye totalmente en dicho conjunto (Figura 1-37); expresado matemáticamente, un conjunto
C es convexo si y sólo si, todos los puntos "P" determinados por combinación convexa entre dos puntos
cualesquiera A y B del mismo, están en el conjunto C:
98
Ejemplo que verifica convexidad: Determine un punto P por combinación convexa de puntos vértice en Figura
1-33: A (0,6) y F (4,3),
Si tanto A como F son vértices factibles, entonces P está en el conjunto factible.
2. La función objetivo de un programa lineal tiene su valor óptimo (máximo o mínimo), en un punto
extremo (vértice) del conjunto convexo de soluciones factibles.
Si alcanza este óptimo en más de un punto extremo, entonces toma el mismo valor para toda combinación
convexa entre estos puntos del problema, (soluciones óptimas múltiples).
3. Una condición necesaria y suficiente para que un punto X >= 0 en el conjunto de soluciones factibles sea
punto extremo, es que X sea una solución básica factible que satisfaga el sistema: AX=b; o bien expresado
así
Este teorema indica que cada punto extremo corresponde, al menos, a una solución básica y viceversa, cada
solución básica significa un punto extremo. Así se concluye que el número de puntos extremos del conjunto
de soluciones factibles, es finito y no puede exceder el de sus soluciones básicas. Entonces, el número máximo
de tales soluciones supuestas únicas se calcula con el binomio:
Es de anotar, que un punto extremo puede estar definido con más de dos restricciones en cuyo caso se
dice no único y tener más de una solución básica; además, si es extremo factible, se tiene degeneración en
tal vértice. El punto extremo factible único se dice es solución básica no degenerada. Un punto extremo
(vértice) del conjunto factible se identifica porque no se puede expresar como combinación convexa de
cualquier par de puntos del mismo conjunto.
2.4. Método Simplex.
En el año 1947 el doctor George Dantzig presentó el algoritmo que desarrolló y que denominó SIMPLEX. A partir
de este logro se pudieron resolver problemas que por más de un siglo permanecieron en calidad de estudio e
investigación con modelos formulados pero no resueltos. El desarrollo paralelo de la computación digital, hizo posible
su rápido desarrollo y aplicación empresarial a todo tipo de problemas.
99
El método simplex disminuye sistemáticamente un número infinito de soluciones hasta un número finito de soluciones
básicas factibles. El algoritmo simplex utiliza el conocido procedimiento de eliminación en la solución de ecuaciones
lineales de Gauss- Jordan y, además aplica los llamados criterios del simplex con los cuales se asegura mantener la
búsqueda dentro de un conjunto de soluciones factibles al problema; así valora una función económica Z,
exclusivamente en vértices FACTIBLES (posibles). También se consigue con eficiencia, debido a que se dirige la
búsqueda haciendo cambios a una solución básica factible adyacente, que se distingue al tener m-1 variables básicas
iguales; es decir, dos vértices adyacentes sólo difieren en una variable básica; seleccionando la ruta de mayor
pendiente, para mejorar el valor de Z, o por lo menos conservarlo.
Primero se presenta el método simplex, específico para un modelo de PL en forma canónica de máximo, aplicado con
la conocida tabla matricial, (también identificada como tableau), lo cual se resume mediante el diagrama funcional de
la Figura 2-1, que muestra los fundamentos del algoritmo contenidos en niveles o bloques numerados para la
referencia en la descripción del mismo.
Nivel 1.- Forma estándar.-El modelo de PL en forma canónica de máximo que se desea resolver, tiene m ecuaciones
obtenidas al convertir las restricciones de desigualdad a igualdad, agregando m variables de holgura, que sumadas a
las n variables de decisión, hacen un total de (m + n) incógnitas.
Las m restricciones con las (m + n) variables, producen un número infinito de soluciones, entre ellas, un conjunto de
factibles y también las no factibles.
Nivel 2.- Calcule una primera solución básica factible.- Del total, (m + n) variables, sólo n se igualan con cero (n
= 0), lo cual produce (sí existen), un número finito de soluciones básicas con un límite máximo de (m + n)! / m! n!.
Estas pueden ser, factibles y no factibles; se consideran sólo las primeras.
Nivel 3.- Se toman en cuenta sólo las soluciones básicas factibles, esto es, las que tienen todas las variables básicas
>= cero; es decir, con un número de iteraciones menor a (m + n)! / m! n!, se obtienen soluciones básicas factibles: no
degeneradas, si todas las incógnitas básicas son positivas y soluciones degeneradas, si al menos una variable básica
es igual a cero. Se aplican los criterios del algoritmo en forma iterativa para evaluar la función objetivo en puntos
extremos adyacentes que potencialmente puedan mejorar el valor Z.
Nivel 4.- Se generan nuevas soluciones básicas factibles, tales que el valor de la función objetivo Z mejore; se repite
el procedimiento (iteraciones) entre los niveles 3 y 4, hasta que ninguna solución básica factible adyacente resulte
mejor; es decir, hasta que no haya incremento de valor, si el problema es de máximo, (hasta que no haya decremento,
para el problema, no tratado ahora, de mínimo).
100
Figura 2-1. Diagrama funcional del algoritmo simplex.
Nivel 5.- Se interpretan los resultados de la última (iteración) tabla calculada, porque se identifican las características
de una solución óptima.
Criterios del Algoritmo Simplex.
El algoritmo simplex emplea los siguientes criterios para asegurar que la búsqueda de la solución óptima del problema
en estudio sea rápida, limitando el cálculo a soluciones básicas (puntos extremos) que sean factibles.
Criterio de optimalizad. Se aplica en el simplex para determinar entre las variables no básicas, una que entre (VE) a
la base, eligiendo en la columna que tenga el coeficiente más negativo en el renglón "Z" de la tabla, si el problema
es maximizar. Por lo contrario, si el problema es minimizar se elige para variable entrante (VE) a la base la que
cumpla con el coeficiente más positivo en dicho renglón "Z".
Criterio de factibilidad.- Se aplica en el simplex para determinar entre las variables básicas, una que salga de la
base (VS), eligiéndola que cumpla
101
En donde Xi es el valor de la variable básica en el renglón i; a ik es un coeficiente en el mismo renglón i ubicado en
la columna k correspondiente a la variable entrante elegida. Esto es válido tanto para problemas de máximo como de
mínimo.
Elemento pivote: En el cruce correspondiente a columna y renglón elegidos con los dos criterios anteriores, se ubica
un coeficiente denominado pivote (P) que se utiliza durante las iteraciones o etapas de cálculo del simplex.
Ejemplo 2-1. Aplica método Simplex; PL forma canónica máximo (MAXCAN1).
Este modelo de PL forma canónica de máximo con sólo dos variables de decisión, ya se mostró como el Ejemplo 1-
13 de método gráfico con la Figura.
Nivel 1.-
Se inicia el método simplex para el problema expresado en forma canónica, sumando una variable de
holgura a cada una de las restricciones de desigualdad <= que contiene el modelo, convirtiéndose todas ellas
en igualdades. Las holguras se denotan con X n+1, Xn+2,..., Xn+m. Otra conveniente notación es: H1, H2,..., Hm;
en donde 1,2,..., m, son restricciones tipo <=. Así se pasa a:
Ahora se tienen tres ecuaciones con (n+m)= (2+3)=5 incógnitas, ampliando el sistema a 5 dimensiones con
dos grados de libertad para la solución del mismo, lo cual implica un número infinito de soluciones. Se puede
recurrir en lo que sigue, a la analogía geométrica del Ejemplo con el propósito de mostrar parte de la
naturaleza geométrica del algoritmo simplex con la Figura 1-33:
No se puede mostrar una analogía geométrica para el espacio ampliado de forma estándar en cinco
dimensiones con (X1, X2, H1, H2, H3), pero sí se puede observar el espacio factible OACFE que se genera
con sólo dos dimensiones X1 y X2 en la Figura 1-33; en ambos espacios existe un número infinito de puntos
102
tanto interiores como en la frontera de la región factible, aunque sólo existe un número finito de puntos
extremos (vértices).
En teoría, de acuerdo al segundo teorema ya mencionado, la solución óptima se debe buscar en uno de esos
puntos extremos, pero para la mayoría de los problemas con suficiente tamaño significaría una labor de cálculo
excesiva y costosa e incluso imposible. Para tener una idea de lo que significa esto, supóngase por ejemplo un
problema cuyo modelo de programación lineal contiene m = 5 restricciones y n = 4 incógnitas, aplicando el
conocido binomio ya mencionado se tendría: (m + n)! / m! n! = (5 + 4)! / 5! 4! = 126 vértices; otro ejemplo
más, con m = 5 restricciones y n = 10 variables: (5 + 10)! / 5! 10! = 3003 puntos extremos. Los ejemplos aquí
anotados ciertamente son pequeños, pues lo común en el ámbito de empresa o gobierno, es manejar magnitudes
en decenas o cientos, tanto en restricciones como en variables. Pero el simplex salva esta circunstancia con
eficiencia, tal como se expresa enseguida.
Nivel 2.-
Una solución básica se obtiene estableciendo que de las (m+n) incógnitas en el sistema de ecuaciones en forma
estándar, n variables tengan el valor cero llamándolas no básicas y resolviendo (si hay solución) para las
restantes m variables que son básicas, componen la base o solución básica.
El sistema de restricciones en este Ejemplo 2-1 tiene tres ecuaciones con cinco variables, se pueden expresar
tres cualesquiera de estas en función de las otras dos que por ello se consideran independientes. Como cada
variable de holgura H1, H2, H3, se presenta sólo en una, de las tres restricciones, conviene hacerlas básicas y
las variables de decisión X1 y X2 se inicien con valor cero como no básicas. De este modo, para la aplicación
del algoritmo simplex, se tiene la primera solución básica factible siguiente:
La función objetivo Z sólo contiene a las variables de decisión X1 y X2, con valor actual cero, por lo tanto
Z=3(0)+5(0)=0, no satisface el objetivo de máximo. La comparación geométrica es valorar la línea recta Z en
el origen O, como Zo=0. Esta evaluación en O, no puede ser el máximo valor porque aún no se emplean los
recursos de las tres restricciones los cuales son asignados a las tres holguras:
Igualando a cero n variables, se reduce la búsqueda desde una infinidad hasta un número finito de
vértices; pero tal número, aún puede ser grande.
Nivel 3.-
El problema Ejemplo 1-13 (Figura 1-33) condiciona las variables de decisión X1, X2 >=0, pero en las
soluciones básicas que pueden determinarse en nivel 2, no se cumple esta condición para todas las variables,
como se puede comprobar en la tabla para el sistema ampliado del mismo, que muestra valores negativos en
las holguras para las soluciones básicas B, D y J.
En tal circunstancia, aún se pueden disminuir las soluciones básicas eliminando las no factibles porque
tienen variables con valor negativo.
103
Con la tabla Figura 2-2 se inicia el algoritmo simplex, muestra el arreglo matricial de los coeficientes de
acuerdo a la forma estándar de este ejemplo, con excepción de la función objetivo que se arregla a su forma
equivalente: Máximo Z-3X1- 5X2 = 0, con el formato del sistema de ecuaciones lineales. Anote el coeficiente
cero para las ausentes holguras en el renglón Z, pero en cambio, el coeficiente 1 de cada una de las variables
de holgura en cada restricción, forman la diagonal en la matriz unitaria I de base, como conjunto de vectores
linealmente independientes que generan la primera solución en el punto extremo ( X1, X2, H1, H2, H3 ) = ( 0,
0, 4, 12, 18 ), vértice O de la analogía gráfica, Figura 1-33.
Figura 2-2. Tabla simplex, con 1ª solución básica factible, ejemplo MAXCAN1
Nivel 4.-
A partir de la solución inicial del algoritmo simplex, se puede generar una nueva solución básica factible; se
aplica primero el criterio de optimalidad a la solución básica factible actual, seleccionando entre las variables
no básicas, una variable que entre a la base y por lo tanto cambie a básica. La selección de VE se hace
con el criterio de conseguir la mayor ganancia unitaria de la función objetivo en un vértice. Se observa que un
incremento unitario en X2, aumenta en 5 el valor de Z, mientras que un incremento unitario en X1, aumenta
en 3 el valor de Z; si se desea el máximo conviene aumentar a X2, dejando a X1 en cero, lo que corresponde
en la analogía geométrica a decidir pasar a valorar el vértice adyacente A(0,6) a lo largo del segmento frontera
OA, incrementando a X2, desde un valor de cero hasta un valor de 6, conservando X1 su valor cero (Figura 1-
33).
En el simplex, para este ejemplo con el objetivo de maximizar (Figura 2-3), se aplica la optimalidad
seleccionando la variable no básica con el coeficiente más negativo en el renglón Z de la tabla, señalando la
columna elegida con .
La solución básica del simplex, siempre debe tener m (m=3 en el ejemplo) variables básicas, entonces la
VE del criterio de optimalidad debe reemplazar a una de las variables básicas que al salir de la base se convierte
en no básica. Así en segundo lugar, se aplica el criterio de factibilidad, para determinar entre las variables
básicas, una que salga de la base . En la columna izquierda están las variables en la base y en la columna
derecha, se tienen sus valores, los cuales se dividen entre el coeficiente que sea positivo, en el mismo renglón
i de la columna k de la VE, esto es: Mínimo (12 / 2 = 6; 18 / 2 = 9) = 6, lo cual se cumple para la variable
básica H2, que debe señalarse como .
104
Figura 2-3. Criterios de optimalidad y factibilidad, en 1ª tabla simplex, ejemplo MAXCAN1.
Observe, que las variables no básicas X1 y X2 no ocupan lugar en la base, por eso valen cero. Para aclarar el criterio
de factibilidad, considere que se decide el incremento de valor a X2 para variable entrante VE, lo que significa cambiar
al vértice adyacente A, trasladándose a lo largo de la frontera OA, con un valor para la variable X1 = 0 que sustituido
en el sistema de ecuaciones en forma estándar, se tiene:
Aquí se puede ver la esencia del criterio de factibilidad, al no permitir un valor mayor a 6 para la variable X2, pues
para que H2 ó H3 salgan de la base, deben anularse: así H2=0 y H3=6, con X2=6; H3=0 y H2 = -6, si X2 = 9; pero al
asignar X2 = mín (6, 9) =6 se impide que la variable H2sea negativa ya que viola las condiciones impuestas; en la
analogía geométrica significaría evaluar la recta de la función objetivo en el vértice A adyacente al O y pasar a evaluar
el vértice B no adyacente al O, que además es no factible porque H2 = -6, (Figura 1-33).
En el cruce de la columna que corresponde a y el renglón de la , se localiza un coeficiente identificado
como pivote (P) que se utiliza para iniciar el procedimiento de solución de ecuaciones lineales conocido como de
Gauss-Jordan. Para este ejemplo el pivote es 2, en el renglón saliente y columna entrante , procediendo al
cálculo en Figura 2-4 de la siguiente tabla simplex que es la nueva solución básica factible correspondiente al punto
extremo adyacente A (0, 6) de la analogía geométrica.
La segunda solución básica factible se inicia con la nueva base formada con m = 3 variables básicas; H1 y H3 que se
conservan, pero sale H2 y se reemplaza con la variable X2 como básica en el nuevo punto extremo a evaluar. La tabla
simplex se empieza con el renglón entrante correspondiente a la variable X2; se calcula dividiendo los
coeficientes del renglón saliente entre el coeficiente pivote P de la tabla solución anterior. En el lado izquierdo
de la tabla se anota la fórmula utilizada RE = RS / P, para lo resultados mostrados en la fila de X2. Al convertir en
básica a la variable X2, se deben hacer las operaciones filas necesarias para conseguir en su columna, el vector
unitario, característico de una variable básica que forma parte de la matriz I. Por lo tanto se escriben, el coeficiente
1 en la posición del pivote y coeficientes cero en el resto de la columna. Además, en el renglón Z de la tabla, el
coeficiente correspondiente también debe resultar cero. Esto debido a que los coeficientes del renglón Z son
indicadores del posible incremento en el valor de la función objetivo. En cuanto una variable no básica se incrementa
de valor haciéndola básica, el coeficiente en tal renglón resulta de valor cero, indicando así, que X2 ya no puede
aportar a la ganancia representada con la variable Z. En las fórmulas a la izquierda, se usa la fila RE de la nueva
tabla y las filas necesarias de la tabla anterior; la fila H1 se copia igual porque ya existe el cero en la columna X2.
105
Figura 2-4. Tabla simplex con 2a solución básica factible, ejemplo MAXCAN1.
Un cálculo con la restricción (2) en la forma estándar: 2X2 + H2 = 12, sustituyendo los valores X2=6 y H2=0 dados en
la segunda tabla simplex: 2(6) + 1(0) = 12, muestra que debe utilizarse todo el recurso (2), produciendo hasta ahora
una ganancia Z = 3X1 + 5X2 = 3(0) + 5(6) = 30, que resulta mejor a Z = 0 anterior.
Observe el único cambio de la base, sigue con tres variables, pero X2 sustituye a H2 como variable básica y conserva
a H1 y H3, de la solución básica factible de tabla anterior ya que ambas son, de puntos extremos adyacentes.
La nueva solución básica factible valorada con el simplex es, por analogía, el punto extremo vértice A (0,6) en Figura
1-33: (X1, X2, H1, H2, H3) = (0, 6, 4, 0, 6)
Ahora las variables básicas H1, X2, H3 con vector columna unitario hacen la base I. La Figura 2-5 repite la segunda
tabla con los criterios del simple x aplicados.
Figura 2-5. Criterios de optimalidad y factibilidad, 2ª tabla simplex, eje MAXCAN1.
El tratamiento algebraico siguiente, fuera del procedimiento simplex en forma tabular que se está exponiendo, puede
satisfacer al estudiante, para comprender los resultados del renglón Z de la tabla con la segunda solución básica
factible:
La ecuación (2) en la forma estándar es 2X2 + H2 =12 o bien X2 + 1/2 H2 = 6; despejando: X2 =6 - 1/2H2; sustituyendo
en la función: Z - 3X1 - 5X2 = 0, se tiene:
En este proceso algebraico se observa la importancia de los coeficientes en Z: (-3) para X1 y (+5/2) para la holgura
H2, se comprende que se utilicen como indicadores para la optimalidad en el simplex. Significa que la variable
X1 no básica y por lo tanto con valor cero, conviene hacerla básica aumentando su valor, pues su coeficiente en la
ecuación indica que por cada unidad asignada a X1, al valor de Z=30 se le suma 3. Así en la tabla simplex en Figura
106
2-5 se decide que X1, variable no básica entre a la base , para incrementar Z. En cambio Z disminuye, si regresa
H2 a la base.
Por otro lado, en la aplicación del criterio de factibilidad se dividen los valores actuales de las variables básicas,
situados en la columna derecha de la tabla, entre los respectivos coeficientes positivos en la columna X1, que se tiene
como VE, con el resultado: Mínimo (4/1 = 4, 6/3 = 2) = 2, entonces la variable H3 es saliente , y se debe
reemplazar por la nueva variable básica X1 = 2.
Esto representa el cambio de base del vértice A(0,6) al vértice C(2,6), ambos puntos extremos adyacentes de la
analogía gráfica en la Figura 1-33, lo cual se identifica en el simplex porque la base H1, X2, H3 anterior, cambia a H1,
X2, X1 en la siguiente solución básica; es decir, sólo difieren en que X1 sustituye a H3.
En el cruce de la columna y el renglón seleccionados para variable entrante a la base y variable saliente de la
base , se ubica el coeficiente pivote P = 3 en Figura 2-5 que se utiliza para el cálculo de la siguiente iteración.
A continuación se presenta la tercera tabla simplex en la Figura 2-6 que se inicia colocando las variables básicas H1,
X2, X1, así ordenadas en los renglones, calculando los coeficientes del renglón entrante que se obtienen al dividir el
renglón correspondiente a la variable saliente entre el número pivote 3; RE = RS / 3.
En el cruce de la columna de X1 con el renglón RE ya determinado debe haber un número 1, el cual es pivote. La
columna X1 debe completarse con coeficientes cero para que sea vector unitario de esta variable, que con H1 y
X2 forman la matriz de base I.
Con el nuevo renglón RE de esta tabla y los renglones señalados en las fórmulas anotadas en el lado izquierdo de la
misma, se procede al cálculo de los coeficientes faltantes mediante el procedimiento de eliminación para la solución
de ecuaciones lineales de Gauss-Jordan; anote que en la fila correspondiente a la variable básica X2, no hay necesidad
de calcular sus coeficientes porque el cero requerido para vector unitario en la columna de X1 ya existe desde la tabla
anterior, por lo que solamente se copia de la misma; resultando la tercera tabla simplex siguiente en la Figura
Figura 2-6. Tabla simplex óptima, en 3ª sol. básica factible, ejemplo MAXCAN1.
Los resultados de esta tabla simplex, muestran los coeficientes indicadores en el renglón Z, correspondientes a las
cinco variables con valor no negativo; según el criterio de optimalidad significa que ya no hay variables candidatas
para entrar a la base y así se tiene una solución óptima en el renglón Z con un valor:
que debe completarse con la lectura del programa óptimo en las filas de las variables en la base y columna solución:
Variables de decisión X1 = 2, X2 = 6, variable de holgura H1 = 2. Las variables no presentes en la base, deben valer
cero: holguras H2 = 0, H3 = 0.
107
Sustituyendo el programa obtenido en el problema con forma estándar se tiene.
Las restricciones (2) y (3), se cumplen con valor cero para las holguras H2 y H3, significa que en esos recursos no
existe sobrante. En cambio, el recurso (1) que vale 4, tiene sobrante que representa la variable básica de holgura H1 =
2.
Entonces la solución óptima se tiene en el vértice C(2,6) de la analogía gráfica, tal como se anota en la Figura 1-33 y
en el espacio ampliado de cinco dimensiones mostrado en la Figura 1-36 que se manejó en la misma. Con el método
simplex se optimiza en el punto extremo caracterizado con el vector de la siguiente solución básica factible:
En la Figura 2-7 [HIL67]se muestra el total de tablas simplex aplicado al ejemplo MAXCAN1, en forma canónica de
máximo con sólo dos variables de decisión y tres restricciones <=.
Figura 2-7. Tablas simplex del ejemplo MAXCAN1 con 3 restricciones tipo <=.
EMPATES EN LOS CRITERIOS DEL SIMPLEX.- Quizá el lector ya pensó en la posibilidad de empates al
aplicar los criterios del simplex para el cambio de base. Con el criterio de optimalidad, al elegir entre
coeficientes indicadores empatados en el mismo valor, se tiene prioridad con las variables de decisión y entre
estas, se selecciona la variable entrante a la base en forma arbitraria, pues con diferencia de más o menos iteraciones
(no es predecible), se llega a los mismos resultados. En el caso de empate al aplicar el criterio de factibilidad, se
presenta la situación de degeneración (solución básica no única), que resulta en el mismo valor para la función
objetivo en dos o más iteraciones, pudiendo llegar al caso extremo de ciclar, vea ejemplo CaVa 27, lo cual sucede en
tan pocas ocasiones, que la teoría y reglas para evitarlo, ya no se tratan. La variable artificial que se expone en los
108
párrafos siguientes, siempre se debe intentar eliminar de la base (al menos que en degeneración se anule como básica);
en cuanto al empate entre otras variables se decide arbitrariamente la variable que debe dejar la base.
Método simplex aplicado en problemas con modelo no canónico.
Si el dedicado lector ya lo pensó así, tiene razón, pues la mayoría de las programaciones lineales de los problemas no
se sujetan a la forma canónica, pero la exposición del simplex con máximo, es más fácil y también más accesible para
el conocimiento del que se inicia. Cuando el modelo de programación lineal que se desea resolver, ya sea de mínimo
o bien de máximo, tiene cualquier tipo de restricciones, que incluyan las de tipo (>=) y / o las de (=), en tal caso se
requiere la preparación del modelo utilizando una base artificial. En esta situación, se requiere aplicar alguna de las
siguientes variantes del método simplex, pues el que ya se explicó en páginas anteriores, no es suficiente.
2.5. Matriz unitaria "I" de base con variables artificiales.
Cuando el problema de programación lineal se expresa en la forma canónica de maximizar, las variables de holgura
que se suman en cada restricción de tipo <= para conseguir la igualdad de la forma estándar, proporcionan un
coeficiente (+1) que es útil para formar la matriz unitaria " I "; se cumple así con la necesidad de la primera solución
básica factible que requiere el algoritmo simplex para su inicio.
Pero muchas veces, el modelo de programación lineal no tiene forma canónica y presenta restricciones de tipo >= e
=, con las cuales no se usan variables de holgura para el propósito de conseguir la forma estándar. Al restar la superávit
-1S se convierte a ecuación la restricción tipo >=; y la restricción = ya se cumple; pero en ambos casos no se tiene la
aportación del coeficiente + 1.
Los problemas de programación lineal expresados con restricciones distintas al tipo <= necesitan un artificio
matemático para conseguir una matriz de base artificial, lo cual es posible sumando una variable artificial W i de
valor no negativo, i=1,2,..., m en cada restricción i de tipo >= e =, así se proporciona el coeficiente +1 indispensable
para la formación de la matriz unitaria I que requiere el algoritmo simplex para ponerlo en marcha.
Una variable artificial no tiene significado físico y sólo se utiliza para completar la primera solución básica que
requiere el simplex para iniciarse; pero en contraste, a través de las etapas de cálculo, debe procurarse que las
artificiales salgan pronto de la base, convirtiéndolas en no básicas, o bien que, como variables básicas valgan cero
para poder lograr la solución óptima.
A continuación se exponen las variantes del algoritmo simplex que se utilizan en el caso de la presencia de variables
artificiales en el modelo a resolver.
2.5.1. Método Simplex penal o de la M grande.
El simplex penal es una variante del método simplex aplicable en los casos en que las variables artificiales son
necesarias en el problema, ya sea de maximizar o también de minimizar. El nombre de simplex penal se explica
porque se penaliza con un coeficiente M, que representa un valor muy grande (mayor que cualquier otro coeficiente
del problema), a cada variable artificial W i que se incluya en la función objetivo del problema. Para máximo se
utiliza la penalización con signo menos (- M), por otro lado para mínimo se utiliza signo más (+ M).
Las variables artificiales se usan para la primera solución básica del simplex, pero el valor muy grande del
coeficiente M, procura su rápida salida de la base cuando el problema tiene solución factible. Aunque algún caso
degenerado puede tener una variable artificial en la base con valor cero; vea ejemplos Artbás0deg3v4r(16),
109
Artabás02f(2), Ciclodeg(27) en programa CAVA (próximo a liberarse). Por el contrario, si no es posible anular las
variables artificiales (W i >0), significa que no hay solución factible al problema; vea ejemplo Artinofac en programa
CAVA.
El siguiente Ejemplo 2-2 es un problema de PL que requiere variables artificiales para intentar resolverlo y
corresponde al Ejemplo 1-16utilizado con método gráfico, también incluidos en el programa CAVA (próximo a
liberarse):
Ejemplo 2-2. Aplica método Simplex Penal, PL en máximo con 3 tipos de restricción (FACTIRECTA).
Figura 2-8. Tablas del método simplex penal aplicado al ejemplo FACTIRECTA.
110
Solución óptima en vértice C de la analogía geométrica en (Figura 1-45): máximo Zc = 14 y el programa en última
tabla: X1 = 2, X2 = 4, H1=S2=W2=W3 = 0.
El ejemplo FACTIRECTA mostrado contiene la aplicación del método simplex penal; como ya se mencionó, hay
necesidad de utilizar variables artificiales para resolverlo. Primero se prepara el problema convirtiendo a
igualdades para forma estándar del modelo propuesto, sumando una variable de holgura H1 en la restricción (1),
después se resta una variable S2 de superávit en la (2), la restricción (3) es de tipo = por lo que se deja como está;
se condiciona toda variable X j >= 0 y con la función objetivo original ya se tiene este modelo como estándar. Pero
así no se completa la matriz cuadrada unitaria I que debe ser de orden m = 3 restricciones, pues sólo se tiene el vector
unitario de la variable de holgura H1 que sí aporta el coeficiente +1, faltando dos vectores unitarios. Aquí surge la
necesidad de utilizar el artificio matemático ya referido. En las restricciones (2) y (3) que son de >= e =; se suman
variables artificiales W2 y W3, aportando cada una de ellas el necesario coeficiente+1, con lo que se completa la
matriz I mostrada antes de la tabla simplex, quedando el modelo que se presenta con base artificial. Esta variante del
simplex, incluye a las variables artificiales en la función objetivo, pero penalizadas con un coeficiente M, que
representa un valor mayor que cualquier otro coeficiente presente en el modelo; para este ejemplo se le asigna -M
como coeficiente a las variables artificiales W2 y W3, cumpliendo así con la penalización de la función objetivo la
cual se arregla al formato de las restricciones, restando el lado derecho a la variable Z, consiguiendo el término
independiente cero en el lado derecho.
En segundo lugar debe prepararse la tabla simplex con la primera solución básica "factible", la que se consigue
con las variables artificiales W2 y W3, procurando su pronta anulación con los cambios de la base. Se inicia con los
renglones y columnas y los encabezados necesarios para copiar ordenadamente los coeficientes del modelo, tal como
se presentan en la forma con base artificial y la función Z arreglada con término independiente; los lugares vacíos se
llenan con cero. Aquí anote que la matriz I, no necesariamente se forma con sus vectores unitarios colocados juntos
escalonadamente; pueden quedar intercalados vectores unitarios (por las variables de holgura y/o artificiales) o no
unitarios (por las de superávit); en este ejemplo, hay una intercalación de la variable S2 de superávit, lo cual se podría
haber evitado permutando las primeras dos restricciones. En todos los casos se puede buscar arreglar las
restricciones en el orden que convenga para facilitar el análisis posterior de la solución tabular. Las variables
básicas deben colocarse en la columna izquierda ordenadas de tal manera, que coincidan en su renglón con el
coeficiente +1 del vector unitario, en la columna correspondiente a la misma variable.
En párrafos anteriores se menciona, que toda variable básica debe tener coeficiente indicador cero en el renglón Z;
esto significa que tal variable ya no puede aportar alguna cantidad al valor de la función objetivo; pero las variables
artificiales W2 y W3 tienen un coeficiente M en dicho renglón; lo cual impide que se tenga una solución básica
"factible" en esta tabla, por lo que se procede a conseguir los coeficientes cero faltantes en el renglón Z para las
variables artificiales. Esto se logra mediante operaciones fila elementales usadas en el proceso de Gauss-Jordan, lo
que se muestra en las fórmulas en el lado izquierdo de la tabla: Para calcular el cero en W2, se multiplica el renglón
W2 por el número -M (inverso aditivo de M) y se suma el renglón Z, o sea (RW2) (-M) + RZ = Z', se tiene así cero en
la posición de Z' con W2. Luego se multiplica el renglón W3 por el número -M y se suma el renglón Z', o sea (RW3)
(-M) + RZ' = Z'', se determinan así los coeficientes cero necesarios para que las variables W2 y W3 sean básicas. Ahora
sí en esta segunda tabla, se tiene la primera solución básica indispensable para que el algoritmo se inicie con la
aplicación de los criterios del simplex.
En tercer lugar, ya determinada la solución de arranque, se aplican los criterios del simplex empezando con el de
optimalidad y considerando que el objetivo es máximo, la observación de los indicadores del renglón Z, en esta
segunda tabla del Ejemplo 2-2, existe sólo un coeficiente negativo en la variable no básica de decisión X1, por lo cual
se declara variable entrante a la base . La aplicación de la factibilidad resulta al obtener el mínimo cociente, de
dividir los valores actuales de las variables básicas situados en la columna solución a la derecha de la tabla, entre los
111
coeficientes en el mismo renglón i con la columna correspondiente a la variable VE. Así: mínimo (6/1, 0/2, 2/1) = 0,
que coincide en el renglón de la variable artificial W2 que se declara variable saliente . En el cruce de la columna
X1 y el renglón W2 , se localiza el coeficiente 2 como pivote P para calcular con Gauss-Jordan la
siguiente tabla simplex (tercera) con la nueva solución básica que debe tener a H1, X1 (sustituye a W2) y W3, como
base. Se recomienda al estudiante cuidar la colocación de las variables en la base, conservando el mismo orden que
le corresponde de tabla a tabla, excepto para la nueva VE que ocupa el lugar de la VS.
En la tercera tabla simplex del ejemplo FACTIRECTA, se repite la aplicación del criterio de optimalidad
seleccionando entre (-1/2 M - 7/2) y (-1/2 M - 3/2), el coeficiente más negativo (o lo equivalente el de mayor valor
absoluto) para el objetivo de máximo, entonces se declara a la variable no básica X2 como a la base. Para la
factibilidad, vea que el renglón de la variable básica X1 queda descartado debido a que 0 / -1/2 no es válido, en cambio
con las otras dos variables en la base se tiene: Mínimo (6 / 3/2, 2 / 1/2) = 4, existe empate que debe romperse teniendo
en cuenta, la necesidad de procurar una rápida salida de la base de las variables artificiales, en tal caso se puede elegir
a la que ahora, es indeseable variable básica W3 como . En el cruce de columna X2 como VE y renglón W3 como
VS, se localiza el coeficiente pivote 1/2 con el que se inicia el cálculo de la siguiente tabla (cuarta) simplex de este
problema ejemplo.
La cuarta tabla simplex comienza por ordenar las tres variables básicas H1, X1 y la nueva X2 que sustituye a
la W3, se continúa con el cálculo de coeficientes del renglón RE = RS / P = RS / 1/2 resultando el
coeficiente +1 en la posición de pivote, necesario para determinar con el Gauss-Jordan el resto de la tabla, que muestra
en el lado izquierdo, las fórmulas empleadas de este método.
Esta última tabla tiene en el renglón Z, coeficientes indicadores para las variables de valor no negativo, lo cual
significa una solución óptima pues, además, todas las variables artificiales ya salieron de la base.
En la analogía geométrica de la Figura 1-45se muestra el segmento de recta BC como conjunto factible y su punto
extremo el vértice C (2,4) con el máximo valor de la función Z; pero para el espacio ampliado que maneja la solución
analítica del simplex, el punto extremo que optimiza tiene el programa:
Ejemplo 2-3. Aplica método Simplex Penal, PL en mínimo con 3 tipos de restricción (MINPEN).
Se presenta este nuevo ejemplo de método simplex penal con la solución de las siguientes tablas, se deja como
ejercicio al estudiante: construir las fórmulas para el cálculo de los coeficientes de cada renglón de la tabla con el
procedimiento de Gauss-Jordan; la solución que incluya la interpretación geométrica en un plano de las restricciones
e identificarlas, el conjunto de puntos factibles del sistema, las coordenadas de los vértices, sus características y el
valor de la función objetivo.
113
Figura 2-9. Tablas del método simplex penal del ejemplo MINPEN.
Ejemplo 2-4. Aplica método Simplex Penal, PL en máximo con una variable libre (MAXPENLI).
114
En la sección correspondiente a formas equivalentes del modelo de programación lineal se trató el manejo algebraico
de una variable libre, haciendo que la misma se iguale a la diferencia de dos variables no negativas: X1 = X'1 - X''1;
X'1 >= 0, X''1 >= 0.
115
Figura 2-10. Tablas del simplex penal del ejemplo MAXPENLI.
La última tabla simplex penal es óptima, pues los indicadores para las variables en renglón Z, no tienen signo negativo,
así se identifica el vértice que maximiza:
(X’1, X''1, X2, H1, S2, S3, W2, W3) = (3, 0, 6, 0, 6, 0, 0, 0), Z máximo = 33.
La variable X''1 = 0 porque es no básica; pero X'1 = 3 > 0 = X''1, entonces se asegura un valor positivo para la original
X1 = X'1 - X''1 = 3 - 0 = 3.
Si desea, intente el cambio a objetivo mínimo del mismo ejemplo MAXPENLI, y compruebe que la solución
simplex, aún para toda Xj libre, sólo considera puntos vértice del 1er. cuadrante, limitándose a toda X j >= 0.
2.5.2. Método Simplex de dos fases.
Este es otra variante del simplex que se aplica para resolver modelos de PL que requieren una matriz unitaria de base
artificial para poder iniciar el algoritmo. El nombre indica que consiste de dos fases: En la 1ª, se reducen las artificiales
Wi a cero y en tal caso se optimiza en la 2ª, o bien, se concluye que no hay solución factible para el problema porque
Wi es diferente de cero en fase 1, y por lo tanto no es necesaria la fase2.
Primera fase.- En este método siempre se minimiza una función objetivo constituido por la suma de las variables
artificiales utilizadas para completar la matriz I:
116
Las variables artificiales son útiles para formar la primera base del simplex, pero si se logra que toda Wi=0,
entonces Z=0 representa lo deseable u óptimo, pues lo contrario significa un problema que no tiene solución factible,
en tal caso no aplica la segunda fase. Si todo va bien, las variables artificiales Wi deben salir de la base, excepto en
algún caso degenerado en que Wi=cero, es básica, vea en el programa CaVa (próximo a liberarse) los ejemplos
Artbás0deg3v4r (16), Artabás02f (2), Ciclodeg (27). La solución óptima de fase 1 se identifica, con variables
artificiales cero que implica Z=0 para la función.
Segunda fase.- Se continúa con ésta sólo si ocurre la optimización del problema en la fase anterior. Para ello sirve la
tabla simplex óptima de la primera, que se ajusta eliminando las columnas de las variables artificiales Wi; además, el
renglón Z se cambia a los coeficientes de la función Z original. El procedimiento continúa con el arreglo de la tabla
simplex inicial para cumplir los requisitos necesarios de una solución básica factible; es decir, coeficientes cero para
las variables básicas en el renglón Z de la tabla. A veces esto es suficiente para lograr el óptimo del problema; si no
es así, se aplican los criterios del simplex para el objetivo original del problema. En resumen, la fase1 intenta lograr
un punto extremo factible; la fase 2, el punto extremo óptimo:
Ejemplo 2-5. Aplica método Simplex Dos Fases, PL máximo y mínimo, 3 tipos de restricción (MAXMIN2F1).
En este ejemplo se aprovecha la circunstancia de que en el método simplex de dos fases, la primera fase es igual con
ambos objetivos; por lo tanto, sólo para mayor conocimiento, la tabla óptima de la 2a fase que contiene el valor
máximo de la función, se utiliza para obtener el mínimo. Con el objetivo de máximo en este ejemplo, se esperan los
mismos resultados del primer ejemplo FACTIRECTA) de simplex penal pues se trata el problema otra vez, con el
propósito de que el estudiante tenga la misma referencia de comparación del penal y el de 2 fases.
117
Figura 2-11. Tablas simplex 1a y 2a fase del ejemplo MAXMIN2F1.
Este ejemplo MAXMIN2F de aplicación del método simplex de dos fases, empieza el proceso de resolución
convirtiendo el modelo original propuesto a su forma estándar y luego para conseguir una base artificial, al igual que
se explicó para el ejemplo FACTIRECTA del simplex penal, se obtiene la misma base artificial; pero la diferencia
empieza al tratar las variables artificiales como sigue:
118
Primera fase.- Se construye una función objetivo Z con la suma de las variables artificiales y se arregla al formato
de restricción, tal como se muestra antes de las tablas de la primera fase. Se construye la tabla a partir de las variables
básicas: la holgura H1 y las artificiales W2 y W3, ordenadas de arriba hacia abajo en la base; el renglón Z, se llena
conforme a los coeficientes de la ecuación Z - W2 - W3 = 0, escribiendo ceros en los espacios vacíos de las variables
Xj, las holguras Hi y las superávit Si; en el mismo renglón Z se ubican los coeficientes -1, característico de las variables
artificiales con el método de dos fases. El resto de los coeficientes de esta primera tabla, corresponde a la forma
estándar ya obtenida. Anote la diferencia respecto al simplex penal: los coeficientes M de las variables artificiales en
renglón Z no se usan, pero sí coeficientes -1 en la primera fase; además, las artificiales deben aportar el vector
columna unitario para la base I; aunque no cumplen para variable básica, pues el -1 en el renglón Z debe anularse para
el inicio. Con este propósito se hacen operaciones fila de Gauss-Jordan para conseguir ceros que sustituyan los
coeficientes mencionados. En el lado izquierdo de la primera tabla se escriben las fórmulas que se usan para el cálculo
de los renglones Z' y Z''; en el último se pueden ver los ceros sustituyendo los -1. Con el cálculo del renglón Z'' se
completa la primera solución básica de esta primera fase y se procede a la aplicación de los criterios del simplex
con el objetivo de mínimo; para optimalidad, se observa que X1 es la única variable no básica con coeficiente + en
el renglón Z, (recuerde que con objetivo de mínimo, debe elegirse para VE la que tenga el coeficiente más positivo),
entonces se declara a X1 como VE a la base. En factibilidad, según los cocientes a la derecha de la tabla, se identifica
a la variable artificial W2 como saliente (VS) de la base, le toca actuar como pivote al coeficiente 2 colocado en el
cruce de la columna X1 y el renglón W2, recién elegidos con los dos criterios. Entonces se procede al cambio de base
calculando la segunda tabla de la primera fase, empezando por establecer a las variables básicas: H1 que se mantiene
dentro, la nueva X1 que se hace básica, sustituye a W2 que se convierte en no básica, W3 que también permanece en
la base. Se comienza el cálculo de la segunda tabla con el renglón RE que se fija como pivote para calcular el resto
de los coeficientes mediante operaciones fila elementales de Gauss-Jordan; en el lado izquierdo de la tabla se anotan,
como guía de cálculo, las fórmulas para cada fila.
Los coeficientes indicadores en la fila Z, muestran todavía números positivos para las variables no básicas X2 y S2, lo
cual significa que son candidatas para entrar a la base y la necesidad de continuar la aplicación del algoritmo; además,
aún existe una variable artificial dentro de la base. Los coeficientes de X2 y S2 están empatados con valor de 1/2, de
acuerdo a la recomendación dada antes, de preferir como entrante variables de decisión, así X2 = VE. Aplicando la
factibilidad, también se tiene un empate en los cocientes que se presentan a la derecha de la tabla; aquí se elige a la
variable W3 como saliente VS, pues ya se mencionó en párrafo anterior, la procuración del método para que las
artificiales salgan lo más pronto posible de la base. Con la definición del pivote 1/2 y las fórmulas a la izquierda, se
tiene lo suficiente para calcular la siguiente solución en la última tabla de la primera fase la cual muestra el valor cero
en la columna solución, esto significa, que al sacar todas las variables artificiales de la base se anulan y con ello Z =
0. El resultado confirma que el problema sí tiene solución factible y procede la segunda fase.
Segunda fase.- La última tabla de la primera fase sirve para iniciar la primera tabla simplex de la segunda fase, pero se
eliminan las columnas de las variables artificiales W2 y W3; también se eliminan los coeficientes del renglón Z y se
sustituyen con los coeficientes de la función objetivo original:
La primera tabla muestra el arreglo de coeficientes mencionado, pero se observa que las variables básicas H1, X1, X2,
así ordenadas en la columna base, cumplen el requisito de tener su vector columna unitario para formar la base I, pero
no cumplen con el coeficiente cero en el renglón Z para una básica, porque se acaban de escribir los coeficientes de
la ecuación original. Con el propósito de corregir el planteamiento tabular de esta primera tabla se hacen las
operaciones fila necesarias, las que se definen según las fórmulas construidas a la izquierda de la segunda tabla de
esta fase, resultando un renglón Z' para conseguir el coeficiente cero en la variable X1 y un renglón Z'' para conseguir
el cero en la variable X2. Como este renglón Z'' muestra coeficientes indicadores no negativos, el criterio de
119
optimalidad para máximo que es el objetivo original, ya no se puede aplicar para elegir variable entrante, los
indicadores cero para las variables de decisión X1 y X2, significan que tales variables ya no pueden aportar más al
valor de Z. En consecuencia, sin necesidad de aplicar los criterios del simplex en esta segunda fase, ya se tiene la
solución óptima en el punto extremo:
Este Ejemplo 2-5 ya conocido, con el Ejemplo 2-2 del simplex penal y también con el Ejemplo 1-16 de método
gráfico, se puede aprovechar para comprobar el potencial del método de dos fases, pues la tabla óptima de la segunda
fase mostrando la solución de máximo, también sirve para el cálculo de la solución mínima. Los indicadores del
renglón Z sólo tienen coeficientes cero y uno positivo (2), éste último coeficiente muestra que es candidata a entrar a
la base, la variable no básica S2 que se declara VE; con el criterio de factibilidad resulta que debe salir de la base la
variable X2, que se define VS; con el coeficiente pivote 1 se procede al cálculo de la solución de la última tabla que
muestra la solución óptima mínima para el mismo problema con el punto extremo:
que coincide en el vértice B (2, 0) de la analogía geométrica de la Figura 1-45.
Ejemplo 2-6. Aplica método Simplex Dos Fases, PL mínimo y máximo, 3 tipos de restricción (MINMAX2F).
Se presenta este nuevo ejemplo con el método simplex de dos fases y la solución contenida en las tablas. Se deja como
ejercicio al estudiante: construir las fórmulas para el cálculo de los coeficientes de cada renglón de la tabla con el
procedimiento de Gauss-Jordan; la solución que incluya la interpretación geométrica en un plano de las restricciones
e identificarlas, el conjunto de puntos factibles del sistema, las coordenadas de los vértices, sus características y la
evaluación de la función objetivo.
121
Figura 2-12. Tablas simplex de la 1ª y 2ª fase para mínimo del ejemplo MINMAX2F.
En el renglón Z de la última tabla simplex de la segunda fase, ya no hay coeficientes indicadores positivos para el
objetivo de mínimo, por lo tanto la solución óptima es:
Z mínimo = 9, X1 = 1, X2 = 3, H1 = 2, H4 = 8
122
Como ya se mencionó, el método simplex de dos fases se presta para la obtención de los objetivos mínimo y máximo
( esto debe tomarse sólo en sentido teórico con fines de enseñanza, pues para la mayoría de los problemas reales, sería
absurdo y conflictivo). Con tal propósito, en la misma tabla óptima de solución mínima, se aplican los criterios para
el cambio de base hacia una solución máxima como se aprecia en la tabla de la Figura:
Figura 2-13. Tabla simplex de la 2ª fase para máximo del ejemplo MINMAX2F.
Ejemplo 2-7. Aplica método Simplex Dos Fases, PL mínimo y máximo (MAXMIN2F2).
Figura 2-14. Tabla simplex inicial para 1a fase del ejemplo MAXMIN2F2.
123
Para el lector que así lo prefiera, se presenta ahora la aplicación del simplex dos fases mostrando en tablas separadas
el progreso del cálculo. Como las variables W2 y W3 son básicas, es necesario calcularles el coeficiente de valor cero
en el renglón Z con las operaciones fila: RW2 (1)+RZ; RW3 (1)+RZ.
Figura 2-15. Tablas simplex de 1a fase del ejemplo MAXMIN2F2.
2ª fase.- En la tabla óptima de primera fase se eliminan las columnas W2 y W3; el renglón Z se sustituye con los
coeficientes de la función objetivo original. La base contiene a X1 y X2, pero sus coeficientes indicadores Z1-C1=-3 y
Z2-C2=-2 en el nuevo renglón Z deben calcularse para el valor cero.
Figura 2-16. Simplex inicial 2a fase, eliminar columna Wi sustituir coeficientes en fila Z en ejemplo
MAXMIN2F2.
124
Se procede con operaciones fila para conseguir que los coeficientes de X1 y X2 en el renglón Z se anulen: Z'=RX1
(3)+RZ; Z''= RX2 (2)+ RZ'; resulta la tabla siguiente con el coeficiente indicador negativo (-7) en S3 de Z. En 2ª fase
es aplicable el objetivo original de máximo, por lo que S3 debe ir a la base (VE) para sustituir a H1 (VS), la única
variable básica que puede dejar su lugar.
Figura 2-17. Tablas Simplex 2a fase del ejemplo MAXMIN2F2.
Se aprovecha la oportunidad con la flexibilidad del simplex de dos fases, para determinar también la solución
mínima del mismo problema.
Entonces con el objetivo de mínimo, se declara VE a la base, la variable no básica H1 y la básica S3 sale, para dejarle
ese lugar.
125
Figura 2-18. Tabla simplex óptima de 2ª fase, para mínimo, ejemplo MAXMIN2F2.
2.6. Casos especiales en la tabla Simplex.
Se pueden identificar los siguientes casos especiales en la tabla simplex.
2.6.1. Solución degenerada
Se identifica en la tabla simplex porque al menos una variable básica tiene valor cero en la columna de solución. Este
caso se presenta cuando se valora una solución básica no única, la cual se tiene con al menos una variable básica de
valor cero en el sistema de m restricciones, alguna de ellas debe ser restricción redundante que contiene sólo un punto
vértice del conjunto factible. Ejemplos de caso degenerado, sea tabla óptima o no, son: 2, 16, 27, Ejemplo 1-
14, Ejemplo 2-2, Ejemplo 2-3, Ejemplo 2-5, Ejemplo 2-7 y algo más en el programa CAVA (próximo a liberarse).
Enseguida otro PL con degeneración transitoria en tabla intermedia.
Ejemplo 2-8. Caso de solución degenerada transitoria en tabla Simplex y su gráfico (MAXDETRA).
126
Figura 2-19. Gráfico solución degenerada en vértice F (2, 0) no único, ejemplo MAXDETRA.
Figura 2-20. Tablas simplex que muestran el caso especial solución degenerada transitoria del ejemplo
MAXDETRA.
2.6.2. Solución no acotada.
Se identifica en la tabla simplex porque en la columna de la variable entrante (VE), sólo hay coeficientes no
positivos lo cual hace imposible la aplicación del criterio de factibilidad para la variable saliente de la base. El caso
127
especial no acotado es porque el conjunto factible de soluciones abierto, las variables pueden crecer sin
límite (problema de máximo).
Ejemplo 2-9. Caso de solución no acotada en tabla Simplex y su gráfico (MAXAB).
Figura 2-21. Tablas Simplex ejemplo MAXAB.
Solución no acotada, no hay valor positivo en columna variable entrante VE.
Las tablas simplex valoran los vértices O, A, C, de la analogía geométrica siguiente:
Figura 2-22. Gráfico solución no acotada del ejemplo MAXAB.
128
Ejemplo 2-10. Caso de solución óptima con espacio factible abierto, en Simplex y en gráfico (MAXABOP).
con el PL de:
Figura 2-23. Solución óptima simplex en un espacio no acotado, ejemplo MAXABOP.
129
Figura 2-24. Espacio factible abierto, con solución óptima, ejemplo MAXABOP.
2.6.3. Soluciones óptimas alternas o múltiples.
Se identifican en la tabla simplex porque alguna(s) variable(s) no básica(s) presenta(n) el valor cero como
coeficiente en el renglón Z de la tabla. Esto se debe a que la función objetivo es paralela a una de las restricciones que
limitan el conjunto de soluciones factibles. En tal caso, se pueden calcular las soluciones óptimas alternas, metiendo
a la base, la variable no básica, con cero de coeficiente en el renglón Z de la tabla; también se pueden obtener múltiples
soluciones óptimas, calculando puntos P como combinación convexa lineal de dos de las soluciones básicas que
optimizan con el simplex:
Ejemplo 2-11. Caso de soluciones óptimas alternas y múltiples (MAXOPAL).
131
Figura 2-26. Soluciones óptimas alternas en segmento AC del conjunto factible, ejemplo MAXOPAL.
Se puede ciclar con cambios de base entre estas dos soluciones óptimas alternas.
También múltiples puntos P contenidos en el segmento recto AC, optimizan la función Z. Por ejemplo: Obtenga un
punto P que sea combinación convexa lineal (CCL) entre los puntos A (0, 3) y C (7/3, 7/3). Después calcule Z en ese
punto P.
132
2.6.4. Problema sin solución factible.
Se identifica en la tabla simplex porque al menos una variable artificial no es posible anularla o sacarla de la base a
través de las iteraciones de cálculo. Este caso se presenta si no hay espacio factible de soluciones para el sistema dado.
Ejemplo 2-12. Caso sin solución factible (MAXNOFAC).
133
Figura 2-27. Gráfico problema sin solución factible en ejemplo MAXNOFAC.
Para resolver con simplex se pasa a forma estándar:
134
Figura 2-28. Tablas simplex, variable artificial W2 en base que no se anula en el ejemplo MAXNOFAC.
El renglón Z no tiene coeficientes negativos para elegir variable de entrada a la base y hacer el cambio en ella, así la
artificial W2=4 permanece básica. El simplex valora el vértice A (0, 2), pero no hay región factible en el sistema de
restricciones
2.7. Teoría de la dualidad.
El desarrollo de esta teoría de la dualidad es debido al interés que existe en la interpretación económica del problema
que se estudia. Se inicia bajo la consideración de que todo problema de programación lineal tiene un problema
asociado; llamándose problema primal al conocido y problema dual al asociado. Ambos problemas están muy
relacionados, de tal manera que la solución óptima de cualquiera de ellos proporciona la solución óptima del otro.
El problema dual de cualquier problema primal se puede obtener con manejo algebraico, convirtiendo primero a las
formas canónicas ya conocidas y después a la correspondiente al dual, o bien en forma directa, a partir de reglas de
conversión al dual.
2.7.1. Problema dual obtenido en la forma canónica.
Figura 2-29. Formas canónicas primal y dual.
En donde:
C: es un vector renglón de coeficientes de la función objetivo primal.
b: es un vector columna de términos independientes de restricciones del primal.
A: es una matriz de coeficientes tecnológicos de restricciones del primal.
X: es un vector columna de variables del primal.
T: es la transpuesta del vector o matriz.
Y: es un vector columna de variables duales.
Con excepción de X e Y, los vectores y matrices en ambos problemas son los mismos, pero debe cuidarse el orden
del arreglo vectorial atendiendo la transposición T indicada. El siguiente ejemplo primal en forma canónica de
máximo, se maneja matricialmente para obtener el problema dual, que debe coincidir con la forma canónica dada
para el dual.
135
Al revisar las formas canónicas se observa: El producto bT Y requiere vectores conformables, así a cada restricción
primal corresponde una variable dual. Por lo mismo, debido a CX, a cada variable primal le corresponde una
restricción dual.
Ejemplo 2-13. Dual asociado a un PL primal en forma canónica de máximo (MAXCAN1).
Para el dual, los coeficientes del ejemplo se arreglan en sus vectores como sigue:
Ejemplo 2-14. Dual asociado a un PL primal en forma canónica de mínimo (MINCAN1).
136
Ejemplo 2-15. Dual asociado a un PL primal que no tiene forma canónica (MINDULI).
Primero se convierte algebraicamente a la forma canónica el problema primal.
138
2.7.2. Problema dual directo.
El problema dual también se puede obtener directamente sin necesidad de recurrir a las formas canónicas, las cuales
son muy útiles para aprender el orden matricial en la conversión del primal al dual.
Figura 2-30. Tabla con reglas de correspondencia para obtener el dual directo del primal.
Las características del problema primal se identifican según el objetivo máximo o mínimo, en columna
izquierda o derecha respectivamente, de la tabla; las características del problema dual se leen en la otra
columna.
Ejemplo 2-16. Dual directo de un problema primal no canónico de objetivo mínimo (MINDULI2).
El primal del Ejemplo 2-16 es de mínimo, entonces se coloca en columna derecha para identificar la condición de sus
variables y también el tipo de restricciones. En el mismo renglón, pero en la otra columna, lea lo que corresponde
al dual.
Dual Directo
141
2.7.3. Significado de las variables duales.
La interpretación económica del problema en estudio, es posible a partir de la conversión del problema primal a su
correspondiente dual asociado, con el análisis de las unidades dimensionales del primero. Esta interpretación no es
única y es según el interés de quien lo estudia. Considere el Ejemplo 1-8 de producción de fertilizantes visto en
formulación de modelos de este curso.
Ejemplo 2-18. Significado de las variables duales en ejemplo FERTILIZ
Primera parte.- Definición de variables:
Segunda parte.- Función objetivo o económica:
Tercera parte.- Sujeta a las restricciones:
Cuarta parte.- Condiciones de signo para variables:
Problema dual.
142
Primera parte.- Definición de variables duales.
Segunda parte.- Función económica
Tercera parte.- Sujeta a las restricciones:
Cuarta parte.- Condiciones de signo:
La función objetivo dual significa la cantidad mínima de dinero que se debe recuperar de la materia prima, en
caso de tener que parar la producción de fertilizantes; cada término de dicha función representa la
contribución de los componentes N, P, K, en la venta total. Cada término de las restricciones duales significa
la contribución ($) de los componentes químicos i, a la utilidad de una tonelada de fertilizante j.
Los componentes químicos tienen valor para la empresa debido a que representan la oportunidad de tener utilidad.
Para conseguirlo debe buscar la combinación más redituable de manera que el valor marginal de unidades adicionales
de recurso sea mínimo.
Por esto, también se puede interpretar la función objetivo dual, como representación del valor mínimo de los recursos
N, P, K, utilizados en la producción de fertilizante. En cuanto a las restricciones, cada una de ellas se relaciona con
la utilidad del fertilizante j (j = 1,2) en unidades monetarias $ / tonelada de i (i = N, P, K). La desigualdad >= utilidad
$ / tonelada de fertilizante j, verifica que el valor de recursos consumidos en una tonelada de j, sea por lo menos igual
a la utilidad del mismo.
2.7.4. Propiedades primal-dual.
Dualidad débil.- En el problema de PL, cualquier par X e Y de soluciones factibles primal-dual, cumple que:
Dualidad fuerte.- Al resolver el problema de PL en cada iteración del simplex se tiene un par específico de soluciones
en ambos problemas primal-dual, de modo que, la del primal es factible pero la del dual es no factible, con
excepción de la última iteración, en la que la solución óptima primal X* y la solución óptima dual Y* resulta en:
Si X no es óptima en el problema primal, entonces Y no es factible en el dual.
Soluciones complementarias.- Al resolver un problema de PL, en cada iteración del simplex se identifica, una
solución básica factible primal X y una solución complementaria Y para el dual, conocida como "Variables Duales"
143
o "Precios Sombra" o "Multiplicadores del Simplex", ubicada en renglón Z de la tabla como coeficientes de las
variables que forman la primera solución básica, (holguras y / o artificiales).
Soluciones complementarias óptimas.- Con la solución óptima, al final del simplex se tiene, la solución primal X* y
una óptima complementaria dual Y*, en el renglón Z, como coeficientes de las variables de holgura y/o artificiales
que forman la primera solución básica, ("Precios Sombra" o "Variables Duales" o "Multiplicadores del
Simplex").
Propiedad de simetría.- La denominación de primal es para el primer problema, pues el dual de un problema dual
debe resultar en el mismo primal por las relaciones simétricas entre ellos. El estudiante puede comprobar esta y otras
propiedades analizando las tablas del simplex aplicado al Ejemplo 2-1 como primal y luego a su problema dual.
Ejemplo 2-19. Aplica propiedades primal-dual al problema MAXCAN1.
Las tablas de la Figura 2-31siguiente son para aclarar las propiedades primal-dual ya expuestas, vea tablas simplex
del Ejemplo 2-1 (Figura 2-7). En la segunda tabla simplex, X =(X1, X2)T =(0, 6)T, es factible en el primal con
Z=CX=(3,5)(0,6)T=30; pero la solución dual dada por los precios sombra: Y = (0, 5/2, 0) viola la restricción Y1 +
3Y3 >=3; 1(0)+3(0) >= 3, por lo tanto, no es factible, (vea la propiedad de soluciones complementarias). En cambio,
en la tercera tabla simplex del mismo ejemplo, se tiene X*=(X1,X2)T=(2, 6)T, es factible y óptimo en primal
conZ=CX=(3,5)(2,6)T= 36; además, la solución complementaria en Z, los precios sombra Y*=(Y1,Y2,Y3)=(0,3/2,1)
verifican las restricciones duales: Y1+3Y3 =1(0)+3(1) >=3, 2Y2+2Y3 =2(3/2)+2(1) >=5, por lo tanto el dual es factible
y óptimo.
144
Figura 2-31. Simplex muestra factibilidad primal e infactibilidad dual en MAXCAN1.
Ahora se resuelve el problema dual correspondiente al primal ejemplo MAXCAN1:
El dual del primal es:
145
Figura 2-32. Aplica método simplex-penal al problema dual, ejemplo MAXCAN1.
El simplex en ambos problemas primal y dual, contiene dos programas: por un lado el primal X* y su
complementario dual Y*; por otro lado, en forma relativa, el dual Y* y el complementario primal X*. Esto se aclara
en resumen tabular:
Figura 2-33. Resumen tabular en ejemplo MAXCAN1.
Nota: El coeficiente M con su signo, debe ignorarse porque es artificial.
Definición de precios sombra: Es el incremento (decremento) del valor de la función objetivo, debido al incremento
(decremento) unitario del i - ésimo recurso.
Esta definición también es orientadora para la decisión de cuál recurso conviene aumentar o disminuir cuando se
presenta esta clase de problema, el cual se amplía en el próximo tema de análisis de sensibilidad.
Indicadores del simplex.- En el renglón Z de las tablas simplex del Ejemplo 2-19, se tiene la solución completa del
otro problema, pues además del valor de las variables duales (precios sombra) Y1, Y2, Y3, en uno y X1 y X2 en el otro,
se tienen los coeficientes Zj - Cj que representan los valores de las variables de superávit para las restricciones
funcionales del problema dual.
TEOREMA DE LA HOLGURA COMPLEMENTARIA.- En cualquier solución óptima, si alguna restricción se
cumple en desigualdad, entonces la variable dual asociada es cero. Si una variable dual de cualquier problema es
146
diferente de cero, la restricción dual asociada se cumple estrictamente con (=). En el Ejemplo 2-19, la restricción 1
primal se cumple en desigualdad, pues tiene Y1=0; pero las restricciones 2 y 3, se cumplen en igualdad y, por
tanto, Y2 = 3/2 y Y3 = 1.
Ejemplo 2-20. Interpretación geométrica del TEOREMA DE DUALIDAD. Solución óptima (MAXTEDU1).
Teorema de dualidad.- a) Si el problema primal tiene solución factible acotada y por lo tanto óptima, entonces
el problema dual tiene solución óptima, de valor igual al primal, si ésta no es degenerada. (Dualidad débil,
fuerte y complementaria).
Figura 2-34. Gráfico del problema primal del ejemplo MAXTEDU1.
147
Figura 2-35. Gráfico del problema dual del ejemplo MAXTEDU1.
Ejemplo 2-21. Interpretación geométrica del TEOREMA DE DUALIDAD. Solución factible no acotada
(MAXTEDU2).
Teorema de dualidad.- b) Si el problema primal tiene solución factible no acotada (no hay solución óptima),
entonces el problema dual no tiene solución factible.
Figura 2-36. Teorema de dualidad. Solución factible no acotada, problema primal del ejemplo MAXTEDU2.
Figura 2-37. Teorema de dualidad. Solución no factible, problema dual del ejemplo MAXTEDU2.
148
Ejemplo 2-22. Interpretación geométrica del TEOREMA DE DUALIDAD. Sin solución factible
(MAXMINTEDU).
Teorema de dualidad.- c) Si el problema primal no tiene solución factible, entonces el problema dual no es
factible, o bien, c') la función objetivo no está acotada.
Figura 2-38. Teorema de dualidad. No hay solución factible problema primal para máximo, ejemplo
MAXMINTEDU.
Figura 2-39. Teorema de dualidad. No hay solución factible problema dual para mínimo, ejemplo
MAXMINTEDU.
149
Figura 2-40. Teorema de dualidad. No hay solución factible problema primal para mínimo, ejemplo
MAXMINTEDU.
Figura 2-41. Teorema de dualidad. Solución no acotada del problema dual para máximo, ejemplo
MAXMINTEDU.
2.8. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
En las siguientes subsecciones encontrará una serie de ejercicios que ayudarán a la total comprensión de los temas
tratados en el presente capítulo. Asimismo, los ejercicios marcados con *AUTOEVAL* son de auto evaluación, el
peso de los incisos correspondientes a cada uno de ellos podrán ser consultados en la sección de respuestas. Se sugiere
150
resolverlos, y una vez terminados, revisar su solución y calcular la calificación correspondiente y así evaluar el
entendimiento del mismo.
Se recomienda aplicar los ejercicios aquí planteados a casos prácticos de la vida diaria como parte de las actividades
de aprendizaje del presente material.
B.2. Capítulo 2.
Resolución de los ejercicios del capítulo 2
2.8.1. Formas canónicas y estándar *AUTOEVAL*.
Obtenga las formas canónica y estándar del modelo de PL:
B.2.1. Formas canónicas y estándar.
11 expresiones-acierto en modelo (1/4 de punto c/u).
151
2.8.2. Método simplex a un modelo canónico de PL *AUTOEVAL*.
Resuelva con el método simplex el siguiente modelo de PL:
B.2.2. Método simplex a un modelo canónico de PL.
3 tablas-acierto (1 punto c/u).
152
2.8.3. Método simplex a un modelo canónico de PL.
Resuelva con el método simplex el siguiente modelo de PL:
Respuesta al ejercicio
B.2.3. Método simplex a un modelo canónico de PL.
2.8.4. Método simplex penal (2 fases) a un modelo no canónico de PL.
Resuelva con variantes del método simplex el modelo de PL:
B.2.4. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.5. Método simplex penal (2 fases) a un modelo no canónico de PL.
Resuelva con variantes del método simplex el modelo de PL:
153
B.2.5. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.6. Método simplex penal (2 fases) a un modelo no canónico de PL *AUTOEVAL*.
Resuelva con variantes del método simplex el modelo de PL:
Respuesta al ejercicio
154
B.2.6. Método simplex penal (2 fases) a un modelo no canónico de PL.
Enunciado del ejercicio
4 tablas-acierto (1 punto c/u).
155
2.8.7. Método simplex penal (2 fases) a un modelo no canónico de PL.
Resuelva con variantes del método simplex el modelo de PL:
Respuesta al ejercicio
156
B.2.6. Método simplex penal (2 fases) a un modelo no canónico de PL.
Enunciado del ejercicio
4 tablas-acierto (1 punto c/u).
157
B.2.7. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.8. Aplicación simplex con programa CAVA u otro software a ejercicios del capítulo I.
Resuelva con el programa CaVa o algún software del método simplex, los ejercicios del capítulo 1: 1.1, 1.2,.....,1.11.
B.2.8. Aplicación simplex con programa CAVA u otro software a ejercicios del capítulo I.
2.8.9. Identifique algún caso especial en tabla simplex.
Resuelva e identifique algún caso especial en tabla simplex:
158
Respuesta al ejercicio
B.2.9. Identifique a algún caso especial en tabla simplex.
2.8.10. Identifique algún caso especial en tabla simplex.
Resuelva e identifique algún caso especial en tabla simplex:
Respuesta al ejercicio
B.2.10. Identifique a algún caso especial en tabla simplex.
2.8.11. Identifique algún caso especial en tabla simplex.
Resuelva e identifique algún caso especial en tabla simplex:
159
B.2.11. Identifique a algún caso especial en tabla simplex.
2.8.11. Identifique algún caso especial en tabla simplex.
Resuelva e identifique algún caso especial en tabla simplex:
B.2.11. Identifique a algún caso especial en tabla simplex.
2.8.12. Identifique algún caso especial en tabla simplex *AUTOEVAL*.
Resuelva e identifique algún caso especial en tabla simplex:
Respuesta al ejercicio
160
B.2.12. Identifique a algún caso especial en tabla simplex.
Enunciado del ejercicio
4 tablas-acierto (1 punto c/u).
2.8.13. Identifique algún caso especial en tabla simplex.
Resuelva e identifique algún caso especial en tabla simplex:
161
Respuesta al ejercicio
2.8.14. Problema dual asociado al modelo PL primal *AUTOEVAL*.
Obtenga el dual asociado al siguiente modelo de PL primal:
Respuesta al ejercicio
162
B.2.14. Problema dual asociado al modelo PL primal.
Enunciado del ejercicio
11 expresiones-acierto en modelo (1/4 de punto c/u).
2.8.15. Problema dual asociado al modelo PL primal.
Obtenga el dual asociado al siguiente modelo de PL primal:
Respuesta al ejercicio
163
B.2.15. Problema dual asociado al modelo PL primal.
2.8.16. Problema dual asociado al modelo PL primal.
Obtenga el dual asociado al siguiente modelo de PL primal:
Respuesta al ejercicio
164
B.2.16. Problema dual asociado al modelo PL primal.
2.8.17. Conceptos de PL con opciones de aciertos *AUTOEVAL*.
Vea las opciones de aciertos para los siguientes conceptos. Anote en paréntesis () el número de concepto que
corresponda:
(1)simplex dos fases, (2)problema dual, (3)variable entrante, (4)método simplex (5)variable holgura, (6)óptimas
múltiples, (7)variable artificial, (8)simplex penal, (9)no única, (10)solución básica, (11)solución degenerada,
(12)variable saliente
(__) El algoritmo busca optimizar, conserva la factibilidad en el cambio de base.
(__) Toda combinación lineal convexa entre dos puntos extremos óptimos.
(__) La función objetivo y alguna restricción tienen la misma pendiente.
(__) Elimina las soluciones básicas no factibles.
(__) Alguna(s) variable(s) del vector solución es (son) nula(s).
(__) Una regla es que a toda restricción le corresponde una variable asociada.
(__) Necesario cuando se tiene base artificial.
(__) Reduce de un número infinito a uno finito las soluciones a explorar.
165
(__) Si el sistema de desigualdades e igualdades es redundante.
(__) Se usa el coeficiente -M para máximo y +M para mínimo.
(__) Utilizadas en restricciones (>=) e (=).
(__) Elige la mejor dirección para converger al óptimo.
(__) En la primera parte se determina si el problema tiene solución factible.
(__) El significado de sus variables es útil en el análisis económico del problema.
(__) Incrementa su valor desde cero hasta un valor positivo.
(__) Se identifica el caso, pero el simplex sólo maneja las soluciones extremas.
(__) Necesarias para convertir el sistema de desigualdades a igualdades.
(__) Exclusivamente soluciones de esta clase maneja el simplex.
Nota: Un (__) puede tener más de un número y éstos pueden repetirse en otros.
Respuesta al ejercicio
B.2.17. Conceptos de PL con opciones de aciertos.
Vea las opciones de aciertos para los siguientes conceptos. Anote en paréntesis () el número de concepto que
corresponda:
(1)simplex dos fases, (2)problema dual, (3)variable entrante, (4)método simplex (5)variable holgura, (6)óptimas
múltiples, (7)variable artificial, (8)simplex penal, (9)no única, (10)solución básica, (11)solución degenerada,
(12)variable saliente
(4) El algoritmo busca optimizar, conserva la factibilidad en el cambio de base.
(6) Toda combinación lineal convexa entre dos puntos extremos óptimos.
(6) La función objetivo y alguna restricción tienen la misma pendiente.
(1, 4,8) Elimina las soluciones básicas no factibles.
(9,11) Alguna(s) variable(s) del vector solución es (son) nula(s).
(2) Una regla es que a toda restricción le corresponde una variable asociada.
(1, 7,8) Necesario cuando se tiene base artificial.
(1, 4,8) Reduce de un número infinito a uno finito las soluciones a explorar.
166
(9,11) Si el sistema de desigualdades e igualdades es redundante.
(8) Se usa el coeficiente -M para máximo y +M para mínimo.
(7) Utilizadas en restricciones (>=) e (=).
(1, 3, 4, 8,12) Elige la mejor dirección para converger al óptimo.
(1) En la primera parte se determina si el problema tiene solución factible.
(2) El significado de sus variables es útil en el análisis económico del problema.
(3) Incrementa su valor desde cero hasta un valor positivo.
(6) Se identifica el caso, pero el simplex sólo maneja las soluciones extremas.
(5) Necesarias para convertir el sistema de desigualdades a igualdades.
(10) Exclusivamente soluciones de esta clase maneja el simplex.
Enunciado del ejercicio
30 aciertos con valor de 1/10 de punto c/u.
2.9. Referencias bibliográficas
DAN63.- Dantzig George B.
Linear Programming and Extensions. Princenton University Press. Princenton N.J. 1963.
EPE92. - Epping G. - Gould F. - Schmidt Ch.
Métodos Cuantitativos para Administración. Prentice Hall. 1992
GAS74. - Gass Saul I.
Linear Programming. Methods and Applications. McGraw Hill, New York.1974
GAS81.- Gass Saul I.
Programación lineal.- Limusa 1ª Edición 1981
HIL95.- Hillier-Lieberman.
Introducción a la Investigación de Operaciones.-McGraw-Hill.- 6a.edición.- 1995.
LUE84.- Luenberger D.
167
Introduction to Linear and No Linear Programming. 2d. edition.1984
SAT59. - Saaty Thomas.
Mathematical Methods of Operations Research, Mc Graw Hill Book Company, New York, 1959
WAG75. - Wagner H.
Principles of Operation Research. 2d. edition. Englewood Cliffs. N. J. Prentice Hall. 1975.
WIN94.- Winston Wayne.
Investigación de Operaciones. Aplicaciones y Algoritmos.- Grupo Editorial Iberoamérica.- 2ª Edición.-1994.
Capítulo 3. ANÁLISIS DE SENSIBILIDAD DEL MODELO DE PROGRAMACIÓN LINEAL.
Tabla de contenido 3.1. Objetivo.
3.2. Método Dual - Simplex.
3.3. Análisis de sensibilidad.
3.4. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
3.5. Referencias bibliográficas
3.1. Objetivo.
El estudiante debe ser consciente que la solución a un problema, depende de la validez de la información de entrada,
por lo que debe aprender a someter a un análisis de sensibilidad la solución óptima entregada por la computadora,
mediante cambios a los parámetros del modelo de programación lineal; es decir reformulando los datos de entrada y
apreciando las consecuencias.
3.2. Método Dual - Simplex.
Aprovechando las propiedades de los problemas asociados primal y dual, se desarrolló el método dual-simplex que
se aplica: en algunos casos de análisis de sensibilidad, como ocurre en cambios de los recursos del problema; también
para resolver problemas de objetivo mínimo y al menos una restricción de tipo >=, o para ahorro en cálculos evitando
los métodos simplex penal y dos fases. Se aplica cuando el problema cambia a no factible, pero el renglón Z se
presenta óptimo. Ahora observe y compare la aplicación ( ) de criterios del simplex en coeficientes del modelo de PL
resumido, a los problemas primal y dual.
168
Figura 3-1. Criterios del simplex en coeficientes del modelo de PL resumido, a los problemas primal y dual.
Enseguida se presenta una comparación funcional del simplex y el dual simplex.
Figura 3-2. Comparación funcional del simplex y el dual simplex.
Criterios del método dual-simplex para el cambio de base.
En el algoritmo dual-simplex aplican los siguientes criterios para cambio de base:
Criterio de factibilidad.- Se aplica en el dual-simplex para determinar, entre las variables básicas, una VS que
salga de la base, eligiendo para salir la que corresponda al valor más negativo en la columna de solución. Esto es
válido tanto para el objetivo mínimo como para el máximo.
Criterio de optimalidad.- Se aplica en el dual-simplex para determinar, entre las variables no básicas, una VE que
entre a la base con el siguiente procedimiento:
Figura 3-3. Criterio de Optimalidad en el método dual-simplex.
Elemento Pivote.- Se ubica como pivote al coeficiente que corresponde al cruce del renglón y columna elegidos con
los criterios del cambio de base.
Ejemplo 3-1. Aplica dual simplex a un PL con 4 restricciones >= (DUX1).
PASOS:
1) Consiga infactibilidad en restricciones tipo >=, (multiplique por -1):
169
2) Arregle la función Z; consiga la matriz I de base, sume holguras Hi, como sigue:
3) Tabule coeficientes y aplique el dual-simplex; elija variables VS, VE y pivote así:
170
Figura 3-4. Tablas del Dual-simplex aplicado al ejemplo DUX1.
Ejemplo 3-2. Aplica dual-simplex a un PL con 2 restricciones >= y 1 restricción <= (DUX2).
171
PASOS:
1) Consiga infactibilidad, multiplique por (-1) en restricción tipo >= como sigue:
2) Arregle el objetivo Z; consiga la solución básica (sume holguras Hi), como sigue:
3) Construya la tabla y aplique el algoritmo dual simplex:
172
Figura 3-5. Tablas del Dual-simplex aplicado en ejemplo DUX2.
3.3. Análisis de sensibilidad.
El modelo de programación lineal es estático y por tal motivo puede resultar inoperante con el transcurso del tiempo.
Es decir, los cambios que ocurren en cualquier economía dan lugar a que precios, costos, recursos disponibles o
requeridos ya no se puedan considerar para otro tiempo. Estos parámetros por lo general, son valores estimados
obtenidos sin la deseable precisión debido a las dificultades normales para conseguir registros confiables.
Una solución es óptima sólo en lo que se refiere al modelo específico que se usa para representar el problema real
estudiado, pero no puede ser confiable hasta verificar un buen comportamiento al hacer cambios en sus parámetros.
El análisis de sensibilidad tiene el propósito de investigar el efecto sobre la solución óptima entregada por el método
simplex, con los cambios a los valores originales.
173
En tal caso, la PL tiene el recurso de revisar la "solución óptima" de un problema para ajustarla a lo que se juzga
válido por los responsables de la decisión, o bien en respuesta a cambios (sólo discretos, pues los cambios continuos
forman parte de la programación paramétrica, no incluida aquí) del entorno económico; por tal motivo a este análisis
también se le llama de posoptimalidad.
En general se pueden presentar cambios que no afecten la optimalidad de la solución ya obtenida, pero también puede
ocurrir que se pierda esa condición. Por tal motivo es importante identificar los parámetros sensibles, que al cambiar
de valor, se pierde el óptimo. En este caso, es posible calcular el intervalo de valores permitido en que no se pierde el
óptimo. También se puede determinar el intervalo de valores para conservar factibilidad (valores no negativos de
variables).
3.3.1. Estructura matricial de la tabla simplex.
Para el análisis de sensibilidad se requiere saber la composición matricial de la tabla simplex y las relaciones
vectoriales implicadas. La localización de estos vectores y matrices en la tabla, forman la estructura matricial que se
presenta enseguida, con la recomendación de revisar los ejemplos que no son prototipo de casos. Estos tienen el
propósito exclusivo de ejercitar el uso de las fórmulas y la operación de matrices, lo cual se requiere en el análisis de
sensibilidad. Entonces se inicia este conocimiento presentando la composición de la tabla:
Figura 3-6. Composición matricial de la tabla simplex y las relaciones vectoriales implicadas.
En donde:
A es la matriz de coeficientes tecnológicos conforme las restricciones.
b es un vector columna de términos independientes conforme a las restricciones.
C es un vector renglón de coeficientes, conforme a la función objetivo.
CB es un vector renglón de coeficientes de variables de función objetivo, conforme transpuesto, se ubiquen en la
columna de base (básicas) en tabla simplex.
Y es un vector renglón de variables duales (precios sombra) los que se localizan como coeficientes en variables de
holgura y/o artificiales del renglón Z.
XB es un vector columna con valores de variables básicas en la columna solución.
174
B-1 es la inversa de una matriz B, formada de columnas de coeficientes de restricciones, conforme a variables
básicas (columna de base) en tabla simplex.
Ejemplo 3-3. Aplica fórmulas matriciales simplex y calcula el modelo original (MAXCAN1).
Dada la siguiente tabla simplex óptima incompleta:
a) complete la tabla; b) determine el modelo de programación lineal que la originó:
Figura 3-7. Tabla simplex óptima incompleta del ejemplo MAXCAN3.
a) Complete la tabla:
Observe que los coeficientes faltantes en la tabla simplex de ejemplo, corresponden a las columnas de variables
básicas, las que como tales, deben formarse como vector unitario requerido en la matriz de base I. La ubicación
de la variable básica H1 está dada, así se puede empezar situando el #1 en el cruce de este renglón y la columna
H1, con ceros en el resto. Otra posición dada es el #1, en columna de la variable X1, que se puede llenar con
ceros en el resto de la misma, colocando a X1 en la base, en mismo renglón del #1. La columna de X2está vacía
y desde luego, le corresponde el vector unitario que completa la matriz I, necesaria en toda tabla simplex, para
el caso de orden m=3; así se coloca a X2 en el único lugar libre de la base, coincidiendo este renglón y cruce
con columna X2 se sitúa el #1 y se llena con ceros el resto de la columna. Para el renglón y columna Z de la
tabla, es preciso recordar la forma de la ecuación objetivo y la ausencia de la variable Z en restricciones, para
colocar sus coeficientes, que completan la tabla aquí mostrada:
Figura 3-8. Tabla simplex óptima completa del ejemplo MAXCAN1.
b) Determine el modelo de programación lineal que originó la tabla simplex óptima del ejemplo MAXCAN1:
El modelo a determinar debe ser con el objetivo de máximo, pues en el renglón Z de la tabla óptima no hay
coeficientes negativos. Además, debe tener tres restricciones de tipo <=, ya que la base es de orden 3 y no hay
información de variables artificiales; lo cual significa que H1, H2, H3, son holguras de dichas restricciones y
X1, X2, tienen que ser variables de decisión. Utilizando las fórmulas dadas en la estructura de la tabla simplex,
175
el inicio es opcional, ya sea con restricciones o bien con la función objetivo; de cualquier manera es necesario
identificar en tabla simplex los vectores y matriz de las fórmulas como se muestra enseguida:
Figura 3-9. Identificación de matrices y vectores en tabla óptima del ejemplo MAXCAN1.
CB = ( CH1 C2 C1 ) = ( 0, 5, 3 ) Suponiendo que primero se desea determinar restricciones, con la fórmula
siguiente sólo hace falta despejar al vector columna b de términos independientes de restricciones, pues XB y
B-1se conocen:
Al despejar b, se observa que hay necesidad de calcular B como matriz inversa de B-1 que ya está localizada
en la tabla simplex dada, como sigue:
Figura 3-10. Cálculo de la matriz B inversa de B-1 en ejemplo MAXCAN1.
Sustituyendo a B y XB en fórmula b= BXB, se determina el vector b de recursos:
176
Figura 3-11. Cálculo del vector b de recursos en ejemplo MAXCAN1.
Para los coeficientes de restricciones de la matriz A, en la fórmula A* = B-1 A A = B A*, se sustituye B y
A*, y se determina la matriz A de coeficientes:
Figura 3-12. Cálculo de la matriz A de coeficientes en ejemplo MAXCAN1.
C = Coeficientes de la función objetivo: Z j - C j = CB B-1 A - C = Y A - C.
En esta fórmula sólo hace falta sustituir vectores y matriz, despejando C:
Entonces el modelo de PL buscado es:
Ejemplo 3-4. Aplica fórmulas matriciales simplex y calcula el modelo original (MINCANEST).
Considere la siguiente tabla simplex óptima incompleta; en donde S1 y S2 son variables de superávit .
177
Figura 3-13. Tabla simplex óptima incompleta del ejemplo MINCANEST.
a) Complete la tabla.-
Analizando la información de la tabla simplex óptima, el modelo de PL a determinar debe tener el objetivo de
mínimo, pues en el renglón Z no hay coeficientes positivos; con dos restricciones del tipo >=, por las siguientes
razones: S1 y S2 son superávit, usadas para pasar a = las restricciones >=, además las variables artificiales W1 y
W2, son necesarias para formar la matriz I si se usan superávit. Sólo hay dos renglones para la base que deben
ocupar, las variables de decisión X1 y X2, pues existe el #1 como señal de vector columna unitario en X2, el
cual debe arreglarse con ceros en los lugares restantes. La variable X1 ocupa el otro lugar en la base y se arregla
como el vector columna que completa la matriz de base I, pues no hay otra columna que pueda cumplir los
requisitos para matriz unitaria.
Cálculo del valor óptimo de la función Z.- Se puede proceder con este cálculo, hasta determinar el modelo
de PL original, pero se puede adelantar utilizando las mismas relaciones matriciales ya mostradas. La función
objetivo dual es Yo = bT Y; eliminando M, se conoce Y = (Y1, Y2) = (3/2, 5/4) conocidos como precios sombra
(coeficientes en Z para W1 y W2). Aún no se calcula el vector columna b, el cual aparece en: X B = B-1 b b
= B XB
El vector XB= (4,1)T es dato en tabla, sólo falta obtener la matriz B desde B-1:
Yo = bT Y = (6, 8 )T ( 3/2, 5/4 )= 19. Entonces: dual Yo = 19 = Zo primal, por la propiedad de dualidad fuerte.
Verifique inversas: B-1 B = B B-1 = I
178
La tabla simplex óptima completa se presenta a continuación:
Figura 3-14. Tabla simplex óptima completa del ejemplo MINCANEST.
b) Determine el modelo de PL que la originó.-
El modelo de programación lineal a determinar debe tener el objetivo de mínimo, pues el renglón Z de la tabla
simplex ya completada, no tiene coeficientes positivos. La base tiene dos renglones debido a restricciones de
tipo >=, porque sólo hay variables de superávit y artificiales. Las variables X1, X2, X3, son de decisión, pues
las restantes tienen asignación.
A = Coeficientes de restricciones:
Cálculo de C = Coeficientes de la función objetivo:
Entonces el modelo de PL pedido es:
179
Ahora se ejemplifican algunos de los posibles cambios discretos al modelo de programación lineal para mostrar el
análisis de sensibilidad, empezando por:
3.3.2. Cambios en el vector b de términos independientes (lado derecho) en restricciones de recursos.
Este cambio se analiza con la fórmula XB = B-1 b con lo cual se puede afectar la solución factible del problema, para
convertirse en solución óptima, pero no factible. En tal caso se puede recuperar la factibilidad perdida aplicando el
método dual simplex.
Ejemplo 3-5. Cambio en vector b de restricciones, PL en máximo (MAXCAN1).
Supóngase el problema:
Cuya tabla simplex óptima es:
Figura 3-15. Tabla simplex óptima del ejemplo MAXCAN1.
Para mostrar cómo se determina el intervalo de valores permitido en el cambio de los recursos del modelo de PL, se
considera una cantidad ique significa las unidades de cambio en más o en menos del recurso bi. En este ejemplo i
=1, 2, 3.
Sea i = cambio en (+) o en (-) para el recurso bi. Para bi: XB = B-1 (b + i).
Para el término independiente b1 de la restricción 1: XB = B-1 (b + 1):
Para el término independiente b2 de la restricción 2: XB = B-1 (b + 2):
180
Para el término independiente b3 de la restricción 3: XB = B-1 (b + 3):
Ahora ya se sabe entre qué valores pueden cambiarse los recursos del problema, sin perder la factibilidad de la
solución actual. Pero puede ocurrir un cambio que se quede fuera del intervalo, en tal caso revise el siguiente:
Es claro que el cambio propuesto es sólo en el recurso b2; es decir, 2 = - 7, se compara con el intervalo calculado y
significa pérdida de factibilidad, como sigue:
Aquí se identifican las características necesarias para poder aplicar el método dual simplex; es decir, condiciones de
optimalidad, puesto que no hay coeficientes positivos en el renglón Z, pero con solución no factible, pues existe un
valor negativo en la columna solución de la tabla. Entonces se procede con el dual simplex para procurar una nueva
solución óptima y, además, factible. Se empieza cambiando en la tabla simplex el vector XB de la solución anterior y
sustituyéndolo con el nuevo XB = (-1/3, 5/2, 13/3)T Además, se calcula el nuevo valor de la función objetivo:
Zo = CB XB = (CH1, C2, C1) (H1, X2, X1)T = (0, 5, 3) (-1/3, 5/2, 13/3)T = 51 / 2
Se arregla así la siguiente tabla, para aplicar el algoritmo dual simplex:
181
Figura 3-16. Tablas del dual simplex en ejemplo MAXCAN1, con el cambio b2- 2.
Nueva solución óptima después del cambio es: Zo = 49/2; X1 = 4, X2 = 5/2, H3 =1 Se observan las consecuencias del
cambio: Zo disminuye de 36 a 49/2, pero X1 aumenta de valor, de 2 a 4, a expensas de la holgura H1 que se hace cero
al salir de la base; la variable X2 disminuye de valor, de 6 a 5/2, entrando la holgura H3 como básica, pues la restricción
3 ya no se cumple en igualdad.
Considere ahora este otro cambio en el recurso b2:
Se propone que el recurso 2 aumente desde 12 a un valor de 20, o sea, 2 = 8:
En este cambio, también se pierde la factibilidad de la solución actual y se puede buscar la nueva solución óptima y
factible aplicando el método dual simplex.
Se arregla la tabla sustituyendo a XB = (14/3, 10, -2/3)T en columna derecha, con el nuevo valor para Zo = (CH1, C2,
C1)(H1, X2, X1)T= (0, 5, 3) (14/3, 10, -2/3)T = 48
182
Figura 3-17. Tablas dual simplex, ejemplo MAXCAN1, luego del cambio b2 + 2.
La nueva solución óptima es: Zo = 45; X2 = 9, H1 = 4, H2 = 2, X1 = H3 = 0
Las consecuencias de cambio en el recurso 2 con 2 = 8 son: la utilidad Zo = 36 aumenta a Zo=45, debido al
incremento de valor en la variable de X2=6 a X2=9; la holgura H1=2 aumenta a H1=4, el valor total del recurso b1, a
expensas de la variable de decisión X1 que se anula al salir de la solución básica. La restricción 3 se cumple en
igualdad, pues la variable X2 consume todo el recurso b3=18 (X1=0). La holgura H2 =2 de la restricción 2, entra a la
solución óptima porque el recurso b2=20 resulta excesivo.
Considere ahora, que ocurre un cambio simultáneo para los recursos b2 y b3 representados por las restricciones 2 y 3:
Se pierde la solución factible anterior y se prepara la tabla para utilizar el método dual simplex; se sustituye XB = (-
8/3, 5/2, 20/3)T en la columna derecha con el nuevo valor Zo =CB XB =(CH1, C2, C1)(H1, X2, X1)T =(0, 5, 3)(-8/3, 5/2,
20/3)T = 65/2
Figura 3-18. Tablas del dual simplex en ejemplo MAXCAN1, después del cambio b2 - 2, b3 + 3.
La nueva solución óptima es: Zo = 49/2; X1 = 4, X2 = 5/2, H3 = 8, H1 = H2 = 0.
Las consecuencias de los cambios propuestos son: La utilidad Zo=36 disminuye a Zo=49/2, ya que el recurso b2 =12
ha disminuido su valor a b2=5; la variable de decisión X1 =2 duplica su valor hasta X1=4, tomando el total del recurso
b1=4 y anulando a su holgura H1=0; en contraste la holgura H3 entra a la solución básica tomando el sobrante del
recurso b3=25 que resulta excesivo.
Los precios sombra en el análisis de sensibilidad.
183
Para fines de enseñanza, los ejemplos tratados hasta aquí de cambios en el vector b de recursos, intentan provocar
infactibilidad de la solución al quedar fuera del intervalo permisible; pero a veces no hay necesidad de llevar el cálculo
a la utilización del dual simplex. Si el cambio es pequeño, puede ser suficiente usar los precios sombra (coeficientes
en renglón Z de variables Hi ó Wi) los cuales representan el incremento, o bien el decremento en el valor de la función
Z, por cada unidad de cambio del recurso i.
Para el ejemplo dado, los precios sombra son: Y1=0, Y2=3/2, Y3=1.
Suponga ahora que el vector de recursos b=(4, 12, 18)T cambia a b=(2, 14, 16)T. Anote los cambios 1 = -2, 2 = 2,
3 = -2, todos ellos quedan dentro del intervalo en que la solución se conserva factible. Por lo tanto se procede al
cálculo usando los precios sombra: Zo = 36 -2Y1+2Y2-2Y3=36 -2(0)+2(3/2) -2(1)=37.
Con más labor de cálculo, Zo = 37 se comprueba con el procedimiento anterior:
Ejemplo 3-6. Cambio en el vector b de restricciones, PL min (MINSENb).
Dada la tabla simplex óptima y el modelo que la origina:
Figura 3-19. Modelo y tabla simplex óptima del ejemplo MINSENb.
Ahora se calcula el intervalo permisible de cambios i en vector b de recursos para conservar la solución factible:
184
Suponga que el recurso b1 = 30 cambia a b1 = 40; calcule la solución óptima
Al seguir factible, la nueva solución óptima solo necesitó el ajuste a los nuevos valores del vector XB y Zo; no
se requirió la tabla simplex.
Suponga que el recurso b3=12 cambia a b3=6. ¿Cuál es la nueva solución óptima?
Suponga que el recurso b1= 30 cambia a b1= 70. ¿Cuál es la solución óptima?
185
Al buscar restablecer la factibilidad con el método dual simplex, se observa que la única candidata para entrar a la
base es la variable artificial W1, esto no procede y debe evitarse, indica que el problema queda como no factible, con
ese cambio.
Figura 3-20. Dual simplex en ejemplo MINSENb, cambia b1, solución infactible.
Suponga que el recurso b3=12 cambia a b3=2. ¿Cuál es la nueva solución óptima?
3.3.3. Cambios en el vector C de coeficientes de la función objetivo.
Este cambio se analiza mediante la fórmula: Zj - Cj = CBB-1 A - C = YA - C y da lugar a que se pueda perder la
optimalidad de la solución ya obtenida. Debe hacerse la diferencia de cambios en el coeficiente de una variable Xj
que no está en la base, en cuyo caso hay cambios en su columna y en los precios sombra; también el caso de cambio
al coeficiente de una variable básica, puede resultar en pérdida de factibilidad y/u optimalidad. Se muestran los
ejemplos siguientes:
Se recurre al siguiente problema muy pequeño, pues contiene tres variables que representan la actividad del problema
y sólo dos restricciones.
Ejemplo 3-7. Cambio en el vector C de costos en MINSENC1.
Dado el modelo de PL siguiente y su correspondiente tabla simplex óptima:
186
Figura 3-21. Modelo y tabla simplex óptima del ejemplo MINSENC1.
Para cambios en el vector C de coeficientes de la función objetivo Z, se calcula el intervalo del valor para cada
coeficiente de C, que permite conservar la solución óptima en un problema específico. Se procede así con el ejemplo.
Sea: j =unidades de cambio en (+) o en (-), del coeficiente Cj en la función Z.
La fórmula a utilizar: Zj - Cj = YA -C, se puede simplificar en Zj - Cj = Yaj - Cj con el propósito de manejar sólo la
columna aj, en vez de la matriz A, y sólo el coeficiente Cj, en vez del vector C, pues el interés del cambio es sólo en
Xj.
Ahora ya se tienen los intervalos en el valor de los coeficientes en el vector C, que permiten conservar la solución
óptima (Zj - Cj <= 0). Aquí se propone lo siguiente:
Cambio en el vector C de un coeficiente Cj de variable no básica.-
Suponga el coeficiente C3 = 4 de la variable X3 en la función Z, cambia a C3 = -4. Esto significa 3 = -8 = -16/2,
quedando fuera del intervalo permisible y por lo tanto se espera que la solución se convierta a no óptima, al cambiar
a signo (+) el indicador Z3 - C3, como se muestra enseguida:
Se arregla la tabla simplex, sustituyendo en el renglón Z el coeficiente indicador Z3 - C3 = 1/2, el cual provoca la
pérdida de optimalidad en la solución actual, señalando que la variable X3 no básica debe entrar a la base y sustituir
a X2 que es variable saliente. Esto se conoce como reoptimizar:
187
Figura 3-22. Reoptimización en ejemplo MINSENC1, debido al cambio en C3 de variable no básica.
La nueva solución óptima es: Zo = 4; X1 = 28, X3 = 20, X2 = S1 = W1 = W2 = 0. Cambian: la base, X3 sustituye a X2,
columnas X2 y X3, y precio sombra en W2.
Ejemplo 3-8. Cambio en el vector C de costos en MINSENC2.
Dada la tabla simplex óptima y el modelo que la origina:
Figura 3-23. Modelo y tabla simplex óptima del ejemplo MINSENC2.
Considerando este ejemplo para ilustrar los cambios en C, primero se calcula el intervalo de valores permisible, a los
coeficientes de la función objetivo Z, para no perder la optimalidad ya obtenida.
Sea: i =Cambio en del coeficiente de X i.
188
Suponga que X1 no básica con C1=5, cambia a C1 = 17, o sea, que 1 = 12.
Z1 - C1 = -13/2 - (5+ 1) = -23/2 + 12 = 1/2 > 0 pérdida de optimalidad.
Se sustituye el nuevo valor Z1 - C1 = 1/2 en la tabla y se procede con la aplicación regular del algoritmo, cambiando
la base al meter X1 y sacar la holgura H2.
Figura 3-24. Reoptimización en ejemplo MINSENC2, debido al cambio en C1,, de variable no básica.
Solución óptima: Zo = -2211/56, X2 = 141/56, X1 = 45/14, X3 = 15/56, cambia la base, X1 sustituye a H2.
Cambio en el vector C de un coeficiente Cj de variable básica.- Como ya se anotó, en este caso no cambian los
precios sombra y sólo se requiere el ajuste del indicador Zj-Cj al valor cero para cumplir el requisito de la misma
solución básica.
Ejemplo 3-9. Cambio en el vector C de costos en MAXSENC.
Dada la tabla simplex óptimo y el modelo que la origina:
189
Figura 3-25. Modelo y tabla simplex óptima del ejemplo MAXSENC.
Se muestra el análisis de lo esperado en los cambios de C para variable básica.
Suponga al vector (C1, C2) = (6, 8) en la función Z, cambia a (C1, C2) = (3, 7)
Zj - Cj = YA - C = [5/3, 2/3] - (3, 7) = (6, 8) - (3, 7) = (3, 1)
Los indicadores Zj-Cj deben sustituirse primero en la tabla simplex dada y luego se debe ajustar para cumplir los
requisitos de solución básica, recalculando los indicadores Zj - Cj de valor cero, lo cual en este caso provoca pérdida
de optimalidad que hace necesario la aplicación del simplex:
Figura 3-26. Reoptimización en ejemplo MAXSENC, debido al cambio en vector C.
3.3.4. Cambios en la matriz A de coeficientes tecnológicos de restricciones en variables no básicas.
Los cambios en A para variables básicas resultan en cálculos muy complicados, siendo mejor recalcular con el
simplex. Para cambio de coeficientes de la matriz A de restricciones, en variables no básicas, sólo interesa manejar
los de ellas, pues el resto queda igual. Se procede así:
190
1ra. Etapa.-
Usando la fórmula de Zj - Cj = CB B-1 A - C = YA - C se revisa si el coeficiente indicador Zj - Cj cambia de
signo. Si no ocurre el cambio de signo en tal coeficiente no es necesario aplicar la 2ª. Etapa, ya que el cambio
propuesto no afecta la optimalidad del problema. Cuando el coeficiente Zj - Cj cambia de signo, se entiende
que el cambio propuesto, sí provoca la pérdida de optimalidad de la solución que se está revisando y en tal
caso se procede a la siguiente etapa.
2ª. Etapa.-
Se aplica utilizando la fórmula A* = B-1 A con la cual se calcula la nueva columna a*j. Se aplica el simplex
hasta reoptimizar.
Ejemplo 3-10. Cambio en la matriz A de coeficientes tecnológicos de restricciones (MINSENA1).
Dado el modelo de PL siguiente y su correspondiente tabla simplex óptima:
Figura 3-27. Modelo y tabla simplex óptima del ejemplo MINSENA1.
Suponga que el coeficiente 13 = -1 cambia por 13 = 2.
1ra. Etapa: indicador Z3 - C3 = Y 3 - c3 = (3, -1/2)(2, 1)T - 4 = 3/2 > 0 no óptima
También, con más labor de cálculo, se verifica este resultado usando las matrices:
Zj-Cj = YA - C =(3,-1/2) - (3, -1, 4) = (3, -1, 11/2) - (3, -1, 4)
Zj - Cj = (0, 0, 3/2) > 0 ya no es óptima, así se procede con la:
2da. Etapa:
Cálculo de la columna *3 de la matriz A*:
191
El resultado se verifica con todas las matrices, aunque con más labor de cálculo:
La tabla simplex dada con la solución óptima original, se arregla con los nuevos coeficientes Z3 - C3 y 3, procediendo
a reoptimizar:
Figura 3-28. Reoptimización del ejemplo MINSENA1, debido al cambio en 13.
La nueva solución óptima es: Zo = 8; X2 = 8, X3 = 4, X1 = S1 = W1 = W2 = 0
Ejemplo 3-11. Cambio en la matriz A de coeficientes tecnológicos de restricciones (MINSENA2).
Dado el modelo de PL siguiente y su correspondiente tabla simplex óptima:
Figura 3-29. Modelo y tabla simplex óptima del ejemplo MINSENA2.
Suponga que el vector columna 1= (2, 6, 2)T de coeficientes en restricciones, cambia a 1 = ( 6, 6, -2 )T. Calcule la
nueva solución óptima.
1ra. Etapa:
Z1-C1 =Y 1 -C1 = (1/16, 0, -53/16) (6, 6, -2) T -5 = 2 > 0 no es óptima
192
2da. Etapa:
se procede al cálculo de la columna *1 de la matriz A*:
Ahora se sustituyen los valores Z1 - C1 = 2 y *1 = (0, 7, -1)T en la tabla simplex dada, procediendo al cambio de
base, haciendo básica a X1 y no básica a H2.
Figura 3-30. Reoptimización del ejemplo MINSENA2, cambian coeficientes 1.
La nueva solución óptima es: Zo = -44.30, X1 = 3.214, X2 = 4.125, X3 = 5.089.
3.4. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
En las siguientes subsecciones encontrará una serie de ejercicios que ayudarán a la total comprensión de los temas
tratados en el presente capítulo. Asimismo, los ejercicios marcados con *AUTOEVAL* son de auto evaluación, el
peso de los incisos correspondientes a cada uno de ellos podrán ser consultados en la sección de respuestas. Se sugiere
resolverlos, y una vez terminados, revisar su solución y calcular la calificación correspondiente y así evaluar el
entendimiento del mismo.
Se recomienda aplicar los ejercicios aquí planteados a casos prácticos de la vida diaria como parte de las actividades
de aprendizaje del presente material.
3.4.1. Aplica método dual-simplex.
Resuelva con método dual-simplex el modelo de PL que sigue:
193
Respuesta al ejercicio
B.3.1. Aplica método dual-simplex.
3.4.2. Aplica método dual-simplex *AUTOEVAL*.
Resuelva con método dual-simplex el modelo de PL que sigue:
Respuesta al ejercicio
194
B.3.2. Aplica método dual-simplex.
Enunciado del ejercicio
3 tablas-acierto (1 punto c/u).
3.4.3. Estructura matricial, completa tabla y calcula modelo PL original *AUTOEVAL*.
La siguiente es una tabla simplex óptima incompleta de un problema de PL. Determine: a) los elementos faltantes;
b) el modelo que originó la solución de la tabla; c) el método para resolverlo; d) el vector Y de variables duales
(precios sombra); e) el valor de la función Zo y Yo.
195
Respuesta al ejercicio
B.3.3. Estructura matricial, completa tabla y calcula modelo PL original.
Enunciado del ejercicio
Incisos a) y b) 1 punto c/u. incisos c),d) y e) 1/3 de punto c/u.
3.4.4. Estructura matricial, completa tabla y calcula modelo PL original.
La siguiente es una tabla simplex óptima incompleta de un problema de PL. Determine: a) los elementos faltantes;
b) el modelo que originó la solución de la tabla; c) el método para resolverlo; d) el vector Y de variables duales
(precios sombra); e) el valor de la función Zo y Yo.
Respuesta al ejercicio
196
B.3.4. Estructura matricial, completa tabla y calcula modelo PL original.
3.4.5. Estructura matricial, completa tabla y calcula modelo PL original.
La siguiente es una tabla simplex óptima incompleta de un problema de PL. Determine: a) los elementos faltantes;
b) el modelo que originó la solución de la tabla; c) el método para resolverlo; d) el vector Y de variables duales
(precios sombra); e) el valor de la función Zo y Yo.
Respuesta al ejercicio
197
B.3.5. Estructura matricial, completa tabla y calcula modelo PL original.
3.4.6. Estructura matricial, calcula tabla simplex sin usar algoritmo *AUTOEVAL*.
Dado el modelo de PL siguiente y su correspondiente vector solución óptimo XB = ( H1, X2, X1 )T, calcule la tabla
simplex usando solamente las relaciones matriciales de la misma; no aplique el algoritmo.
Respuesta al ejercicio
B.3.6. Estructura matricial, calcula tabla simplex sin usar algoritmo.
198
Enunciado del ejercicio
6 aciertos (5 renglones de tabla y la solución optima) 1/2 punto c/u.
3.4.7. Estructura matricial, calcula tabla simplex sin usar algoritmo.
Dado el modelo de PL siguiente y su correspondiente vector solución óptimo XB = (H1, X2, X1, H4 )T, calcule la
tabla simplex usando solamente las relaciones matriciales de la misma; no aplique el algoritmo.
Respuesta al ejercicio
B.3.7. Estructura matricial, calcula tabla simplex sin usar algoritmo.
3.4.8. Análisis de sensibilidad a solución de modelo canónico de PL *AUTOEVAL*.
Dado el modelo de PL y su tabla simplex óptima, siguientes:
199
Determine la nueva solución si ocurren los cambios siguientes:
a) El primer recurso b1 aumenta 15 unidades.
b) El coeficiente C1 de Z disminuye 4 unidades.
c) El coeficiente a13 = 2 en restricción 1 cambia a a13 = 0.
Respuesta al ejercicio
200
B.3.8. Análisis de sensibilidad a solución de modelo canónico de PL.
Enunciado del ejercicio
3 incisos-acierto 1 punto c/u.
3.4.9. Análisis de sensibilidad a solución de modelo no canónico de PL.
Dado el modelo de PL y su tabla simplex óptima, siguientes:
201
Determine la nueva solución si ocurren los cambios siguientes:
a) El tercer recurso b3 = 3 cambia a b3 = 5 unidades.
b) El coeficiente C1 = 2 de Z, cambia a C1 = - 3 unidades.
Respuesta al ejercicio
202
B.3.9. Análisis de sensibilidad a solución de modelo no canónico de PL.
Enunciado del ejercicio
3.4.10. Conceptos de PL con opciones de acierto *AUTOEVAL*.
Vea las opciones de aciertos para los siguientes conceptos. Anote en paréntesis (__) el número de concepto que
corresponda:
(1) método dual-simplex, (2) precios sombra, (3) estructura matricial simplex, (4) variable sale en dual-simplex, (5)
variable holgura, (6) dualidad (7)matriz B-1 (8) vector C en objetivo, (9) vector b de recursos, (10) análisis de
sensibilidad, (11) matriz A, (12) vector CB, (13) holgura complementaria.
(__) Usadas para conseguir la base inicial en el dual-simplex.
(__) Estudia efecto de cambios a modelo PL después de optimizado.
(__) Variable dual no cero, asocia restricción primal que cumple en igualdad.
(__) Coeficientes ordenados de la función objetivo a variables en la base.
203
(__) Se usa en análisis de sensibilidad, se sabe: Máximo Z (Y) = Mínimo Y (z).
(__) Coeficientes ordenados de restricciones de la PL.
(__) Asocia ambos problemas con relación respectiva de variable-restricción.
(__) Se elige así cuando tiene el valor menor o más negativo como solución.
(__) Contiene los valores de recursos que anota el modelo de PL.
(__) Cambio en al valor de Z, debido al cambio unitario en del recurso i.
(__) Aplica con solución inicial óptima, pero con valores negativos del vector XB.
(__) Presente en todas las relaciones matriciales de la tabla simplex.
(__) Se usa en análisis de sensibilidad si XB < 0 en el cambio del vector b.
(__) Muestra el orden matemático de constantes y variables si aplica el simplex.
(__) También se identifican como multiplicadores del simplex o valores duales.
(__) Variable dual cero, asocia restricción primal que cumple en desigualdad.
(__) Solución complementaria en la tabla simplex.
Nota: Un (__) puede tener más de un número y éstos pueden repetirse en otros.
Respuesta al ejercicio
B.3.10. Conceptos de PL con opciones de acierto.
Vea las opciones de aciertos para los siguientes conceptos. Anote en paréntesis (__) el número de concepto que
corresponda:
(1) método dual-simplex, (2) precios sombra, (3) estructura matricial simplex, (4)variable sale en dual-simplex, (5)
variable holgura, (6) dualidad (7)matriz B-1 (8) vector C en objetivo, (9) vector b de recursos, (10) análisis de
sensibilidad, (11) matriz A, (12) vector CB, (13) holgura complementaria.
(5) Usadas para conseguir la base inicial en el dual-simplex.
(10, 1, 2, 3, 6,13) Estudia efecto de cambios a modelo PL después de optimizado.
(13, 2,6) Variable dual no cero, asocia restricción primal que cumple en igualdad.
(12) Coeficientes ordenados de la función objetivo a variables en la base.
(6, 1, 2, 3,13) Se usa en análisis de sensibilidad, se sabe: Máximo Z (Y) = Mínimo Y (z).
204
(11,9) Coeficientes ordenados de restricciones de la PL.
(6, 2,13) Asocia ambos problemas con relación respectiva de variable-restricción.
(4,1) Se elige así cuando tiene el valor menor o más negativo como solución.
(9) Contiene los valores de recursos que anota el modelo de PL.
(2) Cambio en al valor de Z, debido al cambio unitario en del recurso i.
(1,4) Aplica con solución inicial óptima, pero con valores negativos del vector XB.
(7,3) Presente en todas las relaciones matriciales de la tabla simplex.
(1,6) Se usa en análisis de sensibilidad si XB < 0 en el cambio del vector b.
(3) Muestra el orden matemático de constantes y variables si aplica el simplex.
(2) También se identifican como multiplicadores del simplex o valores duales.
(13,6) Variable dual cero, asocia restricción primala que cumple en desigualdad.
(2,13) Solución complementaria en la tabla simplex.
Enunciado del ejercicio
37 aciertos con valor de 4/5 de punto c/u.
3.5. Referencias bibliográficas
DAN63.- Dantzig George B.
Linear Programming and Extensions. Princenton University Press. Princenton N.J. 1963.
EPE92. - Eppen G. - Gould F. - Schmidt Ch.
Métodos Cuantitativos para Administración. Prentice Hall. 1992
GAS74. - Gass Saul I.
Linear Programming. Methods and Applications. McGraw Hill, New York.1974
GASS81.- Gass Saul I.
Programación lineal.- Limusa 1ª Edición 1981
HIL95.- Hillier-Lieberman.
205
Introducción a la Investigación de Operaciones.-McGraw-Hill.- 6a.edición.- 1995.
LUE84.- Luenberger D.
Introduction to Linear and No Linear Programming. 2d. edition.1984
SAT59. - Saaty Thomas.
Mathematical Methods of Operations Research, Mc Graw Hill Book Company, New York, 1959
WAG75. - Wagner H.
Principles of Operation Research. 2d. edition. Englewood Cliffs. N. J. Prentice Hall. 1975.
WIN94.-Winston Wayne.
Investigación de Operaciones. Aplicaciones y Algoritmos.- Grupo Editorial Iberoamérica.- 2ª Edición.-1994.
Capítulo 4. APLICACIONES DE LA PROGRAMACIÓN LINEAL
Tabla de contenido 4.1. Objetivo.
4.2. Definiciones.
4.3. Red de distribución.
4.4. Redes de flujo
4.5. Ejercicios, actividades de aprendizaje y autoevaluaciones
correspondientes al capítulo
4.6. Referencias bibliográficas
4.1. Objetivo.
Para aquellos problemas que se pueden visualizar mediante un gráfico semejante a una red, tales como los problemas
del área de transporte, el alumno se inicia y aprende que la programación lineal los resuelve con metodología
específica que explota las circunstancias del modelo de red y su resultante modelo matemático simplificado, del que
se derivan algoritmos exclusivos más eficientes que el simplex. Aprende con ellos a optimizar el flujo de unidades en
diversos problemas de ruta y árbol mínimos, así como transporte máximo de unidades y su distribución.
4.2. Definiciones.
La programación lineal es una técnica poderosa y versátil para tratar problemas de asignación de recursos escasos
entre actividades que compiten. Se ha convertido en una herramienta estándar de gran importancia para muchas
instituciones de gobierno, organizaciones industriales y de negocios. En general tiene gran aplicación en una amplia
206
variedad de contextos que incluyen los siguientes dos grupos especiales: las redes de distribución de mercancía,
servicios de agua y energía, así como de personal; otro grupo de aplicación son las redes de flujo, en las que se tienen
diversos lugares a comunicar mediante algún medio (rama) por el cual se transportan unidades, que también pueden
ser bienes, servicios, información y personas.
La utilización del conocido método simplex para estas aplicaciones especiales de programación lineal, requiere la
previa formulación del modelo matemático del problema en estudio el cual puede resultar con un número muy grande
de restricciones y variables (depende del tamaño), de manera que se podría traducir en un esfuerzo importante para la
capacidad de la computadora.
Sin embargo, esta clase de problemas de aplicación especial se distinguen porque la mayoría de los coeficientes en
la matriz A de las restricciones son cero. En consecuencia se han podido desarrollar algoritmos simplificados
especiales sobre la base del simplex, que explotan la estructura particular del modelo, logrando ahorros en labor de
cálculo, lo cual los hace más eficientes.
Los problemas de redes surgen en una gran variedad de situaciones. Las redes que distribuyen los bienes de consumo,
las que distribuyen los servicios para el hogar y la empresa, las comunicaciones para llevar personas al desempeño de
sus actividades, las redes electrónicas indispensables en la vida diaria de la gente, son comunes en el trabajo y la
diversión.
El modelo gráfico de red proporciona un panorama general del problema y una ayuda conceptual para visualizar las
relaciones entre componentes de los sistemas que se usan en áreas científicas, sociales y económicas.
Entre los desarrollos más recientes de la investigación de operaciones (IO) se cuentan los avances en la metodología
y la aplicación de los modelos de redes. Algunos algoritmos han tenido un fuerte impacto logrando su aplicación en
paquetes de computadora a problemas de gran tamaño, que hasta hace algunos años no se podían resolver
Definiciones para: REDES DE DISTRIBUCION Y DE FLUJO
Los problemas de distribución y flujo de unidades se pueden analizar mejor utilizando una representación gráfica
conocida como modelo de red (nodos o lugares, comunicados por ramas o medios que se usan para el flujo). En este
capítulo de aplicaciones de la PL se considera un grupo con las redes de distribución de bienes, servicios, trabajos y
personas en problemas específicos denominados: transporte simple, transbordo y asignación. También con modelo de
red, se presenta otro grupo incluyendo algunos problemas relacionados con la comunicación de distintos lugares para
el flujo de unidades, como son ruta mínima, árbol mínimo y flujo máximo. Además, se puede formular un modelo
matemático de programación lineal que represente a dichos problemas, identificándolos como aplicaciones de esta
técnica matemática. Conviene establecer definiciones, útiles al facilitar el conocimiento en redes de distribución y de
flujo. Por favor vea Figura 4-1 y las definiciones siguientes:
Ejemplo 4-1. Muestra de red, tipos de nodos y ramas, con notación.
207
Figura 4-1. Red ejemplo de flujos que muestra la notación para definiciones.
Red: Conjunto de nodos (i) unidos en pares por ramas (i, j), medio para el flujo.
Nodo (i): Punto de interés o lugar de la red para unidades que entran y/o salen (ciudades, estaciones, almacenes,
puntos de proceso, computadoras, etc.).
Rama i - j; (i, j): La línea que une dos nodos (i) e (j) adyacentes, significa una forma de comunicación para establecer
el flujo de unidades entre ellos. Una rama puede ser unidireccional u orientada ( ) para permitir el flujo en una sola
dirección, ya sea (i) (j) ó (i) (j), una excluye a la otra. La tubería del agua que recibe en la regadera de su casa o
la calle de un sólo sentido, son ejemplo de rama orientada. También, una rama puede ser bidireccional o no orientada,
ya sea (i) - (j), o bien, (i) (j), lo cual permite establecer, flujo de unidades en ambas direcciones. Las líneas
telefónicas, calles de doble dirección, líneas del metro, líneas aéreas, son ejemplo de rama bidireccional o no orientada.
Capacidad de flujo (Fi j): Es el máximo de unidades que se permite fluir por una rama (i, j). Por ejemplo: el diámetro
de la tubería para conducir fluidos (líquido o gas), el calibre del cable conductor eléctrico, la capacidad de carga de
un camión transportista, el número de lugares disponibles de un avión, son especificaciones que limitan la capacidad
para el flujo posible de servicios, bienes o personas.
Flujo (X i j): Unidades transportadas por la rama (i, j); el flujo puede ser de bienes, servicios, información o personas.
Ejemplo definitorio de unidades son los vehículos o las personas que llevan. El flujo se ubica en el intervalo: 0 =< X
i j =< F i j; es decir, puede no existir (cero), pero no exceder la capacidad F i j especificada.
Costo (C i j): Es el costo en tiempo, distancia o dinero, invertido al transportar una sola unidad por la rama (i, j). Aquí
es importante precisar la unidad.
Ruta (trayectoria): Es la conexión de dos lugares o nodos, mediante un conjunto de una, o más ramas (i, j) en
secuencia, los cuales se usan una sola vez, vea Figura 4-2.
208
Circuito: Es una ruta para conectar un nodo (i) a sí mismo.
Nodo origen: Es el lugar elegido para enviar unidades. Algunos ejemplos son: ciudades, transmisora de radio o
televisión, puerto aéreo / marítimo, oficina postal.
Nodo destino: Es el lugar elegido para recibir unidades. Algunos ejemplos son: ciudades, puerto aéreo o marítimo,
oficina postal, usuarios de electricidad; y en casa, receptores de radio y televisión, lavaderos, regaderas, focos y
contactos.
Nodo de transbordo o transferencia: Es un lugar con la posibilidad de enviar y de recibir unidades, por ello puede
funcionar como origen así como destino. Ejemplo: ciudades, estación de transporte colectivo "metro", teléfono,
computadora, bombeo de agua, subestación eléctrica, paradero de transporte público.
Nodo (j) directo de otro nodo (k).- Si el nodo (j) puede recibir flujo de (k). En la red mostrada, el nodo C es directo
de S, A y B. Directos de O son A y B.
Nodo (i) inverso de otro nodo (k).- Si el nodo (i) puede enviar flujo a (k). En la red, C es inverso de B, H y S. Los
nodos H y S, a su vez, inversos de T.
Figura 4-2. Algunas rutas alternativas en la red ejemplo.
Interpretación gráfica de una rama bidireccional (no orientada). En redes de flujo es permitido representar una
rama bidireccional en cualquiera de las siguientes maneras: Una rama entre nodos con flecha en ambas direcciones,
o bien se sustituye con dos ramas orientadas S C y S C, como se ve enseguida:
Figura 4-3. Representación de una rama bidireccional
PROPIEDAD DE CONSERVACIÓN DE FLUJO EN UNA RED.
En una red de flujo, éste se considera factible cuando se cumple:
1. La restricción para cada flujo X i j en las ramas ( i, j ) de ella: 0 =< X i j =< F i j
2. No hay pérdida de unidades de flujo a través de la misma, entendiendo que el número de unidades que entran
a un nodo de la red es igual al número que sale del mismo. De este modo, dicha propiedad es válida para toda
la red en cualquier nodo y se identifica como "conservación de flujo". Verifique en Figura 4-4
209
Figura 4-4. Conservación de flujo en cualquier nodo de la red.
4.3.1. Problema de transporte simple.
El problema de transporte simple es un caso especial de la programación lineal, pues la estructura matemática que lo
representa, resulta en un modelo cuyas restricciones tienen términos de coeficientes 1, lo cual ha permitido el
desarrollo del algoritmo de solución basado en el simplex pero simplificado, logrando así mayor eficiencia en labor
de cálculo. Es aplicable en la distribución de bienes de consumo, de servicio eléctrico y de agua, en la asignación de
equipo a la producción; también tiene aplicaciones de otra naturaleza como es, el inventario industrial o la asignación
uno a uno, de ahí la importancia del modelo.
Definición: Dada una red de nodos, parte de los cuales son m orígenes con oferta de algún producto, otra parte de
los nodos son n destinos con demanda b j del mismo bien. Se trata de satisfacer las demandas aprovechando las ofertas
para lo cual se tiene el respectivo costo unitario C i j de transporte, y el objetivo de que la suma de costos sea mínimo.
La distribución de bienes debe permitir el cumplimiento de cada demanda con uno o más orígenes, vea Figura 4-5.
210
Figura 4-5. Red de transporte simple, envía unidades Xij, del origen i al destino j.
Oferta contra demanda.- Una situación normal que presenta el problema de transporte, es que la suma de unidades
por enviar desde los orígenes, no es igual a la suma de unidades pedidas en los lugares de destino. La metodología de
solución, requiere ajustar primero, para tener equilibrio entre oferta y demanda.
Solución al problema de transporte.- Se puede resolver con el método especial, pero también se puede modelar el
problema y aplicar el algoritmo Simplex.
Modelo de programación lineal del problema de transporte
Sea: X i j = Unidades enviadas del origen i (i =1,2,...m), al destino j (j = 1,2,..., n)
C i j = Costo unitario desde el nodo origen i hasta el nodo destino j.
= Oferta del origen i, (i = 1, 2,..., m); b j = Demanda del destino j (j = 1, 2,..., n)
El modelo de programación lineal aquí mostrado se presenta para un problema balanceado con las restricciones de
oferta y demanda en igualdad. Para el caso de un problema no balanceado (oferta y demanda en desigualdad) es
necesario el
Equilibrio: = b j; además, debe cumplirse que toda X i j >= 0
Figura 4-6. Tabla usual para el problema de transporte.
La tabla de transporte (Figura 4-6) contiene renglones i para los orígenes (oferta) y columnas j para los destinos
(demanda); el cruce de renglón y columna se conoce como celda (i, j) que contiene: a la derecha el respectivo
211
costo Cij, y a la izquierda se deja vacía para alojar (si existe), el valor que representa el envío de unidades de un
determinado producto desde el lugar i hasta el lugar j, o sea, X ij.
El siguiente ejemplo se resuelve aplicando la metodología de transporte que consiste de seis pasos, de los cuales
los últimos cuatro corresponden al algoritmo de transporte, también llamado de los multiplicadores del simplex.
Ejemplo 4-2. Aplica algoritmo de transporte (TRANSBAL33).
Por favor refiérase a la Figura 4-6 usual de transporte anterior para identificar la información en la tabla siguiente de
costos Cij, ofertas , demandas bj, de los mismos bienes, para tres destinos j y tres orígenes i. Determine la asignación
óptima de unidades ofertadas que satisfaga la demanda con el menor costo. Las variables Xij son los transportes por
determinar, algunos de ellos deberán anularse (Xij =cero) porque su costo unitario de envío es caro.
Figura 4-7. Tabla inicial de transporte con datos del problema ejemplo TRANSBAL33.
a) Formule un modelo de programación lineal para este problema.
Se omite la restricción de equilibrio porque, en las de oferta y demanda, las restricciones se expresan con
desigualdad, lo cual obliga al equilibrio con variables de holgura y de superávit, que es equivalente a oferta o
demanda, ficticias.
b) Optimice utilizando el algoritmo de transporte:
Paso 1. Balancee el problema en cuanto a la oferta y la demanda total. Un problema de transporte balanceado
debe cumplir: = bj; para eso calcule:
Si: oferta > demanda bj, se crea una demanda ficticia = - b j
212
Si: oferta < demanda bj, se crea un origen ficticio = b j - i
En el ejemplo Transbal se tiene: Oferta= 40+50+30 = 120 = 25+35+60 = Demanda.
Significa que el problema está balanceado, pues oferta y demanda igualan en 120, por lo tanto no hay
necesidad de balancear con origen o demanda ficticios.
Paso 2. Obtenga una primera solución básica y factible.- Como en el simplex, es necesario conseguir una
primera solución que cumpla como básica y que, además, sea factible. Será básica si tiene, a lo más, m + n -
1 asignaciones o envíos. En este ejemplo, m = 3, n = 3: m + n - 1 = 3 + 3 - 1 = 5 asignaciones.
Será factible si se cumple:
Para calcular una primera solución básica y factible, hay varios métodos, entre los cuales están los siguientes:
esquina noroeste (NO) y método de Vogel.
Primera solución básica factible calculada con el método de la esquina NO:
Se inicia en la esquina superior izquierda, celda (i, j) = (1, 1) de la tabla; asignando un valor a la variable X ij =
X11 reduciendo i = 1 y bj = b1, en el mismo valor y se denotan tales valores reducidos con *i y b*j. Suponga
el problema balanceado: X11 = mínimo ( 1, b1), reemplaza 1 por *1= 1-X11 y b1 por b*1=b1-X11, entonces:
Si *1 > b*1, se pasa a la celda ( i, j ) = (1, 2) asignando X12 = mínimo ( *1, b2) y se reemplaza *1 por
*1 = *1 - X12 y b2 por b*2 = b2 - X12. Pero si *1 < b*1, se pasa a la celda (2, 1) asignando X12 = mínimo ( 2,
b*1) y se reemplaza 2 por *2 = 2 -X21 y b*1 por b*1 = b*1 - X21. El caso en que *1 = b*1 produce la
solución degenerada con menos de (m + n -1) asignaciones o envíos, se expondrá después.
Para el ejemplo Transbal33 se hace un primer envío de unidades en la celda (i, j) = (1, 1) (orientación NO), el
mayor posible, que coincide con mínimo de la oferta 1=40 y la demanda b1=25; en tal caso, lo más que se
puede enviar es X11=25 que se anota en la celda (1,1). Así se satisface la demanda b1, ahora la oferta es:
1=40-25=15, la cual se envía al destino 2 con demanda b2=35, asignando X12=15, agotando la oferta 1 y
pendientes 35 - 15 = 20 unidades para envío a b2 con otra oferta, en este caso con el origen 2 cuya oferta es
2=50, se asigna X22=20 completando la demanda b2=35. Ahora la oferta 2 se reduce a 50-X22 =50-20 =30, la
que se aprovecha para enviarX23=30 al destino 3 que demanda b3=60; se agota la oferta 2 y ahora se considera
la oferta 3 con 3=30, que iguala la demanda b3=30, por lo que se asigna el envío de X33=30 que agota 3 y
satisface b3 simultáneamente. La solución de esquina NO (Figura 4-8) siguiente contiene 5 asignaciones o
envíos en variables llamadas básicas: X11=25, X12=15, X22=20, X23 = 30, X33 = 30 y costo sumado de 615.
Las 4 variables restantes son no básicas y nulas: X13 = X21 = X31 = X32 = 0.
213
Figura 4-8. Envíos asignados con método esquina noroeste (NO), ejemplo TRANSBAL33.
La solución básica factible con método esquina noroeste, se grafica (Figura 4-9) a red en forma de árbol de
expansión (todos los nodos conectados sin circuitos):
Figura 4-9. Primera solución básica factible como árbol de expansión en ejemplo TRANSBAL33.
Primera solución básica factible obtenida con el método de Vogel.- Este método y el anterior (NO), sólo
son soluciones de inicio y a veces, en problemas pequeños, pueden optimizar; pero en general, el método de
Vogel resulta una mejor aproximación en el proceso de asignar transporte al ponderar y elegir costos.
Se inicia la asignación con el método de Vogel, calculando en todos los renglones y columnas de la tabla, la
diferencia entre los dos costos menores de cada uno de ellos. Así en renglón 1: 7-6=1, en el 2: 4-3=1, en el 3:
6-5=1, en la columna 1: 7-5=2, en la 2: 6-4=2, en la 3: 6-3=3. Ahora se decide hacer el primer envío en el
renglón o columna que tenga la mayor, entre todas las diferencias recién calculadas; lo cual se cumple en
columna 3, seleccionando entre las celdas de la misma, aquella que tenga el costo mínimo entre (8, 3, 6)=3, la
celda (2,3); con una oferta 2=50 y una demanda b3=60, se puede asignar un envío de X23=50 lo cual agota la
oferta 2 pero la demanda b3=60 no se completa. Después de la asignación, se repite el procedimiento de
calcular la diferencia entre los dos costos menores de cada renglón y columna. Se omite el renglón 2, cuya
oferta 2 se agotó, señalándolo con marca x queda eliminado para elegir costos. Se inicia una nueva asignación
con diferencias 1 y 1 en respectivos renglones 1 y 3; 2, 2 y 2, en respectivas columnas 1, 2, y 3. El empate a 2
en las columnas, obliga a otro criterio: se comparan todos los costos en los renglones 1 y 3 para seleccionar el
mínimo (7, 5, 6, 8)=5 en celda (3, 1), asignando un envío de X31=25, dado que se pide b1=25 y se oferta
3=30. Con esta asignación se satisface la demanda b1, se señala con x la columna 1 como no elegible en lo
sucesivo. Para el siguiente envío, se obtiene: 8-6 = 2 en los renglones 1 y 3; y lo mismo 8-6 = 2 en las columnas
2 y 3; aquí se tiene una doble situación de empate, pues al comparar costos, empatan las celdas (1, 2) y (3, 3)
en un costo de 6; entonces es necesario otro criterio de decisión, como es elegir la celda con el mayor envío
posible, se prefiere X12=35 al comparar con X33=5. Este envío satisface b2=35, marcando x para lo sucesivo,
pero la oferta 1 queda en 40-35=5.
Ahora la única demanda no satisfecha es en columna 3; ya no hay dos costos para obtener la diferencia en
renglones, en tal caso se anota cero en renglones 1 y 3; en la columna 3, la diferencia es: 8-6 = 2 que es la
mayor y por lo tanto se asigna X33 = 5, con lo cual se agota la oferta 3 = 30, señalando con x el renglón. Sólo
queda por agotar la oferta del renglón 1, pues ya no hay diferencia de costo, entonces se decide X13 = 5,
agotando 1 = 40 y se completa a la vez la demanda b3 = 60. Sigue la Figura 4-10 que muestra el transporte
con el método de Vogel.
214
Figura 4-10. Envíos asignados en método de Vogel, primera solución, ejemplo TRANSBAL33.
Costo del método de Vogel = 6(35) + 8(5) + 3(50) + 5(25) + 6(5) = 555
Variables básicas: X12 = 35, X13 = 5, X23 = 50, X31 = 25, X33 = 5
Variables no básicas: X11 = X21 = X22 = X32 = 0
La solución básica factible obtenida aplicando el método de Vogel, también se puede representar como red de
distribución en forma de árbol de expansión (todos los nodos conectados sin circuito), como en Figura 4-9 de
esquina noroeste.
Paso 3. Determine una matriz de costos como la mostrada en donde:
Figura 4-11. Costos C* ij y valor de variables duales en solución Vogel, ejemplo TRANSBAL33.
Paso 4.- Calcule el valor de las variables duales V j y U i mediante la aplicación de la fórmula:
C* i j - U i - V j = 0. Se debe obtener tantas ecuaciones como costos C* i j de variables básicas (m + n - 1) =
(3+3-1= 5), con un total den variables V j y m variables U i por resolver, (suman m + n = 3+3 = 6); es decir,
un sistema de 5 ecuaciones con 6 variables. El sistema tiene un grado de libertad, se puede dar un valor
arbitrario (por ejemplo cero) a una de las variables y resolver. Con V3 = 0:
215
Figura 4-12. Variables duales del ejemplo TRANSBAL33.
También se pueden calcular las variables duales, directamente sobre la tabla de transporte, empezando con el
valor cero en cualquiera de ellas, (se prefiere a la variable que participa más, ya sea en renglón o bien en
columna), puede hacerse anulando la que desee.
Considere el cálculo con U1 = 0 y sustituya en la fórmula C13 - U1 - V3 = 0
V3 = C13 - U1 = 8 - 0 = 8; también V2 = C12 - U1 = 6 - 0 = 6; luego: U2 = C23 - V3 = 3 - 8 = - 5; U3 = C33 -
V3 = 6 - 8 = - 2;
V1 = C31 - U3 = 5 - (- 2) = 7
Figura 4-13. Valor a variables duales, paso 4 en algoritmo de transporte, ejemplo TRANSBAL33.
Esta es una más, de la infinidad de soluciones posibles al sistema de ecuaciones cuya solución proporciona el
valor de las variables duales, una para cada renglón y columna de la tabla de transporte. Cualquiera de tales
soluciones es igualmente útil para el siguiente paso del algoritmo de transporte.
Paso 5. Calcular los parámetros Z i j - C i j = C i j - U i - V j para cada celda vacía (variable no básica). La
solución es óptima si Z i j - C i j >= 0, de lo contrario, se declara como variable entrante a la base, la que
corresponda al valor de Z i j - C i j más negativo y se procede al cambio de base.
Cálculo de los parámetros con la primera solución (V3 = 0) de variables duales:
Figura 4-14. Cálculo de parámetros Zij - Cij del ejemplo TRANSBAL33.
Cálculo de los parámetros con la segunda solución (U1 = 0) de variables duales para que el lector verifique
el mismo resultado con ambas soluciones:
216
Figura 4-15. Cálculo de parámetros con la segunda solución de variables duales, ejemplo
TRANSBAL33.
En este primer problema de transporte simple, no es necesario aplicar el paso 6 para cambiar la base buscando
optimizar, pues la primera solución básica factible obtenida con método de Vogel, resultó la mejor solución,
lo cual no siempre se cumple. Los ejemplos siguientes, presentan la metodología completa.
Ejemplo 4-3. Aplica algoritmo de transporte (TRANSNOBAL33).
Dado el siguiente problema no balanceado de distribución de unidades, en que M significa un costo muy alto, formule
y optimice los envíos aplicando el método con el algoritmo de transporte:
Figura 4-16. Tabla inicial de transporte con datos del problema ejemplo TRANSNOBAL33.
a) Formule el modelo de programación lineal correspondiente:
Sea: X i j = Unidades enviadas del nodo origen i (i = 1,2) al destino j (j = 1, 2,3).
Función objetivo: Mínimo Z = 10 X11 + 5 X12 + 12 X13 + 8 X21 + M X22 + 11 X23
b) Optimice el transporte iniciando con la solución de esquina noroeste (NO).
Paso 1. Balancee el problema:
Oferta = = 40 + 55 = 95 < 100 = 25 +15 + 60 = bj = demanda
217
Si: demanda = bj = 100 > 95 = = oferta, entonces se balancea con un origen ficticio a 3 = bj -
= 100 - 95 = 5, con costosC3 j = cero
Figura 4-17. Tabla de transporte balanceado (paso 1) del problema ejemplo TRANSNOBAL33.
Paso 2. Inicie calculando con método de la esquina NO, como primera solución básica factible en la
aplicación del algoritmo de transporte.
Figura 4-18. Envíos asignados de método esquina noroeste (NO), ejemplo TRANSNOBAL33.
Costo de solución esquina NO: Z = 10(25) + 5(15) + 11(55) + 0(5) = 930
Variables básicas aparentes: X11 = 25, X12 = 15, X23 = 55, X33 = 5.
Variables no básicas aparentes: X13 = X21 = X22 = X31 = X32 = 0
Es solución básica factible porque cuando mucho tiene, m + n - 1 = 3+3 -1 = 5 transportes, además tiene
factibilidad porque cumple Xi j = ; Xi j = bj.
Es un caso de solución degenerada pues sólo tiene 4 < 5 asignaciones.
Cuando el número de asignaciones de transporte resulta menor que m+n-1, se califica como una solución
degenerada. En contraste con la tabla simplex, en la tabla de transporte no se visualizan las variables básicas
igual a cero, pues al igual que en las no básicas la celda se presenta vacía, pero en paso 6 del algoritmo de
transporte se identifican las variables básicas, aun siendo nulas.
Paso 3. Determine una matriz de costos C* i j:
Figura 4-19. Costos C*ij, variables duales, con solución degenerada, en método esquina NO del ejemplo
TRANSNOBAL33.
218
Paso 4. Cálculo de las variables duales V j y U i. Con la solución degenerada se presenta la primera
dificultad para calcular el valor de las variables duales. Observe que la solución al sistema de ecuaciones
presenta dos grados de libertad, pues al tener sólo 4 costos en la matriz C* i j, sólo se pueden formar 4
ecuaciones para resolver un total, (3 variables U i más 3 variables V j) de 6 incógnitas duales. Esta dificultad
se supera haciendo una asignación ficticia de valor infinitamente pequeño, en la celda más adecuada para
completar el cálculo de las variables duales. Generalmente se coloca en una celda incluida en un renglón o
columna, en que el envío satisface a la vez oferta y demanda. Pero con la práctica, el alumno debe notar en la
propia matriz, la asignación faltante que complete la solución del sistema. En este ejemplo en particular, para
resolver el sistema, es igual colocar en cualquiera de las 5 celdas vacías, aunque aquí se optó por la celda (2,
1) para completar el cálculo con U1 = 0.
Figura 4-20. Valores a variables duales, caso solución degenerada, ejemplo TRANSNOBAL33.
El sistema de 5 ecuaciones correspondientes a los 5 costos C*i j de la matriz es:
Figura 4-21. Sistema de 5 ecuaciones correspondiente a los costos C*ij del ejemplo TRANSNOBAL33.
Con este conjunto de valores para V j y U i, se tiene una, de la infinidad de soluciones al sistema con dos
grados de libertad, obtenida con el método de la esquina NO. También se puede calcular sobre la tabla de
transporte la misma solución o bien otra cualquiera, mostrada en la siguiente tabla, con la seguridad de ser
igualmente útil en lo que sigue del algoritmo. Inicie la solución con V1 = 0.
Figura 4-22. Otro valor a variables duales, caso de solución degenerada, en el problema ejemplo
TRANSNOBAL33.
Paso 5. Calcule los parámetros Z i j - C i j = C i j - U i - V j para cada celda vacía.
219
Figura 4-23. Cálculo de los parámetros Zij del ejemplo TRANSNOBAL33.
Paso 6. Cuando uno o más parámetros Z i j - C i j, resulta negativo, significa que la solución actual no es
óptima y se procede al cambio de base, declarando como variable entrante VE, la que corresponde al valor Z
i j - C i j más negativo. Se inicia asignando una cantidad de unidades en la celda de la variable entrante (
X13 = en el ejemplo). Esto provoca un desequilibrio en la cantidad de unidades tanto en la oferta como
en la demanda bj correspondientes a dicha celda; entonces se procede a balancear nuevamente el problema,
sumando y restando la misma cantidad en las celdas llenas (básicas) de la tabla, que sean convenientes,
formando un circuito de compensación que equilibre los envíos y recupere la factibilidad perdida. El
circuito de equilibrio que se forma es único para cada problema y puede tener cualquiera de las siguientes
formas, ya sea en dirección de las manecillas de reloj o bien en dirección opuesta.
Figura 4-24. Forma posible en circuito de equilibrio al cambio solución básica.
El algoritmo de transporte, del paso 3 al 6, se repite hasta que los parámetros del paso 5 resulten no negativos;
esta es la señal de la optimización.
Figura 4-25. Cambio de base, inicia en celda (1, 3), balancea en circuito, ejemplo TRANSNOBAL33.
=Mínimo {de todas las asignaciones, donde se resta }, = Mínimo {25, 55} = 25.
Sustituyendo el valor de = 25 en la tabla de transporte, se tiene la nueva solución:
Figura 4-26. Nueva solución al cambiar de base con =25 en circuito, ejemplo TRANSNOBAL33.
220
Observe que la nueva solución ya no es degenerada, pues con el cambio de base se tiene ahora un total de 5
asignaciones, que no requiere el uso de .
Valor de la nueva solución: Z = 5(15) + 12(25) + 8(25) + 11(30) + 0(5) = 905
También se calcula así: Z = Z anterior + (Z ij - C ij) = 930 - 1(25) = 905
Para verificar que Z es óptimo se aplica el algoritmo de transporte desde el paso 3 y se calculan los parámetros
(Z i j - C i j) a las celdas vacías:
Paso 3.- Matriz de costos C* i j.
Paso 4.- Cálculo de las variables duales V j y U i.
Figura 4-27. Valor a variables duales, caso solución no degenerada, ejemplo TRANSNOBAL33.
Paso 5.- Determine los parámetros Z i j - C i j en cada celda vacía de la tabla.
Figura 4-28. Cálculo de los parámetros Zij - Cij del ejemplo TRANSNOBAL33.
óptimo: Z = 905; Variables básicas: X12=15, X13=25, X21=25, X23=30, X33 =5
Variables no básicas: X11=0, X22=0, X31=0, X32=0
Ejemplo 4-4. Aplica algoritmo de transporte (TRANSNOBAL34).
Dado el siguiente problema no balanceado de distribución de unidades, en que M significa un costo muy alto. a)
Formule el modelo de programación lineal. b) Calcule una primera solución básica factible con los métodos esquina
NO y Vogel. c) Optimice con algoritmo de transporte partiendo de la solución obtenida aplicando método esquina
NO.
221
Figura 4-29. Tabla inicial de transporte con datos del problema ejemplo TRANSNOBAL34.
a) Modelo de programación lineal. Función objetivo:
Mínimo Z = 7X11 + MX12 + 2X13 + 5X21 + 8X22 + 10X23 + 6X31 + 4X32 + 3X33
Paso 1. Balancee el problema entre oferta y demanda, aplica método de transporte
oferta = 300 > 250 = demanda Requiere balanceo con un destino b4 ficticio:
oferta - demanda bj = 300 - 250 = 50 = b4 ficticio; y costos C i 4 = cero.
Figura 4-30. Tabla de transporte balanceado (paso 1) del problema ejemplo TRANSNOBAL34.
b) Primera solución básica y factible, aplica el método de transporte:
Paso 2.
222
Figura 4-31. Envíos asignados del método de Vogel en ejemplo TRANSNOBAL34.
Solución de Vogel : Z = 2(100) + 5(50) + 0(50) + 4(100) = 850.
Anote que la solución con método Vogel es degenerada, pues debe tener, a lo más, m +n-1=3+4-1=6
transportes, pero sólo son 4 las variables básicas a la vista.
Paso 2.- b) Primera solución básica y factible, aplica el método de transporte:
Figura 4-32. Envíos asignados del método de esquina noroeste en ejemplo TRANSNOBAL34.
La solución con el método de la esquina noroeste es no degenerada, pues tiene: m + n - 1 = 3 + 4 - 1= 6
asignaciones que forman las variables básicas siguientes:
X11 =50, X12 =50, X22 =50, X23 =50, X33 =50, X34 =50.
Las variables no básicas son: X13 = X14 = X21 = X24 = X31 = X32 = cero
La solución NO es: Z=7(50) + M (50) + 8(50) + 10(50) + 3(50) + 0(50)= 1400 + 50M
Paso 3. Matriz de costos C* i j.
Paso 4. Calcule las variables duales V j y U i.
223
Figura 4-33. Valor a variables duales, caso solución no degenerada, ejemplo TRANSNOBAL34.
Paso 5. Cálculo de los parámetros Z i j - C i j
Figura 4-34. Cálculo de parámetros Zij - Cij del ejemplo TRANSNOBAL34.
La presencia de valores negativos para los parámetros del paso 5, indica que la solución actual no es óptima y
se hace necesario un cambio de base.
Paso 6.- Se inicia por la elección de la variable entrante (VE) X13, debido a que presenta el parámetro más
negativo; en la celda (1, 3) se asigna un transporte de unidades y se procede a equilibrar ofertas y demandas,
formándose un circuito de compensaciones (equilibrio) como se observa en la tabla siguiente:
Figura 4-35. Cambio de base, inicia en celda (1, 3), equilibra en circuito, ejemplo TRANSNOBAL34.
En donde: =Mínimo (50, 50) = 50. Sustituyendo este valor, las asignaciones son:
Figura 4-36. Nueva solución al cambio de base con =50 en circuito, ejemplo TRANSNOBAL34.
La nueva solución es degenerada pues ahora sólo tiene 5 asignaciones en comparación a los 6 transportes de
la solución anterior; el nuevo valor de la función es:
224
Z = 7(50)+2(50)+8(100)+3(50)+0(50) = 1400
También: Z = Z anterior + (Z i j - C i j) = (1400+ 50M) + (-M) 50 = 1400
Pasos 3 y 4.- Debido a la degeneración se asigna (infinitamente pequeño) en una celda (3, 2), a manera de
conseguir resolver las variables duales del sistema:
Figura 4-37. Valor a variables duales, caso solución degenerada, ejemplo TRANSNOBAL34.
Paso 5.- Cálculo de parámetros Zij-Cij en celdas vacías (variables no básicas):
Figura 4-38. Cálculo de parámetros Zij-Cij del ejemplo TRANSNOBAL34.
En paso 5 aún se tienen valores negativos, entonces la solución no es óptima.
Paso 6.- La celda no básica (2,1) resulta con el valor más negativo, el cual significa bajar en 7 el costo actual,
por cada unidad asignada en (2,1). Entonces la variable X 21 = unidades, causa desequilibrio que se elimina
con la suma y resta de en celdas básicas, formando un circuito.
Figura 4-39. Cambio de base, inicia en celda (2, 1), equilibra en circuito, ejemplo TRANSNOBAL34.
= Mínimo {50, 100, 50} = 50, se sustituye el valor de en el circuito de la tabla:
225
Figura 4-40. Nueva solución al cambio de base con =50 en circuito, ejemplo TRANSNOBAL34.
La solución es degenerada: Z = 2(100) + 5(50) + 8(50) + 4(50) + 0(50) = 1050;
También: Z = Z anterior + (Z i j - C i j) = 1400 + (-7) 50 = 1050
Pasos 3 y 4.- Ahora es necesario asignar en celda (1, 4) para la degeneración, aunque también podría ser en
otra celda que logre el propósito de resolver el sistema:
Figura 4-41. Valores a variables duales, caso solución degenerada, ejemplo TRANSNOBAL34.
Paso 5.- Calcule los parámetros (Z i j - C i j) en celdas vacías (no básicas) para verificar la mejoría de la
solución actual:
Figura 4-42. Cálculo de parámetros Zij-Cij del ejemplo TRANSNOBAL34.
Paso 6.- La solución aún no es óptima, el parámetro negativo indica que X24 debe entrar a la base, pues por
cada unidad que se asigne en la celda no básica ficticia (2,4), se abatirá 4 unidades el costo de transporte. Con
el envío de unidades en tal celda se inicia el circuito de balanceo, mostrado en tabla con suma y resta de en
celdas básicas.
Figura 4-43. Cambio de base, inicia en celda (2, 4), equilibra en circuito, ejemplo TRANSNOBAL34.
= Mínimo ( 50, 50) = 50, valor sustituido en el circuito de la tabla anterior para tener la solución mostrada
enseguida:
226
Figura 4-44. Nueva solución al cambio de base con = 50 en circuito, ejemplo TRANSNOBAL34.
La nueva solución coincide a la obtenida con el método de Vogel en un valor para
Z = Z anterior + ( Z i j - C i j ) = 1050 + (-4)50 = 850
La última solución sigue degenerada con las variables básicas ya anotadas en la solución de Vogel, más la
variable X14 = , que para fines prácticos debe ser interpretada como X14 = 0. Ahora la aplicación del algoritmo
de transporte obliga a utilizar el artificio de asignar 1 y 2, para resolver las 7 variables duales.
Paso 3 y 4.- Matriz de costos y cálculo de variables duales:
Figura 4-45. Valor a variables duales, solución degenerada con doble , ejemplo TRANSNOBAL34.
Paso 5.- Verificar optimalidad con los parámetros Z i j - C i j en celdas vacías.
Figura 4-46. Verificación de optimalidad con los parámetros Zij-Cij del ejemplo TRANSNOBAL34.
Todos los parámetros en paso 5 resultan no negativos, esto significa que la última solución es óptima con un
valor coincidente a la de Vogel, o sea:
Z óptima = 850; Variables básicas aparentes: X12 = 100, X21 = X24 = 50, X32 = 100
Variables básicas no aparentes: X14 = 0, X34 = 0 (localizadas en celda de )
Variables no básicas: X11 = X12 = X22 = X23 = X31 = X32 = 0
Ejemplo 4-5. Aplica algoritmo de transporte al inventario en plan de producción (TRANSPLAN).
227
En el área de producción debe haber planeación para coordinar la capacidad del proceso de producción con la demanda
del producto final. Un ejemplo de esta necesidad ocurre en productos de temporada que frecuentemente deben
mantenerse en inventario, ocasionando costos de inversión, almacén y deterioro. Todos ellos se pueden expresar como
porcentaje de costos de producción o como costos unitarios por cada periodo en que se mantenga el inventario.
Esta situación se puede plantear como un problema de transportar la capacidad de producción a través del tiempo,
considerando las capacidades de producción por periodo de tiempo como si fueran ofertas, por otro lado los
requerimientos de cada periodo se convierten en demandas.
La siguiente tabla tiene la información de un producto temporal para tres meses del año. Anote que la capacidad de
300 y 100 unidades, trabajando tiempo normal y extra respectivamente, se mantiene constante, mientras que la
demanda aumenta a 600 unidades en navidad, la cual no se puede cumplir utilizando exclusivamente la capacidad de
producción de diciembre.
Figura 4-47. Información del producto temporal para 3 meses, ejemplo TRANSPLAN.
Aquí se hace necesario el uso de inventario que transporte la capacidad previa, hacia el futuro con objeto de satisfacer
la demanda de navidad.
Los costos unitarios de producción son 50 y 70 dólares en tiempo normal y extra, respectivamente; el costo unitario
del inventario es 5 dólares por mes. Los costos de producción y de inventario se combinan en la siguiente tabla de
transporte; por ejemplo, el costo para satisfacer parte de la demanda de diciembre utilizando producción en tiempo
normal del mes de noviembre es 50 + 5 = 55 por cada unidad. Anote que se asigna un costo M muy alto, a las celdas
que representan satisfacer la demanda con atraso o capacidad futura.
Paso 1.- Debido a que la oferta (capacidad), suma 1200 y la demanda, suma 1100, es necesario considerar una
demanda ficticia por la diferencia de 100 unidades, como se observa en la siguiente tabla de transporte.
Figura 4-48. Balance capacidad-demanda, costo de transporte al inventario para demanda futura de
temporada, ejemplo TRANSPLAN.
Paso 2.- Primera solución básica factible con método de Vogel, ejemplo TRANSPLAN.
228
Figura 4-49. Primera solución básica factible con método de Vogel, ejemplo TRANSPLAN.
La solución con el método de Vogel resulta en sólo 7 asignaciones, por lo cual se califica como degenerada, pues son
menos de: m + n - 1= 6+4-1= 9 celdas llenas.
Variables básicas: X11=200, X13=100, X23=100, X32=300, X43=100, X53=300, X64=100. En las celdas vacías hay dos
variables básicas confundidas con las variables no básicas, todas ellas con un valor cero.
Antes de probar esta solución para buscar la óptima, se calcula el costo de la producción que arroja el método Vogel:
Costo Vogel = 50(200)+60(100)+80(100)+50(300)+75(100)+50(300)+0(100)
Costo Vogel = 10,000 + 6,000 + 8,000 + 15,000 + 7,500 + 15,000 = 61,500
Ahora es necesario un artificio de asignaciones infinitamente pequeñas 1 y 2 en celdas adecuadas para calcular el
conjunto de diez variables (U i + V j) duales.
Paso 3. Valor a variables duales, solución degenerada con doble .
229
Figura 4-50. Valor a variables duales, solución degenerada con doble , ejemplo TRANSPLAN.
Paso 5.- Cálculo de los parámetros Z i j - C i j para valorar las celdas vacías:
Figura 4-51. Cálculo de parámetros Zij-Cij para celdas vacías, ejemplo TRANSPLAN.
Según los valores del paso 5, la variable X24 debe entrar a la base.
Paso 6.- Cambio de base, al formar circuito señalado con otro color en la siguiente tabla:
= mínimo (100, 100) = 100, se sustituye en la tabla de transporte.
Con el nuevo costo = costo anterior + (Z24 - C24) = 61,500 + 100 (-10) = 60,500
Figura 4-52. Cambio de base, inicia en celda (2,4), equilibra en circuito, ejemplo TRANSPLAN.
Se arregla la tabla y se valora la siguiente base con el algoritmo desde los pasos 3 y 4. Como la solución básica factible
actual continúa siendo degenerada con sólo 7 variables básicas que es menor a (m + n - 1) = (6 + 4 - 1) = 9 asignaciones,
se hace necesario utilizar nuevamente envíos infinitamente pequeños 1 y 2 en las celdas convenientes. Se conserva
2 en la celda (1, 2), pero se cambia 1 a la (4, 4), pues la colocación en el renglón 6 se eliminó en el cambio de base,
pero la columna 4 ficticia es la alternativa para buscar la variable básica nula.
230
Figura 4-53. Nueva solución al cambio de base con =100 en circuito, ejemplo TRANSPLAN.
Paso 5.- Cálculo de los parámetros Z i j - C i j en celdas vacías.
Figura 4-54. Cálculo de parámetros Zij-Cij para celdas vacías, ejemplo TRANSPLAN.
Paso 6.- No necesario pues en paso 5 no hay valores negativos, es óptimo.
El problema de planeación de la producción para surtir la demanda de temporada ya anotada, optimiza con las
siguientes variables básicas:
X11=200, así la capacidad normal de octubre satisface la demanda de octubre.
X13=100, significa guardar 100 unidades complemento de la capacidad normal de octubre (300), para satisfacer parte
de la demanda de diciembre.
X32=300, la capacidad normal de noviembre satisface la demanda de noviembre.
X43=100, guardar 100 de capacidad extra de noviembre, para satisfacer diciembre.
X53=300, la capacidad normal de diciembre, se destina al mismo mes.
231
X63=100, la capacidad extra de diciembre es para completar las 600 de diciembre.
X24=100, la capacidad extra de octubre no se usa, es para la demanda ficticia.
X12 = 2 = cero, X44 = 1 = cero, así deben interpretarse para fines prácticos como variables básicas nulas, que
completan la solución óptima degenerada, con sólo siete asignaciones de valor estrictamente positivo, vea Figura 4-
55:
Figura 4-55. Tabla óptima del problema de planeación en producción de ejemplo TRANSPLAN.
El costo de la producción y del inventario necesario para asegurar que la demanda del último trimestre sea satisfecha,
es de 60,500 dólares, calculado antes.
4.3.2. Problema de transbordo
Como una extensión necesaria del problema de transporte en el que sólo se consideran transportes directos entre dos
clases de nodos, origen y destino, se presenta ahora el problema de transbordo, en el cual se considera que las unidades
pueden fluir entre cualquier par de nodos en las combinaciones posibles siguientes: de nodo de suministro a otro que
también surte, de nodo demandante a otro que también demanda, desde un nodo de transbordo a otro con la misma
función, de un nodo de transbordo a un destino, e incluso de un origen a un destino. Se generaliza así la red de
distribución.
Definición: Dada una red de n nodos (i), de los cuales, algunos son orígenes con oferta de un cierto producto, algunos
otros son transbordos y destinos, que demandan el mismo producto. El objetivo es satisfacer tal demanda con la
capacidad F i j de ramas (i, j) de conexión, a expensas de la oferta de los orígenes, cumpliendo el objetivo de costo
mínimo.
Ejemplo 4-6. Red a transbordo, oferta = demanda sin capacidad (TRANSBOBAL).
232
Figura 4-56. Problema de transbordo balanceado, red ejemplo TRANSBOBAL.
Equilibrio: oferta = 250 + 150 = 400 = 70 + 60 + 180 + 90 = demanda
Modelo de programación lineal, red balanceada, no capacitada (TRANSBOBAL)
Primera parte del modelo, definición de variables:
Sea: X i j = Unidades enviadas del nodo (i) al nodo (j), a través de la rama (i, j).
C i j = Costo de enviar una sola unidad utilizando la rama (i, j)
Segunda parte del modelo, función objetivo:
Mínimo Z =70 X13 + 110 X15 + 90 X23 + 100 X 24 + 30 X 35 + 50 X36 + 40 X46
Cuarta parte: Condición de no negatividad para variables: Todas las X i j >= 0
Con las sumas de, oferta y demanda iguales, la suma de coeficientes en cada columna (i, j) y el lado derecho de
las restricciones, debe resultar cero.
Ejemplo 4-7. Red de transbordo con capacidades en ramas, sin balancear, pues oferta y demanda son
desiguales, (TRANSBONOBAL).
233
Figura 4-57. Red transbordo capacitada, no balanceada, ejemplo TRANSBONOBAL.
Programación lineal de una red, capacitada, no balanceada (TRANSBONOBAL)
Primera parte del modelo, definición de variables:
Sea: X i j = Unidades enviadas del nodo (i) al nodo (j), a través de la rama (i, j).
Segunda parte del modelo, función objetivo:
Mínimo Z = 70 X13 + 110 X 15 + 90 X 23 + 100 X 24 + 30 X 35 + 50 X 36 + 40 X46
Tercera parte del modelo:
Cuarta parte: Condición de no negatividad para las variables: Toda X i j >= 0.
Observaciones al problema de transbordo
234
El problema de transbordo es importante porque su manejo conceptual es suficiente para entender otros problemas de
flujo en redes tales como el problema simple de transporte, ruta mínima y el problema de flujo máximo. El modelo
matemático de programación lineal resulta con una estructura muy ordenada, particular para todos los problemas que
se puedan modelar mediante un gráfico de red, de esta manera las observaciones siguientes son características:
1. Todo problema de transporte que se modela mediante un gráfico de red, puede a su vez modelarse
matemáticamente con programación lineal.
2. El modelo de programación lineal correspondiente a una red de transbordo, debe definir una variable X i j para
cada rama (i, j) de la misma y por lo tanto, la función objetivo de costo, debe contener tantos términos como
ramas se tengan.
3. El modelo de programación lineal debe tener, además, restricciones de capacidad por cada rama de la red;
también debido a la importante propiedad de conservación de flujo para las redes de transporte, deben
plantearse tantas restricciones, como nodos deban cumplir dicha propiedad.
4. La estructura matemática de la programación lineal correspondiente a una red de transporte resulta muy
especial, de tal manera que las restricciones de conservación de flujo, ordenadas matricialmente, resultan
en columnas ( i , j ), las cuales contienen un coeficiente (+1) y un (-1) verificando la suma cero para cada
una de ellas; e inclusive, para la columna de los términos independientes a la derecha de las restricciones,
también se verifica suma cero, siempre y cuando se trate de un problema balanceado con respecto a oferta y
demanda.
5. La solución óptima del problema de transbordo debe resultar de valor entero, siempre y cuando las constantes
del modelo sean enteros.
6. Si un problema se puede modelar, primeramente con un gráfico de red, entonces se tiene la posibilidad de
resolverlo mediante uno de los varios algoritmos específicos para redes que resultan altamente eficientes
(inclusive más que el algoritmo simplex), gracias a la estructura especialmente sencilla de la programación
lineal. Aprovechando tal circunstancia se ha logrado resolver problemas muy grandes conteniendo miles de
variables y restricciones.
7. El problema de transbordo se puede resolver con el conocido algoritmo simplex, utilizando alguno de los
programas de cómputo comercial de programación lineal con la que se formule el problema; también se puede
intentar la optimización del mismo utilizando el Algoritmo de Transporte, que es un simplex simplificado,
haciendo la conversión a la tabla usual, utilizando artificios de existencia de unidades en todos los nodos. Otro
método es construir la red de distribución y determinar el costo mínimo desde los nodos de suministro hasta
los otros nodos y considerar tales costos como unitarios en las respectivas celdas de la tabla de transporte.
Conversión de un problema de transbordo para resolver con algoritmo simplex simplificado del problema de
transporte.
Considere la red de transbordo no balanceada entre oferta y demanda del ejemplo TRANSBONOBAL para resolver
con el algoritmo simplex de transporte ya visto.
Primero es necesario hacer la siguiente conversión a la tabla usual de transporte y luego se procede con la aplicación
del algoritmo.
235
Figura 4-58. Tabla de conversión a problema de transporte del ejemplo TRANSBONOBAL.
M = coeficiente de costo muy grande en las celdas de rutas no válidas.
oferta = 250 + 170 = 420 > 400 = 70 + 60 + 180 + 90 = demanda
oferta - demanda = 420 - 400 = 20 = demanda # 7 (ficticia).
Para la conversión de un problema de transbordo a uno de transporte, se considera que cada uno de los nodos
de transbordo 3 y 4, pueden recibir y enviar la totalidad de la oferta, procediendo de la siguiente manera:
Máximo { oferta = 420, demanda = 400} = 420
Las 420 unidades son lo máximo que puede pasar por un nodo de transbordo del problema ejemplo y se considera
como la cantidad que amortigua la demanda en competencia.
4.3.3. Modelo de asignación pura.
Considere un caso especial del problema de transporte en que se cumple: m = n; es decir, el número de orígenes
es igual a los destinos; además = b j =1.
El modelo así definido es asignación pura, se refiere a la acción de asignar uno a uno; esto es, en forma biunívoca. Se
entiende asignar n candidatos a n acciones requeridas, conociendo la medida de desempeño, que puede ser costo,
beneficio o rendimiento. El problema consiste en asignar de forma idónea para conseguir el mejor resultado general.
Por ejemplo, la asignación de personas a operar máquinas, para las cuales se tiene la información de la capacidad
individual al trabajar con ellas, se acepta como asignación pura de operarios a máquinas. Otro ejemplo, se refiere a la
asignación de competidores para desempeñarse en la competencia de algún evento deportivo, desde luego, con
diferente eficiencia individual; aquí también se asigna un competidor para ocupar cada relevo de la carrera o cada
posición en un juego colectivo.
C i j = costo o valor del desempeño individual de i en la acción j.
Sujeta a las restricciones:
236
X i j = 1; desde i = 1 hasta i = n; de j = 1 hasta j= n.
Figura 4-59. Matriz de asignación pura.
MÉTODO HÚNGARO para la asignación.
La más conocida técnica de solución para el problema de asignación pura es el método húngaro, desarrollado a partir
del teorema que demostró el matemático húngaro König en 1916. Este método utiliza la propiedad de reducción de
matrices para reducir la matriz original de costo, hasta que los costos C i j asociados con la asignación óptima,
sean cero y todos los otros costos sean no negativos.
En cada iteración del método húngaro, se reduce la matriz de tal manera que haya al menos un cero en cada renglón
y columna, comprobando con el teorema de König si se ha alcanzado la solución óptima. Si el número mínimo de
renglones y/o columnas necesarios para cubrir todos los ceros es n, entonces existe una asignación óptima (no
necesariamente única).
Ejemplo 4-8. Método Húngaro en la asignación (ASIGNA1).
La siguiente matriz contiene los costos para operar n=4 máquinas, por n=4 personas así calificadas en su empresa.
Optimice la asignación idónea.
Figura 4-60. Matriz de costos en ejemplo ASIGNA1.
Paso 1 .Seleccione en cada renglón i de la matriz, el menor costo C i j, (menor C i j = U i), luego réstelo en cada
elemento del renglón.
Figura 4-61. Paso 1 Método Húngaro, ejemplo ASIGNA1.
237
Paso 2. Seleccione en cada columna j de la matriz resultante en el paso 1, el costo menor C i j, (menor Cij=Vj) y
réstelo en cada elemento de la misma columna.
Figura 4-62. Paso 2 Método Húngaro, ejemplo ASIGNA1.
Paso 3.Sombree los renglones y/o columnas de la matriz, de tal modo que sean los mínimos necesarias para cubrir
todos los ceros.
Figura 4-63. Paso 3 Mínimo sombreado de renglones y/o columnas cubriendo todos los ceros en ejemplo
ASIGNA1.
Paso 4. Seleccione entre los costos no sombreados, el número menor C i j, (= U i j) o bien, el menor C i j, (= V i j),
y réstelo a todos los costos no sombreados; después, sume el mismo a los costos ubicados en la intersección de los
renglones y columnas sombreados. Este paso se repite hasta lograr la solución óptima.
Figura 4-64. Paso 4 Método Húngaro, (mínimo Cij no sombreado) en ejemplo ASIGNA1.
Se tiene la solución óptima cuando el mínimo necesario de renglones y columnas sombreadas para cubrir los ceros es
n. En este problema el mínimo es n =4.
Figura 4-65. Paso 4 Método Húngaro, renglones y/o columnas sombreados necesarios para cubrir los ceros n
= 4, ejemplo ASIGNA1.
238
Entonces la asignación óptima es la que muestra la tabla siguiente:
Figura 4-66. Asignación óptima en ejemplo ASIGNA1.
Solución óptima: X11 = 1, X23 = 1, X32 = 1, X44 = 1
Z = C11 X11 + C23 X23 + C32 X32 + C44 X44 = 1(1) + 10(1) + 5(1) + 5(1) = 21
En la solución óptima, la suma de las costos Ui restados de renglones i en paso 1, más las costos V j restados de
columnas j en paso 2, más el costo U i j o V i j, restado y / o sumado, en paso 4, proporciona el correspondiente valor
óptimo. Así el costo es:
Z óptimo = U i + V j + U i j + V i j, para toda i, para toda j.
U i = U1 + U2 + U3 + U4 + U32 = 1 + 7 + 4 + 5 + 1 = 18
V j = V1 + V2 + V3 + V4 = 0 + 0 + 3 + 0 = 3
U i + V j = 18 + 3 = 21
Ejemplo 4-9. Método Húngaro en la asignación (ASIGNA2).
La siguiente matriz muestra costos C i j de n = 5 candidatos i (i = 1,2,...,5) así calificados, en el desempeño de n = 5
actividades j (j = 1,2,..,5). Con el método húngaro calcule la asignación óptima.
Figura 4-67. Matriz de costos en ejemplo ASIGNA2.
Paso 1. Reste el menor (U i) de los costos C i j en cada renglón:
239
Figura 4-68. Paso 1 Método Húngaro en ejemplo ASIGNA2.
Paso 2.- Reste el menor (V j) de los costos C i j en cada columna:
Figura 4-69. Paso 2 Método Húngaro en ejemplo ASIGNA2.
Paso 3.-Sombree los renglones y columnas de la matriz, de tal modo que sean los mínimos necesarios para cubrir
todos los ceros. La asignación es óptima con n = 5 renglones y/o columnas. De lo contrario se continúa el método con
el paso 4.
Paso 4.- Selecciones entre los costos no sombreados, el número menor C ij, (= Uij) o bien, el menor Cij, (= Vij),
y réstelo a todos los costos sin sombrear; después, sume el mismo a los costos ubicados en la intersección de los
renglones y columnas sombreados. Repita este paso hasta conseguir n = 5 (renglones y/o columnas sombreados), la
solución óptima.
Figura 4-70. Paso 4 Método Húngaro en ejemplo ASIGNA2.
En la asignación de la tabla anterior solo se sombrean 3 renglones y una columna con ceros, pero se necesitan 5,
entonces se repite el paso 4 hasta conseguirlo.
Figura 4-71. Paso 4 Método Húngaro. Renglones y columnas sombreados n = 4, ejemplo ASIGNA2.
240
Figura 4-72. Paso 4 Método Húngaro. Se logra sombrear n = 5 renglones y columnas, ejemplo ASIGNA2.
La última asignación resulta con los 5 renglones y columnas sombreadas cubriendo los ceros de la tabla.
Aquí se detiene el proceso y se interpreta la asignación óptima localizando, al menos un cero en cada renglón y
en cada columna. Estos ceros indican el costo idóneo asignado a la persona i en el desempeño de la actividad j, como
se muestra en la siguiente matriz.
Figura 4-73. Asignación óptima en ejemplo ASIGNA2.
Asignación óptima: X15 = 1, X23 = 1, X32 = 1, X44 = 1, X51 = 1
Z óptima = C15X15 + C23X23 + C32X32 + C44X44 + C51X51
Z óptima = 3(1) + 2(1) + 4(1) + 3(1) + 9(1) = 21
Z óptimo = U i + V j + U i j + V i j = 3+2+2+2+6+0+2+0+1+0+2+1 = 21
Ejemplo 4-10. Método Húngaro en la asignación (ASIGNA3).
La siguiente matriz muestra costos C i j de n = 4 candidatos i (i = 1, 2,..., 4) así calificados, en el desempeño de n=4
actividades j (j = 1, 2,.., 4). Con el método húngaro calcule la asignación óptima.
241
Figura 4-74. Tablas del ejemplo ASIGNA3.
Asignación óptima: X14 = 1, X22 = 1, X33 = 1, X41 = 1
Z óptima = C14 X14 + C22 X22 + C33 X33 + C41 X41
Z óptima = 6(1)+1(1)+2(1)+1(1) = 10; otra asignación óptima del problema es:
242
Figura 4-75. Asignación óptima en ejemplo ASIGNA3.
Asignación óptima: X13 = 1, X22 = 1, X34 = 1, X41 = 1
Z óptima = C14 X14 + C22 X22 + C33 X33 + C41 X41 = 7(1) +1(1) +1(1) +1(1) = 10
En ambas cumple: Z óptimo= Ui + Vj + Uij + Vij = 5+1+1+1+0+0+1+0+1 = 10
4.4. Redes de flujo
Los problemas relacionados con la comunicación de diferentes lugares, en donde existe la necesidad de enviar y /o
recibir unidades (bienes, servicios, gente, información), se pueden analizar como modelos de red con flujo de tales
unidades.
La estructura matemática del modelo obtenido a partir de una red de flujo, es muy especial y ha facilitado el desarrollo
de algoritmos de solución, específicos de esos problemas. La aplicación de dichos algoritmos de redes de flujo, es la
oportunidad para comprobar su gran eficiencia en cuanto a labor de cálculo, comparados con el simplex que así se
reconoce, eficiente y, además versátil. Ahora se presenta la aplicación de redes de flujo y algoritmos a problemas
importantes en el transporte de unidades.
4.4.1. Problema de ruta mínima
Definición: Dada una red de n nodos (i) conectadas por ramas (i, j), asociadas a un costo C i j; el objetivo es
determinar n-1 rutas mínimas, desde un nodo (i) fijado como origen, hasta los restantes n-1 nodos
4.4.1.1. Algoritmo Dijkstra de etiquetas, ruta mínima en red no orientada
El algoritmo de Dijkstra para ruta mínima utiliza la etiqueta general: (# Identificación del nodo precedente,
acumulación del costo) que se coloca en cada uno de los nodos de la red, ya sea con carácter permanente P o bien
temporal t. Los pasos del algoritmo son los siguientes:
1. El nodo origen siempre se etiqueta con: ( -, 0 ) P
2. A partir del último nodo con etiqueta permanente, se etiquetan temporalmente (t) todos los nodos sin etiqueta
permanente, conectados directamente al mismo.
3. Se inicia la revisión de las etiquetas temporales (t), en los nodos que tengan dos etiquetas eliminando la de
costo mayor, a continuación se comparan las temporales que aún quedan, con el criterio de costo menor se
elige una para permanencia. En caso de empate se hacen permanentes las que estén en esa condición.
4. Se repite el procedimiento desde el paso 2, mientras existan nodos t para hacerlos P y se termina ordenando
en tabla, las n-1 rutas mínimas encontradas.
Ejemplo 4-11. Ruta mínima, aplica algoritmo de Dijkstra (RUMINOD1).
243
La siguiente red (Figura 4-76) es no orientada, con un total de ocho nodos de los cuales se fija como origen al nodo
#8. Determine las rutas mínimas desde el origen hasta los 8 - 1 = 7 nodos restantes, utilizando el algoritmo de Dijkstra.
Figura 4-76. Red no orientada del ejemplo RUMINOD1.
Se inicia la aplicación del algoritmo en el paso 1 colocando en nodo origen #8 la etiqueta ( -, 0 )P, el cual tiene como
nodos directos a #5, #6 y #7; se procede en el paso 2 al etiquetado temporal con: # 5, ( 8, 0 + 14 = 14 )t; # 6, ( 8, 0+7
= 7 ) t; # 7, ( 8, 0 + 8 = 8 ) t; los otros nodos ( 1, 2, 3, 4 ) aún no se etiquetan. Sólo los nodos # 5, # 6 y # 7, tienen
etiqueta temporal, en revisión de paso 3 resulta: mínimo costo respectivo (14, 7, 8) = 7 C 86 = 7, lo que significa
que la etiqueta de nodo # 6 pasa a permanente escribiendo así: # 6, (8, 7) P
Se repite desde paso 2, partiendo de nodo # 6 (recién anotado P) que tiene como nodos directos a # 2, 3, 4, 5, 7
resultando las temporales t siguientes: #2,(6, 7+15=22); #3,(6, 7+8=15); #4,(6, 7+13=20); #5,(6, 7+6=13); #7,(6,7+9
=16). En nodos: #5 y 7, se elimina (8,14)t y (6,16)t, pues tienen dos etiquetas. En paso 3 se revisa: mínimo costo en
temporal (22, 15, 20, 13, 8) = 8 C 87 = 8, significa que la etiqueta del nodo #7 debe pasar a permanente, anotando
así: #7 (8, 8) P.
Hasta ahora, los nodos #8, #6 y #7 tienen etiqueta permanente, los nodos restantes (excepto el #1) tienen etiqueta t
temporal. Se inicia una nueva iteración del algoritmo de Dijkstra desde el paso 2, partiendo del nodo #7, último en
pasar a permanencia, el cual tiene como único nodo directo el #4 (pues los nodos #6 y 8 ya tienen permanencia),
procediendo con su etiqueta temporal #4, ( 7, 8+11=19 ) t. En primera revisión de paso3, resulta eliminada la etiqueta
temporal #4, (6, 20) t. La siguiente revisión resulta: mínimo costo (22, 15, 19, 13) = 13 C 6 5 = 6, significa, la
etiqueta de nodo #5 pasa a permanente señalando así: # 5 (6, 13) P.
Para continuar conviene anotar que los nodos # 8, 6, 7, 5, tienen permanencia, los nodos # 2, 3, 4, tienen temporal, el
nodo # 1 aún no se etiqueta. Partiendo del nodo # 5 se observa que su único nodo directo para etiqueta temporal es el
# 2, ya que en los nodos # 6 y # 8, hay permanencia, entonces # 2, ( 5, 13 + 5 =18 ) t; Aquí mismo se elimina la
temporal # 2 ( 6, 22 ) t; se procede a la revisión comparando temporales: mínimo costo ( 18, 15, 19 ) = 15 C 6 3 =
8, significa que la etiqueta en nodo #3 pase a permanente anotando: # 3 ( 6, 15 ) P.
Ahora los nodos # 8, 6, 7, 5, y 3, tienen permanencia; los nodos # 2 y # 4, tienen temporal; el # 1 aún no se etiqueta.
El nodo # 3, tiene directos a #1, #2, # 4 y quedan con t: # 1,(3, 15+7=22 ) t; # 2,( 3, 15+10=25) t; # 4(3, 15+4=19) t;
toca eliminar la temporal duplicada # 2 ( 3, 25 ) t; con respecto al nodo # 4, se tienen dos etiquetas pero empatadas
en el costo, por lo cual no hay eliminación y se conservan; se procede a la revisión de las temporales resultando como
sigue: mínimo costo ( 22, 18, 19, 19 ) = 18 C 52 = 5, significa que la etiqueta del nodo # 2 debe hacerse permanente
así: # 2 ( 5, 18 ) P.
244
Se anota ahora que los nodos # 8, 6, 7, 5, 3, 2, ya tienen etiqueta permanente; los nodos # 1 y # 4, tienen temporal.
Repitiendo con el paso 2, se etiqueta con temporal el nodo # 1, (2, 18+12=30) t, pues los nodos # 3, 5 y 6, también
directos del # 2, ya tienen permanencia; esta última temporal se elimina por duplicidad en el nodo # 1 y se procede a
la comparación:
Mínimo costo (24, 19,19)=19 C 7 4 = 11 y C 3 4 = 4, lo cual significa que la situación de empate resulta en dos
rutas alternativas para llegar al nodo # 4 señalando con doble etiqueta permanente así: # 4 (3, 19) P y (7, 19) P.
Con excepción del nodo # 1, todos los nodos tienen carácter permanente, se procede a etiquetar temporalmente al
nodo # 1, ( 4, 19 + 5 = 24 ) t; pero se elimina la misma etiqueta temporal #1(4,24)t por duplicidad y costo alto,
quedando sola la etiqueta que se convierte a permanente en el nodo # 1: ( 3, 22 ) P.
Se termina el algoritmo de Dijkstra cuando todos los nodos tienen etiqueta permanente. La solución del problema de
ruta mínima para una red no orientada se puede completar resumiendo en forma tabular, las n-1 rutas determinadas.
También deben señalarse las ramas resultantes de la aplicación del algoritmo en la misma red, tal como se muestra a
continuación en el ejemplo Ruminod1 red no orientada de ruta mínima mostrando las etiquetas permanentes y
temporales, resultado de la aplicación del algoritmo de Dijkstra. Las ramas en línea gruesa señalan la ruta mínima
del origen #8 hacia cada nodo.
Figura 4-77. Red ejemplo RUMINOD1, muestra solución del algoritmo de Dijkstra
Figura 4-78. Rutas mínimas obtenidas con algoritmo de Dijkstra al ejemplo RUMINOD1.
Como ejercicio para el estudiante, considere la red ejemplo Ruminod1 con los mismos costos C i j asociados a las
ramas. Pero en este caso se considera al nodo #6, como origen, lo cual produce un problema diferente, que podrá
comprobar con sus resultados y los anotados en la red correspondiente.
Ejemplo 4-12. Ruta mínima, aplica algoritmo de Dijkstra (RUMINOD2).
245
Red no orientada de 8 nodos, determine la ruta mínima del nodo origen # 6 hasta los restantes n - 1 = 8-1 = 7
nodos.
Figura 4-79. Ejemplo RUMINOD2, se muestra solución con rutas de Dijkstra.
Figura 4-80. Tabla solución con rutas de Dijkstra, ejemplo RUMINOD2.
4.4.1.2. Algoritmo de Dijkstra para ruta mínima en red orientada acíclica
Condiciones: Se aplica en una red estrictamente orientada, entendiendo que cada una de sus ramas es
unidireccional y ningún conjunto, de ramas incluidas, forma ciclo. También se utiliza una etiqueta que puede ser de
carácter temporal, o bien permanente, para cada uno de los nodos graficados. Algo para anotar es que, una red, con
todas sus ramas unidireccionales, ya tiene definido el nodo origen. Los pasos a seguir del algoritmo de Dijkstra son:
1. El nodo origen siempre se etiqueta permanente así: (-, 0) P
2. Enseguida debe etiquetarse permanente aquel nodo que tenga como único inverso al origen: ( # del origen,
costo cero + costo desde el origen ) P 3. A partir de los nodos con permanencia deben etiquetarse en forma temporal, los que sean nodos vecinos
directos conectados a los mismos. Luego se revisan las temporales, con el propósito de eliminar la etiqueta
duplicada y mantener una sola (la que tenga el menor costo), para cada nodo directo.
4. Convertir a permanente, aquel nodo que tenga todos sus nodos vecinos inversos con etiqueta permanente.
En caso de empate en menor costo, se deben considerar todas las etiquetas que cumplan tal condición.
5. Se repite el procedimiento desde el paso 3, hasta que todos los nodos tengan etiqueta permanente.
6. Las rutas mínimas para cada uno de los nodos, se definen con la identificación del nodo inmediato anterior de
la ruta en el lado izquierdo de la etiqueta permanente, retrocediendo hacia el origen conforme a lo indicado.
El proceso se completa señalando las n-1 rutas calculadas, tanto en la red como en una tabla.
Ejemplo 4-13. Ruta mínima en red orientada acíclica (RUMINDO1).
246
En la siguiente red orientada acíclica de 7 nodos (Figura 4-81), determinar las rutas mínimas desde el origen O
hacia los restantes nodos, utilizando el algoritmo de Dijkstra.
Aplicación del algoritmo de Dijkstra al ejemplo Rumindo1.- Primero se verifica que la red estudiada no presenta
ciclos (por favor revise sección de definiciones). Se inicia con el paso 1 en el origen O etiquetando permanente así: (-
, 0 ) P
En el paso 2 del algoritmo para red orientada, debe buscarse el nodo que tiene como único inverso al origen O; se
observa que el nodo A cumple tal requisito y se etiqueta con permanente: A (O, 0+13 = 13); anotando: A, (O, 13)
P COA = 13
El paso 3 se refiere a etiquetado temporal de todos los vecinos directos de los nodos con permanencia; en este ejemplo
son el O y el A; empezando por O se tienen tres nodos conectados vecinos directos, uno de ellos es A, pero ya tiene
permanencia, entonces se anotan: B ( O, 0+9 = 9 ) t; C ( O, 0+7 = 7 ) t; por parte del nodo A, se anotan las etiquetas
temporales a sus vecinos directos como sigue: B ( A, 13+4=17 ) t; R ( A, 13+10=23 ) t. En la revisión de duplicidad
se elimina la temporal B, (A, 17) t y se conserva, con menor costo, la etiqueta B, (O, 9) t.
En el paso 4 se procede a revisar, cuáles nodos con etiqueta temporal, ya tienen a todos sus nodos inversos con
permanencia. Entonces la inspección es para las etiquetas siguientes: R (A, 23) t; B, (O, 9) t; C, (O, 7) t. Los nodos
R y C, aún no cumplen el requisito porque ambos tienen como inverso al nodo B que es temporal; en cambio el nodo
temporal B si cumple, porque sus inversos O y A ya tienen permanencia; entonces se anota en B: ( O, 9 ) P COB =
9
Para continuar debe anotarse que los nodos O, A, B, tienen permanencia, mientras C y R son temporales; los nodos S
y T aún no se etiquetan. Se regresa al paso 3 para etiquetar con temporal los nodos vecinos directos de B como sigue:
C ( B, 9+5 = 14 ) t ; S ( B, 9+3 = 12 ) t ; R ( B, 9+6 = 15 ) t; en la revisión por duplicidad se eliminan las temporales:
C ( B, 14 ) t; R ( B, 15 ) t. En el paso 4 se revisan los nodos con relación a sus inversos; el nodo S no cumple porque
su inverso C es temporal; el nodo R tampoco cumple porque su inverso S aún es temporal; en cambio el nodo C (sus
inversos O y B ya tienen permanencia) si cumple y por lo tanto su etiqueta pasa a permanente: C (O, 7) P COC = 7
Ahora observe que los nodos O, A, B, C, ya tienen permanencia; mientras R y S tienen temporal; el nodo T aún no se
etiqueta. Otra vez en el paso 3, se etiqueta con temporal el nodo S que es vecino directo del nodo C de reciente
permanencia: S, (C, 7+2 = 9) t; en este mismo nodo, por duplicidad se elimina la temporal S, (B, 12) t y se conserva
S, (C, 9) t. El paso 4 empieza con la revisión de nodos inversos de las etiquetas temporales de R y S. El nodo R no
puede pasar a permanencia, porque su inverso S es temporal; pero el nodo S si puede, porque sus inversos B y C
tienen permanencia. Así se convierte: S, (C, 9) P CCS = 2
Anote que los nodos O, A, B, C, S, tienen permanencia; el nodo R es temporal; el nodo T no está etiquetado. Por lo
tanto se aplica el paso 3 etiquetando los nodos vecinos directos R y T, del nodo S de reciente permanencia con las
temporales que siguen: R (S, 9+4=13) t; T (S, 9+11 = 20) t; se procede a la eliminación por duplicidad de la etiqueta:
R, (B, 15) t, conservando la temporal R, (S, 13) t con menor costo. Para cumplir el paso 4 del algoritmo, se revisan
los nodos inversos de R y T, observando que el nodo T no puede pasar a permanencia porque su inverso R es temporal;
pero el nodo R con sus inversos A, B y S, todos ellos con permanencia, si cumple para convertir a permanente: R, (
S, 13 ) P CSR = 4
Finalmente, solo queda el nodo T como temporal con la etiqueta T(S,20) t, a la cual se agrega T, (R, 13+8=21) t por
ser nodo vecino directo de R, recién hecho permanente; termina el paso 3 eliminando por duplicidad esta última T(
247
R, 21) t, y conservando la etiqueta temporal con menor costo, T ( S, 20 ) t, la cual en el paso 4 se verifica que tiene
sus inversos R y S con permanencia convirtiéndose así en: T ( S, 20 ) P CST = 11
Termina la aplicación del algoritmo de Dijkstra cuando todos sus nodos tienen permanencia; se completa el
proceso señalando etiquetas y rutas mínimas como resultado de aplicar el algoritmo de Dijkstra.
Figura 4-81. Ejemplo RUMINDO1, se muestra solución con rutas de Dijkstra
Figura 4-82. Tabla solución con rutas de Dijkstra, ejemplo RUMINDO1.
Modelo de programación lineal en red ejemplo Rumindo1, de ruta mínima
Primera parte.- Definir variables:
Segunda parte.- Función objetivo
Mínimo Z = 13XOA + 9XOB + 7XOC + 4XAB + 10XAR + 5XBC + 6XBR + 3XBS + 2XCS + 8XRT + 4XSR + 11XST
Tercera parte.- Sujeta a restricciones de conservación de flujo:
248
Figura 4-83. Restricciones de conservación de flujo, ejemplo RUMINDO1.
Ejemplo 4-14. Ruta mínima en red orientada acíclica (RUMINDO2).
Red orientada acíclica, para que el lector verifique su aprendizaje del algoritmo de Dijkstra, y compare etiquetas y
rutas.
Figura 4-84. Red ejemplo RUMINDO2, se muestra solución con rutas de Dijkstra
Figura 4-85. Tabla solución con rutas de Dijkstra, ejemplo RUMINDO2.
Modelo de programación lineal para red ejemplo Rumindo2 de ruta mínima
Primera parte.- Definir variables:
Segunda parte.- Función económica de mínimo costo
249
Min Z=9X12+7X13+8X14+6X23+4X26+4X34+3X35+5X36+5X45+7X56+8X57+11X67
Tercera parte.-Sujeta a las siguientes restricciones de conservación de flujo:
Figura 4-86. Restricciones de conservación de flujo, ejemplo RUMINDO2.
4.4.1.3. Modelo general de programación lineal del problema ruta mínima
Considere una unidad, entra por el origen, fluye en red y sale en un destino elegido.
C i j = costo de la rama (i, j)
4.4.1.4. Algoritmo matricial de ruta mínima para red no orientada
La red siguiente es un ejemplo con toda la variedad posible en la representación de las ramas, pues el lector puede
comparar este gráfico y lo que se definió en el inicio del capítulo. Si ya lo pensó tiene razón, pues es suficiente una
sola rama bidireccional o no orientada, para que toda la red se considere así. Por otro lado, para que un nodo funcione
como transbordo, es necesario que tenga conexión para llegada y salida de unidades, con ramas de una o dos
direcciones, esto significa que puede fijarse como origen si así se desea. En el Ejemplo 4-15 de la Figura 4-87, todos
los nodos son transbordos, pero se fija el nodo H como origen para calcular con el algoritmo matricial, las rutas
mínimas a los otros nodos.
Ejemplo 4-15. Ruta mínima, aplica algoritmo matricial (RUMIMAT1).
En la red no orientada RUMIMAT1, calcule las rutas mínimas con algoritmo matricial, el nodo H es origen.
250
Figura 4-87. Red no orientada, obtener rutas mínimas con algoritmo matricial, ejemplo RUMIMAT1.
Sea:
V j = Costo acumulado hasta el nodo j
U i = Costo de inicio desde el nodo i
C i j = Costo unitario de transporte en la rama (i, j)
V j = U i + C i j = costo de inicio desde i + costo de transporte de (i, j)
Por definición: U i = V j = 0, en el nodo que se fija como origen, entonces: UH = VH =0
Paso 1.- Condiciones iniciales. Se calcula arbitrariamente con: V j = U i + C i j ya anotada, para calcular el costo
V j acumulado hasta el nodo j, se establecen valores de inicio, los que se determinan en forma arbitraria eligiendo los
nodos j (lugares) hacia donde se desee dirigir, a condición de empezar con un valor U i conocido porque ya se
etiquetó. Por ello se define el valor de cero en el origen (UH = VH = cero en la red ejemplo Rumimat1) con opción
de elegir transporte hacia j = C, F, R, T:
V T = UH + CHT = 0 + 12 = 12 = UT ; ahora se conocen los costos en H y T,
(UH=0, UT=12) pudiendo elegir dirección hacia cualquier nodo j entre A, C, F, R:
VA= UT + CTA = 12 + 17 = 29 = UA
VS = UA + CAS = 29 + 7 = 36 = US
251
VR = min (UH + CHR , UT + CTR , US + CSR)= min (0+14,12+8, 36+10)= 14 = UR
para i = H, R, S (anote que son 3 opciones de nodo i para llegar al nodo R)
VC = min (UH + CHC , UT + CTC , UR + CRC)= min ( 0+15, 12+22, 14+9)= 15 = UC
para i = H, T, R (hay 3 opciones de costo conocido U i para llegar a j = C)
VF = min (UH + CHF , UC + CCF ) = min ( 0 + 4 , 15 + 9 ) = 4 = UF
para i = H, C
VB= min (UF + CFB , UA + CAB, UR + CRB ) = min ( 4+17, 29+10,14+12) = 21= UB
para i = F, A, R
Se termina el cálculo cuando todos los nodos del ejemplo Rumimat1, tienen etiqueta V j = U i, arreglando los costos
en forma matricial como sigue:
Paso 1.- Condiciones iniciales del algoritmo matricial de ruta mínima aplicado a la red ejemplo RUMIMAT1.
Figura 4-88. Condiciones iniciales del algoritmo matricial de ruta mínima aplicado a la red ejemplo
RUMIMAT1. Muestra costos Cij, Ui, Vj.
Anote el uso del símbolo (infinito) en la tabla matricial para representar un costo que significa la imposibilidad
de transporte en la dirección indicada.
252
Por otro lado, el establecimiento arbitrario y sin refinamiento de las condiciones iniciales del paso 1, se supera con
la metodología matricial del paso 2 en la búsqueda de la optimalidad. Las circunstancias de una red compleja, de
abundantes nodos y ramas, puede causar que la recopilación de la información se cumpla muy distante del objetivo,
pero el orden del algoritmo y la computadora, son elementos importantes de salvación para optimizar.
Paso 2.- Búsqueda de optimalidad del algoritmo matricial, en la red ejemplo Rumimat1.
¿Se verifica el cumplimiento V j -- U i <= C i j?
Figura 4-89. Búsqueda de optimalidad del algoritmo matricial, en la red ejemplo RUMIMAT1.
Los costos acumulados V j hasta el nodo j, deben corregirse en el paso 2 de optimalidad, cuando no se cumple
que V j - U i <= C i j. El proceso de optimización del ejemplo, resultó en la necesidad de calcular los nuevos V'j
aquí mostrados:
V 'A = UC+CCA =15+13 =28; V ' A =UC+CCA =12+13 =25; V ' A =UR+CRA =14+7= 21
V 'C = UF + CFC = 4 + 8 = 12
V 'S = UA + CAS = 25+7 = 32 ; V 'S = UA+CAS = 21+7 = 28
En la siguiente matriz se muestra a la derecha, la columna del paso 2 con los cálculos de corrección necesarios para
el cumplimiento de optimalidad y las contestaciones correspondientes (si o no) en cada renglón conforme se realiza
el proceso de aplicación del algoritmo en la red ejemplo RUMIMAT1. También se anotan los valores V j - U i
obtenidos durante el paso 2.
Paso 2.- Búsqueda de optimalidad en algoritmo matricial a la red ejemplo Rumimat1. Cálculo de los nuevos
costos acumulados V'j
253
Figura 4-90. Búsqueda de optimalidad en algoritmo matricial a la red ejemplo RUMIMAT1. Cálculo de los
nuevos costos acumulados V'j.
Paso 3.- Definición de las rutas mínimas de la red: Con la fórmula V j -- C i j = U i Vj - U i = C i j aplicada a
cada nodo i para definir su ruta. La definición de las rutas mínimas se hace en la matriz, situándose en la columna
correspondiente al nodo de interés a determinar, aplicando V j - C i j = U i. Para el ejemplo propuesto, la ruta del nodo
T es: VT - U i = C iT = 12 - 0 = 12 = CHT.Se verifica para el nodo origen H, esto significa que la ruta para T es
HT, vea la red. La ruta para el nodo S se sitúa en esa columna: VS - Ui = CiS = 28 - 7= 21= CAS, significa que para
llegar al nodo S, debe hacerse desde el nodo escala A
Ahora se sitúa en la columna A: VA - Ui = CiA = 21-7 = 14 = CRA, significa que para llegar al nodo A, debe hacerse
desde el nodo escala R. Ahora se sitúa en la columna del nodo R: VR - U i = CiR = 14 - 0 = 14 = CHR, significa que
para llegar al nodo R, debe hacerse desde el nodo origen H. Así se completa la ruta mínima hacia el nodo S, la cual
es señalada con línea gruesa en las ramas de la red: Ruta H R A S = 28.
De esta manera se determinan todas las rutas mínimas, así como las etiquetas de costo V j = U i mostradas en la
siguiente red:
254
Figura 4-91. Rutas mínimas y costos para la red no orientada del ejemplo RUMIMAT1.
Ejemplo 4-16. Ruta mínima, aplica algoritmo matricial (RUMIMAT2).
En la red no orientada de 7 nodos de la Figura 4-92, determine las rutas mínimas desde el nodo origen #5, con
algoritmo matricial.
Figura 4-92. Red no orientada de 7 nodos para determinar rutas mínimas desde el nodo origen #5, con
algoritmo matricial (RUMIMAT2).
255
Paso 1.- Condiciones iniciales.- Se calculan en forma arbitraria.
Por la definición del nodo #5 como origen de la red: V 5 = U 5 = 0.
Desde el nodo #5 origen, se tiene la opción de 3 nodos: #3, 6 y 7; se elige el #7:
V 7 = U5 + C57 = 0 + 13 =13 = U7 (Arbitrario es elegir hacia 7, pero puede hacerse a 3 ó 6).
V1 = U7 + C71 =13+ 9 =22 = U1 (Ahora se elige hacia 1, pero puede hacerse hacia 4 ó 6).
V4 = Min {U1 + C14, U7 + C74 } = Min {22 + 8, 13 + 9 } = 22 = U4
i=1, 7 i=1, 7 (observe dos maneras de llegar a nodos 4, 2, 3 y 6).
V2 = Min {U1 + C12, U4 + C42 } = Min {22 + 10, 22 + 7} = 29 = U2
i=1, 7 i=1, 7
V3 = Min {U1 + C13, U4 + C43, U5 + C53} = Min {22 + 20, 22 + 14, 0 + 7} = 7 = U3
i=1, 7 i=1, 7
V6 =Min{U1+C16, U4+C46, U5+C56, U7+C76 } = Min{22+24, 22+15, 0+4,13+7}=4= U6
i=1, 7 i=1, 7
Paso 1.- Condiciones iniciales del algoritmo matricial de ruta mínima aplicado a la red ejemplo RUMIMAT2.
Figura 4-93. Condiciones iniciales del algoritmo matricial de ruta mínima aplicado a la red ejemplo
RUMIMAT2.
256
Paso 2.- Búsqueda de optimalidad del algoritmo matricial, en la red ejemplo RUMIMAT2
¿Se verifica el cumplimiento V j -- U i =< C i j?
Figura 4-94. Búsqueda de optimalidad del algoritmo matricial, en la red ejemplo RUMIMAT2.
Paso 3.- Determinación de rutas mínimas en red ejemplo RUMIMAT2.
257
Figura 4-95. Rutas mínimas y costo de algoritmo matricial, ejemplo RUMIMAT2.
4.4.1.5. Aplicaciones del problema de ruta mínima.
Para iniciarse, puede ser útil una muestra de aplicación de la ruta mínima y algoritmo aquí utilizado.
Ejemplo 4-17. Aplica red de ruta mínima al reemplazo de equipo (REMERUM).
Planear una inversión en maquinaria, herramientas y en general equipo de trabajo, es más confiable si se dispone de
metodología que proporcione información para hacer las decisiones. A los costos y cálculos del valor del dinero con
el tiempo, se suma el conocimiento de ruta mínima y el algoritmo; se puede usar el modelo siguiente:
El gráfico se ilustra para el caso que interesa un plan a 1, 2, 3 y 4 años. Los costos de la inversión y el mantener
funcionando a dicho equipo, son C i j asociados a las ramas, los que se calculan así:
C i j = Ii + O i j + R j ;
258
En donde:
C i j = Costo de tener un equipo, desde el inicio i de un año hasta el final j del periodo considerado.
Ii= Costo de inversión de un equipo nuevo, al inicio i de un año.
O i j = Costo de operar un equipo, del inicio i de un año al final j del periodo.
R j = Valor de rescate al final j del periodo considerado.
Figura 4-96. Red orientada solución de reemplazo de equipo, ejemplo REMERUM.
259
Figura 4-97. Tabla solución de reemplazo de equipo, ejemplo REMERUM.
Ejemplo 4-18. Aplica red de ruta mínima a tiempos y movimientos ("El retador").
Considere tres recipientes con las capacidades de 8, 5 y 3 litros; de ellos, sólo el mayor está lleno de un líquido
importante, (varían las ideas de esto, pero puede ser la de dos sedientos que ya consumieron, pero desean más). Se
trata de dividir el contenido de 8 litros en partes iguales de 4 litros, vaciando para llenar el recipiente, como medida
aceptada de contenido. Se pide hacerlo con el mínimo de vaciadas.
Para resolver "el retador" es necesario construir un modelo de red que represente el procedimiento de vaciadas
sucesivas para conseguir el objetivo. En el modelo de red se requieren nodos, en los cuales puede registrarse el estado
de contenido de los tres recipientes. Así por ejemplo, respetando el orden de izquierda a derecha dado, el nodo origen
se registra como (8, 0,0); significando, el #8, el contenido completo de líquido de tal recipiente, y los dos ceros
siguientes, la condición inicial de vacíos de los recipientes de 5 y 3 litros, respectivamente. De esta manera el nodo
que representa la primera vaciada, del recipiente 8 a cualquiera de los otros dos recipientes, debe registrarse como (5,
0,3) o bien como (3, 5,0), dependiendo de cómo sea la primera decisión. Las ramas que unen los nodos representan
el costo de (1) movimiento de vaciar el líquido entre dos recipientes. Anote que las ramas sin flecha representan el
posible cambio de estado de los recipientes ya sea en una dirección o bien en la otra, las flechas indican la dirección
del cambio. Se procede de esta manera hasta conseguir el nodo (4, 4,0) que representa el estado deseado. La red
siguiente muestra el procedimiento completo, si se requiere "!auxilioooo...!".
260
Figura 4-98. Red que muestra la secuencia de vaciadas del contenido (nodos) en recipientes, en la secuencia de
cada una de las vaciadas; y etiquetas de Dijkstra para la solución óptima en ejemplo "El Retador"
Si cada vaciada, de un recipiente a otro, tiene valor de 1, la solución óptima resulta en un mínimo de 7 vaciadas
indicadas con ruta en línea gruesa.
4.4.2. Problema de árbol de expansión mínima
Definición.-Dada una red de n nodos (i) todos conectados por ramas no orientadas (sin flecha) en las que se cumple
C i j = C j i, se busca la conexión de menor costo, que incluya sólo n-1 ramas, sin formar circuitos, comunicando
cualquier par de nodos. Ejemplos abundantes de aplicación son los sistemas telefónicos, de computadoras, sistemas
eléctrico e hidráulico y en general telecomunicaciones.
4.4.2.1. Algoritmo matricial o de conjunto conectado
Se caracteriza por la utilización de una matriz cuadrada de costos, debido a la condición C i j = C j i, asociados a
cada rama (i, j) o (j, i), conectando los n nodos (teléfonos, computadoras, estaciones y otros lugares a comunicar). En
este problema representado mediante un modelo de red no orientada, cuyas conexiones son exclusivamente ramas sin
especificación de dirección (flecha), todos los nodos son de transbordo, y pueden funcionar como origen o como
destino, según la necesidad del usuario. El algoritmo se inicia formando la matriz de costos C i j, con el mismo número
de renglones y columnas, tantos como nodos presentes en la red. Luego se elige cualquiera de la n nodos, como el
primero de todo el conjunto a conectar, el cual va creciendo conforme avanza el proceso algoritmico y termina cuando
todos los nodos están adentro del conjunto.
261
Paso 1.-Se empieza eligiendo arbitrariamente un nodo, como el primero del conjunto, marcando el renglón y
con X la columna del mismo nodo en la tabla.
Paso 2.- Considerando sólo los renglones con marca , se busca el valor mínimo de las columnas no cruzadas con X,
señalando grueso el costo seleccionado. Los empates se rompen en forma arbitraria. La columna coincidente al costo
seleccionado, indica el nuevo nodo conectado que debe incluirse entre corchetes. Se cruza con X la cabeza de esa
columna y se marca con el renglón del mismo nodo. Se repite el paso 2 hasta que todos sean conectados.
Paso 3.- Cuando el conjunto de nodos se completa, se procede a identificar las ramas ( i, j ) que forman el árbol
mínimo de comunicación y los costos de las mismas, que deben sumarse en costo total.
Ejemplo 4-19. Aplica algoritmo de conjunto conectado; árbol de expansión mínima. (ARBOLMIN1).
Figura 4-99. Red ejemplo ARBOLMIN1.
Con la matriz de costos C i j formada, se marca mediante una flecha , el #6 (se inicia con cualquier nodo de la red)
en el renglón de la misma, como único a considerar en la primera decisión de nodo para incluir en el conjunto. Sobre
este renglón se hace la primera comparación y se decide con el criterio de menor costo el 3 que es el costo C67 = 3 de
la rama (6, 7), significa que el nodo 6 debe conectarse al 7, que se anota dentro del conjunto. El número de nodo se
toma de la columna coincidente al costo seleccionado. Se marca con X la columna 7 para eliminarla en las siguientes
selecciones de costo, pero se agrega el 7 como renglón con marca . En la siguiente comparación de costos, se hace
una primera selección en cada columna de los renglones 6 y 7 señalados con , anotando en una fila auxiliar en la
parte inferior de la matriz y luego se hace la selección de costo menor en la misma resultando 5. En seguida, se
identifica con la columna coincidente el nuevo nodo #5 que entra al conjunto, se anula la columna 5 con la marca X
para futuras consideraciones, pero también se incluye como renglón 5 marcado así ; el costo C65 = 5 se anota
grueso. Se repite la comparación de costo, pero ahora con los renglones 5, 6, 7 que corresponden a nodos del conjunto.
En esta selección se utiliza una segunda fila auxiliar resultando 6 como valor menor; este coincide en la columna del
nodo 2 que entra al conjunto conectado, se marca X la columna y se incluye el #2 como renglón, el costo
seleccionado C 72 = 6 debe señalarse grueso en la matriz. Continúa la aplicación del algoritmo con las selecciones
sucesivas de los nodos para conectarse en el orden que se observa entre corchetes a la derecha de la tabla con los
costos de las ramas que son señaladas en la propia red.
262
Figura 4-100. Matriz de costos, aplicación de algoritmo conjunto conectado, ejemplo ARBOLMIN1.
Costo de ramas en árbol de expansión mínima: C67=3, C13=4, C65=5, C72=6, C21=6, C34=6
Figura 4-101. Árbol de expansión mínima en la red ejemplo ARBOLMIN1.
Ejemplo 4-20. Aplica algoritmo matricial conjunto conectado; árbol de expansión mínima (ARBOLMIN2).
263
Figura 4-102. Matriz de costos, aplicación de algoritmo conjunto conectado, ejemplo ARBOLMIN2.
El costo total y las ramas seleccionadas para árbol mínimo resultan igual, no importa el número de nodo inicial
en la aplicación.
Ejemplo 4-21. Aplica algoritmo matricial conjunto conectado; árbol de expansión mínima (ARBOLMIN3).
Figura 4-103. Red para el árbol de expansión mínima, ejemplo ARBOLMIN3.
264
Figura 4-104. Matriz de costos, aplicación de algoritmo conjunto conectado, ejemplo ARBOLMIN3.
El árbol de expansión mínima queda como sigue:
Figura 4-105. Árbol de expansión mínima en la red ejemplo ARBOLMIN3.
265
4.4.3. Problema de flujo máximo
Definición: Dada una red de n nodos i conectados por ramas (i, j) cuya capacidad de flujo Fij se conoce; se trata de
determinar el transporte máximo de unidades X ij a través de la red, desde un nodo origen hasta un nodo destino.
Interesa además la manera en que se distribuye el flujo X i j por las diferentes ramas. Ejemplos de aplicación: Redes
de calles, carreteras, tuberías, sistema eléctrico.
4.4.3.1. Flujo máximo en red orientada
Ejemplo 4-22. Aplica algoritmo de Ford-Fulkerson en red orientada de flujo máximo (FLUMAXBAS).
La pequeña red (Figura 4-106) está diseñada para la exposición e inicio en el conocimiento de los conceptos que se
manejan en este modelo; el problema y el algoritmo que resuelve el flujo máximo de unidades en un sistema. Anote
que una sola rama, la RS, es bidireccional pues está señalada con dos flechas de dirección opuesta; en cambio, las
otras ramas son unidireccionales.
Etiqueta en ramas: (Capacidad de flujo Fij, Unidades de flujo Xij)
Etiquetas en nodos: Además de etiquetas en ramas, el algoritmo Ford-Fulkerson usa otra etiqueta en los nodos, útil
al seguir la ruta del flujo. Es importante que desde ahora, el lector anote la diferencia y sobre todo que aprenda a
usarlas.
Figura 4-106. Red ejemplo FLUMAXBAS, vea lado derecho de etiquetas: fluye Xij = 1 unidad por ruta ORST
quedando saturada al ocupar toda la capacidad.
Estado de la red ejemplo FLUMAXBAS.
Rama OR, etiqueta (0, 1), significa: capacidad FOR = cero, flujo XOR = 1(saturada)
Rama RS, etiqueta (0, 1), significa: capacidad FRS = cero, flujo XRS = 1(saturada)
Rama ST, etiqueta (0, 1), significa: capacidad FST = cero, flujo XST = 1(saturada)
266
Rama RT, etiqueta (3, 0), significa: capacidad FRT = 3, flujo XRT = 0 (no saturada)
Rama OS, etiqueta (3, 0), significa: capacidad FOS = 3, flujo XOS = 0 (no saturada)
Rama SR, etiqueta (1, 0), significa: capacidad FSR = 1, flujo XSR = 0 (no saturada)
Un algoritmo aplicable a este problema lo desarrollaron Ford y Fulkerson, para redes orientadas, pero la rama (R)-
(S) no orientada, se puede convertir a dos ramas en dirección opuesta con la misma capacidad, cumpliendo así el
requisito de red estrictamente orientada como se ve enseguida:
Figura 4-107. Red ejemplo FLUMAXBAS se convierte en orientada, con ramas RS y SR unidireccionales, vea
a derecha en etiquetas, pasó 1 unidad por ruta ORST.
Antes de aplicar el algoritmo de Ford-Fulkerson, se observa la situación de la red, pues ya paso una unidad por ORST;
en cambio por OSRT no ha pasado flujo, lo cual se ve en etiquetas de ramas cuyo significado ya se anotó al inicio del
tema.
Flujo Máximo: algoritmo de Ford-Fulkerson
Este algoritmo fue creado por sus autores para el tratamiento del problema de flujo máximo; considera para los nodos
uno de los tres siguientes estados: No etiquetado, etiquetado y no explorado, etiquetado y explorado.
Al iniciar el algoritmo, la red debe estar aislada y contener un sólo nodo origen y un sólo destino, los restantes deben
funcionar como transbordo. Al empezar el algoritmo, todos los nodos de la red se consideran no etiquetados.
Una etiqueta para los nodos, (diferente a la de ramas) consiste en un par de elementos, incluidos en un paréntesis,
el elemento izquierdo es la identificación del nodo del cual proviene el flujo que llega al nodo que se está
etiquetando; el elemento derecho de la etiqueta es el valor máximo de flujo que se puede enviar desde el nodo origen
hasta el nodo que se está etiquetando.
Paso 1.- Al nodo origen se le pone la etiqueta (-, ); significa, a izquierda no hay inversos, a derecha no hay límite
de flujo. En este caso el nodo origen queda en el estado etiquetado y no explorado, todos los otros nodos, no están
etiquetados.
267
Paso 2.- Considere un nodo K, con etiqueta y no explorado, a continuación, etiquete todos los nodos directos, no
etiquetados, que estén conectados por una rama no saturada de flujo, o sea que X k j se ubique en el intervalo 0 <=
X k j <= Fk j con la etiqueta ( K+, Mínimo { X o k, F k j - X k j }), en donde X o k, es el número a la derecha de la
etiqueta del nodo K, el número j es el nodo que se etiqueta y que es directo de K ; F k j, es la capacidad de la rama
entre el nodo ( K ) y el nodo ( j ); X k j, es el flujo correspondiente a la misma rama ( k, j ).
Paso 3. - Para el mismo nodo K, etiquete los nodos vecinos inversos de K que tengan flujo X i k > 0, con la
etiqueta (K- , Mínimo {X o k, X i k}).
Cuando se hallan etiquetado todos los nodos vecinos de K, (aunque algunos nodos vecinos directos no se hallan
etiquetado por estar saturada la rama que los une a K, o algunos vecinos inversos no se hallan etiquetado porque no
envían flujo hacia K), en tal caso dicho nodo K se considera etiquetado y explorado.
Paso 4.- Si el destino se etiquetó, vaya al paso 6, de lo contrario vaya al paso 5.
Paso 5.- Busque un nuevo nodo etiquetado y no explorado; si hay, vaya al paso 2.
Paso 6.- Se inicia interpretando la etiqueta recién registrada en el nodo destino T leyendo a la izquierda el nodo K+ que
envía las unidades de flujo que se anotan a la derecha, usando la rama KT; retrocediendo por la ruta, entre los nodos
destino T y origen O, conforme se indica en cada etiqueta de nodo. La identificación K + en la etiqueta de cualquier
nodo j, significa que el flujo Xoj a la derecha de la misma fluyendo desde el origen, debe restarse a la capacidad FKj en
el lado izquierdo de la etiqueta en la rama Kj y sumarse al flujo Xkj a la derecha de la misma. Pero si la etiqueta de
cualquier nodo j tiene K- , el flujo Xoj a la derecha debe sumarse a la capacidad FKj en el lado izquierdo de la etiqueta
de la rama K j y restarse al flujo Xkj a la derecha. A esto se le conoce como actualización de capacidades y flujos,
procediendo desde el nodo destino a todo lo largo de la ruta elegida, hasta el nodo origen, en cada intento de pasar
flujo. Se repiten los seis pasos anotados hasta que no sea posible encontrar una ruta para flujo adicional conectando
los nodos origen y destino.
Aplicación del algoritmo de Ford-Fulkerson a FLUMAXBAS (vea Figura 4-108).
Como primer análisis de la red se mencionó que ya existe el flujo de una unidad a través de las ramas ORST, por lo
cual se hace necesario verificar primero la red, para cumplir la propiedad de conservación de flujo en cada uno de los
nodos (suma de flujo entrante igual a suma de flujo saliente). Luego se procede de acuerdo al paso 1 etiquetando el
nodo origen O, con (-, ). dejando a O en el estado de etiquetado, pero no explorado. Sigue el paso 2 en que se inicia
la exploración; el recién etiquetado nodo O tiene como directos los nodos R y S, pero la rama OR está saturada,
significa que la capacidad FOR = 1unidad ya se ocupó, por lo tanto no se puede etiquetar R con respecto a O. El otro
nodo directo es S, la rama OS no se ha usado y tiene la capacidad original FOS = 3 unidades, entonces la etiqueta en
el nodo S es: (O+, mínimo ( , 3-0)) = (O+, 3).
Se cumple el paso 2 de exploración de directos y también el paso 3 de exploración de inversos porque O no los tiene,
se pone una E que significa explorado a la etiqueta de O. El paso 4 es para comprobar que aún no se etiqueta el nodo
destino y en el paso 5 se pide repetir regresando al paso 2. El único nodo con etiqueta sin explorar es S que tiene como
directos R y T, pero éste no se puede etiquetar porque la rama ST está saturada, la capacidad de una sola unidad ya se
ocupó; el directo R si se puede etiquetar con (S+, mínimo (3, 1-0))= (S+, 1), ya que la rama SR tiene capacidad de una
sola unidad. En el paso 3 se observa que el nodo S tiene dos nodos inversos que son O y R, pero ambos ya tienen
etiqueta y no se debe duplicar; por lo tanto S queda como explorado y se distingue colocando la letra E en la etiqueta.
Según el paso 5 hay que regresar al paso 2 y repetir a partir de un nodo con etiqueta sin explorar, el único es R, que
tiene como directos a S y T, pero S ya tiene etiqueta; el directo T cuya rama RT de conexión aún conserva la capacidad
268
original, se puede etiquetar con (R+, mínimo (1, 3-0)) o sea (R+, 1). El nodo R tiene como inversos S y O, pero ambos
tienen etiqueta, entonces R queda como explorado y se le señala con E. Al llegar al paso 4 se identifica al nodo T
como terminal, pasando al 6, en donde se instruye a la actualización de la red, pues ya se logró transportar una unidad
desde el origen O hasta el destino T. Se procede a descontar de las capacidades en ramas, la unidad pasada a lo largo
de la ruta en retroceso, desde T hacia O, que se lee en el lado izquierdo de la etiqueta.
Hasta aquí se completa una iteración del algoritmo FF para intentar una transportación más con etiquetas
nuevas comenzando por la etiqueta en el origen que siempre es la misma. En paso 2 se tienen dos directos R y S del
nodo origen, la vía a R está saturada, no se etiqueta; al directo S se le pone (O+, min ( , 3-1)) o sea (O+, 2); el paso 3
no aplica porque O no tiene inversos quedando explorado. Se regresa al paso 2, el único con etiqueta y no explorado
es S, sus directos son R y T, pero ambos no se pueden etiquetar como tales porque la rama que los conecta está
saturada y así se cumple el paso 2. En el paso 3, se observa que S tiene dos nodos inversos O y R, pero O ya tiene
etiqueta y no se duplica; el nodo R como inverso de S, ya envió una unidad de flujo que se puede regresar; es decir,
es una decisión de arrepentimiento por unidades ya transportadas; de este modo se pone en R: (S-, min (2, 1)) = (S-,
1).
Se cumplen los pasos 2 y 3 de exploración del nodo S distinguiendo con una E esa etiqueta. Regresando al paso 2, se
identifica a R etiquetado y no explorado; sus directos son S y T, pero S tiene etiqueta y la de T es:
(R+, min (1,3-1))= (R+, 1).
Como ya se etiquetó el nodo destino T, se procede al ajuste de la unidad pasada leyendo el lado izquierdo de etiquetas
iniciando en T, se lee 1 al lado derecho que se resta de la capacidad cuando la etiqueta tenga signo +, pero con signo
-, se suma a la capacidad. Luego regresa al paso 2 a intentar pasar más unidades.
Se quitan etiquetas anteriores, se etiqueta el origen con (-, ); luego su directo S con (O+, min ( , 3-2))=(O+,1), queda
explorado el O. Ahora en paso 2 se observan directos de S que son R y T, ambos no se pueden etiquetar por saturación
de sus vías; en cuanto a sus inversos en paso 3, el O ya tiene etiqueta y el R ya no le envía flujo, no hay unidades por
regresar y por lo tanto no se etiqueta. Ya no es posible transportar más unidades y se termina la aplicación del
algoritmo de Ford-Fulkerson. Por favor vea la red solución en Figura 4-108:
269
Figura 4-108. Red ejemplo FLUMAXBAS, muestra etiquetas y flujo máximo
Como se puede observar, el flujo máximo a través de la red es de 3 unidades que se anotan distribuidas a través
de las diferentes ramas.
El cálculo manual sobre nodos y ramas de la red, tiene el inconveniente de la aglomeración y desorden, difícil de
evitar en el proceso de cálculo, pero a continuación le presento mi formato tabular que permite ordenar por renglón,
las etiquetas de cada iteración facilitando el seguimiento del proceso algorítmico.
Figura 4-109. Tabla de etiquetas del algoritmo Ford-Fulkerson FLUMAXBAS.
Flujo máximo = 3
Teorema de Ford-Fulkerson: Corte mínimo = Flujo Máximo.
Un corte en red debe formar dos conjuntos ajenos, tal que O y T estén separados. Valor de flujo máximo = Valor
mínimo de todos los cortes de capacidades de la red
270
Figura 4-110. Red ejemplo FLUMAXBAS, muestra cortes del teorema Ford-Fulkerson.
Figura 4-111. Tabla de cortes Ford-Fulkerson en ejemplo FLUMAXBAS.
Considere la misma red de flujo del ejemplo Flumaxbas, suponiendo una rama ficticia TO, que por la propiedad de
conservación de flujo sería la retroalimentación de flujo X TO a la misma.
Figura 4-112. Rama XTO ficticia en la red ejemplo FLUMAXBAS.
271
Sea X i j = unidades transportadas del nodo i al nodo j, a través de la rama (i, j)
XTO = unidades de flujo imaginarias de retroalimentación desde T hasta O.
Función económica: Máximo Z = XTO
Ejemplo 4-23. Aplica algoritmo Ford-Fulkerson en red orientada de flujo máximo ("El irresistible").
Tratándose de aprender, conviene una exposición más extensa de los detalles finos del algoritmo de Ford- Fulkerson.
Para esto me permito presentarle "El irresistible" confiando sea un buen factor de aprendizaje del mismo.
Figura 4-113. Red ejemplo "El irresistible", etiquetas (capacidad remanente, flujo).
Como en el ejemplo básico anterior, primero debe verificarse que cumple la conservación de flujo en cada nodo de
la red. Así por ejemplo, al nodo F llegan 2+4 y salen 6 unidades, por lo tanto se cumple la propiedad.
Se etiqueta el nodo O con (-, ) en paso 1, la cual se anota en el renglón 1 de la siguiente tabla, luego en paso 2, se
identifican A,B,C, como directos de O, pero B y C no se pueden etiquetar porque las ramas OB y OC están saturadas,
272
entonces se limita a la de A con ( O+, mínimo ( , 17-0)) = ( O+, 17) anotada en renglón 1columna A; quedando O
con etiqueta y explorado, pues el paso 3 no aplica porque O no tiene inversos.
Regresando al paso 2, se tiene al nodo A como etiquetado y sin explorar con sus directos F y J, a los cuales les puede
enviar 9 y 4 unidades, según lo indicado en sus respectivas ramas; ahora se anota para F: ( A+, mínimo ( 17, 9-0)) = (
A+, 9 ) y para J: ( A+, mínimo ( 17, 4) = ( A+, 4), así se cumple el paso 2; para los inversos en paso 3, se localizan a
B y O, pero O tiene etiqueta, entonces se observa que B ya envía flujo hacia A, por tanto B se etiqueta ( A-, mínimo (
17, 4)) = ( A-, 4 ) terminando la exploración del nodo A y se pone E.
Se repite el proceso regresando al paso 2; se tiene a los nodos F, J, B, con etiqueta y no explorados, se puede elegir
cualquiera de los tres para explorar, considere el nodo B para ello, el cual tiene como directos a C,H,F,A, pero sólo
se puede etiquetar a C y H porque F y A ya tienen etiqueta y con vía saturada; entonces se anota ( B+, mínimo ( 4, 3-
0)) o sea ( B+, 3) para el nodo C; después se anota ( B+, min ( 4, 4-0)) = ( B+, 4), para el nodo H cumpliendo paso 2;
el único inverso de B es O con etiqueta, quedando B en la condición de explorado con E.
Un nuevo nodo etiquetado y sin explorar es el F, para etiquetar el directo K con (F+, min (9, 3-0)) = (F+, 3); el directo
J tiene etiqueta y el inverso H de F, también tiene, por lo tanto queda F como explorado con E.
Se repite el algoritmo en paso 2, eligiendo a K para explorar, a sus directos L y T, cuyas etiquetas son: en L (K+,
mínimo (3, 12-0)) = (K+, 3)); luego en el T (K+, min (3, 4-2) = (K+,2) quedando explorado K pues sus inversos J, F y
H tienen etiqueta.
Como ya se etiquetó el nodo terminal T, en el paso 4 instruyen para ir al paso 6, en el cual debe procederse al ajuste
de las unidades transportadas desde el origen O hasta el T. Leyendo el lado izquierdo de la etiqueta en T se descuenta
en la rama KT las 2 unidades a la capacidad, al mismo tiempo se suma lo mismo al flujo: (2-2, 2+2) quedando la
etiqueta (0, 4) en la rama KT. Así se procede hasta ajustar toda la ruta en forma regresiva hacia el nodo origen O, con
lo cual se completa la iteración #1; en la tabla siguiente se registran las 7 iteraciones que resultaron necesarias en esta
aplicación; también en la red siguiente se anotan los ajustes en las etiquetas de las ramas de este ejemplo "el
irresistible".
Las etiquetas mostradas son específicas de la decisión al elegir nodo a explorar en pasos 2 y 3, aunque se puede
obtener una variedad de soluciones, dependiendo de las decisiones de exploración, pero todas deben resultar con el
mismo valor máximo de flujo, si se procede sin error.
Figura 4-114. Tabla de etiquetas para cada iteración de flujo de unidades con el algoritmo Ford-Fulkerson en
el ejemplo "El irresistible".
273
Figura 4-115. Distribución de flujos por las ramas y cortes de capacidades de la red ejemplo "El irresistible".
Figura 4-116. "El irresistible" con etiquetas actualizadas en ramas de (capacidad remanente, flujo) en cada
iteración de algoritmo Ford-Fulkerson para el flujo máximo en la red.
4.4.3.2. Flujo máximo. Algoritmo matricial para red no orientada.
Definición.- Determinar el número máximo de unidades de flujo a través de una red no orientada, entre dos nodos de
la misma. Para cada rama de la red debe tenerse la capacidad de flujo, ya sea en un sólo sentido o bien en ambos.
274
Sea F i j = capacidad de la rama (i, j) en la dirección i j, así F j i = capacidad de la rama (i, j), en la dirección j i.
Si la rama es orientada en una sola dirección entonces, la capacidad en la dirección opuesta es cero. Por lo tanto, se
cumple en tal caso: F i j = 0 o bien F j i = 0.
Arreglar en la forma matricial cuadrada llamada F i j, las respectivas capacidades Fi j (F j i) de la red con n nodos, de
los cuales el nodo O representa el origen y el nodo T el destino y se pretende enviar el flujo desde el primero, a través
de los nodos de transbordo hasta llegar al destino T. Los siguientes pasos constituyen el algoritmo para cumplir el
objetivo de flujo máximo entre los nodos O y T.
Paso 1.- Determine una ruta sobre la matriz F, que contenga O y T de tal manera que exista un flujo positivo en la
dirección O T; en tal caso vaya al paso 2, de lo contrario, vaya al paso 3.
Paso 2.- En la matriz F identifique así (-) como exponente negativo, las capacidades F-i j, seleccionadas en la ruta O
T; por el contrario, identifique con exponente positivo (+), las capacidades F+i j en la dirección opuesta T O.
Ahora se define una cantidad = Mínimo {F-i j} > 0. Entonces la matriz F de capacidades Fi j se modifica como
sigue:
a) Restar la cantidad de todas las capacidades F-i j, lo que indica que debe transferirse un flujo desde el nodo origen
O hacia el nodo destino T, restándolo de las respectivas capacidades sobre la ruta.
b) Sumar la cantidad a todas las capacidades F+i j sobre la misma ruta, pero en la dirección opuesta T O
permitiendo así la conservación de las capacidades de flujo originales en la red. Esto indica que la disminución de la
capacidad de una rama en una dirección, es equivalente a un incremento en la capacidad de la misma en la dirección
opuesta.
Paso 3.- Se determina el flujo máximo de la red como sigue, sea:
F = |Fi j|, la matriz de capacidades original de la red.
F* = |F*i j|, la última modificación de la matriz de capacidades, después de la cual no existe ruta posible de flujo entre
los nodos O y T.
Así el flujo óptimo X máximo = | X i j | en las ramas es:
X máximo = X i j = { Fi j - F*i j, si Fi j > F*i j; o bien, X i j = cero, si Fi j <= F* i j }
El flujo máximo entre O y T es: X máximo = X O j = X i T =
Ejemplo 4-24. Aplica algoritmo matricial en red no orientada de flujo máximo (FLUMAXMA).
De acuerdo a la definición dada para el problema de calcular el flujo máximo de unidades transportadas a través de
una red, es necesario fijar, no sólo un nodo origen, también se requiere asignar la función de nodo destino. La
red Ejemplo 4-24 tiene designado el nodo #1 como origen y se desea determinar el flujo máximo de unidades,
aprovechando las capacidades y dirección anotadas en las ramas de conexión, hacia el nodo #7 que es el destino.
Como su nombre sugiere en este algoritmo se arregla una matriz de capacidades F i j de inicio y se busca en la misma
una cadena de ramas (i, j) que permita el paso de unidades desde 1 hasta el destino 7, marcando las capacidades con
signo negativo (-); enseguida se marcan las capacidades de la misma cadena de ramas, pero en dirección opuesta, es
decir, del destino 7 hacia el origen 1, con signo (+). Se obtiene un número del mínimo de todas las capacidades
275
marcadas con signo (-), el cual se utiliza para restarlo en la matriz a todas las capacidades con (-), también se usa para
sumarlo en la matriz a las que tienen signo (+). Así se modifican las capacidades de la matriz F i j, y el
número significa las unidades transportadas por la cadena elegida. Se repite el procedimiento hasta que ya no es
posible el flujo, lo que se identifica por la anulación (saturación) de capacidad en algunas ramas, impidiendo el flujo
hacia el destino. La diferencia entre la matriz de capacidad F i j inicial y la última matriz modificada F*i j, resulta en
la matriz solución X i j de flujos. La suma de estos llegando al destino, debe igualar la suma que sale del origen, así
como también la suma de ; este es el máximo flujo.
Figura 4-117. Red ejemplo no orientada FLUMAXMA para algoritmo matricial.
Sea:
F i j = Matriz inicial de capacidades de flujo
F- i j = Capacidades de flujo en la ruta de nodo origen 1al destino 7.
F+ i j = Capacidades de flujo en la ruta del destino 7 al origen 1.
F*i j = Ultima matriz modificada de capacidades de flujo.
X i j = Matriz de flujo
= Valor mínimo de capacidades F- i j
276
Figura 4-118. Matrices de capacidad, aplica algoritmo matricial a ejemplo FLUMAXMA.
La matriz de flujos X i j se obtiene mediante la siguiente función:
Figura 4-119. Flujo óptimo por rama (i, j) en red FLUMAXMA con algoritmo matricial.
277
X máximo = X 1 j = X i 7 =
Todo j Todo i
X máximo = 4 + 6 + 3 + 3 + 6 = 6 + 4 + 0 + 9 + 3 = 3 + 6 + 4 + 3 + 6 = 22
4.5. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo
En las siguientes subsecciones encontrará una serie de ejercicios que ayudarán a la total comprensión de los temas
tratados en el presente capítulo. Asimismo, los ejercicios marcados con *AUTOEVAL* son de auto evaluación, el
peso de los incisos correspondientes a cada uno de ellos podrán ser consultados en la sección de respuestas. Se sugiere
resolverlos, y una vez terminados, revisar su solución y calcular la calificación correspondiente y así evaluar el
entendimiento del mismo.
Se recomienda aplicar los ejercicios aquí planteados a casos prácticos de la vida diaria como parte de las actividades
de aprendizaje del presente material.
4.5.1. Ejercicios de Redes de distribución: transporte, transbordo y asignación.
4.5.1.1. Problema de transporte balanceado, 2x3 *AUTOEVAL*.
Una empresa tiene dos plantas produciendo el mismo artículo, el cual debe enviarse a tres centros de distribución.
Dado que los costos de producción son los mismos en ambas plantas, los únicos costos a considerar son los de
transporte que se anotan (cientos de pesos por unidad) en la siguiente tabla para todas las combinaciones de planta a
centro de distribución:
Figura 4-120. Costos para problema de transporte balanceado, 2x3.
Cada planta puede producir y mandar cualquier cantidad hasta un máximo de 50 unidades semanales; a) si cada centro
debe recibir 20 unidades semanales, construya la tabla necesaria, formule el modelo de PL correspondiente y aplique
el algoritmo de transporte para la solución óptima; b) con el propósito de reducir aún más el costo de transporte,
considere la misma suma (60) de demanda, pero que los centros pueden recibir cualquier cantidad, entre 10 y 30
unidades semanales; para este caso construya la tabla y formule el modelo de PL correspondiente.
B.4.1.1. Problema de transporte balanceado, 2x3.
278
Enunciado del ejercicio
6 variables-acierto con valor 1/2 punto c/u.
4.5.1.2. Problema de transporte no balanceado, 3x5, solución degenerada.
Continúe la solución con el algoritmo simplex de transporte hasta optimizar en la tabla intermedia siguiente de un
problema.
Figura 4-121. Tabla intermedia en la solución con algoritmo de transporte.
Respuesta al ejercicio
B.4.1.2. Problema de transporte no balanceado, 3x5, solución degenerada.
4.5.1.3. Problema de transporte no balanceado, 3x3, solución degenerada.
Una compañía de aerolíneas desea comprar la gasolina para sus aviones a tres proveedores, que disponen de 8, 24 y
25, miles de litros respectivamente. Se deben enviar 20, 12 y 8, miles de litros a tres ciudades, de acuerdo a la siguiente
tabla de costos en miles de $ por cada mil litros de gasolina entregada
Figura 4-122. Costos para problema de transporte no balanceado, 3x3.
279
Construya la tabla y aplique el algoritmo de transporte para optimizar la compra.
Respuesta al ejercicio
B.4.1.3. Problema de transporte no balanceado, 3x3, solución degenerada.
4.5.1.4. Problema de transbordo no balanceado.
Convierta el siguiente problema de transbordo a la tabla usual del problema de transporte; en donde la respectiva
oferta en los nodos 1, 2 y 3 son 10, 20 y 15 unidades, y la respectiva demanda en los nodos 5, 6 y 7 es 10, 25 y 10
unidades.
Figura 4-123. Red de transbordo para problema de transbordo no balanceado.
Respuesta al ejercicio
280
B.4.1.4. Problema de transbordo no balanceado.
4.5.1.5. Asignación de barcos a puertos con solución alterna *AUTOEVAL*.
Se tienen cuatro barcos i (i = 1, 2, 3, 4) de carga, anclados en un puerto para transportar bienes a otros cuatro puertos
j (j = 1, 2, 3, 4). Las características de los barcos y las cargas por alojar en sus bodegas, resultan en grandes diferencias
de costos totales de carga, transporte y descarga que se muestran en la siguiente tabla. El objetivo es asignar cada
barco i en su viaje a cada puerto j de manera que se consiga minimizar el costo total de viaje de los barcos.
Figura 4-124. Tabla de asignación ejercicio de barcos a puertos.
B.4.1.5. Asignación de barcos a puertos con solución alterna.
Enunciado del ejercicio
3 soluciones óptimas acierto con 1 punto c/u.
281
4.5.1.6. Asignación de nadadores a estilo de natación.
Para la Olimpiada juvenil deben asignarse nadadores, para la competencia de 200 metros estilo combinado por
equipos. La selección debe hacerse con los nadadores j (j =1, 2, 3, 4) calificados en los cuatro estilos i (i = 1, 2, 3, 4),
cuyos tiempos en segundos se muestran en la siguiente tabla:
Figura 4-125. Tabla de tiempos para problema de asignación de nadadores a estilo de natación.
Aplique el algoritmo de asignación que minimice la suma de los 4 tiempos.
B.4.1.6. Asignación de nadadores a estilo de natación.
4.5.2. Ejercicios de ruta mínima.
4.5.2.1. Rutas mínimas, red no orientada, algoritmo de Dijkstra *AUTOEVAL*.
Determine las rutas mínimas desde el nodo 1 fijado como origen en las siguientes redes:
Figura 4-126. Red no orientada para problema de rutas mínimas, Dijkstra.
282
Respuesta al ejercicio
B.4.2.1. Rutas mínimas, red no orientada, algoritmo de Dijkstra.
Enunciado del ejercicio
9 rutas acierto con valor de 1/3 de punto c/u.
4.5.2.2. Rutas mínimas, red orientada, algoritmo de Dijkstra.
Determine las rutas mínimas desde el nodo fijado como origen en las siguientes redes:
Figura 4-127. Red orientada para problema de rutas mínimas, Dijkstra.
Respuesta al ejercicio
B.4.2.2. Rutas mínimas, red orientada, algoritmo de Dijkstra.
4.5.2.3. Rutas mínimas, red no orientada, algoritmo Matricial.
Determine las rutas mínimas desde el nodo fijado como origen en las siguientes redes:
283
Figura 4-128. Red no orientada para problema de rutas mínimas con algoritmo matricial.
Respuesta al ejercicio
B.4.2.3. Rutas mínimas, red no orientada, algoritmo Matricial.
4.5.3. Ejercicios de flujo máximo:
4.5.3.1. Etiquetas en ramas para otra solución del "El irresistible".
La siguiente tabla corresponde a otro procedimiento (diferente decisiones de exploración) para el mismo ejemplo "el
irresistible", con objeto de que el estudiante pueda practicar el algoritmo de Ford-Fulkerson y construya la red ya
conocida para ajustar las etiquetas de las ramas que corresponde a esta tabla:
284
Figura 4-129. Procedimiento alterno para "El irresistible".
Respuesta al ejercicio
B.4.3.1. Etiquetas en ramas para otra solución del "El irresistible".
4.5.3.2. Aplica algoritmo matricial de flujo máximo.
Las siguientes tablas son, la inicial de capacidades F y la de flujos X i j para una red no orientada que no se muestra.
Utilizando el algoritmo matricial calcule las matrices modificadas necesarias para llegar al valor de flujo máximo de
la matriz X dada y determine su distribución en la red. La distribución que usted obtenga, puede no coincidir con la
tabla dada, pero el flujo máximo sumado en Xoj = X iT debe ser igual en ambas tablas X.
285
Figura 4-130. Tablas red no orientada aplicación algoritmo matricial.
Respuesta al ejercicio
B.4.3.2. Aplica algoritmo matricial de flujo máximo.
4.5.3.3. Aplica algoritmo de Ford-Fulkerson para flujo máximo y su distribución *AUTOEVAL*.
La tabla mostrada tiene la información de una red de distribución de flujo. Aplique el algoritmo de Ford - Fulkerson
y su distribución a través de la red para obtener el flujo máximo.
Respuesta al ejercicio
286
B.4.3.3. Aplica algoritmo de Ford-Fulkerson para flujo máximo y su distribución.
Enunciado del ejercicio
11 aciertos (10 flujos rama + flujo máximo) con valor de 1/3 de punto c/u.
4.5.3.4. Aplica algoritmo de Ford-Fulkerson para flujo máximo y su distribución.
La tabla mostrada tiene la información de una red de distribución de flujo. Aplique el algoritmo de Ford - Fulkerson
y su distribución a través de la red para obtener el flujo máximo.
Respuesta al ejercicio
B.4.3.4. Aplica algoritmo de Ford-Fulkerson para flujo máximo y su distribución.
4.6. Referencias bibliográficas
BAZ92.- Bazaraa Mokhtar and Jarvis John J.
Programación Lineal y Flujo de Redes.- Limusa - Noriega Editores.- 7a.edición.- 1992.
DAV86. - Davis K. R. and McKeown P. G.
287
Modelos Cuantitativos para Administración. Grupo Editorial Iberoamérica, 2ª edición.1986
EPE92. - Eppen G. - Gould F. - Schmidt Ch.
Métodos Cuantitativos para Administración. Prentice Hall. 1992
FOR62. - Ford L.R.-Fulkerson D. R.
Flow in Networks. Princenton University Press. Princenton N.J. 1962
GAS81. - Gass Saul I.
Programación lineal.- Limusa 1ª Edición 1981
HIL95.- Hillier-Lieberman.
Introducción a la Investigación de Operaciones.-McGraw-Hill.- 6a.edición.- 1995.
TAH95.- Taha Hamdy
Investigación de Operaciones.- 5a.edición.- 1995.
WIN94. - Winston Wayne.
Investigación de Operaciones. Aplicaciones y Algoritmos.- Grupo Editorial Iberoamérica.- 2ª Edición.-1994.
Apéndice A. ECUACIONES LINEALES, MATRICES Y DETERMINANTES.
Tabla de contenido A.1. Sistemas de ecuaciones lineales
A.2. Matrices y determinantes
Este apéndice contiene el material auxiliar relacionado con la solución de sistemas de ecuaciones lineales (o de primer
grado), el arreglo de las mismas en vectores y matrices, así como el importante concepto de determinante. El apéndice
tiene interés por sí mismo y por su aplicación en la programación lineal, incluyendo la solución en sistemas de m
ecuaciones lineales por los procedimientos de eliminación de términos de Gauss-Jordan.
A.1. Sistemas de ecuaciones lineales
Una ecuación lineal es una expresión de la forma
a1 X1 + a2 X2 +...+ an Xn = b
donde a j y también b R, las X j son variables. a j son los coeficientes de las X j para toda j = 1, 2,....,n; b es la
constante de la ecuación. Un conjunto de valores de las incógnitas, por ejemplo:
X 1 = k 1, X2 = k2,.............,Xn = k n
288
y representados por un vector: K =( k1, k2, ...., kn), este es solución de la ecuación dada, si al sustituir los valores k j
por las X j, se satisface dicha ecuación.
El vector o "n-ada" (k1, k2,......., kn) representa la solución.
Ejemplo A-1. Sistemas de ecuaciones lineales.
Considere la ecuación de una recta en el plano R2: 2X2 + X2 = 8; asignando valores arbitrarios a X1 se obtienen los
correspondientes de X2:
Todas las soluciones para la ecuación dada, o todos los puntos determinados están, tanto en la línea recta como en el
plano R2.
A.1.1. Solución de una ecuación lineal
1. Un coeficiente no es cero, por ejemplo suponga a1 0
a1 X1 = b - a2 X2 -.....- an Xn X1 = a1-1 b - a1
-1 a2 X2 -...- a1-1an Xn
Al asignar los valores a X2,......Xn se obtiene X1 y por lo tanto soluciones. Por ejemplo: aX = b para a 0 X
= a-1b (única).
Considere una ecuación en donde todos los aj 0: 2X - 4Y + Z = 8,
despejando: 2X = 8 + 4Y - Z X = 4 + 2Y - 1/2 Z
Para cualesquiera valores de Z e Y se obtiene un valor X formando los 3 valores (X, Y, Z) una solución: si Y
= 3, Z = 2 X = 4 + 2(3) - 1/2(2) = 9. Es decir la tríada (9, 3, 2) = (X, Y, Z) es una solución.
2. Todos los coeficientes son nulos y la constante b también lo es.
0X1 + 0X2 +...+ 0Xn = 0 En este caso cualquier "n-ada" en R es una, de la infinidad de soluciones.
3. Todos los coeficientes son nulos y la constante b no lo es:
0X1 + 0X2 +...+ 0Xn =b, con b 0; En este caso, la ecuación no tiene solución.
A.1.2. Solución de m ecuaciones lineales.
Considere un sistema de m ecuaciones lineales con n incógnitas X1, X2,...,Xn:
289
donde aij y bi son constantes en el conjunto R.
Si el sistema tiene solución un vector o "n-ada" K = (k1, k2,......, kn) de # reales es una solución si satisface cada una
de las ecuaciones.
Si las constantes b1,........, bm son todas cero el sistema se dice homogéneo
A.1.3. Solución gráfica de un sistema de dos ecuaciones lineales.
Considere primero un sistema de dos ecuaciones lineales de dos incógnitas
Los números (k1, k2) que satisfacen ambas ecuaciones es la solución simultánea.
Cuando se tienen dos ecuaciones con dos incógnitas, se pueden describir geométricamente tres casos:
1. .- El sistema tiene una sola solución. Si los coeficientes de las incógnitas no son proporcionales:
290
Figura A-1. Solución gráfica de un sistema de dos ecuaciones lineales con una sola solución.
2. .- El sistema de ecuaciones no tiene solución.
Figura A-2. Solución gráfica de un sistema de dos ecuaciones lineales sin solución.
Las líneas rectas correspondientes son paralelas porque:
291
3. .- El sistema tiene un número infinito de soluciones.
Figura A-3. Solución gráfica de un sistema de dos ecuaciones lineales con número infinito de soluciones.
Las líneas coinciden porque:
A.1.4. Sistemas de dos ecuaciones con dos incógnitas.
En la solución de una ecuación de primer grado con una incógnita aX=b, se pueden presentar tres casos:
1. Si a 0 , la ecuación tiene una solución única: X = b / a
2. Si a = 0 y b = 0, la ecuación tiene un conjunto infinito de soluciones: cualquier número real X satisface la
ecuación aX = b.
3. Si a = 0, pero b 0, la ecuación no tiene solución, ya que al sustituir X por cualquier número real se obtiene
cero por la izquierda, mientras que a la derecha se tiene un número diferente de cero.
Los mismos casos para la solución de una sola ecuación con una incógnita, se pueden presentar al resolver un sistema
de m ecuaciones lineales. Considere ahora, un sistema de dos ecuaciones (m=2) con dos incógnitas (n=2):
292
Se llama solución de este sistema a todo par de valores X1 = k1, X2 = k2, que al sustituirlos por X1 y X2, convierten
ambas ecuaciones en identidades. Para resolver este sistema, se multiplica la primera por a22, la segunda por -a12, se
suman y se obtiene:
entonces se tiene una solución única, dada por:
Las dos expresiones anteriores se conocen como fórmulas de Cramer para la solución de un sistema de dos
ecuaciones con dos incógnitas. Observe que en el lado derecho de las fórmulas, en el numerador y el denominador,
se tiene una misma estructura.
Ahora considere el siguiente arreglo en tabla, de los coeficientes usados en el sistema de dos ecuaciones lineales
mostrado antes:
Un arreglo de coeficientes A como el mostrado se llama MATRIZ, la cual los ordena en renglones y columnas. En
este ejemplo se tiene una matriz cuadrada de segundo orden (dos renglones y dos columnas). La imaginaria línea
diagonal del elemento superior izquierdo (a11) al inferior derecho (a22), se le llama diagonal principal de la matriz. La
otra línea imaginaria diagonal entre los elementos a12 y a21, se conoce como diagonal secundaria.
Observe nuevamente los denominadores de las expresiones que resuelven las incógnitas X1 y X2, los que se forman
con el producto a11a22 de la diagonal principal menos el producto a12a21 de la diagonal secundaria: a11a22 - a12a21
Esta última expresión para el denominador de ambas fórmulas se llama determinante de la matriz A, se expresa
así: det (A) = a11a22 - a12a21
Los numeradores de estas fórmulas también son determinantes obtenidos de la siguiente manera: Sustituyendo la
columna ( b1, b2)T del lado derecho de las ecuaciones, en la columna izquierda (a11, a21)
T de la matriz A, en la fórmula
de X1; y sustituyendo en la columna derecha (a12, a22)T de la matriz A, en la de X2:
Determinante numerador, en X1: a22 b1 - a12 b2; en X2: a11 b2 - a21 b1
Ejemplo A-2. Sistema de dos ecuaciones lineales con dos incógnitas utilizando las fórmulas de Cramer 1.
Resuelva el siguiente sistema de dos ecuaciones lineales con dos incógnitas, utilizando las fórmulas de Cramer.
293
El sistema de dos ecuaciones de ejemplo, tiene solución única con los valores mostrados de ( X1, X2 ) = ( -3, 6 ).
El determinante denominador (5) en ambas fórmulas, así como el del numerador (-15 y 30), no son cero. En contraste
con el ejemplo de un primer caso de solución única, considere el segundo caso siguiente:
Esta igualdad se puede expresar como: a11 / a21 = a12 / a22 (son proporcionales). Si además se cumple, proporcionalidad
de los términos independientes de las ecuaciones con los coeficientes de las incógnitas, o sea:
Se convierte en una ecuación de dos incógnitas con infinidad de soluciones.
Ejemplo A-3. Sistema de dos ecuaciones lineales con dos incógnitas utilizando las fórmulas de Cramer 2.
Resuelva el siguiente sistema de dos ecuaciones lineales con dos incógnitas, mediante las fórmulas de Cramer:
Los determinantes en numerador y en denominador son cero, entonces el sistema tiene un número infinito de
soluciones.
Como un tercer caso, considere al determinante denominador como cero:
Pero los determinantes en el numerador de las fórmulas de Cramer no son cero:
294
Significa a11 / a21 = a12 / a22 b1 / b2; en tal caso el sistema no tiene solución.
Ejemplo A-4. Sistema de dos ecuaciones lineales con dos incógnitas utilizando las fórmulas de Cramer 3.
Resuelva el siguiente sistema de dos ecuaciones lineales con dos incógnitas, mediante las fórmulas de Cramer:
Los determinantes en numerador no son cero, pero el determinante denominador si es cero, entonces el sistema no
tiene solución.
A.1.5. Sistemas de tres ecuaciones con tres incógnitas.
Considere ahora un sistema de tres ecuaciones lineales con tres incógnitas como se muestra a continuación:
La solución para este sistema de tres ecuaciones lineales con tres incógnitas utilizando las fórmulas de Cramer,
requiere calcular los determinantes que resultan de una suma de seis términos, obtenidos de los productos formados
con los elementos mostrados arreglados como matriz cuadrada A de tercer orden:
det (A) =+a11 a22 a33 + a12 a23 a31 + a13 a21 a32 -a11 a23 a32 -a12 a21 a33 -a13 a22 a31
Los tres términos positivos son el producto de tres elementos a i j de la matriz situados: en la diagonal principal y en
dos triángulos isósceles cuya base es paralela a esa diagonal. Los tres términos negativos se obtienen igual, pero con
la diagonal secundaria.
Este determinante de tercer orden sugiere la gran dificultad en labor de cálculo cuando se intenta resolver un sistema
de ecuaciones lineales con las fórmulas de Cramer, por lo que se justifica el empleo de otros métodos para ese fin,
sobre todo tratándose de sistemas de m = 3 ecuaciones o mayor.
295
Ejemplo A-5. Sistema de tres ecuaciones lineales con tres incógnitas utilizando las fórmulas de Cramer.
Resuelva el siguiente sistema de tres ecuaciones lineales con tres incógnitas, mediante las fórmulas de Cramer:
Det. A = ((2)(3)(0)) + ((1)(1)(1)) + ((2) (-1)(-1)) - ((2)(1)(-1)) - ((1)(-1)(0)) - ((2)(3)(1)) = -1
Det. D1 = ((4)(3)(0)) + ((1)(1)(1)) + ((-1)(3)(2)) - ((-1)(4)(1)) - ((1)(3)(0)) - ((2)(3)(1)) = -7
Det. D2 = ((2)(3)(0)) + ((4)(1)(1)) + ((-1)(1)(2)) - ((2)(1)(1)) - ((-1)(4)(0)) - ((2)(3)(1)) = -6
Det. D3 = ((2)(3)(1)) + ((1)(3)(1)) + ((-1)(-1)(4)) - ((-1)(1)(1)) - ((-1)(3)(2)) - ((4)(3)(1)) =8
X1= -7 / -1 = 7; X2 = -6 / -1 = 6; X3 = 8 / -1 = -8
A.1.6. Procedimiento de eliminación de Gauss-Jordan.
Las fórmulas de Cramer son de importante interés teórico, sin embargo no tienen gran aplicación en la práctica debido
a que requiere mucha labor de cálculo. En cambio, el método de eliminación para resolver sistemas de ecuaciones
lineales, de Gauss - Jordan, tiene más aplicación, en problemas pequeños y grandes, sobre todo en la solución de
modelos de programación lineal. Para resolver un sistema de ecuaciones con este método se emplea la eliminación
sucesiva de las incógnitas según este esquema: Considere las siguientes m ecuaciones lineales:
Ahora se arregla una matriz B de este sistema, ampliada con los bi (línea vertical).
296
Después se hacen transformaciones elementales con los renglones de la matriz, lo cual es equivalente a hacerlo con
las respectivas ecuaciones:
1. Se permite cambiar el orden de las filas.
2. Se pueden multiplicar los renglones por cualquier número diferente de cero.
3. Sumar a un renglón de la matriz, otra fila multiplicada por cualquier número.
Así se obtiene una matriz ampliada de un nuevo sistema equivalente al original pues se reduce la matriz B a la forma
más sencilla posible que incluya la solución del sistema. A continuación se presenta el procedimiento detallado:
1. Intercambio de ecuaciones y de la posición de las incógnitas para que a11 0.
2. Multiplicación de la primera ecuación por una constante apropiada diferente de cero, para lograr a11 = 1.
3. Para toda i > 1, se multiplica la primera ecuación por -ai1 y luego se suma a la i-ésima ecuación, de tal manera
que la primera incógnita queda eliminada.
Considere el siguiente ejemplo con anotaciones del cálculo a la izquierda:
La matriz ampliada de este sistema es:
Se resta: el renglón (1) del (2) y el (3), el (1)(3) al (4), resultando la matriz:
Se permutan los renglones (2) y (3) para tener el coeficiente 1en renglón 2
El renglón (2) se duplica y se resta al (1) y al (4), el (2) se triplica y se resta al (3)
297
El (3) se divide entre (-14), el coeficiente 1 resultante se usa para operar con el cálculo que se indica en la columna
izquierda
La columna derecha de la última matriz tiene la solución del sistema propuesto: X1 = -1, X2 = 0, X3 = 1
Ecuación lineal degenerativa.- Así llamada cuando todos los coeficientes de las incógnitas son cero. En el caso
especial de un sistema en que todas las ecuaciones son degenerativas ( aij = 0), se tienen dos casos:
1. El sistema tiene por lo menos una ecuación de la forma: 0x1 + 0x2 +...+ 0xn = bi con bi 0, entonces esta
ecuación y por lo tanto el sistema, no tiene solución, (es inconsistente).
2. Todas las ecuaciones del sistema son de la forma: 0x1 + 0x2 +...+ 0xn = 0, entonces cada ecuación y, por lo
tanto el sistema tienen toda "n-ada" de números reales como solución.
En el caso común cuando las ecuaciones no son todas degenerativas (aij 0), el sistema de ecuaciones se reduce a
uno más simple equivalente al original que posee las mismas soluciones, el proceso se lleva hasta eliminación
completa (Gauss-Jordan) para obtener la solución.
Si se encuentra una ecuación de la forma 0x1 +... +0xn = 0 puede quitarse sin que afecte la solución.
Continuando con el proceso anterior, con cada nuevo subsistema, se obtiene por inducción, que el sistema o bien no
tiene solución, o bien es reductible a una forma equivalente.
Para la solución de un sistema de ecuaciones lineales en forma escalonada (eliminación de Gauss-Jordan), hay dos
casos:
1. Si hay tantas ecuaciones como incógnitas (m-=n) entonces el sistema tiene una solución única.
2. Si hay menos ecuaciones que incógnitas (m < m + n) entonces se pueden asignar arbitrariamente valores a las
n variables llamadas en este caso "libres" y obtener una solución del sistema. Si se asignan valores diferentes
a tales "variables libres", se pueden obtener muchas soluciones del sistema.
Para el caso particular de un sistema homogéneo de ecuaciones lineales reducido a la forma escalonada se presentan
dos posibilidades.
1. Tantas ecuaciones como incógnitas (m = n), entonces la solución es (0, 0,.....0) o trivial.
2. Menos ecuaciones que incógnitas (m < m + n), entonces el sistema tiene una solución no nula. En resumen
298
Ejemplo A-6. Sistema no homogéneo de ecuaciones lineales por eliminación de Gauss-Jordan.
A.2. Matrices y determinantes
Una matriz es un arreglo rectangular de mxn números, dispuestos en m filas y n columnas, generalmente encerrado
en paréntesis.
Para cualquier m o n y cualesquiera elementos a i j. Cada renglón y cada columna de la matriz A representan vectores,
renglón y columna, respectivamente.
Matriz cuadrada.- Si m = n
Matriz diagonal.- Es una matriz cuadrada cuyos elementos fuera de la diagonal principal, los coeficientes a i j para
i j, son todos iguales a cero.
Matriz identidad (I).- Es una matriz diagonal cuyos coeficientes diagonales son 1.
299
Matriz traspuesta.- La traspuesta AT de una matriz A es en la que los renglones y columnas se han intercambiado.
Matriz triangular.- Es una matriz cuadrada con los a i j = 0 para i > j o los a i j = 0 para i < j.
Matriz simétrica.- Si una matriz cuadrada A = AT ó a i j = a j i.
Matrices iguales.- Dos matrices son iguales si y solo si sus elementos correspondientes son iguales. Las dimensiones
m x n también son iguales.
Matriz nula.- Si tiene todos sus elementos iguales a cero (0).
Orden de una matriz.- Es el número de renglones y columnas que tiene, así se dice una matriz de orden m X n o de
orden n si es cuadrada.
Suma de matrices.- Dadas las matrices A y B, ambas de orden m X n, la suma es una matriz C de orden m X n.
C = A B = (a i j )mxn ( b i j )mxn = ( c i j )mxn
Propiedades de la suma de matrices.
A + B = B + A (Ley conmutativa) A + 0 = A
(A + B) + C = A + (B + C) (Ley asociativa)
Multiplicación de una matriz por un escalar.- Dado un escalar , - < < , y una matriz A m x n
B = = (a i j) = ( a i j) = (b i j)
Propiedades de la multiplicación por un escalar.
Multiplicación de matrices.- El producto AB de dos matrices está definido sólo en caso de que el número de
columnas de A sea igual al número de renglones de B. El producto AB no es conmutativo, o sea A B B A.
Cuando se cumple con la condición mencionada (nA = mB) se dice que ambas matrices son conformables para el
producto.
300
Propiedades de la multiplicación de matrices.
Ejemplos:
BA no es conformable.
Propiedades de las matrices traspuestas.
(AT)T = A
(A + B)T = AT + BT
(A + B + ... +N)T = AT + BT + ... + NT
301
(AB)T = BT AT
(A B...N)T = NT ... BT AT
ATB = BTA
A.2.1. Espacio lineal o vectorial.
Un espacio vectorial es el conjunto de todos los vectores de n componentes bajo las operaciones de suma de vectores
y multiplicación por escalar. Se define con las siguientes propiedades: Dados dos vectores X e Y pertenecientes al
espacio entonces:
También pertenecen al espacio.
Espacio Vectorial Euclideano (En).- Es un espacio vectorial de números reales, tal que dados dos vectores cualquiera
X e Y en Zn, el número real generado del producto XTY tiene las propiedades:
es simétrico: XTY = YTX
es positivo: xt x > 0 para x 0
es bilineal: dados X, Y, W, Z En se tiene:
(XT + YT)*(W +Z) = XT * (W + Z) * YT (W + Z) = (X + Y)T * W + (X + Y)T * Z
La representación geométrica de espacios vectoriales euclidianos puede hacerse para n = 1, n = 2 y n = 3. En E2:
Figura A-4. Representación geométrica de espacios vectoriales euclidianos para n = 1 y n = 2.
302
Figura A-5. Representación geométrica de espacios vectoriales euclidianos para n = 3.
Combinación lineal
Si X1, X2,........., Xn son vectores y 1, 2,..., n son escalares, no todos ceros, entonces.
Es una combinación lineal de los vectores X1, X2,..., Xn
Ejemplo A-7. Determinación de la combinación lineal de vectores columna.
Determinar la combinación lineal de los siguientes vectores columna:
303
Los vectores unitarios (1, 0,..., 0), (0, 1,..., 0),..., (0, 0,...1) representan los puntos de una unidad de medida sobre cada
uno de los ejes coordenados y son útiles para expresar cualquier vector como combinación lineal de los vectores
unitarios.
Vectores linealmente dependientes.- Los vectores X1, X2,..., Xn son linealmente dependientes si existen 1, 2,...
n, no todos cero, tales que
1x1 + 2x2+...+ nXn= 0
Vectores linealmente independientes.- Si la expresión indicada se cumple solo cuando 1 = 2 =... = n = 0 entonces
el conjunto de n vectores x1, x2,..., xn son linealmente independientes.
Ejemplos:
304
Hay un número de valores 1 y 2 0
por lo tanto son L. I.
Conjunto o Subespacio Generador.- Es aquel conjunto de vectores en En que pueden ser utilizados para expresar a
cualquier vector arbitrario de En. Es decir, cualquier vector de En puede representarse como una combinación lineal
del conjunto generador de En.
Teorema.- Sea S no vacío C en En. El conjunto de todas las C. L. de vectores en S, denotado por (s), es un
subespacio de En que contiene a S. (s) es el subespacio menor de En que contiene a S.
Ejemplo: Los vectores e1 = (1, 0, 0), e2 = (0, 1, 0) y e3 = (0, 0, 1) generan el espacio vectorial R3. Cualquier vector (a,
b, c) R3 es una C. L. de los ei.
(a, b, c) = a (1, 0, 0) + b (0, 1, 0) + c (0, 0, 1) = ae1 + be2 + ce3
Ejemplo A-8. Determine si un vector es una combinación lineal.
Determine si el vector v = (3, 9, -4, -2) es una C. L. de los vectores 1 = (1, -2, 0, 3), 2 = (2, 3, 0, -1), 3 = (2, -1, 2,
1) es decir, si pertenece al espacio generado por los i.
305
Entonces: v es una C. L. de los i : v = 1 + 3 2 - 2 3
Base.- De un espacio vectorial es cualquier conjunto de vectores linealmente independientes que general dicho espacio
vectorial.
{x1, x2,...,xn} es base de En son L. I. Y {x1, x2, ..., xn} = En
Ejemplo A-9. Bases.
El conjunto de ei:
es una base para R3, porque e1, e2 y e3 son L. I. y además generan R3 .
El conjunto de vectores
no es una base para R2 porque aunque lo generan no son L. I.
El conjunto de vectores
306
No son una base, porque aunque sean L. I. no generan R3.
Conjunto convexo. Un conjunto en Rn es convexo si dos puntos cualesquiera del mismo se pueden unir por un
segmento formado por todos los puntos de la forma
p + (1 - ) q;
para 0 < < 1
Una combinación convexa de los puntos p1, p2, ........ , pn es un punto p = 1p1 + 2p2 + ... + rnpn donde las i son
escalares 1 >= 0 y i = 1.
Ejemplos de conjuntos convexos son: el espacio En, un círculo, el espacio de una esfera, un cubo.
Teorema.- Cualquier punto sobre el segmento de línea que une dos puntos en En , puede ser expresado como una
combinación convexa de los dos puntos.
P + (q - p) = w o bien: (1 - ) + q = w
Figura A-6. Conjunto convexo.
Punto extremo.- Un punto p en un conjunto convexo, recibe el nombre de punto extremo, si p no puede ser expresado
como una combinación convexa de cualesquiera otros dos puntos distintos en el conjunto. Cada punto sobre la frontera
de un círculo o de una esfera, es un punto extremo del conjunto que incluye la frontera y el interior. Los puntos
extremos de un triángulo o de un polígono son sus vértices.
A.2.2. Matriz inversa.
Una matriz inversa cuadrada A-1 es la inversa de una matriz cuadrada A, si A A-1 = I.
Cualquier matriz cuadrada no singular A, tiene una A-1 única tal que : AA-1 = A-1A = I.
También (AB)-1 = B-1 A-1 donde A, B son matrices n x n.
Cálculo de la inversa de las matrices.
307
Mediante el procedimiento de eliminación completa de Gauss-Jordan se vio que un sistema de ecuaciones lineales, se
reduce por etapas de cálculo a la forma escalonada, eliminando sucesivamente variables de las ecuaciones hasta
reducirla a la solución.
Para mayor claridad véase el ejemplo ya mencionado que por eliminación se redujo a:
Las eliminaciones del procedimiento transforman la matriz de coeficientes.
en la matriz identidad que corresponde a los coeficientes de las ecuaciones transformadas
Se observa que la transformación total con el procedimiento de eliminación de Gauss-Jordan es equivalente a
multiplicar el sistema por A-1.
Frecuentemente es necesario no solo resolver un sistema de ecuaciones simultáneas, sino también obtener la inversa
de la matriz de coeficientes.
Esto se logra colocando una matriz identidad I m x m a la derecha de la matriz original de coeficientes y aplicando
las transformaciones de eliminación a la matriz extendida. La inversa se genera en el lugar de la matriz identidad.
Las matrices se escriben en particiones como sigue: (A| I |b)
(A-1A | A-1I | A-1b) = (I | A-1 | X)
La obtención por eliminación de la inversa mediante eliminación también se denomina operaciones elementales a
renglones de matrices y se resume así:
1. Intercambio de renglones para que a11 0
2. Multiplicar el primer renglón por una constante k 0 (Ri kRi) para que a11= 1
3. Reemplazar todo renglón i > 1, multiplicando el primer renglón (que contiene a11 = 1) por - ai1 y luego sumando
por el i-esimo renglón (i > 1), de tal manera que se elimina el primer coeficiente ai1.
El ejemplo previo ayuda a aclarar el procedimiento.
308
A.2.3. Determinantes.
A = matriz cuadrada
Definición.- Una función det: A2 definida por
Existe un números denotado por | A | y llamado el determinante de la matriz cuadrada A. El | A | se obtiene como la
suma de todos los productos posibles, en cada uno de los cuales aparece uno y solamente uno elemento de cada
renglón y cada columna de A, asignándole a cada producto un signo positivo o negativo de acuerdo con la siguiente
regla. Considerar los elementos en un producto dado, unidos en pares por segmentos de línea. Si el número de tales
segmentos con pendiente hacia la derecha es par, deberá anteponerse un + al producto, de lo contrario se antepone un
signo -.
A.2.4. Método de Chio.
Determinantes de matrices de orden "n"
310
A.2.5. Propiedades de los determinantes.
1. El valor del determinante es cero, si en cada elemento de una columna o de un renglón es cero.
2. El valor de un determinante no cambia si renglones y columnas correspondientes se intercambian.
3. Por cada intercambio de dos columnas o dos renglones, el determinante cambia de signo.
4. El valor del determinante es cero, si dos renglones o columnas son idénticos.
5. Si cada elemento de una columna o de un renglón se multiplica por un número k, entonces el valor del
determinante se multiplica por k.
6. | AB |=| A | | B |
7. | A | = | AT |
Rango de una matriz.- Es el orden del arreglo cuadrado más grande en A, cuyo determinante no vale cero.
Matriz singular.- Si | A | = 0
Matriz no singular.- Si | A | 0
Menor de un elemento a i j.- El | A i j | al eliminar el i-ésimo renglón y la j-ésima columna es el cofator del elemento
en el j-ésimo renglón y i-ésima columna de A.
Adjunta de una matriz Anxn.- Es otra matriz J nxn = A j i en la cual el elemento, en el i- ésimo renglón y j-ésima
columna, es el cofactor del elemento en el j-ésimo renglón y la i-ésima columna de A
Apéndice B. RESULTADOS A PROBLEMAS EJERCICIO EN CAPÍTULOS DEL LIBRO.
Tabla de contenido B.1. Capítulo 1
B.2. Capítulo 2.
B.3. Capítulo 3.
B.4. Capítulo 4.
En esta sección se encontrarán las soluciones a los ejercicios propuestos en cada uno de los capítulos
B.1. Capítulo 1
Resolución de los ejercicios del capítulo 1