Subido por Fer Pichardo

Investigaciones de Operaciones

Anuncio
SERIE
UNIVERSITARIA
PATRIA
interactivo en
esta edición
“Si la gente no piensa que las matemáticas son simples,
es solo porque no se dan cuenta de lo complicada que es la vida”.
John Von Neumann
Entre sus principales características destacan las siguientes:
C
M
Y
CM
MY
CY
CMY
La obra consta de cinco unidades y un apéndice (uso detallado del Solver de Excel).
Cuenta con breves, pero claras, explicaciones de los fundamentos de la investigación de
operaciones.
Es un libro flexible, el estudiante lo puede utilizar según sus inquietudes y necesidades.
Explica con minuciosidad los pasos necesarios para resolver los problemas propuestos
planteados a lo largo de las cinco unidades temáticas. Esto con el objetivo de que sepa resolver diferentes tipos de problemas.
K
Cuenta con más de 300 problemas para resolver, presentados en diferentes categorías;
según sus características, algunos deben ser resueltos con el apoyo de la tecnología, por
ejemplo con el uso de Solver.
Algunos de los problemas propuestos están acompañados de breves textos destacados
con el nombre de Alerta, cuyo propósito es preparar al lector para que esté al pendiente de
detalles importantes del contenido, que le serán útiles para resolver los problemas.
Con el propósito de motivar al estudiante para resolver problemas con un grado de dificultad
mayor, al final de cada unidad se incluye una selección de Problemas reto.
El libro viene acompañado de un CD-ROM de apoyo, donde alumno y profesor podrán encontrar, entre
otras cosas: respuestas a los problemas propuestos, documentos extras, simulación y ejemplos anotados.
EMPRESA DEL GRUPO
www.editorialpatria.com.mx
Investigación de operaciones
En el presente texto se presenta con detalle los principales temas de un primer curso de
investigación de operaciones. El atractivo y funcional diseño de este libro, así como su novedosa
metodología, ofrecen una invitación a los alumnos de ingeniería para que se acerquen
acompañados de lápiz, papel y una computadora, a fin de aprovechar al máximo la oportunidad
de ejercitarse con la gran variedad de problemas propuestos que se incluyen en las unidades, los
cuales le ayudarán a preparar sus exámenes.
Iris A. Martínez Salazar / Gastón Vértiz Camarón / Jesús F. López Pérez
Guillermo Jiménez Lozano / Luis A. Moncayo Martínez
INVESTIGACIÓN
DE OPERACIONES
Iris Abril Martínez Salazar
Universidad Autónoma de Nuevo León
Gastón Vértiz Camarón
Universidad Autónoma del Estado de México
Jesús Fabián López Pérez
Universidad Autónoma de Nuevo León
Guillermo Jiménez Lozano
Universidad Nacional de Colombia
Luis Antonio Moncayo Martínez
Instituto Tecnológico Autónomo de México
Colaboración especial
Marco Antonio Montufar Benítez
Eva Selene Hernández Gress
Universidad Autónoma del Estado de Hidalgo
PRIMERA EDICIÓN EBOOK
MÉXICO, 2014
INVESTIGACIÓN
DE OPERACIONES
Iris Abril Martínez Salazar
Universidad Autónoma de Nuevo León
Gastón Vértiz Camarón
Universidad Autónoma del Estado de México
Jesús Fabián López Pérez
Universidad Autónoma de Nuevo León
Guillermo Jiménez Lozano
Universidad Nacional de Colombia
Luis Antonio Moncayo Martínez
Instituto Tecnológico Autónomo de México
Colaboración especial
Marco Antonio Montufar Benítez
Eva Selene Hernández Gress
Universidad Autónoma del Estado de Hidalgo
PRIMERA EDICIÓN EBOOK
MÉXICO, 2014
GRUPO EDITORIAL PATRIA
info
editorialpatria.com.mx
www.editorialpatria.com.mx
Dirección editorial: Javier Enrique Callejas
Coordinación editorial: Estela Delfín Ramírez
Supervisor de preprensa: Gerardo Briones González
Diseño de interiores y portada: Juan Bernardo Rosado Solís
Ilustraciones: Adrian Zamorategui Berber
Fotografías: © Thinkstockphoto
Diagramación: Gustavo Vargas M. y Jorge Martínez J.
Colaboración especial:
Marco Antonio Montufar Benítez
Eva Selene Hernández Gress
Universidad Autónoma del Estado de Hidalgo
Revisión técnica:
Alejandra Gómez Padilla
Universidad de Guadalajara-CUCEI
Manuel Álvarez Madrigal
Instituto Tecnológico y de Estudios Superiores de Monterrey-CCM
Investigación de Operaciones
Derechos reservados:
© 2014, Iris Abril Martínez Salazar, Gastón Vértiz Camarón, Jesús Fabián López Pérez,
Guillermo Jiménez Lozano, Luis Antonio Moncayo Martínez.
© 2014, GRUPO EDITORIAL PATRIA, S.A. DE C.V.
Renacimiento 180, Colonia San Juan Tlihuaca
Delegación Azcapotzalco, Código Postal 02400, México, D.F.
Miembro de la Cámara Nacional de la Industria Editorial Mexicana
Registro Núm. 43
ISBN ebook: 978-607-438-923-4
Queda prohibida la reproducción o transmisión total o parcial del contenido de la presente obra
en cualesquiera formas, sean electrónicas o mecánicas, sin el consentimiento previo y por escrito del editor.
Impreso en México
Printed in Mexico
Primera edición ebook: 2014
Agradecimientos
A mi familia, por su apoyo incondicional.
A cada una de las personas quienes contribuyeron
en el desarrollo de este libro.
Iris Abril Martínez
Una vez concretado el libro, quiero agradecer de todo corazón a
Grupo Editorial Patria por haberme permitido participar como autor.
Mi mejor deseo es que mi participación en la obra en realidad
contribuya a la formación de las futuras generaciones de estudiantes
de las licenciaturas en Ingeniería y Administración y a la mejor
comprensión de los temas de programación lineal que se abordan.
Gastón Vértiz Camarón
En primer lugar a Dios.
A mi madre y a mi hermano.
A mi esposa Albanery, con quien he compartido los mejores
momentos, y espero al máximo los que vienen; “TE QUIERO MUCHO”.
A mi hija Xiomara Alexandra, quien recién comienza su
vida laboral en Bogotá, la cual espero sea demasiado fructífera.
A mi hija Angélica, quien en la actualidad estudia su maestría en la
Universidad de Guadalajara; aspiro a que construya una magnífica profesión.
A mis hijas les he permitido hacer todo
lo que han querido en materia de estudio.
Todas ellas y ellos son los motores de mi vida.
Gracias a todos…
Guillermo Jiménez Lozano
A Eleonora y Emilio, quienes son mi amores.
A la Asociación Mexicana de Cultura, A.C.
Luis Moncayo Martínez
Agradezco a las siguientes instituciones académicas por su apoyo al escribir esta obra:
Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM), Campus Toluca,
Universidad de Lleida, Secretaría de Educación Pública,
Universidad Autónoma del Estado de Hidalgo (UAEH).
Al apoyo editorial encabezado por la Ingeniera Estela Delfín Ramírez.
Marco A. Montufar B.
A la Universidad Autónoma del Estado de Hidalgo (UAEH), por permitirme
desarrollarme profesionalmente haciendo lo que más me gusta: impartir clases.
Al maestro Marco Montufar, por invitarme a participar en este libro.
A mis alumnos por dejarme ver con claridad cuáles son los
requerimientos para que un libro de texto cumpla su función.
A mis padres, por haberme inspirado a ser docente.
A mi esposo, por todo su apoyo y a mis hijos quienes son el motor de mi vida.
Eva Hernández
Presentación
Investigación de operaciones. Serie Universitaria Patria, destacada obra desarrollada por especialistas
e investigadores de importantes universidades de México y Colombia, consta de cinco unidades y un
apéndice, cada una de las cuales está estructurada con breves explicaciones teóricas, problemas resueltos paso a paso, algunos de estos resueltos con el apoyo de software especializado, alertas (notas
de atención para resolver los problemas) y problemas para resolver.
La unidad 1 está dedicada a la formulación de modelos matemáticos utilizados en investigación
de operaciones. A lo largo de esta se listan los principales elementos de los modelos matemáticos y se
describen algunos de los modelos clásicos, a través de la presentación de ejemplos en los que se explica, paso a paso, la construcción de estos. Además, también se analizan diversos tipos de funciones
objetivo y de restricciones. Conocer y comprender la forma en que se modelan distintas situaciones
facilita al lector la formulación de modelos matemáticos que representen (y apoyen en la solución) del
problema bajo estudio.
La segunda unidad, Programación lineal, tiene como objetivo presentar la programación lineal
continua (PLC) y sus métodos de solución; en esta, se analiza qué es la PLC, además de que también se
estudian y describen sus prerrequisitos, las formas de representación de un modelo de PLC, así como
los conceptos de variable de holgura, variable de excedencia, variable artificial y variable irrestricta.
Asimismo, en esta parte se describe el concepto de solución básica y solución básica factible.
En general, existen varios tipos de modelos de programación lineal que presentan estructuras
especiales, las cuales pueden ser aprovechadas y explotadas para la construcción de algoritmos más
eficientes, con el fin de obtener cotas de búsqueda en el espacio solución y, al mismo tiempo, para
obtener soluciones factibles de alta calidad. Inherentemente, la mayor parte de este beneficio tiene
que ver con tomar ventaja de este tipo de estrategias para atender y resolver problemas de alta dimensionalidad y escala, y poder lograr soluciones hasta la optimalidad. Lo anterior no es trivial, pues
en la práctica habitualmente se tienen limitaciones de tecnología computacional, lo que ha motivado
la investigación y el desarrollo para atender problemas de gran escala. Esto, sin duda, es en particular aplicable para los modelos de redes que se exponen en la unidad 3, Aplicación de modelos de
redes en la solución de problemas para la toma de decisiones. Pues, para el caso de los modelos
de redes es posible referenciar históricamente el problema de transporte. El desarrollo de procedimientos de solución eficientes para este tipo de problemas resultó en la primera aplicación de amplia
utilización de la programación lineal en el ámbito industrial. En esta unidad se presentan y analizan las
diversas propiedades y variantes que habitualmente se utilizan en los modelos de redes. Asimismo,
aquí se formulan y plantean diversos ejemplos para estos modelos, al tiempo que también se presenta
su enfoque de solución. De manera muy particular, en esta obra se exponen y desarrollan variantes de
los modelos de redes, en los cuales se introduce el uso de variables binarias y enteras, dando lugar al
desarrollo de modelos de programación mixta entera.
La solución de todos los problemas concernientes al problema de transporte de la unidad 3 se
resuelven con la aplicación del algoritmo simplex, desarrollado en la unidad 2.
La unidad 4, Programación lineal discreta, se divide en seis partes bien identificadas. En la primera se realiza una introducción a la programación lineal entera, algoritmo de Gomory, algoritmo de
rami­ficación y acotamiento (branch and bound ), método de enumeración exhaustiva (enumeración
explícita), cada uno acompañado con ejemplos de aplicación. La segunda parte comienza con una
introducción a la programación lineal entera binaria y continúa con la explicación de los métodos de
enumeración implícita cero-uno y aditivo (enumeración) de Egon Balas, con diversas aplicaciones a
través de ejemplos. En la tercera parte se hace una introducción a la programación lineal entera mixta,
VII
Presentación
acompañada de ejemplos de aplicación. En la cuarta sección se realiza una introducción al problema
del transporte (distribución), se muestran los principales métodos de solución, ejemplos de aplicación,
problemas de transporte de maximización, soluciones degeneradas y problemas del transporte generalizado. La quinta parte comienza con una introducción al problema de la asignación, se muestran los
principales métodos de solución, ejemplos de aplicación, problemas de asignación de maximización y
problemas de la asignación generalizada. En la última parte se plantean problemas de programación
lineal entera, programación lineal entera binaria, programación lineal entera mixta, problema del transporte y problema de la asignación.
Por último, en la unidad 5, Algoritmos especiales: el problema del transporte, se presenta con
detalle el problema del transporte, donde cada una de sus variantes es un caso especial en la programación lineal. El problema tiene como objetivo minimizar los costos de distribución de cierto número
de unidades de las fuentes u orígenes a los destinos. En el modelo más elemental, las fuentes son
entidades que ofertan cierto número de unidades, mientras que los orígenes reciben cierto número
de unidades. Esto implica considerar que los orígenes son proveedores de unidades y los destinos las
entidades que demandan las primeras. El problema es muy común en la práctica profesional.
La presente obra también cuenta con un apéndice, cuyo objetivo principal es introducir al estudiante en la solución de varios tipos de problemas cotidianos de programación lineal mediante el uso
del software Solver de Excel; por ejemplo: problemas de producción, de ruta más corta, de asignación,
de transporte y de flujo máximo. La idea principal de usar Excel es que este programa constituye una
herramienta fácil de entender y usar por la mayoría de los estudiantes de las diversas carreras de ingeniería y administración. Su capacidad para comunicar el modelo y su solución a los interesados es otra
de sus cualidades.
Sin duda, con las bases que ofrece Investigación de operaciones. Serie Universitaria Patria, el
alumno será capaz de poner en práctica otras herramientas computacionales, con el fin de desarrollar
modelos y encontrar su solución, sobre todo en modelos de gran escala.
VIII
Contenido
Unidad 1 Modelos matemáticos
1
1.1 ¿Qué es un modelo?
2
1.2 Metodología de la investigación de operaciones
2
1.3 Modelo matemático
3
1.4 Modelos matemáticos clásicos
8
1.5 Modelando con variables enteras
26
Problemas para resolver
Problema reto
Referencias bibliográficas
29
32
32
Unidad 2 Programación lineal
33
2.1 Introducción a la programación lineal continua
34
2.2 Método gráfico
40
2.3 Método simplex
44
2.4 Método de la gran M
57
2.5 Método de las dos fases
64
2.6 Método dual simplex
68
Problemas para resolver
Problemas reto
Referencias bibliográficas
Referencias electrónicas
74
75
77
77
IX
Contenido
Unidad 3Aplicación de modelos de redes en la
solución de problemas para la toma
de decisiones
79
3.1 Ejemplos de modelos de investigación de operaciones
para redes 80
3.2 Modelo de redes para problemas de asignación
80
3.3 Modelo de redes aplicado al problema de
programación óptima de horarios 86
3.4 Modelo de redes aplicado al problema de asignación
óptima unidimensional y bidimensional 88
3.5 Modelos de redes para problemas de transporte
89
3.6 Modelo de redes para el problema de flujo máximo
93
3.7 Modelo de redes para el problema de costo mínimo
94
3.8 Modelo de redes para el problema de la ruta crítica
aplicado en la planificación de proyectos 94
3.9 Modelo de redes aplicado a problemas de costo fijo
95
3.10 Modelo de redes para el problema de
agrupamiento óptimo 96
Problemas para resolver
Problema reto
Referencias bibliográficas
Unidad 4 Programación lineal discreta
99
110
110
111
4.1 Introducción
112
4.2 Métodos de solución
112
4.3 Programación lineal entera binaria
125
4.4 Programación lineal entera mixta
129
4.5 Problema del transporte o distribución
129
4.6 Problema de asignación o afijación
o de nombramientos135
Problemas para resolver
Problema reto
Referencias bibliográficas
Referencias electrónicas
142
148
148
148
Grupo Editorial Patria©
Unidad 5Algoritmos especiales:
el problema de transporte
149
5.1 Introducción al problema de transporte
150
5.2 Modelo de programación lineal del problema
de transporte151
5.3 Tabla simplex del problema de transporte
154
5.4 Métodos de aproximación para obtener una
solución básica inicial156
5.5 Métodos para obtener la solución óptima
164
5.6 Problema de asignación
173
5.7 Método para obtener la solución óptima
del problema de asignación174
5.8 Método húngaro
179
Problemas para resolver
Problemas reto
Referencias bibliográficas
Referencias electrónicas
185
187
188
188
Apéndice AAplicaciones de la optimización
lineal usando hojas de cálculo
Introducción
❚ Solucionadores para hojas de cálculo
189
190
190
Solución de problemas de programación lineal (PL)
con una hoja de cálculo
190
❚ Pasos para implementar un modelo de PL
en una hoja de cálculo
191
Modelo en hoja de cálculo para el problema
de Luisa Caoba
192
❚ Organización de los datos
192
❚ Representación de las variables de decisión
193
❚ Representación de la función objetivo
193
❚ Representación de las restricciones
193
❚ Representación de los límites sobre las variables
de decisión
194
XI
Contenido
❚ ¿Cómo ve Solver el modelo?
194
❚ Usando Solver
195
❚ Definiendo la celda objetivo
196
❚ Definiendo las celdas variables
197
❚ Definiendo las celdas de restricción
197
❚ Definiendo las condiciones de no negatividad
197
❚ Resolviendo el modelo
198
Problema de flujo máximo
❚ El modelo en hoja de cálculo y su solución
XII
199
200
Problema de transporte
202
Problema de asignación
207
Problema de transbordo
212
Problema de ruta más corta
218
Problemas para resolver
223
UNIDAD
1
Modelos
matemáticos
Iris Abril Martínez Salazar
Objetivos
Entender el concepto de función objetivo, restricciones, parámetros y variables.
Reconocer los diferentes tipos de variables.
Entender el concepto de modelado.
Entender la relación entre los elementos de un modelo matemático.
Conocer aplicaciones de los modelos matemáticos.
Formular modelos matemáticos.
¿Qué sabes?
¿Cuál es la diferencia entre parámetro, variable y coeficiente en una ecuación?
¿Qué es una solución factible?
¿Qué son las restricciones y cómo afectan?
¿Cómo usar notación matemática para expresar una situación?
¿Cómo usar álgebra para representar relaciones?
UNIDAD
1
Modelos matemáticos
1.1 ¿Qué es un modelo?
Entre las variadas acepciones que hay de la palabra modelo, citamos la siguiente, de la Real Academia
Española, que es la que más se adecua al objetivo de esta unidad:
Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad
compleja, como la evolución económica de un país, que se elabora para facilitar su comprensión y el estudio de su comportamiento.
Elaborar un modelo de un sistema o realidad compleja suele ser una tarea ardua y retadora. En la práctica, es usual encontrar modelos desarrollados para representar el comportamiento de alguna sección
del sistema o alguna versión simplificada del mismo.
Por ejemplo, supóngase que se desea saber el modo de acomodar un conjunto de productos con
formas irregulares dentro de cajas de cartón, con el objetivo de minimizar la cantidad de estas para
empaquetar todos los objetos. Una opción para modelar este problema, simplificándolo, es considerar
a cada objeto como una figura regular, aunque esto ocasione desperdicio de espacio. Para ello, se
pueden considerar los ejemplos de las figuras 1.1 y 1.2.
Figura 1.1 Objetos.
Figura 1.2 Objetos, versión simplificada.
1.2 Metodología de la investigación de operaciones
Dada la naturaleza de la investigación de operaciones, la definición del problema a resolver constituye
un paso clave para que los resultados obtenidos del análisis sean útiles y efectivos para la empresa.
Por tanto, en este paso se deberá definir el alcance del estudio, la información con que se cuenta y las
restricciones del sistema, entre otros.
Las etapas básicas para aplicar la investigación de operaciones en la práctica, una vez que se ha
identificado y definido el alcance y las características del problema a resolver, son las siguientes:
1. Formulación del modelo matemático.
2. Solución del modelo matemático.
3. Validación del modelo.
En esta primera unidad nos centramos en la formulación del modelo matemático, destacando sus elementos, construcción y modelos clásicos.
Los otros dos pasos antes mencionados son posteriores a la formulación del modelo matemático;
por tanto, a lo largo de esta unidad se resaltarán algunas características sobre estos dos pasos.
Una vez que se ha validado el modelo, se procede a la implementación de los resultados obtenidos con el modelo a la práctica, esperando que estos logren resultados favorables en el sistema bajo
estudio.
Grupo Editorial Patria©
1.3 Modelo matemático
Un modelo matemático busca representar una realidad mediante el uso de relaciones matemáticas, a
través de la lógica, con el objetivo de ayudar en el proceso de toma de decisiones.
En general, un modelo matemático está compuesto de ecuaciones y/o desigualdades algebraicas.
Una ecuación establece que dos términos son iguales. Esta igualdad se representa mediante el
signo de igual (=) y se interpreta como: término de la izquierda (es igual a) término de la derecha.
Los elementos de una ecuación son los siguientes:
■
Variable. Símbolo (letra) que representa un número que desconocemos.
■
Constante. Número que no va acompañado de una variable.
■
Coeficiente. Número que va acompañado de una variable, multiplicándola.
■
Operador. Corresponde a los símbolos que representan una operación.
Por ejemplo, en la ecuación:
2W - 25Y = 3 050
El coeficiente 2 multiplica a la variable W; de igual manera, el coeficiente 25 multiplica a la variable Y.
El operador es el de resta y la constante es el número 3 050.
Una desigualdad algebraica puede tener la estructura de una ecuación, pero representa no igualdad entre dos términos.
Las relaciones de desigualdad que se pueden tener son:
■
W<Z
■
W>Z
representa que W es mayor que Z.
■
W≤Z
denota que W es menor o igual que Z; es decir, puede ser que W < Z o que W = Z.
■
W≥Z
representa que W es mayor o igual que Z; es decir, puede ser que W > Z o que W = Z.
denota que W es menor que Z.
Alerta
Recuérdese que W es a lo
más Z, W es a lo sumo Z y W
es no más que Z, significan
lo mismo; esto es, que W
puede tomar un valor igual
que Z o menor a Z.
❚ Elementos de un modelo matemático
Al constituir una herramienta para la toma de decisiones, el modelo matemático debe necesariamente
incluir en su totalidad las alternativas entre las cuales se deberá tomar la decisión, las restricciones
que existen y la medida con la que se evaluarán las alternativas, de acuerdo al objetivo que se quiere
lograr.
Para explicar los términos alternativas, las restricciones y los objetivos, primero se analizarán en el
contexto de un problema.
Problema resuelto
Problema de proyectos de inversión
Imaginemos que ocupamos el puesto de coordinador de proyectos dentro de una empresa. El gerente
general de dicha empresa ha destinado 100 000 pesos para invertir en los proyectos que generen beneficios económicos a esta. Existen tres proyectos en los que se puede invertir. ¿En cuál(es) proyecto(s)
debería invertir la empresa para obtener los máximos beneficios económicos?
Se tiene la siguiente información sobre los proyectos:
Tabla 1.1
Nombre
Costo de inversión
Beneficio económico
Proyecto A
$50 000
$80 000
Proyecto B
$70 000
$90 000
Proyecto C
$25 000
$30 000
UNIDAD
1
Modelos matemáticos
Solución
Las acciones que podemos ejecutar para la resolución de este problema son:
1. No invertir.
2. Invertir en el proyecto A.
3. Invertir en el proyecto B.
4. Invertir en el proyecto C.
5. Invertir en los proyectos A y B.
6. Invertir en los proyectos B y C.
7. Invertir en los proyectos A y C.
8. Invertir en los proyectos A, B y C.
¿Cuál de estas acciones se debe tomar?
Para responder a esta pregunta, primero debemos considerar el objetivo que busca el tomador de
decisio­nes. En este caso, lo que se pretende es invertir en el (los) proyecto(s) que genere(n) los máximos
beneficios económicos a la empresa.
Solución
Tabla 1.2
Acciones
1. No invertir
Beneficio
0
2. Invertir en el proyecto A.
$80 000
3. Invertir en el proyecto B.
$90 000
4. Invertir en el proyecto C.
$30 000
5. Invertir en los proyectos A y B.
$170 000
6. Invertir en los proyectos B y C.
$120 000
7. Invertir en los proyectos A y C.
$110 000
8. Invertir en los proyectos A, B y C.
$200 000
Basados en el beneficio descrito en la tabla 1.2, la mejor decisión sería invertir en los tres proyectos con
un beneficio de $200 000. Sin embargo, hay que recordar que existe una restricción en cuanto al monto
de inversión, la cual es una limitante en nuestro espacio de alternativas.
Evaluando el costo de inversión de cada una de las acciones se tiene:
Tabla 1.3
Acciones
1. No invertir
Costo inversión
0
2. Invertir en el proyecto A.
$50 000
3. Invertir en el proyecto B.
$70 000
4. Invertir en el proyecto C.
$25 000
5. Invertir en los proyectos A y B.
$120 000
6. Invertir en los proyectos B y C.
$95 000
7. Invertir en los proyectos A y C.
$75 000
8. Invertir en los proyectos A, B y C.
$145 000
Por tanto, como se puede comprobar mediante la tabla 1.3, la opción de invertir en los tres proyectos
no es posible, pues excede en 45 000 pesos el presupuesto de inversión de 100 000 pesos. Cuando una
acción viola alguna restricción, se dice que es no factible. Las alternativas de solución a este problema
son aquellas acciones factibles, es decir, aquellas que no violan la(s) restricción(es) del problema.
De este modo, las alternativas factibles del problema son: 1, 2, 3, 4, 6 y 7. Entre las alternativas,
observamos que la opción 6, invertir en los proyectos B y C, es la que brinda un mayor beneficio económico. Por lo cual, el coordinador de proyectos debería invertir en los proyectos B y C, lo que le daría
un beneficio económico de 120 000 pesos.
Grupo Editorial Patria©
❚ Construcción de un modelo matemático
En general, un modelo matemático en investigación de operaciones se representa mediante el siguiente formato:
Maximizar o minimizar función objetivo.
Sujeto a:
Restricciones.
La función objetivo debe expresar la meta que se quiere lograr: maximizar ganancia, minimizar costos, minimizar el número de trabajadores, minimizar el tiempo muerto, minimizar desperdicio, entre
otros.
Alerta
La determinación del
objetivo a perseguir,
las limitaciones de
recursos y la definición
de las alternativas de
solución corresponden
a la identificación del
problema, que es la primera
etapa en la aplicación
de la investigación de
operaciones en la práctica.
Las restricciones, por su parte, expresan limitaciones en los recursos o características de la naturaleza del sistema a modelar. La solución obtenida al resolver el modelo debe cumplir con todas las
restricciones.
La información del sistema se expresa a través de parámetros. Un parámetro es un dato dado con
antelación que corresponde a un valor real (o supuesto) presente en el sistema. Típicamente, los costos, las demandas de los clientes, las distancias, las capacidades y el tiempo de procesamiento, entre
otros, son vistos como parámetros.
Las soluciones al sistema están dadas mediante variables, usualmente llamadas de decisión. Para
solucionar el modelo matemático, siempre es necesario determinar el valor que deberán tomar las variables, que representan aspectos que el tomador de decisiones puede controlar. Algunos ejemplos de
variables son cantidad de productos a producir, cantidad de productos a enviar a cada cliente, decisión
de instalar o no un almacén en cierta ubicación, decisión de invertir o no en cierto proyecto, cantidad de
trabajadores a contratar, entre otros.
Existen varios tipos de variables, dependiendo del tipo de valor que puedan tomar. Las variables
continuas pueden tomar valores fraccionarios, por ejemplo: litros, kilos, pesos. Por su parte, las variables enteras pueden tomar únicamente valores enteros, por ejemplo: cantidad de trabajadores a contratar, camiones a enviar a cierto cliente, máquinas a utilizar, etcétera. Las variables binarias únicamente
pueden tomar valor de 0 o 1 y, por lo general, se utilizan para representar decisiones de hacer o no
hacer, por ejemplo: la decisión de instalar o no un almacén en cierta ubicación, la decisión de invertir
o no en cierto proyecto, etcétera.
Alerta
La definición de las
variables de decisión es
uno de los pasos críticos
y más complicados en la
construcción de un modelo
matemático.
Problema resuelto
Una costurera fabrica y vende faldas y pantalones de mezclilla, para lo cual cada semana compra un
rollo de 50 metros de mezclilla. Para hacer un pantalón requiere 2 metros de tela, mientras que para
una falda, 1.5 metros.
Por lo general, ella trabaja ocho horas diarias, de lunes a viernes. Para hacer un pantalón requiere
tres horas, mientras que hacer una falda le toma una. Un pantalón le genera 80 pesos de ganancia,
mientras que al vender una falda gana 50 pesos.
Construir un modelo matemático que permita maximizar la ganancia semanal de la costurera, considerando que todo producto que fabrique puede venderlo.
Solución
Como primer paso, tenemos que establecer los parámetros del problema.
Tabla 1.4 Parámetros
Pantalón
Falda
Cantidad de material
2 metros
1.5 metros
50 metros
Disponible
Tiempo de mano de obra
3 horas
1 hora
8 horas × 5 días = 40 horas
Ganancia
80
50
UNIDAD
1
Modelos matemáticos
El siguiente paso es definir las variables, recuérdese que estas deben representar lo que necesitamos
determinar. En este caso, la costurera quiere saber la cantidad de pantalones y faldas que debe fabricar.
Por tanto, las variables deben quedar:
x1 = cantidad de pantalones a fabricar en una semana.
x2 = cantidad de faldas a fabricar en una semana.
Para construir la función objetivo, debemos tomar en cuenta que la costurera quiere maximizar su ganancia semanal. Por tanto, tomando en cuenta que la ganancia por vender un pantalón es de 80 pesos
y por una falda es de 50 pesos. Tenemos que:
Ganancia semanal por venta de pantalones = 80 × x1 pesos.
Ganancia semanal por venta de faldas = 50 × x2 pesos.
Ahora, utilizaremos z para representar la ganancia semanal de la costurera, resultando la función objetivo como:
Maximizar z = 80x1 + 50x2
Después, hay que escribir las restricciones. En este problema, la costurera tiene restricciones de material (mezclilla) y mano de obra.
Restricciones:
1. De mezclilla.
Cantidad de mezclilla usada en pantalones + cantidad de mezclilla usada en faldas ≤ cantidad de
mezclilla disponible.
°Cantidad de mezclilla usada en pantalones = 2 metros por cada pantalón que se fabrique (la
cantidad de pantalones se representa con la variable x1 ) = 2x1.
°Cantidad de mezclilla usada en faldas = 1.5 metros por cada falda que se fabrique (la cantidad de
pantalones se representa con la variable x2 ) = 1.5x2.
Por tanto, la restricción de mezclilla resulta:
2x1 + 1.5x2 ≤ 50
2. Mano de obra.
Horas dedicadas a fabricar pantalones + horas dedicadas a fabricar faldas ≤ horas disponibles
Por ende, la restricción de mano de obra es:
3x1 + 1x2 ≤ 40
Además de las restricciones de material y mano de obra, también es necesario indicar las restricciones
respecto al tipo de variable con el que se está trabajando. En este caso, al tratarse de cantidad de producción, podemos inferir que estas variables deben ser mayores que cero (no puede haber producción
negativa) y entera (asumiendo que se trata de pantalones y faldas completos). Estas restricciones se
identifican de la siguiente manera: x1, x2 ≥ 0, enteras.
El modelo matemático para representar el problema de la costurera es:
Maximizar z = 80x1 + 50x2
Sujeto a:
2x1 + 1.5x2 ≤ 50
3x1 + 1x2 ≤ 40
x1, x2 ≥ 0, enteras.
Grupo Editorial Patria©
Una solución a un modelo matemático debe satisfacer todas
las restricciones del modelo. Retomando el problema de la costurera, la solución de fabricar 15 pantalones y 10 faldas no es
factible, pues aun cuando cumple con la restricción de material
(2 × 15 + 1.5 × 10 = 45 ≤ 50) se excede en quince horas del tiempo semanal disponible (3 × 15 + 1 × 10 = 55 ≥ 40).
Para obtener la solución óptima (o cercana a la óptima) de
un modelo matemático existen diversos algoritmos y herramientas entre los que se encuentran el método gráfico, el método
simplex, los algoritmos especiales y, de más reciente creación,
los algoritmos metaheurísticos, para la resolución de modelos
matemáticos de alta complejidad.
Alerta
Es de suma importancia que el modelo matemático incluya la correcta
representación de las restricciones del problema; de otro modo, se podría
excluir del conjunto de soluciones factibles la solución óptima o la resolución
del modelo podrá dar lugar a una solución que en realidad no es factible.
Alerta
Todo modelo matemático debe ser validado, en cuya fase se analizará si
la solución obtenida con el modelo refleja en realidad lo que ocurre en el
sistema.
Una vez que el modelo ha sido validado, se pasa a la fase de
implementación, que es la traducción del modelo (o los resultados del
modelo) en el lenguaje del cliente o dueño del sistema.
Problema resuelto
Plantear un modelo matemático que represente el problema de proyectos de inversión.
Solución
Como primer paso, debemos definir la información sobre los parámetros que tenemos y las variables
que se requieren.
Parámetros:
Para el problema de proyectos de inversión, los parámetros que tenemos son el presupuesto para los
proyectos, los costos de inversión y los beneficios económicos de cada proyecto.
En este caso, el presupuesto para los proyectos es: $100 000.
Tabla 1.5 Información sobre los proyectos
Nombre
Costo de inversión
Beneficio económico
Proyecto A
$50 000
$80 000
Proyecto B
$70 000
$90 000
Proyecto C
$25 000
$30 000
Variables de decisión:
Lo que queremos saber es en qué proyectos debe invertir el dinero. Es decir, para cada proyecto, la
decisión es invertir o no invertir en él. Por tanto, se necesita una variable por cada proyecto, la cual
puede tomar únicamente dos valores. Este tipo de variables de decisión se suele representar como
binarias, de la siguiente manera:
1 si se invierte en el proyecto A
xA = 
aso
0 en otro ca
1 si se invierte en el proyecto B
xB = 
aso
0 en otro ca
1 si se invierte en el proyecto C
xC = 
aso
0 en otro ca
UNIDAD
1
Modelos matemáticos
Función objetivo:
Lo que se busca es obtener los máximos beneficios económicos de las inversiones. Por tanto, la función
objetivo deberá tener la siguiente forma:
Maximizar: Beneficio por invertir en proyecto A + Beneficio por invertir en el proyecto B + Beneficio por
invertir en el proyecto C.
Tomando la información de los proyectos y las variables de decisión y utilizando z para representar el
beneficio de invertir en los proyectos, la función objetivo resulta:
Maximizar z = 80 000xA + 90 000xB + 30 000xC.
Restricciones:
1.Del presupuesto de inversión. En este caso, la inversión en proyectos no debe superar los $100 000
disponibles.
Costo de invertir en proyecto A + Costo de invertir en proyecto B + Costo de invertir en proyecto C
≤ Presupuesto disponible.
Resultando:
50 000xA + 70 000xB + 25 000xC ≤ 100 000
2.De la naturaleza de las variables. Para este problema, las variables son binarias, esto se representa
de la siguiente manera:
xA, xB, xC ∈ {0, 1}
Por tanto, el modelo matemático para el problema de proyectos de inversión resulta:
Maximizar z = 80 000xA + 90 000xB + 30 000xC
Sujeto a:
50 000xA + 70 000xB + 25 000xC ≤ 100 000
xA, xB, xC ∈ {0, 1}
1.4 Modelos matemáticos clásicos
Alerta
No existe una receta
para formular modelos
matemáticos. Inclusive,
puede existir más de un
modelo para representar un
sistema. Una buena forma
de aprender a construirlos
es analizar y comprender
modelos matemáticos
que se encuentran en la
literatura de investigación
de operaciones y practicar
construyéndolos.
En esta sección se analizarán algunos de los modelos matemáticos clásicos.
❚ Problemas de mezcla de productos
En este tipo de problemas se tienen que determinar las cantidades a fabricar de ciertos productos en
algún periodo de tiempo. Entre las restricciones que se presentan en este tipo de problemas están la
limitación de recursos, de mano de obra, capacidades de plantas, demanda de productos limitada,
entre otros. El objetivo más común es el de maximizar la ganancia que genera la venta de productos.
Problema resuelto
Una compañía fabrica tres productos: crema corporal, crema facial y crema para bebés. Los tres productos comparten ingredientes en su elaboración: mezcla base, aceite de almendras, vitamina E y manteca
de karité. En la tabla 1.6 se presenta información acerca de los porcentajes de composición de cada
uno de los tres productos.
Grupo Editorial Patria©
Tabla 1.6
Mezcla
base
Aceite de
almendras
Vitamina
E
Manteca
de karité
Crema corporal
90%
4%
1%
5%
Crema facial
85%
8%
2.5%
4.5%
Crema para bebé
80%
10%
-
10%
Cada día, la compañía cuenta con 500 litros de la mezcla base, 50 litros de aceite de almendras, 5 litros
de vitamina E y 30 litros de manteca de karité. Adicionalmente, se tiene la siguiente información sobre
costos y precios de venta.
Tabla 1.7Tabla 1.8
Ingrediente
Costo por litro
Producto
Precio de venta ($ / l)
$20
Crema corporal
$80
Aceite de almendras
$500
Crema facial
$120
Vitamina E
$1 500
Crema para bebé
$100
Manteca de karité
$200
Mezcla base
La demanda diaria de la crema corporal es de 200 litros, de la crema facial, 150 litros, y de la crema para
bebé, de 250 litros. Por políticas de la empresa, se deben fabricar al menos 50 litros de crema facial.
¿Cuánto de cada producto deberá producir la compañía para maximizar su utilidad?
Solución
Parámetros:
Los parámetros de este problema son los costos de cada ingrediente, los precios de venta, la disponibilidad de productos, los porcentajes de composición de cada producto, la demanda de cada producto
y el mínimo a producir de crema facial.
Variables:
Dado que se desea determinar la cantidad diaria de litros a producir de cada uno de los productos, las
variables de decisión se definen de la siguiente manera:
x1 = cantidad de litros diarios de crema corporal
x2 = cantidad de litros diarios de crema facial
x3 = cantidad de litros diarios de crema para bebé
Función objetivo:
En este caso, el objetivo es maximizar la utilidad de la compañía; la utilidad es la diferencia entre los
ingresos y los gastos. En este caso, los ingresos provienen de la venta de litros de producto, mientras
que los gastos se dan a través de los costos de los ingredientes.
Utilidad = ingresos por ventas - gastos por ingredientes.
Ingresos por ventas = ingreso por ventas de crema corporal + ingreso por ventas de crema facial +
ingreso por ventas de crema para bebé = 80x1 + 120x2 + 100x3.
Gastos por ingredientes = gasto por uso de mezcla base + gasto por uso de aceite de almendras + gasto por uso de vitamina E + gasto por uso de manteca de karité = 20(0.9x1 + 0.85x2 + 0.8x3 ) + 500(0.04x1
+ 0.08x2 + 0.1x3 ) + 1 500(0.01x1 + 0.025x2 ) + 200(0.05x1 + 0.045x2 + 0.1x3 ).
Si representamos la utilidad diaria por z, tenemos la siguiente función objetivo:
Maximizar z = 17x1 + 16.5x2 + 14x3
UNIDAD
1
Modelos matemáticos
Restricciones:
Las restricciones del problema están dadas por disponibilidad limitada de ingredientes, la demanda de
los clientes y las estrategias de la compañía.
1.La disponibilidad limitada de ingredientes tiene la siguiente estructura:
(litros de ingrediente Y usados en crema corporal) + (litros de ingrediente Y usados en crema facial)
+ (litros de ingrediente Y usados en crema para bebé) ≤ litros disponibles de ingrediente Y.
° Restricción para la mezcla base: 0.9x1 + 0.85x2 + 0.8x3 ≤ 500.
° Restricción para el aceite de almendras: 0.04x1 + 0.08x2 + 0.1x3 ≤ 50.
° Restricción para la vitamina E: 0.01x1 + 0.025x2 ≤ 5.
° Restricción para la manteca de karité: 0.05x1 + 0.045x2 + 0.1x3 ≤ 30.
2.Las demandas de los clientes tienen la siguiente estructura:
Litros diarios de producto x ≤ Demanda diaria de producto x (en litros).
° Restricción para la demanda de crema corporal: x1 ≤ 200.
° Restricción para la demanda de crema facial: x2 ≤ 150.
° Restricción para la demanda de crema para bebé: x3 ≤ 250.
3.De manera similar, la restricción de fabricar por lo menos 50 litros de crema facial (estrategia de la
compañía), se representa: x2 ≥ 50.
Las restricciones de demanda y política de la empresa presentada en este problema pueden verse
como cotas para las variables de decisión.
Las variables de decisión, por tratarse de litros de producto, son no negativas. Dado que x2 cuenta con una cota inferior mayor que cero, faltaría incluir x1 ≥ 0, x3 ≥ 0.
El modelo matemático resulta:
Maximizar z = 17x1 + 16.5x2 + 14x3
Sujeto a:
0.9x1 + 0.85x2 + 0.8x3 ≤ 500
0.04x1 +0.08x2 + 0.1x3 ≤ 50
0.01x1 + 0.025x2 ≤ 5
0.05x1 + 0.045x2 + 0.1x3 ≤ 30
0 ≤ x1 ≤ 200
50 ≤ x2 ≤ 150
0 ≤ x3 ≤ 250
❚ Problemas de planificación de procesos productivos
Los problemas de planificación de procesos productivos involucran la determinación de niveles de
producción, fuerza de trabajo, inventario, tiempo extra y subcontrataciones, entre otros, con el fin
de determinar el plan estratégico para los distintos periodos de planeación de la compañía.
La información que usualmente se tiene en este tipo de modelos es la demanda de producto o
productos (o pronósticos de la demanda), costo de producir en tiempo normal y en tiempo extra, costo
por subcontratar, despidos, contrataciones y por mantener inventario, entre otros.
Este tipo de problemas suelen llamarse de planeación agregada y son decisiones de tipo estratégico dentro de la compañía.
10
Grupo Editorial Patria©
❚ Planeación de la producción con múltiples periodos
Problema resuelto
Una empresa que produce una línea de componentes para computadoras está planeando los niveles
de producción para el periodo de enero a junio.
Los pronósticos de las demandas de componentes para los seis meses son de 980, 640, 700, 1 200,
900 y 550 unidades, respectivamente. El inventario al final de diciembre se espera que sea de 500
unidades y la empresa desea tener 600 unidades al final de junio. El costo por mantener una unidad en
inventario un mes es de $3.
Debido a cuestiones de costos de materia prima y salarios de los trabajadores, el precio por producir
un componente varía de un mes a otro. Al analizar datos históricos, la empresa considera que el precio
de fabricación de una unidad es de $40, $34, $38, $32, $41 y $38 para enero, febrero, marzo, abril,
mayo y junio, respectivamente.
Construir un modelo matemático que permita determinar la cantidad de componentes a producir en
cada periodo.
Solución
Parámetros:
Los parámetros de este problema son los pronósticos de las demandas, costos de inventario y de producción.
Variables:
Lo que se quiere saber son las cantidades a producir en cada mes; por tanto, las variables son:
P1 = unidades a producir en el mes de enero.
P2 = unidades a producir en el mes de febrero.
P3 = unidades a producir en el mes de marzo.
P4 = unidades a producir en el mes de abril.
P5 = unidades a producir en el mes de mayo.
P6 = unidades a producir en el mes de junio.
Dado que los costos de producción cambian mensualmente, puede resultar conveniente producir más
de lo demandado algún mes (por lo común los meses con producción más económica) para poder
reducir la producción en los meses posteriores (por lo común los meses con un costo de producción
mayor). Por tanto, se requieren variables extra que correspondan al exceso de producción que se guardará para periodos posteriores, las cuales representan el inventario mensual:
I1 = unidades en inventario en el mes de enero.
I2 = unidades en inventario en el mes de febrero.
I3 = unidades en inventario en el mes de marzo.
I4 = unidades en inventario en el mes de abril.
I5 = unidades en inventario en el mes de mayo.
En este caso, I6 = unidades en inventario en el mes de junio, no se considera una variable, pues su valor
está definido por las políticas de la empresa, I6 = 600 unidades.
Función objetivo:
El objetivo del problema es minimizar el costo total del plan de producción, donde se observan dos
tipos de costos: costo unitario de producción y costo unitario por mantener en inventario. El objetivo
quedaría entonces de la siguiente manera:
Minimizar z = costos por mantener inventario en cada uno de los meses + costos de producción de cada
uno de los meses.
Minimizar z = 3I1 + 3I2 + 3I3 + 3I4 + 3I5 + 3I6 + 40P1 + 34P2 + 38P3 + 32P4 + 41P5 + 38P6
11
UNIDAD
1
Modelos matemáticos
Restricciones:
Para este problema, se debe determinar la relación que existe entre la producción, el nivel de inventario
y los distintos periodos de planeación.
1.El inventario lo constituyen aquellas unidades que permanecen uno o varios periodos más en la
empresa, por exceso de producción.
Por tanto, la relación entre el inventario y las unidades producidas es:
Inventario del mes de enero = (unidades disponibles en mes de enero) - (unidades vendidas en el mes
de enero).
Esto es equivalente a:
Inventario del mes de enero = (unidades producidas en el mes de enero + inventario del mes de diciembre) - (unidades demandas en enero).
Utilizando las variables de decisión y considerando que de acuerdo con el problema en el mes de diciembre se tuvo un inventario final de 500 unidades, tenemos:
I1 = P1 + 500 - 980
De manera similar, para los siguientes meses tenemos las siguientes restricciones.
I2 = P2 + I1 - 640
I3 = P3 + I2 - 700
I4 = P4 + I3 - 1 200
I5 = P5 + I4 - 900
I6 = P6 + I5 - 550, dado que se requiere tener 600 unidades en inventario en el
mes de junio, esta restricción queda como:
600 = P6 + I5 - 550
El modelo queda como sigue:
Minimizar z = 3I1 + 3I2 + 3I3 + 3I4 + 3I5 + 3I6 + 40P1 + 34P2 + 38P3 + 32P4 + 41P5 + 38P6
Sujeto a:
I1 = P1 + 500 - 980
I2 = P2 + I1 - 640
I3 = P3 + I2 - 700
I4 = P4 + I3 - 1 200
I5 = P5 + I4 - 900
600 = P6 + I5 - 550
I1, I2, I3, I4, I5, I6, P1, P2, P3, P4, P5, P6 ≥ 0
❚ Planeación de la producción con programación de la fuerza de trabajo
En este tipo de problemas también se busca determinar las unidades a producir por la empresa en el
periodo de planeación, pero, a diferencia del problema anterior en el que no se tenía control sobre los
trabajadores, aquí se puede tomar la decisión de contratar o despedir personal con el fin de minimizar
los costos de operación de la empresa. No obstante, resulta lógico pensar que contratar o despedir a
un empleado genera un costo para la empresa por motivos de capacitación, indemnización, sueldos,
entre otros.
12
Grupo Editorial Patria©
Problema resuelto
El gerente general de una empresa que produce aparatos electrónicos está interesado en planear su
producción para el próximo año. Los pronósticos de ventas para el siguiente año se presentan en la
tabla 1.9.
Tabla 1.9
Días
laborales
Demanda
(en unidades)
Enero-febrero
41
31 000
Marzo-abril
40
40 000
Mayo-junio
42
52 000
Julio-agosto
41
43 000
Septiembre-octubre
43
31 000
Noviembre-diciembre
39
21 000
Bimestre
En la actualidad, la empresa cuenta con 100 empleados, pero cada bimestre se pueden contratar o
despedir empleados, incurriendo en un costo de $300 por cada empleado contratado y de $200 por
cada empleado despedido. El sueldo de un empleado es de $60 por día de trabajo y cada empleado
produce 12 unidades diariamente.
El costo por mantener inventario es de $5 por unidad por bimestre.
Solución
Parámetros:
Los parámetros que se tienen que considerar son los días laborales por bimestre, la demanda bimestral,
el número de empleados, el costo de contratación y despido, el sueldo diario, la tasa de producción y el
costo por mantener inventario.
Variables:
De manera similar al problema de planeación de la producción con múltiples periodos, en este se requieren variables que reflejen la cantidad de unidades a producir por periodo, en este caso bimestre.
P1 = unidades a producir en el bimestre enero-febrero.
P2 = unidades a producir en el bimestre marzo-abril.
P3 = unidades a producir en el bimestre mayo-junio.
P4 = unidades a producir en el bimestre julio-agosto.
P5 = unidades a producir en el bimestre septiembre-octubre.
P6 = unidades a producir en el bimestre noviembre-diciembre.
Aquí también se definen las variables correspondientes a la cantidad de inventario por bimestre.
I1 = unidades en inventario en el bimestre enero-febrero.
I2 = unidades en inventario en el bimestre marzo-abril.
I3 = unidades en inventario en el bimestre mayo-junio.
I4 = unidades en inventario en el bimestre julio-agosto.
I5 = unidades en inventario en el bimestre septiembre-octubre.
I6 = unidades en inventario en el bimestre noviembre-diciembre.
Dado que se debe determinar también la fuerza de trabajo por bimestre, y esta fuerza de trabajo se
determina mediante despidos y contrataciones, se requieren variables que representen los valores que
deben tomar cada uno de estos elementos. De modo que:
W1 = cantidad de empleados en el bimestre enero-febrero.
W2 = cantidad de empleados en el bimestre marzo-abril.
W3 = cantidad de empleados en el bimestre mayo-junio.
13
UNIDAD
1
Modelos matemáticos
W4 = cantidad de empleados en el bimestre julio-agosto.
W5 = cantidad de empleados en el bimestre septiembre-octubre.
W6 = cantidad de empleados en el bimestre noviembre-diciembre.
Para las contrataciones:
H1 = número de contrataciones en el bimestre enero-febrero.
H2 = número de contrataciones en el bimestre marzo-abril.
H3 = número de contrataciones en el bimestre mayo-junio.
H4 = número de contrataciones en el bimestre julio-agosto.
H5 = número de contrataciones en el bimestre septiembre-octubre.
H6 = número de contrataciones en el bimestre noviembre-diciembre.
Para los despidos:
F1 = número de despidos en el bimestre enero-febrero.
F2 = número de despidos en el bimestre marzo-abril.
F3 = número de despidos en el bimestre mayo-junio.
F4 = número de despidos en el bimestre julio-agosto.
F5 = número de despidos en el bimestre septiembre-octubre.
F6 = número de despidos en el bimestre noviembre-diciembre.
Función objetivo:
El objetivo del problema es minimizar el costo total del plan de producción, donde se observan cinco
tipos de costos: costo unitario de producción, costo unitario por mantener en inventario, costo por
sueldos de empleados, costo por contratar y costo por despedir.
Considerando los parámetros para dichos costos y las variables previamente definidas, el objetivo
resulta:
Minimizar z = 5I1 + 5I2 + 5I3 + 5I4 + 5I5 + 5I6 + ($60/día laboral × 41 días laborales)W1 + ($60/día laboral ×
40 días laborales)W2 + ($60/día laboral × 42 días laborales)W3 + ($60/día laboral × 41 días laborales)W4
+ ($60/día laboral × 43 días laborales)W5 + ($60/día laboral × 39 días laborales)W6 + 300 H1 + 300 H2 +
300H3 + 300H4 + 300H5 + 300H6 + 200F1 + 200F2 + 200F3 + 200F4 + 200F5 + 200F6.
Restricciones:
Además de las restricciones que establecen la relación que existe entre la producción, el nivel de inventario y los distintos periodos de planeación, se requieren dos conjuntos más de restricciones:
°Restricciones que establecen la capacidad de producción de acuerdo con la tasa de producción por
empleado y la cantidad de empleados por periodo.
°Restricciones que establecen la cantidad de empleados por periodo, en relación con las contrataciones y despidos en el periodo.
1.Las restricciones de inventario y producción siguen la estructura:
Inventario del bimestre i = (unidades que quedaron en inventario en el bimestre anterior a i) + (unidades
producidas en bimestre i) - (unidades vendidas en el bimestre i).
Esto es equivalente a:
I1 = P1 + I0 - 31 000
I3 = P3 + I2 - 52 000
I4 = P4 + I3 - 43 000
I2 = P2 + I1 - 40 000
14
I5 = P5 + I4 - 31 000
I6 = P6 + I5 - 21 000
Grupo Editorial Patria©
2.Restricciones de capacidad de producción, las cuales siguen la siguiente estructura lógica:
Cantidad a producir en bimestre i = (tasa diaria de producción por empleado (unidades/día laboral ×
empleado)) × (cantidad de días laborales en el bimestre i ) × (cantidad de empleados en el bimestre i ).
Traducido en variables y parámetros resulta el siguiente conjunto de restricciones.
P1 = 12 (unidades/día laboral × empleado) × 41 días laborales × W1
P2 = 12 (unidades/día laboral × empleado) × 40 días laborales × W2
P3 = 504W3
P4 = 492W4
P5 = 516W5
P6 = 468W6
3.Las que relacionan el nivel de fuerza de trabajo con las contrataciones y despidos, tienen la siguiente
estructura:
Trabajadores en bimestre i = (trabajadores en bimestre anterior a i ) + (contrataciones en bimestre i )
- (despidos en bimestre i ).
Utilizando las variables correspondientes, tenemos:
W1 = W0 + H1 - F1
W2 = W1 + H2 - F2
W3 = W2 + H3 - F2
W4 = W3 + H4 - F3
W5 = W4 + H5 - F4
W6 = W5+ H6 - F5
El modelo resulta:
Minimizar z = 5I1 + 5I2 + 5I3 + 5I4 + 5I5 + 5I6 + 2 460W1 + 2 400W2 + 2 520W3 + 2 460W4 + 2 580W5 +
2 340W6 + 300H1 + 300H2 + 300H3 + 300H4 + 300H5 + 300H6 + 200F1 + 200F2 + 200F3 + 200F4 + 200F5
+ 200F6.
P1 = 492W1
P2 = 480W2
P3 = 504W3
P4 = 492W4
P5 = 516W5
P6 = 468W6
W1 = 100 + H1 - F1
W2 = W1 + H2 - F2
W3 = W2 + H3 - F2
W4 = W3 + H4 - F3
W5 = W4 + H5 - F4
W6 = W5 + H6 - F5
I1 = P1 - 31 000
I2 = P2 + I1 - 40 000
Alerta
I3 = P3 + I2 - 52 000
I4 = P4 + I3 - 43 000
I5 = P5 + I4 - 31 000
I6 = P6 + I5 - 21 000
P1, P2, P3, P4, P5, P6, H1, H2, H3, H4, H5, H6, F1, F2, F3, F4, F5, F6, I1, I2, I3, I4, I5, I6 > = 0.
W1, W2, W3, W4, W5, W6 ≥ 0, enteras.
Adicionalmente se incluyen
las restricciones que
determinen la naturaleza
de las variables; por
ejemplo, las variables
fuerza de trabajo puede ser
recomendable considerarlas
enteras.
15
UNIDAD
1
Modelos matemáticos
❚ Expresando los modelos en forma resumida
En los problemas anteriores ha sido posible expresar explícitamente cada una de las restricciones requeridas y la función objetivo, desarrollando a detalle cada uno de estos elementos.
En la práctica es común encontrar modelos en forma general, de manera que, tomándolo como
base, se puedan realizar las sustituciones correspondientes y hacer que represente cada situación
particular.
Para el de planeación de la producción con programación de la fuerza de trabajo, denotemos:
cc = Costo por contratar un trabajador.
cf = Costo por despedir un trabajador.
ci = Costo por mantener una unidad en inventario por un periodo.
cd = Costo diario por trabajador.
nt = Días laborales en el periodo t.
Dt = Demanda en el periodo t.
R = Tasa de producción diaria por un empleado.
Además, se puede observar que se requiere una variable de cada tipo para cada uno de los periodos de planeación. Consideremos que se tienen T periodos de planeación, para el caso en particular
T = 6, donde el bimestre enero-febrero corresponde al periodo 1, marzo-abril al periodo 2, y así sucesivamente. Por tanto, las variables pueden dejarse expresadas como:
Pt = unidades a producir en el periodo t.
It = unidades en inventario en el periodo t.
Wt = cantidad de empleados en el periodo t.
Ht = número de contrataciones en el periodo t.
Ft = número de despidos en el periodo t.
De este modo, la función objetivo podría pasar de:
Minimizar z = 5I1 + 5I2 + 5I3 + 5I4 + 5I5 + 5I6 + 2 460W1 + 2 400W2 + 2 520W3 + 2 460W4 + 2 580W5 +
2 340W6 + 300H1 + 300H2 + 300H3 + 300H4 + 300H5 + 300H6 + 200F1 + 200F2 + 200F3 + 200F4 + 200F5
+ 200F6.
Al verla en forma resumida como:
T
Minimizar z = ∑ ( ci ⋅ It + cd ⋅ nt ⋅ Wt + cc ⋅ Ht + cf ⋅ Ft )
t =1
Restricciones:
De manera similar, cada una de las restricciones resultaría:
1. Las de inventario y producción:
Inventario del periodo t = (unidades que quedaron en inventario en el periodo t - 1) + (unidades
producidas en periodo t) - (unidades vendidas en el periodo t).
Por tanto:
It = It - 1 + Pt - Dt y se necesita una para 1 ≤ t ≤ T.
2. Las restricciones que establecen la capacidad de producción con:
Cantidad a producir en periodo t = (tasa diaria de producción por empleado) × (cantidad de días
laborales en periodo t) × (cantidad de empleados en periodo t).
Pt = R × yt × Wt para 1 ≤ t ≤ T.
16
Grupo Editorial Patria©
3. Las restricciones que relacionan el nivel de fuerza de trabajo con las contrataciones y despidos:
Trabajadores en periodo t = (trabajadores en periodo t - 1) + (contrataciones en periodo t) (despidos en periodo t).
Wt = Wt - 1 + Ht - Ft para 1 ≤ t ≤ T
Así, el modelo matemático resulta:
T
Minimizar z = ∑ ( ci ⋅ It + cd ⋅ nt ⋅ Wt + cc ⋅ Ht + cf ⋅ Ft )
t =1
Sujeto a:
It = It - 1 + Pt - Dt para 1 ≤ t ≤ T
Pt = R ⋅ yt ⋅ Wt para 1 ≤ t ≤ T
Wt = Wt - 1 + Ht - Ft para 1 ≤ t ≤ T
Wt, Ht, Ft, Pt ≥ 0 para 1 ≤ t ≤ T
Wt enteras
Alerta
Ahora que ya sabemos
establecer modelos
de manera resumida,
usaremos esta notación
libremente.
❚ Planeación de la producción, características adicionales
Hay ciertas prácticas que realizan las empresas que se deben considerar al planear la producción, entre
dichas prácticas se encuentra la producción en tiempo extra, subcontratación de servicios o productos,
la posibilidad de tener faltantes, entre otros.
Al considerar estos aspectos en el modelo matemático para planeación de la producción, nos
acercamos más al complejo sistema de producción de una empresa.
Problema resuelto
Siguiendo con el problema resuelto de planeación de la producción con programación de la fuerza de
trabajo, consideremos que la capacidad de la empresa puede incrementarse 30% mediante tiempo
extra. Las unidades producidas en tiempo extra tienen un costo adicional de $3 por unidad y es posible subcontratar a un costo de $9 por unidad. Además, se puede tener tiempo muerto en la línea de
producción, aunque esto ocasiona un costo bimestral de $2 por cada unidad no producida debido a
tiempo muerto.
Solución
Parámetros:
Además de los parámetros antes establecidos, se requieren los siguientes:
cpe = costo por unidad producida en tiempo extra.
cs = costo por unidad subcontratada.
ctm = costo por unidad no producida debido a tiempo muerto.
MTe = porcentaje de capacidad de producción que puede usarse para producir en tiempo extra.
Variables:
En este caso, se requieren variables extra que reflejen las unidades producidas en tiempo extra, las
unidades subcontratadas y las unidades no producidas debido a tiempo muerto. Así:
PEt = unidades a producir en tiempo extra en el periodo t.
St = unidades subcontratadas en el periodo t.
TMt = unidades no producidas por tiempo muerto en el periodo t.
17
UNIDAD
1
Modelos matemáticos
Función objetivo:
El objetivo del problema es minimizar el costo total del plan de producción; por tanto, debemos agregar los costos extra que se expresan en el enunciado del problema. El objetivo resulta:
T
Minimizar z = ∑ ( ci ⋅ It + cd ⋅ nt ⋅ Wt + cc ⋅ Ht + cf ⋅ Ft + cpe ⋅ PE t + cs ⋅ S t + ctm ⋅ TMt )
t =1
Sustituyendo los parámetros:
6
Minimizar z = ∑ ( 5 ⋅ It + 60 ⋅ nt ⋅ Wt + 300 ⋅ Ht + 200 ⋅ Ft + 3 ⋅ PE t + 9 ⋅ S t + 2 ⋅ TMt )
t =1
Restricciones:
1.En las restricciones que regulan el inventario con la cantidad de unidades disponibles y vendidas, es
necesario considerar que es posible adquirir unidades mediante la subcontratación. Por tanto, las
restricciones deberán tener la siguiente estructura:
Inventario del periodo: t = (unidades que quedaron en inventario en el periodo t - 1) + (unidades
producidas en periodo t) + (unidades subcontratadas en periodo t) - (unidades vendidas en el pe­
riodo t).
It = It - 1 + Pt + St - Dt para 1 ≤ t ≤ 6
2.Las restricciones referentes a la producción deben tomar en cuenta, además de la capacidad de
producción en tiempo normal, la producción en tiempo extra y las unidades que resulta mejor
no producir (unidades en tiempo muerto).
Resultando:
Producción en periodo t = (tasa diaria de producción por empleado) ⋅ (cantidad de días laborales en
periodo t) ⋅ (cantidad de empleados en periodo t) + (producción en tiempo extra) - (unidades no producidas debido a tiempo muerto).
Pt = R ⋅ nt ⋅ Wt + PEt - TMt para 1 ≤ t ≤ 6
Pt = 12 ⋅ nt ⋅ Wt + PEt - TMt para 1 ≤ t ≤ 6
3.Si se considera la posibilidad de producir en tiempo extra, se requiere establecer, a través de restricciones, la cantidad máxima de unidades producidas en tiempo extra, que corresponden a 30% de la
producción en tiempo normal; por tanto,
Producción en tiempo extra en periodo t ≤ (porcentaje de capacidad de producción que pueden usarse
para producir en tiempo extra) × (capacidad de producción en tiempo normal).
Producción en tiempo extra en periodo t ≤ (porcentaje de capacidad de producción que pueden usarse
para producir en tiempo extra) × (tasa diaria de producción por empleado × cantidad de días laborales
en periodo t × cantidad de empleados en periodo t).
PEt ≤ MTe × R × nt × Wt para 1 ≤ t ≤ 6
PEt ≤ 0.30 × 12 × nt × Wt para 1 ≤ t ≤ 6
4.Las restricciones que relacionan el nivel de fuerza de trabajo con las contrataciones y despidos permanecen iguales:
Wt = Wt - 1 + Ht - Ft para 1 ≤ t ≤ 6
Modelo matemático:
6
Minimizar z = ∑ ( 5 ⋅ It + 60 ⋅ nt ⋅ Wt + 300 ⋅ Ht + 200 ⋅ Ft + 3 ⋅ PE t + 9 ⋅ S t + 2 ⋅ TMt )
t =1
18
Grupo Editorial Patria©
Sujeto a:
It = It - 1 + Pt + St - Dt para 1 ≤ t ≤ 6
Pt = 12 ⋅ nt ⋅ Wt + PEt - TMt para 1 ≤ t ≤ 6
PEt ≤ 0.30 ⋅ 12 ⋅ nt ⋅ Wt para 1 ≤ t ≤ 6
Wt = Wt - 1 + Ht - Ft para 1 ≤ t ≤ 6
Wt, Ht, Ft, Pt, PEt, St + TMt ≥ 0 para 1 ≤ t ≤ T
Wt enteras
❚ Problemas financieros
El modelado matemático es de gran utilidad en numerosos procesos financieros. Hemos visto en esta
unidad un problema de decisión sobre un conjunto de inversiones. Además del análisis de inversiones,
los modelos matemáticos también son útiles para problemas de caja óptima, a través de los cuales se
pretende determinar el nivel de efectivo que conviene para no perder liquidez, problemas de asignación de préstamos a un conjunto de clientes, entre otros.
Problema resuelto
Manuel desea invertir $50 000 y permitir que esa cantidad incremente su valor en un periodo de cinco
años. En la actualidad hay tres planes en los que puede invertir. El plan A le otorga un interés de 4%
anual, pudiendo hacer cualquier movimiento al finalizar cada año. El plan de inversión B le ofrece un
interés de 9% cada dos años. Mientras que el plan C le ofrece un interés de 14% si mantiene su dinero
en dicho plan por tres años.
¿Cómo debería Manuel invertir su dinero a fin de obtener el mayor rendimiento al finalizar el quinto
año?
Solución
Parámetros:
En este caso, tenemos los siguientes parámetros:
n = horizonte de planeación de las inversiones = 5
IA = tasa de interés anual de plan A = 4% por año
IB = tasa de interés por dos años de plan B = 9% por cada dos años
IC = tasa de interés por tres años de plan C = 14% por cada tres años
Q = cantidad de dinero disponible en el año 0, para invertir $50 000
También, sabemos que el plan A es anual (tA = 1), el plan B es a dos años (tB = 2) y el plan C es a tres
años (tC = 3).
Variables:
¿Qué queremos saber? Las cantidades a invertir (de los $50 000 originales, llamémosle dinero de bolsillo) a lo largo de los cinco años en los tres planes de inversión. Por tanto, se necesitan variables que
determinen esto. Entonces, denotemos:
xij = cantidad de dinero de bolsillo a invertir a inicios de año i en plan j, para i = 1, 2, 3, 4, 5; j = A, B, C.
Otra cosa que interesa es la ganancia que obtendrá Manuel por año, la pista para considerar esta
variable está en el hecho de que lo que debemos maximizar es el valor que tome esta variable en el
quinto año.
Denotemos:
rij = Cantidad de dinero recibido a final del año i debido a inversión en plan j, para i = 1, 2, 3, 4, 5;
j = A, B, C.
19
UNIDAD
1
Modelos matemáticos
Dado que se puede, y es deseable, reinvertir las ganancias obtenidas por inversiones pasadas, se hace
necesario considerar las siguientes variables.
gij = cantidad de dinero recibido a final del año i - 1 que se invertirá a inicios de año i en el plan j, para
i = 2, 3, 4, 5; j = A, B, C.
Dadas las características de este problema, se puede intuir que desde principios del año 1 se busca invertir el capital total, a fin de hacerlo crecer desde ese momento; sin embargo, esto puede no ser cierto
en todo plan de inversión. Puede darse el caso de que un plan de inversión no esté disponible desde
el año 1, o que se reciba algún capital extra a lo largo del horizonte de planeación de las inversiones;
por tanto, se expresan las siguientes variables.
yij = cantidad de dinero total: cantidad de dinero de bolsillo y cantidad de dinero recibido de inversión
previa, que se invertirá en el año i en el plan j, para i = 2, 3, 4, 5; j = A, B, C.
Definidas dichas variables, estamos listos para diseñar la función objetivo y las restricciones.
Función objetivo:
Lo que buscamos es maximizar el dinero recibido de las inversiones en cinco años, el cual está representado por r5A, r5B o r5C.
Maximizar z = r5A + r5B + r5C
Restricciones:
1.La primera restricción que nos viene a la mente es la referente a la cantidad de dinero disponible
para invertir. Aquí se puede pensar que es suficiente indicar:
x1A + x1B + x1C ≤ 50 000
Sin embargo, debemos dejar indicada la posibilidad de que el desembolso de dinero de bolsillo se dé
en cualquier año del horizonte de planeación, esto por la misma razón por la que se consideró necesaria
la definición de las variables yij.
x1A + x1B + x1C + x2A + x2B + x2C + x3A + x3B + x3C + x4A + x4B + x4C + x5A + x5B + x5C ≤ 50 000
2.En este caso, se requieren restricciones que establezcan la relación entre la cantidad invertida y la
cantidad recibida por año; es decir, particularmente:
Para el final del año 1, plan A:
r1A = (1 + 0.04) x1A
Plan B y plan C, debido a que su tiempo de inversión es mayor a 1, al final del año 1, la cantidad recibida será cero.
r1B = 0
r1C = 0
Para el final del año 2:
Dinero a recibir a final del año 2 por inversión en plan A: r2A = (1 + 0.04) y2A, donde y2A = x2A + g2A.
Es importante considerar aquí que g2A no debe ser mayor al dinero que se tiene para reinvertir.
Además, es importante tomar en cuenta que, por año, este dinero debe contemplar la posibilidad de
repartirse entre los tres planes.
g2A + g2B + g2C ≤ r1A + r1B + r1C
Plan B, a finales del año 2 por dinero invertido a inicios del año 1 se recibe:
r2B = (1 + 0.09) x1B
20
Grupo Editorial Patria©
Plan C:
r2C = 0
Para el final del año 3:
Dinero a recibir a final del año 3 por inversión en plan A:
r3A = (1 + 0.04) y3A
y3A = x3A + g3A
g3A + g3B + g3C ≤ r2A + r2B + r2C
Plan B, a finales del año 3 por dinero invertido a inicios del año 2 se recibe:
r3B = (1 + 0.09) y2B
y2B = x2B + g2B
Plan C, a finales del año 3 por dinero invertido a inicios del año 1 se recibe:
r3C = (1 + 0.14) x1C
De manera similar, para los años 4 y 5, resultando el modelo matemático:
Maximizar z = r5A + r5B + r5C
x1A + x1B + x1C + x2A + x2B + x2C + x3A + x3B + x3C + x4A + x4B + x4C + x5A + x5B + x5C ≤ 50 000
r1B = 0
r1C = 0
r2C = 0
r1A = (1 + 0.04) x1A
r2A = (1 + 0.04) y2A
r2B = (1 + 0.09) x1B
r3A = (1 + 0.04) y3A
r3B = (1 + 0.09) y2B
r3C = (1 + 0.14) x1C
r4A = (1 + 0.04) y4A
r4B = (1 + 0.09) y3B
r4C = (1 + 0.14) y2C
r5A = (1 + 0.04) y5A
r5B = (1 + 0.09) y4B
r5C = (1 + 0.14) y3C
y2A = x2A + g2A
y2B = x2B + g2B
y2C = x2C + g2C
y3A = x3A + g3A
y3B = x3B + g3B
y3C = x3C + g3C
y4A = x4A + g4A
y4B = x4B + g4B
y5A = x5A + g5A
g2A + g2B + g2C ≤ r1A + r1B + r1C
g3A + g3B + g3C ≤ r2A + r2B + r2C
g4A + g4B + g4C ≤ r3A + r3B + r3C
g5A + g5B + g5C ≤ r4A + r4B + r4C
Todas las variables son mayores o iguales a cero.
21
UNIDAD
1
Modelos matemáticos
❚ Problemas de transporte
En el problema de transporte se busca la forma en que cualquier bien debe ser distribuido, desde cualquier grupo de centros de suministro (orígenes) a cualquier grupo de centros de recepción (destinos),
de manera que los costos totales de transporte sean mínimos.
Para que un problema pueda ser considerado problema de transporte, se debe cumplir con el
supuesto de requerimientos y con el supuesto de costo.
El supuesto de requerimientos nos dice que cada origen tiene un suministro fijo de unidades y el
suministro completo debe transportarse a los destinos. De manera análoga, cada destino tiene una
demanda fija de unidades y debe satisfacerse de los orígenes.
Es decir:
m
n
i =1
j =1
∑si = ∑d j
Donde:
m: cantidad de orígenes
n: cantidad de destinos
si: cantidad de unidades que oferta el origen i, para i = 1, 2, …, m
dj: cantidad de unidades demandadas por el destino j, para j = 1, 2, …, n
En la práctica resulta lógico pensar que es raro encontrar que se cumpla este supuesto; pero, cuando
esto ocurre, es posible reformular el problema con la introducción de un destino u origen ficticios, para
que se haga cargo de la holgura, de manera que se ajuste al modelo del transporte.
m
n
i =1
j =1
Si la oferta es mayor que la demanda, ∑ si > ∑ d j , entonces se requerirá un punto de demanda
Alerta
El supuesto de
requerimientos es
importante para asegurar
que existen soluciones
factibles y para poder
utilizar algoritmos sencillos
para solucionar el problema
de transporte.
m
n
i =1
j =1
artificial, de modo que: d n +1 = ∑ si − ∑ d j .
m
n
i =1
j =1
De manera similar, si existe mayor demanda que oferta ∑ si < ∑ d j , se requerirá un punto de
n
m
j =1
i =1
suministro artificial, de modo que: s m +1 = ∑ d j − ∑ si .
Debido a que en realidad los puntos artificiales no existen, los costos de transporte entre este y
los demás puntos del problemas tendrán valor cero.
Dado que se debe priorizar la distribución de producto entre entidades reales y teniendo en mente que se busca minimizar, el supuesto de costo considera que el costo de transportar unidades de un
origen a un destino debe ser directamente proporcional al número de unidades transportadas. Este
costo puede ser visto como el costo unitario multiplicado por el número de unidades transportadas.
Los parámetros del modelo de transporte son los datos que se tienen desde el inicio, que son: el
costo de transporte unitario, la cantidad de producto ofertado por cada nodo origen y la cantidad de
productos demandado por cada nodo de destino.
m: cantidad de orígenes
n: cantidad de destinos
si: cantidad de unidades que oferta el origen i, para i = 1, 2, …, m
dj: cantidad de unidades demandadas por el destino j, para j = 1, 2, …, n
cij: c osto por transportar una unidad de producto desde el origen i hasta el destino j, para i = 1, 2, …,
m; j = 1, 2, …, n
Para poder definir las variables del modelo se debe pensar en lo que se necesita obtener del modelo.
En este problema lo que se quiere saber es la cantidad de producto a enviar de cada punto de origen
a cada punto de destino. Es decir:
xij: cantidad de unidades a enviar del origen i al destino j, para i = 1, 2, …, m; j = 1, 2, …, n.
22
Grupo Editorial Patria©
Visto a manera de una red, se tiene:
Puntos de
suministro
(oferta)
s1
1
s2
2
sm
m
c11
cmn
1
d1
2
d2
n
dn
Puntos de
demanda
Figura 1.3
O visto a manera de tabla de transporte:
Tabla 1.10
Costo por unidad distribuida
Destino
Origen 1
1
2
…
n
Recursos
c11
c12
…
c1n
s1
Origen 2
c21
c22
…
c2n
s2
Origen …
….
…
…
….
…
Origen m
cm1
cm2
…
cmn
sm
Demanda
d1
d2
….
dn
Función objetivo:
El objetivo de este problema es determinar la forma de transportar unidades del producto de los puntos orígenes a los puntos destino, minimizando los costos de transporte; por tanto, supongamos que
tenemos tres puntos de origen y dos puntos de destino, la función objetivo quedaría:
Minimizar z = c11x11 + c12x12 + c21x21 + c31x31 + c32x32
De manera resumida:
3
2
Minimizar z = ∑ ∑ c ij x ij
i =1 j =1
Y en general:
m
n
Minimizar z = ∑ ∑ c ij x ij
i =1 j =1
Restricciones:
Las restricciones que se tienen son de dos tipos: las relacionadas con los puntos de suministro y las de
los puntos de destino, las cuales están totalmente ligadas al supuesto de requerimientos.
1. Las relacionadas con los puntos de suministro indican que la cantidad de producto que se envíe
de un punto de suministro debe ser igual a la cantidad de producto que se tenga en el punto de
suministro.
23
UNIDAD
1
Modelos matemáticos
Es decir, para el punto de suministro (origen) 1, se tiene que:
(Lo que se envíe del punto origen 1 a punto destino 1) + (lo que se envíe de punto origen 1 a punto
destino 2) = (cantidad de producto en punto origen 1).
Con variables y parámetros se tiene:
x11 + x12 = s1
Para punto de suministro 2:
x21 + x22 = s2
Y para punto de suministro 3:
x31 + x32 = s3
Resumiendo:
n
∑ x ij = si para todo i = 1, …, m.
j =1
2. Las restricciones relacionadas con los puntos de demanda indican que la cantidad de producto
que se envíe a un punto de demanda debe ser igual a la cantidad de producto que demanda.
Es decir, para el punto de demanda 1, se tiene que:
(Lo que se envíe del punto origen 1 a punto demanda 1) + (lo que se envíe de punto origen 2 a
punto demanda 1) + (lo que se envíe de punto origen 3 a punto demanda 1) = (cantidad de producto que demanda 1).
Con variables y parámetros se tiene:
x11 + x21 + x31 = d1
Para punto de demanda 2:
x12 + x22 + x32 = d2
Resumiendo:
m
∑ x ij = d j para todo j = 1, …, n
i =1
Por último, la cantidad de producto que se envíe debe ser mayor o igual a cero (no tiene sentido
que estas variables tomen valor negativo).
xij ≥ 0 para i = 1, …, m; j = 1, …, n
Por tanto, el modelo matemático completo resulta.
m
n
Minimizar z = ∑ ∑ c ij x ij
i =1 j =1
n
∑ x ij = si para todo i = 1, …, m
j =1
m
∑ x ij = d j para todo j = 1, …, n
i =1
xij ≥ 0 para i = 1, …, m; j = 1, …, n
24
Grupo Editorial Patria©
Problema resuelto
Se desean enviar productos a dos clientes en San Luis Potosí (SLP) y Guanajuato desde tres almacenes
diferentes, ubicados en Monterrey, Toluca y Guadalajara. Los costos de transporte unitarios se muestran
en la tabla 1.11, así como las unidades con que cuenta cada almacén y las unidades que necesita cada
cliente, estos dos últimos en miles de productos. Determinar el modelo de transporte que represente
esta situación.
Tabla 1.11 Costos de transportación
SLP
Guanajuato
Oferta
Monterrey
$4.2
$5.0
20
Toluca
$4.5
$4.8
10
Guadalajara
$4.7
$4.5
25
Demanda
30
30
Solución
De acuerdo con el planteamiento, en este problema tenemos tres orígenes y dos destinos, el supuesto del
costo se cumple al establecerse que el costo es por unidad de producto. Así, al evaluar el supuesto
de requerimientos nos damos cuenta que:
Ofertas (20 + 10 + 25 unidades) = 55 unidades de producto.
Demandas (30 + 30 unidades) = 60 unidades de producto.
En este caso, el supuesto no se cumple, pues Demandas > Ofertas; por tanto, se requiere un punto de
oferta ficticio con cinco unidades, que en el contexto del problema será producto que los almacenes
no podrán cumplir.
Tabla 1.12 Costos de transportación
SLP
Guanajuato
Oferta
Monterrey
$4.20
$5.10
20
Toluca
$4.50
$4.80
10
Guadalajara
$4.70
$4.50
25
Artificial
$0.00
$0.00
5
Demanda
30
30
Por tanto, se definen las variables:
x11 = cantidad de productos a enviar de almacén en Monterrey a cliente en SLP
x12 = cantidad de productos a enviar de almacén en Monterrey a cliente en Guanajuato
x21 = cantidad de productos a enviar de almacén en Toluca a cliente en SLP
x22 = cantidad de productos a enviar de almacén en Toluca a cliente en Guanajuato
x31 = cantidad de productos a enviar de almacén en Guadalajara a cliente en SLP
x32 = cantidad de productos a enviar de almacén en Guadalajara a cliente en Guanajuato
x41 = cantidad de productos a enviar de almacén ficticio a cliente en SLP
x42 = cantidad de productos a enviar de almacén ficticio a cliente en Guanajuato
Alerta
El valor de x4j corresponderá
a la cantidad de demanda
no satisfecha del cliente j.
Función objetivo:
En este problema se busca minimizar el costo de transporte, dado a que se conoce el costo de transportar una unidad de cada almacén a cada cliente, la función objetivo resulta:
Minimizar z = 4.2x11 + 5.1x12 + 4.5x21 + 4.8x22 + 4.7x31 + 4.5x32
25
UNIDAD
1
Modelos matemáticos
Restricciones:
1. Para los puntos de oferta resultan:
Almacén en Monterrey:
x11 + x12 = 20
Almacén en Toluca:
x21 + x22 = 10
Almacén en Guadalajara:
x31 + x32 = 25
Almacén ficticio:
x41 + x42 = 5
2. Para los puntos de demanda son:
Cliente en SLP: x11 + x21 + x31 + x41 = 30
Cliente en Guanajuato: x12 + x22 + x32 + x42 = 30
3. Para la naturaleza de las variables:
xij ≥ 0 para i = 1, …, 4; j = 1, …, 2
Modelo matemático:
Minimizar z = 4.2x11 + 5.1x12 + 4.5x21 + 4.8x22 + 4.7x31 + 4.5x32
Sujeto a:
x11 + x12 = 20
x21 + x22 = 10
x31 + x32 = 25
x41 + x42 = 5
x11 + x21 + x31 + x41 = 30
x12 + x22 + x32 + x42 = 30
xij ≥ 0 para i = 1, …, 4; j = 1, …, 2
1.5 Modelando con variables enteras
Las variables enteras ofrecen características que permiten modelar ciertas situaciones de forma intuitiva. Algunas de estas situaciones se explican a continuación.
❚ Modelando costos fijos
Supongamos que se desea modelar la función de costo g(x) = f + vx, la cual tiene la siguiente forma.
g(x)
120
100
80
60
f
40
20
0
0
2
4
6
8
10
W
Figura 1.4
26
12
x
Grupo Editorial Patria©
Tal que:
0
g(x ) = 
f + vx
si x = 0
si x > 0
Este tipo de funciones de costo pueden observarse en, por ejemplo, el costo por pago de sueldos
a personal, donde x representará el pago por horas extra. Si un empleado labora en cierto periodo, a
éste se le tiene que pagar un sueldo fijo (f ), pero si labora horas extra, el costo se incrementa dependiendo de la cantidad de horas extra que se utilicen. Ello hasta cierto tiempo extra máximo (W ).
Pero, si el empleado no labora en dicho periodo, no se incurre en gasto por pago de sueldo para ese
empleado.
Para modelar esta función de costo, es necesario introducir una variable binaria y, de modo que:
1 si x > 0
y = 
0 si x = 0
La función objetivo se transforma en:
fy + vx
Y se deberá añadir la restricción:
x ≤ Wy
y ∈ {0, 1}
0≤x≤W
❚ Modelando dos alternativas, modelando dos disyunciones
Supongamos que existen dos restricciones mutuamente excluyentes. Es decir, x satisface:
a1x ≤ b1, o bien, a2x ≤ b2, es decir,
a11x11 + a12x12 + … + a1nxn ≤ b1, o bien,
a21x21 + a22x22 + … + a2nxn ≤ b2
Para poder modelar esta situación de dos alternativas entre las cuales decidir es necesario introducir
una variable binaria para cada restricción y1, y2 ∈ {0, 1}
Y definir una constante M, que es un número muy grande.
M ≥ max{a1x - b1; a2x - b2}
Las restricciones alternativas deben de modificarse de la siguiente manera:
a1x - b1 ≤ M(1 - y1 )
a2x - b2 ≤ M(1 - y2 )
Y agregar:
y1 + y2 = 1
y1, y2 ∈ {0, 1}
De modo que si y1 = 1, y2 = 0 y la segunda restricción resulta a2x ≤ M + b2, dado que M es un número muy grande, esta restricción queda libre. Por tanto, la única restricción que deberá cumplirse es:
a1x ≤ b1.
❚ Modelando k alternativas
Supongamos que se desea minimizar una función satisfaciendo al menos k restricciones, de un conjunto de restricciones r1(x) ≤ 0 i = 1, …, n, 1 ≤ k ≤ n - 1.
27
UNIDAD
1
Modelos matemáticos
De manera análoga al modelado de dos alternativas, es necesario agregar n variables binarias y
modificar el conjunto de restricciones de la siguiente manera.
r1(x) ≤ M(1 - yi) i = 1, …, n
n
∑ yi ≥ k
i =1
yi ∈ {0, 1} para i = 1, …, n
De esta manera, únicamente k restricciones del conjunto se activarán, dejando libres y sin impacto en
la solución del modelo a las otras n - k restricciones.
❚ Modelando con variables que toman un conjunto de valores
Considérese que la variable xj únicamente puede tomar alguno de los siguientes valores: {v1j, v2j,
v3j, …, vpj }.
Esto puede modelarse incluyendo p variables binarias: ykj ∈ {0, 1} k = 1, …, p.
De modo que la variable xj se modele como:
p
x j = ∑ y kj v kj
k =1
p
∑ y kj = 1
k =1
ykj ∈ {0, 1} k = 1, …, p
Problema resuelto
Supóngase que la variable x1 puede tomar únicamente alguno de los siguientes valores {2, 10, 25}.
Diseñar el conjunto de restricciones necesario para esta situación.
Solución
28
x1 ∈ {2, 10, 25}
x1 = 2y1 + 10y2 + 25y3
y1 + y2 + y3 = 1
y1, y2, y3 ∈ {0, 1}
Problemas para resolver
Grupo Editorial Patria©
1.1 La producción del periodo 3 (x3 ) debe ser al menos
igual que el doble de la producción del periodo 1 (x1 ). Representar esta restricción algebraicamente.
1.2 Se tienen cinco proyectos de inversión {1, 2, 3, 4, 5} representados por las variables x1, x2, x3, x4 y x5.
La variable xi toma el valor de 1 si se invierte en el proyecto i
y 0 en caso contrario. Modelar las siguientes restricciones.
a) Se debe invertir en al menos dos de los proyectos.
b) No es posible invertir en todos los proyectos.
c) Si se invierte en el proyecto 3, se tiene que invertir en el
proyecto 5.
1.4 En cada uno de los siguientes casos, determinar si se
requería un nodo artificial de oferta o un nodo artificial de
demanda para balancear el modelo de transporte.
a) Oferta: a1 = 10, a2 = 4, a3 = 5, a4 = 6
Demanda: b1 = 9, b2 = 5, b3 = 9, b4 = 7
b) Oferta: a1 = 34, a2 = 40
Demanda: b1 = 20, b2 = 32, b3 = 15
1.5 Determinar si las siguientes afirmaciones son falsas o
verdaderas.
a) Para balancear un modelo de transporte, puede ser necesario añadir tanto un nodo artificial de demanda como
un nodo artificial de oferta (ambos).
b) Las cantidades enviadas de cierto punto de origen hacia
un punto artificial de demanda representan exceso de
producto del nodo origen.
Tabla 1.13
Centro de distribución
Planta 1
e) Las cantidades enviadas desde un punto artificial de origen hasta un punto destino representan demanda no satisfecha en el punto destino.
Problemas aplicados a la realidad
1
2
3
800
650
480
Planta 2
600
-
580
Planta 3
520
620
500
1.7 Para el problema 4, el de las tres plantas, supóngase
que la demanda diaria del centro de distribución 1 ahora es
de 15 000 unidades de producto. Determinar:
a) ¿Qué implicaciones tiene este hecho en el modelo matemático?
b) Supóngase que por cuestiones de políticas del corporativo, la planta 3 debe enviar toda su producción a alguna
de los centros de distribución. ¿Qué modificación tendría
que hacerse al modelo matemático?
c) Además, supóngase que por cada producto que no es
enviado a alguno de los centros de distribución se incurre
en un costo de 0.04 pesos. ¿Cómo quedaría el modelo
matemático?
1.8 Para el problema 4, el de las tres plantas, supóngase
que la capacidad de la planta 2 baja a 15 000 unidades de
producto y que el centro de distribución 1 debe recibir toda
su demanda. Adicionalmente, cualquier faltante en los centros de distribución 2 y 3 incurrirán en una penalización de
0.05 pesos por unidad no surtida. Construir el modelo
de transporte asociado.
1.9 Dada la siguiente red:
3
3
1 unidad
1
c) Las cantidades enviadas desde un punto artificial de origen hasta un punto destino representan exceso de producto en el nodo origen.
d) Las cantidades enviadas de cierto punto de origen hacia
un punto artificial de demanda representan faltantes en
el punto origen.
1
1.6 Tres plantas manufactureras con capacidades de 18 000,
16 000 y 26 000 unidades de productos diarios, envían producto a tres centros de distribución con demandas diarias
de 20 000, 24 000 y 16 000 unidades de productos, respectivamente. Los productos se transportan a través de líneas de
ferrocarril. Los costos de transporte son de 0.02 pesos por
cada producto por kilómetro recorrido. En la tabla 1.13 se
muestran los kilómetros entre planta y áreas de distribución.
De la planta 2 al centro de distribución 2 no existe línea
ferroviaria que los comunique. Construir el modelo de transporte asociado a este problema.
d) Los proyectos 1 y 4 son excluyentes. Si se invierte en el
proyecto 1 no se puede invertir en el proyecto 4.
1.3 Considerando el problema en el que se tienen cinco
proyectos de inversión {1, 2, 3, 4, 5} representados por las
variables x1, x2, x3, x4 y x5. La variable xi toma el valor de 1 si
se invierte en el proyecto i y 0 en caso contrario. Existen dos
empresas que ofrecen paquetes de inversión, la empresa A
ofrece la posibilidad de invertir en los proyectos {1, 4 o 5},
la empresa B, ofrece la posibilidad de invertir en {2 o 3}. Ambas empresas son competencia, por lo que se elige trabajar
con una o la otra, pero no con las dos al mismo tiempo. Además, para poder trabajar con cualquiera de las empresas es
necesario realizar al menos un proyecto de inversión de su
oferta. Formular el conjunto de restricciones que representen este problema de proyectos de inversión.
UNIDAD
10
2
9
8
5
7
4
6
5
6
1 unidad
7
11
Figura 1.5
Considérese que los números en los arcos representan costos por transportar una unidad de producto a través de ellos.
También, supóngase que se desea hacer pasar una unidad
Problemas para resolver con tecnología
29
1 Problemas para resolver
UNIDAD
de producto del nodo 1 al nodo 6. Definir un modelo matemático que permita determinar el camino menos costoso
(ruta más corta) para hacer pasar esa unidad de producto del
nodo 1 al nodo 6.
1.10 Una empresa que fabrica pinturas está interesada en
fabricar pintura en aerosol. Este nuevo producto deberá
cumplir con ciertas especificaciones. La empresa dispone de
cuatro componentes que pueden ser usados para fabricar
la pintura en aerosol, cada uno de los cuales ofrece ciertas
características en caso de ser utilizado. ¿Qué proporción de
cada uno de los elementos se debe utilizar con el fin de obte­ner una mezcla que cumpla con las especificaciones de producción? El objetivo de empresa es minimizar los costos de
producción.
Tabla 1.14
Característica
Especificación
Comp. 1
Comp. 2
Comp. 3
Comp. 4
Sólidos
9%-10%
0.91
0.88
10.2
10.3
Densidad de
pintura
0.94-0.95
0.935
0.945
0.952
0.93
Diámetro
patrón
>14
14.1
13.8
13.9
14.3
Tiempo de
secado al tacto
<8
8.1
7.2
8.5
9.3
Milésimas de
espesor seco
1.3-1.4
1.33
1.34
1.42
1.25
Costo por litro
$42
$34
$40
$52
$49
1.11 Ana está bajo un régimen de dieta, por lo que
debe decidir lo que contendrá su desayuno de mañana.
Su nutriólogo le proporcionó la información que aparece en tabla 1.15, en la cual muestra la cantidad en
gramos de cada elemento nutricional para 100 gramos
del alimento correspondiente, a excepción del calcio y
hierro que muestran el valor en mg.
Tabla 1.15
Alimento
Calorías
Carbohidratos
Proteínas
Grasas
Calcio
Hierro
Leche entera
63
4.5
3
3.2
122 mg
0.12 mg
Leche
descremada
45
4.7
3.1
1.7
-
-
Continuación
Chorizo
250
2
12.5
24
30 mg
3.4 mg
Jamón
296
-
25.8
20.6
13 mg
2.3 mg
Mortadela
193
4
20
17
14 mg
2.1 mg
Plátano
87
22.2
1.1
0.2
11 mg
0.6 mg
Manzana
60
15.2
0.3
0.3
6 mg
0.4 mg
Melón
43
11.1
0.6
0.3
20 mg
0.6 mg
Naranja
41
10.5
0.8
0.2
33 mg
0.5 mg
Su nutriólogo le ha recomendado minimizar las calorías ingeridas, procurando que no más de 25% de las cantidades
ingeridas sean grasas, y que de 10 a 35% sean proteínas y
de 50 a 55% sean carbohidratos.
Además, Ana debe consumir algo de cada tipo de alimento; esto es, algo de pan, leche, jaleas, mermelada y
miel, así como algo de carnes y frutas, además de que debe
ingerir al menos 350 mg de calcio y 5 mg de hierro.
Formular un modelo matemático que sea de utilidad para
Ana.
1.12 Luis decide ir a acampar, pero no logra decidir que llevar
en su mochila. A él le gustaría llevar 12 objetos que cree que
son importantes, pero sabe por un estudio preliminar que no
todos le caben en la mochila. Así pues, decide evaluar cada
objeto y determinar para cada uno de ellos el beneficio que
le aportaría en su acampada y el espacio que le consumiría
en su mochila. Luis ha realizado un análisis y determinó que
su mochila tiene 30 unidades de espacio. Describir un modelo matemático para ayudarlo a decidir cuáles artículos llevar.
Este problema es conocido como problema de la mochila.
Tabla 1.16
Objeto
Artículos de cuidado personal
Beneficio
Espacio que ocupa
10
5
Osito de peluche
4
3
Provisiones de comida
20
15
Videojuego portátil
6
3
Platos y cubiertos
8
4
Abrelatas
1
1
Libro de IO
15
9
Reloj
2
2
Encendedor
6
3
Pan de trigo
blanco
280
-
8.1
0.7
30 mg
1.4 mg
Pan de trigo
integral
286
-
9.4
1.5
50 mg
3.6 mg
Pan de leche
256
52.5
7.6
1.8
Teléfono celular
5
3
Navaja suiza
10
4
Cambios de ropa
10
7
Pan de
centeno
245
50.4
8.2
1.1
38 mg
2.8 mg
Donas
391
51.4
4.6
18.6
-
-
Panqué
390
48.4
5.3
18.4
-
-
Jaleas
262
65
0.2
0
-
-
Mermelada
272
71
0.6
0.1
-
-
Miel
294
79.5
0.3
0
5 mg
0.9 mg
Continúa
30
Problemas aplicados a la realidad
1.13 ¿Qué modificaciones se requiere hacer al problema de
transporte si en vez de costo de transporte unitario, se tuviera
un costo de transporte por camión? Es decir, el envío cuesta
cij si se envía un camión con capacidad Q (lleno o semilleno)
del punto de suministro i al punto de demanda j.
Problemas para resolver con tecnología
Grupo Editorial Patria©
1.14 Un instituto de seguridad social ofrece entre sus
servicios préstamos a sus derechohabientes. Los coordinadores de la función de préstamos deben decidir la
forma de distribuir $1 000 000 que tienen asignado a
este rubro. El instituto ofrece préstamos ordinarios, especiales, para turismo y para pensionados. Cobra 2% de
los préstamos ordinarios, 5% de los especiales, 7%
de los préstamos para turismo y 1% para pensionados.
Todos los préstamos están diseñados para que sean pagados en un año. Saben, por su historial, que 3, 2, 1 y
5% de los préstamos ordinarios, especiales, para turismo y para pensionados, no son recuperados. Además,
por políticas del instituto, el monto asignado a pensionados debe ser mayor que el monto asignado a turismo
y el monto asignado a préstamos especiales debe ser a
lo más de 20% del monto asignado a préstamos ordinarios. Diseñar un modelo matemático que ayude a los
coordinadores a definir la manera de repartir el monto a
prestar entre los diferentes tipos de préstamos.
1.15 Un estudiante de ingeniería industrial está por finalizar el quinto semestre de su carrera y debe terminar seis
proyectos correspondientes a seis materias diferentes en 15
días. Por experiencia, el estudiante sabe que, en general,
entre más tiempo le dedica a un proyecto mejor calificación
obtiene. Algunos proyectos son más elaborados que otros,
la relación de días dedicados a proyecto vs. calificación esperada se presenta a continuación:
$35 al mes por lavadora y la capacidad de producción es de
1 800 lavadoras al mes en tiempo normal, y 2 000 lavadoras
si se trabaja con tiempo extra. Si una lavadora es producida
en tiempo extra, esta tiene un costo de $200 extra y cada
lavadora no producida en horario normal genera un costo
de $15. En la actualidad, se tiene un inventario inicial de 30
lavadoras y al terminar el cuarto mes se desea tener 42 lavadoras. Formular el programa lineal para definir el plan de
producción con menor costo.
1.17 Para determinar el plan de producción de una
compañía para los próximos seis meses se tiene la siguiente información.
Tabla 1.18
Enero
Febrero
Marzo
Abril
Mayo
Junio
Total
Proyección de la
demanda
1 800
1 500
1 100
900
1 100
1 600
8 000
Número de días de
trabajo
22
19
21
21
22
20
125
Inventario inicial
400 unidades
Horas-hombre
requeridas
5/unidad
Tabla 1.19 Costos
Materiales
Mantenimiento de inventario
Tabla 1.17
Materia-proyecto
1 día
2 días
3 días
Estadística
6
7
8
IO
7
8
9
Plan-plantas
8
9
10
ADE
7
8
9
Manufactura
9
9
10
Producción
9
10
10
El estudiante debe dedicar al menos un día en cada proyecto y distribuir los días restantes para lograr mejorar sus notas
finales. Empero, solo puede trabajar en un proyecto por día.
Diseñar un modelo matemático que ayude al estudiante a
definir cuántos días debe dedicarle a cada proyecto con el
objetivo de mejorar sus calificaciones.
1.16 Una empresa que produce electrodomésticos recibió
un pedido para los próximos cinco meses de 1 500, 1 300,
1 800, 1 400 y 1 700 lavadoras, respectivamente para cada
mes. De acuerdo con datos analizados por la empresa, se
espera que el costo por producir una lavadora en los próximos meses será de $2 800, $2 880, $2 930, $2 960 y $2 980.
Es posible producir más de la demanda mensual, las piezas
que no se vendan serán almacenadas para ser utilizadas en
los siguientes meses. El costo por mantener inventario es de
Problemas aplicados a la realidad
$100/unidad
$1.50/unidad/mes
Agotamiento de las reservas
$5/unidad/mes
Contratación
$200/trabajador
Despidos
$250/trabajador
Horas-hombre normales
$4/hora
Horas-hombre extra
$6/hora
Horas-hombre de tiempo muerto
$2/hora
Escribir un modelo de programación lineal que incluya las
siguientes políticas:
° Producir para satisfacer los requerimientos de producción
mensual utilizando ocho horas normales de trabajo. Por
política de la empresa, al final de cada mes se debe dejar
una reserva de seguridad de al menos 25% de la demanda del mes. La reserva de seguridad se considera inventario. El inventario debe ser entero.
° Es posible contratar y despedir trabajadores al inicio de
cada mes, pero esta cantidad no debe ser mayor de cinco
trabajadores al mes. Al inicio del primer mes se cuenta
con 50 trabajadores.
° Está permitido trabajar tiempo extra, pero cada trabajador puede trabajar en promedio una hora por cada día
laborable.
Problemas para resolver con tecnología
31
UNIDAD
1
Modelos matemáticos
Problema reto
1
Una empresa produce jugos de manzana, naranja, zanahoria, betabel, naranja-zanahoria, revitalizante y energizante. La empresa no tiene problemas de demanda, todo lo que produce
lo vende y ha determinado que de cada kilo de fruta/verdura se puede obtener un litro de
jugo. En las tablas 1.20 y 1.21 se muestra la información sobre precios, costos, disponibilidad de producto y composición de los jugos. ¿Cuántos litros de cada jugo debe fabricar
para obtener el máximo beneficio económico?
Tabla 1.20
Fruta/Verdura
Disponibilidad
(kilos)
Costo
(kilos)
Precio de venta
(litro)
Manzana
20 000
$25.00
$32.00
Naranja
45 000
$9.00
$15.00
Zanahoria
32 000
$9.95
$17.00
Betabel
19 000
$17.50
$25.00
Tabla 1.21
Jugo
Especificación
Precio de venta
Naranja-zanahoria
50% naranja
50% zanahoria
$16.00
Revitalizante
No menos de 20% de zanahoria
No más de 60% de naranja
No menos de 10% de manzana
$28.00
Energizante
25% betabel
30% naranja
40% zanahoria
5% manzana
$23.00
Referencias Bibliográficas
Hillier, F. S., & Lieberman, G. J. (2002). Investigación de operaciones, 7a ed. México: McGrawHill.
Nahmias, S. (2005). Production and Operations Analysis, 5a ed. New York: McGraw-Hill.
Real Academia Española. (2001). Diccionario de la Lengua Española (22a ed. Disponible en:
http://www.rae.es/rae.html
Taha, H. (2007). Operations Research: An Introduction, 8th ed. Ed. New Jersey: Pearson,
Prentice Hall.
Wolsey, A. (1998). Integer Programming. New York: Wiley.
32
UNIDAD
2
Programación
lineal
Gastón Vértiz Camarón
Objetivos
Conocer los principios de la programación lineal.
Conocer las formas de representación de un modelo de programación lineal.
Conocer los conceptos de variable de: holgura, excedencia, irrestricta y artificial, y de
solución básica y solución básica factible.
¿Qué sabes?
¿Dónde se puede aplicar la programación lineal continua?
¿Cuáles son los principios de la programación lineal?
¿Cómo se puede aplicar una hoja de cálculo en problemas de programación lineal?
UNIDAD
2
Programación lineal
2.1 Introducción a la programación lineal continua
La programación lineal constituye una de varias herramientas importantes que influyen en la formación
de ingenieros y administradores, gracias a que esta posee diversas aplicaciones en la práctica, por
ejemplo en los sectores industrial, económico y militar, entre otros; así como en áreas como mercadotecnia, finanzas, administración de la producción y más. Algunos de los problemas que se han estudiado mediante el empleo de esta son, entre otros, programación de la producción, selección de medios
publicitarios, planeación financiera, presupuestos de capital, transporte, ubicación de plantas, mezcla
de productos, asignación de personal y muchos más.
Por tanto, el objetivo principal de esta unidad es ofrecer una idea clara y precisa acerca de lo que
es la programación lineal continua (PLC); así, a lo largo de esta unidad se tratan y describen sus prerrequisitos; las formas de representación de un modelo, los conceptos de variable de holgura, variable de
excedencia, variable artificial y variable irrestricta. Finalmente se proporciona el concepto de solución
básica y solución básica factible.
❚ ¿Qué es la programación lineal continua?
La programación lineal continua se define como una metodología que se utiliza en la solución de
problemas en los cuales se desea maximizar o minimizar una función lineal de una o más variables,
llamada función objetivo, que se encuentra sujeta a ciertas limitaciones (restricciones), que se pueden
representar como desigualdades o igualdades de funciones lineales de las variables. Es decir, se tiene
n
una función objetivo z de la forma: z = ∑ c i x i donde las ci son los coeficientes constantes conocidos,
i =1
n
y las restricciones de la forma: ∑ aij x j ≤ bi donde las aij y las bi también son constantes conocidas; y
j =1
considerando que las variables son no negativas xi ≥ 0.
❚ Prerrequisitos de la programación lineal continua
Como ya se especificó en la unidad 1, es importante destacar que cuando se lleva a cabo la modelación de un problema de programación lineal continua (PLC), este siempre se basa en ciertos principios
o supuestos:
1. Proporcionalidad.
2. Aditividad.
3. Certidumbre.
4. Divisibilidad.
❚ Formas de representación de un modelo de programación lineal continua
Un modelo de programación lineal continua (MPLC), que conste de 3 restricciones y 2 variables de
decisión, se puede representar como:
Max z = 2x1 + 3x2
s.a
5x1 + 4x2 ≤ 40
3x1 + 2x2 ≤ 36
x1 + x2 ≤ 24
x1, x2 ≥ 0
En general, un modelo de programación lineal continua (MPLC), que conste de m restricciones y
n variables se puede representar como:
Max z = c1x1 + c2x2 + c3x3 + … + cnxn
s.a
a11x1 + a12x2 + a13x3 + … + a1nxn ≤ b1
34
Grupo Editorial Patria©
a21x1 + a22x2 + a23x3 + … + a2nxn ≤ b2
a31x1 + a32x2 + a33x3 + … + a3nxn ≤ b3
.
.
.
am1x1 + am2x2 + am3x3 + … + amnxn ≤ bm
x1, x2, x3, …, xn ≥ 0
Asimismo, este puede representarse matricialmente en forma simplificada como:
Max z = ctx
s.a
Ax ≤ b
x1 ≥ 0
Donde:
z: denota la función objetivo o función a optimizar.
ct: denota el vector transpuesto de coeficientes de las variables en función a optimizar.
A: denota la matriz de coeficientes de las variables en las restricciones, o también conocida como
matriz de coeficientes tecnológicos.
x: denota el vector de variables de decisión.
b: denota el vector de limitación de recursos.
Una primera forma de un modelo de programación lineal continua (MPLC) es la forma canónica caso
de máximos:
Max Z = ctx
s.a
Ax ≤ b
b≠Φ
(1)
x≥0
Es decir, todas las restricciones son del tipo ≤, sin considerar las variables de no negatividad.
En tanto, una segunda forma de representar un MPLC, es la forma canónica caso de mínimos:
Min W = cty
s.a
Ay ≥ b
(2)
y≥0
Esto significa que todas las restricciones son del tipo ≥, sin considerar las variables de no negatividad.
Una tercera forma de representar un MPLC, es la forma estándar caso de máximos:
Max Z = cty
s.a
Ax = b
(3)
x≥0
Una cuarta forma de representar un MPLC, es la forma estándar caso de mínimos:
Min W = cty
s.a
Ay = b
(4)
y≥0
35
UNIDAD
2
Programación lineal
Una quinta forma de representar un MPLC, es la forma mixta de caso de máximos:
Max Z = cty
s.a
A1x ≤ b1
A2x ≥ b2
(5)
A3x = b3
x≥0
Finalmente, una sexta forma de representar un MPLC, es la forma mixta de caso de mínimos:
Min W = cty
s.a
A1y ≤ b1
A2y ≥ b2
(6)
A3y = b3
y≥0
❚ Conceptos básicos
A continuación se presenta una serie de conceptos que son importantes de considerar.
El término variable de holgura se define como aquella cantidad que expresa un faltante en el
miembro izquierdo de una desigualdad del tipo ai1x1 + … + ainxn ≤ bi, para transformarla en una estricta
igualdad, la cual se denota como +si, asumiéndose que es no negativa (si ≥ 0).
Por ejemplo, si se tiene que la primera restricción en un MPLC es del tipo: 2x1 + 3x2 ≤ 24, entonces
para transformarla en una restricción del tipo igualdad, se agrega la variable de holgura s1 en el miembro izquierdo para transformarla en la forma: 2x1 + 3x2 + s1 = 24.
Por su parte, una variable de excedencia es aquella cantidad que expresa un excedente en el
miembro izquierdo de una desigualdad del tipo ai1x1 + … + ainxn ≥ bi, para transformarla en una estricta
igualdad, la cual se denota como -ti, asumiéndose que es no negativa (ti ≥ 0).
Por ejemplo, si se tiene que la segunda restricción en un MPLC es del tipo: 4x1 + 5x2 ≥ 40, entonces
para transformarla en una restricción del tipo igualdad, se agrega la variable de excedencia t2 en el
miembro izquierdo para transformarla en la forma: 4x1 + 5x2 - t2 = 40.
Por su parte, una variable irrestricta es aquella que no está restringida en signo, por lo que puede tomar cualquier valor real; es decir, real positivo, cero o real negativo, la cual puede ser expresada
como la diferencia de dos variables no negativas, o sea:
Si xj es la j-ésima variable irrestricta, entonces dicha variable se puede reemplazar por:
xj = x+j - x-j
Donde x+j, x-j ≥ 0.
Por ejemplo, si se tiene que la tercera variable en un MPLC es irrestricta, entonces en donde aparezca
x3, esta se reemplazará por (x+3 - x-3).
Una variable artificial es aquella que no tiene valor, pero es usada en los MPLC, con la idea de
obtener una solución factible, y se coloca en el miembro izquierdo de una restricción del tipo ai1x1
+ … + ainxn ≥ bi o del tipo ai1x1 + … + ainxn = bi; la cual se denota como Ri y se asume al inicio como no
negativa (Ri ≥ 0).
Por ejemplo, si se tiene que la cuarta restricción es del tipo ≥, mientras que la quinta es del tipo =;
en el caso que la cuarta restricción sea 3x1 + 4x2 ≥ 24 y la restricción quinta sea 2x1 + 3x2 = 36, entonces en la cuarta restricción se agrega la variable de excedencia y la variable artificial; la cual queda
como: 3x1 + 4x2 - t4 + R4 = 24; mientras que para la quinta restricción queda como: 2x1 + 3x2 + R5 = 36.
❚ Solución básica
Supóngase que se tiene un MPLC en su forma estándar, ya sea caso de máximos o caso de mínimos,
en donde la matriz de coeficientes es de tamaño m × n; es decir, tiene m restricciones y n variables,
36
Grupo Editorial Patria©
y asumiendo que n ≥ m, entonces se dice que x es una solución básica si se hacen (n - m) variables
iguales a cero y se resuelve el sistema de ecuaciones lineales (SEL) resultante.
Problema resuelto
Supóngase que se tiene el MPLC siguiente:
Max z = 4x1 + 5x2
s.a
3x1 + 4x2 ≤ 48
(D1)
2x1 + 3x2 ≤ 36
(D2)
x1 + x2 ≤ 12
(D3)
x1, x2 ≥ 0
(D4, D5)
(7)
Solución
Alerta
Al estandarizar el modelo, se llega a:
Max z = 4x1 + 5x2 + 0s1 + 0s2 + 0s3
s.a
3x1 + 4x2 + s1 = 48
2x1 + 3x2 + s2 = 36
x1 + x2 + s3 = 12
x1, x2, s1, s2, s3 ≥ 0
(8)
Se recomienda el uso de
algún software graficador,
como Winplot, Geogebra
o algún otro, con la
finalidad de representar de
manera gráfica las cinco
desigualdades, así como
la función a optimizar, con
el fin de tener una idea de
lo que se entendería por
solución básica.
De donde se observa que n = 5 y m = 3, por tanto si se desea encontrar una solución básica para (8),
se tiene que hacer (n - m) = 2 variables iguales a cero. Es decir, si x1 = s1 = 0, entonces al resolver el SEL
resultante se llega a: x2 = 12, s2 = 0 y s3 = 0. Por ende, una solución básica para (8) que se obtiene está
dada por: (x1, x2, s1, s2, s3) = (0, 12, 0, 0, 0).
Otra solución básica podría obtenerse haciendo x1 = s3 = 0, entonces, al resolver el SEL resultante,
se llega a: x2 = 12, s2 = 0 y s1 = 0. De este modo, otra solución básica para (8) que se obtiene está dada
por: (x1, x2, s1, s2, s3) = (0, 12, 0, 0, 0).
A continuación se presenta la gráfica correspondiente a las cinco desigualdades del modelo (7), así
como la recta de la función a optimizar (línea discontinua) (véase figura 2.1).
En la figura 2.1, la D1 tiene como conjunto solución todos los puntos del plano que están del
lado del origen cuya frontera es la línea verde. La D2 tiene como conjunto solución todos los puntos
del plano que están del lado del origen y cuya frontera la línea en color dorado. La D3 tiene como
conjunto solución todos los puntos
del plano que están del lado del
origen y cuya frontera la línea más
15
gruesa y segmento de recta en color azul que va de los puntos B a C.
C
La D4 tiene como conjunto solución
todos los puntos que se ubican en
10
los cuadrantes I y IV (x1 ≥ 0). La D5
tiene como conjunto solución todos
línea dorada
los puntos que se ubican en los cuadrantes II y III (x2 ≥ 0). Por último, la
5
línea azul
recta de la función a optimizar es
la que está en línea discontinua. De
línea verde
esto, al llevar a cabo la intersección
B
0 A
de las cinco desigualdades, se obtiene el triángulo rectángulo que
20
0
0
5
10
15
se encuentra achurado. Además, se
observa que la primera y la segunda
solución básica encontradas están
−5
dadas por (x1, x2, s1, s2, s3) = (0, 12, 0,
Figura 2.1 Conjunto intersección del modelo 7.
0, 0), representadas en el punto C.
37
UNIDAD
2
Programación lineal
Solución básica factible. Supóngase que se tiene un MPLC en su forma estándar ya sea caso de
máximos o caso de mínimos, en donde la matriz de coeficientes es de tamaño m × n; es decir, tiene m
restricciones y n variables, y asumiendo que n ≥ m, entonces se dice que x es una solución básica si se
hacen (n - m) variables iguales a cero y se resuelve el sistema de ecuaciones lineales (SEL) resultante y
todos los valores de las variables son mayores o iguales a cero.
Problema resuelto
Supóngase que se tiene el MPLC siguiente:
Max z = 4x1 + 5x2
s.a
3x1 + 4x2 ≤ 48
2x1 + 3x2 ≤ 36
x1 + x2 ≤ 12
x1, x2 ≥ 0
(9)
Representar gráficamente las cinco desigualdades y la función a optimizar, mediante el uso de software
como Winplot, Geogebra u otro.
Solución
Al estandarizar el modelo, se llega a:
Max z = 4x1 + 5x2 + 0s1 + 0s2 + 0s3
s.a
3x1 + 4x2 + s1 = 48
2x1 + 3x2 + s2 = 36
x1 + x2 + s3 = 12
x1, x2, s1, s2, s3 ≥ 0
(10)
De donde se observa que: n = 5 y m = 3, por tanto si se desea encontrar una solución básica se tiene
que hacer (n - m) = 2 variables iguales a cero. Es decir, si x1 = x2 = 0, entonces al resolver el SEL resultante se llega a: s1 = 48, s2 = 36 y s3 = 12. Por lo cual, una solución básica factible de (10) que se obtiene
está dada por: (x1, x2, s1, s2, s3) = (0, 0, 48, 36, 12).
Otra solución básica factible podría obtenerse haciendo x2 = s3 = 0; entonces, al resolver el SEL
resultante se llega a: x1 = 12, s2 = 12 y s1 = 12. Por ende, otra solución básica de (10) que se obtiene
está dada por: (x1, x2, s1, s2, s3) = (12, 0, 12, 12, 0).
Problema resuelto
Considerar el MPLC que se presenta abajo.
Max z = 5x1 + 3x2
s.a
2x1 + 5x2 ≤ 30
2x1 + 3x2 ≥ 24
(D2)
x1 + x2 ≤ 12
(D3)
x1, x2 ≥ 0
(D4, D5)
Obtener lo que se le solicita a continuación:
a) Una solución básica.
b) Una solución básica factible.
38
(D1)
(11)
Grupo Editorial Patria©
Solución
a)
Estandarizando el modelo (sin considerar la función a optimizar) se tiene:
2x1 + 5x2 + s1 = 30
2x1 + 3x2 - t2 + R2 = 24
x1 + x2 + s3 = 12
x1, x2, s1, t2, R2, s3 ≥ 0
(12)
Como n = 6 y m = 3, entonces haciendo (n - m) = 3 variables iguales a cero; haciendo s1 = t2 = R2 = 0,
entonces al resolver el SEL se tiene que: x1 = 15/2, x2 = 3 y s3 = 3/2. Por tanto, la solución básica de (12)
obtenida está dada por: (x1, x2, s1, t2, R2, s3) = (15/2, 3, 0, 0, 0, 3/2).
b)
Estandarizando el modelo (sin considerar la función a optimizar) se tiene:
2x1 + 5x2 + s1 = 30
2x1 + 3x2 - t2 + R2 = 24
x1 + x2 + s3 = 12
x1, x2, s1, t2, R2, s3 ≥ 0
Como n = 6 y m = 3, entonces haciendo (n - m) = 3 variables iguales a cero; haciendo x1 = x2 = t2 = 0,
entonces al resolver el SEL se tiene que: s1 = 30, R2 = 24 y s3 = 12. Por tanto, la solución básica factible
de (12) obtenida está dada por: (x1, x2, s1, t2, R2, s3) = (0, 0, 30, 0, 24, 12).
En la figura 2.2 se presenta la gráfica correspondiente a las cinco desigualdades de (11), así como
a la recta de la función a optimizar (línea discontinua) haciendo uso de Geogebra 4.2 y de Paint (para
achurar el triángulo).
línea dorada
línea
verde
4
A
C
2
línea verde
línea verde
B
0
0
2
4
6
8
10
12
14
−2
línea dorada
Figura 2.2 Conjunto intersección del modelo 11.
En la figura 2.2, la D1 tiene como conjunto solución todos los puntos del plano que están del lado del
origen y cuya frontera es la línea más gruesa. La D2 tiene como conjunto solución todos los puntos
del plano que están del lado del segmento de línea verde y partes de los segmentos delgados y hacia
la derecha de dicha recta. La D3 tiene como conjunto solución todos los puntos del plano que están
del lado del origen y cuya frontera la línea dorada y segmento de recta en color verde. La D4 tiene
como conjunto solución todos los puntos que se ubican en los cuadrantes I y IV (x1 ≥ 0). La D5
tiene como conjunto solución todos los puntos que se ubican en los cuadrantes II y III (x2 ≥ 0). Por último, la recta de la función a optimizar es la que está en línea discontinua. Al llevar a cabo la intersección
de las cinco desigualdades, se obtiene el triángulo que se encuentra achurado. Además, también se
observa que la solución básica obtenida en el inciso a), (x1, x2, s1, t2, R2, s3) = (15/2, 3, 0, 0, 0, 3/2), es la
que está representada en el punto A.
39
UNIDAD
2
Programación lineal
2.2 Método gráfico
El método gráfico se considera el primer método de solución usado para resolver modelos de programación lineal continua (MPLC). Dicho método se limita a que el modelo conste de dos variables
de decisión y un número finito de restricciones lineales, además de que en las restricciones se deben
considerar las variables de no negatividad.
El siguiente problema resuelto solo tiene como finalidad encontrar soluciones básicas factibles
y representarlas gráficamente; no es la aplicación del método gráfico, el cual se describirá posteriormente.
Problema resuelto
Supóngase que se tiene el MPLC siguiente:
Max z = 4x1 + 5x2
s.a
3x1 + 4x2 ≤ 48
2x1 + 3x2 ≤ 36
x1 + x2 ≤ 12
x1, x2 ≥ 0
(13)
Solución
Al estandarizar el modelo, se llega a:
Max z = 4x1 + 5x2 + 0s1 + 0s2 + 0s3
s.a
3x1 + 4x2 + s1 = 48
2x1 + 3x2 + s2 = 36
x1 + x2 + s3 = 12
x1, x2, s1, s2, s3 ≥ 0
(14)
De donde se observa que: n = 5 y m = 3. Por tanto, si se desea encontrar una solución básica factible,
se tiene que hacer (n - m) = 2 variables iguales a cero. Es decir, si x1 = x2 = 0, entonces al resolver el SEL
resultante se llega a: s1 = 48, s2 = 36 y s3 = 12. De este modo, una primera solución básica factible de
(14) está dada por:
(x1, x2, s1, s2, s3) = (0, 0, 48, 36, 12)
Una segunda solución básica factible puede obtenerse haciendo x2 = s3 = 0, y entonces al resolver el
SEL resultante se llega a: x1 = 12, s2 = 12 y s1 = 12. Por tanto, la segunda solución básica factible de
(14) está dada por:
(x1, x2, s1, s2, s3) = (12, 0, 12, 12, 0)
Una tercera solución básica factible puede obtenerse haciendo x1 = s3 = 0, y entonces al resolver el
SEL resultante se llega a: x2 = 12, s2 = 0 y s1 = 0. Por tanto, la tercera solución básica factible de (14)
está dada por:
(x1, x2, s1, s2, s3) = (0, 12, 0, 0, 0)
Por último, al llevar a cabo la representación gráfica del conjunto poliédrico y la ubicación de cada
punto extremo (solución básica factible) solo en términos de las variables x1 y x2, es posible comentar
lo siguiente:
40
Grupo Editorial Patria©
La primera solución básica factible de (14) es el origen (0, 0). La segunda solución básica factible de
(14) está en (12, 0); y la tercera solución básica factible de (14) se encuentra en (0, 12). Esto se puede
apreciar en la figura 2.3.
13
12
11
10
9
8
7
6
5
4
3
2
1
−26−25−24−23−22−21−20−19−18−17−16−15−14−13−12−11−10−9 −8 −7 −6 −5 −4 −3 −2 −1
−1
−2
−3
−4
−5
−6
−7
−8
y
(0, 12)
2x1 + 3x2 ≤ 36
x1 + x2 ≤ 12
3x1 + 4x2 ≤ 48
(12, 0)
(0, 0)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
x
Figura 2.3 Representación gráfica de tres soluciones básicas factibles.
Es importante resaltar que en el CD-ROM se describe con detalle el método gráfico.
A continuación se presentan algunos problemas resueltos con detalle.
Problema resuelto
Supóngase que una vez que se llevó a cabo el modelado de un problema de programación lineal, se llegó al MPLC siguiente:
Max z = 200x1 + 240x2
s.a
6x1 + 12x2 ≤ 120
8x1 + 4x2 ≤ 64
x1, x2 ≥ 0
(15)
Aplicar el procedimiento descrito en el método gráfico con la finalidad de hallar la
solución óptima y el valor óptimo de la función a optimizar.
Solución
Al efectuar la representación gráfica de cada desigualdad (restricción, incluyendo las
variables de no negatividad), así como de la función a optimizar cuando Z = 0 y cuando Z = Z* = 2 720 en el plano y haciendo uso de Winplot y Paint, es posible obtener
la gráfica que se presenta en la figura 2.4, donde se puede observar que la solución
óptima (vértice o solución óptima factible) se encuentra en (x1*, x2*) = (4, 8).
El conjunto intersección que se forma de las cuatro restricciones da como resultado el trapecio que se observa en figura 2.4, cuya área está delimitada por segmentos
rectilíneos. Es importante hacer notar que el trapecio está definido por cuatro segmentos rectilíneos: segmento del eje vertical que pasa por los puntos (0, 0) y (0, 10);
segmento que pasa por los puntos (0, 10) y (4, 8); segmento que pasa por los puntos
(4, 8) y (8, 0); segmento que pasa por los puntos (8, 0) y (0, 0).
Alerta
Es importante recordar que para realizar la
gráfica de una desigualdad lineal en dos
variables (restricción), se requiere:
•Hallar sus trazas (puntos de intersección
con el eje horizontal y el eje vertical)
haciendo, por ejemplo, la variable x1 = 0,
para encontrar el punto de intersección con
el eje vertical y, posteriormente, haciendo
la variable x2 = 0, para hallar el punto de
intersección con el eje horizontal.
El conjunto solución de una desigualdad
lineal en dos variables es un área o bien un
conjunto de puntos; es decir, un semiplano
que puede ser de la recta hacia la parte
superior (semiplano superior) o de la recta
hacia la parte inferior (semiplano inferior).
41
UNIDAD
2
Programación lineal
10
9
8
7
6
5
4
3
2
1
z=0
y
6x1 + 12x2 ≤ 120
z *= 2720
8x1 + 4x2 ≤ 63
−20−19−18−17−16−15−14−13−12−11−10 −9 −8 −7 −6 −5 −4 −3 −2 −1−1
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
−2
−3
−4
−5
−6
Figura 2.4 Gráfica del conjunto poliédrico del modelo.
Problema resuelto
Supóngase que una vez que se llevó a cabo el modelado de un problema de programación lineal, se
llegó al MPLC siguiente:
Max Z = 40x1 + 30x2
s.a
3x1 + 5x2 ≥ 30
4x1 + 3x2 ≤ 48
3x1 + 4x2 ≤ 40
x1, x2 ≥ 0
(16)
Aplicar el procedimiento descrito en el método gráfico, con la finalidad de hallar la solución óptima y
el valor óptimo de la función a optimizar.
Solución
Al efectuar la representación gráfica de cada desigualdad (restricción, incluyendo las variables de no
negatividad), así como de la función a optimizar cuando Z = 0 y cuando Z = Z* = 480, en el plano y haciendo uso de Winplot y Paint, se obtiene la gráfica que se presenta en la figura 2.5, en la cual se puede
observar que la solución óptima (punto extremo óptimo factible) se encuentra en (x1*, x2*) = (12, 0).
z=0
10
9
8
7
6
5
4
3
2
1
−20−19−18−17−16−15−14−13−12−11−10 −9 −8 −7 −6 −5 −4 −3 −2 −1
−1
−2
−3
−4
−5
−6
Figura 2.5 Gráfica del conjunto poliédrico del modelo.
42
y
4x1 + 3x2 ≤ 48
3x1 + 4x2 ≤ 40
z = z* = 480
3x1 + 5x2 ≤ 30
(10.2, 2.2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
x
Grupo Editorial Patria©
Como se puede ver, el conjunto intersección que se forma de las cinco restricciones da como resultado el polígono que se representa en la figura, cuya área se encuentra delimitada por segmentos
rectilíneos. Por tanto, este polígono queda definido por cinco segmentos rectilíneos: segmento del eje
vertical que pasa por los puntos (0, 6) y (0, 10); segmento que pasa por los puntos (0, 10) y (10.2, 2);
segmento que pasa por los puntos (10.2, 2.2) y (12, 0); segmento que pasa por los puntos (12, 0) y
(10, 0); segmento que pasa por los puntos (10, 0) y (0, 6).
A continuación se presentan ejercicios del método gráfico de caso mínimo.
Problema resuelto
Supóngase que una vez que se efectuó el modelado de un problema de programación lineal, se llegó
al MPLC siguiente:
Max W = 8y1 - 12y2
s.a
5y1 - 4y2 ≥ 20
2y1 + 3y2 ≤ 36
6y1 + 3y2 = 24
y1, y2 ≥ 0
(17)
Aplicar el procedimiento descrito en el método gráfico, con la finalidad de hallar la solución óptima y
el valor óptimo de la función a optimizar.
Solución
Al realizar la representación gráfica de cada desigualdad (restricción, incluyendo las variables de no
negatividad), así como de la función a optimizar cuando W = 0 y cuando W = W* = 32, en el plano y
haciendo uso de Winplot y Paint, se puede obtener la gráfica que se presenta en la figura 2.6.
12
11
10
9
8
7
6
5
4
3
2
1
−24−23−22−21−20−19−18−17−16−15−14−13−12−11−10−9 −8 −7 −6 −5 −4 −3 −2 −1
−1
−2
−3
−4
−5
−6
−7
y
5y1 – 4y2 ≥ 36
w=0
2y1 + 3y2 ≤ 36
w = w* = 32
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
x
6y1 + 3y2 = 24
Figura 2.6 Gráfica del conjunto poliédrico del modelo (17).
En la figura, el conjunto intersección que se forma de las tres restricciones y dos variables de no negatividad da como resultado el segmento de línea recta marcado más grueso, el cual pasa por los puntos
(0, 8) y (4, 0).
43
UNIDAD
2
Programación lineal
Problema resuelto
Supóngase que una vez que se llevó a cabo el modelado de un problema de programación lineal, se
llegó al MPLC siguiente:
Min W = 25y1 - 20y2
s.a
2y1 + 3y2 ≥ 24
4y1 + 5y2 ≤ 40
y1, y2 ≥ 0
(18)
Aplicar el procedimiento descrito en el método gráfico, con la finalidad de hallar la solución óptima y
el valor óptimo de la función a optimizar.
Solución
Al realizar la representación gráfica de cada desigualdad (restricción, incluyendo las variables de no
negatividad), así como de la función a optimizar cuando W = 0 y cuando W = W* = -160, en el plano y
haciendo uso de Winplot y Paint, se puede obtener la gráfica que se presenta en la figura 2.7.
9
y
w = w* = –160
8
7
6
5
4
2y1 + 3y2 >= 24
3
2
w = 0 4y1 + 5y2 <= 40
1
−18 −17 −16 −15 −14 −13 −12 −11 −10 −9 −8 −7 −6 −5 −4 −3 −2 −1−1
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
x
−2
−3
−4
−5
Figura 2.7
El conjunto intersección que se forma de la intersección de las dos restricciones y las dos variables de
no negatividad, da por resultado un único punto, el cual es (0, 8), siendo este el que aporta el valor
óptimo de la función a optimizar.
2.3 Método simplex
El método simplex se basa en el hecho de que la solución óptima de un modelo de programación
lineal continua (MPLC) siempre ocurrirá en un vértice (punto factible, solución básica factible), debido
a la linealidad y la convexidad de las restricy
ciones (desigualdades); de ahí, basta analizar
los puntos extremos para conocer aquel que
E(0, 14)
produce el valor óptimo de la función a optiD(3, 12)
mizar y, por ende, la solución óptima.
Ahora bien, para tener una idea básica
desde el punto de vista gráfico, supóngase
que se tiene un conjunto intersección como
el que se muestra en la figura 2.8.
Como se puede observar, cuando se
inicia en el punto A, que es el origen (0, 0),
el siguiente punto factible o vértice está en
B(8, 0). Posteriormente, al ir mejorando el valor del objetivo, se alcanza en C(6, 6), luego
en D(3, 12) y, finalmente, en E(0, 14).
44
C(6, 6)
A(0, 0)
Figura 2.8 Conjunto intersección.
B(8, 0)
x
Grupo Editorial Patria©
De lo anterior, se puede pensar intuitivamente que el método simplex es un procedimiento iterativo (algoritmo) que permite ir mejorando la solución en cada vértice. Por tanto, el procedimiento
termina cuando ya no es posible seguir mejorando el valor del objetivo.
Teóricamente se puede iniciar en cualquier vértice o punto factible, pero como se asume que se
inicia con un MPLC en forma canónica caso máximo, entonces una solución inicial básica factible (SIBF)
será el origen; para lo cual el método consistirá en buscar sucesivamente otro vértice que mejore el
valor de la función objetivo. Esta búsqueda se hace a través de los vértices del polígono (vértices del
conjunto poliédrico). Y, asumiendo que el número de vértices es finito, entonces siempre se podrá
encontrar una solución óptima.
A continuación se revisan y analizan con detalle algunos conceptos importantes:
°Si un MPLC no cumple con alguna de estas formas, este debe manipularse mediante alguna de las
siguientes transformaciones:
a)Si se tiene una restricción (desigualdad) del tipo:
ai1x1 + … + ainxn ≥ bi
Para transformarla a la forma ≤ se multiplica por -1; entonces:
-ai1x1 - … - ainxn ≤ bi
b) Si se tiene una restricción (desigualdad) del tipo:
ai1x1 + … + ainxn = bi
Se puede sustituir por las siguientes restricciones (desigualdades):
ai1x1 + … + ainxn ≥ bi
ai1x1 + … + ainxn ≤ bi
Ya que desde el punto de vista geométrico la intersección de estas dos restricciones (desigualdades) da como resultado la restricción (ecuación) del tipo igualdad.
c)Si se tiene un modelo de minimización, se puede sustituir la función objetivo por z’ = -ctx y se
maximiza z’. Al terminar, el máximo de z se obtiene como:
Max z = -Min(-z’)
El algoritmo del método se puede consultar en el CD-ROM del libro.
Problema resuelto
Aplicar el algoritmo simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 4x1 + 2x2
Sujeto a:
x1 + 2x2 ≤ 36
2x1 + 5x2 ≤ 40
x1, x2 ≥ 0
Solución
Al llevar a cabo la estandarización del MPLC, se obtiene:
Max Z = 4x1 + 2x2 + 0s1 + 0s2
Sujeto a:
x1 + 2x2 + s1 = 36
2x1 + 5x2 + s2 = 40
x1, x2, s1, s2 ≥ 0
45
UNIDAD
2
Programación lineal
Ahora, para hallar una SIBF se tiene que hacer (n - m) variables iguales a cero, donde n = 4 y m = 2; es
decir, (n - m) = 2, variables iguales a cero. Supóngase que sean x1 = x2 = 0, y con base en esto, se tiene
que s1 = 36, y s2 = 40. Así que la solución inicial básica factible queda definida como: (x1, x2, s1, s2) =
(0, 0, 36, 40).
Tabla 2.1 Tabla simplex inicial
Cj
4
2
0
0
CB
VB
X1
X2
S1
S2
LD
Theta
0
S1
1
2
1
0
36
36
0
S2
2
5
0
1
40
20
Cj - Zj
Z
4
2
0
0
0
En este caso, como no se cumple el criterio de optimalidad, entonces se busca la variable entrante, que
con base en el paso 6, es la variable x1, debido a que el elemento (Cj - Zj) más grande positivo es el 4,
ubicado en la celda marcada. Aplicando el paso 7, que es útil para definir la variable que sale, y usando
el criterio del mínimo cociente, nos percatamos que es 20, y está ubicado en la celda sombreada. Por
tanto, el pivote es el elemento 2, en la celda marcada. Al definir el pivote y pivotear, se obtiene la tabla
de la primera iteración (véase tabla 2.2).
Tabla 2.2 Primera iteración
4
Cj
2
0
0
CB
VB
X1
X2
S1
S2
LD
0
S1
0
-0.5
1
-0.5
16
4
X1
1
2.5
0
0.5
20
Cj - Zj
Z
0
-8
0
-2
80
Theta
Como se cumple el criterio de optimalidad, entonces se dice que se ha llegado a la solución óptima,
que es:
 s *   16 
1
xB =   =  
 x *   20
1
Y el valor óptimo de la función a optimizar es: z* = 80.
Verificación de solución óptima y valor óptimo del objetivo, mediante WinQSB
Al abrir la pestaña Linear and Integer Programming, WinQSB devuelve la pantalla (véase figura 2.9).
46
Figura 2.9
Grupo Editorial Patria©
Luego, al dar clic en File y New Problem, WinQSB devuelve la pantalla
que se observa en la figura 2.10.
Figura 2.10
El siguiente paso consiste en introducir
el título del problema (si es que se desea; es decir, es optativo) y el número
de variables, así como el número de
restricciones y finalmente indicarle si la
función a optimizar es de máximos o de
mínimos.
Para el caso del ejemplo, no se introduce nombre del problema, pero sí
el número de variables, el número de
restricciones y el criterio de la función a
optimizar. Al llevar a cabo esta acción,
WinQSB devuelve la pantalla que se
observa en la figura 2.11.
Figura 2.11
Enseguida, para obtener la solución óptima y el valor óptimo del objetivo, se da clic en la pestaña de
Solve and analize y luego se da clic en Solve the problem, entonces WinQSB devuelve la pantalla que
se observa en la figura 2.12.
Figura 2.12
47
UNIDAD
2
Programación lineal
Por último, al dar clic en Aceptar, WinQSB devuelve la pantalla que se observa en la figura 2.13.
Figura 2.13
La interpretación de la pantalla anterior es:
X1* = 20, X2 = 0 y Z* = 80
En la figura 2.14 se realiza la interpretación geométrica de lo que el algoritmo simplex está ejecutando.
y
20
D1
18
D2
16
D3
14
D4
z* = 80
12
f(x) = 40 – 2x
10
8
6
4
2
−6
−4
−2
A = (0, 0)
2
B = (20, 0)
4
6
8
10
12
14
16
18
20
22
24
26
x
Figura 2.14
Conforme se observa en la figura 2.14, el conjunto que se forma al efectuar la intersección de las cuatro
restricciones (desigualdades) es un triángulo rectángulo achurado. Luego, la SIBF con que se inició la
aplicación del algoritmo fue el punto factible A(0, 0); después de ejecutar el primer cálculo (iteración) se
obtuvo otro punto factible B(20, 0), que resultó el punto factible óptimo, con valor óptimo de función
a optimizar de Z* = 80.
48
Grupo Editorial Patria©
❚ Casos que se presentan al aplicar el método simplex
En la aplicación del método simplex pueden suceder varias cosas; por ejemplo, pueden existir casos
donde la solución óptima no es única o finita o casos donde pueden haber restricciones redundantes o
simplemente puede suceder que no haya solución. Estos casos se pueden clasificar como:
1° caso: Degeneración
Problema resuelto
Aplicar el algoritmo simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 3x1 + 9x2
Sujeto a:
x1 + 4x2 ≤ 8
x1 + 2x2 ≤ 4
x1, x2 ≥ 0
Solución
Al llevar a cabo la estandarización del MPLC, se obtiene:
Max Z = 3x1 + 9x2 + 0x3 + 0x4
Sujeto a:
x1 + 4x2 + x3 = 8
x1 + 2x2 + x4 = 4
x1, x2, x3, x4 ≥ 0
Ahora bien, para hallar una SIBF es necesario hacer (n - m) variables iguales a cero, donde n = 4 y
m = 2; es decir, (n - m) = 2 variables iguales a cero. Digamos que sean x1 = x2 = 0 y, con base en esto,
se tiene que x3 = 8, y x4 = 4. Así que la solución inicial básica factible queda definida como: (x1, x2, x3,
x4) = (0, 0, 8, 4) (véase tabla 2.3).
Tabla 2.3 Tabla simplex inicial
3
9
0
0
VB
X1
X2
X3
X4
LD
Theta
Cj
CB
0
X3
1
4
1
0
8
2
0
X4
1
2
0
1
4
2
Cj - Zj
Z
3
9
0
0
0
Como en este caso no se cumple el criterio de optimalidad, entonces se busca la variable entrante, que
con base en el paso 6, esta es la variable X2, debido a que el elemento (Cj - Zj) más grande positivo es
el 9. Aplicando el paso 7, que es para definir la variable que sale, usando el criterio del mínimo cociente, nos percatamos que es 2, y que está en la celda ubicada debajo de theta. Por tanto, el pivote es el
elemento 4 que está en la celda debajo de X2. Al definir el pivote y pivotear, se obtiene la tabla de la
primera iteración (véase tabla 2.4).
Tabla 2.4 Tabla de la primera iteración
Cj
3
9
0
0
CB
VB
X1
X2
X3
X4
LD
Theta
9
X2
0.25
1
0.25
0
2
8
0
X4
0.5
0
-0.5
1
0
0
Cj - Zj
Z
0.75
0
-2.25
0
18
49
UNIDAD
2
Programación lineal
Como aquí no se cumple el criterio de optimalidad, entonces se busca la variable entrante, que con
base en el paso 6, esta es la variable X1, debido a que el elemento (Cj - Zj) más grande positivo es el
0.75 (sombreado). Aplicando el paso 7, que nos permite definir la variable que sale, y mediante el uso
del criterio del mínimo cociente, nos percatamos que es 0, que está en la celda marcada. Por tanto, el
pivote es el elemento 0.5. Al definir el pivote y pivotear, entonces se obtiene la tabla de la segunda
iteración (véase tabla 2.5)
Tabla 2.5 Tabla de la segunda iteración
Cj
3
9
0
0
CB
VB
X1
X2
X3
X4
LD
9
X2
0
1
0.5
-0.5
2
3
X1
1
0
-1
2
0
Cj - Zj
Z
0
0
-1.5
-1.5
18
Theta
Como ya no hay ningún elemento de las variables no básicas que tenga algún (Cj - Zj) positivo, entonces se ha encontrado la solución óptima degenerada, que es:
 x *   2
2
x B* =   =  
 x *   0
1
Que precisamente resultó una solución básica factible óptima degenerada, debido a que la variable
básica X1 resultó ser cero en el óptimo.
Así que el valor óptimo de la función a optimizar es:
Z* = 18
Haciendo uso de Lindo, se tiene que la salida es:
LP
OPTIMUM FOUND
AT
STEP 1
OBJECTIVE
FUNCTION
1)
18.00000
VALUE
VARIABLE
VALUE
REDUCED COST
X1
X2
0.000000
2.000000
1.500000
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
0.000000
0.000000
0.000000
4.500000
NO. ITERATIONS = 1
Esta solución óptima coincide con la obtenida al aplicar el algoritmo simplex.
2° caso: Soluciones múltiples
Problema resuelto
Aplicar el algoritmo simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 2x1 + 4x2
Sujeto a:
50
x1 + 2x2 ≤ 5
x1 + x2 ≤ 4
x1, x2 ≥ 0
Grupo Editorial Patria©
Solución
Por razones obvias, en este problema se omitirá realizar la estandarización del modelo y encontrar la
SIBF, dado que esto se realizó en el problema anterior. Por tanto, aquí iniciaremos a partir de la presentación de la tabla simplex inicial (véase tabla 2.6).
Tabla 2.6 Tabla simplex inicial
Cj
2
4
0
0
CB
VB
X1
X2
X3
X4
LD
Theta
0
X3
1
2
1
0
5
2.5
0
X4
1
1
0
1
4
4
Cj - Zj
Z
2
4
0
0
0
Como en este caso no se cumple el criterio de optimalidad, el siguiente paso es buscar la variable
entrante, que con base en el paso 6 es la variable X2, debido a que el elemento (Cj - Zj) más grande
positivo es el 4. Aplicando el paso 7, que sirve para definir la variable que sale, usando el criterio del
mínimo cociente, nos percatamos que para el caso que nos ocupa, se elegirá el cociente, cuyo valor es
2.5. Por tanto, el pivote es el elemento 2 que está en la celda ubicada debajo de X2. Por tanto, al definir
el pivote y pivotear se obtiene la tabla de la primera iteración (véase tabla 2.7).
Tabla 2.7 Tabla de la primera iteración
Cj
CB
2
4
0
0
VB
X1
X2
X3
X4
LD
Theta
4
X2
0.5
1
0.5
0
2.5
5
0
X4
0.5
0
-0.5
1
1.5
3
Cj - Zj
Z
0
0
-2
0
10
Como se puede observar, los elementos (Cj - Zj) para las variables no básicas son menores o iguales a
cero; por tanto, con base en esto, se ha encontrado una solución óptima:
 x *   2 .5
2
xB =   = 

 x *   1 .5 
4
Así, el valor óptimo de la función a optimizar es:
z* = 10
Pero, como no existe un impedimento para elegir nuevamente como variable entrante a la variable X1,
que es variable no básica, y cuyo valor es 0, ubicado en la celda marcada. Entonces, al aplicar el criterio
del mínimo cociente para hallar la variable saliente, se obtiene el valor 3. De este modo, el pivote es
el elemento 0.5, que está en la celda marcada. Al definir el pivote y pivotear, se obtiene la tabla de la
segunda iteración (véase tabla 2.8).
Tabla 2.8 Tabla de la segunda iteración
Cj
2
4
0
0
CB
VB
X1
X2
X3
X4
LD
4
X2
0
1
1
-1
1
2
X1
1
0
-1
2
3
Cj - Zj
Z
0
0
-2
0
10
Theta
Como se puede observar, los elementos (Cj - Zj) para las variables no básicas son menores o iguales a
cero; por tanto, con base en esto, se ha encontrado otra solución óptima:
 x *  1
2
xB =   =  
 x *   3
1
Y el valor óptimo de la función a optimizar sigue siendo:
z* = 10
51
UNIDAD
2
Programación lineal
Haciendo uso de Lindo, se obtiene que la salida:
LP
OPTIMUM FOUND
AT STEP 1
OBJECTIVE
1)
FUNCTION
10.00000
VALUE
VARIABLE
X1
X2
VALUE
0.000000
2.500000
REDUCED COST
0.000000
0.000000
ROW
2)
3)
SLACK OR SURPLUS
0.000000
1.500000
DUAL PRICES
2.000000
0.000000
NO. ITERATIONS = 1
Esta solución óptima coincide con la obtenida en la primera iteración.
3° caso: Soluciones no acotadas
Problema resuelto
Aplicar el método simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 2x1 + x2
Sujeto a:
x1 - x2 ≤ 10
2x1 + 0x2 ≤ 40
x1, x2 ≥ 0
Solución
Por razones obvias, en este problema se omitirá realizar la estandarización del modelo y encontrar la
SIBF, dado que esto se realizó en el problema anterior. Así que se iniciará a partir de la presentación de
la tabla simplex inicial (véase tabla 2.9).
Tabla 2.9 Tabla simplex inicial
Cj
2
1
0
0
CB
VB
X1
X2
X3
X4
LD
Theta
0
X3
1
-1
1
0
10
10
0
X4
2
0
0
1
40
20
Cj - Zj
Z
2
1
0
0
0
Como aquí no se cumple el criterio de optimalidad, entonces el siguiente paso es buscar la variable
entrante, que con base en el paso 6 es la variable X1, debido a que el elemento (Cj - Zj) más grande
positivo, y es el 2 ubicado en la celda sombreada. Aplicando el paso 7, que nos permite definir la
variable que sale, y usando el criterio del mínimo cociente, nos percatamos que para el caso que nos
ocupa, se elegirá el cociente, cuyo valor es 10, y que está en la celda marcada. Por tanto, el pivote es
el elemento 1 que está en la celda señalada. Al definir el pivote y pivotear, se obtiene la tabla de la
primera iteración (véase tabla 2.10).
Tabla 2.10 Tabla de la primera iteración
Cj
52
2
1
0
0
X1
X2
X3
X4
LD
1
-1
1
0
10
-
X4
0
2
-2
1
20
10
Z
0
3
-2
0
20
CB
VB
2
X1
0
Cj - Zj
Theta
Grupo Editorial Patria©
Nuevamente, en este caso tampoco se cumple el criterio de optimalidad, así que se repite el mismo
procedimiento mencionado debajo de la tabla simplex inicial. La variable que entra es X2, debido a que
el elemento (Cj - Zj) más grande positivo es el 3. Luego, aplicando el criterio del mínimo cociente, nos
percatamos que es el elemento 10 ubicado en la celda sombreada. Por tanto, el pivote es el elemento 2
que está en la celda señalada. Al definir el pivote y pivotear, se obtiene la tabla de la segunda iteración
(véase tabla 2.11).
Tabla 2.11 Tabla de la segunda iteración
2
1
0
0
CB
VB
X1
X2
X3
X4
LD
2
X1
1
0
0
0.5
20
1
X2
0
1
-1
0.5
10
Cj - Zj
Z
0
0
1
-1.5
Cj
Theta
Por último, como se puede observar en la tabla, no se cumple el criterio de optimalidad debido que
existe un elemento (Cj - Zj) más grande positivo es el 1 ubicado en la celda sombreada, pero no hay
variable saliente; dado que los dos divisores no son válidos para considerarlos, porque uno es 0 y el otro
es -1 (número negativo). Por tanto, se concluye que el modelo es no acotado.
Haciendo uso de Lindo, se obtiene que la salida:
UNBOUNDED
2
SLK
X2
VARIABLES
ARE:
OBJECTIVE
1)
FUNCTION
0.9999990E+08
VALUE
VARIABLE
X1
X2
VALUE
20.000000
10.000000
REDUCED COST
0.000000
0.000000
ROW
2)
3)
SLACK OR SURPLUS
0.000000
0.000000
DUAL PRICES
0.000000
-1.000000
NO. ITERATIONS = 2
O bien, haciendo uso de Lindo, se obtiene la salida que se muestra en la figura 2.15.
Figura 2.15
Esta coincide con lo que se obtiene al aplicar el método simplex.
53
UNIDAD
2
Programación lineal
4° caso: Soluciones inexistentes
Problema resuelto
Aplicar el método gráfico para hallar la solución óptima del MPLC siguiente:
Max Z = 3x1 + 2x2
Sujeto a:
2x1 + x2 ≤ 2
3x1 + 4x2 ≥ 12
x1, x2 ≥ 0
Solución
Primero, hacemos uso del software Graph y Paint para dibujar las cuatro restricciones; entonces, se
obtiene la figura 2.16.
y
10
D1
8
D2
6
D3
4
D4
2
–10
–9
–8
–7
–6
–5
–4
–3
–2
–1
x2 >= 0
1
2
3
4
5
–2
7
8
9
3x1+ 4x2 >= 12
10
11
x
2x1+ x2 <= 2
–4
–6
6
x1 >= 0
–8
Figura 2.16
En la figura 2.16 se observa que el conjunto solución es el vacío; debido a que la intersección de las
cuatro restricciones carece de un conjunto de valores reales.
Enseguida, se resuelven dos MPLC mediante la aplicación del algoritmo simplex descrito antes.
Problema resuelto
Aplicar el algoritmo simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 3x1 + 5x2 + 8x3
Sujeto a:
3x1 + 5x2 + 8x3 ≤ 60
x1 + 2x2 + 3x3 ≤ 36
x1, x2, x3 ≥ 0
Solución
Por razones obvias, en este caso se omitirá realizar la estandarización del modelo y encontrar la SIBF,
dado que este paso ya se realizó en el problema anterior. Así que aquí iniciaremos a partir de la presentación de la tabla simplex inicial (véase tabla 2.12).
54
Grupo Editorial Patria©
Tabla 2.12 Tabla simple inicial
3
5
8
0
0
CB
VB
X1
X2
X3
X4
X5
LD
Theta
0
X3
3
5
8
1
0
60
7.5
0
X4
1
2
3
0
1
36
12
Cj - Zj
Z
3
5
8
0
0
0
Cj
Como en este caso no se cumple el criterio de optimalidad, entonces se busca la variable entrante,
que con base en el paso 6 es la variable X3, debido a que el elemento (Cj - Zj) más grande positivo es
el 8, ubicado en la celda sombreada. Aplicando el paso 7, que nos permite definir la variable que sale,
mediante el uso del criterio del mínimo cociente, nos percatamos que para el caso que nos ocupa se
elegirá el cociente, cuyo valor es 7.5. Por tanto, el pivote es el elemento 8 que está en la celda sombreada. Al definir el pivote y pivotear, se obtiene la tabla de la primera iteración (véase tabla 2.13).
Tabla 2.13 Tabla de la primera iteración
3
Cj
5
8
0
0
CB
VB
X1
X2
X3
X4
X5
LD
Theta
8
X3
0.375
0.625
1
0.125
0
7.5
20
0
X5
-0.125
0.125
0
-0.375
1
13.5
-
Cj - Zj
Z
0
0
0
-1
0
60
Como se ve, los elementos (Cj - Zj) para las variables no básicas son menores o iguales a cero; por tanto,
con base en lo anterior, se ha encontrado otra solución óptima:
 x *   7 .5 
3
xB =   = 

 x *   13 .5
5
Y el valor óptimo de la función a optimizar sigue siendo:
z* = 60
Pero, como no existe algún impedimento para elegir, de nueva cuenta, como variable entrante a la variable X1, que es variable no básica, y cuyo valor es 0 ubicado en la celda sombreada, entonces al aplicar el criterio del mínimo cociente para hallar la variable saliente se obtiene el valor 20. De este modo,
el pivote es el elemento 0.375, que está en la celda sombreada. Así, al definir el pivote y pivotear se
obtiene la tabla de la segunda iteración (véase tabla 2.14).
Tabla 2.14 Tabla de la segunda iteración
3
Cj
5
8
0
0
CB
VB
X1
X2
X3
X4
X5
LD
3
X1
1
1.6666667
2.6666667
0.3333333
0
20
0
X5
0
0.3333333
0.3333333
-0.333333
1
16
Cj - Zj
Z
0
0
0
-1
0
60
Theta
Como se puede ver, los elementos (Cj - Zj ) para las variables no básicas son menores o iguales a cero;
por tanto, con base en esto, se ha encontrado otra solución óptima:
 x *   20
1
xB =   =  
 x *   16 
5
Y el valor óptimo de la función a optimizar sigue siendo:
z* = 60
55
UNIDAD
2
Programación lineal
Haciendo uso de Lindo, se obtiene que la salida:
LP
OPTIMUM FOUND
AT STEP 1
OBJECTIVE
FUNCTION
1)
60.00000
VALUE
VARIABLE
VALUE
REDUCED COST
X1
X2
X3
20.000000
0.000000
0.000000
0.000000
0.000000
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
0.000000
16.000000
1.000000
0.000000
NO. ITERATIONS = 1
Esta solución óptima coincide con la obtenida en la segunda iteración.
Problema resuelto
Aplicar el algoritmo simplex para hallar la solución óptima del MPLC siguiente:
Max Z = 5x1 + 4x2 - 2x3
Sujeto a:
2x1 + 3x2 + 5x3 ≤ 40
3x1 + x2 - 2x3 ≤ 60
x1, x2, x3 ≥ 0
Solución
Por razones obvias, aquí se omite realizar la estandarización del modelo y encontrar la SIBF, dado que
esto se realizó en el problema anterior. Así que aquí iniciaremos a partir de la presentación de la tabla
simplex inicial (véase tabla 2.15).
Tabla 2.15 Tabla simplex inicial
5
4
-2
0
0
CB
VB
X1
X2
X3
X4
X5
LD
Theta
0
X4
2
3
5
1
0
40
20
0
X5
3
1
-2
0
1
60
20
Cj - Zj
Z
5
4
-2
0
0
0
Cj
Como en este caso no se cumple el criterio de optimalidad, entonces se busca la variable entrante, que
con base en el paso 6 es la variable X1, debido a que el elemento (Cj - Zj) más grande positivo es el 5,
ubicado en la celda sombreada. Aplicando el paso 7, que nos permite definir la variable que sale, usando el criterio del mínimo cociente, nos podemos percatar que para el caso que nos ocupa se elegirá
el cociente, cuyo valor es 20 que está en la celda sombreada. Por tanto, el pivote es el elemento 2. Al
definir el pivote y pivotear, se obtiene la tabla de la primera iteración (véase tabla 2.16).
Tabla 2.16 Tabla de la primera iteración
5
4
-2
0
0
VB
X1
X2
X3
X4
X5
LD
20
Cj
CB
56
5
X1
1
1.5
2.5
0.5
0
0
X5
0
-3.5
-9.5
-1.5
1
0
Cj - Zj
Z
0
-3.5
-14.5
-2.5
0
100
Theta
Grupo Editorial Patria©
Como se puede observar en la tabla, los elementos (Cj - Zj) para las variables no básicas son menores
o iguales a cero, con base en esto se ha encontrado solución óptima degenerada:
 x *   20
1
xB =   =  
 x *   0 
5
Y el valor óptimo de la función a optimizar sigue siendo:
z* = 100
Haciendo uso de Lindo, se obtiene que la salida:
LP
OPTIMUM
FOUND
AT
STEP 1
OBJECTIVE
FUNCTION
VALUE
1)
100.00000
VARIABLE
VALUE
REDUCED COST
X1
X2
X3
20.000000
0.000000
0.000000
0.000000
0.000000
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
0.000000
0.000000
1.000000
2.000000
NO. ITERATIONS = 2
Esta solución óptima coincide con la obtenida en la segunda iteración.
2.4 Método de la gran M
El método de la gran M es otro de los métodos de solución de programación lineal continua, que se
ubica dentro de los métodos de variables artificiales; también conocido como variante del método simplex o método de penalización. Este método se denomina así debido a que usa variables artificiales.
Se aplica cuando algún modelo de programación lineal continua (MPLC) no se encuentra en su forma
canónica (caso de máximos), ya que habría que introducir alguna variable artificial en dicho modelo,
con la finalidad de obtener una solución inicial básica factible (SIBF), para posteriormente aplicar el
algoritmo simplex, descrito con anterioridad.
El algoritmo de este método se aborda con detalle dentro del CD-ROM del libro.
Para tener una idea clara de cómo se aplica este algoritmo, a continuación se utiliza en el ejemplo
de un problema resuelto.
Alerta
Es importante considerar
que no todos los MPLC
tienen solución óptima.
Cuando se aplique este
algoritmo se sabrá si el
modelo no tiene solución,
si la tabla cumple con el
criterio de optimalidad y
hay al menos una variable
artificial en el conjunto de
variables básicas con
un valor positivo.
Problema resuelto
Resolver el modelo mostrado abajo usando el algoritmo de la gran M.
Max Z = 3x1 + 2x2
Sujeto a:
2x1 + x2 ≤ 2
3x1 + 4x2 ≥ 12
x1, x2 ≥ 0
Alerta
Este modelo fue el que
quedó pendiente de resolver
en el tema 2.3.
57
UNIDAD
2
Programación lineal
Solución
Al estandarizar el modelo, tenemos:
Max z = 3x1 + 2x2 + 0t2 - MR2
s.a
2x1 + x2 + s1 = 2
3x1 + 4x2 - t2 + R2 = 12
x1, x2, s1, t2, R2 ≥ 0 y M >>> 0
La tabla simplex inicial se muestra en la tabla 2.17.
Tabla 2.17 Tabla simplex inicial
Cj
CB
VB
0
-M
S1
R2
Cj - Zj
Z
3
2
X1
X2
t2
0
-M
S1
R2
0
2
1
3
4
0
0
1
-1
1
(3 + 3M)
(2 + 4M)
-M
0
LD
θ
2
12
2/1 = 2
12/4 = 3
0
-12M
0
De acuerdo con el algoritmo propuesto, la variable entrante es X2, dado que (Cj - Zj) es el valor más
grande positivo, porque M es una cantidad muy grande positiva. Dicho elemento es (2 + 4M) que en
la tabla está sombreado. Luego, para saber qué variable sale, se aplica el criterio del mínimo cociente,
cuyos cocientes se muestran en la columna θ, siendo el mínimo el que está sombreado; por tanto, el
pivote es el valor 1, que está señalado. No hay que olvidar que el pivote resulta de la intersección de la
columna de la variable entrante y el renglón de la variable saliente. Por este motivo, para este caso,
la variable saliente es S1. Al pivotear, se genera la tabla de la primera iteración, que se muestra en la
tabla 2.18.
Tabla 2.18 Tabla de la primera iteración
Cj
CB
VB
2
-M
X2
R2
Cj - Zj
Z
3
2
X1
X2
2
1
-5
0
t2
0
-M
S1
R2
0
0
-1
1
0
(-2 - 4M)
0
0
LD
1
(-1 - 5M)
-M
-4
θ
2
4
4 - 4M
Nuevamente, al aplicar el algoritmo, se debe investigar si se cumple la prueba de optimalidad. En este
caso, sí se cumple. Sin embargo, como se observa, hay una variable artificial en la base, cuyo valor es
4 (positiva). Con base en esto, se concluye que el modelo es infactible (no posee soluciones factibles)
y concluye aquí.
Problema resuelto
Resolver el modelo mostrado abajo, usando el algoritmo de la gran M.
58
Min w = 2y1 + 5y2
s.a
y1 + 3y2 ≥ 12
2y1 + 9y2 ≥ 18
con y1, y2 ≥ 0
Grupo Editorial Patria©
Solución
Al estandarizar el modelo, tenemos:
Min w = 2y1 + 5y2 + 0t1 + 0t2 + MR1 + MR2
s.a
y1 + 3y2 - t1 = 12
2y1 + 9y2 - t2 = 18
y1, y2, t1, t2, R1, R2 ≥ 0 y M >>> 0
Para este caso, la tabla simplex inicial se muestra en la tabla 2.19.
Tabla 2.19 Tabla simplex
Cj
2
0
5
0
M
M
CB
VB
Y1
t1
Y2
t2
R1
R2
LD
θ
M
M
R1
R2
1
-1
2
0
3
0
9
-1
1
0
0
1
12
18
12/3 = 4
18/9 = 2
Cj - wj
w
(2 - 3M)
M
(5 - 12M)
M
0
0
30M
De acuerdo con el algoritmo propuesto, la variable entrante es Y2, dado que (C2 - w2) es el valor más
grande negativo, porque M es una cantidad muy grande positiva. Dicho elemento es (5 - 12M), el cual
está señalado. Luego, para saber qué variable sale, se aplica el criterio del mínimo cociente, cuyos cocientes se muestran en la columna θ, siendo el mínimo el que está sombreado; por tanto, en este caso,
el pivote es el valor 9, que está sombreado. De este modo, la variable saliente es R2. No hay que olvidar
que el pivote resulta de la intersección de la columna de la variable entrante y el renglón de la variable
saliente. Así, al pivotear, se genera la tabla de la primera iteración (véase tabla 2.20).
Tabla 2.20 Tabla de la primera iteración
Cj
2
0
5
0
M
M
CB
VB
Y1
t1
Y2
t2
R1
R2
LD
θ
M
5
R1
Y2
1/3
-1
2/9
0
0
1/3
1
-1/9
1
-1/3
0
1/9
6
2
6/(1/3) = 18
---
Cj - wj
w
(8/9 - 1/3M)
0
M
(5/9 - 1/3M)
0
(-5/9 + 4/3M)
10 + 6M
Nuevamente, al aplicar el algoritmo, se tiene que investigar si se cumple la prueba de optimalidad,
que según los (Cj - wj ) de las variables no básicas, en este caso no se cumple, dado que (C4 - w4) =
(5/9 - 1/3M) es el valor más grande negativo, que está sombreado. Por tanto, la variable entrante es
t2. Recuérdese que no es válido considerar en la columna θ divisores negativos o nulos; pues en dicha
columna donde haya se dejará el espacio en blanco o se deberá escribir ---, tal como se muestra en la
tabla 2.20. Luego, para saber qué variable sale se aplica el criterio del mínimo cociente, cuyos cocientes
se muestran en la columna θ, siendo el mínimo el que está sombreado; por tanto, la variable saliente
es R1. De este modo, el pivote es el valor 1/3, que está sombreado. No hay que olvidar que el pivote
resulta de la intersección de la columna de la variable entrante y el renglón de la variable saliente. Al
pivotear, se genera la tabla de la segunda iteración (véase tabla 2.21).
59
UNIDAD
2
Programación lineal
Tabla 2.21 Tabla de la segunda iteración
Cj
CB
VB
0
5
t2
Y2
Cj - wj
W
2
0
Y1
t1
1
-3
1/3
-1/3
5
0
Y2
t2
0
1
1
0
M
M
R1
R2
3
-1
1/3
0
1/3
5/3
0
0
(M - 5/3)
M
LD
θ
18
4
20
Otra vez, al revisar si se cumple la prueba de optimalidad, se observa que sí sucede, debido a que cada
uno de los elementos (Cj - wj ) de las variables no básicas son todos positivos. Por tanto, se llegó a la
solución óptima:
 t *   18
2
yB =   =   ,
 y *   4 
2
y
w* = 20
El modelo codificado en Lindo es:
Min 2y1+5y2
s.t.
y1+3y2> =12
2y1+9y2> =18
end
Y la salida que reporta Lindo es:
LP OPTIMUM FOUND
AT
STEP 1
OBJECTIVE
FUNCTION
1)
20.00000
VALUE
VARIABLE
VALUE
REDUCED COST
Y1
Y2
0.000000
4.000000
0.333333
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
0.000000
18.000000
-1.666667
0.000000
NO. ITERATIONS = 1
Conclusión:
La solución óptima obtenida con el método de la gran M es la misma que se obtiene en Lindo.
Problema resuelto
Reikleen Corporation es una empresa dedicada a la mezcla solventes de dos bases premezcladas, donimil y capilal. Cada litro de donimil cuesta 80 centavos de dólar y contiene ocho partes de petróleo,
10 partes de resina de polivinilo y seis partes de líquidos minerales. Por su parte, capilal cuesta 1 dólar
por litro y contiene seis partes de petróleo, cuatro partes de resina de polivinilo y 12 partes de líquidos
minerales. En tanto, cada recipiente de solvente Redikleen debe contener al menos 24 partes de petróleo, 20 partes de resina de polivinilo y 24 partes de líquidos minerales.
Realizar el modelado de este problema, con el objetivo de determinar la mejor combinación de
donimil y capilal que satisfaga los requerimientos para el solvente Redikleen al costo mínimo y aplicar
el algoritmo de la gran M para hallar su solución óptima y el valor óptimo de la función a optimizar.
60
Grupo Editorial Patria©
Solución
Primero se realiza la modelación siguiendo la aplicación de cinco pasos:
Paso 1: Definir el objetivo único.
Paso 2: Definir las variables de decisión.
Paso 3: Definir la función lineal a optimizar.
Paso 4: Determinar el conjunto de restricciones lineales.
Paso 5: Definir las variables de no negatividad.
Paso 1:
Minimizar el costo total de la mezcla, considerando los contenidos mínimos.
Paso 2:
Y1: litros de donimil.
Y2: litros de capilal.
Paso 3:
Min W = 0.8Y1 + 1Y2
Paso 4:
Para llevar a cabo esto, es conveniente resumir los datos en una tabla (véase tabla 2.22).
Tabla 2.22 Resumen de datos
Base
Donimil
Capilal
Costo/litro
Partes petróleo
Partes resina polivinilo
Parte líquidos minerales
0.80
1.00
8
6
10
4
6
12
24
20
24
Contenidos mínimos por
recipiente
Con base en los datos resumidos en la tabla, a continuación se procede a plantear cada una de las
restricciones lineales:
1. Partes petróleo: 8Y1 + 6Y2 ≥ 24
2. Partes resina polivinilo: 10Y1 + 4Y2 ≥ 20
3. Partes líquidos minerales: 6Y1 + 12Y2 ≥ 24
Paso 5:
Y1, Y2 ≥ 0
Finalmente, el MPLC que representa a este problema es:
Min w = 0.8y1 + 1y2
s.a
8y1 + 6y2 ≥ 24
10y1 + 4y2 ≥ 20
6y1 + 12y2 ≥ 24
con y1, y2 ≥ 0
Ahora, al aplicar el algoritmo de la gran M, se debe estandarizar el modelo. Así pues, este queda
como:
Min w = 0.8y1 + 1y2 + 0t1 + 0t2 + 0t3 + MR1 + MR2 + MR3
s.a
8y1 + 6y2 - t1 + R1 = 24
10y1 + 4y2 - t2 + R2 = 20
6y1 + 12y2 - t3 + R3 = 24
y1, y2, t1, t2, t3, R1, R2, R3 ≥ 0, M >>> 0
61
UNIDAD
2
Programación lineal
La tabla simplex inicial queda como se observa en la tabla 2.23.
Tabla 2.23 Tabla simplex
Cj
0.8
1
0
0
0
M
M
M
CB
VB
Y1
Y2
t1
t2
t3
R1
R2
R3
LD
θ
M
R1
8
6
-1
0
0
1
0
0
24
24/8 = 3
M
R2
10
4
0
-1
0
0
1
0
20
20/10 = 2
M
R3
6
12
0
0
-1
0
0
1
24
24/6 = 4
Cj - wj
w
(0.8 - 24M)
(1 - 22M)
M
M
M
0
0
0
68M
De acuerdo con el algoritmo descrito, la variable entrante es Y1, dado que (Cj - wj ) es el valor más
grande negativo, porque M es una cantidad muy grande positiva. Dicho elemento es (0.8 - 24M) y
está sombreado. Luego, para saber qué variable sale, se aplica el criterio del mínimo cociente, cuyos
cocientes se muestran en la columna θ, siendo el mínimo el que está sombreado; por tanto, el pivote es
el valor 10, que está sombreado. De este modo, la variable saliente es R2. Además, no hay que olvidar
que el pivote resulta de la intersección de la columna de la variable entrante y el renglón de la variable
saliente. Al pivotear se genera la tabla de la primera iteración (véase tabla 2.24).
Tabla 2.24 Tabla de la primera iteración
Cj
0.8
1
0
0
0
M
M
M
t2
t3
R1
R2
R3
LD
θ
CB
VB
Y1
Y2
t1
M
R1
0
14/5
-1
4/5
0
1
-4/5
0
8
8/(14/5) = 20/7
0.8
Y1
1
2/5
0
-1/10
0
0
1/10
0
2
2/(2/5) = 5
M
R3
0
48/5
0
3/5
-1
0
-3/5
1
12
12/(48/5) = 5/4
Cj - wj
w
0
(0.68 - 62/5M)
M
(0.08 - 7/5M)
M
0
(-0.08 + 7/5M)
0
(1.6 + 20M)
Nuevamente, al aplicar el algoritmo, se tiene que investigar si se cumple la prueba de optimalidad, que
según los (Cj - wj ) de las variables no básicas, en este caso no se cumple, debido a que (C2 - w2) = (0.68
- 62/5M), y es el valor más grande negativo, el cual está sombreado. Por tanto, la variable entrante
es Y2. Luego, para saber qué variable sale, se aplica el criterio del mínimo cociente, cuyos cocientes
se muestran en la columna θ, siendo el mínimo el que está sombreado y la variable saliente es R3. De
este modo, el pivote es el valor 48/5, que está señalado. No hay que olvidar que el pivote resulta
de la intersección de la columna de la variable entrante y el renglón de la variable saliente. Al pivotear,
se genera la tabla de la segunda iteración (véase tabla 2.25).
Tabla 2.25 Tabla de la segunda iteración
Cj
0.8
1
0
0
0
M
M
M
t1
t2
t3
R1
R2
R3
LD
θ
CB
VB
Y1
Y2
M
R1
0
0 -1
5/8
7/24
1
-5/8 -7/24
9/2
36/5
0.8
Y1
1
0
0
-1/8
1/24
0
1/8
-1/24
3/2
--
1
Y2
0
1
0
1/16
-5/48
0
-1/16
5/48
5/4
20
Cj - wj
w
0
1
M
0
(-0.0375 + 5/8M)
(-0.0708 + 1.2916M)
(2.45 + 9/2M)
(0.0375 - 5/8M) (0.0708 - 7/24M)
Otra vez, al aplicar el algoritmo, se tiene que investigar si se cumple la prueba de optimalidad, que
según los (Cj - wj ) de las variables no básicas, en este caso no se cumple, debido a que (C4 - w4) =
(0.0375 - 5/8M) es el valor más grande negativo, que está sombreado. Por tanto, la variable entrante
es t2. Luego, para saber qué variable sale, se aplica el criterio del mínimo cociente, cuyos cocientes se
muestran en la columna θ, siendo el mínimo el que está sombreado; por tanto, la variable saliente es
62
Grupo Editorial Patria©
R1. De este modo, el pivote es el valor 5/8, que está señalado. No hay que olvidar que el pivote resulta
de la intersección de la columna de la variable entrante y el renglón de la variable saliente. Al pivotear,
se genera la tabla de la tercera iteración (véase tabla 2.26).
Tabla 2.26 Tabla de la tercera iteración
0.8
1
0
0
0
M
M
M
VB
Y1
Y2
t1
t2
t3
R1
R2
R3
LD
Cj
CB
0
t2
0
0
-8/5
1
7/15
8/5
-1
-7/15
36/5
0.8
Y1
1
0
-1/5
0
1/10
1/5
0
-1/10
12/5
1
Y2
0
1
1/10
0
-2/15
-1/10
0
2/15
4/5
Cj - wj
w
0
0
0.06
0
0.0533
(M - 0.06)
M
(M - 0.0533)
2.72
θ
Al revisar si se cumple la prueba de optimalidad, se observa que aquí sí se cumple, debido a que cada
uno de los elementos (Cj - wj) de las variables no básicas son todos positivos. Por lo que se llegó a la
solución óptima:
 36 
 5
 
   12 
y B* =  y 1*  =  
   5
 y *   
2
4
 
 5
t * 
2
y
w* = 2.72
La interpretación de esta solución es: para obtener la mezcla de costo mínimo (2.72), se requieren 2.4
litros de donimil y 0.8 litros de capilal.
El modelo codificado en Lindo es:
Min 0.8Y1 + 1Y2
s. t.
8Y1 + 6Y2 > = 24
10Y1 + 4Y2 > = 20
6Y1 + 12Y2 > = 24
end
Y la salida que reporta Lindo es:
LP OPTIMUM
FOUND
AT
STEP 2
OBJECTIVE
FUNCTION
1)
2.720000
VALUE
VARIABLE
VALUE
REDUCED COST
Y1
Y2
2.400000
0.800000
0.000000
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
4)
0.000000
7.200000
0.000000
-0.060000
0.000000
-0.053333
NO. ITERATIONS = 2
Conclusión:
Este resultado que reporta Lindo coincide con lo obtenido al aplicar este algoritmo.
63
UNIDAD
2
Programación lineal
2.5 Método de las dos fases
Antes de iniciar con el estudio de este método, es necesario haber comprendido muy bien el algoritmo
simplex con arreglo tabular, ya que, como se revisará más adelante, en este se utilizan algunos pasos
de dicho algoritmo. Asimismo, es recomendable repasar cómo se llena la tabla simplex.
El método de las dos fases es un método alternativo al de la gran M, aplicable cuando el MPLC,
en su forma estándar, requiere el uso de variables artificiales. Este método se aplica en dos fases; en la
primera se busca factibilidad y en la segunda optimalidad.
Primera fase
En esta fase siempre se minimiza la función a optimizar, que se obtiene mediante la suma de las variables artificiales. Es decir:
Min r = ∑ Ri
i
Donde r irá disminuyendo en cada iteración del método simplex hasta conseguir el valor igual a cero
y de esta forma obtener el óptimo de la primera fase; y Ri es la i-ésima variable artificial. Si no se logra que r sea cero, es porque no es posible sacar de la base alguna variable artificial. En tal caso, se
interpreta como caso de solución inexistente; es decir, el modelo es infactible (el conjunto poliédrico
es el vacío).
Si la primera fase termina con r distinto de cero, ya no es necesario continuar con la segunda fase
de este método. Pero, si no es el caso, se pasa a la fase dos.
Segunda fase
La primera tabla simplex de la segunda fase será igual a la última tabla obtenida de la primera fase;
es decir, la tabla óptima de fase uno, pero teniéndose que recalcular ctBB-1 y z o w (según si es caso de
máximos o de mínimos), debido a que en esta fase se utilizará la función a optimizar del MPLC dado.
Como se recordará, la última tabla de la fase uno incluye variables artificiales; sin embargo, para la fase
dos estas no son necesarias y, por tanto, se suprimen sin que esto afecte los cálculos.
Ahora bien, para la aplicación del método de las dos fases, se deben aplicar los criterios del simplex, según como se muestra en la tabla 2.27.
Tabla 2.27 Aplicación de los criterios del simplex
Problema de:
Primera fase
Segunda fase
Maximizar
Minimizar
Minimizar
Minimizar
Maximizar
Minimizar
De esta tabla se puede concluir, entonces, que la primera fase siempre será de mínimos, mientras que
en la segunda fase se regresa a la función objetivo del modelo original.
Alerta
Es importante considerar
que no todos los MPLC
tienen solución óptima.
Pero, la única forma de
saberlo es aplicando este
algoritmo; entonces solo
así se sabrá que el modelo
no tiene solución, lo cual
es posible de saber si la
tabla cumple el criterio de
optimalidad y hay al menos
una variable artificial en
el conjunto de variables
básicas con un valor
positivo.
64
El algoritmo de las dos fases se presenta con detalle en el CD-ROM del libro.
Problema resuelto
Resolver el siguiente modelo usando el algoritmo de las dos fases.
Min W = 2y1 + 3y2
s.a
3y1 + 2y2 = 14
2y1 - 4y2 ≥ 2
4y1 + 3y2 ≤ 19
con y1, y2 ≥ 0
Grupo Editorial Patria©
Solución
Aplicación de la primera fase:
El MPLC estandarizado queda:
Min r = R1 + R2
s.a
3y1 + 2y2 + R1 = 14
2y1 - 4y2 - t2 + R2 = 2
4y1 + 3y2 + s3 = 19
con y1, y2, R1, t2, R2, s3 ≥ 0
Por tanto, la tabla inicial para el problema de la primera fase se observa en la tabla 2.28.
Tabla 2.28 Tabla inicial para el problema de la primera fase
Cj
0
0
0
1
1
0
CB
VB
Y1
Y2
t2
R1
R2
S3
LD
θ
1
R1
3
2
0
1
0
0
14
14/3
1
R2
2
-4
-1
0
1
0
2
2/2
0
S3
4
3
0
0
0
1
19
19/4
Cj - rj
r
-5
2
1
0
0
0
16
De acuerdo con el algoritmo propuesto, la variable entrante es Y1, dado que (Cj - wj ) es el valor más
grande negativo. Dicho elemento es -5, que está sombreado. Luego, para saber qué variable sale, se
aplica el criterio del mínimo cociente, cuyos cocientes se muestran en la columna θ, siendo el mínimo el
que está sombreado; por tanto, el pivote es el valor 2, que está sombreado. No hay que olvidar que
el pivote resulta de la intersección de la columna de la variable entrante y el renglón de la variable
saliente. Por tanto, para nuestro caso, la variable saliente es R2. Al pivotear, se genera la tabla de la
primera iteración (véase tabla 2.29).
Tabla 2.29 Tabla de la primera iteración
Cj
0
0
0
1
1
0
CB
VB
Y1
Y2
t2
R1
R2
S3
LD
θ
1
R1
0
8
3/2
1
-3/2
0
11
11/8
0
Y1
1
-2
-1/2
0
1/2
0
1
----
0
S3
0
11
2
0
-2
1
15
15/11
Cj - rj
r
0
-8
-3/2
0
3/2
0
11
Nuevamente, al aplicar el algoritmo, se tiene que investigar si se cumple la prueba de optimalidad, que
según los (Cj - Zj) de las variables no básicas, en este caso no se cumple, dado que (C2 - w2) = -8 es el
valor más grande negativo, que está sombreado. Por tanto, la variable entrante es Y2. Luego, para saber
qué variable sale, se aplica el criterio del mínimo cociente, cuyos cocientes se muestran en la columna
θ, siendo el mínimo el que está marcado; de este modo, la variable saliente es S3. Así, el pivote es el
valor 11, que está marcado. No hay que olvidar que el pivote resulta de la intersección de la columna de
la variable entrante y el renglón de la variable saliente. Al pivotear, se genera la tabla de la segunda
iteración (véase tabla 2.30).
65
UNIDAD
2
Programación lineal
Tabla 2.30 Tabla de la segunda iteración
Cj
0
0
0
1
1
0
Y2
t2
R1
R2
S3
CB
VB
Y1
LD
1
R1
0
0
1/22
1
-1/22
-8/11
1/11
2
0
Y1
1
0 -3/22
0
3/22
2/11
41/11
----
0
Y2
0
1
2/11
0
-2/11
1/11
15/11
15/2
Cj - rj
r
0
0
-1/22
0
23/22
8/11
1/11
θ
Otra vez, al revisar si se cumple la prueba de optimalidad, que según los (Cj - Zj) de las variables no
básicas, se observa que esta no se cumple, dado que (C3 - Z3) = -1/22 es el valor más grande negativo,
que está sombreado. Por tanto, la variable entrante es t2. Luego, para saber qué variable sale, se aplica
el criterio del mínimo cociente, cuyos cocientes se muestran en la columna θ, siendo el mínimo el que
está en señalado; de este modo, la variable saliente es R1. Así, el pivote es el valor 1/22, que está en
sombreado. No hay que olvidar que el pivote resulta de la intersección de la columna de la variable
entrante y el renglón de la variable saliente. Al pivotear se genera la tabla de la tercera iteración (véase
tabla 2.31).
Tabla 2.31 Tabla de la tercera iteración
Cj
0
0
0
1
1
0
CB
VB
Y1
Y2
t2
R1
R2
S3
LD
0
t2
0
0
1
22
-1
-16
2
0
Y1
1
0
0
3
0
-2
4
0
Y2
0
1
0
-4
0
3
1
Cj - rj
r
0
0
0
1
1
0
0
θ
Debido a que se cumple la prueba de optimalidad (para caso mínimos), que para este caso es: Cj - rj ≥ 0,
∀ j ∈ VNB, se dice que se ha hallado una SIBF:
 t *   2
2
   
*
y B =  y 1*  =  4
   
 y *   1
2
y
r* = 0
Para llevar a cabo la segunda fase en cualquier MPLC, se requiere que este tenga al menos una SIBF; es
decir, que el valor de Min r* = 0 sea obtenido de la primera fase. Si se cumple esto, entonces se procede
a aplicar la segunda fase, con la única excepción de que si en la base estuviera alguna variable artificial,
sería necesario que esta tomara el valor de cero. Para este caso, como la SIBF no tiene alguna variable
artificial, entonces, para no tener demasiadas columnas en las tablas subsecuentes, se suprimen todas
las columnas de las variables artificiales; de este modo, la tabla óptima (la tabla de la última iteración
de fase uno) pasa a ser la tabla inicial de la fase dos. Luego, con la finalidad de hallar la solución óptima del MPLC, se itera en la segunda fase, aplicando el método simplex, y hasta que cumpla con la
prueba de optimalidad, dependiendo de si se trata de un caso de máximos o de mínimos.
Aplicación de la segunda fase:
El MPLC estandarizado de la fase 2 quedaría como:
66
Min W = 2y1 + 3y2 + 0s3
s.a
t2 - 16s3 = 2
Grupo Editorial Patria©
y1 - 2s3 = 4
y2 + 3s3 = 1
con y1, y2, t2, s3 ≥ 0
Recuérdese que para aplicar esta fase es necesario considerar la función a optimizar del modelo original. Por lo anterior, la tabla simplex inicial para el modelo de la fase 2 queda como se muestra en la
tabla 2.32.
Tabla 2.32 Tabla simplex inicial para el modelo de la fase 2
2
3
0
0
VB
Y1
Y2
t2
S3
LD
θ
0
t2
0
0
1
-16
2
---
2
Y1
1
0
0
-2
4
---
3
Y2
0
1
0
3
1
1/3
Cj - wj
w
0
0
0
-5
11
Cj
CB
Con base en el algoritmo descrito, la variable entrante es s3, dado que (Cj - wj ) es el valor más grande
negativo. Dicho elemento es -5 y está sombreado. Luego, para saber qué variable sale, se aplica el
criterio del mínimo cociente, cuyos cocientes se muestran en la columna θ, siendo el mínimo el que
está señalado; por ende, el pivote es el valor 3, que está marcado. No hay que olvidar que el pivote
resulta de la intersección de la columna de la variable entrante y el renglón de la variable saliente. Por
tanto, para nuestro caso, la variable saliente es Y2. Al pivotear, se genera la tabla de la primera iteración
(véase tabla 2.33).
Tabla 2.33 Tabla de la primera iteración
Cj
2
3
0
0
CB
VB
Y1
Y2
t2
S3
Solución
0
t2
0
16/3
1
0
22/3
2
Y1
1
2/3
0
0
14/3
0
S3
0
1/3
0
1
1/3
Cj - wj
w
0
5/3
0
0
28/3
θ
Debido a que se cumple la prueba de optimalidad (para caso mínimos), que es: Cj - rj ≥ 0, ∀ j ∈ VNB,
se dice que se halló la solución óptima:
t * 
 22
2
 
1 
*
*
y B =  y 1  =  14
  3 
 s * 
 1
3
y
w* =
28
3
El modelo codificado en Lindo es:
Min 2Y1+3Y2
s.t.
3Y1+2Y2 = 14
2Y1-4Y2 > = 2
4Y1+3Y2 < = 19
end
67
UNIDAD
2
Programación lineal
Y la salida que reporta Lindo es:
LP
OPTIMUM FOUND
AT STEP 0
OBJECTIVE
FUNCTION
1
9.333333
VALUE
VARIABLE
VALUE
REDUCED COST
Y1
Y2
4.666667
0.000000
0.000000
1.666667
ROW
SLACK OR SURPLUS
DUAL PRICES
2
3)
4)
0.000000
7.333333
0.333333
-0.666667
0.000000
0.000000
NO. ITERATIONS = 0
La interpretación geométrica de lo que el algoritmo hace para la búsqueda de punto óptimo, se representa en la figura 2.17.
y
R1
R2
3
R3
R4
R5
f(x) = 7 – 1.5x
f(x) = 28/9 – (2/3)x
2
C = (4, 1)
1
A = (0, 0)
–1
0.5
–0.5
1
1.5
2
2.5
3
3.5
4
4.5
D = (14/3, 0)
5
5.5
6
7
x
–1
–2
Figura 2.17 Interpretación geométrica del algoritmo.
Como se observa en las iteraciones que se generaron al aplicar el algoritmo, se inició con una solución
infactible (factible en términos de R1, R2 y S3), que se muestra en A(0, 0). Posteriormente, al aplicar el
algoritmo, se logra encontrar otra solución infactible (factible en términos de R1, Y1 y S3), que se muestra
en B(1, 0). Luego, se encuentra otra solución infactible (factible en términos de R1, Y1 y Y2), que se muestra en C (4, 1). Por último, al aplicar nuevamente el algoritmo, se logra encontrar la solución factible
(factible en términos de t2, Y1 y Y2), que se muestra en D (14/3, 0) y que es óptima.
2.6 Método dual simplex
Las versiones del algoritmo simplex que se han presentado en esta unidad, que de ahora en adelante
nos referiremos a este como algoritmo simplex primal, empiezan con una solución inicial básica factible
(SIBF) para el MPLC e iteran hasta que las condiciones de optimalidad primal sean cumplidas. No obstante, hay algunas diferencias básicas entre el algoritmo simplex primal (algoritmo simplex del tema
2.3) y el algoritmo dual simplex. El algoritmo simplex primal inicia con una solución factible no óptima
y se mueve hacia la solución óptima, manteniendo factibilidad en cada iteración. Por su parte, el algoritmo dual simplex inicia con una solución básica infactible (y por tanto una solución “súper” óptima) y
luego se esfuerza para lograr factibilidad, mientras se satisfaga el criterio de optimalidad cada vez. En
68
Grupo Editorial Patria©
otras palabras, en el algoritmo dual simplex, la primera iteración que proporcione una solución factible
será la solución óptima buscada, porque la optimalidad es mantenida en cada iteración. En contraste,
en el algoritmo simplex primal la factibilidad es asegurada en cada iteración; por tanto, la primera
iteración que cumpla el criterio de optimalidad es la solución óptima buscada.
El algoritmo simplex primal inicia con una solución básica pero una solución no óptima e itera
hacia la optimalidad, mientras que el algoritmo dual simplex inicia con una solución básica infactible
pero óptima e itera hacia la factibilidad. Además, en el algoritmo simplex primal primero se determina
la variable entrante y después la variable saliente, mientras que en el caso del algoritmo dual simplex
primero se determina la variable saliente y después la variable entrante.
En el CD-ROM del libro se encuentra explicado con detalle el algoritmo de este método.
A continuación se detallan los conceptos de precio sombra y precio dual:
❚ Precio sombra
En programación lineal continua, el precio sombra asociado con una restricción es el cambio en el valor
de la solución óptima por unidad de aumento en el lado derecho de la restricción.
Otra idea del precio o costo sombra se considera como el monto por el cual la función objetivo
se incrementará si una unidad más de una cierta actividad (restricción) es forzada dentro de la solución
con cambios compensatorios en los otros niveles de actividad.
❚ Precio dual
En programación lineal continua, el precio dual es el mejoramiento en el valor de la solución óptima
por unidad de incremento en el lado derecho de una restricción. De hecho, el precio dual nos indica
en cuánto mejora o empeora el valor óptimo de la función a optimizar cuando se incrementa o decrementa, según sea el caso, en una unidad el lado derecho de una restricción.
Otra idea de precio dual se considera como el índice de mejoría del valor óptimo ante el aumento
de una unidad del valor del lado derecho de una restricción, manteniendo fijos los demás parámetros.
Problema resuelto
Considerar el MPL siguiente:
Min w = 2y1 + 3y2
s.a
3y1 - 2y2 ≥ 4
y1 + 2y2 ≥ 3
con y1, y2 ≥ 0
Solución
Primero, aplicaremos el algoritmo dual simplex. Para tal efecto se requiere estandarizar el MPL, que
queda como:
Min w = 2y1 + 3y2 + 0t1 + 0t2
s.a
3y1 - 2y2 - t1 = 4
y1 + 2y2 - t2 = 3
con y1, y2, t1, t2 ≥ 0
Luego, multiplicaremos las dos restricciones por -1, con el fin de tener una matriz identidad (de tamaño
2 × 2) en las variables básicas, lo que queda como:
Min w = 2y1 + 3y2 + 0t1 + 0t2
s.a
-3y1 + 2y2 + t1 = -4
69
UNIDAD
2
Programación lineal
-y1 - 2y2 + t2 = -3
con y1, y2, t1, t2 ≥ 0
La tabla inicial simplex se muestra en la tabla 2.34.
Tabla 2.34 Tabla inicial simplex
Y1
Y2
t1
t2
LD
VB
-3
2
1
0
-4
t1
-1
-2
0
1
-3
t2
2
3
0
0
W
La variable saliente es t1, dado que en el renglón 1 de la tabla inicial simplex se tiene el LD más grande
negativo, que es -4, sombreado. Luego, se busca la variable entrante, con base en la prueba de la
razón (regla del mínimo cociente), que para este caso, se tendría:


2
2
Min 
, - =
por tanto la variable entrante es Y1.
 - 3
 3
Por tanto, la intersección del renglón de la variable saliente y la columna de la variable entrante, será el
pivoteo, que es -3 indicado (sombreado).
Ahora, al pivotear se obtienen los cálculos que se muestran en la tabla de primera iteración.
Tabla 2.35 Tabla de primera iteración
Y1
Y2
t1
t2
LD
VB
1
-2/3
-1/3
0
-8/3
-1/3
0
4/3
Y1
1
-5/3
t2
0
13/3
2/3
0
W - 8/3
Con base en la tabla de primera iteración, es posible percatarnos que la nueva solución básica encontrada no es factible, por tanto se generará una segunda iteración, teniendo como variable saliente a t2
(lado derecho más grande negativo).
A continuación se busca la variable entrante, con base en la prueba de la razón (regla del mínimo
cociente), que para el caso se tendría:
 13
2 


 13  13
3
3 
Min 
, por tanto la variable entrante es Y2.
,
 = Min  , 2  =
8

8
8
1


 3
3 
Ahora, al pivotear se obtienen los cálculos que se muestran en la tabla de segunda iteración.
Tabla 2.36 Tabla de segunda iteración
Y1
Y2
t1
t2
LD
VB
1
0
-1/4
-1/4
7/4
Y1
0
1
1/8
-3/8
5/8
Y2
0
0
1/8
13/8
W - 43/8
Como se ha restaurado la factibilidad y se cumple el criterio de optimalidad, la base actual es óptima
y su solución óptima es:
y B* =
70
1  14
 
8 5
y
w* =
43
8
Grupo Editorial Patria©
Sin embargo, si la tabla completa no fuera usada, entonces la misma secuencia de bases sería obtenida.
La única diferencia sería que los renglones pivotes y las columnas serían calculadas en cada iteración
usando la matriz actual de variables básicas B. Enseguida, se puede sugerir resolver este MPLC usando
la tabla no completa, que aquí no se desarrolla.
El modelo codificado en Lindo es:
Min 2Y1 + 3Y2
s.t.
3Y1 - 2Y2 > = 4
Y1 + 2Y2 > = 3
end
Y la salida que reporta Lindo es:
LP OPTIMUM
FOUND
AT
STEP 2
OBJECTIVE
FUNCTION
VALUE
1)
5.375000
VARIABLE
VALUE
REDUCED COST
Y1
Y2
1.750000
0.625000
0.000000
0.000000
ROW
SLACK OR SURPLUS
DUAL PRICES
2)
3)
0.000000
0.000000
-0.125000
-1.625000
NO. ITERATIONS= 2
Conclusión:
La solución óptima obtenida con el algoritmo dual simplex es la misma que reporta Lindo.
Problema resuelto
Aplicar el algoritmo dual simplex para resolver el MPLC siguiente:
Max z = -x1 + x2
s.a
x1 - 4x2 ≥ 5
x1 - 3x2 ≤ 1
2x1 - 5x2 ≥ 15
con x1, x2 ≥ 0
Solución
Primero aplicaremos el algoritmo dual simplex usando la tabla completa, para tal efecto se requiere
estandarizar el MPL, que queda como:
Max z = -x1 + x2 + 0t1 + 0s2 + 0t3
s.a
x1 - 4x2 - t1 = 5
x1 - 3x2 + s2 = 1
2x1 - 5x2 - t3 = 15
con x1, x2, t1, s2, t3 ≥ 0
71
UNIDAD
2
Programación lineal
Luego, multiplicaremos por -1 la primera y la tercera restricciones, para tener una matriz identidad de
(tamaño 3 × 3) en las variables básicas. Así, entonces, queda:
Max z = -x1 + x2 + 0t1 + 0s2 + 0t3
s.a
-x1 + 4x2 + t1 = -5
x1 - 3x2 + s2 = 1
-2x1 + 5x2 + t3 = -15
con x1, x2, t1, s2, t3 ≥ 0
La tabla inicial simplex se muestra en la tabla siguiente.
Tabla 2.37 Tabla inicial simplex
X1
X2
t1
s2
t3
LD
VB
-1
4
1
0
0
-5
t1
1
-3
0
1
0
1
s2
-2
5
0
0
1
-15
t3
-1
1
0
0
0
Z
Aquí, la variable saliente es t3, dado que en el renglón 3 de la tabla inicial simplex se tiene el LD más
grande negativo, que es -15, marcado. Luego, se busca la variable entrante, con base en la prueba de
la razón (regla del mínimo cociente), que para este caso es:
 -1  1
Min 
, -  = , por tanto la variable entrante es X1.
 2
 -2
Por ende, la intersección del renglón de la variable saliente y la columna de la variable entrante constituye el pivoteo, que es -2 indicado en la tabla.
Luego, al pivotear, se obtienen los cálculos que se muestran en la tabla de primera iteración.
Tabla 2.38 Tabla de primera iteración
X1
X2
t1
s2
t3
LD
VB
0
3/2
1
0
-1/2
5/2
t1
0
-1/2
0
1
1/2
-13/2
s2
1
-5/2
0
0 -1/2
15/2
X1
0
-3/2
0
0
-1/2
Z + 15/2
Con base en la tabla de primera iteración, es posible percatarnos de que la nueva solución básica
encontrada no es factible y por tanto se generará una segunda iteración con variable saliente s2 (lado
derecho más grande negativo).
A continuación se busca la variable entrante, con base en la prueba de la razón (regla del mínimo
cociente), que para el caso, se tendría:

 -3

 2
3  3
Min 
, -  = Min  , -  = , por tanto la variable entrante es X2.
2  2
 -1

 2

Después, al pivotear se obtienen los cálculos que se muestran en la tabla de segunda iteración.
72
Grupo Editorial Patria©
Tabla 2.39 Tabla de segunda iteración
X1
X2
t1
0
0
1
0
1
0
1
0
0
0
0
0
s2
t3
LD
VB
3
1
-17
t1
-2
-1
13
X2
-5
-3
40
X1
-3
-2
Z + 27
De nueva cuenta, con base en la tabla de segunda iteración, nos percatamos que la nueva solución básica encontrada no es factible, por lo que se genera una tercera iteración, con variable saliente t1, dado
que en el renglón 1 de la tabla simplex de segunda iteración se tiene el LD más grande negativo.
En la búsqueda de la variable entrante, con base en la prueba de la razón (regla del mínimo cociente), para nuestro caso, se tiene:
{
Min - , -
}
Es decir, no hay variable entrante, lo que quiere decir que el modelo primal es infactible y el modelo
dual sería no acotado. En otras palabras, cuando en el algoritmo dual simplex hay una variable saliente
pero no variable entrante, el modelo primal es infactible y su modelo dual será no acotado.
El modelo codificado en Lindo es:
Max -X1 + X2
s.t.
X1 - 4X2 > = 5
X1 - 3X2 < = 1
2X1 - 5X2 > = 15
end
Para este caso, la salida que reporta Lindo se aprecia en la figura 2.18.
Conclusión:
Lo que se obtiene cuando se aplica el algoritmo dual simplex es exactamente la misma conclusión que
se obtiene de Lindo.
Figura 2.18
73
UNIDAD
2 Problemas para resolver
2.1 Aplicar el método gráfico para hallar la solución óptima
del siguiente MPLC.
Max z = 2x1 + 5x2 + 3x3 - 3x4
s.a
Min w = 50y1 + 100y2
2x1 + 5x2 + 3x3 + x4 ≤ 60
s.a
x1 + 2x2 + 5x3 - x4 ≤ 40
7y1 + 2y2 ≥ 28
5x1 + 3x2 + 2x3 + x4 ≤ 30
2y1 + 12y2 ≥ 24
x1, x2, x3, x4 ≥ 0
y1, y2 ≥ 0
2.2 Aplicar el método gráfico para hallar la solución óptima
del siguiente MPLC
2.8 Aplicar el algoritmo simplex primal para hallar la solución óptima del siguiente MPLC.
Max z = 3x1 + 2x2
Max z = 4x1 + 5x2 + 3x3 - 2x4
s.a
s.a
2x1 + x2 ≤ 100
2x1 + x2 + 3x3 + x4 ≤ 60
x1 + x2 ≤ 80
3x1 + 4x2 + 2x3 - x4 ≤ 48
x1 ≤ 40
x1, x2, x3, x4 ≥ 0
x1, x2 ≥ 0
2.9 Aplicar el algoritmo de la gran M para hallar la solución
óptima del siguiente MPLC.
2.3 Aplicar el método gráfico para hallar la solución óptima
del siguiente MPLC.
Max z = 5x1 + 3x2
s.a
x1 + x2 ≤ 50
2x1 + 3x2 ≤ 60
x1, x2 ≥ 0
2.4 Aplicar el método gráfico para hallar la solución óptima
del siguiente MPLC.
Min w = 4y1 + 9y2
s.a
3y1 + 2y2 ≥ 24
2y1 + 5x2 ≥ 40
y2 ≤ 5
y1, y2 ≥ 0
2.5 Aplicar el algoritmo simplex primal para hallar la solución óptima del siguiente MPLC.
Max z = 5x1 + 3x2
s.a
x1 + x2 ≤ 50
2x1 + 3x2 ≤ 60
x1, x2 ≥ 0
2.6 Aplicar el algoritmo simplex primal para hallar la solución óptima del siguiente MPLC.
Max z = 5x1 + 3x2 - 2x3
s.a
x1 + x2 + x3 ≤ 40
4x1 + 5x2 + 3x3 ≤ 80
x1, x2, x3 ≥ 0
2.7 Aplicar el algoritmo simplex primal para hallar la solución óptima del siguiente MPLC.
74
Problemas aplicados a la realidad
Min w = 2y1 - 5y2
s.a
y1 + 3y2 ≤ 36
2y1 + 5y2 ≥ 20
y1 ≤ 5
y1, y2 ≥ 0
2.10 Aplicar el algoritmo de la gran M para hallar la solución óptima del siguiente MPLC.
Min w = 4y1 + 3y2 - 5y3
s.a
y1 + y2 + y3 ≥ 24
5y1 + 4y2 - 2y3 ≤ 40
y2 ≥ 3
y1, y2, y3 ≥ 0
2.11 Aplicar el algoritmo de la gran M para hallar la solución óptima del MPLC siguiente.
Max z = x1 + 2x2 - 3x3
s.a
2x1 + 4x2 - 6x3 ≤ 80
x1 + 2x2 - 3x3 ≥ 20
x1 ≥ 4
x1, x2, x3 ≥ 0
2.12 Aplicar el algoritmo de la gran M para hallar la solución óptima del MPLC siguiente.
Max z = 9x1 + 4x2 + 3x3 - 2x4
s.a
x1 + 2x2 + x3 + 2x4 ≥ 36
3x1 + x2 - 3x3 + x4 ≤ 40
x2 ≥ 4
x1, x2, x3, x4 ≥ 0
Problemas para resolver con tecnología
Grupo Editorial Patria©
2.13 Resolver el problema 2.9 aplicando el algoritmo de las
dos fases.
2.14 Resolver el problema 2.10 aplicando el algoritmo de
las dos fases.
2.15 Resolver el problema 2.11 aplicando el algoritmo de
las dos fases.
2.16 Resolver el problema 2.12 aplicando el algoritmo de
las dos fases.
2.17 Resolver el problema 2.9 aplicando el algoritmo dual
simplex.
2.18 Resolver el problema 2.10 aplicando el algoritmo dual
simplex.
2.19 Resolver el problema 2.11 aplicando el algoritmo dual
simplex.
2.20 Resolver el problema 2.12 aplicando el algoritmo dual
simplex.
2.21 Para el modelo del problema 2.1, como modelo primal,
obtener su modelo dual asociado. Hallar la solución óptima
del modelo primal (con el algoritmo que mejor convenga) y
sin resolver el modelo dual, encontrar su solución óptima.
Responder: ¿se verifica el teorema fuerte de la dualidad?
2.22 Para el modelo del problema 2.2, como modelo primal,
obtener su modelo dual asociado. Hallar la solución óptima
del modelo primal (con el algoritmo que mejor convenga) y
sin resolver el modelo dual, encontrar su solución óptima.
Responder: ¿se verifica el teorema fuerte de la dualidad?
2.23 Para el modelo del problema 2.7, como modelo primal,
obtener su modelo dual asociado. Hallar la solución óptima
del modelo primal (con el algoritmo que mejor convenga) y
sin resolver el modelo dual, encontrar su solución óptima.
Responder: ¿se verifica el teorema fuerte de la dualidad?
2.24 Para el modelo del problema 2.9, como modelo primal,
obtener su modelo dual asociado. Hallar la solución óptima
del modelo primal (con el algoritmo que mejor convenga) y
sin resolver el modelo dual, encontrar su solución óptima.
Responder: ¿se verifica el teorema fuerte de la dualidad?
2.25 Usar el modelo del problema 2.5 y obtener:
a) El intervalo de optimalidad para c1.
b) El intervalo de factibilidad para b1.
2.26 Usar el modelo del problema 2.7 y obtener:
a) El intervalo de optimalidad para c2.
b) El intervalo de factibilidad para b2.
2.27 Usar el modelo del problema 2.8 y obtener:
a) El intervalo de optimalidad para c2.
b) El intervalo de factibilidad para b2.
2.28 Usar el modelo del problema 2.5 y obtener:
a) El intervalo de optimalidad para c1.
b) El intervalo de factibilidad para b1.
Problemas reto
1
Investment Advisors es una firma de corretaje que maneja portafolios de acciones para diversos clientes. Un portafolios particular consiste de U acciones de U. S. Oil y H acciones de
Huber Steel. El rendimiento anual para U. S. Oil es de 3 dólares por acción y para Huber Steel
de 5 dólares por acción. La acción de U. S. Oil se vende a 25 dólares y la de Huber Steel a
50 dólares. Se pueden invertir 80 000 dólares. El índice de riesgo del portafolio (0.50 y 0.25
por acción para U. S. Oil y Huber Steel, respectivamente) tiene un máximo de 700. Además,
el portafolio está limitado a un máximo de mil acciones de U. S. Oil. La formulación de programación lineal que maximizará el rendimiento anual total del portafolio es como sigue:
Max z = 3U + 5H
s.a
25U + 50H ≤ 80 000
Fondos disponibles
0.50U + 0.25H ≤ 700
Riesgo máximo
1U ≤ 1 000
Máximo de U. S. Oil
U, H ≥ 0
a)¿Cuál es la solución óptima y cuál es el valor del rendimiento anual total?
b)¿Cuáles restricciones confinan a la solución óptima? ¿Cuál es su interpretación de estas
restricciones en función del problema?
Problemas aplicados a la realidad
Problemas para resolver con tecnología
75
UNIDAD
2
Programación lineal
c)¿Cuáles son los precios duales para las restricciones? Interprete cada uno.
d)¿Sería benéfico incrementar la cantidad máxima invertida en U. S. Oil? ¿Por qué?
2
Quality Air Conditioning fabrica tres acondicionadores de aire domésticos: un modelo económico, uno estándar y otro de lujo. Las ganancias por unidad son 63, 95 y 135 dólares, respectivamente. Los requerimientos de producción por unidad se muestran en la tabla 2.40.
Tabla 2.40
Modelo
de ventilador
Número
de ventiladores
Número de bobinas
de enfriamiento
Tiempo de manufactura
(horas)
Económico
Estándar
De lujo
1
1
1
1
2
4
8
12
14
Para el próximo periodo de producción, la compañía tiene 200 motores de ventilador, 320
bobinas de enfriamiento y 2 400 horas de tiempo de manufactura disponibles. ¿Cuántos
modelos económicos (E ), estándar (S ) y de lujo (D) se deberán fabricar para maximizar la
utilidad?
El modelo de programación lineal para el problema es como sigue:
Max z = 63E + 95S + 135D
s.a
1E + 1S + 1D ≤ 200
Motores de ventilador
1E + 2S + 4D ≤ 320
Bobinas de enfriamiento
8E + 12S + 14D ≤ 2 400
Tiempo de manufactura
E, S, D ≥ 0
a)¿Cuál es la solución óptima y cuál es el valor de la función a optimizar?
b)¿Cuáles restricciones confinan la solución óptima?
c)¿Cuál restricción muestra capacidad extra? ¿Cuánta?
d)Si la ganancia para el modelo de lujo se aumentara a 150 dólares por unidad, ¿cambiaría
la solución óptima? Usar la información que proporcionó la salida de Lindo para responder a esta pregunta, pero también realizar sus propios cálculos.
3
A Industrial Design, compañía dedicada al diseño, se le concedió un contrato para diseñar
una etiqueta para un nuevo vino producido por Lake View Winery. La compañía estima que
se requerirán 150 horas para completar el proyecto. Tres de los diseñadores gráficos de la
firma están disponibles para su asignación a este proyecto: Lisa, diseñadora ejecutiva y líder
del equipo; David, diseñador ejecutivo, y Sarah, diseñadora subalterna. Debido a que Lisa
ha trabajado en varios proyectos para Lake View Winery, la administración ha especificado
que debe asignársele a Lisa al menos 40% del total de horas que se asignen a los dos diseñadores ejecutivos. Para proporcionarle experiencia en el diseño de etiquetas a Sarah, se
le debe asignar al menos 15% del tiempo total del proyecto. Sin embargo, la cantidad de
horas asignadas a Sarah no debe exceder 25% del total de horas que se asignan a los dos
diseñadores ejecutivos. Debido a otros compromisos, Lisa tiene un máximo de 50 horas disponibles para trabajar en este proyecto. Las tarifas por hora son: 30 dólares para Lisa, 25
dólares para David y 18 dólares para Sarah.
a)Formular un programa lineal que pueda usarse para determinar la cantidad de horas
que deberá asignarse a cada diseñador para el proyecto, con el fin de minimizar el costo
total.
b)¿Cuántas horas deberían asignarse a cada diseñador para el proyecto? ¿Cuál es el costo
total?
76
Grupo Editorial Patria©
c)Supóngase que se le pudieran asignar más de 50 horas a Lisa. ¿Qué efecto tendría esto
en la solución óptima? Explicar.
d)Si no se requiriera que Sarah trabajara una cantidad mínima de horas en este proyecto,
¿cambiaría la solución óptima? Explicar.
Referencias Bibliográficas
Anderson D. (2004). Métodos cuantitativos para los negocios. México: Editorial Thomson.
Bueno G. (1987). Introducción a la programación lineal y al análisis de sensibilidad. México:
Trillas.
Grossman S. (2008). Aplicaciones de álgebra líneal. México: McGraw-Hill.
Hillier F. (1994). Introducción a la investigación de operaciones. México: McGraw-Hill.
Levin R. (1988). Enfoques cuantitativos a la administración. México: CECSA.
Nash S. (1996). Linear and non linear programming. USA: McGraw-Hill.
Winston W. (2005). Investigación de operaciones: Aplicaciones y algoritmos. México: Editorial Thomson.
Referencias electrónicas
http://books.google.com.mx/books?id=OO7OW6hZP34C&pg=PA33&dq=forma+canonica+de
+un+modelo+de+programacion+lineal&hl=es&sa=X&ei=CRfxUdDVK4To9ASe8IHQAw&ved=0CD
MQ6AEwAQ#v=onepage&q=forma%20canonica%20de%20un%20modelo%20de%20programa
cion%20lineal&f=false
http://books.google.com.mx/books?id=Sld1YYAedtgC&pg=PA6&dq=canonical+form+linear+program
ming+model&hl=es&sa=X&ei=0RvxUanmB4P69gTJ6oHwBg&ved=0CDsQ6AEwAA#v=onepage&q=ca
nonical%20form%20linear%20programming%20model&f=false
http://books.google.com.mx/books?id=PLSM9yj8tHAC&pg=PA27&dq=forma+estandar+de+u
n+modelo+de+programacion+lineal&hl=es&sa=X&ei=hRfxUe6TFYWO9ATJ2IHAAw&ved=0CC
8Q6AEwAA#v=onepage&q=forma%20estandar%20de%20un%20modelo%20de%20programa
cion%20lineal&f=false
http://books.google.com.mx/books?id=dnwWBcKaBRsC&printsec=frontcover&dq=simplex+method&
hl=es&sa=X&ei=CBnxUcOxEYrO9QSukIHICA&sqi=2&ved=0CDYQ6AEwAA#v=onepage&q=simplex%
20method&f=false
http://books.google.com.mx/books?id=dDIMnAntgUsC&pg=PA69&dq=definition+slack+variable&hl
=es&sa=X&ei=Nh3xUduWCYnlqQGDuIDoAw&ved=0CCwQ6AEwADgK#v=onepage&q=definition%2
0slack%20variable&f=false
https://www.google.com.mx/search?gs_rn=22&gs_ri=psy-ab&pq=desigualdad+lineal+en
+dos+variables&cp=9&gs_id=1ft&xhr=t&q=metodo+simplex&newwindow=1&bav=on.2,or.r_
qf.&bvm=bv.49784469,d.aWM&biw=1252&bih=609&um=1&ie=UTF-8&hl=es&tbm=isch&source=og&s
a=N&tab=wi&ei=SYPwUZziIYq7rgHm24GwCw
77
UNIDAD
2
Programación lineal
http://books.google.com.mx/books?id=wvkk787HzuUC&pg=PA27&dq=metodo+de+penalizacion&hl
=es&sa=X&ei=k8fxUab1G4Le8ATKl4GYDw&sqi=2&ved=0CD8Q6AEwAw#v=onepage&q=metodo%20
de%20penalizacion&f=false
http://www.latindex.ucr.ac.cr/reflexiones-88-1/07-ALVARADO.pdf
http://books.google.com.mx/books?id=mNUjTXLuBS4C&pg=PP112&dq=dual+simplex+method&hl
=es&sa=X&ei=bwH1UYvvMIqo9gTjh4CIAg&ved=0CHQQ6AEwCQ#v=onepage&q=dual%20simplex%
20method&f=false
http://matematicatuya.com/GRAFICAecuaciones/S8.html
78
UNIDAD
3
Aplicación de modelos
de redes en la solución de
problemas para la toma
de decisiones
Jesús Fabián López Pérez
Objetivo
Estudiar la familia de los modelos de redes para problemas de optimización, incluyendo
los prototipos: problemas de asignación, camino crítico, flujo máximo, camino más corto,
transporte y costo mínimo de flujos. A través de problemas representados fácilmente
mediante el uso de arcos de redes y nodos.
¿Qué sabes?
¿Para qué sirve un nodo?
¿Qué es una red?
¿Qué es un modelo de transporte?
¿Cómo ayudan los modelos de redes en la solución de problemas para la toma de
decisiones?
¿Qué es un modelo para el camino más corto y en qué se diferencia respecto al modelo de
la ruta crítica?
¿Cuál es la diferencia entre un modelo de ruteo de vehículos y otro de cubrimiento
óptimo?
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
3.1 Ejemplos de modelos de investigación de operaciones
para redes
Una aplicación importante de la programación lineal es la aplicación de redes. Considérese un caso en
el que existen m fábricas que deben enviar productos a n depósitos. Una determinada fábrica podría
realizar envíos a cualquier cantidad de depósitos. Dado el costo del envío de una unidad del producto
de cada fábrica a cada depósito, el problema es determinar el patrón de envío (cantidad de unidades
que cada fábrica envía a cada depósito) que minimice los costos totales. Esta decisión está sujeta a
restricciones que exigen que cada fábrica envíe más productos de los que puede producir. Para las
aplicaciones anteriores, en la tabla 3.1 se resume el planteamiento de dichos problemas.
Tabla 3.1
Tipo
de aplicación
Planteamiento
del problema
Tipo de empresa
Asignación de personal
Maquiladora de arneses automotrices.
Área: Preparación de cables.
¿Cuál es la cantidad óptima necesaria de operadores para cumplir al
menos con 90% de eficiencia en la preparación de cables?
Control de inventarios
Maquiladora de arneses automotrices
Área: Troquelado de terminales.
No existe un programa de producción para las herramientas que se
utilizan con mayor frecuencia en la producción de terminales, por lo
que estas llegan a presentar cero inventarios.
Programación de
producción diaria
Planta incubadora
Área: Incubación para obtener pollitas para crianza
comercial.
Determinación de la capacidad de producción máxima del sistema
de pollitas por día, considerando las pérdidas por muertes durante
el proceso de producción y por nacimiento de pollitos machos.
Balanceo de líneas de
producción
Empresa de frituras.
Área: Líneas de tortilla.
Hoy día, las líneas se encuentran subutilizadas. La meta es de 90%
de utilización, pero en la actualidad está alrededor de 80%. ¿Qué
etapas del proceso afectan directamente la eficiencia de utilización
de la línea?
Programación de
producción
Empresa de quesos.
Área: Fabricación de queso.
¿Cuál es el programa de producción que cumple con la demanda en
el año en la elaboración de quesos?
❚ Resumen de aplicaciones de modelos de redes
Alerta
El nodo también, llamado
vértice o punto, es
usualmente representado
por un círculo. En las
redes de transporte, estos
deberían ser las localidades
o ciudades en un mapa.
Los modelos de redes son aplicables a una extensa variedad de problemas de decisión, que pueden
ser modelados como problemas de optimización de redes, los cuales suelen ser eficiente y efectivamente resueltos. Algunos de estos problemas de decisión son físicos, como el transporte o flujo de
bienes materiales. Sin embargo, muchos problemas de redes son más que una representación abstracta de procesos o actividades, como el camino crítico en las actividades entre las redes de un proyecto
gerencial.
Una red con n nodos podría tener una cantidad de arcos de tamaño:
n!/[(n - 2)! 2!] = n(n - 1)/2
Pero, si los arcos estuvieran dirigidos, entonces este número sería el doble. Este enorme número de
arcos posibles es una de las razones del porqué existen soluciones de algoritmos especiales para problemas de redes particulares.
3.2 Modelo de redes para problemas de asignación
❚ Modelo de redes para el problema de asignación número 1
Tipo especial del modelo de transporte. Ocurre cuando se necesitan asignar desde m centros una oferta de una unidad hacia n destinos y este solo requiere de una unidad. Es decir, la oferta y la demanda
son igual a 1.
 0 el origen i no se asigna al destino j
Xij = 
 1 el origen i sí se asigna al destino j

80
Grupo Editorial Patria©
Sujeta a las restricciones de:
 j = n
Oferta ∑X i , j = 1;
 j =1
i = 1, 2 , …, m
i =m

Demanda  ∑ X i , j = 1;
 i =1
j = 1, 2 , …, m
La función objetivo es:
i =m j =n
Min Z = ∑ ∑C ij
X ij
i =1 j =1
Donde:
Cij = Costo unitario de transportar desde i hasta j.
Supóngase lo siguiente: se tiene un grupo n de recursos que pueden ser asignados a n actividades,
donde Cij es el costo no-negativo de asignar el recurso i a la actividad j. El objetivo es asignar cada
actividad a cada recurso, de tal forma que se alcance el costo total mínimo posible. Así, definimos las
variables binarias Xij con un valor de 0 o 1. Cuando Xij = 1; esto significa que deberíamos asignar al
recurso i la actividad j. De lo contrario, Xij = 0, esto significa que no deberíamos asignar al recurso i la
actividad j. El problema de asignación es un caso especial del problema de transporte, el cual ocurre
cuando cada oferta es unitaria y cada demanda también. En este caso, la integralidad implica que cada
oferente asignará un destino y cada destino tendrá un oferente. Los costos proporcionan las bases para
la asignación correspondiente a un oferente y un destino.
Imagínese que queremos incluir la siguiente condición:
* El recurso i no debe realizar la actividad j o el recurso k no debe realizar la actividad m.
Esto se puede modelar de la siguiente manera:
Xij * Xkm = 0
Esta condición no-lineal es equivalente a la restricción lineal:
Xij + Xkm ≤ 1
Esta restricción debería ser agregada al conjunto de restricciones, de manera independiente. Con esta
restricción adicional, el problema de asignación se convierte en un problema de programación mixta
entera.
❚ Modelo de redes para el problema de asignación de recursos número 2
A continuación se presentan algunos problemas resueltos con detalle del modelo.
Problema resuelto
Supóngase que una compañía tiene tres empleados que pueden ser asignados a tres solicitudes de
reparación distintas. Las órdenes de reparación implican que los empleados viajen directamente hasta
el domicilio del cliente. Dado que la empresa cubre el gasto del combustible del vehículo de los operarios, desea minimizar este gasto al máximo. Para ello, requiere identificar la forma óptima de asignar
los operarios a los clientes, de tal manera que se obtenga la menor distancia total posible. La tabla
3.2 muestra las distancias incurridas desde la ubicación actual de cada empleado hasta el domicilio de
cada cliente.
81
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
Tabla 3.2
Empleado
Cliente
1
2
3
1
10
22
14
2
20
10
8
3
14
12
6
Solución
Por razones de política de servicio y tiempo, se entiende que cada empleado puede atender solo una
solicitud. De la misma manera, se entiende que cada solicitud es atendida en su totalidad por un solo
empleado. Lo anterior significa que no es posible que un empleado atienda una parte de una reparación y otro empleado atienda la parte restante. El análisis anterior nos sugiere que las variables de
decisión deben ser similares a las de un problema de transporte. Entonces, las variables de decisión
pueden definirse como:
Xij: 1 si el empleado del origen i es asignado para atender la reparación del cliente j; 0 en caso
contrario.
Sujeto a restricciones:
1. Solo se dispone de un empleado en cada origen:
X11 + X12 + X13 = 1
(empleado 1)
X21 + X22 + X23 = 1
(empleado 2)
X31 + X32 + X33 = 1
(empleado 3)
2. Cada cliente recibe el servicio de un solo empleado:
X11 + X21 + X31 = 1
(cliente 1)
X12 + X22 + X32 = 1
(cliente 2)
X13 + X23 + X33 = 1
(cliente 3)
Con Xij ≥ 0 para todo ij (Restricciones de no negatividad)
Función objetivo: minimizar la distancia total.
(Z ) = 10X11 + 22X12 + 14X13 + 20X21 + 10X22 + 8X23 + 14X31 + 12X32 + 6X33
Al resolver este modelo es fácil verificar que las variables de decisión toman el valor uno o cero. Este
tipo de problemas, en los que las variables solo pueden tomar valores de cero o uno, se conocen como
problemas de asignación y constituyen un caso especial de los problemas de redes de transporte.
Problema resuelto
Supóngase el caso de una empresa que se dedica al transporte aéreo de mercancías y para ello cuenta
con un avión que tiene tres compartimentos: frontal, central y trasero. Por motivos técnicos, se debe tener una proporción similar entre el peso ocupado con respecto a su capacidad en cada compartimento.
Las capacidades en peso y espacio para cada compartimento son:
Tabla 3.3
82
Bodega
Peso (ton)
Volumen (m3)
Frontal
5
1 000
Central
15
9 000
Trasera
8
6 000
Grupo Editorial Patria©
La empresa requiere transportar la mercancía de cuatro clientes pudiendo aceptar cualquier fracción de
los cuatro pedidos. La información relacionada con el peso, volumen y utilidad de las mercancías de los
cuatro pedidos se muestra en la tabla 3.4.
Tabla 3.4
Cliente
1
2
3
4
Volumen (m3)
1 000
3 000
2 400
7 000
Peso (ton)
10
12
8
14
Utilidad ($/ton)
250.000
400.000
300.000
500.000
Solución
Para poder construir el modelo, primero calculamos el volumen por tonelada correspondiente a la mercancía de cada cliente (volumen/peso). Los resultados se observan en la tabla 3.5.
Tabla 3.5
Cliente
m3/ton
1
100
2
250
3
300
4
500
Las variables de decisión se pueden definir como:
Xij: toneladas de la mercancía del cliente i a transportar en el compartimento j.
Donde:
(i = 1, 2, 3, 4); ( j = F, C, T )
Sujeta a:
1. Restricciones de capacidad de peso en cada compartimento:
4
Frontal: ∑X iF ≤ 5
i =1
4
Central: ∑X iC ≤ 15
i =1
4
Trasero: ∑X iT ≤ 8
i =1
2. Restricciones de capacidad de volumen en cada compartimento:
Frontal: 100X11 + 250X21 + 300X31 + 500X41 ≤ 1 000
Central: 100X12 + 250X22 + 300X32 + 500X42 ≤ 9 000
Trasera: 100X13 + 230X23 + 300X33 + 500X43 ≤ 6 000
3. Restricciones de capacidad de carga a ser asignada en cada compartimento:
T
∑X 1j ≤ 10
j =F
T
∑X 2 j ≤ 12
j =F
T
∑X 3 j ≤ 8
j =F
T
∑X 4 j ≤ 14
j =F
83
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
4. Restricción de balance para la proporción de uso de la capacidad de peso en cada compartimento:
4
4
5
15
4
4
15
8
∑ i =1X i F = ∑ i =1X i C
∑ i =1X i C = ∑ i =1X i T
Función objetivo:
T
T
T
T
j =F
j =F
j =F
j =F
Maximizar la utilidad Z = 250 .000 ∑X 1j + 400 .000 ∑X 2 j + 300 .000 ∑X 3 j + 500 .000 ∑X 4 j
❚ Modelo de redes para el problema de asignación de recursos número 3
Enseguida se presentan algunos ejemplos de problemas resueltos del modelo de redes para el problema de asignación de recursos.
Problema resuelto
Una compañía tiene una cantidad de dinero disponible, D, para invertir. La compañía ha determinado
que existen N proyectos de inversión alternativos y que por lo menos dj dólares deben ser invertidos
en cada proyecto j, si se decide que dicho proyecto amerita la inversión. La ganancia neta que la
compañía podría obtener si invierte en el proyecto j es Pj dólares. El dilema de la compañía es que no
puede invertir en todos los N proyectos debido a las restricciones del capital disponible, esto es porque
∑dj > D. Por tanto, la compañía debe decidir en cuál(es) proyecto(s) invertir de forma tal que se maximice su utilidad.
Solución
Definamos entonces Xj como una variable binaria (0-1):
Xj = Binaria
{0 = no se invierte en el proyecto j
1 = sí se invierte en el proyecto j }
Sujeto a la restricción de capital disponible:
∑djXj ≤ D
La utilidad total a maximizar (función objetivo) es:
Z = ∑ PjXj
Problema resuelto
Ahora, supóngase que la misma empresa del problema anterior en lugar de dinero busca asignar eficientemente sus recursos humanos. Para asignar el trabajo como un recurso, lo más eficiente posible,
es importante revisar y racionalizar los requerimientos de mano de obra la mayor cantidad de veces al
día. Esto es en especial cierto en grandes compañías en donde las demandas de los clientes cambian
significativamente según el horario del día. Por ejemplo, se necesitan más operadores telefónicos durante el horario comprendido de 12:00 a 2:00 p.m. y de 12:00 a 2:00 a.m. Sin embargo, muchos de
estos operadores deben estar en servicio desde tempranas horas de la mañana.
84
Grupo Editorial Patria©
Dado que por lo general estos empleados trabajan jornadas de ocho horas, sería posible planificar
sus horarios de manera que una simple jornada pueda cubrir dos o más de estos periodos pico de
demanda. Mediante el diseño de horarios inteligentes, la productividad del operador se incrementaría,
generando un grupo de trabajo menos numeroso y, por ende, una reducción de los gastos de nómina.
Entre otros ejemplos en el cual los modelos de horario de empleados tienen bastante utilidad se encuentran los conductores de autobuses, controladores de tráfico aéreo y las enfermeras.
El siguiente es un ejemplo de problema para la asignación de recursos en lo referente a la programación de los horarios de las enfermeras. Suponga un hospital que enfrenta constantemente problemas
con el horario de trabajo de sus enfermeras. Se busca minimizar el número total de enfermeras durante
cada periodo del día.
Tabla 3.6
Periodo
Turno del día
Número
requerido de enfermeras
1
8:00 - 10:00
10
2
10:00 - 12:00
8
3
12:00 - 02:00
9
4
02:00 - 04:00
11
5
04:00 - 06:00
13
6
06:00 - 08:00
8
7
08:00 - 10:00
5
8
10:00 - 12:00
3
Solución
Dado que cada enfermera trabaja jornadas de ocho horas diarias, cada una puede comenzar a trabajar
al inicio de cualquiera de los primeros cinco turnos: 8:00, 10:00, 12:00, 2:00 o 4:00. Es importante resaltar, que en este caso no estamos considerando los periodos que comienzan en horas impares, como las
9:00, 11:00, etcétera. Como se puede apreciar, por definición no se necesita considerar que un turno
comience después de las 4:00, dado que el horario se extendería hasta después de la medianoche,
cuando las enfermeras ya no son necesarias. Por tanto, solo es necesario considerar cinco turnos.
Se ha identificado el requerimiento específico de mano de obra en periodos de dos horas. De hecho, la definición de los cinco turnos mencionados previamente también es a intervalos de dos horas.
Por tanto, cada enfermera que se presente a trabajar en el periodo t trabajará también: t + 1, t + 2 y
t + 3; esto es, 8 horas consecutivas. La pregunta es: ¿cuántas enfermeras se deben reportar a trabajar
durante cada periodo, de tal forma que se cumplan los requerimientos especificados en la tabla anterior de la manera más eficiente posible?
Para modelar este problema, dejemos que Xt sea la variable de decisión que define el número de
enfermeras que comenzarán a trabajar en el periodo t. A continuación, se formulan las restricciones
para cubrir el requerimiento de enfermeras para cada uno de los ocho periodos del día:
X1 ≥ 10
X1 + X2 ≥ 8
X1 + X2 + X3 ≥ 9,
X1 + X2 + X3 + X4 ≥ 11,
X2 + X3 + X4 + X5 ≥ 13,
X3 + X4 + X5 ≥ 8,
X4 + X5 ≥ 5,
X5 ≥ 3,
Xt ≥ 0, entero, para t = 1 ... 8
La fuerza laboral total que deseamos minimizar es: Z = ∑Xt.
Nótese que X1 no se incluye en la restricción para el periodo de tiempo 5, dado que las enfermeras
que comienzan en el periodo 1 ya no permanecen trabajando durante el periodo 5. Asimismo, también
observe que en algunos periodos va a ser imposible dejar de tener un número mayor de enfermeras
85
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
que el número requerido. Por ejemplo, vemos que la primera restricción muestra que el número de
enfermeras que comienzan a trabajar en el periodo 1 debe ser por lo menos 10. En este caso, todas
estas enfermeras estarán trabajando para el periodo 2, pero solo ocho serán indispensables.
Tabla 3.7
Enfermeras requeridas por turno
Inicio de turno
8-10
10-12
12-2
2-4
4-6
6-8
8-10
Enfermeras requeridas
10
8
9
11
13
8
5
Enfermeras asignadas
10
10
10
11
13
13
13
Variable
X1
X2
X3
X4
X5
X6
X7
Enfermeras que inician en
el turno
10
0
0
1
12
0
0
Total de enfermeras
23
3.3 Modelo de redes aplicado al problema
de programación óptima de horarios
Para el presente caso de estudio trataremos el problema de programación óptima de horarios. Para
ello vamos a partir de un caso real de cierta universidad de prestigio de la localidad.
Problema resuelto
En la actualidad, el diseño de horarios de los grupos y cargas horarias de los maestros de dicha universidad se realiza de manera manual, a base de prueba y error. Cabe mencionar que el trabajo requerido
para programar dichos horarios es agobiante (físico y mental), lo cual desespera y frustra al personal
que se encarga de dicha tarea. Una vez elaborados los horarios y terminadas las cargas académicas,
estas se entregan a cada maestro antes del inicio del semestre. Sin embargo, con frecuencia se ha observado una inconformidad de algunos de ellos en cuanto al horario que se les asigna.
Solución
Para el desarrollo del caso de estudio, primero partimos de la encuesta que se aplica a todos los
maestros de la facultad de esta universidad cada semestre. Las edades de los maestros, así como su
condición social, ideología, razón social, religión y demás características que no interesan para nuestro
estudio no serán consideradas de momento, con la finalidad de dar objetividad al planteamiento del
problema. Para efectos de dar una exposición sencilla a nuestro caso de estudio, solo se va a considerar
una muestra del total de los maestros, materias y salones involucrados: 44 maestros, 15 salones y 59
materias. No obstante, el modelo matemático que vamos a desarrollar se podrá escalar fácilmente a las
necesidades completas de cualquier problema. La información que se buscó recabar fue la siguiente:
1. Número de identificación único del maestro, i.
2. Clave de la materia, j, que se desea impartir.
3. Nivel de preferencia del maestro, i, para impartir la materia j.
4. Clave del horario, k, en el cual se desea impartir.
5. Nivel de preferencia del maestro, i, para impartir en el horario k.
Con base en todo lo anterior, el siguiente paso es definir las variables de entrada:
86
Aij → Preferencia del maestro i por la materia j.
Bik → Preferencia del maestro i por el horario k.
Ck → Disponibilidad de aulas en el horario k.
Dj → Demanda de grupos requeridos para la materia j.
Grupo Editorial Patria©
El modelo que buscamos desarrollar pretende encontrar un horario óptimo para cada uno los maestros,
el cual se define como aquel que logra maximizar su afinidad respecto a las expectativas de los maestros en lo referente a los horarios y las materias que este busca cubrir. No obstante, el horario óptimo
debe, al mismo tiempo, satisfacerlos requerimientos de demanda de los alumnos y la disponibilidad
de aulas. Así, entonces, podemos decir que un horario óptimo debe procurar, al mismo tiempo, cubrir
dos objetivos paralelos:
1. Que a los maestros no se les asignen horarios alternados que luego les generen improductividad.
2. Que los alumnos tampoco tengan horarios salteados que les ocasionen horas libres entre las
clases.
Importancia y justificación
Este caso tiene una justificación de tipo social, ya que de acuerdo con comentarios proporcionados
por los propios maestros de la institución, es frecuente que se les asignen horarios no necesariamente
acordes con lo que ellos buscan de manera personal. Adicional a lo anterior, es indiscutible el desgaste
físico del recurso humano que cada semestre se agobia por tratar de efectuar los procedimientos necesarios para que los horarios y cargas de trabajo de los maestros sean acordes con los requerimientos
de las materias que se imparten a los alumnos. En resumen, en una programación de horarios óptima,
estamos hablando de maximizar el aprovechamiento del tiempo de maestros y alumnos, así como de
las aulas disponibles. Con lo anterior, se evitarán errores, tiempos muertos, fatiga del personal involucrado, además de la satisfacción del cuerpo académico.
Metodología
Nuestro caso de estudio requiere de una investigación analítica y constructiva. Es analítica porque
requiere un estudio detallado de la situación actual en la que se encuentra la problemática formulada.
Es constructiva porque se diseñará un modelo como alternativa de solución al problema planteado. A
continuación, se describe el modelo compuesto por las variables de salida, las restricciones y la función
objetivo:
Variables de salida
XijkBIN
0 → el maestro i no imparte la materia j en el horario k
1 → el maestro i sí imparte la materia j en el horario k
1. Restricción para la disponibilidad de aulas de acuerdo con el horario del día.
En la siguiente restricción se hace referencia al hecho de que la suma de los maestros y las materias
asignadas en cada horario del día no debe exceder el total de los salones disponibles de acuerdo
con el horario.
44 59
∑ ∑ X ijk ≤ C k para k = 1 … 15
i =1 j =1
2. Restricción para la demanda de grupos a ser cubiertos por cada materia.
Esta restricción se refiere a que la suma de los maestros y los horarios en los que se asigna una materia a ser impartida debe ser suficiente como para cubrir la cantidad total de grupos de cada
materia.
44 15
∑ ∑ X ijk ≥ D j para j = 1 … 59
i =1 k =1
3. Restricciones de preferencia del maestro por materia.
15
∑ X ijk + D1ij - S1ij = Aij para i = 1 ... 44, j = 1 ... 59
k =1
87
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
4. Restricciones de preferencia del maestro por horario.
59
∑ X ijk + D 2ik - S 2ik = Bik para i = 1 ... 44, k = 1 ..., 15
j =1
Función objetivo:
En la función objetivo se pretende minimizar la suma total de las variables desviacionales (D1ij , S1ij ,
D2ik, S2ik ) que fueron utilizadas en las restricciones anteriores. Los valores de las variables de desviación
antes mencionados corresponden a la incidencia de aquellos casos en los cuales no va a ser posible
coincidir con la preferencia de los maestros en cuanto a su materia, así como a la preferencia por su
horario.
44 59
9
44 15
i =1 j =1
i =1 k =1
F . O .MIN ⇒ ∑ ∑ ( D 1ij + S 1ij ) + ∑ ∑ ( D 2ik + S 2ik )
3.4 Modelo de redes aplicado al problema de asignación
óptima unidimensional y bidimensional
Asignación unidimensional
Se refiere a escoger, de entre un conjunto de alternativas, un subconjunto de estas, de manera que
este maximice el valor total de la selección, sin exceder la capacidad disponible.
aj : volumen que ocupa la alternativa j.
Donde:
j = 1 … n (conjunto total de alternativas).
cj = valor de la alternativa j al ser seleccionada para subconjunto óptimo.
inaria {0 si la alternativa j no se selecciona en subconjunto óptimo, 1 si la alternativa j se selecciona
xj = b
en subconjunto óptimo}.
b = volumen máximo del subconjunto óptimo.
n
Max ∑c j x j
j =1
Sujeto a:
n
∑a j x j ≤ b
j =1
xj ∈ {0, 1}
Asignación bidimensional
Se refiere a minimizar el costo total de asignación, de modo que:
1. Cada actividad j se asigne a solo uno de los recursos i.
2. Cada recurso i realice solo una de las actividades j.
xij = binaria {0 si la actividad i no se hace con el recurso j, 1 si la actividad i se hace con el recurso j }.
cij = costo para realizar la actividad i con el recurso j.
Donde:
i = 1 … n (actividades) j = 1 … m (recursos)
88
Grupo Editorial Patria©
Si no hubiera balance entre la cantidad de recursos disponibles y la cantidad de actividades que demandan los recursos, entonces se formula con desigualdades.
n
m
Min ∑ ∑c ij x ij
i =1 j =1
Sujeto a:
n
∑x ij = 1, j = 1 ... n
i =1
m
∑x ij = 1, i = 1 ... m
j =1
xij ∈ {0, 1}
3.5 Modelos de redes para problemas de transporte
Un problema de transporte se puede identificar cuando se tienen m orígenes que ofertan un cierto
producto y n destinos que demandan el mismo producto ofertado, de tal manera que se busca minimizar el costo de satisfacer las demandas a expensas de las ofertas.
❚ Modelo de redes para el problema de transporte número 1
Es importante destacar que cualquier origen se puede distribuir a más de un destino. Así pues, se busca determinar un plan de transporte de mercancía de varias fuentes a varios destinos.
Datos y propiedades:
1. Nivel de oferta de cada fuente.
2. Cantidad de demanda de cada destino.
3. Costo unitario de transporte de la mercancía de cada fuente a cada destino.
4. El costo de transporte en una ruta es directamente proporcional al número de unidades transportadas.
5. Las unidades de transporte deben ser consistentes entre las ofertas y las demandas.
6. Las unidades de transporte pueden ser piezas, granel, cargas, etcétera.
7. Debe haber equilibrio entre lo que se despacha y lo que se recibe y viceversa (suposición de requerimientos).
8. Se requieren obtener soluciones enteras.
Sea Xij = número de unidades enviadas desde un nodo i hasta un nodo j.
Sujeta a restricciones de:
 j = n
Oferta ∑X ij ≤ ai ;
 j =1
i = m
Demanda  ∑ X ij ≥ b j ;
 i =1
i = 1, 2 , …, m
j = 1, 2 , …, n
Para toda variable:
Xij ≥ 0
89
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
Función objetivo:
i =m j =n
Min Z = ∑ ∑C ij X ij
i =1 j =1
Cij = costo unitario de transportar desde i hasta j.
Para un problema de transporte balanceado en cuanto a oferta y demanda debe cumplir con la siguiente condición:
 j = n
Oferta ∑X ij = ai ;
 j =1
 j = m
Demanda  ∑ X ij = b j
 i =1
Además ∑ai = ∑b j
∀i
Origen
i = 1, 2, .. , n
1
∀j
X11
X12
1
Destino
j = 1, 2, .. , n
X1n
X21
2
X22
2
X2n
Xm1
m
Xm2
Xmn
n
i: origen
j: destino
Figura 3.1
Si esto es así, entonces el modelo de transporte es equilibrado. Esto significa que las restricciones del
tipo ≤ o ≥ pasan a ser del tipo =. En el caso de que no sean iguales, hay que balancear el problema.
Los modelos de transporte juegan un papel muy importante en la gerencia logística y la cadena
de insumos para reducir costos y mejorar el servicio. Por tanto, el objetivo es encontrar la manera más
efectiva, en término de costos, para transportar bienes. Un distribuidor que tiene m depósitos con un
abastecimiento de productos ai en estos, debe enviar dichos productos a n centros de distribución
geográficamente dispersos, cada uno con una demanda de clientes dada bj, la cual debe ser cubierta.
El objetivo es, entonces, determinar el mínimo costo posible de transporte dados, los costos por unidad a transportar entre el depósito i y el centro de distribución j, el cual es Cij.
❚ Modelo de redes para el problema de trasbordo
Enseguida se presenta un ejemplo resuelto de este tipo de problemas.
Problema resuelto
Una compañía puede fabricar un producto en dos líneas de producción diferentes. Cada línea envía lo
producido al centro de control de calidad A o B, según convenga. Finalmente, desde control de calidad
se remite a cualquiera de las cuatro líneas de empaque de la empresa. La línea de producción 1 tiene
capacidad para producir 80 unidades por hora y la línea 2 para producir un máximo de 60 unidades por
hora. Según las demandas esperadas, se ha programado que las líneas de empaque atiendan al menos
los siguientes volúmenes por hora: 30, 20, 40, 40, respectivamente. La tabla 3.8 organiza los tiempos
90
Grupo Editorial Patria©
en minutos que se requieren para los diferentes traslados entre los variados procesos por cada unidad
de producto.
Tabla 3.8
Línea de producción
P1
P2
10
12
9
11
Control de
calidad
L1
24
19
C1
C2
Línea de empaque
L2
L3
–
22
23
20
L4
–
23
Adicionalmente, sabemos que el centro de control de calidad número 1 se demora cuatro minutos para
revisar un artículo, mientras que el centro de control de calidad número 2 tarda seis minutos.
¿Cómo debe organizarse el flujo de los materiales entre las áreas productivas, el área de calidad y
las líneas de empaque, de manera que se minimice el tiempo total incurrido de producción? Para un
mejor entendimiento del problema véase la figura 3.2, donde los nodos 1 y 2 representan las líneas de
producción (P1 y P2), los nodos 3 y 4 representan los centros de control de calidad (A, B) y los nodos
del 5 a 8 representan las cuatro líneas de empaque (L1 a L4).
5
30 u/hora
50 u/hora
4 min
1
3
6
20 u/hora
2
4
7
40 u/hora
60 u/hora
6 min
8
40 u/hora
Oferta
Trasbordo
Demanda
Figura 3.2
Solución
Es importante precisar que los valores representados con guión (-) en la tabla y en la figura indican que
esos flujos entre calidad y línea de empaque no están permitidos. En la práctica, esto se puede deber
a decisiones administrativas o a limitaciones físicas entre estos. De lo anterior, puede tenerse la idea de
no incluir esas variables en la función objetivo. Esta estrategia es equivocada, ya que esto conduciría a
tomar como cero el coeficiente de la variable de decisión en el objetivo. Dado que se desea minimizar
el costo, lo anterior llevaría a que sea en extremo conveniente aumentar el valor de las variables de
decisión X36 y X38. Esto obviamente es un error, pues sabemos que esas variables tienen un valor de cero
al no existir comunicación entre los nodos. Por tanto, es necesario asignar a esas variables un coeficiente suficientemente grande para obligar a que las variables de decisión correspondientes valgan cero. A
continuación, presentamos el modelo:
Las variables de decisión se definen como:
Xij: cantidad de unidades enviadas del nodo i al nodo j.
Sujeto a:
1. Restricciones de capacidad de producción por línea:
(Línea P1): X13 + X14 ≤ 80
(Línea P2): X23 + X24 ≤ 60
2. Restricciones de capacidad de trasbordo para cada centro de calidad:
(Centro de calidad A): X13 + X23 = X35 + X37
(Centro de calidad B): X14 + X24 = X45 + X46 + X47 + X48
91
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
3. Restricciones para el cubrimiento de la demanda mínima en cada línea:
X35 + X45 ≥ 30
X46 ≥ 20
X37 + X47 ≥ 40
X48 ≥ 40
Con Xij ≥ 0 para todo ij (restricciones de no negatividad)
Función objetivo:
Minimizar costo total = 10X13 + 9X14 + 12X23 + 11X24 + 24X35 + 1 000X36 + 22X37 + 1 000X38 + 19X45 +
23X46 + 20X47 + 23X48
❚ Modelo de redes para el problema de la ruta más corta
El problema, entonces, es determinar la mejor manera de cruzar una red para encontrar la forma más
económica posible desde un origen hasta un destino dado. Supóngase que en una red dada existen
m nodos y n arcos, y un costo Cij asociado con cada arco (i, j ) en la red. Formalmente, el problema del
camino más corto es encontrar el camino más corto (menor costo) desde un nodo de inicio hasta un
nodo de destino. El costo del camino es la suma de los costos de cada arco recorrido.
Se pide definir las variables binarias Xij, donde Xij = 1 si el arco (i a j ) está incluido en el camino
más corto y Xij = 0 de lo contrario. Para ello, existen dos nodos especiales llamados origen y destino.
El objetivo es encontrar el camino más corto entre el origen y el destino.
En la siguiente red, existen varios costos que son asignados para el arco que va de un nodo a otro.
Por ejemplo, el costo de ir del nodo 2 al 4 es 6. La función objetivo considera los costos de moverse
de un nodo a otro, o de un origen a un destino. Las restricciones están divididas en tres grupos. La
restricción del nodo de origen dice que debe dejar el nodo 1 para ir al 2 o 3. La restricción del nodo intermedio dice que siempre que se dirija a un nodo usted deberá dejarlo. El nodo de destino es similar
al nodo de origen dado que se puede alcanzar este nodo solo desde los nodos vecinos. Considérese
la siguiente red dirigida (para una red no dirigida, los arcos estarían dirigidos en ambas direcciones). El
objetivo es encontrar el camino más corto desde el nodo 1 hasta el nodo 7.
17
2
6
15
Origen
1
8
7
5
4
10
6
6
2
4
3
4
5
Min ΣCijXijΣXij - ΣXij = 1 Nodo 1 de origen
ΣXij - ΣXij = 0
Nodo intermedio
ΣXij - ΣXij = 1
Nodo destino
Xij ≥ 0
Para las rutas inaceptables se debe añadir la siguiente restricción Xij = 0
Min 15X12 + 10X13 + 8X32 + 6X24 + 17X27 + 4X35 + 5X47 + 4X45 + 2X56 + 6X67
Sujeto a
X12 + X13 = 1
X12 + X32 - X24 - X27 = 0
X13 - X32 - X35 = 0
X24 - X47 - X45 = 0
X35 + X45 - X56 = 0
X56 - X67 = 0
X27 + X47 + X67 = 1
Figura 3.3 Problema de la ruta más corta.
92
Destino
Grupo Editorial Patria©
Luego de correr el modelo, se obtienen los siguientes resultados:
Ir de 1 hasta 3, de 3 hasta 5, de 5 hasta 6, de 6 hasta 7. Este es el camino más corto con un total de
22 unidades de longitud.
3.6 Modelo de redes para el problema de flujo máximo
Para una red con capacidad de flujo en los arcos, el problema es determinar el máximo flujo posible.
Considérese una red con m nodos y n arcos, cada uno de los cuales tiene definido una capacidad
máxima de flujo. Así, definimos el arco de flujo (i a j ) como Xij y para cada arco definimos, entonces,
una capacidad de flujo kij. Para esta red, deseamos encontrar el flujo total máximo F del nodo 1 al nodo
7. En la formulación de la programación lineal, el objetivo es maximizar F. De igual forma, el monto F
parte del origen 1 por varias rutas. Para cada nodo de la red, la restricción de balance indica que lo
que entra al nodo debe ser igual a lo sale del mismo. En algunas rutas, los flujos pueden tomar varias
direcciones. La capacidad que puede ser enviada a una dirección en particular también es mostrada
en cada ruta.
Al resolver el modelo que se muestra más adelante, obtenemos los siguientes resultados:
Enviar diez unidades de 1 a 2, siete unidades de 1 a 3, tres unidades de 2 a 6, siete unidades de 2
a 4, cuatro unidades de 3 a 6, seis unidades de 3 a 5, siete unidades de 4 a 7, ocho unidades de 5 a 7,
tres unidades de 6 a 3, dos unidades de 6 a 5, dos unidades de 6 a 7. Por tanto, el flujo máximo hacia
el nodo 7 es F = 17 unidades.
0
0
F
1
8
2
1
10
10
0
1
3
4
3
7
6
0
3
6
4
4
0
2
2
0
7
0
2
12
0
8
5
F
Alerta
Un arco es usualmente
llamado borde o flecha.
Este podría ser directo o
indirecto. La cabeza es el
destino y la cola el origen.
La cabeza y la cola son
nodos que pueden estar
tanto al origen como al
final. En las redes de
transporte, los arcos
podrían ser los caminos,
los canales de navegación
en un río o los patrones
de vuelo de un avión.
Los arcos proporcionan
la conectividad entre los
nodos. Una calle de una
sola dirección podría ser
representada por un arco,
mientras que una calle de
dos direcciones, por un
arco sin dirección o por
dos arcos que apuntan a
direcciones opuestas.
Max F
Origen
X12 + X13 - F = 0
Intermedia
X12 + X32 - X23 - X26 - X24 = 0
Nodos
X13 + X23 + X63 - X32 - X36 - X35 = 0
X24 + X64 - X47 - X46 = 0
X35 + X65 - X56 - X57 = 0
X26 + X46 + X36 + X56 - X65 - X63 - X64 - X67 = 0
X47 + X67 + X57 - F = 0
Destino
X12 ≤ 10
X64 ≤ 3
X13 ≤ 10
X46 ≤ 3
X23 ≤ 1
X35 ≤ 12
X32 ≤ 1
X65 ≤ 2
X26 ≤ 6
X56 ≤ 2
X36 ≤ 4
X57 ≤ 8
X63 ≤ 4
X47 ≤ 7
X24 ≤ 8
X67 ≤ 2
Xij ≥ 0
Figura 3.4 Problema de flujo máximo.
93
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
3.7 Modelo de redes para el problema de costo mínimo
Los problemas de red expuestos antes son casos especiales del problema de flujo de costo mínimo,
el cual, al igual que el problema de flujo máximo, considera capacidad de flujo para cada uno de los
arcos de la red. Del mismo modo, al igual que el problema del camino más corto, el problema de
costo mínimo considera un costo de flujo asociado para cada arco (i, j ) y, al igual que el problema
de transporte, permite múltiples orígenes y destinos. Por tanto, todos estos problemas pueden ser vistos como casos especiales del problema general de flujo con costo mínimo. El problema es minimizar
el costo total sujeto a la disponibilidad y la demanda de algunos nodos, considerando las capacidades
de flujo para cada arco (i, j ).
La solución óptima es: X12 = 12, X13 = 8, X23 = 8, X24 = 4, X34 = 11, X35 = 5, X45 = 10, todos los demás
Xij = 0. Por tanto, el costo óptimo es de 150 pesos.
2, 4
2
6,10
4,15
(20)
(5)
5
(15)
1, 15
2, *
2, *
1
4
4, 8
costo, capacidad
3, 5
3
1, 4
Min
4X12 + 4X13 + 2X23 + 2X24 + 6X25 + 1X34 + 3X35 + 2X45 + X53
Sujeto a
X12 + X13 ≤ 20
Nodo origen
X12 - X24 - X25 - X23 = 0
X13 + X23 + X53 - X34 - X35 = 0
X24 + X34 - X45 = 5
X35 + X25 + X45 - X53 = 15
X12 ≤ 15
X34 ≤ 15
X13 ≤ 8
X25 ≤ 10
X35 ≤ 5
X53 ≤ 4
X24 ≤ 4
X25 ≤ 10
Xij ≥ 0
Figura 3.5 Problema de costo mínimo.
3.8 Modelo de redes para el problema de la ruta crítica
aplicado en la planificación de proyectos
La administración exitosa de un proyecto, ya sea de construcción, transporte o finanzas, descansa en la
coordinación y planificación minuciosa de varias tareas. El modelo del camino crítico busca analizar
la planificación de proyectos. Esto posibilita un mejor control y evaluación del proyecto. Por ejemplo,
supóngase que queremos saber: ¿cuánto tiempo durará el proyecto?, ¿cuándo estará listo para comenzar una tarea en particular?; si la tarea no es completada a tiempo, ¿el resto del proyecto se retrasaría?, ¿qué tareas deben ser aceleradas (efectivo) para lograr terminar el proyecto antes?
Dada una red de actividades, el primer problema que nos interesa determinar es la amplitud del
tiempo requerido para finalizar el proyecto y el conjunto de actividades que controlan el tiempo para
culminarlo. Supóngase que en un proyecto determinado existen m actividades con una duración de
tiempo Cij, asociada a cada arco (i a j ) en la red de actividades. El nodo inicial de un arco (i a j ) corresponde al inicio de la actividad i y el nodo final al inicio a la actividad j. Para encontrar el camino crítico,
se definen las variables binarias Xij, donde Xij = 1, si la actividad i y la actividad j están incluidas en la
ruta crítica. Por otro lado, Xij = 0, sería lo contrario. El tamaño total de la ruta crítica es igual a la suma
94
Grupo Editorial Patria©
de la duración de las actividades individuales incluidas en dicha ruta. La ruta crítica, por definición, es
el tiempo más corto necesario para completar el proyecto. De manera formal, el problema de la ruta
crítica es encontrar la trayectoria más larga desde el nodo inicial 1 hasta el nodo final m.
Como se puede verificar, cada arco tiene dos funciones. Una es representar cada actividad en
cuestión y la otra definir la relación de precedencia entre las actividades. Algunas veces es necesario
agregar arcos que solo representen relaciones de precedencia. Estos arcos ficticios son representados
por flechas rotas. En nuestro ejemplo, el arco que va del nodo 2 al nodo 3 representa una actividad
ficticia. La primera restricción representa el punto de activación del proyecto. A continuación, el resto
de las restricciones representan el balance para cada nodo; es decir, si al nodo se llega proveniente de
la actividad anterior, entonces se debe salir de este hacia la siguiente actividad posterior. Finalmente,
la última restricción fuerza la culminación del proyecto.
8
3
12
5
6
6
7
1
0
10
9
2
Max
Sujeto a
4
9X12 + 6X13 + 8X35 + 7X34 + 10X45 + 12X56
X12 + X13 = 1
Nodos
Nodo final
X12 - X23 = 0
X13 + X23 - X34 - X35 = 0
X34 - X45 = 0
X35 + X45 - X56 = 0
X56 = 1
Xij ≥ 0
Figura 3.6
El resultado para la ruta crítica es: del nodo 1 al 2, del nodo 2 al 3, del nodo 3 al 4, del nodo 4 al 5, del
nodo 5 al 6. Por tanto, la duración del proyecto es de 38 unidades.
3.9 Modelo de redes aplicado a problemas de costo fijo
❚ Modelo de redes aplicado al problema de costo fijo número 1
Este se define cómo decidir la cantidad de cada producto, de modo que se minimicen los costos de
producción y se satisfaga la demanda:
xj = unidades producidas del producto j.
cj = costo unitario de producción de j.
yk = binario {0 si no se usa la instalación k, 1 si se usa la instalación k}.
fk = costo de arranque de la instalación k.
akj = binario {0 si el producto j no usa la instalación k, 1 si el producto j usa la instalación k},
bj = demanda del producto j.
Mk = ∞
n
m
j =1
k =1
Min ∑c j x j + ∑fk y k
95
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
Sujeto a:
n
∑x j ≥ b j
j =1
n
∑akj ≤ Mk y k , k = 1 ... m
j =1
xj ≥ 0, yk ∈ {0, 1}
3.10 Modelo de redes para el problema de agrupamiento óptimo
Consiste en agrupar un conjunto de objetos de tal forma que se maximice el valor obtenido. Si existe
la posibilidad de que haya objetos no agrupados, se denomina agrupamiento imperfecto. El agrupamiento puede ser de 1 a n; es decir, n objetos se agrupan en un solo grupo. Nuestro ejemplo es del
tipo bipartita; esto es, los grupos formados cuando mucho tienen dos objetos.
xij = binario {01 si los objetos i y j no están agrupados, 1 si los objetos i y j están agrupados}.
cij = valor o costo de que los objetos i y j están agrupados.
Donde:
i≤j
Se asume que los objetos i son un subconjunto de los objetos j.
2 n −1 2 n
Max ∑ ∑ c ij x ij
i =1 j =1+1
Sujeto a:
i −1
2n
k =1
j = i +1
∑x ki + ∑ x ij = 1, i = 1 ... 2 n
xj ∈ {0, 1}
❚ Modelo de redes para el problema de cubrimiento óptimo número 1
Con este se busca minimizar el costo de los recursos empleados, con la finalidad de que estos en su
conjunto cubran todos los requerimientos de demanda, al menos por uno solo de los recursos.
Se tienen m requerimientos de demanda, donde i = 1 … m
Se tienen n recursos, donde j = 1 ... n
xj = binario {0 si el recurso j no se utiliza, 1 si el recurso j se utiliza}.
cj = costo por la utilización del recurso j.
atriz de incidencia {0 si el requerimiento i no puede ser satisfecho con el recurso j, 1 si el requeaij = m
rimiento i puede ser satisfecho con el recurso j}.
n
Min ∑c j x j
j =1
Sujeto a:
n
∑aij x j ≥ 1, i = 1 ... m
j =1
xj ∈ {0, 1}
96
Grupo Editorial Patria©
❚ Modelo de redes para el problema de cubrimiento óptimo número 2
Problema resuelto
Existen cinco periódicos diferentes que son publicados en cierto país. Cada periódico cubre algunas de
las nueve regiones del país, como se muestra en la tabla 3.9.
Tabla 3.9
Número
de periódico
1
2
3
4
5
Región
cubierta
1,
2,
4,
5,
6,
2,
3,
5,
7,
8,
Costo por
publicidad
Beneficios
por publicidad
3
4
3
7
5
12
10
14
19
16
3
6
6
8
9
El problema consiste en encontrar el costo total de publicidad mínimo, de tal forma que esta alcance
a todas las áreas del país. Este problema puede ser formulado como una programación entera, donde
yj = 1 si se hace publicidad con el periódico i, 0 en caso contrario:
Min z = 3y1 + 4y2 + 3y3 + 7y4 + 5y5
Sujeto a:
y1
y1 + y2
y1 + y2
y3
y3 + y4
y2 + y3 + y5
y4
y4 + y5
y5
yj = binaria, para j = 1 … 5
≥ 1 (Región 1)
≥ 1 (Región 2)
≥ 1 (Región 3)
≥ 1 (Región 4)
≥ 1 (Región 5)
≥ 1 (Región 6)
≥ 1 (Región 7)
≥ 1 (Región 8)
≥ 1 (Región 9)
Solución
La solución óptima es hacer publicidad en los periódicos 1, 3, 4 y 5 con un costo total de 18.00 pesos.
Esta solución es el costo mínimo asociado con la cobertura en las nueve áreas.
❚ Modelo de redes para el problema de empacamiento óptimo
Con este se trata de minimizar el costo total al elegir un conjunto de alternativas, asegurando que estas
puedan incluir un conjunto de requerimientos, los cuales solo puedan ser tomados en cuenta en una
sola ocasión.
Se tienen m requerimientos de demanda, donde i = 1 … m
Se tienen n alternativas, donde j = 1 ... n
xj = binario {0 si no se elige la alternativa j, 1 si se elige la alternativa j }.
cj = costo por elegirla alternativa j.
aij = matriz de incidencia {0 si la alternativa j no incluye el requerimiento i, 1 si la alternativa j incluye el
requerimiento i }.
n
Min ∑c j x j
j =1
97
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
Sujeto a:
n
∑aij x j ≤ 1, i = 1 ... m
j =1
xj ∈ {0, 1}
❚ Modelo de redes para el problema de partición óptima
Si en el problema de cubrimiento o de empacamiento las desigualdades se cambian por igualdades,
entonces se forma un problema de partición.
Se tienen m requerimientos de demanda, donde i = 1 … m
Se tienen n alternativas, donde j = 1 ... n
xj = binario {0 si no se elige la alterativa j, 1 si se elige la alterativa j }.
cj = beneficio por elegirla alternativa j.
atriz de incidencia {0 si la alternativa j no incluye el requerimiento i, 1 si la alternativa j incluye el
aij = m
requerimiento i }.
n
Min ∑c j x j
j =1
Sujeto a:
n
∑aij x j = 1, i = 1 ... m
j =1
xj ∈ {0, 1}
98
Problemas para resolver
Grupo Editorial Patria©
3.1 Una importante compañía transnacional ha conducido un estudio comprensivo de cinco ciudades, una de
las cuales será seleccionada como la ciudad para una
nueva planta. Los costos de operación anuales por cada
ciudad son:
ciudades: Dallas o Knoxville, cuya capacidad anual será de
60 embarques. En Dallas, el costo de manufactura se promediará a $100 000/embarque; mientras que en Knoxville
a $80 000.00.
Tabla 3.13 Costos de embarque
Tabla 3.10 Costos de operación anuales (en millones de dólares)
Ciudad
Mano de
obra
Transporte
Impuestos
locales
Poder
Otros
1
1.20
0.10
0.17
0.21
0.16
2
1.10
0.08
0.20
0.29
0.11
3
1.60
0.70
0.25
0.25
0.12
4
0.85
0.12
0.19
0.18
0.16
5
0.75
0.14
0.17
0.23
0.18
Por cada artículo, la compañía recopiló tasas subjetivas
de factores importantes (véase tabla 3.11).
Tabla 3.11 Tasas por factores
Ciudad
Recepción
de artículos
Disponibilidad de
mano de obra
Calidad de
transporte
Calidad de
vida
1
Muy bueno
Bueno
Regular
Aceptable
2
Regular
Muy bueno
Aceptable
Regular
3
Bueno
Regular
Excepcional
Bueno
4
Regular
Excepcional
Aceptable
Muy bueno
5
Muy bueno
Aceptable
Regular
Excepcional
Dallas
Knoxville
Denver
$600.00
$900.00
Seattle
1 000.00
1 200.00
Nueva York
1 400.00
700.00
a) Establecer este problema en un marco de trabajo de programación lineal.
b) A grandes rasgos, ¿qué tipo específico de información se
espera del modelo de programación lineal?
c) ¿Qué información relevante para esta decisión no es proporcionada por el modelo?
3.3 Una empresa familiar tiene tres almacenes hacia donde
embarcará muebles de una nueva fábrica, cuya ubicación
será decidida después. La fábrica recibirá materia prima de
sus abastecedores de madera y tejido. El número anual
de embar­ques, costos y localización de los abastecedores
y depó­sitos (almacenes) se muestran en la tabla 3.14.
¿Dónde debe ubicarse la fábrica para minimizar los costos
anuales de transportación?
Tabla 3.14
a)Con base en el costo de operación anual, ¿cuál ciudad es la mejor?
b)Desarrollar un método de cuantificación de los factores intangibles e integrarlo con los datos de los
costos en la evaluación en conjunto. ¿Cuál ciudad es
mejor ahora?
3
UNIDAD
Carga anual para
o de la fábrica
Costo/carga/mil
para o de la fábrica
Coordenadas de locación
(x, y) en millas
Abastecedora
de madera
120
$8
(100, 400)
Abastecedora
de tejido
200
$6
(800, 700)
Almacén 1
60
$5
(300, 600)
Valores para los factores:
Almacén 2
40
$5
(200, 100)
excepcional = 1, muy bueno = 2, bueno = 3,
aceptable = 4, y regular = 5
Almacén 3
70
$5
(600, 200)
3.2 La empresa Highline manufactura tiene sus productos
en plantas en Los Ángeles y Chicago. Los embarques son
enviados a los clientes en Denver, Seattle y Nueva York. La
planta de Los Ángeles produce un máximo de 50 embarques anualmente y la planta de Chicago, un máximo de
70 embarques en el mismo periodo.
Tabla 3.12 Costos de embarque
Los Ángeles
Chicago
3.4 Se planea llevar a cabo una investigación de mercado
de tarjetas de felicitación de marcas comerciales (tgc), tal
como se muestra en la tabla 3.15.
Tabla 3.15
Actividad
Antecesores
requeridos
Tiempo
esperado
(en días)
Tiempo mínimo
expeditado
(en días)
Costo
por expeditar
($/día)
1
-
10
5
800
2
1
20
15
650
Denver
$1 000.00
$900.00
3
2
25
15
400
Seattle
900.00
1 300.00
4
2
20
15
700
Nueva York
1 600.00
900.00
5
3, 4
15
13
900
6
5
15
10
1 050
7
1
60
45
300
8
6, 7
5
4
850
Para el próximo año, se espera que la demanda sea de 60
embarques a Denver, 40 a Seattle y 80 a Nueva York. High­
line construirá una nueva planta en cualquiera de las dos
Problemas aplicados a la realidad
Problemas para resolver con tecnología
99
3 Problemas para resolver
UNIDAD
25
3
2
10
1
5
20
20
4
15
C
15
15
6
E
4
4
5
15
8
6
A
4
D
F
G
7
5
7
4
B
11
Figura 3.7
Figura 3.9
Se pide:
a) Construir un diagrama pert.
b) Explicar el concepto de la ruta crítica y calcular la ruta
crítica para este proyecto.
c) Analizar los costos y la acción recomendada. Considérese que el proyecto tiene costos fijos de 1 000.00 pesos
por día; es decir, cada día que el tiempo de terminación
se reduce del tiempo esperado, la firma ahorra 1 000.00
pesos.
c) Asumiendo las actividades independientes que son normalmente distribuidas, ¿cuál es la probabilidad de completar el proyecto en nueve días o menos?
d) Si se eligió expeditar solo una actividad, ¿cuál se escogería?, ¿por qué?
Tabla 3.16
Tiempo
máximo
que la
expedición
puede
reducirse
Costo por
expeditar
($ / día)
3.5 Una firma contable pública ha descrito un programa de
auditoría en un banco en términos de actividades y eventos,
asimismo ha calculado los tiempos esperados (Ti ) y sus varianzas (σi ) en días, como se muestra en la figura 3.8.
Actividad
Antecesores
requeridos
A
-
6
2
3
100
3
B
-
11
9
1
50
20
30
10
8
10
0
2
60
5
40
4
50
12
Figura 3.8
a) Encontrar la ruta crítica y el tiempo de la ruta crítica para
el programa de auditoría.
d) ¿Cuál es el tiempo de holgura en evento 50? ¿Por qué?
3.6 La información para un proyecto corto se muestra en la
tabla 3.16.
a) Construir un diagrama pert. Calcular el tiempo de la ruta
crítica y diseñarla claramente.
b) Calcular el tiempo de inicio más cercano, el tiempo más
lejano y el tiempo de holgura en cada evento. ¿Por qué el
tiempo de poca actividad es siempre cero en un evento
de ruta crítica?
100
Problemas aplicados a la realidad
Varianza
C
-
13
5
2
200
D
A
6
4
-
-
E
C, f, g
4
4
1
300
F
D
4
1
1
150
G
B
7
3
2
200
3.7 Un fabricante tiene la capacidad de producir carros de
ferrocarril en tres lugares distintos. Los carros son enviados
directamente a uno de los cuatro centros regionales de distribución. El costo de producción en cada lugar se muestra
en la tabla 3.17.
Tabla 3.17
b) Si los tiempos de actividad son independientes y normalmente distribuidos, ¿cuál es la probabilidad que la auditoría se complete en 22 días o menos?, ¿qué valor tiene
esta información para el socio de la firma?
c) ¿Qué se puede decir de la actividad 30-60 como se establece en la ruta crítica?
Tiempo
Planta
Costo de ordenar
1
20 000
2
15 000
3
12 000
Los costos de distribución por unidad, capacidades de planta y demandas en los centros están dadas por:
Tabla 3.18
Planta
(i )
Centros de distribución ( j )
I
II
III
IV
Capacidad
(Ci )
Costo
(Si )
1
750
1 000
800
900
55
20 000
2
650
950
1 250
500
50
15 500
3
800
525
675
775 (Gij )
30
12 000
Demanda (Dj )
20
15
30
35
Problemas para resolver con tecnología
Grupo Editorial Patria©
Determinar cómo modelar la producción como un problema
de programación entera. Para ello, asúmase que los costos de
producción por unidad, excluyendo los cargos por ordenar,
son los mismos en todas las plantas.
rentar máximo dos aviones por horario. La contribución de
ganancia esperada antes del costo por renta, se muestra en
la tabla 3.21. Formular un modelo para maximizar las ganancias.
3.8 Un estudiante de administración tiene la oportunidad
de tomar una página de notas (una hoja de papel de 8 1/2”
× 11” o 93.5” cuadradas) para el examen final. El examen
comprende 10 capítulos y sabe cuánto espacio requiere
para cada uno. La condensación posterior va a rendir el significado de las notas. El peso relativo de cada capítulo también se conoce.
Tabla 3.21 Contribución de ganancia esperada (miles)
Tabla 3.19
Capítulo ( i )
Espacio requerido
(IN’) (II)
% de examen (Ri )
1
10
5
2
18
10
3
22
15
4
16
10
5
14
10
6
20
5
7
32
20
8
12
5
9
12
15
10
10
5
8
10
12
Columbus
8
4
4
Denver
8
7
8
Los Ángeles
11
10.5
9.5
Nueva York
17
16
15
3.11 Fundición Watkinsville es una compañía que hoy día
enfrenta la siguiente situación: tiene tres alternativas para
ubicar un nuevo almacén para proveer a la parte del noreste de Estados Unidos de América. Tiene cinco clientes importantes en la región; el suministro pertinente, demanda y
costo se muestran en la tabla 3.22 (si se añade una columna
ficticia a la tabla, será posible escribir en la tabla de transporte estándar).
Tabla 3.22
Localización Costo de
del almacén localización
El estudiante no se siente seguro con el material de los capítulos 2, 3, 7, 8 y 9, por lo que considera que debe tener notas
de al menos tres de los cinco capítulos. También las notas del
capítulo 5 no son valiosas, a menos que el capítulo 4 sea incluido. Determinar cuáles notas deben ser incluidas.
3.9 La empresa Top-e fabrica escritorios en dos plantas que
deben proveer a tres almacenes regionales. El proveedor en
cada fábrica, la demanda y las distancias se muestran en la
tabla 3.20.
Tabla 3.20
Fábrica ( i )
Horario
Ciudad
Albany, Nueva
York
$50 000
200
$20
$20
$40
$45
$35
Lancaster,
Filadelfia
$30 000
150
30
40
15
20
45
Nueva York,
Nueva York
$90 000
300
5
25
30
35
35
75
50
35
75
35
Demanda estimada
Tabla 3.23
Localización de clientes
Almacén
Nueva
Boston Filadelfia Pittsburgh Búfalo Ficticia Capacidad
York
$50000
Albany
$20
$20
$40
$45
$35
0
200
$30000
Lancaster
30
40
15
20
45
0
150
$90000
Nueva
York
5
25
30
35
35
0
300
Demanda estimada
75
50
35
75
35
380
650
Costo
Almacén ( j )
Oferta
York
Westhaven
Troy
Capacidad (Ci )
Denmark
100 000
200 000
300 000
35
Mount Joy
350 000
60 000
100 000
30
Demanda (dj )
20
15
30
La renta de los camiones para transportar estos escritorios
cuesta 1.00 p/milla, cargo que es independiente del número de escritorios a transportar. Determinar el plan de trans­
porte.
3.10 Alpha Airlines desea programar no más de un vuelo de
Chicago a cada una de las siguientes ciudades: Columbus,
Denver, Los Ángeles y Nueva York. Los horarios disponibles
son 8:00 a.m., 10:00 a.m. y 12:00 p.m. Alpha renta los aviones a un costo de 3 000 dólares antes, e incluso hasta las
10:00 a.m., y en 1 500 dólares después de las 10:00 a.m.;
de acuerdo con las condiciones de su flotilla, es capaz de
Problemas aplicados a la realidad
Capacidad
Nueva
del
Boston Filadelfia Pittsburgh Búfalo
York
almacén
3.12 Los distribuidores de una importante marca deportiva
han comenzado operaciones de venta en dos nuevos territorios que se ubican en los estados del oeste. En la actualidad,
tres administradores de ventas tienen operaciones en los
estados del medio oeste y del este; por tanto, están siendo
considerados para ser promovidos a ocupar puestos de gerentes regionales para los dos nuevos territorios. La administración ha estimado las ventas totales anuales (en miles de
dólares) para la asignación de cada individuo a cada territorio de venta. Las proyecciones de ventas se pueden apreciar
en la tabla 3.24.
Problemas para resolver con tecnología
101
UNIDAD
3 Problemas para resolver
Tabla 3.24
Administradores
regionales
Regiones en venta
noreste $
Regiones en venta
suroeste $
Administrador 1
100
95
Administrador 2
85
80
Administrador 3
90
75
El fabricante obtiene una utilidad de 3.00, 5.00 y 2.00
dólares, respectivamente en cada tostador, wafflera y plato.
El fabricante quiere determinar cuántos productos deberá
producir para maximizar su utilidad.
a) Formular el problema como un modelo de programación
lineal.
b) Resolver el problema en la computadora.
a) ¿A qué administrador de ventas se le asignará la venta de
cada territorio de tal forma que se maximicen las ventas
totales?
b) Formular y resolver un modelo de programación lineal
para este problema.
3.13 Una firma de transporte desea comprar una flota de
camiones. La compañía puede comprar tres tipos de camiones. El primer tipo cuesta 60 000 dólares cada uno y será
usado para acarrear gasolina; el segundo tipo cuesta 19 500
dólares cada uno y será usado para transportar mobiliario
familiar; y el tercer tipo cuesta 45 000 dólares y será usado
para transportar corrosivos químicos.
La firma tiene solo 300 000 dólares disponibles para
comprar los nuevos camiones. Experiencias en trabajos de
mantenimiento indican que el propio mantenimiento de la
firma tiene capacidad para dar mantenimiento adecuado a
una flota de 20 camiones del tipo dos. Un camión del tipo
1 requiere 1.5 veces más mantenimiento que el del tipo 2,
y el camión del tipo 3 requiere 2.8 veces más trabajo que el
camión del tipo 2.
Debido a las limitaciones de disponibilidad de los trabajos 1 y 3, la firma no puede usar más de tres camiones del
tipo 1 y dos del tipo 3. Aun así, la firma requiere al menos un
camión de cada tipo.
c) Evaluar los resultados.
3.15 El taller de prensa de una compañía de manufactura
tiene que cortar piezas de una hoja de metal de tamaño estándar, la cual tiene dimensiones de 100 × 200 × 0.1 cm. Las
dimensiones y cantidades de cada pieza a ser cortada de
las hojas de tamaño estándar se observan en la tabla 3.25.
Tabla 3.25
Pieza
Dimensiones (cm)
Cantidad requerida
A
95 × 25 × 0.1
2 500
B
40 × 45 × 0.1
1 200
C
40 × 75 × 0.1
800
a) Encontrar cuatro diseños de alternativas de corte de las
hojas de metal estándar con el menor recorte posible.
b) Si se asume que no aparecen irregularidades en el borde
de las hojas, ¿cuántas piezas de hojas de metal de tamaño estándar serían necesarias para producir las piezas
requeridas A, B y C con el mínimo recorte requerido?
c) Formular el problema como un modelo de programación
lineal.
d) Resolver el problema en la computadora.
e) Evaluarlos resultados.
La ganancia anual que puede lograr un camión del tipo 1
es de 2 500 dólares, la de un camión del tipo 2 es de 10 000
dólares y la de uno del tipo tres es de 2 000 dólares. ¿Cuántos camiones de cada tipo deben ser comprados para que
la firma pueda maximizar su ganancia anual?
Alternativa 1
a) Formular el problema como un modelo de programación
lineal.
Alternativa 2
A
A
C
C
B
A
A
C
C
B
A
A
A
A
b) Resolver el problema en la computadora.
c) Evaluar los resultados.
Alternativa 3
3.14 Una PYME del norte del país produce tostadores,
waffleras y platos. Durante el mes de febrero tiene disponible la siguiente materia prima: 1 500 pies de cable de
tungsteno, 1 000 pies cuadrados de hojas de metal y 200 lbs
de plástico bakelita. Un tostador requiere de tres pies de
cable de tungsteno, dos pies cuadrados de hoja metálica y
0.2 lbs de plástico. Una wafflera requiere una libra de plástico. El plato utiliza 2 pies de cable de tungsteno, 1 pie cuadrado de hoja metálica y 0.1 lbs de plástico.
Un pronóstico de mercado predice que al menos 75
waffleras, no más, pueden ser vendidas durante el mes.
102
Problemas aplicados a la realidad
Alternativa 4
B
B
B
B
B
A
A
B
B
B
B
B
A
A
C
C
B
Figura 3.10 Alternativas de corte.
3.16 El taller de prensa de una compañía manufacturera tiene que cortar rollos de una hoja de metal en rollo estándar.
El ancho de los rollos estándar es 50 cm, pero el cliente lo
requiere más pequeño, rollos no estándar de anchos 10, 15
y 20 cm, en total 200, 150 y 75 rollos, respectivamente.
Problemas para resolver con tecnología
Grupo Editorial Patria©
a) Encontrar ocho diseños de alternativas de corte para producir los rollos requeridos.
b) ¿Cuántos rollos de hoja metálica de tamaño estándar serán necesarios para minimizar el recorte perdido?
Tabla 3.28
Operadoras en unidad
Mínimo
Máximo
Mínimo
Máximo
1
10
3
7
5
9
2
15
3
8
9
14
3
20
6
11
8
14
d) Resolver el problema en la computadora.
e) Evaluarlos resultados.
a) Elaborar la red que represente este problema.
Tabla 3.26 Diseños de alternativas de corte
1
2
3
4
5
6
7
8
10 cm
5
2
1
3
0
1
0
3
15 cm
0
2
0
0
3
1
2
1
20 cm
0
0
2
1
0
1
1
0
Usado
50
50
50
50
45
45
50
45
Total
50
50
50
50
50
50
50
50
Pérdida
0
0
0
0
5
5
0
5
b) Usando programación lineal, encontrar el mínimo número de operadoras necesarias para ld y da.
da
3.17 El departamento de planeación y control de producción de una planta manufacturera tiene la tarea de programar la producción para los siguientes dos periodos. Los datos requeridos para la programación se aprecian en la tabla
3.27. Todos los productos producidos en el nivel de pronóstico son vendidos sin mantenerlos en inventario. Por tanto,
no hay inventario inicial.
Tabla 3.27
Tiempo
i
ii
A
750
B
250
Costo de producción
Regular
Extra
Regular
Extra
1 500
1.0
1.0
30
45
600
1.5
1.5
20
30
Capacidad de la planta por periodo (horas laboradas)
Tiempo regular: 1 800 horas.
Tiempo extra:
750 horas.
a) Formular el problema como un modelo de programación
lineal.
b) Resolver el problema en la computadora.
c) Evaluar los resultados.
3.18 Considérese el problema de programación de operadoras telefónicas de una compañía de telefonía local. Para
ello, cabe apuntar que hay dos clases de operadoras: asistencia local (da) y larga distancia (ld). La compañía opera con
tres turnos rotativos, asignando un número de operadoras
para cada unidad de operación en cada cambio. La mayor
restricción requiere que las unidades de operación tengan
al menos 24 horas. La compañía debe determinar una programación de operadoras para cubrir adecuadamente cada
turno.
Problemas aplicados a la realidad
da1(3-7)
1
da2(3-8)
14
Inicio
Producto
ld
Mínimo de
operadoras
c) Formular el problema como un modelo de programación
lineal.
Periodo
da
Turno
10
da3(6-11)
I
2
23
15
F
Fin
ld1(5-9)
ld
ld2(9-14)
ld3(8-14)
20
3
Figura 3.11 Red que representa el problema de operadoras.
3.19 Considérese que en el mes de diciembre proveyeron
a una planta siderúrgica material de tres minas diferentes,
lo mínimo necesario que cada mina le debe de suministrar
a cada planta son 2 500 ton la mina 1, 4 000 ton la mina 2 y
3 500 ton la mina 3. El tiempo que se tarda un camión en ir
a la mina 1 y traer material a la planta son 2 h, a la mina 2, 3 h
y a la mina 3, 1 h. El horario de trabajo de la planta es de 5
a 18 h; de la mina 1, de 6 a 16 horas; de la mina 2, de 8 a 18
horas, y de la mina 3, de 9 a 15 horas.
Los tipos de camiones utilizados para transportar el material pueden ser tres: el tipo a de 4 ton, el b de 8 ton y el c
de 15 toneladas.
Considerando que solo se puede hacer un viaje completo a cada mina, ¿cuánto es el mínimo de camiones que se
pueden usar para transportar el material a la planta?
3.20 La compañía de comida rápida Comer a mordidas
opera las 24 h del día. Esta empresa emplea a varios individuos; cada empleado trabaja ocho horas consecutivas por
día. Debido a que la demanda varía durante todo el día,
también varía el número de empleados; con base en una
experiencia anterior, la compañía ha proyectado como requisito mínimo de labores, periodos de cuatro horas durante
el día.
Formular un modelo de portafolio que indique el número
mínimo de empleados que serán requeridos para apoyar las
24 horas de operaciones.
Problemas para resolver con tecnología
103
UNIDAD
3 Problemas para resolver
Tabla 3.29
Tabla 3.31
Horario
Mínimo de empleados
requeridos
Consumidor
12:00 a.m. a 4:00 a.m.
3
A
4:00 a.m. a 8:00 a.m.
5
8:00 a.m. a 12:00 p.m.
10
12:00 p.m. a 4:00 p.m.
6
4:00 p.m. a 8:00 p.m.
10
Embarque costo
por unidad
ordenadas
de la planta 1
de la planta 2
500
$1.50
$4.00
B
300
$2.00
$3.00
C
1 000
$3.00
$2.50
D
200
$3.50
$2.00
8:00 p.m. a 12:00 a.m.
8
Cada unidad de ambos productos puede ser ensamblada y
maquinada; ese costo, además de las capacidades de cada
planta, se muestra en la tabla 3.32.
3.21 El departamento del área de alta dirección de una
importante universidad se halla en el proceso de selección de un nuevo decano. El director de la facultad quiere formar un comité de cuatro hombres para trabajar durante el verano en la selección. Para esta encomienda, a
cada miembro del comité se le pagará un sueldo durante
el verano de 10% de su sueldo anual. De cada departamento se nombró a un profesor para servir en el comité. Los profesores, sus departamentos y sueldo anual se
muestran en la tabla 3.30. El director de la facultad quiere
seleccionar un comité que minimice el costo, sujeto a las
restricciones siguientes:
a)Que esté integrada por cuatro miembros.
b)Un promedio de por lo menos cinco años de servicio.
Tabla 3.32
Hora / unidad
Costo / hora
Horas disponibles
Maquinado
0.1
$4.00
120
Ensamblado
0.2
$3.00
260
Maquinado
0.11
$4.00
140
Ensamblado
0.22
$3.00
250
Planta número1
Planta número 2
3.23 CSL es una cadena de compañías de mantenimiento
de computadoras. El número de horas de reparación que
CSL requiere durante los próximos cinco meses es el siguiente:
c)Un trabajo total del comité de tiempo de 100 horas.
Tabla 3.33
d)Un mínimo de un miembro del comité de cada línea.
Mes
Horas
e)Los profesores de administración y ciencia administrativa nunca están de acuerdo con nada, entonces
no deben estar en el comité.
Enero
6 000
Febrero
7 000
Marzo
8 000
Abril
9 500
Mayo
11 000
Tabla 3.30
Nombre
Salario
Departamento
Línea
Años
Horas
válidas
Kools
$25 000
Administración
Profesores
10
30
Long
$20 000
Contabilidad
Asistentes
2
35
Boatright
$30 000
Mercadotecnia
Profesores
15
40
Cooper
$15 000
Seguridad
Asociados
10
30
Nesmith
$20 000
Bienes raíces
Asistentes
4
15
Rainey
$15 000
Finanzas
Asistentes
3
10
Rubin
$20 000
Ciencias
administración
Asociados
6
20
Earey
$25 000
Economía
Profesores
20
40
3.22 Considérese una compañía que tiene dos plantas. Esta
ha recibido órdenes de cuatro consumidores, el número de
unidades ordenadas por cada consumidor y el costo de embarque de cada planta se muestran en la tabla 3.31.
104
Unidades
Problemas aplicados a la realidad
A principios de enero trabajaron 50 técnicos especializados
para CSL. Para los fines que nos ocupan aquí, es importante resaltar que cada técnico especializado trabaja 160 horas
por mes. Así, conociendo la demanda futura es pertinente
capacitar a nuevos técnicos. Durante el mes de capacitación, el técnico debe ser supervisado durante 50 horas por
un técnico especializado. A cada técnico con experiencia se
le pagan 2 000 dólares por mes (aun si no trabaja las 160 horas completas). Durante el mes de capacitación, al aprendiz
se le pagan 1 000 dólares mensuales. Al final de cada mes,
5% de los técnicos con experiencia de CSL abandonaron el
empleo para unirse a Plum Computers.
Formular un modelo que minimice el costo de labor incurrido, conociendo el mantenimiento requerido para los
próximos cinco meses.
3.24 Supóngase que n número de plantas productivas
(i = 1 ... n) de una compañía envía su producto (un solo tipo
de producto) a r número de clientes (k = 1 ... r ) directamente
Problemas para resolver con tecnología
Grupo Editorial Patria©
y/o a través de m número de almacenes de distribución
( j = 1 ... m) localizados en diferentes partes del país. Este
sistema de producción y distribución se representa en la tabla 3.34.
Dj
Bk
Pi
Tabla 3.34 Sistema de producción y distribución
Plantas
Distribuidores
Clientes
(i = 1 ... n)
(j = 1 ... m)
(k = 1 ... r)
j=1
k=1
i=1
j=2
k=2
i=n
j=m
k=r
Cada planta tiene una capacidad de producción mensual
de ni unidades. Cada distribuidor tiene una capacidad de
almacenamiento y distribución mensual de mj unidades,
mientras que cada cliente tiene una demanda mensual de
rk unidades.
Determinar la manera de distribuir el producto a los clientes de tal manera que se minimice el costo de distribución.
3.25 La empresa Cementos Mexicanos ahora enfrenta el
problema de distribuir cemento de tres plantas a cinco distribuidores.
Figura 3.12 Modelo de transbordo.
Determinar su solución óptima.
3.26 Planeación de fuerza de trabajo.
El departamento de servicio de Teléfonos de México requiere un número mínimo de técnicos de tiempo completo durante los distintos días de la semana de acuerdo con la tabla
3.37.
Tabla 3.37
Tabla 3.35
Día
Número mínimo
de empleados
1 = Lunes
17
5000
2 = Martes
13
3
3000
3 = Miércoles
15
4
4000
4 = Jueves
19
5
4000
5 = Viernes
14
6 = Sábado
16
7 = Domingo
10
Planta
Producción
(Ton)
Distribuidor
Demanda
(Ton)
1
7 000
1
1000
2
10000
2
3
3000
Además, su logística está estructurada de manera que la
distribución del producto debe hacerse a través de cuatro
bodegas, de acuerdo con el siguiente esquema:
Plantas: 1 = Monterrey, 2 = México, 3 = Guadalajara
Bodegas: 1 = Oaxaca, 2 = Baja California, 3 = Tampico,
4 = Guadalajara
Cada técnico de tiempo completo puede trabajar un día
extra adicional y ese día puede ser el inmediato siguiente
del final de sus cinco días de trabajo. Adicionalmente, su
compensación debe cambiar.
Distribuidores: 1 = Yucatán, 2 = Guerrero, 3 = Hermosillo,
4 = Sinaloa.
Tabla 3.36 Costos de transporte ($por ton)
Bodegas
Distribuidores
Planta
OAX
BC
TAM
GUA
Bodega
YUC
GUE
HER
SIN
OAX
MTY
2
3
4
5
OAX
2
3
4
4
0
MEX
5
3
4
5
BC
2
1
3
5
25
GUAD
10
X
X
0
TAM
2
4
1
5
15
GUA
X
3
6
2
10
Problemas aplicados a la realidad
Las normas que se pactaron con el sindicato exigen que
cada trabajador deba laborar cinco días consecutivos y luego descansar dos, con la restricción de que cada técnico de
tiempo completo trabaja ocho horas diarias.
El sindicato permite a Teléfonos de México la contratación de técnicos de medio turno que trabajen cuatro horas
diarias, pero con el mismo requisito de que trabajen cinco
días seguidos y descansen dos. Estos técnicos no pueden
trabajar días extra.
El costo de un técnico de tiempo completo es de 15 pesos
por hora en horario normal, y en caso de trabajar un día extra,
el costo por hora es de 20 pesos. El costo de un técnico de
Problemas para resolver con tecnología
105
UNIDAD
3 Problemas para resolver
medio tiempo es de 10 pesos debido a la reducción en prestaciones obligatorias.
El sindicato restringe la cantidad de contratos de medio
tiempo a un máximo de 25% del total de trabajadores
de tiempo completo.
El departamento de relaciones industriales le pide que le
ayude a desarrollar un modelo que le permita hacer la planeación de requerimientos de personal y ser más eficientes
en su toma de decisiones cuando cambien los requisitos de
servicio técnico, contratos laborales, sueldos de personal,
etcétera.
Encontrar la solución óptima del problema planteado.
3.27 Industria del Álcali, S.A. de C.V. planea la construcción de otra planta de producción, con el fin de contar con una mayor oferta de sus productos y un mejor
sistema de distribución. En la actualidad, la empresa tiene una planta en Monterrey, con capacidad de 30 000
toneladas mensuales de bicarbonato de sodio. Debido
al incremento en la demanda, la empresa está considerando cuatro nuevas localizaciones.
Costo construcción
(miles $)
Capacidad mensual
(toneladas)
Guadalajara
475 000
10 000
México
600 000
20 000
Querétaro
575 000
30 000
Veracruz
700 000
40 000
Localización
La tabla 3.39 suma los gastos de transporte por tonelada (en $) de cada planta hacia los distintos clientes,
la demanda mensual correspondiente y la utilidad por
tonelada de vendérsela a cada cliente.
Tabla 3.39
Planta
Vidriera
Toluca
Vidriera
México
Vidriera
Querétaro
Vidriera
Guadalajara
Guadalajara
.6
.5
.9
.2
.9
México
.4
.2
.8
.5
.15
Vidriera
Monterrey
Querétaro
.9
.8
.2
.7
.14
Veracruz
.10
.6
.7
.9
.12
Monterrey
.18
.16
.14
.12
.2
Utilidad por
tonelada
10
15
30
18
5
15
16
13
35
11
Se pide:
Plantear un modelo que determine:
•¿Cuáles plantas deberán construirse?
•¿Cuál será la capacidad que se utilizará de cada una?
106
•¿Qué volumen se surtirá a cada cliente?
Alerta
Se pide prorratear el costo de construcción en cinco años.
3.28 En el condado de Kilroy hay seis ciudades, por tanto
las autoridades del condado deben determinar dónde deben construirse las estaciones de bomberos. La administración busca construir un número mínimo de estaciones de
bomberos, asegurando que al menos una estación esté a
15 min (tiempo de manejo) de cada ciudad. El tiempo en
minutos requerido para manejar en Kilroy se muestra en la
tabla 3.40. Formular una función que indique al condado de
Kilroy cuántas estaciones de bomberos deben construirse y
dónde deben ubicarse.
Tabla 3.40
De/A
Tabla 3.38
Demanda
mensual
máxima
(miles de
toneladas)
•¿Qué clientes surtirán cada planta?
Problemas aplicados a la realidad
Ciudad 1
Ciudad 2
Ciudad 3
Ciudad 4
Ciudad 5
Ciudad 6
Ciudad 1
0
10
20
30
30
20
Ciudad 2
10
0
25
35
20
10
Ciudad 3
20
25
0
15
30
20
Ciudad 4
30
35
15
0
15
25
Ciudad 5
30
20
30
15
0
14
Ciudad 6
20
10
20
25
14
0
3.29 La siguiente información fue recolectada en un taller
de impresión con la finalidad de programar varios trabajos a
lo largo de una semana. El primer paso fue identificar en las
órdenes de trabajo, los requerimientos de cada caso individual, dependiendo de su tipo. Cada combinación de características de la orden de trabajo, constituye específicamente
un tipo de orden. La lista de los tipos de órdenes es muy
larga. Para la semana, a planear su programación contiene
69 trabajos, los cuales consisten en cinco tipos de órdenes,
tal como se muestra en la tabla 3.41.
Tabla 3.41 Tipo de trabajo requerido durante un
programa semanal
Tipo de trabajo
Requerimiento semanal
1
6 lotes (10 000/lote)
2
12
3
14
4
15
5
22
Total
69
El siguiente paso del taller de impresión fue la determinación de la disponibilidad de máquinas en horas por semana
por cada impresora. Esta información es dada en la tabla
3.42. Nótese que el taller de impresión opera en una semana de cuatro días con nueve horas el turno por día.
Problemas para resolver con tecnología
Grupo Editorial Patria©
Tabla 3.42 Disponibilidad de máquina
Tabla 3.45
Tipo de máquina
Número a mano
Descripción
Disponibilidad
(hr/WK)
1
1
1 color 25” prensa
72
2
1
4 color 17” prensa
72
3
2
2 color 15” prensa
72/ máquina
Por último, cada trabajo fue evaluado en cada máquina para
determinar la información de rendimiento en horas-máquina
requeridas por cada tipo de trabajo; dicha información se
observa en la tabla 3.43, ajustes que se han realizado por
los criterios de rendimiento, a fin de dejar el mantenimiento
normal y esperar el tiempo.
Tabla 3.43 Trabajos y horas máquina requeridas por cada tipo de trabajo (10 000/lote)
Tipo de
trabajo
Requerimiento
de trabajo para la
próxima semana
Máquina tipo 1
(horas
requeridas)
Máquina tipo 2
(horas
requeridas)
Máquina tipo 3
(horas
requeridas)
1
6 lotes
8 por lote
12 por lote
25 por lote
2
12
18
16
16
3
14
12
8
18
4
15
15
12
7
5
22
8
5
13
3.30 El gerente de operaciones de un banco tiene bajo su
resguardo cinco lectoras, que debe asignar a los servicios de
verificación a clientes en cuentas, cambios de monedas, notas y ahorros. Tres lectoras no están capacitadas para el cambio de moneda y una no puede manejar notas. Un estudio
de muestreo del trabajo se muestra en la siguiente tabla.
Tabla 3.44
Clientes atendidos
por hora
Cheques
Cambio
Notas
Ahorro
Lectora 1
60
X
30
50
Lectora 2
70
60
40
50
Lectora 3
30
X
10
30
Lectora 4
40
X
X
60
Lectora 5
40
70
50
80
Supóngase que el gerente desea atender tantos clientes
como sea posible, ¿qué asignaciones deben hacerse? La
lectora extra será asignada a tareas de procesamiento de
datos.
3.31 Mary Perkins es la directora de un almacén de comida,
el más importante negocio de comida rápida de Seattle. En
la actualidad, ella desarrolla un programa semanal de turnos
para los empleados de mostrador, luego del cual concluyó
que a diario necesita turnos para los dependientes (véase
tabla 3.45).
Problemas aplicados a la realidad
Turnos
Lunes Martes Miércoles Jueves Viernes Sábado Domingo Total
Matutino
6
5
5
6
8
10
6
46
Vespertino
5
4
4
5
6
7
4
35
Para la programación de los turnos solo se requiere considerar un esquema de cinco días consecutivos y ocho horas
por día de trabajo, en el que solo se incluya empleados de
tiempo completo.
a) ¿Cuál es el mínimo número de dependientes requerido
para ambos turnos?
b) ¿Cuál es el total de dependientes en cada turno?
3.32 La Gran Plaza es un próspero negocio que funciona
como ahorro y préstamo en Glendale, California, facilitando
ahorros, cuentas corrientes, pago de facturas y otros servicios monetarios. El cajero trabaja de 9:00 a.m. a 6:00 p.m.
de lunes a sábado.
La señora Billie Davies dirige la sección de cajeros y una
parte de su responsabilidad implica desarrollar un programa
de turnos para los cajeros. Ella mantiene un registro exacto de
la demanda de los clientes y ha estimado un número de cajeros para los turnos requeridos diariamente.
Tabla 3.46
Cajeros
en
turno
Lunes
Martes
Miércoles
Jueves
Viernes
Sábado
Total
8
6
4
5
8
10
41
Todos los cajeros son empleados de tiempo completo. De
acuerdo con la política de la compañía, deben trabajar cuatro días consecutivos y dos días seguidos de descanso por
semana.
¿Cuál es el número mínimo de cajeros requeridos?
3.33 The Special Motors Corporation (smc) se especializa en
la producción de un solo tipo de carro. En la actualidad, smc
cuenta con cinco plantas que manufacturan y ensamblan los
carros y los distribuyen a seis almacenes regionales (por subsecuente distribución a negociadores individuales).
La administración de smc estima que cerrar una o más
plantas reduciría el costo fijo de operaciones con un mayor beneficio, comparado con el resultado en el incremento
del costo de transportación de las otras plantas hacia los
almacenes. La empresa ha formado un equipo con varias
personas de la empresa. El líder del equipo ha colectado información que se visualiza en la tabla 3.47; en esta se puede
observar que la planta 2 tiene una capacidad de producción
anual de 24 mil carros y un costo fijo de operación anual de
140 mil dólares, que el almacén cinco requiere 7 mil carros
por año y que el costo de transportación de la planta 2 al
almacén 5 es de 20 mil dólares por cada mil carros.
Problemas para resolver con tecnología
107
3 Problemas para resolver
UNIDAD
Tabla 3.47
Costos de transporte ($000) al almacén
Capacidad Costos fijos
anual de operativos
producción anuales
Planta
1
2
3
4
5
6
(000
carros)
($000)
1
67
16
27
65
46
112
18
306
2
58
78
39
4
20
48
24
140
3
17
96
57
20
38
32
27
200
4
15
54
22
42
27
93
22
164
5
37
66
28
20
12
72
31
88
Demanda
(000 carros)
10
8
12
6
7
11
El número total de unidades producidas en tiempo normal y extra en el mes 3 más cualquier exceso de producción
del mes 2 debe ser al menos de 3 400. El número total de
unidades producidas en tiempo normal y extra en el mes 4
más cualquier exceso de producción del mes 3 debe ser al
menos de 2 800.
El número total de unidades producidas en tiempo regular en los meses 1, 2, 3 y 4 no deber exceder 2 400.
3.34 Considérese una compañía especializada en recomendar acciones de petróleo para clientes grandes. Un cliente
de dicha empresa ha hecho las siguientes especificaciones:
1) al menos dos compañías de petróleo de Texas deben estar en el portafolio, 2) no se puede hacer más de una inversión en una compañía de petróleo internacional, y 3) una de
las dos acciones de California Petróleo debe ser comprada.
El cliente tiene hasta 3 millones de dólares disponibles
para inversiones e insiste en comprar exactamente 10 000
acciones de cada compañía que invierta aquí. La tabla 3.48
describe varias acciones que la empresa está considerando.
El objetivo es maximizar la utilidad anual de la inversión sujeta a las restricciones mencionadas. Formular el problema a
través de un modelo de redes.
Tabla 3.48
El número total de unidades producidas en tiempo extra
en los meses 1, 2, 3 y 4 no deber exceder 800. Formular el
problema a través de un modelo de redes y encontrar la
solución óptima.
3.36 Programación de trabajo. Considérese un restaurante
que opera los siete días de la semana, donde los meseros
son contratados para trabajar seis horas diarias. Los contratos especifican que cada mesero debe trabajar cinco días
consecutivos y descansar dos. Cada mesero recibe el mismo
salario semanalmente. Los requerimientos de personal se
muestran en la tabla 3.49.
Tabla 3.49
Días de la semana
Requerimiento mínimo de personal
(horas)
Surtido
Nombre de la
compañía
Utilidad anual
(en 1 000 dólares)
Costo por bloque
(en 1 000 dólares)
Lunes
150
Martes
200
1
Trans-Texas Oil
50
480
Miércoles
400
2
British Petroleum
80
540
Jueves
300
3
Dutch Shell
90
680
Viernes
700
4
Houston Drilling
120
1 000
Sábado
800
5
Texas Petroleum
110
700
Domingo
300
6
San Diego Oil
40
510
7
California Petro
75
900
3.35 La compañía Odessa fabrica un producto que tiene
una demanda variable. Para los próximos cuatro meses,
la demanda de este producto es de 1 800, 2 200, 3 400 y
2 800, respectivamente. Por tanto, en muchas ocasiones hay
un exceso de producción, lo que provoca un gran costo de
inventario, por lo que muchas veces no puede satisfacer la
demanda. La compañía puede producir 2 400 artículos al
mes trabajando solo en horario normal, mientras que en
tiempo extra puede producir 800 más; pero, cada uno de
los artículos producidos en tiempo extra cuesta 7 dólares. Se
estimó un costo de almacenamiento de 3 dólares al mes por
cada artículo que se produce en ese tiempo y no se vende
en ese mismo periodo. Odessa desea determinar un horario
108
óptimo de producción que pueda minimizar los costos de
producción y de almacenamiento, a fin de cumplir todas las
demandas de ventas. El número total de unidades producidas en tiempo normal y extra en el mes 1 debe ser al menos
de 1 800. El número total de unidades producidas en tiempo
normal y extra en el segundo mes más cualquier exceso de
producción del mes 1 debe ser al menos de 2 200.
Problemas aplicados a la realidad
Considérese que este ciclo de requerimientos se repite indefinidamente. En este caso, el gerente del restaurante desea encontrar la programación de horarios de empleados
que satisfaga los requerimientos a un mínimo costo.
3.37 Una compañía tiene dos plantas y tres almacenes. La
planta 1 puede ofertar como máximo 100 unidades, mientras que la segunda oferta 200 unidades del mismo producto. Por su parte, el potencial de ventas en el almacén 1 es de
150, de 200 en el 2 y de 350 en el 3. Otro dato importante
es que el ingreso por ventas por unidad en los tres almacenes es de12 en el primero, de 14 en el segundo y de 15 en el
tercero. El costo de manufactura en la planta i y embarcar en
el almacén j es dado en la tabla 3.50. La compañía desea determinar cuántas unidades deben ser embarcadas de cada
planta para cada almacén para maximizar la utilidad.
Problemas para resolver con tecnología
Grupo Editorial Patria©
Tabla 3.50
Costo de manufactura
Almacén
1
2
8
10
7
9
Planta
1
2
3
12
11
3.38 Considérese a un coordinador de programación de la
pequeña, pero creciente, línea aérea TS, quien debe programar con exactitud los vuelos de Chicago a las siguientes
ciudades: Atlanta, Los Ángeles, Nueva York y Peoria. Las salidas disponibles son 8 a.m., 10 a.m. y 12 p.m. Es importante
destacar que TS solo tiene dos salas, por tanto, solo pueden
ser programados dos vuelos, como máximo, por sala. La demanda sugiere que la utilidad esperada por vuelo es una
función de tiempo de salida que se muestra en la tabla 3.51.
Formule un modelo para resolver el problema.
Peoria
Utilidad de contribución esperada (miles)
8
10
10
9
11
10.5
17
16
6.4
2.5
De
Nueva Orleans
Omaha
New York
$2
3
A
Chicago
3
1
Los Ángeles
5
4
3.41 Arlington Bank of Commerce and Industry tiene requerimiento de entre 10 y 18 clientes dependiendo del horario.
El tiempo de descanso, después de las 2 p.m., usualmente
es el más pesado. La tabla 3.54 muestra los requerimientos
de los trabajadores necesarios en las diferentes horas que el
banco está abierto.
12
8.5
9.5
15
-1
3.39 Supóngase que la administración de una empresa tiene las alternativas presentadas en la tabla 3.52, en la cual el
monto se presenta en miles de dólares. La administración
debe seleccionar una o más alternativas. Si los miembros
de la junta de administración deciden expandir la planta en
Bélgica, el valor presente del ingreso neto para la compañía
es de 40 000 dólares. Este proyecto requiere 10 000 dólares
de capital en el primer año, 5 000 dólares en el segundo y
así sucesivamente. La administración anteriormente ha presupuestado hasta 50 000 dólares por todas las inversiones
de capital en el año 1, hasta 45 000 dólares en el año 2, y así
sucesivamente. Formular el problema a través de un modelo
de redes.
Tabla 3.52
Problema de presupuesto de capital de Protac
Valor
Capital requerido en año i
presente
por alternativa j
Alternativa j
neto
Retorno
1
2
3
4
Expandir la planta en
40
10
5
20
10
Bélgica
Expandir la capacidad
de la máquina chica en
70
30
20
10
10
Estados Unidos
Establecer nueva planta
80
10
20
27
20
en Chile
Capital disponible en año i
Bi
50
45
70
40
5
0
10
10
30
3.40 Top Speed Bycicles manufactura y promueve una línea de bicicletas ten-speed a nivel nacional. La compañía
tiene plantas de ensamblaje en dos ciudades, en las cuales
Problemas aplicados a la realidad
Tabla 3.53
Top Speed Bycicles desea desarrollar un programa que minimice el costo total anual de transportación.
Tabla 3.51
Destino
Atlanta
Los Ángeles
Nueva York
el costo de mano de obra es bajo: Nueva Orleans y Omaha.
Ambas ciudades se encuentran cerca de las más grandes
áreas de mercado de Nueva York, Chicago y Los Ángeles.
Los requerimientos de venta para el próximo año en el almacén de Nueva York son 10 000 bicicletas, 8 000 en Chicago y
15 000 en Los Ángeles. No obstante, la capacidad de fabricación en cada localidad es limitada. Nueva Orleans puede
ensamblar y mandar 20 000 bicicletas, mientras que en la
planta de Omaha puede producir 15 000 bicicletas por año.
El costo de embarque de una bicicleta de cada almacén varía (véase tabla 3.53).
Tabla 3.54
Periodo
9 a.m. - 10 a.m.
10 a.m. - 11 a.m.
11 a.m. - 12 p.m.
12 p.m. - 1 p.m.
1 p.m. - 2 p.m.
2 p.m. - 3 p.m.
3 p.m. - 4 p.m.
4 p.m. - 5 p.m.
Número
de clientes esperados
110
12
14
16
18
17
15
10
El banco ahora emplea 12 trabajadores de tiempo completo, pero mucha gente está en lista de trabajadores disponibles de medio tiempo. El trabajador de medio tiempo debe
trabajar exactamente 4 horas por día, pero puede empezar
a cualquier hora entre 9:00 a.m. y 1:00 p.m. Los trabajadores de medio tiempo son justamente trabajadores sin mucho
costo, debido a que no tienen beneficios de retiro o descanso. Los trabajadores de tiempo completo, por otra parte,
trabajan de 9:00 a.m. a 5:00 p.m., con una hora de descanso.
(La mitad de los trabajadores de tiempo completo comen a
las 11:00 a.m. y la otra mitad a la 1:00 p.m.). Los trabajadores de tiempo completo trabajan 35 horas por semana; sin
embargo, el banco limita que las horas de trabajadores de
tiempo medio a máximo 50% del requerimiento total diario.
Los trabajadores de medio turno ganan 4 dólares por hora
(o 16 dólares por día) en promedio, mientras que los trabajadores de tiempo completo ganan 50 dólares diarios en
salario y beneficios, en promedio. El banco requiere hacer
un programa que minimice el total de costos de personal.
Problemas para resolver con tecnología
109
UNIDAD
3
Aplicación de modelos de redes en la solución de problemas para...
Problema reto
1
Elabore un plan que minimice la distancia total del viaje por paciente a la clínica médica
usando la información de abajo en el proyecto departamental de visitas por paciente y la
distancia entre localizaciones. Asuma una distancia de 35 pies entre el área de recepción y
la localización posible. Use el formato que se muestra abajo. El diagrama es un semicírculo
donde los departamentos están alrededor y la recepción está en el centro del círculo.
Distancia entre consultorios
A
De
A
B
C
D
E
F
A
-
40
80
100
120
160
-
40
60
80
120
-
20
40
80
-
20
40
-
40
B
C
D
E
F
-
Viajes entre departamentos (por día)
A
De
1
2
3
4
5
6
Recepción
Recepción
10
10
200
20
0
100
-
1
-
0
0
80
20
40
10
2
0
-
0
0
0
20
40
3
40
0
-
10
190
10
10
4
30
50
0
-
10
70
0
5
60
40
60
30
-
20
10
6
10
100
0
20
0
-
30
Referencias Bibliográficas
Hillier, F. S., & Lieberman, G. J. (2002).Investigación de operaciones, 7a ed. México: McGrawHill.
Taha, H. (2007). Operations Research: An Introduction, 8th ed. Ed. New Jersey: Pearson,
Prentice Hall.
110
UNIDAD
4
Programación
lineal discreta
Guillermo Jiménez Lozano
Objetivos
Orientar a los estudiantes del área de Investigación de Operaciones en las soluciones
analíticas y con el uso de software.
Destacar la importancia de los diferentes métodos de solución de problemas mediante el
estudio de las formas planteadas en los mismos.
Proporcionar material de estudio que facilite el autoaprendizaje en la Investigación de
Operaciones.
¿Qué sabes?
¿Cómo pueden influir los diferentes métodos de solución de problemas en la Investigación
de Operaciones?
¿Pueden diseñarse modelos específicos para solucionar problemas de asignación?
¿En la programación lineal si se acude a los diferentes métodos de solución de problemas
se facilitarían las aplicaciones?
¿Podrían establecerse métodos únicos de solución de problemas en el transporte?
UNIDAD
4
Programación lineal discreta
4.1 Introducción
Wagner (1950) y Alan S. Manne (1959) se consideran los pioneros de la programación lineal, ya que
tradicionalmente sus modelos se consideran subclases de la programación lineal; aunque, las variables de decisión que aparecen en dichos modelos solo toman valores enteros, por lo que en realidad
deben considerarse como problemas de programación entera. El número de modelos lineales enteros
y sus métodos de solución es en la actualidad bastante extenso, por lo que en la presente unidad se
ha hecho una selección, considerando únicamente aquellos que se cree son más interesantes y que
aparecen con mayor frecuencia en la realidad.
Un aspecto notable de los métodos de solución de estos problemas, que se incluyen dentro de la
clase denominada de modelos combinatorios, es la complejidad computacional. Un enfoque primitivo
de resolución consiste en evaluar cada posible solución, es decir, cada una de las combinaciones de
valores enteros para las variables del problema. En este caso, incluso en un pequeño problema, como
podría ser con 10 variables y 10 valores para cada una, tendría un número grande (10 mil millones) de
posibles soluciones, lo que hace necesario planteamientos de solución inteligentes. Estos se han dirigido por una parte hacia los métodos exactos, es decir aquellos que conducen a una solución óptima
exacta para el problema combinatorio empleando técnicas que reduzcan la búsqueda de soluciones
(caso del método simplex). Y por otra parte se han propuesto un buen número de métodos heurísticos,
sin una base matemática formal, pero que, basados esencialmente en la intuición, conducen a una
solución próxima a la óptima, en una cantidad razonable de tiempo. Más concretamente, lo hacen en
tiempo polinomial, comparados con muchos métodos exactos para problemas combinatorios que se
realizan en tiempo exponencial, lo que provoca que estos últimos sean poco aplicables a problemas
de tamaño grande.
Si se requiere que todas las variables sean enteras, se dice que se trata de programación lineal
entera pura; pero, si se necesita que algunas de las variables de decisión sean números enteros, se
tiene un problema de programación lineal entera mixta.
En algunas aplicaciones solo se permite que todas las variables tomen valores de cero o uno;
en estos casos, se habla de programación lineal entera binaria (digital) o cero-uno; en otro caso, si
se requiere que solo algunas de las variables tomen valores de cero o uno, se tiene un problema de
programación lineal entera binaria mixta.
Para resolver problemas de programación lineal entera se utilizan varios algoritmos entre los que
destacan el algoritmo de Ralph Gomory, o de ramificación y acotamiento, el de enumeración exhaustiva o explícita, el de enumeración implícita, el aditivo de Egon Balas y el de algoritmos heurísticos.
En programación lineal entera pura algunos de los algoritmos de solución que se emplean son:
método de plano de corte, algoritmo fraccional de Gomory, algoritmo entero puro de Gomory, método de ramificación y acotamiento y algoritmo de Land-Doig, entre otros. Para programación lineal
entera binaria algunos de los utilizados son: método de ramificación y acotamiento, método aditivo de
Egon Balas, método lexicográfico, método de Lemke y Spielberg, distancia de Hamming y retículos y
método de Trubin. En programación lineal entera mixta se usan el algoritmo entero mixto de Gomory,
el algoritmo de Land-Doig y método de Benders, entre otros.
4.2 Métodos de solución
❚ Algoritmo fraccional de Gomory
Existen otros, como el algoritmo entero y el algoritmo mixto.
■
Alerta
Luego de encontrar una
solución óptima para
el primal por simplex y
después de agregarle la
primera nueva ecuación al
sistema se pasa a dualsimplex para quitarle la
infactibilidad al sistema.
112
■
■
Paso 1. Resolver el problema primal; si la solución es entera, esta corresponde a la solución
óptima para el problema de programación lineal entera.
Paso 2. Seleccionar variables con soluciones decimales y escoger aquella que tenga la mayor
parte fraccionaria tomando las ecuaciones completas.
Paso 3. Los coeficientes de la ecuación se expresan separando la parte entera y se, retienen
solamente la parte fraccionaria.
Esto genera una nueva restricción que se incluye en el tablero óptimo. A continuación se resuelve el
problema modificado (como se ilustra en el ejemplo).
A partir de los siguientes ejemplos, se mostrará la manera de aplicar el algoritmo fraccional de
Gomory para solucionar un problema de programación lineal entera.
Grupo Editorial Patria©
Problema resuelto
Resolver:
Max Z = 8X1 + 5X2
Sujeto a:
1. X1 + X2 ≤ 6
2. 9X1 + 5X2 ≤ 45
X1, X2 ≥ 0
X1, X2 ∈ Z+
Solución
Estandarización:
1.
X1 +
2.
9X1 + 5X2 + S2 = 45
X2 + S1
3.Z - 8X1 - 5X2
=6
=0
Tabla 4.1 Simplex
CB
0
0
VB
S1
S2
Cj
b
6
45
8
X1
1
9
5
X2
1
5
0
S1
1
0
0
S2
0
1
Z
0
-8
-5
0
0
Variable que entra a la base: X1
Variable que sale de la base: S2
Tabla 4.2
CB
VB
b
X1
X2
S1
S2
0
S1
1
0
4/9
1
8
X1
5
1
5/9
0
- 1/9
1/9
Z
40
0
-5/9
0
8/9
Variable que entra a la base: X2
Variable que sale de la base: S1
Tabla 4.3
CB
VB
b
X1
X2
S1
S2
5
X2
9/4
0
1
9/4
- 1/4
8
X1
15/4
1
0
Z
165/4
0
0
- 5/4
5/4
3/4
1/4
Solución óptima única para el problema primal
X *1 = 15/4; X *2 = 9/4; S *1 = 0; S *2 = 0; Z * = 165/4, pero para el problema de programación lineal entera
no nos sirve la respuesta, ya que las variables de decisión tienen valores fraccionarios. Para resolver
este problema, aplicamos un refinamiento de la programación lineal, el cual corresponde al algoritmo
fraccional de Gomory:
1X1 - 5/4S1 + 1/4S2 = 15/4
(1 + 0)X1 + (- 2 + 3/4)S1 + (0 + 1/4)S2 = (3 + 3/4)
3/4S1 + 1/4S2 = 3/4
Nueva ecuación
3/4S1 + 1/4S2 ≥ 3/4
Nueva restricción
- 3/4S1 - 1/4S2 + S3 = - 3/4
Ecuación a introducir al sistema
113
UNIDAD
4
Programación lineal discreta
A continuación se aplica el dual-simplex, con el objetivo de quitarle la infactibilidad al sistema.
Tabla 4.4 Dual-simplex
CB
VB
b
X1
X2
S1
S2
5
X2
9/4
0
1
9/4
- 1/4
0
8
X1
15/4
1
0
- 5/4
1/4
0
0
S3
- 3/4
165/4
0
0
0
- 3/4
5/4
- 1/4
3/4
1
0
X1
0
1
0
0
X2
1
0
0
0
S1
0
0
1
0
S2
-1
2/3
1/3
1/3
S3
3
- 5/3
- 4/3
5/3
Z
S3
0
Variable que se vuelve no básica: S3
Variable que se vuelve básica: S2
Tabla 4.5 Dual-simplex
CB
5
8
0
VB
X2
X1
S1
Z
b
0
5
1
40
Solución óptima única al problema de programación lineal entera:
X *1 = 5; X *2 = 0; S *1 = 1; S *2 = 0; S *3 = 0; Z * = 40
En el caso de este problema, es necesario fabricar cinco unidades del artículo 1 (X *1 = 5) y 0 unidades
del artículo 2 (esto es, no es necesario fabricar unidades del artículo 2) (X *2 = 0); asimismo, sobró una
unidad de los recursos de la sección 1 (S *1 = 1), se emplearon todos los recursos de la sección 2 (S *2 = 0),
se utilizaron todos los recursos de la sección 3 (S *3 = 0) y la utilidad máxima es de 40 u. m. (Z * = 40).
Problema resuelto
Una empresa que produce bobinas de papel de 500 m de longitud y un metro de ancho ha estimado
que la demanda para el siguiente mes será de 500 bobinas de 20 cm de ancho, 400 bobinas de 30 cm
de ancho, 250 bobinas de 40 cm de ancho y 300 bobinas de 70 cm de ancho (todas las bobinas
son de 500 m de longitud).
Para ello, el fabricante debe cortar las bobinas de un metro de ancho con el tamaño de las peticiones para satisfacer la demanda, pero desea que el desperdicio en el corte sea mínimo en el número de
bobinas que fabrique de un metro, a fin de que el costo de producción también lo sea, si se considera
desperdicio los sobrantes iguales o inferiores a 10 cm.
Solución
Variables:
Xi: Número de bobinas a cortar de 500 m según el patrón i, i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
W : Función de costo del desperdicio en el corte de las bobinas.
Tabla 4.6
Patrones
1
2
3
4
5
6
7
8
9
10
20
5
3
3
1
0
1
0
0
1
2
30
0
0
1
0
1
1
2
3
0
2
40
0
1
0
0
0
1
1
0
2
0
70
0
0
0
1
1
0
0
0
0
0
Modelo (primal):
Min W = X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10
114
Sobrantes (cm)
0
0
10
10
0
10
0
10
0
0
Grupo Editorial Patria©
Sujeto a:
1. 5X1 + 3X2 + 3X3 + X4
2.
X3
+ X6
+
X9 + 2X10 ≥ 500
+ X5 + X6 + 2X7 + 3X8 + 2X10 ≥ 400
+ 2X9
≥ 250
4. X4 + X5
≥ 300
3.
X2
+ X6 +
X7
Xi ≥ 0 ∀i i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Xi ∈ Z+
Para la solución de este problema, se sugiere usar Solver de Excel.
Figura 4.1
Como se puede ver en la figura, en la celda C16: = Suma producto (C5:C14;H5:H14); en la celda
D16: = Suma producto (D5:D14;H5:H14); en la celda E16: = Suma producto (E5:E14;H5:H14); en la celda F16: = Suma producto (F5:F14;H5:H14); en la celda C18 (función objetivo): = Suma (H5:H14).
Como es lógico, las respuestas se encuentran en la figura anterior, y en la siguiente se presentan de
manera desglosada.
Figura 4.2
La solución óptima nos dice que deben cortarse 80 bobinas con la opción de corte 1; 300 bobinas
con la opción de corte 5; 50 bobinas con la opción de corte 7, y 100 bobinas con la opción de corte
9. Así, se satisfacen todas las demandas y el número de bobinas de un metro de ancho es de 530 uni­
dades.
115
UNIDAD
4
Programación lineal discreta
Problema resuelto
Resolver:
Max Z = 3X1 + 2X2
Con las siguientes restricciones:
1. X1 + X2 ≤ 6
X1, X2 ≥ 0
X1, X2 ∈ Z+
Aplicando el programa LINDO:
Figura 4.3
Figura 4.4
Solución
Solución óptima única al problema de programación lineal entera:
X *1 = 6; X *2 = 0; Z * = 18.
En este caso, se deben producir seis unidades del artículo 1 (X *1 = 6); 0 unidades del artículo 2 (esto es,
no se deben producir unidades del artículo 2) (X *2 = 0), y la utilidad máxima es de 18 u. m. (Z * = 18).
Problema resuelto
La empresa Electromex produce dos tipos de televisores de alta definición, denominados HD1 y HD2.
Para construir cada uno de los televisores se emplean tres máquinas. El tiempo que necesita el televisor
HD1 es de una hora en la máquina 1, dos horas en la máquina 2 y cuatro horas en la máquina 3. Por su
parte, el tiempo que requiere de trabajo el televisor HD2 es de dos horas en la máquina 1, una hora en
la máquina 2 y una hora en la máquina 3. En la producción diaria, el tiempo disponible de la máquina
uno es de 16 horas, de la máquina dos de 10 horas y de la máquina tres es de 14 horas.
El televisor HD1 genera una utilidad de 300 000 u.m. y el televisor HD1 proporciona una ganancia
de 100 000 u.m. El problema que tiene la gerencia de Electromex es encontrar la cantidad de televisores HD1 y HD2 a elaborar diariamente, para que la utilidad sea máxima.
Plantear, resolver e interpretar como un modelo de programación lineal entera.
116
Grupo Editorial Patria©
Solución
X1: Cantidad de televisores tipo HD1 a fabricar diariamente
X2: Número de televisores tipo HD2 a producir por día
Z: Función de maximización de la utilidad
Modelo:
Max Z = 300 000X1 + 100 000X2
Sujeto a:
1. X1 + 2X2 ≤ 16
2. 2X1 + X2 ≤ 10
3. 4X1 + X2 ≤ 14
X1, X2 ≥ 0
X1, X2 ∈ Z+
Utilizamos el Solver de Excel.
Figura 4.5
Como se puede observar en la figura, en la celda E4: B4 * B10 + C4 * C10; en la celda E5: B5 * B10 +
C5 * C10; en la celda E6: B6 * B10 + C6 * C10; en la celda B12 (función objetivo): B10 * B7 + C10 * C7;
establecer objetivo B12; para Max; cambiando las celdas de variables: B10: C10; sujeto a las restricciones: E4: E6 ≤ D4: D6.
Así, las opciones que tenemos para solucionar este problema son Simplex LP (para problemas de
Solver lineales), GRG Nonlinear (para problemas de Solver no lineales suavizados) y Evolutionary (para
problemas de Solver no suavizados). En este caso, optamos por resolver mediante Simplex LP y obtenemos los siguientes resultados:
X *1 = 2; X *2 = 6; Z * = 1 200 000
Con base en los resultados, se puede decir que es posible producir dos unidades del televisor HD1
(X *1 = 2); y seis unidades del televisor HD2 (X *2 = 6); en tal caso sobran dos horas de trabajo en la máquina 1
(celda E4 = 14) y se emplean todas las horas de trabajo de la máquina 2 (celda E5 = 10) y de la máquina
3 (celda E6 = 14); por tanto, la utilidad máxima es de 1 200 000 u.m. (Z * = 1 200 000).
117
UNIDAD
4
Programación lineal discreta
❚ Método de ramificación y acotamiento (Branh and bound)
La solución para cada problema de programación lineal entera se divide en dos subproblemas. En tal
caso, para cada subproblema puede ocurrir lo siguiente:
1. Cuando el subproblema es no factible de solucionarse se da por terminado.
2. Cuando la solución es entera, mejor que cualquier solución entera conocida es candidata a solución, no se busca más.
3. Cuando la solución es fraccionaria, mejor que la solución entera conocida más adecuada, el problema se fracciona en dos.
4. Cuando la solución es peor que la mejor solución entera conocida; no se investiga más.
Problema resuelto
Resolver:
Max Z = 3X1 + 5X2
Sujeto a:
6X1 + 8X2 ≤ 20
X1, X2 ≥ 0
X1, X2 ∈ Z+
Solución
Estandarización:
1.
6X1 + 8X2 + S1 = 20
0. Z - 3X1 - 5X2
=0
Tabla 4.7a Simplex
Cj
3
5
0
CB
VB
b
X1
X2
S1
0
S1
20
6
8
1
Z
0
-3
-5
0
CB
VB
b
X1
X2
S1
0
X2
5/2
3/4
1
1/8
Z
25/2
3/4
0
5/8
Tabla 4.7b
Solución óptima única de programación lineal
X *1 = 0; X *2 = 5/2; S *1 = 0; Z * = 25/2, más no de programación lineal entera, para lo cual aplicamos el
algoritmo de ramificación y acotamiento. (Véase figura 4.6 en la página siguiente.)
Solución óptima al problema de programación lineal entera
X *1 = 2; X *2 = 1; Z * = 11
De acuerdo con los datos arrojados, se pueden elaborar dos unidades del artículo 1 (X *1 = 2), una unidad
del artículo 2 (X *2 = 1) y la utilidad máxima obtenida es de 11 u.m. (Z * = 11).
118
Grupo Editorial Patria©
P1
X*1 = 3
X*2 = 4
Z* = 23
Solución
Óptima
Única
P2
X1 = 43/10
X2 = 3
X2 ≤ 3
X1 ≤ 4
X1 = 17/4
X2 = 19/6
P4
X1 = 4
X2 = 10/3
X1 ≥ 5
P3
X1 = 5
X2 = 2/3
X2 ≤ 3
P2
X2 ≥ 4
X2 ≥ 4
P1
X2 ≤ 0
P5
X1 = 26/5
X2 = 0
X2 ≥ 1
X1 ≤ 4
P2
P2
X1 ≥ 4
P6
X1 = 49/10
X2 = 7/2
X2 ≤ 3
P1
X1 ≥ 5
P3
Figura 4.6
Problema resuelto
Resolver el problema anterior mediante la elección de Solver de Excel.
Figura 4.7
119
UNIDAD
4
Programación lineal discreta
Solución
Como se puede observar en la figura, en la celda E3: B3 * B7 + C3 * C7; en la celda B9 (función objetivo): B4 * B7 + C4 * C7; establecer objetivo B9; para Max; cambiando las celdas de variables: B7: C7;
sujeto a las restricciones: E3 ≤ D3.
De este modo, escogemos Simplex LP para solucionar el problema y obtenemos los siguientes resultados:
X *1 = 2; X *2 = 1; Z * = 11.
Por tanto, se deben producir dos unidades del producto 1 (X *1 = 2), una unidad del artículo 2 (X *2 = 1).
Respecto a la producción, se utilizaron todas las horas disponibles en la máquina 1 (celda E3 = 20) y la
utilidad máxima es de 11 u. m. (Z * = 11).
Problema resuelto
Resolver: Max Z = 7X1 + 8X2
Sujeto a:
1. 10X1 + 3X2 ≤ 52
2. 2X1 + 3X2 ≤ 18
X1, X2 ≥ 0
X1, X2 ∈ Z+
Solución
Estandarización:
1. 10X1 + 3X2 + S1
2.
2X1 + 3X2
= 52
+ S2 = 18
0.Z - 7X1 - 8X2
= 0
Tabla 4.8 Simplex
CB
0
0
VB
S1
S2
Z
Cj
b
52
18
0
7
X1
10
2
-7
8
X2
3
3
-8
0
S1
1
0
0
0
S2
0
1
0
Cj
b
34
6
48
7
X1
8
2/3
- 2/3
8
X2
0
1
0
0
S1
1
0
0
0
S2
-1
1/3
8/3
Cj
b
17/4
19/6
661/12
7
X1
1
0
0
8
X2
0
1
0
0
S1
1/8
- 1/12
5/24
0
S2
- 1/8
5/12
59/24
Variable que entra a la base: X2
Variable que sale de la base: S2
Tabla 4.9 Simplex
CB
0
8
VB
S1
X2
Z
Variable que entra a la base: X1
Variable que sale de la base: S1
Tabla 4.10 Simplex
CB
7
8
120
VB
X1
X2
Z
Grupo Editorial Patria©
Solución óptima única para el problema primal
X *1 = 17/4; X *2 = 19/6; S *1 = 0; S *2 = 0; Z * = 661/12, pero no de programación lineal entera. En este caso,
aplicamos ramificación y acotamiento:
P4
P3
43
1. ? X1 = —
10
9
2. ? X1 = –
2
1. ? X1 = 4
2. ? X1*= 3
No Factible
Z* = 53
X2 ≤ 3
X1 ≤ 4
17
X1 = —
4
19
X2 = —
6
X2 ≥ 4
X1 ≥ 5
P1
P2
10
2. ? X2 = —
3
2
1. ? X2 = –
3
8
2. ? X2 = –
3
No Factible
No Factible
1. ? X2 = 4
Figura 4.8
Solución óptima al problema de programación lineal entera
X *1 = 3; X *2 = 4; Z * = 53
De este modo, se sabe que es necesario producir tres unidades del artículo 1 (X *1 = 3), tres unidades del
artículo 2 (X *2 = 4) y que la máxima utilidad es de 53 u. m. (Z * = 53).
Problema resuelto
Resolver el problema anterior utilizando Solver de Excel.
Figura 4.9
121
UNIDAD
4
Programación lineal discreta
Solución
Como se observa en la figura, la celda E3: B3 * B8 + C3 * C8; en la celda E4: B4 * B8 + C4 * C8; en la
celda B10 (función objetivo): B5* B8 + C5 * C8; establecer objetivo B10; para Max; cambiando las celdas de variables: B 8: C 8; sujeto a las restricciones: E3 ≤ D3, E4 ≤ D4, B8 y C8 enteros.
En este caso, para solucionar el problema elegimos Simplex LP y obtenemos los siguientes resul­
tados:
Solución óptima al problema de programación lineal entera:
X *1 = 3; X *2 = 4; Z * = 53
De este modo, se sabe que se deben producir tres unidades del artículo 1 (X *1 = 3), tres unidades del
artículo 2 (X *2 = 4), que sobraron 10 horas del tiempo disponible en la máquina 1 (celda E3 = 42), que se
utilizaron todas las horas del tiempo disponible en la máquina 2 (celda E4 = 18) y que la máxima utilidad
es de 53 u. m. (Z * = 53).
❚ Método de enumeración exhaustiva o enumeración explícita
Este consiste en enumerar todas las soluciones posibles, a partir de los valores tomados para las variables enteras y realizar todas las combinaciones posibles hasta encontrar una que nos proporcione
el valor óptimo de la función objetivo y que cumpla con todas las restricciones del problema. Una de
las objeciones principales que presenta este método es el número de variables, ya que se presentan
demasiadas combinaciones antes de encontrar la solución óptima.
Problema resuelto
Resolver: Max Z = 3X1 + 5X2
Sujeto a:
1. X1 + X2 ≤ 8
2. 3X1 + 2X2 ≤ 7
X1, X2 ≥ 0
X1, X2 ∈ Z+
Solución
Posibles valores enteros de X1, según la restricción X1 + X2 ≤ 8:
X1 = [0, 1, 2, 3, 4, 5, 6, 7, 8]
Posibles valores enteros de X1, según la restricción 3X1 + 2X2 ≤ 7:
X1 = [0, 1, 2]
Entonces:
X1 = [0, 1, 2]
Posibles valores enteros de X2, según la restricción X1 + X2 ≤ 8:
X2 = [0, 1, 2, 3, 4, 5, 6, 7, 8]
Posibles valores enteros de X2, según la restricción 3X1 + 2X2 ≤ 7:
X2 = [0, 1, 2, 3]
Entonces:
X2 = [0, 1, 2, 3]
122
Grupo Editorial Patria©
A continuación observamos las posibles soluciones aplicando los valores de X1 y X2 a la función objetivo
y además teniendo en cuenta que se cumplan las restricciones.
Tabla 4.11
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
X1 = 0
X1 = 0
X1 = 0
X1 = 0
X1 = 1
X1 = 1
X1 = 1
X1 = 1
X1 = 2
X1 = 2
X1 = 2
X1 = 2
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 0
X2 = 1
X2 = 2
X2 = 3
R1 = 0
R1 = 1
R1 = 2
R1 = 3
R1 = 1
R1 = 2
R1 = 3
R1 = 4
R1 = 2
R1 = 3
R1 = 4
R1 = 5
R2 = 0
R2 = 2
R2 = 4
R2 = 6
R2 = 3
R2 = 5
R2 = 7
R2 = 10
R2 = 6
R2 = 8
R2 = 10
R2 = 12
Z=0
Z=5
Z = 10
Z = 15
Z=3
Z=8
Z = 13
Z = 16
Z=6
Z = 11
Z = 16
Z = 21
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
No Sirve
Sirve
No Sirve
No Sirve
No Sirve
Donde Si i = 1, 2, 3 ..., 12 corresponde a los tipos de soluciones resultantes, en las cuales existen algunas
válidas y otras que no lo son por violar alguna o todas las restricciones; R1: restricción 1; R2: restricción 2.
Entonces, la solución óptima es:
X *1 = 0, X *2 = 3, Z * = 15
Problema resuelto
Resolver: Max Z = 7 X1 + 8 X2
Sujeto a:
1. 10X1 + 3X2 ≤ 52
2. 2X1 + 3X2 ≤ 18
X1, X2 ≥ 0
X1, X2 ∈ Z+
Solución
Posibles valores enteros de X1, según la restricción 10X1 + 3X2 ≤ 52:
X1 = [0, 1, 2, 3, 4, 5]
Posibles valores enteros de X1, según la restricción 2X1 + 3X2 ≤ 18:
X1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Entonces:
X1 = [0, 1, 2, 3, 4, 5]
Posibles valores enteros de X2, según la restricción 10X1 + 3X2 ≤ 52:
X2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
Posibles valores enteros de X2, según la restricción 2X1 + 3X2 ≤ 18:
X2 = [0, 1, 2, 3, 4, 5, 6]
Entonces:
X2 = [0, 1, 2, 3, 4, 5, 6]
123
UNIDAD
4
Programación lineal discreta
Tabla 4.12
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
X1 = 0
X1 = 0
X1 = 0
X1 = 0
X1 = 0
X1 = 0
X1 = 0
X1 = 1
X1 = 1
X1 = 1
X1 = 1
X1 = 1
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
X2 = 6
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
R1 = 0
R1 = 3
R1 = 6
R1 = 9
R1 = 12
R1 = 15
R1 = 18
R1 = 10
R1 = 13
R1 = 16
R1 = 19
R1 = 22
R2 = 0
R2 = 3
R2 = 6
R2 = 9
R2 = 12
R2 = 15
R2 = 18
R2 = 2
R2 = 5
R2 = 8
R2 = 11
R2 = 14
Z=0
Z=8
Z = 16
Z = 24
Z = 32
Z = 40
Z = 48
Z =7
Z = 15
Z = 23
Z = 31
Z = 39
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
S13
S14
S15
S16
S17
S18
S19
S20
S21
S22
S23
S24
X1 = 1
X1 = 1
X1 = 2
X1 = 2
X1 = 2
X1 = 2
X1 = 2
X1 = 2
X1 = 2
X1 = 3
X1 = 3
X1 = 3
X2 = 5
X2 = 6
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
X2 = 6
X2 = 0
X2 = 1
X2 = 2
R1 = 25
R1 = 28
R1 = 20
R1 = 23
R1 = 26
R1 = 29
R1 = 32
R1 = 35
R1 = 38
R1 = 30
R1 = 33
R1 = 36
R2 = 17
R2 = 20
R2 = 4
R2 = 7
R2 = 10
R2 = 13
R2 = 16
R2 = 25
R2 = 22
R2 = 6
R2 = 9
R2 = 12
Z = 47
Z = 55
Z = 14
Z = 22
Z = 30
Z = 38
Z = 46
Z = 54
Z = 62
Z = 21
Z = 29
Z = 37
Sirve
No Sirve
Sirve
Sirve
Sirve
Sirve
Sirve
No Sirve
No Sirve
Sirve
Sirve
Sirve
Tabla 4.13
Tabla 4.14
S25
S26
S27
S28
S29
S30
S31
S32
S33
S34
S35
S36
X1 = 3
X1 = 3
X1 = 3
X1 = 3
X1 = 4
X1 = 4
X1 = 4
X1 = 4
X1 = 4
X1 = 4
X1 = 4
X1 = 5
X2 = 3
X2 = 4
X2 = 5
X2 = 6
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
X2 = 6
X2 = 0
R1 = 39
R1 = 42
R1 = 45
R1 = 48
R1 = 40
R1 = 43
R1 = 46
R1 = 49
R1 = 52
R1 = 55
R1 = 58
R1 = 50
R2 = 15
R2 = 18
R2 = 21
R2 = 24
R2 = 8
R2 = 11
R2 = 14
R2 = 17
R2 = 20
R2 = 23
R2 = 26
R2 = 10
Z = 45
Z = 53
Z = 61
Z = 69
Z = 28
Z = 36
Z = 44
Z = 52
Z = 60
Z = 68
Z = 76
Z = 35
Sirve
Sirve
No Sirve
No Sirve
Sirve
Sirve
Sirve
Sirve
No Sirve
No Sirve
No sirve
Sirve
Tabla 4.15
S37
S38
S39
S40
S41
S42
X1 = 5
X1 = 5
X1 = 5
X1 = 5
X1 = 5
X1 = 5
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
X2 = 6
R1 = 53
R1 = 56
R1 = 59
R1 = 62
R1 = 65
R1 = 68
R2 = 13
R2 = 16
R2 = 19
R2 = 22
R2 = 25
R2 = 28
Z = 43
Z = 51
Z = 59
Z = 67
Z = 75
Z = 83
No Sirve
No Sirve
No Sirve
No Sirve
No Sirve
No Sirve
A continuación, observamos las posibles soluciones aplicando los valores de X1 y X2 a la función objetivo y teniendo en cuenta que se cumplan las restricciones:
Solución 1: S1, solución 2: S2, solución 3: S3,… ,solución 42: S42; R1: restricción 1; R2: restricción 2.
Solución óptima al problema de programación lineal entera:
X *1 = 3; X *2 = 4; Z * = 53
124
Grupo Editorial Patria©
4.3 Programación lineal entera binaria
Las situaciones en las que las decisiones aparecen como alternativas son las más frecuentes con las que
nos enfrentamos diariamente en nuestra vida cotidiana. Por lo general, siempre utilizamos la noción de
tipo binario en nuestros razonamientos y en nuestras acciones: todo o nada, blanco o negro, abierto o
cerrado, existe o no existe, 0 o 1, verdadero o falso, prendido o apagado, muerto o vivo, entre otros.
Los dos métodos más usuales para solucionar problemas de programación lineal entera binaria
son: enumeración implícita cero-uno y método aditivo de Egon Balas.
❚ Métodos de solución
Método de enumeración implícita cero-uno
El método de enumeración implícita cero-uno consiste en enumerar todas las soluciones y analizarlas;
se entiende que este proceso es bastante dispendioso, sobre todo si se tiene un número apreciable
de variables, ya que el número de combinaciones corresponde a 2n, donde n es el número de variables del problema.
Problema resuelto
Resolver: Min W = 3X1 + 7X2 - X3 + X4
Sujeto a:
1. 2X1 - X2 + X3 - X4 ≥ 1
2. X1 - X2 + 6X3 + 4X4 ≥ 8
3. 5X1 + 3X2 + X4 ≥ 5
X1, X2, X3, X4, X5 = (0 o 1)
Solución
Para este problema en particular el número de combinaciones es 24 = 16, correspondiente al número
de soluciones posibles.
Tabla 4.16
X1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
X2
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
X3
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
X4
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Como se puede observar en la tabla 4.16, algunas soluciones son válidas y otras no porque en algunos
casos violan una o más restricciones y/o porque no minimizan la función objetivo:
Columna 1: La solución es W = 10, no la minimiza.
Columna 2: Viola la segunda restricción.
Columna 3: Viola la primera y la segunda restricción.
Columna 4: Viola la segunda restricción.
Columna 5: Solución óptima única.
Columna 6: Viola la segunda restricción.
Columna 7: Viola la segunda restricción.
Columna 8: Viola la segunda restricción.
Columna 9: Viola la primera y la tercera restricción.
Columna 10: Viola las tres restricciones.
Columna 11: Viola las tres restricciones.
Columna 12: Viola las tres restricciones.
Columna 13: Viola la primera y la tercera restricción.
125
UNIDAD
4
Programación lineal discreta
Columna 14: Viola la segunda y la tercera restricción.
Columna 15: Viola las tres restricciones.
Columna 16: Viola las tres restricciones.
Solución óptima:
X *1 = 1, X *2 = 0, X *3 = 1, X *4 = 1, W * = 3
Problema resuelto
Resolver: Max Z = 3Y1 + 2Y2 - 5Y3 - 2Y4 + 3Y5
Sujeto a:
1. Y1 + Y2 + Y3 + 2Y4 + Y5 ≤ 4
2. 7Y1 + 3Y3 - 4Y4 + 3Y5 ≤ 8
3. 11Y1 - 6Y2 + 3Y4 - 3Y5 ≥ -3
Y1, Y2, Y3, Y4, Y5 = (0 o 1)
Solución
En este caso, el número de combinaciones es 25 = 32, que es una cantidad de soluciones posibles.
Tabla 4.17
Y1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Y2
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
Y3
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
Y4
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
Y5
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Como se observa en la tabla 4.17 algunas soluciones son válidas, mientras que otras no porque en
algunos casos violan una, varias o todas las restricciones, o bien no maximizan la función objetivo:
Columna 1: Viola la primera y la segunda restricción.
Columna 2: Viola la primera restricción.
Columna 3: Viola la segunda y la tercera restricción.
Columna 4: Viola la segunda restricción.
Columna 5: Viola la primera restricción.
Columna 6: La solución es W = 3, no la maximiza.
Columna 7: Viola la segunda restricción.
Columna 8: Solución óptima única.
Columna 9: Viola la primera y la segunda restricción.
Columna 10: La solución es W = -4, no la maximiza.
Columna 11: Viola la segunda restricción.
Columna 12: Viola la segunda restricción.
Columna 13: La solución es W = 4, no la maximiza.
Columna 14: La solución es W = 1, no la maximiza.
Columna 15: Viola la segunda restricción.
Columna 16: La solución es W = 3, no la maximiza.
Columna 17: Viola la primera y la tercera restricción.
Columna 18: Viola la tercera restricción.
Columna 19: Viola la tercera restricción.
Columna 20: Viola la tercera restricción.
126
Grupo Editorial Patria©
Columna 21: Viola la tercera restricción.
Columna 22: La solución es W = 0, no la maximiza.
Columna 23: Viola la tercera restricción.
Columna 24: Viola la tercera restricción.
Columna 25: Viola la tercera restricción.
Columna 26: La solución es W = -7, no la maximiza.
Columna 27: Viola la tercera restricción.
Columna 28: Viola la tercera restricción.
Columna 29: Viola la tercera restricción.
Columna 30: La solución es W = -2, no la maximiza.
Columna 31: Viola la tercera restricción.
Columna 32: Viola la tercera restricción.
Solución óptima única:
Y *1 = 1, Y *2 = 1, Y *3 = 0, Y *4 = 0, Y *5 = 0, Z * = 5
❚ Método aditivo (enumeración) de Egon Balas
El método de Balas constituye un procedimiento de enumeración que encuentra el óptimo de forma
más rápida; la eficacia de este método consiste en la evaluación de solo algunas soluciones. Dicho
método empieza poniendo todas las variables iguales a cero y luego, mediante un procedimiento
sistemático de forma consecutiva, asigna el valor de 1 a cada una de las variables; luego, estas se reemplazan en cada una de las restricciones y se averigua la infactibilidad. Por esta razón, este método
es conocido algunas veces como algoritmo aditivo.
Para describir el algoritmo, se considera la forma general siguiente de un problema de programación lineal con variables cero-uno:
■
■
Paso 1. La función objetivo debe ser del tipo minimización, con todos los coeficientes no negativos.
Paso 2. Todas las restricciones deben ser del tipo ≤ con los lados derechos negativos de ser
necesario. Luego, estas restricciones se convierten a ecuaciones, usando las variables auxiliares
en el lado izquierdo de las restricciones.
Problema resuelto
Resolver: Max Z = 3Y1 + 2Y2 - 5Y3 - 2Y4 + 3Y5
Sujeto a las siguientes restricciones:
1. Y1 + Y2 + Y3 + 2Y4 + Y5 ≤ 4
2. 7Y1 + 3Y3 - 4Y4 + 3Y5 ≤ 8
3. 11Y1 - 6Y2 + 3Y4 - 3Y5 ≥ 3
Y1, Y2, Y3, Y4, Y5 = (0 o 1)
Solución
Min W = - 3Y1 - 2Y2 + 5Y3 + 2Y4 - 3Y5
Sujeto a:
1. Y1 + Y2 + Y3 + 2Y4 + Y5 ≤ 4
2. 7Y1 + 3Y3 - 4Y4 + 3Y5 ≤ 8
3. -11Y1 + 6Y2 - 3Y4 + 3Y5 ≤ -3
Y1, Y2, Y3, Y4, Y5 = (0 o 1)
127
UNIDAD
4
Programación lineal discreta
Reemplazamos:
Y1 = 1 - X1; Y2 = 1 - X2; Y3 = X3; Y4 = X4; Y5 = 1 - X5
Min W ′ = 3X1 + 2X2 + 5X3 + 2X4 + 3X5 - 8
Sujeto a:
1. -X1 - X2 + X3 + 2X4 - X5 ≤ 1
2. -7X1 + 3X3 - 4X4 - 3X5 ≤ -2
3. 11X1 - 6X2 - 3X4 - 3X5 ≤ -1
X1, X2, X3, X4, X5 = (0 o 1)
Sustituimos W ′ + 8 = W :
Min W = 3X1 + 2X2 + 5X3 + 2X4 + 3X5
Sujeto a las siguientes restricciones:
1. -X1 - X2 + X3 + 2X4 - X5 + S1 = 1
2. -7X1 + 3X3 - 4X4 - 3X5 + S2 = -2
3. 11X1 - 6X2 - 3X4 - 3X5 + S3 = -1
X1, X2, X3, X4, X5 = (0 o 1)
El problema nuevo a resolver siempre consiste en la minimización de la función objetivo, teniendo en
cuenta la medida de la no factibilidad de la holgura. Cuando la infactibilidad da el menor valor, conti­
nuamos con el siguiente paso; en el caso de una infactibilidad cero, esta corresponde a la solución óptima. Pero, si encontramos varias infactibilidades iguales a cero, entonces reemplazamos en la función
objetivo y la respuesta será la que haga esta función mínima.
■
X1 = 0; X2 = 0; X3 = 0; X4 = 0; X5 = 0
0 ≤ 1; 0 ≤ -2; 0 ≤ -1; infactibilidad 3
■
X1 = 1; X2 = 0; X3 = 0; X4 = 0; X5 = 0
0 ≤ 2; 0 ≤ 5; 0 ≤ -12; infactibilidad 12
■
X2 = 1; X1 = 0; X3 = 0; X4 = 0; X5 = 0
0 ≤ 2; 0 ≤ -2; 0 ≤ 5; infactibilidad 2
■
X3 = 1; X1 = 0; X2 = 0; X4 = 0; X5 = 0
0 ≤ 0; 0 ≤ -5; 0 ≤ -1; infactibilidad 6
■
X4 = 1; X1 = 0; X2 = 0; X3 = 0; X5 = 0
0 ≤ -1; 0 ≤ 2; 0 ≤ 2; infactibilidad 1
■
X5 = 1; X1 = 0; X2 = 0; X3 = 0; X4 = 0
0 ≤ 2; 0 ≤ 1; 0 ≤ 2; infactibilidad 0
Solución óptima única
X *1 = 0; X *2 = 0; X *3 = 0; X *4 = 0; X *5 = 1; W * = 3
Solución óptima única para el problema original
Y *1 = 1; Y *2 = 1; Y *3 = 0; Y *4 = 0; Y *5 = 0; Z * = 5
Algunos autores emplean el algoritmo de Balas modificado, el cual consiste en introducirle al modelo
una restricción denominada de filtro, la cual no es otra que la función objetivo con una cota inferior del
valor óptimo. Históricamente, este método es muy importante, ya que ha demostrado que algoritmos
eficaces de programación en números enteros podrían emplear la enumeración implícita.
128
Grupo Editorial Patria©
4.4 Programación lineal entera mixta
En un problema de programación lineal entera mixta, algunas variables deben ser enteras, mientras
que otras pueden no serlo. Supongamos que un problema de programación lineal entera binaria contiene n + p variables, tales que n variables no puedan tomar más que valores enteros y que las otras
p variables no puedan tomar más que valores reales no negativos; presentamos a continuación un
algoritmo de enumeración.
Problema resuelto
Min W = X1 + Y1 + Y2
Sujeto a:
1. 6,4X1 + 3,2Y2 ≤ 6
2. 2X1 + 3Y1 + 3Y2 ≥ 4
3. Y1 ≤ 3
X1 ∈ Z+, Y1 ∈ Z+, Y2 ∈ 0, 1
Solución
El conjunto de soluciones está dado por:
1. Y1 = 1;
Y2 = 0;
despejado X1 ≤ = 0
2. Y1 = 1;
Y2 = 0;
despejado X1 ≥ 1/2
Reemplazando en la función objetivo los valores respectivos:
3/2 ≤ W ≤ 31/16
De igual forma, se obtiene los demás valores:
[1/2 ≤ X1 ≤ 15/16;
Y1 = 1;
Y2 = 0;
3/2 ≤ W ≤ 31/16]
[0 ≤ X1 ≤ 7/16;
Y1 = 1;
Y2 = 1;
2 ≤ W ≤ 39/16]
[0 ≤ X1 ≤ 15/16;
Y1 = 2;
Y2 = 0;
2 ≤ W ≤ 47/16]
[0 ≤ X1 ≤ 7/16;
Y1 = 2;
Y2 = 1;
3 ≤ W ≤ 55/16]
[0 ≤ X1 ≤ 15/16;
Y1 = 3;
Y2 = 0;
3 ≤ W ≤ 63/16]
[0 ≤ X1 ≤ 7/16;
Y1 = 3;
Y2 = 1;
4 ≤ W ≤ 71/16]
Solución óptima
X *1 = 1/2; Y *1 = 1; Y *2 = 0; W * = 3/2
4.5 Problema del transporte o distribución
El problema del transporte o distribución se considera
un problema de redes, que no es usual resolverlo por
simplex, ya que resulta bastante extenso, porque al establecer las ecuaciones de oferta entre las fuentes y la
demanda hacia los destinos resultan igualdades. Usualmente, en estos casos se tiene una determinada capacidad en cada fuente y se requiere otra en cada destino. El objetivo básico del problema del transporte es
satisfacer las expectativas de los clientes estableciendo
rutas entre las fuentes y los destinos a un costo mínimo.
En la figura 4.10 se muestra un ejemplo de este tipo de
problemas.
Fábrica 1
Destino 1
Fábrica 2
Destino 2
Fábrica n
Destino n
Figura 4.10
129
UNIDAD
4
Programación lineal discreta
El modelo del transporte se utiliza fundamentalmente cuando un producto (servicio) debe ser enviado
de un almacén (fábrica) a un usuario, para lo cual es factible generar varias rutas; de estas, la óptima es
aquella de costo mínimo y corresponde a una solución que puede ser degenerada o no degenerada.
❚ Métodos de solución
Básicamente existen dos familias de métodos para resolver problemas de transporte:
1. Métodos de inicialización. Para encontrar una solución factible inicial para el problema del transporte se emplean primordialmente los siguientes modelos:
■
Método de(del) la esquina(extremo) noroeste(noroccidental), noreste(nororiental), suroeste(suroccidental) y sureste(suroriental).
■
Columna mínima.
■
Fila mínima.
■
Matriz mínima.
■
Método Vogel.
■
Algoritmo de Russell.
2. Métodos de finalización (optimización). Principalmente se emplean los siguientes:
Alerta
Algunos modelos no
requieren de la solución
inicial, como el de
Houthakker y el primal dual
para el transporte, ya que
ellos inician el problema
y llegan hasta la solución
óptima.
■
Stepping-Stone.
■
Método de Wagener.
■
Primal de Balinski y Gomory.
■
Solución numérica de Houthakker.
■
Primal dual para el transporte.
3. Otros métodos. Existen numerosos métodos además de los nombrados:
■
Método de Kuhn, Ford y Fulkerson.
■
Método de Friedmann (una variante del anterior).
■
Método gráfico de Vidale.
■
Método de las matrices reducidas de Dwyer y Galler.
■
Método de separación en estrella de Zimmern.
❚ Planteamiento de un problema de transporte
Sean m los nodos de suministro, los cuales están ofreciendo: Oi = O1, ..., Omunidades a transportar;
análogamente hay n nodos de requerimientos, con la correspondiente a demanda: Dj = D1, ..., Dn.
Nodo de oferta
Nodo de requerimiento
Xij
Cij
i
j
i = 1, m
j = 1, n
Figura 4.11
Xij: unidades enviadas del nodo de oferta i al nodo de requerimiento j.
Cij: Costo de enviar una unidad del nodo de oferta i al nodo de requerimiento j.
W: Costo total.
m
n
Min W = ∑ ∑ C ij X ij
i =1 j =1
130
Grupo Editorial Patria©
Sujeto a:
n
m
j =1
i =1
∑ X ij Oi i = 1, ..., m. ∑ X ij = D j j = 1, ..., n.
Xij ≥ 0
∀ i, j
Solución de un problema de transporte
■
Primer paso. Es necesario igualar las ofertas y las demandas, es decir, balancear el problema.
∑Oi = ∑Dj cuando ∑Oi ≠ ∑Dj se crea un nodo ficticio de oferta o de requerimiento con costos de transporte cero y con el valor correspondiente (de oferta o demanda ficticia) igual a la
diferencia de las ofertas y demandas reales.
■
Segundo paso. Buscar una solución factible inicial básica no degenerada (S.F.I.B.N.D.) con las
siguientes características:
1. Asuma m + n - 1.
2. Las variables básicas no deben formar un ciclo.
❚ Regla de la esquina noroeste
Se empieza en la celda que se encuentra en la celda noroeste (esquina superior izquierda) y se asigna
lo máximo que se pueda por fila (columna) y se sigue sucesivamente de la misma manera hasta llegar
a la última celda que se pueda asignar, para obtener así una solución factible inicial.
❚ Método de Vogel
En cada fila y columna, el mínimo costo a partir de los dos menores costos se calcula por diferencia;
de esta manera, se tienen m + n diferencias. Entonces, debe buscar la fila o columna cuya diferencia
sea mayor y asignar a la base la Xij correspondiente a la celda de costo más bajo (i, j ). Cuando los requerimientos estén satisfechos, se debe eliminar dicha fila o columna y continuar con el proceso hasta
terminar la tabla. En caso de empates, se rompen arbitrariamente.
■
Tercer paso. Buscar si la solución hasta aquí obtenida es óptima; en caso contrario, esta se
debe optimizar.
❚ Método de stepping stone (azar)
Este método se debe a Charnes y a Cooper, aunque posteriormente fue modificado por George
Bernard Dantzig y a partir de entonces comenzó a llamarse MODI o de las Ui, Vj.
Este método consiste en construir la tabla de costos básicos (T.C.B.) a partir de la fórmula
Cij = Ui + Vj y, por último, la tabla de costos no básicos (T.C.N.B.) con la aplicación de δij = Cij - (Ui + Vj).
Si todos los δij > 0 la solución es óptima única; pero, si algunos δij = 0 la solución es óptima múltiple,
donde cada celda igual a cero indica una ruta alterna, sin que varíe W *; si se tienen varios δij < 0, entonces se escoge el más negativo y se asigna en dicha celda, es decir, se realizan nuevas asignaciones
(reasignaciones).
■
Tabla de costos básicos (T.C.B.):
Xj > 0; ∑ aijT Yi = Cj; Sj = 0
Cij = Ui + Vj
131
UNIDAD
4
Programación lineal discreta
■
Tabla de costos no básicos (T.C.N.B.):
m
Alerta
Xj = 0; ∑ aijT Yi > Cj; Sj > 0
i =1
En aquella fila (Ui ) o
columna (Vj ) en la que
se ha realizado el mayor
número de asignaciones
se le da un valor arbitrario
cero a la variable, con el
objeto de obtener todos los
valores de las Ui y de las
Vj . Cuando hay un número
igual de asignaciones, este
se rompe al azar.
m
∑ aijT Yi - Sj = Cj
i =1
m
∑ aijT Yi - Cj = Sj
i =1
Cij - (Ui + Vj) = δij
δij = Cij - (Ui + Vj)
Problema resuelto
La empresa distribuidora de maíz requiere un plan de
distribución que minimice los costos de transporte entre los centros de despacho en las ciudades Valledupar, Montería y Riohacha y sus clientes en las ciudades
Bogotá, Medellín, Cali y Barranquilla, en Colombia, respetando las disponibilidades y la demanda de los clientes. En la tabla 4.18 se indican los costos de envío, los
suministros posibles y las demandas de cada cliente.
Tabla 4.18
D
E
F
G
Oferta
A
30
40
80
20
80
B
45
50
35
40
85
C
40
70
60
50
95
Demanda
50
60
70
80
Plantear y resolver el anterior problema como un modelo de transporte. Determinar el plan óptimo
de distribución.
En este caso, emplearemos para su solución el Solver de Excel:
Min W = 30X11 + 40X12 + 80X13 + 20X14 + 45X21 + 50X22 + 35X23 + 40X24 + 40X31 + 70X32 + 60X33 + 50X34
Sujeto a:
1. X11 + X12 + X13 + X14 ≤ 65
2. X21 + X22 + X23 + X24 ≤ 75
3. X31 + X32 + X33 + X34 ≤ 90
4. X11 + X21 + X31 ≥ 50
5. X12 + X22 + X32 ≥ 60
6. X13 + X23 + X33 ≥ 70
7. X14 + X24 + X34 ≥ 80
Xij ≥ 0; i = 1, 2, 3; j = 1, 2, 3, 4; Xij ∈ Z+
Figura 4.12
132
Grupo Editorial Patria©
Solución
Solución óptima no degenerada:
X *12 = 5(40); X *14 = 80(20); X *22 = 10(50); X *23 = 70(35); X *31 = 50(40); X *32 = 45(70); W * = 9 900 u. m.
En este caso, se deben enviar 5 unidades de Valledupar a Medellín a un costo de 40 u. m. (X *12 = 5(40));
80 unidades de Valledupar a Barranquilla a un costo de 20 u. m. (X *14 = 80(20)); 10 unidades de Montería
a Medellín a un costo de 50 u. m. (X *22 = 10(50)); 70 unidades de Montería a Cali a un costo de 35 u. m.
(X *23 = 70(35)); 50 unidades de Riohacha a Bogotá a un costo de 40 u. m. (X *31 = 50(40)), y 45 unidades
de Riohacha a Medellín a un costo de 70 u. m. (X *32 = 45(70)); en tanto, los costos mínimos corresponden
a 9 900 u. m. (W * = 9 900) .
Problema resuelto
Resolver el siguiente problema mediante la aplicación Solver de Excel.
Tabla 4.19
Bogotá
Ibagué
Manizales
Bucaramanga
Cúcuta
Ofertas
5
10
5
0
20
Medellín
5
9
5
10
30
Cali
10
10
15
5
45
Demandas
10
15
40
30
Modelo:
MinW = 5X11+ 10X12 + 5X13 + 0X14 + 5X21 + 9X22 + 5X23 + 10X24+ 10X31 + 10X32 + 15X33 + 5X34
Sujeto a:
1. X11 + X12 + X13 + X14 ≤ 20
2. X21 + X22 + X23 + X24 ≤ 30
3. X31 + X32 + X33 + X34 ≤ 45
4. X11 + X21 + X31 ≥ 10
5. X12 + X22 + X32 ≥ 15
6. X13 + X23 + X33 ≥ 40
7. X14 + X24 + X34 ≥ 3
Xij ≥ 0; i = 1, 2, 3; j = 1, 2, 3, 4; Xij ∈ Z +
Figura 4.13
133
UNIDAD
4
Programación lineal discreta
Solución
Solución óptima degenerada:
X *11 = 10(5); X *13 = 10(5); X *23 = 30(5); X *32 = 15(10); X *34 = 30(5); W * = 550 u. m.
Como se observa en la figura, se deben enviar 10 unidades de Bogotá a Ibagué a un costo de 5 u. m.
(X *11 = 10(5)), 10 unidades de Bogotá a Bucaramanga a un costo de 5 u. m. (X *13 = 10(5)), 30 unidades de
Medellín a Bucaramanga a un costo de 5 u. m. (X *23 = 30(5)), 15 unidades de Cali a Manizales a un costo
de 10 u. m. (X *32 = 15(10)), 30 unidades de Cali a Cúcuta a un costo de 5 u. m. (X *34 = 30(5)); en tanto, los
costos mínimos corresponden a 550 u. m. (W * = 550).
❚ Problemas de transporte de maximización
Cuando se tiene un problema de transporte de maximización se puede resolver de las siguientes maneras:
■
■
Se multiplica la función objetivo por menos uno (no obstante, cuando se obtenga la solución
óptima se debe cambiar el signo del valor de la función objetivo) y se aplica cualquiera de los
métodos ya vistos.
Se observa la tabla de costos no básicos (T.C.N.B.); si todos los δij < 0, la solución es óptima
única; pero, si algunos δij = 0 la solución es óptima múltiple, cada celda igual a cero indica una
ruta alterna, sin que varíe W *; si se tienen varios δij > 0, se toma el más positivo y se asigna en
dicha celda, es decir, se realizan nuevas asignaciones (reasignaciones).
❚ Soluciones degeneradas en el problema del transporte
Para pasar del método de inicialización al método de finalización se requiere que la solución sea no
degenerada.
Existen varios métodos para resolver el problema de soluciones degeneradas. El primer método se
conoce como de ε– posiciones, que consiste en asignar convenientemente el valor ε (que es una cantidad positiva próxima a cero) a posiciones no localizadas hasta alcanzar m + n - 1 posiciones localizadas.
Estas ε– posiciones se tienen en cuenta durante todo el proceso de solución en el método de finalización como si fueran posiciones básicas y únicamente al terminar el proceso de solución se hacen las ε
igual a cero. Para designar las ε– posiciones, es necesario el concepto de ciclo que se construye así:
■
■
■
Paso 1. Fijar una posición vacía y asignarle τ+.
Paso 2. Un ciclo se construye considerando una sucesión de segmentos alternativamente verticales y horizontales con orígenes y extremos en posiciones básicas, que comienza y termina
en la posición vacía inicialmente elegida.
Paso 3. A las posiciones del ciclo construido se les asigna alternativamente τ+ y τ-, empezando
con el τ+ de la posición vacía.
La asignación de ε– posiciones se hace a posiciones independientes definidas, como aquellas posiciones vacías para las cuales no es posible construir un ciclo. Una vez identificada una posición independiente, entonces será posible asignarle un valor ε; en todo caso, la determinación de las posiciones
independientes debe comenzar por aquellas (vacías) con costo más bajo, ya que la asignación de
ε– posiciones a estas puede conducir más rápidamente a la solución final.
Una propiedad importante es que siempre es posible construir un ciclo a partir de una solución
básica factible. Lo anterior nos permite obtener siempre una solución no degenerada de una solución degenerada y así pasar a la fase de finalización.
❚ Problema del transporte generalizado
Un problema de este tipo se presenta de la siguiente manera:
m
n
Min W = ∑ ∑ pij y ij
i =1 j =1
134
Grupo Editorial Patria©
Sujeto a las siguientes restricciones:
n
∑ qij y ij = Oi
j =1
m
∑ rij y ij = D j
i =1
∀i = 1, 2 , 3 , ..., m
∀ j = 1, 2 , 3 , ..., n
yij ≥ 0; ∀i = 1, 2, 3, ..., m; ∀j = 1, 2, 3, ..., n
Donde:
qij ≥ 0; rij ≥ 0; Oi ≥ 0; Dj ≥ 0
Con el cambio de variable qijyij = Xij , denominando sij = rij /qij ycij = pij /qij el problema queda:
m
n
Min W = ∑ ∑ C ij X ij
i =1 j =1
Sujeto a las siguientes restricciones:
n
∑ X ij = Oi
j =1
m
∑ sij X ij = D j
i =1
∀i = 1, 2 , 3 , ..., m
∀ j = 1, 2 , 3 , ..., n
Xij ≥ 0; ∀i = 1, 2, 3, ..., m; ∀j = 1, 2, 3, ..., n
A este problema se le denomina de transporte generalizado. Pues, en el problema del transporte había
m + n - 1 ecuaciones linealmente independientes, lo que condujo a la facilidad con la cual puede encontrarse una solución básica factible y probarse su optimización. En cualquier caso, como el problema
de transporte generalizado es un problema de programación lineal, puede siempre solucionarse por
el método simplex.
4.6 Problema de asignación o afijación o de nombramientos
La formulación del problema general de asignación es:
m
n
Min W = ∑ ∑ C ij X ij
i =1 j =1
Sujeto a:
n
∑ X ij = 1
i = 1, ..., m
i =1
m
∑ X ij = 1
j = 1, ..., n
Xij0, 1 i = 1,...,m;
j = 1,..., n
i =1
Este corresponde a un caso especial del problema del transporte en el cual las variables Xij solo pueden tomar el valor 0 o 1; tomar el valor 1 si el origen i se hace corresponder al destino j y 0 en caso
contrario.
El algoritmo para resolver problemas de asignación se denomina “húngaro”, ya que fueron dos
matemáticos húngaros, König (1916) y Egervary (1931), quienes aportaron las teorías que sirven de
base a este método.
Este problema se presenta en diversos casos de toma de decisiones. Los problemas típicos de
asignación implican asignar tareas a máquinas, trabajadores a tareas y proyectos, personal de ventas
135
UNIDAD
4
Programación lineal discreta
a territorios de ventas, contratos a licitaciones, horarios de aulas disponibles a horarios de maestros
disponibles, enfermos a camas disponibles del hospital, cierto número de empleados a cierta cantidad
de puestos en una empresa, aviones a destinos aéreos, entre otros.
Una característica importante de los problemas de asignación es que se asigna un trabajador, una
tarea..., a una sola máquina, proyecto, etcétera. En particular, se busca el conjunto de asignaciones que
optimice el objetivo planteado, tal como minimizar costos, minimizar tiempo o maximizar utilidad.
❚ Métodos de solución
Método húngaro
Este algoritmo se usa para resolver problemas de minimización, ya que es más eficaz que el empleado
para resolver el problema del transporte por el alto grado de degeneración que pueden presentar los
problemas de asignación. Las fases para la aplicación del método húngaro son:
■
■
■
Paso 1. Encontrar primero el elemento más pequeño en cada fila (columna) de la matriz de
costos m * m; en tal caso se debe construir una nueva matriz al restar de cada costo el costo
mínimo de cada fila (columna) y encontrar para esta nueva matriz el costo mínimo en cada columna (fila). A continuación, se debe construir una nueva matriz (denominada matriz de costos
reducidos) al restar de cada costo el costo mínimo de su columna (fila).
Paso 2. (En algunos pocos textos este paso se atribuye a Flood). Consiste en trazar el número
mínimo de líneas (horizontales o verticales o ambas únicamente de esas maneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos; si se necesitan m líneas
para cubrir todos los ceros, se tiene una solución óptima entre los ceros cubiertos de la matriz.
Si se requieren menos de m líneas para cubrir todos los ceros, se debe continuar con el paso 3.
El número de líneas para cubrir los ceros es igual a la cantidad de asignaciones que hasta ese
momento se pueden realizar.
Paso 3. Encontrar el menor elemento diferente de cero (llamado k) en la matriz de costos reducidos, que no está cubierto por las líneas dibujadas en el paso 2; a continuación se debe restar
k de cada elemento no cubierto de la matriz de costos reducidos y sumar k a cada elemento
de la matriz de costos reducidos cubierto por dos líneas (intersecciones). Por último se debe
regresar al paso 2.
Alerta
1.Para resolver un problema de asignación en el cual la meta es maximizar la función objetivo, se debe multiplicar la matriz
de ganancias por menos uno (-1) y resolver el problema como uno de minimización.
2.Si el número de filas y columnas en la matriz de costos son diferentes, el problema de asignación está desbalanceado. El
método húngaro puede proporcionar una solución incorrecta si el problema no está balanceado; debido a lo anterior, primero
se debe balancear cualquier problema de asignación (añadiendo filas o columnas ficticias) antes de resolverlo mediante el
método húngaro.
3.En un problema grande, puede resultar difícil obtener el mínimo número de filas necesarias para cubrir todos los ceros en
la matriz de costos actual. Se puede demostrar que si se necesitan j líneas para cubrir todos los ceros, entonces se pueden
asignar solamente j trabajos a un costo cero en la matriz actual; esto explica porque termina cuando se necesitan m líneas.
Problema resuelto
136
Una fábrica tiene cuatro operarios, los cuales deben ser asignados al
manejo de cuatro máquinas; las horas requeridas para cada trabajador en cada máquina se dan en la tabla 4.20. La fábrica pretende que
el tiempo que trabaje cada operario en cada una de las máquinas sea
mínimo, para lo cual se busca la asignación óptima posible.
Tabla 4.20
Min W = 10X11 + 14X12 + 16X13 + 13X14 + 12X21 + 13X22 + 15X23 +
12X24 + 9X31 + 12X32 + 12X33 + 11X34 + 14X41 + 16X42 + 18X43 + 16X44
Máquinas
Operarios
1
2
3
4
Antonio
10
14
16
13
Bernardo
12
13
15
12
Carlos
9
12
12
11
Diego
14
16
18
16
Grupo Editorial Patria©
Sujeto a las siguientes restricciones:
1. X11 + X12 + X13 + X14 = 1
2. X21 + X22 + X23 + X24 = 1
3. X31 + X32 + X33 + X34 = 1
4. X41 + X42 + X43 + X44 = 1
5. X11 + X21 + X31 + X41 = 1
6. X12 + X22 + X32 + X42 = 1
7. X13 + X23 + X33 + X43 = 1
8. X14 + X24 + X34 + X44 = 1
Xij ≥ 0; i = 1, 2, 3; j = 1, 2, 3, 4; Xij ∈ Z+
En este caso, escogemos el Lindo, para proceder a resolverlo.
Figura 4.14
Luego de darle Solve, obtenemos las siguientes que se aprecian en la figura 4.15.
Figura 4.15
137
UNIDAD
4
Programación lineal discreta
Solución
Solución óptima única
A - 1 = 10, (X *11 = 1); B - 4 = 12, (X *24 = 1); C - 3 = 12, (X *33 = 1) y D - 2 = 16, (X *42 = 1)
En tal caso, Antonio trabajará en la máquina 1 (10 horas), Bernardo en la máquina 4 (12 horas), Carlos
va a trabajar en la máquina 3 (12 horas) y Diego en la máquina 2 (16 horas).
La combinación óptima de los recursos para este problema de minimización de asignación es de
50 horas, que resultan de adicionar las asignadas a cada uno de los operarios en cada una de las máquinas. Dicho valor corresponde al valor óptimo de la función objetivo.
Problema resuelto
Conseguir la afijación óptima en el problema de asignación-pro.
Tabla 4.21
1
2
3
4
5
6
A
63
61
59
59
57
58
B
56
73
62
62
59
55
C
57
65
73
63
65
56
D
93
98
97
99
87
51
E
77
85
83
83
74
56
F
58
67
71
64
59
66
Solución
Solución método húngaro (columnas)
En este método, restamos el menor elemento de cada columna, el cual corresponde a 56, 61, 59, 59,
57 y 51, respectivamente.
Tabla 4.22
1
2
3
4
5
6
A
7
0
0
0
0
7
B
0
12
3
3
2
4
C
1
4
14
14
8
5
D
37
37
38
40
30
0
E
21
24
24
24
17
5
F
2
6
12
5
2
15
En las filas C, E y F restamos los elementos 1, 5 y 2.
Tabla 4.23
138
1
2
3
4
5
6
A
7
0
0
0
0
7
B
0
12
3
3
2
4
C
0
3
13
13
7
4
D
37
37
38
40
30
0
E
16
19
19
19
12
0
F
0
4
10
3
0
13
Grupo Editorial Patria©
Según el algoritmo de Flood, trazamos el número mínimo de líneas rectas (4) y realizamos las operaciones correspondientes.
Tabla 4.24
1
2
3
4
5
6
A
7
0
0
0
0
7
B
0
12
3
3
2
4
C
0
3
13
13
7
4
D
37
37
38
40
30
0
E
16
19
19
19
12
0
F
0
4
10
3
0
13
Luego, trazamos el número mínimo de líneas rectas (4) y hacemos las operaciones respectivas.
Tabla 4.25
1
2
3
4
5
6
A
9
0
0
0
0
9
B
0
10
1
1
0
4
C
0
1
11
11
5
4
D
37
35
36
38
28
0
E
16
17
17
17
10
0
F
2
4
10
3
0
13
Acto seguido, trazamos el número mínimo de líneas rectas (5) y hacemos las operaciones correspondientes.
Tabla 4.26
1
2
3
4
5
6
A
10
0
0
0
1
10
B
0
9
0
0
0
4
C
0
0
10
10
5
4
D
37
34
35
37
28
0
E
16
16
16
16
10
0
F
2
3
9
2
0
15
Trazamos el número mínimo de líneas rectas (5) y hacemos las operaciones respectivas.
Tabla 4.27
1
2
3
4
5
6
A
10
0
0
0
1
20
B
0
9
0
0
0
14
C
0
0
10
10
5
14
D
27
24
25
27
18
0
E
6
6
6
6
0
0
F
2
3
9
2
0
25
Trazamos el número mínimo de líneas rectas (5) y hacemos las operaciones respectivas.
139
UNIDAD
4
Programación lineal discreta
Tabla 4.28
1
2
3
4
5
6
A
10
0
0
0
3
22
B
0
9
0
0
2
16
C
0
0
10
10
7
16
D
25
22
23
25
18
0
E
4
4
4
4
0
0
F
0
1
7
0
0
25
Solución óptima múltiple (alterna)
Solución óptima 1
A - 2, B - 3, C - 1, D - 6, E - 5, F - 4, valor óptimo: 369.
Tabla 4.29
1
2
3
4
5
6
A
10
0
0
0
3
22
B
0
9
0
0
2
16
C
0
0
10
10
7
16
D
25
22
23
25
18
0
E
4
4
4
4
0
0
F
0
1
7
0
0
25
Solución óptima 2
A - 3, B - 4, C - 2, D - 6, E - 5, F - 1, valor óptimo: 369.
Tabla 4.30
1
2
3
4
5
6
A
10
0
0
0
3
22
B
0
9
0
0
2
16
C
0
0
10
10
7
16
D
25
22
23
25
18
0
E
4
4
4
4
0
0
F
0
1
7
0
0
25
Solución óptima 3
A - 4, B - 3, C - 2, D - 6, E - 5, F - 1, valor óptimo: 369.
Problemas de asignación de maximización
Cuando se tiene un problema de asignación de maximización se puede resolver de las siguientes
formas:
■
■
140
La función objetivo se multiplica por menos uno y se resuelve como un problema de minimización.
Se determina el costo más elevado de la tabla, se resta este costo de todos los elementos de
la tabla y se resuelve como un problema de minimización.
Grupo Editorial Patria©
Problema de asignación generalizado
Si suponemos que existen m trabajadores y cada uno de ellos tiene cierta cantidad de recursos disponibles y existen n tareas que deben llevarse a cabo, el problema de asignación generalizado puede
plantearse de la siguiente manera:
m
n
Min W = ∑ ∑ C ij X ij
i =1 j =1
Sujeto a:
n
∑ rij X ij ≤ bi
i = 1, ..., m
i =1
m
∑ X ij = 1
j = 1, ..., n
i =1
 1 si el i-ésimo trabajador ejecuta la j-ésima tarea
X =
ij  0 en otro caso
bi: cantidad de recursos para el i-ésimo trabajador
rij: recursos del trabajador i-ésimo necesarios para realizar la j-ésima tarea.
Cij: costo para que el trabajador i-ésimo lleve a cabo la j-ésima tarea.
En este caso, el primer conjunto de restricciones asegura que no se utilizarán más recursos de los que
están disponibles para cada trabajador; en tanto, el segundo conjunto de restricciones afianza el hecho
que cada uno de los trabajos lo lleva a cabo un solo trabajador.
141
4 Problemas para resolver
UNIDAD
I. Resolver los problemas de programación lineal entera.
4.1 Encontrar el óptimo en el siguiente problema de programación lineal entera pura:
Max Z = 5X1 + 8X2
4.6 Obtener el óptimo en el siguiente problema de programación lineal entera mixta:
Max Z = -X1 - 3X2 - W1 - 4W2
Sujeto a:
Sujeto a:
1. 2X1 +
1.6X1 + 5X2 ≤ 30
2.-2X1 - 2X2 + W1 - 3W2 ≤ -1
X2 - W1 + 2W2 ≤ -1
2.9X1 + 4X2 ≤ 36
X1, X2 ∈ R+
3. X1 + 2X2 ≤ 10
W1, W2 ∈ N
X1, X2 ≥ 0
4.7 Conseguir el óptimo en el siguiente problema de programación lineal entera mixta:
X1, X2 ∈ Z+
4.2 Conseguir el óptimo en el siguiente problema de programación lineal entera pura:
Max Z = 3X1 + 6X2
Con sus restricciones:
Sujeto a:
1. 5X1 - 2X2 + 3X3 ≤ 10
2. 3X1 + 3X2 - 2X3 ≤ 7
1.6X1 + 7X2 ≤ 40
2.3X1 +
Max Z = 4X1 + 3X2 + 2X3
3. -X1 + 2X2 - 2X3 ≤ 9
X2 ≤ 11
X1, X2, X3 ≥ 0
X1, X2 ≥ 0
X1, X2, X3 ∈ Z+
X1, X2 ∈ Z+
4.3 Obtener el óptimo en el siguiente problema de programación lineal entera pura:
4.8 Encontrar el óptimo en el siguiente problema de programación lineal entera pura:
Max Z = 5X1 + 2X2
Max Z = 3X1 + 13X2
Sujeto a:
Sujeto a:
1.3X1 + X2 ≤ 12
1. 2X1 + 9X2 ≤ 402, 11X1 - 8X ≤ 82X1, X2 ≥ 0
2. X1 + X2 ≤ 5
X1, X2 ∈ Z+
X1, X2 ≥ 0
4.9 Conseguir el óptimo en el siguiente problema de programación lineal entera pura:
+
X1, X2 ∈ Z
Max Z = 6X1 + 3X2 + X3 + 2X4
4.4 Encontrar el óptimo en el siguiente problema de programación lineal entera binaria:
Sujeto a:
Min W = 5X1 + 6X2 + 7X3 + 8X4 + 9X5
1. X1 +
X2 +
2.2X1 +
X2 + 3X3 ≤ 12
Sujeto a:
1.3X1 -
X2 +
2. X1 + 3X2 3.-X1 -
X3 +
X4 - 2X5 ≥ 2
X3 - 2X4 +
X2 + 3X3 +
X4 +
X5 ≥ 0
X5 ≥ 1
X1, X2, X3, X4, X5 = (0 o 1)
4.5 Encontrar el óptimo en el siguiente problema de programación lineal entera binaria:
Max Z = 2X1 + 4X2 + 4X3
Con sus restricciones:
≤ 1
X2 ≤ 1
6.
X3 ≤ 4
7.
X4 ≤ 2
X1, X2, X3, X4 ≥ 0
4.10 Obtener el óptimo en el siguiente problema de programación lineal entera pura:
X3 ≤ 2
Max Z = 2X1 + 3X2 + X3 + 2X4
X1, X2, X3 = (0 o 1)
142
X3 + 3X4 ≤ 6
4. X1
5.
X4 ≤ 8
X1, X2, X3, X4 ∈ Z+
1.5X1 - 2X2 + 3X3 ≤ 5
2.3X1 + 4X2 -
3. 5X2 +
X3 +
Problemas aplicados a la realidad
Problemas para resolver con tecnología
Grupo Editorial Patria©
Sujeto a:
Con sus restricciones:
1.5X1 + 2X2 +
X3 +
1.8X1 + 11X2 + 9X3 ≤ 12
X4 ≤ 15
2.2X1 + 6X2 + 10X3 + 8X4 ≤ 60
2.2X1 +
2X2 + 7X3 ≤ 14
3. X1 +
3.9X1 +
6X2 + 3X3 ≤ 10
X2 +
X3 +
X4 ≤ 8
3X3 + 3X4 ≤ 5
X1, X2, X3 ≥ 0
5. X1 ≤ 3
X1, X2, X3 ∈ Z+
4.2X1 + 2X2 +
6.
4.15 Conseguir el óptimo en el siguiente problema de programación lineal entera pura:
X2 ≤ 7
X3 ≤ 5
7.
8.
Max Z = 70X1 + 50X2 + 30X3
X4 ≤ 5
Sujeto a:
X1, X2, X3, X4 ≥ 0
1. 4X1 + 3X2 + 2X3 ≤ 6
X1, X2, X3, X4 ∈ Z+
4.11 Encontrar el óptimo en el siguiente problema de programación lineal entera pura:
Max Z = 40X1 + 90X2
X1, X2, X3 ≥ 0
X1, X2, X3 ∈ Z+
4.16 Obtener el óptimo en el siguiente problema de programación lineal entera pura:
Sujeto a:
1. 9X1 +
Max Z = 10X1 + 14X2 + 21X3
7X2 ≤ 56
Sujeto a:
2. 7X1 + 20X2 ≤ 70
1.
X1, X2 ≥ 0
X1, X2 ∈ Z+
4.12 Conseguir el óptimo en el siguiente problema de programación lineal entera pura:
Max Z = 10X1 + 20X2
7
X1
5
+
+
X2
4
X2
7
+
+
X3
6
X3
3
≤1
≤1
≤2
3.X1
X1, X2, X3 ≥ 0
Con sus restricciones:
X1, X2, X3 ∈ Z+
1.5X1 + 8X2 ≤ 60
4.17 Encontrar el óptimo en el siguiente problema de programación lineal entera binaria:
2. X1 ≤ 8
3.
2.
X1
Min W = X1 + X2 + X3 + X4 + X5 + X6
+ X7 + X8 + X9 + X10 + X11 + X12
X2 ≤ 4
X1, X2 ≥ 0
Con sus restricciones:
X1, X2 ∈ Z+
4.13 Obtener el óptimo en el siguiente problema de programación lineal entera pura:
1. X1 + X2 + X3
≥1
2. X1 + X2
≥1
+ X5 + X6
3. X3
Min W = 2X1 + 3X2
+ X7 + X8
+ X12 ≥ 1
Sujeto a:
4. X10 + X11 + X12 ≥ 1
1. X1 + 3X2 ≥ 15
5. X8
2.2X1 +
+ X12 ≥ 1
X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12 = (0 o 1)
X2 ≥ 60
4.18 Conseguir el óptimo en el siguiente problema de programación lineal entera pura:
X1, X2 ≥ 0
X1, X2 ∈ Z+
Max Z = 9X1 + X2 + 4X3
4.14 Encontrar el óptimo en el siguiente problema de programación lineal entera pura:
Sujeto a:
Max Z = X1 + 2 X2+ 3 X3
1.18X1 +
Problemas aplicados a la realidad
Problemas para resolver con tecnología
18X2 +
14X3 ≤ 63
143
UNIDAD
4 Problemas para resolver
2.72X1 + 112X2 + 126X3 ≤ 252
4.23 Plantear y resolver el problema como un modelo de
transporte:
2X3 ≤ 3
3.
Tabla 4.33
X1, X2, X3 ≥ 0
X1, X2, X3 ∈ Z+
4.19 Obtener el óptimo en el siguiente problema de programación lineal entera binaria:
Max Z = 3X1 - 2X2 + 5X3
D
E
F
G
Ofertas
A
50
30
60
70
35
B
20
80
10
90
60
C
100
40
80
30
25
Demandas
30
45
25
20
Sujeto a:
4.24 Plantear y resolver el problema como un modelo de
transporte:
1. X1 + 2X2 - X3 ≤ 2
2. X1 + 4X2 + X3 ≤ 4
3. X1 +
Tabla 4.34
≤ 3
X2
4. 4X2 + X3 ≤ 6
D
E
F
G
Ofertas
A
3
2
3
6
40
X1, X2, X3 = (0 o 1)
B
8
6
8
8
25
C
5
4
9
4
35
Demandas
20
25
15
40
4.20 Encontrar el óptimo en el siguiente problema de programación lineal entera binaria:
Min W = 3X1 + 7X2 - X3 + X4
4.25 Plantear y resolver el problema como un modelo de
transporte:
Sujeto a:
1.2X1 -
X2 +
X3 -
2. X1 -
X2 + 6X3 + 4X4 ≤ 8
3.5X1 + 3X2 +
X4 ≥ 1
Tabla 4.35
X4 ≥ 1
X1, X2, X3, X4 = (0 o 1)
II. Resolver los siguientes problemas de transporte.
4.21 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.31
D
E
F
Ofertas
A
5
4
3
300
B
8
4
3
150
C
9
7
5
250
Demandas
200
200
300
4.22 Plantear y resolver el problema como un modelo de
transporte:
E
F
G
H
I
Ofertas
A
3
5
5
4
3
30
B
1
6
2
2
7
40
C
2
7
6
9
2
50
60
D
4
8
3
6
5
Demandas
35
45
30
25
45
4.26 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.36
D
E
F
G
H
Ofertas
A
2
5
4
2
3
20
B
3
4
5
3
4
30
C
4
3
1
1
1
40
Demandas
25
15
10
16
24
4.27 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.37
Tabla 4.32
D
E
F
F
G
H
I
J
Ofertas
A
20
28
24
22
20
23
100
A
3
3
2
25
B
23
26
26
24
28
24
200
B
4
2
3
40
C
21
25
25
23
24
26
300
30
400
C
3
2
2
Demandas
30
30
35
144
E
Ofertas
Problemas aplicados a la realidad
D
22
24
21
25
26
25
Demandas
150
175
225
120
170
160
Problemas para resolver con tecnología
Grupo Editorial Patria©
4.28 Plantear y resolver el problema como un modelo de
transporte:
4.33 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.38
Tabla 4.43
E
F
G
H
I
Ofertas
D
E
F
G
Ofertas
A
12
18
11
13
12
75
A
52
57
52
53
500
B
14
17
13
14
13
85
B
53
59
51
52
600
400
C
15
16
14
11
15
55
C
51
50
57
55
D
17
15
10
10
19
35
Demandas
450
550
200
300
Demandas
30
40
50
60
70
4.29 Plantear y resolver el problema como un modelo de
transporte:
4.34 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.44
Tabla 4.39
D
E
F
G
Ofertas
D
E
F
G
Ofertas
A
30
45
50
38
150
A
6
3
8
3
10
B
40
35
45
42
110
B
3
5
2
2
20
C
50
50
30
30
120
30
Demandas
80
90
100
110
C
4
4
5
7
Demandas
12
18
14
16
4.30 Plantear y resolver el problema como un modelo de
transporte:
4.35 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.45
Tabla 4.40
D
E
F
G
Ofertas
D
E
F
G
Ofertas
A
10
18
14
13
33
A
3
4
3
4
15
B
12
15
12
11
28
B
4
6
6
3
20
C
14
11
10
17
39
30
Demandas
20
30
10
40
C
6
2
4
2
Demandas
10
20
17
18
4.31 Plantear y resolver el problema como un modelo de
transporte:
4.36 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.46
Tabla 4.41
E
F
G
H
I
Ofertas
E
F
G
H
Ofertas
A
45
48
40
41
49
300
A
32
33
38
34
250
B
42
41
43
42
41
400
B
35
31
35
32
350
C
44
43
47
43
16
500
C
38
30
32
31
320
D
43
44
50
44
42
600
180
Demandas
350
450
200
380
420
D
31
34
36
35
Demandas
100
200
300
400
4.32 Plantear y resolver el problema como un modelo de
transporte:
4.37 Plantear y resolver el problema como un modelo de
transporte:
Tabla 4.47
Tabla 4.42
E
F
G
H
I
Ofertas
D
E
F
Ofertas
A
33
60
49
53
40
25
A
30
34
32
20
B
42
38
58
65
61
35
B
35
32
31
30
C
57
47
39
32
57
45
C
40
33
35
40
D
61
51
44
46
35
55
Demandas
25
38
27
Demandas
10
40
50
22
38
Problemas aplicados a la realidad
Problemas para resolver con tecnología
145
4 Problemas para resolver
UNIDAD
4.38 Plantear y resolver el problema como un modelo de
transporte:
4.43 Encontrar la asignación óptima en el problema:
Tabla 4.53
Tabla 4.48
A
E
1
4
7
9
10
A
B
C
D
Demandas
F
8
6
4
2
20
G
3
7
5
1
30
H
6
5
4
3
40
I
5
9
6
2
50
Ofertas
25
35
42
48
B
C
D
1
2
2
2
1
2
10
8
5
4
3
7
6
6
8
4
5
3
4
2
4.44 Encontrar la asignación óptima en el problema:
Tabla 4.54
III. Resolver los siguientes problemas de asignación.
4.39 Conseguir la asignación óptima en el siguiente problema:
Tabla 4.49
A
7
3
5
9
1
2
3
4
B
3
5
7
8
C
5
6
9
4
D
9
6
5
3
1
2
3
4
5
6
C
59
62
73
97
83
51
D
59
62
63
99
83
52
E
57
59
65
87
74
53
F
58
55
56
86
50
44
4.41 Obtener la asignación óptima en el problema:
Tabla 4.51
A
11
5
32
17
6
8
55
1
2
3
4
5
6
7
B
12
4
40
14
7
10
62
C
13
4
29
19
10
12
61
D
11
8
30
22
5
8
70
E
10
4
42
10
5
9
62
F
6
9
35
16
10
19
63
G
16
6
36
19
11
9
68
H
12
6
49
12
5
6
59
4.42 Encontrar la asignación óptima en el siguiente pro­
blema:
Tabla 4.52
1
2
3
146
A
1
4
0
B
2
3
2
C
3
2
2
D
4
0
1
Problemas aplicados a la realidad
C
D
7
9
9
2
5
9
8
4
3
2
4
9
2
4
8
2
6
6
Tabla 4.55
Tabla 4.50
B
61
73
65
100
85
47
B
8
4.45 Obtener la asignación óptima en el siguiente pro­
blema:
4.40 Encontrar la asignación óptima en el problema:
A
63
56
57
93
77
36
A
1
A
B
C
D
1
40
60
70
20
2
10
50
40
30
3
20
60
60
40
4
30
20
20
70
4.46 Encontrar la asignación óptima en el siguiente pro­
blema:
Tabla 4.56
A
B
C
D
E
F
G
1
2
2
4
9
4
4
2
2
5
3
3
2
5
5
4
3
3
5
5
4
5
4
1
4
6
4
7
5
2
3
2
5
8
3
2
6
5
8
1
6
7
2
5
3
1
6
8
7
2
4
1
5
6
2
7
4.47 Obtener la asignación óptima en el problema:
Tabla 4.57
A
B
C
D
E
1
160
130
200
200
60
2
135
120
160
175
65
3
140
155
140
170
75
4
50
80
100
80
80
5
55
105
80
75
85
Problemas para resolver con tecnología
Grupo Editorial Patria©
4.48 Encontrar la asignación óptima en el siguiente pro­
blema:
Tabla 4.58
A
B
C
D
1
8
23
17
21
2
26
25
15
20
3
17
14
14
17
4
11
16
11
10
4.53 Obtener la asignación óptima en el problema:
Tabla 4.63
1
2
3
4
A
5
1
6
8
B
3
2
9
8
C
4
8
3
1
D
2
5
3
8
4.54 Encontrar la asignación óptima en el problema:
4.49 Encontrar la asignación óptima en el problema:
Tabla 4.64
Tabla 4.59
A
B
C
D
1
6
5
4
3
2
7
3
2
6
3
1
4
3
9
4
2
6
5
4
1
2
3
4
A
6
12
9
11
B
4
10
9
3
C
11
2
6
8
D
2
6
8
13
4.55 Encontrar la asignación óptima en el siguiente pro­
blema:
4.50 Obtener la asignación óptima en el problema:
Tabla 4.65
Tabla 4.60
A
B
C
D
E
F
1
11
13
12
14
15
18
2
17
15
14
16
11
12
3
10
16
15
14
13
18
4
11
12
13
14
15
16
5
17
19
11
16
15
14
6
13
19
11
16
17
14
4.51 Obtener la asignación óptima en el siguiente pro­
blema:
Tabla 4.61
A
B
C
D
E
1
6
3
4
1
4
2
2
1
7
5
3
3
5
2
9
9
9
4
8
5
6
7
1
5
7
8
5
3
2
4.52 Encontrar la asignación óptima en el siguiente pro­
blema:
Tabla 4.62
1
2
3
4
A
45
82
69
24
B
36
25
14
58
C
25
26
35
38
D
59
25
36
29
4.56 Obtener la asignación óptima en el problema:
Tabla 4.66
1
2
3
4
A
11
13
14
17
B
19
15
16
14
C
12
13
15
17
D
19
16
13
14
4.57 Conseguir la asignación óptima en el problema:
Tabla 4.67
1
2
3
4
A
80
110
60
90
B
130
140
120
150
C
70
100
90
80
D
60
90
100
80
4.58 Encontrar la asignación óptima en el problema:
A
B
C
D
E
1
3
9
7
6
1
2
2
5
3
5
6
3
1
3
8
4
3
4
5
7
2
8
8
5
4
6
4
9
2
Problemas aplicados a la realidad
Tabla 4.68
1
2
3
4
Problemas para resolver con tecnología
A
15
20
35
45
B
20
15
22
80
C
25
28
30
60
D
75
50
40
55
147
UNIDAD
4
Programación lineal discreta
Problema reto
1
La fábrica de Tequila TEQMEX analiza la posibilidad de expandirse mediante la construcción
de una nueva fábrica, ya sea en la Ciudad de México o en la ciudad de Guadalajara, o dos
fábricas, una en ambas ciudades, si es preciso. Dentro de sus planes de expansión también
pretende construir un hiperalmacén, también en la Ciudad de México o en Guadalajara, o
uno en ambas. Para sus planes de expansión, la empresa debe tener en cuenta que el capital
disponible para las inversiones es de 20 millones de unidades monetarias.
Encontrar la mejor alternativa que maximice el valor presente neto total.
Tabla 4.69
Alternativa
Construir la fábrica en la Ciudad de México
Construir la fábrica en la ciudad de Guadalajara
Construir fábricas en la Ciudad de México y en la
ciudad de Guadalajara
Construir el hiperalmacén en la Ciudad de México
Construir el hiperalmacén en la ciudad de
Guadalajara
Construir hiperalmacenes en la Ciudad México y en
la ciudad de Guadalajara
Valor Presente Neto
19 millones de unidades monetarias
12 millones de unidades monetarias
Capital
15 millones de unidades monetarias
8 millones de unidades monetarias
28 millones de unidades monetarias
20 millones de unidades monetarias
15 millones de unidades monetarias
10 millones de unidades monetarias
8 millones de unidades monetarias
5 millones de unidades monetarias
20 millones de unidades monetarias
15 millones de unidades monetarias
Referencias Bibliográficas
Absil P. A. / Mahony R. / Sepulchre R. (2008). Optimization Algorithms on Matrix Manifolds.
EUA: Princeton University Press (Princeton and Oxford).
Baumeister Johann / Leitão Antonio. (2008). Imtrodução à Teoria de Controle e ProgramaçãoDinâmica. Río de Janeiro, Brasil: Instituto de Matemática Pura e Aplicada (IMPA).
ChvátalVašek. (1999). Linear Programming. New York, EUA: W. H. Freeman and Company.
Referencias electrónicas
Institute for Operations Research and Management Science.Disponible en:
https://www.informs.org
Sociedad Británica de Investigación Operativa en:
http://www.orsoc.org.uk/
INFORMS la Sociedad Americana de Investigación Operativa en:
http://www.informs.org/
Información genérica de Investigación de Operaciones:
http://opsresearch.com/cgi-bin/mainIndex.cgi/
Información general acerca de Investigación Operacional:
http://www.investigaciondeoperaciones.net
Sociedad Mexicana de Investigación de Operaciones:
http://smio.org.mx/smio/
148
UNIDAD
5
Algoritmos especiales:
el problema de
transporte
Luis Antonio Moncayo Martínez
Objetivos
Definir el problema de transporte como una red de flujos.
Modelar el problema de transporte por medio de programación lineal.
Determinar soluciones iniciales básicas para resolver el problema de transporte por el
método simplex.
Obtener soluciones óptimas al problema de transporte a partir de las soluciones básicas.
Definir el problema de asignación.
Obtener soluciones del problema de asignación mediante el uso de métodos heurísticos.
Determinar el modelo de programación lineal para obtener soluciones óptimas.
¿Qué sabes?
¿Cómo utilizar programación lineal para resolver un problema?
¿Cómo aplicar la condición de optimalidad en el método simplex?
¿Cómo aplicar la condición de factibilidad en el método simplex?
¿Cómo resolver sistemas de ecuaciones?
¿Cómo solucionar sistemas de desigualdades?
UNIDAD
5
Algoritmos especiales: el problema de transporte
5.1 Introducción al problema de transporte
El modelo de transporte es un caso especial en la programación lineal. El problema tiene como objetivo minimizar los costos de distribución de cierto número de unidades de las fuentes u orígenes a los
destinos. En el modelo más elemental, las fuentes son entidades que ofertan cierto número de unidades, mientras que los orígenes reciben cierto número de unidades. Esto implica que los orígenes son
proveedores de unidades y los destinos, constituyen las entidades que demandan estas.
El problema es muy común en la práctica. Por ejemplo, en un sistema logístico los orígenes pueden ser las plantas de producción con cierta capacidad instalada para un producto y los destinos los
almacenes que generan la demanda de este. El objetivo sería determinar el plan de distribución que
minimice los costos de transporte sujeto a capacidad instalada y a satisfacer la demanda.
De modo formal, se puede entender el problema de transporte como una red en donde algunos
nodos representan los orígenes o las fuentes que generan oferta (o) y otros constituyen los destinos
que generan la demanda (d ). Por su parte, los arcos representan una posible ruta entre los nodos (véase figura 5.1). Matemáticamente, tenemos i fuentes y k destinos, el costo de mandar una unidad por la
ruta o arco (i, k) tiene un costo de Cik.
C11
1
o1
1
d1
2
d2
k
d3
C21
C12
C22
2
o2
Ci
1
Demanda
Oferta
C1k
C2k
Ci
2
i
oi
Cik
Figura 5.1 Modelado del problema de transporte.
Una modificación que por lo común se hace al problema de transporte es anexar nodos intermedios,
llamados nodos de transbordo, los cuales tienen la función de recibir y enviar unidades; es decir, un
nodo de transbordo es un receptor con cierto número de unidades, que después envía a otro nodo. Si
se anexa un nodo de transbordo a la figura 5.1 esta se modifica, como se muestra en la figura 5.2.
Matemáticamente, ahora el problema tiene i fuentes, j transbordos y k destinos. El costo de transporte se divide en el costo de envío de unidades de las fuentes a los transbordos Cij y de los transbordos a los destinos Cjk.
o1
1
C11
C1j
150
o2
2
Cij
oi
C1k
C2j
Ci1
i
Figura 5.2 Modelación del problema de transbordo.
C12
1
C21
Alerta
Cuando al problema de
transporte se anexa un
nodo intermedio entre las
fuentes y los orígenes, se
presenta un problema de
transbordo. Por tanto, en lo
sucesivo nos referiremos a
este en todo el desarrollo de
la unidad.
C11
j
1
d1
2
d2
k
dk
Cj1
Cj2
Cjk
Grupo Editorial Patria©
5.2 Modelo de programación lineal del problema de transporte
En esta sección plantearemos el modelo de programación lineal (MPL) para el problema de transporte
y después lo extenderemos para el problema de transbordo. Por último, modelaremos el problema de
transporte, con el fin de generalizar su uso en cualquier red de transporte.
❚ MPL para el modelo de transporte
Para formalizar el problema de transporte, definiremos las variables de decisión como xik, el número de
unidades que se envían de la fuente i al destino k. De tal suerte, que la suma de todos los costos cikxik
constituye la función objetivo sujeta a no rebasar la capacidad de los nodos fuente y a que la demanda
de los nodos destino sea cubierta. Entonces, formalmente el modelo es el siguiente:
Min ∑ ∑c ik x ik
i
k
Sujeto a:
∑x ik ≤ oi para toda fuente i
i
∑x ik = di para todo origen k
k
xik ≥ 0
Problema resuelto
Una empresa ensambladora de automóviles sedán posee tres plantas, ubicadas en Saltillo, Silao y Hermosillo, respectivamente, con una capacidad de producción de un determinado tipo de sedán de 150,
250 y 100 autos por mes, respectivamente. Sus concesionarias ubicadas en Monterrey, Guadalajara,
Guanajuato y Puebla requieren 50, 200, 100 y 150 autos sedán, respectivamente, para este mes. Los
costos de envío de un auto de la planta a la concesionaria se describen en la tabla 5.1.
Tabla 5.1
Plantas (i )
Saltillo
Silao
Hermosillo
Monterrey
100
160
200
Concesionarias (k)
Guadalajara
Guanajuato
213
180
140
50
230
310
Puebla
250
200
350
Formular el MPL que minimiza los costos de transporte para cubrir la demanda de las concesionarias.
Solución
Las fuentes son las tres plantas y los orígenes las cuatro concesionarias, por lo que la variable de decisión
xik representa el número de autos sedán que se mandan de la planta i a la concesionaria k. Por tanto, el
MPL es:
Sujeto a:
Min 100x11 + 213x12 + 180x13 + 250x14 + 160x21 + 140x22
+ 50x23 + 200x24 + 200x31 + 230x32 + 310x33 + 350x34
x11 + x12 + x13 + x14 ≤ 150
x21 + x22 + x23 + x24 ≤ 250
x31 + x32 + x33 + x34 ≤ 100
x11 + x21 + x31 = 50
x12 + x22 + x32 = 200
x13 + x23 + x33 = 100
x14 + x24 + x34 = 150
xik ≥ 0
Alerta
Se dice que el problema
está balanceado cuando la
suma de la oferta es igual
a la suma de la demanda;
esto es:
∑o i = ∑d k
i
k
151
UNIDAD
5
Algoritmos especiales: el problema de transporte
❚ MPL para el modelo de transbordo
Para definir este modelo, es necesario definir dos variables: a) xij, que es la cantidad de unidades enviadas de las fuentes i a los transbordos j, y b) yjk, definida como la cantidad de unidades que son enviadas
del transbordo j al destino k. El MPL es, por tanto, el siguiente:
Min ∑ ∑C ij x ij + ∑ ∑C jk y jk
i
j
j
k
Sujeto a:
∑x ij ≤ oi para toda fuente i
i
∑x ij = ∑yjk para todo transbordo j
i
k
∑ yjk = dk para todo origen k
j
xij, yjk ≥ 0
La segunda restricción para los nodos de transbordo garantiza que la cantidad de producto que entra
al transbordo ∑x ij es igual a la cantidad que sale ∑yjk
i
k
Problema resuelto
Si la empresa referida en el problema anterior tiene dos centros de distribución ubicados en San Luis
Potosí y el Estado de México, respectivamente, con costos de distribución como se muestran en la tabla
5.2. ¿Cuál es el MPL que minimiza los costos totales de distribución?
Almacenes
(j)
Plantas
(i )
Tabla 5.2
Saltillo
Silao
Hermosillo
Almacenes (j)
SLP
Edo. Méx.
40
200
30
80
200
250
Monterrey
-
Concesionarias (k)
Guadalajara
Guanajuato
-
SLP
-
-
50
30
60
80
Edo. Méx.
-
-
80
80
60
40
Solución
El MPL es:
Sujeto a:
152
Puebla
-
Min 40x11 + 200x12 + 30x21 + 80x22 + 200x31 + 250x32 + 50y11
+ 30y12 + 60y13 + 80y14 + 80y21 + 80y22 + 60y23 + 40y24
x11 + x12 ≤ 150
x21 + x22 ≤ 250
x31 + x32 ≤ 100
x11 + x21 + x31 = y11 + y12 + y13 + y14
x12 + x22 + x32 = y21 + y22 + y23 + y24
y11 + y21 = 50
y12 + y22 = 200
y13 + y23 = 100
y14 + y24 = 150
xij, yjk ≥ 0
Grupo Editorial Patria©
Generalización del problema de transporte
En los dos problemas anteriores, presentados en las figuras 5.1 y 5.2, no existe ninguna relación (o
link) que una a los nodos fuente con los nodos destino. Si esto ocurriera, los MPL descritos antes en
esta unidad se tendrían que modificar. Para formular el modelo de la generalización del problema de
transporte, suponga la red de la figura 5.3 con seis nodos.
o1
d2
c12
1
2
c14
d4
i
cij = cji
c23
c34
4
3
c35
c45
j
5
c36
o6
6
c56
d5
Figura 5.3 Generalización del problema de transporte.
Aquí, la función objetivo aún es minimizar la suma de todos los costos. Sin embargo, solo hay una
restricción por nodo i que asegura la conservación de flujo; es decir, la cantidad de unidades que sale
del nodo es igual a la cantidad que entra. La oferta de los nodos fuente se representa con un vector
en dirección hacia el mismo nodo (i = 1, 6), mientras que la demanda en los nodos de destino se representa con un vector hacia afuera del nodo (i = 2, 4, 5), como se observa en la figura 5.3. No obstante,
también pueden existir nodos puramente de transbordo (i = 3).
Para formular el MPL, suponga que dos nodos, i, j, están unidos por el arco (i, j). La única variable
de decisión es xij, que es igual al número de unidades que se envían del nodo i al j. A continuación se
muestra este modelo:
Min ∑ ∑c ij x ij
i
j
Sujeto a:
∑ x ij + di = ∑ x ji + oi
i :( i , j )
para todo nodo i
i :( j ,i )
xij ≥ 0
Problema resuelto
Desarrollar el MPL de la figura 5.3.
Solución
Primero, ejemplificaremos el desarrollo de la restricción para los nodos i = 1, 3. Así, para el nodo
i = 1, los arcos con los que está conectado (1, j) son (1, 2) y (1, 4), por lo que la cantidad de unidades
que salen del nodo 1 es x12 + x14, no genera ninguna demanda; de este modo d1 = 0. Por su parte, los
arcos (j, 1), que representan los nodos de donde entran unidades al nodo 1, son (2, 1) y (4, 1). Por ende,
la cantidad de unidades que entran al nodo 1 es x21 + x41 + o1, ya que genera la oferta o1. Por último, la
restricción del nodo 1 es x12 + x14 = x21 + x41 + o1. Para el nodo 3, la cantidad que sale de este nodo es
x32 + x34 + x35 + x36 y la cantidad que entra es x23 + x43 + x53 + x63, y d1 = o1 = 0, ya que se trata de un nodo
de transbordo. El modelo completo se presenta a continuación:
Min c12x12 + c21x21 + c14x14 + c41x41 + c23x23 + c32x32 + c34x34 + c43x43
+ c36x36 + c63x63 + c35x35 + c53x53 + c54x54 + c45x45 + c56x56 + c65x65
153
UNIDAD
5
Algoritmos especiales: el problema de transporte
Sujeto a:
x12 + x14 = x21 + x41 + o1
x21 + x23 + d2 = x12 + x32
x32 + x34 + x35 + x36 = x23 + x43 + x53 + x63
x41 + x43 + x45 + d4 = x14 + x34 + x54
x53 + x54 + x56 + d54 = x35 + x45 + x65
x63 + x65 = x36 + x56 + o6
xij ≥ 0
5.3 Tabla simplex del problema de transporte
Alerta
Ya sea en el problema
de transbordo o en el
generalizado (véase figuras
5.2 y 5.3) hay nodos que
tanto envían como reciben
unidades; por tanto, estos
aparecen en las columnas
y los renglones de la tabla
simplex del problema de
transporte.
La tabla simplex para resolver el problema de transporte tiene una estructura diferente a la estudiada
en unidades anteriores. Para este problema, la tabla simplex es una matriz en donde los renglones
representan los nodos que proveen unidades a otros nodos y las columnas, constituyen los nodos
que reciben las unidades. Cada una de las celdas de la matriz inicial tiene dos datos: a) la variable que
representa la celda (xij ) y b) el costo de enviar una unidad de i a j(cij ).
Para poder construir esta tabla es indispensable que la demanda sea igual a la oferta, es decir
que el problema esté balanceado. Si esto no se cumple se deben emplear nodos ficticios, a los que
denominaremos f. Si la oferta es menor a la demanda, tenemos que agregar un nodo ficticio de oferta.
Esto representa agregar un renglón en la matriz y su oferta of es igual a la diferencia entre la demanda
y la oferta. Los costos de enviar una unidad de un nodo ficticio f a j es cero (cfj = 0), para todos los
nodos j. Por otro lado, cuando la oferta es mayor a la demanda agregamos una columna con demanda
df igual a la diferencia entre la demanda y la oferta. Los costos de recibir la demanda de los nodos i
es cero (cif = 0).
Problema resuelto
Determinar la tabla simplex inicial de la red de transporte del problema de la fábrica ensambladora de
autos sedán.
Solución
La capacidad (oferta) de las plantas (150 + 250 + 100 = 500) es igual al número de autos sedán requeridos (50 + 200 + 100 + 150 = 500) por las concesionarias (demanda). Por tanto, no hay necesidad de
nodos ficticios. Como se muestra en la tabla 5.1, las plantas son nodos que solo mandan automóviles y
las concesionarias son nodos que solo reciben unidades (véase tabla 5.3).
Tabla 5.3
Concesionarias (k)
1
Plantas (i )
2
3
1
x11
100
x12
213
x13
2
x21
160
x22
140
x23
3
x31
200
x32
230
x33
50
200
4
x14
250
150
50
x24
200
250
310
x34
350
100
180
100
150
Problema resuelto
Determinar la tabla simplex inicial de la red de transporte con centros de distribución representada en
la tabla 5.2.
154
Grupo Editorial Patria©
Solución
Los almacenes o nodos de transbordo envían y reciben unidades, por lo que aparecen tanto en los
renglones como en las columnas. El número de unidades que entran y salen de estos nodos es desconocido, por lo que a estos le damos el valor de B. Cuando se calcule la solución inicial le daremos un
valor muy grande a B, de manera que por el nodo puedan “pasar” todas las unidades. De acuerdo con
la tabla siguiente, algunos costos tienen el valor de M (un costo muy grande), ya que no existe un link
entre los dos nodos. Por ejemplo, el costo de mandar una unidad de la planta 1 (i = 1) a la concesionaria
3 (k = 3) es M, debido a que no existe un link (i, k) = (1, 3) (véase figura 5.2). Asimismo, algunos costos
también tienen el valor de cero, ya que el costo de enviar una unidad del almacén 1 al almacén 1 es
cero, lo mismo para el almacén 2, como se muestra en la tabla 5.4.
Tabla 5.4
Almacenes ( j )
Concesionarias ( k )
1
Plantas ( i )
Almacenes
(j)
2
1
2
3
4
1
x11
40
x12
200
M
M
M
M
150
2
x21
30
x22
80
M
M
M
M
250
3
x31
200
x32
250
M
M
M
M
100
1
0
M
y11
50
y12
30
y13
60
y14
80
B
2
M
0
y21
80
y22
80
y23
60
y24
40
B
B
B
50
200
100
150
Problema resuelto
Determinar la tabla simplex inicial del problema de la red de transporte. En este caso, los costos cij = cji
son c12 = 10, c14 = 20, c23 = 40, c34 = 55, c35 = 30, c36 = 50, c45 = 30 y c56 = 25, mientras que la demanda es
d2 = 10, d4 = 5 y d5 = 20, y la oferta es o1 = 20 y o6 = 15.
Solución
En este caso, primero se coloca un costo de M (un valor muy grande), en donde no existe un arco que
una a dos nodos, y el costo es cero cuando i = j. La demanda en el nodo 1 es 20 + B, ya que, además
de la oferta, este nodo puede recibir unidades de los nodos 2 y 4. La demanda en el nodo 2 es 10 +
B, porque requiere 10 unidades y puede enviar unidades a los nodos 1 y 3. La tabla 5.5 es la inicial del
problema de transporte.
Tabla 5.5
A(j)
1
1
2
De ( i )
0
M
3
10
x12
10
x21
3
4
2
0
M
0
20
M
x43
55
5
M
M
x53
30
6
M
M
x63
50
x41
B
10 + B
x14
40
x23
40
x32
4
B
x34
5
20
M
M
20 + B
M
M
M
B
50
B
M
B
56
B
0
15 + B
55
x35
30
0
x45
30
30
x54
M
5+B
6
0
x36
x56
56
x65
20 + B
B
155
UNIDAD
5
Algoritmos especiales: el problema de transporte
5.4 Métodos de aproximación para obtener
una solución básica inicial
Para aplicar el método simplex al problema de transporte, primero debemos obtener una solución inicial con M + N - 1 variables básicas. Donde M es el número de columnas y N el número de renglones
de la tabla inicial.
Existen varios métodos para crear la solución inicial. Aquí se estudiarán solo tres métodos: a) el
método de la esquina noroeste; b) el método del costo mínimo; c) el método de aproximación de
Vogel (MAV).
❚ Método de la esquina noroeste
En este método las variables básicas son las que están en la esquina noroeste de la tabla inicial. En este
caso, el valor de la variable es el valor máximo entre la oferta del renglón y la demanda de la columna.
En tanto, el valor mínimo se resta de la oferta y la demanda correspondientes. De acuerdo con esto,
el valor de la oferta o de la demanda es cero; en este caso, debemos eliminar de la tabla inicial el
renglón o la columna con oferta o demanda cero. No obstante, cuando, al mismo tiempo, la oferta y la
demanda de un renglón y una columna, respectivamente es cero, solo eliminamos ya sea el renglón o
la columna. Los empates se deciden de manera arbitraria.
Problema resuelto
Determinar la solución inicial del problema en la figura 5.1 por el método de la esquina noroeste.
Solución
Los pasos se describen a continuación:
a) La variable en la esquina noroeste corresponde a x11. En esta celda podemos colocar el valor mínimo
de la oferta de la planta 1 (150) y la demanda de la concesionaria 1 (50). El valor de 50 es restado
en el renglón (150 - 50 = 100) y la columna (50 - 50 = 0), al tiempo que los demás valores de oferta
y demanda permanecen iguales. Ahora bien, eliminamos la columna 1, ya que su demanda es cero.
Esto es representado con una línea vertical sobre la columna, como se muestra en la tabla 5.6.
Tabla 5.6
Concesionarias (k)
Plantas (i )
1
2
3
213
x13
180
x14
x23
100
50
x24
x33
310
1
2
x21
160 x22
100
140
3
x31
200 x32
230
50
4
100 x12
100
x11
50
200
100
250
200
50
350
x34
100
A
B
C
D
E
F
150
100
0
B
0
0
0
0
250
250
250
150
50
0
E
0
100
100
100
100
100
100
0
150
A
0 A
200
100
150
B
0
100
100
150
C
0
0 C
100
150
D
0
0
0 D
150
E
0
0
0
100
F
0
0
0
0
b) La tabla ahora solo está formada por las concesionarias 2, 3, 4 y las plantas 1, 2, 3. La variable en la
esquina noroeste es x12; así, en esa celda podemos colocar 100 unidades, que corresponden al valor
mínimo de la oferta de 100 y demanda de 200. En este caso, se elimina el renglón de la planta 1
porque su oferta es cero (esto se representa con una línea horizontal sobre el renglón).
156
Grupo Editorial Patria©
c) La tabla ahora solo está formada por las concesionarias 2, 3, 4 y las plantas 2, 3. La esquina noroeste
está en la variable x22, donde podemos colocar 100 unidades. La demanda de la concesionaria 2 se
hace cero y se elimina su columna.
d) La tabla está formada por las concesionarias 3, 4 y las plantas 2, 3. La esquina noroeste está en la
variable x23 y podemos colocar 100 unidades, que es el mínimo entre 100 (columnas) y 150 (renglones). La demanda de la columna 3 es cero y se elimina.
e) Solo quedan las plantas 2, 3 y la concesionaria 4. La esquina noroeste está en la variable x24, donde
podemos colocar 50 unidades. El mínimo valor de la oferta es de 50 y la demanda de 150. Eliminamos el renglón de la planta 2.
f ) Ahora solo queda la celda x34, donde colocamos las 100 unidades restantes. Nótese que, al final, la
oferta y la demanda deben ser iguales, en este caso de 100 unidades.
El costo de transporte de la tabla inicial es 100(50) + 213(100) + 140(100) + 50(100) + 200(50) +
350(100) = 90 300
Problema resuelto
Determinar la solución inicial del problema correspondiente a la figura 5.2 por el método de la esquina
noroeste.
Solución
Se deben generar 10 variables básicas. M = 5 renglones y N = 6 columnas (M + N - 1). En este caso,
tenemos que darle un valor a B que aparece en la tabla inicial. Este valor debe ser lo suficientemente
grande para que “pasen” por el nodo toda la oferta y toda la demanda que se le envíe. Por regla general, este valor debe ser mayor o igual a la oferta o la demanda (como el problema debe estar cuadrado
la oferta es igual a la demanda). Ya que para este problema B ≥ 500, nosotros seleccionamos B = 500.
El resultado final se muestra en la tabla 5.7.
Como se puede observar, en esta tabla ocurren dos situaciones. Primero, en la iteración C la variable
en la esquina noroeste es x31. La oferta de la planta 3 y la demanda del almacén 1 son de 100. Ahora
bien, arbitrariamente eliminamos el renglón de la planta 3. En segundo lugar, en la iteración D la esquina noroeste está en la celda que forman el almacén 1 como renglón y el almacén 1 como columna
(nótese que este costo es cero). La oferta es 100 y la demanda es 0, el mínimo es 0 y, por tanto, colocamos 0 unidades en esa celda. Si no se hace esta operación, no se generarán las 10 variables básicas.
Alerta
Como este problema es
similar al anterior, no se
desarrollaron todas las
iteraciones, solo se señalan
dos cuestiones particulares
en la iteración C y D.
Tabla 5.7
Almacenes ( j )
40 x12
200
M
Concesionarias (k)
2
3
M
30 x22
80
M
M
M
M
200 x32
250
M
M
M
M
1
Planta ( i )
1
2
Almacenes
3
1
x11
150
x21
250
x31
100
0
500
0
500
350
100
0
D 0
0
0
0
0
0
0
1
M y11
0 y21
M
2
A
B
C
D
E
F
G
H
I
J
2
500
500
500
500
500
E 0
0
0
0
0
0
M
50
y12
30
y13
60
y14
80
80
y22
200
200
200
200
200
200
200
200
200
H 0
0
0
80
y23
100
100
100
100
100
100
100
100
100
100
I 0
0
60
y24
150
150
150
150
150
150
150
150
150
150
150
J 0
40
0
50
50
50
50
50
50
50
50
G 0
0
0
0
4
M
B
C
D
E
F
G
H
I
J
0
0
0
0
0
0
0
0
0
B
0
0
0
0
0
0
0
0
0
100 100 100
C
0
0
0
0
0
0
0
0
500 500 500 500 500
0
F
0
0
0
0
0
500 500 500 500 500 500 500 450 250 150
0
150
A
A
0
250 250
157
5
UNIDAD
Algoritmos especiales: el problema de transporte
Problema resuelto
Determinar la solución inicial del problema correspondiente a la figura 5.3 por el método de la esquina
noroeste.
Solución
En este caso: B = 35. La solución se muestra en la tabla 5.8.
Tabla 5.8
A(j)
1
1
2
De
(i)
35
x41
20
5
M
40
M
M
M
55 x35
30 x36
50
30
M
0 x56
56
20
M x43
55
M x53
30 x54
30
M x63
50
M
45
45
25
C 0
0
0
0
0
0
0
0
0
A
M
10
25
M
6
20
40
M
35
A 0
0
0
0
0
0
0
0
0
0
0
0 x23
4
M x14
M x32
0
6
3
10
25
5
A
B
C
D
E
F
G
H
I
J
K
0 x12
10
x21
3
4
2
35
35
35
35
25
E 0
0
0
0
0
0
0
0 x34
10
30
40
40
40
40
40
40
30
G 0
0
0
0
0
0 x45
5
35
x65
15
55
55
55
55
55
55
55
55
50
15
J 0
0
56
0
35
35
35
35
35
35
35
35
35
35
35
35
0
B
B
0
C
D
E
F
G
H
I
J
K
0
0
0
0
0
0
0
0
0
55
20
35
35
35
10
D
0
0
0
0
0
0
0
0
35
35
35
35
35
10
F
0
0
0
0
0
0
35
35
35
35
35
35
35
5
H
0
0
0
0
35
25
35
35
35
35
35
35
35
I
0
0
0
50
50
50
50
50
50
50
50
50
50
35
0
❚ Método del costo mínimo
Este método consiste en colocar la mayor cantidad de unidades en la celda que tiene el menor costo.
Al igual que en el método anterior, la cantidad de unidades colocadas es el mínimo número de la
oferta del renglón y la demanda de la columna. Así, aquí la cantidad mínima se resta y se elimina
la columna o renglón respectivo que resulte cero.
Problema resuelto
Determinar la solución inicial de las figuras 5.1, 5.2 y 5.3 mediante el método del costo mínimo.
Solución
Recuérdese que la solución inicial para la figura 5.1 debe contener seis variables básicas (M + N - 1 =
3 + 4 - 1). A continuación los pasos para crear la tabla.
a) El costo mínimo es 50, localizado en la celda que corresponde a la variable x23. El valor mínimo entre
la oferta (250) y la demanda (100) es 100, que corresponde a la demanda de la concesionaria 3. Por
tanto, se elimina esa columna (lo que se representa por una línea vertical en la tabla 5.9).
158
Grupo Editorial Patria©
Tabla 5.9
Plantas ( i )
1
100 x12
1
x11
2
x21
160 x22
3
x31
200 x32
50
50
50
50
C 0
0
0
0
A
B
C
D
E
F
50
Concesionarias ( k )
2
3
213 x13
180 x14
140 x23
50 x24
230
310 x34
150
200
200
50
50
D 0
0
0
100
x33
4
100
A 0
0
0
0
0
05
A
B
C
D
150
150
150
100
50
200 250
150
0
B
0
0
0
0
100
100
100
100
100
0
250
50
350
100
100
150
150
150
150
150
100
0
E
0
E
F
0
b) La tabla ahora está formada por las columnas 1, 2, 4 y los renglones 1, 2, 3. El costo mínimo de esta
tabla es 140, que corresponde a la variable x22, en donde podemos colocar 150 unidades, que es
el mínimo valor entre 150 (oferta) y 100 (demanda); acto seguido eliminamos el renglón 2.
c) Las columnas 1, 2, 4 y los renglones 1, 3 ahora forman la tabla. El costo mínimo corresponde a 100
en la variable x11. Podemos colocar 50 unidades que corresponden a la demanda de la concesionaria 1 y se elimina esa columna.
d ) La tabla tiene las columnas 2, 4 y los renglones 1, 3. El costo mínimo corresponde a 213 en la variable x12. Colocamos 50 unidades en esa celda, que es el mínimo entre 50 (demanda) y 100 (oferta).
Eliminamos la columna 2 y restamos el valor de la oferta y demanda.
e) La tabla está formada por la columna 4 y el renglón 1, 3. El mínimo costo (250) corresponde a la variable x14 y colocamos 50 unidades que corresponden a la oferta de la planta 1. Borramos el renglón 1.
f ) Ahora solo queda la celda x34 y ahí colocamos las 100 unidades restantes.
Para la figura 5.2, la solución inicial se muestra en la tabla 5.10. Recuérdese que M es un número muy
grande que tiende al infinito y que los empates se rompen arbitrariamente.
Tabla 5.10
Almacenes ( j )
Almacenes ( j )
Plantas ( i )
1
1
x11
2
x21
3
x31
1
40 x12
0
30 x22
1
200
M
50
80
M
0
200 x32
0
250
M
Concesionarias (k)
2
3
M
100
M
100
100
M
4
M
A
M
M
M
50
M
M
100
M y11
50 y12
30
y13
60
y14
80
0 y21
80 y22
80
y23
60
y24
40
500
M
2
A
B
C
D
E
F
G
H
I
J
2
500
500
0
0
C 0
0
0
0
0
0
0
0
500
500
0
0
D 0
0
0
0
0
0
0
50
50
50
50
50
E 0
0
0
0
0
0
200
200
200
200
200
200
100
G 0
0
0
0
100
100
100
100
100
100
100
100
H 0
0
0
B
C
D
E
G
H
I
J
0
0
0
0
250 250 250 250 250 250 250 150
50
I
0
0
100 100 100 100 100 100 100 100 100 100
0
150 150 150 150 150 100
F
F
0
A
0
0
0
0
0
0
0
0
0
0
500 500
B
0
0
0
0
0
0
0
0
0
500
150
150
150
150
150
150
150
150
150
150
0
159
5
UNIDAD
Algoritmos especiales: el problema de transporte
La solución inicial por el método del costo mínimo de la figura 5.3 se muestra en la tabla 5.11.
Tabla 5.11
A(j)
1
1
2
De
(i)
35
x21
3
4
x41
0 x12
10
0 x23
35
M x32
40
20
M x43
35
M x53
35
A 0
0
0
0
0
0
0
0
0
0
0
5
35
35
35
0
0
0
0
0
0
I 0
0
0
6
M
M
5
40
M
M
M
0 x34
55 x35
30 x36
50
0 x45
30
M
0 x56
56
56
0
35
0
5
20
55
M x63
45
45
10
10
10
10
10
G 0
0
0
0
0
4
M x14
10
M
6
3
10
M
5
A
B
C
D
E
F
G
H
I
J
K
2
30 x54
30
50
M
40
40
40
40
5
5
5
5
H 0
0
0
0
35
x65
15
55
55
55
55
55
20
20
20
20
20
5
0
35
35
35
35
35
35
35
F 0
0
0
0
0
0
A
B
C
D
E
F
G
H
I
J
K
55
20
20
20
20
20
20
10
5
5
5
0
35
35
B
0
0
0
0
0
0
0
0
0
0
35
35
35
C
0
0
0
0
0
0
0
0
0
35
35
35
35
D
0
0
0
0
0
0
0
0
35
35
35
35
35
0
E
0
0
0
0
0
0
50
50
50
50
50
50
15
15
15
15
J
0
0
❚ Método de Aproximación de Vogel (MAV)
Alerta
El MAV es el método que por
lo común genera mejores
soluciones iniciales. La
aplicación de este método
no garantiza una solución
óptima, sin embargo se
llega más rápido a esta.
Este método se basa en un concepto llamado costo de penalización, definido como la diferencia entre
los dos costos de transporte menores por columna o renglón, y se calcula por cada columna y cada
renglón.
Este método se desarrolla en tres pasos: 1) calcula el costo de penalización para cada renglón
y para cada columna; 2) selecciona la columna o el renglón con el mayor costo de penalización y 3)
coloca la mayor cantidad de unidades en la celda con el menor costo de transporte en la columna o el
renglón, con el mayor costo de penalización.
Las demás operaciones son las mismas que en los dos métodos anteriores: eliminar la columna o
renglón cuya demanda u oferta, respectivamente, se haga cero.
Problema resuelto
Determinar la solución inicial de las figuras 5.1, 5.2 y 5.3 mediante el MAV.
Solución
Para la figura 5.1, a continuación se enumeran los pasos para crear la solución inicial.
a) Se calculan los costos de penalización por columna y por renglón. Para la planta 1, este costo es la
diferencia entre los costos de las celdas x13 y x11, 180 - 100 = 80 (los costos más bajos). Así, para
la planta 2 el costo es 140 - 50 = 90 y para la planta 3 es 230 - 200 = 30. Para las concesionarias 1, 2,
3 y 4 el costo de penalización es 160 - 100 = 60; 213 - 140 = 73, 180 - 50 = 130 y 250 - 200 = 50. De
todos los costos de penalización, el mayor corresponde a la concesionaria 3 (columna 3) con un valor
de 130. Entonces, colocamos la mayor cantidad de unidades en la celda con el costo de transporte
160
Grupo Editorial Patria©
más pequeño, que en este caso corresponde a la celda x23 con un costo de 50. De esta manera, la
oferta de la columna 3 se hace cero y se elimina de la tabla.
b) Los costos de penalización para las plantas 1, 2 y 3 son 213 - 100 = 113, 160 - 140 = 20 y 230 - 200
= 30, respectivamente. Para las concesionarias 1, 2 y 4 los costos de penalización son los mismos que
en a): 60, 73 y 50, respectivamente. Aquí, el valor más grande es 113 que corresponde a la planta
1. Ahora, colocamos la mayor cantidad de unidades en la celda x11, ya que tiene el menor costo de
transporte (100) en ese renglón. La oferta es 150 y la demanda 50, de manera que solo podemos
colocar 50 unidades; la demanda de la concesionaria 1 se vuelve cero y se elimina de la tabla.
Tabla 5.12
Concesionarias ( k )
Plantas ( i )
1
2
3
4
100 x12
213 x13
180 x14
100
250
x21
160 x22
100
140 x23
100
50 x24
200
x31
200 x32
100
230
310 x34
1
x11
2
3
50
x33
50
350
50
200
100
150
A
60
50
73
200
130
A 0
50
150
B
60
B 0
73
200
0
50
150
0
73
100
0
50
150
0
73
D 0
0
50
150
0
0
0
0
C
D
E
A
B
C
D
E
150
80
150 113 100
37
100
37
100
0
250
90
150
20
150
60
150
60
50
0
100
30
100
30
100 120
C
0
0
0
c) Los costos de penalización para la concesionaria 2 son de 73 y para la concesionaria 4, de 50. Para
la planta 1 es 250 - 213 = 37, para la planta 2 es 200 - 140 = 60 y para la planta 3 es 350 - 230 =
120. El mayor es 120, que corresponde a la planta 3, de manera que tenemos que colocar la mayor
cantidad de unidades en el costo de transporte mínimo de ese renglón; en tanto, 230 es el menor
y corresponde a x32, así que colocamos 100 (mínimo de la oferta y la demanda) y eliminamos el renglón 3, ya que su oferta se hace cero.
d ) Los costos de penalización permanecen iguales. El mayor es de 73, que corresponde a la columna
2, y el menor es de 140, que corresponde a la celda x22, en donde podemos colocar 100 unidades
(mínimo de 100 y 150). Eliminamos la columna 2.
e) Finalmente, queda la columna 4 y los renglones 1 y 2. De tal manera que tenemos que colocar la
oferta restante (150) en la columna 4.
La solución inicial para la figura 5.2 se muestra en la tabla 5.13. Donde, M es un valor muy grande; de
manera que cuando sea el segundo valor más pequeño la diferencia entre M y el más pequeño sigue
siendo M. Por ejemplo, en el paso c) en la columna de la concesionaria 1 el costo mínimo es 50 y el
siguiente mínimo es M, de tal manera que el costo de penalización es M - 50 = M, ya que M tiende al
infinito.
Nótese que en el paso b) el costo de penalización más grande es de 80, que corresponde a la
columna del almacén 2. En tanto, la oferta y la demanda son de 500. En este caso, colocamos las
500 unidades en la celda con el costo de transporte igual a 0 y borramos al renglón del almacén 2.
161
x21
x31
2
3
80
0
170
0
170
0
170
0
170
0
170
0
170
0
30
350
30
350
30
350
30
350
30
350
170
350
170
100
0
B
C
D
E
F
G
H
I
0
80
500
30
350
A
500
0 y21
M
250
80
200
M y11
0
2
0
200 x32
30 x22
40 x12
500
100
250
150
1
Almacenes ( j )
500
2
1
x11
1
Tabla 5.13
Plantas ( i )
162
0
0
0
0
0
0
M
C 0
30
50
30
50
50
50
1
80 y22
50 y12
M
M
M
0
0
0
0
0
M
D 0
M
200
50
200
50
200
200
200
2
80
30
M
M
M
0
0
0
0
M
E 0
M
100
M
100
0
100
0
100
100
y23
100
y13
3
Concesionarias (k)
60
60
M
M
M
y24
y14
0
0
M
G 0
M
0
M
150
M
150
M
150
40
150
40
150
150
150
0
4
40 500
40
30
80 500
50
50
250
150 160
100
M
M
M
A
500
500
100
250
A
0
40
30
50
50
B
B
0
500
100
250
0
30
50
50
C
0
450
100
250
0
M
50
50
D
0
250
100
250
0
M
50
50
E
150
100
250
0
M
50
50
F
0
F
0
100
250
0
50
50
G
0
0
100
250
0
50
50
H
100
H
0
I
0
0
0
0
0
5
Almacenes ( j )
UNIDAD
Algoritmos especiales: el problema de transporte
(i)
De
45
10
45
10
45
10
45
10
45
10
45
10
10
35
10
35
10
35
20
35
10
35
10
5
10
5
C
D
E
F
G
H
I
0
45
10
35
10
B
0
45
10
35
10
A
J
10
45
10
35
5
35
10
M
20
M x32
10
6
30
0 x12
M
x41
x21
1
5
4
3
2
1
Tabla 5.14
2
M x63
M x53
M x43
40
0 x23
10
0
0
0
0
0
0
0
0
G 0
25
M
40
20
E 0
40
20
40
20
40
20
40
20
15
25
40
20
50
30 x54
55
0 x34
40
M x14
A(j)
0
10
0
10
0
10
35
30
0
35
30
35
3
4
M x65
30
0 x45
55 x35
M
20
0
0
0
0
0
0
D 0
20
26
55
30
55
30
55
30
35
20
5
56
0 x56
30
30 x36
M
M
0
0
0
0
0
0
0
0
0
A 0
35
35
50
6
0
56
M
50
M
M
50
35
35
35
35
55
50
30
20
30
10
10
A
15
35
35
35
35
55
6
30
20
40
10
10
B
15
35
35
B
0
35
55
6
30
20
10
10
C
15
C
0
35
0
35
55
6
20
10
10
D
15
0
15
0
35
55
M
20
10
10
E
15
0
15
0
35
55
0
20
10
10
F
15
0
F
0
0
35
55
M
10
10
G
15
0
0
0
35
30
0
10
10
H
15
0
0
0
35
H
0
0
10
I
15
0
0
0
I
0
0
J
0
0
0
0
0
0
La solución inicial para la red en la figura 5.3 por el MAV se muestra en la tabla 5.14. En este caso, de igual manera que en el ejemplo anterior, M es un valor que tiende
al infinito.
Grupo Editorial Patria©
163
UNIDAD
5
Algoritmos especiales: el problema de transporte
5.5 Métodos para obtener la solución óptima
Después de determinar una solución inicial por alguno de los tres métodos anteriores (esquina noroeste, mínimo costo o MAV), se procede a determinar la solución óptima. Para ello, utilizamos la condición
de optimalidad, que determina la variable que entra, y la condición de factibilidad, que determina la
variable que sale de la solución.
Para determinar la variable entrante, entre las que no son básicas en la solución inicial, se calcula
el coeficiente del renglón de la función objetivo (el renglón de z en el método simplex) mediante el
empleo del método de los multiplicadores. En este método se asignan los multiplicadores ui y vi al
renglón i y a la columna j, que corresponde a cada variable xij. Entonces, para cada variable básica en la
solución inicial tenemos que calcular el valor de la siguiente ecuación ui + vi = cij, recuérdese que cij es
el costo de transportar una unidad de i a j. Una vez resuelto el sistema de ecuaciones formado por las
variables básicas, debemos determinar el valor de la siguiente ecuación ui + vi - cij para cada variable
no básica y la más positiva es la que formará parte de la solución.
Ejemplificaremos este proceso mediante el uso de la solución inicial generada por el método del
costo mínimo de la red, de la figura 5.1.
La tabla 5.15 muestra la solución inicial.
Tabla 5.15
Concesionarias ( k )
1
1
Plantas ( i )
2
3
2
100
x11
3
213
x12
50
4
180
x13
160
x21
50
140
x22
x23
150
200
x31
50
x24
310
x34
200
100
230
x32
250
x14
50
x33
350
100
50
200
100
150
250
100
150
❚ Iteración 1
Recuérdese que el número de variables básicas es N + M - 1; en este caso: 4 + 3 - 1 = 6.
Variables básicas
x11
u1 + v1 = c11
u1 + v1 = 100
x12
u1 + v2 = c12
u1 + v2 = 213
x14
u1 + v4 = c14
u1 + v4 = 250
x22
u2 + v2 = c22
u2 + v2 = 140
x23
u2 + v3 = c23
u2 + v3 = 50
x34
u3 + v4 = c34
u3 + v4 = 350
Ahora bien, el sistema de seis ecuaciones tiene que ser resuelto. Para este fin, asignamos el valor de
cero al primer multiplicador. Esto es u1 = 0, por tanto de la primer ecuación v1 = 100, de la segunda
v2 = 213 y de la tercera v4 = 250. De la cuarta ecuación u2 = c22 - v2 = 140 - 213 = -73. De la
quinta v3 = c23 - u2 = 50 - (-73) = 123. Finalmente, de la última ecuación u3 = c34 - v4 = 350 - 250 = 100.
En resumen, u1 = 0, u2 = -73, u3 = 100, v1 = 100, v2 = 213, v3 = 123 y v4 = 250.
Para las variables que no son básicas:
Variables no básicas
164
x13
u1 + v3 - c13
0 + 123 - 180 = -57
x21
u2 + v1 - c21
-73 + 100 - 160 = -133
x24
u2 + v4 - c24
-73 + 250 - 200 = -23
Grupo Editorial Patria©
x31
u3 + v1 - c31
100 + 100 - 200 = 0
x32
u3 + v2 - c32
100 + 213 - 230 = 83
x33
u3 + v3 - c33
100 + 123 - 310 = -87
El algoritmo termina cuando el resultado de todas las ecuaciones ui + vi - cij es menor o igual a cero.
En este ejemplo, existe un valor positivo (en caso de haber más de uno, se selecciona el que sea más
positivo), que corresponde a la variable x32, con un valor de 83. Esta variable será básica en la siguiente
iteración.
Para determinar la variable básica que va a salir, tenemos que proceder de la siguiente manera:
a partir de la celda de la variable que va a entrar x32 formamos una figura con solo líneas horizontales
y verticales. En los vértices de esta figura debe haber una variable básica, como se muestra en la tabla 5.16.
Tabla 5.16
Concesionarias ( k )
1
1
Plantas ( i )
2
3
2
100 x12
x11
50
213
160 x22
180
x13
140
50 + t
x23
50
x24
310
x34
200
100
200 x32
230
x33
350
100 - t
100
t
50
250
x14
50
150
x31
4
50 - t
50
x21
3
200
100
150
250
100
150
La cantidad que vamos a colocar en la nueva variable básica x32 es igual a t. Ahora bien, debemos restar
esta cantidad y sumarla a las cantidades asignadas en las celdas en los vértices de la figura formada.
En la tabla 5.16, los vértices de la figura están en las celdas x12, x14 y x34. En este caso, la cantidad
t la restamos de las 100 unidades asignadas en la celda x34(100 - t) y la sumamos de las 50 unidades
asignadas en la celda x14(50 + t); por último, la restamos de la celda x12(50 - t). Nótese que en sentido
inverso a las manecillas del reloj restamos y sumamos la cantidad t. Al final, el valor de t se resta a
las unidades asignadas a las celdas. Cada uno de estos valores tiene que ser mayor o igual a cero de
acuerdo con la condición de factibilidad; por tanto, 100 - t ≥ 0, 50 + t ≥ 0 y 50 - t ≥ 0. De esta manera,
el mínimo valor de t para que las desigualdades sean mayores o iguales a cero es t = 50. De manera
que a la celda x32 se asignan 50 unidades y la celda x12 se convierte en no básica, ya que se hace cero
su valor (50 - 50 = 0). En x14 la cantidad asignada es 50 + 50 = 100 y en x34 es 100 - 50 = 50.
Al final de la primera iteración, la tabla queda como se muestra a continuación (véase tabla 5.17).
Alerta
Cuando el valor de dos
o más variables básicas
se hace cero, solo una de
estas es no básica y a las
demás se les asignan cero
unidades.
Tabla 5.17
Concesionarias ( k )
1
1
Plantas ( i )
2
3
2
100 x12
x11
3
213
4
180
x13
250
x14
50
100
160 x22
x21
140
x23
150
200 x32
x31
230
x33
50
50
200
50
x24
310
x34
200
100
350
50
100
150
250
100
150
Con un costo de 50(100) + 100(250) + 150(140) + 100(50) + 50(230) + 50(350) = 85 000
165
UNIDAD
5
Algoritmos especiales: el problema de transporte
❚ Iteración 2
De la última tabla:
Variables básicas
x11
u1 + v1 = c11
u1 + v1 = 100
x14
u1 + v4 = c14
u1 + v4 = 250
x22
u2 + v2 = c22
u2 + v2 = 140
x23
u2 + v3 = c23
u2 + v3 = 50
x32
u3 + v2 = c32
u3 + v2 = 230
x34
u3 + v4 = c34
u3 + v4 = 350
Resolviendo el sistema de ecuación y colocando el valor de u1 = 0, tenemos los siguientes resultados:
v1 = 100, v2 = 130, v3 = 40, v4 = 250, u2 = 10 y u3 = 100.
Variables no básicas
x12
u1 + v2 - c12
0 + 130 - 213 = -83
x13
u1 + v3 - c13
0 + 40 - 180 = -140
x21
u2 + v1 - c21
10 + 100 - 160 = -50
x24
u2 + v4 - c24
10 + 250 - 200 = 60
x31
u3 + v1 - c31
100 + 100 - 200 = 0
x33
u3 + v3 - c33
100 + 40 - 310 = -170
La variable básica es x24, ya que es la más positiva (60). Luego, procedemos a hacer la figura con líneas
rectas y horizontales, en donde uno de los vértices está en x24, mientras que en los demás hay variables
básicas. La tabla 5.18 muestra el resultado.
Tabla 5.18
Concesionarias ( k )
1
1
Plantas ( i )
2
3
2
100
x11
3
213
x12
4
180
x13
250
x14
50
100
160
x21
200
x31
140
x22
150
150 - t
230
50
50 + t
x32
50
x23
50
x24
200
100
t
x33
310
x34
350
50 - t
50
200
100
150
250
100
150
La reasignación de unidades está representada en la tabla 5.19.
Tabla 5.19
Concesionarias ( k )
1
1
Plantas ( i )
2
3
2
100
x11
3
213
x12
4
180
x13
250
x14
50
100
160
x21
140
x22
200
x31
50
100
200
50
310
x33
100
200
x24
100
230
x32
50
x23
100
350
x34
150
250
100
150
El costo es 50(100) + 100(250) + 100(140) + 100(50) + 50(200) + 100(230) = 82 000. Este valor es menor
que en la iteración anterior (85 000).
166
Grupo Editorial Patria©
❚ Iteración 3
De la última tabla:
Variables básicas
x11
u1 + v1 = c11
u1 + v1 = 100
x14
u1 + v4 = c14
u1 + v4 = 250
x22
u2 + v2 = c22
u2 + v2 = 140
x23
u2 + v3 = c23
u2 + v3 = 50
x24
u2 + v4 = c24
u2 + v4 = 200
x32
u3 + v2 = c32
u3 + v2 = 230
La solución de las ecuaciones es la siguiente si colocamos el valor de u1 = 0, v1 = 100, v2 = 190,
v3 = 100, v4 = 250, u2 = -50 y u3 = 40.
Variables no básicas:
x12
u1 + v2 - c12
0 + 190 - 213 = -23
x13
u1 + v3 - c13
0 + 100 - 180 = -80
x21
u2 + v1 - c21
-50 + 100 - 160 = -110
x31
u3 + v1 - c31
40 + 100 - 200 = -60
x33
u3 + v3 - c33
40 + 100 - 310 = -170
x34
u3 + v4 - c34
40 + 250 - 350 = -60
Como todos los valores son negativos, el algoritmo se detiene y la solución se obtiene de la última tabla.
El costo es de 82 000 y lo obtenemos cuando enviamos de la planta 1, 50 unidades a la concesionaria 1 y 100 unidades a la 2; de la planta 2, 100 unidades a la concesionaria 2, 100 unidades a la 3 y
50 unidades a la cuatro; y de la planta 3, 100 unidades a la concesionaria 2.
Problema resuelto
Determinar la solución óptima de la red en la figura 5.3 mediante el uso de la solución inicial generada
con el MAV.
Solución
Tabla 5.20
A(j)
1
1
2
De
(i)
4
M
x14
5
6
20
M
M
M
M
M
25
10
x21
0
40
x23
35
M
40
x32
0
x34
55
x35
30
0
x45
30
50
x36
35
20
x41
M
55
x43
15
M
5
6
3
10
x12
30
3
4
2
0
M
30
x53
x54
M
20
30
0
56
x56
35
M
5
M
10
35
50
x63
0
45
M
x65
56
0
35
0
55
35
35
35
35
50
35
167
UNIDAD
5
Algoritmos especiales: el problema de transporte
❚ Iteración 1
El número de variables básicas es 6 + 6 - 1 = 11. De la tabla de la solución inicial, tenemos:
Variables básicas:
x11
u1 + v1 = c11
u1 + v1 = 0
x14
u1 + v4 = c14
u1 + v4 = 20
x22
u2 + v2 = c22
u2 + v2 = 0
x33
u3 + v3 = c33
u3 + v3 = 0
x44
u4 + v4 = c44
u4 + v4 = 0
x45
u4 + v5 = c45
u4 + v5 = 30
x55
u5 + v5 = c55
u5 + v5 = 0
x61
u6 + v1 = c61
u6 + v1 = M
x62
u6 + v2 = c62
u6 + v2 = M
x63
u6 + v3 = c63
u6 + v3 = 50
x66
u6 + v6 = c66
u6 + v6 = 0
Si definimos u1 = 0, entonces: u2 = 0, u3 = M - 50, u4 = -20, u5 = -50, u6 = M, v1 = 0, v2 = 0, v3 = 50 - M,
v4 = 20, v5 = 50 y v6 = -M.
Variables no básicas:
168
x12
u1 + v2 - c12
0 + 0 - 10 = -10
x13
u1 + v3 - c13
0 + (50 - M) - M = -2M + 50
x15
u1 + v5 - c15
0 + 50 - M = -M + 50
x16
u1 + v6 - c16
0 + (-M) - (-M) = 0
x21
u2 + v1 - c21
0 + 0 - 10 = -10
x23
u2 + v3 - c23
0 + (50 - M) - 40 = -M + 10
x24
u2 + v4 - c24
0 + 20 - M = -M + 20
x25
u2 + v5 - c25
0 + 50 - M = -M + 50
x26
u2 + v6 - c26
0 + (-M) - M = -2M
x31
u3 + v1 - c31
(M - 50) + 0 - M = -50
x32
u3 + v2 - c32
(M - 50) + 0 - 40 = M - 90
x34
u3 + v4 - c34
(M - 50) + 20 - 55 = M - 85
x35
u3 + v5 - c35
(M - 50) + 50 - 30 = M - 30
x36
u3 + v6 - c36
(M - 50) + (-M) - 50 = -100
x41
u4 + v1 - c41
-20 + 0 - 20 = -40
x42
u4 + v2 - c42
-20 + 0 - M = -M - 20
x43
u4 + v3 - c43
-20 + (50 - M) - 55 = -M - 25
x46
u4 + v6 - c46
-20 + (-M) - M = -2M - 20
x51
u5 + v1 - c51
-50 + 0 - M = -M - 50
x52
u5 + v2 - c52
-50 + 0 - M = -M - 50
x53
u5 + v3 - c53
-50 + (50 - M) - 30 = -M - 30
x54
u5 + v4 - c54
-50 + 20 - 30 = -60
x56
u5 + v6 - c56
-50 + (-M)- 56 = -M - 106
x64
u6 + v4 - c64
M + 20 - M = 20
x65
u6 + v5 - c65
M + 50 - 56 = M - 6
Grupo Editorial Patria©
En este caso, hay cinco variables con valores positivos: x32, x34, x35, x64 y x65.Tendríamos que tomar la
de valor más positivo, pero como M es un valor muy grande, cuatro de las variables tienen un valor muy
parecido cuando M tiende a infinito. De tal manera que entre las cuatro con M al azar seleccionamos
x65 y formamos la figura como en la tabla 5.21.
Tabla 5.21
A(j)
1
0
1
2
4
3
10
x12
4
M
0
40
x23
6
M
M
M
M
25 - t
25
10
x21
5
20
x14
30 + t
30
M
35
M
3
De
(i)
2
40
x32
0
x34
55
x35
30
0
x45
30
50
x36
35
20
x41
M
x43
55
15 + t
15
M
5
M
30
x53
20 - t
20
30
x54
M
0
56
x56
35
M
6
M
5-t
5
x63
10
35
50
M
56
x65
0
45
0
35
t
35
40
55
55
35
35
35
35
50
35
La mínima cantidad que puede tomar t es 5 para que el valor de las desigualdades sean mayores o
iguales a cero. Después de reasignar las cantidades, la tabla queda de la siguiente manera.
Tabla 5.22
A(j)
1
0 x12
1
2
4
3
10
4
M
x14
35
5
6
20
M
M
M
M
M
20
10
x21
0
40
x23
35
M
3
De
(i)
2
40
x32
0
x34
55
x35
30
0
x45
30
50
x36
35
20
x41
M
x43
55
20
M
5
M
x53
30
M
15
30
x54
0
56
x56
35
M
6
M
10
35
x63
50
M
0
45
56
x65
5
35
40
0
35
55
55
35
35
35
35
50
35
El costo es 35(0) + 20(20) + 35(0) + 35(0) + 20(0) + 15(30) + 35(0) + 10(M) + 0(50) + 5(56) + 35(0)
= 10M + 1 130.
169
UNIDAD
5
Algoritmos especiales: el problema de transporte
❚ Iteración 2
Variables básicas:
x11
u1 + v1 = c11
u1 + v1 = 0
x14
u1 + v4 = c14
u1 + v4 = 20
x22
u2 + v2 = c22
u2 + v2 = 0
x33
u3 + v3 = c33
u3 + v3 = 0
x44
u4 + v4 = c44
u4 + v4 = 0
x45
u4 + v5 = c45
u4 + v5 = 30
x55
u5 + v5 = c55
u5 + v5 = 0
x62
u6 + v2 = c62
u6 + v2 = M
x63
u6 + v3 = c63
u6 + v3 = 50
x65
u6 + v5 = c65
u6 + v5 = 56
x66
u6 + v6 = c66
u6 + v6 = 0
Definimos u1 = 0 y el resto de los valores al resolver el sistema de ecuaciones es: u2 = -M + 6, u3 = -44,
u4 = -20, u5 = -50, u6 = 6, v1 = 0, v2 = M - 6, v3 = 44, v4 = 20, v5 = 50 y v6 = -6.
Variables no básicas:
170
x12
u1 + v2 - c12
0 + (M - 6) - 10 = M - 16
x13
u1 + v3 - c13
0 + 44 - M = -M + 44
x15
u1 + v5 - c15
0 + 50 - M = -M + 50
x16
u1 + v6 - c16
0 + (-6) - M = -M - 6
x21
u2 + v1 - c21
(-M + 6) + 0 - 10 = -M - 4
x23
u2 + v3 - c23
(-M + 6) + 44 - 40 = -M + 10
x24
u2 + v4 - c24
(-M + 6) + 20 - M = -2M + 26
x25
u2 + v5 - c25
(-M + 6) + 50 - M = -2M + 56
x26
u2 + v6 - c26
(-M + 6) + (-6) - M = -2M
x31
u3 + v1 - c31
-44 + 0 - M = -M - 44
x32
u3 + v2 - c32
-44 + (M - 6) - 40 = M - 90
x34
u3 + v4 - c34
-44 + 20 - 55 = -79
x35
u3 + v5 - c35
-44 + 50 - 30 = -24
x36
u3 + v6 - c36
-44 + (-6) - 50 = -100
x41
u4 + v1 - c41
-20 + 0 - 20 = -40
x42
u4 + v2 - c42
-20 + (M - 6) - M = -26
x43
u4 + v3 - c43
-20 + 44 - 55 = -31
x46
u4 + v6 - c46
-20 + (-6) - M = -M - 26
x51
u5 + v1 - c51
-50 + 0 - M = -M - 50
x52
u5 + v2 - c52
-50 + (M - 6) - M = -56
x53
u5 + v3 - c53
-50 + 44 - 30 = -36
x54
u5 + v4 - c54
-50 + 20 - 30 = -60
x56
u5 + v6 - c56
-50 + (-6) - 56 = -112
x61
u6 + v1 - c61
6 + 0 - M = -M + 6
x64
u6 + v4 - c64
6 + 20 - M = -M + 26
Grupo Editorial Patria©
Aquí, dos variables tienen el valor más positivo x12 y x32, y como M tiende al infinito su valor es casi
igual, por lo que aleatoriamente seleccionamos x12 como la nueva variable básica. De manera que la
figura que formamos se presenta en la tabla 5.23.
Tabla 5.23
A(j)
1
0
1
2
4
3
10
x12
35
4
M
10
x21
0
6
M
M
M
M
20 - t
20
40
x23
5
20
x14
t
M
35
M
3
De
(i)
2
40
x32
0
x34
55
x35
30
0
x45
30
50
x36
35
20
x41
M
55
x43
20 + t
20
M
5
M
30
x53
15 - t
15
30
x54
M
0
56
x56
35
M
6
M
10 - t
10
35
50
x63
M
0
45
56
x65
5+t
5
35
40
0
35
55
55
35
35
35
35
50
35
El valor mínimo de t para que los valores en las celdas que forman la figura sean mayores o iguales a
cero es 10 (10 - t ≥ 0). Por tanto, la asignación queda como a continuación.
Tabla 5.24
A(j)
1
0
1
2
10
4
4
M
x14
0
5
6
20
M
M
M
M
M
10
t
10
x21
3
10
x12
35
40
x23
35
M
3
De
(i)
2
40
x32
0
x34
55
x35
30
0
x45
30
50
x36
35
20
x41
M
55
x43
30
M
5
M
30
x53
M
5
30
x54
0
56
x56
35
M
6
M
50
x63
M
0
35
45
56
x65
15
35
40
0
35
55
55
35
35
35
35
50
35
Con un costo de 35(0) + 10(10) + 10(20) + 35(0) + 35(0) + 30(0) + 5(30) + 35(0) + 0(50) + 15(56) + 35(0)
= 1 290.
171
UNIDAD
5
Algoritmos especiales: el problema de transporte
❚ Iteración 3
De la última tabla:
Variables básicas:
x11
u1 + v1 = c11
u1 + v1 = 0
x12
u1 + v2 = c12
u1 + v2 = 10
x14
u1 + v4 = c14
u1 + v4 = 20
x22
u2 + v2 = c22
u2 + v2 = 0
x33
u3 + v3 = c33
u3 + v3 = 0
x44
u4 + v4 = c44
u4 + v4 = 0
x45
u4 + v5 = c45
u4 + v5 = 30
x55
u5 + v5 = c55
u5 + v5 = 0
x63
u6 + v3 = c63
u6 + v3 = 50
x65
u6 + v5 = c65
u6 + v5 = 56
x66
u6 + v6 = c66
u6 + v6 = 0
Definimos u1 = 0 y el resto de los valores al resolver el sistema de ecuaciones es: u2 = -10, u3 = -44,
u4 = -20, u5 = -50, u6 = 6, v1 = 0, v2 = 10, v3 = 44, v4 = 20, v5 = 50 y v6 = -6.
Variables no básicas:
x13
u1 + v3 - c13
0 + 44 - M = -M + 44
x15
u1 + v5 - c15
0 + 50 - M = -M + 50
x16
u1 + v6 - c16
0 + (-6) - M = -M - 6
x21
u2 + v1 - c21
(-10) + 0 - 10 = -20
x23
u2 + v3 - c23
(-10) + 44 - 40 = -6
x24
u2 + v4 - c24
(-10) + 20 - M = -M + 10
x25
u2 + v5 - c25
(-10) + 50 - M = -M + 40
x26
u2 + v6 - c26
(-10) + (-6) - M = -M - 16
x31
u3 + v1 - c31
-44 + 0 - M = -M - 44
x32
u3 + v2 - c32
-44 + 10 - 40 = -74
x34
u3 + v4 - c34
-44 + 20 - 55 = -79
x35
u3 + v5 - c35
-44 + 50 - 30 = -24
x36
u3 + v6 - c36
-44 + (-6) - 50 = -100
x41
u4 + v1 - c41
-20 + 0 - 20 = -40
x42
u4 + v2 - c42
-20 + 10 - M = -M - 10
x43
u4 + v3 - c43
-20 + 44 - 55 = -31
x46
u4 + v6 - c46
-20 + (-6) - M = -M - 26
x51
u5 + v1 - c51
-50 + 0 - M = -M - 50
x52
u5 + v2 - c52
-50 + 10 - M = -M - 40
x53
u5 + v3 - c53
-50 + 44 -30 = -36
x54
u5 + v4 - c54
-50 + 20 - 30 = -60
x56
u5 + v6 - c56
-50 + (-6) - 56 = -112
x61
u6 + v1 - c61
6 + 0 - M = -M + 6
x62
u6 + v2 - c62
6 + 10 - M = -M + 16
x64
u6 + v4 - c64
6 + 20 - M = -M + 26
Como todos los valores son negativos, el algoritmo termina, el valor óptimo es 1 290 y el plan de distribución lo representamos mediante la siguiente figura.
172
Grupo Editorial Patria©
o1 = 20
d2 = 10
x12 = 10
1
2
x14 = 40
d4 = 5
4
3
x63 = 0
x45 = 5
5
o6 = 15
6
x65 = 15
d5 = 20
Figura 5.4
5.6 Problema de asignación
El problema de asignación puede describirse de la siguiente manera: suponga que tiene n tareas (proyectos, lotes de producción, etc.) y m trabajadores (equipos, máquinas, etc.) que pueden desarrollar
cualquier tarea. La pregunta es: ¿qué tarea debe realizar cada trabajador para minimizar el costo de
sus labores?
Debe notar la similitud que tiene este problema con el de transporte. En los dos problemas se
pretende “asignar” una cantidad que ofertan los orígenes a una demanda generada por los destinos.
En particular, para el problema de asignación se oferta un trabajo por cada origen y se demanda un
trabajador por cada destino.
Alerta
El número de trabajos debe
ser igual al número de
trabajadores, es decir se
debe formar una matriz
cuadrada (n = m) de
tamaño n × m.
Al hacer esta similitud, es posible formular el problema de asignación mediante el uso de la variable binaria de decisión xnm = 1, si la tarea n es hecha por el trabajador m y xnm = 0 de otra manera. El
modelo de programación lineal se muestra a continuación:
Min ∑ ∑c nm x nm
n
m
Sujeto a:
∑x nm = 1 para toda tarea n
m
∑x nm = 1 para todo trabajador m
n
Problema resuelto
Una empresa tiene cinco lotes de producción
que se pueden manufacturar en cinco diferentes celdas de manufactura. Desarrollar el modelo de programación lineal que minimice los
costos de asignar los lotes a las celdas (véase
tabla 5.25).
Tabla 5.25
Celdas de producción
Lotes
A
B
C
D
E
1
6
12
3
11
15
2
4
2
7
1
10
3
8
11
10
7
11
4
16
19
12
23
21
5
9
5
7
6
10
173
UNIDAD
5
Algoritmos especiales: el problema de transporte
Solución
En este caso, n = 1, 2, 3, 4, 5 y m = A, B, C, D, E. Por tanto, la variable binaria está definida como
xnm = 1 si la celda de producción m manufactura el lote de producción n. xnm = 0 de otra manera.
La función objetivo es la siguiente:
Min 6
x1A + 12x1B + 3x1C + 11x1D + 15x1E + 4x2A + 2x2B + 7x2C + x2D + 10x2E + 8x3A + 11x3B + 10x3C
+ 7x3D + 11x3E + 16x4A + 19x4B + 12x4C + 23x4D + 21x4E + 9x5A + 5x5B + 7x5C + 6x5D + 10x5E
Sujeto a:
x1A + x1B + x1C + x1D + x1E = 1
x2A + x2B + x2C + x2D + x2E = 1
x3A + x3B + x3C + x3D + x3E = 1
x4A + x4B + x4C + x4D + x4E = 1
x5A + x5B + x5C + x5D + x5E = 1
x1A + x2A + x3A + x4A + x5A = 1
x1B + x2B + x3B + x4B + x5B = 1
x1C + x2C + x3C + x4C + x5C = 1
x1D + x2D + x3D + x4D + x5D = 1
x1E + x2E + x3E + x4E + x5E = 1
xnm = {1, 0}
5.7 Método para obtener la solución óptima
del problema de asignación
Para obtener la solución óptima del problema anterior podemos utilizar el algoritmo para solucionar
el problema de transporte.
Problema resuelto
La tabla inicial se muestra a continuación. La oferta y la demanda son de uno en todos los renglones.
Tabla 5.26
Celdas de producción
A
Lotes
B
C
D
E
1
x1A
6
x1B
12
x1C
3
x1D
11
x1E
15
1
2
x2A
4
x2B
2
x2C
7
x2D
1
x2E
10
1
3
x3A
8
x3B
11
x3C
10
x3D
7
x3E
11
1
4
x4A
16
x4B
19
x4C
12
x4D
23
x4E
21
1
5
x5A
9
x5B
5
x5C
7
x5D
6
x5E
10
1
1
1
1
1
1
Solución
Primero generamos la solución inicial por el método de aproximación de Voguel; el resultado se
muestra en la tabla 5.27. Para tal efecto, la solución inicial debe contener nueve variables básicas
(5 + 5 - 1).
A continuación, se describen las iteraciones para obtener la solución óptima por el método simplex
para el transporte.
174
Grupo Editorial Patria©
Tabla 5.27
Celdas de producción
A
1
2
Lotes
3
4
5
A
B
C
D
E
B
6
x1A
C
12 x1C
x1B
D
3
E
11
x1D
A
15
x1E
1
3
B
1
3
C
1
3
1
4
x2A
2
x2B
1
x2D
10
x2E
1
1
1
8
x3A
11 x3C
x3B
16 x4B
1
10
9
x5A
19 x4C
0
7
x3D
12
A
0
0
0
0
1
1
1
1
1
1
1
1
1
2
x4E
E
0
21
1
4
1
4
1
10
1
1
1
1
B
4
1
4
1
4
1
0
7
x5C
0
1
23
x4D
11
x3E
0
5
x5B
0
0
0
x4A
C
E
0
7
x2C
D
6
x5D
x5E
1
0
0
0
0
1
1
1
1
1
2
3
4
5
1
1
1
1
0
1
2
6
4
1
1
1
0
1
0
1
2
1
7
4
4
1
0
0
0
1
8
8
2
16
10
D 0
1
0
0
8
8
2
1
0
0
1
10
0
0
❚ Iteración 1
De la tabla anterior definimos las siguientes ecuaciones para las variables básicas.
Variables básicas:
x1C
u1 + vC = c1C
u1 + vC = 3
x2D
u2 + vD = c2D
u2 + vD = 1
x3D
u3 + vD = c3D
u3 + vD = 7
x3E
u3 + vE = c3E
u3 + vE = 11
x4A
u4 + vA = c4A
u4 + vA = 16
x4B
u4 + vB = c4B
u4 + vB = 19
x4C
u4 + vC = c4C
u4 + vC = 12
x4E
u4 + vE = c4E
u4 + vE = 21
x5B
u5 + vB = c5B
u5 + vB = 5
El valor de las variables, si definimos el valor u1 = 0, son: u2 = -7, u3 = -1, u4 = 9, u5 = -5, vA = 7,
vB = 10, vC = 3, vD = 8 y vE = 12.
Para las variables no básicas resolvemos las siguientes ecuaciones.
Variables no básicas:
x1A
u1 + vA - c1A
0+7-6=1
x1B
u1 + vB - c1B
0 + 10 - 12 = -2
x1D
u1 + vD - c1D
0 + 8 - 11 = -3
x1E
u1 + vE - c1E
0 + 12 - 15 = -3
175
UNIDAD
5
Algoritmos especiales: el problema de transporte
x2A
x2B
x2C
x2E
x3A
x3B
x3C
x4D
x5A
x5C
x5D
x5E
u2 + vA - c2A
u2 + vB - c2B
u2 + vC - c2C
u2 + vE - c2E
u3 + vA - c3A
u3 + vB - c3B
u3 + vC - c3C
u4 + vD - c4D
u5 + vA - c5A
u5 + vC - c5C
u5 + vD - c5D
-7 + 7 - 4 = -4
-7 + 10 - 2 = 1
-7 + 3 - 7 = -11
-7 + 12 - 10 = -5
-1 + 7 - 8 = -2
-1 + 10 - 11 = -2
-1 + 3 - 10 = -8
9 + 8 - 23 = -6
-5 + 7 - 9 = -7
-5 + 3 - 7 = -9
-5 + 8 - 6 = -3
u5 + vE - c5E
-5 + 12 - 10 = -3
En este caso, hay dos variables no básicas positivas con el mismo valor x1A = x2B = 1. Arbitrariamente
seleccionamos x1A y formamos la figura, en donde hay una variable básica en los vértices, como se
muestra en la tabla 5.28.
Tabla 5.28
Celdas de producción
A
1
2
Lotes
3
4
5
B
6
x1A
C
12
x1B
4
x2A
2
x2B
E
x1D
11
x1E
15
x2D
1
x2E
10
7
x3E
11
1-t
1
t
D
3
x1C
7
x2C
1
8
x3A
11
x3B
10
x3C
x3D
0
16
x4A
1-t
1
9
x5A
19
x4B
12
x4C
0
5
23
x4D
7
x5C
21
x4E
0+t
0
x5B
1
0
6
x5D
10
x5E
1
1
1
1
1
1
1
1
1
1
1
El mínimo valor de t es t = 1, para que las ecuaciones en los vértices sean mayor o igual a cero. Haciendo las sumas y las restas la tabla se modifica de la siguiente manera.
Tabla 5.29
Celdas de producción
A
1
2
Lotes
3
4
5
x1A
C
D
E
x1B
12
x1C
3
x1D
11
x1E
15
4
x2B
2
x2C
7
x2D
1
x2E
10
7
x3E
11
1
x2A
1
8
x3A
11
x3B
10
x3C
x3D
0
16
x4A
19
x4B
0
9
x5A
12
x4C
0
1
23
x4D
1
5
x5B
21
x4E
0
7
x5C
6
x5D
10
x5E
1
1
176
B
6
1
1
1
1
1
1
1
1
1
Grupo Editorial Patria©
Nótese que podemos sacar dos variables al hacer las sumas y las restas x1C = x4A = 0. Aleatoriamente,
seleccionamos x1C como variable saliente.
El costo de esta solución es: 1(6) + 1(1) + 0(7) + 1(11) + 0(16) + 0(19) + 1(12) + 0(21) + 1(5) = 35
❚ Iteración 2
Las variables básicas después de hacer la primera iteración son las siguientes.
Variables básicas:
x1A
u1 + vA = c1A
u1 + vA = 6
x2D
u2 + vD = c2D
u2 + vD = 1
x3D
u3 + vD = c3D
u3 + vD = 7
x3E
u3 + vE = c3E
u3 + vE = 11
x4A
u4 + vA = c4A
u4 + vA = 16
x4B
u4 + vB = c4B
u4 + vB = 19
x4C
u4 + vC = c4C
u4 + vC = 12
x4E
u4 + vE = c4E
u4 + vE = 21
x5B
u5 + vB = c5B
u5 + vB = 5
Si hacemos u1 = 0, entonces: u2 = -6, u3 = 0, u4 = 10, u5 = -4, vA = 6, vB = 9, vC = 2, vD = 7 y vE = 11.
La solución de las ecuaciones generadas para las variables no básicas es:
Variables no básicas:
x1B
u1 + vB - c1B
0 + 9 - 12 = -3
x1C
u1 + vC - c1C
0 + 2 - 3 = -1
x1D
u1 + vD - c1D
0 + 7 - 11 = -4
x1E
u1 + vE - c1E
0 + 11 - 15 = -4
x2A
u2 + vA - c2A
-6 + 6 - 4 = -4
x2B
u2 + vB - c2B
-6 + 9 - 2 = 1
x2C
u2 + vC - c2C
-6 + 2 - 7 = -11
x2E
u2 + vE - c2E
-6 + 11 - 10 = -5
x3A
u3 + vA - c3A
0 + 6 - 8 = -2
x3B
u3 + vB - c3B
0 + 9 - 11 = -2
x3C
u3 + vC - c3C
0 + 2 - 10 = -8
x4D
u4 + vD - c4D
10 + 7 - 23 = -6
x5A
u5 + vA - c5A
-4 + 6 - 9 = -7
x5C
u5 + vC - c5C
-4 + 2 - 7 = -9
x5D
u5 + vD - c5D
-4 + 7 - 6 = -3
x5E
u5 + vE - c5E
-4 + 11 - 10 = -3
La variable no básica con valor más positivo es x2B = 1, por tanto debe entrar en la solución en esta iteración. La figura que se forma con esta variable en un vértice queda como se muestra a continuación.
177
UNIDAD
5
Algoritmos especiales: el problema de transporte
Tabla 5.30
Celdas de producción
A
1
2
Lotes
3
4
5
B
x1A
C
D
6
x1B
12
x1C
3
x1D
4
x2B
2
x2C
7
x2D
E
11
x1E
15
1
x2E
10
1
x2A
t
8
x3A
16
x4A
11
x3B
19
x4B
0
9
x5A
5
x5B
12
x4C
0-t
0
10
x3C
1
1-t
0
0+t
7
x3D
23
x4D
11
x3E
1-t
1
21
x4E
1
0+t
0
7
x5C
6
x5D
10
x5E
1
1
1
1
1
1
1
1
1
1
1
El valor mínimo de t en las ecuaciones formadas es t = 0. Al hacer las sumas y las restas, tres variables
pueden salir de la solución x3D = x4B = x4E = 0. Aleatoriamente, seleccionamos x4B como variable saliente.
La tabla resultante es:
Tabla 5.31
Celdas de producción
A
1
2
Lotes
3
4
5
B
x1A
6
x1B
4
x2B
C
D
12
x1C
3
x1D
2
x2C
7
x2D
E
11
x1E
15
1
x2E
10
7
x3E
1
x2A
0
8
x3A
1
t
11
x3B
10
x3C
x3D
0
16
x4A
19
x4B
12
x4C
0
23
x4D
9
5
x5B
21
x4E
1
x5A
11
1
0
7
x5C
6
x5D
10
x5E
1
1
1
1
1
1
El costo de esta solución es: 1(6) + 0(2) + 1(1) + 0(7) + 1(11) + 0(16) + 1(12) + 0(21) + 1(5) = 35.
❚ Iteración 3
Las variables básicas ahora son las siguientes:
178
Variables básicas:
u1 + vA = c1A
x1A
u2 + vB = c2B
x2B
u2 + vD = c2D
x2D
u3 + vD = c3D
x3D
u3 + vE = c3E
x3E
u4 + vA = c4A
x4A
u4 + vC = c4C
x4C
u4 + vE = c4E
x4E
x5B
u5 + vB = c5B
u1 + vA = 6
u2 + vB = 2
u2 + vD = 1
u3 + vD = 7
u3 + vE = 11
u4 + vA = 16
u4 + vC = 12
u4 + vE = 21
u5 + vB = 5
1
1
1
1
1
Grupo Editorial Patria©
Colocamos u1 = 0, y el valor de las demás variables es: u2 = -6, u3 = 0, u4 = 10, u5 = -3, vA = 6, vB = 8,
vC = 2, vD = 7 y vE = 11.
El valor de las ecuaciones de las variables no básicas es:
Variables no básicas:
x1B
u1 + vB - c1B
0 + 8 - 12 = -4
x1C
u1 + vC - c1C
0 + 2 - 3 = -1
x1D
u1 + vD - c1D
0 + 7 - 11 = -4
x1E
u1 + vE - c1E
0 + 11 - 15 = -4
x2A
u2 + vA - c2A
-6 + 6 - 4 = -4
x2C
u2 + vC - c2C
-6 + 2 - 7 = -11
x2E
u2 + vE - c2E
-6 + 11 - 10 = -5
x3A
u3 + vA - c3A
0 + 6 - 8 = -2
x3B
u3 + vB - c3B
0 + 8 - 11 = -3
x3C
u3 + vC - c3C
0 + 2 - 10 = -8
x4B
u4 + vB - c4B
10 + 8 - 19 = -1
x4D
u4 + vD - c4D
10 + 7 - 23 = -6
x5A
u5 + vA - c5A
-3 + 6 - 9 = -6
x5C
u5 + vC - c5C
-3 + 2 - 7 = -8
x5D
u5 + vD - c5D
-3 + 7 - 6 = -2
x5E
u5 + vE - c5E
-3 + 11 - 10 = -2
Como el valor de las ecuaciones no básicas es mayor o igual
a cero, entonces el algoritmo termina y la solución es:
Tabla 5.32
Costo = 35 y de la última tabla:
Lote
Celda de producción
1
A
2
D
3
E
4
C
5
B
5.8 Método húngaro
Para encontrar la solución al problema de asignación, podemos utilizar el modelo de transporte, como
en la sección anterior, o emplear el método húngaro, que a continuación se describe.
Problema resuelto
Resolver el problema anterior por el método húngaro.
Tabla 5.33
Celdas de producción
Lotes
A
B
C
D
E
1
6
12
3
11
15
2
4
2
7
1
10
3
8
11
10
7
11
4
16
19
12
23
21
5
9
5
7
6
10
179
UNIDAD
5
Algoritmos especiales: el problema de transporte
Solución
❚ Paso 1
Por cada renglón, identificar el costo mínimo y restarlo a cada elemento del renglón. Después, hacer lo
mismo por columna. El resultado de esta operación se muestra en la figura 5.5.
Celdas de producción
Lotes
A
B
C
D
E
min
1
6
12
3
11
15
3
2
4
2
7
1
10
1
3
8
11
10
7
11
7
4
16
19
12
23
21
12
5
9
5
7
6
10
5
A
B
C
D
E
1
3
9
0
8
12
2
3
1
6
0
9
3
1
4
3
0
4
4
4
7
0
11
9
Celdas de producción
Lotes
5
4
0
2
1
5
min
1
0
0
0
4
Celdas de producción
Lotes
A
B
C
D
E
1
2
9
0
8
8
2
2
1
6
0
5
3
0
4
3
0
0
4
3
7
0
11
5
5
3
0
2
1
1
Figura 5.5
❚ Paso 2
Utilizando el número menor de líneas horizontales y verticales, cubrir todos los ceros que se generan al
restar los mínimos costos por renglón y columna. Este resultado se muestra en la tabla 5.34.
Tabla 5.34
Celdas de producción
Lotes
A
B
C
D
E
1
2
9
0
8
8
2
2
1
6
0
5
3
0
4
3
0
0
4
3
7
0
11
5
5
3
0
2
1
1
Si el mínimo número de líneas es igual al número de tareas, el algoritmo se termina; de otra manera,
ir al paso 3.
En este caso, el mínimo número de líneas es de cuatro y hay cinco trabajos, por tanto vamos al paso 3.
180
Grupo Editorial Patria©
❚ Paso3
De los números que no están cubiertos, seleccionamos el menor. Este valor es restado de los números
no cubiertos y sumado a los números en los cruces de las líneas. En este caso, los números que no están
cubiertos son: 2, 9, 8, 8, 3, 7, 11 y 5. De estos, 2 es el menor, el cual se resta a los números no cubiertos
y se suma a los números en los cruces de las líneas, como se muestra en la tabla 5.35.
Tabla 5.35
Celdas de producción
Lotes
A
B
C
D
E
1
0
7
0
6
6
2
2
1
8
0
5
3
0
4
5
0
0
4
1
5
0
9
3
5
3
0
4
1
1
Ahora, volvemos a dibujar el mínimo número de líneas que cubra a todos los ceros.
Tabla 5.36
Celdas de producción
Lotes
A
B
C
D
E
1
0
7
0
6
6
2
2
1
8
0
5
3
0
4
5
0
0
4
1
5
0
9
3
5
3
0
4
1
1
El algoritmo se ha terminado, ya que el mínimo número de líneas para cubrir todos los ceros es cinco,
igual que el número de lotes y celdas de producción.
La solución la obtenemos de la siguiente manera: cada cero en la última tabla es una posible asignación; por ejemplo, el lote 3 lo podemos manufacturar en la celda A, D o E, ya que en estas existen
ceros. Sin embargo, si el lote es 3 asignado a D, el lote 2 no puede ser asignado en las otras celdas, ya
que en el renglón de este lote no hay otro cero.
De esta manera, la solución es la siguiente:
Tabla 5.37
Lote
Celda de producción
1
A
2
D
3
E
4
C
5
B
181
UNIDAD
5
Algoritmos especiales: el problema de transporte
Problema resuelto
Un viaje de la Ciudad de México (MÉX) a San Luis Potosí (SLP) dura seis horas en autobús. Los horarios
de salidas del autobús en ambas ciudades se muestran en la tabla 5.38.
Tabla 5.38
Ruta número
Salida de MÉX
Llegada a SLP
Línea número
Salida de SLP
Llegada a MÉX
a
06:00
12:00
1
05:30
11:30
b
7:30
13:30
2
09:00
15:00
c
11:30
17:30
3
15:00
21:00
d
19:00
01:00
4
18:30
00:30
e
00:30
06:30
5
00:00
06:00
El costo del servicio depende del tiempo de la ruta, es decir del tiempo que dura un viaje redondo. Por
reglamento de la compañía, un solo conductor debe hacer un viaje redondo y entre la hora de llegada
y la de salida de una ruta a otra debe de haber un intervalo de más de 4 horas. La compañía cuenta con
dormitorios tanto en la Ciudad de México como en San Luis Potosí, para que la ruta empiece en cualquier ciudad. ¿Qué número de ruta y qué número de línea debe hacer cada conductor para minimizar
el tiempo de espera?
Solución
Primero, debemos determinar la espera para cada posible ruta. Por ejemplo, la ruta a-1 (MÉX-SLP,
SLP-MÉX) tiene una espera de 17.5 horas, ya que la ruta a sale a las 6 y llega a las 12; en tanto, la salida
de la línea 1 es a las 5:30 de SLP. Pero, si esta misma ruta empieza en SLP, ruta 1-a (SLP-MÉX, MÉX-SLP)
tiene una espera de 18.5; en este caso, la salida de SPL es a las 5:30 y la llegada a MÉX es a las 11:30,
y la salida de MÉX de la ruta a es a las 6.En la tabla 5.39 se muestra la tardanza de cada ruta.
Tabla 5.39
SLP
a
MÉX
MÉX
1
2
3
4
5
17.5
21.0
M
6.5
12.0
a
b
c
d
e
1
18.5
20.0
M
7.5
13.0
2
15.0
16.5
20.5
M
9.5
3
9.0
10.5
14.5
22.0
M
b
16.0
19.5
M
5.0
10.5
c
12.0
15.5
21.5
M
6.5
d
4.5
8.0
14.0
17.5
23.0
4
5.5
7.0
11.0
18.5
M
e
23.0
M
8.5
12.0
17.5
5
M
M
5.5
13.0
18.5
SLP
Como se puede observar, la ruta a-3 no es factible, ya que la espera es de tres horas y la restricción
indica que la espera debe ser de más de cuatro. En estos casos, asignamos el valor de M (un valor muy
grande que tiende a infinito).
Para determinar la asignación, primero debemos seleccionar la ruta que genere la mínima espera;
por ejemplo, la ruta a-1 genera una tardanza de 17.5 horas, que es menor a la ruta inversa 1-a de
18.5 horas de tardanza. Por este motivo, es preferible que la ruta comience en MÉX y no en SLP. El
resumen lo encontramos en la tabla 5.40.
Tabla 5.40
17.5
15.0
9.0
5.5
12.0
16.0
16.5
10.5
5.0
10.5
12.0
15.5
14.5
11.0
5.5
4.5
8.0
14.01
17.5
13.0
13.0
9.5
8.5
12.0
17.5
Con la tabla 5.40 es posible comenzar el algoritmo húngaro, a fin de determinar la asignación que
minimice las esperas.
182
Grupo Editorial Patria©
Primero, determinamos el valor más pequeño por renglón y lo restamos a todos los valores del renglón.
Después, hacemos lo mismo por columna. En la tabla 5.41 se muestra este primer paso.
Tabla 5.41
17.5
15.0
9.0
5.5
12.0
5.5
12.0
9.5
3.5
0.0
6.5
16.0
16.5
10.5
5.0
10.5
5.0
11.0
11.5
5.5
0.0
5.5
12.0
15.5
14.5
11.0
5.5
5.5
6.5
10.0
9.0
5.5
0.0
4.5
8.0
14.0
17.5
13.0
4.5
0.0
3.5
9.5
13.0
8.5
13.0
9.5
8.5
12.0
17.5
8.5
4.5
1.0
0.0
3.5
9.0
0.0
1.0
0.0
0.0
0.0
El resultado se muestra en la tabla 5.42.
Tabla 5.42
12.0
8.5
3.5
0.0
6.5
11.0
10.5
5.5
0.0
5.5
6.5
9.0
9.0
5.5
0.0
0.0
2.5
9.5
13.0
8.5
4.5
0.0
0.0
3.5
9.0
El mínimo número de líneas para cubrir todos los ceros de la tabla es cuatro, menor a las cinco rutas a
asignar.
Tabla 5.43
12.0
8.5
3.5
0.0
6.5
11.0
6.5
10.5
5.5
0.0
5.5
9.0
9.0
5.5
0.0
0.0
2.5
9.5
13.0
8.5
4.5
0.0
0.0
3.5
9.0
Como se ve en la tabla 5.43, el valor menor de los números no cubiertos es 2.5. Este valor es restado
de los demás números no cubiertos y sumado a los números en donde se cruzan las líneas. El resultado
se muestra a continuación.
Tabla 5.44
12.0
6.0
1.0
0.0
6.5
11.0
8.0
3.0
0.0
5.5
6.5
6.5
6.5
5.5
0.0
0.0
0.0
7.0
13.0
8.5
7.0
0.0
0.0
6.0
11.5
El mínimo número para cubrir los ceros en la tabla 5.44 es cuatro. Repetimos el procedimiento anterior
con el mínimo número de los números no cubiertos de la tabla 5.45.
Tabla 5.45
12.0
6.0
1.0
0.0
6.5
11.0
8.0
3.0
0.0
5.5
6.5
6.5
6.5
5.5
0.0
0.0
0.0
7.0
13.0
8.5
7.0
0.0
0.0
6.0
11.5
183
UNIDAD
5
Algoritmos especiales: el problema de transporte
El mínimo número no cubierto es uno, este lo sumamos a los números no cubiertos y lo restamos a los
números en donde están los cruces de las líneas. En la tabla 5.46 se muestran los resultados.
Tabla 5.46
11.0
5.0
0.0
0.0
6.5
10.0
7.0
2.0
0.0
5.5
5.5
5.5
5.5
5.5
0.0
0.0
0.0
7.0
14.0
9.5
7.0
0.0
0.0
7.0
12.5
El mínimo número de líneas es cinco, por lo que el algoritmo se detiene y la asignación se muestra en
la tabla 5.47.
Tabla 5.47
11.0
5.0
0.0
0.0
6.5
10.0
7.0
2.0
0.0
5.5
5.5
5.5
5.5
5.5
0.0
0.0
0.0
7.0
14.0
9.5
7.0
0.0
0.0
7.0
12.5
El resumen de la solución se muestra en la tabla 5.48.
Tabla 5.48
Operador
Ruta
Tiempos de recorrido
Tardanza
1
3-a (SLP-MÉX-MÉX-SLP)
15:00-21:00
06:00-12:00
9.0 h
2
b-4 (MÉX-SLP SLP-MÉX)
07:30-13:30
18:30-00:30
5.0 h
3
5-c (SLP-MÉX MÉX-SLP)
00:00-06:00
11:30-17:30
5.5 h
4
d-1 (MÉX-SLP SLP-MÉX)
19:00-01:00
5:30-11:30
4.5 h
5
2-e (SLP-MÉX MÉX-SLP)
09:00-15:00
00:30-06:30
9.5 h
La tardanza total es de 33.5 horas.
184
Problemas para resolver
Grupo Editorial Patria©
5.1 Determinar la solución óptima de la red en la figura 5.2,
mediante el uso de la solución inicial por el método de la
esquina noroeste.
5.2 Resolver el problema 5.1 mediante el uso de la solución
inicial generada por el MAV. ¿Con qué método hace menos
iteraciones?
5.3 Una embotelladora tiene dos plantas principales, una
ubicada en la ciudad de Puebla y la otra en la zona de Ciudad Satélite, en el Estado de México, con una capacidad de
producción diaria de 550 y 650 tarimas, respectivamente,
de cierto refresco de cola. Su objetivo es suministrar este refresco a cuatro mayoristas localizados en Veracruz, la Ciudad
de México, Cuernavaca y Tlaxcala, con demandas diarias de
200, 250, 400 y 350 tarimas, respectivamente. La tabla 5.49
muestra los costos de transporte entre las plantas y los mayoristas.
Tabla 5.49 Mayoristas
Plantas
Veracruz
Ciudad de
México
Cuernavaca
Tlaxcala
Puebla
$9
$15
$18
$21
Satélite
$23
$14
$16
$10
Determinar el plan de distribución que minimice los costos
de transporte.
a) Generar la solución inicial por el método de la esquina
noroeste.
UNIDAD
5
docking). Las distancias de las plantaciones al almacén
(cross-dock) son: plantación 1: 20 km; 2: 45 km y 3: 40 km.
La distancia del almacén (cross-dock) a la plantación 1 es de
25 km; a la 2, de 30 km; a la 3, de 20 km y a la 4, de 35 km.
¿Le conviene al agricultor la oferta del operador logístico?
5.7 Suponga que se le encarga diseñar un plan de producción ventajoso para una empresa durante las cuatro estaciones del año. Esta empresa tiene una capacidad de producción para manufacturar 30 000 unidades de un producto no
perecedero en primavera y otoño. Debido a enfermedades,
vacaciones y permisos, la producción será solo de 25 000
unidades en verano e invierno. La demanda por este producto también es estacional. El departamento de mercadotecnia ha estimado las ventas de primavera en 25 000 unidades, en verano de 40 000 u, 30 000 en otoño y solo 15 000
unidades en invierno. Los costos unitarios de producción
han aumentado por la inflación y la influencia de los factores
estacionales, los cuales se estiman en 80, 85, 82 y 86 dólares
para primavera, verano, otoño e invierno, respectivamente.
Cualquier exceso de producción se puede almacenar a un
costo de 10 dólares por unidad durante una estación. Una
unidad se vende en 120, 140, 125 y 105 dólares en primavera, verano, otoño e invierno, respectivamente. Al inicio,
había 10 000 unidades en bodega y al final se estima que
deben quedar 10 000 unidades. Modele el problema como
si fuera un problema de transporte.
5.8 Del problema 5.7 calcular la solución inicial por el método MAV y la solución óptima.
5.9 Para la siguiente red de distribución:
b) Determinar la solución óptima.
5.4 Del problema 5.3, utilizar la solución inicial generada por
el MAV, ¿a qué solución se llega y en cuántas itera­ciones?
a) Determinar el modelo de programación lineal que minimice los costos de transporte.
b) Establecer si se deben tener siempre almacenadas 10
unidades en el almacén.
5.5 Supóngase que un agricultor posee tres plantaciones
de tomates y desea determinar la forma de enviar los cargamentos a tres plantas de procesamiento distintas para
maximizar sus beneficios. La tabla 5.50 muestra las distancias (en km) entre las plantaciones y las respectivas plantas,
los requerimientos de cada una y las cantidades disponibles
de tomates en cada plantación.
c) Si la conexión P1-W1 solo puede transportar 20 unidades,
¿cómo se modifica el modelo de programación lineal del
inciso a)?
Tabla 5.50
50 unidades
producidas P1
Plantación
Planta 1
Planta 2
Planta 3
Oferta (ton)
Plantación 1
21
70
40
450
Plantación 2
35
30
15
400
Plantación 3
80
10
25
300
Demanda (ton)
400
525
225
$900/unidades
90 unidades
producidas
$400/unidades
$400/unidades
40 unidades
producidas P2
W1
$900/unidades
C
$200/unidades
$100/unidades
$900/unidades
W2 60 unidades
producidas
Figura 5.6
Si el costo de transporte es $0.10/ton/km y las utilidades
brutas obtenidas por el agricultor en cada plantación son:
$9.50/ton, $6.50/ton y $5.00/ton, respectivamente, calcular
una solución inicial mediante el uso del método de la esquina noroeste y determinarla forma de realizar los envíos que
maximicen los beneficios al agricultor.
5.6 Un operador logístico le ofrece al agricultor del problema 5.5 el servicio de almacenamiento temporal (crossProblemas aplicados a la realidad
5.10 Resolver el problema 5.9, inciso a), por medio del método simplex para el modelo de transporte.
5.11 Resolver el modelo de programación lineal del
problema 5.9, inciso c), por medio de un software comercial y comparar la solución con la generada mediante el método simplex para el transporte del problema
5.10.
Problemas para resolver con tecnología
185
UNIDAD
5 Problemas para resolver
5.12 Una fábrica de zapatos predice las siguientes demandas para los próximos seis meses: mes 1, 200; mes 2, 260;
mes 3, 240; mes 4, 340; mes 5, 190; mes 6, 150. El costo de
fabricar un par de zapatos es de 7 dólares en una jornada
normal de trabajo y de 11 dólares contemplando horas extra de trabajo. Durante cada mes, la producción en horario
normal está limitada 200 pares de zapatos y la producción
con horas extra está limitada a 100 pares. Guardar un par de
zapatos en inventario cuesta 1 dólar por mes.
a) Formular un modelo que permita obtener una solución
óptima.
b) Determinar una solución factible y verificar si es óptima.
5.13 Una empresa produce tres tipos de automóviles en dos
plantas diferentes; La planta A tiene una capacidad de 2 600
y la planta B de 1 800. Cuatro concesionarias están interesadas en adquirir las cantidades de vehículos siguientes: concesionaria 1, 1 800 unidades; concesionaria 2, 2 100 unidades, concesionaria 3, 550 unidades y concesionaria 4, 1 750.
Los costos de transporte se muestran en la tabla 5.51.
5.17 El gerente de compras de la línea aérea “VueloMéx” debe decidir la cantidad de turbocina a comprar de
tres posibles proveedores. La línea aérea llena sus aviones
regularmente en los cuatro aeropuertos donde presta sus
servicios. Las capacidades de turbocina de las compañías
es: compañía A, 275 000 litros; compañía B, 550 000 litros;
y compañía C, 660 000 litros. Los requerimientos de “Vuelo-Méx” en cada aeropuerto son: aeropuerto D, 110 000
litros; aeropuerto E, 220 000 litros; aeropuerto F, 330 000 litros; y aeropuerto G, 440 000 litros. Cuando se le suma al
precio del litro de combustible en cada compañía, los costos
de transporte para llevarlo a cada aeropuerto, se obtiene la
estructura de precios indicada en la tabla 5.53.
Tabla 5.53
Aeropuerto
Compañía A
Compañía B
Compañía C
D
$10
$7
$8
E
$10
$11
$14
F
$9
$12
$4
G
$11
$13
$9
Tabla 5.51
Costo fijo
[US$]
1
2
3
4
A
600
800
1 100
900
B
1 200
400
800
500
Determinar el plan de distribución que minimice los costos
de transporte.
5.14 Del problema 5.13, supóngase que las concesionarias
le proponen a la empresa que los costos de distribución
sean fijos de 900 dólares/unidad. ¿Le conviene a la empresa
esta propuesta?
5.15 Una empresa desea programar los envíos diarios de
mercancías de dos fábricas (A y B) a tres ciudades (C, D y
E). La producción diaria de la fábrica A es de 100 unidades, mientras que la producción diaria de la fábrica B es de
200 unidades. Las tres ciudades tienen la misma demanda
diaria de 100 unidades cada una. La tabla 5.52 muestra los
costos unitarios de transporte entre las distintas localidades
(supóngase que los costos son iguales tanto de ida como
de regreso).
5.18 Para acortar los costos de transporte, las compañías del
problema 5.17 le proponen a “Vuelo-Méx” satisfacer toda
su demanda de un almacén central. Los costos de transporte
de las compañías al almacén central son: 5, 8 y 9 pesos, respectivamente. Mientras que los costos del almacén central
a los aeropuertos son de 10, 15, 5 y 18, respectivamente.
Determinar si le conviene a “Vuelo-Méx” la instalación del
almacén central.
5.19 En la red de la figura 5.7 se observan las rutas posibles
para el envío de automóviles de tres plantas distintas (P1,
P2 y P3), con producciones de 450, 700 y 500 automóviles,
respectivamente, a través de dos centros de distribución (D4
y D5) a tres ciudades (C6, C7 y C8) que demandan respectivamente 550, 500 y 600 automóviles. Los valores de los
enlaces de la red de la figura representan el costo de envío
de cada automóvil en cientos de dólares.
P1
Tabla 5.52
A
Determinar la cantidad de combustible que se debe comprar a cada compañía, para servir un determinado aeropuerto y minimizar los costos totales. Utilizar el método simplex
para el modelo del transporte.
E
D
C
B
30
20
10
80
B
40
50
C
10
40
D
20
20
1.5
1.2
P2
2
P3
0.3
0.8
D4
0.6
1.3
0.6
C6
1
0.2
D5
0.4
0.9
0.7
0.8
C7
0.4
0.7
C8
Determinar el costo mínimo del plan de transporte si no se
permite ningún transbordo.
Figura 5.7
5.16 Determinar el plan de distribución del problema 5.15
en el caso de que si se permitan transbordos.
a) Formular la tabla de transbordo que permita optimizar el
costo de envío de los automóviles.
186
Problemas aplicados a la realidad
Problemas para resolver con tecnología
Grupo Editorial Patria©
Las distancias entre las tiendas pueden ser diferentes, ya
que el servicio se presta a través de un punto intermedio.
Para el par origen/destino que no tenga distancia, quiere
decir que no hay comunicación. Si el costo de transporte,
por tarima es de 1/km:
b) Desarrollar el modelo de programación lineal.
c) Determinar el programa de distribución óptimo.
d ) Si en los centros de distribución debemos tener un inventario (stock) de 100 unidades, ¿cómo se modifica el
modelo de programación lineal?
a) Determinar el modelo de programación lineal de la red
de las tiendas.
5.20 Existen cuatro tiendas de conveniencia, A, B, C y
D, de las cuales A y B tienen 40 y 20 tarimas de naranjas
respectivamente, mientras que C y D son tiendas que
requieren15 y 45 tarimas de naranjas, respectivamente. Las distancias entre las tiendas son las siguientes:
dAD = 1 000 km, dBA = 3 000 km, dBC = 1 000 km,
dCA = 3 000 km, dCB = 6 000 km, dDA = 2 000 km,
dDB = 6 000 km y dDC = 2 000 km.
b) Solucionar el modelo utilizando un software comercial.
5.21 Con base en el problema anterior, generar la solución
inicial por el MAV y determinar la solución óptima mediante
método simplex para el problema de transporte.
Problemas reto
1
Lead Shoes debe determinar cuántos pares de zapatos debe producir durante cada uno de
los siguientes cuatro meses. La demanda de pares de zapatos en cada mes es como sigue:
primer mes, 40 pares; segundo mes, 60 pares; tercer mes, 75 pares; cuarto mes, 25 pares.
Lead Shoes debe satisfacer la demanda a tiempo. Al comienzo del primer mes, la empresa
tiene un inventario de 10 zapatos.
Al inicio de cada mes, Lead Shoes debe decidir cuántos pares debe producir durante
el trimestre actual. Durante cada mes, produce hasta 40 pares a un costo de 400 pesos por
par. Si los empleados trabajan horas extra en un mes, se pueden producir 20 pares más a un
costo de 450 pesos cada uno.
Al final de cada mes, después de satisfacer la demanda respectiva, se incurre en un costo
de inventario de 20 pesos por cada par. Formular el problema como el modelo de transporte para minimizar los costos de producción e inventarios durante los siguientes cuatro
meses.
2
La aerolínea Aero-Recife opera siete días a la semana con la programación que se muestra
en la tabla 5.54.
Tabla 5.54
Número
de vuelo
Salida
de Los Cabos
Llegada
a Toluca
Número
de vuelo
Salida
de Toluca
Llegada
a Los Cabos
A
7:00 a.m.
8:00 a.m.
101
8:00 a.m.
9:15 a.m.
B
8:00 a.m.
9:00 a.m.
102
8:30 a.m.
9:45 a.m.
C
1:30 p.m.
2:30 p.m.
103
12:00 p.m.
1:15 p.m.
D
6:30 p.m.
7:30 p.m.
104
5:30 p.m.
6:45 p.m.
Determinar qué vuelos deben hacerse en la misma ruta para minimizar el tiempo de la escala. Supóngase que el vuelo puede empezar en cualquiera de las dos ciudades.
Problemas aplicados a la realidad
Problemas para resolver con tecnología
187
UNIDAD
5
Algoritmos especiales: el problema de transporte
Referencias Bibliográficas
Eppen, Larry, R. Weaterford y Jeffrey H. Moore (2000). Investigación de operaciones en la
ciencia administrativa, 5a ed., Prentice Hall, Estados Unidos.
Hillier, Frederick S. y Gerald J. Liberman (2010). Introducción a la investigación de operaciones, 9a ed., McGraw-Hill, Estados Unidos.
Izunza, Vicente (2012). Investigación de operaciones, Pearson Educación, Estados Unidos.
Taha, Hamdy A. (2012). Investigación de operaciones, 9a ed., Pearson, Estados Unidos.
Thierauf, Robert J. (2007). Toma de decisiones por medio de investigación de operaciones,
3a ed., Limusa, México.
Winston, Wayne L. (2008). Investigación de operaciones: aplicaciones y algoritmos, 4a ed.,
Thomson International, Estados Unidos.
Referencias electrónicas
Institute for Operations Research and Management Science. Disponible en:
https://www.informs.org
Blog de apoyo para la materia de Investigación de Operaciones I del ITSTB. Disponible en:
http://ioi-itstb.blogspot.mx/p/unidad-v-metodo-de-transporte-y-metodo.html
Aplicaciones de la programación lineal. Disponible en:
http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/Investigacion_de_
Operaciones_Careaga/Common/IO-modulo4-distribucion.htm
188
APÉNDICE
A
Aplicaciones de la
optimización lineal
usando hojas de
cálculo
Marco Antonio Montufar Benítez
Eva Selene Hernández Gress
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Introducción
Como era de esperar, muy pocos problemas de programación lineal (PL) de la vida cotidiana implican
únicamente dos variables de decisión. Por tanto, la solución gráfica tiene un valor limitado en la solución de estos. Sin embargo, la discusión de problemas con dos variables proporciona una base para la
comprensión de los problemas de PL y las estrategias generales para resolverlos. Por ejemplo, todos
los problemas solucionables de PL tienen una región factible y una solución óptima, que se encuentra
en algún punto extremo de la región (en el caso que el problema no sea ilimitado). Esto es cierto para
todos los problemas de PL con independencia del número de variables de decisión.
A pesar de que es bastante fácil graficar la región factible para un problema de PL con dos variables, resulta en extremo difícil visualizar o representar de manera gráfica la región factible de uno
con tres variables, porque es de tres dimensiones. De igual forma, si el problema es de más de tres
variables, es prácticamente imposible visualizar o representar gráficamente su región factible, porque
implica más de tres dimensiones. Por fortuna, existen varias técnicas matemáticas para resolver problemas de programación lineal con casi cualquier número de variables sin visualizar o graficar sus regiones
factibles. Estas técnicas están ahora integradas en paquetes de hojas de cálculo, por lo que la solución
de problemas de PL es una tarea bastante simple.
Por tanto, si se utiliza el software adecuado se puede resolver con facilidad casi cualquier problema de PL. El principal desafío es garantizar que sea posible formular y comunicar de manera correcta
el problema que quiere resolverse.
❚ Solucionadores para hojas de cálculo
Los programas Excel, Quattro Pro, Lotus 1-2-3 incluyen algunos complementos de optimización de
hoja de cálculo llamados solucionadores (solvers). La inclusión del interesado en estas aplicaciones
demuestra la importancia de la programación lineal (y la optimización en general). En esta sección se
abordará solo el uso de Excel para ilustrar la forma en que los solucionadores de una hoja de cálculo
pueden resolver problemas de optimización. Sin embargo, los mismos conceptos y técnicas que aquí
se presentan se pueden aplicar a otros paquetes de hojas de cálculo, aunque pueden diferir algunos
de los detalles de la aplicación.
De igual forma, se pueden resolver problemas de optimización sin necesidad de utilizar una hoja
de cálculo, al emplear solo un paquete de programación matemática especializada. Una lista parcial de
estos paquetes incluye: LINDO, MPSX, CPLEX y MathPro. Por lo regular, estos paquetes son utilizados
por los investigadores y las empresas interesadas en la solución de problemas muy grandes, debido a
que no caben convenientemente en una hoja de cálculo.
Solución de problemas de programación lineal (PL)
con una hoja de cálculo
En este punto se demuestra con detalle la mecánica del uso del Solver en Excel mediante la solución
del siguiente problema.
En un inicio solo se presenta su enunciado y planteamiento.
Problema resuelto
Luisa Caoba es la propietaria de una empresa que vende dos modelos de mesas de madera: la redonda grande y la cuadrada de lujo. Para la fabricación de ambas mesas, Luisa compra madera sólida y
triplay.
Cada mesa redonda requiere nueve horas de mano de obra, un pie de triplay y 12 pies de madera
sólida; mientras que cada mesa cuadrada requiere seis horas de mano de obra, un pie de triplay y
16 pies de madera sólida. La demanda de estos productos es tal que cada mesa redonda que se produzca se puede vender a un costo que genera una ganancia de 350 pesos, y cada mesa cuadrada que
se produzca se puede vender a un costo que genera una ganancia de 300 pesos. La compañía espera
contar con 200 pies de triplay, 1 566 horas de mano de obra y 2 880 pies de madera sólida durante el
190
Grupo Editorial Patria©
próximo ciclo de producción. El problema es determinar el número óptimo de mesas redondas y cuadradas a producir para maximizar los beneficios.
Si X1 representa el número de mesas redondas y X2 el número de mesas cuadradas que se van a
producir, el siguiente modelo de PL representa el problema a resolver:
Max: 350X1 + 300X2 } utilidad
Sujeto a:
1. 1X1 + 1X2 ≤ 200 } restricción de triplay.
2. 9X1 + 6X2 ≤ 1 566 } restricción de mano de obra.
3. 12X1 + 16X2 ≤ 2 880 } restricción de madera sólida.
4. 1X1 ≥ 0 } frontera inferior simple.
1X2 ≥ 0 } frontera inferior simple
¿Cómo podemos resolver este problema en una hoja de cálculo?
Solución
En primer lugar, se debe construir el modelo.
❚ Pasos para implementar un modelo de PL en una hoja de cálculo
Los cuatro pasos siguientes resumen lo que se debe hacer para implementar cualquier problema de
PL en una hoja de cálculo.
1. Organizar los datos para el modelo de la hoja de cálculo. Los datos para el modelo constarán
de los coeficientes de la función objetivo y las limitaciones o restricciones, así como los valores del
lado derecho (RHS) para las restricciones. Por lo general, existe más de una forma de organizar los
datos de un problema particular en una hoja de cálculo, pero se deben tener en cuenta algunas
pautas generales. En primer lugar, el objetivo es organizar los datos de acuerdo con su propósito y
significado, tan claro como sea posible. Piénsese en la hoja de cálculo como un informe de gestión
necesario para comunicar con claridad los factores importantes del problema que se está resolviendo. Para lograrlo, se requiere invertir algún tiempo organizando mentalmente los datos del
problema. Además de visualizar cómo pueden colocarse y ordenarse de manera lógica, antes de
empezar a escribir sus valores en la hoja de cálculo. Luego, resulta indispensable colocar etiquetas
descriptivas en la hoja de cálculo para identificar con claridad los diversos elementos de datos. A
menudo, las estructuras de fila y columna de los datos pueden ser utilizadas en la hoja de cálculo
para facilitar la implementación del modelo. (Hay que tener en cuenta que algunos o todos los
coeficientes y valores para un modelo de PL pueden calcularse a partir de otros datos, referidos
con frecuencia como primarios. Por tanto, es mejor mantener los datos primarios en la hoja de
cálcu­lo y hacer uso de fórmulas adecuadas para calcular los coeficientes y valores necesarios para
la formulación del modelo de PL. Entonces, si hay algún cambio en los datos primarios, se deberán hacer modificaciones pertinentes de forma automática en los coeficientes del modelo de PL.)
2. Reservar celdas separadas en la hoja de cálculo para representar a cada variable de decisión
en el modelo algebraico. Aunque se puede utilizar cualesquiera celdas vacías en una hoja de
cálculo para representar las variables de decisión, por lo general es mejor ordenarlas de manera
paralela a la estructura de los datos. Esto, a menudo, es útil en el establecimiento de fórmulas
para la función objetivo y las restricciones. Cuando sea posible, también es una buena idea para
mantener las celdas que representan variables de decisión en la misma área de la hoja de cálculo.
Además, se deben utilizar las etiquetas descriptivas para clarificar su significado.
3. Crear una fórmula en una celda de la hoja de cálculo que corresponda a la función objetivo
en el modelo algebraico. La fórmula de hoja de cálculo correspondiente a la función objetivo se
crea haciendo referencia a las celdas de datos, donde los coeficientes de la función objetivo
se introducen (o calculan) y las celdas correspondientes que representan las variables de decisión.
191
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
4. Para cada restricción, crear una fórmula en una celda separada en la hoja de cálculo, que
corresponda al lado izquierdo (LHS) de la restricción. La fórmula correspondiente al primer
miembro de cada restricción se crea haciendo referencia a las celdas de datos donde se introducen
(o calculan) los coeficientes para estas limitaciones y a las celdas de las variables de decisión apropiadas. Muchas de las fórmulas de restricción tienen una estructura similar. Por tanto, cuando sea
posible, se deben crear fórmulas de restricción que puedan copiarse para aplicar otras fórmulas
de restricción. Esto no solo reduce el esfuerzo necesario para implementar un modelo, sino que
también ayuda a evitar errores de mecanografía difíciles de detectar.
Aunque, para implementar un modelo de programación lineal en una hoja de cálculo es necesario
realizar cada uno de los pasos anteriores, estos no tienen que realizarse en el orden indicado. Se considera prudente realizar primero el paso 1, seguido por el paso 2. Sin embargo, el orden en el que los
pasos 3 y 4 se llevan a cabo a menudo varía de un problema a otro. De igual forma, es aconsejable
utilizar sombreado, colores de fondo y fronteras para identificar las celdas que representan variables
de decisión, las restricciones y la función objetivo en un modelo. Esto permite al usuario de una hoja de
cálculo distinguir con mayor facilidad entre las celdas que representan los datos en bruto (que pueden
ser cambiados) y otros elementos del modelo.
Hay más cosas que decir acerca de cómo diseñar e implementar modelos de hojas de cálculo eficaces para problemas de PL; pero, antes, veamos cómo se utilizan los pasos anteriores al implementar
un modelo de hoja de cálculo para nuestro problema de ejemplo.
Modelo en hoja de cálculo para el problema de Luisa Caoba
Una posible representación de hoja de cálculo para nuestro problema de ejemplo se observa en la
figura A.1 (y en el archivo llamado Figura x-1.xls en el disco de datos).
Para conocer más acerca de la creación de este modelo, se analizará paso a paso su creación, a fin
de que se pueda observar cómo se relaciona con la formulación algebraica del modelo.
Figura A.1 Modelo en hoja de cálculo para el problema de producción de mesas.
❚ Organización de los datos
Uno de los primeros pasos en la creación de cualquier modelo de hoja de cálculo para un problema de
PL es organizar los datos en el modelo de hoja de cálculo. En la figura A.1, se introdujeron las utilidades
unitarias de las mesas redonda y cuadrada, en las celdas B6 y C6, respectivamente. A continuación,
192
Grupo Editorial Patria©
se introdujo el número de pies de triplay, el número de horas de trabajo y pies de madera sólida necesarios para producir cada tipo de mesa, en las celdas B9 a C11, de manera respectiva. En tanto, los
valores de las celdas B9 y C9 indican que se requiere un pie de triplay para producir cada tipo de mesa.
Por su parte, los valores de las celdas B10 y C10 muestran que cada mesa redonda producida requiere
nueve horas de trabajo, mientras que cada mesa cuadrada necesita seis. De igual forma, las celdas B11
y C11 indican que cada mesa redonda producida requiere de 12 pies de madera sólida, y cada mesa
cuadrada de 16. El número disponible de pies de triplay, horas de trabajo y pies de madera sólida se
introducen en las celdas E9 a E11. Obsérvese que en este caso se requieren etiquetas apropiadas para
identificar todos los elementos de datos para el problema.
❚ Representación de las variables de decisión
Como se observa en la figura A.1, las celdas B5 y C5 representan las variables de decisión X1 y X2 en
nuestro modelo algebraico; estas se hallan sombreadas y resaltadas con fronteras discontinuas para
distinguirlas visualmente de otros elementos del modelo. Se colocaron valores de cero en las celdas
B5 y C5, debido a que no se sabe cuántos modelos deben ser producidos. En breve, se utilizará Solver
para determinar los valores óptimos para estas celdas.
❚ Representación de la función objetivo
El siguiente paso en la implementación de nuestro problema de PL es crear una fórmula en una celda
de la hoja de cálculo para representarla función objetivo; esto podemos lograrlo de muchas maneras.
Debido a que la función objetivo es 350X1 + 300X2, puede tenerse la tentación de introducir la fórmula
= 350 * B5 + 300 * C5 en la hoja de cálculo. Sin embargo, si se desea cambiar los coeficientes de la
función objetivo, sería necesario volver atrás y editar esta fórmula para reflejar los cambios. Debido a
que los coeficientes de la función objetivo se introducen en las celdas B6 y C6, una mejor manera de
implementar esta función es hacer referencia a los valores de las celdas B6 y C6 en lugar de introducir
constantes numéricas en la fórmula. La fórmula para la función objetivo se introduce en la celda D6
como:
D6: = B6 * B5 + C6 * C5
Como se muestra en la figura A.1, la celda D6 de vuelve inicialmente el valor 0, porque las celdas B5 y
C5 contienen ceros. En tanto, la figura A.2 resume la relación entre la función objetivo algebraica y la
fórmula introducida en la celda D6. De esta manera, si los beneficios obtenidos en las mesas cambian,
el modelo de hoja de cálculo se puede modificar con facilidad y el problema puede ser resuelto para
determinar el efecto de estos cambios en la solución óptima. Tenga en cuenta que la celda D6 se ha
sombreado y delineado con un borde doble para distinguirlo de otros elementos del modelo.
Función objetivo algebraica: 350X1 + 300X2
Fórmula en la celda D6: = B6 * B5 + C6 * C5
Figura A.2
❚ Representación de las restricciones
El siguiente paso en la construcción del modelo de hoja de cálculo consiste en la implementación de
las restricciones del modelo de programación lineal. Ya antes se dijo que para cada restricción en el
modelo algebraico, se debe crear una fórmula en una celda de la hoja de cálculo que corresponde al
lado izquierdo de la restricción (LHS). El LHS de cada restricción en nuestro modelo es:
Triplay: 1X1 + 1X2 ≤ 200
Mano de obra: 9X1 + 6X2 ≤ 1 566
Madera sólida: 12X1 + 16X2 ≤ 2 880
193
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
En este caso, es necesario establecer tres celdas en la hoja de cálculo para representar las fórmulas LHS
de las tres restricciones. Una vez más, esto se hace con referencia a las celdas de datos que contienen
los coeficientes para estas restricciones y las celdas que representan las variables de decisión. El LHS
para la primera restricción se introduce en la celda D9 como:
D9: = B9 * B5 + D9 * C5
Del mismo modo, el LHS de la segunda y tercera restricción se introducen en las celdas D10 y D11
como:
D10: = B10 * B5 + C10 * C5
D11: = B11 * B5 + C11 * C5
Estas fórmulas calculan el número de pies de triplay, horas de trabajo y pies de madera sólida requerida para la fabricación de las mesas representadas por las celdas B5 y C5. Téngase en cuenta que las
celdas D9 a D11 están sombreadas y se delimitan con fronteras sólidas, para distinguirlas de los otros
elementos del modelo. Como se sabe, la empresa tiene 200 pies de triplay, 1 566 horas de mano de
obra y 2 880 pies de madera sólida disponibles durante su próximo ciclo de producción. En nuestra
formulación algebraica del modelo de PL, estos valores representan los valores del lado derecho (RHS)
para las tres restricciones. Por tanto, estos tres valores se introdujeron en las celdas E9, E10 y E11,
respectivamente, y representan los valores límites superiores que las celdas D9, D10 y D11 pueden
tomar.
❚ Representación de los límites sobre las variables de decisión
¿Qué pasa con los límites inferiores simples para nuestras variables de decisión, representados por
X1 ≥ 0 y X2 ≥ 0? Estas condiciones son bastante comunes en problemas de PL y se conocen como condiciones de no negatividad, ya que indican que las variables de decisión pueden asumir solo valores
no negativos. Estas condiciones pueden ser vistas como restricciones e implementarse como las otras
restricciones. Sin embargo, Solver permite especificar límites superiores e inferiores simples para las
variables de decisión haciendo referencia directa a las celdas que representan estas variables. Por
tanto, en este punto, no se toma ninguna medida específica para considerar estos límites en nuestra
hoja de cálculo.
❚ ¿Cómo ve Solver el modelo?
Después de la implementación de nuestro modelo en la hoja de cálculo, es posible utilizar Solver para
encontrar la solución óptima al problema. No obstante, primero es necesario definir los siguientes tres
componentes de nuestro modelo de hoja de cálculo para Solver:
1. Celda destino. Celda que representa la función objetivo en el modelo (y si su valor debe ser
maximizado o minimizado).
2. Celdas variables (o cambiantes). Celdas que representan las variables de decisión en el mo­
delo.
3. Celdas de restricción. Celdas que representan las fórmulas de los lados izquierdos de las restricciones en el modelo (y los límites superior e inferior que se apliquen a estas fórmulas).
Estos componentes corresponden directamente a las celdas en la hoja de cálculo que se establecieron
en la implantación del modelo de programación lineal. Por ejemplo, en la hoja de cálculo para el problema ejemplo, la celda destino está representada por la celda D6; mientras que las celdas variables o
cambiantes están representados por las celdas B5 y C5; y las celdas de restricción, por las celdas D9,
D10 y D11. La figura A.3 muestra estas relaciones, así como una nota de celda que justifica el motivo
de la celda D6. Las notas de celda pueden ser una manera muy eficaz de describir detalles sobre el
propósito o el significado de varias celdas en un modelo.
Mediante la comparación de la figura A.1 con la figura A.3, se puede ver la relación directa entre
la forma en que formulamos modelos de PL algebraicamente y cómo Solver ve la implementación del
modelo en la hoja de cálculo. Las variables de decisión en el modelo algebraico corresponden a las
celdas variables (o cambiantes) de Solver. Las fórmulas de los lados izquierdos (LHS) para las restric194
Grupo Editorial Patria©
ciones en el modelo algebraico corresponden a las celdas restricción en Solver. Finalmente, la función
objetivo en el modelo algebraico corresponde a la celda objetivo en Solver. Entonces, aunque la terminología que usa Solver para describir los modelos en hoja de cálculo es de alguna manera diferente
de la que se usa para describir el modelo de PL algebraicamente, los conceptos son los mismos.
Figura A.3
❚ Usando Solver
Después de implementar el modelo en una hoja de cálculo, se hace imperante resolverlo. Para hacerlo,
primero se debe indicar a Solver cuáles son las celdas en la hoja de cálculo que representan la función
objetivo, las variables de decisión y las restricciones. Para llamar a Solver en Excel, primero se selecciona el comando Solver del menú Datos (Excel 2010), como se aprecia en la figura A.4. Esto permite
desplegar la caja de diálogo que se muestra en la figura A.5.
Premium Solver para Educación posee tres diferentes algoritmos para resolver problemas de optimización: Estándar GRG no lineal, Simplex Estándar (LP) y Evolucionario Estándar. Si el problema que
se está tratando de resolver es de programación lineal, Solver puede usar un algoritmo especial conocido como el método simplex para resolver el problema, como se puede observar en la figura A.5.
Figura A.4 Forma de acceso a Solver en Office 2010.
195
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Figura A.5 Caja de diálogo para los parámetros de Solver.
❚ Definiendo la celda objetivo
El siguiente paso en este proceso es el cuadro de diálogo de los parámetros de Solver, donde es necesario especificar la ubicación de la celda que representa la función objetivo mediante la introducción
en la opción Establecer objetivo, como se muestra en la figura A.6.
Obsérvese que la celda D6 contiene una fórmula que representa la función objetivo para nuestro
problema ejemplo y que Solver nos instruye para tratar de maximizar este valor, según lo especificado
por el botón Máx. En caso contrario, se deberá seleccionar el botón Mín cuando se desee que Solver
encuentre una solución que minimice el valor del objetivo. El botón de valor puede ser utilizado para
encontrar una solución para los que la función objetivo toma un valor específico.
Figura A.6 Establecimiento de la celda objetivo.
196
Grupo Editorial Patria©
❚ Definiendo las celdas variables
Para resolver el problema de programación lineal, también es necesario indicar en el modelo las celdas
que representan las variables de decisión. Una vez más, Solver se refiere a estas como celdas variables.
En el problema de ejemplo, las celdas variables se especifican en la figura A.7.
En este caso, las celdas B5 y C5 representan las variables de decisión para el modelo; Solver determinará los valores óptimos para estas celdas. Si las variables de decisión no están representadas en un
rango continuo de celdas, habría que enumerar las celdas de variables de decisión individuales separadas por comas, como se muestra en el ejemplo de la opción Cambiando las celdas variables. Siempre
que sea posible, lo mejor es utilizar celdas contiguas para representarlas variables de decisión.
Figura A.7 Introducción de las celdas variables.
❚ Definiendo las celdas de restricción
A continuación, hay que definir las celdas de restricción en la hoja de cálculo y las restricciones que
deben aplicarse a estas. Como se mencionó antes, las celdas de restricción son aquellas en las que se
implementaron las fórmulas de los lados derechos (LHS) para cada restricción en el ejemplo modelo.
Para definir las celdas de restricción, primero es necesario hacer clic en el botón Agregar, que se observa en la figura A.8 y, a continuación, completar el cuadro de diálogo Agregar restricción, como se
muestra en la figura A.9. En el cuadro de diálogo Agregar restricción, de nuevo se deberá hacer clic en
Agregar, para definir restricciones adicionales. Por último, se deberá hacer clic en el botón Ok cuando
se termine de definir restricciones.
Las celdas D9 a D11 representan las restricciones cuyos valores deben ser menores o iguales a los
valores de las celdas E9 a E11, respectivamente. Si las celdas de restricción no son celdas contiguas en
la hoja de cálculo, habría que definir las celdas de restricción repetidamente. De la misma manera que
con las celdas de variables, por lo general es mejor elegir celdas contiguas en la hoja de cálculo para
poner en práctica las fórmulas LHS de las restricciones en un modelo.
❚ Definiendo las condiciones de no negatividad
El último paso consiste en establecer que las variables de decisión no sean negativas. En la figura A.8
se puede observar, en el cuadro de diálogo de los parámetros de Solver, marcada la caja Convertir
variables sin restricción en no negativas, esto significa que las variables de decisión en las celdas B5 y
C5 son no negativas.
197
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Figura A.8 Introducción de las restricciones del modelo.
❚ Resolviendo el modelo
Una vez que se introducen todos los parámetros y se eligen las opciones necesarias para el modelo,
el siguiente paso es resolver el problema. Para ello, primero se hace clic en el botón Resolver, en el
cuadro de diálogo de los Parámetros de Solver, para resolver el problema. Cuando Solver encuentra
la solución óptima, se muestra el cuadro de diálogo Resultados de Solver que se puede observar
en la figura A.9; si los valores de la pantalla no coinciden con los de esta figura, se debe hacer clic en
los botones Restaurar valores originales y Aceptar, y volverlo a intentar.
Figura A.9 Solución óptima para el problema ejemplo.
Este cuadro de diálogo proporciona opciones para mantener la solución encontrada por Solver o la
restauración de la hoja de cálculo a su condición original. Por lo común, es muy probable que se quiera
mantener la solución de Solver, a menos que hay a un problema con este.
198
Grupo Editorial Patria©
Como se aprecia en la figura A.9, Solver ha determinado que el valor óptimo para la celda B5 es
122 y el valor óptimo para la celda C5 es 78. Estos valores corresponden a los valores óptimos para
X1 y X2. El valor de la celda objetivo (D6) ahora indica que si la empresa produce y vende 122 mesas
redondas y 78 mesas cuadradas, obtendrá un beneficio de 66 100 pesos. Las celdas D9, D10 y D11
indican que esta solución utiliza los 200 pies de triplay disponibles, las 1 566 horas de mano de obra
disponibles y 2 712 de los 2 880 pies de madera sólida disponible.
Problema de flujo máximo
El objetivo del problema de flujo máximo es determinar la cantidad máxima de flujo que puede circular en la red. En un problema de este tipo, la cantidad de flujo que puede circular en cada uno de los
arcos está limitado por alguna restricción de capacidad. Este tipo de red podría ser utilizado para, por
ejemplo, modelar el flujo de combustible en una tubería (en el que la cantidad de combustible que
puede fluir a través de un tubo en una unidad de tiempo está limitado por el diámetro de la tubería).
Además, ingenieros de tráfico también utilizan este tipo de red para determinar el número máximo
de coches que pueden viajar a través de un conjunto de calles con diferentes capacidades impuestas
por el número de carriles y los límites de velocidad. El siguiente ejemplo ilustra el problema de flujo
máximo.
Problema resuelto
La compañía “Petróleos no mexicanos” opera un yacimiento de petróleo y refinería en México. El bruto
(omita el doble sentido que esta palabra puede tener) obtenido desde el campo de petróleo se bombea a través de la red de subestaciones de bombeo, como se muestra en la figura A.10, a la refinería
de la empresa que se encuentra a 500 kilómetros del campo petrolero. La cantidad de combustible que
puede fluir a través de cada una de las tuberías, representado por los arcos en la red, varía debido a los
diferentes diámetros de tubería. Los números próximos a los arcos en la red indican la cantidad máxima
de combustible que puede fluir a través los distintos gasoductos (en miles de barriles por hora).
La compañía quiere determinar el número máximo de barriles por hora que puede fluir desde el
yacimiento de petróleo a la refinería.
Petróleos no mexicanos
Estación 1
Estación 3
3
2
6
1
4
2
6
Campo
Refinería
4
2
3
Estación 2
6
4
5
5
Estación 4
Figura A.10 Red de suministro de la empresa.
Solución
El problema de flujo máximo parece ser muy diferente de otros modelos de flujo de red, ya que no
incluye los suministros o demandas de los nodos específicos. Sin embargo, el problema se puede resolver de la misma manera que un problema de transbordo, si se agrega un arco de retorno del nodo
final al nodo de inicio, al asignar una demanda de 0 a todos los nodos de la red e intentar maximizar
el flujo a través del arco de regreso. La figura A.11 muestra estas modificaciones. Para entender la red
de dicha figura, supongamos que k unidades se envían del nodo 6 al nodo 1 (donde k representa un
199
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
entero). Debido a que el nodo 6 tiene un suministro de 0, se puede enviar k unidades al nodo 1 solo si
estas pueden ser de vueltas a través de la red al nodo 6 (para equilibrar el flujo en este nodo).
Petróleos no mexicanos
Estación 1
Estación 3
3
2
6
1
4
2
6
Campo
Refinería
4
2
3
6
4
5
5
Estación 2
Estación 4
Figura A.11 Modificación de la red suministro.
Las capacidades de los arcos delimitan la cantidad de unidades que pueden ser devueltas al nodo 6.
Por tanto, el flujo máximo a través de la red corresponde al mayor número de unidades que se pueden
enviar del nodo 6 al nodo 1 y de regreso a través de la red al nodo 6 (como ya se explicó). Para determinar el nivel máximo de flujo al maximizar el flujo del nodo 6 al nodo 1 se puede resolver un modelo de
programación lineal, dados los límites superiores adecuados en cada arco y las restricciones usuales
de balance de flujo. Este modelo se representa como:
Max: X61
Sujeto a:
+X61 − X12 − X13 = 0
+X12 − X24 − X25 = 0
+X13 − X34 − X35 = 0
+X24 + X34 − X46 = 0
+X25 + X35 − X56 = 0
+X46 + X56 − X61 = 0
0 ≤ X12 ≤ 6; 0 ≤ X25 ≤ 2; 0 ≤ X46 ≤ 6
0 ≤ X13 ≤ 4; 0 ≤ X34 ≤ 2; 0 ≤ X56 ≤ 4
0 ≤ X24 ≤ 3; 0 ≤ X35 ≤ 5; 0 ≤ X61 ≤ ∞
❚ El modelo en hoja de cálculo y su solución
Como se muestra en la figura A.12, este modelo se implementa en la hoja de cálculo. En este caso, la
columna G representa los límites superiores de cada arco mientras que la función objetivo está representada por la celda B16, que contiene la fórmula:
B16: = B14
Por su parte, la celda B14 representa el flujo del nodo 6 al nodo 1 (o X61). Esta celda corresponde a la variable que queremos maximizar en la función objetivo del modelo de programación lineal. Las opciones
Parámetros de Solver y las otras que se muestran en la figura A.13 se utilizan para obtener la solución
óptima que se aprecia en la figura A.12.
Debido a que los arcos que conducen al nodo 6 (X46 y X56) tienen una capacidad total para 10 unidades de flujo, puede ser sorprendente saber que solo nueve unidades pueden fluir a través de la red.
Sin embargo, la solución óptima que se muestra en la figura A.12 indica que el flujo máximo a través de
200
Grupo Editorial Patria©
Figura A.12 Representación en la hoja de cálculo del problema de flujo máximo.
la red es justamente este. Los flujos óptimos identificados en la figura A.12 para cada arco se muestran
en las casillas de las capacidades de la figura A.14; en esta también se observa que el arco del nodo 5
al nodo 6 está en su plena capacidad (cuatro unidades), mientras que el arco del nodo 4 hacia el nodo 6
está una unidad por debajo de su plena capacidad (seis unidades). Aunque el arco del nodo 4 al nodo
6 puede llevar una unidad adicional de flujo, se impidió hacerlo porque todos los arcos que fluyen hacia
el nodo 4 (X24 y X34) están a su plena capacidad.
Figura A.13 Parámetros del Solver.
201
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Un gráfico similar a la figura A.14, que resume los flujos óptimos en un problema de flujo máximo,
es útil para identificar dónde sería más eficaz el aumento de las capacidades de flujo. Por ejemplo, en
este gráfico, se puede ver que a pesar de que X24 y X34 están a su plena capacidad, el aumento de esta
no se debe necesariamente al flujo a través de la red. El aumento de la capacidad de X24 permitiría un
aumento del flujo a través de la red, porque una unidad adicional podría fluir desde el nodo 1 hasta
el nodo 2, después al nodo 4 y luego al nodo 6. Sin embargo, el aumento de la capacidad de X34 no
permitiría un aumento en el flujo total debido a que el arco desde el nodo 1 hasta el nodo 3 ya está a
plena capacidad.
Estación 1
2
5
1
Estación 3
3
3
4
2 2
6
6
Campo
4
5
6
Refinería
2 2
4
3
4
5
5
2
Estación 2
4
Estación 4
Figura A.14 Representación de la solución óptima.
Problema de transporte
Problema resuelto
La compañía de luz tiene tres centrales que cubren las necesidades de cuatro ciudades. Cada central
suministra las cantidades siguientes de kilowatts-hora: planta 1, 35 millones; planta 2, 50 millones; planta 3, 40 millones. Las demandas de potencia pico en estas ciudades que ocurren a la misma hora (2:00
p.m.) son como sigue (en kw/h): ciudad 1, 45 millones; ciudad 2, 20 millones; ciudad 3, 30 millones y
ciudad 4, 30 millones. Los costos por enviar un millón de kw/h de la planta dependen de la distancia
que debe viajar la electricidad y se muestran en la tabla A.1.
Tabla A.1
Ciudad 1
Ciudad 2
Ciudad 3
Ciudad 4
Suministros
$8.00
$6.00
$10.00
$9.00
35
Planta 2
$9.00
$12.00
$13.00
$7.00
50
Planta 3
$14.00
$20.00
$16.00
$5.00
40
Demanda
45
20
30
30
Planta 1
Formular un problema lineal para minimizar el costo de satisfacer la demanda de potencia pico de cada
ciudad.
Solución
Este problema se resuelve a través del Solver de Excel, colocando celdas para las variables de decisión,
como se observa en la siguiente figura.
202
Grupo Editorial Patria©
Figura A.15
Obsérvese que las celdas $B$4 a $B$6, $E$4 a $E$6, $H$4 a $H$6 y $K$4 a $K$6 describen el costo
de enviar un millón de kw/hora de la planta i a la ciudad j. En tanto, en las celdas $C$4 a $C$6, $F$4 a
$F$6, $I$4 a $I$6 y $L$4 a $L$6 se encuentran las variables de decisión; por ejemplo, $C$4 es la cantidad de millones de kw/hora que se envía de la planta 1 a la ciudad 1, $F$6 es la cantidad de millones
de kw/hora que se envía de la planta 3 a la ciudad 2 y así sucesivamente. Por su parte, en las celdas
$D$4 a $D$6, $G$4 a $G$6, $J$4 a $J$6 y $M$4 a $M$6 se encuentran los costos que están en función
del valor de las variables de decisión; por ejemplo, para obtener la celda $D$4 hay que efectuar la
multiplicación de $B$4 por $C$4, como se aprecia en figura A.16.
Figura A.16
El siguiente paso del proceso es escribir las restricciones, nótese que en la celda $C$13 se coloca la
suma de las variables de decisión que describen lo enviado por la planta 1 a cada ciudad.
203
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Figura A.17
De manera similar, la celda $G13 contiene la suma de las celdas correspondientes a las variables de
decisión de los millones de kw/hora que llegan a la ciudad 1 de cada planta.
Figura A.18
En las celdas $D$13 a $D15 se coloca la oferta máxima de cada planta. De manera similar, las celdas
$H$13 a $H16 contienen la demanda mínima requerida por cada ciudad.
204
Grupo Editorial Patria©
Figura A.19
Por último, se resuelve el problema, para ello es necesario ir a Datos en el menú y luego a la opción Solver. Al aparecer la ventana de los parámetros de Solver se coloca el valor de la celda objetivo, en este
caso $B$9, en el valor de la celda objetivo se selecciona la opción Mínimo y en el campo Cambiando
las celdas se colocan todas las que contienen a las variables de decisión.
Figura A.20
Luego, se construyen las restricciones apretando el botón Agregar; por ejemplo, la restricción de la
oferta de la planta 1 se realiza utilizando las celdas construidas con anterioridad, apretar aceptar e
introducir todas las restricciones para la oferta y la demanda.
Figura A.21
205
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Una vez que se colocan todas las restricciones, la ventana se debe ver como se aprecia en la figura
A.22.
Figura A.22
Enseguida, con el botón Opciones se especifican las opciones: Adoptar modelo lineal y Adoptar no
negativos. Por último, se selecciona el botón Resolver, donde se acepta el uso de la solución encontrada en Solver.
Figura A.23
La solución se muestra en la figura A.24.
206
Grupo Editorial Patria©
Figura A.24
Entonces, se envían 20 millones de kw/hora de la planta 1 a la ciudad 2, con un costo de $120 y 15 millones de kw/hora de la planta 1 a la ciudad 3, con un costo de $150. En tanto, de la planta 2 a la ciudad 1
se envían 45 millones kw/hora con un costo de $405, 5 kw/hora de la planta 2 a la ciudad 3, con un
costo de $65. Por último, de la planta 3 a la ciudad 3 se envían 10 millones de kw/hora con un costo
de $160; y a la ciudad 4, 30 con un costo de $150. Como se puede ver, el costo mínimo es de $1 050
y las restricciones se cumplen.
Problema de asignación
A continuación se presenta un problema resuelto de asignación.
Problema resuelto
Cinco empleados llevan a cabo cuatro tareas. El tiempo que toma a cada persona realizar cada tarea
en horas se muestra en la tabla A.2. Determinar la asignación de empleados a las tareas que reduce el
tiempo total requerido para efectuar las cuatro tareas.
Tabla A.2
Tarea 1
Tarea 2
Tarea 3
Tarea 4
Persona 1
22
18
30
18
Persona 2
18
27
22
Persona 3
26
20
28
28
Persona 4
16
22
Persona 5
21
14
25
28
Solución
A continuación se describe paso a paso la solución a través del Solver de Excel.
207
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Así, primero se escribe el problema, colocando celdas para las variables de decisión. Obsérvese que
la persona 2 no puede hacer la tarea 2, por lo que se coloca un valor muy grande en estas celdas,
con la finalidad de que no sean consideradas cuando se minimice el tiempo total.
Figura A.25
En este caso, las celdas $C$5 a $C$9, $F$5 a $F$9, $I$5 a $I$9 y $L$5 a $L$9 se refieren al tiempo en
horas que se tarda la persona i en realizar la tarea j. Mientras que en las celdas $D$5 a $D$9, $G$5 a
$G$9, $J$5 a $J$9 y $M$5 a $M$9 se encuentran las variables de decisión; por ejemplo, $G$8 es una
variable binaria que será 1 si la persona 4 realiza la tarea 2 y 0 si no es asignada a esta actividad; $M$6
será 1 si la persona 2 realiza la tarea 4 y 0 en el caso contrario, y así sucesivamente. En cuanto a las celdas $E$5 a $E$9, $H$5 a $H$9, $K$5 a $K$9 y $N$5 a $N$9, en estas se encuentra el tiempo que está
en función del valor de las variables de decisión; por ejemplo, para obtener la celda $H$5 es necesario
efectuar la multiplicación de $F$5 por $G$5 como se aprecia en la figura A.26.
Figura A.26
208
Grupo Editorial Patria©
Posteriormente, se establece la función objetivo. Obsérvese que en este problema se requiere minimizar el tiempo total de duración de las tareas, lo que se especifica en Excel sumando el contenido de
todas las celdas de tiempo; en este caso, por practicidad, se ha hecho a través de la función suma.
Figura A.27
A continuación, se detallan las restricciones; nótese que en la celda $D$15 se coloca la suma de las
variables de decisión que describen la realización de cada una de las tareas realizadas por la persona 1.
En la celda $E$15 se coloca el 1, puesto que la persona 1 solo puede realizar una sola tarea (solo una
variable de decisión puede ser igual a 1, las otras serán igual a 0).
Figura A.28
De manera similar, la celda $H15 contiene la suma de las celdas correspondientes a las variables de
decisión de todas las personas (personas 1 a 5) que pueden realizar la tarea 1. La celda $I$15 es igual a
1 porque la tarea 1 será hecha solo por una persona.
209
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Figura A.29
Una vez construidas las restricciones, se resuelve el problema. Primero, se deberá ir a la opción Datos
en el menú y luego a la opción Solver. Al aparecer la ventana de los parámetros de Solver, se coloca el
valor de la celda objetivo; en este caso, $C$11, en el valor de la celda objetivo se selecciona la opción
Mínimo; y en el campo Cambiando las celdas se colocan todas las celdas que contienen a las variables
de decisión, nótese que esta vez se han puesto en intervalos que corresponden a cada tarea, separados
por comas.
Figura A.30
210
Grupo Editorial Patria©
Luego, se construyen las restricciones a través del botón Agregar; por ejemplo, la restricción de la oferta de la persona 1 se realiza utilizando las celdas construidas con anterioridad, se selecciona Agregar, se
introducen todas las restricciones para la oferta y la demanda, y por último se selecciona Aceptar.
Figura A.31
Una vez colocadas todas las restricciones, la ventana se debe ver como se aprecia en la figura A.32.
Figura A.32
Con el botón Opciones, se especifica la opción a seguir: Adoptar modelo lineal y Adoptar no negativos.
Por último, se selecciona el botón Resolver, mediante el cual se acepta el uso de la solución encontrada
en el Solver.
Figura A.33
211
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
La solución se muestra en la figura A.34.
Figura A.34
Como puede observarse en la figura, en la celda $G$5, la persona 1 realiza la tarea 2 la persona 2 realiza la tarea 1 (véase $D$6), la persona 3 no realiza ninguna tarea, la persona 4 realiza la tarea 4 (véase
$M$8) y la persona 5 efectúa la tarea 3 (véase $J$9). Véase que el costo mínimo es de $75 y que las
restricciones se cumplen.
Problema de transbordo
Problema resuelto
Supóngase que se fabricará un mismo producto nuevo en dos plantas distintas y que será necesario
enviarlo a dos almacenes de distribución, donde cualquiera de las dos plantas podrá abastecer a los
dos almacenes. La red de distribución disponible se muestra en la figura A.35. La decisión que deberá
tomarse se refiere a cuánto enviar a través de cada canal de distribución para minimizar el costo total
de envío.
50 unidades
$900/unidades
F1
A1
$400/unidades
Máximo
10 unidades
$200/unidades
$200/unidades
$300/unidades
CD
$100/unidades
$300/unidades
40 unidades
Figura A.35
212
F2
Máximo
80 unidades
A2
Grupo Editorial Patria©
Solución
Este problema puede resolverse a través del Solver de Excel. Para ello, primero se escribe el problema
colocando celdas para las variables de decisión (véase figura A.36).
Figura A.36
Obsérvese que en las filas se han colocado los nodos de salida (oferta) y en las columnas los nodos
de entrada (demanda). Las celdas $C$6, $F$6, $F$7, $I$6, $I$10, $L$8 y $L$9 contienen el costo por
mover un artículo del nodo i al nodo j. En tanto, en las celdas $D$6, $G$6, $G$7, $J$6, $J$10, $M$8
y $M$9 se especifican las variables de decisión; por ejemplo, $D$6 es el número de artículos que se
envían de la fábrica 1 (F1) a la fábrica 2 (F2); $J$10 es el número de artículos que se envían del almacén
2 (A2) al almacén 1 (A1) y así sucesivamente. En las celdas $E$6, $H$6, $H$7, $K$6, $K$10, $N$8 y
$N$9 se ubica el costo que está en función del valor de las variables de decisión; por ejemplo, para
obtener la celda $E$6 es necesario efectuar la multiplicación de $C$6 por $D$6, como se aprecia en
la figura A.37.
Figura A.37
213
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Posteriormente, se establece la función objetivo. Una vez que se obtienen todos los costos, estos se
suman, como se aprecia en la figura A.38. Nótese que en este problema se requiere minimizar el costo
total de enviar los artículos de los nodos fuente a los nodos demanda.
Figura A.38
Luego, se formulan las restricciones; es necesario construir una para cada nodo. Para el lado derecho de
las restricciones, $E$18 y $E$19 contienen la máxima oferta de los nodos fuente (en este caso: F1 y F2),
obsérvese que estas cantidades son positivas; el nodo transbordo siempre debe ser cero ($E$21) y la
mínima demanda se coloca en las celdas $E$23 y $E$24 en negativo. Para el lado izquierdo, es imprescindible recordar el principio que rige la construcción de las restricciones del problema de transbordo:
todo sale, excepto lo que entra para cada nodo. Así, si hablamos del nodo F1, este solo tiene salidas y
ninguna entrada, por lo que únicamente deben sumarse $D$6, $G$6 y $J$6; el nodo F1 solo tiene fila
y no columnas. El nodo F2 ya tiene salidas (fila 7: $G$7) y entradas (columna D: $D$6), por lo que se
efectúa la operación de $G$7- $D$6.
Figura A.39
214
Grupo Editorial Patria©
Figura A.40
Enseguida, se construyen las restricciones del nodo transbordo y los nodos demanda de manera similar; para la restricción de los arcos se coloca la máxima capacidad en las celdas $H$18 y $H$19, así
como en las celdas $I$18 y $I$19 se iguala con la celda que contiene el número de artículos que pasan
por dicho arco. Por ejemplo, de F1 a F2 solo pueden enviarse 10 unidades.
Figura A.41
El problema se resuelve al ir a Datos en el Menú y luego a la opción Solver. Al aparecer la ventana de
los parámetros de Solver, se coloca el valor de la celda objetivo, en este caso $C$14, en el valor de la
celda objetivo, se selecciona la opción Mínimo; y en el campo Cambiando las celdas se colocan todas
las celdas que contienen a las variables de decisión separadas por comas.
215
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Figura A.42
Acto seguido, se construyen las restricciones a través del botón Agregar; por ejemplo, la restricción del
nodo F1 se realiza utilizando las celdas construidas antes. Luego, se selecciona Agregar y se introducen
todas las restricciones para cada nodo, al final se oprime la opción Aceptar.
Figura A.43
Una vez colocadas todas, la ventana se debe ver como se muestra en la figura A.44.
Figura A.44
216
Grupo Editorial Patria©
Con el botón Opciones se especifica Adoptar modelo lineal y Adoptar no negativos. Por último, se
selecciona el botón Resolver, mediante el cual se acepta el uso de la solución encontrada en el Solver.
Figura A.45
La solución se muestra en la figura A.46.
Figura A.46
Así, se sabe que de F1 a A1 se envían 10 artículos ($J$6); F1 también envía 40 artículos al CD ($G$6);
F2 envía 40 artículos al CD ($G$7); el CD envía 80 artículos al A2 ($M$8) y este a su vez 20 a A1 ($J$10).
Todas las restricciones se cumplen con un costo de $51 000.00.
217
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Problema de ruta más corta
Problema resuelto
En fechas recientes se reservó un área para paseos y campamentos. En esta no se permite la entrada de automóviles, aunque existe un sistema de caminos angostos con curvas para tranvías y jeeps
conducidos por los guardabosques. La figura A.47 muestra este sistema de caminos sin las curvas, en
donde 0 es la entrada al parque y los otros números representan la localización de las casetas de los
guardabosques (y otras instalaciones del servicio). Los números son las distancias en kilómetros de
estos caminos sinuosos.
El parque tiene un mirador, desde el que se aprecia un hermoso paisaje en la estación 6. Unos cuantos tranvías transportan a los visitantes desde la estación 6 y de regreso. Determinar qué ruta, desde la
entrada del parque a la estación 6, es la que tiene la distancia total más corta para la operación de los
tranvías.
1
7
2
2
2
7
1
4
6
4
4
5
0
5
1
3
3
Figura A.47
4
5
Este problema será resuelto como uno de transbordo, considerando que el 0 es el nodo fuente y el 6
el nodo demanda y todos los demás son nodos de transbordo. Las variables de decisión serán 1 si la
persona utiliza la el arco, 0 en caso contrario.
Solución
Se escribe el problema en Excel, colocando celdas para las variables de decisión.
Figura A.48
218
Grupo Editorial Patria©
En las filas se han colocado los nodos de salida y en las columnas los nodos de entrada. Las celdas
$C$3, $F$3, $F$4, $F$6, $I$3, $L$4, $L$5, $L$8, $O$5, $O$6, $R$7 y $R$8 contienen la distancia en
kilómetros del nodo i al nodo j. En las celdas $D$3, $G$3, $G$4, $G$6, $J$3, $M$4, $M$5, $M$8,
$P$5, $P$6, $S$7 y $S$8 se encuentran las variables de decisión; por ejemplo, $D$3 es una variable
binaria que toma el valor de 1 si se toma la ruta del nodo 0 al nodo 1, y 0 en caso contrario. De igual
forma, $M$5 es 1 si se toma la ruta del nodo 2 al nodo 4 y así sucesivamente. En las celdas $E$3, $H$3,
$H$4, $H$6, $K$3, $N$4, $N$5, $N$8, $Q$5, $Q$6, $T$7 y $T$8 se calcula la distancia que está en
función del valor de las variables de decisión; por ejemplo, para obtener la celda $E$3 es necesario
efectuar la multiplicación de $C$3 por $D$3, como se aprecia en la figura A.49.
Figura A.49
Posteriormente, se suman todos los costos después de haberlos calculado, como se explicó en el paso
anterior, con la finalidad de construir la función objetivo. Nótese que en este problema se requiere
minimizar la distancia total.
Figura A.50
219
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Como se dijo antes, es necesario construir una restricción para cada nodo; para el lado derecho de las
restricciones, $E$12 contiene la máxima oferta del nodo fuente, en este caso al ser una variable binaria
es 1; para los nodos de transbordo siempre debe ser cero ($E$14 a $E$18) y la mínima demanda se
coloca en las celda $E$20 en negativo. Para el lado izquierdo, es necesario recordar el principio utilizado en el problema anterior y que rige la construcción de las restricciones del problema de transbordo,
todo sale, excepto lo que entra para cada nodo; el nodo 0 solo tiene salidas y ninguna entrada, por lo
únicamente deben sumarse $D$3, $G$3 y $J$3; el nodo 0 solo tiene filas y no columnas. El nodo 1 ya
tiene salidas (fila 4: $G$4 y $M$4) y entradas (columna D: $D$3), por lo que se efectúa la operación de
$G$4 + $M$4 - $D$3.
Figura A.51
Enseguida, de manera similar, se construyen las restricciones de los nodos transbordo y el nodo demanda. Se resuelve el problema, ir a Datos en el Menú y luego a la opción Solver. Cuando aparece la
ventana de los parámetros de Solver, se coloca el valor de la celda objetivo, en este caso $W$14; en
el valor de la celda objetivo se selecciona la opción Mínimo, y en el campo Cambiando las celdas se
colocan todas las celdas que contienen a las variables de decisión separadas por comas.
220
Grupo Editorial Patria©
Figura A.52
Enseguida, se construyen las restricciones a través del botón Agregar; por ejemplo, la restricción del
nodo F1 se realiza utilizando las celdas restricción construidas anteriormente, se selecciona Agregar y
se introducen todas las restricciones para cada nodo; al final se da clic en Aceptar.
Figura A.53
Una vez que se colocan todas las restricciones, la ventana se debe ver como en la figura A.54.
Figura A.54
221
APÉNDICE
A
Aplicaciones de la optimización lineal usando hojas de cálculo
Con el botón Opciones se especifica Adoptar modelo lineal y Adoptar no negativos. Por último, se
selecciona el botón Resolver donde se acepta utilizar la solución encontrada en el Solver.
Figura A.55
La solución se muestra en la figura A.56.
Figura A.56
Del nodo 0 se pasa al nodo 1 ($D$3), del nodo 1 al nodo 2 ($G$4), del nodo 2 al 4 ($M$5) y del nodo 4
al nodo 6 ($S$7). Todas las restricciones se cumplen con una distancia de 13 kilómetros.
222
Problemas para resolver
Grupo Editorial Patria©
1. Una compañía suministra bienes a tres clientes, de los
cuales cada uno requiere 30 unidades. La compañía tiene
dos almacenes. El almacén 1 tiene 40 unidades y el almacén 2, 30 unidades disponibles. Los costos de enviar una
unidad desde el almacén al cliente se muestran en la tabla A.3. Es importante resaltar que hay una penalización por
cada unidad de demanda no suministrada al cliente: con el
cliente 1 se incurre en un costo de penalización de $90; con
el cliente 2 de $80, y con el cliente 3 de $110. Formular un
problema de transporte equilibrado para minimizar la suma
de escasez y costos de envío.
Tabla A.3
APÉNDICE
A
4. Supóngase que una persona va a hacer un viaje en auto a
otra ciudad que nunca ha visitado. Antes de salir, estudia un
plano para determinar la ruta más corta a su destino. Según
la ruta que elija, hay otras cinco ciudades (llamadas A, B, C,
D, E) por las que puede pasar en el camino. El plano muestra
las millas de cada carretera que tiene una conexión directa
entre dos ciudades. Estas cifras se resumen en la tabla A.5,
donde un guión indica que no hay conexión directa. Formular este problema como uno de ruta más corta trazando una
red donde los nodos son ciudades, los arcos carreteras y los
números la distancia en millas.
Tabla A.5
DE/A
Cliente 1
Cliente 2
Cliente 3
Almacén 1
$15
$35
$25
Almacén 2
$10
$50
$40
Millas entre ciudades adyacentes
Pueblo
A
B
C
D
E
Destino
Origen
40
60
50
----
----
----
10
----
70
----
----
20
55
40
----
50
----
10
60
A
Solución
B
Del almacén 1 al cliente 2, 10 unidades; del almacén 1 al
cliente 3, 30 unidades y del almacén 2 al cliente 1, 30 unidades. El cliente 2 no recibirá 20 unidades.
2. Respecto al problema anterior, supóngase que podrían
comprarse unidades extra y enviarse a cualquier almacén
con un costo total de $100 por unidad y que se debe satisfacer la demanda de los clientes. Formular un problema de
transporte equilibrado para minimizar la suma de costos
de compra y envío.
Solución
Del almacén 1 al cliente 2, 10 unidades; del almacén 1 al
cliente 3, 30 unidades; y del almacén 2 al cliente 1, 30 unidades. Se comprarán 20 unidades para satisfacer al cliente 2.
3. Un banco tiene dos sitios en los que se procesan los cheques. El sitio uno tiene capacidad para procesar 10 000 y
el sitio dos, 6 000 cheques por día. El banco procesa tres
tipos de cheques: vendedor, salario y personal. El costo de
procesamiento por cheque depende del sitio. Por día deben
procesarse 5 000 cheques de cada tipo. Formule un problema de transporte equilibrado para minimizar el costo diario
de procesar los cheques.
C
----
D
E
80
Solución
La ruta es Origen-A-B-D-Destino y la distancia mínima es de
165 millas.
5. Un vuelo está a punto de despegar de Seattle sin escalas a Londres. Existe cierta flexibilidad para elegir la ruta
precisa, según las condiciones del clima. La siguiente red
describe las rutas posibles consideradas, donde SE y LN son
Seattle y Londres, respectivamente, y los otros nodos representan varios lugares intermedios. El viento a lo largo de
cada arco afecta mucho el tiempo del vuelo (y, por ende, el
consumo de combustible). Con base en el informe meteorológico actual, junto a los arcos en la figura A.57 se muestran los tiempos de vuelo (en horas). Debido al alto costo
de combustible, la administración ha establecido la política de elegir la ruta que minimiza el tiempo total de vuelo.
Formular este como un problema de la ruta más corta.
3.5
A
D
3.4
Tabla A.4
Sitio (c)
Cheques
1
2
Vendedor
5
3
Salario
4
4
Personal
2
5
SE
4.6
4.7
3.2
B
E
3.3
4.2
Solución
3.4
3.6
3.6
LN
3.8
3.5
C
3.4
F
Figura A.57
Se minimiza con un costo de $45 000.00; del sitio 1 se producen 5 000 cheques para salario y 5 000 para personal;
del sitio 2 se producen 5 000 cheques para vendedor y en
este sitio tiene capacidad para producir 1 000 cheques más.
Problemas aplicados a la realidad
Solución
La ruta que minimiza el tiempo total de vuelo es SE-C-E-LN
con un tiempo de 11.3 horas.
Problemas para resolver con tecnología
223
A Problemas para resolver
APÉNDICE
6. Supóngase una empresa que fabrica dispositivos mecánicos en dos fábricas diferentes, una en Memphis y otra en
Denver. La fábrica de Memphis puede producir 150 dispositivos por día, mientras que la de Denver 200. Los dispositivos se envían por aire a clientes en Boston y Los Ángeles.
Los clientes de cada ciudad requieren 130 dispositivos por
día. Debido a la desregulación de las tarifas áreas, la empresa cree que puede ser más barato enviarla a Nueva York o
Chicago, y de ahí a sus destinos finales. Los costos se muestran en la tabla A.6. Formular la ruta más corta.
8. Se reúne a un equipo de relevos para una competencia
de 400 metros. Cada deportista debe nadar 100 metros de
brazada de pecho, dorso, mariposa o estilo libre. El entrenador cree que cada nadadora obtendrá los tiempos, en segundos, dados en la tabla siguiente. Para reducir el tiempo
de la competencia, ¿Qué nadadora debe nadar cada estilo?
Tabla A.9
Tabla A.6
De/A
Memphis
Denver
Nueva
York
Memphis
0
-------
8
13
25
28
Denver
-------
0
15
12
26
25
Nueva
York
-------
-------
0
6
16
17
Chicago
-------
-------
6
0
14
16
Los
Ángeles
-------
-------
-------
-------
0
Boston
-------
-------
-------
-------
-------
Chicago
Los
Ángeles
Boston
Nadadora/
Estilo
Libre
Pecho
Mariposa
Dorso
Gabriela
Hernández
54
54
51
53
Marcela
Salinas
51
57
52
52
Julia Martínez
50
53
54
56
Claudia Gómez
56
54
55
53
Solución
0
Solución
De Memphis a Nueva York y posteriormente a Los Ángeles,
130; de Denver directamente a Boston, 130; Memphis conserva 20 y Denver 70.
7. General Ford tiene dos plantas, dos almacenes y tres
clientes. Las plantas están en Detroit y Atlanta, los almacenes en Denver y Nueva York, y los clientes en Los Ángeles,
Chicago, y Filadelfia. Los automóviles se producen en las
plantas, luego se envían a los almacenes y, por último, a los
clientes. Detroit puede producir 150 automóviles y Atlanta
100 automóviles por semana. En Los Ángeles requieren 80
automóviles por semana, en Chicago, 70; y en Filadelfia, 60.
Cuesta 10 000 dólares producir un automóvil en cada planta.
El costo de envío de un automóvil entre dos ciudades se
observa en las tablas A.7 y A.8. Determinar cómo satisfacer
las demandas semanales a un costo mínimo.
Tabla A.7
Gabriela Hernández, mariposa; Marcela Salinas, dorso; Julia
Martínez, libre y Claudia Gómez, pecho; con un tiempo total
de 206 segundos.
9. Se cuenta con dos depósitos para suministrar agua a tres
ciudades. Cada depósito puede suministrar hasta 50 millones de galones por día. A cada ciudad le gustaría recibir
40 millones de galones por día. Por cada millón de galones
por día de demanda sin satisfacer se aplica una penalización. En la ciudad 1 es de $20, en la 2 de $22 y en la 3 de
$23. El costo de transportar un millón de galones de agua
desde cada depósito a cada ciudad se ilustra en la tabla
A.10. Minimizar el costo de transporte.
Tabla A.10
De/A
Ciudad 1
Ciudad 2
Ciudad 3
Depósito 1
7
8
10
Depósito 2
9
7
8
Solución
De/A
Denver
Nueva York
Detroit
1 253
637
Atlanta
1 398
841
Del depósito 1 a la ciudad 1, 20; del depósito 1 a la ciudad
2, 30; del depósito 2 a la ciudad 2, 10; del depósito 2 a la
ciudad 3, 40; no se surtirán 20 unidades a la ciudad 1.
Tabla A.8
De/A
Los Ángeles
Chicago
Filadelfia
Denver
1 059
996
1 691
Nueva York
2 786
802
100
Solución
De Detroit a Denver, 20; de Detroit a Nueva York, 130; de
Atlanta a Denver, 60; de Denver a Los Ángeles, 80; de Nueva
224
York a Chicago, 70; de Nueva York a Filadelfia, 60; Atlanta
conserva 40 con un costo mínimo de $338 610.00.
Problemas aplicados a la realidad
10. Una compañía suministra bienes a tres clientes y cada
uno requiere 30 unidades. La compañía tiene dos almacenes. El almacén 1 tiene 40 unidades disponibles y el almacén
2 tiene 30. Los costos de enviar una unidad del almacén al
cliente se muestran en la tabla A.11. Existe una penalización
por cada unidad de demanda no suministrada al cliente: con
el cliente 1 un costo de $90.00, con el 2 de $80.00 y con
3 de $110.00. Formular un problema de transporte equilibrado para minimizar la suma de escasez (los costos de la
demanda no suministrada) y los costos de envío.
Problemas para resolver con tecnología
Grupo Editorial Patria©
Tabla A.11
De/A
Cliente 1
Cliente 2
Cliente 3
Almacén 1
15
35
25
Almacén 2
10
50
40
Solución
Del almacén 1 a la ciudad 2, 10; del almacén 1 a la ciudad
3, 30; del almacén 2 a la ciudad 1, 30; no se surtirán 20 a la
ciudad 2.
11. La figura A.58 representa diversos flujos que se pueden
producir a través de la red de una planta de tratamiento de
aguas residuales, los números en los arcos representan la
máxima cantidad de flujo (en toneladas de agua residuales
por hora) que se pueden acomodar. Formular un modelo
de PL para determinar el flujo máximo de aguas residuales
en toneladas por hora que pueden ser procesados por esta
planta.
Problemas aplicados a la realidad
2
10
5
7
8
9
8
9
1
9
3
7
7
6
7
6
4
11
9
Figura A.58
Solución
Flujo máximo = 24 toneladas de aguas residuales por hora.
Problemas para resolver con tecnología
225
APÉNDICE
226
A Problemas para resolver
Problemas aplicados a la realidad
Problemas para resolver con tecnología
Grupo Editorial Patria©
Problemas aplicados a la realidad
Problemas para resolver con tecnología
227
Descargar