Está en la página 1de 219

INTRODUCCIÓN A LA

MODELACIÓN MATEMÁTICA
Y OPTIMIZACIÓN

Carlos Julio Vidal Holguín

UNIVERSIDAD DEL VALLE


FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y


OPTIMIZACIÓN

Programación Lineal, Programación No Lineal y Teoría de Redes:


Formulación y solución de modelos, teoría de dualidad, análisis de
sensibilidad, problema del transporte y problemas seleccionados de redes.
(Versión 1.6 Enero de 2011)

Escrito y recopilado por Carlos Julio Vidal Holguín

Cali, 14 de enero de 2011


2 Introducción a la Modelación Matemática y Optimización

DEDICATORIA
Contenido

1. LA INVESTIGACIÓN DE OPERACIONES .................................................................. 7


1.1. ORÍGENES ................................................................................................................... 7
1.2. NATURALEZA DE LA INVESTIGACIÓN DE OPERACIONES ............................ 9
1.3. IMPACTO DE LA INVESTIGACIÓN DE OPERACIONES ................................... 10
2. EL PROCESO DE DISEÑO EN INGENIERÍA ............................................................ 12
2.1. MODELOS ................................................................................................................. 13
2.1.1. Clasificación de Modelos .................................................................................... 13
2.1.2. Ventajas y Desventajas del Uso de Modelos ....................................................... 15
2.1.3. Algunas Conclusiones con Respecto del Uso de Modelos .................................. 15
2.2. EJEMPLO DE FORMULACIÓN DE MODELOS.................................................... 16
2.2.1. Planeamiento de Cultivos (Programación lineal) ................................................ 16
2.2.2. El Problema del Transporte (Programación lineal) ............................................. 17
2.2.3. El Problema del Salvavidas (Programación no-lineal) ........................................ 17
2.2.4. Localización de una Nueva Bodega (Programación No-Lineal) ......................... 18
2.2.5. Ofertas Para Ocupación de un Hotel (Modelo de Redes) .................................... 18
2.3. ALGORITMOS PARA LA SOLUCIÓN DE MODELOS ........................................ 19
2.3.1. Tiempo de Solución de un Algoritmo ................................................................. 19
2.3.2. Clasificación de Tipos de Problemas................................................................... 20
2.3.3. Tipos de Algoritmos ............................................................................................ 20
3. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL ......................... 25
3.1. ORÍGENES Y ANTECEDENTES HISTÓRICOS .................................................... 25
3.2. NATURALEZA DE LA PROGRAMACIÓN LINEAL ............................................ 25
3.3. SUPOSICIONES DE LOS MODELOS DE PROGRAMACIÓN LINEAL .............. 27
3.3.1. Proporcionalidad .................................................................................................. 27
3.3.2. Aditividad ............................................................................................................ 27
3.3.3. Certeza y Divisibilidad ........................................................................................ 28
3.4. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL ..................... 29
3.4.1. Modelo Nº 1: Programa de Producción ............................................................... 29
3.4.2. Modelo Nº 2: Un Mini-Problema de Dieta .......................................................... 31
3.4.3. Modelo Nº 3: Un Problema de Corte de Papel (Cutting Stock) .......................... 33
3.4.4. Modelo Nº 4: Carga de un Avión ........................................................................ 35
4 Introducción a la Modelación Matemática y Optimización

3.4.5. Modelo Nº 5: Programa de Producción en el Tiempo ......................................... 37


3.4.6. Modelo Nº 6: Problema del Trasporte ................................................................. 42
3.4.7. Modelo Nº 7: Programación de Metas ................................................................ 43
3.4.8. Modelo Nº 8: Un Problema “Probabilístico” ...................................................... 46
3.5. SOLUCIÓN DE MODELOS DE PROGRAMACIÓN LINEAL .............................. 82
3.5.1. Método Gráfico de Solución ............................................................................... 82
3.5.2. Método de Enumeración de Soluciones Básicas ................................................. 89
4. EL MÉTODO SIMPLEX ............................................................................................. 101
4.1. SOLUCIONES BÁSICAS EN FORMA MATRICIAL ........................................... 103
4.2. EL MÉTODO SIMPLEX EN FORMA MATRICIAL ............................................. 104
4.3. APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA MATRICIAL ................ 109
4.4. EL MÉTODO SIMPLEX EN FORMA TABULAR ................................................ 112
4.5. EL MÉTODO SIMPLEX CON VARIABLES ARTIFICIALES ............................. 113
4.5.1. El Método de la “Gran M” ................................................................................ 114
4.5.2. El método de las Dos Fases ............................................................................... 120
5. TEORÍA DE DUALIDAD ........................................................................................... 122
5.1. RELACIONES ENTRE LOS PROBLEMAS PRIMAL Y DUAL .......................... 124
5.1.1. Solución del Problema Dual .............................................................................. 125
5.1.2. El problema Dual Adaptado a Otros Modelos de Programación Lineal ........... 127
5.1.3. Otras Propiedades del Problema Dual ............................................................... 128
5.2. APLICACIONES DE LA TEORÍA DE DUALIDAD ............................................. 128
5.2.1. Ahorro en Cálculos ............................................................................................ 129
5.2.2. El Algoritmo SIMPLEX Dual ........................................................................... 129
6. ANÁLISIS DE SENSIBILIDAD ................................................................................. 132
6.1. CAMBIOS EN EL VECTOR C (Coeficientes de la función objetivo) .................... 133
6.1.1. Cambios en los Coeficientes de la Función Objetivo de una Variable No-Básica.
133
6.1.2. Cambios en los Coeficientes de la Función Objetivo de una Variable Básica. . 133
6.2. CAMBIOS EN EL VECTOR b (Vector de recursos) .............................................. 133
6.3. CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A ......................................... 134
6.3.1. Cambios en una Columna No-Básica de A ....................................................... 134
6.3.2. Cambios en una Columna Básica de A. ............................................................ 134
6.4. INTRODUCCIÓN DE UNA NUEVA VARIABLE ................................................ 135
6.5. INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN .......................................... 135
6.6. EJEMPLO DE APLICACIÓN DE ANÁLISIS DE SENSIBILIDAD ..................... 137
6.6.1. Planteamiento y Solución del Modelo ............................................................... 138
6.6.2. Análisis de las Alternativas ............................................................................... 140
7. EL MÉTODO SIMPLEX REVISADO ........................................................................ 146
7.1. MÉTODO SIMPLEX REVISADO SIN VARIABLES ARTIFICIALES ............... 148
8. OPTIMIZACIÓN NO LINEAL ................................................................................... 162
8.1. TEORIA DE OPTIMIZACIÓN CLÁSICA ............................................................. 163
8.1.1. Problemas No-Restringidos: .............................................................................. 163
8.1.2. Problemas con Restricciones de Igualdad ......................................................... 165
8.2. PROBLEMAS CON RESTRICCIONES DE DESIGUALDAD ............................. 170
8.2.1. Las condiciones de Kuhn-Tucker ...................................................................... 170
9. INTRODUCCIÓN A LAS TÉCNICAS DE BÚSQUEDA .......................................... 174
9.1. MÉTODOS DE BÚSQUEDA DIRECTA ................................................................ 174
9.2. MÉTODO DE BÚSQUEDA ALEATORIA ............................................................ 174
9.3. MÉTODO DE LA MALLA ..................................................................................... 174
9.4. BÚSQUEDA DICOTÓMICA .................................................................................. 175
9.5. EL MÉTODO DEL GRADIENTE ........................................................................... 176
10. ALGUNAS APLICACIONES DE PROGRAMACION NO-LINEAL ....................... 180
10.1. PROGRAMACIÓN CUADRÁTICA ................................................................... 180
10.2. UN PROBLEMA DE INVENTARIOS DETERMINÍSTICOS ........................... 184
10.3. CANTIDAD ÓPTIMA DE PEDIDO CON LÍMITES DE ALMACENAMIENTO
185
11. ANEXO 1: EL PROBLEMA DE LA BAUXITA ........................................................ 189
12. ANEXO 2: EL PROBLEMA DEL TRANSPORTE E INTRODUCCIÓN A LA
TEORÍA DE REDES .............................................................................................................. 209
13. BIBLIOGRAFÍA .......................................................................................................... 217
6 Introducción a la Modelación Matemática y Optimización

SINOPSIS
La presente publicación trata de familiarizar al estudiante con los principales aspectos
de la Investigación de Operaciones (IO), incluyendo su origen histórico, su naturaleza y sus
diversas técnicas. El énfasis principal se da a los modelos de programación lineal, incluyendo
la programación lineal entera y el problema del transporte. Posteriormente, se presenta una
introducción a los modelos de redes. Así, estas notas pueden utilizarse en cursos de
Investigación de Operaciones I, Modelación Matemática e Introducción a la Optimización,
tanto para pregrado como para postgrado.

La metodología utilizada es la exposición de los principales temas con numerosos


modelos y ejemplos resueltos. Se proponen también diversos ejercicios en cada una de las
secciones para ser desarrollados por los estudiantes. Para una mejor comprensión del texto, se
sugiere la lectura secuencial por capítulos antes de cada clase, complementada con referencias
adicionales.

Se agradece sinceramente a todas las personas que con su esfuerzo como monitores
hicieron posible la recopilación de estas notas de clase: A Héctor Toro, Ana María Pérez, Juan
Carlos Lozano, Jhonatan Arias y a todas las personas que de una u otra forma han colaborado
con la producción de estas notas.

Carlos Julio Vidal Holguín


Enero de 2011
carlos.vidal@correounivalle.edu.co
1. LA INVESTIGACIÓN DE
OPERACIONES
1.1. ORÍGENES
Algunos autores afirman que las primeras semillas para el surgimiento de la IO se
remontan hacia mediados del siglo XVIII cuando en 1759 el economista Quesnay utilizó
algunos modelos simples de programación matemática y hacia el año 1874 cuando otro
economista, Walras, usó técnicas similares. Sin embargo, el acontecimiento histórico que
marcó el verdadero origen de la IO fue la segunda guerra mundial.

Generalmente, en tiempos de guerra los recursos se vuelven escasos y su utilización


debe hacerse en la forma más racional posible para obtener de ellos el máximo provecho. Fue
así como la milicia británica y posteriormente la de los Estados Unidos decidieron apoyarse en
un grupo de investigadores con el objeto de diseñar procedimientos científicos para ser
utilizados en las estrategias y técnicas militares. Estos grupos se dedicarían, por lo tanto, a
investigar las operaciones militares. Al parecer, de aquí surgió el nombre de esta disciplina
como sigue utilizándose actualmente. Es de destacar que los estudios realizados por estos
grupos de científicos, según se afirma, contribuyeron positivamente a grandes triunfos de los
países aliados en la segunda guerra mundial, tales como las batallas de Inglaterra y del
Atlántico Norte.

Por otra parte, como consecuencia de la primera Revolución Industrial acaecida en el


Siglo XIX, las organizaciones en general habían sufrido cambios sustanciales, pasando de
pequeños talleres artesanales a medianas y grandes empresas. Además, se pasó de empresas
con un solo administrador o dueño absoluto, quien tenía a su cargo las principales decisiones,
a empresas que por su naturaleza y tamaño tuvieron la necesidad de crear la división funcional
del trabajo y segmentar las responsabilidades administrativas, delegando en varias personas el
proceso de toma de decisiones.

Aunque lo anterior trajo grandes ventajas, empezaron a surgir problemas debidos a la


independencia de los departamentos y secciones de las empresas. Cada ente defendía sus
objetivos particulares, sin contribuir como un todo a las metas y objetivos generales de la
organización, lo cual inclusive se sigue observando en la actualidad. Es entonces cuando
aparecen los primeros problemas de decisión a alto nivel, los cuales eventualmente trataría de
abordar algunas técnicas de la investigación de operaciones.

Debido al éxito de los grupos de científicos que realizaron la investigación de


operaciones militares y como el ambiente de las organizaciones era el propicio, la industria
empezó a interesarse en ellos para que diseñaran procedimientos científicos para abordar los
problemas de decisión que las empresas estaban enfrentando. Fue así como al terminar la
guerra, los británicos comenzaron a utilizar esta metodología en sus industrias y se dieron
cuenta que sus problemas eran de naturaleza semejante a la de los problemas militares:
recursos limitados y dificultad para lograr su mejor asignación a las diversas actividades de la
8 Introducción a la Modelación Matemática y Optimización

empresa. En los Estados Unidos, el interés de la industria por las técnicas de la IO no fue tan
inmediato y surgió con el advenimiento de las Segunda Revolución Industrial, caracterizada
por la automatización y el advenimiento de los computadores electrónicos digitales.

El notable adelanto logrado en pocos años en las técnicas de la IO se debió al interés de


muchos científicos en perfeccionar lo que ya habían desarrollado para las tácticas militares y
al surgimiento de los computadores. Fue así como en 1947, el Dr. George Dantzig, con la
ayuda de muchos de sus antecesores, logró desarrollar el método simplex para la solución de
problemas de programación lineal, método que hasta la actualidad es utilizado mundialmente
para la solución de grandes problemas de aplicación de esta técnica.

Antes de finalizar la década de los 50s, otras técnicas de la IO fueron ampliamente


desarrolladas, tales como la programación dinámica, la teoría de colas y la teoría de
inventarios. En 1952 se funda en Estados Unidos la “Operations Research Society of
America”, ORSA, la cual hacia 1972 ya contaba con alrededor de 8000 miembros en todo el
mundo. Posteriormente, la ORSA se fusionó con el Instituto Americano para las Ciencias de
la Administración y se creó el “Institute for Operations Research and the Management
Sciences”, INFORMS (ver página web www.informs.org), el cual actualmente cuenta con
miles de miembros de todo el mundo y celebra reuniones trimestrales en los Estados Unidos y
reuniones anuales en diferentes partes del mundo, donde se exponen las últimas
investigaciones en el área. Existen también actualmente diversas organizaciones en todo el
mundo para la divulgación y el desarrollo de la investigación de operaciones, tales como
EURO en Europa y la recientemente creada SOCIO en Colombia (Sociedad Colombiana de
Investigación de Operaciones). Todas estas organizaciones tienen importantes publicaciones
periódicas que circulan a nivel mundial. INFORMS, por ejemplo, publica las revistas
“Operations Research” y “Management Science”, entre otras, de gran renombre en el área de
investigación de operaciones.

En las universidades, por otra parte, existen programas de estudios de pregrado y


postgrado (a nivel de maestría y doctorado) íntimamente relacionados con el área de la
investigación de operaciones. Existen, por ejemplo, escuelas de ingeniería industrial con áreas
especializadas en optimización y en producción y distribución que hacen extensiva
investigación y aplicación de las técnicas de la investigación de operaciones.

Algunas de las técnicas de la IO se han ido especializando de tal forma, que


actualmente representan un cuerpo independiente y con desarrollos propios, como por
ejemplo, la estadística, la optimización y la simulación. En otros casos, algunas áreas del
conocimiento utilizan ampliamente la IO, como es el caso de la Logística, la cual aplican por
ejemplo diversas técnicas de optimización. Además, existen diversos proveedores de software
dedicados exclusivamente al desarrollo de programas especializados de técnicas de IO, como
es el caso de la simulación y la optimización, quienes promueven sus productos con
seminarios y cursos alrededor del mundo.

Aunque muchas veces se ha dado la discusión sobre la utilidad real de la IO y su


posible decadencia, todo parece indicar que sus diversas técnicas han tomado en la actualidad
completa independencia y autonomía, y las innumerables aplicaciones que existen siguen en
desarrollo y crecimiento. Un ejemplo típico de esto es la aplicación de la IO para el diseño y
optimización de las cadenas de abastecimiento.

1.2. NATURALEZA DE LA INVESTIGACIÓN DE


OPERACIONES
De acuerdo con Hillier y Lieberman (1997), se ha tratado de enmarcar a la IO y
definirla. Sin embargo, su propio origen hace que esto sea una tarea muy difícil o imposible.
En lugar de definirla, entonces, es preferible dar una idea de su naturaleza y sus características
para comprender mejor su esencia.

La IO aplica el método científico para el estudio de los diversos problemas,


observando y definiendo claramente el problema en cuestión. Posteriormente se diseña un
modelo (generalmente matemático) que permite representar y abstraer la realidad del sistema
bajo estudio. Seguidamente, se obtienen las soluciones del modelo y se trata de validar el
modelo, principalmente con el análisis de las respuestas del modelo y la experimentación. De
acuerdo con los resultados de la validación, es posible retornar al rediseño del modelo y su
refinamiento, convirtiéndose así en un proceso iterativo que puede cambiar de acuerdo con la
dinámica del sistema estudiado. Como puede observarse, esta metodología corresponde a la
utilización del enfoque de sistemas como herramienta de estudio de los problemas, donde se
identifican y analizan los componentes, interrelaciones y factores significativos del sistema
bajo análisis.

Las conclusiones obtenidas con la aplicación del modelo deben enmarcarse en la


realidad del problema analizado y deben ser fáciles de interpretar y de implementar para el
ente decisorio. Por lo tanto, la IO debe producir soluciones de problemas reales que puedan
ser aplicadas de una manera eficiente y racional por las personas responsables de los procesos
decisorios de la organización.

Como puede observarse, el punto de vista de la IO es muy amplio, pues apunta hacia
cualquier tipo de organización, tratando de resolver los conflictos entre los componentes de la
misma, para obtener el máximo provecho de los recursos disponibles y lograr los objetivos
globales de la empresa. Ese “máximo aprovechamiento de los recursos” se ve reflejado en la
mayoría de los casos que estudia la investigación operacional en la búsqueda de soluciones
óptimas de los problemas.

La investigación de operaciones se ocupa y hace uso de diversos y muy variados


campos del conocimiento humano. Por lo tanto, la IO presenta la característica de ser aplicada
por grupos interdisciplinarios, tales como personas expertas en los campos de las
matemáticas, la estadística y la probabilidad, economía, administración, ingeniería industrial y
de sistemas, ciencias de la computación, sicología, ingeniería en general, e incluso en las áreas
de la salud, tales como la medicina y epidemiología.

Por otra parte, el grupo que realiza un estudio específico en alguna organización debe
contener personas expertas en las áreas antes mencionadas y además poseer un conocimiento
10 Introducción a la Modelación Matemática y Optimización

global y profundo de la organización misma, de tal forma que la definición del problema, el
diseño del modelo y la utilización de sus soluciones estén enmarcados dentro del contexto del
sistema real y específico bajo estudio. De esto último puede deducirse que los resultados que
brinda la IO se obtienen en general de mediano a largo plazo, pues el conocimiento inicial del
sistema bajo estudio por parte del grupo puede consumir un tiempo considerable.

En resumen, y tal como lo expresan Hillier y Lieberman (1997), la investigación de


operaciones se ocupa de la modelación y la toma de decisiones óptimas en sistemas
determinísticos y probabilísticos de la vida real. Aquí nos ocuparemos de modelos
determinísticos de optimización y sus aplicaciones a sistemas reales.

1.3. IMPACTO DE LA INVESTIGACIÓN DE


OPERACIONES
Debido a su amplio punto de vista, la IO se ha aplicado y se continúa aplicando a los
más diversos campos del conocimiento humano. Es así como las diversas técnicas de la IO se
han utilizado con éxito en campos de los negocios, entes gubernamentales y militares, la banca
y otros sectores de servicios y la industria en general, en aspectos como la producción, los
mercados, las inversiones y las finanzas, la salud, las ciencias sociales, la biología, etc. Unos
pocos ejemplos de estas aplicaciones son los siguientes:

 Control y predicción del crecimiento económico,


 Planeación de la expansión de plantas manufactureras,
 Planeación urbana,
 Optimización de servicios de transporte y de transporte de basuras,
 Diseño de redes de tubería,
 Optimización y diseño de cadenas de abastecimiento regionales e internacionales,
 Estrategias de sustitución de importaciones,
 Planeación agregada de la producción,
 Planeación y estrategias en empresas de transporte aéreo,
 Problemas de inventarios en general, incluyendo materias primas y productos
terminados,
 Mantenimiento y reemplazo de equipos,
 Evaluación de estrategias de publicidad,
 Tratamiento óptimo de tumores cancerosos,
 Estudio de la propagación de epidemias (como el SIDA),
 Distribución del esfuerzo de ventas,
 Entrenamiento de personal,
 Diversas aplicaciones en refinerías petroleras,
 Predicción financiera,
 Optimización de satélites,
 Distribución de fuerzas navales y aéreas,
 Evaluación de inversiones en bonos y acciones,
 Planeación y control de proyectos,
 Estudios de diversos sistemas de servicio (teoría de colas y simulación),
 Programas de vacunación de perros callejeros,
 Predicción de trabajo policiaco,
 Estudios de factores de criminalidad y
 Otras diversas aplicaciones en muchos campos.

Como puede observarse, las posibilidades de aplicación son inmensas y cada día más
especializadas. Las aplicaciones reales de la IO están creciendo cada día, especialmente en
nuestro medio cuando apenas empieza a reconocerse su importancia y utilidad para el diseño y
optimización de sistemas complejos.

Entre las técnicas de la IO que más se han utilizado se resaltan el análisis estadístico
cuyo origen tuvo lugar con el desarrollo de la IO, para posteriormente volverse una técnica
independiente con sus propios desarrollos. Igualmente, la programación lineal y la simulación
han tenido y tienen actualmente un gran desarrollo en diversos campos, como por ejemplo los
sistemas integrados de producción y distribución, los sistemas de manejo de materiales,
algunas aplicaciones en agricultura, los problemas de planeación de las líneas aéreas y muchos
otros más.

Entre otras técnicas de la IO se destacan:

 Los modelos de redes,


 La programación dinámica,
 Los modelos de inventarios,
 La teoría de pronósticos,
 La teoría de análisis de decisión y juegos,
 Los sistemas de colas,
 Los procesos markovianos de decisión y
 La optimización no-lineal.

Prácticamente cada una de estas técnicas podría dar lugar a cursos completos o
seminarios especializados, con amplia exposición de aplicaciones reales. Esta publicación se
centra en lo que podría denominarse un curso de Introducción a la Optimización o
Investigación de Operaciones I, concentrándose principalmente en los modelos de
programación lineal y brindando una introducción a la teoría de redes y a la programación no-
lineal.
12 Introducción a la Modelación Matemática y Optimización

2. EL PROCESO DE DISEÑO EN
INGENIERÍA
Como ya se ha visto, la IO aplica el método científico para analizar, modelar y
optimizar sistemas complejos reales. Desde el punto de vista de la ingeniería industrial y de
sistemas, esta metodología podría definirse como el “proceso de diseño en ingeniería.” Este
proceso consiste en una serie de pasos bien definidos para encontrar la solución de problemas
reales. La Figura 2.1 muestra una síntesis de este proceso.

Formulación del Problema

Análisis del problema y


recolección de datos

Generación de alternativas de
solución

Formulación y
Evaluación y selección de la(s)
validación de un
mejor(es) alternativa(s)
modelo

Especificaciones de la(s)
solución(es)

Implementación, evaluación y
control del diseño utilizado

Figura 2.1. El proceso de diseño en ingeniería

Inicialmente debe identificarse claramente el problema que se va a resolver. Este paso


es fundamental para el éxito de todo el proceso, ya que si el problema no está bien formulado,
cualquier análisis podría llegar a conclusiones sin sentido. Una vez definido el problema, se
pasa a su análisis y se recolectan datos preliminares que permitan enmarcarlo de una forma
más precisa.

Posteriormente, se generan posibles alternativas de solución del problema. El paso


siguiente consiste en la evaluación de las alternativas con el objeto de determinar la mejor o
mejores. Es en este paso cuando la formulación de un modelo como herramienta de decisión
puede ser muy importante. Obviamente, puede llegarse a una selección de una buena
alternativa sin necesidad de formular ningún modelo, pero generalmente éste da una visión
mucho más amplia del sistema bajo estudio y, en otras ocasiones, se hace imprescindible su
utilización.

El modelo formulado entra en un proceso de validación para determinar su grado de


aproximación con la realidad, a través de la comparación con resultados históricos y con
indicadores extraídos del sistema real bajo análisis. Una vez superado este paso, el modelo
puede utilizarse para evaluar las alternativas de solución y determinar la mejor.

Los dos pasos siguientes son comunes al proceso bien sea que exista o no un modelo
de decisión. Se trata de especificar claramente la solución con el objeto de que sea
implementada de una forma correcta y de que permita su continua evaluación y control. Estos
pasos pueden identificar desviaciones de la realidad o cambios con respecto de la concepción
original del problema, de tal forma que se puede hacer necesario un proceso continuo de
análisis y refinamiento del modelo, incluso existiendo la posibilidad de reformular el problema
e iniciar el proceso de nuevo.

2.1. MODELOS
Uno de los pasos fundamentales del proceso descrito anteriormente puede ser la
formulación y validación de un modelo de decisión. En general, puede decirse que un modelo
es la abstracción de la realidad, el cual debe poseer dos características básicas:

 Ser más fácil de manipular y


 Proveer una mejor visión del sistema bajo estudio.

En todas las disciplinas, de una u otra forma, se utilizan modelos. A continuación se da una
clasificación típica de modelos.

2.1.1. Clasificación de Modelos

De acuerdo con su naturaleza los modelos pueden clasificarse en:

 Físicos, los cuales normalmente lucen semejantes a la realidad física, pero a menor
escala, como por ejemplo un avión en miniatura siendo probado en un túnel de
viento.

 Análogos o analógicos, los cuales no asemejan físicamente el sistema bajo estudio,


sino que exhiben conexiones entre los parámetros de entrada y las variables de
salida proporcionales a los correspondientes parámetros y variables existentes en el
sistema real. Un ejemplo clásico de un modelo análogo se utiliza en la localización
óptima de una nueva planta o centro de distribución en el plano, donde se trata de
minimizar la suma ponderada de las distancias de la nueva instalación hacia todas
las instalaciones existentes (plantas o centros de distribución). Para ello se
construye una estructura en la que se tiene una mesa horizontal con agujeros
14 Introducción a la Modelación Matemática y Optimización

dispuestos de la misma forma que las instalaciones existentes, normalmente a


escala. Una cuerda para cada una de las instalaciones existentes se ata a un nudo
común y todas se hacen pasar por sus agujeros respectivos, a través de poleas que
se puedan considerar sin fricción. En el extremo libre de cada cuerda se cuelga un
peso proporcional al volumen que manejará la correspondiente instalación
multiplicado por su costo unitario de transporte. El sistema se deja en libertad hasta
que el nudo quede en reposo; el punto de equilibrio del nudo corresponde a la
localización óptima del nuevo centro de distribución y la longitud de las cuerdas
entre el nudo y las poleas representará la distancia entre las instalaciones existentes
y la nueva instalación. Como puede verse, se trata aquí de resolver un problema de
localización mediante el uso de un modelo analógico mecánico.

 Matemáticos, los cuales incorporan las propiedades y el comportamiento básico del


sistema bajo estudio mediante relaciones matemáticas reflejadas en parámetros,
variables de decisión, funciones objetivo, etc. El ejemplo típico son los modelos de
programación lineal que se exponen a partir del capítulo siguiente.

Otro tipo de clasificación define los modelos como descriptivos, o sea aquéllos que
sólo describen el sistema bajo estudio, o normativos u optimizables, los cuales se formulan
para mejorar u optimizar el sistema bajo estudio. De manera semejante, los modelos se pueden
clasificar en determinísticos o estocásticos (probabilísticos), de acuerdo con su capacidad de
involucrar o no variables aleatorias en el análisis.

A partir de estas últimas clasificaciones, se pueden dar todas las combinaciones


posibles de modelos, a saber:

 Modelos determinísticos – descriptivos (como por ejemplo las ecuaciones que


reflejan la Ley de Ohm);
 Modelos determinísticos – optimizables (como por ejemplo los modelos de
programación lineal);
 Modelos estocásticos – descriptivos (como por ejemplo los modelos de colas y
simulación);
 Modelos estocásticos – optimizables (como por ejemplo algunos modelos de
programación no-lineal e inventarios).

Existen otras clasificaciones más detalladas, pero con las dadas aquí es suficiente para
ilustrar los tipos de modelos objeto de esta publicación. En general, los modelos matemáticos
tratados en esta publicación, es decir los de programación lineal, modelos de redes y
programación no-lineal, pueden ser clasificados como modelos matemáticos determinístico-
optimizables.
2.1.2. Ventajas y Desventajas del Uso de Modelos

Existen múltiples ventajas en el uso de modelos como herramientas poderosas para la


toma de decisiones. Las principales son:

 Consideración de aspectos fundamentales del sistema que serían muy difíciles o


imposibles de analizar sin la ayuda de los modelos;
 Definición precisa de los objetivos, estructura y restricciones del sistema;
 Definición de parámetros, costos e indicadores de eficiencia que recogen los
aspectos más relevantes para el análisis del sistema bajo estudio;
 Evaluación sistemática de alternativas;
 Rápida respuesta de análisis de sensibilidad, los cuales de otra forma serían
demasiado dificultosos o imposibles.

Por el contrario, existen también algunas desventajas que deben ser evaluadas antes de
emprender la tarea de formulación de un modelo para la solución de un problema. Ellas son:

 Requerimiento y recolección de conjuntos de datos muy extensos y, en general, con


altas exigencias en su grado de precisión;
 Requerimiento de conocimientos altamente especializados para su formulación,
solución y análisis de resultados;
 Necesidad de disponer de sistemas de computación y programas complejos y
costosos;
 Requerimiento de tiempos de solución muy largos, los cuales pueden en algunos
casos puede resultar prohibitivos.

A pesar de estas desventajas potenciales, cuando se emprende la tarea de modelar una


situación real y se identifican los aspectos básicos a ser involucrados en el modelo con la
información requerida necesaria, las ventajas potenciales superan ampliamente cualquier
dificultad que se encuentre.

2.1.3. Algunas Conclusiones con Respecto del Uso de Modelos

Uno de los aspectos básicos de la modelación matemática es el de considerar el


suficiente grado de abstracción de la realidad, de tal forma que el modelo tenga el suficiente
realismo, contra la posibilidad de que sea resuelto en un tiempo de computación aceptable. El
arte de modelar consiste precisamente en identificar las características fundamentales del
sistema a ser involucradas en el modelo y en diseñar modelos que permitan ser resueltos en
forma eficiente. Desde este punto de vista es tan importante y fundamental formular un
modelo, como encontrar sus soluciones en un tiempo computacional aceptable, para después
analizarlas e implementar las que se consideren mejores.

La formulación de modelos debe ser un proceso progresivo, donde inicialmente se


formule un modelo de poca elaboración y luego se refine gradualmente hasta obtener el
16 Introducción a la Modelación Matemática y Optimización

equilibrio mencionado anteriormente. Generalmente, es un error tratar de formular en el inicio


del proceso el modelo más complejo y elaborado.

Los modelos deben siempre considerarse como un soporte o ayuda para la toma de
decisiones y nunca como el reemplazo de las personas que toman las decisiones. Si se formula
un modelo pensando que sus resultados van a resolver todos los problemas de decisión y van a
ser implementados “a ojos cerrados,” se cae en un grave error que puede traer consecuencias
impredecibles. Existen en la realidad muchos factores que no pueden ser involucrados en
modelos matemáticos y que sólo los grupos de personas que toman las decisiones pueden
evaluar. Por lo tanto, desde este punto de vista, los modelos son una poderosa herramienta
para este proceso, pero no el fin mismo de la decisión.

2.2. EJEMPLO DE FORMULACIÓN DE MODELOS


A continuación se proponen algunos modelos ilustrativos que permiten precisar y
analizar todo lo expresado anteriormente. Estos modelos serán formulados y discutidos en
clase.

2.2.1. Planeamiento de Cultivos (Programación lineal)

Uno de los experimentos sociales importantes en la región mediterránea es el sistema


de comunas (Kibutz), o más ampliamente conocido como comunidades agrícolas comunales,
el cual ha sido desarrollado en Israel. Es muy común para los grupos de comunas unirse y
compartir servicios técnicos y también compartir su producción. En el presente ejemplo
consideramos un sistema de tres comunas. La planeación global para este grupo se hace en la
oficina técnica coordinadora. Esta oficina corrientemente planea la producción agrícola para el
año venidero. Los productos agrícolas de cada comuna están limitados tanto por la cantidad de
tierra irrigable disponible, como por la cantidad de agua asignada para irrigación. Las
dimensiones de las comunas y su agua asignada para el próximo año se muestran en la Tabla
2.1.

Tabla 2.1. Dimensiones y agua asignada de cada comuna


COMUNA TIERRA USABLE (ha) AGUA ASIGNADA (m3)
1 400 600
2 600 800
3 300 375

Los cultivos apropiados para la región en consideración son remolacha, algodón y


sorgo. Estos cultivos son los únicos que se considerarán para el período bajo análisis. Los
cultivos difieren entre sí principalmente en su retorno neto esperado por hectárea (ha) y en su
consumo de agua por hectárea cultivada. Adicionalmente, la oficina coordinadora ha
implantado una máxima cuota para el total de hectáreas que se pueden destinar a cada uno de
estos cultivos. Toda esta información se muestra en la Tabla 2.2.
Tabla 2.2. Máxima cuota, consumo de agua y retorno esperado de cada cultivo
RETORNO
MÁXIMA CUOTA CONSUMO DE AGUA
CULTIVO ESPERADO
(ha) (m3/ha)
($/ha)
Remolacha 600 3 400
Algodón 500 2 300
Sorgo 325 1 100

Las tres comunas han llegado a un acuerdo para que cada comuna siembre la misma
proporción de su tierra irrigable disponible. Sin embargo, cualquier combinación de cultivos
puede sembrarse en cualquiera de las comunas. Deben, entonces, planearse cuántas hectáreas
destinar para cada tipo de cultivo en cada comuna. Formule un modelo de programación lineal
para este efecto, de manera que se maximice el retorno neto esperado de todas las comunas.

2.2.2. El Problema del Transporte (Programación lineal)

Una compañía multinacional posee n fábricas situadas en diferentes lugares, desde las
cuales surte a sus m principales distribuidores localizados también en diferentes lugares.
Continuamente las fábricas deben cubrir las demandas de sus distribuidores, teniendo en
cuenta su capacidad de producción. Si ai es la capacidad de producción de la planta i (i = 1, 2,
..., n), bj es la demanda del distribuidor j (j = 1, 2, ..., m), y cij es el costo unitario de transporte
desde la fábrica i hacia el distribuidor j (i = 1, 2, ..., n; j = 1, 2, ..., m), formule un modelo
matemático de programación lineal que permita encontrar los flujos entre cada fábrica y cada
distribuidor, de tal forma que se satisfaga la demanda al costo total mínimo de transporte.

2.2.3. El Problema del Salvavidas (Programación no-lineal)

Un salvavidas se encuentra situado en un punto S sobre una playa plana y recta, situado
a 30 m de la orilla, como muestra la Figura 2.2. Dentro del agua, en un punto P, situado 80 m a
la izquierda de S y 100 m dentro del agua, se encuentra un bañista en peligro de ahogarse. El
salvavidas puede correr a una velocidad lineal constante de 9 m/seg sobre la tierra y nadar a
una velocidad lineal constante de 2.5 m/seg. Formule un modelo de programación matemática
para determinar la ruta que debe seguir el salvavidas de tal forma que llegue lo más pronto
posible donde se encuentra la persona en peligro. Discuta detalladamente el mayor número
posible de supuestos que tuvo que considerar para obtener el modelo formulado.
P

agua

100 m

80 m 30 m

tierra
S
Figura 2.22.2.
Figura El El
problema del
problema del salvavidas
salvavidas
18 Introducción a la Modelación Matemática y Optimización

2.2.4. Localización de una Nueva Bodega (Programación No-Lineal)

Una empresa posee dos plantas, P1 y P2, que van a alimentar a una nueva bodega, W, la
cual a su vez proveerá a tres centros de consumo, C1, C2 y C3. El producto A se produce en la
planta P1 y el producto B se produce en la planta P2. Las plantas enviarán sus productos
respectivos hacia la bodega, para ser distribuidos hacia los centros de consumo. El volumen
total, el costo unitario de transporte y la localización de cada instalación se muestran en la
Tabla 2.3. El costo de transporte se considera proporcional al volumen transportado y a la
distancia recorrida, medida como la distancia euclidiana entre los dos puntos, o sea que la
distancia entre los puntos (x1, y1) y (x2, y2) viene dada por:

Tabla 2.3. Datos de volumen, costo de transporte y coordenadas de cada punto


COSTO DE COORD. COORD.
VOLUMEN
PUNTO i PRODUCTO TRANSPORTE xi yi
TOTAL (t)
[$/(t.km)] (Km) (Km)
P1 A 2,000 0.050 3 8
P2 B 3,000 0.050 8 2
C1 A&B 2,500 0.075 2 5
C2 A&B 1,000 0.075 6 4
C3 A&B 1,500 0.075 8 8

Formule un modelo de programación matemática que permita determinar la


localización óptima de la nueva bodega W de tal forma que se minimicen los costos totales de
transporte.

2.2.5. Ofertas Para Ocupación de un Hotel (Modelo de Redes)

Un hotel turístico muy demandado recibe una serie de ofertas para ocupación de uno de
sus mejores conjuntos de habitaciones entre Mayo 1 y Agosto 31. Las ofertas varían en cuanto
al precio de las habitaciones, ya que existen diferentes tipos de clientes, y en cuanto al día de
llegada y al día de salida de los turistas. Por ejemplo, una oferta puede ser por $800,000 entre
Junio 15 y Junio 18, mientras que otra oferta puede ser por $1,000,000 entre Junio 16 y Junio
20. Como el ejemplo muestra, no se permite superposición de ofertas, ya que se supone que
cada una de ellas ocuparía completamente las habitaciones disponibles. Por lo tanto, de las dos
ofertas mostradas en el ejemplo, sólo una puede escogerse. También, pueden existir períodos
de tiempo donde no exista ninguna oferta. Formule un modelo de redes que permita encontrar
la mejor forma de seleccionar las ofertas entre Mayo 1 y Agosto 31, de tal forma que se
maximice el ingreso total del hotel para este período.
2.3. ALGORITMOS PARA LA SOLUCIÓN DE
MODELOS
Una vez formulado un modelo matemático, éste debe resolverse para cumplir con los
pasos de evaluación de las alternativas y selección de la(s) alternativa(s) óptima(s). El proceso
que se utiliza para lograr este objetivo se denomina algoritmo. Un algoritmo es, por lo tanto,
un conjunto finito de pasos, especialmente diseñado para la solución de un problema.

Desde el punto de vista de cumplimiento de los objetivos de un algoritmo, se dice que


éste es eficiente si resuelve el problema en un tiempo razonable. Por otra parte, se dice que un
algoritmo es efectivo siempre y cuando produzca una solución de alta calidad, o sea una
solución del problema bajo estudio que esté lo suficientemente cerca de la solución óptima
como para que pueda ser utilizada en el proceso de diseño en ingeniería.

2.3.1. Tiempo de Solución de un Algoritmo

El tiempo que un algoritmo emplea en resolver un problema es fundamental para


determinar su utilidad en la solución de problemas reales. Supóngase que n es un indicador del
tamaño del problema que se está resolviendo, como por ejemplo, el número de variables y/ó
restricciones involucradas en él, y que el tiempo que emplea un algoritmo en resolver dicho
problema es:

(2.1)

donde ak > 0. Se dice entonces que el algoritmo resuelve el problema en tiempo


polinomial y que es “de orden nk”, lo cual se denota como O(nk). Si, por el contrario, el
algoritmo es de orden O(2n), por ejemplo, se dice que el algoritmo es no-polinomial y que en
este caso su tiempo de solución es exponencial. La Tabla 2.4 presenta un ejemplo de los
tiempos de solución de un algoritmo, dependiendo de su orden. Nótese que incluso para
problemas “pequeños”, si el orden del algoritmo es exponencial, puede que dicho algoritmo
jamás resuelva el problema con los computadores que existen actualmente.

Tabla 2.4. Ejemplo de tiempos de solución de un algoritmo


Tamaño del Tamaño del Tamaño del Tamaño del
ORDEN DEL
problema problema problema problema
ALGORITMO
n = 10 n = 20 n = 40 n = 80

N 0.001 seg. 0.002 seg. 0.004 seg. 0.008 seg.

n3 0.001 seg. 0.008 seg. 0.064 seg. 0.512 seg.

2n 0.001 seg. 1.024 seg. 12.43 días 10


años!!

Fuente: Goetschalckx (1998), pág. 10


20 Introducción a la Modelación Matemática y Optimización

2.3.2. Clasificación de Tipos de Problemas

Existen problemas para los cuales se conocen algoritmos de solución polinomiales.


Independientemente del orden k del polinomio que refleja el tiempo de solución del algoritmo,
se dice que estos problemas son “fáciles” de resolver y se clasifican como problemas tipo P.
Existe otro tipo de problemas, por el contrario, para los cuales no se conoce ningún algoritmo
de solución de orden polinomial, ya que todos los algoritmos conocidos corren en tiempo
exponencial. Estos problemas se dice que son “difíciles” o “duros” de resolver y se clasifican
como problemas tipo NP. Se dice, entonces, que estos problemas son NP-completos.

La teoría desarrollada para la clasificación de problemas con respecto a su posibilidad


de solución es mucho más compleja, pero la idea principal es que existen problemas fáciles de
resolver con algoritmos conocidos polinomiales y otros difíciles de resolver, para los cuales no
se ha descubierto o inventado ningún algoritmo eficiente. Esto no significa que los algoritmos
eficientes no puedan existir, ya que las preguntas al respecto permanecen sin respuesta y son
motivo de intensa investigación actualmente. Se piensa que para un problema NP-completo no
existen algoritmos de solución polinomiales, pero esto no se ha podido demostrar o rechazar.
Para este tipo de problemas, por lo tanto, se han desarrollado procedimientos heurísticos, los
cuales no garantizan una solución óptima, pero tratan de encontrar una muy buena solución
del problema en tiempo razonable.

Es importante comentar, finalmente, que existen problemas que en general son NP-
completos, pero que para algunos de sus casos particulares dejan de serlo. Un ejemplo típico
es la programación lineal entera. En general, un problema de programación lineal entera es
NP-completo. Sin embargo, cierta clase de problemas de transporte y el problema de
asignación, a pesar de ser problemas de programación lineal entera, no son NP-completos, ya
que su estructura particular permite diseñar algoritmos eficientes para encontrar su solución
óptima. A medida que se vayan desarrollando los diversos temas de esta publicación, se
aclarará el tipo de problema tratado y las características de sus diversos algoritmos de
solución.
2.3.3. Tipos de Algoritmos

Existen diversos tipos de algoritmos para la solución de problemas, de acuerdo con su


grado de complejidad y relación con el modelo formulado. Una forma de resolver problemas
reales podría decirse que se trata de la experiencia y la intuición que la persona que toma las
decisiones posee. En este caso no existe un modelo formal formulado para la solución del
problema ni un algoritmo específico de solución. La calidad de la solución obtenida depende
en gran parte de los conocimientos y experiencia de la persona que toma las decisiones. Este
podría clasificarse como un método manual de solución de problemas.

Un segundo tipo consiste en la utilización de hojas electrónicas. En este sentido, se


diseñan hojas electrónicas para facilitar los cálculos correspondientes y se analizan posibles
soluciones del problema. Las alternativas de solución en este caso son generadas con
anticipación y lo que se hace es evaluarlas mediante la hoja electrónica. El resultado de este
proceso será tan bueno como las alternativas generadas y su grado de procesamiento.
Un tercer tipo de algoritmo corresponde a los modelos de simulación. En este caso, se
construye un conjunto de programas y rutinas que asemejan al sistema en estudio y se analizan
múltiples resultados, variando las entradas al modelo. Aquí, sólo una alternativa puede ser
evaluada a la vez, generando múltiples resultados con diversas réplicas o corridas del modelo.
A pesar de que estos modelos reflejan la realidad de una manera muy fiel, su construcción
puede ser compleja y no generan automáticamente soluciones óptimas.

Otros algoritmos son diseñados para la solución de problemas de optimización. En este


caso se puede disponer de algoritmos exactos, los cuales encuentran la(s) solución(es)
óptima(s) del problema, o de métodos heurísticos, los cuales encuentran buenas soluciones del
problema, pero no necesariamente óptimas. En cualquier caso, estos algoritmos consideran
prácticamente todas las alternativas de solución del problema y seleccionan la(s) mejor(es).

Un método heurístico se diseña para aproximar la solución de problemas NP-


completos, como se dijo anteriormente. Generalmente, consiste en una serie de pasos lógicos
que pueden o no estar apoyados en técnicas de optimización. La calidad de los resultados de
un procedimiento heurístico no siempre puede medirse y en muchas ocasiones es desconocida.
En otras palabras, existen heurísticos que generan soluciones del problema pero no se puede
determinar que tan lejos están de la solución óptima del mismo. En otros casos, sí se puede
determinar la calidad de la solución y se puede decir por ejemplo que, en el peor de los casos,
la solución encontrada está dentro de un cierto porcentaje de optimalidad. El grado de
precisión de la solución será o no aceptable dependiendo de los objetivos planteados en la
formulación del modelo.

Finalmente, existen sistemas expertos que pueden utilizarse para resolver cierto tipo de
problemas. En general, estos sistemas resuelven problemas operacionales, pero no son
adecuados para resolver problemas tácticos o estratégicos de mayor nivel.

En esta publicación nos centraremos en algoritmos de optimización exactos y en


algunas técnicas heurísticas. Abordaremos inicialmente de los modelos de PL continua.

Ejercicios 2.1

1) Considere el problema planteado en el numeral 2.2.4. relacionado con la localización de


una nueva bodega. Trate de resolver este problema utilizando las siguientes técnicas:

a) Manualmente, disponiendo de una calculadora y de su buen sentido común.


b) Diseñe una hoja electrónica que le permita evaluar diversas alternativas de
localización de la nueva bodega W.
c) Diseñe un modelo de simulación el cual genere localizaciones aleatorias de la nueva
bodega y calcule su costo total de transporte asociado. Pruebe el modelo con un
número grande de localizaciones aleatorias generadas.
d) Resuelva el modelo de programación no-lineal planteado en clase mediante un
método iterativo que aproxime la solución en pasos sucesivos, y compare la calidad
dada por este método con la obtenida mediante los métodos anteriores.
22 Introducción a la Modelación Matemática y Optimización

e) Aplique algoritmos de solución especializados, tales como los existentes en el


software WinQSB1, para encontrar la solución de este problema.

2) Una compañía petrolera está planeando construir un oleoducto para llevar petróleo crudo
desde un pozo hasta un punto donde se embarcará en tanques y será transportado a la
refinería. La figura siguiente muestra la disposición geográfica del pozo y del punto de
embarque.

Punto de embarque

Río 25 Km

Pozo de petróleo
320 Km

Los costos de construcción del oleoducto son los siguientes:

Por la ribera del río donde está ubicado el pozo de petróleo: $72/Km
Por la ribera del río donde está ubicado el punto de embarque: $90/Km
Atravesando el río (por cualquier parte): $150/Km

Formule un modelo matemático que le permita determinar cómo debe construirse el


oleoducto de tal forma que el costo total de construcción sea mínimo. Defina para ello las
variables de decisión adecuadas y construya la función objetivo y las restricciones con
base en dichas variables.

3) Un barco de carga tiene tres bodegas: en la proa, en el centro y en la popa. Los limites de
capacidad de cada bodega son:

BODEGA CAPACIDAD CAPACIDAD


TONELADAS PIES CUBICOS
Proa 2000 100,000
Centro 3000 135,000
Popa 1500 80,000

Usted como propietario del barco puede aceptar el total o una parte de los artículos que se
ofrecen para el transporte. Las características de estos artículos son las siguientes:

1
WinQSB (“Quantitative Systems for Business para Windows”), versión 1.00, por Yih-Long Chang.
ARTICULO CANTIDAD VOLUMEN UTILIDAD
EN TON. PIES CUB/TN $/TN
A 6000 60 6000
B 1000 50 8000
C 2000 25 5000

Para preservar el equilibrio del barco el tonelaje transportado en cada bodega debe ser
proporcional a su capacidad en toneladas. Formule un modelo matemático que le permita
determinar la mejor forma de cargar el barco para obtener la utilidad máxima.

4) Su compañía posee tres plantas, en las cuales elabora un componente pequeño para un
producto industrial. La compañía comercializa el producto a través de cinco distribuidores
en el país. Los pronósticos de ventas indican que los requerimientos mensuales por
distribuidor son los siguientes:

Distribuidor 1 2 3 4 5
Demanda mensual 2700 2700 9000 4500 3600

La capacidad mensual de producción en cada planta y los costos unitarios de producción


se ilustran en el siguiente cuadro:

Planta 1 2 3
Capacidad 4500 9000 11250
Costo Unitario
de produccion $ 60 30 54

Los costos de envío a distribuidores desde las plantas se muestran en el cuadro siguiente,
en $/unidad:

Distribuidor 1 2 3 4 5
Planta 1 1.5 2.1 3.3 4.5 4.8
Planta 2 2.4 1.8 3.0 3.6 4.5
Planta 3 3.0 2.7 2.7 3.0 4.8
Formule un modelo matemático que le permita determinar dónde producir los
componentes y la forma de despacharlos hacia los distribuidores.

5) Para la elaboración de un producto químico se cuenta con 4 materias primas: A, B, C y D


que contienen cierto factor f tal como se indica en el cuadro siguiente:

MATERIA CONTENIDO COSTO POR


PRIMA FACTOR f (%) KILOGRAMO
A 51 $4.0
B 11 $2.0
C 14 $2.4
D 36 $3.0
24 Introducción a la Modelación Matemática y Optimización

Se trata de obtener una mezcla de una tonelada (1000 Kg), cuyo contenido del factor f sea
por lo menos del 18% y con la condición que las materias primas B y C no constituyan
más del 20% de la mezcla. Formule un modelo matemático que le permita determinar
cuánto de cada materia prima debe utilizar para la mezcla con el mínimo costo posible.

6) Una industria de papel produce pulpa la cual puede vender al mercado local o utilizar para
fabricar papel blanco o cartón. Una tonelada de cartón requiere 0.7 ton de pulpa, mientras
que una tonelada de papel blanco consume 0.9 ton de pulpa (el cartón y el papel blanco
requieren de otras materias primas que no se consideran en este problema). La pulpa se
produce a partir de bagazo de caña de azúcar, con un rendimiento del 40%. Se dispone de
260,000 ton/año de bagazo. Las instalaciones para producir pulpa tienen capacidad para
250 ton/día. La máquina de cartón trabaja a una velocidad efectiva de 200 ton/día y la de
papel blanco a 150 ton/día. La producción se hace durante 335 días al año, ya que el resto
de tiempo se dedica a mantenimiento.

Cada tonelada de papel blanco producida arroja al río 10 unidades de contaminación; una
tonelada de cartón arroja 6 unidades y cada tonelada de pulpa arroja 20 unidades. Se
permite un máximo total de 1,000,000 unidades de contaminación/año arrojada al río.

Las utilidades netas por tonelada de pulpa, cartón y papel blanco son $50, $60 y $80,
respectivamente.

Formule un modelo de PL que permita estimar el mejor plan de producción anual. Asuma
que todo lo que se produce puede venderse.
3. FORMULACIÓN DE MODELOS DE
PROGRAMACIÓN LINEAL
3.1. ORÍGENES Y ANTECEDENTES HISTÓRICOS
La Programación Lineal (PL) es una de las técnicas de la investigación de Operaciones.
Muchos autores consideran que ha sido uno de los más importantes avances científicos del
presente siglo y, de hecho, su gran aplicación y la magnitud de todos los problemas que ha
resuelto, así lo confirman. Mediante la utilización de la PL se han logrado ahorros millonarios
en las organizaciones que la han aplicado.

Los orígenes de la PL se remontan hacia la década del 40, cuando el economista


Leontief desarrolla el método de análisis insumo-producto. En 1947, Stigler plantea el
conocido “problema de la dieta”, el cual trataba de buscar la combinación de alimentos más
barata, que permitiera a la persona tener los requerimientos mínimos de proteínas, vitaminas,
minerales, carbohidratos, etc. Y es en este mismo año cuando el Dr. George Dantzig concluye
su desarrollo del método simplex de solución de problemas de PL. Sin este método la PL
nunca hubiera tenido el desarrollo y la aplicación desde 1950 hasta nuestros días. Sin
embargo, el método simplex tampoco hubiera sido tan útil sin la valiosa ayuda de los
computadoras digitales, los cuales permitieron resolver problemas de gran magnitud rápida y
eficientemente (en un estudio realizado por la IBM se concluyó que aproximadamente el 25%
del tiempo de computador se dedica a cálculo de PL y sus afines).

El método simplex se ha venido aplicando aproximadamente desde 1950 y su


utilización actual es extensa, aunque todavía existen problemas de tal magnitud, los cuales son
muy difíciles de resolver incluso con las capacidades computacionales que existen
actualmente, debido precisamente a su tamaño y al tiempo de computador que se utilizaría en
ellos. Uno de estos problemas son los de las compañías aéreas, los de las refinerías de petróleo
y los de optimización de cadenas de suministro, los cuales normalmente tienen un alto número
de variables y restricciones. Varios procedimientos especiales han sido diseñados para estos
problemas, los cuales generalmente descomponen el problema original en una serie de
subproblemas más fáciles de resolver. Igualmente, actualmente existen los denominados
algoritmos de punto interior, los cuales compiten con el método simplex en algunos problemas
y vienen implementados en el software especializado que resuelve modelos de programación
lineal.

3.2. NATURALEZA DE LA PROGRAMACIÓN LINEAL


La PL es la técnica de la Investigación de Operaciones más aplicada y mejor conocida.
Básicamente, la PL trata de buscar la mejor forma de asignar recursos limitados a diferentes
actividades competidoras.
26 Introducción a la Modelación Matemática y Optimización

Las organizaciones disponen de diversos recursos (humanos, económicos, tecnológicos, etc.),


los cuales son necesariamente limitados, debido a su naturaleza. Las formas en que se pueden
distribuir y utilizar estos recursos son múltiples y diversas. Pero no todas ellas proporcionan
beneficios a la organización. Sólo una o unas pocas brindarán el máximo beneficio a la
organización. Son precisamente estas soluciones óptimas las que pueden encontrar las técnicas
basadas en la PL.

Lo expuesto anteriormente brinda una idea muy general de lo que busca la


programación lineal. Esta idea debe enmarcarse en un contexto más definido. Primero, la
palabra programación se refiere a la planeación de recursos y no a algo relacionado con la
programación de computadores. Segundo, el término lineal hace referencia a la naturaleza de
las variables, sus relaciones y las funciones que utiliza la programación lineal. Ellas deben ser,
como su nombre lo indica, lineales. Más adelante se estudiarán los supuestos básico que hacen
que un problema se pueda clasificar como lineal.

En los problemas que resuelve la PL debe existir primeramente un objetivo buscado


por la organización. Este objetivo debe ser cuantificado por medio de una función objetivo
lineal, la cual debe definirlo claramente. Ejemplos típicos de funciones objetivos son los de
maximización de utilidades, minimización de costos, minimización de tiempos y
maximización de probabilidades de éxito. Para definir claramente el objetivo buscado, deben
identificarse con antelación las actividades que la organización puede desarrollar,
representadas en las variables de decisión del problema.

Una vez definidas las actividades y la función objetivo, se pasa a estudiar las
restricciones del sistema, las cuales son el reflejo de los recursos limitados de que se dispone.
El desarrollo de cada actividad consumirá parte de los recursos y la cuantificación total de la
contribución de todas las actividades conformará las restricciones del sistema. Estas
restricciones se expresan como funciones matemáticas lineales de igualdad o desigualdad.

Una vez obtenidos la función objetivo y el cuerpo de restricciones, se pasa a la


solución del modelo, si ésta existe, y a su análisis correspondiente. En PL es más importante la
obtención del modelo que la solución del mismo, excepto en el caso de que existan
condiciones especiales o en problemas de gran tamaño, donde la solución se vuelve
dificultosa. Esto se explica porque actualmente la solución de grandes problemas de PL puede
hacerse en forma muy eficiente utilizando el método simplex. Los problemas de PL son tipo P,
ya que se conocen algoritmos polinomiales para resolverlos. Curiosamente, se conocen
problemas para los cuales el algoritmo simplex corre en tiempo exponencial. Sin embargo, en
la práctica nunca se ha observado este comportamiento del método simplex y por ello sigue
siendo tal vez el método más eficiente de solución de problemas de programación lineal.2

Existen, por ejemplo, un gran número de procedimientos que resuelven subproblemas


de PL miles de veces en forma eficiente. Por ejemplo, como se analizará más adelante, la
solución de problemas de programación entera mediante las técnicas de ramificación y

2
Para mayores detalles sobre esta discusión, consultar Chvátal (1983), Capítulo 4, pág. 45–52.
acotamiento requiere de la solución de un gran número de subproblemas de programación
lineal continúa.

La obtención del modelo se basa en la observación cuidadosa del sistema bajo estudio.
Este paso es fundamental para que los resultados eventuales del modelo tengan validez.

3.3. SUPOSICIONES DE LOS MODELOS DE


PROGRAMACIÓN LINEAL
Las condiciones básicas que deben cumplirse para que tanto la función objetivo como
cada una de las restricciones sean de naturaleza lineal son la proporcionalidad y la aditividad.
Ellas se explican a continuación.

3.3.1. Proporcionalidad

La proporcionalidad expresa básicamente que si una unidad de la actividad i cuesta $a


y gasta b unidades del recurso j, entonces xi unidades de la misma actividad costarán $axi y
consumirán bxi unidades del recurso j. Esto debe ser válido para cualquier actividad i y para
cualquier recurso j, de tal forma que el modelo obtenido sea lineal. La proporcionalidad debe,
por lo tanto, existir en todas las restricciones y en la función objetivo.

Este no es el caso más común en la realidad. Sin embargo, dentro de ciertos rangos
normales de operación de los sistemas, existe comúnmente la proporcionalidad. Fuera de estos
rangos es probable que haya que utilizar otras técnicas, tales como la programación no-lineal.

3.3.2. Aditividad

El hecho de que exista la proporcionalidad para todas las actividades no garantiza que
todas las funciones sean lineales, ya que puede existir cierto grado de dependencia entre las
actividades, lo que ocasionaría la aparición de no-linealidades. Lo que plantea la aditividad,
por lo tanto, es que las contribuciones de cada actividad a la función objetivo y a las
restricciones sean independientes de otras actividades.

A manera de ilustración, supóngase que una empresa produce los artículos A y B, los
cuales producen utilidades unitarias de $30/unidad y $20/unidad, respectivamente, e
independientemente de las cantidades que se produzcan. Así, la función objetivo se escribiría
como:

(3.1)

Donde XA y XB son las cantidades a producir de A y B, respectivamente. Obsérvese,


primero, que el supuesto de proporcionalidad está implícito en la función objetivo (3.1).
Además, las contribuciones de cada actividad, XA y XB, son independientes entre sí.
28 Introducción a la Modelación Matemática y Optimización

Supóngase ahora que el hecho de producir una mayor cantidad del artículo B, hace que
los costos de producción del artículo A se incrementen. Así, por ejemplo, la utilidad unitaria
del artículo A se vería disminuida mediante cierto factor y podría expresarse como $(30 –
0.0001XB)/unidad. La función objetivo sería por lo tanto:

– (3.2)

Claramente, al aparecer el producto cruzado XAXB, la función objetivo deja de ser


lineal, convirtiéndose en una función cuadrática de manejo dificultoso.

Cabe la pregunta de por qué la PL se utiliza tan ampliamente si estos supuestos casi
nunca se cumplen en la práctica?

Una respuesta simple es que afortunadamente las no-linealidades de la práctica en la


mayoría de los casos pueden adaptarse, transformarse o asumirse como lineales dentro de
cierto rango de validez. A medida que se vayan desarrollando los modelos típicos se verá que
realmente la suposición de linealidad es razonable en la mayoría de los casos analizados.

3.3.3. Certeza y Divisibilidad

Algunos autores hablan de otros dos supuestos, la certeza y la divisibilidad (Ver Hillier
y Lieberman (1997)). La divisibilidad se aplica fundamentalmente a problemas de números
enteros. Existen muchos casos prácticos en los cuales las variables de decisión o actividades
sólo tienen significado físico si sus valores son enteros. Por ejemplo, si una compañía de
aviación está analizando cuántos aviones comprar de cierto tipo, es obvio que una respuesta de
2.33 aviones no es satisfactoria y deberá darse una respuesta entera en su lugar, la cual no
necesariamente corresponde a alguno de los enteros vecinos. Para problemas enteros se han
desarrollado técnicas de solución especiales, las cuales se siguen investigando actualmente.
Una introducción a este tópico se presentará posteriormente.

La certeza, más que un supuesto, es una característica propia de los modelos de PL. Se
dice entonces que todos los valores de los parámetros que alimentan el modelo tienen valores
determinísticos, o sea que no se consideran como variables aleatorias. Una demanda de un
producto, por ejemplo, se obtiene como un valor promedio estimado, pero su distribución
probabilística propia no se considera en el modelo. En la mayoría de los casos prácticos,
ningún parámetro o variable puede considerarse determinístico. En la mayoría de los casos, los
parámetros y variables tienen un rango de validez entre los cuales pueden oscilar sus valores y,
por lo tanto, se constituyen en variables aleatorias cuya distribución probabilística puede o no
ser conocida. Actualmente están en investigación y desarrollo técnicas de programación lineal
estocástica y programación lineal con conjuntos difusos, donde se consideran algunos
parámetros de los modelos como variables aleatorias3.

3
Ver, por ejemplo, Taha (1998), pág. 807.
Dado que el desarrollo de la programación lineal estocástica es muy incipiente, el
problema de la incertidumbre de los parámetros de los modelos de PL aún se resuelve de una
forma relativamente sencilla, haciendo uso de los análisis de sensibilidad. Normalmente se
obtiene la solución óptima utilizando los mejores estimados de los parámetros y,
posteriormente, se analizan los posibles efectos de su variación sobre la solución óptima
original. Si estos efectos no son significativos, no se justifica invertir mayor esfuerzo, tiempo
y dinero en su estimación más precisa. Si por el contrario, se observa que el efecto de cambios
pequeños en los valores de ciertos parámetros es significativo, debe prestársele especial
atención a su estimación más precisa y a su posibilidad de cambio real en el sistema bajo
estudio. Igualmente, existen otras tendencias actuales tales como la combinación de modelos
matemáticos con modelos de simulación4, los cuales representan de una manera más fiel los
sistemas y sus variabilidades, y otros como el análisis de diversos escenarios aleatorios con la
ayuda de modelos de optimización5.

A continuación se presentan diversos ejemplos de formulación de modelos de


programación lineal. Cada uno de ellos analiza aspectos diferentes e introduce distintos
factores útiles para la formulación real de modelos aplicables en la práctica.

3.4. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL

A continuación se estudian y analizan varios modelos típicos de Programación Lineal,


los cuales aclararán todas las ideas expuestas anteriormente.

3.4.1. Modelo Nº 1: Programa de Producción

Una compañía productora de elementos eléctricos tiene durante este mes un sobrante
en su capacidad total de producción, el cual quiere utilizar para la manufactura de dos artículos
de rápida venta, los transformadores de 40 VA y los transformadores de 75 VA. Por su
experiencia, se han reunido los siguientes datos:

UTILIDAD HORAS- HORAS HORAS


TRANSFORMADOR NETA HOMBRE MAQUINA 1 MAQUINA 2
UNITARIA [$] POR UNIDAD POR UNIDAD POR UNIDAD
40 VA 400 1 1.0 1.0
75 VA 700 7/3 1.4 1.0

El sobrante en la capacidad de producción se ha estimado en 1400 hr.hombre, 980 hr.


en la máquina 1 y 900 hr. en la máquina 2, para este mes. ¿Cuál es la mejor forma de planear
la producción?

a) Variables de decisión

4
Ver, por ejemplo, Hicks (1999).
5
Ver, por ejemplo, Escudero et al. (1999).
30 Introducción a la Modelación Matemática y Optimización

Las actividades en las que está interesada esta empresa en el momento son: Producir
transformadores de 40 VA y/ó de 75 VA. Por lo tanto, las variables de decisión son:

X1 = Número de transformadores de 40 VA que va a producir en el mes.


X2 = Número de transformadores de 75 VA que va a producir en el mes.

b) Función Objetivo

El objetivo de la empresa es maximizar sus utilidades aprovechando la capacidad


sobrante de producción; por lo tanto la función objetivo es:

Obsérvese que es muy importante definir las unidades de la función objetivo. En este
caso la función “U” debe ser MAXIMIZADA.

c) Restricciones

Las restricciones surgen por la limitación de los recursos. En este caso sólo se dispone
de cierto número de hr.hombre y de hr.máquina para distribuir entre las dos actividades
definidas. Cada actividad “gasta” cierta fracción de esos recursos. Con base en lo anterior, las
restricciones son:

Obsérvese que en las restricciones anteriores van implícitas las suposiciones de


proporcionalidad y aditividad. Estas restricciones surgen del hecho de tener un número límite
disponible de hr.hombre, hr.máquina 1 y hr.máquina 2. Lo anterior explica el que las
restricciones sean de desigualdad (), o sea que no necesariamente todos los recursos deben
ser utilizados: Pueden existir sobrantes, como se verá más adelante. Note también que todas
tienen incluidas unidades. Aparte de estas restricciones están las obvias, las cuales son de 2
tipos: De no-negatividad y de enteros. Las de no-negatividad se explican por el simple
significado físico: no se puede producir un número negativo de artículos y la de enteros, en
este caso, tiene sentido ya que se trata de artículos “numerables”.

Estas restricciones son:

d) Modelo de Programación Lineal


A continuación se condensa el modelo, fusionando la función objetivo con las
respectivas restricciones:

Función Objetivo

Sujeto a:

Restricciones

Restricciones Obvias

El anterior es un modelo típico de Programación Lineal. En un modelo cualquiera las


restricciones pueden ser de igualdad o de desigualdad (  , =,  ).

Observe que el problema real de la fábrica se ha abstraído en el modelo anterior y su


solución brindará los valores de X1 y X2 que hagan máxima a “U”, cumpliendo con todas las
restricciones. Al tener estos valores, se habrá resuelto el problema de planeación de la
producción, o sea que éste se reduce simplemente a encontrar la solución óptima del modelo.
Más importante que esta solución es el hecho de haber llegado a él, con todo el trabajo previo
y las consideraciones que ello implica. A la solución de modelos de este tipo se referirá la
sección siguiente.

3.4.2. Modelo Nº 2: Un Mini-Problema de Dieta

Debido a la difícil situación económica por la que atraviesa el mundo, suponga que
usted decidió alimentarse solo con huevos y arroz. Asuma que el cuerpo humano como
mínimo debe disponer diariamente de 2700 Kcalorías, 56 gr de proteínas y 1.4 mg de vitamina
B1. Usted sabe que el contenido que brindan los alimentos seleccionados y su costo
aproximado son:

HORAS- HORAS-
UTILIDAD HORAS-
TRANSFOR MÁQUINA 1 MÁQUINA 2
NETA HOMBRE POR
MADOR POR POR
UNITARIA [$] UNIDAD
UNIDAD UNIDAD
40 VA 400 1 1,0 1,0
75 VA 700 2 1/3 1,4 1,0
32 Introducción a la Modelación Matemática y Optimización

Nota: Una porción se refiere a una cantidad estándar normal para el consumo humano.
Por ejemplo, una porción de huevo = 1 huevo y una porción de arroz = 100 gr de arroz.

Su problema es entonces determinar qué cantidad de cada alimento a consumir


diariamente para cumplir con sus necesidades alimenticias al mínimo costo posible.

a) Variables de decisión

Sean:

X1 = Porciones de huevo a comprar diariamente.


X2 = Porciones de arroz a comprar diariamente.

b) Función Objetivo: Minimizar costos diarios:

c) Restricciones:

Note que en este caso las restricciones son de mayor o igual, pues se trata de
requerimientos mínimos. Además no aparece inicialmente la restricción por enteros (variables
continuas).

d) Modelo de Programación Lineal

El modelo de PL consiste entonces en la función objetivo anterior sujeto a las tres


restricciones enunciadas anteriormente. La solución óptima de este problema es la siguiente:
X1 = 1.37 porciones de huevo y X2 = 23.55 porciones de arroz. O sea que le tocaría consumir
un huevo grande diario y unas 4 libras diarias de arroz, con un costo mínimo total de $3,708
$/día. Si al modelo se le agregan las restricciones de porciones enteras, entonces la solución
óptima sería X1 = 1 huevo y X2 = 25 porciones de arroz, con un costo mínimo de $3,800
diarios. Finalmente, si usted quiere al menos comerse 3 huevos diarios, agregando la
restricción X1  3 (Huevos/dí a) , la nueva solución óptima sería: X1 = 3 huevos y X2 = 23
porciones de arroz, con un costo mínimo de $4,120 diarios. Note que en este último caso, se
ha refinado el modelo para tener en cuenta las posibles restricciones de gusto y preferencias en
la dieta y observe que el costo mínimo siempre aumenta cuando se introducen más
restricciones en el modelo.
3.4.3. Modelo Nº 3: Un Problema de Corte de Papel (Cutting Stock)

Una industria productora de papel recibe un pedido de la siguiente forma:

600 rollos de 35 pulg. de ancho


300 rollos de 30 pulg. de ancho
200 rollos de 40 pulg. de ancho
100 rollos de 50 pulg. de ancho

La industria tiene en sus bodegas rollos semejantes, pero de 114 pulg. de ancho, y en
cantidad suficiente y decide utilizarlos para el pedido, cortándolos en los diferentes anchos
solicitados. ¿Cuál es la mejor forma de cortar los rollos de 114 pulg. de ancho para satisfacer
el pedido y minimizar el desperdicio de papel?

a) Definición de las Variables de decisión

En este caso no es tan inmediata la definición de las variables de decisión. Se hace


necesario encontrar todos los posibles patrones de corte lógicos que se pueden hacer para
satisfacer el pedido; ellos son:

ANCHO DEL PATRÓN DE CORTE Y ROLLOS OBTENIDOS


ROLLO (pulg.)
1 2 3 4 5 6 7 8 9 10 11 12
30 3 0 1 0 2 2 2 1 0 1 0 0
35 0 3 0 0 1 0 0 2 2 1 1 0
40 0 0 2 0 0 1 0 0 1 1 0 1
50 0 0 0 2 0 0 1 0 0 0 1 1
DESPERDICIO
(pulg.) 24 9 4 14 19 14 4 14 4 9 29 24

Note que se consideran desperdicio de los rollos resultantes de menos de 30 pulg. de


ancho. El desperdicio se considera proporcional al ancho perdido, pues se supone que todos
los rollos de 114 pulg. de ancho son del mismo largo (en realidad el desperdicio se mediría en
pul2 o Kg de papel). Así, las variables de decisión serían:

Xi = Número de rollos de 114 pulg. de ancho a cortar según el patrón i (i = 1, 2, .., 12).

b) Función Objetivo

En este caso sería minimizar el desperdicio total, así:

c) Restricciones
34 Introducción a la Modelación Matemática y Optimización

Las restricciones en este caso surgen simplemente de la satisfacción del pedido, así

Note que lo que interesa es simplemente satisfacer el pedido y por ello las restricciones
son de igualdad. Sin embargo, la solución del modelo varía notablemente con restricciones de
 (ver pág. 26- A). El modelo matemático será la reunión de la función objetivo y las
respectivas restricciones.

Solución del modelo Nº 3: Corte de papel

1. Con restricciones de igualdad:

Se generan infinitas soluciones. Seis de ellas son:

X 2  200 X 1  331 3 X 2  50 X 2  100 X  100 X  100


X 3  100 X 2  66 2 3 X 5  50
7 7
X 6  50
X 8  100 X 8  100
X 7  100 X 7  100 X 7  100 X 7  100
X  200 X 9  200
X9  0 X 9  200 X 9  200 X 9  150 9

En todos los casos: Dmínimo = 2600 pul

2. Con restricciones de 

X 3  100
X 4  50
X 7  150
X 9  300

Dmín = 1800 pul. Aquí sobran rollos, pero se cumple con el pedido. Comente sobre las
implicaciones de estas dos soluciones y su relación con casos reales.
3.4.4. Modelo Nº 4: Carga de un Avión

Un avión de carga tiene tres bodegas o compartimentos, adelante, al centro y atrás.


Estos compartimentos tienen límites de volumen y peso, así:

CAPACIDAD MÁXIMA VOLUMEN MÁXIMO


COMPARTIMIENTO
POR PESO EN TON. EN METROS CÚBICOS
Adelante 16 200
Central 20 250
Atrás 14 150

El propietario del avión tiene posibilidad de llevar parte de la carga o toda la que se le
ofrece (si tiene capacidad). Esta carga y sus características son las siguientes:

VOLUMEN EN UTILIDAD
CANTIDAD
CLASE DE METROS OBTENIDA POR
TIPO OFRECIDA PARA
CARGA CUBICOS POR SU TRANSPORTE
LLEVAR (EN TON.)
TON. EN $/TON.
1 Herram. 20 1,0 250.000
2 Libros 15 2,0 280.000
3 Flores 8 10,0 500.000
4 Artesanías 10 6,0 360.000

Para preservar el equilibrio del avión, el peso transportado en cada compartimiento


debe guardar la misma proporción con respecto a su capacidad. Formule un modelo
matemático para determinar cuál tipo de carga, qué cantidad y qué compartimentos debe el
propietario del avión escoger para maximizar su utilidad y no correr peligro durante el viaje.

a) Variables de decisión

En este tipo de problema se empieza a ver la necesidad de definir las variables con dos
subíndices, pues la decisión debe hacerse en dos etapas: qué tipo de mercancía y a dónde
llevarla. Así:

Xij = Toneladas de la carga tipo “i” a ser transportada en el compartimiento “j”.

i=1 Herramientas j=1 Compartimiento delantero


i=2 Libros j=2 Compartimiento central
i=3 Flores j=3 Compartimiento trasero
i=4 Artesanías

Es decir, que existirán 4 × 3 = 12 variables de decisión, a saber: X11, X12, X13, X21, X22,
X23, X31, X32, X33, X41, X42 y X43.

Si se considera más fácil, las variables podrían reenumerarse, por ejemplo, Y1, Y2,.....,
Y12 ó incluso X1, X2,....., X10, X11, X12. Sin embargo, la utilización de los subíndices siempre
deja mayor claridad en el significado físico de las variables.
36 Introducción a la Modelación Matemática y Optimización

b) Función Objetivo

Maximizar utilidad. De acuerdo a la definición, la función sería de la siguiente forma:

Los 4 términos anteriores corresponden a las utilidades respectivas por el transporte de


herramientas, libros, flores y artesanías. Obsérvese que es necesario, comprobar siempre las
unidades en que se expresan las funciones.

c) Restricciones

En este caso existen cuatro grupos diferentes de restricciones, así: Por la capacidad en
peso de cada compartimiento del avión, por la capacidad volumétrica de los mismos, por la
cantidad de tipo de carga ofrecida para su transporte y por la condición de equilibrio del avión.
Estos grupos de restricciones son:

Por capacidad en peso en cada compartimiento:

Por capacidad volumétrica de cada compartimiento:

Por cantidad ofrecida de cada tipo de carga:

Por el equilibrio del avión:

Restricciones obvias:
d) Modelo de Programación Lineal

Se obtiene fusionando la función objetivo con las restricciones anteriores.

Solución del modelo Nº 4: Carga de un avión

Utilidad máxima: 1.605 x 107 [$]. El avión debería cargarse de la siguiente forma (en
toneladas):

X11 = 5 X32 = 8
X12 = 12 X41 = 4.8
X21 = 6.2 X43 = 5.2
X23 = 8.8

Holguras:

Sobran 153.8 m3 en la bodega delantera.


Sobran 158 m3 en la bodega central.
Sobran 101.2 m3 en la bodega trasera.
Sobran 3 toneladas de herramientas, que no se transportan.
Todas las bodegas van a su capacidad máxima en peso.

3.4.5. Modelo Nº 5: Programa de Producción en el Tiempo

CONTRATO CAPACIDAD DE COSTO UNITARIO


MES DE VENTAS PRODUCCIÓN EN DE
EN UNIDADES UNIDADES PRODUCCCIÓN
1 20 40 $ 140
2 30 50 $ 160
3 50 30 $ 150
4 40 50 $ 170

Un fabricante debe cumplir un contrato a cuatro meses durante los cuales varían los
costos de producción. El costo de almacenamiento de unidades producidas en un mes
determinado y no vendidas en ese mes es de $10 por unidad y por mes. Se dispone de la
siguiente información:

Formule un modelo matemático para determinar el programa óptimo de producción


que cumple con el contrato a costo total mínimo.

Este modelo ilustra el hecho de que pueden existir formas diferentes de definir las
actividades. Algunas de estas formas pueden ser mejores y más manejables que las otras y la
eficiencia del modelo obtenido depende en gran parte del “arte” de definirlas correctamente.
38 Introducción a la Modelación Matemática y Optimización

3.4.5.1. Primera forma de formulación:

a) Variables de decisión

Sean Xi = Número de unidades producidas en el mes i; i =1, 2, 3, 4.

b) Función Objetivo

La función objetivo tiene dos componentes: Los costos de producción y los costos de
almacenamiento.

Costos de producción CP:

Costos de almacenamiento CA:

Para encontrar la expresión para estos costos, es necesario ilustrar el “balance de las
unidades” a través del tiempo, así:

MES

1 2 3 4

DESCRIPCIÓN
Inventario inicial 0 X1-20 X1+X2-50 X1+X2+X3-100
Producción X1 X2 X3 X4
Ventas 20 30 50 40
Inventario Final X1-20 X1+X2-50 X1+X2+X3-100 X1+X2+X3+X4-140

Así, utilizando la convención de “fin de mes”, los costos de almacenamiento serían:

Es decir, que la función objetivo simplificada es:


39

c) Restricciones:

Por capacidad de producción:

Por contrato de ventas:

Obvias:

d) Modelo matemático:

Sujeto a:

3.4.5.2. Segunda forma de formulación:

a) Definición de las Variables de decisión

Sean Xij = Número de unidades producidas en el mes i y vendidas en el mes j; i =1, 2,


3, 4; j =1, 2, 3, 4.

Nótese que la condición j  i indica el significado lógico de que una unidad sólo puede
ser vendida después de haber sido producida; así, las variables de decisión son:

X11, X12, X13, X14, X22, X23, X24, X33, X34 y X44,
40 Introducción a la Modelación Matemática y Optimización

b) Función Objetivo

En este caso no hay necesidad de construir el flujo de las unidades para encontrar la
función objetivo, pues ya lo tienen intrínseco. Así:

Costos de producción CP:

Costos de almacenamiento CA:

En la expresión anterior, el primero término representa el costo de las unidades que han
estado almacenadas durante un mes, el segundo término las que han estado almacenadas
durante dos meses, y el último durante tres meses. Así la función objetivo será:

c) Restricciones:

Por capacidad de producción:

Por contrato de ventas:

Obvias:


41

d) Modelo matemático:

Sujeto a:

3.4.5.3. Solución del modelo Nº 5: Programa de producción en el


tiempo

Primera forma de formulación:

Costo mínimo = $22.100

X1 = 40; X2 = 30; X3 = 30; X4 = 40

Segunda forma de formulación:

Costo mínimo = $22.100 (Como es de esperarse).

Se producen infinitas soluciones. Las 2 básicas son:

X11 = 20 X11 = 20
X13 = 20 X12 = 20
X22 = 30 X22 = 10
X33 = 30 X23 = 20
X44 = 40 X33 = 30
X44 = 40

Obsérvese la completa correspondencia entre las dos soluciones. Nótese que este
modelo aunque tenga igual número de restricciones que el de la primera forma de solución,
tiene 10 variables, mientras que el primero tiene 4. Esto podría ser una desventaja de manejo
del modelo. Sin embargo, este último permite no sólo tener las unidades que se deben producir
en un mes determinado (tal como el primer modelo), sino también cuando deben venderse. O
sea que, indudablemente el segundo modelo es superior al primero.
42 Introducción a la Modelación Matemática y Optimización

3.4.6. Modelo Nº 6: Problema del Trasporte

Una compañía multinacional posee “n” fábricas en diferentes partes del mundo, desde
las cuales surte a sus principales distribuidores, “m” en total, localizados en diferentes países
(en algunos posee fábricas y distribuidores simultáneamente). El costo de transporte desde las
fábricas hacia los distribuidores es diferente para cada uno de ellos. Continuamente las
fábricas deben cubrir las demandas de sus distribuidores, teniendo en cuenta su capacidad de
producción.

Si: a1, a2, a3, ..., an son las capacidades de producción de las plantas 1, 2, ..., n,
respectivamente; b1, b2, b3, ..., bm son las demandas de los distribuidores 1, 2, ..., m,
respectivamente, y Cij (i =1, 2, 3,...,n; j =1, 2, 3,..., m) son los costos unitarios de transporte
desde la fábrica i hacia el distribuidor j, formúlese un modelo de Programación Lineal para
satisfacer la demanda de todos los distribuidores sin violar la capacidad de producción de las
plantas, con el costo total mínimo de transporte.

Este modelo representa una de las aplicaciones más importantes de la Programación


Lineal. Su naturaleza es de tal forma que se han desarrollado métodos de solución especiales
para este tipo de modelos (algoritmo simplex de transporte).

a. Variables de decisión

Sean Xij = Cantidad (ó número) de unidades a despachar desde la planta i hacia el


distribuidor j; i =1, 2, 3, ...,n; j =1, 2, 3, ..., m.

b. Función Objetivo

c. Restricciones

Por capacidad de las plantas:

Esta expresión representa “n” restricciones, una para cada planta.

Por demanda de los distribuidores:

Esta expresión representa “m” restricciones, una para cada distribuidor.


43

Obvias:

; i =1, 2, 3, ..., n; j =1, 2, 3, ..., m

3.4.7. Modelo Nº 7: Programación de Metas

Cierta compañía planea introducir al mercado tres nuevos productos, debido a la


próxima obsolescencia de los que produce actualmente. El interés de la gerencia es determinar
las tasas de producción de cada uno de los productos, teniendo en cuenta tres objetivos
fundamentales:

a. Lograr un Valor Presente Neto mínimo de mil millones de pesos (Utilidad a largo
plazo).
b. Mantener el recurso laboral actual de 100 empleados (Nivel de empleo).
c. Sostener la inversión de capital en el nuevo equipo de 400 millones de pesos
(Inversión inicial).

Como el gerente utiliza a menudo el Enfoque de Sistemas en sus decisiones, establece


un “puntaje de penalización” para cada objetivo en caso de no cumplirse éste a cabalidad, así:

OBJETIVO PUNTAJE DE PENALIZACIÓN

6 puntos por cada diez milloes de pesos menos


(a)
en el VPN
3 puntos por cada 100 empleados de más,
(b)
4 puntos por cada 100 empleados de menos
4 puntos por cada diez millones de pesos en
(c)
que se sobrepase la inversión inicial

La contribución de cada producto la utilidad a largo plazo, al nivel de empleo y a la


inversión de capital es proporcional a su tasa de producción y las contribuciones unitarias de
cada producto son:

CONTRIBUCIÓN UNITARIA
UNIDAD DE
PRODUCTO PRODUCTO PRODUCTO
OBJETIVO MEDIDA
1 2 3
Decenas de
(a) 15 8 12
millones de $
Cientos de
(b) 3 2 1
empleados
Decenas de
(c) 4 5 7
millones de $

¿Cuáles deben ser las tasas de producción de cada producto para que los objetivos se
cumplan de la mejor forma posible?
44 Introducción a la Modelación Matemática y Optimización

a) Identificación de las metas:

Si se definen las actividades como Xi = Tasa de producción del producto i (i=1,2, 3),
las metas a cumplir serían las siguientes (en su orden: Objetivos (a), (b) y (c)):

b) Definición de variables auxiliares:

Dado que es necesario involucrar en el modelo los puntajes de penalización por el


incumplimiento de las metas, se definen las siguientes variables auxiliares.

Obsérvese que las variables Yi (i =1, 2, 3,) pueden ser positivas o negativas. Por
ejemplo, si Y1> 0, indica que la utilidad ha sobrepasado los 1000 millones de pesos, pero si
Y1< 0, entonces la utilidad ha sido inferior a esa cifra y el objetivo no se habría cumplido.

Dado que manejar variables libres (las que pueden tomar valores positivos) no es
conveniente y debido a la naturaleza del problema, se reemplaza cada variable Yi (i = 1, 2, 3)
por la diferencia de dos variables positivas, así:

c) El modelo de Programación Lineal:

La función en este caso debe definirse como la minimización de los puntajes de


penalización impuestos por el Gerente, ya que entre más pequeña sea la suma, más próximo se
estará al cumplimiento de todos los objetivos. Por ejemplo, para el objetivo (a), si la variable
es igual a 1, contribuirá con 6 puntos de penalización a la función objetivo, pues esto
indicaría una disminución de 10 millones de pesos en la utilidad de la compañía; de acuerdo a
lo anterior, el modelo sería el siguiente:

Sujeto a:
45

Obsérvese que hay variables que aparecen en las restricciones mas no en la función
objetivo, y más aún, las variables de decisión no aparecen directamente en la función objetivo.
Esto puede parecer sorprendente, pero en realidad las variables de decisión están
estrechamente relacionadas con las variables auxiliares de la función objetivo (recordar la
definición de estas últimas). La solución óptima de este modelo, aplicando el método simplex,
es:

O sea que el producto 2, de acuerdo con la solución óptima, no debería producirse. Las
metas de utilidad a largo plazo y de inversión inicial se cumplen a cabalidad, produciéndose
100 decenas de millones de utilidad es invirtiéndose inicialmente 40 decenas de millones de
pesos. La meta de nivel de empleo no puede ser cumplida y, dado que
 
Y2  Y2  Y2 , Y2  5.087  0.0000  5.0877 , el nivel de empleados debe ser
aumentado en 5.0877 cientos, para poder cumplir con las otras dos metas. Obsérvese que el
puntaje óptimo P* = 15.2632 se obtiene de penalizar con 3 puntos por cada 10 empleados de
más en la función objetivo.

Cuando la solución anterior pase a ser analizada, probablemente presentará serias


objeciones. Por ejemplo, el hecho de que el producto 2 no aparezca en la solución óptima (O
sea que se descontinuaría) puede implica una reacción contraria de mercadeo. Además,
aumentar el número de empleados en 509, puede no ser factible. Por lo tanto, la solución se
puede tomar como una base y se deben aplicar análisis de sensibilidad para tener más
elementos de juicio para tomar las elecciones adecuadas.
46 Introducción a la Modelación Matemática y Optimización

3.4.8. Modelo Nº 8: Un Problema “Probabilístico”

En cierto período de guerra, el comando aéreo recibió la orden de destruir la


producción de tanques del enemigo, quien tiene cuatro plantas claves localizadas en ciudades
separadas. La destrucción de cualquiera de las plantas parará efectivamente la producción de
tanques. Existe una aguda escasez de combustibles para llevar a cabo la misión, con un
limitante de 51,000 galones. Cualquier bombardero enviado a una ciudad en particular debe
tener combustible para ir y volver y una reserva de 150 galones. El número de bombarderos
disponibles en el comando y su descripción se dan a continuación.

KILÓMETROS NÚMEROS
TIPO DE BOMBARDERO
POR GALÓN DISPONIBLE
Pesado 3,0 48
Mediano 4,5 35

La información acerca de la localización de las plantas y su vulnerabilidad de ataque


por estos dos tipos de aviones es la siguiente:

PROBABILIDAD DE SER
DISTANCIA
DESTRUÍDA POR:
PLANTA DESDE LA
BOMB. BOMB.
BASE EN Km.
PESADO MEDIANO
1 675 0,10 0,08
2 720 0,20 0,16
3 810 0,15 0,12
4 900 0,25 0,20

Formule un modelo de programación lineal para determinar cuántos bombarderos de


cada tipo deben ser enviados a cada planta, con el objetivo de maximizar la probabilidad de
éxito de la misión. Se asume que no se causa ningún daño en la planta si un bombardero falla
al destruirla.

a. Variables de decisión:

Sean Xij = Número de bombarderos tipo “i” a ser enviados a la planta “j”;

i = 1: Bombardero tipo pesado,


i = 2: Bombardero tipo mediano,
j = 1, 2, 3, 4: Plantas 1, 2, 3 y 4, respectivamente.

b. Función objetivo:

En este caso hay dos formas de plantear la función objetivo: Maximizar la probabilidad
de éxito ó Minimizar la probabilidad de fracaso.

Dado que un solo bombardero puede destruir la planta, la probabilidad de éxito sería
difícil de expresar, pues sería la suma de las probabilidades de todas las posibles
combinaciones. Es más sencillo minimizar la probabilidad de fracaso, pues el fracaso total de
47

la misión significa que todos los bombarderos fallen en todas las plantas y recuérdese que con
sólo destruir una planta se para la producción de tanques del enemigo. La probabilidad de
fracaso sería la intersección (producto) de todas las probabilidades de fracaso de cada
bombardero a cada planta (se considera independiente la acción de cualquier bombardero con
respecto a la de cualquier otro). Así, la expresión para la función objetivo sería:

Como puede observarse, así definida la función objetivo no sería lineal. Pero se puede
“linearizar” fácilmente por medio de la función log P. Dada la naturaleza de la función
logarítmica (Función biyectiva), es equivalente minimizar P que minimizar log P; así, la
función objetivo se convierte en:

La base del logaritmo sacado es indiferente, pues cualquier base logarítmica se puede
cambiar a otra multiplicando por una constante. Así, la función objetivo obtenida es lineal.

c. Restricciones:

Por disponibilidad de aviones:

Por disponibilidad de combustible:

Un avión cualquiera debe tener combustible para ir a la planta, volver y tener una
reserva de 150 galones; por ejemplo, los aviones tipo pesado que se envíen a la planta 1
utilizarán la siguiente cantidad de combustible:

Así, esta restricción puede describirse como:


48 Introducción a la Modelación Matemática y Optimización

Simplificando, se obtiene:

Restricciones Obvias:

Xij ≥ 0; i =1, 2; j =1, 2, 3, 4


Xij enteros; i =1, 2; j =1, 2, 3, 4

d. Modelo de Programación Lineal:

Sujeto a:

Xij ≥ 0; y enteros i =1, 2; j =1, 2, 3, 4

La solución óptima de este modelo de PL entera es: X14 = 43 y X24 = 34 con Zmáx =
19.9572, ó, equivalentemente, una probabilidad de falla de P = e 19.9572  2.15  109 . O sea
que si se envían 43 aviones pesados y 34 aviones medianos, todos a la planta 4 del enemigo, la
probabilidad de falla de la misión es casi cero.

El paso siguiente, una vez el modelo ha sido formulado, es encontrar su solución,


interpretarla, analizarla y tomar la decisión correspondiente, de acuerdo con el procedimiento
descrito en la Figura 2.1 anterior (El proceso de diseño en ingeniería). La sección siguiente se
dedica entonces a la solución de los modelos de programación lineal.
49

Ejercicios 3.1.

Se presentan a continuación una serie de ejercicios de programación lineal, recopilados


y/ó adaptados de diversas fuentes con fines didácticos. Varios de los ejercicios han sido
diseñados por el autor. La bibliografía general se presenta al final de esta publicación.

1. Un sastre dispone de los siguientes materiales: 16 metros cuadrados de algodón, 11


metros cuadrados de seda y 15 metros cuadrados de lana. Un vestido para mujer requiere
2 m2 de algodón, 1 m2 de seda y 1 m2 de lana. Un vestido para hombre requiere 1 m2 de
algodón, 2 m2 de seda y 3 m2 de lana. Si un vestido para mujer deja una utilidad de $900 y
uno para hombre de $1500, ¿cuántos vestidos para hombre y cuantos para mujer debe
confeccionar el sastre a fin de obtener la máxima utilidad? (Prado, Hernando, Notas de
Clase, 1978.)

2. Un ingeniero agrícola requiere por lo menos 10, 12 y 12 unidades de los fertilizantes


químicos A, B y C, respectivamente, en la composición de un abono especial. Un
producto líquido contiene 5, 2 y 1 unidades de A, B y C, respectivamente, por galón. Un
producto sólido contiene 1, 2 y 4 unidades de A, B y C, respectivamente, por kilogramo.
Si el producto líquido tiene un precio de $300 por galón y el producto sólido se compra a
$200 el kilogramo, ¿qué cantidad de cada uno de los productos debe comprarse para
minimizar el costo y satisfacer los requisitos de composición exigidos? (Prado, Hernando,
Notas de Clase, 1978.)

3. Una compañía de alquiler de camiones dispone de dos tipos de vehículos el tipo A que
posee 20 pies cúbicos de espacio refrigerado y 40 pies cúbicos de espacio no refrigerado.
El tipo B que posee 30 pies cúbicos de espacio refrigerado y la misma cantidad de espacio
no refrigerado. Una fábrica de alimentos debe transportar 900 pies cúbicos de producto
refrigerado y 1200 píes cúbicos de producto no refrigerado. ¿Cuántos camiones de cada
tipo se deben alquilar, si el camión A se alquila a $30 por milla y el camión B a $40 por
milla, de tal forma que se minimice el costo total del transporte por milla recorrida?
(Prado, Hernando, Notas de Clase, 1978.)

4. Una factoría posee dos minas. La mina A produce diariamente 1 tonelada de material de
alta calidad, 3 toneladas de calidad intermedia y 5 toneladas de baja calidad; la mina B
produce diariamente 2 toneladas de cada una de las tres calidades. La compañía necesita,
para su posterior procesamiento, al menos 100 toneladas de material de alta calidad, 150
de mediana calidad y 180 toneladas de baja calidad. ¿Cuántos días debe operarse sobre
cada mina para satisfacer las necesidades de la compañía si el costo diario de explotación
es de $200.000 en cualquier mina? (Prado, Hernando, Notas de Clase, 1978.)

5. Se dispone de n alimentos. Cada unidad del alimento j contiene Aij del nutriente i en sus
unidades características y tiene un costo de Pj pesos por unidad. Formule un modelo de
PL cuya solución proporcione los niveles Bi mínimos requeridos diariamente del nutriente
i de tal manera que el costo sea mínimo (problema de la dieta). Trate de obtener una dieta
real típica en la ciudad de Cali, a costo mínimo, investigando los requerimientos mínimos
de energía, proteínas, vitaminas, minerales y otros nutrientes (basado en una dieta de 2000
Kcal). Incluya alimentos de los cuatro grupos principales, a saber: Lácteos, carnes,
50 Introducción a la Modelación Matemática y Optimización

vegetales y frutas y harinas y cereales. Investigue igualmente los precios actuales de estos
alimentos y determine el valor promedio diario de una dieta balanceada. Resuelva el
problema, primero, sin restricciones de raciones mínimas de los alimentos y luego
considerando cantidades mínimas y máximas de dichos alimentos.

6. Tres inversionistas, I1, I2 e I3, disponen de un presupuesto de $4, $8 y $3 millones,


respectivamente, para traer mercancía. Hay tres alternativas de inversión: comprar
televisores, equipos de sonido u hornos microondas, cuyos precios unitarios
correspondientes son $380.000, $195.000 y $47.000. Estos equipos se venden cada uno
fácilmente a $460.000, $260.000 y $70.000, respectivamente. Cada televisor pesa
aproximadamente 40 Kg, cada equipo de sonido 28 Kg y cada horno microondas 10 Kg.
Asuma que las líneas aéreas sólo permiten el transporte de 50 Kg por persona sin pagar
exceso de equipaje y que este exceso se cobra a razón de $2.000 por cada Kg adicional.
La aduana cobra un arancel del 15% sobre el precio de compra de estos productos siempre
y cuando el valor del equipaje por persona exceda a $3 millones. Formule un modelo de
PL que le permita determinar como deben invertir su dinero los inversionistas para
maximizar su ganancia neta total. ¿Habría algún beneficio adicional si los inversionistas
juntaran su presupuesto y repartieran la utilidad neta total en forma proporcional a su
inversión?

7. Una compañía productora de papel debe determinar el mejor esquema de patrones de


corte de rollos de 60 pulgadas de ancho para satisfacer la demanda semanal por rollos más
pequeños. El pedido semanal es el siguiente 30 rollos de 28”, 60 rollos de 20” y 48 rollos
de 15”. Cualquier sobrante de rollo de ancho menor de 15” se considera como
desperdicio. ¿De qué forma deben cortarse los rollos de 60” para satisfacer la demanda y
obtener el menor desperdicio posible?. Suponga que se dispone de un número suficiente
de rollos de 60”.

8. Formule el problema anterior si además del gran número de rollos de 60” de ancho, se
dispone también de 50 rollos de 80” de ancho.

9. Se hace un pedido a una papelería de 800 rollos de papel corrugado de 30” de ancho, 500
rollos de 45” de ancho y 1000 rollos de 56‟ de ancho. Si la papelería recibe de su
proveedor rollos de 108” de ancho únicamente y en cantidad suficiente, ¿cómo deben
cortarse estos para cumplir con el pedido en forma exacta y para minimizar el papel
desperdiciado? (Prado, Hernando, Notas de Clase, 1978.)

10. Formule el problema anterior si se le permite cortar rollos en exceso de cualquier ancho
(adicionales a los del pedido), los cuales generan un costo de inventario despreciable y
podrían ser consumidos en un futuro. Compare los resultados en cuanto al desperdicio
mínimo se refiere. Desprecie los costos de inventario que se pueden generar.

11. Usted recibe una orden de producción en su taller que requiere del corte de láminas de
acero de cierto calibre. Se dispone de 250 láminas rectangulares de 120  240 cm y de 70
láminas rectangulares de 100  150 cm que habían sobrado de una orden anterior. La
orden consiste en 75 láminas rectangulares de 50  80 cm y 120 láminas cuadradas de 100
51

 100 cm. Formule un modelo de PL que le ayude a decidir la mejor forma de cortar las
láminas disponibles para cumplir con la orden. Asuma como desperdicio cualquier retal
de lámina del cual no pueda obtenerse ninguna de las láminas requeridas en la orden.
Asuma igualmente que sólo pueden realizarse cortes paralelos a las caras de las láminas.

12. Una industria produce dos artículos distintos A y B. La elaboración de una unidad del
articulo A cuesta $20 por concepto de mano de obra y de una unidad del articulo B, $10.
Cada unidad de A utiliza $10 de materia prima y cada unidad de B $30. El desgaste del
equipo se considera proporcional a la producción. Por cada unidad producida de A, el
equipo se desgasta $5 y por cada unidad producida de B, el equipo se desgasta $1. Se
cuenta con un presupuesto de $100.000 para salarios, de $180.000 para materia prima y
no conviene que el desgaste de los equipos exceda de $40.000. Determinar la cantidad que
debe producirse de cada artículo para obtener la máxima utilidad si el beneficio por cada
artículo A es de $8 y por cada artículo B es de $5.

13. Un ebanista dispone de dos tipos diferentes de madera, tiene 1500 pies de tabla tipo A y
1000 pies de tabla tipo B. También dispone de 800 horas hombre para efectuar el trabajo.
La demanda estimada es la siguiente: cuando menos 40 mesas, 130 sillas exactamente, 30
escritorios exactamente y no más de 10 estantes. Las cantidades de madera A y B y las
horas hombre que se requieren para la elaboración de cada uno de los artículos anteriores
vienen dadas en la tabla siguiente:

ARTICULO MADERA MADERA HORAS UTILIDAD


TIPO A TIPO B HOMBRE $/unidad
Mesa 5 2 3 12
Silla 1 3 2 5
Escritorio 9 4 5 15
Estante 12 1 10 10

Determine cuantas unidades de cada uno de los artículos debe producir el ebanista con el
fin de cumplir su demanda y de obtener la máxima utilidad. (Prado, Hernando, Notas de
Clase, 1978.)

14. Un fabricante de aparatos de televisión tiene facilidades para ensamblar dos tipos de
televisor: el tipo A a color y el tipo B a blanco y negro. El televisor de tipo A se vende a
$49.500 la unidad y ocasiona un costo de producción de $26.800. El de tipo 5 se vende en
$23.400 y ocasiona un costo de producción de $11.190. La planta tiene capacidad diaria
para fabricar hasta 50 pantallas para televisión en colores. No se pueden comprar pantallas
a otros proveedores. Cada TV A requiere 18 horas hombre para el ensamblaje del chasis y
el tipo B requiere 8 hr.hombre. La planta emplea 225 hombres con un turno diario de 8
horas en el departamento de ensamblaje. Cada aparato tipo A requiere 1.6 horas hombre
para su armado completo, mientras que el tipo B requiere 1 hora hombre. La planta
emplea 30 hombres con turnos de 8 horas diarias para esta labor. Cada TV de color
requiere 2 horas hombre para inspección final mientras que cada TV en blanco y negro
requiere 0.5 horas hombre. La planta emplea 20 inspectores de tiempo completo y uno de
medio tiempo. ¿Cuántos televisores de cada tipo deben producirse para maximizar la
utilidad neta total? (Prado, Hernando, Notas de Clase, 1978.)
52 Introducción a la Modelación Matemática y Optimización

15. Para la elaboración de un producto químico se cuenta con 4 materias primas: A, B, C y D


que contienen cierto factor f tal como se indica en el cuadro siguiente:

MATERIA FACTOR COSTO


PRIMA f (%) ($/Kg)
A 51 4.00
B 11 2.00
C 14 2.40
D 36 3.00

Se trata de obtener una mezcla de una tonelada, cuyo contenido del factor f sea por lo
menos del 18% y con la condición que las materias primas B y C no constituyan más del
20% de la mezcla, con el mínimo costo posible.

16. Un barco tiene tres bodegas: en la proa, en el centro y en la popa. Los limites de
capacidad de cada bodega son:

BODEGA CAPACIDAD CAPACIDAD


TONELADAS PIES CUBICOS
Proa 2000 100,000
Centro 3000 135,000
Popa 1500 80,000

Los dueños del barco pueden aceptar el total o una parte de los artículos que se ofrecen
para el transporte. Las características de estos artículos son las siguientes:

ARTICULO CANTIDAD VOLUMEN UTILIDAD


EN TON. PIES CUB/TN $/TN
A 6000 60 6000
B 1000 50 8000
C 2000 25 5000

Para preservar el equilibrio del barco el tonelaje transportado en cada bodega debe ser
proporcional a su capacidad en toneladas. Determine la distribución de carga para obtener
la máxima utilidad por el transporte. Formule este mismo problema desde el punto de
vista del propietario de la carga y compare resultados.

17. Se está diseñando una nave espacial que lleve y traiga astronautas a Marte. Esta nave
tendrá tres compartimientos, cada uno con su propio sistema que permite vivir en él. El
elemento clave de cada uno de estos sistemas es una pequeña unidad oxidante que
provoca un proceso químico para producir oxígeno. Estas unidades no se pueden probar
con anticipación y solo algunas de ellas tienen éxito en el proceso químico. Por esto, es
importante tener unidades de repuesto para cada sistema. Como los requerimientos son
diferentes para cada compartimiento, las características de las unidades para cada uno
varían. Se debe tomar una decisión sobre el número de unidades que se deben incluir en
cada compartimiento, tomando en cuenta limitaciones de diseño y la cantidad total de
espacio, peso y costo que puede asignarse a estas unidades para toda la nave. La siguiente
53

tabla resume estas limitaciones, al igual que las características individuales para cada
compartimiento:

Compartimiento Espacio Peso Costo Probabilidad


(pul3) (Libras) ($) de falla
1 40 15 40.000 0.30
2 50 20 45.000 0.40
3 30 10 35.000 0.20
3
LIMITACIÓN 500 pul 200 libras $500.000

Si todas las unidades fracasan en uno ó dos de los compartimientos, los astronautas
podrán ocupar el ó los restantes y continuar su viaje espacial, pero con algunas pérdidas
en la cantidad de información científica que puedan obtener. No obstante, si todas las
unidades fracasan, todavía tienen la manera de regresar en la nave a salvo, pero el viaje
completo sería un fracaso total a un gran costo. El objetivo es entonces minimizar la
probabilidad de que todas las unidades fallen, sujeto a las limitaciones anteriores y a la
restricción adicional de que cada compartimiento deberá tener una probabilidad no mayor
que 0.05 de que todas sus unidades fallen. Formule un modelo de PL para este problema.
(Hillier y Lieberman, segunda edición, 1989, pág. 273)

18. Cierto hacendado dispone de los siguientes recursos para emplearlos en la próxima
cosecha:

$150.000 de capital disponible.


1350 horas de tractor (horas máquina)
65 hectáreas de tierra cultivable.

Esta tierra es propia para sembrar maíz, millo o fríjol. Se supone que tiene a su
disposición hombres suficientes. Los costos de producción son los siguientes: tractor e
implementos $50/hora, mano de obra $5/hora, alquiler del terreno por la cosecha
$200/hectárea. El hacendado ha acordado retornar el 150% del dinero no invertido
exclusivamente en los cultivos a la Caja Agraria, donde efectuó el préstamo. Los datos de
los cultivos posibles son los siguientes y vienen dados por hectárea:

CULTIVO MANO HORAS OTROS VALOR


DE OBRA TRACTOR COSTOS COSECHA
Maíz 10 20 $150 $3.000
Millo 25 25 $200 $3.800
Frijol 35 15 $800 $4.900

Determine la proporción de cultivos que genere la máxima utilidad.

19. Una refinería de petróleo tiene un oleoducto que la alimenta, el cual tiene una capacidad
de 50000 barriles de petróleo diarios. La refinería debe suministrar por lo menos 27000
barriles por día a las bombas vendedoras de la Compañía (barriles de gasolina). La
refinería utiliza dos procesos de refinación con los siguientes rendimientos por barril de
petróleo procesado:
54 Introducción a la Modelación Matemática y Optimización

PRODUCTOS PROCESO 1 PROCESO II


PROCESADOS
Gasolina 0.4 0.6
Otros productos 0.6 0.3
Costo Proceso por
barril de petróleo 0.6 0.8
procesado

La refinería vende gasolina a $6 cada barril y otros productos a $4 cada barril. Sí la


demanda lo exige, se puede comprar gasolina a otros productores a $5.20 cada barril. El
precio de compra del petróleo crudo es de $3 por barril. Formule un modelo de PL que le
permita determinar lo que debe hacer la refinería. ¿Qué sucede al tratar de resolverlo?
Encuentre la razón del problema y proponga soluciones para que el problema tenga
solución dentro del contexto real que se plantea. (Prado, Hernando, Notas de Clase, 1978.)

20. Una fábrica de automóviles y camiones consta de los departamentos que a continuación se
enuncian:

Departamento A: Estampado de planchas metálicas.


Departamento B: Armado de motores.
Departamento C: Montaje de automóviles.
Departamento D: Montaje de camiones.

El Departamento A puede estampar por mes las planchas necesarias para 25000
automóviles ó 35000 camiones ó las correspondientes combinaciones de automóviles y
camiones. El Departamento B puede armar por mes 33333 motores de automóvil ó 16667
motores de camión ó una combinación de ambos. El Departamento O puede montar y
terminar 22500 automóviles/mes. El Departamento D puede montar y terminar 25000
camiones/mes. Cada automóvil deja una utilidad neta de $40 u.p. y cada camión de $55
u.p. Planifique la producción para obtener la máxima utilidad.

21. La firma “PAVIMENTOS S.A.” está licitando por un contrato para la construcción de la
calzada de una carretera. Las especificaciones dadas indican que debe tener un mínimo de
12 cm. de espesor y un máximo de 48 cm. Debe, a su vez, construirse de concreto, asfalto,
gravilla o cualquier combinación de los tres, siempre y cuando la resistencia total sea al
menos equivalente a la que tendría una calzada de 9 cm. de concreto. La firma ha
establecido que 3 cm. de asfalto son tan fuertes como 1 cm. de concreto y que 6 cm. de
gravilla son tan resistentes como 1 cm. de concreto. Su costo estimado para un metro
cuadrado y un centímetro de espesor para el concreto es de $2000, para el asfalto es $700
y para la gravilla es de $300. Formule el problema de Programación Lineal que le permita
a la firma saber cual es la mejor combinación para la calzada y conocer su costo.

22. Una compañía de aviación tiene el proyecto de comprar aviones de vuelos cortos,
medianos y largos. Los aviones de vuelos cortos tienen un precio de US$3.500.000 cada
uno; los de vuelos medianos US$5.000.000 cada uno; y los de vuelos largos
US$6.700.000 cada uno. Se tiene un presupuesto máximo de US$150.000.000 para el
55

proyecto. Los aviones serán utilizados al máximo de su capacidad, produciendo una


ganancia neta anual así: aviones de vuelos cortos US$230.000; aviones de vuelos
medianos US$300.000 y aviones de vuelos largos US$400.000. El número máximo de
pilotos disponibles es de 30. Sí solamente se compraran aviones de vuelos cortos los
hangares serian suficientes para 40 de ellos; sin embargo, la capacidad ocupada por los
aviones medianos es 4/3 de la de los vuelos cortos y la capacidad ocupada por los aviones
de vuelos largos es de 5/3 la de los de vuelos cortos. Se desea conocer cuántos aviones de
cada tipo se deben comprar para obtener una ganancia anual máxima.

23. Una compañía de aviación que opera con base en una terminal central, tiene 8 aviones
tipo 1, 15 aviones tipo 2 y 12 aviones tipo 3, disponibles para vuelos diarios. La capacidad
en toneladas es de: 45 para los de tipo 1, 7 para los de tipo 2 y 4 para los de tipo 3. La
compañía despacha sus aviones a las ciudades A y B. Las demandas en toneladas en cada
ciudad son: 200 para la ciudad A y 180 para la ciudad B. El exceso de toneladas
suministrado a una ciudad no tiene costo adicional. Cada avión puede hacer solamente un
vuelo al día. El costo del envío de un avión hacia cada ciudad está dado por la siguiente
tabla:

CIUDAD TIPO 1 TIPO 2 TIPO 3


A 23 5 1.4
B 58 10 3.8

Formule un modelo de Programación Lineal que permita programar los aviones


óptimamente.

24. Una compañía de aviación debe decidir a cuantas nuevas azafatas emplear y entrenar
durante los 6 meses siguientes. Las necesidades expresadas como el número de azafatas ·
hora · vuelo son 8000 en enero, 9000 en febrero, 8000 en marzo, 10000 en abril, 9000 en
mayo y 12000 en junio. Para que una azafata pueda ser puesta en vuelo regular toma un
mes su entrenamiento. Una azafata aprendiz requiere 100 horas de supervisión por una
azafata experimentada durante el mes de entrenamiento; por lo tanto, durante dicho mes
se disponen de 100 horas menos de azafatas para el servicio regular de vuelos. Cada
azafata experimentada puede trabajar hasta 150 horas en el mes y la compañía dispone de
60 azafatas a comienzos de enero. Si el máximo tiempo disponible de azafatas
experimentadas excede a la necesidad de un mes de vuelos y de requisitos de
entrenamiento, las azafatas regulares trabajan menos de 150 horas, pero ninguna es
despedida. Cada mes aproximadamente, el 10% de las azafatas experimentadas se retiran
de la compañía, para casarse. Una azafata experimentada cuesta a la compañía $800
mensuales y una aprendiz $400. Formule un modelo de Programación Lineal para la
situación de empleo y entrenamiento.
56 Introducción a la Modelación Matemática y Optimización

25. El departamento de policía de la ciudad de Cali estima los siguientes requerimientos


mínimos diarios de policías:

HORAS DEL PERÍODO NÚMERO MÍNIMO DE


DÍA POLICÍAS REQUERIDO
2-6 1 20
6 - 10 2 50
10 - 14 3 80
14 - 18 4 100
18 - 22 5 40
22 - 2 6 30

Note usted que el período 1 sigue inmediatamente al periodo 6. Cada policía trabaja 8
horas consecutivas. El departamento de policía busca un programa de trabajo diario que
emplee el menor número de policías en el departamento, teniendo presente cada uno de
los requerimientos anotados. (Prado, Hernando, Notas de Clase, 1978.)

26. Una cervecería posee tres plantas localizadas en tres ciudades diferentes, con las cuales
surte el consumo del país dividido en cuatro zonas: zona norte, zona central, zona
suroriental y zona del pacífico, a las cuales se denominarán respectivamente A, B, C y D.
Mensualmente la planta I produce 1.300.000 litros, la planta II 700.000 litros y la planta
III 300.000 litros. La demanda mensual en las diferentes zonas de consumo es como
sigue: zona A 600.000 litros, zona B 400.000 litros, zona C 400.000 litros y zona D
500.000 litros. Los costos combinados de producción y el transporte de las diferentes
plantas a los centros de consumo, se muestran en la tabla siguiente:

PLANTA ZONA A ZONA B ZONA C ZONA D


I 500 800 600 700
II 800 500 600 800
III 700 600 800 600

Encuentre el arreglo de distribución más económico.

27. Un individuo cuyo negocio es mezclar whisky importa tres grados A, B y C. Los combina
de acuerdo con recetas que especifican los porcentajes máximo y mínimo de los grados A
y C en la mezcla. Estos porcentajes se dan en la tabla siguiente:

NOMBRE DE CONDICIONES INGREDIENTES PRECIO


MEZCLA WHISKY BÁSICO A y C BOTELLA
BLUE DOT No menos del 60% del whisky A US $6.80
No más del 20% del whisky C
HIGHLAND No más del 60% del whisky C US $5.70
No menos del 15% del whisky A
OLD FRENZY No más del 50% del whisky C US $4.50

La provisión de los tres whiskies básicos, junto con sus costos, se presenta en la tabla que
sigue:
57

WHISKY MAXIMA CANTIDAD DISPONIBLE COSTO


BASICO (BOTELLAS POR DIA) BOTELLA
A 2000 US $7.0
B 8500 US $5.0
C 1200 US $4.0

Proyecte una política de producción que maximice las ganancias. (Prado, Hernando,
Notas de Clase, 1978.)

28. Una empresa siderúrgica produce tres aleaciones diferentes. El diagrama de proceso como
sigue:

Aleación 1

CAJA DE
RECOCIDO
Aleación 2

RECOCIDO MOLINOS
Aleación 3 CONTINUO CONTINUO

Se deben determinar las cantidades de cada aleación que deben producirse dentro de las
limitaciones del volumen de ventas y las capacidades de las máquinas con el fin de
maximizar las ganancias. Los datos sobre las capacidades y utilidades se presentan en las
tablas siguientes:

VELOCIDAD POTENCIAL GANANCIA


ALEACIÓN OPERACIÓN DE LA DE VENTAS POR
MÁQUINA (TON/MES) TONELADA
1 Caja de recocido 28 hr / 10 ton 1250 $2,500
Molinos cont.(1) 50 pies/min
Recocido cont. 20 pies/min
Molinos cont.(2) 25 pies/min

2 Caja de recocido 35 hr / 10 ton 250 $3,500


Recocido cont. 20 pies/min
Molinos cont. 25 pies/min

3 Recocido cont. 16 pies/min 1500 $4,000


Molinos cont. 20 pies/min

TIPO DE NÚMERO DE TURNOS % TIEMPO


MÁQUINA MÁQUINAS ( 8 HR/SEM ) OCIOSO
Caja recocido 4 21 5
Recocido Cont. 1 20 10
Molinos Cont. 1 12 0
58 Introducción a la Modelación Matemática y Optimización

Los rollos de cada aleación son de 400 pies de longitud y pesan 4 toneladas. Formule un
modelo de programación lineal del cual pueda obtenerse una política de producción para
la siderúrgica (Asuma que 1 mes = 4 semanas).

29. Una planta de productos químicos fabrica dos productos A y B, los cuales tienen que
pasar por cuatro centros de proceso: 1, 2, 3 y 4, según se muestra con las líneas continuas
en la figura:

A
CENTRO 2

CENTRO 1 CENTRO 4

B
CENTRO 3

Cada centro puede manejar solamente el paso de un producto a la vez. Sí hay capacidad
disponible en el centro 3, es posible enviar el producto A a través de 3, en lugar de hacerlo
dos veces a través del centro 2, pero esto es más costoso. Con la información de la tabla,
¿cómo deberá programarse la producción para hacer máximas las ganancias?. Se entiende
por Programa de Producción la especificación de las siguientes cantidades:

(1) La cantidad de materia prima utilizada para A diariamente, por el curso regular.
(2) La cantidad diaria de materia prima usada para A diariamente, por el curso opcional y
(3) La cantidad diaria de materia prima usada para B.

Nota: Suponga que se dispone de suficiente capacidad de almacenamiento sin costo


adicional. Se tiene también la siguiente información:

ENTRADA % COSTO OPER.


PRODUCTO CENTRO GL/HR RECUP. $/HR
1 300 90 150
2 (1er. paso) 450 95 200
A 4 250 85 180
2 (2o. Paso) 400 80 220
3 350 75 250

1 500 90 300
B 3 480 85 250
4 400 80 240
59

MAT. PRIMA PRECIO VENTAS


PRODUCTO COSTO POR VENTA DIARIAS
GALÓN GALÓN MÁX. (Gal.)
A $5 $20 1,700
B $6 $18 1,500

Los centros 1 y 4 trabajan hasta 16 horas al día; los centros 2 y 3 trabajan hasta 12 horas
al día. Una restricción final la proporcionan las facilidades de envío que limitan la
producción diaria de A y B a un total de 2500 galones. Formule el modelo de
programación lineal correspondiente.

30. Una refinería produce dos tipos de gasolina, la regular y la extra, y otros productos
derivados del petróleo, cuyos precios de venta por galón son $2.500 para la gasolina
regular, $3.200 para la gasolina extra y se puede considerar un promedio de $1.100 para
otros productos. Ambos tipos de gasolina y los otros productos se fabrican a partir de dos
clases de petróleo crudo, el nacional y el importado. Las tablas siguientes muestran las
especificaciones principales que debe cumplir cada tipo de gasolina y las características
de cada tipo de petróleo crudo.

PRODUCTO PRESIÓN DE OCTANAJE DEMANDA DEMANDA


VAPOR MÍNIMO MÍNIMA MÁXIMA
MÁXIMA (Galones/semana) (Galones/semana)
Gasolina 23 88 2.100.000 4.200.000
regular
Gasolina extra 23 93 750.000 1.500.000
Otros productos --o-- --o-- 1.000.000 2.000.000

TIPO DE PRESIÓN DE OCTANAJE DISPONIBILIDAD COSTO


PETRÓLEO VAPOR (Galones/semana) ($/galón)
CRUDO
Nacional 25 87 4.000.000 1.030
Importado 15 98 2.000.000 2.170

La refinería puede emplear tres procesos de refinación con las siguientes características de
eficiencia y costo:

RENDIMIENTO DEL PROCESO


PRODUCTO
(Gal. de producto/Gal. de petróleo crudo*)
PROCESADO
Proceso I Proceso II Proceso III
Gasolina regular 0.60 --o-- 0.40
Gasolina extra --o-- 0.45 0.25
Otros productos 0.40 0.55 0.35
Costo del proceso
por galón de petróleo
crudo procesado 250 340 300
($/galón)*
*
Independiente del tipo de petróleo crudo procesado.
60 Introducción a la Modelación Matemática y Optimización

Asumiendo que en cada proceso los componentes de una mezcla de petróleos crudos
contribuyen al octanaje general y a la presión de vapor proporcionalmente a su cantidad
en galones, formule un modelo de PL que le permita determinar la mejor programación de
producción de la refinería.

31. Una compañía manufactura secadoras y lavadoras automáticas de ropa para consumo
nacional. La gerencia de producción ha calculado que por cada secadora requiere 1.5
horas de mano de obra y por cada lavadora 2 horas. La fuerza laboral de la empresa en el
último cuatrimestre de este año se estima en 5000 horas. La gerencia no desea modificar
la fuerza laboral en más de un 10% por periodo. Las metas de venta en los próximos
cuatro periodos del próximo año se ha fijado así:

1 Cuarto 2 Cuarto 3 Cuarto 4 Cuarto


Secadora 200 1300 3000 1000
Lavadora 1200 1500 1000 1400

Los costos asociados con cada esquema de producción deberán incluir costos de
producción (excluyendo mano de obra), costo de almacenamiento y costo de mano de
obra. La sección de costos de la compañía ha desarrollado la siguiente tabla que describe
los costos unitarios para cada periodo:

ITEM COSTOS UNITARIOS EN CADA CUATRIMESTRE


1 2 3 4
Costo de producción lavadora
sin mano de obra 3750 3900 3750 3780
Costo de producción secadora
sin mano de obra 2750 3000 2850 2850
Costo unitario de llevar una
secadora en inventario 150 135 135 120
Costo unitario de llevar una
lavadora en inventario 129 114 114 99
Mano de obra/hora 50 50 58 58

Establezca esquemas de producción que minimicen los costos anuales para satisfacer las
demandas estimadas para ambos productos.

32. Un inversionista puede elegir entre las actividades A ó B ó ambas, disponibles al principio
de cada uno de los próximos 5 años. Cualquier cantidad invertida y recuperada en el
futuro puede ser reinvertida en cualquier alternativa disponible. Cada peso que invierte en
A al comienzo de cada año le produce $1.40 dos años más tarde. Cada peso invertido en B
al comienzo de un año le produce 1.70 tres años después. Además, las actividades C y D
están disponibles una sola vez en el futuro, C al comienzo del segundo año y D al
comienzo del quinto año. Cada peso invertido en C genera $1.60 en 2 años. Cada peso
invertido en D le produce $1.30 un año después. El inversionista dispone hoy de
$100.000. Formule un modelo de programación lineal que le permita determinar la mejor
forma de inversión a lo largo de los cinco años para maximizar el capital dispone al final
61

del quinto año (comienzo del sexto año). (Adaptado de Hillier y Lieberman, 1989, pág.
50.)

33. La gerencia de una compañía aérea debe decidir con respecto a la asignación de aviones a
rutas aéreas. El cuadro siguiente indica la capacidad máxima en número de pasajeros, el
número de aviones de cada tipo actualmente disponible en la empresa, el máximo número
de vuelos que realiza cada tipo de avión por ruta específica y el número esperado de
pasajeros en cada ruta.

TIPO DE CAPACIDAD NÚMERO DE NÚMERO DE VIAJES DIARIOS


AVIÓN NÚMERO DE AVIONES EN CADA RUTA
PASAJEROS DISPONIBLE 1 2 3 4
1 50 5 3 2 2 1
2 30 8 4 3 3 2
3 20 10 5 5 4 2
Número esperado de pasajeros
1000 2000 900 1200
por ruta diariamente

Los costos de operación por vuelos en las cuatro rutas y el costo de oportunidad (pérdida
– ganancia) originado al no servir a un pasajero se muestran así:

TIPO DE COSTOS DE OPERACIÓN POR VIAJE Y RUTA


AVIÓN 1 2 3 4
1 1000 1100 1200 1500
2 800 900 1000 1000
3 600 800 800 900
Pérdida por pasajero
no transportado 40 50 45 70

Formule un modelo de programación lineal para asignar los aviones a las rutas a costo
mínimo. (Adaptado de Taha, 1981, pág. 37–38; Taha, 1998, pág. 60.)

34. Usted ha sido contratado como asesor del departamento de planificación nacional grupo
de desarrollo energético. El grupo está considerando la construcción de una planta nuclear
y de una planta desalinizadora de agua para un complejo agroindustrial. La planta nuclear,
un reactor adaptado a una planta de vapor, es la única fuente de electricidad. La inversión
en la planta es del orden de $9.000 millones de pesos por cada 1000 megavatios de
capacidad y los costos de operación anuales para esta capacidad son de $1350 millones. El
agua para las plantas industriales y la agricultura será provista por una planta
desalinizadora, con costo de inversión de $1500 millones por cada 1000 millones de
metros cúbicos de agua al año y costo de operación anual de $450 millones. Se estima que
para esta producción de agua se necesitan 300 megavatios de potencia por año. En la
región hay 120.000 hectáreas aptas para la agricultura. Existen fundamentalmente dos
cultivos que pueden ser desarrollados a escala industrial: Cultivo A y cultivo B. Los
fertilizantes se obtendrán básicamente de lo producido por la industria de la región. La
siguiente tabla muestra la inversión, costo de operación, agua, fertilizantes y un estimado
de los ingresos generados por una extensión determinada dedicada a cada uno de los
cultivos.
62 Introducción a la Modelación Matemática y Optimización

SECTOR AGRICOLA CULTIVO A CULTIVO B


Tierra (Ha) 400 400
Inversión (millones $) 6000 9000
Operación anual
(millones $)* 1500 1350
Fertilizantes
(miles ton/año) 2.0 1.5
3
Agua (millones m /año) 10 8
Ventas totales (millones) 7500 8600
* No incluye agua ni fertilizantes

Para el sector industrial se están considerando básicamente dos procesos para la


producción de fertilizantes y aluminio. El proceso C y el proceso D. El precio promedio
en el mercado de tonelada de fertilizante es de $1800 y de ton. de aluminio $24000. Puede
suponerse que existe suficiente demanda para absorber excedentes de producción. La
tabla siguiente ilustra los recursos y producciones asociados con cada proceso.

SECTOR INDUSTRIAL PROCESO C PROCESO D


Inversión (millones $) 2400 4800
Costo anual de
operación (millones $)* 450 360
Consumo de agua
(millones m3/año) 5 6
Consumo de electricidad
(megavatios/año) 1000 1000
Producción de fertilizantes
(millones ton/día) 1.5 0.8
Producción de aluminio
(millones ton/día) 0.5 1
* No incluye agua ni electricidad

Suponga que para este tipo de proyecto se dispone de financiación por prestamos
internacionales de hasta $30.000 millones de pesos a ser pagaderos en 10 años a una tasa
anual de 15%. Analice el problema y si es posible plantee un modelo que permita la
evaluación de posibles alternativas.

35. Suponga que en cierta población se pretende hacer inversiones cuantiosas en el cultivo de
aguacate, lima reina, mango y zapote prieto. Se persiguen dos objetivos: reducir el
desempleo rural y aumentar las exportaciones que vendrán a equilibrar la balanza de
pagos de la nación. Se sabe que la producción promedio de cada árbol está dada por la
siguiente tabla:

TIPO DE ÁRBOL * PRODUCCIÓN PROMEDIO ANUAL


(EN UNIDADES) (EN KG.)
Aguacate 350 150
Lima reina 230 200
Mango 150 50
Zapote prieto 400 150
* Los cultivos se producen una vez por año
63

El precio promedio en el mercado mundial fue de $10 por Kg de aguacate, $4 por Kg de


lima reina, $15 por Kg de mango y $7 por Kg de zapote prieto. Existe una extensión de
250.000 m2 de tierra de propiedad municipal propicia para el cultivo de esos productos.
Suponga que técnicos de la Secretaría de Agricultura han determinado que las siguientes
extensiones mínimas son necesarias para el cultivo de esos productos.

TIPO DE ÁRBOL Extensión Mínima de


Cultivo por árbol (m2)
Aguacate 4
Lima reina 5
Mango 3
Zapote prieto 6

Afortunadamente no existe inconveniente de agua, pues hay varios manantiales dentro de


la propiedad, que aseguran la existencia de ese preciado líquido por los próximos 20 años.
El costo por sembrar un árbol de aguacate es de $2, $0.5 por árbol de lima reina, $1 por
árbol de mango y $1.5 por árbol de zapote prieto; estos costos ya incluyen la compra del
árbol, su cuidado y mantenimiento. Cada árbol empieza a ser productivo
aproximadamente a los 3 años de ser plantado. Cada árbol de aguacate requiere los
cuidados equivalentes a 36 horas hombre/año, 72 por árbol de lima reina, 50 por árbol de
mango y 10 por árbol de zapote prieto. Se pretende hacer una inversión de $20 millones
pensando exportar toda su producción a partir del tercer año. El desempleo en la
población se ha calculado en 500 personas y el gobierno municipal ha delineado que este
proyecto emplee al menos 200 personas en forma continua. Bajo estas circunstancias,
¿cuántos árboles de aguacate, lima reina, mango y zapote prieto deberán sembrarse con
objeto de maximizar el valor de la futura exportación anual?

36. La Fábrica Nacional de Cerveza tiene plantas ubicadas en Bogotá, Cali, Barranquilla,
Medellín y Palmira. La Fábrica Nacional de Latas, una subsidiaria, tiene plantas ubicadas
en Pereira, Bucaramanga y Cartagena. La demanda mensual de latas de cerveza se
pronostica así:

Planta de cerveza Demanda mensual en latas


Bogotá 2,000,000
Cali 500,000
Barranquilla 400,000
Medellín 100,000
Palmira 100,000

Las latas de cerveza abiertas, se retornan a la Fundidora Nacional de Aluminio, en donde


se reconvierten en aluminio y de ahí se mandan a la fábrica de latas. La producción
máxima mensual de latas es:

Planta de Latas Capacidad mensual en latas


Pereira 1,000,000
Bucaramanga 1,500,000
Cartagena 750,000
64 Introducción a la Modelación Matemática y Optimización

Los fletes son una función de las distancias que existen entre las plantas productoras de
cerveza y las plantas productoras de latas. Estos fletes son:

Pereira Bucaramanga Cartagena


Bogotá 5 20 15
Cali 20 15 2
Barranquilla 25 2 10
Medellín 75 50 40
Palmira 45 80 60
(Pesos por transporte de 1000 latas)

Bajo estas condiciones, ¿Qué programa de distribución mensual de latas se debería


establecer a fin de satisfacer la demanda mensual en las fábricas de cerveza, sin exceder la
producción mensual?

37. Se supone que la Secretaria de Educación Pública se ha trazado un plan a 4 años, para
entrenar maestros urbanos y rurales de enseñanza primaria. El entrenamiento de ambas
clases de maestros tarda 1 año y los costos de entrenamiento están dados por:

AÑOS Por maestro rural Por maestro urbano


1 (2003) $10.0 12.5
2 (2004) $10.1 13.0
3 (2005) $10.2 13.5
4 (2006) $10.3 14.0

La demanda pronosticada de maestros de ambas clases es:

AÑOS Maestro rural Maestro urbano


1 (2003) 120 170
2 (2004) 150 180
3 (2005) 150 190
4 (2006) 170 195

Al finalizar el año de trabajo se les ofrece la opción a los maestros de continuar en su


mismo trabajo o de cambiar de urbano a rural o viceversa. De no cambiar, su salario
permanecerá regido por la tabla anterior. Los maestros que cambien de rural a urbano
recibirán un salario correspondiente a la tabla vigente para maestros urbanos en ese año.
En cambio, maestros urbanos que cambien a rurales recibirán el salario de maestro urbano
correspondiente a ese año.

Debido a la capacidad de las instalaciones, el gobierno municipal puede únicamente


entrenar y graduar a no más de 300 maestros en total (rurales y urbanos), por un año. Sí
por la oferta limitada en cierto año, es necesario cubrir la demanda, esta se hará con
maestros jubilados a un costo de $15.000 por año de maestro, independientemente a que
funcionen como rural o urbano.
65

Bajo tales circunstancias, ¿Cuántos maestros de cada tipo deberían prepararse por año,
cuantos deberían cambiar de calidad por año y cuantos maestros Jubilados deberían
contratarse por año, tal que el costo total se minimice y se atenga a la demanda
pronosticada?

38. Una siderúrgica debe decidir cuántas libras de acero puro y cuántas de chatarra utilizar en
la preparación de una aleación para un cliente. El costo por libra de acero puro es de $3 y
de chatarra $6 (por las impurezas), la demanda del cliente es de por lo menos 5 libras y
aceptaría más si se le ofrece. La disponibilidad de acero puro es 4 libras y la de chatarra
de 7 libras. La relación entre chatarra y el acero no puede exceder de 7/8. La fábrica tiene
18 horas disponibles para el proceso; una libra de acero puro requiere 3 horas mientras
que la chatarra solo requiere 2 horas. Formule un modelo de programación lineal que
determine la carga óptima del horno.

39. Una empresa fabrica dos modelos de productos: Z-1200 y Z-1500. Los requerimientos de
producción y las disponibilidades están mostradas a continuación:

DEPARTAMENTO REQUERIMIENTO DE MANO DE OBRA CAPACIDAD


MODELO Z-1200 MODELO Z-1500
1 2 0 300
2 0 3 540
3 2 2 440
4 1 1/5 1 1/2 300

Los beneficios unitarios logrados a la venta de los modelos Z1200 y Z-1500 son de $50 y
$40, respectivamente. Encuentre el número óptimo de cada producto a producir. Si la
corporación está produciendo actualmente 30 unidades del modelo Z-1200 y 12O
unidades del modelo Z-1500, ¿cuánto beneficio está perdiendo o está dejando de ganar?
(Adaptado de Thierauf y Grosse, 1972, pág. 273–274.)

40. El dueño de una editorial está imprimiendo un nuevo libro y tiene las alternativas de
empastarlo con cartón fino y/o cartulina corriente. La venta de un libro con pasta de
cartón fino le genera un beneficio de $30, mientras que la de un libro con cartulina es de
$7.50. El tiempo requerido para empastar un libro con cartón fino es de 3 minutos y con
cartulina ordinaria 2 minutos. El tiempo total disponible para empastado es de 800
minutos. Se estima que las ventas serán de no más de 6000 copias para el libro empastado
con cartón fino y no más de 10000 copias para el empastado con cartulina corriente.
Formule un modelo de programación lineal para este enunciado.

41. El departamento de servicios de un almacén proporciona servicios de reparación para la


mercancía vendida. Durante una semana 5 televisores, 12 radios y 18 licuadoras fueron
devueltos para reparación. Dos técnicos son contratados temporalmente para ayudar en
dicho departamento. En una jornada de 8 horas el técnico 1 puede reparar 1 televisor, 3
radios o 3 licuadoras, mientras que el técnico 2 puede reparar 1 televisor, 2 radios o 2
licuadoras en el mismo tiempo. Sí el técnico 1 gana $250 diarios y el técnico 2 $150
diarios, por cuantas horas deberán ser contratados de manera que los costos de reparación
sean mínimos?
66 Introducción a la Modelación Matemática y Optimización

42. Una compañía de paqueteo y envíos desea contratar operadores extra para las festividades
navideñas, pero debido a las limitaciones de espacio el número de empleados no puede
exceder de 10. De experiencias anteriores se sabe que un operador hombre maneja 3000
cartas diarias ó 1000 paquetes diarios, mientras que una mujer puede manejar 4000 cartas
ó 500 paquetes. Sabiendo que al menos llegarán 36000 cartas diarias y 10000 paquetes
por día y que un hombre y una mujer ganan diariamente $250 y $220 respectivamente,
¿cuántos hombres y mujeres deberán ser empleados?. ¿Cómo se afecta la respuesta si el
gobierno ordena el pago de $250 diarios a cada mujer? Suponga que el número de
operadores en condiciones normales es de 2 hombres y 2 mujeres quienes reciben salarios
de $200 y $180 semanal. ¿Qué problemas encuentra usted en la formulación de este
problema? ¿Cómo resolverlos para obtener un modelo satisfactorio?

43. Una compañía manufactura el producto Z, que se elabora ensamblando cuatro


componentes: un componente AS1 y tres componentes BC1. Los componentes AS1 y BC1
se producen a partir de dos tipos de materias primas MT1 y MT2, y su manufactura se
puede realizar en tres equipos diferentes E1, E2 y E3. La producción y el consumo de
materia prima por corrida de cada equipo son diferentes y se ilustran en el cuadro
siguiente:

TIPO CONSUMO POR CORRIDA PRODUCCION POR CORRIDA


DE Materia Prima Componente
EQUIPO MT1(U) MT2(U) AS1 AS2
E1 8 6 7 5
E2 5 9 6 9
E3 3 8 8 4

Actualmente se dispone de 100 unidades MT1 y 200 unidades de MT2. Se desea conocer
en que forma se puede utilizar la información disponible para decidir el esquema de
producción de AS1 y BC1 para tener el máximo número de productos Z terminados.

44. Una compañía posee tres plantas, en las cuales elabora un componente pequeño para un
producto industrial. La compañía comercializa el producto a través de cinco distribuidores
en el país y el precio al distribuidor es de $75 la unidad incluyendo el costo de
distribución. Los pronósticos de ventas indican que los requerimientos mensuales por
distribuidor son los siguientes:

Distribuidor 1 2 3 4 5
Demanda mensual 2700 2700 9000 4500 3600

La capacidad mensual de producción en cada planta y los costos unitarios de producción


ce Ilustran en el siguiente cuadro:

Planta 1 2 3
Capacidad 4500 9000 11250
Costo Unitario
de producción $ 60 30 54
67

Los costos unitarios de envío a distribuidores de plantas se muestran en el cuadro


siguiente en $:

Distribuidor 1 2 3 4 5
Planta 1 1.5 2.1 3.3 4.5 4.8
Planta 2 2.4 1.8 3.0 3.6 4.5
Planta 3 3.0 2.7 2.7 3.0 4.8

¿Cómo se puede organizar la producción y el despacho a los distribuidores para


minimizar los costos mensuales totales?

45. Una empresa papelera posee un centro de recolección de desperdicios los cuales somete a
diferentes tratamientos de tal manera que pueda producir materia prima para la venta. De
acuerdo a la mezcla de los materiales utilizados es posible producir tres tipos de calidades
diferentes del producto. Para la mezcla existe cierta flexibilidad y se han especificado
estándares de calidad que indican los niveles máximo y mínimo en porcentaje (por peso)
de los materiales que se permiten en cada tipo de producto. Las especificaciones se dan en
la tabla siguiente junto con el costo de amalgamado por libra y el precio de venta por
libra.

COSTO DE AMALGADO PRECIO DE VENTA


TIPO ESPECIFICACIONES
($) POR LIBRA ($) POR LIBRA
No más del 30% del
material 1
No menos del 40% del
A 3.0 8.5
material 2
No menos del 50% del
material 3
No más del 50% del
material 1
B 2.5 7.0
No menos del 10% del
material 2
No más del 70% del
C 2.0 5.5
material 1

El centro de recolección de la compañía obtiene los materiales de desperdicio de


diferentes fuentes por lo cual es capaz de operar a una producción estable. Las cantidades
disponibles cada semana así como el costo de tratamiento se muestra en la siguiente tabla:

MATERIAL LIBRAS DISPONIBLES COSTO DEL


POR SEMANA TRATAMIENTO ($/LB)
1 3,000 3
2 2,000 6
3 4,000 4
4 1,000 5

La compañía tiene que determinar cuanto debe producir de cada tipo de producto y la
mezcla exacta de materiales que debe utilizar para cada tipo de tal manera que se
68 Introducción a la Modelación Matemática y Optimización

maximice el beneficio total por semana (ventas totales menos costos totales de
amalgamamiento y tratamiento).

46. Considere un fabricante a gran escala de cierto producto de consumo popular. La


administración ha decidido invertir hasta $22‟000.000 en publicidad para su producto.
Algunos estudios de investigación de mercados realizados por la compañía han mostrado
que el tipo de consumidor más importante de dicho producto son personas que están entre
20 y 45 años de edad, que tienen ingresos de $600.000/mes o más y que han cursado dos o
más años de educación universitaria. A partir de estos datos, el grupo de investigación de
mercados ha decidido que las características de los clientes tienen una importancia
relativa de acuerdo con la siguiente ponderación:

CARACTERÍSTICA DEL CLIENTE PONDERACIÓN


Edad (20 - 45) 0.40
Ingresos ($600.000/mes o más) 0.35
Educación (2 años de universidad) 0.25

Los administradores del departamento de mercadotecnia de la compañía han decidido


utilizar los servicios de una agencia de publicidad para que les ayude a desarrollar un plan
de publicidad que les permita alcanzar al cliente potencial en forma más efectiva. Después
de estudiar los datos de las características de los clientes, la agencia de publicidad ha
sugerido que la compañía considere Publicar sus anuncios en tres revistas de Consumo
popular. La tabla siguiente muestra las características de los consumidores de las tres
revistas:

CARACTERÍSTICA DEL CLIENTE Porcentaje de Consumidores


Revistas A B C
Edad (20 - 45) 40 70 60
Ingresos ($600.000/mes o más) 60 50 40
Educación (2 años de universidad) 30 20 60
Público lector × 1000 780 940 1250

La agencia de publicidad ha indicado a la compañía que una meta apropiada seria


maximizar el número de exposiciones efectivas, dado el presupuesto que se tiene. El
objetivo no debe ser maximizar el número de exposiciones para todos los lectores de la
Publicidad, sino más bien, maximizar el número de clientes potenciales que se exponen a
la publicidad. El costo por anuncio para cada revista es $350.00Q, $510.000 y $560.000,
respectivamente. De análisis y estudios conjuntos de la compañía y la agencia de
publicidad, se ha decidido que el número máximo de anuncios que debe colocarse en cada
revista es 36, 40 y 45 respectivamente Además, se ha decidido que deben colocarse
cuando menos 9 anuncios en la revista A y cuando menos 5 en la revista C.

Formule un modelo de programación lineal que permita determinar la cantidad de dinero


que debe invertirse en publicidad en cada revista para maximizar la exposición efectiva.
69

47. El ministerio de Obras Públicas tiene tres proyectos diferentes de construcción de


caminos, aprobados últimamente. Ahora, se presenta el problema de determinar que
contratistas llevarán a cabo los proyectos. Se buscaron cotizaciones para los proyectos
entre los contratistas locales y tres de ellos presentaron cotizaciones. Las cotizaciones
presentadas por los respectivos contratistas se muestran en la tabla siguiente, en unidades
de peso:

PROYECTO
CONTRATISTA
Pl P2 P3
C1 28 32 36
C2 36 28 30
C3 38 34 40

Formule un modelo de programación lineal que permita determinar como asignar los
proyectos para minimizar los costos totales de todos ellos. Se asume que a cada contratista
se le asignará un solo proyecto.

48. Cierta empresa es un contratista grande que realiza trabajos en techos. Puesto que el
precio de las tejas varía con las estaciones del año, la compañía trata de acumular
existencias cuando los precios están bajos y almacenarlas para su uso posterior. La
compañía cobra el precio corriente en el mercado por las tejas que ínstala, sin importar
cuando las haya adquirido. La tabla mostrada abajo refleja lo que la compañía ha
proyectado como costo, precio de venta y demanda para las tejas durante las próximas
cuatro temporadas. Cuando las tejas se compran, se incurre en un costo de manejo de 6
u.p. por cada 1000 piezas, así como también en un costo de almacenamiento de 12 u.p.
por cada 1000 piezas por cada temporada en la que se almacenan (suponga que se incurre
en el costo de almacenamiento solo para las tejas que se almacenan para períodos su venta
en períodos posteriores).

Lo máximo que se puede guardar en el almacén son 220.000 piezas; Esto incluye el
material que se compra para utilizarlo en el mismo periodo. La compañía ha fijado una
política que señala que no se conservan materiales más de cuatro temporadas. Plantee un
modelo de programación lineal para que la compañía pueda maximizar sus ganancias
netas para las cuatro temporadas.

Costo de Precio de Ventas


TEMPORADA compra venta Proyectadas
(u.p. / pieza) (u.p. / pieza) (miles)
Verano 21 22.00 100
Otoño 22 23.25 140
Invierno 26 28.50 200
Primavera 24 25.50 160

49. Una compañía compra y vende maíz en efectivo. Posee una bodega con capacidad de
1.000 toneladas. El inventario inicial a Enero 01 es de 200 toneladas y $7 millones en
caja. El precio estimado del maíz por tonelada para el primer trimestre es el siguiente:
70 Introducción a la Modelación Matemática y Optimización

PRECIO DE PRECIO DE
MES COMPRA VENTA
($/ton) ($/ton)
Enero 8.550 9.300
Febrero 9.150 9.750
Marzo 8.700 8.850

El maíz es entregado en el mes de compra y no puede ser vendido sino hasta el mes
siguiente o los meses que siguen. La compra y venta se hace estrictamente al contado
contra-entrega. La compañía desea tener un inventario final de 400 toneladas al terminar
el trimestre. Formule un modelo de PL que le permita determinar las políticas de compra
y venta en cada mes que maximicen la ganancia neta total en el trimestre. Ignore los
posibles costos de inventario. (Adaptado de Moskowitz y Wright, 1982, pág. 289–290.)

50. Una empresa pública debe llevar a cabo cinco proyectos, pero solo han cotizado tres
contratistas para realizar los cinco proyectos. Las cotizaciones se muestran en la tabla
siguiente:

PROYECTO
CONTRATISTA
Pl P2 P3 P4 P5
C1 65 37 42 29 29
C2 59 39 50 29 31
C3 62 46 33 24 31

Formule un modelo de Programación lineal para cada uno de los casos planteados a
continuación, suponiendo que siempre se busca minimizar el costo total de realización de
los proyectos respectivos.

a) Cada contratista puede llevar a cabo máximo dos proyectos y todos los proyectos
deben ser ejecutados.
b) Cada contratista solo puede ejecutar un solo proyecto y, por lo tanto, solo podrán
llevarse a cabo tres de los cinco proyectos.
c) No hay límite en el número de proyectos que cada contratista puede llevar a cabo y
deben ejecutarse todos los proyectos.

51. Una gran empresa constructora posee 2000 hectáreas de tierra de primera clase, pero no
urbanizada. En el pasado no existía mucha regulación a nuevas urbanizaciones en el sitio
donde se encuentra la tierra, pero hoy en día las cosas han cambiado. Debido a la falta de
desagües por alcantarillado, se utilizan muchos tanques sépticos, la mayoría instalados en
forma inadecuada. Como las tierras rodean un lago, con el paso de los años, la filtración
de los tanques sépticos ha provocado un severo problema de contaminación de agua.

Para controlar la degradación más profunda en la calidad del agua, los funcionarios del
municipio presentaron y aprobaron algunos reglamentos estrictos aplicables a todas las
urbanizaciones del futuro:
71

a) Solo se pueden construir casas para una, dos y tres familias, donde las unifamiliares
constituyen cuando menos el 50% del total.
b) Para limitar el número de tanques Sépticos, se requieren tamaños de lote mínimos de
5, 7.5 y 10 hectáreas para casas de una, dos y tres familias.
c) Se deben establecer áreas de recreo de 2.5 hectáreas cada una, a razón de un área para
cada 200 familias.
d) Para preservar la ecología del lago, no se puede extraer agua del subsuelo para uso en
la casa o el jardín.

El presidente de la empresa estudia la posibilidad de urbanizar las 2000 hectáreas. La


nueva urbanización incluirá casas para una, dos y tres familias. El estima que el 15% del
terreno se utilizará en la apertura de calles y vías de acceso para servicios. También
calcula que los siguientes serán sus ingresos derivados de la venta de las diversas
unidades habitacionales:

UNIDADES HABITACIONALES INGRESO NETO


POR UNIDAD (u.p.)
Sencilla 10
Doble 15
Triple 20

El costo de conexión del servicio de agua al área es proporcional al número de unidades


que se construyan. Sin embargo, la comunidad estipula que se deberá colectar un mínimo
de 100 u.p. para que el proyecto sea económicamente factible. Además, la expansión del
sistema de agua más allá de su capacidad actual está limitada a 200.000 galones por día
durante períodos pico. Los datos que siguen resumen el costo de conexión del servicio de
agua y también del consumo de agua, suponiendo una familia de tamaño medio:

UNIDAD COSTO DEL SERVICIO CONSUMO DE AGUA


HABITACIONAL DE AGUA × UNIDAD (u.p.) × UNIDAD (gal / día)
Sencilla 1.0 400
Doble 1.2 600
Triple 1.4 840
Recreo 0.8 450

Formule un modelo de programación lineal que permita determinar el número de unidades


que se construirán de cada tipo junto con el número de áreas de recreo que satisfagan los
decretos del municipio, de tal manera que la compañía obtenga la máxima utilidad
posible.
72 Introducción a la Modelación Matemática y Optimización

52. Una compañía tiene las siguientes propuestas de inversión:

ALTERNATIVA VALOR PRESENTE NETO INVERSIÓN INICIAL


1 100 80
2 250 110
3 120 90
4 170 40
5 200 150
6 300 200

Las alternativas 2 y 5 son mutuamente excluyentes. Solo puede realizarse la propuesta 4 si


la 1 se ha llevado a cabo. El resto de alternativas son independientes.

El presupuesto para la inversión inicial es de 500. Formule un modelo de programación


lineal que sirva para encontrar el plan de inversión que maximiza el Valor Presente Neto
total de la compañía.

53. Usted dispone de cinco proyectos en los cuales puede invertir. Los proyectos se realizarán
totalmente o no se realizarán, pero no se podrán emprender parcialmente. Los datos de
flujo de dinero se muestran en la tabla siguiente, donde un valor negativo representa una
salida de dinero o inversión en el proyecto, y un valor positivo representa un retorno o una
entrada de dinero producto del proyecto:

AÑO Proyectos:
1 2 3 4 5
0  $1.000  $2.500  $3.000  $3.300  $4.000
1  $500  $1.000  $2.000 $800 $1.000
2 $800 $1.500 $1.000 $1.500 $2.000
3 $1.700 $1.800 $4.000 $1.500 $5.000
4 $1.700 $2.000 $2.000 $1.000 $0
5 $0 $1.500 $5.000 $500 $0

En el año cero se tiene un presupuesto externo (ajeno a cualquier rendimiento de los


proyectos) de $10.000 para inversión y en el año 1 el presupuesto externo es de $1.500
(adicional a cualquier rendimiento de un proyecto emprendido). Los proyectos 3 y 5 son
mutuamente excluyentes. Si su tasa mínima de retorno es del 22% anual efectivo, formule
un modelo de PL que le permita determinar cuáles proyectos debe realizar con el objeto
de maximizar su valor presente neto total.
73

54. La puerta de un vehículo consta de tres partes de metal cuya pintura se puede hacer
mediante tres diferentes procesos piscina de pintura, pistola o cuarto de baño de pintura.
Se dispone de la siguiente información:

NUMERO Producción máxima por hora si se


PROCESO DE dedica a pintar exclusivamente
LINEAS Parte 1 Parte 2 Parte 3
Piscina 2 40 10 30
Pistola 4 50 30 40
Baño 3 45 15 20

Formule un modelo de programación lineal que permita hallar el máximo número de


puertas por hora que puede producirse bajo estas condiciones.

55. Una firma está planeando la construcción de nuevos edificios en cuatro lugares de una
ciudad (1, 2, 3 y 4). En cada uno de los lugares puede haber tres posibilidades para el
diseño de los edificios (A, B y C). También existe la opción de no construir ningún
edificio en cualquiera de los lugares 1, 2, 3 y 4. La tabla siguiente muestra cada una de las
opciones, su inversión y su ingreso anual:

Opción A1 B1 C1 A2 B2 C2 A3 C3 A4 B4 C4
Inversión 12 20 24 30 69 45 10 28 42 50 55
Ingreso 2 4 6 5 7 11 5 12 16 19 22
Anual

El presupuesto de inversión es de 80 y el propósito es maximizar el ingreso anual. Se


tienen además las siguientes condiciones:

a) No se puede construir más de un edificio en cada sitio.


b) Debe construirse un edificio en la localidad 4.
c) El diseño A podrá considerarse para los lugares 1, 2 y 3 sólo si se construyera en el
lugar 4.
d) Debido a consideraciones de construcción, los diseños B1, B2 y C4 no pueden
construirse todos simultáneamente.

Formule un modelo de programación entera que permita determinar el plan óptimo de


inversiones.
74 Introducción a la Modelación Matemática y Optimización

56. Una cadena de tiendas pequeñas está planeando entrar a un nuevo mercado y debe
determinar donde localizar nuevas tiendas en cierta zona. La figura muestra un mapa de
las principales calles en la zona de interés.

A B C D E

1 1 2

3 4
2

5 6
3

7 8 9
4

10
5
1 milla

1 milla
Las calles adyacentes están separadas 1 milla. Las localizaciones, marcadas de 1 a 10, son
los lugares potenciales donde se pueden ubicar nuevas tiendas. La distancia entre un punto
y otro se mide con base en la red de calles. Por ejemplo, la distancia entre el punto 4 y el
punto 6 es de 3 millas; entre el punto 1 y el punto 8 es de 4 millas. El costo de
construcción de una tienda depende del lugar donde se haga, de acuerdo a la tabla
siguiente:

Localización 1 2 3 4 5 6 7 8 9 10
Costo 100 80 90 50 80 90 100 70 90 80

Se tienen las siguientes condiciones para la construcción de las nuevas tiendas:

a) No se pueden abrir dos tiendas sobre la misma calle. Por ejemplo, no se pueden abrir
las tiendas 5 y 6 simultáneamente, ni por ejemplo las tiendas 4 y 8 simultáneamente.
b) Las tiendas deben estar localizadas de tal forma que estén separadas entre sí por 3
millas o más. Por ejemplo, las tiendas 4 y 5 no podrían abrirse simultáneamente por
este motivo.
c) Todo punto en el que se intercepten dos calles (o sea A1, B1, ... hasta E5.) no debe
estar alejado más de 3 millas de alguna de las nuevas tiendas (3 millas es aceptable,
pero más no).

Formule un modelo de programación binaria que permita determinar la localización


óptima de las nuevas tiendas, minimizando el costo total de construcción y cumpliendo
con todas las condiciones especificadas.
75

57. Una compañía manufactura tres productos, A, B y C. Cada unidad de A requiere 1 hora de
servicio de ingeniería, 8 horas de mano de obra directa y 4 libras de material. Para
producir una unidad de producto B se necesitan 3 horas de ingeniería, 3 horas de mano de
obra directa y 3 libras de material. Cada unidad de producto C requiere de 2 horas de
ingeniería, 4 horas de mano de obra directa y 2 libras de material. Se dispone de 80 horas
de ingeniería, 800 horas de mano de obra directa y 300 libras de material cada mes. Las
utilidades unitarias de cada producto se han determinado como muestra la tabla siguiente:

PRODUCTO A PRODUCTO B PRODUCTO C


Ventas Utilidad Ventas Utilidad Ventas Utilidad
(unidades) ($/unidad) (unidades) ($/unidad) (unidades) ($/unidad)

0–40 10 0–50 6 0–100 5


40–100 9 50–100 4 Más de 100 4
100–50 8 Más de 100 3
Más de 50 6

Formule un modelo de PL para determinar el programa de producción óptimo.


(Moskowitz y Wright, 1982, pág. 290–291.)

58. Una fábrica necesita cumplir un contrato de suministro de 1200 puertas dentro de un plazo
de cinco semanas, así:

Al final de la semana 1 2 3 4 5
Núm. de puertas a entregar 100 200 300 400 200

Las condiciones son las siguientes:


a) Al final de la quinta semana deben haber sido entregadas todas las puertas.
b) Existe una multa de 30 unidades de peso (u.p.) por semana de atraso y por unidad no
entregada.
c) Se puede almacenar a un costo de 10 u.p. por puerta y por semana.
d) Inicialmente hay 20 operarios y 10 puertas. Cada operario puede hacer 8 puertas por
semana.
e) Los operarios nuevos puedan ser entrenados por un operario ya experto. Convertirse
de novato a experto demora una semana.
f) Cada operario experto puede entrenar a 5 operarios nuevos, pero no produce puertas.
g) El salario, trabaje o no, sea novato o experto, es de 100 u.p. por semana.
h) Se puede despedir operarios a un costo de 100 u.p. por operar lo despedido.

Formule un modelo de programación lineal que permita planear la producción a costo mínimo.

59. Un ingenio produce azúcar morena, azúcar refinada, azúcar pulverizada y mieles con el
jarabe de la caña de azúcar. La compañía puede procesar hasta 4000 toneladas de jarabe a
la semana y tiene un contrato para entregar un mínimo de 25 toneladas semanales de cada
tipo de azúcar y mieles. El proceso de producción se inicia fabricando azúcar morena y
mieles con el jarabe. Una tonelada de jarabe produce 0.3 toneladas de azúcar morena y 0.1
toneladas de mieles. Las mieles así obtenidas están listas para la venta. Después, el azúcar
76 Introducción a la Modelación Matemática y Optimización

refinada se elabora procesando el azúcar morena. Se requiere 1 tonelada de azúcar morena


para producir 0.8 toneladas de azúcar refinada. Finalmente, el azúcar pulverizada se
fabrica a partir del azúcar refinada por medio de un proceso de molido especial, que tiene
un 95% de eficiencia de conversión (1 tonelada de azúcar refinada produce 0.95 toneladas
de azúcar pulverizada). El proceso de producción tiene una limitante que sólo permite
procesar 1100 ton/semana de azúcar morena solamente o 900 ton/semana de azúcar
refinada solamente o cualquier combinación adecuada de ambas. (El azúcar pulverizada y
las mieles no tienen esta limitante).

Las utilidades netas de azúcar morena, azúcar refinada, azúcar pulverizada y mieles son
de 150, 200, 230 y 35 $/tonelada, respectivamente. Formule un modelo de programación
lineal que le permita determinar el programa de producción semanal de cada tipo de
azúcar y de las mieles, para obtener la máxima utilidad neta. (Taha, 1998, pág. 55)

60. La tabla siguiente muestra la demanda requerida de cierto producto por los próximos doce
meses.

MES 1 2 3 4 5 6 7 8 9 10 11 12 TOTAL
Demanda 10 62 12 13 15 129 88 52 12 160 238 41 1200
0 4 4

Se ha estimado un costo fijo de alistamiento A de $54/pedido, un costo de llevar el


inventario r de 0.02 $/($mes), y el costo unitario de cada producto v es de $20/unidad. La
empresa ha decidido utilizar un criterio para la programación de sus órdenes,
estableciendo la producción de tres meses de requerimientos cada vez que se produzca.
Así, por ejemplo, y asumiendo que el inventario inicial es cero, al comienzo del mes 1
debe estar disponible una orden por 10 + 62 + 12 unidades = 84 unidades,
correspondientes a las necesidades de los meses 1, 2 y 3. Calcule los costos de inventario
asociados con esta política de pedidos. Asuma que los costos de mantenimiento del
inventario se cargan al inventario final en cada mes. Formule un modelo de PL entera-
mixta para ayudarle a la empresa a determinar la forma óptima de producir estos
requerimientos y compare los resultados.

61. A su empresa ha llegado un pedido de 3500 unidades de cierto producto, el cual puede
usted manufacturar en cualquiera de cuatro máquinas, con las siguientes características:

COSTO FIJO DE COSTO DE CAPACIDAD


MÁQUINA ALISTAMIENTO PRODUCCIÓN ACTUAL
($) ($/unidad) (unidades)
1 150 15 1500
2 450 3 2900
3 300 7.5 1800
4 520 2 1100

Formule un modelo de PL entera-mixta para determinar en cuáles máquinas debe usted


producir el pedido y la cantidad a producir en cada máquina, con el objeto de minimizar la
suma de los costos fijos de alistamiento y los costos variables de producción.
77

62. Una planta manufacturera debe cumplir con la siguiente demanda en unidades en los
próximos 12 meses:

MES DEMANDA MES DEMANDA MES DEMANDA


Enero 5300 Mayo 4100 Septiembre 7300
Febrero 5100 Junio 4800 Octubre 7800
Marzo 4400 Julio 6000 Noviembre 7600
Abril 2800 Agosto 7100 Diciembre 6400

Para ajustarse a estas fluctuaciones de demanda, la empresa puede usar cualquier


combinación de las siguientes alternativas:

a) Cambiar la fuerza laboral contratando o despidiendo empleados temporales.


b) Cubrir picos de demanda mediante el trabajo en horas extras.
c) Producir un poco más en forma anticipada y almacenar para demandas futuras.

Los cambios en la fuerza laboral, bien sea en su aumento o disminución, no pueden ser
mayores que 40 trabajadores por mes, debido al convenio realizado con la empresa de
empleos temporales. Adicionalmente, estos cambios cuestan $300 por cada empleado
contratado y $420 por cada empleado que se despida, así sea en forma temporal.

El trabajo en horas extras es también limitado. Cada trabajador puede producir hasta 20
unidades/mes en tiempo normal de trabajo, pero no puede producir más de 6
unidades/mes en tiempo extra. Además, los costos por unidad producida en hora extra
exceden en $20/unidad al costo de producción en tiempo normal.

Finalmente, el almacenamiento cuesta $8 por cada unidad almacenada cada mes.


Actualmente, la empresa cuenta con 290 trabajadores y no tiene inventario alguno en sus
bodegas. Se asume que al final de Diciembre, el inventario en las bodegas será igual a
cero.

Formule un modelo de PL que le ayude a realizar la planeación agregada de producción


de la empresa. (Adaptado de Chvátal, 1983, pág. 188–194.)

63. Una corporación ha decidido producir tres productos nuevos. En este momento cinco de
sus plantas tienen exceso de capacidad de producción. El costo unitario de fabricación del
primer producto será de 31, 29, 32, 28 y 29 $/unidad en las plantas 1, 2, 3, 4 y 5,
respectivamente. El costo de fabricación del segundo producto será de 45, 41, 46, 42 y 43
$/unidad en las plantas respectivas 1, 2, 3, 4 y 5. El costo unitario de fabricación del tercer
producto será de 38, 35 y 40 $/unidad en las plantas 1, 2 y 3, respectivamente, mientras
que las plantas 4 y 5 no pueden fabricar este producto. Los pronósticos de ventas indican
que la producción diaria de cada uno de los tres productos debe ser de 6000, 10000 y 8000
unidades. Las plantas 1, 2, 3, 4 y 5 tienen capacidades para producir 4000, 6000, 4000,
10000 y 3500 unidades diarias, independientemente del producto o combinación de
productos que se quiera. Supóngase que cualquier planta que tiene capacidad y puede
fabricarlos, podrá producir cualquier combinación de productos en cualquier cantidad.
Formule este problema como un modelo de transporte para determinar cómo asignar los
78 Introducción a la Modelación Matemática y Optimización

nuevos productos a las plantas con el fin de minimizar el costo total de fabricación.
(Adaptado de Hillier y Lieberman, segunda edición, 1989, pág. 227.)

64. Supóngase que Inglaterra, Francia y España producen todo el trigo, cebada y avena del
mundo. La demanda mundial de trigo requiere que se dediquen 125 millones de acres a la
producción de este cereal. De igual manera, se necesitan 60 millones de acres para cebada
y 70 millones de acres para avena. La cantidad total de tierra disponible en los tres países
es de 70 millones de acres en Inglaterra, 110 millones de acres en Francia y 80 millones
de acres en España. El número de horas de mano de obra necesarias en Inglaterra, Francia
y España para producir un acre de trigo es 18, 13 y 16 horas, respectivamente. La
producción de un acre de cebada requiere 15 horas de mano de obra en Inglaterra, 12 en
Francia y 12 en España. El número de horas de mano de obra necesarias para producir un
acre de avena es de 12 en Inglaterra, 10 en Francia y 16 en España. El costo de mano de
obra por hora en los tres países es $3.00, $2.40 y $3.30 para la producción de trigo, $2.70,
$3.00 y $2.80 para la producción de cebada y $2.30, $2.50 y $2.10 para la producción de
avena. El problema es asignar el uso de la tierra en cada país de manera que se cumpla
con los requerimientos de alimentación en el mundo y se minimice el costo total de mano
de obra. Formule este problema como un problema de transporte construyendo la tabla de
costos y requerimientos apropiada. (Adaptado de Hillier y Lieberman, segunda edición,
1989, pág. 228.)

65. Una empresa constructora de viviendas prefabricadas estima que la demanda de su


producto va a aumentar en el futuro próximo. La capacidad normal de producción es de
1500 viviendas/mes, pero en caso de necesidad se puede aumentar, mediante trabajo extra,
en un 40% con costos adicionales de 1000 u.p./unidad. También es posible almacenar los
excesos de producción en los tiempos de baja demanda para compensar el déficit en los
meses de alta demanda. Los costos de almacenamiento son de 200 u.p./unidad cada mes.
La demanda estimada para los próximos 6 meses es de 1200, 1000, 2100, 2600, 2300 y
1800, respectivamente.

Formule un modelo de programación lineal para planificar la producción durante los


próximos 6 meses a costo total mínimo.

66. Considere la tabla de la página siguiente, la cual muestra la información básica para
construir un problema real de dieta humana, y resuelva el caso que se presenta a
continuación.
79

Información para construir un problema real de la dieta6

Tabla de valores nutritivos aproximados por porción*


Alimento Energía Proteínas Calcio Hierro Vit. A Vit. B1 Vit. B2 Niacina Vit. C
(Kcal) (gr) (mg) (mg) (U.I.) (mg) (mg) (mg) (mg)
Queso Cheddar 120 7.5 225 0.3 390 0.01 0.14 0.0 0
Queso Mozzarela 50 9.5 50 0.2 5 0.02 0.15 0.0 0
Leche 160 8.5 285 0.0 370 0.07 0.41 0.2 2
Yogurt 125 8.5 295 0.0 170 0.10 0.44 0.2 2

Pollo 205 32.5 12 1.7 90 0.05 0.22 14.7 0


Huevos 80 6.5 27 1.2 590 0.06 0.15 0.1 0
Pescado 200 30.0 23 1.4 0 0.07 0.08 2.5 2
Jamón 290 21.0 9 2.6 0 0.47 0.18 3.6 0
Hamburguesa 245 20.5 9 2.7 30 0.08 0.18 4.6 0
Hígado 170 20.0 8 6.6 40000 0.20 3.14 12.4 20
Cerdo 160 8.0 70 2.3 170 0.10 0.04 0.8 3
Carne frita 260 28.5 12 3.5 30 0.08 0.22 5.6 0
Atún enlatado 195 29.0 8 1.9 80 0.05 0.12 11.9 0

Manzanas 90 0.3 11 0.5 140 0.05 0.03 0.2 6


Brócoli 25 3.0 88 0.8 2500 0.09 0.20 0.8 90
Zanahorias 20 0.6 19 0.4 5500 0.03 0.03 0.3 4
Naranjas 75 1.5 62 0.6 300 0.15 0.06 0.6 75
Jugo de naranja 80 1.0 20 0.4 370 0.17 0.06 0.7 93
Papas 95 2.5 9 0.7 0 0.10 0.04 1.7 20
Espinaca 20 3.0 84 2.0 7290 0.06 0.13 0.5 25
Tomates 35 1.5 20 0.8 1350 0.09 0.06 1.1 35

Pan 55 2.0 17 0.5 0 0.04 0.02 0.3 0


Cereal (hojuelas) 95 2.0 4 0.4 0 0.11 0.02 0.5 0
Avena 65 2.0 11 0.7 0 0.10 0.02 0.1 0
Pasta 155 5.0 11 0.6 0 0.01 0.01 0.4 0
Arroz 110 2.0 10 0.9 0 0.11 0.00 1.0 0

Mantequilla 100 0.0 3 0.0 460 0.00 0.00 0.0 0


Azúcar 385 0.0 0 0.1 0 0.00 0.00 0.0 0
Manteq. de maní 90 4.0 10 0.3 0 0.02 0.02 2.4 0
*
Una porción se refiere a la cantidad que se consume normalmente en una comida del día. Por
ejemplo, una porción de papas puede representar 100 gr, o sea una papa mediana; una porción de
huevos es un huevo de tamaño normal; una porción de leche es una taza de leche; y así
sucesivamente. Todas las cifras de la tabla anterior se refieren a porciones normales de cada
alimento.

Vamos a asumir que se trata de una dieta promedio con los siguientes requerimientos
mínimos diarios:

6
Desarrollado con base en la información mostrada en Chvátal, Vasek, Linear Programming, W. H. Freeman
and Company, New York, 1983, pág. 3–5, 182–187.
80 Introducción a la Modelación Matemática y Optimización

Tabla de requerimientos mínimos diarios


Energía Proteínas Calcio Hierro Vit. A Vit. B1 Vit. B2 Niacina Vit. C
(Kcal) (gr) (mg) (mg) (U.I.) (mg) (mg) (mg) (mg)
2700 56 800 10 5000 1.4 1.6 18 45

Igualmente, definimos los tamaños de las porciones de cada alimento de acuerdo con la
tabla siguiente:

Tabla de tamaño de cada porción de alimento


Alimento Tamaño de cada porción
Queso Cheddar 1 onza (30 gr)
Queso Mozzarela 1 onza (30 gr)
Leche 1 taza
Yogurt 1 taza

Pollo 100 gr (½ pechuga)


Huevos 1 huevo
Pescado 100 gr
Jamón 2 tajadas
Hamburguesa 85 gr (1 mediana)
Hígado 75 gr
Cerdo 100 gr
Carne frita 100 gr
Atún enlatado 100 gr (seco)

Manzanas 1 mediana
Brócoli ½ taza
Zanahorias 1 mediana
Naranjas 1 mediana
Jugo de naranja 1 taza
Papas 1 mediana
Espinaca ½ taza
Tomates 1 mediano

Pan 2 tajadas
Cereal (hojuelas) 100 gr
Avena 120 gr
Pasta 140 gr
Arroz 100 gr

Mantequilla 1 cucharada
Azúcar ½ taza
Manteq. de maní 1 cucharada

En este problema, entonces, usted debe:

a) Adicionar a la lista de alimentos presentada cinco (5) nuevos alimentos a los cuales
pueda conseguirle la información nutricional y su correspondiente costo, por porción.
(Se supone que cada grupo de trabajo del curso encuentre información diferente)

b) Investigar los costos de los alimentos mostrados en la tabla anterior en nuestro medio,
por porción (Valores aproximados). Recuerde que para formular un problema real,
81

este costo debe calcularse por porción de cada alimento. Por ejemplo, si una libra
(500 gr) de carne para freír cuesta aproximadamente $8000, entonces el costo de cada
porción de 100 gr sería de 8000/5 = $1600.

c) Formular un modelo de programación lineal que le permita encontrar una dieta diaria
de costo total mínimo, que satisfaga todos los requerimientos mínimos diarios
mostrados anteriormente. Este modelo puede hacerlo en forma simbólica y compacta,
definiendo nombres para los datos anteriores. En otras palabras, para formular el
modelo no se necesita escribir explícitamente cada término de la función objetivo ni
cada restricción, sino su representación compacta en forma de sumatorias.

d) Resolver el modelo mediante el WinQSB, analizar su solución y concluir respecto de


las características de la dieta de costo mínimo en nuestro medio.

e) Analizar los problemas de sabor y gusto de las personas para replantear el modelo
formulado de tal forma que raciones de alimentos seleccionados siempre aparezcan
en la dieta. Resolverlo nuevamente y analizar la solución.
82 Introducción a la Modelación Matemática y Optimización

3.5. SOLUCIÓN DE MODELOS DE PROGRAMACIÓN


LINEAL

Hasta el momento se ha llegado a la obtención del modelo de Programación Lineal. De


hecho, lo más importante es definir claramente el problema y conceptualizar el modelo
correctamente. Sin embargo, una vez concluidos estos dos pasos fundamentales, lógicamente
es necesario encontrar la solución (o soluciones) del modelo.

En la mayoría de los casos, el método que más se aplica es el simplex. Sin embargo,
para lograr la comprensión del método simplex es necesario estudiar inicialmente dos formas
de solución: El método gráfico y el método de enumeración de soluciones básicas. Existen
otros métodos denominados algoritmos de punto interior que no se estudian aquí.

3.5.1. Método Gráfico de Solución

Este método se ilustrará encontrando la solución del modelo Nº 1 anterior. Este modelo
servirá de base para el estudio y la comparación de todos los métodos.

Lo primero que hay que observar es que el modelo al cual se llegó, tiene sólo dos
variables de decisión, (X1 y X2). Esto hace pensar que es posible representar las restricciones
en un eje de coordenadas (X1, X2). El modelo encontrado anteriormente es el siguiente:

Sujeto a:

Existen infinitos valores de X1 y X2 los cuales satisfacen todas las restricciones


simultáneamente (ignorando la restricción por enteros, la cual se presenta en algunas
ocasiones). Por ejemplo, (0, 0) y (50, 100)son dos parejas de valores (X1, X2), que satisfacen
todas las restricciones. Además, cualquier valor de X1 entre 0 y 50 y de X2 entre 0 y 100,
también satisface a todas las restricciones simultáneamente (esta última observación es válida
para valores reales de X1 y X2, obviamente sin tener en cuenta la restricción por enteros). Así,
puede verse claramente que las restricciones “encierran” un conjunto de infinitas parejas (X1,
83

X2), las cuales las satisfacen simultáneamente. Este conjunto de parejas son las soluciones
factibles y forman la denominada región factible (Figura 3.1)

Figura 3.1. Solución gráfica del modelo Nº1

Como se observa en la figura 3.1, la región factible se construye en el plano X1 X2,


trazando las rectas R1, R2, R3, R4, R5, las cuales se obtienen de las restricciones, tomando el
signo “igual”, así:

Posteriormente, se encuentra el semiplano definido por cada desigualdad. Para esto se


prueba, generalmente si el origen (0.0) cumple con la desigualdad y, de ser así, él esta dentro
del semiplano buscado. En la figura 3.1 se ha marcado con flechas el semiplano que cumple
con el signo  para las restricciones R1, R2 y R3 y de  para las restricciones de no–
84 Introducción a la Modelación Matemática y Optimización

negatividad R4 y R5, las cuales limitan la región al primer cuadrante. La intersección de todos
los semiplanos definidos por las desigualdades constituye la región factible.

Los infinitos puntos en los límites y dentro de la región factible son las soluciones
factibles del modelo. Por lo general, sólo una de estas infinitas soluciones es la solución
óptima, o sea aquella que produce el valor óptimo de la función objetivo (máximo o mínimo).

Por ejemplo, se observa claramente que X1 = 400 y X2 = 200 es una solución factible,
pues está dentro de la región factible. Esta solución produciría un valor de la función objetivo
U = $300.000. Otra solución factible es X1 = 500 y X2 = 300, la cual produciría U = $410.000.
O sea que esta última es mejor que la primera, pues produce un mayor valor de la función
objetivo “U”, ya que ésta se está maximizando.

Se puede demostrar que la región factible definida por restricciones lineales es una
región convexa. En una región convexa, si se escogen cualquier par de puntos dentro o en los
límites de la región y se unen por una línea recta, entonces toda la línea recta queda
comprendida dentro de la región. La propiedad de convexidad es un aspecto fundamental para
la caracterización de los problemas de optimización. En general, puede afirmarse que un
problema convexo (programación convexa) es más fácil de resolverse que otro que no lo es.

Los vértices de la región factible son los interceptos de los segmentos de reata límites
de la región. En este caso los vértices son:

V1 (0,0)
V2 (0,600)
V3 (350,450)
V4 (700,200)
V5 (900,0)

Para encontrar la solución óptima se procede de la siguiente manera: Se traza la recta


de la función objetivo para un valor arbitrario. Por ejemplo, sea:

Todos los puntos de esta recta que queden dentro de la región factible son soluciones
factibles que producen obviamente un valor de U = 280.000 (por ejemplo X1 = 350; X2 = 200).

Se traza otra recta con un valor diferente, por ejemplo:

Esta recta es obviamente paralela a la primera, pues tiene la misma pendiente igual a
4/7 y, de nuevo, todos los puntos de ella que están dentro de la región factible son soluciones
factibles que producen un valor de U = 420.000.

O sea que la función objetivo “U” aumenta de valor a lo largo de una familia de rectas
paralelas con pendiente –4/7. Es aquí donde se puede concluir la forma de encontrar la
85

solución óptima: Si se conoce la dirección de crecimiento de la función objetivo, se puede


seguir esta dirección por rectas paralelas hasta encontrar el último punto que se “toca” al
“abandonar” la región factible; ESTA SERÁ LA SOLUCIÓN ÓPTIMA DEL MODELO DE
PROGRAMACIÓN LINEAL.

En el modelo Nº 1, el último punto que se toca al abandonar la región factible es el


vértice V3 (X1 = 350; X2 = 450), el cual produce un valor de U = 455.000. Si se aumenta sólo
un poco más el valor de “U”, la nueva recta estará por completo fuera de la región factible. O
sea que el máximo valor que puede lograrse es U = 455.000, con X1 = 350 y X2 = 450.

Por lo tanto, la solución óptima de este modelo es:

X1 = 350
X2 = 450
U* = 455.000 (U* = U óptima)

Análisis de la solución:

La solución óptima plantea que deben producirse 350 transformadores de 40 VA y 450


de 75 VA para obtener una utilidad máxima posible por este concepto de $455.000. Obsérvese
que se supone que todos los transformadores que se producen, se van a vender. En caso de que
exista alguna restricción de demanda, ésta deberá ser incluida en el modelo y éste por supuesto
podrá tener soluciones óptimas diferentes. Los recursos limitados del sistema son las
horas.hombre, las horas.máquina1 y las horas.máquina2. Si se producen las cantidades dadas
en la solución óptima, se están utilizando los siguientes recursos:

O sea que se utilizan completamente las horas-hombre y las horas-máquina 1


disponibles, pero sólo se utilizan 800 de las 900 horas-máquina 2 disponibles. Por lo tanto
“sobran” 100 horas-máquina 2, las cuales no contribuyen en nada a la función objetivo. Como
se verá más adelante, si se dispusiera de un mayor número de horas-hombre y/ó horas-
máquina 1, probablemente podría incrementarse la utilidad máxima, pero el hecho de tener
mayor disponibilidad de horas-máquina 2 no contribuiría en nada a la función objetivo, ya que
se trata de un recurso sobrante, el cual se dice que tiene un costo de oportunidad igual a cero.

Como ya se ha podido concluir, el método gráfico es útil cuando se tienen modelos de


sólo dos variables de decisión o cuando se tiene un número par de variables y las restricciones
86 Introducción a la Modelación Matemática y Optimización

involucran parejas de ellas; por ejemplo, el siguiente modelo puede ser resuelto utilizando el
método gráfico:

Sujeto a:

En este modelo se divide la función objetivo en dos funciones, así:

Y se utiliza el método gráfico independientemente para cada Zi, con sus respectivas
restricciones.

En el caso de tres variables de decisión, aún puede ser utilizado el método gráfico en
algunas ocasiones donde resulte fácil apreciar la región factible y los “planos objetivos”. En
este caso la región factible es un poliedro convexo, formado por el corte de los diferente
planos que constituyen las restricciones; el crecimiento de la función objetivo se puede
observar mediante el desplazamiento de planos paralelos. De nuevo, el último punto del
poliedro que toque el plano al abandonar la región factible será la solución óptima.

Considérese el modelo siguiente:

Sujeto a:

En la figura 3.2 se puede apreciar la región factible y los “planos objetivos”. La


solución óptima es:

X1 = 0; X2 =2; X3 =0; Z* = 20 (Vértice V3)

Sin embargo, el método gráfico resulta inadecuado en la mayoría de los casos de tres
variables de decisión, pues se necesita gran habilidad en el dibujo y una gran imaginación
espacial.
87

Figura 3.2. Solución de un modelo de PL de 3 variables mediante el método gráfico

De los dos ejemplos resueltos por el método gráfico, puede sacarse una conclusión
muy importante, la cual es válida para cualquier modelo de Programación Lineal: La solución
óptima se encuentra en uno de los vértices de la región factible. Esta afirmación, que puede
ser planteada como un teorema, es de fundamental importancia, pues de infinitas soluciones
posibles (definidas por la región factible), sólo basta con mirar aquellas definidas por los
vértices de la región factible.

Obsérvese que en el caso anterior, la recta de la función objetivo “abandona” a la


región factible en un solo vértice, constituyéndose así en una SOLUCIÓN ÓPTIMA ÚNICA.
Existen otros tres casos importantes, en los cuales no hay solución óptima única:

a. Cuando existen infinitas soluciones óptimas:

Este caso ocurre cuando la recta de la función objetivo es paralela a uno de los lados de
la región factibles. Obviamente, aquí la recta de la función objetivo toca infinitos puntos al
abandonar la región factible. Estos infinitos puntos están en el segmento de la recta que une
dos vértices determinados (sin embargo, también en este caso la solución óptima esta en los
88 Introducción a la Modelación Matemática y Optimización

vértices de la región factible). Todos ellos son solución óptima y producen el mismo valor de
la función objetivo.

Por ejemplo, en el modelo Nº 1, si la función objetivo hubiera sido:

El modelo hubiera tenido infinitas soluciones.

Ejercicio: Resuelva el modelo Nº 1 por el método gráfico, cambiando la función


objetivo por la anterior. Encuentre la “solución general”. Plantee otra función objetivo que
produzca infinitas soluciones.

b. Cuando no existe “solución acotada”:

En este caso una ó varias variables pueden crecer (ó decrecer) sin restricción,
produciendo valores cada vez mayores (ó menores) en la función objetivo. Es el caso en el que
la región factible es “abierta”, probablemente debido a que faltó incluir alguna restricción en el
modelo.

Por ejemplo, en el modelo:

Sujeto a:

La variable X1 puede crecer indefinidamente, aportando cada vez más a la función


objetivo, sin violar las restricciones. O sea que en este caso, en realidad, no existe solución
acotada.

Ejercicio: Dibuje la región factible del modelo anterior y compruebe que es “abierta”.
Incluya una restricción adicional que permita tener solución óptima única.

c. Cuando no existe ninguna solución factible alguna:

En este caso no existe en realidad una región factible, pues la “intersección de las
restricciones” es el conjunto vacío. Esta situación se presenta cuando hay inconsistencia en las
restricciones y el modelo debe ser replanteado. Por ejemplo el modelo:
89

Sujeto a:

No tiene solución factible alguna.

Ejercicio: Trate de dibujar la región factible del modelo y compruebe que ésta no existe
y que por lo tanto el modelo no tiene solución óptima.

Los tres casos anteriores pueden presentarse en cualquier modelo de Programación


Lineal, pero se han ilustrado para 2 ó 3 variables de decisión, para que puedan observarse
gráficamente.

3.5.2. Método de Enumeración de Soluciones Básicas

Ya se ha afirmado que la solución óptima (en general) de un modelo de Programación


Lineal está en uno de los vértices de la región factible. Esto se puede ver geométricamente de
una forma clara. Pero, es más adecuado establecer la transición de la Geometría al Álgebra,
para tratar de manejar problemas de un mayor número de variables. Para esto, inicialmente se
estudian modelos de Programación Lineal en su forma estándar.

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

Un modelo de Programación Lineal se puede transformar a la forma estándar, la cual


tiene las siguientes características:

a. La función objetivo debe ser de maximización (aunque no siempre es necesaria esta


condición)
b. El sistema de restricciones debe estar conformado por un conjunto de igualdades
restrictivas, donde los términos independientes bi deben ser mayores ó iguales a
cero.
c. Todas las variables deben tener la condición de no-negatividad (Xj  0, para todo j).

En general, el modelo estándar es de la forma siguiente:

Función Objetivo:
90 Introducción a la Modelación Matemática y Optimización

Sujeto a:

Igualdades Restrictivas

En el modelo anterior los bi deben ser mayores ó iguales a cero. Por lo general, se
cumple que m < n y, por lo tanto, el sistema de igualdades tiene infinitas soluciones (las
infinitas soluciones de la región factible).

Para llevar cualquier modelo de Programación Lineal a la forma estándar puede


hacerse uso (de ser necesario) de las siguientes transformaciones:

a. Si la función objetivo es de minimización, o sea MIN Z, puede definirse Z´= Z y


cambiar la función objetivo a MAX (Z), o sea MAX Z´.

b. Si se trata de una desigualdad de , se puede sumar una variable no negativa


denominada “variable de holgura”, para establecer la igualdad; o sea, si la restricción es:

Se transforma a:

La variable Si es la variable de holgura. Ella se le puede llamar Si ó, simplemente, se le


denomina Xk, con el subíndice k diferente a los de las demás variables; por ejemplo:

Se puede transformar a:

Ó: (Si no se ha utilizado la variable X5 en alguna


restricción anterior.)

Si se trata de una restricción de mayor o igual, entonces se le resta una variable no


negativa, denominada variable de exceso, así:

Se transforma en:
91

O si se utiliza la segunda forma, se transformaría en:

Las variables de holgura, obviamente, deben cumplir con las restricciones de nó-
negatividad.

c. Si alguno de los bi es menor que cero, entonces se multiplica por (-1) a ambos
lados de la desigualdad (o igualdad) y posteriormente se le suma (ó se le resta) la variable de
holgura (ó de exceso), dependiendo del signo resultante de la desigualdad. Si se trata desde un
comienzo de una igualdad, lógicamente no es necesario adicionar variable de holgura ó
exceso.

d. Si existe alguna variable que no tiene restricción de no-negatividad (variable libre),


entonces se le reemplaza por la diferencia de dos variables positivas, en forma semejante a lo
visto anteriormente en el modelo de programación de metas, así:

Xj es variable libre (Xj puede ser mayor, igual ó menor que cero)

Entonces donde aparece Xj, cambiarla por:

Ejemplo: Convertir a la forma estándar el siguiente modelo de Programación Lineal:

Sujeto a:

Las transformaciones a realizar son:

a. En la restricción R1 debe sumarse una variable de holgura.


b. En la restricción R2 debe multiplicarse a ambos lados de la igualdad por (-1), pero
no deben adicionarse variables de holgura ó exceso.
c. En la restricción R3 debe multiplicarse primero por (-1) a ambos lados de la
desigualdad, y luego adicionar la variable de holgura correspondiente.
d. En la restricción R4 debe restarse una variable de exceso.
e. La restricción R5 no necesita ninguna transformación.
92 Introducción a la Modelación Matemática y Optimización

f. Donde aparezca la variable X4, debe cambiarse por (X4+ X4), X4+ y X4 mayores
ó iguales que cero.
g. La función objetivo se cambia a maximización.

De acuerdo con estas transformaciones, el modelo en forma estándar es el siguiente:

Sujeto a:

3.5.2.2. Algunas definiciones sobre el modelo estándar

Prácticamente, en todos los modelos estándar de Programación Lineal existen un


mayor número de variables que de restricciones. Como el sistema de restricciones es un
sistema lineal de ecuaciones n x m, donde n > m, lo más probable es que tenga infinitas
soluciones. Cuando un sistema de ecuaciones lineales tiene infinitas soluciones, existen
variables a las cuales se les puede asignar un valor arbitrario, para luego resolver el sistema
remanente y así encontrar una solución del sistema. A las variables que se les asigna un valor
arbitrario, se les puede llamar variables que “sobran” en el sistema y su número es igual a n 
m. El sistema remanente es cuadrado m × m y se resuelve para así obtener una solución
particular del sistema (es posible que el sistema remanente m × m no tenga solución).

Con base en lo anterior, se pueden hacer las siguientes definiciones sobre cualquier
modelo de programación lineal en forma estándar:

Solución Factible:

Una solución factible es cualquier solución del sistema n × m que satisfaga las
condiciones de no-negatividad (o sea aquella solución en la cual todas las variables son
positivas ó cero).

Solución Básica:

Es aquella solución en la cual se les da el valor arbitrario de cero a las n  m variables


que “sobran” en el sistema n × m. A las m variables que no se les da el valor arbitrario de cero
93

se les denomina variables básicas y se dice que constituyen una base del sistema de
ecuaciones.

Solución Básica Factible:

Es una solución básica que cumple con las condiciones de no-negatividad (en este caso
las variables básicas son positivas. (Si existe por lo menos una variable básica igual a cero, se
dice que la solución es degenerada)

Solución Óptima:

Es la solución factible que proporciona el valor óptimo (máximo ó mínimo) de la


función objetivo.

Con base en las definiciones anteriores, se pueden enunciar los tres principales
teoremas de optimalidad (sin demostración), a saber:

a. Las soluciones factibles conforman un conjunto convexo, cuyos vértices son las
soluciones básicas factibles.
b. Si el sistema tiene una solución factible, entonces existe por lo menos una solución
básica factible.
c. Si la función objetivo tiene un óptimo (máximo ó mínimo) finito, entonces existe
por lo menos una solución óptima la cual es una solución básica factible.

3.5.2.3. El método de solución de enumeración de soluciones


básicas

De los tres teoremas anteriores se saca una conclusión fundamental en la teoría de la


Programación Lineal:

Si un modelo de Programación Lineal tiene solución óptima, esta se puede encontrar


en una solución básica factible.

O sea, que de las infinitas soluciones factibles, “sólo” basta con inspeccionar las
básicas factibles y una de éstas será una solución óptima del problema de PL. Igualmente, de
la afirmación anterior queda claro por qué se decía en el desarrollo del método gráfico que la
solución óptima estaba en uno de los vértices de la región factible.

Dado que el método de enumeración de soluciones básicas debe inspeccionar todas las
soluciones básicas, identificar la factible y escoger la mejor, debe primero determinarse el
número posible de soluciones básicas. Como en el sistema de “m” igualdades con “n”
variables, “sobran” (n – m) variables a las cuales se les asigna el valor de cero, el número
94 Introducción a la Modelación Matemática y Optimización

posible de soluciones básicas resulta ser igual a todas las posibles formas de escoger las (n –
m) variables de las n totales, o sea:

Por lo tanto, es necesario resolver sistemas de ecuaciones lineales m × n para encontrar


la solución óptima.

Aquí ya pueden observarse las limitaciones de este método, pues supóngase que se
tiene un 30 modelo
 de 30 variables con 15 restricciones (el cual es un modelo modesto y
 
relativamente
 
15 pequeño), entonces tendrían que ser resueltos = 155,117,520 sistemas de
ecuaciones lineales de 15 × 15 para determinar la solución óptima. Por lo tanto, la importancia
de estudiar este método radica simplemente en la formación de los fundamentos para la
comprensión del método simplex.

Para ilustrar el método se resolverá a continuación el modelo Nº 1 formulado


anteriormente (el de los transformadores):

Sujeto a:

Inicialmente debe escribirse el modelo en su forma estándar, así:

Sujeto a:

Obsérvese que como las restricciones son todas , sólo fue necesario sumar a cada
restricción su correspondiente variable de holgura.

En el modelo estándar anterior se identifican n = 5 variables y m = 3 restricciones, y,


por lo tanto, el número de soluciones básicas es igual a 10. Para encontrar cada solución básica
hay que asignarle el valor de cero a (n – m) = 5 – 3 = 2 variables cada vez. Todas las
soluciones básicas se muestran en la tabla siguiente.
95

Solución
X1 X2 X3 X4 X5 Factible? Valor de U
Básica
1 0 0 1400 980 900 x 0
2 0 600 0 140 300 x 420.000
3 0 700 233 1/3 0 200
4 0 900 -700 -280 0
5 1400 0 0 -420 -500
6 980 0 420 0 -80
7 900 0 500 80 0 x 360.000
/Solución
8 350 450 0 0 100 x 455.000
óptima
9 525 375 0 -70 0
10 700 200 233 1/3 0 0 x 420.000

La forma de asignar el valor de cero a dos variables en cada solución debe ser lógica y
ordenada, con el objeto de no repetir ó dejar de tener en cuenta algunas de las soluciones
básicas.

Obsérvese que las soluciones básicas No. 3, 4, 5, 6, y 9 no son factibles, pues por lo
menos una de las variables no cumple con las restricciones de no-negatividad. Además, es
importante notar que las soluciones 1, 2, 7, 8 y 10 son factibles y corresponden precisamente a
los vértices V1, V2, V5, V3 y V4, respectivamente, de la región factible mostrada en la figura
3.1 anterior. La solución óptima es la No. 8, pues es la que produce el valor máximo de la
función objetivo U. La solución óptima completa viene dada por:

X1 = 350
X2 = 450
X3 = 0
X4 = 0
X5 = 100

U* = 455.000

El valor óptimo de la variable de holgura X5 = 100 indica que, en su correspondiente


restricción, la número 3, no se cumple la igualdad sino la desigualdad, o sea que hay un
sobrante de 100 unidades del recurso 3 (o sea que quedan disponibles 100 hr-máquina 2).
Como las variables de holgura X3 = X4 = 0 se concluye que las restricciones 1 y 2 se cumplen
con la igualdad, o sea que los recursos 1 (hr-hombre) y 2 (hr-máquina 1) se han utilizado
completamente. Estas conclusiones, por supuesto, son las mismas encontradas anteriormente
en el método gráfico.

El método de enumeración de soluciones básicas identifica la existencia de infinitas


soluciones si se obtienen dos ó más soluciones básicas factibles diferente que producen el
máximo valor de la función objetivo. Identifica también el caso de ninguna solución factible,
si no se obtiene ninguna solución básica factible, pero no identifica el caso de solución no
acotada, tal como se ilustra en el modelo siguiente:
96 Introducción a la Modelación Matemática y Optimización

Sujeto a:

Obsérvese que la variable X3 puede crecer indefinidamente, cumpliendo con la


restricción Nº 2 y, por lo tanto, Z no está acotada. La forma estándar de este modelo es:

Sujeto a:

El número de soluciones básicas es igual a 10. El número de variables que “sobran” es


igual a 3. Si se intentara resolver este problema mediante este método, se obtendría la tabla
siguiente.

Solución Valor de
X1 X2 X3 X4 X5 Factible?
Básica U
1 0 0 0 10 -18
2 0 0 2 0 ? Sist. Inconsistente
3 0 0 18 10 0 x 36
4 0 10 0 0 12 x 10
5 0 6 0 4 0 x 6
6 0 10 -12 0 0
7 10 0 0 0 2 x 30
8 9 0 0 1 0 x 27
9 10 0 -2 0 0
10 12 -2 0 0 0

La tabla anterior sugiere que la solución óptima del modelo es la solución básica No. 3,
pero en realidad, como se demostró anteriormente, la función objetivo es no acotada y, por lo
tanto, el modelo no tiene solución óptima. Por esta razón, este método puede fallar en estos
casos.

En la página siguiente se presenta un taller para la preparación del primer examen del
curso. Se sugiere su solución completa.
97

En la sección siguiente se introduce el método simplex, el cual se constituye en uno de


los más utilizados en la actualidad para la solución de problemas reales de PL, junto con los
algoritmos de punto interior. Los fundamentos para la comprensión del método se han
expuesto en la presente sección.
98 Introducción a la Modelación Matemática y Optimización

Ejercicio 3.2.

1. Una refinería de petróleo puede comprar dos tipos de petróleo crudo. El tipo 1 cuesta
$57.500/barril y el tipo 2 cuesta $50.600/barril. Cada barril de petróleo crudo de cualquier
tipo ya refinado de produce tres tipos de productos terminados: gasolina para avión,
gasolina normal y kerosén. Un barril de petróleo crudo tipo 1 produce 0.45 barriles de
gasolina para avión, 0.18 barriles de gasolina normal, 0.30 barriles de kerosén y el resto
son desechos cuya eliminación cuesta $2.300/barril. Por otra parte, un barril de petróleo
crudo tipo 2 produce 0.35 barriles de gasolina para avión, 0.36 barriles de gasolina
normal, 0.20 barriles de kerosén y el resto son desechos cuya eliminación cuesta
$3.450/barril. La refinería ha firmado un contrato para proveer por lo menos 1.260.000
barriles de gasolina para avión, 900.000 barriles de gasolina normal y 300.000 barriles de
kerosén. Formule un modelo de programación lineal que le permita determinar cuántos
barriles de petróleo crudo de cada tipo debe comprar la refinería para cumplir con la
demanda establecida a costo total mínimo.

2.
a) Resuelva el problema anterior mediante el método gráfico e interprete la solución.
b) Replantee la función objetivo del modelo asumiendo que los precios de venta de cada
producto son los siguientes: Gasolina para avión $134.600/barril, gasolina normal
$75.000/barril y kerosén $40.500/barril. Asuma que ahora las demandas a satisfacer
son máximas. Resuelva de nuevo el problema mediante el método gráfico e interprete
la solución obtenida.

3. Una gran empresa distribuidora tiene que suministrar 800 toneladas/mes de productos a
sus clientes y está pensando en renovar completamente su flota de transporte. La empresa
tiene un presupuesto disponible de $1.150 millones (incluyendo los ingresos por venta del
equipo actual) para invertir en tres tipos de camiones. La tabla siguiente muestra la
capacidad, el costo de compra, el costo operativo y el número máximo de viajes/mes de
cada tipo de camión.

TIPO DE CAPACIDAD COSTO DE COSTO DE MÁX. No.


CAMIÓN [Kg] COMPRA OPERACIÓN DE VIAJES
[$millones] [$/mes] POR
MES
1 6.000 115 1.840.000 20
2 3.000 92 1.495.000 25
3 2.000 58 1.150.000 30

La compañía no desea comprar más de 10 vehículos en total para su flota. Igualmente,


dado que algunos despachos son para clientes muy pequeños y diversos, la compañía
desea comprar al menos 3 camiones tipo 3. La compañía tampoco desea que más de la
mitad de la flota esté compuesta de camiones tipo 1. Finalmente, la capacidad de los
parqueaderos que tiene la empresa permite comprar como máximo 9 camiones tipo 1, ó
12 camiones tipo 2, ó 18 camiones tipo 3 o cualquier combinación lineal de ellos.
Formule un modelo de programación lineal que le permita determinar la composición de
99

la flota más económica, permitiéndole a la empresa cumplir con sus compromisos de


distribución y su limitación de presupuesto.

4. Una empresa productora estima con muy buena precisión que la demanda para las
próximas cuatro semanas es de 600.000 tornillos pequeños y 400.000 tornillos grandes.
Estos tornillos pueden producirse en dos máquinas distintas. La máquina 1 está disponible
56 horas/semana y la máquina 2 está disponible 84 horas/semana. Los requerimientos de
costos y tiempo para producir cada tamaño de tornillo en cada máquina y el precio de
venta de cada tamaño de tornillo se muestran a continuación:

DETALLE TORNILLOS TORNILLOS


PEQUEÑOS GRANDES
Precio de venta [$/millar] 63.250 74.750
Costo en la máquina 1 [$/millar] 14.375 17.825
Costo en la máquina 2 [$/millar] 18.400 21.275
Tiempo en la máquina 1 [min/lb] 1.50 1.75
Tiempo en la máquina 2 [min/lb] 1.00 1.25

En cada libra hay aproximadamente 60 tornillos pequeños y 40 tornillos grandes. Formule


un modelo de programación lineal para programar la producción de tornillos en forma
óptima.

5. Suponga que en el problema anterior la máquina 1 se daña y no es posible repararla sino


hasta después de las próximas cuatro semanas, y por lo tanto solo se puede disponer de la
máquina 2 durante sus 84 horas/semana. Reformule el modelo de programación lineal
suponiendo que la demanda de cada tipo de tornillo es ahora máxima y resuélvalo por
medio del método gráfico. Analice la solución obtenida.

6. Una fábrica de chocolates está desarrollando un nuevo producto basado en mantequilla de


maní y chocolate como ingredientes. El dulce debe contener al menos 5 gramos de
proteínas, pero no más de 5 gramos de carbohidratos y 3 gramos de grasas saturadas. Se
dispone de la siguiente información:

DETALLE MANTEQUILLA CHOCOLATE


DE MANÍ
Costo [$/onza] 230 414
Proteínas [gr/onza] 4.00 0.80
Carbohidratos [gr/onza] 2.50 1.00
Grasas saturadas [gr/onza] 2.00 0.50

Por motivos de sabor, la cantidad mínima de cada ingrediente en el dulce debe ser de 0.50
onzas.

a) Formule y resuelva un modelo de programación lineal que le permita determinar la


cantidad a utilizar de cada tipo de ingrediente para satisfacer los requerimientos
nutricionales planteados al costo mínimo.
100 Introducción a la Modelación Matemática y Optimización

b) Formule y resuelva de nuevo el problema si el peso total de la barra debe ser


exactamente igual a 2 onzas.

7. Se está analizando cómo combinar dos tipos de fertilizantes, de tal forma que la mezcla
contenga al menos 200 unidades de un cierto compuesto. El fertilizante A contiene 8
unidades del compuesto/Kg de fertilizante, mientras que el fertilizante B contiene 25
unidades del compuesto/Kg de fertilizante. El fertilizante A cuesta $1.000/Kg, mientras
que el fertilizante B cuesta $3.125/Kg. Ambos fertilizantes se producen a partir de dos
materias primas M1 y M2. Cada Kg de fertilizante A consume 6 litros de M1 y 3 litros de
M2. Cada Kg de fertilizante B consume 12 litros de M1 y 2 litros de M2. Se dispone de
216 litros de M1 y 60 litros de M2. Finalmente, por razones de calidad, la mezcla debe
contener a lo más 16 Kg de fertilizante A.

a) Formule y resuelva un modelo de programación lineal que le permita determinar


cuántos Kg de cada fertilizante utilizar en la mezcla para obtener el costo mínimo.
b) Analice la solución óptima de este problema. ¿Qué característica especial tiene?
c) Encuentre la solución óptima general de este problema e interprétela.

8. De la colección de 66 problemas sobre formulación de modelos de programación lineal,


plantee los modelos de los siguientes: No. 23, 28, 45, 54, 55, 56 y 59.
101

4. EL MÉTODO SIMPLEX
Los autores presentan el método simplex en diversas formas: tabular, algebraica,
matricial, etc. De todas estas maneras de presentación, tal vez la más adecuada y la que más
ventajas ofrece para sentar en el estudiante una mejor base teórica, es la forma matricial. Sin
embargo, posteriormente se hará énfasis en las aplicaciones resueltas por computador, ya que
es en últimas el instrumento que se utiliza para resolver cualquier modelo de Programación
Lineal.

Para ilustrar y presentar el método simplex, se utilizará el siguiente ejemplo sencillo:


M aximizar Z  5X1  3X 2
sujeto a :
3X1  5X 2  15 (3.1)
5X1  2X 2  10
(X1 , X 2 )  0
Inicialmente, se resolverá el modelo anterior, utilizando la enumeración de soluciones
básicas; la forma estándar del modelo es la siguiente:

M aximizar Z  5X1  3X 2
sujeto a :
3X1  5X 2  S1  15 (3.2)
5X1  2X 2  S 2  10
(X1 , X 2 , S1 , S 2 )  0
Luego, el modelo en su forma estándar presenta n = número de variables = 4 y m =
número de restricciones = 2.
 n   4
El número máximo de soluciones básicas =       6
 m  2
La tabla siguiente muestra las soluciones básicas y la solución óptima:

Solución
Básica No X1 X2 S1 S2 Factible Valor de Z
1 0 0 15 10 Si 0
2 0 3 0 4 Si 9
3 0 5 -10 0 No –
4 5 0 0 -15 No –
5 2 0 9 0 Si 10
235/19 
6 20/19 45/19 0 0 Si
12.4

Por lo tanto, la solución óptima es la No. 6. La tabla anterior debe tenerse presente para
el desarrollo que sigue.
102 Introducción a la Modelación Matemática y Optimización

Cualquier problema de Programación Lineal, en su forma estándar puede escribirse así:

M AX (M IN) Z  CX
sujeto a :
(3.3)
AX  b
X0

donde,

Z11 = Valor de la función objetivo


C1n = Vector fila de los coeficientes de todas las variables en la función objetivo
Xn1 = Vector columna de todas las variables del problema (incluyendo las de
holgura)
Amn = Matriz de coeficientes del sistema
bm1 = Vector del lado derecho

Se va a tomar en general, el modelo en su forma estándar, como un modelo de n


variables (incluyendo las de holgura) y m restricciones de igualdad. Así, en general, las
dimensiones de cada matriz y vector son:

 X1 
X 
 2
 . 
C  C 1 C 2 C 3 ·······
C n 1n X    (incluye variables de holgura y/ó exceso Sk)
 . 
 . 
 
 X n  n1

a11 a12 · · · a1n  b1 


a  b 
 21 a22 · · · a2 n 
 2
 . . . . . .   .
A  b 
 . . . . . .   .
 . . . . . .   .
   
am1 . . . . amn  mn bm  m1

En el caso del modelo (3.2), los vectores C, X, b y la matriz A, serían:

C  5 0; X  X 1 X 2 S1 S2  ;
T
3 0
3 5 1 0  15
A ; b 
5 2 0 1 10
103

4.1. SOLUCIONES BÁSICAS EN FORMA MATRICIAL


Un aspecto importante a destacar es el hecho de que a cada solución básica, factible o
no, se le puede identificar una matriz base asociada, así:

Tómese, por ejemplo, la solución básica No 1, correspondiente a la tabla anterior.


Dado que X1 = X2 = 0 son las variables a las cuales se les asigna el valor cero, se les denomina
VARIABLES NO-BÁSICAS.

A las variables que quedan formando un sistema de ecuaciones lineales m×m, se les
denomina VARIABLES BÁSICAS, ya que sus columnas forman la matriz base, así:

1 0  S1  15
0 1  S   10
   2  
1
 S1  1 0 15 15
 S 2  0 1 10  10
       

La cual corresponde a la solución básica No 1 (en este caso se trata de una solución
básica factible).

Tómese ahora, por ejemplo, la solución básica No 4, de la tabla anterior. En ella, X2 =


S1 = 0 y, por lo tanto:

3 0  X 1  15
5 1  S   10
  2  
1
 X 1  3 0 15  1 / 3 0 15  5 
 S   5 1 10   5 / 3 1 10   15
 2         

La cual corresponde a la solución básica No 4 (en este caso NO FACTIBLE).

En el primer caso, la matriz base asociada a la solución básica es la matriz idéntica de


3 0 
orden 2 y en el segundo caso es la matriz   . Obsérvese que, en cada caso, la solución
5 1
básica se obtiene invirtiendo la base y premultiplicándola por el vector b, o sea que una
solución básica es de la forma B 1b , donde B es la matriz base asociada a la solución
correspondiente.
104 Introducción a la Modelación Matemática y Optimización

4.2. EL MÉTODO SIMPLEX EN FORMA MATRICIAL


De acuerdo con lo planteado en la sección anterior, el problema general de PL en su
forma estándar, dado por el conjunto de ecuaciones (3.3), puede tomarse de la siguiente
manera:

 XB 
A  B  R  X     C  CB  C R 
 X R 

Las particiones anteriores pueden explicarse así:

Bm×m = Matriz base de orden m (se forma escogiendo m columnas de la matriz


A, correspondientes a las variables básicas)
Rm×(n-m) = Matriz restante, formada por las (n-m) columnas de la matriz A,
asociadas a las variables no básicas.
XBm1 = Vector de las variables básicas.
XR =
(n-m)1
Vector de las variables no básicas.

CB1m = Vector de los coeficientes de las variables básicas en la función objetivo.

CR1( nm ) = Vector de los coeficientes de las variables no básicas en la función


objetivo.

Por la tanto el modelo de PL (3.3) quedaría expresado así:

M AX (M IN) Z  C B X B  C R X R
sujeto a :
(3.4)
BX B  RX R  b
X0

Una solución básica es aquella en la que X R  0 y, por lo tanto, X B  B 1b .


Una solución básica factible es aquella solución básica X B  B 1b , tal que X B  0 .

A partir de (3.4) se va a deducir las condiciones para el método SIMPLEX.

En palabras, lo que hace el método SIMPLEX es partir de una solución básica inicial
factible, con una base inicial asociada, la cual, en general, es la matriz idéntica de orden m.
Posteriormente, se pasa a otra solución básica factible, cambiando una sola columna de la
base, de tal forma que se logre hacer crecer lo más posible a la función objetivo Z, si se está
maximizando, o decrecer, si se está minimizando.
105

El paso a otra solución básica factible se logra cambiando de base, de tal forma que
una de las variables básicas sale de la base, pasando a ser no básica, y una de las variables no
básicas entra a la base, volviéndose básica y entrando a ocupar el lugar de la variable que salió
de la base. En otras palabras, la diferencia entre dos bases sucesivas está en una sola columna.

El proceso de cambio de base continúa hasta que se detecta que no se puede mejorar
más la función objetivo (minimizando o maximizando) y es cuando se ha logrado encontrar la
solución óptima del problema.

El método SIMPLEX tiene tres condiciones fundamentales, de acuerdo con lo


expresado anteriormente: criterio de entrada (para determinar la variable que entra a la base),
criterio de salida (para determinar la variable que sale de la base) y criterio de parada, para
definir cuando se acaba el proceso. Estos tres criterios se deducen a continuación (Ver Figura
1 adelante).

Se tienen dos ecuaciones, a partir de (3.4):

Z  C B X B  C R X R (3.5)
BX B  RX R  b (3.6)

Si suponemos que B es no singular, en (3.6) se tiene que:

B 1BX B  B 1RX R  B 1b


 X B  (B 1R ) X R  B 1b
Sean:
Ym( nm)  Bm1m R m( nm)  X B  B 1b (solución actual)

 X B  YX R  X B (3.7)

Lo que se pretende es investigar la posible variación de la solución actual, ocasionada


por el futuro cambio de base. Obsérvese que si se hace XR = 0, todo se reduce a la solución
actual.

Premultiplicando la ecuación (3.7) por CB se obtiene:

CB X B  CB YX R  CB X B

Sea Z  CB X B (valor actual de la función objetivo),

 Z  CB X B  CB YX R (3.8)

Efectuando (3.5) menos (3.8), se obtiene:

Z  Z  CR X R  CB YX R
106 Introducción a la Modelación Matemática y Optimización

O mejor:
Z  Z  (CB Y  CR )X R (3.9)

Lo importante de la ecuación (3.9) es que:

Z = Cualquier valor de la función objetivo (o valor futuro)


Z = Valor actual de la función objetivo
(CB Y  CR )X R = Cambio en el valor de la función objetivo si se modifica la base.

Así, la ecuación (3.9) muestra el cambio que tendría la función objetivo en una
iteración, al cambiar de base. Por lo tanto se puede tratar de controlar este cambio para que sea
lo más grande posible. Se puede entonces modificar esta ecuación observando que se trata de
una ecuación escalar. La notación se modifica así:

CB Y  CB Ym1  Ym2  ····· Yn   CB Ym1  CB Ym2  ····· CB Yn 


C R  Cm1 Cm2 ···· Cn 

Los términos C B Y j son los productos escalares entre el vector C B y las columnas de la
matriz Y, y se le denomina Z j . Así, la ecuación (3.9) puede transformarse a:

Z  Z   ( Z j  C j )X j (3.10)
j

Como sólo una de las variables no básicas X j es la que va a entrar a la base y tomará
seguramente un valor positivo, entonces la sumatoria se reduce a un sólo término, ya que el
resto de variables no básicas seguirá siendo igual a cero. Por lo tanto, le ecuación (3.10) se
transforma a:

Z  Z  ( Z k  C k )X k (3.11)

Donde X k = variable no básica que entrará a la base.

De la ecuación (3.11) se deduce fácilmente el criterio de entrada del método


SIMPLEX:

ENTRA A LA BASE AQUELLA VARIABLE CUYO:


(Z j  C j ) sea"lomásnegativoposible"(MAX) 7
(Z j  C j ) sea"lomáspositivoposible"(MIN)

7
En realidad puede entrar a la base cualquier variable cuyo (Z jCj) sea negativo para maximización, pero si se
escoge el menor es más probable llegar al óptimo (máximo en este caso) más rápidamente. Un razonamiento
semejante se presenta si se está MINIMIZANDO.
107

El criterio de salida se deduce de la ecuación (3.7). Una vez se ha escogido la variable


a entrar, la variable a salir queda definida por la condición de factibilidad, como se verá a
continuación.

La ecuación (3.7) se puede escribir en forma explícita de la siguiente manera:

 x1   x1   y1,m 1 y1,m  2 ··· y1k ··· y1n   xm 1 


x  x   y y2,m  2 ··· y2 k

··· y2 n   xm  2 
 2   2   2,m 1  
 ·  ·  · · · · · ·   
      
 ·  ·  · · · · · ·   xk 
 ·  ·  · · · · · ·   
      
 xm   xm   ym ,m 1 ym ,m  2 ··· ymk ··· ymn   xn 

donde se ha identificado a la variable X k , futura a entrar a la base.

Al efectuar el producto YX R , sólo se mantienen los términos que multiplican a X k , ya


que el resto de variables continuará con valor cero. Por lo tanto, se generarían las siguientes
ecuaciones:
 x1  x1  y1k xk
x  x  y x
 2 2 2k k

   
 xm  xm -ymk xk

Como debe garantizarse que la próxima solución básica sea factible, entonces:
 x1  y1k xk  0
x  y x  0
 2 2k k

   

 xm -ymk xk  0

Por lo tanto:
 x 
xk  mín  s ; ysk  0
 ysk 

y sk debe ser mayor que cero, puesto que xk debe tomar también un valor no negativo.
Por otra parte, como la variable que va a salir de la base pasará a tomar valor cero,
entonces:
xs  xs  ysk xk  0 , donde xs es la variable a salir de la base. Así:
x
xk  s ; y sk  0
y sk
108 Introducción a la Modelación Matemática y Optimización

Por lo tanto, la variable que entra a la base toma el valor del cociente mínimo de la
variable que sale de la base.

Del razonamiento anterior, se obtiene el criterio de salida del método SIMPLEX:


SALE DE LA BASE AQUELLA VARIABLE CUYO COCIENTE  SEA EL
MÍNIMO, donde:
x
  s ; ysk  0
ysk

Este cociente se efectúa entre los valores actuales de la solución y los términos de la
columna k de la matriz Y que sean positivos solamente (recuérdese que la columna k es la
columna asociada a la variable xk , previamente escogida para entrar a la base). El valor que
toma la variable que va a entrar a la base es precisamente el del cociente mínimo, o sea
xk   mín . Es importante notar que este criterio es válido tanto para problemas de
maximización como para problemas de minimización, pues su origen es el de obtener una
solución básica que sea factible.

Inicie con una solución básica factible


inmediata

Si La solución
¿Se cumple el CRITERIO DE básica factible
PARADA? actual es una
SOLUCIÓN
ÓPTIMA
No

Escoger la variable que va a entrar a la


base (CRITERIO DE ENTRADA)
FIN

Determinar la variable que va a salir de la


base (CRITERIO DE SALIDA)

Realizar las operaciones fila elementales


para cambiar de base y obtener una nueva
solución básica factible

Figura 1. El algoritmo SIMPLEX


109

El criterio de parada se deduce directamente del criterio de entrada, ya que si llega el


momento en el cual no existen variables candidatas a entrar a la base, es porque no puede
mejorarse más la función objetivo y se ha llegado al óptimo. Por lo tanto, el criterio de
parada es el siguiente:

EL PROCESO SIMPLEX CONCLUYE SI TODOS LOS:


( Z j  C j )  0, para maximizar 8

( Z j  C j )  0, para minimizar

En resumen, el algoritmo SIMPLEX hace lo mostrado en la Figura 1 anterior. Los


casos especiales, como son función múltiples soluciones óptimas, función objetivo no acotada
y ninguna solución factible, son identificados también por el algoritmo simplex, como se verá
más adelante en los ejemplos 3.2, 3.3 y 3.4, respectivamente.

4.3. APLICACIÓN DEL MÉTODO SIMPLEX EN FORMA


MATRICIAL
Considérese el modelo (3.1), cuya forma estándar está dada en (3.2). Obsérvese que la
matriz A presenta inicialmente una submatriz idéntica de orden 2. Esta submatriz constituye la
base inicial, ya que su inversa es inmediata, así:

 Solución básica factible inicial: (punto de partida)

1 0 15 3 5 S  X 
B ; C B  0 0; C R  5 3; b   ; R   ; X B   1 ; X R   1 
0 1 10 5 2 S2  X2 

S1 S2 X1 X2

Entonces:
1
11 0 15 15
XB  B b      
0 1 10 10

Z  CB X B  0

X B es la solución básica factible inicial.

 Primer Cambio de Base:

8
Los ( Z j  C j ) de las variables básicas siempre son iguales a cero, como se verá posteriormente. Si existe
algún ( Z j  C j ) de una variable no básica igual a cero, se concluye que existen múltiples soluciones óptimas,
ya que se podrá cambiar de base sin modificar el valor de la función objetivo.
110 Introducción a la Modelación Matemática y Optimización

Criterio de entrada: ( Z j  C j ) sea el “más negativo”.


Z j  CB Yj  CB B 1a j , donde a j son las columnas de A que forman la matriz
R.
1 0 3 5 3 5
Y  B 1R      (columnas de la matriz Y)
0 1 5 2 5 2
Z1  C B Y1  0 03 5  0
T

Z 2  C B Y2  0 05 2  0
T

 Z1  C1  0  5  5
ENTRA A LA BASE LA VARIABLE x1 9
 Z 2  C2  0  3  3

Criterio de salida:
Recuérdese que X B  X B  YX R , en este caso:
 s  15 3 5  x1 
XB   1        
 s2  10 5 2  x2 
Columna asociada a X1 , variable a entrar a la base.
15 10 
Luego:   mín  ,   mín 5 , 2  2
3 5
Por lo tanto sale de la base la variable S2.

 Segundo Cambio de Base (si es necesario):

Actualmente, las nuevas condiciones son:

1 3 15 0 5 S  S 
B ; C B  0 5; C R  0 3; b   ; R   ; X B   1 ; X R   2 
0 5 10 1 2  X1  X2 
s1 x 1 s2 x 2

Entonces, la solución actual es:

1 3 15 1  35  15 9  10
1

       
1
XB  B b  
0 5 10 0 15  10 2

Z  CB X B  10

9
Obsérvese que X1 es la variable asociada a la columna Y1.
10
En este caso la inversa de la nueva base no se ha obtenido por operaciones fila elementales, como se hace
normalmente en la forma tabular, que se estudiará más adelante.
111

Ahora:
1  3 / 5 0 5  3 / 5 19 / 5
Y  B 1R     2 / 5 
(columnas de Y)
0 1 / 5  1 2  1 / 5
S2 X2
Z1  C B Y1  0 5 3 / 5 1 / 5  1
T

Z 2  C B Y2  0 519 / 5 2 / 5  2
T

 Z1  C1  1  0  1
 Z 2  C2  2  3  1 , ENTRA A LA BASE LA VARIABLE X2 (la
única cuyo Zj – Cj es negativo)

criterio de salida:
 s  9   3 / 5 19 / 5  s2 
XB   1      
 x1  2  1 / 5 2 / 5   x2 
columna asociada a X2, la variable a entrar a la base.
 45  45
Luego,   mín  , 5 
19  19
Por lo tanto, sale de la base la variable S1.

 Tercer Cambio de Base (si es necesario):

Actualmente las nuevas condiciones son:

5 3 15 0 1 X  S 
B ; C B  3 5; C R  0 0; b   ; R   ; X B   2 ; X R   2 
2 5 10 1 0  X1  S1 
x2 x1

entonces la solución actual es:


1
1 5 3 15  5 / 19  3 / 19 15 45 / 19
XB  B b          
2 5 10  2 / 19 5 / 19  10 20 / 19
Z  CB X B  235 / 19  12.37

Ahora:
 5 / 19  3 / 19 0 1  3 / 19 5 / 19 
Y  B 1R      (columnas de Y)
 2 / 19 5 / 19  1 0  5 / 19  2 / 19
Y1 Y2
Z1  C B Y1  3 5 3 / 19 5 / 19  16 / 19
T

Z 2  C B Y2  3 55 / 19  2 / 19  5 / 19
T
112 Introducción a la Modelación Matemática y Optimización

 Z1  C1  16 / 19  0  16 / 19 
  0 , SE CUMPLE EL CRITERIO DE
 Z 2  C2  5 / 19  0  5 / 19
PARADA.

Luego la solución básica factible actual es una solución óptima. Como los únicos (Zj –
Cj) iguales a cero son los de las variables básicas, entonces esta es la única solución óptima del
modelo (3.1).

 x  45 / 19 235


XB   2     Zmáx  C B X B 
 x1  20 / 19 19
 s  0 
X R   2     (variables no básicas)
 s1  0

4.4. EL MÉTODO SIMPLEX EN FORMA TABULAR


Como puede observarse, la forma matricial de solución mediante el algoritmo
SIMPLEX sería impráctica. Sin embargo, lo importante que debe notarse es que cada iteración
lo único que hace es reemplazar valores anteriores por otros nuevos, aspecto fundamental para
lograr la implementación del método en el computador. La forma tabular es mucho mejor para
el trabajo manual y consiste en hacer las mismas operaciones matriciales en forma de tablas,
de una manera más rápida y eficiente, ya que se conservan las columnas y los productos se
hacen en forma sencilla. Además, la inversa de la base se halla en forma automática, mediante
operaciones fila elementales. Para el caso del ejemplo anterior, los tableros SIMPLEX son los
siguientes:

Cj 5 3 0 0
VARIABLES
CB XB X1 X2 S1 S2 COCIENTE
BÁSICAS
S1 0 15 3 5 1 0 15/3 = 5
S2 0 10 5 2 0 1 10/5 = 2
Zj 0 0 0 0 0 0
Zj  C j -5 -3 0 0
S1 0 9 0 19/5 1 -3/5 45/19  2.4
X1 5 2 1 2/5 0 1/5 2/(2/5) = 5
Zj 10 5 2 0 1
Zj  C j 0 -1 0 1
X2 3 45/19 0 1 5/19 -3/19
X1 5 20/19 1 0 -2/19 5/19
Zj 5 3 5/19 16/19
Zmáx 235/19
Zj  C j 0 0 5/19 16/19

Solución óptima Inversa de la base óptima


113

Dado que en el tercer tablero, Z j  C j   0 para todo j, entonces este es el tablero


óptimo. La solución óptima del problema es:

X1  20/19
X 2  45/19
S1  0
S2  0
Z máx  235/19

Debe notarse que la inversa de la base en cada iteración se va generando debajo de la


matriz idéntica inicial.

Es importante notar que el método SIMPLEX se mueve de una solución básica


factible a otra de una manera muy especial: mejorando lo más posible a la función objetivo, y,
por lo tanto, sólo “visita” algunas de las soluciones básicas factibles hasta llegar a la solución
óptima.

Ejercicio: Resuelva el problema de los transformadores (modelo No 1) mediante el


método SIMPLEX.

4.5. EL MÉTODO SIMPLEX CON VARIABLES


ARTIFICIALES
El método SIMPLEX necesita que la base inicial sea la matriz idéntica para poder
arrancar. El problema general de PL es:

MAX ( MIN ) Z  CX
sujeto a :
(3.12)
AX (, ,  )b
X0

Si todas las restricciones son de  , el método SIMPLEX inicia con la base igual a la
matriz idéntica, formada por las columnas de las variables de holgura. Pero si existe por lo
menos una restricción de = ó de  , la matriz idéntica no aparece en forma automática y por lo
tanto debe crearse mediante la adición de variables artificiales, salvo algunas excepciones
(Ver Ejemplos 3.2 y 3.3)
114 Introducción a la Modelación Matemática y Optimización

4.5.1. El Método de la “Gran M”

Ejemplo 3.1. USO DE VARIABLES ARTIFICIALES

M aximizar Z  2X1  3X 2
Sujeto a : X1  2X 2  4
X1  X 2  3
X1, X 2   0
La forma estándar de éste modelo es la siguiente:

M aximizar Z  2X1  3X 2
Sujeto a : X1  2X 2  S1  4
X1  X 2 3
X1 , X 2 , S1   0
Como se observa, no aparece la submatriz idéntica de orden 2 en la matriz A, ya que
solo fue necesario adicionar la variable de holgura S1 para obtener la forma estándar del
modelo. Por lo tanto, la submatriz idéntica debe crearse artificialmente así:

M aximizar Z  2X1  3X 2
Sujeto a : X1  2X 2  S1 4
X1  X 2 A 3
X1 , X 2 , S1   0; A variable artificial
Dado que antes de adicionar la variable artificial A ya la igualdad estaba conformada,
la única forma de que el problema original tenga solución es que la variable artificial sea igual
a cero en la solución óptima, lo cual se logra la mayoría de las veces sacándola de la base.
Así, el método debe obligar a que la variable A salga de la base y esto puede conseguirse
penalizándola en la función objetivo con un valor muy grande positivo (si se está
minimizando) o muy pequeño negativo (si se está maximizando). Así, surge el método de la
“Gran M”, el cual transformaría el modelo anterior en:

M aximizar Z  2 X 13 X 2  MA
Sujeto a : X 1  2 X 2  S 4 11

X1  X 2 A3
(X 1 ,X 2 , S)  0; A variable artificial

11
Se ha cambiado S1 por S por existir sólo una variable de holgura en este modelo.
115

En el modelo anterior M es un valor real positivo muy grande (M >> 0 ó (M  ) ).

Los tableros, por lo tanto, serían los siguientes:

Cj 2 3 0 -M
VARIABLES
CB XB X1 X2 S A 
BÁSICAS
S 0 4 1 2 1 0 4/2 = 2
A -M 3 1 1 0 1 3/1 = 3
Zj -3M -M -M 0 -M
Z j -C j -M-2 -M-3 0 0
X2 3 2 ½ 1 ½ 0 2/ ½ = 4
A -M 1 ½ 0 -½ 1 1/ ½ = 2
Zj 6-M
3 M
2 2 3
3 M
2 2 -M
Z j -C j - 1 M 0 3 M 0
2 2 2 2
X2 3 1 0 1 1 -1
X1 2 2 1 0 -1 2
Zj 7 2 3 1 1
Z j -C j 0 0 1 1+M

Luego la solución óptima única es:

X1  2
X2 1
S 0
A  0 obviamente 
Z max.  7

Obsérvese que la variable artificial sale de la base en el segundo tablero. Una vez
salga, no podrá volver a entrar a la base, y puede incluso ignorarse esta columna para
encontrar la solución óptima.12

Debe además recordarse que M siempre es un valor muy grande positivo (M  )
y, por lo tanto, su magnitud domina sobre cualquier otro número.

12
Sin embargo, es útil mantener las columnas de las variables artificiales para determinar la inversa de la base
óptima, ya que ellas formaron la matriz idéntica inicial.
116 Introducción a la Modelación Matemática y Optimización

Ejemplo 3.2 : INFINITAS SOLUCIONES ÓPTIMAS

Minimizar Z  2 X 1  3X 2  X 3
Sujeto a : X 1  4 X 2  2 X 3 8
3X1  2 X 2 6
X1, X 2 , X 3  0

Este ejemplo ilustra dos aspectos importantes: Primero, no es necesario adicionar


variables artificiales cuando el modelo contiene por lo menos una restricción de  ó de =. En
este ejemplo, la variable X3 aparece solamente en la primera restricción y basta con dividir
ésta entre 2 para que pueda formar parte de la base inicial. Por lo tanto, solo se necesitaría una
variable artificial, adicionada en la 2ª restricción.

Segundo, como se observará a continuación, el método SIMPLEX identifica cuando el


modelo presenta múltiples soluciones óptimas. El modelo quedaría entonces así:

Minimizar Z  2 X 1  3 X 2  X 3  MA
Sujeto a : 1 X 1  2 X 2  X 3  S1 4
2
3X1  2 X 2  S2  A  6
 X 1 , X 2 , X 3 , S1 , S 2   0; A var iable artificial
Los tableros correspondientes serían los siguientes:

Cj 2 3 1 0 0 M
VAR.
CB XB X1 X2 X3 S1 S2 A 
BÁSICAS
X3 1 4 ½ 2 1 -1 0 0 8
A M 6 3 2 0 0 -1 1 2
Zj 4+6M ½ +3M 2+2M 1 -1 -M M
- 3 M  3M -1+2M 0 -1 -M 0
Z j -C j 2

X3 1 3 0 5/3 1 -1 1/6 -1/6 1.8


X1 2 2 1 2/3 0 0 -1/3 1/3 3
Zj 7 2 3 1 -1 -½ ½
Sol.
óptima
Z j -C j 0 0 0 -1 -½ ½ -M
No 1
X2 3 9/5 0 1 3/5 -3/5 1/10 -1/10
X1 2 4/5 1 0 -2/5 2/5 -2/5 2/5
Zj 7 2 3 1 -1 -½ ½
Sol.
óptima
Z j -C j 0 0 0 -1 -½ ½-M
No 2

Como puede observarse, en el tablero No 2 ya se obtiene una solución óptima, pero


con la característica de que la variable no básica X2 tiene su Z j -C j  =0; por lo tanto, ella
117

puede entrar a la base sin modificar el valor mínimo de la función objetivo y generar una
solución óptima diferente. Estas soluciones son:

Solución Optima N º1 Solución Optima N º 2


X1  2 X1  4 / 5
X2  0 X2  9/5
X3  3 X3  0
S1  S 2  0 S1  S 2  0
Z mín  7 Z mín  7

En realidad, cualquier combinación lineal convexa de estas dos soluciones es óptima


también, y así se obtiene la solución óptima general del modelo:

4 
X1   2  5
    9 
X 2  0   5
     
X 3     
3   0  ; 0    1; 0    1     1;  ,    
     
 S1  0  0 
S  0   
 2    0 
 

Por ejemplo, si  = 0.5 y  = 0.5, entonces se obtiene la solución óptima (nó básica):

X1 = 7/5; X2 = 9/10; X3 = 3/2; S1 = S2 = 0; Zmáx = 7.

En conclusión, el método SIMPLEX detecta infinitas soluciones si por lo menos una


de las variables no básicas presenta su Z j -C j  = 0 en un tablero óptimo. El número de
soluciones básicas factibles óptimas será igual al número de variables no básicas que
presenten dicha característica mas uno, y la solución general se escribe como la combinación
lineal convexa de dichas soluciones.

Este hecho hace que sea difícil que un programa de computador detecte la presencia de
soluciones óptimas múltiples, ya que, debido a errores de redondeo, rara vez se tendría un
Z j -C j  exactamente igual a cero. Sin embargo, esto se puede lograr estableciendo rangos de
tolerancia para los números muy pequeños considerados iguales a cero.
118 Introducción a la Modelación Matemática y Optimización

Ejemplo 3.3 : FUNCIÓN OBJETIVO NO ACOTADA

Maximizar Z  1.2 X 1  X 2  0.8 X 3


Sujeto a : X 1  X 2  50000
0.4 X 1  0.6 X 2  X 3  27000
X1, X 2 , X 3   0
La forma estándar del modelo anterior es:

Maximizar Z  1.2 X 1  X 2  0.8 X 3


Sujeto a : X1  X 2  S1  50000
0.4 X 1  0.6 X 2  X 3  S 2  27000
 X1, X 2 , X 3 ,S1,S2   0
En este caso tampoco se requiere una variable artificial en la 2ª restricción, ya que la
variable X3 puede ser básica inicial. Así:

Cj 1.2 1.0 0.8 0 0


Var.
CB XB X1 X2 X3 S1 S2 
Básicas
S1 0 50000 1 1 0 1 0 50000
X3 0.8 27000 0.4 0.6 1 0 -1 67500
Zj 21600 0.32 0.48 0.8 0 -0.8
Z j Cj -0.88 -0.52 0 0 -0.8
X1 1.2 50000 1 1 0 1 0
X3 0.8 70000 0 0.2 1 -0.4 -1
Zj 1.2 1.36 0.8 0.88 -0.8
65600
Z j Cj 0 0.36 0 0.88 -0.8

En el último tablero, S2 trata de entrar a la base, pero la regla del cociente falla,
entonces como no hay ninguna variable a salir de la base se concluye que hay FUNCIÓN
OBJETIVO NO ACOTADA.13

El caso de función objetivo no acotada es un caso donde no existe solución ÓPTIMA,


aunque si existen SOLUCIONES FACTIBLES, a diferencia del caso de “NINGUNA
SOLUCIÓN FACTIBLE”.

En la práctica puede presentarse este caso cuando se ha olvidado incluir en el modelo


alguna restricción. En este problema faltó acotar la variable X3. Obsérvese que este modelo
corresponde al caso de la refinería (Problema No. 16 de la colección de problemas), donde la
demanda es mínima y lo que puede comprarse a otros proveedores es ilimitado, lo cual

13
El problema se presenta en la 2ª restricción. La variable X 3 está acotada por debajo pero no por encima y así su
valor puede hacerse tan grande como se desee, haciendo crecer indefinidamente la función objetivo. La variable
de exceso S2 trata de entrar a controlar esto, pero obviamente no puede.
119

obviamente no es real. La corrección a esta situación sería limitar la cantidad de barriles de


gasolina que pueden comprarse a otros proveedores, bien sea por su capacidad limitada, por la
demanda finita, o por cualquier otra razón. Esto permitiría encontrar una solución óptima en
este problema.

Ejemplo 3.4: NINGUNA SOLUCIÓN FACTIBLE

Maximizar Z  10 X 1  15 X 2  12 X 3
Sujeto a : 5X 1  3X 2  X 3  144
 5 X 1  6 X 2  15 X 3  240
2X1  X 2  X 3  80
X1, X 2 , X 3   0
Forma estándar con variables artificiales:

Maximizar Z  10 X 1  15 X 2  12 X 3  MA
Sujeto a : 5 X 1  3 X 2  X 3  S1  144
 5 X 1  6 X 2  15 X 3  S2  240
2X1  X 2  X 3  S 3  A  80
 X 1 , X 2 , X 3 , S1 , S 2 , S 3   0; A var iable artificial
En este caso los tableros Simples serían los siguientes:
C j  10 15 12 0 0 0 M
Var.
CB XB X1 X2 X3 S1 S2 S3 A 
Básicas
S1 0 144 5 3 1 1 0 0 0 28.8
S2 0 240 -5 6 15 0 1 0 0 NO
A -M 80 2 1 1 0 0 -1 1 40
Zj -80M -2M -M -M 0 0 M -M
Z j Cj -2M-10 -M-15 -M-12 0 0 M 0
X1 10 144/5 1 3/5 1/5 1/5 0 0 0 144
S2 0 384 0 9 16 1 1 0 0 24
A -M 112/5 0 -1/5 3/5 -2/5 0 -1 1 37.3
M  3M 2M
Zj  112M 6 2 2
 288 10 5 5 0 M -M
5 5
Zj Cj 0 M
9
 3M
 10 2M
2
0 M 0
5 5
5
X1 10 24 1 39/80 0 3/16 -1/80 0 0
X3 12 24 0 9/16 1 1/16 1/16 0 0
A -M 8 0 -43/80 0 -7/16 -3/80 -1 1
7 M 21 3M 5
Zj 43M 93
  
- 8M  528 10 80 8 12 16 8 80 8 M -M
Zj Cj 43M 27
 0 7 M 21
 3M 5

M 0
80 8 16 8 80 8
120 Introducción a la Modelación Matemática y Optimización

Obsérvese que en el tablero No. 3 se cumple el criterio de parada (O sea Zj – Cj  0


j), pero existe una variable artificial en la base a nivel positivo (A = 8); por lo tanto, el
problema NO tiene SOLUCIÓN FACTIBLE ALGUNA.

Obsérvese, además, que en el primer tablero se presenta un caso en el cual no debe


tenerse en cuenta el cociente, ya que y sk  5  0 .

4.5.2. El método de las Dos Fases14

Este método elimina el problema de trabajar con la “Gran M” y los errores de redondeo
asociados. El método comprende las siguientes fases:

FASE I: Trata de encontrar una solución básica factible inicial. Aquí siempre se
minimiza la suma de las variables artificiales, independientemente de si el problema es de
MAXIMIZACIÓN o de MINIMIZACIÓN, sujeto a las restricciones del problema original.
Hay dos posibilidades:

a) La suma óptima de las variables artificiales es igual a cero, entonces se continua


con la fase II.
b) Si el valor óptimo de la función objetivo es mayor que cero, entonces el problema
original no tiene ninguna solución factible.

FASE II: Se cambia la función objetivo a la función objetivo original y se utiliza


la solución básica factible encontrada en la fase I, se comprueba el criterio de parada y se
continúa iterando normalmente, si es necesario.

Ejemplo 4.5 [páginas 87 y 92 de Taha (1997)]:

Minimizar Z  4X1  X 2
Sujeto a : 3X1  X 2  3
4 X1  X 2  6
X1  2 X 2  4
( X1, X 2 )  0

El modelo se transforma como sigue para iniciar el método de las dos fases:

14
Ver Taha (1997), página 92
121

M inimizar Z '  A1  A2
sujeto a : 3 X 1  X 2  A1 3
4 X 1  3X 2  S1  A2 6
X1  2X 2  S2  4
( X 1 , X 2 , S1 , S 2 )  0; A1 , A2 Var. Artificiales

Cj  0 0 0 0 1 1
Var.
CB XB X1 X2 S1 S2 A1 A2 
Básicas
3/3 = 1
A1 1 3 3 1 0 0 1 0
6/4 =
A2 1 6 4 3 -1 0 0 1
1.5
S2 0 4 1 2 0 1 0 0
4/1 = 4
Zj 9 7 4 -1 0 1 1
Z j Cj 7 4 -1 0 0 0
X1 0 1 1 1/3 0 0 1/3 0 3
A2 1 2 0 5/3 -1 0 -4/3 1 1.2
S2 0 3 0 5/3 0 1 -1/3 0 1.8
Zj 2 0 5/3 -1 0 -4/3 1
Z j Cj 0 5/3 -1 0 -7/3 0
Fin
Cj 4 1 0 0 0 0
Fase I
X1 4 3/5 1 0 1/5 0 3/5 -1/5
X2 1 6/5 0 1 -3/5 0 -4/5 3/5 3
S2 0 1 0 0 1 1 1 -1 NO
1
Zj 18/5 4 1 1/5 0
Z j Cj 0 0 1/5 0
X1 4 2/5 1 0 0 -1/5
X2 1 9/5 0 1 0 3/5
S1 0 1 0 0 1 1
Zj Fin
17/5 4 1 0 -1/5
Fase
Z j Cj 0 0 0 -1/5
II

SoluciónÓptima Única  X *1  2 / 5, X *2  9 / 5, Z *mín  17 / 5


122 Introducción a la Modelación Matemática y Optimización

5. TEORÍA DE DUALIDAD
El problema dual puede definirse en forma matemática. Sin embargo, es adecuado
comenzar por una interpretación económica.

Supóngase que en una empresa se producen dos artículos: 1 y 2. Las utilidades netas
unitarias son respectivamente, 35 y 80 u.p/unidad. Los requerimientos unitarios y la
disponibilidad de las máquinas son:

hr.máq.1 hr.máq.2
ARTICULO
unidad unidad
1 2 5
2 3 4
Disponibilidad 300 500

El modelo de PL correspondiente para este enunciado sería:

MAXIMIZAR Z  35 X 1  80 X 2
Sujeto a :
2 X 1  3 X 2  300 (Recurso 1) (Problema Primal)
5X 1  4X 2  500 (Recurso 2)
(X1 , X 2 )  0

Donde: X1= Número de artículos tipo 1 a producir, X2 = Número de artículos tipo 2 a


producir. A este problema anterior se le denomina problema primal.

Ahora, los recursos, en este caso las máquinas, pueden ser dedicados a otra actividad
diferente a la de producir los artículos 1 y 2. Para ello, sean:

W1  u.p/unidad de recurso 1  u. p / hr.máq.1


W2  u.p/unidad de recurso 2  u. p / hr.máq.2

Los W1, W2 se denominan precios sombra o costos de oportunidad y representan el


valor de un recurso cuando se dedica a la mejor alternativa posible. Los coeficientes 2, 5, 3 y 4
son unidades de recurso Ri necesarias para la producción de una unidad de artículo i (i = 1,2).
Si se efectúa el producto:
unid .R1 u. p u. p
2W1   
unid . prod.1 unid .R1 unid . prod.1

y el producto:
unid .R2 u. p u. p
5W2   
unid . prod.1 unid .R2 unid . prod.1
123

y, si se efectúa la suma:

2W1  5W2  Ganancia obtenida si los recursos se dedican a


otra actividad [u.p/unid. prod. 1]

Por lo tanto, debe esperarse que:

2W1  5W2  35 [u.p/unid. prod. 1]

y, análogamente:
3W1  4W2  80 [u.p/unid. prod. 2]

Para hallar la función objetivo del problema que se está construyendo a partir del
problema primal, puede pensarse así: se desea minimizar el costo total de los recursos
involucrados en las otras actividades. Así, el problema dual es:

MINIMIZAR Z '  300W1  500W2


Sujeto a :
2W1  5W2  35 (Problema Dual)
3W1  4W2  80
(W1 , W2 )  0

La solución del problema dual da la información acerca de los “costos de


oportunidad” de los recursos o “precios sombra”, es decir, la tasa a la cual podría
incrementarse (o decrecer) la función objetivo del problema primal, incrementando (o
disminuyendo) ligeramente la cantidad de recurso. Esto será aclarado más adelante.

Por lo tanto, la solución del problema dual da una valiosa información: el precio
unitario adicional máximo que puede pagarse por cada unidad adicional de recurso escaso.
Esto se concluye de la propia definición de la función objetivo del problema dual, ya que,
como se verá posteriormente, el valor óptimo de la función objetivo del problema primal es
igual al valor óptimo de la función objetivo del problema dual ( o sea Zmáx = Z'mín).
Matricialmente estos dos problemas pueden definirse como:

MAX Z  CX MIN Z '  W T b


S ujetoa : AX  b S ujetoa : W T A  C
(4.1) 15 (4.2)
X0 W0
Problema Primal Problema Dual

15
Más adelante se verá que cualquier problema de PL tiene su dual asociado. Sin embargo, para hallarlo debe
estar en la forma mostrada, o sea con función objetivo de maximización y restricciones menor ó igual ().
124 Introducción a la Modelación Matemática y Optimización

5.1. RELACIONES ENTRE LOS PROBLEMAS PRIMAL


Y DUAL
TEOREMA 4.1: Sean X y W dos soluciones factibles del problema primal y dual,
respectivamente; entonces se cumple que:
CX  WT b
Demostración:
Del problema primal:
AX  b
Premultiplicando por WT:
W T AX  WT b (4.3)
Ahora, del problema dual:
WT A  C
Postmultiplicando por X:
W T AX  CX (4.4)

Si se combinan las desigualdades (4.3) y (4.4), se obtiene:

CX  WT b q.e.d

TEOREMA 4.2: Sean X̂ y Ŵ dos soluciones factibles para los problemas primal y
dual respectivamente. Si se cumple que:
CXˆ Wˆ Tb
entonces X̂ y Ŵ son las soluciones óptimas de los problemas primal y dual
respectivamente.

Demostración:
ˆ , W) . Del Teorema 4.1 se concluye que:
a) Tómese la pareja de soluciones factibles ( X
CXˆ  WT b
pero como CX ˆ W ˆ T b , por hipótesis, entonces, W ˆ T b  WT b , donde W T es
cualquier solución factible del problema dual. Por lo tanto, W ˆ T b será el mínimo y es entonces
la solución óptima del problema dual.

b) Tómese ahora la pareja ( X, Wˆ ) ; por el Teorema 4.1:


CX  W ˆ Tb
Pero:
CX ˆ W ˆ T b , por hipótesis.
Luego:
CX  CX ˆ
ˆ será el máximo y
donde X es cualquier solución factible del problema primal. Así, CX
es entonces la solución óptima del primal (q.e.d).
125

5.1.1. Solución del Problema Dual

El problema dual asociado a un problema primal está íntimamente ligado a éste. Se va


a demostrar que si se resuelve el problema primal mediante el algoritmo SIMPLEX, el
problema dual aparece resuelto automáticamente en el tablero final. Por lo tanto, basta sólo
con resolver uno de los dos problemas!

Supóngase que se ha resuelto el problema de los transformadores mediante el método


SIMPLEX. El modelo original, problema primal, es el siguiente:

Maximizar Z  400 X 1  700 X 2


Sujeto a :

X 2  1400 hr. hom bre R1 


7
X1 
3

X 1  1.4 X 2  980 hr. maq.q R2 
X 1  X 2  900 hr. maq.2  R3 
X1, X 2   0
El problema dual asociado será, por lo tanto:

M INIM IZAR Z '  1400W1  980W2  900W3


Sujeto a :
W1  W2  W3  400
7
W1  1.4W2  W3  700
3
(W1 , W2 , W3 )  0
El tablero final del método SIMPLEX aplicado al problema primal es el siguiente
(Compruébelo!!):

Var.
CB XB X1 X2 S1 S2 S3
Básicas
X2 700 450 0 1 15/14 -15/14 0
X1 400 350 1 0 -3/2 5/2 0
S3 0 100 0 0 3/7 -10/7 1
Zj 455000 400 700 150 250 0
Z j Cj 0 0 150 250 0
Solución óptima del
problema dual asociado

Se va a plantear la hipótesis de que la solución óptima del problema dual aparece


debajo de la inversa de la base óptima, en la fila de los Zj (o sea que la solución óptima del
1
dual es C B B ).
126 Introducción a la Modelación Matemática y Optimización

Las condiciones de optimalidad del primal son:

Z j  C j  0, j

Esto es equivalente a decir:


C B B 1a C j
j

O, en forma compacta:
C B B 1 A  C

1
Si W  C B B , entonces W A  C
T T

Con lo que se conseguiría cumplir con las restricciones del dual. Obsérvese que las
condiciones de optimalidad del problema primal son equivalentes a las condiciones de
factibilidad del problema dual.

Falta por demostrar que la solución del dual propuesta satisface las condiciones de no
negatividad y el valor óptimo de la función objetivo. En particular para las variables de
holgura, las cuales forman la matriz idéntica, se cumple que:

C B B 1I  0
1
pues sus coeficientes en la función objetivo son iguales a cero. Luego, si W  C B B ,
T

se cumple que:
WT  0 ,

o sea que se trata de una solución factible del problema dual. Pero, será la óptima??

Si se evalúa el valor de la función objetivo para esta solución, se obtiene:

Z1  W T b  C B B 1b  C B X B  Z

Luego, de acuerdo con el Teorema 4.2 dicha solución debe ser óptima. (q.e.d)

Conclusión: la solución óptima del problema dual aparece en el tablero final


SIMPLEX del problema primal en la fila de los Zj, debajo de las columnas que forman la
inversa de la base óptima., o sea que W T  C B B 1 .

Para el problema de los transformadores, la solución óptima del problema dual


asociado es:

W1  150 W2  250 W3  0 Zl mín  455000


O sea que si se incrementa en 1 unidad el recurso hora-hombre, la función objetivo se
incrementaría en 150. Si se incrementa en una unidad el recurso hora-máquina1, la función
127

objetivo se incrementaría en 250, pero si se incrementa el recurso hora-máquina2, la función


objetivo permanecería constante ya que se trata de un recurso sobrante. Lo anterior es válido
solo dentro de cierto rango, lo que se verá más adelante. En otras palabras, lo máximo que
estaría dispuesto a pagarse adicionalmente por casa unidad extra de hora-hombre y de hora-
máquina1 (recursos escasos) sería $150 y $250 respectivamente.

5.1.2. El problema Dual Adaptado a Otros Modelos de Programación Lineal

Se va a desarrollar la forma de obtener el problema dual de cualquier modelo de


programación lineal.

Considérese, por ejemplo:

MIN Z  3X 1  5X 2
Sujeto a : X1  4
2 X 2  12
3 X 12 X 2  18
(X1, X 2 )  0

Para obtener el problema dual, el modelo debe llevarse a la forma dada en el modelo
generalizado (4.1). La función objetivo se multiplica por (-1) y queda entonces convertida a
una función de Maximización. Las restricciones de  basta con multiplicarlas por (-1) y las
restricciones de igualdad se reemplazan por dos restricciones de desigualdad: una de  y otro
de . Nótese que aquí no interesa que queden valores negativos en los términos del lado
derecho (Vector b)

Así, el modelo del ejemplo anterior quedaría:

Maximizar U   3 X 1  5 X 2
Sujeto a :
X1 4
2 X 2  12
 2 X 2  12
 3 X 1  2 X 2  18
X1, X 2   0

Por lo tanto, el problema dual asociado sería:


128 Introducción a la Modelación Matemática y Optimización

Minimizar Z '  4W1  12W2  W3   18W4


Sujeto a :
W1  3W4  3
2W2  W3   2W4  5
W1 ,W2 ,W3 ,W4   0

Obsérvese que las variables duales W2 y W3 aparecen siempre en la forma (W2  W3) y
por lo tanto podrían ser reemplazadas por una sola variable W= W2  W3 no restringida en
signo.

Conclusión: La variable dual asociada a una restricción de igualdad del problema


primal, aparece en el problema dual asociado como una variable no restringida en signo.

5.1.3. Otras Propiedades del Problema Dual

Propiedad de simetría: El problema dual del dual es el problema primal original.

Principio de holgura complementaria:

a) Si una variable de holgura Si (añadida a la i-ésima restricción) del problema primal


aparece como básica en la solución óptima del problema primal, entonces la correspondiente
variable dual Wi tomará valor cero en la solución óptima del dual.

b) Si la variable de decisión Xj (no de holgura) aparece como básica en la solución


óptima del primal, entonces en la correspondiente solución óptima del dual la j-ésima
restricción dual es una igualdad estricta, o, equivalentemente, su variable dual de holgura
asociada es igual a cero.

5.2. APLICACIONES DE LA TEORÍA DE DUALIDAD

Las aplicaciones más importantes de la teoría de dualidad son:

a) Interpretación económica del problema primal (ya ilustrada).


b) Ahorro en cálculos en la solución de modelos de PL.
c) Algoritmo SIMPLEX dual.
d) Utilidad en análisis de sensibilidad.

Se ilustrará a continuación las aplicaciones (b) y (c) y, posteriormente en una sección


independiente, la (d).
129

5.2.1. Ahorro en Cálculos

Supóngase que se tiene que resolver el problema:

MAX Z  4 X 1  3X 2
Sujeto a : X1 6
X2  8
X1  X2  7
3 X 1  X 2  15
 X2 1
(X1, X 2 )  0

Obsérvese que el problema tiene dos variables de decisión y cinco restricciones. Así,
las bases serían de orden m = 5. Pero, si se plantea el problema dual asociado, tendría cinco
variables duales y dos restricciones, por lo tanto se trabajaría con bases de orden 2, lo cual es
más manejable manual y computacionalmente. Obviamente, esta aplicación adquiere mucho
más sentido en grandes problemas que se presentan en la vida real.

Ejercicio: Plantee el correspondiente problema dual asociado y resuélvalo. Muestre


que la solución óptima del dual es:

5 1 l
W1  W2  W5  0 W3  W4  Z mín  25
2 2

Y que la solución óptima del primal es:

X 1  4 X 2  3 Zmáx  25

Ilustre con este ejemplo el principio de holgura complementaria.

5.2.2. El Algoritmo SIMPLEX Dual

El algoritmo SIMPLEX normal mantiene la factibilidad y busca la optimalidad. El


algoritmo SIMPLEX dual mantiene el criterio de optimalidad y trata de buscar la factibilidad.
Este algoritmo puede aplicarse si al comienzo del proceso se cumplen las condiciones de
OPTIMALIDAD, bajo una solución NO-FACTIBLE.

Las reglas para el algoritmo SIMPLEX dual son:

a) Se busca primero la variable candidata a salir de la base: sale de la base aquella


variable cuyo valor sea “el más negativo” (la “menos factible”).
b) Para saber cual variable entra a la base se calcula:
130 Introducción a la Modelación Matemática y Optimización

Z j Cj
 ; y kj  0 y se escoge el valor MINIMO(para problemas de MINIMIZACION)
y kj
Z j Cj
 ; y kj  0 y se escoge el valor MINIMO(para problemas de MAXIMIZACION)
y kj
donde k es el subíndice asociado a la variable que va a salir de la base.
c) La reducción de Gauss-Jordan es semejante a la del algoritmo SIMPLEX normal.

Ejemplo 5.1: aplicar el algoritmo SIMPLEX dual para resolver el siguiente modelo de
programación lineal:
MIN Z  16 X 1  11X 2  15 X 3
Sujeto a : 2X1  X 2  X 3  3
X 1  2 X 2  3X 3  5
(X1, X 2 , X 3 )  0
Obsérvese que si se fuera a resolver mediante el algoritmo SIMPLEX normal, se
necesitarían dos variables artificiales para crear la base inicial. El procedimiento mediante el
método SIMPLEX dual es como sigue:

MIN Z  16 X 1  11X 2  15 X 3
Sujeto a : 2 X 1  X 2  X 3  S1  3
X 1  2 X 2  3X 3 - S2  5
( X 1 , X 2 , X 3 , S1 , S 2 )  0

Y ahora, multiplicando por (-1) a ambas igualdades, se obtiene:

MIN Z  16 X 1  11X 2  15 X 3
Sujeto a : - 2 X 1 - X 2 - X 3  S1  -3
- X 1 - 2 X 2 - 3X 3  S 2  -5
( X 1 , X 2 , X 3 , S1 , S 2 )  0

En este caso, los tableros correspondientes serían los siguientes:


131

Cj
16 11 15 0 0
Variables
CB XB X1 X2 X3 S1 S2
Básicas
S1 0 -3 -2 -1 -1 1 0
S2 0 -5 -1 -2 -3 0 1
Zj 0 0 0 0 0 0 Se satisfacen
Z j Cj -16 -11 -15 0 0 condiciones de
16 5.5 5
 optimalidad
S1 0 -4/3 -5/3 -1/3 0 1 -1/3
X3 15 5/3 1/3 2/3 1 0 -1/3
Zj 25 5 10 15 0 -5
Z j Cj -11 -1 0 0 -5 Se mantiene
6.6 3 15 optimalidad

X2 11 4 5 1 0 -3 1
X3 15 -1 -3 0 1 2 -1
Zj 29 10 11 15 -3 -4
Z j Cj -6 0 0 -3 -4 Se mantiene
2 NO 4
 optimalidad
X2 11 7/3 0 1 5/3 1/3 -2/3
Se logro la
X1 16 1/3 1 0 -1/3 -2/3 1/3
factibilidad:
Zj 31 16 11 13 -7 -2 SOLUCIÓN
Z j Cj 0 0 -2 -7 -2 ÓPTIMA

Luego la solución óptima del problema es:

X1=1/3, X2=7/3, X3=0, S1=0, S2=0, Zmín = 31.

Nota al algoritmo SIMPLEX DUAL: el algoritmo SIMPLEX DUAL reconoce la no


factibilidad en el problema primal cuando la regla del cociente  falla para identificar la
variable que debe entrar, o sea que el SIMPLEX DUAL asegura que el problema primal no
tiene solución factible alguna, si todos los coeficientes de la fila correspondiente a la variable
que va a salir son mayores o iguales a cero.
132 Introducción a la Modelación Matemática y Optimización

6. ANÁLISIS DE SENSIBILIDAD
Dado un problema de PL de la forma:

MAX Z  CX
Sujeto a : AX  b
X0

pueden ocurrir variaciones en los valores de sus parámetros C, A y b.

En el análisis de sensibilidad se estudia básicamente:

a) Cambios en los coeficientes de la función objetivo (Vector C)


b) Cambios en los valores del lado derecho (Vector b)
c) Cambios en las columnas de la matriz A.
d) Adición de una nueva variable.
e) Adición de una nueva restricción.

Cuando se produce un cambio en algún valor de un parámetro de un modelo de


programación lineal puede ocurrir una de dos cosas (ó ambas, ó ninguna):
1
- Se afecta la factibilidad, dada por: X B  B b; X B  0
- Se afecta la optimalidad, dada por: Z j  C j  0 (Maximización);C B B 1 a  C j  0
j

Así, los cambios en el vector b pueden afectar la factibilidad y los cambios en los
coeficientes de la función objetivo y de algunas de las columnas de la matriz A pueden afectar
la optimalidad.

Todos estos cambios presuponen que la matriz base óptima B va a permanecer sin
cambios, ya que si se afecta la base puede dañarse la factibilidad y la optimalidad
simultáneamente, y puede ser preferible volver a resolver el problema desde un comienzo.
133

6.1. CAMBIOS EN EL VECTOR C (Coeficientes de la


función objetivo)
6.1.1. Cambios en los Coeficientes de la Función Objetivo de una Variable
No-Básica.

En este caso los Z j no cambian pues el CB permanece constante; sólo cambian los C j .
Si C j va a cambiar a C j , entonces debe cumplirse que Z j  C j  0 (Maximización)
* *

para que la solución siga siendo óptima. Si se rompe el criterio de optimalidad, entonces se
sigue iterando con el algoritmo SIMPLEX normal a partir de ese punto.

6.1.2. Cambios en los Coeficientes de la Función Objetivo de una Variable


Básica.

En este caso, dado que cambia el vector C B , cambian los C j . Por lo tanto, éstos deben
recalcularse para investigar las condiciones de optimalidad.

Si Z j cambia a Z j , debe chequearse que Z j  C j  0 (Maximización) .16 Si el


* *

criterio de optimalidad se rompe, debe seguirse iterando con el algoritmo SIMPLEX normal.

6.2. CAMBIOS EN EL VECTOR b (Vector de recursos)


En este caso no se afecta la optimalidad, pero puede afectarse la factibilidad. Si se
verifica que la nueva solución:
X B  B 1b *
*

es mayor o igual que cero, o sea factible, entonces la composición de la solución


óptima sigue siendo la misma, aunque cambian algunos valores (ó todos). En otras palabras,
las variables básicas actuales siguen siendo básicas.

Si se da que algún componente de X B * es  0, entonces se rompe la factibilidad y debe


seguirse iterando con el algoritmo SIMPLEX DUAL hasta restablecer la factibilidad, y así
cambiaría la base óptima.

Lo enunciado anteriormente en la teoría de dualidad acerca del incremento (o


decrecimiento) de la función objetivo por cada unidad adicional (o de menos) de recurso

Z j  C j de las variables básicas se mantienen iguales a cero.


16 *
Obsérvese que los
134 Introducción a la Modelación Matemática y Optimización

(interpretación económica del problema dual), es válido en el rango para el cual la base
óptima sigue siendo la misma.

Ahora, el nuevo vector b* puede escribirse así:

b *  b  b
B 1 b *  B 1 b  B 1 b

[Nueva solución] = [Solución actual] + [Cambio en solución]

Esta forma de obtención de la nueva solución facilita los cálculos.

6.3. CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A

Se va a estudiar el cambio de una sola columna a la vez: aj cambia por a j* .


6.3.1. Cambios en una Columna No-Básica de A

Si aj es la columna correspondiente a una variable no básica, entonces no se afecta la


factibilidad, pero puede afectarse la optimalidad. Simplemente se calcula la nueva columna:

Y j  B 1a *
*
j
Y se recalcula:

Z j  CB Yj
* *

y se chequea si ( Z j  C j ) sigue cumpliendo la condición de optimalidad. Si se cumple


*

dicha condición, la solución actual sigue siendo óptima; si no se cumple, entonces se continúa
iterando con el algoritmo SIMPLEX normal, hasta obtener las condiciones de optimalidad.

6.3.2. Cambios en una Columna Básica de A.

Si aj es la columna correspondiente a una variable básica, entonces “se daña” la base


B y su inversa B-1. En este caso, generalmente es preferible volver a empezar el problema.
135

6.4. INTRODUCCIÓN DE UNA NUEVA VARIABLE


Al introducir una nueva variable de decisión, se tendría:

Nueva variable: Xn+1


Coeficiente en la función objetivo: Cn+1
Nueva columna de A: an+1

Entonces se calcularía:

Yn1  B 1a
n 1
Z n1  C B Yn 1

y se chequearía si (Z n1  Cn1 ) cumple con la condición de optimalidad. Si cumple, la


solución actual sigue siendo óptima; de lo contrario, esta nueva variable debe entrar a la base,
y así, debe continuarse con el algoritmo SIMPLEX normal hasta obtener de nuevo las
condiciones de optimalidad.

Obsérvese que este caso puede tratarse como si la columna original an 1 hubiera sido
de ceros y estuviera cambiando a los valores dados.

6.5. INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN


En este caso se pasa de (m) a (m+1) restricciones. Entonces puede ocurrir una de dos
cosas:

a) Si la solución óptima actual satisface la nueva restricción, entonces ésta sigue


siendo la solución óptima, ya que una nueva restricción sólo lograría eliminar algunas
soluciones básicas factibles anteriores, pero nunca adicionaría nuevas.
b) Si no se satisface la nueva restricción, entonces la presente solución NO es
factible. Por lo tanto, debería determinarse la nueva base B ( m1)( m1) y hallar su inversa
mediante Gauss–Jordan. Posteriormente se hallaría X ˆ B  B 1 ( m 1) b ( m 1) y, lógicamente, se
rompería la factibilidad. Por lo tanto, se seguiría iterando mediante el algoritmo SIMPLEX
DUAL, hasta restablecer la factibilidad.

NOTA: Si la nueva restricción es de desigualdad, entonces se añade también una


variable de holgura, la cual pasa a ser básica y se encuentra la nueva inversa de la base
mediante las operaciones de Gauss - Jordan. Si la nueva restricción es de igualdad, entonces se
hace necesaria la introducción de una variable artificial, la cual necesariamente pasaría a ser
básica. Además, se le asignaría el coeficiente “M” (con su signo respectivo) y se hace
necesario también verificar la optimalidad.
136 Introducción a la Modelación Matemática y Optimización

Ejemplo 5.1: Considérese el problema:

MAX Z  3 X 1  5 X 2
Sujeto a : X 1 4
2 X 2  24
3 X 1  2 X 2  18
(X1, X 2 )  0

Cuya forma estándar es:

MAX Z  3 X 1  5 X 2
Sujeto a : X 1  S1 4
2X 2  S2  24
3X 1  2 X 2  S 3  18
( X 1 , X 2 , S1 , S 2 , S3 )  0

El tablero óptimo de este problema es el siguiente (Verifíquelo):

Cj 3 5 0 0 0
Variables
CB XB X1 X2 S1 S2 S3
Básicas
S1 0 4 1 0 1 0 0
X2 5 9 3/2 1 0 0 ½
S2 0 6 -3 0 0 1 -1
Zj 45 15/2 5 0 0 5/2
Z j Cj 9/2 0 0 0 5/2

Supóngase que se va a introducir la nueva restricción: 2 X 1  3 X 2  24 , la cual no


cumple con la solución óptima actual ya que: 2(0) + (3) (9) = 27 > 24. Entonces, la forma
estándar de esta nueva restricción sería: 2 X 1  3 X 2  S 4  24 .

Luego, el nuevo tablero, adicionando la nueva restricción y recalculando la inversa


para seguir con el SIMPLEX DUAL, es el siguiente:
137

Cj 3 5 0 0 0 0
Variables
CB XB X1 X2 S1 S2 S3 S4 Entra como
Básicas variable básica
S1 0 4 1 0 1 0 0 0 Obsérvese que
X2 5 9 3/2 1 0 0 ½ 0 X2 es básica,
S2 0 6 -3 0 0 1 -1 0 pero su
columna es [0 1
S4 0 24 2 3 0 0 0 1 0 3], luego,
S1 0 4 1 0 1 0 0 0 debe corregirse
X2 5 9 3/2 1 0 0 ½ 0 mediante
Gauss-Jordan
S2 0 6 -3 0 0 1 -1 0
S4 0 -3 -5/2 0 0 0 -3/2 1

Zj 45 15/2 5 0 0 5/2 0
Z j  Cj 9/2 0 0 0 5/2 0
 1.8 1.66
Aquí se toma el 
S1 0 4 1 0 1 0 0 0 en valor absoluto
X2 5 8 2/3 1 0 0 0 1/3 (Maximización)
S2 0 8 -4/3 0 0 1 0 -2/3 NUEVA
S3 0 2 5/3 0 0 0 1 -2/3 SOLUCIÓN
ÓPTIMA
Zj 40 10/3 5 0 0 0 5/3
Z j  Cj 1/3 0 0 0 0 5/3

Obsérvese que el nuevo valor óptimo de la función objetivo es Z*máx = 40 < 45 (Valor
anterior), como es de esperarse al añadir una nueva restricción que vuelva al problema no-
factible.

6.6. EJEMPLO DE APLICACIÓN DE ANÁLISIS DE


SENSIBILIDAD
Una industria fabrica tres tipos de productos: A1, A2 y A3. El proceso de fabricación
exige su paso por tres talleres sucesivamente: T1, T2 y T3, los cuales tienen cierta capacidad
de trabajo. Existen limitaciones en el mercado que determinan la demanda máxima de cada
uno de los productos. La información disponible es la siguiente (los requerimientos están en
HR/UNID):
138 Introducción a la Modelación Matemática y Optimización

REQUERIMIENTOS Capacidad Taller


TALLER
A1 A2 A3 [ HR/AÑO ]
T1 100 500 400 12,000
T2 500 1,000 800 18,000
T3 600 - 1,000 6,000
Demanda
máxima Anual 10 8 10
Beneficio
[ $/Unidad ] 150,000 200,000 240,000

a) ¿Qué programa de producción es el óptimo?


b) Analizar las siguientes alternativas para mejorar la producción:

1. Incrementar la capacidad del taller T3, introduciendo una nueva máquina que
añade 6000 hr/año de capacidad con un costo de $1‟020.000 anuales.
2. Una inversión en publicidad que vale $700.000 anuales y que podría cambiar las
demandas en 20, 14 y 10 respectivamente (o sea que las nuevas demandas serían
30, 22 y 20, respectivamente).
3. Una investigación que cuesta $1‟200.000 al año y que permitiría disminuir el
tiempo requerido en el taller T3 para el producto A3, de 1000 a 500 hr/unidad.
4. Un esfuerzo técnico por reducir los costos, aumentando el beneficio unitario del
producto A3 en $60.000/unidad. El costo de amortización durante la vida
remanente de fabricación del producto sería de $400.000/año.

Nota: las alternativas NO son mutuamente excluyentes, o sea que podría estudiarse
combinación de ellas.

6.6.1. Planteamiento y Solución del Modelo

Sean Xi = Unidades del producto i a fabricar; i = 1, 2, 3. El modelo de PL entonces


sería:

M AX Z  150000 X 1  200000 X 2  240000 X 3 [$ / Año ]


Sujeto a : 100 X 1  500 X 2  400 X 3  12000 [ Hr / Año ] T1
500 X 1  1000 X 2  800 X 3  18000 [ Hr / Año ] T2
600 X 1  1000 X 3  6000 [ Hr / Año ] T 3
X1  10 (demanda de A1)
X2  8 (demanda de A2)
X 3  10 (demanda de A3)
(X1, X 2 , X 3 )  0

La forma estándar correspondiente es:


139

MAX Z |  3 X 1  4 X 2  4.8 X 3 con Z  50000Z 17

Sujeto a : 100 X 1  500 X 2  400 X 3  S1  12000


500 X 1  1000 X 2  800 X 3  S2  18000
600 X 1  1000 X 3  S3  6000
X1  S4  10
X2  S5 8
X3  S6  10
( X 1 , X 2 , X 3 )  0; S j  0; j  1,2,...,6

El lector debe comprobar que la solución óptima única viene expresada en el siguiente
tablero final óptimo:

Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 0 1 0 -0.4 140 -500 0
Solución S2 0 5000 0 0 0 0 1 -0.8 -20 -1000 0
óptima
degenerada X3 4.8 0 0 0 1 0 0 0.001 -0.6 0 0
(X3=0 X1 3 10 1 0 0 0 0 0 1 0 0
y básica) X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 0 0 0 -0.001 0.6 0 1
Zj 62 3 4 4.8 0 0 .0048 0.12 4 0
Z j  Cj 0 0 0 0 0 .0048 0.12 4 0

Solución óptima del problema dual Inversa de la base óptima ( B 1 )

Luego, la solución óptima única es:

X1=10 (producir 10 unidades/año de A1)


X2=8 (producir 8 unidades/año de A2)
X3=0 (no producir A3)
S1=7000 (sobran 7000 hr/año en T1)
S2=5000 (sobran 5000 hr/año en T2)
S3=0 (se agota la capacidad en T3)
S4=S5=0 (se produce la demanda máxima de A1 y A2)
S6=10 (dejan de producirse 10 unidades/año de A3)
Z | máx  62  Z máx  62  (50000)  $3.1 106 por año

17
Se ha dividido la función objetivo Z entre 50.000 ( Z  Z / 50000 ) para trabajar más fácilmente.
140 Introducción a la Modelación Matemática y Optimización

La solución óptima del dual es la siguiente:

w1=0
w2=0
w3=(0.0048)(50000)=240 18
w4=(0.12)(50000)=6.000
w5=(4)(50000)=200.000
w6=0

Es importante notar que algunos solucionadotes como WinQSB pueden dar una
solución diferente a la anterior, ya que en el penúltimo tablero simplex se presenta un empate
en la regla de salida.

Conclusiones de la solución del dual:

- El tiempo en los talleres T1 y T2 sobra; por lo tanto el costo de oportunidad de


estos recursos es cero.
- Lo máximo adicional que se puede pagar en el mercado por cada hora adicional
del taller T3 es $240/hr.
- Por cada unidad potencial que se aumente la demanda de A1 y A2, se obtendrían
beneficios adicionales de $6.000 y $200.000, respectivamente.
- Aumentando la demanda potencial de A3 no se logra ningún provecho, ya que de
hecho se han dejado de producir 10 unidades de este producto.

6.6.2. Análisis de las Alternativas

1. Incrementar la capacidad T3 en 6000 hr/año con un costo de $1‟020.000/año.


Este caso corresponde a un cambio en el vector b.

b  [12000 18000 6000 10 8 10]T


b  [0 0 6000 0 0 0]T
XB  B1b  [ 2400  4800 6 0 0  6]T 19

Luego la nueva solución sería:


ˆ
X B  X B  X B  [ S1 S2 X3 X1 X2 S6 ]T

18
Obsérvese que la solución del problema dual debe multiplicarse también por 50.000 , al igual que el valor real
óptimo de la función objetivo.
19
Tómese B 1 del tablero óptimo de la sección anterior y compruébese este resultado.
141

ˆ
X B  [4600 200 6 10 8 4]T

Obsérvese que la nueva solución sigue siendo factible y, por lo tanto, es también
óptima. Se mantienen los niveles de producción de A1 y A2 y ahora si debe producirse A3
(X3=6 unidades/año de A3).

El nuevo valor de la función objetivo es:

Z  [3(10)  4(8)  4.8(6)]  50000  $4'540.000 / Año


menos el valor de recurso adicional  $1'020.000 / Año
$3'520.000 / Año

Por lo tanto, esta alternativa por sí sola es adecuada (el valor óptimo anterior era de
$3‟100.000/año).

Nota: Del análisis dual se concluyó que por cada hora adicional de T3 la función
objetivo se incrementaría en $240/hr·T3. En este caso esto se cumple ya que la base óptima no
cambia, y:

$240
 600hr··T 3  1'440.000 $ / Año
hr··T 3
 3'100.000 $ / Año
4'540.000 $ / Año
que era lo que se había obtenido.

Este análisis del problema dual será válido si la composición básica de la solución
óptima NO cambia, o sea si la solución permanece factible. Además, obsérvese que se está
pagando:

1'020.000 $ / Año
 $170 / hr  $240 / hr
6000 hr / Año

que es el máximo adicional que estaba dispuesto a pagarse por cada hora adicional en
T3, lo cual confirma aún más lo dicho anteriormente.

Una pregunta que podría surgir es: cuánto es lo máximo que se pueden aumentar las
hr/Año disponibles en T3 para que se siga manteniendo la factibilidad y por lo tanto la función
objetivo crezca a razón de $240/hr·T3?

Para determinar esto se realiza un análisis paramétrico. Sea:

b  [0 0 K 0 0 0]T  X B  B 1b  [ 0.4K  0.8K 0.001K 0 0  0.001K ]T

Luego la nueva solución sería:


142 Introducción a la Modelación Matemática y Optimización

7000  0.4 K 
5000  0.8 K 
 
ˆ  0.001K 
X B  X B  X B   
 10 
 8 
 
10  0.001K 
Pero, como para que se conserve la factibilidad se requiere que X B  0 , entonces:

7000  0.4 K  0  K  17500


5000  0.8 K  0  K  6250
0.001K  0  K  0 (Se cumple)
10  0 (Se cumple)
8  0 (Se cumple)
10  0.001K  0  K  10000

Luego K  6250 , o sea que para mantener la factibilidad actual y la composición


básica óptima actual se requiere que el incremento positivo en hr/Año de T3 sea máximo 6250
hr.

Este análisis paramétrico lo realiza automáticamente el computador y da los límites


inferior y superior, a través de programas especializados, tales como el WinQSB,
AMPL./CPLEX, etc.

2. Inversión en publicidad: $700.000/Año. Cambio de las demandas máximas en 20,


14 y 10 unidades/año de A1, A2 y A3, respectivamente.

En este caso:

b  [0 0 0 20 14 10]T  X B  B 1 b  [ 4200  14400  12 20 14 22]T

Y la nueva solución sería:


ˆ
X B  X B  X B  [2800  9400  12 30 22 32]T

Luego se rompe la factibilidad y habría que seguir iterando con el algoritmo SIMPLEX
DUAL; el lector debe comprobar que la nueva solución óptima es:

X 1  10 X 2  13 X 3  0 S1  4500 S 2  S 3  0 S 4  20 S 5  9 S 6  20

*
Z máx  (82)(50.000)  4'100.000 $ / Año
 Costo Publicidad  700.000 $ / Año
$3'400.000/Año
143

Luego esta alternativa por sí sola es rentable.

Obsérvese que aquí NO se cumple lo previsto por la solución del dual, ya que cambia
base óptima al romperse la factibilidad. De acuerdo al dual la función objetivo debía
incrementarse en:

(6.000)(20)  (200.000)(14)  (0)(10)  2'920.000

pero sólo se incrementó en 4‟100.000-3‟100.000 = 1‟000.000.

3. Investigación por $1‟200.000/Año para reducir los requerimientos de A3 en T3 de


1000 a 500 hr/unidad.

Este cambio corresponde a cambios en las columnas de A. Como X3 es una variable


básica óptima, esto correspondería al cambio de una columna de A correspondiente a una
variable básica, lo cual indicaría que sería mejor resolver de nuevo el modelo. Sin embargo,
como X3 es básica, pero a nivel cero (solución óptima degenerada), es posible que en el
penúltimo tablero se saque a X3 de la base (en vez de a S4). Así, un tablero óptimo alternativo
sería:

Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 700/3 1 0 -1/6 0 -500 0
S2 0 5000 0 0 -100/3 0 1 -5/6 0 -1000 0
X1 3 10 1 0 5/3 0 0 1/600 0 0 0
S4 0 0 0 0 -5/3 0 0 -1/600 1 0 0
X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 1 0 0 0 0 0 1
Zj 62 3 4 5 0 0 1/200 0 4 0
Z j  Cj 0 0 0.2 0 0 1/200 0 4 0

Obsérvese que es la “misma” solución óptima obtenida al comienzo, con la diferencia


de que X3 no aparece en la base óptima (ahora aparece S4 a nivel cero). Obviamente, la inversa
de la base cambia.

Ahora sí, como X3 no es básica, el cambio planteado puede hacerse así:

Z*3  (CB B 1 )a3*  CB Y3*


O sea:

Z*3  [0 0 1 / 200 0 4 0]·[400 800 500 0 0 1]T  5 / 2


144 Introducción a la Modelación Matemática y Optimización

y así, el nuevo Z*3  C3  5 / 2  4.8  2.3  0 , luego se rompe la optimalidad. Por lo


tanto, debe continuarse con el algoritmo SIMPLEX normal. Para ello es necesario recalcular a
Y3* , así:
2 1 5 5
Y3*  B 1 a3*  [316 383  0 1]T
3 3 6 6

Y luego si se itera con la nueva columna. El lector debe comprobar que la nueva
solución óptima es:

X 1  1 23 X 2  8 X 3  10 S1  3833 13 S 2  1166 23 S 3  0 S 4  8 13 S5  S6  0

*
Z máx  (85)(50.000)  4'250.000 $ / Año
 Costo alternativa  1'200.000 $ / Año
$3'050.000/Año

Luego la alternativa por sí sola no es rentable económicamente.

Ejercicio: verificar que la nueva solución para la cuarta alternativa es:

X 1  0 X 2  8 X 3  6 S1  5600 S 2  5200 S 3  0 S 4  10 S 5  0 S 6  4
*
Z máx  (68)(50.000)  3'400.000 $ / Año
 Costo alternativa  400.000 $ / Año
$3'000.000/Año

Luego, por sí sola esta alternativa no sería adecuada. Trate el lector de verificar
combinaciones de alternativas(primero parejas, luego ternas y luego las cuatro) por
computador y llegar a la conclusión de que la mejor alternativa combinada que puede hacerse
es:

Combinar las alternativas 1 + 4, cuya solución óptima es:

X 1  3 13 X 2  8 X 3  10
*
Z máx  5'100.000 $ / Año
 Costo alternativa  1'420.000 $ / Año
$3'680.000/Año

Todos los análisis de dualidad y de sensibilidad son normalmente determinados por


software comercial de una forma automática, de tal forma que el usuario pueda analizarlos
directamente. Por ejemplo, en el caso del problema de los transformadores, el software
WinQSB produce el siguiente resultado, el cual coincide obviamente con lo presentado en las
secciones anteriores:
145

Combined Report for transformadores análisis de sensibilidad

Decision Solution Unit Cost Total Reduced Basis Allowable Allowable


Variable Value Profit c(j) Contribution Cost Status Min. c(j) Max.c(j)

1 TR40VA 350.0 400.0 140,000.0 0 basic 385.7143 500.0000


2 TR75VA 450.0 700.0 315,000.0 0 basic 684.4445 933.3333
3 TR3 0 900.0 0 -12.5 at bound -M 912.5000

Objective Function (Max.) = 455,000.0

Left Hand Right Hand Slack Shadow Allowable Allowable


Constraint Side Dir. Side (Surplus) Price Min. RHS Max. RHS

1 HR_HOMBRE 1,400.0 <= 1,400.0 0 150.0 1,166.667 1,633.333


2 HR_MAQ1 980.0 <= 980.0 0 250.0 840.0 1,050.000
3 HR_MAQ2 800.0 <= 900.0 100.0 0 800.0 M

El Anexo 1 presenta la formulación y solución de un caso completo de optimización en


el área de cadenas de abastecimiento, ilustrando los resultados presentados por el software
WinQSB y también por software más avanzado útil en casos reales, como es AMPL/CPLEX.

El Anexo 2 contiene fotocopias de capítulos seleccionados sobre el problema del


transporte y una introducción a la teoría de redes.

El tema siguiente, el método simplex revisado puede obviarse inicialmente y retomarse


si se desea profundizar en algunos aspectos de la programación lineal.
146 Introducción a la Modelación Matemática y Optimización

7. EL MÉTODO SIMPLEX REVISADO


Su objetivo es el ahorro de cálculos y la minimización del error de redondeo, a la vez
que optimiza la utilización de la memoria del computador. Esto se cumple especialmente
cuando la matriz A original es lo suficientemente dispersa.

La forma estándar:

M AX Z  CX
sujeto a :
AX  b
X0

pasa a:

Z  CX  0
AX  b
X0

Lo anterior puede escribirse matricialmente así:

 1  C  Z   0 
 0 A   X   b 
    

lo cual podría incluso verse como:


A | X|  b |

El problema es determinar una solución básica tal que Z sea máximo; por lo tanto Z
siempre será una variable básica. Así, una base cualquiera para este caso sería:

1  C 1  C 2 ··· ···  Ck 
0 
 
0 
:  Se le denomina B1
B1   pues se aumentó su
: B 
  dimensión en 1.
1  CB  : 
B1   

0 
 
0 B  0 
147

C B representa los coeficientes de las variables que están en la base (coeficientes de la


función objetivo), en tanto B es la base formada por las columnas correspondientes en las
restricciones (igualdades).

Como B1 es una matriz triangular superior particionada, entonces puede demostrarse


fácilmente que:
1 C B B 1 
1  
B1   
0 B 1 
 
Ahora supóngase que a (j1) es una columna de la matriz A original adicionada en el
primer elemento con coeficiente - C j , o sea:
- C j 
 
a (1)
j  
 aj 
 

Por lo tanto, se puede afirmar que:

1 C B B 1   - C j   - C j  C B B 1 a j 
1     
Y1j  B1 a (1)
j    
0 B 1   a j   B 1 a j 
 

Pero como el Y j original es B 1 a j y además Z j  C B B 1 a j , se tiene que:


Z j  C j 
 
Y (1)
j  
 Yj 
 

Por lo tanto el Z j  C j aparece automáticamente durante el proceso sin necesidad de


calcular cada vez primero el Z j y luego el C j .
148 Introducción a la Modelación Matemática y Optimización

7.1. MÉTODO SIMPLEX REVISADO SIN VARIABLES


ARTIFICIALES
Como en este caso la base inicial está formada por las columnas de las variables de
holgura, o sea que es igual a , se tiene que:
1 CB 
1
B1   

0 I m 

1
 B1 b (1)
(1)
XB

Pero como los coeficientes de las variables de holgura en la función objetivo son
iguales a cero, entonces:
1 0
1
B1    

0 I m 

Luego:

0
 Ib b   
(1) (1) (1)
XB
b 

En cualquier iteración:

1  1 C B B 1   0   C B B 1b   Z 
XB  1      1    
0 B  b   B b   X B 

Para iniciar el procedimiento se calculan los ( Z j  C j ) de las variables no-básicas


únicamente, multiplicando la 1ª fila de la inversa B1 1 por cada columna a (j1) de las variables
no-básicas. Así, coincidiendo con el criterio de entrada, entra a la base aquella variable no-
básica cuyo ( Z j  C j ) sea “el más negativo”. Si hay un empate, se rompe arbitrariamente.

Luego, se procede a detectar la variable que sale, recordando que Z siempre es básica.
Para lograr esto, se calcula la nueva columna Yk1 , si k es la variable a entrar. Recuérdese que
este cálculo se realiza así:
 Z  CK 
YK1  B11 AK1   K 
 YK 
149

Ya teniendo esta columna se calcula la nueva solución:


 Z 
X B1  B11b 1   
XB 

Y así, se puede aplicar la regla del cociente, saliendo de la base aquella variable cuyo 
sea mínimo, donde:
X X
  Br  B i ; Yik  0
Yrk Yik

Seguidamente se obtiene la inversa de la base siguiente: esto puede hacerse por


operaciones fila elementales de Gauss-Jordan o mediante el método de hallar una inversa a
partir de otra, en donde las matrices originales sólo difieren en 1 columna (la de la variable
que sale de la base).

En este caso se hará por Gauss-Jordan. Si el lector está interesado en conocer el otro
método puede consultar a Taha (1991)20.

Ejemplo: Resolver el problema de los transformadores mediante el método SIMPLEX


Revisado.

Solución: El modelo en su forma estándar es:

MAX Z  400 X 1  700 X 2


7
Sujeto a : X 1  X 2  S1  1400
3
X 1  1.4 X 2  S 2  980
X1  X 2  S 3  900
( X 1 , X 2 , S1 , S 2 , S3 )  0

El modelo estándar se transforma inicialmente a:

20
TAHA, Hamdy. Investigación de operaciones. Alfa y Omega. 2ª edición, México, 1991. Páginas 273-282.
150 Introducción a la Modelación Matemática y Optimización

MAX Z
Sujeto a :
Z - 400 X 1 - 700 X 2 0
7
X1  X 2  S1  1400
3
X 1  1.4 X 2  S 2  980
X1  X 2  S 3  900
( X 1 , X 2 , S1 , S 2 , S3 )  0

La base inicial B 1 puede representarse así:

B1  b1 b 2 b3 b4 

donde b i son las columnas de la base.

Inicialmente, y dado que las variables básicas iniciales son Z, S1, S2, S3, coincide con la
matriz idéntica de orden 4. Por notación:
B1  1  2  3  4 
1

 1 siempre será el vector unitario ya que Z siempre será variable básica. Luego, el
tablero inicial simplificado es:

Inversa de la base

(1)
Base XB Y21
1 2 3 4
Z 1 0 0 0 0 -700
S1 0 1 0 0 1400 7/3 600
S2 0 0 1 0 980 1.4 700
S3 0 0 0 1 900 1 900

Inicialmente se calculan los ( Z j  C j ) de las variables no-básicas tomando la 1ª fila de


1
B1 y multiplicándola por cada columna aumentada:

 400
 1 
Var X 1 : Z 1  C1  1 0 0 0    400
 1 
 
 1 
 700
 7/3 
Var X 2 : Z 2  C 2  1 0 0 0    700
 1.4 
 
 1 
151

Luego la variable que entra es X2. Por lo tanto, debe calcularse Y21 , para poder
determinar la variable que sale (por esa razón aparece en la tabla mostrada arriba).

 I - 700 7/3 1.4 1  - 700 7/3 1.4 1


1
Y2(1)  B1 a
(1)
2
T

Dado que Y2(1) debe convertirse en el vector unitario, entonces se realizan las
operaciones fila elementales necesarias. El resultado aparece en el segundo tablero:

Inversa de la base

(1)
Base XB Y21
1 2 3 4
Z 1 300 0 0 420000 -100
X2 0 3/7 0 0 600 3/7 1400
S2 0 -3/5 1 0 140 2/5 350
S3 0 -3/7 0 1 300 4/7 525

Se calculan los nuevos ( Z j  C j ):


 400
 1 
var . X 1 : Z 1  C1  1 300 0 0    100
 1 
 
 1 

0 
1 
var . S1 : Z 2  C 2  1 300 0 0    300
0 
 
0 

Entonces:
1 300 0 0  100
   400  
0 3 7 0 0  1   37 
Y11  B11 A11   3    
0 1 0  1   2 
5    5 
 
0  3 0 1  1   4 
 7   7 

Al calcular , sale la variable S2.


Así, el nuevo tablero es:
152 Introducción a la Modelación Matemática y Optimización

Inversa de la base (1)


Base XB
1 2 3 4
Z 1 150 250 0 455000
X2 0 15/14 -15/14 0 450
X1 0 -3/2 5/2 0 350
S3 0 3/7 -10/7 1 100

Los nuevos ( Z j  C j ) son:

0 
1 
var . S1 : Z 1  C1   1 150 250 0    150
0 
 
0 

0 
0 
var . S 2 : Z 2  C 2   1 150 250 0    250
1 
 
0 

Luego, la solución actual es la óptima, ya que ( Z j  C j )  0 j.

Aunque este método no parece tener ventajas en la forma manual mostrada, sus
principales beneficios radican en los grandes ahorros de cálculo computacional para
problemas de gran tamaño que se presentan en la práctica.
153

Ejercicios 7.1

1. Encuentre por inspección una solución óptima del siguiente modelo de PL:

Maximizar z  3 x1  4 x2  6 x3
sujeto a :
2 x1  3 x2  4 x3  16
( x1 , x2 , x3 )  0

2. Cuáles de las siguientes afirmaciones sobre el método Simplex son Falsas ó Verdaderas
(Justifique su respuesta):

a. Cualquier problema de PL necesita de variables artificiales para ser resuelto mediante


el método Simplex.

b. En el criterio de entrada para maximización es obligatorio entrar a la base aquélla


variable cuyo (zj – cj) sea “lo más negativo posible”.

c. El criterio de salida del método Simplex garantiza que la solución básica siguiente sea
factible.

d. En un tablero óptimo, todos los (zj – cj) de las variables básicas deben ser iguales a
cero.

e. La solución óptima del problema dual asociado a un problema primal aparece siempre
en la fila de los (zj – cj) debajo de la submatriz idéntica inicial.

3. Considere el siguiente tablero Simplex para un problema de minimización:

cj  7 3 5 0 0
Var. CB XB x1 x2 x3 S1 S2
Bás.
x1 100 - 2 1/2
7/2
x3 250 1 14/ 1/6
5
zj
z j  cj

a. Complete el tablero anterior. ¿Es óptima la solución mostrada en el tablero? Justifique


su respuesta.

b. ¿La solución óptima mostrada es única? Justifique su respuesta.


154 Introducción a la Modelación Matemática y Optimización

c. Si usted quisiera encontrar otra solución básica factible óptima diferente a la dada en el
tablero, ¿qué variable entraría a la base y cuál saldría de ella?

d. ¿Si la inversa de la base inicial se formó con las columnas de las variables S1 y S2, cuál
es la solución óptima del problema dual asociado?

4. Responda las siguientes preguntas:

a. Cuando en cualquier tablero Simplex existe una variable candidata a entrar a la base,
pero ninguna variable puede salir de ella porque el criterio de salida falla, ¿qué se
puede concluir acerca del problema original?

b. Si en un tablero Simplex óptimo existe una variable básica artificial con valor positivo,
¿qué se puede decir del problema original? ¿Qué puede decirse si la variable básica
artificial es igual a cero? (Solución degenerada).

5. Considere los siguientes resultados de un programa que resuelve modelos de PL, por
ejemplo el WinQSB. El problema original es un problema de producción semejante al de
los transformadores, con 4 productos candidatos a ser producidos (representados por las
variables x1, x2, x3 y x4), y 3 recursos utilizados para su producción (hr.hombre, materia
prima y hr.máq):

Variable Solución Coeficiente en la Mínimo coeficiente Máximo coeficiente


Función objetivo en la f. objetivo en la f. objetivo
x1 45 5 3.5 7.5
x2 20 4 3.6 5.0
x3 0 3 -M 4.0
x4 82 6 5.2 M

Valor de la función objetivo = $797

Restricción Valor Dir. Valor del lado Holgura ó Precio Mínimo Máximo
Lado izq. Derecho Exceso Sombra RHS RHS
(RHS)
Hr.hombre 2150  2500 350 0 2150 M
Mat_Prima 800  800 0 1.5 700 1050
Hr.máq. 1250  1250 0 2.0 1000 1375

Responda las siguientes preguntas en forma breve y precisa y justifique sus respuestas:

a. Si logramos conseguir 100 hr.hombre adicionales, entonces la función objetivo


aumenta en $100. (Falso ó Verdadero)

b. Si conseguimos 100 unidades adicionales de materia prima, entonces nuestra función


objetivo aumentaría a un valor de $947. (Falso ó Verdadero)
155

c. Si se daña la máquina, quedando disponibles sólo 950 horas, entonces la función


objetivo necesariamente bajaría a $197. (Falso ó Verdadero)

d. Si el coeficiente de la variable x4 en la función objetivo aumenta de 6 a 10 $/unidad,


entonces la solución óptima actual sigue siendo la misma, cambiando el valor de la
función objetivo a $1125. (Falso ó Verdadero)

e. Usted ha estimado que el costo normal por cada hora en la máquina ($/hr.máq.) es de
$18/hr.máq. Dado que se trata de un recurso escaso, tal como lo muestra la solución
arriba, usted está considerando la posibilidad de alquilar ciertas horas máquina a un
costo de $21/hr.máq. ¿Debería usted aceptar esta oferta de alquiler? Recuerde que
usted está alquilando para usted para tener más recursos.

6. Suponga que en la formulación de un problema de producción semejante al de los


transformadores desarrollado en clase, se llegó al siguiente modelo de PL:

Maximizar U = 2x1 + 5x2 + 4x3 (Utilidad neta total en $)


sujeto a:
x1 + 2x2 + 3x3  800 (Unidades de recurso 1)
2x1 + 4x2 + x3  500 (Unidades de recurso 2)
x2 + 2x3  700 (Unidades de recurso 3)
(x1, x2, x3)  0

donde x1, x2 y x3 son las cantidades a producir del producto 1, 2 y 3, respectivamente. El


tablero final Simplex (incompleto) para el modelo anterior es el siguiente (la base inicial se
formó con las tres variables de holgura):

Var. CB XB x1 x2 x3 S1 S2 S3
Bás.
x3 0 0.4 0.2
x2 0.5 0.1 0.3
S3 0.5 0.7 0.1
zj
zj  c j

a. Complete totalmente el tablero anterior y compruebe que se trata del tablero óptimo del
problema original.

b. Suponga que le ofrecen 100 unidades adicionales de cada uno de los tres recursos a un
costo adicional de $1.0/unidad. ¿Cuál de los tres recursos debería comprarse en
primera instancia? ¿Qué información faltaría para tomar una decisión definitiva acerca
de la compra de estos recursos?

c. Suponga que se aumenta la utilidad unitaria del producto 1 (x1) de 2 a $3/unidad. ¿Cree
usted que entonces ahora sería rentable producirlo? ¿Por qué?
156 Introducción a la Modelación Matemática y Optimización

d. Encuentre el problema dual asociado al problema primal de producción original y


determine su solución óptima.

e. Suponga que existe una restricción adicional por transporte, en la cual las cantidades
sumadas de los tres productos a producir no puede ser mayor que 280 unidades. ¿Cuál
sería entonces la nueva solución óptima?

f. Se está investigando la conveniencia de producir o no un cuarto producto (x4), cuya


utilidad unitaria es de $6/unidad y consume 4, 3 y 2 unidades del recurso 1, 2 y 3,
respectivamente. ¿Sería entonces rentable producir este nuevo producto? (Sugerencia:
Para hallar la columna asociada a la variable x4 en el tablero óptimo, se debe
multiplicar la inversa de la base óptima por la columna original de la variable en el
modelo de PL. El resto sería encontrar el z4 asociado y, finalmente, el (z4 – c4) y
determinar si la solución actual sigue siendo óptima o no).

7. Resuelva si es posible los siguientes modelos de PL, utilizando el método SIMPLEX


(compare con la solución dada por el programa WinQSB):

a) Maximizar Z = 3X1 + 2X2 + 5X3

sujeto a:
X1 + X2 + X3  25
2X1 - X2 + 3X3  10
(X1, X2, X3) 0

b) Minimizar Z = 500X1 + 450X2 + 670X3 + 800X4

sujeto a:
0.4X1 + 0.35X2 + 0.5X3 + 0.7X4 = 0.55
0.6X1 + 0.65X2 + 0.5X3 + 0.3X4 = 0.45
(X1, X2, X3, X4) 0

Nota: Para el problema (b) utilice precisión infinita en los cálculos.

c) Maximizar Z = 3X1 + X2 + 5X3 + 4X4

sujeto a:
3X1 - 3X2 + 2X3 + 8X4  50
5X1 + 6X2 - 4X3 - 4X4  40
-4X1 + 2X2 - X3 - 3X4  -20
(X1, X2, X3, X4) 0

8. Utilizando el método de las dos fases resuelva el siguiente problema:


157

Minimizar Z = X1 - X2 + 3X3

sujeto a:
X1 - 2X2 + X3 5
2X1 - 3X3 1
-4X2 + 5X3 8
(X1, X2, X3) 0

9. Formule el problema dual del siguiente problema de PL y encuentre su solución óptima:

Maximizar Z = 3X1 + 2X2 + 5X3

sujeto a:
X1 + 2X2 + X3  430
3X1 + 2X3  460
X1 + 4X2  420
(X1, X2, X3) 0

10. Considere el problema No. 22 sobre la compra de aviones, de la colección de problemas


de formulación de modelos de PL anterior. Ignore la restricción de enteros. Resuelva el
problema mediante el método simplex, utilizando la máxima precisión posible y resuelva
los siguientes puntos (Utilice toda la precisión posible en los cálculos de los tableros
simplex y evite trabajar con cifras demasiado grandes):

a) Analice la solución del problema dual.


b) Suponga que la empresa decide contratar 5 nuevos pilotos, incurriendo en un costo
adicional de US$100,000/año. Se justifica esta decisión? Por qué?
c) Suponga ahora que la empresa tiene opción de aumentar el presupuesto de inversión
en aviones a US$200 millones. Cuál sería ahora la nueva solución óptima del problema?
d) ¿Cree que sería justificable invertir en la ampliación de la capacidad de los hangares?
¿Por qué?
e) Suponga que se logra una rebaja en el costo de los aviones de vuelos medianos de
US$5 millones a US$4.5 millones cada uno. ¿Cuál sería ahora la mejor alternativa de
inversión?
f) Suponga finalmente que la empresa está estudiando la posibilidad de comprar un
nuevo tipo de avión diferente a los tres ya considerados. Este nuevo avión produce una
utilidad de US$450,000/año, cuesta US$7 millones cada uno y ocupa una capacidad
igual a la de los aviones de vuelos medianos. ¿Sería conveniente comprar este tipo de
avión? Por qué?

Nota: Trate independientemente cada una de las alternativas anteriores [(b) a (f)].
158 Introducción a la Modelación Matemática y Optimización

Ejercicio 7.2

1. Usted posee 50 acres de tierra en la que puede plantar cualquier cantidad de maíz, soya y
lechuga. La siguiente tabla muestra la información relevante con respecto de la
producción, la ganancia neta y los requerimientos de agua de cada cultivo.

CULTIVO TIPO DE PRODUCCIÓN GANANCIA AGUA


No. CULTIVO [Kg/acre] NETA REQUERIDA
[$/Kg] [Litros/Kg]
1 Maíz 640 1,00 8,75
2 Soya 500 0,80 5,00
3 Lechuga 400 0,60 2,25

Dado que se tiene disponible 100.000 litros de agua y que la compañía se ha comprometido
a vender al menos 5.120 Kg de maíz, se desarrolló el siguiente modelo de PL, donde Xi =
Acres a sembrar de cada tipo de cultivo i = 1, 2, 3:

Maximizar 640 X 1  400 X 2  240 X 3 ($)


sujeto a :
X1  X2  X 3  50 acres tierra
5.600 X 1  2.500 X 2  900 X 3  100.000 litros agua
X1  8 acres maíz
( X1 , X 2 , X 3 )  0

Al correr este modelo en WinQSB, se obtiene la siguiente solución óptima y análisis de


sensibilidad (Solo se muestran las variables mayores ó iguales que cero):

Variable Solución Coeficiente en la Mínimo Máximo


Función coeficiente coeficiente
objetivo en la f. objetivo en la f. objetivo
X1 8,0000 640 -M 710,0000
X2 10,8750 400 376,1702 666,6667
X3 31,1250 240 144,0000 276,1290

Valor de la función objetivo = $16.940

Restricción Valor Dir Valor del Holgura Precio Mínimo Máximo


Lado izq. . lado ó Sombra RHS RHS
Derecho Exceso
(RHS)
Tierra 50  50 0 150,00 30,08 69,33
Agua 100.000  100.000 0 0,10 82.600,00 149.800,00
Demanda 8 ≥ 8 0 -70,00 0,00 11,70
Maíz

Responda las siguientes preguntas y sustente claramente su respuesta:


159

a) Con la misma cantidad de dinero, qué sería mejor, ¿adquirir 10 acres de terreno adicionales
ó comprar 13.000 litros adicionales de agua? (Sólo puede escoger una de las dos
alternativas).

b) Manteniendo la misma cantidad de tierra y condición de demanda del maíz, usted desea
obtener una ganancia de $21.000. ¿Cuántos litros adicionales de agua necesitaría para
lograrlo?

c) Usted sabe que la inversa de la base óptima es la siguiente matriz:

1,5625  0 ,000625 1,9375 


 
  0,5625 0 ,000625  2 ,9375 
0 ,0000 0 ,000000 1,0000

i) Reconstruya el tablero final Simplex. Observe que debió haberse adicionado una
variable artificial A en la restricción de demanda de maíz (además de la variable de
exceso S3), y, por lo tanto, la tercera columna de la matriz inversa anterior
corresponde a la columna de dicha variable artificial y las dos primeras a las
variables de holgura S1 y S2 adicionadas en las dos primeras restricciones de tierra y
agua.

ii) Compruebe el rango de sensibilidad dado por el programa del coeficiente de la


variable X2 en la función objetivo.

iii) Compruebe el rango de sensibilidad dado por el programa del recurso tierra en la
función objetivo.

d) Explique por qué el costo de oportunidad de la restricción de demanda de maíz es negativo.


¿Según lo anterior, si usted debe satisfacer una demanda mínima de 10 acres de maíz, cuál
sería el nuevo valor de la función objetivo? ¿Si no existiera restricción de demanda mínima
de maíz, entonces sería rentable producir maíz? ¿Cuál sería entonces el valor de su
ganancia neta total?

e) Se le presenta la opción de cultivar algodón cuya producción es de 300 Kg/acre, consume 4


litros/Kg y produce una ganancia neta de $0,70/Kg y no tiene restricciones de demanda.
¿Es rentable sembrar alguna extensión de terreno con algodón?

f) Formule el problema dual del modelo primal formulado en este punto y encuentre su
solución óptima sin resolverlo desde el comienzo.

2. Considere el siguiente modelo de programación lineal de producción para tres productos y


responda las preguntas siguientes en forma completamente independiente una de otra.
160 Introducción a la Modelación Matemática y Optimización

Maximizar U = 2x1 + 3x2 + 4x3 (Utilidad neta total en $)

sujeto a:

x1 + 2x2 + 3x3  5.000 (Horas hombre; variable de holgura asociada S1)


2x1 + 4x2 + x3  3.500 (Unidades de Materia Prima MP; variable de holgura asociada S2)
x1 + x3  1.000 (Demanda conjunta productos 1 y 3; variable de holgura asociada S3)
(x1, x2, x3)  0

donde x1, x2 y x3 son las cantidades (unidades) a producir del producto 1, 2 y 3,


respectivamente. El tablero final Simplex para el modelo anterior es el siguiente (la base
inicial se formó con las tres variables de holgura, S1, S2 y S3):

Variables Coeficientes en la Solución x1 x2 x3 S1 S2 S3


Básicas función objetivo (CB) (XB)
S1 0 750 2,5 0 0 1 0,5 2,5
0 0 0
x2 3 625 0,25 1 0 0 0,25 0,2
5
x3 4 1.000 1,00 0 1 0 0,00 1,00
zj 5.875 4,75 3 4 0 0,75 3,25
z j  cj 2,75 0 0 0 0,75 3,25

1) El modelo de programación lineal anterior:

a) Tiene infinitas soluciones óptimas


b) No tiene solución factible alguna
c) Tiene función objetivo no acotada
d) Tiene solución óptima única
e) No puede resolverse

2) Si se aumentaran 250 hr.hombre, para un total de 5.250 hr.hombre disponibles, y se


resolviera de nuevo el problema, entonces:

a) La utilidad neta óptima aumentaría


b) La utilidad neta óptima disminuiría
c) Sobrarían 1.000 hr.hombre
d) El nuevo problema no tendría solución
e) Dejaría de ser rentable producir el producto 2

3) Considere el aumento de la cantidad disponible de materia prima de 3.500 a 4.500


unidades. Conociendo que este cambio NO altera la base óptima, entonces la nueva
utilidad neta óptima:

a) Sería de $6.625
161

b) Sería de $9.125
c) Sería de $5.125
d) Permanecería igual a $5.875
e) Sólo podría determinarse resolviendo el problema desde el tablero inicial Simplex

4) Si la utilidad neta unitaria del producto 1 (Coeficiente de x1 en la función objetivo) pasara


del valor actual de $2/unidad a $4,5/unidad, entonces:

a) Dejaría de ser rentable producir el producto 3


b) Dejaría de ser rentable producir el producto 2
c) Se agotaría completamente el recurso hr.hombre
d) Aumentaría el valor óptimo de la función objetivo en $2,5
e) La solución óptima actual permanecería invariable
162 Introducción a la Modelación Matemática y Optimización

8. OPTIMIZACIÓN NO LINEAL
Los problemas de optimización no-lineal son en general difíciles de resolver, es decir,
son problemas NP-Hard. Más aún, no existen algoritmos generales para resolver cualquier
problema de programación no-lineal. Dependiendo de la estructura del problema en particular,
se han desarrollado algunos algoritmos eficientes, como por ejemplo Programación
Cuadrática, Programación Convexa, Programación Geométrica, etc.

Uno de los problemas de la optimización no-lineal surge del hecho de que la región
factible resultante no necesariamente es convexa. Además, el óptimo no necesariamente ocurre
en uno de los vértices de la región factible.

Ejemplo: Considere el siguiente problema de programación no-Lineal:

Sujeto a:

La región factible y la solución óptima se muestran en el grafico siguiente:

10
9
8
7
6
5
4
3
2
1

1 2 3 4 5 6 7 8 9 10
163

Ejercicios 8.1

1. Resuelva el problema anterior, conservando la misma región factible (conjunto de


restricciones), pero considerando la siguiente función objetivo:

Minimizar

R/. Mínimo

2. Considere la siguiente región factible

Encuentre la solución óptima del problema no –lineal considerando las siguientes


funciones objetivo:

8.1. TEORIA DE OPTIMIZACIÓN CLÁSICA

8.1.1. Problemas No-Restringidos:

Se van a tratar funciones de varias variables en general. El caso para una variable es un
caso especial, para el cual las ecuaciones y criterios siguen siendo válidos.

Considérese la función de varias variables en general Los siguientes teoremas se


demuestran en Taha (1997):

Condiciones necesarias. Una condición necesaria para que sea un punto extremo ó
estacionario (máximo, mínimo ó punto de silla) de es que:

Recuérdese que si , el vector gradiente se define como:


Condiciones suficientes. Una condición suficiente para que un punto estacionario
sea un extremo es que la matriz Hessiana IH evaluada en sea:

) Positiva definida para un punto mínimo.


) Negativa definida para un punto máximo
164 Introducción a la Modelación Matemática y Optimización

Recuérdese ahora que si la matriz Hessiana viene dada por:

Ejemplo: Considere la función:

Las condiciones necesarias para la existencia de un extremo son:

ó, equivalentemente

La solución de las tres ecuaciones simultáneas anteriores son:

El punto es entonces un punto estacionario que debe ser categorizado mediante la


aplicación de las condiciones de suficiencia:

Obsérvese que para este ejemplo en particular IH ( ) es constante y por lo tanto la


matriz Hessiana evaluada en el punto estacionario resulta ser ella misma. Los menores
principales de IH ( ) son (repasar la teoría expuesta en Taha (1997), Apéndice A, pag.
825,826):
165

Menor principal de orden 1 de IH ( ) = |-2|=-2


Menor principal de orden 2 de IH ( )= =4

Menor principal de orden 3 de IH ( )

Cómo los signos del menor principal. De orden k es , se puede concluir que IH
( ) es negativa definida y por lo tanto es un punto máximo de .

Ejercicio 8.2

Busque y categorice los puntos estacionarios de las siguientes funciones:

a)
b)
c)
d)
e)

8.1.2. Problemas con Restricciones de Igualdad

El método más utilizado para resolver problemas con restricciones de igualdad es el


método de los multiplicadores de Lagrange

Considérese el problema general:

Donde:

=(
g=

Se supone que F y g son dos veces diferenciables continuamente. En el método de


Lagrange se construye la función Lagrangiana:

Donde se conocen como los multiplicadores de Lagrange.


166 Introducción a la Modelación Matemática y Optimización

Las condiciones necesarias para determinar los puntos estacionarios de sujeto a


son:

Las condiciones de suficiencia se establecen de la siguiente forma. Se define la matriz


Hessiana bordeada:

Donde

IP =

Dado el punto estacionario ( ) para la función Lagrangiana L( ) y la matriz


Hessiana bordeada evaluada en el punto estacionario( ), entonces es:

a) Un punto máximo si al comenzar con el menor principal de orden (2,+1), los


últimos (n-m) menores principales de forman un patrón de signos alternantes que
comienza con
b) Un punto mínimo si al iniciar con el menor principal de orden (2m+1), los últimos
(n-m) menores principales de tienen el signo de

Estas condiciones son suficientes, pero no necesarias. Por lo tanto, un punto


estacionario puede ser extremo sin satisfacer estas restricciones.Existen otras condiciones que
son necesarias y suficientes para identificar los puntos extremos. Se define la matriz:

Se evalúa esta matriz en el punto estacionario ( ), donde µ es un parámetro


desconocido. Se considera el determinante de la matriz Δ, o sea |Δ|. Entonces, cada una de las
(n-m) raíces reales del polinomio:

|Δ|=0

Deben ser
a) Negativas si es un punto máximo.
b) Positivas si es un punto mínimo.
167

Ejemplo: Resuelva el siguiente problema no-lineal:

Minimizar

Sujeto a:

La función Lagrangiana es:

Las condiciones necesarias son entonces:

Las soluciones de este sistema de ecuaciones son (compruébelo):

= (2, 2, 1, 1)
= (2, -2, 1, 1)
= (2.8, 0, 1.4, 1.4)

La matriz Hessiana bordeada es en este caso:

En este caso m=1 y n=3. Se evaluarán los últimos (n-m) = 2 menores principales de
, iniciando con el menor principal de orden 2m+1=3. Para cada punto estacionario, esto
daría lo siguiente:

a) = (2, 2, 1, 1)

evaluada en este punto es:


168 Introducción a la Modelación Matemática y Optimización

= 4(-8) = -32 < 0

= 4(2) = -64 < 0

Como estos determinantes tienen el signo de (negativo), entonces se


puede concluir que = (2, 2, 1, 1) es un punto mínimo.

b) Para = (2, -2, 1, 1) se obtienen los mismos resultados que para el caso
(a), y por lo tanto el punto es un mínimo (compruébelo)
c) Para = (2.8, 0, 1.4, 1.4), es:
d)

24220 = 48+2 >0

Como el punto = (2.8, 0, 1.4, 1.4) no satisface ninguna de las condiciones


para un mínimo ó un máximo debe aplicarse las condiciones adicionales necesarias y
suficientes:

El lector debe comprobar que para = (2, 2, 1, 1) y para = (2, -2, 1,


1) se obtiene:
169

Cuyas raíces son µ=2 y µ=8/9, ambas mayores que cero, reforzando el hecho de que
ambos son puntos mínimos.

Finalmente, para = (2.8, 0, 1.4, 1.4) se obtiene:

Cuyas raíces son µ=2 y µ=-0.8, con lo que se concluye que este punto no es un punto
extremo.

Ejercicios 8.3

1) Resuelva:

Minimizar

Sujeto a:

2) Obtenga la solución óptima de:

Minimizar =

Sujeto a:

Donde C > 0.

3) Resuelva:

Minimizar =

Sujeto a:

4) Suponga que en cierto problema de producción de n artículos diferentes, los costos de


producción son proporcionales al cuadrado de las unidades producidas. Suponga que
todos los artículos son intercambiables y que se recibe una orden por una demanda total
de D unidades. Determine qué cantidad de cada artículo debe producirse para satisfacer la
demanda a costo total de producción mínimo.
170 Introducción a la Modelación Matemática y Optimización

8.2. PROBLEMAS CON RESTRICCIONES DE


DESIGUALDAD
8.2.1. Las condiciones de Kuhn-Tucker

Considérese el problema:

Las restricciones de desigualdad se convierten en igualdades sumando variables de


holgura i=1, 2, …, m (Existen m restricciones de desigualdad) sean:

S= y =

La función Lagrangiana está dada por:

Dadas las restricciones g( ) 0, una condición necesaria para optimizar es que sea
no negativa (no positiva) para problemas de maximización (minimización). Ademas, tomando
las derivadas parciales de L( , se obtiene:

Obsérvese que del conjunto (II) de ecuaciones, la interpretación de los multiplicadores


de Lagrange es idéntica a la de los costos de oportunidad en PL:

Si , entonces debe ser cero. Esto corresponde a un “recurso escaso”, y en


consecuencia las restricción se cumple con igualdad.

Ahora, si , entonces debe ser igual a cero, lo que corresponde a un “recurso


sobrante”.
171

Por todo lo anterior, las condiciones necesarias de Kuhn Tucker para que y sea
un punto estacionario del problema de maximización son:

( )

El tercer conjunto de restricciones se deduce del (II) y (III) conjunto de restricciones de


la página anterior y tiene exactamente el mismo significado de las ecuaciones -2 =0
. Las mismas condiciones ( ) se aplican a problemas de minimización,
los dados no están restringidos en signo.

Suficiencia de las condiciones de Kuhn-Tucker:


La siguiente tabla muestra las condiciones bajo las cuales las condiciones de KT son
también suficientes:

Sentido Condiciones requeridas


de la optimización Función objetivo Espacio solución
Maximización Cóncava Conjunto Convexo
Minimización Convexa Conjunto convexo

La siguiente lista de condiciones es más fácil de verificar que la anterior. El problema


no-lineal generalizado se define entonces como:

Maximizar (ó Minimizar) Z =

Sujeto a

En este caso la función Lagrangiana es:

Donde es el multiplicador de Lagrange asociado a la restricción i.


172 Introducción a la Modelación Matemática y Optimización

Las condiciones de suficiencia se presentan en la siguiente tabla. Estas no son


exhaustivas, ya que otras funciones pueden satisfacer también las condiciones de suficiencia.

Sentido de la Condiciones requeridas


optimización
Maximización Cóncava Convexa

Cóncava

Lineal
Minimización Convexa Convexa

Cóncava

Lineal

Ejemplo: Escriba las condiciones de KT para:

Minimizar =

Sujeto a:
=
=
=
=
=

Como este es un problema de minimización, entonces Las condiciones de KT


son:

(
173

Estas condiciones conducen a:

La solución de este sistema es:

Como es convexa y el espacio solución también, el punto resultante es un


mínimo global.

Obsérvese la dificultad para resolver el sistema de ecuaciones resultante y la poca


utilidad práctica de este método. Estas condiciones son útiles, sin embargo para el desarrollo
de algoritmos de programación no-lineal.

Ejercicio 8.4

Escriba las condiciones de KT para los siguientes problemas:

a) Maximizar
Sujeto a:

b) Minimizar
Sujeto a:
174 Introducción a la Modelación Matemática y Optimización

9. INTRODUCCIÓN A LAS TÉCNICAS


DE BÚSQUEDA
9.1. MÉTODOS DE BÚSQUEDA DIRECTA
Los métodos de búsqueda directa se aplican principalmente a funciones de una
variable, lo cual es la base para su extensión a métodos de búsqueda multi-dimensional.

En los métodos de búsqueda directa se optimizan funciones unimodales, o sea


aquéllas que sólo presentan un óptimo (máximo o mínimo) en el intervalo de interés. El
intervalo de interés se denomina intervalo de incertidumbre, y lo que busca el método de
búsqueda directa es reducirlo hasta que sea tan pequeño como se desee. Existen diversos
métodos de búsqueda directa. Algunos de éstos se expondrán a continuación.

9.2. MÉTODO DE BÚSQUEDA ALEATORIA


La idea de la búsqueda aleatoria es muy sencilla. Si definimos el intervalo inicial de
incertidumbre como [a,b], la lógica del método consiste en generar un gran número de
números aleatorios entre a y b y guardar el mejor valor obtenido de la función. Dependiendo
del número de números aleatorios generados, es más probable estar más cerca al óptimo real.

Nótese que la ventaja de este método es que la función a optimizar no requiere ser
unimodal. Su desventaja radica en el probable número muy grande de números aleatorios que
deben generarse y en que al final del proceso no se conoce que tan cerca se puede estar del
óptimo real, o sea que no se conoce el intervalo de incertidumbre final.

Como puede observarse, este método es impráctico para búsqueda multi-dimensional,


ya que el número de evaluaciones necesarias de la función crece exponencialmente de acuerdo
a la dimensión del problema.

9.3. MÉTODO DE LA MALLA


La idea de este método es muy simple, y consiste en dividir el intervalo inicial de
incertidumbre [a,b] en n partes iguales y calcular la función para los (n+1) puntos, incluyendo
los extremos. Se guarda entonces el mejor valor de la función objetivo (máximo o mínimo), y
el intervalo de incertidumbre se reduce a:

Tomando los intervalos anterior y posterior al punto donde se obtuvo el mejor valor. Si
el mejor valor de la función objetivo se obtiene en un extremo, entonces sólo se toma el sub-
175

intervalo anterior (ó posterior) al extremo dado. Se repite así el proceso con el nuevo intervalo
de incertidumbre Δ, hasta donde sea necesario.

El problema de este método es que puede perderse el valor óptimo si no se escoge n lo


suficientemente grande al iniciar el proceso.

9.4. BÚSQUEDA DICOTÓMICA


De acuerdo a Taha (1997), se busca maximizar una función unimodal f(x) sobre el
intervalo a . Se subdivide el intervalo [a , b], escogiendo dos puntos
simétricamente con respecto a a y b de modo que lo intervalos [a , ] y [ , b] se
superpongan en una cantidad finita Δ:

x1 x2
XL = a XR = b

a+b
2
Dado que la función f(x) es unimodal sobre el intervalo [a, b], se pueden presentar tres
casos:

1) Si , entonces x*= valor óptimo de x debe quedar en el intervalo


[a, ].
2) Si , entonces x* debe quedar en el intervalo [ , b]
3) Si , entonces x* debe quedar en el intervalo [ , ]

El intervalo que no incluye a x* se descarta y se continua el proceso, subdividiendo el


intervalo de incertidumbre resultante de la misma forma. El valor de Δ se escoge lo
suficientemente pequeño, de tal forma que pueda descartarse aproximadamente la mitad del
intervalo de incertidumbre en cada interacción.

Ejemplo: Determine el mínimo de:

En el intervalo [0,5]

Utilice Δ = 0.001

Para mayor facilidad, se construye la tabla de la página siguiente, donde se muestra


cada iteración. Sea, en general:

= Límite izquierdo del intervalo.


= Límite derecho del intervalo.
176 Introducción a la Modelación Matemática y Optimización

, = Puntos intermedios para aplicar el método.


Δ = Tolerancia a la solución

Nótese que en general:

El lector debe comprobar que en el intervalo considerado, f(x) es unimodal.

ITER
No
0 0 5 2.4995 2.5005R 21.35938 21.39063
1 0 2.5005 1.24975L 1.25075 5.35961 5.358676
R
2 1.24975 2.5005 1.874625 1.875625 8.3335272 8.345171
R
3 1.24975 1.875625 1.5621875 1.5631875 5.86457007 5.8690465
4 1.24975 1.5631875 1.40596875 1.40696875R 5.40090202 5.40245366
5 1.24975 1.40696875 1.327859375 1.328859375R 5.3317479 5.3320018
6 1.288804688 1.327859375 1.288804688L 1.289804688 5.33408798 5.3337343
7 1.308332032 1.327859375 1.308332032L 1.309332032 5.3299532 5.32989992
8 1.308332032 1.327859375 1.318095704 1.319095704R 5.33010099 5.33020048
9 1.308332032 1.319095704 1.313213868 1.314213868R 5.32984076 5.32986364
10 1.308332032 1.314213868 1.31077295L 1.31177295 5.329850525 5.329835273
11 1.31077295 1.314213868 1.311993409 1.312993409R 5.32983401 5.329837814
12 1.31077295 1.311993409 1.31138318L 1.31238318 5.329839632 5.329833635
13 1.31138318 1.312993409

Obsérvese que en la iteración No. 13 se puede escoger el punto medio del intervalo de
incertidumbre [1.31138318, 1.312993409], el cual es x* 1.312188.

Dado que Δ = 0.001, no se puede esperar una precisión mayor que Δ. El valor más
exacto de este mínimo en [0, 5] es x*= 1.31224996

9.5. EL MÉTODO DEL GRADIENTE


Este método se aplica a funciones de varias variables que sean diferenciables
continuamente dos veces. La idea es generar puntos sucesivos en la dirección del gradiente de
la función, hasta que éste se aproxime a cero, siendo ésta una condición necesaria para la
optimización. La optimización no se puede verificar a menos que se conozca a priori que
es cóncava ó convexa.

Supóngase que se desea maximizar . Sea el punto inicial y ) el gradiente


de f en el k-ésimo punto .La idea es determinar una trayectoria particular p a lo largo de la
cual es máxima en un punto dado. Esto se logra seleccionando y tal que:
177

Donde es un parámetro llamado tamaño optimo del paso.

El parámetro se determina de modo que resulte en el mejoramiento más grande


de f. En otras palabras, si:

entonces es el valor de r que maximiza a h(r). como h(r) es una función de una sola
variable, las técnicas de búsqueda vistas anteriormente son muy útiles aquí, teniendo en
cuenta que h(r) debe ser unimodal.

El método termina cuando , ó equivalentemente cuando:

Dado que , la condición necesaria se satisface en .

Ejemplo:

Max.

Este ejercicio es sólo para ilustrar. El máximo global de ocurre en . Sea

Se tiene que:

Primera iteración:

Sea = (1, 1) + r(-2,0) = (1-2r, 1)

h(r) = (1-2r, 1) = -2

Segunda iteración:

Sea = + r(0 , 1) =
178 Introducción a la Modelación Matemática y Optimización

h(r) = -2 , obteniéndose y

El lector debe comprobar que las siguientes iteraciones producen los resultados
mostrados en la siguiente tabla:

Iteración (K)

0 -1,1 (-2,0) -

1 (0, 1)

Se decide parar el proceso en la iteración No. 5, ya que (0 , 0). El


punto máximo aproximado es = (0.34375 , 1.3125), comparado con el optimo exacto * =
Obviamente si el proceso continúa, cada vez se estará más cerca
del óptimo exacto. La figura resume gráficamente el proceso.

Óptimo

3
2

1
2

1 1 3 2
2 2
179

Ejercicio 9.1

Aplique el método del gradiente al problema:

Max , donde:

A=

Considere .
180 Introducción a la Modelación Matemática y Optimización

10. ALGUNAS APLICACIONES DE


PROGRAMACION NO-LINEAL
10.1. PROGRAMACIÓN CUADRÁTICA
Un modelo de programación cuadrática está definido como:

Max(min) Z = CX + DX

Sujeto a:
AX
AX

Donde:
X=
C= (
b=
A es una matriz m x n =
D es una matriz cuadrada n x n

La función de n variables DX es una forma cuadrática (Ver Taha pág. 825-826),


donde la matriz D es simétrica.

Para aplicar la teoría que se expone a continuación se necesita que:

 D sea negativa definida para problemas de maximización (máx. de una f. cóncava).


 D sea positiva definida para problemas de minimización (mín. de una f. convexa).

Las restricciones AX son lineales y por lo tanto el epacio de solucion es convexo,


con lo que se logra satisfacer las condiciones para un óptimo global.

Considérese el siguiente problema:

Maximizar Z = CX + DX

G(X)= X- 0

Sean
=
U= (

Los multiplicadores de Lagrange correspondientes a los dos conjuntos de restricciones


AX yX , ó, equivalentemente, AX-b y –X respectivamente:
181

Aplicando las condiciones de Kuhn Tucker a este problema se obtiene:

Nótese que:

Sean:

S=b-AX 0 Las variables de holgura de las restricciones.

Las condiciones son entonces:

Como D es simétrica, entonces . Así, la transpuesta del primer conjunto de


restricciones produce:

Así, las condiciones necesarias se reducen a:

Nótese que excepto para las condiciones y =0, las demás ecuaciones son
lineales en X, , u y S. O sea que el problema se reduce a resolver un conjunto de ecuaciones
lineales satisfaciendo las condiciones adicionales y =0 .

Como las condiciones de Kuhn Tucker son también suficientes en este caso, la
solución factible que satisface todas estas condiciones tiene que ser la solución optima única.
182 Introducción a la Modelación Matemática y Optimización

Para resolver este sistema se utiliza la fase I del método de las dos fases, con la
condición adicional =0 y . Esto se controla evitando que y sean
positivas (básicas) simultáneamente, y que sean positivas (básicas) simultáneamente.

Ejemplo:

Maximizar Z =

Sujeto a:

Nótese primero que el óptimo no-restringido *= , *= no es factible ya que


viola la restricción lineal.

Matricialmente, el problema puede reescribirse como:

Max Z = +

Sujeto a:
(1 , 2) 2
(

Las condiciones de Kuhn Tucker vienen dadas como:

Para resolver estas ecuaciones se agregan dos variables artificiales y de tal forma
que la submatriz idéntica de orden 3 aparezca en las condiciones de Kuhn Tucker:
183

Por lo tanto podemos resolver este sistema de ecuaciones simulando la función


objetivo

Min r = +

Sujeto a las mismas restricciones. Se obtiene así el tablero inicial:

0 0 0 0 0 1 1 0
Var. Bás. Ѳ
← 1 4 4 2 1 -1 0 1 0 0 4÷4 =1
1 6 2 4 2 0 -1 0 1 0 6÷2= 3
0 2 1 2 0 0 0 0 0 1 2÷1 =2
14 10 6 6 3 -1 -1 1 1 0
6 6 3 -1 -1 0 0 0

Nótese que puede entrar a la base pues = 0 (nó-básica). Luego el segundo tablero
es:

0 0 0 0 0 1 1 0
Ѳ
Var. Bás.
0 1 1 0 0 0 1÷ =2

Iter. 1 4 0 3 -1 1 0 4÷3 = 1,3


#2
← 0 1 0 0 0 1 1÷ =
4 0 3 -1 1 0
0 3 -1 0 0
0 1 0 0 0 ÷ =2
Iter ← 1 2 0 0 2 0 -1 0 1 -2 2÷2 = 1
. #3 0 0 1 0 0
2 0 0 2 0 -1 0 1 -2
0 0 2 0 -1 -1 0 -2
0 1 0 0 - 0
Fin 0 1 0 0 1 0 0 -1
Fas 0 0 1 0
eI
0 0 0 0 0 0 0 0 0
0 0 0 0 0 -1 0
184 Introducción a la Modelación Matemática y Optimización

Como se encontró una solución factible sin variables artificiales en la base, la solución
óptima del problema original es:

*= , *= *= 4

Nótese que en la iteración # 2 pudo entrar a la base pues = 0 (nó-básica).


Similarmente en la iteración No. 3 pudo entrar a la base porque era no-básica ( .

10.2. UN PROBLEMA DE INVENTARIOS


DETERMINÍSTICOS
Considérese un problema clásico de inventarios (Problema de la cantidad optima de
pedido ó EOQ), para el cual se tienen los siguientes parámetros y variables (ver Taha, Pág.
440):

y= Cantidad de pedido (unidades)


D= Demanda (Unidades / U. de tiempo)
= Duración del ciclo de pedido (Unidades de tiempo)
K = Costo de preparación de un pedido ($/pedido).
h = Costo de almacenamiento ($/ unidad por cada unidad de tiempo)
El costo total por unidad de tiempo viene dado por:

CTU(y) = Costo de preparación por unidad de tiempo + costo de almacenamiento por


unidad de tiempo.

= = +

Pero = unidades de tiempo. Luego:

CTU(y)= +

El valor óptimo y* se halla aplicando primero las condiciones necesarias:

+ = 0 y* =

Nótese que las condiciones de suficiencia son:


185

Para que y* = , se obtiene:

= =

Por lo tanto, y* es un mínimo.

10.3. CANTIDAD ÓPTIMA DE PEDIDO CON LÍMITES


DE ALMACENAMIENTO
Este método trata con n>1 artículos, cada uno con comportamiento semejante al caso
anterior. Ahora, los artículos compiten por un espacio limitado de almacenamiento.

Para 1, 2, … , n, sean:

= Demanda
= Costo de preparación
= Costo de manejo / unidad por unidad de tiempo
= Cantidad de pedido
= Requerimiento de área (o volumen) de almacenamiento por cada unidad en
inventario
A = Area (ó volumen) máximo de almacenamiento disponible para todos los n
artículos.
Si se supone que no hay faltantes (“backorders”), el modelo matemático sería el
siguiente:

Sujeto a:

El problema se resuelve ignorando la restricción de almacenamiento, en primera


instancia. Así:

*= ; i= 1,2,…, n
186 Introducción a la Modelación Matemática y Optimización

Si los valores óptimos * (nó-restringidos) satisfacen la restricción de


almacenamiento, la solución actual es óptima. De lo contrario, la restricción de
almacenamiento debe satisfacerse como igualdad y así la técnica de los multiplicadores de
Lagrange es aplicable.

La función Lagrangiana es la siguiente:

L( =

Recuérdese de las condiciones de Kuhn Tucker que en este caso para minimización,
<0.

Además, como CTU ( es convexa, y el problema tiene una sola


restricción lineal, el óptimo obtenido es un mínimo global.

Las condiciones necesarias son:

De la primera ecuación se obtiene:

*=

Obsérvese que para la solución =0 coincide con el problema no-restringido. Dado


que <0, se puede resolver el problema por ensayo y error, hasta satisfacer la ecuación de
almacenamiento.

Ejemplo: Se tienen los siguientes datos parta tres artículos en inventario:

Artículo i ($/pedido) (u/día) ($/u. día) (pies2/u. día)


1 10 2 0,3 1
2 5 4 0,1 1
3 15 4 0,2 1

Área total de almacenamiento = 25 pies2


La solución no-restringida dará lo siguiente:
187

*= = = 11.55 Unidades

*= = = 20.00 Unidades

*= = = 24.49 Unidades

Esta solución obviamente no satisface la restricción de almacenamiento:

(1) + (1) + (1) 25

Por lo tanto, debe buscarse la solución en función del , así:

0 11.55 20 24.49 31.04


-0.1 8.94 11.55 17.32 12,81

-0.3 3.67 7.56 12,25 1.48


-0.4 6.03 6.67 10.95 -1.35

El proceso de búsqueda se puede refinar, obteniéndose lo siguiente:

-0.344 6.360 7.12 11.62 0.1


-0.345 6.356 7.116 11.612 0.084
-0.346 3.350 7.107 11.599 0.056
-0.347 6.3436 7.0977 11.5857 0.027
-0.348 6.3372 7.0888 11.5728 -0.0012

O sea que el valor de = 0.348 es aceptable, obteniéndose:


* = 6.337 unidades
* = 7.089 unidades
* = 11.573 unidades
188 Introducción a la Modelación Matemática y Optimización

Ejercicio 10.1

Resuelva los siguientes problemas del libro de Taha:

1) Serie de problemas 20.2a (Pág 750-751): No. 2 y 3

2) Serie de problemas 20.3c (Pág 770-771): No. 2. Resuelva además el siguiente problema:

Sujeto a:

Donde C es una constante > 0.

3) Serie de problemas 20.3d (Pág 777-779); No. 3.

4) Serie de problemas 21.1b (Pág 786-787): No. 2(b).

5) Serie de problemas 21.2b (Pág 801): No. 2.

6) Serie de problemas 11.3c (Pág 451-452): No. 3. Nota: Utilice los resultados del problema
No. 4 para aproximar a .
189

11. ANEXO 1: EL PROBLEMA DE LA


BAUXITA
Una compañía multinacional de aluminio tiene depósitos de bauxita (materia prima) en tres
lugares del mundo A, B y C. Tiene además cuatro plantas donde la bauxita se convierte en
alúmina (un producto intermedio), en lugares B, C, D y E. También tiene plantas de esmaltado
en los lugares D y E. El proceso de conversión de la bauxita en alúmina es relativamente poco
costoso. El esmaltado, sin embargo, es costoso puesto que se requiere de un equipo electrónico
especial. Una tonelada de alúmina produce 0.4 toneladas de aluminio terminado. Los datos
siguientes están disponibles:

Minas de Costo de Capacidad anual Rendimiento


bauxita explotación de bauxita de alúmina
($/ton.) (ton.)
A 420 36,000 6.0%
B 360 52,000 8.0%
C 540 28,000 6.2%

Conversión de Bauxita en Alúmina:

Costo Producción Capacidad anual Costo fijo anual


Planta ($/ton alúmina) procesamiento de la planta
de bauxita (ton/año) de alúmina ($/año)
B 330 40,000 $ 3,000,000
C 320 20,000 $ 2,500,000
D 380 30,000 $ 4,800,000
E 240 80,000 $ 6,000,000

Proceso de Esmaltado:

Costo Capacidad anual


Planta Procesamiento procesamiento
($/ton alúmina) de Alúmina (ton/año)
D 8,500 4,000
E 5,200 7,000

Las ventas anuales de aluminio terminado son de 1,000 ton en la planta D y de 1,200 ton en la
planta E.
190 Introducción a la Modelación Matemática y Optimización

Costos de transporte en $/ton de bauxita:

DE HACIA B C D E
j = 1 2 3 4
A 1 400 2,010 510 1,920
i = B 2 10 630 220 1,510
C 3 1,630 10 620 940

Costos de transporte de la alúmina, en $/ton de alúmina:

DE HACIA D E
k = 1 2
B 1 220 1,510
j = C 2 620 940
D 3 0 1,615
E 4 1,465 0

Wj

Xij B
Yjk
A
A T
C D l e
u r
B m m
i i
n n
D E i a
o d
C o
E

Minas de Plantas de Plantas de


Bauxita Alúmina Esmaltado
Figura 1. Cadena de abastecimiento de la bauxita

Los lingotes de producto terminado no se transportan entre D y E y viceversa. Formule y


resuelva un modelo de optimización para determinar la mejor configuración y diseño de la
cadena de abastecimiento presentada. Note que existe el problema de determinar cuáles
plantas de alúmina deben ser abiertas.
La Figura 1 muestra la cadena de abastecimiento bajo análisis. Para formular el modelo en
la forma tradicional, se plantean entonces las siguientes variables de decisión. Note que se
trata de una formulación de arco y que las variables Xij y Yjk no representan el mismo tipo de
producto, lo que complicaría o imposibilitaría una formulación de ruta.
191

Variables de Decisión

Xij = Ton/año de bauxita a transportar desde la mina i hacia la planta de alúmina j; i =


A, B, C; j = B, C, D, E.

Yjk = Ton/año de alúmina a transportar desde la planta de alúmina j hacia la planta de


esmaltado k; j = B, C, D, E; k = D, E.

Wj = 1, si la planta de alúmina j se abre o permanece abierta; 0, de lo contrario; j = B,


C, D, E.

Función Objetivo

Minimizar Costo Total Anual = Costo anual de explotación de bauxita


+ Costo anual de producción de alúmina
+ Costo anual de procesamiento de alúmina en las
plantas de esmaltado
+ Costo anual de transporte de bauxita desde las minas
hacia las plantas de alúmina
+ Costo anual de transporte de alúmina desde las plantas
de alúmina hacia las plantas de esmaltado
+ Costo fijo anual de las plantas de alúmina

Costo anual de explotación de bauxita ($/año):

Mina A : 420( X AB  X AC  X AD  X AE )
Mina B : 360( X BB  X BC  X BD  X BE )
Mina C : 540( X CB  X CC  X CD  X CE )

Costo anual de producción de alúmina ($/año):

Planta B : 330(YBD  YBE )


Planta C : 320(YCD  YCE )
Planta D : 380(YDD  YDE )
Planta E : 240(YED  YEE )
192 Introducción a la Modelación Matemática y Optimización

Costo anual de procesamiento de alúmina en las plantas de esmaltado ($/año):

Planta D : 8,500(YBD  YCD  YDD  YED )


Planta E : 5,200(YBE  YCE  YDE  YEE )

Costo anual de transporte de bauxita desde las minas de bauxita hacia las plantas de alúmina
($/año):

Desde la mina A : 400 X AB  2,010 X AC  510 X AD  1,920 X AE


Desde la mina B : 10 X BB  630 X BC  220 X BD  1,510 X BE
Desde la mina C : 1,630 X CB  10 X CC  620 X CD  940 X CE

Costo anual de transporte de alúmina desde las plantas de alúmina hacia las plantas de
esmaltado ($/año):

Hacia la planta D : 220YBD  620YCD  1,465YED


Hacia la planta E : 1,510YBE  940YCE  1,615YDE

Costo fijo anual de las plantas de alúmina ($/año):

Planta B : 3,000,000WB
Planta C : 2,500,000WC
Planta D : 4,800,000WD
Planta E : 6,000,000WE

Restricciones

1) Por capacidad anual de explotación de bauxita en cada mina (Ton de bauxita/año):

Mina A : X AB  X AC  X AD  X AE  36,000
Mina B : X BB  X BC  X BD  X BE  52,000
Mina C : X CB  X CC  X CD  X CE  28,000

Estas restricciones expresan que todo el flujo anual de bauxita que sale de cada mina no puede
exceder su capacidad anual de explotación. Note que aquí no hay decisiones de cierre de
minas involucradas, es decir, que se asume que las minas siempre van a estar abiertas.
193

2) Por capacidad anual de procesamiento de bauxita en cada planta de alúmina (Ton de


bauxita/año):

Planta B : X AB  X BB  X CB  40,000WB
Planta C : X AC  X BC  X CC  20,000WC
Planta D : X AD  X BD  X CD  30,000WD
Planta E : X AE  X BE  X CE  80,000WE

Estas restricciones aseguran que no se puede recibir flujo alguno de bauxita desde las
minas, si la planta de alúmina destino no ha sido abierta. Las restricciones han sido
formuladas de acuerdo con la capacidad de cada planta de alúmina de procesar la bauxita
entrante. Otra forma en la que estas restricciones podrían escribirse es de acuerdo con la
capacidad de cada planta de alúmina de producir alúmina saliente. Sin embargo, la
información dada en el problema no permite formularlas de esta forma.
Este ejemplo es útil para ilustrar que las restricciones de capacidad en una planta
productora pueden escribirse con base en las materias primas entrantes o también con base en
los productos terminados salientes. En el caso de los ingenios azucareros, para ilustrar con
otro ejemplo, podríamos escribir las restricciones de capacidad de procesamiento de la caña de
azúcar que llega al ingenio o podríamos definir las restricciones con base en la capacidad de
producción de azúcar. Obsérvese finalmente que las anteriores restricciones, en combinación
con el conjunto de restricciones (5) descrito más adelante, aseguran que no se puede despachar
cantidad alguna de alúmina hacia las plantas de esmaltado, si la planta origen no ha sido
abierta, completando así la lógica del modelo.

3) Por capacidad anual de procesamiento de alúmina en cada planta de esmaltado (Ton de


alúmina/año):

Planta D : YBD  YCD  YDD  YED  4,000


Planta E : YBE  YCE  YDE  YEE  7,000

Estas restricciones expresan que todo el flujo anual de alúmina que llega a cada planta de
esmaltado no puede exceder su capacidad anual de procesamiento de alúmina. De nuevo, son
restricciones de capacidad dadas por la materia prima entrante a la planta.

4) Por ventas anuales de aluminio terminado en cada planta de esmaltado (Ton de aluminio
terminado/año):

Planta D : 0.4(YBD  YCD  YDD  YED )  1,000


Planta E : 0.4(YBE  YCE  YDE  YEE )  1,200

Estas restricciones aseguran que la demanda anual proyectada en cada planta de esmaltado se
va a satisfacer en forma total. Nótese que se aplica el factor de rendimiento de alúmina en
aluminio terminado (0.4 toneladas de aluminio terminado por cada tonelada de alúmina). Esta
relación sencilla permite en este modelo no formular variables adicionales para el aluminio
194 Introducción a la Modelación Matemática y Optimización

terminado. En extensiones de este modelo, tal como la planteada en el Problema No. 1 de los
Ejercicios 12.1, es probable que se requieran formular variables de decisión adicionales.

5) Por balance de masa en cada una de las plantas de alúmina:

Planta B : 0.060 X AB  0.080 X BB  0.062 X CB  YBD  YBE


Planta C : 0.060 X AC  0.080 X BC  0.062 X CC  YCD  YCE
Planta D : 0.060 X AD  0.080 X BD  0.062 X CD  YDD  YDE
Planta E : 0.060 X AE  0.080 X BE  0.062 X CE  YED  YEE

Estas restricciones aseguran que la cantidad anual de bauxita que entra a cada planta de
alúmina, afectada por su correspondiente rendimiento para producir alúmina, es igual a la
cantidad anual de alúmina que sale de dicha planta hacia las plantas de esmaltado. Al
formular estas restricciones se asume, por una parte, la linealidad del proceso de
transformación de bauxita en alúmina y, por la otra, que no hay diferenciación de calidad de la
alúmina saliente. En la práctica, es posible que las cosas no sean así de sencillas y que cada
materia prima tenga calidad diferente y produzca diferentes calidades de un mismo producto
terminado.

6) Por límites en los valores de cada una de las variables (restricciones obvias):

X ij  0 i, j
Y jk  0 j , k
W j  0, 1 j

El modelo matemático para resolver el problema planteado comprende entonces minimizar la


función objetivo, sujeto a las restricciones anteriormente enunciadas. Al simplificar la función
objetivo y las restricciones, se obtiene el siguiente modelo de programación lineal mixta:

M inimizar Costo Total Anual (CTA) 

820 X AB  2430 X AC  930 X AD  2340 X AE  370 X BB  990 X BC  580 X BD  1870 X BE


 2170 X CB  550 X CC  1160 X CD  1480 X CE  9050YBD  7040YBE  9440YCD  6460YCE
 8880YDD  7195YDE  10205YED  5440YEE  3,000,000WB  2,500,000WC
 4,800,000WD  6,000,000WE

Sujeto a:

X AB  X AC  X AD  X AE  36,000
X BB  X BC  X BD  X BE  52,000
X CB  X CC  X CD  X CE  28,000
195

X AB  X BB  X CB  40,000WB  0
X AC  X BC  X CC  20,000WC  0
X AD  X BD  X CD  30,000WD  0
X AE  X BE  X CE  80,000WE  0

YBD  YCD  YDD  YED  4,000


YBE  YCE  YDE  YEE  7,000

0.4(YBD  YCD  YDD  YED )  1,000


0.4(YBE  YCE  YDE  YEE )  1,200

0.060 X AB  0.080 X BB  0.062 X CB  YBD  YBE  0


0.060 X AC  0.080 X BC  0.062 X CC  YCD  YCE  0
0.060 X AD  0.080 X BD  0.062 X CD  YDD  YDE  0
0.060 X AE  0.080 X BE  0.062 X CE  YED  YEE  0

X ij  0 i, j
Y jk  0 j , k
W j  0, 1 j

Este modelo contiene 24 variables de decisión, de las cuales 4 son binarias y el resto son
continuas, y 15 restricciones (sin incluir las restricciones obvias). Los modelos matemáticos
de cadenas de abastecimiento internacionales que se formulan en la práctica pueden contener
decenas o cientos de miles de variables con decenas o cientos de miles de restricciones,
llegando incluso a millones de ellas. La dificultad para su solución eficiente depende
principalmente del número de variables enteras (binarias) involucradas en el modelo y de su
estructura.

Solución del modelo por solver de Excel™

La solución de este modelo puede encontrarse con la ayuda de software comercial especial
para ello, mediante el solver de Excel™ o incluso mediante un software más especializado
como AMPL, a pesar de tratarse de un modelo pequeño. La hoja electrónica que resuelve este
modelo se muestra en la Figura 2. En general, cualquier modelo de programación lineal
entera-mixta relativamente pequeño (por ejemplo, con un máximo de 240 celdas variables) se
puede resolver en formatos parecidos a los que se presentan en la figura mencionada.
196 Introducción a la Modelación Matemática y Optimización

Figura 2. Hoja electrónica para la solución del problema de la bauxita


La función objetivo, celda C35 en la Figura 2, se desarrolla con la función
SUMAPRODUCTO, calculando el producto escalar entre la columna de coeficientes de la
función objetivo (celdas C10 a C33) y la columna de celdas cambiantes que corresponde a las
variables de decisión (celdas B10 a B33). Cada una de las restricciones se puede transformar
dejando las variables de decisión al lado izquierdo de la desigualdad o de la ecuación y al lado
derecho de éstas el término constante. Así, cada restricción se puede escribir como una
columna (columnas D a la R), con cada uno de los coeficientes diferentes de cero al frente de
la variable correspondiente. En una fila aparte (celdas D37 a R37), se utiliza de nuevo la
función SUMAPRODUCTO para calcular el valor de cada restricción de acuerdo con los
valores que tomen las variables del modelo. En otra fila (celdas D38 a R38), se copian los
términos del lado derecho del modelo, o sea los recursos, demandas, etc. Para algunas
restricciones, como las de balance y las de capacidad con variables binarias como las de las
plantas de alúmina, este término del lado derecho puede ser igual a cero. Finalmente, si se
desea, en otra fila (celdas D39 a R39) se puede calcular la diferencia entre el término del lado
derecho y el correspondiente valor de cada restricción, obteniéndose así los recursos sobrantes,
los excesos, demandas insatisfechas, ceros en las ecuaciones de balance, etc., según sea el
caso.
Con el modelo ya estructurado, se pasa a encontrar la solución mediante el solver. En este
caso, la ventana del solver luce como se muestra en la Figura 3.

Figura 3. Ventana del solver para resolver el modelo

La celda objetivo corresponde a la celda del costo total $C$35. Las celdas cambiantes son
todas las variables de decisión, incluyendo todos los flujos (celdas B10 a la B29, es decir, las
variables Xij y Yjk) y las variables binarias de apertura de las plantas de alúmina (celdas B30 a
la B33, es decir, las variables Wj).
Las restricciones corresponden primero a aquéllas que son de desigualdad de 
correspondientes a las capacidades de las minas de bauxita, las plantas de alúmina y las
plantas de esmaltado (columnas D a la L). Obsérvese que estas restricciones se pueden
escribir en forma compacta mediante la expresión $D$37:$L$37  $D$38:$L$38, lo que
198 Introducción a la Modelación Matemática y Optimización

significa que está tomando el valor de cada una de estas nueve restricciones y lo está haciendo
menor al recurso disponible en cada caso. El segundo grupo de restricciones hay que
escribirlo aparte porque son restricciones de igualdad y corresponden a las dos de demanda de
aluminio terminado, la cual se va a satisfacer exactamente, y a las cuatro de balance que por su
naturaleza siempre son igualdades (éstas corresponden a la expresión $M$37:$R$37 
$M$38:$R$38 de las restricciones del solver). Al solver se le debe decir cuáles de las
variables o celdas cambiantes son binarias. Para este efecto se tiene la expresión Apertura =
binario en solver. Nótese que aquí no aparecen las referencias de las celdas, ya que se ha
utilizado, para ilustrar, la definición de un „nombre‟ en Excel y se han bautizado las celdas
B30 a B33 correspondientes a las variables binarias de apertura de plantas de alúmina con el
nombre de “Apertura”. Esto no es necesario hacerlo, pero muchas veces es conveniente para
efectos de identificación y fácil recordación de las variables.
El resto de variables o celdas cambiantes, por defecto, las tomará reales mayores ó iguales
que cero (aunque debe tenerse cuidado de que esto en realidad esté definido así en la ventana
que se abre al pulsar las „Opciones…‟ de la ventana del solver). Finalmente, cuando se le da el
comando „Resolver‟ al solver, se obtiene entonces la solución óptima mostrada en la Figura 2
anterior.

Análisis de la solución óptima obtenida

B
40,000

1,666.7 1,760 1,440


A
A T
C D 1,000 l e
u r
B 1,240 m m
12,000
i i
1,060 1,200 n n
D E
i a
20,000 o d
C o
E

Minas de Plantas de Plantas de


Bauxita Alúmina Esmaltado

Figura 4. Solución óptima del problema de la bauxita

El valor de la función objetivo indica que el costo total de logística mínimo es de 87,455,600
$/año. Este costo incluye los costos de explotación y producción, los costos de transporte y
los costos fijos. Esto se logra abriendo las plantas de alúmina ubicadas en B, C y D (variables
binarias WB = WC = WD = 1) y cerrando la planta ubicada en E (variable binaria WE = 0), la
199

cual al parecer es una planta muy ineficiente, tiene un costo fijo muy alto y/o tiene problemas
de localización. Los flujos óptimos son los que se muestran en las celdas B10 a B29 de la
Figura 2, ilustrados en forma gráfica en la Figura 4. Se sugiere al lector comprobar que los
balances de flujo tanto en las plantas de alúmina como en las plantas de esmaltado se cumplen.
En cuanto a los recursos sobrantes es importante notar que la mina A apenas está siendo
explotada en un 4.63% de su capacidad (1,667 de 36,000 ton/año disponibles). Muy
probablemente análisis adicionales pueden revelar que debería considerarse el cierre de esta
mina o la redistribución de su materia prima. Además, su bauxita es la de menor calidad de
acuerdo con su rendimiento de alúmina. En cuanto a las plantas de alúmina abiertas, la B y la
C trabajan al 100% de su capacidad y la D tiene una capacidad sobrante del 54.44% (sobran
16,333 ton/año de capacidad de las 30,000 disponibles). Las plantas de esmaltado también
están trabajando holgadamente: La planta D trabaja al 62.5 % de su capacidad y la E al
42.86%.

Algunos análisis de sensibilidad

Se sugiere al lector comprobar que los siguientes análisis de sensibilidad son correctos:

1. Si se obliga a la planta de alúmina E a estar abierta: Se


abren todas las plantas, pero no se produce nada en la planta
de alúmina E. Simplemente se paga su costo fijo y el costo
total anual asciende a 93,455,600 $/año.

2. Si sólo se abren las plantas de alúmina B y C, el problema


no tiene solución factible alguna.

3. Si sólo se abren las plantas de alúmina B, C y E, se obtiene


una solución óptima con un costo mínimo de 103,457,000 $/año y
en este caso la planta E sí debe producir para lograr suplir la
demanda de aluminio terminado.

4. Si se cierra la mina A, entonces el nuevo costo total de


logística mínimo sería igual a 87,776,568 $/año, es decir tan
sólo un 0.367% mayor que el obtenido inicialmente. Muy
probablemente los costos fijos de explotación de la mina A son
mayores que este incremento de costo total y ello sugiera el
cierre de esta mina. Obviamente, una análisis más profundo es
necesario aquí, pues el cierre de cualquier instalación siempre
debe analizarse integralmente considerando todos los impactos
que se pudieran producir.

Solución del modelo por AMPL y por Internet en el NEOS Server

El modelo en AMPL para este problema es el siguiente:


200 Introducción a la Modelación Matemática y Optimización

# MODELO EN AMPL CORRESPONDIENTE AL PROBLEMA DE LA BAUXITA

# CONJUNTOS PRINCIPALES

set MINAS; # Conjunto de minas de bauxita indexado por i


set PLALU; # Conjunto de plantas de alúmina indexado por j
set PLESM; # Conjunto de plantas de esmaltado indexado por k

# PARÁMETROS

param capal_es{k in PLESM} >= 0;


# Capacidad de procesamiento de alúmina en la planta de
esmaltado k
# (Ton de alúmina/año)

param capb_al{j in PLALU} >= 0;


# Capacidad de procesamiento de bauxita en la planta de alúmina
j
# (Ton de bauxita/año)

param capbaux{i in MINAS} >= 0;


# Capacidad de explotación de bauxita de la mina i (Ton de
bauxita/año)

param cexp{i in MINAS} >= 0;


# Costo de explotación de la mina i ($/Ton de bauxita)

param cfijo{j in PLALU} >= 0;


# Costo fijo de la planta de alúmina j ($/año)

param cpal{j in PLALU} >= 0;


# Costo de producción de alúmina en la planta de alúmina j
# ($/Ton de alúmina)

param cpes{k in PLESM} >= 0;


# Costo de procesamiento de la alúmina para producir aluminio
# terminado en la planta de esmaltado k ($/Ton de alúmina)

param ctran_al{j in PLALU, k in PLESM} >= 0;


# Costo de transporte de alúmina desde la planta de alúmina j
hacia
# la planta de esmaltado k ($/Ton de alúmina)

param ctran_b{i in MINAS, j in PLALU} >= 0;


# Costo de transporte de bauxita desde la mina de bauxita i
hacia
# la planta de alúmina j ($/Ton de bauxita)
201

param demanda{k in PLESM} >= 0;


# Demanda de aluminio terminado en la planta de esmaltado k
# (Ton de aluminio terminado/año

param rendal{i in MINAS} >= 0;


# Rendimiento de alúmina de la bauxita extraída de la mina i
# (Ton de alúmina/Ton de bauxita)

param rendim >= 0;


# Rendimiento de alúmina para producir aluminio terminado
# (Ton de aluminio terminado/Ton de alúmina)

# VARIABLES DE DECISIÓN

var x{i in MINAS, j in PLALU} >= 0;


# Ton de bauxita/año a explotar en la mina i
# y a transportar a la planta de alúmina j (Ton de bauxita/año)

var y{j in PLALU, k in PLESM} >= 0;


# Ton de alúmina/año a producir en la planta de alúmina j
# y a transportar a la planta de esmaltado k (Ton de
alúmina/año)

var w{j in PLALU} binary;


# Variable binaria = 1 si la pl. de alúmina j se abre, = 0 de
lo contrario

# FUNCIÓN OBJETIVO

minimize costo_total: # ($/año)

sum{i in MINAS, j in PLALU} (cexp[i]*x[i,j])


# Costo anual de explotación de bauxita

+ sum{j in PLALU, k in PLESM} (cpal[j]*y[j,k])


# Costo anual de producción de alúmina

+ sum{j in PLALU, k in PLESM} (cpes[k]*y[j,k])


# Costo anual de procesamiento de alúmina en las plantas de
esmaltado

+ sum{i in MINAS, j in PLALU} (ctran_b[i,j]*x[i,j])


# Costo anual de transporte de bauxita desde las minas hacia
# las plantas de alúmina
202 Introducción a la Modelación Matemática y Optimización

+ sum{j in PLALU, k in PLESM } (ctran_al[j,k]*y[j,k])


# Costo anual de transporte de alúmina desde las plantas de
alúmina
# hacia las plantas de esmaltado

+ sum{j in PLALU} (cfijo[j]*w[j]);


# Costo anual fijo de las plantas de alúmina

# RESTRICCIONES

# Por capacidad anual de explotación de bauxita en cada mina


# (Ton de bauxita/año):

subject to cap_exp{i in MINAS}:


sum{j in PLALU} (x[i,j]) <= capbaux[i];

# Por capacidad anual de procesamiento de bauxita en cada


planta de alúmina
# (Ton de bauxita/año):

subject to cap_prodal{j in PLALU}:


sum{i in MINAS} (x[i,j]) <= capb_al[j]*w[j];

# Por capacidad anual de procesamiento de alúmina


# en cada planta de aluminio terminado
# (Ton de alúmina/año):

subject to cap_procal{k in PLESM}:


sum{j in PLALU} (y[j,k]) <= capal_es [k];

# Por demanda (ventas) de aluminio terminado


# en cada planta de esmaltado
# (Ton de aluminio terminado/año):

subject to demand_es{k in PLESM}:


sum{j in PLALU} (rendim*y[j,k]) = demanda[k];

# Por balance de masa en cada planta de alúmina

subject to balance{j in PLALU}:


sum{i in MINAS} (rendal[i]*x[i,j]) = sum{k in PLESM} (y[j,k]);

# Restricciones de configuración para análisis de sensibilidad:

# subject to pl_abierta_b:
# w["B"] = 1;
203

# subject to pl_abierta_c:
# w["C"] = 1;

# subject to pl_abierta_d:
# w["D"] = 1;

# subject to pl_abierta_e:
# w["E"] = 1;

El archivo de datos correspondiente al modelo anterior y de acuerdo con la información


dada al comienzo de este ejemplo es el siguiente:

# CONJUNTO DE DATOS EN AMPL CORRESPONDIENTE AL PROBLEMA DE LA


BAUXITA

# CONJUNTOS PRINCIPALES

set MINAS:= A B C;
set PLALU:= B C D E;
set PLESM:= D E;

# PARÁMETROS

# Capacidad de procesamiento de alúmina en la planta de


esmaltado k
# (Ton de alúmina/año):

param capal_es:= D 4000 E 7000;

# Capacidad de procesamiento de bauxita en la planta de alúmina


j
# (Ton de bauxita/año):

param capb_al:= B 40000 C 20000 D 30000 E 80000;

# Capacidad de explotación de bauxita de la mina i


# (Ton de bauxita/año):

param capbaux:= A 36000 B 52000 C 28000;

# Costo de explotación de la mina i


# ($/Ton de bauxita):

param cexp:= A 420 B 360 C 540;


204 Introducción a la Modelación Matemática y Optimización

# Costo fijo de la planta de alúmina j


# ($/año):

param cfijo:= B 3000000 C 2500000 D 4800000 E 6000000;

# Costo de producción de alúmina en la planta de alúmina j


# ($/Ton de alúmina).

param cpal:= B 330 C 320 D 380 E 240;

# Costo de procesamiento de la alúmina para producir aluminio


# terminado en la planta de esmaltado k
# ($/Ton de alúmina):

param cpes:= D 8500 E 5200;

# Costo de transporte de alúmina desde la planta de alúmina j


hacia
# la planta de esmaltado k
# ($/Ton de alúmina):

param ctran_al: D E :=

B 220 1510
C 620 940
D 0 1615
E 1465 0;

# Costo de transporte de bauxita desde la mina de bauxita i


hacia
# la planta de alúmina j
# ($/Ton de bauxita):

param ctran_b: B C D E :=

A 400 2010 510 1920


B 10 630 220 1510
C 1630 10 620 940;

# Demanda de aluminio terminado en la planta de esmaltado k


# (Ton de aluminio terminado/año):

param demanda:= D 1000 E 1200;


205

# Rendimiento de alúmina de la bauxita extraída de la mina i


# (Ton de alúmina/Ton de bauxita):

param rendal:= A 0.060 B 0.080 C 0.062;

# Rendimiento de alúmina para producir aluminio terminado


# (Ton de aluminio terminado/Ton de alúmina):

param rendim:= 0.4;

Finalmente, el archivo de comandos es el siguiente:

# COMANDOS EN AMPL PROBLEMA DE LA BAUXITA PARA CORRER EN NEOS


POR INTERNET

# COMANDOS DE INICIALIZACIÓN DE CONDICIONES:

option show_stats 1;
option solution_precision 0;
option omit_zero_rows 1;
option omit_zero_cols 1;
option display_precision 6;
option display_round 1;
option display_width 50;

# COMANDO DE SOLUCIÓN:
solve;

# COMANDOS DE IMPRESIÓN DE RESULTADOS:

printf "\n\n*************************************\n";
printf "RESULTADOS DEL PROBLEMA DE LA BAUXITA\n";
printf "*************************************\n\n";

printf "\nCOSTO TOTAL = \t%9.1f", costo_total;

printf "\n\nCONFIGURACION DEL SISTEMA (PLANTAS DE ALUMINA


ABIERTAS) =\n\n";
display w;

printf "\nFLUJO DE BAUXITA DESDE MINAS HACIA PLANTAS DE ALUMINA


=\n\n";
display x;

printf "\nFLUJO DE ALUMINA DESDE PLANTAS DE ALUMINA HACIA


PLANTAS DE ESMALTADO =\n\n";
display y;
206 Introducción a la Modelación Matemática y Optimización

printf "\nCAPACIDAD SOBRANTE EN MINAS DE BAUXITA =\n\n";


display cap_exp.slack;

printf "\nPRECIOS SOMBRA DE MINAS DE BAUXITA =\n\n";


display cap_exp;

printf "\nCAPACIDAD SOBRANTE EN PLANTAS DE ALUMINA =\n\n";


display cap_prodal.slack;

printf "\nPRECIOS SOMBRA DE PLANTAS DE ALUMINA =\n\n";


display cap_prodal;

printf "\nCAPACIDAD SOBRANTE EN PLANTAS DE ESMALTADO =\n\n";


display cap_proc_alu.slack;

printf "\nPRECIOS SOMBRA DE PLANTAS DE ESMALTADO =\n\n";


display cap_proc_alu;

Los resultados que se obtienen con el anterior archivo de comandos son los siguientes, los
cuales coinciden totalmente con lo que ya habíamos encontrado anteriormente:

*************************************
RESULTADOS DEL PROBLEMA DE LA BAUXITA
*************************************

COSTO TOTAL = 87455600.0

CONFIGURACION DEL SISTEMA (PLANTAS DE ALUMINA ABIERTAS) =

w [*] :=
B 1.0
C 1.0
D 1.0

FLUJO DE BAUXITA DESDE MINAS HACIA PLANTAS DE ALUMINA =

x :=
A D 1666.7
B B 40000.0
B D 12000.0
C C 20000.0
207

FLUJO DE ALUMINA DESDE PLANTAS DE ALUMINA HACIA PLANTAS DE


ESMALTADO =

y :=
B D 1440.0
B E 1760.0
C E 1240.0
D D 1060.0

CAPACIDAD SOBRANTE EN MINAS DE BAUXITA =

cap_exp.slack [*] :=
A 34333.3
C 8000.0

PRECIOS SOMBRA DE MINAS DE BAUXITA =

cap_exp [*] :=
B -660.0

CAPACIDAD SOBRANTE EN PLANTAS DE ALUMINA =

cap_prodal.slack [*] :=
D 16333.3

PRECIOS SOMBRA DE PLANTAS DE ALUMINA =

cap_prodal [*] :=
B -196.4
C -436.4

CAPACIDAD SOBRANTE EN PLANTAS DE ESMALTADO =

cap_proc_alu.slack [*] :=
D 1500.0
E 4000.0

ALGUNOS ANÁLISIS DE LA SOLUCIÓN ÓPTIMA:

1. CAPACIDAD ANUAL DE LAS MINAS:

Mina A: Sólo se utilizan 1,666.67 ton/año de las 36,000 ton/año disponibles.


Mina B: Se utiliza a la máxima capacidad de 52,000 ton/año.
Mina C: Sólo se utilizan 20,000 ton/año de las 28,000 ton/año disponibles.
208 Introducción a la Modelación Matemática y Optimización

2. CAPACIDAD ANUAL DE PROCESAMIENTO DE BAUXITA EN LAS PLANTAS


DE ALÚMINA:

Planta B: Se utiliza a la máxima capacidad de 40,000 ton de bauxita/año.


Planta C: Se utiliza a la máxima capacidad de 20,000 ton de bauxita/año.
Planta D: Sólo se utilizan 13,666.67 ton/año de las 30,000 disponibles.
Planta E: No se abre.

3. CAPACIDAD ANUAL DE PROCESAMIENTO DE ALÚMINA EN LAS


PLANTAS DE ESMALTADO:

Planta D: Sólo se utilizan 2,500 ton/año de las 4,000 ton/año disponibles.


Planta E: Sólo se utilizan 3,000 ton/año de las 7,000 ton/año disponibles.

4. BALANCE DE MASA EN LAS PLANTAS DE ALÚMINA:

Verificar que éstas se cumplen exactamente.

ALGUNOS ANÁLISIS DE SENSIBILIDAD:

5. Si se obliga a la planta de alúmina E a estar abierta: Se abren todas las plantas, pero no se
produce nada en la planta de alúmina E. Simplemente se paga su costo fijo y el costo total
anual asciende a 93,455,600 $/año.

6. Si sólo se abren las plantas B y C, el problema no tiene ninguna solución factible.

7. Si sólo se abren las plantas B, C y E, se obtiene una solución óptima con un costo mínimo
de 103,457,000 $/año.

Se sugiere al lector realizar otros análisis de sensibilidad.


209

12. ANEXO 2: EL PROBLEMA DEL


TRANSPORTE E INTRODUCCIÓN A
LA TEORÍA DE REDES
MODELOS DE REDES

Definición de una red:

Una red consta de un conjunto de nodos unidos por arcos. La notación empleada es
(N,A), donde:
N= Conjunto de nodos
A= Conjunto de Arcos

Por ejemplo, sea N = {1, 2, 3, 4} y A= {(1 , 2) , (1 , 3) , (2 , 3) , (2 , 4) , (3 , 4)}. La red


correspondiente sería la siguiente:

1 3

2 4

Normalmente, un arco tiene una capacidad asociada, la cual limita el posible flujo a
través de el. Por ejemplo, se puede hablar de flujo de petróleo a través de un oleoducto, de
flujo de productos a través de una cadena de abastecimiento, o de flujo de vehículos a lo largo
de una red de careteras.

A consecuencia de lo anterior, una red puede ser dirigida u orientada si permite flujo
positivo en un sentido de sus arcos y flujo cero en el sentido contrario. Una red puede también
ser cíclica cuando presenta al menos un ciclo, o sea cuando existe una ruta desde un nodo
hacia sí mismo.

Por ejemplo en la red mostrada arriba, los arcos (1 , 2) , (2 , 3) y (3 , 1) forman un


ciclo. La red total es por lo tanto, cíclica. Si una red no presenta ciclo alguno, se dice que es
acíclica. Si la red es dirigida, el ciclo existe siempre y cuando sea consistente con las
direcciones de los flujos. En este caso el ciclo se denomina circuito. En la red siguiente, por
ejemplo, la serie de nodos 1-3-5-1 representa un circuito. Los nodos 1-2-3, sin embargo, no
representan un circuito.
210 Introducción a la Modelación Matemática y Optimización

1 2 4

3 5

Una red es conectada cuando cada dos nodos distintos están unidos por lo menos por
una ruta.

Un árbol es una red conectada acíclica, incluyendo un subconjunto de los nodos de la red. Un
árbol de expansión es un árbol que incluye todos los nodos de la red. Por ejemplo, para la red
mostrada en la página anterior, se muestra un árbol y un árbol de expansión:

1 3 1 3

2 2 4
Árbol de expansión mínima

ALGORITMO DEL ÁRBOL DE EXPANSIÓN MÍNIMA

Un árbol de expansión minima21 de una red es un árbol de expansión cuyo costo


(valores sobre cada arco) sea mínimo. Una aplicación típica es el diseño de una red de
carreteras que une a varias poblaciones, donde existen múltiples alternativas para unirlas. Si se
desea minimizar el total de la longitud de carreteras pavimentadas, el árbol de expansión
mínima daría la respuesta:

En este algoritmo, se escoge un nodo cualquiera para iniciar y se definen dos conjuntos
de nodos en cada iteración, los que ya han sido conectados y los que aún no. Cada iteración
determina el arco de longitud minima para unir uno de los nodos que ya han sido conectados
con los que no lo han sido. El algoritmo termina cuando todos los nodos han sido conectados,
resultando así el árbol de expansión mínima. Formalmente, el algoritmo es como sigue:

Sean los nodos de la red el conjunto N = {1, 2, …, n}

21
“Minimun Spanning Tree”
211

Sean:

= Conjunto de nodos que se han conectado permanentemente en la iteración k del


algoritmo.
= Conjunto de nodos que aún no se han conectado.

Paso 0: Hacer = , N
Paso 1: Escoger cualquier nodo ϵ N. Hacer = { } y, por lo tanto, N–{ .
Hacer K=2.
Paso K: Seleccionar un nodo j* ϵ que produce el arco más corto hacia un nodo en
el conjunto conectado . Unir permanentemente j* con y eliminarlo de , o sea:
,
Si ⟹ Parar. De lo contrario, hacer k=k+1 y repetir el paso k.

Ejemplo: Se muestran 6 poblaciones, las cuales deben ser unidas por una red de
carreteras con la longitud mínima de carreteras pavimentadas. Los arcos mostrados
representan todas las conexiones posibles con sus respectivas longitudes en km. Utilizando el
algoritmo del árbol de expansión mínima, determine cómo deben unirse las poblaciones.
50
2 4

13
15

0
48

25
17

32
1 6
50 52
12

75
0

100
3 5
Por conveniencia, se escoge el nodo 1 como el punto de partida del algoritmo. Por
conveniencia, los nodos que ya han sido conectados se muestran con doble círculo.
2 4
15
25
32
1 6
50
12
0

3 5

Iteración 1
212 Introducción a la Modelación Matemática y Optimización

50
2 4
15
25

48
32
1 6
50

12
0
3 5

Iteración 2
Las líneas delgadas muestran los arcos candidatos en cada iteración para unir el
conjunto de nodos que ya han sido conectados con el suplemento.

Las líneas punteadas representan el arco de longitud mínima y las líneas gruesas
representan los arcos permanentes que unen nodos ya conectados.

Nótese que en la iteración 1, por ejemplo, j*=2, y en la iteración 2, j*=4 y que daría
unido al nodo 1 , mediante el arco (1 , 4). En la página siguiente se muestra el resto de las
iteraciones.
50
2 4
13
0

15
25
48

32
1 6
50
17
12
0

3 5

Iteración 3

50
2 4
13
0

15
25
48

32
1 6
50
17

52

100
3 5

Iteración 4
213

2 4
15
25

48
32
1 6
50

17

75
100
3 5

Iteración 5

2 4
15
25

48
32
1 6

17

3 5

Iteración 6
(Árbol de expansión mínima)
O sea que la longitud mínima de carreteras pavimentadas que uniría a las poblaciones es igual
a 15+25+31+17+48 km = 137 km. Aunque visualmente el árbol de la iteración 6 pareciese
cíclico (lo cual sería una contradicción), la figura siguiente aclara este aspecto:

1
32
15

25

2 6
4
48

17

5 Árbol de expansión
mínima
3
214 Introducción a la Modelación Matemática y Optimización

EL PROBLEMA DE LA RUTA MÁS CORTA (“SHORTEST PATH”)

Este problema consiste en determinar la ruta mas corta entre un punto de origen y un
punto de destino de la red (ver algunas aplicaciones en Taha, pág. 222-225).

Dos algoritmos para resolver este problema en redes cíclicas o acíclicas son:
 El algoritmo de Dijkstra.
 Algoritmo de Floyd.
El primero determina la ruta más corta entre el nodo origen y cada uno de los otros
nodos de la red. L algoritmo de Floyd permite determinar la ruta más corta entre dos nodos
cualesquiera de la red.

Se presentara el algoritmo de Dijkstra; el algoritmo de Floyd se deja para consulta en


las páginas 231-236 de Taha.

ALGORITMO DE DIJKSTRA:

En este algoritmo los nodos se clasifican de dos formas: como temporales y


permanentes. Los cálculos del algoritmo avanzan de un nodo i a un nodo inmediatamente
siguiente, j.

Sea:

= Distancia mas corta desde el nodo de origen (nodo 1) al nodo i.


= Longitud del arco (i , j).

La clasificación del nodo j se define entonces como:

[ ]=[ ], .

Una clasificación temporal se puede reemplazar con otra cuando se encuentra una ruta
más corta. Cuando es evidente que no se puede encontrar una ruta más corta, la clasificación
temporal se cambia a permanente. El algoritmo completo es como sigue:

Paso 0: Clasificar el nodo de origen (nodo 1) como permanente [0,-]. Haga i=1.

Paso i:

(a) Calcular las clasificaciones temporales [ ] para cada nodo j al que se


puede llegar desde el nodo i, siempre y cuando j no esté clasificado permanentemente. Si el
nodo j ya no está clasificado con [ ] a través de otro nodo k ≠i y si ,
reemplazar la clasificación temporal [ ] con la clasificación temporal [ ].

(b) Si todos los nodos son permanentes, parar. De lo contrario, selecciona la


clasificación [ ] con la distancia mas corta entre todas las calificaciones temporales,
215

rompiendo con los empates en forma arbitraria. Haga i=r, clasifique el nodo r como
permanente y repita el paso i.
Ejemplo: Determine la ruta más corta desde el nodo 1 hacia todos los nodos de la red

2 12
7

8
5 9
(Nodo 8
Origen) 1 3 9
5 7
7
6
13
4 6
siguiente:
La forma más fácil de resolver los problemas de la ruta mas corta es hacerlo
directamente en la red, copiando las clasificaciones sucesivas. Cuando una clasificación se
vuelve permanente, por notación, se encierra en un rectángulo. La red de la página siguiente
vá mostrando las clasificaciones sucesivas.

[7 , 1]

2 12 [12 , 4]
7
8
5 9
8
1 3
9
[0 , -] 7 [21 , 5]
5

[8 , 1]
7 6

13 6
4
[17 , 3]
[5 , 1]

Las rutas más cortas desde el nodo de origen (nodo 1) y cualquier nodo se encuentran
partiendo del nodo destino y devolviéndose con la información dada por las clasificaciones
permanentes. La tabla siguiente resume los resultados:
216 Introducción a la Modelación Matemática y Optimización

Distancia más corta Ruta más corta


Nodo
desde el nodo 1 desde el nodo 1
2 7 1-2
3 8 1-3
4 5 1-4
5 12 1-4-5
6 17 1-3-6
7 21 1-4-5-6

Queda a su discreción el estudio del resto del capitulo 6 de Taha.


217

13. BIBLIOGRAFÍA
AHUJA, Ravindra K., Thomas L. Magnanti y James B. Orlin, Network Flows: Theory,
Algorithms, and Applications, Prentice Hall, Englewood Cliffs, New Jersey, 1993. (Excelente
texto para profundización en Teoría de Redes)

BAZARAA, Mokhtar S., Hanif D. Sherali y C. M. Shetty, Nonlinear Programming:


Theory and Algorithms, 2ª Edición, John Wiley & Sons, Inc., New York, 1993. (Excelente
texto para profundización en Programación No-Lineal)

DUQUE M., Ramón, Modelos Lineales: Formulación, Universidad del Valle, Cali,
1987. (Colección de problemas formulados y resueltos para consulta)

ESCUDERO, L. F., E. Galindo, G. García, E. Gómez, V. Sabau y Schumann, A


modeling framework for supply chain management under uncertainty, European Journal of
Operational Research, Vol. 119, No. 1, 1999, pp. 14–34. (Artículo de referencia)

FOURER, R., D. M. Gay y B. W. Kernighan, AMPL: A Modeling Language for


Mathematical Programming, The Scientific Press, San Francisco, 1993. (Este es el manual de
AMPL, un generador de modelos comercial excelente)

GOETSCHALCKX, Marc, Logistics Systems Design, versión 1.2.98, Georgia


Institute of Technology, 1998. (Texto de Logística con aplicaciones selectas de modelación
matemática)

GOETSCHALCKX, Marc, Carlos J. Vidal y K. Dogan, “Designing Global Supply


Chain Systems”, European Journal of Operational Research, Vol. 143, No. 1, 1–18,
Noviembre de 2002. (Artículo de referencia)

HICKS, D. A Four Step Methodology for using Simulation and Optimization


Technologies in Strategic Supply Chain Planning, Proceedings of the 1999 Winter Simulation
Conference. (Ponencia de referencia)

HILLIER, Frederick S. y Gerald J. Lieberman, Introducción a la Investigación de


Operaciones, 6ª Edición, McGraw-Hill, 1997. (Este es el otro texto clásico de Investigación de
Operaciones y se recomienda como consulta general)

CHVÁTAL, Vasek, Linear Programming, W. H. Freeman and Company, New York,


1983. (Buen texto para profundización en Programación Lineal. Presenta un capítulo completo
dedicado a aplicaciones de modelación matemática)

MATHUR, Kamlesh y D. Solow, Investigación de Operaciones: El arte de la toma de


decisiones, Prentice-Hall Hispanoamericana, S. A., México, 1996. (Excelente referencia para
la formulación de modelos de programación lineal y modelos en general)
218 Introducción a la Modelación Matemática y Optimización

MOSKOWITZ, Herbert y Gordon P. Wright, Investigación de Operaciones, Editorial


Prentice may Internacional, Englewood Cliffs, Bogotá, 1982. (Otro texto clásico)

NEMHAUSER, George L. y Laurence A. Wolsey, Integer and Combinatorial


Optimization, John Wiley & Sons, New York, 1988. (Este es un excelente texto teórico,
clásico de la programación entera)

PRADO R., Hernando, Problemas de Investigación de Operaciones, Universidad del


Valle, Cali, 1985. (Notas originales del profesor Prado para consulta general)

TAHA, Hamdy A., Investigación de Operaciones: Una Introducción, sexta edición,


Prentice Hall, México, 1998. (Texto clásico de referencia)

TAHA, Hamdy A., Investigación de Operaciones: Una Introducción, segunda edición,


Representaciones y Servicios de Ingeniería S. A., México, 1981. (Versión anterior al texto de
1998, con contenido diferente)

THIERAUF, Robert J. y Richad A. Grosse, Toma de decisiones por medio de


investigación de operaciones, Editorial Limusa – Wiley, S. A., México, 1972. (Otro texto
clásico de Investigación de Operaciones)

VIDAL, Carlos J. y M. Goetschalckx, "A Global Supply Chain Model with Transfer
Pricing and Transportation Cost Allocation," European Journal of Operational Research, Vol.
129, pp. 134 – 158, 2001. (Artículo de referencia)

VIDAL, Carlos J. y M. Goetschalckx, “Un Caso de Aplicación de Modelos


Matemáticos para la Optimización de Cadenas de Abastecimiento en la Industria
Manufacturera,” en: Innovación y Transferencia de Tecnología: Casos Prácticos en la
Facultad de Ingeniería, Iván Enrique Ramos Calderón (compilador), Separata de la revista
ingeniería y competitividad, Facultad de Ingeniería, Universidad del Valle, pp. 43–51, Mayo
de 2000. (Artículo ilustrativo sobre las aplicaciones reales de la Investigación de Operaciones)

VIDAL, Carlos J. y M. Goetschalckx, “Modeling the Effect of Uncertainties on Global


Logistics Systems,” Journal of Business Logistics, Vol. 21, No. 1, pp. 95–120, Abril de 2000.
(Artículo de referencia)

VIDAL, Carlos J. y M. Goetschalckx, “Strategic production-distribution models: A


critical review with emphasis on global supply chain models”, European Journal of
Operational Research, Vol. 98, pp. 1–18, Marzo de 1997. (Artículo de referencia)

WILLIAMS, H. P., Model Building in Mathematical Programming, 3ª Edición, John


Wiley & Sons, Inc., New York, 1990. (Excelente texto para profundización en Programación
Lineal continua y entera y en modelación matemática en general)

También podría gustarte