Está en la página 1de 371

UNIVERSIDAD MAYOR DE SAN SIMÓN

FACULTAD DE CIENCIAS Y TECNOLOGÍA


Departamento de Ingeniería Civil

MATERIAL DE APOYO DIDÁCTICO


DE LA ENSEÑANZA – APRENDIZAJE
EN LA ASIGNATURA DE SISTEMAS DE
INGENIERÍA
“Texto Guía”

Trabajo Dirigido, Por Adscripción, Presentado en Cumplimiento Parcial de los


Requisitos Para Optar al Diploma Académico de

LICENCIADO EN INGENIERÍA CIVIL

Presentado por: Julio Rafael Angulo Torrico


José Arturo Rivera Soto

Tutor: Ing. Ramiro Saavedra

Cochabamba-Bolivia
Mayo 2006
ÍNDICE

CAPÍTULO 1 1
INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES 1
1.1 Reseña histórica 1
1.2 ¿Qué es la Investigación de Operaciones? 3
1.3 Fases de un estudio de Investigación de Operaciones 4
1.3.1 La definición del problema 5
1.3.2 La construcción del modelo 6
1.3.3 Solución del modelo matemático 7
1.3.4 La validación del modelo 8
1.3.5 La implementación del modelo matemático 10
1.4 Modelos matemáticos de Investigación de Operaciones 10
1.5 Impacto de la Investigación de Operaciones 11
1.6 Riesgo al aplicar la Investigación de Operaciones 11
1.7 Tipos de modelos de Investigación de Operaciones. 12
1.7.1 Programación Lineal 12
1.7.2 Teoría de Redes (incluye PERT/CPM) 13
1.7.3 Teoría de colas (líneas de espera) 14
1.7.4 Modelo de hoja de cálculo electrónica 14
1.8 Conclusiones 15
1.9 Bibliografía 15
1.10 Enlaces 15

CAPÍTULO 2 16
MODELIZACIÓN A LA PROGRAMACIÓN LINEAL 16
2.1 Introducción a la modelización 16
2.2 Fases del proceso de modelización 17
2.3 Reglas básicas de modelización 18
2.4 Problemas Resueltos 19
2.5 Problemas Propuestos 22
2.6 Bibliografía 25
2.7 Enlaces 25
CAPÍTULO 3 26
PROGRAMACIÓN LINEAL - MÉTODO GRÁFICO 26
3.1 Introducción 26
3.2 Modelo de programación lineal con dos variables 26
3.3 Método gráfico 26
Ejemplo de aplicación 3.1 27
Problemas de repaso 30
3.4 Solución por computadora 35
3.4.1 Solución gráfica con TORA 35
3.4.2 Solución gráfica con WinQSB (Quantitative System For Business) 37
3.5 Análisis de sensibilidad por el método gráfico 39
3.5.1 Cambios en los coeficientes de la función objetivo 39
Ejemplo de aplicación 3.2 39
3.5.2 Cambio en disponibilidad de recursos (en el lado derecho de las restricciones) 40
Ejemplo de aplicación 3.3 41
3.5.3 Valor por unidad de recursos 43
Ejemplo de aplicación 3.4 43
3.6 Problemas propuestos 44
3.7 Bibliografía 47
3.8 Enlaces 47

CAPÍTULO 4 48
PROGRAMACIÓN LINEAL - MÉTODO SÍMPLEX 48
4.1 Introducción 48
4.2 Espacio de soluciones en forma de ecuación 48
4.2.1 Conversión de desigualdades a ecuaciones 49
Ejemplo de aplicación 4.1 50
4.2.2 Manejo de variables no restringidas y no positivas. 50
4.2.2.1 Conversión de variables no restringidas. 51
Ejemplo de aplicación 4.1 (a) 51
Ejemplo de aplicación 4.1 (b) 51
4.2.2.2 Conversión de variables no positivas 51
Ejemplo de aplicación 4.1 (c) 52
4.3 Transición de solución gráfica a solución algebraica 52
4.4 Método Símplex 53
Ejemplo de aplicación 4.2 55
4.5 Método de penalización 61
4.5.1 Método de la “M” 62
Ejemplo de aplicación 4.3 62
4.5.2 Método de las dos fases 64
Ejemplo de aplicación 4.4 65
4.6 Fundamentos matemáticos 68
4.6.1 Soluciones básicas y bases 69
4.6.2 Método Símplex 69
4.6.2.1 Tabla Símplex en forma matricial 69
4.7 Método Símplex revisado 71
Ejemplo de aplicación 4.5 72
Ejemplo de aplicación 4.6 77
4.8 Casos especiales de la aplicación del Método Símplex. 79
4.8.1 Degeneración 79
Ejemplo de aplicación 4.7 79
4.8.2 Óptimos alternativos 81
Ejemplo de aplicación 4.8 81
4.8.3 Solución no acotada 83
Ejemplo de aplicación 4.9 83
4.8.4 Solución no factible 85
Ejemplo de aplicación 4.10 85
4.9 Solución por computadora 86
4.9.1 Iteraciones símplex con TORA 86
4.9.2 Reportes del WinQSB 87
4.9.3 Solución de programa lineal con SOLVER de EXCEL 89
4.10 Problemas propuestos 94
4.11 Bibliografía 98
4.12 Enlaces 98

CAPÍTULO 5 99
ANÁLISIS DE DUALIDAD Y SENSIBILIDAD DE LA PROGRAMACIÓN LINEAL 99
5.1 Introducción 99
5.2 Definición del problema dual 99
Ejemplo de aplicación 5.1 101
Ejercicio de aplicación 102
5.3 Resolución opcional de problema primal con restricciones del tipo “≥” o “=” 104
5.3.1 Restricción de la forma mayor o igual 104
5.3.2 Restricción de la forma igualdad 105
5.4 Relaciones PRIMAL –DUAL 106
5.4.1 Planteamiento de la tabla símplex 106
5.4.2 Solución dual óptima 107
Ejemplo de aplicación 5.2 108
5.4.3 Calculo con la tabla símplex 109
5.4.3.1 Cálculos de columnas de restricción. 110
5.4.3.2 Cálculos de renglón objetivo z. 110
Ejemplo de aplicación 5.3 110
5.4.4 Valor objetivo primal y dual 112
Ejemplo de aplicación 5.4 113
5.5 Otros algoritmos símplex para programación lineal 113
5.5.1 Método dual Símplex 113
5.5.1.1 Condición dual de factibilidad 113
5.5.1.2 Condición dual de óptimalidad 113
Ejemplo de aplicación 5.4. 114
5.5.2 Algoritmo símplex generalizado 116
Ejemplo de aplicación 5.5. 116
5.5.3 Técnica de la cota superior 118
Ejemplo de aplicación 5.6. 120
5.6 Análisis Pos-óptimo o de sensibilidad 121
5.7 Cambios que afectan la factibilidad 124
5.7.1 Cambios en el lado derecho. 124
Ejemplo de aplicación 5.7. 124
5.7.2 Intervalos de factibilidad de los elementos del lado derecho. 125
Ejemplo de aplicación 5.8. 126
5.7.3 Cambios realizados en una restricción 126
5.7.3.1 Añadir una nueva restricción 126
5.7.3.2 Suprimir una restricción 127
5.7.3.3 Reemplazar una restricción 127
5.7.3.4 Añadir una variable (por ejemplo, introducir un nuevo producto) 127
5.7.3.5 Suprimir una variable (es decir, cancelar un producto) 127
5.7.3.6 Adicción de nuevas restricciones. 127
Ejemplo de aplicación 5.9. 128
5.8 Cambios que afectan la óptimalidad 129
5.8.1 Cambios en los coeficientes de la función objetivo. 129
Ejemplo de aplicación 5.10. 129
5.8.2 Intervalo de óptimalidad de los coeficientes objetivo. 131
Ejemplo de aplicación 5.11. 131
5.8.3 Adición de una nueva actividad. 132
Ejemplo de aplicación 5.12. 132
5.9 Problemas propuestos 134
5.10 Bibliografía 137
5.11 Enlaces 137

CAPÍTULO 6 138
MODELO DE TRANSPORTE 138
6.1 Introducción 138
6.2 Antecedentes del problema 138
6.3 Modelización del problema: hipótesis básicas 138
6.4 Propiedades matemáticas del problema 141
6.5 El algoritmo de transporte 143
6.5.1 Balanceo del modelo 144
Ejemplo de aplicación 6.1 144
Ejemplo de aplicación 6.2 145
6.5.2 Determinación de la solución factible de inicio 146
6.5.2.1 Método de la Esquina Noroeste. 147
Ejemplo de aplicación 6.3 147
6.5.2.2 Método del costo mínimo. 150
Ejemplo de aplicación 6.4 150
6.5.2.3 Método de aproximación de Vogel. 152
Ejemplo de aplicación 6.5 153
6.5.3 Algoritmo de verificación y búsqueda del óptimo. 155
Ejemplo de aplicación 6.6 156
6.6 Análisis de sensibilidad en problemas de transporte 161
6.6.1 Variación de coeficientes en la función objetivo de variables no básicas 161
6.6.2 Variación de coeficientes en la función objetivo de variables básicas. 162
6.6.3 Incrementos en una oferta y en una demanda. 162
6.7 Solución por computadora 164
6.7.1 Solución del modelo de transporte con TORA. 164
6.7.2 Solución con WinQSB. 166
6.7.3 Solución con Solver de Excel. 168
6.8 Problema de transporte con transbordos o transporte con nodos intermedios. 173
Ejemplo de aplicación 6.7 174
Ejemplo de aplicación 6.8 177
6.9 El modelo de asignación 179
6.9.1 Concepto 179
6.9.2 Solución matemática del modelo de asignación 179
6.9.3 Solución del modelo de asignación 180
Ejemplo de aplicación 6.9 180
Ejemplo de aplicación 6.10 182
6.10 Problemas de transporte multidimensional. 183
6.11 Problemas de transporte con restricciones adicionales. 184
6.12 Problemas propuestos. 185
6.13 Bibliografía. 188
6.14 Enlaces 188

CAPITULO 7 189
MODELOS DE REDES DE OPTIMIZACIÓN 189
7.1 Introducción 189
7.2 Conceptos referenciales para la teoría de redes 189
7.3 El Problema de la ruta más corta 192
7.3.1 Algoritmos de la ruta más corta 192
7.3.1.1 El algoritmo de Dijkstra. 192
Ejemplo de aplicación 7.1 193
7.3.1.2 El algoritmo de Floyd 196
Ejemplo de aplicación 7.2 198
7.3.2 Formulación del problema de la ruta más corta en programación lineal 201
7.3.2.1 Formulación 1 201
Ejemplo de aplicación 7.3 202
7.3.2.2 Formulación 2 202
Ejemplo de aplicación 7.4 203
7.3.3 Solución por computadora de la ruta más corta 204
7.3.3.1 Solución con TORA 204
7.3.3.2 Solución con WinQSB 207
7.3.3.3 Solución con hoja de cálculo de Excel 209
7.4 Problema del árbol de expansión mínima 212
7.4.1 Algoritmo del árbol de expansión mínima 212
Ejemplo de aplicación 7.5 212
7.4.2 Solución por computadora de expansión mínima 215
7.4.2.1 Solución con TORA 215
7.4.2.2 Solución con WinQSB 216
7.5 Modelo de flujo máximo 219
7.5.1 Algoritmos del problema de flujo máximo 220
7.5.1.1Algoritmo de Ford y Fulkerson 220
Ejemplo de aplicación 7.6 221
Ejemplo de aplicación 7.7 223
7.5.1.2 Algoritmo de flujo máximo 223
Ejemplo de aplicación 7.8 225
7.5.2 Formulación del problema de flujo máximo con programación lineal 228
Ejemplo de aplicación 7.9 228
7.5.3 Solución por computadora del problema de flujo máximo 229
7.5.3.1 Solución con TORA 229
7.5.3.2 Solución con WinQSB 230
7.5.3.3 Solución con hoja de cálculo de Excel 232
7.6 Problema del flujo capacitado a costo mínimo 235
7.6.1Representación en red 235
Ejemplo de aplicación 7.10 235
7.6.2 Formulación con programación lineal 236
Ejemplo de aplicación 7.11 237
7.6.3 Algoritmo símplex de red capacitada 238
Ejemplo de aplicación 7.12 240
7.6.4 Solución del modelo de flujo capacitado a costo mínimo con hoja de calculo Excel 245
7.7 Problemas propuestos 248
7.8 Bibliografía 250
7.9 Enlaces 250

CAPÍTULO 8 251
PROGRAMACIÓN DE ACTIVIDADES Y CONTROL DE PROYECTOS CPM Y PERT
251
8.1 Introducción a las redes de actividades 251
8.2 Antecedentes 252
8.3 Diferencias entre PERT y CPM 253
8.4 Métodos CPM y PERT 254
8.5 Modelaje de sistemas CPM/PERT 255
8.6 Diagrama de actividades tipo red 255
Ejemplo de aplicación 8.1 256
Ejemplo de aplicación 8.2 257
8.7 Ruta crítica (CPM) 259
8.8 Calculo para la ruta crítica (CPM) 259
Ejemplo de aplicación 8.3 260
8.9 Construcción del cronograma preliminar 264
Ejemplo de aplicación 8.4 264
8.10 Determinación de las holguras 265
Ejemplo de aplicación 8.5 266
8.11 Formulación del método de la ruta crítica con programación lineal 267
Ejemplo de aplicación 8.6 268
8.12 Redes PERT 269
Ejemplo de aplicación 8.7 271
8.13 Dificultades de PERT 273
8.14 Solución por computadora 274
8.14.1 Solución CPM/PERT con TORA 274
8.14.2 Solución CPM/PERT con WINQSB 277
8.14.3 Solución CPM/PERT con PERT Chart EXPERT 280
8.15 Conclusiones 289
8.16 Resumen 289
8.17 Problemas propuestos 290
8.18 Bibliografía 292
8.19 Enlaces 292

CAPÍTULO 9 293
TUTORIAL DE MS PROJECT 293
9.1 Introducción - Definiciones iniciales. 293
9.2 Fases de un proyecto. 293
9.3 Gestión de Proyectos con Microsoft Project. 295
9.4 Datos del proyecto 299
9.4.1 Datos generales del proyecto. 299
9.4.2 Tareas. 300
9.4.3 Programación de tareas. 302
9.4.4 Asignar recursos. 304
9.5 Costos con Ms Project 306
9.5.1 Costos. 306
9.6 Revisión del proyecto. 307
9.7 Introducción a Microsoft Project 2003 308
9.8 Generalidades. 308
9.9 El entorno de trabajo. 309
9.9.1 Barra de título. 311
9.9.2 Barra de menús y menús contextuales. 312
9.9.3 Barras de herramientas. 314
9.9.4 Gestión de barras de herramientas. 314
9.9.5 Propiedades de la barra de menú 315
9.9.6 Guía de proyectos. 316
9.9.7 Barra de vistas. 317
9.9.8 Zona de vista. 318
9.9.9 Barras de desplazamiento. 318
9.9.10 Barra de estado. 318
9.9.11 Combinaciones de vistas. 318
9.10 Creación de un Proyecto 318
9.10.1 Creación de un archivo de proyecto. 319
9.11 Información del proyecto. 321
9.12 Propiedades de un proyecto. 322

CAPITULO 10 324
SISTEMAS DE COLAS 324
10.1 Introducción a sistemas de colas 324
10.2 Definición. 324
10.3 ¿Por qué estudiar sistemas de colas? 324
Ejemplo de aplicación 10.1 325
10.4 Elementos de un modelo de cola 325
10.5 Costos de los modelos de colas. 326
10.6 Costo de espera. 327
10.7 Sistema de costo mínimo. 327
10.8 Estructuras típicas. 328
10.9 Papel de la distribución exponencial 329
Ejemplo de aplicación 10.2 330
10.10 Modelos con nacimientos puros y muertes puras (relación entre las distribuciones
exponenciales y de poisson) 331
10.10.1 Modelos de nacimientos puros 331
Ejemplo de aplicación 10.3 333
10.10.2 Modelos de muertes puras 334
Ejemplo de aplicación 10.4 334
10.11 Modelo generalizado de cola de Poisson 335
Ejemplo de aplicación 10.5 337
10.12 Colas especializadas de Poisson 338
10.12.1 Medidas de desempeño en estado estacionario 340
Ejemplo de aplicación 10.6 341
10.12.2 Modelos con un supervisor 343
(M/M/1) : (DG/∞/∞). 343
Ejemplo de aplicación 10.7 344
10.13 Otros modelos de cola 346
10.14 Modelos de decisión con colas 346
10.14.1 Modelos de costos. 346
10.14.2 Modelo de nivel de aspiración 347
10.15 Problemas propuestos 348
10.16 Bibliografía 350
10.17 Enlaces 350

ANEXO A 351
Operaciones Matriciales 351
Matrices 352
Definición de una matriz 352
Tipo de matrices 352
Matrices no singulares 352
Método para calcular la inversa de una matriz – método de operaciones de renglón (Gauss
– Jordan). 353
Relación de operaciones matriciales sencillas 356

ANEXO B 358
Tabla de Distribución Normal 358
Tabla de la distribución normal tipificada N(0,1) 359
Capítulo 1 Texto Guía - Sistemas de Ingeniería

CAPÍTULO 1

INTRODUCCIÓN A LA INVESTIGACIÓN DE
OPERACIONES
1.1 Reseña histórica
En los siglos XVII y XVIII, grandes matemáticos como Newton, Leibnitz,
Bernouilli y, sobre todo, Lagrange, que tanto habían contribuido al desarrollo del cálculo
infinitesimal, se ocuparon de obtener máximos y mínimos condicionados de determinadas
funciones.
Posteriormente el matemático francés Jean Baptiste-Joseph Fourier (1768-1830)
fue el primero en intuir, aunque de forma imprecisa, los métodos de lo que actualmente
llamamos programación lineal y la potencialidad que de ellos se deriva.
Si exceptuamos al matemático Gaspar Monge (1746-1818), quien en 1776 se
interesó por problemas de este género. Debemos remontarnos al año 1939 para encontrar
nuevos estudios relacionados con los métodos de la actual programación lineal, en este año,
el matemático ruso Leonodas Vitalyevich Kantarovitch publica una extensa monografía
titulada Métodos matemáticos de organización y planificación de la producción en la que
por primera vez se hace corresponder a una extensa gama de problemas una teoría
matemática precisa y bien definida llamada, hoy en día, programación lineal.
En 1941-1942 se formula por primera vez el problema de transporte, estudiado
independientemente por Koopmans y Kantarovitch, razón por la cual se suele conocer
con el nombre de problema de Koopmans-Kantarovitch.
Tres años más tarde, G. Stigler plantea otro problema particular conocido con el
nombre de régimen alimenticio óptima.
En estos años posteriores a la Segunda Guerra Mundial, en Estados Unidos se
asumió que la eficaz coordinación de todas las energías y recursos de la nación era un
problema de tal complejidad, que su resolución y simplificación pasaba necesariamente por
los modelos de optimización que resuelve la programación lineal.
Paralelamente a los hechos descritos se desarrollan las técnicas de computación y
los ordenadores, instrumentos que harían posible la resolución y simplificación de los
problemas que se estaban gestando.
En 1947, G.B. Dantzig formula, en términos matemáticos
muy precisos, el enunciado estándar al que cabe reducir todo
problema de programación lineal. Dantzig, junto con una serie de
investigadores del United States Departament of Air Force,
formarían el grupo que dio en denominarse SCOOP (Scientific
Computation of Optimum Programs).
Una de las primeras aplicaciones de los estudios del grupo
SCOOP fue el puente aéreo de Berlín. Se continuó con infinidad
de aplicaciones en el área de la construcción, bancario y
preferentemente militar.

1
Capítulo 1 Texto Guía - Sistemas de Ingeniería
Hacia 1950 se constituyen, fundamentalmente en Estados Unidos, distintos grupos
de estudio para ir desarrollando las diferentes ramificaciones de la programación lineal.
Cabe citar, entre otros, Rand Corporation, con Dantzig, Orchard-Hays, Ford, Fulkerson
y Gale, el departamento de Matemáticas de la Universidad de Princenton, con Tucker y
Kuhn, así como la Escuela Graduada de Administración Industrial, dependiente del
Carnegie Institute of Technology, con Charnes y Cooper.
Respecto al método del símplex, que estudiaremos después, señalaremos que su
estudio comenzó en el año 1951 y fue desarrollado por Dantzig en el United States Bureau
of Standards SEAC COMPUTER, ayudándose de varios modelos de ordenador de la firma
IBM.
Los fundamentos matemáticos de la programación lineal se deben al matemático
norteamericano de origen húngaro Janos von Neuman (1903-1957), que en 1928 publicó
su famoso trabajo Teoría de Juegos. En 1947 conjetura la equivalencia de los problemas de
programación lineal y la teoría de matrices desarrollada en sus trabajos. La influencia de
este respetado matemático, discípulo de David Hilbert en Gotinga y, desde 1930,
catedrático de la Universidad de Princenton de Estados Unidos, hace que otros
investigadores se interesaran paulatinamente por el desarrollo riguroso de esta disciplina.
En 1858 se aplicaron los métodos de la programación lineal a un problema concreto:
el cálculo del plan óptimo de transporte de arena de construcción a las obras de
edificación de la ciudad de Moscú. En este problema había 10 puntos de partida y 230 de
llegada. El plan óptimo de transporte, calculado con el ordenador Strena en 10 días del mes
de junio, rebajó un 11% los gastos respecto a los costos previstos.
Se ha estimado, de una manera general, que si un país subdesarrollado utilizase los
métodos de la programación lineal, su producto interior bruto (PIB) aumentaría entre un 10
y un 15% en tan sólo un año.
La programación lineal hace historia: el puente aéreo de Berlín
En 1946 comienza el largo período de la guerra fría
entre la antigua Unión Soviética (URSS) y las
potencias aliadas (principalmente, Inglaterra y Estados
Unidos). Uno de los episodios más llamativos de esa
guerra fría se produjo a mediados de 1948, cuando la
URSS bloqueó las comunicaciones terrestres desde las
zonas alemanas en poder de los aliados con la ciudad
de Berlín, iniciando el bloqueo de Berlín. A los
aliados se les plantearon dos posibilidades: o romper
el bloqueo terrestre por la fuerza, o llegar a Berlín por
el aire. Se adoptó la decisión de programar una
demostración técnica del poder aéreo norteamericano;
a tal efecto, se organizó un gigantesco puente aéreo para abastecer la ciudad: en diciembre
de 1948 se estaban transportando 4500 toneladas diarias; en marzo de 1949, se llegó a las
8000 toneladas, tanto como se transportaba por carretera y ferrocarril antes del corte de las
comunicaciones. En la planificación de los suministros se utilizó la programación lineal. (El
12 de mayo de 1949, los soviéticos levantaron el bloqueo).

2
Capítulo 1 Texto Guía - Sistemas de Ingeniería
Como muchos adelantos e investigaciones que favorecen al ser humano empiezas
ser utilizado para propósitos bélicos para luego ser utilizados en la parte civil. Las
investigaciones de operaciones no es la excepción ya que sus primeras actividades formales
de la investigación de operaciones se dio en dio en Inglaterra durante la 2da Guerra Mundial
en la cual se encomendó a un equipo de científicos ingleses la toma de decisiones acerca de
la mejor utilización de materiales bélicos, al terminar la Guerra, las ideas, investigaciones
realizadas para operaciones militares fueron adoptadas y/o modificadas para mejorar la
eficiencia y la productividad en el sector civil. Con el transcurso del tiempo se convirtió en
una herramienta dominante e indispensable para tomar decisiones.
Muchas personas clasifican el desarrollo de la investigación de operaciones con su
técnica la programación lineal entre los avances científicos más importantes de mediados
del siglo XX, su impacto desde 1950 ha sido extraordinario. En la actualidad es una
herramienta de uso normal que ha ahorrado miles o millones de gastos innecesarios a
muchas compañías o negocios, incluyendo empresas medianas en los distintos países
industrializados del mundo; su aplicación a otros sectores como la construcción en la
sociedad se está ampliando con rapidez. Una proporción muy grande de los cálculos
científicos en computadoras está dedicada al uso de la programación lineal.
1.2 ¿Qué es la Investigación de Operaciones?
Como toda disciplina en desarrollo, la investigación de operaciones ha ido
evolucionando no sólo en sus técnicas y aplicaciones sino en la forma como la
conceptualizan los diferentes autores, en la actualidad no existe solamente una definición
sino muchas, algunas demasiado generales, otras demasiado engañosas, aquí seleccionamos
una de las mas aceptadas y representativas.
La definición de la sociedad de investigación de operaciones de la Gran Bretaña es
la siguiente:
La investigación de operaciones es el ataque de la ciencia moderna a los complejos
problemas que surgen en la dirección y en la administración de grandes sistemas de
hombres, máquinas, materiales y dinero, en la industria, en los negocios, en la
construcción, en el gobierno y en la defensa. Su actitud diferencial consiste en desarrollar
un modelo científico del sistema tal, que incorpore valoraciones de factores como el azar y
el riesgo y mediante el cual se predigan y comparen los resultados de decisiones,
estrategias o controles alternativos. Su propósito es el de ayudar a la gerencia a
determinar científicamente sus políticas y acciones.
En relación a ésta definición deben destacarse los siguientes aspectos:
1. Generalmente se asocian los conceptos de dirección y administración a
las empresas de tipo lucrativo, sin embargo, una empresa es un concepto
más amplio, es algo que utiliza hombres, máquinas, materiales y dinero
con un propósito específico; desde éste punto de vista, se considera como
empresa desde una universidad hasta una constructora.
2. Para tratar de explicar el comportamiento de un sistema complejo, el
científico debe representarlo en términos de los conceptos que maneja, lo
hace expresando todos los rasgos principales del sistema por medio de
relaciones matemáticas. A esta representación formal se le llama modelo.

3
Capítulo 1 Texto Guía - Sistemas de Ingeniería
3. La esencia de un modelo es que debe ser predictivo, lo cual no significa
predecir el futuro, pero si ser capaz de indicar muchas cosas acerca de la
forma en que se puede esperar que un sistema opere en una variedad de
circunstancias, lo que permite valorar su vulnerabilidad. Si se conocen
las debilidades del sistema se pueden tomar cursos de acción agrupados
en tres categorías: a) Efectuar cambios que lleven a la empresa o parte de
ella a una nueva ruta; b) Realizar un plan de toma de decisiones; c)
Instalar estrategias que generen decisiones. Cuando se aplica alguno de
estos remedios, la investigación de operaciones nos ayuda a determinar
la acción menos vulnerable ante un futuro incierto.
4. El objetivo global de la investigación de operaciones es el de apoyar al
tomador de decisiones, en cuanto ayudarlo a cumplir con su función
basado en estudios científicamente fundamentados.
1.3 Fases de un estudio de Investigación de Operaciones
Como herramienta de toma de decisiones, la investigación de operaciones es una
ciencia y un arte, se dice que es una ciencia por las técnicas matemáticas que se presentan y
un arte porque el éxito de todas las fases que anteceden y siguen a la resolución del modelo
matemático dependen mucho de la creatividad y la experiencia del equipo de investigación
de operaciones. Willemain (1994) insinúa que “la práctica efectiva (de la investigación de
operaciones) requiere algo mas que la competencia analítica. También requiere, entre
otros atributos, el juicio (por ejemplo, cuando y como usar determinada técnica) y la
destreza técnica en comunicaciones y en duración organizacional”.
Es dificultoso formular cursos concretos o específicos de acción (que se puedan
parecer a los que se crea en la teoría de los modelos matemáticos) para los factores
intangibles. Solo se puede brindar lineamientos generales para efectuar la investigación de
operaciones en la práctica.
Las fases principales de la ejecución de la investigación de operaciones en la
práctica son los siguientes:
1. Definición del Problema de interés y toma de datos relevantes.
2. La construcción o formulación del Modelo matemático el cual represente el
problema.
3. Desarrollo de un procedimiento basado en técnicas para derivar en la solución
del Modelo matemático.
4. La validación o prueba del Modelo matemático y si fuera necesario su
mejoramiento.
5. La Implementación de la solución.
De estas cinco fases, solo la de la solución del modelo, es la que esta mejor definida
y es la mas fácil de implementar en un estudio de investigación de operaciones, por lo que
maneja especialmente modelos matemáticos precisos, las demás fases es mas un arte que
una teoría.

4
Capítulo 1 Texto Guía - Sistemas de Ingeniería
1.3.1 La definición del problema
Es uno de las fases mas importante que en muchos libros lo definen vagamente pero
requiere de mucho cuidado al realizar esta fase o actividad, lo cual es el de realizar el
estudio relevante del problema y desarrollar un resumen bien definido del problema que se
va analizar y es una función que debe ser desarrollado por todo el equipo de investigación
de operaciones lo cual se define el alcance del problema que se investiga. El resultado de
ello es identificar tres elementos principales del problema de decisión, que son:
a) La descripción de las alternativas de decisión.
b) La determinación del objetivo del estudio (lo cual viene a ser un aspecto
importante en la formulación o definición del problema).
c) La especificación de las limitaciones bajo las cuales funciona el sistema
modelado.
En resumen este proceso es crucial ya que afectara significativamente la relevancia
de las conclusiones del estudio. Por que ¡Es difícil extraer aun respuesta “correcta” a
partir de un problema “equivocado!”. Puede ser que se tarde mucho tiempo recolectando
los datos relevantes sobre el problema, lo cual se necesita muchos datos para lograr un
entendimiento exacto sobre el problema como para proporcionar las herramientas
necesarias para el modelo que se formulara o construirá en la siguiente etapa, como es
común no se tendrá mucha información al principio, ya sea porque nunca se guardo la
información o ya esta obsoleta o en forma errónea, por que se debe recolectar desde el
principio, aun poniendo todo el esfuerzo el equipo de investigación de operaciones tendrá
que trabajar con datos no muy confiables por el tiempo de la recolección antes mencionado,
por lo cual terminara trabajando con lo datos que pueda obtener.
Como se ilustra en la figura 1.1 los niveles de abstracción que caracterizan el
desarrollo de un modelo de investigación de operaciones. El mundo real supuesto se abstrae
del caso real, concentrándolo en las variables principales que controlan el comportamiento
del sistema real. El modelo, como es una abstracción del mundo real supuesto, refiere a una
forma adecuada, las funciones matemáticas que representan el comportamiento del sistema
supuesto.

Figura 1.1

5
Capítulo 1 Texto Guía - Sistemas de Ingeniería
Como se menciono antes, el definir o modelar un problema de una situación real se
abstraer lo cual no se lleva a tener otras consideraciones, por lo que podemos dar un
ejemplo: en una empresa existen otras consideraciones y responsabilidades sociales fuera
de las ganancias se puede tomar dentro de un solo país, dentro de una empresa, se puede
mencionar cinco partes que son afectadas que son: a) los dueños (accionistas, etc.), que
desean obtener ganancias (dividendos, valuaciones de las acciones, etc.); b) los empleados,
que desean un empleado seguro con un salario razonable; c) los clientes, que quieren un
producto confiable a un precio justo; d) los vendedores, que piensan en la integridad y lo
justo del precio de venta de los bienes que manejan; e) el gobierno, y por ende, la nación,
que quiere el pago de impuestos justos y que se tome en cuenta el interés nacional. Las
cinco partes hacen contribuciones esenciales a la empresa, y esta no debe servir a ninguna
de estas partes para explotar a las otras. Entonces, aunque se acepte que obtener ganancias
es el objetivo principal (que en última instancia, beneficia a las cinco partes), deberán
también reconocerse esas responsabilidades sociales más extensas.
Aplicación: El Departamento de Salud de New Haven, Connecticut utilizó un equipo de
Investigación de Operaciones para diseñar un programa efectivo de intercambio de agujas
para combatir el contagio del virus que causa el SIDA (HIV), y tuvo éxito en la reducción
del 33% de la tasa de infección entre los clientes del programa. La parte central de este
estudio fue un innovador programa de recolección de datos para obtener los insumos
necesarios para los modelos matemáticos de transmisión del SIDA. Este programa barco
un rastreo completo de cada aguja (y cada jeringa), con la identificación, localización y
fecha de cada persona que recibía una aguja y cada persona que la regresaba durante un
intercambio, junto con la prueba de si la condición de la aguja era HIV - positivo o HIV -
negativo.
1.3.2 La construcción del modelo
Es el de traducir la definición del problema a relaciones matemáticas llamado
también modelización. Se sabe o se dice que los modelos matemáticos o representaciones
idealizadas son una parte integrada de la vida diaria, en la ciencia y los negocios, como lo
hacen patente los modelos del átomo y de estructura genéticas, las ecuaciones matemáticas
que describen las leyes de física del movimiento o reacciones químicas, las graficas, los
organigramas y los sistemas contables en la industria, esos modelos son invaluables ya que
extraen la esencia de la materia de estudio, muestra sus interrelaciones y facilitan el
análisis.
Si el modelo se puede ajustar a uno de los modelos matemáticos normales como
puede ser la programación lineal, se puede emplear los algoritmos disponibles. Pero si las
relaciones matemáticas son demasiadas complejas como para permitir el cálculo de una
solución analítica puede ser que se opte por simplificar el modelo para usar un modelo
heurístico y también puede recurrir al uso de simulación, si es aproximada, pero en algunos
casos se deberá hacer una combinación de modelos matemáticos para resolver.
Aplicación: La Oficina responsable del control del agua y los servicios públicos del
Gobierno de Holanda, concesionó un importante estudio de Investigación de Operaciones
para guiarlo en el desarrollo de una importante política de administración del agua. La
nueva política ahorro cientos de millones de dólares en gastos de inversión y redujo el
daño agrícola en alrededor de 15 millones de dólares anuales, al mismo tiempo que
disminuyo la contaminación térmica y debida a las algas. En lugar de formular un modelo

6
Capítulo 1 Texto Guía - Sistemas de Ingeniería
matemático, este estudio de Investigación de Operaciones desarrolló un sistema integrado
y comprensible de ¡50 modelos! Mas aún, para alguno de los modelos, se desarrollan
versiones sencillas y complejas. El estudio completo de Investigación de Operaciones
involucró directamente a mas de 125 personas - año de esfuerzo (mas de un tercio de ellas
en la recolección de datos), creó varias docenas de programas de computación y
estructuró una enorme cantidad de datos.
1.3.3 Solución del modelo matemático
La siguiente etapa de un estudio de investigación de operaciones es una de las más
simples y sencillas, que consiste en desarrollar un procedimiento para obtener una solución
al problema a partir de este modelo matemático. Se puede suponerse o pensarse que esto
debe ser la parte más importante o principal del estudio de investigación de operaciones,
pero en la mayoría de los casos no lo es, por lo contrario es una parte relativamente sencilla
donde solo se aplica uno de los algoritmos (procedimientos iterativos de una solución). Las
soluciones que se obtienen de estos modelos no son de forma cerradas, es decir, parecidas a
formulas. En lugar de ello, se determina en forma de algoritmo, este algoritmo proporciona
reglas fijas de cómputos que son aplicadas en forma repetitiva al problema y cada
repetición es llamada iteración, lo cual obtiene cada vez en forma mas cercana a la óptima,
ya que los cálculos que son asociados o utilizados en cada iteración son tediosos y
voluminosos se recurre al uso de paquetes computacionales.
Un tema común en investigación de operaciones es la búsqueda de una solución
óptima, es decir la mejor, pero se debe saber que estas soluciones óptimas son solo respecto
al modelo que se esta utilizando. Como el modelo matemático es una idealización y no una
representación del problema real, esto no garantiza de que la solución óptima del modelo
resulte la mejor solución posible que se pueda llevar a la práctica para el problema real, ya
que se debe tomar en cuenta las muchas imponderables e incertidumbres que están
asociadas a los problemas reales, pero si el modelo matemático esta bien formulado y
verificado, la solución resulta ser una buena aproximación.
En la práctica es mucho mas frecuente utilizar el concepto satisfizar 1(es una
combinación de satisfacer y optimizar) que optimizar. La distinción entre optimizar y
satisfizar refleja la diferencia entre la teoría y la realidad, diferencia que con frecuencia se
encuentra al tratar de implementar esa teoría en la práctica. Según Samuel Eilon
“optimizar es la ciencia de lo absoluto; satisfizar es el arte de lo factible”.
La meta de un estudio de investigación de operaciones debe ser el llevar a cabo el
estudio de manera óptima, de manera independiente si esto implica el encontrar o no la
solución óptima para el modelo.
Hasta el momento ha quedado implícito que un estudio de investigación de
operaciones busca solo una solución, que puede o no requerirse que sea óptima. Una
solución óptima para el modelo original puede ser mucho menos que ideal para el problema
real, de tal forma que es necesario hacer un análisis adicional, este análisis es llamado
análisis pos-óptimo (análisis que se lleva a cabo después de encontrar una solución óptima)
el cual es una parte muy importante de la mayoría de los estudio de Investigación de
Operaciones.

1
El eminente científico de la administración y premio Nóbel de Economía, Herbet Simón, introdujo este
concepto de satisfizar

7
Capítulo 1 Texto Guía - Sistemas de Ingeniería
En cierto modo el análisis de pos-óptimo es el llevar a cabo un análisis de
sensibilidad, el cual es determinar unos parámetros del modelo que son críticos o
“sensibles” al determinar la solución.
Una definición que se puede dar de parámetros sensibles es: Para un modelo
matemático con valores específicos para todos sus parámetros, los parámetros sensibles
del modelo son aquellos cuyos valores no se pueden cambiar sin que la solución óptima
cambie. Estos parámetros son estimaciones de alguna cantidad (por ejemplo, ganancia
unitaria) cuyo valor exacto se conocerá solo después de poner en práctica la solución.
Existe alguna flexibilidad sobre los valores asignados a estos parámetros, talvez puedan
algunos puedan aumentar si otros disminuyen. El análisis pos-óptimo incluye la
investigación de estos trueques.
La técnica mas importante de investigación de operaciones es la programación
lineal, lo cual consiste en diseñar los modelos matemáticos con funciones objetivos y
restricciones estrictamente lineales. La programación lineal utiliza un modelo matemático
para describir el problema. El adjetivo lineal significa que todas las funciones matemáticas
del modelo deber ser funciones lineales. En este caso, las palabra programación no se
refiere a programación en computadoras; en esencia es un sinónimo de planeación. Así, la
programación lineal trata la planeación de las actividades para obtener un resultado óptimo,
esto es, el resultado que mejor alcance la meta especificada (según el modelo matemático)
entre todas las alternativas de solución.
Cuando algunos modelos matemáticos son tan complicados que es imposible
resolverlos con cualquiera de los algoritmos para su optimización. En este caso será
necesario abandonar la búsqueda de la solución óptima para solo buscar y encontrar una
solución buena, para lo cual se utiliza heurísticas o reglas simples.
1.3.4 La validación del modelo
Es una comprobación si el modelo matemático propuesto hace lo que debe hacer, lo
cual se puede hace una pregunta. ¿Pronostica el modelo en forma adecuada el
comportamiento del sistema que se estudia?, y si el modelo se basa en una investigación
cuidadosa de datos históricos, la validación debería ser favorable.
Es probable de que las primeras versiones de un modelo matemático grande tengan
sus fallas. Sin duda algunos factores o interrelaciones revelantes no se agregaron al modelo
y algunos parámetros no se estimaron correctamente. Esto puede ser a causa de la falta o la
dificultad de comunicación de todos los aspectos y sutilezas de un problema operacional
complejo, así como la dificultad de recolección de datos. Por lo que antes de usar el modelo
debe probarse exhaustivamente para intentar identificar y corregir todas las fallas que se
pueda. Aunque sin duda quedaran algunos problemas menores ocultos en el modelo (y
quizás nunca se detecten), las fallas importantes se habrán eliminado de manera que ahora
es confiable usar el modelo.
Es difícil describir como se lleva a cabo la validación del modelo por que el proceso
depende en gran parte del problema bajo estudio y del modelo usado, pero se puede hacer
algunos comentarios generales.
Debido a que el equipo de investigación de operaciones pasara mucho tiempo
desarrollando todas las piezas detalladas del modelo, es sencillo “no ver el bosque por
buscar los árboles”. Entonces después de completar los detalles (“los árboles”) de la versión

8
Capítulo 1 Texto Guía - Sistemas de Ingeniería
inicial del modelo, una buena manera de comenzar las pruebas es observarlo en forma
general (el bosque) para verificar los errores u omisiones obvias.
También es útil asegurarse de que todas las expresiones matemáticas sean
consistentes en las dimensiones de las unidades que emplean. Además, pueden obtenerse un
mejor conocimiento de la validez del modelo variando los valores de los parámetros de
entrada y/o de las variables de decisión y comprobando que los resultados del modelo se
comporten de una manera factible. Esto es especialmente revelador cuando se asignan a los
parámetros o a las variables valores extremos cercanos a su máximo o su mínimo.
Un enfoque más sistemático para la prueba del modelo matemático es emplear una
prueba retrospectiva. Cuando es aplicable, esta prueba utiliza datos históricos y
reconstruye el pasado para determinar si el modelo y la solución resultante hubieran tenido
un buen desempeño hipotético con lo que en realidad ocurrió, indica si el uso del modelo
tiende a dar mejoras significativas sobre la práctica actual. Puede también indicar áreas en
las que el modelo tiene fallas y requiere modificaciones. Lo que es mas, al emplear las
alternativas de solución y estimar sus desempeños históricos hipotéticos, se pueden reunir
evidencias en cuanto a lo bien que el modelo predice los efectos relativos de los diferentes
cursos de acción.
Por otra parte, la prueba retrospectiva tiene la desventaja de que usa los mismos
datos que sirvieron para formular el modelo. Entonces surge la pregunta crítica; es si el
pasado en realidad representa el futuro. Si no es así, el modelo puede tener un desempeño
distinto en el futuro del que hubiera tenido en el pasado.
Para salvar esta desventaja de la prueba retrospectiva. A veces es útil continuar con
las cosas como están por una temporada. Esto proporcionara datos con los que no se
contaban cuando se construyó el modelo. Estos datos se pueden emplear de la manera que
se describió para evaluar un modelo.
Es importante documentar el proceso usado para las pruebas de la validación del
modelo. Esto ayuda a aumentar la confianza en el de los usuarios subsecuentes. Más aun, si
en el futuro surgen preocupaciones sobre el modelo, esta documentación ayudara a
diagnosticar en donde pueden estar los problemas.
Aplicación: En un estudio de I.O. para IBM se realizo con el fin de integrar su red
nacional de inventarios de refacciones para mejorar el servicio a los clientes, al mismo
tiempo que reducir el valor de los inventarios de IBM en mas de 250 millones de dólares y
ahorrar otros 20 millones de dólares anuales a través del mejoramiento de la eficiencia
operacional. Un aspecto en particular interesante de la etapa de validación del modelo en
este estudio fue la manera en que se incorporaron el proceso de prueba los usuarios
futuros del sistema de inventarios. Debido a que estos usuarios futuros (los
administradores de IBM en las áreas funcionales responsables de la implantación del
sistema de inventarios) dudaban del sistema que se estaba desarrollando, se asignaron
representantes a un equipo de usuarios que tendría la función de asesorar al equipo de I.O.
Una vez desarrollada la versión preliminar del nuevo sistema (basada en el sistema de
inventarios de multiniveles) se lleva acabo una prueba preliminar de implantación.
La extensa retroalimentación por parte del equipo de usuarios llevo a mejoras
importantes en el sistema propuesto.

9
Capítulo 1 Texto Guía - Sistemas de Ingeniería
1.3.5 La implementación del modelo matemático
¿Qué es lo que pasa después de terminar la etapa de pruebas y desarrollar un
modelo aceptable?; si el modelo ha de usarse varias veces, el siguiente paso es instalar un
sistema bien documentado para aplicar el modelo según lo establecido por la
administración. Este sistema incluirá el modelo y el procedimiento de solución (además del
análisis pos-óptimo) y los procedimientos para su implementación. Por que la
implementación se trata de efectuar instrucciones de operaciones a partir de la solución y de
los resultados del modelo, estas instrucciones de operaciones deben ser en forma
comprensibles para las personas que administraran el sistema recomendado.
Una vez desarrollado un sistema para aplicar un modelo, la última etapa de un
estudio de investigación de operaciones es implementarlo siguiendo lo establecido por la
administración. Esta etapa es crítica, ya que es aquí y solo aquí, donde se cosecharan los
beneficios del estudio, es importante que el equipo de investigación de operaciones
participe, tanto para asegurar que las soluciones del modelo se traduzcan con exactitud a un
procedimiento operativo.
La etapa de implementación incluye varios pasos. Primero, el equipo de
investigación de operaciones da una cuidadosa explicación a la gerencia operativa sobre el
nuevo sistema que se va adoptar y su relación con la realidad operativa. Luego estos dos
grupos comparten la responsabilidad de desarrollar los procedimientos requeridos para
poner este sistema en operación.
A la culminación del estudio, es apropiado que el equipo de investigación de
operaciones documente su metodología con la suficientemente claridad y detalle para que el
trabajo sea reproducible.
Aplicación: Este último punto sobre la documentación de un estudio Investigación de
Operaciones se ilustra con el caso de la política nacional de administración del agua de
Rijkswaterstatt en Holanda. La administración deseaba documentación más extensa que lo
normal, tanto para apoyar la nueva política como para utilizarla en la capacitación de
nuevos analistas o al realizar nuevos estudios. Completar esta documentación requirió
varios años y ¡quedo contenida en 4000 páginas a espacio sencillo encuadernadas en 21
volúmenes!
1.4 Modelos matemáticos de Investigación de Operaciones
Se debe considerar que en el caso de un problema de toma de decisiones donde
requiere un modelo matemático, cuya solución requiere identificar tres componentes.
1. ¿Cuáles son las alternativas de decisión?
2. ¿Bajo que restricciones se toma la decisión?
3. ¿Cuál es el criterio objetivo adecuado para evaluar las alternativas?

10
Capítulo 1 Texto Guía - Sistemas de Ingeniería
El primer paso crucial de cualquiera de los modelo es la definición de las alternativas
o las variables de decisión del problema. Lo cual se utilizan estas variables de decisión
para construir la función objetivo y las restricciones del modelo. Una vez terminado con
estos tres pasos en el modelo de investigación de operaciones se organizar generalmente de
la siguiente forma general:
Maximizar o Minimizar la función objetivo

Sujeta a: Restricciones.

Cuando una solución de un modelo planteado satisface todas las restricciones es una
solución factible, y cuando además de ser factible produce el mejor valor (máximo o
mínimo) de la función objetivo se le llama solución óptima. Fuera de que los modelos
investigación de operaciones deben “optimizar” determinado criterio objetivo sujeto a un
conjunto de restricciones, la calidad de la solución que se obtenga depende de la exactitud
del modelo para representar el sistema real. Lo cual concluimos es que “la” solución óptima
de un modelo solo es la mejor para “ese” problema. Por lo cual inferimos que si el modelo
representa al sistema real en forma razonablemente buena, su solución también será óptima.
1.5 Impacto de la Investigación de Operaciones
La investigación de operaciones ha tenido un impacto impresionante en el
mejoramiento de la eficiencia de numerosas organizaciones en todo el mundo. En el
proceso, la investigación de operaciones ha hecho contribuciones significativas al
incremento de la productividad dentro de la economía de varios países. Hay ahora más de
30 países que son miembros de la International Federation of Operational Research
Societies (IFORS), en la que cada país cuenta con una sociedad de investigación de
operaciones.
Sin duda, el impacto de la investigación de operaciones continuará aumentando. Por
ejemplo, al inicio de la década de los 90, el U.S. Bureau of Labor Statistics predijo que la
investigación de operaciones sería el área profesional clasificada como la tercera de más
rápido crecimiento para los estudiantes universitarios en Estados Unidos, graduados entre
1990 y 2005. Pronosticó también que, para el año 2005, habría 100 000 personas trabajando
como analistas de investigación de operaciones.
1.6 Riesgo al aplicar la Investigación de Operaciones
Al aplicar la Investigación de Operaciones al estudio de sistemas y a la resolución
de problemas se corre el riesgo de tratar de manipular los problemas para buscar que se
ajusten a las diferentes técnicas, modelos de algoritmos establecidos en lugar de analizar los
problemas y buscar resolverlos obteniendo las soluciones mejores, utilizando los métodos
apropiados, es decir resolver el problema utilizando los métodos que proporcionan las
mejoras soluciones y no buscar ajustar el problema a un método específico.
Para llegar a hacer un uso apropiado de la I de O, es necesario primero comprender
la metodología para resolver los problemas, así como los fundamentos de las técnicas de
solución para de esta forma saber cuándo utilizarlas o no en las diferentes circunstancias.

11
Capítulo 1 Texto Guía - Sistemas de Ingeniería
1.7 Tipos de modelos de Investigación de Operaciones.
En la siguiente tabla se muestran los modelos de decisión según su clase de
incertidumbre y su uso en las corporaciones. (D, determinista; P, probabilista; A, alto; B,
bajo)
Clase de Frecuencia de uso
Tipo de Modelo
Incertidumbre en corporaciones
Programación Lineal D A
Redes (Incluye PERT/CPM) D, P A
Inventarios, producción y programación D, P A
Econometría, pronóstico y simulación D, P A
Programación Entera D B
Programación Dinámica D, P B
Programación Estocástica P B
Programación No Lineal D B
Teoría de Juegos P B
Control Óptimo D, P B
Líneas de Espera P B
Ecuaciones Diferenciales D B

* En la anterior tabla se muestran con letras en negrillas y cursivas los tipos que se
utilizaran en el curso de sistemas de ingeniería
A continuación se dará una pequeña explicación de los modelos matemáticos que se
utilizaran en este curso.
1.7.1 Programación Lineal
Se llama programación lineal al conjunto de técnicas matemáticas que pretenden
resolver la situación siguiente:
Optimizar (maximizar o minimizar) una función objetivo, función lineal de varias
variables, sujeta a: una serie de restricciones, expresadas por inecuaciones lineales.
Un problema de programación lineal en dos variables, tiene la siguiente formulación
estándar:

Pudiendo cambiarse maximizar por minimizar, y el sentido de las desigualdades.

12
Capítulo 1 Texto Guía - Sistemas de Ingeniería
En un problema de programación lineal intervienen:
 La función f(x, y) = ax + by + c llamada función objetivo y que es necesario
optimizar. En esa expresión x e y son las variables de decisión, mientras que a, b y
c son constantes.
 Las restricciones que deben ser inecuaciones lineales. Su número depende del
problema en cuestión. El carácter de desigualdad viene impuesto por las
limitaciones, disponibilidades o necesidades, que son: inferiores a ... (menores: < o
); como mínimo de ... (mayores: > o ). Tanto si se trata de maximizar como de
minimizar, las desigualdades pueden darse en cualquiera de los dos sentidos.
 Al conjunto de valores de x e y que verifican todas y cada una de las restricciones se
lo denomina conjunto (o región) factible. Todo punto de ese conjunto puede ser
solución del problema; todo punto no perteneciente a ese conjunto no puede ser
solución. En los capítulos siguientes veremos como se determina la región factible.
 La solución óptima del problema será un par de valores (x0, y0) del conjunto factible
que haga que f(x, y) tome el valor máximo o mínimo.
1.7.2 Teoría de Redes (incluye PERT/CPM)
Optimización de redes es un tipo especial de modelo en programación lineal. Los
modelos de redes tienen tres ventajas importantes con respecto a la programación lineal.
1. Pueden resolverse muy rápidamente. Problemas que con programación lineal
tendrían 1000 filas y 30.000 columnas pueden ser resueltos en segundos. Esto
permite que los modelos de redes sean usados en muchas aplicaciones (tal como la
toma de decisión en tiempo real) para lo cual la programación lineal no es lo ideal.
2. Requieren en forma natural de soluciones enteras. Al reconocer que un problema
puede formularse como algún modelo de red nos permitirá resolver tipos especiales
de problemas de programación entera aumentando la eficiencia y reduciendo el
tiempo consumido por los algoritmos clásicos de programación lineal.
3. Son intuitivos. Los modelos de redes proveen un lenguaje para tratar los problemas,
mucho más intuitivo que "variables, objetivo, restricciones".
Obviamente los modelos de redes no son capaces de cubrir la amplia gama de
problemas que puede resolver la programación lineal. Sin embargo, ellos ocurren con
suficiente frecuencia como para ser considerados como una herramienta importante para
una real toma de decisiones.
Los modelos de redes se pueden usar para ayudar a la planificación de proyectos
complejos los que involucran muchas actividades. Si la duración de cada actividad se
conoce con certeza, se puede usar el método del camino crítico (CPM) para determinar el
tiempo requerido para realizar el proyecto. CPM se puede usar también para determinar en
cuánto se puede atrasar una actividad sin que esto retrase el término del proyecto. CPM fue
desarrollado en los años ´50 por Du Pont y Sperry Rand.

13
Capítulo 1 Texto Guía - Sistemas de Ingeniería
Si la duración de las actividades no se conoce con certeza, se puede usar la técnica
PERT (Técnica de Evaluación y Revisión de Proyectos) para estimar la probabilidad que el
proyecto se termine en una fecha determinada. CPM y PERT han sido exitosamente
utilizado en muchas aplicaciones como:
• Planificación de proyectos de construcción como carreteras, edificios, piscinas.
• Instalación de un nuevo sistema de Agua Potable y Alcantarillado.
• Planificación del traslado y movimiento de tierras.
• Desarrollo de la planificación aérea en diferentes aerolíneas norteamericanas
• Diseño y marketing de nuevos productos.
• Construcción de barcos, etc.
1.7.3 Teoría de colas (líneas de espera)
La teoría de las colas es el estudio matemático de las colas o líneas de espera. La
formación de colas es, por supuesto, un fenómeno común que ocurre siempre que la
demanda efectiva de un servicio excede a la oferta efectiva.
Con frecuencia, las empresas deben tomar decisiones respecto al caudal de
servicios que debe estar preparada para ofrecer. Sin embargo, muchas veces es imposible
predecir con exactitud cuándo llegarán los clientes que demandan el servicio y/o cuanto
tiempo será necesario para dar ese servicio; es por eso que esas decisiones implican dilemas
que hay que resolver con información escasa. Estar preparados para ofrecer todo servicio
que se nos solicite en cualquier momento, puede implicar mantener recursos ociosos y
costos excesivos. Pero, por otro lado, carecer de la capacidad de servicio suficiente causa
colas excesivamente largas en ciertos momentos. Cuando los clientes tienen que esperar en
una cola para recibir nuestros servicios, están pagando un costo, en tiempo, más alto del
que esperaban. Las líneas de espera largas también son costosas por tanto para la empresa
ya que producen pérdida de prestigio y pérdida de clientes.
La teoría de las colas en si no resuelve directamente el problema, pero contribuye
con la información vital que se requiere para tomar las decisiones concernientes
prediciendo algunas características sobre la línea de espera: probabilidad de que se formen,
el tiempo de espera promedio.
1.7.4 Modelo de hoja de cálculo electrónica
La hoja de cálculo electrónica facilita hacer y contestar preguntas de “que si” en un
problema real. Hasta ese grado la hoja de cálculo electrónica tiene una representación
selectiva del problema y desde este punto de vista la hoja de cálculo electrónica es un
modelo.
En realidad es una herramienta más que un procedimiento de solución.

14
Capítulo 1 Texto Guía - Sistemas de Ingeniería
1.8 Conclusiones
Aunque el resto del siguiente texto nos aboquemos primordialmente a la
construcción y solución de los modelos matemáticos a través de la programación lineal,
modelos de redes (incluyendo PERT/CPM) y la teoría de colas.
En este capitulo se trato de hacer hincapié en que esto eso solo una porción del
proceso completo que se necesita para llevar a cabo a un estudio de investigación de
operaciones representativo. Las otras etapas que se describieron también son importantes
para el éxito o fracaso del estudio. Lo cual se pide al estudiante que no pierda de vista en
los siguientes capítulos; el papel que juega el modelo y el procedimiento de solución dentro
del proceso completo.
También se concluye que por el hecho de los modelos matemáticos, la investigación
de operaciones esta muy estrechamente ligado al uso de las computadoras. Hasta hace
poco, se habían utilizado casi exclusivamente computadoras grandes, pero cada vez es
mayor el uso de microcomputadoras y estaciones de trabajo.

1.9 Bibliografía
 INVESTIGACIÓN DE OPERACIONES – Hamdy A. Taha [Séptima Edición]
 INVESTIGACIÓN DE OPERACIONES – Moskowitz, Herbert; Wrigth, Gordon P.
 INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES – Frederick S.
Hillier, Gerald J. Lieberman. [Sexta Edición]
1.10 Enlaces
 http://www.itson.mx/dii/elagarda/apagina2001/PM/pl.html
 http://www.quia.com/servlets/quia.activities.common.ActivityPlayer?AP_rand=307
787524&AP_activityType=3&AP_urlId=166798&AP_continuePlay=true166798
 http://www.investigacion-operaciones.com/Introduccion_IO.htm

15
Capítulo 2 Texto Guía - Sistemas de Ingeniería

CAPÍTULO 2

MODELIZACIÓN A LA PROGRAMACIÓN LINEAL

2.1 Introducción a la modelización


En numerosas ciencias, entre ellas la construcción, se hace necesario el estudio y
análisis de fenómenos del mundo real, y por ello se hace necesaria la aplicación del método
científico a este estudio. Como acabamos de ver con anterioridad una de las fases de la
aplicación del modelo científico se basa en la construcción del modelo o formulación de
hipótesis. En nuestro caso nos concentraremos en la construcción de modelos.
Aunque hay numerosas acepciones y definiciones de un modelo, hemos elegido la
de Aracil 1: “Un modelo constituye una representación abstracta de un cierto aspecto de la
realidad, y tiene una estructura que esta formada por los elementos que caracterizan el
aspecto de la realidad modelada y por las relaciones entre estos elementos”.
A partir de este concepto de modelo se pueden obtener distintas clasificaciones
(icónico, analógicos, simbólicos, etc.). Sin embargo, solo estamos interesados en los
modelos matemáticos, es decir, los modelos formales basados en lógica matemática, y se
basan en un conjunto de relaciones matemáticas (tales como ecuaciones, inecuaciones,
relaciones lógicas, etc.) que se corresponden con las relaciones del mundo real (tales como
relaciones tecnológicas, leyes físicas, restricciones del mercado, etc.).
La importancia de la construcción de modelos matemáticos en cualquier campo de
la ingeniería es evidente, no obstante vamos a enumerar alguna de ellas 2:
1. La construcción de modelos revela, relaciones que no son evidentes a primera vista.
Este resultado se alcanza con el mejor conocimiento que se adquiere cuando
empieza a modelar, es decir, cuando mejor se va conociendo la realidad del
fenómeno que se intenta representar.
2. Una vez construido el modelo matemático, es posible extraer de él propiedades y
características de las relaciones entre los elementos que de otra forma
permanecerían ocultas. También, es posible representar situaciones complejas que
son admisibles en otro tipo de modelos, y no solo es esa posibilidad de
modelización, sino también la de resolución del mismo, aunque no sea una solución
analítica sino numérica (realizada por un ordenador).
3. En la mayoría de las situaciones de la ingeniería del mundo real, no es factible
experimentar con la realidad, por ser prohibitivamente caro, peligroso ó, hasta,
imposible. Por ejemplo, si se intenta conocer el impacto de la puesta en práctica de
una determinada acción en el campo de la construcción. En este caso para evaluar
las consecuencias se construye un modelo donde se puedan analizar los resultados
en diversas situaciones con un costo prácticamente nulo y sin riesgos sociales ni
económicos.
1
Aracil, J (1983): “introducción a la dinámica de sistemas”. Ed. Alianza Madrid. Pág. 18.
2
Puede verse al respecto, Williams, H.P. (1978): “Model Building in mathematical programming”. Jhon
Willey & Sons. Nueva York. Pág. 3.

16
Capítulo 2 Texto Guía - Sistemas de Ingeniería

Es importante resaltar que un modelo esta realmente definido por las relaciones que
incorpora. Estas relaciones son independientes de los datos a introducir en el modelo,
ya que un modelo puede ser usado para diferentes ocasiones y en varios contextos
diferentes.
Aunque acabamos de ver algunas de las ventajas de la modelización, sobre el uso
de los modelos en la ingeniería hay posturas diferentes, por una parte esta las personas
que ponen en tela de juicio la validez de los modelos, en tanto en cuanto no son capaces
de cuantificar muchas instancias de los problemas reales, por ejemplo, el costo o
utilidad social. Otros niegan su utilidad basándose en el grado de precisión de los datos
a incorporar al modelo matemático. Pero frente de estos, en otro extremos están los
fervientes defensores de la modelización total para la toma de decisiones, en este caso
convendría resaltar la calidad de las respuesta que produce el modelo, depende
obviamente, de la seguridad de su estructura y de los datos a el incorporados, y que una
excesiva confianza en ellos es peligroso. Nos vamos a entrar en esta polémica, sino que
lo único que queremos es poner en manifiesto que los modelos deben usarse como una
herramienta mas para la toma de decisiones y que debe valorarse en su justa medida, ya
que difícilmente es comprensible un problema complejo sin una mínima Modelización,
aunque también hay que reconocer que no es posible modelizar la totalidad de las
situaciones reales.
El modelo que se utilizara en la matera será el modelo de optimización el cual trata
de identificar un óptimo (por general, el óptimo general) del problema, es decir, buscar
la mejor de las alternativas posibles, estos métodos son los que están basados en las
técnicas de programación matemáticas.
2.2 Fases del proceso de modelización
Acabamos de exponer algunas ideas generales sobre los modelos. Interesa, ahora
resaltar brevemente cuales son, en general, las etapas a seguir para llegar a construir un
buen modelo:
1. Fase de Conceptualización. Llegar a tener un profundo conocimiento de la
realidad que se trata de modelizar, es decir, ser capaces de representar
conceptualmente el problema sin ningún tipo de contraindicaciones lógicas ni de
errores de análisis.
2. Fase de Formalización. Establecer de forma clara y concreta (desde el punto de
vista matemático) las relaciones entre los elementos, de tal forma que, además, sea
fácilmente entendible y que puedan detectar rápidamente los errores. El éxito de
esta depende, obviamente, de que haya establecido correctamente la fase anterior.
3. Fase de Evaluación. En esta fase, además de establecer la forma en la que debe ser
el procedimiento de resolución a emplear, será posible interpretarlo correctamente.
Para la aplicación práctica para el proceso de modelización un problema de
optimización podemos seguir las siguientes reglas basadas en la experiencia:
a) Análisis del problema. Buscar o intuir los deseos del decidor (a veces no es la
misma persona) de forma que se establezca cual es el objetivo que se persigue, que
limitaciones existen, etc. Todo ello debe tenerse en cuenta aunque no esta
formalizado, sino simplemente una relación de las diferentes condiciones.

17
Capítulo 2 Texto Guía - Sistemas de Ingeniería

b) Definición de las variables. Es decir, identificar las posibles decisiones. Esta es una
de las fases criticas de la modelización, por ello es conveniente prestar mucha
atención a esta definición. Esta fase hay que identificar (e interpretar el significado)
y denominar a las variables. Este segundo aspecto, aunque puede parecer triviales
también de gran importancia. Hay que denominar a las variables de forma que sean
fácilmente reconocibles, es decir, que no indique que quieren representar. Mucha
veces, se denominan a las variables por sencillez, x1 , x 2 , x3 , etc., pero estos nombres
no nos informan de forma inmediata de su significado, por ello es conveniente
denominarlas de forma mas coherentes, por ejemplo, si queremos identificar la
cantidad de madera necesaria para producir mesas la podríamos denominar MAD-
NEC. en lugar de x2 . La elección del nombre debe ajustarse a las características del
decidor, y también a la longitud de caracteres admisibles por los programas de
ordenador que resuelven estos problemas, por lo general seria admisible un nombre
hasta de ocho caracteres.
A la hora de identificar las variables tenemos que tomar en consideración si
las variables son deterministas o estocásticas, si son endógenas o exógenas, etc., es
decir, ante que clase de variables vamos a tratar en el problema.
c) Identificación y formalización de las restricciones. Esta es también una de las fases
importantes. Se trata en definitiva de identificar cuales son las limitaciones a las que
esta sujeto el problema, y el plantearlas matemáticamente. A veces esto resulta muy
sencillo. En esta fase hay que denominar e identificar a las restricciones con los
nombre adecuados, de forma que sea fácil interpretar los resultados obtenidos.
d) Identificar la función objetivo. La cuantificación de los resultados que se desean
alcanzar. Aunque no en todos los problemas es inmediato definir el objetivo,
siempre es posible encontrar una función que permita evaluar los resultados de cada
una de las acciones.
Para verificar estas condiciones, seguidamente abordaremos algunas
consideraciones para llegar a concretar las fases enumeradas anteriormente, estos pasos son
simplemente una derivación de las reglas del sentido común aplicadas a la construcción de
los modelos.
En primer lugar, abordaremos algunos aspectos importantes sobre los modelos
lineales, lo más usuales en el campo de la ingeniería, para posteriormente ir aumentando la
complejidad.
2.3 Reglas básicas de modelización
Los modelos lineales son aquellos en los que tanto la función objetivo como las
restricciones son funciones lineales y por tanto son susceptibles de resolverse a través de la
programación lineal. Estos modelos, son los más conocidos y los más usados en las
aplicaciones ingeniériles y por tanto resaltaremos las hipótesis básicas sobre las que se
asientan este tipo de modelos.
La primera hipótesis es la divisibilidad, es decir, todas las variables del modelo
pueden tomar cualquier valor real. A efectos prácticos, si una variable no es infinitamente
divisible, pero su nivel de actividad normal es muy grande en términos de sus unidades de
medida, la suposición de divisibilidad puede servir como aproximación conveniente.

18
Capítulo 2 Texto Guía - Sistemas de Ingeniería

La segunda hipótesis es la de linealidad, estos significa:


a) Proporcionalidad en las contribuciones. La contribución individual de cada
variable es estrictamente proporcional a su valor, y el factor de
proporcionalidad es constante para todo el rango de valores que la variable
puede tomar.
b) Aditividad de las contribuciones. La contribución total de todas las variables
es igual a la suma de las contribuciones individuales independientemente de
los valores de las variables.
La tercera hipótesis, aplicable fundamentalmente a los problemas de ingeniería,
es la no negatividad de las variables del problema. Esta hipótesis, no es en si absolutamente
necesaria, ya que para problemas más generales donde las variables puedan tomar cualquier
valor, es decir, lo que se conoce como variables libres, estas pueden expresarse como
diferencia de dos variables restringidas a tomar valores no negativos.
2.4 Problemas Resueltos
1. La fábrica de Hilados y Tejidos "FOTRAMA" requiere fabricar dos tejidos de
calidad diferente T y T’; se dispone de 500 Kg. de hilo “A”, 300 Kg. de hilo “B” y
108 Kg. de hilo “C”. Para obtener un metro de T diariamente se necesitan 125 gr. de
“A”, 150 gr. de “B” y 72 gr. de “C”; para producir un metro de T’ por día se
necesitan 200 gr. de a, 100 gr. de b y 27 gr. de c.
El T se vende a Bs. 400 el metro y el T’ se vende a Bs. 500 el metro. Si se debe
obtener el máximo beneficio, ¿cuántos metros de T y T’ se deben fabricar?
Plantear el anterior problema como un modelo de Programación Lineal
Modelo (Primal):
Max z = 400 x1 + 500 x 2
Sujeta a:
0.125 x1 + 0.2 x2 ≤500
0.150 x1 + 0.1 x2 ≤300
0.072 x1 + 0.027 x2 ≤108
x1, x2 ≥0
2. La empresa "GUTIÉRREZ" tiene un sistema de producción constituido por tres
secciones, a través de las cuales elabora dos productos. En la primera sección lo más
que se pueden procesar son 300 unidades del artículo uno o 400 del producto dos
diariamente; la sección segunda fabrica como mínimo 350 unidades del producto
uno o 450 unidades del producto dos por día. La sección tercera puede elaborar
hasta 400 unidades del artículo uno o 500 unidades del artículo dos diariamente.
Si los productos uno y dos generan una utilidad de Bs. 1000 y Bs. 700
respectivamente. ¿Cuántos productos de cada uno se deben fabricar para maximizar
la utilidad?
Plantear el anterior problema como un modelo de Programación Lineal

19
Capítulo 2 Texto Guía - Sistemas de Ingeniería

Definición de variables reales:


x1: Cantidad del producto uno a fabricar por día.
x2: Cantidad del artículo dos a producir diariamente.
z : Función de utilidad de los productos uno y dos.
Modelo (Primal)::
MAX z = 1000 x1 + 700 x2
Con sus restricciones:
Primera sección:
Cuando x1= 0, x2= 400; cuando x2= 0, x1= 300
x2 400 – 400/300 x1
4 x1 + 3 x2 1200
Segunda sección:
Cuando x1= 0, x2= 450; cuando x2= 0, x1= 350
x2 450 – 450/350 x1
9 x1 + 7 x2 3150
Tercera sección:
Cuando x1= 0, x2= 500; cuando x2= 0, x1= 400
x2 500 – 500/400 x1
5 x1 + 4 x2 2000
3. Los príncipes de Serendipity se fueron en un pequeño viaje. Ellos no podían llevar
muchas maletas; Más de trescientos libras las ponían a pensar. Planearon hasta el
centavo. Cuando regresaron a Ceilán Descubrieron que sus dineros estaban a punto
de acabar. Cuando, para su alegría, el príncipe Guillermo encontró una pila de cocos
en el suelo.
"Cada uno nos producirá sesenta rupias", dijo el príncipe Ricardo cuando pisó una
piel de león.
"Miren", gritó el príncipe Roberto. Cuando observó más pieles de león debajo del
árbol. "Estas pieles nos pueden producir hasta trescientas rupias cada una, si las
podemos llevar hasta la orilla del mar".
Cada piel pesaba quince libras y cada coco cinco, pero haciendo de tripas corazón
pudieron llevar todo a la orilla.
La embarcación de regreso a la isla era pequeña, Quince pies cúbicos de equipaje -
eso era todo.
Cada piel de león tomaba un pie cúbico, mientras que ocho cocos ocupaban el
mismo espacio. Con todo el equipaje se hicieron a la mar y en el viaje calcularon lo
que sería su nueva riqueza.
"Eureka", gritó Roberto. Nuestra fortuna es tan grande, que no existe otra forma de
retornar así.
Con cualquier otra piel o coco que hubiéramos traído ahora seríamos más pobres. Y
no sé qué le escribiré a mi amigo Horacio en Inglaterra, seguramente sólo él sabrá
apreciar nuestro Serendipity.
Plantear el anterior problema como un modelo de Programación Lineal

20
Capítulo 2 Texto Guía - Sistemas de Ingeniería

Modelo (Primal):
MAX z = 60 x1+ 300 x2
Con sus restricciones:
5 x1+ 15 x2 300
1/8 x1+x2 15
x1, x2 0
4. Una empresa se dedica a la producción de pinturas para interiores y exteriores para
su distribución; se emplean dos materias primas MP1 y MP2 para la producción de
las pinturas. La disponibilidad máxima de MP1 es de 8 toneladas diarias y la de MP2
es de 5 toneladas por día. Los requerimientos diarios de materia prima por tonelada
es la siguiente:
Toneladas de materia Disponibilidad
prima por tonelada de máxima
Pintura
Pinturas para diaria
para
exteriores (toneladas)
interiores
MP1 3 7 20
MP2 4 1 9
Utilidad por
100000 300000
tonelada
El estudio de mercado ha establecido que la demanda diaria de pintura para
interiores no puede ser mayor que la pintura para exteriores en más de una tonelada.
Además, el estudio señala que la demanda máxima de pintura para interiores está
limitada a dos toneladas por día. Cuánta pintura para interiores y exteriores debe
producir la empresa todos los días para maximizar el ingreso bruto?
Variables reales:
x1: Número de toneladas diarias producidas de pintura para interiores.
x2: Cantidad de toneladas diarias producidas de pintura para exteriores.
z: Función de utilidad correspondiente a la ganancia por la venta de pintura para
interiores y exteriores.
Modelo (Primal):
MAX z = 100000 x1+ 300000 x2
Sujeta a:
3x1 + 7x2 ≤ 20
4x1 + x2 ≤ 9
-x1 + x2 ≤ 1
x1 ≤2
x1 , x2 ≥ 0

21
Capítulo 2 Texto Guía - Sistemas de Ingeniería

2.5 Problemas Propuestos


1. Un hacendado dispone de los siguientes recursos para emplearlos en la próxima
cosecha: Bs.70000000 de capital disponible, 1000 horas tractor y 50 hectáreas de
tierra cultivable. Estas tierras son propias para sembrar maíz, caña de azúcar y
ajonjolí; se supone que tiene a su disposición hombres suficientes y sin restricción y
sus costos de producción son los siguientes: tractor e implementos Bs. 5000 la hora,
mano de obra Bs. 4000 la hora, cada hectárea no sembrada Bs. 4500. Además se
supondrá un costo como penalización, de un peso por cada peso no invertido. Los
siguientes datos son por hectárea

Plantear el anterior problema como un modelo de Programación Lineal


2. Un fabricante de electrodomésticos produce cuatro modelos de lavadoras L1, L2, L3
y L4. Estos aparatos constan fundamentalmente de un tambor metálico recubierto
con una carcasa, el cual gira por efecto de un motor eléctrico controlado por un
microprocesador electrónico.
Los modelos L1 y L3 son lavadoras con menor capacidad de carga (4 Kg.),
necesitando 5 m2 de material metálico, mientras que los modelos L2 y L4 que cargan
10 Kg., requieren 8,5 m2 de material metálico. La cantidad de material metálico
disponible es de 10000 m2.
Los modelos L1 y L2 llevan un motor denominado M1 y un microprocesador
P1; los modelos L3 y L4 tienen un motor M2 y un microprocesador P2. El motor M1
es menos potente que el M2 y el microprocesador P1 tiene menos programas que el
microprocesador P2; el material necesario para fabricar los motores puede obtenerse
prácticamente sin limitación.
Los motores se ensamblan en una nave de montaje con una capacidad de trabajo de
3000 horas, siendo requeridas una hora para montar un motor M1 y 1,5 horas para
ensamblar un motor M2. En cuanto a los microprocesadores se pueden fabricar en la
propia empresa en una sección de la planta de montaje o se pueden encargar a un
fabricante de material electrónico. En el primer caso, compiten con la fabricación de
los motores M1 y M2 necesitando 0,3 horas la fabricación de P1 a un costo de Bs.
100000 y 0,75 horas la fabricación de P2 con un costo de Bs. 180000. En el segundo
caso, el vendedor puede suministrar cualquier cantidad de P1 y P2 a un precio de Bs.
180000 y Bs. 360000 respectivamente.
Finalmente, las lavadoras se montan en otra nave de acabado con capacidad
de 5000 horas, siendo preciso un tiempo de 1,5 horas para el modelo L1; 2,3 horas
para el modelo L2; 3 horas para el modelo L3 y 4,2 horas para el modelo L4. Para

22
Capítulo 2 Texto Guía - Sistemas de Ingeniería

satisfacer a todos los segmentos, el fabricante decide que la producción mínima de


cada modelo sea de 300 unidades. Como dato adicional se conoce, según informe
del departamento de mercadeo, que la demanda de modelos de mayor capacidad es
siempre superior a la demanda de los modelos de menor capacidad, por lo que la
producción combinada de los modelos L2 y L4 debe ser superior a la producción
combinada de los modelos L1 y L3.
La utilidad proporcionada es de Bs.160000 para el modelo L1, Bs.170000 para el
modelo L2, Bs.180000 para el modelo L3 y Bs.200000 para el modelo L4. Plantear
un modelo de Programación Lineal para la planificación de la producción de las
lavadoras teniendo como objetivo la maximización de los beneficios
3. El país está atravesando una aguda crisis económica a raíz del enorme incremento
de la deuda externa. Uno de los efectos más visibles de la crisis es el carácter
especulativo que está adquiriendo el mercado de capitales; la influencia de diversos
agentes: Gobierno, Fondo Monetario Internacional, Banca Nacional y Banca
Extranjera, etc., hace que los indicadores económicos (inflación, devaluación, entre
otros) experimente constantes modificaciones haciendo muy poco fiables las
previsiones a medio y a largo plazo. En este contexto, los inversionistas se han
decantado por una política de inversión a corto y muy corto plazo como mecanismo
de defensa ante la inestabilidad del mercado.
Uno de estos inversionistas está estudiando como invertir Bs. 100000000 producto
de una herencia; un asesor financiero le proporciona el siguiente cuadro en el que se
recogen las posibles inversiones, su rendimiento, plazo, así como dos índices de
calidad de la inversión, uno proporcionado por un organismo estatal y el otro
proveniente de una fuente extranjera. Para la obtención de estos índices de calidad
se tienen en cuenta conceptos tales como liquidez, riesgo, etc., de difícil
cuantificación; el índice estatal recorre una escala de la A a la Z, siendo A la mejor
calidad, mientras que el índice extranjero califica a las inversiones en una escala de
0 a 100, siendo 100 la mejor calidad
Índice de Calidad
Organismo Fuente
Inversión Tipo Días Neto
Estatal Extranjera
Bonos Empresa
1 C 95 10 3,166
Privada
2 Bonos Estatales B 85 15 3,99
Deuda Publica
3 A 92 21 6,30
Nacional
Deuda Publica
4 B 90 21 5,94
Regional

5 Pagares Estatales A 97 30 6,38

6 Moneda Extranjera D 93 7 1,75

El inversionista pretende elegir su cartera de modo que alcance los máximos


beneficios. No obstante, el asesor financiero le aconseja que diversifique su
inversión de acuerdo con los criterios siguientes:

23
Capítulo 2 Texto Guía - Sistemas de Ingeniería

La cantidad colocada en inversiones estatales no debe ser superior al 70% del total
invertido.
 La cantidad invertida en bonos debe ser superior a lo invertido en deuda
pública.
 La razón entre las inversiones en efectos de titularidad pública (inversiones
2, 3, 4 y 5) y las inversiones en efectos de titularidad privada (inversiones 1
y 6) deben ser a lo sumo de tres a uno.
 No debe colocarse más de un 60% en inversiones catalogadas por el
organismo estatal con un índice inferir o igual a B.
 La calidad media de la inversión según el índice de fuente extranjera debe
ser como mínimo 92.
 Debido a las disposiciones legales, la cantidad máxima que puede invertirse
en pagarés estatales es de Bs.4000000.
 La duración media de la inversión debe estar comprendida entre 14 y 21
días.
Plantear el anterior problema como un modelo de Programación Lineal
4. Una empresa de confecciones puede producir 1000 pantalones o 3000 blusas (o una
combinación de ambos) diariamente. El departamento de acabado puede trabajar
sobre 1500 pantalones o sobre 2000 blusas (o una combinación de ambos) cada día;
el departamento de mercadeo requiere que se produzcan diariamente al menos 400
pantalones. Si el beneficio de un pantalón es de Bs. 4000 y el de una blusa es de Bs.
3000. ¿Cuántas unidades se deben de producir de cada uno para maximizar las
utilidades?
Plantear el anterior problema como un modelo de Programación Lineal
5. El gobierno actual requiere el máximo apoyo para que se apruebe en el Congreso el
plan de desarrollo propuesto para el próximo año. A través de sus consejeros ha
sabido que hay 35 parlamentarios de un grupo de coalición y 27 de otro partido que
aún no han definido su voto. El presidente decide entonces concertar por teléfono a
estos congresistas indecisos para convencerlos de que lo apoyen, sabiendo que tiene
una probabilidad 0,9 de éxito con los miembros de la coalición y 0,6 de otro partido.
¿Cuántos parlamentarios de cada partido deberá telefonear para maximizar su
probabilidad de éxito si no puede realizar un número total de llamadas superior a 30
en el actual régimen de austeridad

24
Capítulo 2 Texto Guía - Sistemas de Ingeniería

2.6 Bibliografía
 INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES – Frederick S.
Hillier, Gerald J. Lieberman. [Sexta Edición]
2.7 Enlaces
 http://www.investigacion-operaciones.com/Introduccion_modelizacion.htm
 http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060014/docs_curso/Capitul
o%20II/modelizacion.htm
 http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060014/docs_curso/Capitul
o%20II/problemas.htm

25
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

CAPÍTULO 3

PROGRAMACIÓN LINEAL - MÉTODO GRÁFICO

3.1 Introducción
La programación lineal se aplica a modelos de optimización en los que las funciones
objetivo y restricción son estrictamente lineales.
Este capítulo comienza con el caso de un modelo de dos variables y presenta su
solución gráfica. Esta solución gráfica permite tener una perspectiva del desarrollo del
método símplex (que se vera en el capítulo 4), técnica algebraica general. También presenta
ideas concretas para el desarrollo y la interpretación de análisis de sensibilidad en
programación lineal.
3.2 Modelo de programación lineal con dos variables
Esta sección explicara la solución gráfica de una programación lineal con dos
variables. Aunque en la práctica casi no existen problemas con dos variables, la
presentación aportara ideas concretas para el desarrollo del algoritmo de solución general.
Este método tiene dos características especiales:
 Sirve para resolver problemas en dos dimensiones (a lo sumo tres), porque la
representación gráfica en el espacio de n-dimensiones es prácticamente
imposible.
 Gracias a la aplicación y solución de este método se pueden consolidar
importantes interpretaciones de tipo geométrico y conceptual en relación a la
teoría de programación lineal.
3.3 Método gráfico
Este método es limitado en el hecho de graficar como máximo tres variables (3
dimensiones).
Consiste en representar cada una de las restricciones y encontrar cuando se pueda el
polígono (poliedro) factible, comúnmente llamado región factible, en la cual en uno de sus
vértices se obtiene la solución óptima del problema, caso en el que la optimización se
denomina: solución óptima única. Además las soluciones óptimas múltiples, no acotadas,
infactibles, con ecuaciones redundantes. Es de anotar que los problemas de mayor
dimensión (mayor a 3 dimensiones o variables) tienen soluciones semejantes, pero la forma
de resolverlos ya es de manera analítica.
El modelo de programación lineal, como fue antes mencionado, tiene tres
componentes básicos.
1. Las Variables de decisión que se trata de determinar.
2. El Objetivo (la meta) que se trata de optimizar.
3. Las Restricciones que se deben satisfacer.

26
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
La definición correcta de las variables de decisión es un primer paso esencial en el
desarrollo del modelo. Una vez hecha, la tarea de construir la función objetivo y las
restricciones se hace en forma más directa.
Los pasos a seguir son los siguientes.
Paso 1. Representar gráficamente las restricciones del problema de
programación lineal.
Paso 2. Ubicar todos los puntos de intersección de la gráfica.
Paso 3. Probar todos los puntos de intersección para observar cual aporta el
máximo beneficio (caso de maximización) o menor costo (caso
minimización).
o Paso 3. Para hallar la solución óptima se gráfica la función objetivo,
asignando un valor arbitrario para Z; esta recta se desplaza
paralelamente a lo largo de S (región factible) hasta encontrar el
vértice más cercano del origen (caso de maximización) ò el punto
más lejano al origen (caso minimización).
Para ilustrar estas aseveraciones expliquemos el ejemplo siguiente:
Ejemplo de aplicación 3.1
Una empresa constructora dispone de dos tipos de camiones C1 y C2 y quiere
transportar por lo menos 100 Tn de arena a una obra. Sabiendo que dispone de 6
camiones tipo C1 con capacidad para 15 Tn y con un costo de 4000 Bs. por viaje y de 10
camiones tipo C2 con una capacidad de 5 Tn y con un costo de 3000 Bs. por viaje.
a) ¿Cuál es el número posible de camiones que puede usar (gráficamente)?
b) ¿Cuál es el número posible de camiones que debe usar para que el costo sea mínimo?
c) ¿Cuál es el valor de dicho costo?
Sea:
x1 = Camiones de 15 Tn
x 2 = Camiones de 5 Tn

Función objetivo:
min z = 4000 x1 + 3000 x 2 [R0]
Sujeta a:
15 x1 + 5x 2 ≥ 100 [R1]
x1 ≤6 [R2]
x2 ≤ 10 [R3]
x1 , x2 ≥0 [R4] y [R5]

Cada ecuación lineal de este problema lo rotularemos como Ri (i = 0, 1, 2,……, m), donde
R0 corresponde a la función objetivo y las Ri (i = 0, 1, 2,……, m) restantes a las
restricciones funcionales y de no negatividad. La solución se obtiene graficando las
restricciones Ri, tomando para ello dos puntos que serán unidos posteriormente para formar
una recta. Como las rectas son inecuaciones presentan dos hiperplanos, de los cuales uno se

27
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
constituirá en el dominio de acuerdo al sentido de la inecuación. Por ejemplo, para la
primera restricción fijamos x1 = 0, entonces x 2 = 20; si x 2 = 0 entonces x1 = 20 ,
3
formándose los puntos P1 [0,20] y P2 [ 20 ,0]. Uniendo estos dos puntos obtendremos la
3
ecuación R1; como la inecuación es del tipo menor o igual, el dominio será hacia abajo
(esto se puede comprobar reemplazando cualquier punto que este por debajo de la recta y
se notara que cumple con la inecuación). El procedimiento se repite para todas las otras
restricciones.
La intersección de todos los dominios de las restricciones, formara un conjunto o un
espacio S llamado REGIÓN FACTIBLE que contendrá a todos los puntos que cumplen
con todas las restricciones del problema de PL.
La figura 3.1 muestra el procedimiento descrito anteriormente.

Figura 3.1 Resolución gráfica del ejemplo de aplicación 3.1


La región S (sombreada) que tiene de vértices a los puntos:{[6,2], [6,10], [10/3,10]}
es el conjunto que representa la intersección de todos los dominios de las restricciones. Para
hallar la solución óptima se gráfica la función objetivo, asignando un valor arbitrario para z;
(por ejemplo z = 12000); esta recta se desplaza paralelamente a lo largo de S hasta
encontrar el vértice más cercano del origen (caso de minimización) y el punto más lejano al
origen (caso de maximización). El punto hallado representa la solución óptima del
problema.
En el caso del ejemplo la solución óptima viene dada por:
x1 = 6
x2 = 2
Z = 4000(6) + 3000(2) = Bs.30000

28
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
De esta solución gráfica, se pueden visualizar y precisar algunos conceptos de
comprensión e interpretación importantes:
 El espacio S se llama REGIÓN FACTIBLE y es el conjunto que agrupa a
los puntos que cumplen con todas las restricciones y que corresponden a la
intersección de los hiperplanos dominios de cada una de las restricciones.
 Los vértices de la región factible S, corresponden a la intersección de dos o
más restricciones; por ejemplo el punto [6,10] corresponde a la intersección
de R2 y R3 y se obtiene resolviendo las ecuaciones que corresponden a estas
restricciones.
 La solución óptima del problema siempre será un vértice de la región
factible S.
 Las restricciones que intervienen en el problema pueden ser de tres tipos:
1. Restricciones ACTIVAS, que tienen dos características: 1º Pasan por el punto
óptimo y 2º Hacen uso total de los recursos; esto quiere decir que sus variables
de holgura y/o excedencia toman el valor de cero. En el caso del problema las
dos restricciones que pasan por el punto óptimo son R1 y R2, por tanto estas
son restricciones activas. Si reemplazamos los valores de x1 = 6 y x2 = 2 en
ambas restricciones veremos que la igualdad se cumple.
Para R1: 15x1 + 5 x2 ≥ 100
15(6) + 5(2) = 100 (variable de holgura igual a cero)
Para R2: x1 ≤ 6
6 = 6 (variable de holgura igual a cero)
2. Restricciones INACTIVAS, que son aquellas que no pasan por el punto
óptimo y que no hacen uso total del recurso limitado; por tanto sus variables
de holgura y/o excedencia son diferentes de cero. Este es el caso de R3 que
limita a la región factible pero no pasa por el punto óptimo. Reemplazando:
Para R3: x2 ≤ 10
2 ≤ 10 (variable de holgura s3=8)
3. Restricciones REDUNDANTES, que son aquellas que además de no pasar
por el punto óptimo en cuestión, no limitan ni participan de la región
factible, lo que significa que la inclusión o no de esta restricción no
modificara la región factible y tampoco la solución óptima.

29
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
Problemas de repaso
1. Considere el siguiente modelo de programación lineal. Elija x1 y x 2 para
Minimizar z = 25 x1 + 30x2
Sujeto a: x1 + 2 x 2 ≤4
x1 + x2 ≥1
x1 ≥ 0; x 2 ≥ 0
a) ¿Cuáles símbolos representan las variables de decisión?
b) ¿Cuál expresión representa la función objetivo?
c) ¿Es x1 = 1 y x 2 = 2 una solución factible?
d) ¿Es x1 = 2 y x 2 = 1 una solución factible?
e) ¿Es la solución factible x1 = 3 y x 2 = ½ una solución mejor que la solución
factible x1 = 1 y x 2 = 1?
2. Represente gráficamente cada una de las siguientes restricciones. Señale el
área de restricción que representa soluciones factibles no negativas.
a) x1 + 2 x 2 ≥4
b) x1 + 2 x 2 =4
c) x1 + 2 x 2 ≤4
3. Represente gráficamente la función de costos z = x1 + x 2 para los costos de
z = Bs.10 y z = Bs.20. Señale sobre la gráfica la dirección de decrecimiento
de los costos y la dirección de incremento de los mismos.
4. Considere el siguiente problema de programación lineal:
Maximizar z = 2 x1 + 3 x 2
Sujeto a x1 ≤5
x2 ≤5
x1 + x 2 ≤8
x1 ≥ 0; x 2 ≥ 0
Encuentre la solución óptima (utilidad máxima) para este problema.

30
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
Respuestas a los problemas de repaso.
1.
a) x1 y x2 representan las variables de decisión.
b) La función de costos z = 25 x1 + 30 x 2 representa la función objetivo.
c) x1 = 1 y x2 = 2 una solución no factible ya que viola la condición dada en la
primera restricción.
d) x1 = 2 y x2 = 1 es una solución factible puesto que satisface ambas
restricciones y la restricción de no negatividad. Prueba:
Restricción 1: x1 + 2x2 ≤4
2 + 2(1) =4 ≤4
Restricción 2: x1 + x2 ≥1
2 + 1 = 3 ≥1
No negatividad: x1 ≥ 0 y x2 ≥ 0
2 ≥ 0 y 1 ≥0
e) La solución factible x1 = 3 y x2 = ½ aporta un costo z = 25(3) + 30(½)
=Bs.90. La solución factible x1 = 1 y x2 = 1 aporta un costo z = 25(1) +
30(1) =Bs.55. Por tanto, la solución x1 = 1 y x2 = 1 es mejor que la solución
x1 = 3 y x2 = ½.
2.
a) Los puntos intersectos de x1 + 2x2 ≥ 4 pueden ser determinados como sigue.
Sea x1 = 0 en la ecuación x1 + 2x2 ≥ 4. Entonces 2x2 = 4 ó x2 = 2. Por tanto, un
punto intersecto es x1 = 0 y x2 = 2 (P1 [0,2]). Similarmente, Sea x2 = 0 en la
ecuación x1 + 2x2 ≥ 4. Entonces x1 = 4 y el otro punto intersecto es x1 = 4 y x2 =
0 (P2 [4,0]). Ambos puntos intersectos son representados en la figura 3.2.

Figura 3.2
El conjunto de soluciones factibles para x1 + 2x2 ≥ 4 son los puntos sobre la
línea y el área sombreada. Por ejemplo, para probar la factibilidad de P3 [4,4].
tenemos:

31
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
x1 + 2x2 ≥ 4
4 + 2(4) = 12 ≥ 4
El punto P4 [1,1] no es factible ya que:
x1 + 2x2 ≥ 4
1 + 2(1) = 3 ≤ 4
b) Las soluciones factibles no negativas para x1 + 2x2 = 4 son solamente los
puntos que están sobre la línea x1 + 2x2 = 4, como se muestra en la Figura 3.3.

Por ejemplo, P1 [1,1] es no factible ya que:


x1 + 2x2 = 4
1 + 2(1) = 3 ≤ 4
Y el punto P2 [4,4] es no factible ya que:
x1 + 2x2 = 4
4 + 2(4) = 12 ≥ 4
Sin embargo, P3 [3,½] es factible puesto que:
x1 + 2x2 = 4
3 + 2(½) = 4 = 4
c) El conjunto de soluciones factibles no negativas para la desigualdad x1 + 2x2
≤ 4 esta en la frontera y dentro el área sombreada de la figura 3.4.

32
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
Por ejemplo, P1 [1,1] es factible ya que:
x1 + 2x2 ≤ 4
1 + 2(1) = 3 ≤ 4
Y el punto P2 [3,3] es no factible ya que:
x1 + 2x2 ≤ 4
3 + 2(3) = 9 ≥ 4
3.
Sea z = Bs.10 en la función de costos z = x1 + x2. Tenemos entonces 10 = x1 + x2
con puntos intersectos x1 = 0, x2 = 10 entonces P1 [0,10], y x2 = 0, x1 = 10
entonces P2 [10,0].
Similarmente, siendo z = Bs.20 en la función de costos se obtiene 20 = x1 + x2
con puntos intersectos x1 = 0, x2 = 20 entonces P3 [0,20], y x2 = 0, x1 = 20
entonces P4 [20,0]. Las dos líneas paralelas se muestran en la figura 3.5 con las
líneas de crecimiento y decrecimiento del costo total.

4.
Para resolver este problema, usaremos el procedimiento gráfico.
Maximizar z = 2 x1 + 3 x 2 } Objetivo
Sujeto a
x1 ≤ 5
x 2 ≤ 5 
 Restricciones
x1 + x 2 ≤ 8
x1 ; x 2 ≥ 0 
Paso 1. Representación gráfica de las restricciones. Hay tres restricciones para ser
graficadas. Las ecuaciones correspondientes y sus puntos intersectos son
como sigue:

33
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

Restricción Puntos intersectos


x1 ≤ 5 x1 = 5, x2 =0
x2 ≤ 5 x1 = 0, x2 =5
x1 + x2 ≤ 8 x1 = 0, x2 =8 y x1 = 8, x2 =0
Tabla 3.1
Utilizando los puntos intersectos dados en la tabla, ahora
representaremos gráficamente el conjunto de soluciones factibles,
como se muestra en la figura 3.6. El conjunto de soluciones esta
indicado por el área sombreada, incluyendo la frontera. Observé
que hay cinco vértices.

Paso 2. Determinar las soluciones correspondientes a los vértices. Observamos en


la figura 3.6 que hay cinco soluciones correspondientes a vértices.
P3 y P4 se determinan por los puntos de intersección entre las ecuaciones
de las restricciones. P3 es la intersección de x1 = 5 y x1 + x2 = 8. Por tanto,
sustituyendo x1 = 5 en x1 + x2 = 8 se obtiene x2 = 3 y tenemos P3 [5,3]. P4
es la intersección entre x2 = 5 y x1 + x2 = 8. Por tanto, sustituyendo x2 = 5
en x1 + x2 = 8 se obtiene x1 = 3 por tanto tenemos P4 [3,5].
Paso 3. Determinar el vértice correspondiente a la solución de la utilidad máxima.
Los cinco vértices y sus utilidades asociadas son como sigue.
VÉRTICE
Utilidad z = 2x1+3x2
x1 x2
P1 0 0 0 = 2(0) + 3(0)
P2 5 0 10 = 2(5) + 3(0)
P3 5 3 19 = 2(5) + 3(3)
P4 3 5 21 = 2(3) + 3(5)
P5 0 5 15 = 2(0) + 3(5)
Tabla 3.2
Por tanto, la solución óptima es P4 con x1 = 3, x2 = 5, aportando una
utilidad de Bs.21.

34
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

3.4 Solución por computadora


Para solucionar los modelos de investigación de operaciones existen diferentes
paquetes de computadora que ofrecen resultados excelentes y con bastante rapidez. En este
punto mostraremos los reportes de dos paquetes que son bastantes usados para propósitos
académicos y que son: TORA; el WinQSB (Quantitative System for Business). Para
propósitos prácticos resolveremos el ejemplo de aplicación 3.1 de este capítulo y que fue
resuelto por el método gráfico.
3.4.1 Solución gráfica con TORA
El diseño del programa TORA le permite usarlo en modo tutorial o en modo
automático (o si lo desea, una combinación de los dos). Se maneja con menús, y en
consecuencia no requiere un manual del usuario.
La solución gráfica de problemas de programación lineal con TORA requiere los
pasos siguientes:
1. Seleccione Linear Programming (Programación Lineal) del menú Main
menú (Menú Principal)

2. Especifique el modo de entrada (archivo existente o problema nuevo) y el


formato de entrada.

3. En problemas nuevos, use la tabla de entrada para ingresar datos. Y oprima


SOLVE MENU (menú resolver)

35
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

4. Seleccione SOLVE PROBLEM => Graphical del menú SolveModify

5. Especifique el formato del resultado y a continuación oprima Go To Output


Screen
6. El modelo de programación lineal se gráfica y se resuelve.
La figura 3.7 muestra la solución gráfica de la solución del ejemplo de aplicación
3.1. En la ventana izquierda se ve la programación lineal algebraica. La ventana derecha
comienza con un primer cuadrante, con ejes x1 y x2 ya con escala adecuada, exactamente
como haría usted si estuviera graficando en un papel. Puede graficar la programación lineal
de dos maneras: Si hace clic en el renglón “Click here to graph LP in one stroke” (clic
aquí para presentar la gráfica de una vez) de la ventana izquierda, toda la programación
lineal se gráfica de una vez. O bien haciendo clic en las restricciones, una por una (en
cualquier orden) y a continuación otro clic en la función objetivo para producir una
presentación animada de la determinación óptima.
Para tener más flexibilidad al experimentar con el módulo gráfico de TORA, se
puede reiniciar toda la gráfica haciendo clic en le renglón de restricción de no negatividad
all xj >= 0 (todas las xj > 0) en la ventana izquierda. También se puede modificar la
programación lineal del momento haciendo clic en View/Modify Input Data
(ver/modificar); resolviendo a continuación el nuevo modelo.

36
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

Figura 3.7 Resultado gráfico del ejemplo de aplicación 1 obtenido con TORA

3.4.2 Solución gráfica con WinQSB (Quantitative System For Business)


La solución gráfica de problemas de programación lineal con WinQSB requiere los
pasos siguientes:
1. Seleccione INICIO = >Programas = > WINQSB = >Linear and Integer
Programming

2. Haga clic en new Problem, coloque los datos del problema (criterio de la
función objetivo, formato de los datos de entrada, número de variables) y haga
clic en OK.

37
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

3. Introducir los datos del problema en forma parecida al del TORA

4. Ir al menu Solve and Analyze = > Graphic Method

Figura 3.8 Resultado gráfico del ejemplo de aplicación 3.1obtenido con WinQSB

38
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

3.5 Análisis de sensibilidad por el método gráfico


Un modelo de programación lineal es una foto instantánea de una situación real en
la que los parámetros del modelo (coeficientes de la función objetivo) asumen valores
estáticos. Para aumentar la aplicación de la programación lineal en la práctica, se necesita
agregar una dimensión dinámica que investigue el impacto que tiene que hacer los cambios
en los parámetros del modelo (coeficiente de la función objetivo y de las restricciones)
sobre la solución óptima. A este proceso se llama análisis de sensibilidad, porque estudia
la sensibilidad de la solución óptima respecto a los cambios que se hagan en el modelo.
En esta sección se investigara dos casos de análisis de sensibilidad basados en la
solución gráfica de la programación lineal: 1) cambios en los coeficientes de la función
objetivo, 2) cambios en el lado derecho de las restricciones y 3) Valor por unidad de
recurso, que la presentación es elemental y su alcance es limitado, proporciona
perspectivas fundamentales en le desarrollo del análisis des sensibilidad. En el capítulo 5 se
describe una presentación completa del tema.
3.5.1 Cambios en los coeficientes de la función objetivo
La función objetivo en general en un problema de programación lineal con dos
variables se puede escribir como sigue:
Maximizar o minimizar z = C1x1 + C2x2
Los cambios de los coeficientes C1 y C2 harán cambiar la pendiente de z y en
consecuencia, posiblemente, el punto de esquina óptimo. Sin embargo, hay un intervalo de
variación, tanto para C1 como para C2, dentro del cual el óptimo del momento permanece
sin cambios. En forma específica nos interesa determinar el intervalo de optimalidad de la
relación C1/C2 (o de C2/C1) donde se mantenga sin cambio las solución óptima del
momento. En el siguiente ejemplo se ilustra el procedimiento.
Ejemplo de aplicación 3.2
Acerca del modelo de la empresa constructora. (Ejemplo de aplicación 3.1), en la
figura 3.1 la solución óptima en D proporciona el valor máximo de z = 4000x1 + 3000x2. Si
se cambia la solución objetivo a z = C1x1 + C2x2, la solución en D permanecerá óptima
mientras la pendiente de z quede entre las pendientes de las dos restricciones que son 15x1
+ 5x2 ≥ 100 [R1] y x2 ≤ 10 [R2] esta expresión se puede expresar algebraicamente como:
5 C2 1
Si C1 ≠ 0, entonces ≤ ≤
15 C1 0
0 C1 15
Si C2 ≠ 0, entonces ≤ ≤
1 C2 5
En la primera condición, C1 ≠ 0 significa que la recta de la función objetivo no
puede ser horizontal. De igual modo, en la segunda condición C2 ≠ 0 significa que z no
puede ser vertical. Como se puede ver en la figura 3.9, el intervalo de optimalidad en este
modelo (definido por las dos rectas que cruzan en D) no permite que la función objetivo
z = C1x1 + C2x2 sea una línea horizontal o vertical. El resultado es que se aplica a este
ejemplo cada una de las dos condiciones dadas. Para los casos en que C1 y C2 pueden

39
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
C1 C
asumir valores cero, el intervalo de (o de 2 ) deben dividirse en dos conjuntos, en que
C2 C1
los denominadores no puedan ser cero.
C1 C
Lo que indican las condiciones para y 2 es que mientras que esas relaciones
C2 C1
estén dentro de los límites especificados, la solución óptima permanece sin cambios en D.
Obsérvese que si deduce que z = C1x1 + C2x2 coincide con 15x1 + 5x2 = 100, puede
presentarse óptimos alternativos en cualquier lugar del segmento de recta DF. Sin embargo,
esta observación no cambia el hecho que D siga siendo óptimo.
Se pueden usar las condiciones dadas para determinar el intervalo óptimo para uno
de los coeficientes cuando el otro permanece con su valor original, en z = 4000x1 + 3000x2,
así, dado C2 = 3000, el intervalo óptimo asociado para C1 se determina a partir de la
0 C 15 0 15
condición ≤ 1 ≤ , sustituyendo C2 = 3000, se obtiene 3000 × ≤ C1 ≤ × 3000 ó
1 C2 5 1 5
5 C2 1
sea 0 ≤ C1 ≤ 9000 . En forma parecida, dado C1 = 4000, la condición ≤ ≤ , dará
15 C1 0
4000
como resultado ≤ C2 ≤ ∞
3

Figura 3.9 Intervalo de factibilidad para el modelo del ejemplo de aplicación 3.1

3.5.2 Cambio en disponibilidad de recursos (en el lado derecho de las


restricciones)
En los modelos de programación lineal, las restricciones representan el uso de
recursos limitados, ya sea en forma directa o indirecta. En este caso, se puede imaginar que
el lado derecho representa límites de disponibilidad de los recursos.
En esta sección se investigara la sensibilidad de la solución óptima a cambios en la
cantidad de los recursos disponibles.

40
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
Ejemplo de aplicación 3.3
Para el modelo de la constructora (ejemplo de aplicación 3.1), la figura 3.10
muestra que el óptimo esta en D, y es la intersección de las rectas asociadas con las
restricciones R1 y R2. Cuando cambia la disponibilidad de R1 (aumenta o disminuye
respecto a su valor actual de 100 toneladas), y si R2 = 6, la solución óptima en el punto D
se deslizara a lo largo del segmento de recta BE; todo cambio en R1 fuera del intervalo de
este segmento hará que el punto D (la intersección de las recta relacionadas con R1 y R2)
no sea factible. Por esta razón se dice que los puntos extremos B = (6,0) y E = (6,10)
limitan al intervalo de factibilidad de R1. Así,
Cantidad de R 1 en B = 15x1 + 5x2 = 15(6) + 5(0) = 90 Toneladas.
Cantidad de R 1 en E = 15x1 + 5x2 = 15(6) + 5(10) = 140 Toneladas.
En consecuencia, si R2 = 6, el intervalo de factibilidad para R1 es:
90 ≤ R1 ≤ 140
Este resultado indica que R1 puede bajar hasta 10 toneladas o aumentar hasta 40
toneladas y seguir garantizando que el punto de la solución óptima seguirá siendo la
intersección de las rectas asociadas a R1 y R2. En realidad, si R2 = 6, la solución general
asociada se obtiene en función de R1 como sigue:
x1 = 6 

1  90 ≤ R 1 ≤ 140
x 2 = R1 − 18
5 

41
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
A continuación veamos la materia prima R2. La figura 3.11 muestra que el intervalo
de la factibilidad para R2 (si R1 = 100 toneladas) esta limitado por los extremos C y F,
20 10
siendo C = ( ,0) y F = ( ,10), limitan al intervalo de factibilidad de R2. Así,
3 3
20
Cantidad de R 2 en C =
3
10
Cantidad de R 2 en F =
3
Entonces, mientras R1 = 100, el intervalo de factibilidad para R2 es:
10 20
≤ R2 ≤
3 3
De nuevo, puede usted verificar que si R1 = 100, la solución asociada se define por:
x1 = R2  10 20
 ≤ R2 ≤
x 2 = 20 − 3R 2  3 3

42
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
3.5.3 Valor por unidad de recursos
La figura 3.12 muestra que se puede concebir a un modelo de programación lineal
como uno de entrada y salida, o de datos y resultados, en que los recursos limitados
representan los datos y el valor de la solución objetivo representa el resultado. Una
consecuencia útil de este modelo es determinar como los cambios en sus datos (recursos)
pueden influir sobre su resultado (el valor objetivo). Esa medida se puede obtener como
subproducto de los cálculos del intervalo de factibilidad que se describieron en la sección
3.6.2. En forma especifica, se trata de determinar el valor por unidad de un recurso, que
se define como la tasa de cambio en el valor de la función objetivo debido a cambios en la
cantidad disponible de un recurso.

Recursos
Actividades del
del modelo de Valor objetivo del modelo, Z
Modelo programación lineal

Figura 3.12 Representación de un programa lineal como modelo de entrada y salida (datos y resultados)

Si yi representa el valor de cada unidad del recurso i, la formula correspondiente


para calcular esta medida es:

Para ilustrar esta nueva medida usaremos el modelo de la empresa constructora.


Ejemplo de aplicación 3.4
La figura 3.10 muestra que el intervalo factible para R1, 90 ≤ R1 ≤ 140, y esta
definido por los puntos B y E. Por consiguiente:

Como B = (6,0) y E = (6, 10), entonces


Z en B = 4000x1 + 3000x2 = 4000(6) + 3000(0) = Bs. 24000
Z en E = 4000x1 + 3000x2 = 4000(6) + 3000(10) = Bs. 54000
Entonces,
54000 − 24000
y1 = = Bs. 600
140 − 90
El resultado indica que un cambio de 1 Tonelada en R1, en el intervalo de 90 ≤ R1 ≤
140 hará cambiar el valor óptimo de Z en Bs. 600.

43
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
A continuación consideraremos la materia prima R2. Su intervalo de factibilidad es
10 20
≤ R2 ≤ , y esta limitado por los puntos C y F en la figura 3.11. Entonces:
3 3

20 10
Como C = ( ,0) y F = ( ,10), entonces
3 3
20 80000
Z en C = 4000x1 + 3000x2 = 4000( ) + 3000(0) = Bs. = Bs. 26666.667
3 3
10 130000
Z en F = 4000x1 + 3000x2 = 4000( ) + 3000(10) = Bs. = Bs. 43333.33
3 3
Entonces,
130000 80000

yi = 3 3 = Bs. 5000
20 10

3 3
En este caso el resultado indica que un aumento o disminución de 1 camión se 15
10 20
toneladas en R1, en el intervalo de ≤ R2 ≤ aumenta o disminuye la utilidad en Bs.
3 3
5000.

3.6 Problemas propuestos


Resuelva cada uno de los siguientes programas lineales usando el método gráfico
(etiquete cada restricción consecuentemente). Indique si el problema es infactible, óptimo o
ilimitado. Para aquellos que sean óptimos, encuentre la solución óptima y el valor de la
función objetivo.
1.
Maximizar − x1 + 2x 2
Dependiendo de: 6 x1 − 2 x 2 ≤ 3
− 2 x1 + 3 x 2 ≤ 6
x1 + x 2 ≤ 3
x1 , x 2 ≥ 0
2.
Maximizar − 4 x1 + 8 x 2
Dependiendo de: 6 x1 − 2 x 2 ≤ 3
− 2 x1 + 3 x 2 ≤ 6
2 x1 + 3 x 2 ≤ 24
x1 , x 2 ≥ 0

44
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería

3.
Maximizar 3 x1 + 5 x 2
Dependiendo de: − 3 x1 + 2 x 2 ≤ 6
− x1 + x 2 ≤ 5
− 3 x1 + 8 x 2 ≥ 12
3 x1 + 2 x 2 ≥ 18
x1 , x 2 ≥ 0

4.
Minimizar x1 + x 2
Dependiendo de: 3 x1 − 5 x 2 ≥ 30
3 x1 + 2 x 2 ≤ 9
x1 , x 2 ≥ 0
5.
Minimizar 3 x1 + 7 x 2
Dependiendo de: x1 − x 2 ≥ 4
x1 − 2 x 2 ≤ 10
− 2 x1 − 1x 2 ≥ 2
x1 , x 2 ≥ 0
6. Un barrio de 10 acres en la ciudad Oruro se va demoler y el gobierno municipal
debe decidir sobre el nuevo plan de desarrollo. Se va a considerar dos proyectos
habitacionales: Viviendas a bajo costo y viviendas a medio costo. Se puede
construir 20 a 15 por acre, de estos dos tipos de viviendas, respectivamente. Los
costos por unidad de la vivienda a bajo y medio costo son Bs. 13000 y Bs. 18000.
Los límites superior e inferior establecidos por el municipio sobre el número de
viviendas de bajo costo son 60 y 100. De igual manera, el número de viviendas de
costo medio debe estar entre 30 y 70. El mercado potencial combinado máximo para
las viviendas que es de 150 (que es menor que la suma de los limites individuales
debido al traslape entre los dos mercados). Se desea que la hipoteca total
comprometida al nuevo plan de desarrollo no exceda de a Bs. 2 millones.
Finalmente, el asesor de la obra sugirió que el número de viviendas de bajo costo
sea al menos 50 unidades mayor que la mitad del número de viviendas de costo
medio. Maximizar el número de viviendas a construir por el método gráfico.

45
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
7. La compañía Guabira manufactura y vende dos productos. La compañía obtiene una
utilidad de Bs.12 por unidad del producto 1 y Bs.4 por unidad del producto 2 que
se vendan. Las horas de trabajo que se requieren para los productos en cada uno de
los tres departamentos de producción se sintetizan en la tabla. Los supervisores de
estos departamentos han estimado que durante el próximo mes estarán disponibles
las siguientes horas de trabajo:
800 hr Departamento 1.
1600 hr Departamento 2.
2000 hr Departamento 3.
Maximizar las utilidades de la compañía.
Datos de producción de la compañía Guabira
Producto
Departamento
1 2
1 1 2
2 1 3
3 2 3
8. En la tabla se presentan los requisitos por unidad y los ingresos netos para equipo
forestal y equipo de excavación. Definan las variables de decisión y elaboren un
programa lineal que maximice los ingresos.
Datos del equipo forestal de excavación.
Hierro Trabajo Requisitos de Tratamiento Ingreso
Equipo
(lb.) (hrs.) transmisiones (hrs.) Neto
Forestal 950 65 1 28 Bs.450
Excavación 4000 120 1 16 Bs.895
Disponibilidad 650000 23000 450 7200
9. Una compañía produce dos tipos de ladrillos. Cada ladrillo del tipo 1 requiere el
doble de tiempo en mano de obra que el segundo tipo. Si todos los ladrillos son del
tipo 2, la compañía puede producir un total de 500 ladrillos al día. El mercado limita
las ventas diarias del tipo 1 y 2 a 150 a 250 ladrillos respectivamente. Suponga que
los beneficios por cada ladrillo son de Bs.8 para el tipo 1 y Bs.5 para el tipo 2.
Determine el número de ladrillos a ser producidos de cada tipo para maximizar el
beneficio.

46
Capítulo 3 Texto Guía Alumno - Sistemas de Ingeniería
10. Todo el acero producido por VINTO tiene que cumplir con las siguientes
especificaciones: 3.2 a 3.5% de carbono; 1.8 a 2.5% de silicio; 0.9 a 1.2% de níquel;
resistencia a la tracción de por lo menos 45000 lb./pulg2. VINTO produce el acero
mezclando dos aleaciones. El costo y las propiedades de cada aleación se dan en la
tabla. Supóngase que se puede determinar la resistencia a la tracción de una mezcla
promediando las resistencias de las aleaciones que se mezclan. Por ejemplo, una
mezcla de una tonelada que se compone de 40% de la aleación 1 y de 60% de la
aleación 2, tiene una resistencia a la tracción de 0.4 (42000) + 0.6 (50000). Utilizar
método gráfico de la programación lineal para determinar como minimizar los
costos de producción de una tonelada de acero.
Tabla Aleación 1 Aleación 2
Costo por tonelada 190 200
(dólares)
Porcentaje de 2% 2.52%
Silicio
Porcentaje de 1% 1.5%
níquel
Porcentaje de 3% 4%
carbono
Resistencia a la 42000 lb./pulg2 50000 lb./pulg2
tracción

3.7 Bibliografía
 MODELOS LINEALES DE OPTIMIZACION – Rafael Terrazas Pastor
[Segunda Edición]
 INVESTIGACIÓN DE OPERACIONES – Hamdy A. Taha [7 a. Edición]
 INVESTIGACIÓN DE OPERACIONES – Moskowitz, Herbert; Wrigth,
Gordon
 INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES –
Frederick S. Hillier, Gerald J. Lieberman. [Sexta Edición]
3.8 Enlaces
 http://www.investigacion-operaciones.com/contenido.htm
 http://www.sectormatematica.cl/media/proglineal.htm

47
Capítulo 4 Texto Guía - Sistemas de Ingeniería

CAPÍTULO 4

PROGRAMACIÓN LINEAL - MÉTODO SÍMPLEX

4.1 Introducción
El método símplex es un procedimiento general para resolver problemas de
programación lineal desarrollado por George Dantzig en 1947, está comprobado que es un
método extraordinariamente eficiente que se usa en forma rutinaria para resolver problemas
grandes en las computadoras de hoy en día. También se usan extensiones y variaciones del
método símplex para realizar análisis pos-óptimo (incluyendo el análisis de sensibilidad)
sobre el modelo.
El algoritmo símplex es un método algebraico de programas lineales que aprovechan
las propiedades de las soluciones básicas. Su estrategia consiste en explorar soluciones
básicas hasta llegar a la óptima, de modo que la exploración se dirija siempre en la
dirección que asegure una mayor aproximación a dicho óptimo.
El método gráfico del Capítulo 3 indica que la solución óptima de un programa lineal
siempre esta asociada a un punto de esquina del espacio de soluciones. Este resultado es la
clave del método símplex algebraico y general para resolver cualquier modelo de
programación lineal.
La transición de la solución del punto de esquina geométrico hasta el método símplex
implica un procedimiento de cómputo que determina en forma algebraica los puntos de
esquina. Esto se logra convirtiendo primero a todas las restricciones de desigualdad en
ecuaciones, para después manipular esas ecuaciones en una forma sistemática.
Una propiedad general del método símplex es que resuelve la programación lineal en
iteraciones. Cada iteración desplaza la solución a un nuevo punto de esquina que tiene
potencial de mejorar el valor de la función objetivo. El proceso termina cuando ya no se
pueden obtener mejoras.
El método símplex implica cálculos tediosos y voluminosos, lo que hace que la
computadora sea una herramienta esencial para resolver los problemas de programación
lineal. Por consiguiente, las reglas computacionales del método símplex se adaptan para
facilitar el cálculo automático.
El método símplex, con la ayuda del computador, puede resolver problemas de
programación lineal hasta con varios millares de variables y restricciones.
4.2 Espacio de soluciones en forma de ecuación
Para estandarizar, la representación algebraica del espacio de soluciones de
programación lineal se forma bajo dos condiciones:
 Todas las restricciones (excepto las de no negatividad) son ecuaciones con lado
derecho no negativo.
 Todas las variables son no negativas.

48
Capítulo 4 Texto Guía - Sistemas de Ingeniería
4.2.1 Conversión de desigualdades a ecuaciones
El método símplex requiere que las restricciones sean ecuaciones (o restricción con
relación de desigualdad). Cualquier inecuación puede ser convertida en una ecuación
agregando una cantidad no negativa en el lado de menor valor de la inecuación.
En las restricciones (≤), el lado derecho se puede imaginar como representando el
limite de disponibilidad de un recurso, y en ese caso el lado izquierdo representaría el uso
de ese recurso limitado por parte de las actividades (variables) del modelo. La diferencia
entre el lado derecho y el lado izquierdo de la restricción (≤) representa por consiguiente, la
cantidad no usada u holgura del recurso.
Para convertir una desigualdad (≤) en ecuación, se agrega una variable de holgura al
lado izquierdo de la restricción. Por ejemplo, en el modelo de la constructora (ejemplo 3.1)
la restricción asociada con la disponibilidad de camiones esta dada como:
x1 ≤ 6 [R2]
x2 ≤ 10 [R3]
Si se define h1 como la holgura, o cantidad no usada, las restricciones se pueden
convertir en la siguiente ecuación:
x1 + h1 = 6
x2 + h2 = 10
h1; h2 ≥ 0
Una restricción (≥) establece, normalmente, un límite inferior para las actividades
del modelo de programación lineal. Como tal, la cantidad por la que el lado izquierdo es
mayor que el limite mínimo (lado derecho) representa un excedente o superfluas.
La conversión de (≥) a ecuación se logra restando una variable de excedencia, del
lado izquierdo de la desigualdad. Por ejemplo en el modelo de la constructora (ejemplo
3.1), la restricción representa el requisito mínimo de arena y esta dado como:
15x1 + 5x2 ≥ 100 [R1]
Si se define como S1 como una variable de excedencia se puede convertir la
restricción en la ecuación siguiente:
15x1+ 5x2 + S1= 100
S1 ≥ 0
Es importante observar que las variables de holgura y excedencia, h1, h2 y S1,
siempre son no negativas.
El único requisito que queda es que el lado derecho de la ecuación que resulte sea
no negativo. Esta condición se puede satisfacer siempre, si es necesario multiplicando
ambos lados de la ecuación resultante por -1.
Por ejemplo la restricción
-x1 + x2 ≤ -3
Equivale directamente a la ecuación
-x1 + x2 + h1 = -3
h1 ≥ 0
Ahora se multiplican ambos lados por -1, y se obtiene un lado derecho no negativo,
que es lo que se busca; esto es:
x1 - x2 - h1 = 3

49
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Ejemplo de aplicación 4.1
Maximizar 2x1 – x2 + 3x3
Sujeto a:
x1 – x2 + x3 = 10
3x1 + 2x2 + 2x3 ≤ 15
x1 ≥3
x1 ≥0
x2 ≤0
x3 No restringida
Conversión a ecuaciones o en forma estándar.
Maximizar 2x1 – x2 + 3x3
Sujeto a:
x1 – x2 + x3 = 10
3x1 + 2x2 + 2x3 + h1 = 15
x1 – S2 =3
x1, h1, S2 ≥0
x2 ≤0
x3 No restringida
No todas las variables son no negativas, de modo que el programa lineal del ejemplo
4.1 todavía no se encuentra en forma estándar. Es necesario llevar a cabo una convención
adicional.
4.2.2 Manejo de variables no restringidas y no positivas.
Hasta este momento, las variables que han aparecido en todos los programas
lineales han sido no negativas. Si embargo, en algunos problemas, se puede restringir una
variable que sea no positiva (≤ 0) e, incluso, puede no estar restringida, (es decir, puede ser
positiva, negativa o cero).
Por ejemplo, suponga que debe localizar un almacén en una ciudad. Utilizando un
sistema fijo de coordenadas, usted define las siguientes dos variables de decisión, con
respecto al origen:
x1 = Coordenada x de la localización del almacén
x2 = Coordenada y de la localización del almacén
Estas dos variables no están restringidas. Un valor positivo de x1 indica una
localización a la derecha del origen; un valor negativo indica una localización a la
izquierda. De manera parecida, un valor positivo o negativo de x2 indica una localización
arriba o abajo del origen, respectivamente.
Suponga que la localización del almacén debe estar a la izquierda del origen. Esta
limitación se refleja con la restricción:
x1 ≤ 0
En este caso, x1 es no positivo y x2 no esta restringida. Verá ahora cómo convertir un
problema con variables no restringidas y no positivas a la forma estándar. Esta tarea se
lleva a cabo sustituyendo aquellas variables por las variables no negativas adecuadas, según
se describe a continuación.

50
Capítulo 4 Texto Guía - Sistemas de Ingeniería
4.2.2.1 Conversión de variables no restringidas.
Ejemplo de aplicación 4.1 (a)
Maximizar 2x1 – x2 + 3x3
Sujeto a:
x1 – x2 + x3 = 10
3x1 + 2x2 + 2x3 + h1 = 15
x1 – S2 = 3
x1, h1, S2 ≥ 0
x2 ≤0
x3 No restringida
En el ejemplo 4.1(a), la variable x3 no esta restringida. Para pasar un problema con
esta característica a la forma estándar, lo cual significa con variables no negativas, cada
variable no restringida debe sustituirse con la diferencia de dos variables negativas. Por
ejemplo, en el ejemplo 4.1, sustituya la variable no restringida original, x3, en todo lugar
que se encuentre, con la diferencia de dos variables no negativas, cuyos símbolos se
escogen de manera arbitraria como x3+ y x3–, de la forma siguiente:
x3 = x3+ – x3–
x3+ , x3– ≥ 0
La manera de interpretar esta sustitución es recordando que x3 puede ser positiva o
negativa. Si x3 es positiva (digamos x3 = 5), entonces x3+ tendrá el mismo valor positivo de
x3 (es decir x3+ = 5), y x3– será cero. Si x3 es negativa (digamos x3 = -7), entonces x3+ ser
cero y x3– será igual al valor absoluto de x3 (es decir x3– = 7).Alternativamente, dados
valores no negativos para x3+ y x3–, el valor de x3 se obtiene calculando el valor de x3 = x3+ –
x3–
Sustituyendo x3 = x3+ – x3– en el ejemplo 4.1, se produce el programa lineal
presentando en el ejemplo 4.1 (b).
Ejemplo de aplicación 4.1 (b)
Maximizar 2x1 – x2 + 3 x3+ – 3x3–
Sujeto a:
x1 – x2 + x3+ – x3– = 10
3x1 + 2x2 + 2 x3+ – 2x3– + h1 = 15
x1 – S2 =3
x1, +
x3 , x3 , –
h1, S2 ≥0
x2 ≤0
4.2.2.2 Conversión de variables no positivas
En el ejemplo 4.1 (b), todo lo que resta hacer es manipular la variable no positiva x2.
Sustituya x2 en todo lugar donde se encuentre con el negativo de una nueva variable no
negativa, cuyo símbolo se escoge arbitrariamente como x2’, es decir,
x2 = –x2’
x2’ ≥ 0

51
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Por ejemplo, sin en el problema en forma estándar x2’ = 4, el valor de la variable
original, x2, es x2 = –x2’ = –4.
Al sustituir x2 = –x2’ en el ejemplo 4.1 (b) se produce el programa lineal en forma
estándar del ejemplo 4.1(c).
Ejemplo de aplicación 4.1 (c)
PROGRAMA LINEAL EN FORMA ESTÁNDAR PARA EL EJEMPLO 4.1 (b)
Maximizar 2x1 + x2’ + 3 x3+ – 3x3–
Sujeto a
x1 + x2’ + x3+ – x3– = 10
3x1 – 2x2’ + 2 x3+ – 2x3– + h1 = 15
x1 – S2 = 3
x1, x2’, x3+, x3–, h1, S2 ≥ 0
El problema de programación lineal del ejemplo 4.1(c) es la versión en forma
estándar del problema original ejemplo 4.1. Este problema lineal en forma estándar es
equivalente al original. Dada una solución óptima al problema en forma estándar, se puede
construir una solución óptima al problema original.
4.3 Transición de solución gráfica a solución algebraica
Las ideas contenidas en la solución gráfica de un modelo de programación lineal
son la base para desarrollar el método algebraico símplex. La figura 4.1 marca el
paralelismo entre los dos métodos.

52
Capítulo 4 Texto Guía - Sistemas de Ingeniería
En el método gráfico, el espacio de soluciones se delimita con los semiespacios que
representan las restricciones, y en el método símplex, el espacio de soluciones se
representan con “m” ecuaciones lineales simultaneas y “n” variables no negativas.
Se puede apreciar en forma visual porque el espacio gráfico de soluciones tiene una
cantidad infinita de puntos de solución; pero, ¿cómo se puede deducir algo parecido a partir
de la representación algebraica del espacio de soluciones? La respuesta es que en la
representación algebraica, la cantidad “m” de ecuaciones siempre es menor o igual a la
cantidad de variables “n”.
Si m = n, y si las ecuaciones son consistentes, el sistema tiene una sola solución;
pero si m < n (esto representa la mayor parte de los programas lineales), entonces el sistema
de ecuaciones producirá una infinidad de soluciones, de nuevo si es consistente. Como
ejemplo sencillo, la ecuación x = 2 tiene m = 1 ecuaciones y n = 1 variables; y es obvio que
la solución es única. Pero la ecuación x + y = 1 tiene m = 1 ecuaciones y n = 2 variables, y
tiene una cantidad infinita de soluciones. Cualquier punto de la recta x + y = 1 es una
solución.
Ya demostramos como se representa el espacio de soluciones de un programa lineal
en forma algebraica. Entonces los candidatos para la solución óptima, que son los puntos de
esquina, se determinan con las ecuaciones lineales simultáneas como sigue:
En un conjunto de m × n ecuaciones (m<n), si se igualan a cero n – m variables, y a
continuación se despejan las m variables restantes de las m ecuaciones, la solución
resultante, si es única, debe corresponder a un punto de esquina del espacio de soluciones.
4.4 Método Símplex
Los pasos del símplex para resolver un problema de programación se ilustran en la
figura 4.2.
El método símplex en la forma de los coeficientes separados

Figura 4.2
Paso 0. Adicione las variables de holgura a todas las inecuaciones. También, adicione
las mismas variables de holgura a la función objetivo, cada una con la utilidad
unitaria de Bs.0.

53
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Paso1. Encuentre una solución básica factible inicial para el sistema de ecuaciones. Esto
puede ser hecho en el modelo de programación lineal por inspección.
Paso 2. Encuentre una solución básica factible mejor. Ahora estamos en la fase iterativa
del método, el proceso se llama operaciones de renglón de Gauss-Jordan.
Observe la figura 4.2 que vamos al paso 3 y regresamos al paso 2 y seguimos
repitiendo estos dos pasos hasta que tenemos una solución básica factible para
terminar en el paso 4.
En cada iteración el método símplex se mueve de una solución básica factible
actual a una solución básica factible adyacente. Esta iteración Paso 2 y 3,
requiere que una variable no básica, llamada la variable básica entrante,
remplace una variable básica llamada variable básica saliente, en la solución
actual.
Las candidatas a convertirse la variable básica entrante son solamente las
variables no básicas. ¿Cuál de las variables no básicas escoger?. La nueva
variable básica tiene que aportar un mejoramiento (aportar una utilidad más alta
en caso de Max) sobre la solución básica factible actual. Por consiguiente,
escogemos la variable no básica que incremente la utilidad z en la mayor
proporción.
Paso 3. Resuelva para la nueva solución básica factible “MEJOR”. El paso 3 tiene dos
partes: determinar la variable a salir de la base y resolver para los nuevos
valores de las variables básicas.
La variable básica saliente no es de libre escogencia.
Nuestra meta es escoger una variable básica para remover, tal que la variable
entrante pueda tener un valor tan grande como sea posible, sin violar alguna de
las restricciones en el modelo.
Paso 3 (Cont.). Encuentre los valores de las restantes variables básicas. Ahora hemos
identificado las variables entrantes y salientes. Falta determinar los valores
nuevos del resto de las variables. Para llevar a cabo este paso necesitamos
convertir el sistema original de ecuaciones.
Paso 4. Solución óptima. Cuando los valores de los coeficientes del renglón Z sean
todos ≥ 0 (caso maximización) o ≤ 0 (caso minimización) se habrá alcanzado el
óptimo factible.
La primera necesidad es entender ciertos términos claves antes de aplicar los pasos
2 y 3 del método símplex para un problema dado en la forma de los coeficientes separados.
Tales son:
1. Columna pivote
2. Fila pivote
3. Número pivote.
1. La columna pivote es la columna de coeficiente que están asociadas con la
variable no básica que ha sido escogido para convertirse en la variable básica
entrante.

54
Capítulo 4 Texto Guía - Sistemas de Ingeniería
2. La fila pivote es la fila de coeficientes que contiene la variable básica actual, y
que contiene coeficiente +1, es la que se ha escogido como la variable básica
saliente.
3. El número pivote es el coeficiente que esta en la intersección entre la fila pivote y
columna pivote

Cada coeficiente de las variables de fila (z) indica cuanto decrecerá la utilidad z
por unidad de incremento en esa variable.
Para encontrar una solución mejor:

Escogemos la variable que se va a convertir en variable básica entrante y es la


que tiene el coeficiente más negativo en la función objetivo en caso de
maximización (coeficiente más positivo en caso de minimización)

Ejemplo de aplicación 4.2


Una compañía produce dos tipos de ladrillos. Cada ladrillo del tipo 2 requiere el
doble de tiempo en mano de obra que el primero tipo. Si todos los ladrillos son del tipo 2, la
compañía puede producir un total de 500 ladrillos al día. El mercado limita las ventas
diarias del tipo 1 y 2 a 150 a 250 ladrillos respectivamente. Suponga que los beneficios por
cada ladrillo son de Bs.8 para el tipo 1 y Bs.5 para el tipo 2. Determine el número de
ladrillos a ser producidos de cada tipo para maximizar el beneficio.
Sea x1 = # de ladrillos del tipo 1
x2 = # de ladrillos del tipo 2
Función objetivo: Max Z = 8x1 + 5x2
Restricciones:
2x1 + x2 ≤ 500
x1 ≤ 150
x2 ≤ 250
x1 , x2 ≥ 0
Estandarizando:
Max Z = 8x1 + 5x2 + 0h1 + 0h2 + 0h3
Restricciones:
2x1 + x2 + h1 = 500
x1 + h2 = 150 m=3
x2 + h3 = 250
x1, x2, h1, h2, h3 ≥ 0 n=5
n – m = 5 – 3 = 2 variables no básicas
m = 3 variables básicas
Entonces: x1 = x2 = 0 variables no básicas
y por lo tanto h1 = 500; h2 = 150 y h3 = 250 variables básicas

55
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Tabla inicial o iteración cero.
solució
Básica x1 x2 h1 h2 h3
n
h1 2 1 1 0 0 500
h2 1 0 0 1 0 150
h3 0 1 0 0 1 250
Z -8 -5 0 0 0 0

Tabla 1
Para encontrar una solución mejor: Escogemos la variable que se va a convertir en
variable básica entrante en el caso de maximización es la que tiene el valor más negativo en
la fila de la función objetivo, o sea, el renglón de Z de la tabla símplex 1 en este caso x1 y
será la columna pivote.
solució
Básica x1 x2 h1 h2 h3
n
h1 2 1 1 0 0 500
h2 1 0 0 1 0 150
h3 0 1 0 0 1 250
Z -8 -5 0 0 0 0
columna pivote

Paso3. Ahora tenemos que determinar cuál de las variables básicas actuales h1, h2 o
h3, es la que va a ser la variable saliente.
Recuerda que:

La variable escogida como variable básica saliente es la variable básica


actual que permite a la variable básica entrante x1 tener el valor más grande
posible sin violar alguna de las restricciones del modelo.
Para decidir cual variable sale, usamos la columna de la variable básica, la columna
pivote y la columna de solución y se calculan las razones entre los valores y los coeficientes
tal como se muestra en seguida.

Variable solució Razon del


x1
Básica n solución/coeficiente

h1 2 500 500/2 =250 minima


h2 1 150 150/1 =150 razon =150
h3 0 250 250/0 = ∞ Ignorar
Z -8 0

El mínimo entre 250 y 150 es 150 que tiene lugar en el renglón de h2, donde h2 es la
variable básica actual. Por tanto el renglón de h2 de la tabla 1 pasa a ser la fila pivote y h2
se convierte en la variable saliente. Entonces, x1 remplaza a h1 en la base.
En resumen:

La fila pivote, y por tanto la variable básica saliente, es la fila que contiene
la razón Solución/Coeficiente más pequeña haciendo caso omiso de las
variables (y por ende de las filas) cuyo denominador sea cero o negativo.

56
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Tanto la columna pivote (la variable básica entrante) como la fila pivote (la variable
básica saliente) son delineadas en la próxima versión de la tabla 1. Como el número
intersección entre la columna pivote y fila pivote es +1 entonces, éste es el número pivote.
solució
Básica x1 x2 h1 h2 h3
n
h1 2 1 1 0 0 500
fila pivote h2 1 0 0 1 0 150
h3 0 1 0 0 1 250

número pivote Z -8 -5 0 0 0 0
columna pivote
Tabla 1
Paso 3 (Cont.). Encontrar la nueva solución básica factible. Para hacer un cambio de base
usando la tabla símplex, necesitamos lo siguiente:
1. El número pivote tiene que ser convertido +1 y la variable básica entrante
remplaza la variable básica saliente en la columna de las variables básicas.
2. Cada uno de los coeficientes restantes en la columna pivote tienen que ser
convertidos a 0.
Para lograr el punto 1. dividimos cada coeficiente de la fila pivote por el número
pivote. Esto es, remplazando el renglón h2 por el nuevo renglón x1. Esto conduce a la nueva
tabla 2.
1º iteración
solució
Básica x1 x2 h1 h2 h3
n
h1 0 1 1 -2 0 200
x1 1 0 0 1 0 150
h3 0 1 0 0 1 250
Z 0 -5 0 8 0 1200
Tabla 2
Para lograr el punto 2. todos los demás reglones incluyendo Z.
Nuevo renglón = (renglón actual) – (su coeficiente en la columna pivote) *
(nueva fila pivote).
Estos cálculos se aplican a la tabla1 en la siguiente forma:
Nuevo renglón h1 = (renglón actual) – (+2) * (nueva fila pivote).
Nuevo renglón h3 = (renglón actual) – (0) * (nueva fila pivote).
Nuevo renglón Z = (renglón actual) – (–8) * (nueva fila pivote).
Ejecutando estas adiciones y multiplicaciones de reglones en la tabla 1, se obtiene
la nueva tabla símplex, 2.

57
Capítulo 4 Texto Guía - Sistemas de Ingeniería
De la tabla 2 tenemos ahora:

h1 =200
x1 = 150 x2 = 0
h3 =250 y h2 = 0
Z = 1200
Esto completa el paso 3 del método símplex.
Usted puede sustituir los valores de las 5 variables anteriores, en el modelo original
para verificar que estos, constituyen una solución factible y producen una utilidad de Z =
Bs.1200.
¿Es óptima la solución básica de la tabla 2? Para responder esta pregunta tenemos que
regresar al paso 2 del método símplex.
Paso 2. ¿Puede haber una solución básica factible mejor? Observemos en el renglón de Z
de la tabla 2. que la variable no básica x2 tiene como coeficiente –5. Lo que quiere decir,
que se puede incrementar la utilidad anterior de Bs.1200 si x2 tiene un valor positivo.
Entonces, x2 se convierte en la columna pivote (o x2 pasa a ser la variable básica
entrante).
Paso 3. Encontrar la solución factible mejor. Determinando la mínima razón
Solución/Coeficiente, el renglón de h1 se convierte en la fila pivote (o h1 pasa a ser la
variable básica saliente) y +1 es el número pivote. Esto se muestra en seguida en la tabla 2.
solució
Básica x1 x2 h1 h2 h3 Soluc./Coef.
n
fila pivote h1 0 1 1 -2 0 200 200/1 = 200
x1 1 0 0 1 0 150 150/0 = ∞
h3 0 1 0 0 1 250 250/1 = 250
numero pivote Z 0 -5 0 8 0 1200
Columna pivote

Tabla 2
Utilizando la columna pivote, x2 y la columna de solución de la tabla 2 se obtiene la
razón mínima.
Ya que el mínimo entre 200 y 250 esta en el renglón de h1 de la tabla 2, h1 es la
variable saliente, para ser remplazada por x2.
Paso 3 (Cont.). Encontrar los valores de las variables básicas. En el Paso 3 necesitamos lo
siguiente:
 El número pivote tiene que ser convertido +1 y la variable básica entrante remplaza
la variable básica saliente en la columna de las variables básicas.
 Cada uno de los coeficientes restantes en la columna pivote tienen que ser
convertidos a 0.
Para lograr el punto 1 dividimos cada coeficiente de la fila pivote por el número pivote.
Esto es, remplazando el renglón h1 por el nuevo renglón x2. Esto conduce a la nueva tabla
3.

58
Capítulo 4 Texto Guía - Sistemas de Ingeniería
2º iteración
solució
Básica x1 x2 h1 h2 h3
n
x2 0 1 1 -2 0 200
x1 1 0 0 1 0 150
h3 0 0 -1 2 1 50
Z 0 0 5 -2 0 2200
Tabla 3
Para lograr el punto 2. todos los demás reglones incluyendo Z.
Nuevo renglón = (renglón actual) – (su coeficiente en la columna pivote) *
(nueva fila pivote).
Estos cálculos se aplican a la tabla anterior en la siguiente forma:
Nuevo renglón x1 = (renglón actual) – (0) * (nueva fila pivote).
Nuevo renglón h3 = (renglón actual) – (+1) * (nueva fila pivote).
Nuevo renglón Z = (renglón actual) – (–5) * (nueva fila pivote).

Ejecutando estas adiciones y multiplicaciones de reglones en la tabla 2, se obtiene


la nueva tabla símplex 3.
La nueva solución básica factible es:

x2 =200
x1 = 150 h1 = 0
Variables h3 =50 y Variables h2 = 0
básicas Z = 2200 no básicas
Esto completa el paso 3 del método símplex.
Usted puede sustituir los valores de las 5 variables anteriores, en el modelo original
para verificar que estos, constituyen una solución factible y producen una utilidad de Z =
Bs.2200.
¿Es óptima la solución básica de la tabla 3? Para responder esta pregunta tenemos que
regresar al paso 2 del método símplex.
Paso 2. ¿Puede haber una solución básica factible mejor? Observemos en el renglón de Z
de la tabla 3. que la variable no básica h2 tiene como coeficiente –2. Lo que quiere decir,
que se puede incrementar la utilidad anterior de Bs.2200 si h2 tiene un valor positivo.
Entonces, h2 se convierte en la columna pivote (o h2 pasa a ser la variable básica
entrante).
Paso 3. Encontrar la solución factible mejor. Determinando la mínima razón
Solución/Coeficiente, el renglón de h3 se convierte en la fila pivote (o h3 pasa a ser la
variable básica saliente) y +2 es el número pivote.

59
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Esto se muestra en seguida en la tabla 3.
solució
Básica x1 x2 h1 h2 h3 Soluc./Coef.
n
x2 0 1 1 -2 0 200 200/-2 = -100
x1 1 0 0 1 0 150 150/1 = 150
fila pivote h3 0 0 -1 2 1 50 50/2 = 25
Z 0 0 5 -2 0 2200
Columna pivote número pivote
Tabla 3
Utilizando la columna pivote, h2 y la columna de solución de la tabla 3 se obtiene la
razón mínima.
Ya que el mínimo entre 150 y 25 esta en el renglón de h3 de la tabla 3, h3 es la
variable saliente, para ser remplazada por h2.
Paso 3 (Cont.). Encontrar los valores de las variables básicas. En el Paso 3 necesitamos lo
siguiente:
 El número pivote tiene que ser convertido +1 y la variable básica entrante remplaza
la variable básica saliente en la columna de las variables básicas.
 Cada uno de los coeficientes restantes en la columna pivote tienen que ser
convertidos a 0.

Para lograr el punto 1. dividimos cada coeficiente de la fila pivote por el número pivote.
Esto es, remplazando el renglón h1 por el nuevo renglón x2. Esto conduce a la nueva tabla
4.
3ª iteración – Tabla óptima.
solució
Básica x1 x2 h1 h2 h3
n
x2 0 1 0 0 1 250
x1 1 0 0.5 0 -0.5 125
h2 0 0 -0.5 1 0.5 25
Z 0 0 4 0 1 2250
Tabla 4
Para lograr el punto 2. todos los demás reglones incluyendo Z.
Nuevo renglón = (renglón actual) – (su coeficiente en la columna pivote) *
(nueva fila pivote).
Estos cálculos se aplican a la tabla anterior en la siguiente forma:
Nuevo renglón x2 = (renglón actual) – (–2) * (nueva fila pivote).
Nuevo renglón x1 = (renglón actual) – (+1) * (nueva fila pivote).
Nuevo renglón Z = (renglón actual) – (–2) * (nueva fila pivote).
Ejecutando estas adiciones y multiplicaciones de reglones en la tabla 3, se obtiene
la nueva tabla símplex 4.

60
Capítulo 4 Texto Guía - Sistemas de Ingeniería
La nueva solución básica factible es:

x2 =250
x1 = 125 h1 = 0
Variables h2 =25 y Variables h3 = 0
básicas Z = 2250 no básicas
Esto completa el paso 3 del método símplex.
Usted puede sustituir los valores de las 5 variables anteriores, en el modelo original
para verificar que estos, constituyen una solución factible y producen una utilidad de Z =
Bs.2250.
¿Es óptima la solución básica de la tabla 4? Para responder esta pregunta tenemos que
regresar al paso 2 del método símplex.
Paso 2. Encuentre una solución básica factible mejor. La solución dada en la tabla 4 es
óptima ya que los coeficientes de las variables no básicas h1, h2 y h3 son cero o positivos.
Entonces, terminamos el Paso 4.
Paso 4. La solución básica factible actual es la óptima, porque todos los valores del renglón
de Z son ≥ 0 (caso maximización).

4.5 Método de penalización


Para resolver problemas que incluyen otro tipo de restricciones (mayor o igual (≥) e
igualdad (=)), se emplean los llamados métodos de penalización. Estos métodos siguen
básicamente la misma metodología de solución que el algoritmo símplex y simplemente
varían en los siguientes puntos.
 Para las restricciones de mayor o igual e igualdades, se añaden variables artificiales.
Estas variables artificiales sirven como un artificio matemático que facilitan la
solución y ayudan a que la matriz identidad aparezca en las columnas de las
variables básicas. En problemas de este tipo y generalmente después de todo el
procedimiento de solución (si el procedimiento tiene solución factible), estas
variables artificiales se convierten en no básicas con un valor de cero, de otro modo
se puede detectar que el problema no tiene solución básica factible.
 La iteración cero o paso inicial debe ser corregida en función de las modificaciones
que se hagan en la función objetivo donde las variables artificiales aparecen con
penalizaciones, de ahí su nombre.
Los métodos de penalización son: el Método de la M (M se tipifica como un valor
mucho muy grande) y el método de las dos fases.

61
Capítulo 4 Texto Guía - Sistemas de Ingeniería
4.5.1 Método de la “M”
El método de la M trabaja de la siguiente manera:
 Al poner en la forma estándar se añaden variables de holgura a las restricciones del
tipo menor o igual; variables artificiales a las restricciones de igualdad y variables
de excedencia o superfluas y artificiales a las restricciones mayor o igual.
 En la función objetivo las variables de holgura y superfluas tienen coeficientes de
cero, sin embargo a las variables artificiales se las penaliza con un valor grande de
–M (caso Max) y/o +M (caso Min). Este artificio se lo realiza con el objeto de
agrandar la región factible, poder converger hacia el resultado óptimo y lograr la
matriz identidad para establecer m variables básicas iniciales. Si un problema tiene
una solución factible, las variables artificiales deben ser cero en la tabla inicial, esto
quiere decir que deben ser no básicas.
 Las variables básicas iniciales que corresponden a la tabla inicial o iteración cero
deben incluir a las variables artificiales (ya que como se verá sus columnas forman
parte de la matriz identidad), pero sus coeficientes en la función objetivo no son
cero sino M; entonces deberán volverse cero haciendo una corrección a la función
objetivo y utilizando para ello operaciones elementales de la fila con aquellos
renglones que incluyen a estas variables.
 Obtenida la tabla corregida en la función objetivo, se procede a continuar con los
pasos del símplex hasta llegar al resultado óptimo.
Ejemplo de aplicación 4.3
Función objetivo: Min Z = 5x1 + 1x2
Restricciones:
x1 + x2 = 5 (1)
x1 ≤3 (2)
x1 + 3x2 ≥ 12 (3)
x1 , x2 ≥ 0
Estandarizando:
Min Z = 5x1 + x2 + 0h2 + 0S3 + MR1 + MR3
Restricciones:
x1 + x2 + R1 =5
x1 + h2 =3 m=3
x1 + 3x2 – S3 + R3 = 12
x1, x2, h2, S3, R1, R3 ≥ 0 n=6
n – m = 6 – = 3 variables no básicas
m = 3 variables básicas
Entonces: x1 = x2 = S3 = 0 variables no básicas
y por lo tanto R1 = 5, h2 = 3 y R2 = 12 variables básicas
Observe que a las restricciones de igualdad (1) se añade una variable artificial R1. A
la restricción (2) que es del tipo menor o igual se añade una variable de holgura h2 y a la
restricción (3) que es del tipo mayor o igual se resta una variable de excedencia y una
variable artificial R3.

62
Capítulo 4 Texto Guía - Sistemas de Ingeniería
En este método las variables artificiales se penalizan en la función objetivo con un
valor de +M (caso Min).
El problema tiene tres variables básicas porque se tienen tres restricciones y estas
variables básicas deben incluir inicialmente a las artificiales. Según el análisis de la función
objetivo las candidatas a ser variables básicas serian h2 y S3 (por tener coeficiente cero en la
función objetivo). Sin embargo, si planteamos la tabla inicial nos podemos dar cuenta que
las columnas de las variables h2, R1 y R2 forman la matriz identidad; por tanto al cumplirse
estas deben ser las variables básicas iniciales.
Finalmente se puede notar que los coeficientes de R1 y R2 en la función objetivo no
son cero, sino M; entonces por operaciones elementales de renglones hay que volver cero
estos coeficientes para cumplir con una de las propiedades de la definición de variable
básica (esto se logra multiplicando por –M al renglón 1 y 3 y sumando estos renglones al
renglón de la función objetivo). Entonces:
Tabla inicial o iteración cero.
Básica x1 x2 S3 R1 h2 R3 sol.
R1 1 1 0 1 0 0 5
h2 1 0 0 0 1 0 3
R3 1 3 -1 0 0 1 12
Z -5 -1 0 -M 0 -M 0

Tabla Corregida. 1º iteración


Básica x1 x2 S3 R1 h2 R3 sol.
R1 1 1 0 1 0 0 5
h2 1 0 0 0 1 0 3
R3 1 3 -1 0 0 1 12
Z -5 + 2M -1 + 4M -M 0 0 0 17M

2ª iteración. Si M = 100, entonces variable entrante x2 y saliente R3

Básica x1 x2 S3 R1 h2 R3 sol.
R1 0.667 0 0.333 1 0 -0.333 1
h2 1 0 0 0 1 0 3
x2 0.333 1 -0.333 0 0 0.333 4
Z -14/3 + 2/3 M 0 -1/3 + 1/3 M 0 0 1/3 -4/3 M 4 +M

2ª iteración. Si M = 100, entonces variable entrante x1 y saliente R1


Básica x1 x2 S3 R1 h2 R3 sol.
x1 1 0 0.5 1.5 0 -0.5 1.5
h2 0 0 -0.5 -1.5 1 0.5 1.5
x2 0 1 -0.5 -0.5 0 0.5 3.5
Z 0 0 2 7-M 0 -2 -M 11

63
Capítulo 4 Texto Guía - Sistemas de Ingeniería
3ª iteración. Si M = 100, entonces variable entrante S3 y saliente x1
Básica x1 x2 S3 R1 h2 R3 sol.
S3 2 0 1 3 0 -1 3
h2 1 0 0 0 1 0 3
x2 1 1 0 1 0 0 5
Z -4 0 0 1-M 0 -M 5

Tabla óptima.
En la solución óptima hallada se puede notar que las variables artificiales han
desaparecido de la base convirtiéndose en no básicas. En la función objetivo desaparece
también el valor de M; por tanto el problema tiene solución óptima factible y es la que
aparece en la última tabla.
4.5.2 Método de las dos fases
El método de las M, desde un punto de vista computacional, puede arrastrar errores de
redondeo, debido a que maneja un valor grande M que debe ser introducido al computador
y que participa en las operaciones de cálculo. Este error puede ser propagado, haciendo que
la solución verdadera se distorsione. El método de las dos fases, trabaja también con
variables artificiales y no considera la introducción de un valor M; es por eso que
computacionalmente resulta más eficiente. Las características de este método son:
FASE 1
 Se formula en la forma estándar añadiendo variables de holgura a las
restricciones del tipo menor o igual; variables artificiales a las restricciones de
igualdad y variables superfluas y artificiales a las restricciones de mayor o
igual.
 En la función objetivo las variables de holgura y superfluas tienen coeficientes
de cero, sin embargo las variables artificiales tienen un coeficiente de uno. Si
el problema tiene una solución factible, las variables artificiales deben ser
cero en la tabla final, esto quiere decir que deben volverse no básicas.
 Se construye una función objetivo (Min) adicional (r) que solo tome en cuenta
a las variables artificiales.
 Las variables básicas iniciales que corresponden a la tabla inicial o iteración
cero deben incluir a las variables (ya que como se vera sus columnas forman
parte de la matriz identidad), pero sus coeficientes en la función objetivo no
son cero sino uno; estos coeficientes deben ser transformados en cero
operando con las filas que incluyen a estas variables y que al final deben
sumarse al renglón de r. (Nuevo renglón r = Renglón anterior + Coef. de f.o.
de R1,..,n * renglón de R1,.., n.)
 Obtenida la tabla corregida en la función objetivo, se procede a iterar
siguiendo los pasos del símplex hasta llegar a que la función objetivo sea cero
(si el problema tiene solución factible; caso contrario no tiene solución
factible y termina el proceso). Esto garantiza que las variables artificiales sean
cero y desaparezcan de la base.

64
Capítulo 4 Texto Guía - Sistemas de Ingeniería
FASE 2
 Se toma en cuenta la ultima tabla de la FASE 1 (se pueden eliminar las
columnas que corresponden a las variables artificiales ya que estas se habrán
hecho cero) y se introducen los valores originales de la función objetivo. Se
presentara el problema de que las variables básicas finales no tienen
coeficiente cero en la función objetivo, esto se corrige con operaciones
elementales de fila.
 Se verifica la optimidad viendo si todos los coeficientes de la función objetivo
son mayores o iguales que cero (caso Max); si esto no procede a iterar con los
pasos del símplex hasta encontrar el óptimo.
Ejemplo de aplicación 4.4
Un alumno que repite la materia de sistemas de ingeniería acude al psiquiatra y este
le informa que su falta de entusiasmo se debe a un déficit de tiamina y niacín
prescribiéndole un mínimo de 1 mg. y 10 mg. diarios, respectivamente. El doctor le sugiere
que obtenga la mitad de la dosis mediante un desayuno a base de cereales. El alumno, que
no cuenta con demasiados recursos económicos, trata de hacer mínimo el costo de las
vitaminas. Una vez en el supermercado, se informa acerca de los dos únicos desayunos que
le agradan: A y B.
Costo por Onza
Cereal Tiamina por Onza Niacín por Onza
A 0.12 mg. 0.60 mg. Bs. 14
B 0.13 mg. 1.59 mg. Bs. 24
Determinar la mezcla a realizar para que el costo sea mínimo y asegure la mitad de
la dosis de vitaminas prescritas por el psiquiatra.
Sea: x1 = Cereal A por onza
x2 = Cereal B por onza
Función objetivo: Min Z = 14x1 + 24x2
Restricciones:
0.12x1 + 0.13x2 ≥ 1 (1)
0.60x1 + 1.59x2 ≥ 10 (2)
x1 , x2 ≥ 0
Estandarizando:
Min Z = 14x1 + 24x2 + 0S1 + 0S2
Restricciones:
0.12x1 + 0.13x2 – S1 = 1
0.60x1 + 1.59x2 – S2 = 10
x1, x2, S1, S2 ≥ 0
FASE I.
min r = R1 + R2
Sujeto a:

0.12 x1 + 0.13 x 2 − S1 + R1 = 1 
 m=2
0.60 x1 + 1.59 x 2 − S 2 + R2 = 10
x 1 , x 2 , S1 , S 2 , R 1 , R 2 ≥ 0} n=6

65
Capítulo 4 Texto Guía - Sistemas de Ingeniería
n – m = 6 – 2 = 4 variables no básicas
m = 2 variables básicas
Entonces: x1 = x2 = S1 = S2 = 0 variables no básicas
y por lo tanto R1 = 1 y R2 = 10 variables básicas
Observe que a las restricciones de mayor o igual se añade una variable artificial R1 y
R2 respectivamente
Tabla inicial o iteración cero.
solució
Básica x1 x2 S1 S2 R1 R1
n
R1 0.12 0.13 -1 0 1 0 1
R2 0.6 1.59 0 -1 0 1 10
r 0 0 0 0 -1 -1 0
Tabla Corregida o 1º Iteración.
El nuevo valor del renglón r se halla de la siguiente manera:
Nuevo renglón r = Renglón anterior + Coef. de f.o. de R1,..,n * renglón de R1,.., n.
O sea:
Nuevo renglón r = Renglón anterior + [(1* renglón de R1) + (1* renglón de R2)]
Razón
solució
Básica x1 x2 S1 S2 R1 R1 Sol./Coef Var
n entrante
R1 0.12 0.13 -1 0 1 0 1 7.69
R2 0.6 1.59 0 -1 0 1 10 6.29
r 0.72 1.72 -1 -1 0 0 11
El nuevo renglón r se usa para resolver la FASE I del problema.
2º Iteración. Variable entrante x2 y la variable saliente R2.
Razón
solució
Básica x1 x2 S1 S2 R1 R1 Sol./Coef Var
n entrante
R1 0.07 0 -1 0.08 1 -0.08 0.18 2.23
x2 0.38 1 0 -0.63 0 0.63 6.29 -10.00
r 0.07 0 -1 0.08 0 -1.08 0.18
3º Iteración. Variable entrante S2 y la variable saliente R1.
solució
Básica x1 x2 S1 S2 R1 R1
n
S2 0.87 0 -12.23 1 12.23 -1 2.23
x2 0.92 1 -7.69 0 7.69 0 7.69
r 0 0 0 0 -1 -1 0
Como mínimo de r = 0, la FASE I produce la solución básica factible S2 = 2.23, x2 =
7.69. Llegado a este punto, las variables artificiales ya cumplieron su misión y se pueden
eliminar de la tabla las columnas, por completo y pasar a la FASE II.

66
Capítulo 4 Texto Guía - Sistemas de Ingeniería
FASE II. Después de eliminar las columnas artificiales, el problema original se escribe así:
Min Z = 14x1 + 24x2
Restricciones:
0.87x1 – 12.23S1 + S2 = 2.23
0.92x1 + x2 – 7.69S1 = 7.69
x1, x2, S1, S2 ≥ 0
En esencia, la FASE I es un procedimiento que transforma las ecuaciones originales
de restricción en tal forma que se obtiene una solución factible básica de inicio para el
problema. La tabla asociada con la FASE II del problema es por consiguiente:
soluci
Básica x1 x2 S1 S2
ón
S2 0.87 0 -12.23 1 2.23
x2 0.92 1 -7.69 0 7.69
Z -14 -24 0 0 0
De nuevo, como las variables básicas S2 y x2 tiene coeficiente no cero en el renglón
de z, deben sustituirse y eliminarse con los siguientes cálculos:
Nuevo renglón Z = Renglón anterior - Coef. de f.o. de var. básicas * renglón de var.
básicas.
O sea:
Nuevo renglón Z = Renglón anterior - [(0* renglón de S2) + (– 24 * renglón de x2)]

La tabla inicial de la FASE II resulta entonces:


4º Iteración.
Razón
Básica x1 x2 S1 S2 solución Sol./Coef Var
entrante
S2 0.87 0 -12.23 1 2.23 2.57
x2 0.92 1 -7.69 0 7.69 8.33
Z 8.15 0 -184.62 0 184.62
5º Iteración. Variable entrante x1 y la variable saliente S2.
Básica x1 x2 S1 S2 solución
x1 1 0 -14.10 1.15 2.57
x2 0 1 5.32 -1.06 5.32
Z 0 0 -69.68 -9.40 163.65

Tabla óptima
La salida de las columnas de las variables artificiales al terminar la FASE I solo se
hacen cuando toda ellas sean no básicas (como ilustra el ejemplo). Sin embargo, es posible
que las variables artificiales sigan siendo básicas pero a nivel cero al final de la FASE I. En
ese caso, esas variables formaran por necesidad, parte de la solución básica de inicio por
FASE II.

67
Capítulo 4 Texto Guía - Sistemas de Ingeniería
En consecuencia, se debe modificar los cálculos en la FASE II para asegurar que
una variable artificial que nunca se haga positiva durante las iteraciones en esa FASE II.
Las reglas para garantizar que una variable artificial que es cero al final de la FASE
I nunca se vuelva positiva durante la FASE II, son las siguientes:
 Si en la columna pivote el coeficiente de restricción correspondiente a la
variable básica artificial es positivo, definirá al número pivote en forma
automática (por que corresponde a la razón mínima de cero), y como se
busca, la variable artificial se vuelve no básica en la siguiente iteración.
 Si el elemento de la columna pivote es cero, la siguiente iteración dejara la
variable artificial inalterada, en el nivel cero.
 Si el elemento de la columna pivote es negativo, la razón mínima no se
asociara con la variable artificial básica (0). En este caso, si la razón mínima
resultante resulta ser positiva, la variable artificial asumirá un valor positivo
en la siguiente iteración (¿Se da usted cuenta porque?) y se necesitara evitar
que eso suceda. Para hacerlo, se obliga a la variable artificial a salir de la
solución de cualquier modo. Si se observa que la variable artificial esta en el
nivel cero, la eliminación de la solución básica no afectara la factibilidad de
las variables básicas restantes.
Resumiendo, la regla de la FASE II indica obligar a la variable artificial a salir de la
solución básica en cualquier momento en que su coeficiente de restricción en la columna de
pivote sea positiva o negativa, de hecho, esta regla se puede aplicar al final de la FASE I,
para eliminar las variables artificiales cero de la solución básica, antes de siquiera comenzar
en la FASE II
4.6 Fundamentos matemáticos
Formalizaremos los conceptos vertidos en la sección anterior, para fijar ideas
utilizaremos esta información para elaborar la tabla símplex general en forma matricial.
Con esto daremos paso al modelo símplex revisado.
Forma típica:
Optimizar z = CX
Sujeto a:
(AI)X = b
X≥0
Con I matriz identidad de dimensión m,
X = (x1, x2, ... , xn)T, C =(c1, c2, ... ,cn), b = (b1, b2, ..., bm)T

La matriz A:
a11 a12 ... a1,n-m
a21 a22 ... a2,n-m
... ... ... ...
am1 am2 ... am,n-m

68
Capítulo 4 Texto Guía - Sistemas de Ingeniería
4.6.1 Soluciones básicas y bases
Algebraicamente un punto extremo del espacio factible está asociado a una solución
básica de la ecuación matricial (AI)X = b. Como el sistema tiene “m” ecuaciones escalares
y “n” incógnitas, se obtiene una solución básica haciendo “n-m” variables iguales a 0 y
resolviendo las “m” ecuaciones con “n” incógnitas.
Sea:
(AI)X = Σ j=1,nPjxj
Los vectores independientes correspondientes a “m” vectores columnas Pj de (AI)
corresponde a una solución básica de (AI)X = b. En este caso los “m” vectores escogidos
forman una base cuya matriz cuadrada es no singular.
4.6.2 Método Símplex
La idea general del método Símplex es comenzar en un punto extremo y desplazarse
hacia un punto extremo adyacente con el objeto de mejorar el valor de la función objetivo,
manteniendo la factibilidad. La manera más sencilla de seleccionar un punto extremo
inicial es usar la base B constituida por variables de holgura y/o artificiales. De esta forma
la base B inicial es la matriz identidad I que obviamente es una base. Los puntos extremos
adyacentes se determinan intercambiando un vector de B con un vector no básico que
moverá la solución hacia la optimalidad.
4.6.2.1 Tabla Símplex en forma matricial 1
Expresemos el programa lineal en forma matricial:
Max z = CX
Sujeto a: (AI)X = b
X≥0
Subdividamos el vector X en XI y XII, entonces el problema estándar se puede
escribir de la siguiente manera: (I)
1 -CI -CII z = 0
0 A I XI = b
XII = 0
En una iteración cualquiera, sea XB La representación de las variables básicas y B
su base asociada, entonces XB representa a “m” elementos de X y B representa los vectores
de (AI) correspondientes a XB, y sea CB el vector de elementos de C asociado a XB.
Entonces:
B XB = b y z = CBXB
O bien:
1 -CB Z = 0
0 B XB b

1
Para las operaciones matriciales ver ANEXO A

69
Capítulo 4 Texto Guía - Sistemas de Ingeniería
La solución se puede expresar:
z = 1 CBB-1 0 = CBB-1b
XB 0 B-1 b B-1b
Por lo tanto, aplicando este resultado, premultiplicando a (I) se obtiene
1 CBB-1 1 -CI -CII Z CBB-1b
-1
0 B 0 A I XI = B-1b
XII
Esta ecuación matricial se resuelve mediante la iteración símplex general (II):
Básica XI XII Solución
z CBB-1A-CI CBB-1-CII CBB-1b
XB B-1A B-1 B-1b
Esta tabla muestra los detalles del cálculo del método símplex, es decir, si se conoce
B se puede encontrar en cada paso B-1, por lo tanto XB y z.
Por ejemplo consideremos el método símplex con variables de holgura, en este caso,
CII = 0 la solución básica inicial se identifica como:
XB = XII, CB = CII = 0, B = I, B-1 = I
Sustituyendo en (II) se obtiene el método símplex general con variables de holgura
(III):
Básica XI XII Solución
z -CI 0
XB A I b
Si utilizamos símplex con variables artificiales (variables utilizadas como variables
de holgura para las restricciones que no cumplen la forma estándar). En este caso CII = (-
M,-M,..., -M) (coeficientes de penalización para la función objetivo). La solución básica
inicial se puede expresar como:
XB = XII, CB = CII, B = I, B-1 = I
Sustituyendo en (II) se obtiene el método símplex general con variables artificiales
y de holgura (IV):
Básica XI XII Solución
z CIIA-CI 0 CIIb
XII A I b

70
Capítulo 4 Texto Guía - Sistemas de Ingeniería

4.7 Método Símplex revisado


La tabla del método símplex queda determinada por la Matriz B y B-1 por lo que las
iteraciones símplex pueden diferir en la forma en que se calcule B-1, esto sugiere ventajas
desde el punto de vista del cálculo numérico:
 En problemas grandes de PL, las operaciones de Gauss Jordan conduce a
acumulación de errores de redondeo, en el símplex revisado se utiliza sólo la
información de B y los datos originales, por lo que se controla el error de
redondeo sólo en el cálculo de B-1.
 La naturaleza de las operaciones del método símplex, indica que no es
necesario calcular todos lo elementos de la tabla.
El método se basa en un procedimiento del álgebra matricial para calcular la inversa
de una nueva base a partir de la inversa de otra base, siempre que las dos bases difieran sólo
en un vector columna. Este procedimiento se ajusta muy bien a los cálculos del método
símplex ya que las bases sucesivas difieren exactamente en una columna como resultado
del intercambio de los vectores entrante y saliente.
Sea: Imxm = (e1, e2,…, em)
1 0 . . . . 0 0 
 
 0 1.... 0 0 
 . ...... . . 
I mxm = 
 ...... . 
 0 0.... 1 0 
 
 0 0..... 0 1 
 
Una matriz identidad, donde ei es el i-ésimo vector unitario, i = 1,…., m. Sea Pr el
vector de salida de la base y Pj el vector de entrada en la nueva base. Entonces, la siguiente
relación asocia a B-1 y Bsig-1
Bsig-1 = EB-1
Donde:
E = (e1, e2,…, er-1, ξ, er+1, ...em)
Con
α ij 1
ξ = (..., − j ,…) excepto en el lugar r el elemento es
αr α rj
y
αj = B-1Pj
si α rj = 0 Bsig-1 no existe.

71
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Paso 1: Determinación del vector entrante Pj
Calcular Y = CBB-1 para calcular zj - cj = YPj- cj donde Pj es cada vector no básico,
se selecciona el vector entrante Pj con el zj - cj más negativo (positivo) para maximización
(para minimización), el empate se rompe en forma arbitraria, si todos los zj - cj son ≥ 0 (≤ 0)
se obtiene la solución óptima:
Z = CBXB, XB = B-1b
Paso 2: Determinación del vector saliente Pr
 Dado el vector entrante Pj calcular: Los valores de las variables básicas XB =
B-1b
 Los coeficientes de las restricciones que determinan las variables entrantes:
α j = B-1Pj
El vector saliente Pr debe estar asociado a:
( B −1b) k
θ = mink { , con α kj > 0 }
α kj
Donde (B-1b)k es el elemento k de B-1b y α kj es el elemento k de α j
si no se
encuentra un α kj > 0, el problema no tiene solución acotada.
Paso 3: Determinación de la base siguiente:
Dada la base B, calcular la base siguiente:
Bsig-1 = EB-1
Ejemplo de aplicación 4.5
Maximizar Z = 4x1 + 3x2+ 6x3
sujeta a:
3x1 + 1x2+ 3x3 ≤ 30 (1)
2x1 + 2x2+ 3x3 ≤ 40 (2)
x1, x2, x3 ≥ 0
Estandarizando:
Maximizar Z = 4x1 + 3x2+ 6x3 + 0h1 + 0h2
sujeta a:
3x1 + 1x2+ 3x3 + h1 = 30
2x1 + 2x2+ 3x3 + h2 = 40
x1, x2, x3, h1, h2 ≥ 0

72
Capítulo 4 Texto Guía - Sistemas de Ingeniería

 x1 
 
 3 1 3 1 0  x 2 
    30 
 2 2 3 01 x3  =  
   
40 
 A B  h 
4
  b

h5 
X
C = (4,3,6,0,0); XB = (h4, h5); CB = (0,0); B = (P4, P5) = I
1 0 
B-1 = I =  
 0 1
1ª iteración
Paso 1. Determinación del vector entrante Pj
1 0 
Y = CBB-1 = (0,0)I = (0,0)   = (0,0)
 0 1
Calculamos zj - cj = YPj- cj
 3 1 3
Y(P1,P2,P3) - (c1,c2,c3) = (0,0) 
 2 2 3  - (4,3,6) = (-4,-3,-6)
 
Selecciona el vector entrante Pj con el zj - cj más negativo por ser maximización,
entonces: El vector entrante es P3.
Paso 2. Determinación del vector saliente
P3 ingresa a la base
1 0  30   30 
XB = B-1b = Ib =    =   = (30,40)T
 0 1  40   40 
 α 43   3
α =  3  = B-1P3 = IP3 = P3 =   = (3,3)T
3
α   3
 5
( B −1b) k ( B −1b) 4 ( B −1b) 5 30 40 30
θ = min { } ={ ; } ={ ; } = = 10
αk 3
α4 3
α5 3
3 3 3
El vector saliente es P4.
Paso 3 Determinación de la base siguiente:
α ij 1
ξ = (..., − j ,…) excepto en el lugar r el elemento es
αr α rj
1 α 53
ξ = ( j ,− 3 )
α4 α4
1 3
ξ = ( ;− )
3 3

73
Capítulo 4 Texto Guía - Sistemas de Ingeniería
E = (e1, e2,..., er-1, ξ, er+1, ...em) =
1 
 0
E = 3 
−1 1 
 
Luego:
1 
 0
Bsig-1 = EB = E =  3
-1

−1 1 
 
La nueva solución básica es:
1 
 0  30  10 
 40  = 10  = (10,10)
-1 T
XB = (x3, h5) = B b =  3
    
−1 1 
XB = (10,10)T
Básica XI XII Solución
Z CBB-1A-CI CBB-1-CII CBB-1b
XB B-1A B-1 B-1b

1ª iteración

Básica x1 x2 x3 h4 h5 Solución
z 2 -1 0 2 0 60
x3 1 1/3 1 1/3 0 10
h5 -1 1 0 -1 1 10

2ª iteración
1 

-1 0
C = (4,3,6,0,0); XB = (x3, h5); CB = (6,0); B = 3 
−1 1 
 
Paso 1. Determinación del vector entrante Pj
1 
 -10
Y = CBB = (6,0)  3  = (2,0)
−1 1 
 
Calculamos zj - cj = YPj- cj
3 1 1 
Y(P1,P2,P4) - (c1,c2,c4) = (2,0) 
 2 2 0
 - (4,3,0) = (-1,-2,0)
 
Selecciona el vector entrante Pj con el zj - cj más negativo para maximización,
entonces: El vector entrante es P2.

74
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Paso 2. Determinación del vector saliente
P2 ingresa a la base
1 
 0   30  10 
  40  = 10  = (10,10)
-1 T
XB = B b =  3
−1 1     
 

 α 32  1  1
 0  1    1
α =  2  = B P2 =  3
2 -1
   =  3  = ( ,1)T
α   − 1 1   2  1  3
 5    
( B −1b) k ( B −1b) 4 ( B −1b) 5 10 10
θ = min { } ={ ; } = { ; } = {30;10} = 10
α kj α4 3
α5 3
1 1
3
El vector saliente es P5.
Paso 3 Determinación de la base siguiente:
α ij 1
ξ = (..., − ,…) excepto en el lugar r el elemento es
α rj α rj
α 32 1
ξ = (− , )
α 52 α 52
1
ξ = ( − ;1 )
3
E = (e1, e2,...,er-1, ξ, er+1, ...em) =
 1
1 - 
E = 3
0
 1 

Luego:
 1 1  2 1
1 -   0  - 
Bsig-1 -1
= EB =  3  3 =  3 3
0
 1   − 1 1   − 1 1 
   

La nueva solución Básica es:


2 1  20 
 -  30    20
3   =  3  = ( ,10)
-1 T
XB = (x3, x2) = B b =  3
 − 1 1   10 
40 3
   
20
XB = ( ,10)T
3

75
Capítulo 4 Texto Guía - Sistemas de Ingeniería

Básica XI XII Solución

z CBB-1A-CI CBB-1-CII CBB-1b

XB B-1A B-1 B-1b

2ª iteración
Básica x1 x2 x3 h4 h5 Solución

z 1 0 0 1 1 70

4 2 1 20
x3 0 1 −
3 3 3 3
x2 -1 1 0 -1 1 10
3ª iteración
2 1
-1  - 
C = (4,3,6,0,0); XB = (x3, x2); CB = (6,3); B = 3 3
−1 1 
 

Paso 1. Determinación del vector entrante Pj


2 1
-1  - 
Y = CBB = (6,3)  3 3  = (1,1)
−1 1 
 
Calculamos zj - cj = YPj- cj
Y
3 1 0 
(P1,P4,P5) - (c1,c4,c5) = (1,1) 
 2 0 1  - (4,0,0) = (1,1,1)
 
Como el vector entrante Pj con el zj - cj ≥ 0; para maximización, entonces la
iteración dos es óptimo con:
20
x1= 0, x2 =10, x3 = , h1 = 0 y h2 = 0
3
Zóptimo = 70

76
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Ejemplo de aplicación 4.6
Dada la tabla óptima del símplex
Básica x1 x2 S1 S2 S3 Solución

z 0 0 3 2 0 ?
8 3
x2 0 1 1 − 1 0 3
2 3 4
x1 1 0 − 1 3 0 2
8 8 3
S3 0 0 1 −2 1 3

Hallar
a) El máximo valor de Z
b) Las ecuaciones originales.
Utilizando la tabla Símplex en forma matricial
Básica XI XII Solución
z CBB-1A-CI CBB-1-CII CBB-1b
XB B-1A B-1 B-1b
Tenemos:
1 - 1 0 3 
 2 3  0 1   4
B = - 1 3
−1
 8 8
0 ;

B A = 1 0 ;
−1
B b = 2  ,
−1
 3
[8
C B B -1-C II = 3 2
3
0 ]
1 -2 1 0 0   3
   
Obtención de los coeficientes de las restricciones
 1 -1 0
 2 3  0 1  a11 a 12 
- 1 3 0 A = 1 0 = a 21 a 22 

 8 8 
 1 -2 1 0 0  a31 a 32 
 
Resolviendo el sistema de ecuaciones tenemos:
a11 a 12  2.28 2.57 
A = a 21 a 22  = 3.43 0.86 
a31 a 32  4.57 -0.86 
Determinación de los valores del lado derecho de las restricciones
 1 -1 0 3 
 2 3   4
- 1 3 0 b =  2 
 8 8   3
 1 -2 1  3
   

77
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Resolviendo el sistema de ecuaciones tenemos:
3.45
b = 2.93
5.41
Determinación de los coeficientes de la función objetivo
 1 -1 0
 2 3 
[c2 c1 c3 ]- 1
 8
3
8
0  -[c3

c4 [8
c5 ] = 3 2
3
0 ]
 1 -2 1
 
 1 -1 0
 2 3 
[c2 c1 0]- 1
 8
3
8
0  -[0

0 [8
0] = 3 2
3
0 ]
 1 -2 1
 
Resolviendo las operaciones matriciales tenemos:
c = 1.54
CB  2
 c1 = 3.14
Para la hallar la solución óptima se utiliza la siguiente ecuación:
 1 -1 0
 2 3  3.45
C B B -1b = [3.14 1.54 0] - 1
 3 0  2.93 = 3.38
 8 8 
 1 -2 1 5.41
 
Las ecuaciones originales son:
Maximizar Z = 3.14 x1 + 1.54 x2
Sujeta a:
2.28 x1 + 2.57 x2 ≤ 3.45
3.43 x1 + 0.86 x2 ≤ 2.93
4.57 x1 – 0.86 x2 ≤ 5.41

78
Capítulo 4 Texto Guía - Sistemas de Ingeniería

4.8 Casos especiales de la aplicación del Método Símplex.


En esta sección se examinarán cuatro casos especiales que se presentan al aplicar el
método símplex.
 Degeneración
 Óptimos Alternativas.
 Soluciones no acotadas.
 Soluciones inexistentes (o no factibles).
El interés de estudiar esos casos especiales es doble: 1) presentar una explicación
teórica de esos casos, y 2) presentar una interpretación práctica de lo que pudieran
significar esos resultados especiales en un problema de la vida real.
4.8.1 Degeneración
Al aplicar la condición de factibilidad del método símplex, se puede romper un
empate en la razón mínima en forma arbitraria. Cuando se presenta un empate, al menos
una variable básica será cero en la siguiente iteración, y se dice que la nueva solución es
degenerada.
No hay que alarmarse al manejar una solución degenerada, a excepción de una
pequeña incomodidad teórica de ciclado, que describiremos en breve. Desde el punto de
vista práctico, la condición indica que el modelo tiene al menos una restricción redundante.
Para poder presentar mejor perspectiva de los impactos prácticos y teóricos de la
degeneración presentaremos un ejemplo numérico, que resolveremos en forma algebraica y
gráfica.
Ejemplo de aplicación 4.7 (Solución óptima degenerada)
Maximizar z = 3x1 + 2x2
sujeta a:
4x1 − x2 ≤8
4x1 + 3x2 ≤ 12
4x1 + x2 ≤ 8
x1 ,x2 ≥ 0
Estandarizando:
Maximizar z = 3x1 + 2x2 + 0h1 + 0h2 + 0h3
sujeta a:
4x1 − x2 + h1 ≤8
4x1 + 3x2 + h2 ≤ 12
4x1 + x2 + h3 ≤ 8
x1 ,x2 ,h1 ,h2 ,h3 ≥ 0

79
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Iteración Básica x1 x2 h1 h2 h3 Solución razón
0 h1 4 -1 1 0 0 8 2
h2 4 3 0 1 0 12 3
entra x1 h3 4 1 0 0 1 8 2
sale h1 Z -3 -2 0 0 0 0

Iteración Básica x1 x2 h1 h2 h3 Solución razón


1 x1 1 -0.25 0.25 0 0 2 -8
h2 0 4 -1 1 0 4 1
entra x2 h3 0 2 -1 0 1 0 0
sale h3 Z 0 -2.75 0.75 0 0 6

Iteración Básica x1 x2 h1 h2 h3 Solución razón


2 x1 1 0 0.13 0 0.13 2 16
h2 0 0 1 1 -2.00 4 4
entra h1 x2 0 1 -0.50 0 0.50 0 0
sale h2 Z 0 0 -0.63 0 1.38 6

Iteración Básica x1 x2 h1 h2 h3 Solución


3 x1 1 0 0 -0.13 0.38 1.5
h1 0 0 1 1 -2 4
optimo x2 0 1 0 0.5 -0.5 2
Z 0 0 0 0.63 0.13 8.5

En la iteración de inicio empatan h1 y h3 como variable de salida. Es la razón por la


que la variable básica de salida h3 es cero en la iteración 1, y se obtiene así una solución
básica degenerada. Se alcanza el óptimo después de una iteración más.
¿Qué implica la degeneración en la práctica? Véase la figura 4.1, que se muestra la
solución gráfica del modelo.

Pasan dos líneas por el punto óptimo (x1 = 1.5, x2 = 2). Como este es problema
bidimensional, esta sobredeterminado y una de las restricciones es redundante.
En la práctica, el sólo conocer que algunos de los recursos son superfluos puede ser
valioso durante la implementación de la solución. Esta información también puede conducir
a descubrir irregularidades en la construcción del modelo. Desafortunadamente no hay
técnicas fiables para identificar las restricciones redundantes en forma directa a partir de la
tabla.

80
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Desde el punto de vista teórico, la degeneración tiene dos implicaciones. La primera
es el fenómeno de ciclos o círculos. Al ver las iteraciones símplex 1 y 2, el lector notara que
el valor objetivo no mejora (z = 6). Por consiguiente, es posible que el procedimiento
símplex repita una serie de iteraciones sin mejorar el valor objetivo, y nunca terminar los
cálculos. Aunque hay métodos para eliminar los ciclos, estos conducen a retardos drásticos
en los cálculos. Por esta razón, la mayor parte de los programas informáticos para
programación lineal no prevén los ciclos, basados en el hecho que rara vez suceden en la
práctica.
El segundo aspecto teórico surge al examinar las iteraciones 1 y 2. Las dos, aunque
difieren en la clasificación de las variables en básica y no básica, producen valores
idénticos para todas las variables y el objetivo, que son:
x1 = 2, x2 = 0, h1= 0, h2 = 4, h3 = 0 y z = 6
Entonces, ¿es posible detener los cálculos en la iteración 1 (cuando aparece la
degeneración por primera vez) aun cuando no sea óptima? La respuesta es no, porque la
solución puede ser temporalmente degenerada, lo cual nos da que la iteración 3ª es la
óptima.
x1 = 1.5, x2 = 2, h1= 4, h2 = 0, h3 = 0 y z = 8.5

4.8.2 Óptimos alternativos


Cuando la función objetivo es paralela a un restricción obligatoria (es decir, una
restricción que se satisface como ecuación en la solución óptima), la función objetivo
asumirá el mismo valor óptimo, que se llama óptimos alternativos, en más de un punto de
solución. El siguiente ejemplo muestra que hay una cantidad infinita de esas soluciones.
También demuestra un significado práctico de encontrar óptimos alternativos.
Ejemplo de aplicación 4.8 (Infinidad de soluciones)
Maximizar z = 4x1 + 8x2
sujeta a:
2x1 +4x2 ≤ 10
2x1 +2x2 ≤ 8
x1 ,x2 ≥0
La figura 4.2 muestra como pueden presentarse óptimos alternativos en el modelo
de programación lineal cuando la función objetivo es paralela a una restricción obligatoria.
Todo punto del segmento de recta BC representa un óptimo alternativo con el mismo valor
objetivo z = 20.

81
Capítulo 4 Texto Guía - Sistemas de Ingeniería

Estandarizando:
Maximizar z = 4x1 + 8x2+ 0h1 + 0h2 + 0h3
sujeta a:
2x1 +4x2 + h1 ≤ 10
2x1 +2x2 + h2 ≤ 8
x1 ,x2 ,h1 ,h2 ≥ 0
La siguiente tabla muestra las iteraciones del modelo.
Iteración Básica x1 x2 h1 h2 Solución razón
0 h1 2 4 1 0 10 2.5
entra x2 h2 2 2 0 1 8 4
sale h1 Z -4 -8 0 0 0

Iteración Básica x1 x2 h1 h2 Solución razón


1 x2 0.5 1 0.25 0 2.5 5
entra x1 h2 1 0 -0.5 1 3 3
sale h2 Z 0 0 2 0 20

Iteración Básica x1 x2 h1 h2 Solución


2 x2 0 1 0.5 -0.5 1
tabla x1 1 0 -0.5 1 3
óptima Z 0 0 2 0 20

La iteración 1 llega al óptimo x1 = 0, x2 = 2.5 y Z = 20, que coincide con el punto B


de la figura 4.2. ¿Cómo saber en esta iteración que existen óptimos alternativos? Examine
los coeficientes de las variables nos básicas, en la ecuación z de la iteración 1. El
coeficiente de x1 no básica es cero, lo que indica que x1 puede entrar en la solución sin
cambiar el valor de z, pero causando un cambio en los valores de las variables. Eso es justo
lo que hace la iteración 2: dejar que x1 entre a la solución básica, con lo que se obliga a que
salga h2. Esto da como resultado un nuevo punto de solución en C (x1 = 3, x2 = 1, Z =10).
El método símplex solo determina los dos puntos de esquina, B y C. Se pueden
determinar matemáticamente todos los puntos (x1, x2) en el segmento de recta BC como
promedio ponderado no negativo de los puntos B y C. Así, dado 0 ≤ α ≥ 1 y que
B: x1 = 0, x2 = 2.5
C: x1 = 3, x2 = 1

82
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Todos los puntos del segmento de recta BC se expresan con
x1 = α (0) + (1 – α )(3) = 3 – 3α
x2 = α (2.5) + (1 – α )(1) = 1 + 1.5α
En la práctica, los óptimos alternativos son útiles porque permiten escoger entre
muchas soluciones sin que se deteriore el valor objetivo. Por ejemplo, en este caso, la
solución en B indica que solo la actividad 2 esta en un nivel positivo, mientras que en C
ambas actividades son positivas. Si el ejemplo representa un caso de mezcla de productos,
podría ser benéfico, desde el punto de vista de competencia en ventas, fabricar dos
productos en lugar de uno. En este caso, la solución C puede ser más atractiva
4.8.3 Solución no acotada
En algunos modelos de programación lineal, los valores de las variables pueden
aumentar en forma indefinida sin violar alguna de las restricciones, y eso significa que el
espacio de soluciones es no acotado al menos en una dirección. El resultado es que el valor
objetivo puede aumentar (en caso de maximización) o disminuir (si se trata de
minimización) en forma indefinida. En ese caso, tanto el espacio de soluciones como el
valor óptimo objetivo no están acotados.
La no acotación apunta hacia la posibilidad de que le modelo este mal construido.
Las irregularidades más probables es esos modelos son que no se hayan tomado en
cuenta una o más restricciones redundantes, y que los parámetros (constantes) de algunas
restricciones puedan no haberse estimado en forma correcta.
El siguiente ejemplo muestra como se puede reconocer la no acotación, tanto del
espacio de soluciones como el valor objetivo, en la tabla símplex.
Ejemplo de aplicación 4.9 (Valor objetivo no acotado)
Maximizar Z = 4x1 + 2x2
sujeta a:
2x1 – 4x2 ≤ 20 (1)
4x1 + ≤ 80 (2)
x1 , x2 ≥ 0
Estandarizando:
Maximizar Z = 4x1 + 2x2
sujeta a:
2x1 – 4x2 + h1 ≤ 20
4x1 + h2 ≤ 80
x1, x2, h1, h2 ≥ 0
La siguiente tabla muestra las iteraciones del modelo.

83
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Iteración Básica x1 x2 h1 h2 Solución razón
0 h1 2 -2 1 0 20 10
entra x1 h2 4 0 0 1 80 20
sale h1 Z -4 -2 0 0 0

Iteración Básica x1 x2 h1 h2 Solución razón


1 x1 1 -1 0.5 0 10 -10
entra x2 h2 0 4 -2 1 40 10
sale h2 Z 0 -6 2 0 40

Iteración Básica x1 x2 h1 h2 Solución razón


2 x1 1 0 0 0.25 20 ∞
tabla no x2 0 1 -0.5 0.25 10 -20
acotada Z 0 0 -1 1.5 100

En la tabla de inicio tanto x1 como x2 son candidatos para entrar en la solución.


Como x1 tiene el coeficiente más negativo, se selecciona, normalmente, como la variable de
entrada. Sin embargo, todos los coeficientes de restricción bajo x2 son negativos o cero, y
eso indica que x2 puede aumentar en forma indefinida sin violar cualquiera de las
restricciones (compárese con la interpretación gráfica de la razón mínima, en la figura 4.3).
Como cada aumento de una unidad en x2 aumentara 1 a z, un aumento infinito de x2
también dará como resultado un aumento infinito en z. Así, el problema no tiene solución
acotada. Este resultado se puede ver en la figura 4.3. El espacio de soluciones no esta
acotado en la dirección de x2, y el valor de z puede aumentar en forma indefinida.
La regla para reconocer la no acotación es que si en cualquier iteración todos los
coeficientes de restricción de toda variable no básica son cero o negativos, entonces el
espacio de soluciones no esta acotado en esa dirección. Si además el coeficiente objetivo de
esa variable es negativo en caso de maximización, o positivo en caso de minimización,
entonces también el valor objetivo es no acotado.

84
Capítulo 4 Texto Guía - Sistemas de Ingeniería
4.8.4 Solución no factible
Los modelos de programación lineal con restricciones inconsistentes no tienen
solución factible. Estos casos nunca suceden si todas las restricciones son del tipo ≤
(suponiendo lados derechos no negativos), porque las holguras permiten tener una solución
factible. Para otros tipos de restricciones se usan variables artificiales. Aunque esas
variables artificiales se penalizan en la función objetivo, para obligarlas a ser cero en el
óptimo, eso sólo puede suceder si el modelo tiene un espacio factible. En caso contrario, al
menos una variable artificial será positiva en la iteración óptima.
Desde el punto de vista práctico, un espacio no factible indica la posibilidad de que
el modelo no esté bien formulado.
Ejemplo de aplicación 4.10 (Espacio de soluciones no factibles)
Maximizar Z = 9x1 + 6x2
sujeta a:
6x1 + 3 x2 ≤ 6 (1)
9x1 + 12x2 ≥ 36 (2)
x1 , x2 ≥ 0
Estandarizando:
Maximizar Z = 9x1 + 6x2 – MR1
sujeta a:
6x1 + 3x2 + h1 =6
9x1 + 12 x2 – S2 +R1 = 36
x1, x2, h1, S2, R1 ≥ 0
La siguiente tabla muestra las iteraciones del modelo.
Iteración Básica x1 x2 S2 h1 R1 Solución
0 h1 6 3 0 1 0 6
entra x1 R1 9 12 -1 0 1 36
sale h1 Z -9 -6 0 0 M 0
M = 100 entonces variable entrante x2
Iteración Básica x1 x2 S2 h1 R1 Solución razón
1 h1 6 3 0 1 0 6 2
entra x2 R1 9 12 -1 0 1 36 3
sale h1 Z -9 - 9M -6 - 12M M 0 0 -36M
M = 100 entonces variable entrante no existe
Iteración Básica x1 x2 S2 h1 R1 Solución
2 x2 2 1 0 0.33 0 2
tabla no R1 -15 0 -1 -4 1 12
acotada Z 3 + 15M 0 M 6 + 12M 0 12 - 12M

La iteración óptima indica que la variable artificial R1 es positiva (= 12), que


además indica que el problema es no factible. La figura 4.4 muestra el espacio de
soluciones no factibles. Al permitir que la variable artificial sea positiva, el método símplex
ha invertido, en esencia, la dirección de las desigualdades de 9x1 + 12x2 ≥ 36 a 9x1 +
12x2 ≤ 36 (¿Puede usted explicar como?). El resultado es lo que se puede llamar una
solución pseudo-óptima.

85
Capítulo 4 Texto Guía - Sistemas de Ingeniería

4.9 Solución por computadora


4.9.1 Iteraciones símplex con TORA
Con TORA se puede hacer todas las iteraciones símplex en el formato descritos en
la sección 4.4 y 4.5. Ingrese el modelo en forma acostumbrada. A continuación, en el menú
Solve/modify (resolver/modificar), seleccione Solve Problem => algebraic =>Iterations =>
Escoger el método (símplex, M, o dos fases) o All-slack starting solution
(resolver/algebraico/iteraciones/todas las holguras). A continuación, especifique la
exactitud que desee en el resultado y haga clic en Go To Output Screen (ir a la pantalla de
resultados).
La figura 4.5 muestra las iteraciones símplex generadas para el modelo del ejemplo
1 de la compañía que produce ladrillos. Puede usted generar una o todas las iteraciones,
haciendo clic en Next Iteration (iteración siguiente) o en All Iterations (Todas las
iteraciones). Si opta usted por generar las iteraciones una por una, podrá especificar las
variables de entrada y de salida haciendo clic en los encabezados de su columna y renglón
correspondiente. Si sus selecciones son correctas, la columna se vuelve verde y el renglón
se vuelve rojo. Si no aparecerá un mensaje de error. Esta clase de retroalimentación le debe
ayudar a concentrarse en comprender los conceptos básicos del método símplex, sin hacer
las tediosas operaciones de renglón de Gauss-Jordan.

86
Capítulo 4 Texto Guía - Sistemas de Ingeniería

Figura 4.5

4.9.2 Reportes del WinQSB


Parta del menú Inicio = > Programas = > WinQSB = > Linear and Integer
Programming.

87
Capítulo 4 Texto Guía - Sistemas de Ingeniería

Figura 4.6
Una vez hecha la selección de Linear and Integer Programming haga clic en new
Problem, y coloque los datos del problema (criterio de la función objetivo, formato de los
datos de entrada, número de variables y restricciones) y haga clic en OK

Figura 4.7
Proceda a ingresar los datos del problema de la siguiente manera:

Figura 4.8

88
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Una vez ingresados los datos del problema escoja una de los métodos para iniciar
las iteraciones del modelo de programación lineal en Solve and Analyse y haga clic en
Solve and Display Steps.
Y aparecerá la primera iteración, luego presione símplex Iteration = > Next
Iteration. Hasta hallar el óptimo. En la figura 4.9 se resuelve el ejemplo 4.3.

Figura 4.9

4.9.3 Solución de programa lineal con SOLVER de EXCEL


Para mostrar el uso de Excel en la preparación de los datos (la entrada) en un
formato a recuadro para Excel Solver se usa el modelo de la compañía de ladrillos. La parte
superior de la figura 4.10 muestra la distribución de la hoja de cálculo para el modelo.
Muestra 4 tipos de información: 1) celdas de datos (áreas sombreadas, B5:C8 y F6:F8). 2)
celdas que representan las variables y la función objetivo que se debe evaluar (celdas
regulares gruesas, B13:D13). 3) definición algebraica de la función objetivo y el lado
derecho de la restricciones (celdas rectangulares interrumpidas o punteadas, D5:D8), y 4)
celdas que solo contienen nombres o símbolos explicativos. Solver solo requiere los tres
primeros tipos. El cuarto tipo se usa principalmente para mejorar la legibilidad del modelo;
no tiene otro objeto. La posición relativa de las cuatros clases de información en la hoja de
cálculo no necesita pegarse a la distribución que se ve en la figura 4.10, por ejemplo, las
celdas que define la función objetivo y la variables no necesitan ser vecinas, ni deben

89
Capítulo 4 Texto Guía - Sistemas de Ingeniería
colgarse en la parte inferior del problema. Lo importante es que sepa donde están, para
Solver las pueda referenciar. Sin embargo, siempre se aconseja usar el formato que sugiere
la figura, porque mejora la legibilidad del modelo.

Figura 4.10
¿Cómo se vincula Solver con los datos de la hoja de cálculo? Primero, se dan
definiciones ”algebraicas” equivalentes de la función objetivo y del lado izquierdo de las
restricciones usando los datos (celdas sombreadas) y la función objetivo, así como las
variables (celdas rectangulares gruesas). A continuación se coloca las formulas resultantes
en celdas apropiadas del rectángulo de línea interrumpida. La tabla siguiente muestra las
funciones algebraicas, las formulas equivalentes de la hoja de cálculo y su colocación en
celdas adecuadas.
Expresión Formula en hoja de Celda
algebraica cálculo objetivo
= B5*$B$12 +
Objetivo Z 8x1 + 5x2 D5
C5*$C$12
Restricció = B6*$B$12 +
2x1 + 1x2 D6
n1 C6*$C$12
Restricció = B7*$B$12 +
1x1 + 0x2 D7
n2 C7*$C$12
Restricció = B8*$B$12 +
0x1 + 1x2 D8
n3 C8*$C$12
Observe que sólo necesita usted capturar la formula para la celda D5, y a
continuación copiar en las celdas D6:D8. Para hacerlo en forma correcta, se deben
reemplazar B12 y C12 (que representan x1 y x2) con las referencias fijas $B$12 y $C$12.
Para programas lineales más grandes, seria más cómodo ingresar
=SUMAPRODUCTO (B5:C5, $B$12:$C$12)
en la celda D5, y copiarlos en las celdas D6:D8.
Llegados a este punto, todos los elementos del modelo de programación lineal
quedan listos para enlazarse con Solver. Desde el menú Herramientas de Excel,

90
Capítulo 4 Texto Guía - Sistemas de Ingeniería
seleccione Solver para abrir la caja de dialogo que se ve en la figura 4.11. Primero, usted
define la función objetivo Z, y el sentido de optimización, capturando los datos siguientes:
Celda objetivo: $D$5
Valor de la celda objetivo: Máximo
Cambiando las celdas: $B$12:$C$12
Esta información indica a Solver que las variables definidas por las celdas $B$12 y
$C$12 se determinan maximizando la función objetivo de la celda $D$5.
El último paso es establecer las restricciones de los problemas haciendo clic en el
botón Agregar del cuadro de diálogo. Aparecerá otro cuadro de dialogo para facilitar la
captura de los elementos de las restricciones (lado izquierdo, tipo de desigualdad y lado
derecho) en una forma adecuada. En ese nuevo cuadro de diálogo, las restricciones se
ingresan como sigue:
$D$6:$D$8 <= $F$6:$F$8
Recuerde que F6:F9 definen el lado derecho de las restricciones.
Las únicas restricciones restantes son las de no negatividad, que se aumentaran al
modelo haciendo Agregar y escribiendo a continuación:
$B$12:$C$12 >= 0

Figura 4.11
Cuando se aplica Solver al problema, aparecerá el valor óptimo de Z en la celda D5,
y los valores de x1 y x2 irán a las celdas B12 y C12, respectivamente. Por comodidad
usaremos la celda D12 para mostrar el valor óptimo de Z, ingresando en ella la formula =
D5. De esta manera, todos los elementos de la solución óptima aparecen uno junto a otro en
el mismo renglón.
Ya estamos listos para resolver el modelo, sólo con hacer clic en el botón de
comando Resolver. Sin embargo, antes hay que hacer clic en Opciones para seleccionar
nuevas características para la solución (tiempo máximo de ejecución, cantidad máxima de
iteraciones, precisión, etc.) si así se desea. Lo más importante es que revise usted el cuadro

91
Capítulo 4 Texto Guía - Sistemas de Ingeniería
marcado con Adoptar modelo lineal para obtener un resultado adecuado de programación
lineal. Opciones también permite especificar que todas las variables sean no negativas.

Figura 4.12

Figura 4.13
Si el planteo del modelo es correcto, la solución aparecerá en las celdas de
resultados (B12:D12) de la hoja de resultados. También, un nuevo cuadro de diálogo
llamado Resultados de Solver le dará oportunidad de pedir más detalles de la solución,
incluyendo el importante análisis de sensibilidad. Esos informes se guardaran en hojas
separadas. La figura 4.14 muestra el informe de sensibilidad para el modelo de la
compañía. La información que se muestra equivale exactamente a la que proporciona
TORA, y se interpreta en forma parecida.

92
Capítulo 4 Texto Guía - Sistemas de Ingeniería
Microsoft Excel 11.0 Informe de sensibilidad
Hoja de cálculo: [Cmpañia de ladrillos.xls]Sheet1
Informe creado: 08/08/2005 9:37:12

Celdas cambiantes
Valor Gradiente Coeficiente Aumento Aumento
Celda Nombre Igual reducido objetivo permisible permisible
$B$12 Solución x1 125 0 8 2 8
$C$12 Solución x2 250 0 5 1E+30 1

Restricciones
Valor Sombra Restricción Aumento Aumento
Celda Nombre Igual precio lado derecho permisible permisible
$D$6 Produccion de ladrillos Total 500 4 500 50 250
$D$7 Ventas del tipo 1 Total 125 0 150 1E+30 25
$D$8 Ventas del tipo 2 Total 250 1 250 250 50
Figura 4.14
Finalmente diremos que la definición del modelo de la compañía de ladrillos para
usarlo con Solver de Excel es directa. Otros modelos podrán requerir “algo de ingenio”
para poder definirlos en una forma cómoda (y menos tediosa). Una clase de modelos de
programación lineal que cae dentro de esta categoría tiene que ver con optimización de
redes, como se demostrara en el capítulo 7.

93
Capítulo 4 Texto Guía - Sistemas de Ingeniería

4.10 Problemas propuestos


1. Para el siguiente programa lineal:
MaximizarZ = x1 + x2 + 3 x3 + 2 x4
sujeta a
x1 + 2 x2 − 3 x3 + 5 x4 ≤ 4
5 x1 − 2 x2 + 6 x4 ≤ 8
2 x1 + 3 x2 − 2 x3 + 3 x4 ≤ 3
− x1 + x3 + 2 x4 ≤ 0
x1 , x2 , x3 , x4 ≥ 0
2. Usando el método símplex, encontrar una solución óptima para el siguiente
problema de programación lineal.
MaximizarZ = 1x1 + 2 x2 + 3 x3
sujeta a
x1 + x2 + x3 ≤ 30
x1 − 2 x 2 + 2 x 3 ≤ 20
x1 , x2 , x3 ≥ 0
3. Usando el método símplex resolver el siguiente problema de programación lineal.
MaximizarZ = x1 + x 2
sujeta a
x1 + x 2 ≤ 20
x1 , x 2 ≥ 0
Explique, usando los métodos gráficos y de la tabla símplex, por qué este problema
tiene múltiples soluciones óptimas.
4. Encontrar una solución óptima para el siguiente problema de programación lineal.
MaximizarZ = x1 + x2 + 2x3
sujeta a
x1 + 2 x2 + x3 = 10
x1 − 2 x2 + x3 ≥ 12
x1 , x2 , x3 ≥ 0

94
Capítulo 4 Texto Guía - Sistemas de Ingeniería
5. Encontrar una solución óptima para el siguiente problema de programación lineal.
MinimizarZ = 2 x1 − 3 x 2 + 4 x3
sujeta a
x1 + 2 x 2 ≥ 6
2 x1 + x3 ≤ 12
x1 , x2 , x3 ≥ 0
6. Resolver el siguiente problema de programación lineal.
MinimizarZ = 5.25 x1 + 3.45 x2
sujeta a
39 x1 + 12 x2 ≤ 780
x2 ≥ 40
1.5 x1 + 0.5 x2 ≤ 80
x1 , x2 ≥ 0
7. Encontrar una solución óptima para el siguiente problema de programación lineal.
MaximizarZ = x1 + 2x 2
sujeta a
x1 + x 2 ≤ 100
x1 + x 2 ≥ 50
x1 , x2 ≥ 0
8. Encontrar una solución óptima para el siguiente problema de programación lineal.
MaximizarZ = 2 x1 + 2 x 2 + 4 x3
sujeta a
2 x1 + x 2 + x3 ≤ 2
3 x1 + 4 x 2 + 2 x3 ≥ 8
x1 , x2 , x3 ≥ 0
9. Resolver el siguiente problema de programación lineal.
MaximizarZ = x1 + 3 x 2 + 2 x3
sujeta a
0.6 x1 + 2 x 2 + 0.8 x3 ≤ 900
x1 ≥ 200
x 2 ≥ 200
x 2 ≤ 300
x 2 − 4 x3 ≤ 0
− x 2 + 2 x3 ≤ 0
x1 , x2 , x3 ≥ 0

95
Capítulo 4 Texto Guía - Sistemas de Ingeniería
10. Resolver el siguiente problema de programación lineal.
MaximizarZ = 0.08 x1 + 0.06 x 2 + 0.12 x3 + 0.09 x 4
sujeta a
x1 + x 2 + x3 + x 4 = 10
x1 ≤ 5
x2 ≤ 7
x3 ≤ 2
x4 ≤ 4
x1 + x 2 ≥ 3
x3 + x 4 ≤ 4
x1 , x 2 , x3 , x 4 ≥ 0
11. Resolver el siguiente problema de programación lineal.
MinimizarZ = 0.30 x1 + 0.50 x 2
sujeta a
0.50 x1 + .050 x 2 ≥ 2
x1 + 0.30 x 2 ≥ 3
0.20 x1 + 0.60 x 2 ≥ 1.2
0.50 x1 + 0.20 x 2 ≥ 2
x1 , x2 ≥ 0
12. Una compañía produce dos tipos de ladrillos. Cada ladrillo del tipo 1 requiere el
doble de tiempo en mano de obra que el segundo tipo. Si todos los ladrillos son del
tipo 2, la compañía puede producir un total de 500 ladrillos al día. El mercado limita
las ventas diarias del tipo 1 y 2 a 150 a 250 ladrillos respectivamente. Suponga que
los beneficios por cada ladrillo son de Bs.8 para el tipo 1 y Bs.5 para el tipo 2.
Determine el número de ladrillos a ser producidos de cada tipo para maximizar el
beneficio.
13. Un contratista está considerando una propuesta para la pavimentación de una
carretera. Las especificaciones requieren un espesor mínimo de doce pulgadas
(12"), y un máximo de 18". La carretera debe ser pavimentada en concreto, asfalto,
gravilla, o cualquier combinación de estos tres elementos. Sin embargo, las
especificaciones requieren una consistencia final igual o mayor que la
correspondiente a una superficie de concreto de 9" de espesor. El contratista ha
determinado que 3" de su asfalto son tan resistentes como 1" de concreto, y 6" de
gravilla son tan resistentes como 1" de concreto. Cada pulgada de espesor por yarda
cuadrada de concreto le cuesta Bs.10, el asfalto Bs.3.80, y la gravilla Bs.1.50.
Determine la combinación de materiales que el contratista debería usar para
minimizar su costo.

96
Capítulo 4 Texto Guía - Sistemas de Ingeniería
14. Un constructor va a edificar dos tipos de viviendas A y B. Dispone de 600 millones
de pesos y el costo de una casa de tipo A es de 13 millones y 8 millones una de tipo
B. El número de casas de tipo A ha de ser, al menos, del 40 % del total y el de tipo
B, el 20 % por lo menos. Si cada casa de tipo A se vende a 16 millones y cada una
de tipo B en 9. ? Cuántas casas de cada tipo debe construir para obtener el beneficio
máximo?
15. La Constructora FADESA Ltda., se ha adjudicado la construcción de 100 casas. El
contrato la obliga a construir dos tipos de casas. Para los beneficiarios las casas
tienen el mismo costo, pero para la Constructora, éstas tienen un margen de utilidad
diferente, así las casas tipo campo arrojan 5.100 Bs. y las de tipo rancho 5.000 Bs.
El contrato obliga a entregar las casas dentro de los nueve meses de firmado el
contrato.
Otra información relevante se resume en la siguiente tabla:
Recurso por tipo de casa Disponibilidad

Campo Rancho de horas

200 100 12000 Carpintero

50 120 13000 Albañil

a) Formule el problema de programación lineal.


b) Encuentre la solución óptima gráficamente.
c) Suponga que se desea agregar un nuevo tipo de casa denominada “Española”
que da un margen de utilidad de 4900 Bs./casa y que requiere de 150 hr-
carpintero/casa y 80 hr-albañil/casa. Explique si conviene o no fabricar las
casas.
16. Un fabricante de cemento produce dos tipos de cemento, a saber en gránulos y
polvo. Él no puede hacer más de 1600 bolsas un día debido a una escasez de
vehículos para transportar el cemento fuera de la planta. Un contrato de ventas
establece que él debe producir 500 bolsas al día de cemento en polvo. Debido a
restricciones del proceso, se requiere el doble del tiempo para producir una bolsa de
cemento granulado en relación al tiempo requerido por el cemento en polvo. Una
bolsa de cemento en polvo consume para su fabricación 0.24 minutos/bolsa y la
planta opera un 8 día de la hora. Su ganancia es £4 por la bolsa para el cemento
granulado y £3 por la bolsa para el cemento en polvo. Formule el problema de
decidir cuánto se debe producir de cada tipo de cemento para maximizar las
ganancias de la Empresa, utilizando el Método Gráfico.

97
Capítulo 4 Texto Guía - Sistemas de Ingeniería

4.11 Bibliografía
 MODELOS LINEALES DE OPTIMIZACIÓN – Rafael Terrazas Pastor [Segunda
Edición]
 INVESTIGACIÓN DE OPERACIONES – Hamdy A. Taha [Séptima Edición]
 INVESTIGACIÓN DE OPERACIONES – Moskowitz, Herbert; Wrigth, Gordon P.
 MÉTODOS Y MODELOS DE INVESTIGACIÓN DE OPERACIONES – Juan
Prawda [Vol. 1 Modelos Deterministicos]
4.12 Enlaces
 http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060014/docs_curso/conteni
do.html
 http://www.ieci.ucm.cl/Programa/Io/IO_3.htm

98
Capítulo 5 Texto Guía -Sistemas de Ingeniería

CAPÍTULO 5

ANÁLISIS DE DUALIDAD Y SENSIBILIDAD DE LA


PROGRAMACIÓN LINEAL

5.1 Introducción
La solución de la programación lineal se basa en una toma instantánea de las
condiciones que prevalecen en el momento de formular y resolver el modelo. Pero se debe
tener en cuenta que en el mundo real, los ambientes de decisiones rara vez permanecen
estáticos, y es fundamental determinar como cambia la solución óptima cuando cambian los
parámetros del modelo. Eso es lo que hace el análisis de sensibilidad.
5.2 Definición del problema dual
El problema dual es una programación lineal definida en forma directa y sistemática
a partir del modelo original (o primal) de programación lineal. Los dos problemas están
relacionados de forma tan estrecha que la resolución óptima de un problema produce de
forma automática la resolución óptima del otro.
En la programación lineal, el dual se define para varias formas del primal,
dependiendo del sentido de la optimización (maximización o minimización), tipos de
restricciones (≤, ≥ o =), y la orientación de las variables (no negativa o no restringida).
Nuestra definición del problema dual requiere expresar el problema primal en forma
de ecuaciones, todas las restricciones son ecuaciones, con lado derecho no negativo y todas
las variables son no negativas.
Para mostrar como se forma el problema dual, se define el primal en forma de
ecuaciones, como se muestra a continuación:
n
Maximizar o Minimizar = ∑ c j x j
j =1

Sujeta a:
n

∑a
j =2
ij x j = bi , i = 1,2,, m

x j ≥ 0, j = 1,2,, m
Las variables xi,j =1,2,…..., n, incluyen las variables que se denominan de
excedencia, holgura y artificiales, si las hubiera.
La tabla 5.1 el cual muestra como convertir un problema dual a partir de un primal,
lo que se tiene a continuación son las condiciones que requieren:
1. Se define una variable dual por cada ecuación primal (restricciones).
2. Se define una restricción dual por cada variable primal.

99
Capítulo 5 Texto Guía -Sistemas de Ingeniería

3. Los coeficientes de restricción (columna) de una variable primal definen los


coeficientes en el lado izquierdo de la restricción dual, y su coeficientes objetivo
define el lado derecho.
4. Los coeficientes objetivos del problema dual son iguales a lados derecho de las
ecuaciones de restricción primal.

Tabla 5.1 Construcción del dual a partir del primal

Variables Primales
x1 x2 ….. xj …… xn
Variables Duales c1 c2 ….. cj …… cn
y1 a11 a12 ….. a1j …… a1n b1
y2 a21 a22 ….. a2j …… a2n b2
…..

…..

…..

…..

…..

…..

…..

…..
ym am1 am2 ….. amj …… amn bm

J-èsima restricción Coeficientes objetivo


dual duales

Las reglas para determinar el sentido de la optimización (ya sea maximización o


minimización), el tipo de restricción (≤, ≥ o =) , y el signo de las variables duales (siempre
no restringido), esta en resumen en la tabla 5.2; obsérvese que el sentido de la
optimización de problema dual siempre es el opuesto al del primal.

Tabla 5.2 Reglas para construir el problema dual

Problema Dual
Objetivo del
Problema primal 1 Objetivo Tipo de Restricción Signos de variables

maximización minimización ≥ No restringido


minimización maximización ≤ No restringido
En los siguientes ejemplos se demuestra el uso de la tabla 5.2 y también demuestra
que la definición comprende todas las formas del primal, en forma automática.

1
Todas las referencias primales son ecuaciones con lado derecho no negativo y todas las variables son no
negativas.

100
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.1


Variables
Problema Primal Problema Primal en forma de ecuación
Duales
Maximizar z = 10 x1 + 8 x2 + 5 x3 Maximizar z = 10 x1 + 8 x2 + 5 x3 + 0 x4
Sujeta a: Sujeta a:
x1 + 2 x2 + 3 x3 ≤ 10 x1 + 2 x2 + 3 x3 + x4 = 10 y1
10 x1 + 5 x2 + x3 = 15 10 x1 + 5 x2 + x3 + 0 x4 = 15 y2
x1 , x2 , x3 ≥ 0 x1 , x2 , x3 , x4 ≥ 0
Problema Dual
Minimizar w = 10 y1 + 15 y 2
Sujeta a:
y1 + 10 y2 ≥ 10
2 y1 + 5 y2 ≥ 8
2 y1 + y2 ≥ 5
y1 + 0 y2 ≥ 0 
 ⇒ ( y1 ≥ 0, y2 sin restricciones )
y1 , y2 sin restriccciones 
Como se puede observar en el ejemplo se debe tener en cuenta las 4 condiciones:
1. como se tiene dos restricciones se tiene dos variables duales ( y1 , y2 ).
2. como se ve en la forma de ecuación el problema primal tiene cuatro variables
( x1 , x2 , x3 , x4 ) por lo tanto

 y1 + 10 y2 ≥ 10
2 y + 5 y ≥ 8

Se deberá tener 4 restricciones  1 2

2 y1 + y2 ≥ 5
 y1 + 0 y2 ≥ 0

3. como indica esta condición se ve claramente en este ejemplo que los coeficientes
x1 + 2 x2 + 3x3 + x4 = 10
columna de las dos restricciones que corresponden a los
10 x1 + 5 x2 + x3 + 0 x4 = 15
coeficientes de cada variable, lo cual se observa de la variable x1 son 1 y 10, de la
variable x2 son 2 y 5, así sucesivamente son utilizadas en el lado izquierdo de las
restricciones como se ve:

101
Capítulo 5 Texto Guía -Sistemas de Ingeniería

También se indica que los coeficientes del lado derecho de las restricciones del
problema primal son utilizados como coeficientes en la función objetivo del
problema dual del lado derecho. Como se muestra a continuación:

4. como señala esta condición, los coeficientes de la función objetivo del problema
primal que son 10, 8, 5 y 0 son utilizados en el lado derecho de las restricciones del
problema dual. Como se muestra a continuación:

Y como se comento sobre la tabla 5.2 cuando se trata de maximizar en el problema


primal, en el problema dual se tiene que minimizar la función objetivo, según esta tabla
todas las restricciones en el problema son del signo ≥.
Ejercicio de aplicación
Cierta dietista necesita preparar una comida que contenga determinados nutrientes,
al menos en las cantidades que se indican en la siguiente tabla. Dispone de tres ingredientes
cuyos costos y contenidos de cada nutriente (unidades por gramo de ingrediente) se dan en
la misma tabla.
Ingredientes Requerimientos u.
Nutriente
1 2 3 /comida.

A 4 3 2 20
B 5 6 3 30
C 1 2 1 10
D 2 1 2 5
E 2 3 1 10
Costo $/g 200 300 250
El problema a resolver consiste en definir la combinación de ingredientes que
permite obtener, al mínimo costo, el alimento con el contenido nutricional deseado.

102
Capítulo 5 Texto Guía -Sistemas de Ingeniería

La solución puede obtenerse resolviendo el siguiente modelo, en el cual las


variables xi indican la cantidad (g.) del ingrediente i a utilizar.
Minimizar Costo Utilidad = 200 x1 + 300 x 2 +250 x3
Sujeto a 4 x1 +3 x 2 +2 x3 > 20 Nutriente A
5 x1 +6 x 2 +3 x3 > 30 Nutriente B
1 x1 +2 x 2 +1 x3 > 10 Nutriente C
2 x1 +3 x 2 +1 x3 > 5 Nutriente D
2 x1 +3 x 2 +1 x3 > 10 Nutriente E
con xi > 0, i = 1, 2,3.
Antes de conocer la solución óptima de este modelo, consideremos una situación
hipotética que puede presentársele a la dietista. Un laboratorio farmacéutico ofrece pastillas
de cada uno de los nutrientes, con los cuales ella puede sustituir la comida que piensa
preparar.
Para resolver este nuevo problema reflexionemos en el hecho de que el director del
laboratorio desea obtener la máxima utilidad en la venta de las pastillas. Por ello, al evaluar
la cotización del laboratorio, en comparación con el costo de preparar la comida, la dietista
necesita conocer el máximo precio que puede pagar por una pastilla que contenga una
unidad de cada nutriente.
La dietista también sabe que los precios que puede pagar tienen limitaciones
provenientes de los costos y contenido vitamínico de los ingredientes, así por ejemplo:
Un gramo del alimento 1 cuesta $200 y aporta cuatro unidades del nutriente A,
cinco del nutriente B, uno del C, dos del D y dos del E. Por lo tanto, por esas cantidades de
los nutrientes puede pagarse en total un máximo de $200.
Similarmente, como un gramo del alimento 2 cuesta $300 y aporta tres unidades del
nutriente A, seis del B, dos del C, uno del D y tres del E, lo máximo que podemos pagar
conjuntamente por esas cantidades de los nutrientes es $300.
Si denotamos respectivamente con las variables YA, YB, YC, YD, YE, los precios
máximos que se pueden pagar por la pastilla con una unidad de cada uno de los nutrientes,
y efectuamos un análisis para todos los ingredientes, obtenemos el siguiente modelo de
programación lineal.
Maximizar ventas ZD = 20YA +30YB +10YC +5YD +10YE
Sujeto a 4YA +5YB +1YC +2YD +2YE < 20 Ingrediente 1
3YA +6YB +2YC +1YD +3YE < 30 Ingrediente 2
2YA +3YB +1YC +2YD +1YE < 10 Ingrediente 3
con YA, YB, YC, YD, YE > 0

103
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Este segundo modelo representa el enfoque dual del primero y de nuevo podemos
verificar que se presentan ciertas relaciones estructurales, a saber
1. El vector de coeficientes objetivo de uno es la transpuesta del vector de coeficientes
recurso del otro
2. El vector de coeficientes recurso del uno es la transpuesta del vector de coeficientes
objetivo del otro.
3. La matriz de coeficientes tecnológicos de uno es la transpuesta de la matriz de
coeficientes tecnológicos del otro.
4. Ambos problemas están en formato canónico, o sea que tienen las siguientes
características
4.1 El objetivo del primal es minimizar, mientras que el del dual es maximizar.
4.2 Las restricciones del primo son del tipo =, y las del dual del tipo =.
4.3 Las variables de ambos problemas solo pueden tomar valores mayores o iguales
que cero.
Pero las relaciones de forma no son las más importantes para nuestro estudio de la
dualidad en Programación lineal, como si lo son las relaciones lógicas existentes entre sus
soluciones óptimas y el significado económico de las variables del modelo dual.
5.3 Resolución opcional de problema primal con restricciones del
tipo “≥” o “=”
Cuando este tipo de restricciones “≥” o “=” se puede convertir resolver de la
siguiente manera, lo cual nos evitará utilizar los métodos de penalización y las variables
artificiales.
5.3.1 Restricción de la forma mayor o igual
Problema Primal

Maximizar z = −10 x1 + 20 x 2
Sujeta a:
x1 + 2 x 2 ≤ 4
2 x1 − 3x 2 ≥ 6
x1 , x 2 ≥ 0
Observe que la segunda desigualdad es de la forma mayor o igual que. Lo convertiremos
primero a la forma menor o igual que. Multiplícanos la segunda restricción en ambos lados
por -1:
(− 1)(2 x1 − 3x 2 ) ≤ (− 1)6
O
− 2 x1 + 3x 2 ≤ −6
Y se remplaza la segunda restricción por esta equivalente, de aquí se obtiene el modelo
primal equivalente descrito a continuación:

104
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Problema Primal
Maximizar z = −10 x1 + 20 x 2
Sujeta a:
x1 + 2 x 2 ≤ 4
− 2 x1 + 3x 2 ≤ −6
x1 , x 2 ≥ 0

Y su problema dual se convertiría en lo siguiente:


Problema Dual

Minimizar w = 10 y1 + 15 y 2
Sujeta a:
y1 − 2 y 2 ≥ −10
2 y1 + 3 y 2 ≥ 20
y1 , y 2 ≥ 0

5.3.2 Restricción de la forma igualdad

Problema Primal 1
Maximizar z = 10 x1 + 20 x 2
Sujeta a:
x1 + 2 x 2 = 4
2 x1 − 3x 2 ≤ 7
x1 , x 2 ≥ 0

Observe que la primera restricción es una ecuación, no es una desigualdad es de la forma


menor o igual que. Para determinar el modelo dual observamos que en modelo primal 1
reemplazamos por las 2 desigualdades siguientes:

x1 + 2 x 2 ≤ 4
x1 + 2 x 2 ≥ 4 o − x1 − 2 x 2 ≤ −4

Con este reemplazo se obtiene el siguiente problema de programación lineal:

Problema Primal 2
Maximizar z = −10 x1 + 20 x 2
Sujeta a:
x1 + 2 x 2 ≤ 4
− x1 − 2 x 2 ≤ −4
2 x1 + 3 x 2 ≤ 7
x1 , x 2 ≥ 0

105
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Y su problema dual se convertiría en lo siguiente:


Problema Dual

Minimizar w = 4 y1 − 4 y 2 + 7 y 3
Sujeta a:
y1 − y 2 + 2 y 3 ≥ 10
2 y1 − 2 y 2 − 3 y 3 ≥ 20
y1 , y 2 , y 3 ≥ 0

5.4 Relaciones PRIMAL –DUAL


Los cambios que se hacen en modelo original de programación lineal afectan a los
elementos de la tabla óptima actual, que a su vez puede afectar la óptimalidad y/o la
factibilidad de la solución actual. Por esta razón estudiaremos como se recalculan los
elementos de la tabla símplex optimo para reflejar los nuevo cambios.
5.4.1 Planteamiento de la tabla símplex
La figura 5.1 es una representación esquemática de las tablas símplex de inicio y
general. En la tabla de inicio, los coeficientes de las restricciones debajo de las variables de
inicio forman una matriz identidad 2. Después con las demás iteraciones de la tabla
símplex, generadas con las operaciones de renglón de Gauss-Jordán, se modificara los
elementos de la matriz identidad para producir como resultado la llamada matriz inversa.

Variables de inicio
Renglón del
objetivo z
=

1 0 0 0

0 1 0 0
Columnas de
restricción
=
0 0 1 0

0 0 0 1

Matriz identidad

(Tabla de Inicio)

2
Matriz identidad: todos los elementos de la diagonal principal iguales a 1 y fuera de la diagonal principal
iguales a cero

106
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Variables de inicio
Renglón del
objetivo z
=

Columnas de
restricción
=

Matriz Inversa

(Tabla General)
Figura 5.1

5.4.2 Solución dual óptima


Las soluciones primal y dual se afectan en forma tan estrecha que la solución óptima
del problema primal produce en forma directa (con unos pocos pasos adicionales), la
solución óptima dual. En esta unidad se refieren 2 métodos 3 para calcular este resultado.
Método 1
×
Valores óptimos Vector renglón de los coeficientes Inversa primal
de las variables =

objetivos originales de las variables =

= básicas óptimas primales ×


duales óptima

Los elementos del vector renglón de los coeficientes objetivos del primal original
deben aparecer en el mismo orden que aparecen las variables básicas en las columnas
básicas de la tabla símplex.
Método 2
× Coeficientes z-
primal óptimos
(costo reducido)
=

Lado izquierdo de la j-esima Lado derecho de


= - la j-esima
de cualquier restricción dual
variable xj

Estos métodos puede implicar una gran ventaja de computo si la cantidad de


variables en primal fuera bastante menor que la cantidad de restricciones. Ya que la
cantidad de cálculos símplex, depende mucho de la cantidad de restricciones, en este caso
más eficiente resolver el dual, del cual se puede determinar entonces la solución del primal.

3
Para las operaciones matriciales ver ANEXO A

107
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.2


Se tiene la siguiente programación lineal
Maximizar z = x1 + 5 x 2 + 3 x3
Sujeta a:
x1 + 2 x 2 + x3 = 3
2 x1 − x 2 =4
x1 , x 2 , x3 ≥ 0
Para preparar para resolver con el método símplex (método de la M), se debe
agregar dos variables artificiales R en la primera y segunda restricción, los problemas
primales y duales que son asociados se muestran a continuación:
Problema Primal 1 Problema Primal 3
Maximizar z = 1x1 + 5 x 2 + 3x 3 Maximizar z = 1x1 + 5 x 2 + 3x 3
Sujeta a: Sujeta a:
x1 + 2 x 2 + x 3 = 3 x1 + 2 x 2 + x 3 + x 4 =3
2 x1 − x 2 =4 − x1 − 2 x 2 − x 3 + x5 = −3
x1 , x 2 , x 3 ≥ 0 2 x1 − x 2 + x6 =4
− 2 x1 + x 2 + x 7 = −4
x1 , x 2 , x 3 ≥ 0
Problema Primal 2 Problema Dual
Maximizar z = 1x1 + 5 x 2 + 3x 3 Minimizar w = 3 y1 − 3 y 2 + 4 y 3 − 4 y 4
Sujeta a: Sujeta a:
x1 + 2 x 2 + x 3 ≤3 y1 − y 2 + 2 y 3 − 2 y 4 ≥ 1
− x1 − 2 x 2 − x 3 ≤ −3 2 y1 − 2 y 2 − y 3 + y 4 ≥ 5
2 x1 − x 2 ≤4 y1 − y 2 ≥ 3
− 2 x1 + x 2 ≤ −4
x1 , x 2 , x 3 ≥ 0

Resolviendo con el Método de la M, se obtiene la tabla primal óptima siguiente


Tabla 5.3 Tabla óptima del primal del ejemplo 5.2
Basicas x1 x2 x3 R1 R2 Solucion
z 0 2 0 3+M M-1 5
x3 0 2.5 1 1 -0.5 1
x1 1 -0.5 0 0 0.5 2
La matriz inversa óptima, que se obtiene y se señala las variables de inicio R1 y R2.
1 − 0.5 
Inversa óptima =  
 0 0.5 

108
Capítulo 5 Texto Guía -Sistemas de Ingeniería

A continuación se vera como se obtiene los valores óptimos duales usando los dos
métodos que se mencionaron con anterioridad.
Método 1. Lo primero que se debe observar es que las variables óptimas aparecerán en la
tabla en orden, primero x3 y después x1, lo cual debe los elementos de los coeficientes
originales del objetivo para las dos variables deben aparecer en el mismo orden
(Coeficientes objetivo originales) = (Coeficientes de x3, coeficientes de x1)
= (3, 1)
Ahora se puede calcular los valores duales óptimos como sigue:
(y1, y2) = (Coeficientes objetivo originales de x3, x1) × (Inversa Óptima)
1 − 0.5 
= (3, 1)  
 0 0.5 
= (3,-1)
Método 2. Como el problema dual tiene dos variables, se necesitan dos ecuaciones para
llegar a la solución. Tomemos las restricciones duales asociadas con las variables primales
de inicio R1 y R2. Como se sabe por la definición de dual, las restricciones duales asociadas
con las variables primales de inicio son:
Variable de inicio R1: y1 ≥ − M
Variable de inicio R2: y 2 ≥ − M
También, de acuerdo con la tabla óptima que se vio en la tabla 5.3
Coeficientes z de R1 = 3 + M
Coeficientes z de R2 = M – 1
De acuerdo con el Método 2.
3 + M = y1 − (− M ) ⇒ y1 = 3
M − 1 = y 2 − (− M ) ⇒ y 2 = −1
Note que en cada ecuación interviene exactamente solo una variable, por que la
solución esta disponible de inmediato. Este siempre es el caso de las restricciones duales
asociada con las variables de inicio.
5.4.3 Calculo con la tabla símplex
Lo cual quiere verse en esta sección, es que se puede generar toda la tabla símplex
en cualquier iteración, a partir de los datos originales del problema y la inversa asociada
con la iteración. Usando la distribución de la tabla símplex de la figura 5.1, se puede
dividir los cálculos en 2 tipos:
1. Columnas de restricción (lados izquierdo y derecho).
2. Renglón objetivo z.

109
Capítulo 5 Texto Guía -Sistemas de Ingeniería

5.4.3.1 Cálculos de columnas de restricción.


En cualquier iteración símplex, una columna del lado izquierdo o derecho se calcula
como se muestra a continuación:

Columna de Columna
Inversa en la Formula 1
restricción en = =

original de
= iteración i ×
iteración i restricción

5.4.3.2 Cálculos de renglón objetivo z.


En cualquier iteración símplex, una columna del lado izquierdo o derecho se calcula
como se muestra a continuación:

Coeficiente de la
Lado izquierdo Lado derecho de
variante x1 en la =

= de la restricción =

- la restricción Formula 2
ecuación primal dual dual
de z (costo
correspondiente correspondiente
reducido)

Ejemplo de aplicación 5.3


Se usa la programación lineal según el ejemplo de aplicación 5.2 para poder ilustrar
la aplicación de la formula 1 y 2. De acuerdo con la tabla óptima 5.3
1 − 0.5 
Inversa óptima =  
0 0.5 
El uso de la Formula 1 se ilustra calculando todas las columnas de lado izquierdo y
lado derecho de la tabla óptima:

Columna de x1 en =
Inversa en la iteración =

Columna de x1
iteración óptima = óptima × original

1 − 0.5  1  0
=   ×   =  
0 0.5   2  1 

110
Capítulo 5 Texto Guía -Sistemas de Ingeniería

De manera parecida se calculan las siguientes columnas de restricción:

Columna de x 2 en =

Inversa en la =

Columna de x 2
iteración óptima = iteración óptima ×
original

1 − 0.5   2   2.5 
=   ×   =  
0 0.5   − 1   − 0.5 

Columna de x3 en =

Inversa en la =

Columna de x3
iteración óptima = iteración óptima ×
original

1 − 0.5  1  1 
=   ×   =  
0 0.5   0   0

Columna de R1 en =

Inversa en la =

Columna de R1
iteración óptima = iteración óptima ×
original

1 − 0.5  1  1 
=   ×   =  
0 0.5   0   0

Columna de R1 en =

Inversa en la =

Columna de R1
iteración óptima = iteración óptima ×
original

1 − 0.5   0   − 0.5 
=   ×   =  
0 0.5  1   0.5 

Columna de lado =

Inversa en la =

Columna de lado
derecho en la = iteración óptima × derecho original
iteración óptima

1 − 0.5   3  1 
=   ×   =  
0 0.5   4   2

111
Capítulo 5 Texto Guía -Sistemas de Ingeniería

A continuación se mostrara como se hacen los cálculos del renglón objetivo, con la
Formula 2. Los valores óptimos de las variables duales (y1, y2) = (3,-1) que se calcularon
en el ejemplo de aplicación 5.2, con dos métodos distintos. Estos valores son utilizados en
la Formula 2 para determinar los coeficientes asociados de z como se ve a continuación:
Coeficientes de x1 en z = y1 + 2 y 2 − 1 = 3 + 2 × (− 1) − 1 = 0 .
Coeficientes de x 2 en z = 2 y1 − y 2 − 5 = 2 × (3) − (− 1) − 5 = 2 .
Coeficientes de x3 en z = y1 − 3 = 3 − 3 = 0
Coeficientes de R1 en z = y1 − (− M ) = 3 + M
Coeficientes de R2 en z = y1 − (− M ) = −1 + M
Es importante saber que los cálculos realizados por las Formulas 1 y 2, pueden ser
aplicadas a cualquier iteración, sea problema primal o dual. Solo se necesita la inversa
asociada con la iteración primal o dual y los datos de la programación lineal original. Lo
cual se obtiene la tabla óptima del problema primal siendo la tabla 5.3.
Tabla 5.3 Tabla óptima del primal del ejemplo 5.2

Basicas x1 x2 x3 R1 R2 Solucion
z 0 2 0 3+M M-1 5
x3 0 2.5 1 1 -0.5 1
x1 1 -0.5 0 0 0.5 2
5.4.4 Valor objetivo primal y dual
En el problema primal-dual, si uno es maximización el otro es minimización, desde
ese punto de vista, los valores objetivos en los dos problemas se relacionan de la siguiente
manera:
Para cualquier par de soluciones primales y duales factibles

Valor objetivo en el Valor objetivo en el


problema de ≤ problema de
=

Maximización minimización

En el óptimo, la relación es valida estrictamente como ecuación.

Obsérvese que la relación no especifica cual problema es primal y cual es dual. En


este caso solo importa el sentido de la optimización (maximización o minimización)

112
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.4


En el ejemplo 5.2 ( x1 =2, x1 =0, x1 =1) y (y1 = 2, y2 =-1) son soluciones factibles primal y
dual. Los valores asociados de las funciones objetivos z = 5 y w = 2
5.5 Otros algoritmos símplex para programación lineal
En el algoritmo símplex que fue presentado en el capítulo 4, el problema se inicia
en una solución básica factible. Las iteraciones sucesivas siguen siendo básicas y factibles,
pero avanzan hacia la optimalidad, hasta que se llega al óptimo en la última iteración. A
veces se llama método símplex primal a este algoritmo.
En esta sección presenta dos algoritmos más: el símplex dual y el símplex
generalizado. En el símplex dual, la programación lineal se inicia en una solución básica
que es (mejor que la) óptima, pero no es factible, y las iteraciones sucesivas siguen siendo
básica y (mejores que la) óptima, a medida que se acercan a la factibilidad. En la última
iteración se encuentra la solución factible (óptima). En el método símplex generalizado se
combinan los métodos símplex primal y dual en un solo algoritmo. Maneja problemas que
comienzan siendo no óptimos y no factibles a la vez. En este algoritmo se asocian las
iteraciones sucesivas con soluciones básicas (factibles o no factibles). En la iteración final
la solución es óptima y no factible al mismo tiempo (suponiendo claro esta que exista una).
Se puede aplicar los tres algoritmos, primal dual y el generalizado con mucha
eficiencia en los caculos del análisis de sensibilidad. Lo que se indicara en las siguientes
secciones.
5.5.1 Método dual Símplex
Como el método símplex primal, la base el método símplex dual es que cada
iteración siempre esta asociada a una solución básica. Las condiciones de optimalidad y
factibilidad se establecen para preservar la optimalidad de las soluciones básicas y al
mismo tiempo mover las iteraciones de la solución hacia la factibilidad.
5.5.1.1 Condición dual de factibilidad
La variable que sale es la variable básica que tiene el valor más negativo (los
empates se rompen arbitrariamente). Si todas las variables básicas son no negativas el
proceso termina y se alcanza la solución factible (óptima).
5.5.1.2 Condición dual de óptimalidad
La variable que entra se elige de entre las variables no básicas como sigue:
 z j − c j 
min  , α rj < 0
 α rj 

Donde z j − c j es el coeficiente objetivo del renglón z en la tabla, y α rj es el


coeficiente negativo de restricción de la tabla, asociado con el renglón de la variable de
salida x r , y con la columna de la variable x j no básica (los empates se rompen
arbitrariamente).
Observe que la condición de óptimalidad dual garantiza que se mantendrá la
óptimalidad en todas las iteraciones.

113
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Para el inicio de una programación lineal que sea óptima y no factible a la vez, debe
cumplir dos condiciones:
1. La función objetivo debe satisfacer la condición de óptimalidad del método símplex
regular.
2. Todas las restricciones deben ser del tipo ( ≤ ).
Por la segunda condiciones se requiere convertir toda ( ≥ ) a ( ≤ ), solo se debe
multiplicar ambos lados de la desigualdad ( ≥ ) por -1. Si en la programación lineal hay
restricciones (=) se debe reemplazar la ecuación con dos desigualdades, por ejemplo:
x1 + x 2 = 1
Equivale a:
x1 + x 2 ≤ 1, x1 + x 2 ≥ 1
O bien también equivale a:
x1 + x 2 ≤ 1,− x1 − x 2 ≤ 1
Después de convertir todas las restricciones en ( ≤ ), la programación lineal tendrá
una solución de inicio no factible si, y solo si al menos uno de los lados derechos de las
desigualdades es estrictamente negativo. En caso contrario si z es óptima y ninguno de lo
lados derechos es negativo no habrá necesidad de aplicar el método símplex dual, por la
solución de inicio ya es óptima y factible.
Ejemplo de aplicación 5.4.
Minimizar z = 2 x1 + 3 x 2
Sujeta a:
2 x1 + 2 x 2 ≤ 30
x1 + 2 x 2 ≥ 10
x1 , x 2 ≥ 0
Lo primero que se debe hacer en este ejemplo es el de multiplicar la segunda
desigualdad o restricción por -1 para poder convertirlas a restricciones ( ≤ ). Así, la tabla de
inicio es:

Básicas x1 x2 x3 x4 Solución

z -2 -3 0 0 0

x3 2 2 1 0 30

x4 -1 -2 0 1 -10

Tabla óptima comienza (todas las z j − c j ≤ 0 en el renglón z) y la solución básica


de inicio es no factible ( x3 = 30, x 4 = −10 ) .

114
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Según la condición dual de factibilidad antes mencionada, que la variable de salida


es aquel que tiene el valor más negativo, en el ejemplo seria x 4 (= −10 ) . A continuación se
muestra una tabla de cómo se usa la condición dual de óptimalidad para determinar la
variable de entrada.

Variables x1 x2 x3 x4

Renglón de z (z j − c j ) -2 -3 0 0

Renglón de x 4 , α 4 j -1 -2 0 1

z jc j 3
Razón, ,α 4 j < 0 2 - -
α4 j 2

Por la razón obtenida indica que la variable de entrada es x 2 , se puede observar que
una variable x j es candidata a para entrar a la solución básica solo que su α ij sea
estrictamente negativa. Eso quiere decir en el ejemplo no se debe tomar en cuenta las
variables x3 y x 4 .
A continuación la siguiente tabla debe obtenerse de la misma manera que se obtiene
con las conocidas operaciones de renglón

Básicas x1 x2 x3 x4 Solución

z -0.5 0 0 -1.5 15

x3 1 0 1 1 20

x2 0.5 1 0 -0.5 5

En esta última tabla es factible (y óptima) por lo que se termina el algoritmo (como
se observa en esta ultima tabla no hay ya variable que entre por que el resultado de x3 es
positivo, lo cual no cumple la condición dual de factibilidad, por lo que se lo deja en esta
tabla, lo que insinúa que la variable x1 no entra en la variables básicas y es igual a 0). La
solución que corresponde es x1 = 0, x 2 = 5 y z = 15 .
Para la compresión del alumno del método símplex dual en la figura 5.2 se muestra
en forma grafica la trayectoria que fue seguida por el algoritmo para resolver el ejemplo de
aplicación 5.4. La trayectoria se inicia en el punto (0,0).

115
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Figura 5.2

5.5.2 Algoritmo símplex generalizado


El algoritmo símplex (primal) del capítulo 4 inicia siendo factible, pero no óptimo,
el modelo matemático. El símplex dual inicia siendo mejor que el óptimo, pero no factible.
Que pasaría si un modelo matemático de programación lineal se iniciaría no óptimo y no
factible al mismo tiempo. Se vio que el símplex primal tiene en cuenta la no factibilidad de
la solución de inicio usando variables artificiales. De igual forma que el símplex dual tiene
en cuenta la no óptimalidad usando restricciones artificiales, el objeto de estos
procedimientos es de ampliar el computo automático, lo cual los detalles pueden hacer
perder los detalles de la vista de lo que realmente se trata el algoritmo símplex, lo cual es
que la solución óptima de una programación lineal siempre este asociada con una solución
de punto de esquina (o básica). Con esta observación el lector debería poder adaptar su
propio algoritmo símplex para los modelos de programación lineal que inician no óptimos y
no factibles a la vez. En el siguiente ejemplo se puede ver lo que se llama algoritmo
símplex generalizado.
Ejemplo de aplicación 5.5.
Maximizar z = 2x3
Sujeta a:
− x1 + 2 x 2 − 2 x3 ≥ 8
− x1 + x 2 + x3 ≤ 4
2 x1 − x 2 + 4 x3 ≤ 10
x1 , x 2 , x3 ≥ 10
El modelo de programación lineal, se puede poner en la tabla siguiente, en el que la
solución básica de inicio ( x 4 , x5 , x6 ) es al mismo tiempo no óptima ( por x3 ) y no es no
factible ( por x 4 = −8) . (La primera ecuación se multiplico por -1 para dejar ver la no
factibilidad en forma directa, en la columna solución).

116
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Básicas x1 x2 x3 x4 x5 x6 Solución
z 0 0 -2 0 0 0 0
x4 1 -2 2 1 0 0 -8
x5 -1 1 1 0 1 0 4
x6 2 -1 4 0 0 1 10
Este problema se puede resolver sin usar variables ni restricciones artificiales.
Se lo puede resolver de la siguiente manera:
1. Quitar la no factibilidad aplicando una versión de la condición símplex dual de
factibilidad, que selecciona a x 4 como variable de salida. Para determinar cual es la
variable de entrada todo lo que se necesita es una variable no básica cuyo
coeficiente de restricción en el renglón de la variable de salida en este caso; x 4 sea
estrictamente negativo. Se puede hacer la selección sin ningún cuidado ya que no
afectara la óptimalidad, por que de cualquier manera es no existente en este punto
(compárela con la condición de óptimalidad dual). El resultado es la siguiente
tabla:
Básicas x1 x2 x3 x4 x5 x6 Solución
z 0 0 -2 0 0 0 0
x2 −1 1 -1 −1 0 0 4
2 2
x5 −1 0 2 1 1 0 0
2 2
x6 3 0 3 −1 0 1 14
2 2
Ahora la tabla anterior es factible, pero no óptimo, para lo cual se resuelve usando el
símplex primal para determinar la solución óptima. En general si es que no pudiéramos
haber encuentra la factibilidad con la tabla anterior, se puede repetir la veces que sean
necesarias hasta encontrar la factibilidad o de otro modo hasta que haya pruebas de que no
tenga solución factible, una vez atendida la factibilidad el siguiente paso.
2. Es el ocuparse de la óptimalidad que puede ser resuelto aplicando la condición
acomodada de óptimalidad del método símplex primal. De la anterior tabla, se
resuelve y se obtiene la siguiente tabla:

Básicas x1 x2 x3 x4 x5 x6 Solución
z 0 0 -2 0 0 0 0
x2 −1 1 -1 −1 0 0 4
2 2
x5 −1 0 2 1 1 0 0
2 2
x6 3 0 3 − 1 0 1 14
2 2

117
Capítulo 5 Texto Guía -Sistemas de Ingeniería

La variable x3 es la variable que entra por ser el que tiene el coeficiente más negativo, y la
variable x6 es la variable que sale por la razón mínima que se hace con el método símplex
primal, lo cual da la siguiente tabla:
Básicas x1 x2 x3 x4 x5 x6 Solución
z -0.5 0 0 0.5 1 0 0
x2 -0.75 1 0 -0.25 0.5 0 4
x3 -0.25 0 1 0.25 0.5 0 0
x6 2.25 0 0 -1.25 -1.5 1 14

Y la tabla óptima es la siguiente (donde la variable que entra es x1 y la que sale es x6 ).

Básicas x1 x2 x3 x4 x5 x6 Solución
z 0 0 0 0.22 0.66 0.22 3.11
x2 0 1 0 -0.67 0 0.33 8.66
x3 0 0 1 0.11 0.33 0.11 1.55
x1 1 0 0 -0.56 -0.67 0.44 6.22

x1 = 6.22
Las respuestas factibles y óptimas son x 2 = 8.66
x3 = 1.55

Técnica de la cota superior


Es común en problemas de programación lineal que algunas o todas las variables
individuales xi tengan restricciones de cota superior.
xi ≤ u j

Donde u j es una constante positiva que representa al máximo valor factible de x j .


Se puso en relieve que el factor determinar en cuanto al tiempo de calculo al correr el
método símplex es el número es el número de restricciones funcionales, mientras que el
número de restricciones de no negatividad casi carece de importancia. Entonces, un número
grande de restricciones de cota superior incluidas en las restricciones funcionales
incrementa mucho el esfuerzo computacional requerido.
La técnica de la cota superior evita este mayor esfuerzo al eliminar las restricciones
de cota superior del conjunto de restricciones funcionales y al tratarlas por separado, en
esencia, como restricciones de no negatividad. Hacer esto no causa problemas siempre y
cuando ninguna de las variables adquiera un valor mayor que su cota superior. La única vez
que el método símplex incrementa alguna de las variables es cuando la variable básica
entrante aumenta su valor para obtener la nueva solución básica factible. La técnica de la
cota superior, simplemente aplica el método símplex al resto del problema (es decir, sin las
restricciones de cota superior) pero con la restricción adicional de que cada nueva solución

118
Capítulo 5 Texto Guía -Sistemas de Ingeniería

básica factible debe satisfacer las restricciones de cota superior además de las normales de
cota inferior (no negatividad).
Para poner en practica esta idea, note que una variable de decisión x j con una
restricción de cota superior x j ≤ u j siempre se puede sustituir por:

xj = uj − yj
En donde y j será entonces la variable de decisión. En otras palabras, se puede
elegir entre dos tipos de variables de decisión, la cantidad mayor que cero ( x j ) o la
cantidad menor que u j ( y j = u j − x j ). (Se hará referencias a x j y y j como variable de
decisión complementarias) como:
0 ≤ xj ≤ uj
También se cumple que:
0 ≤ yj ≤ uj
Entonces, en cualquier momento al trabajar con el método símplex se puede:
1. Usar en donde 0 ≤ x j ≤ u j .

2. Sustituir x j por u j − y j , en donde 0 ≤ y j ≤ u j .


La técnica de la cota superior emplea la siguiente regla para hacer esta elección:
 Regla: comenzar con la opción 1.
 Si x j = 0 , se utiliza la opción 1, de manera que x j es no básica.
 Si x j = u j , se utiliza la opción 2, de manera que y j = 0 es no básica.

 Se cambia de opción solo cuando x j alcanza el otro valor extremo.


Así pues, siempre que una variable básica llega a su cota superior se debe cambiar
de opción y usar su variable de decisión complementaria como la nueva variable no básica
(la variable que sale) para identificar la nueva solución básica factible. Entonces, la única
modificación sustantiva que se hizo al método símplex esta en la regla para elegir la
variable básica que sale.
Recuerde que el método símplex elige como variable básica que sale a aquella que
seria la primera en convertirse básica entrante. En cambio, con la modificación que se
acaba de hacer, se seleccionan la variable básica entrante. En cambio, con la modificación
que se acaba de hacer, se selecciona la variable que seria la primera en no factible en
cualquier dirección, ya sea por volverse negativa o por sobrepasar la cota superior cuando
se incrementa la variable básica entrante. (Obsérvese que una posibilidad es que la variable
básica entrante se vuelva no factible si adquiere un valor mayor que su cota superior, en
este caso su variable complementaria se convierte en la variable que sale). Si la variable
básica que sale adquiere el valor cero, se procede con el método símplex en forma normal,
pero si por el contrario alcanza su cota superior, entonces se cambia de opción y su variable
de decisión complementaria será la variable básica que sale.

119
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.6.


Maximizar z = 2 x1 + x2 + 2 x3
Sujeta a:
4x1 + x2 = 12
− 2x1 + x3 = 4
0 ≤ x1 ≤ 4 0 ≤ x2 ≤ 15 0 ≤ x3 ≤ 6
Así, las tres variables tienen restricciones de cota superior ( u1 = 4, u 2 = 15, u3 = 6 ).
Las dos restricciones de igualdad se encuentran ya en la forma apropiada de
eliminación de Gauss para identificar la solución básica factible inicial
( x1 = 0, x2 = 12, x3 = 4 ) y ninguna de las variables de esta solución excede su cota superior;
así, x2 y x3 se pueden usar como variables básicas iniciales estas variables de la función
objetivo para obtener la ecuación (0) inicial.
z − 2x1 − x2 − 2x3 = 0
+ (4 x1 + x2 = 12)
+ 2(−2 x1 + x3 = 4)
z − 2x1 = 20
Para comenzar con la primera iteración, esta ecuación (0) inicial indica que la
variable básica entrante inicial es x1 . Como las restricciones de cota superior no están
incluidas, el conjunto inicial completo de ecuaciones y los cálculos correspondientes para
seleccionar la variable básica que sale se muestra en la tabla siguiente:
Conjunto inicial de ecuaciones Valor factible máximo de x1
x1 ≤ 4 (ya que u1 = 4 )
(0) z − 2x1 = 20 12
x1 ≤ = 3
(1) + 4x1 + x2 = 12 4
(2) − 2x1 + x3 = 4 6−4
x1 ≤ = 1 ← mínimo (ya que u3 = 6 )
2
La segunda columna muestra cuanto puede aumentar la variable básica entrante x1
antes de que alguna variable básica (incluyendo a x1 ) se vuelva no factible. Ahora, el valor
máximo que se da a la ecuación (0) es sencillamente la cota superior para x1 . Para la
ecuación (1), como el coeficiente de x1 es positivo, al aumentar a 3 su valor, la variable
básica ( x2 ) en esta ecuación disminuye de 12 a su cota inferior de cero. En la ecuación (2),
el coeficiente de x1 es negativo, por lo que se aumenta su valor a 1 la variable básica ( x3 ) en
esta ecuación aumenta de 4 a su cota superior de 6.
Este ultimo valor máximo de x1 es el más pequeño, lo que determina que x3 sea la
variable básica que sale. Ahora bien, como x3 alcanzo su cota superior, x3 se sustituye por
6 − y3 de manera que y3 = 0 se convierte en la nueva variable no básica en la siguiente

120
Capítulo 5 Texto Guía -Sistemas de Ingeniería

solución básica factible y x1 se convierte en la nueva variable básica en la ecuación (2). Este
reemplazo lleva a los siguientes cambios en esa ecuación:
(2) − 2x1 + x3 = 4
→ − 2x1 + 6 − y3 = 4
→ − 2x1 − y3 = −2
1
→ x1 + y3 = 1
2
Entonces, después de eliminar algebraicamente x1 de todas las demás ecuaciones, el
segundo conjunto completo de ecuaciones es:
(0) z + y3 = 22
(1) + x2 − 2 y3 = 8
1
(2) + x1 + y3 = 1
2
La solución básica factible que se obtiene es x1 = 1, x2 = 8, y3 =0. De acuerdo con la
prueba de óptimalidad, se trata de una solución óptima, por lo que x1 = 1, x2 = 8, x3 =6
− y3 = 6 es la solución que se busca para el problema original.

5.6 Análisis Pos-óptimo o de sensibilidad


El entorno de la construcción y de la ingeniería civil muchas veces es impredecible e
incierto debido a factores tales como cambios económicos, reglamentaciones públicas,
dependencia de subcontratistas y proveedores, etc. Los ingenieros generalmente se ven
inmersos en un entorno dinámico e inestable donde aun los planes a corto plazo deben re-
evaluarse constantemente y ajustarse de manera incremental. Todo esto requiere una
mentalidad orientada al cambio para hacer frente a las incertidumbres. Recuerde que las
sorpresas no forman parte de una decisión sólida.
El hombre utiliza la construcción (modelos) matemáticos e informáticos para una
variedad de entornos y propósitos, con frecuencia para conocer los posibles resultados de
uno o más planes de acción. Esto puede relacionarse con la construcción, inversiones
financieras, prácticas industriales e impactos ambientales. El uso de modelos se ve
perjudicado por la inevitable presencia de incertidumbres, que surgen en distintas etapas,
desde la construcción y corroboración del modelo en sí hasta su uso. Normalmente su uso
es el culpable.
Toda solución a un problema de toma de decisiones se basa en determinados
parámetros que se presumen como fijos. El análisis de sensibilidad es un conjunto de
actividades posteriores a la solución que sirven para estudiar y determinar qué tan sensible
es la solución a los cambios en las hipótesis. Estas actividades también se denominan
análisis de estabilidad, análisis what-if o de hipótesis, modelación de escenarios, análisis
de especificidad, análisis de incertidumbre, análisis de inestabilidad numérica,
inestabilidad funcional y tolerancia, análisis de post óptimalidad, aumentos y
disminuciones admisibles y muchos otros términos similares que reflejan la importancia de
esta etapa del proceso de modelación.

121
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Se puede hacer frente a las incertidumbres de una manera más "determinista". Este
abordaje tiene distintos nombres tales como "modelación de escenarios", "modelación
determinista", "análisis de sensibilidad" y "análisis de estabilidad". La idea es generar, de
manera subjetiva, una lista ordenada de incertidumbres importantes que supuestamente
podrían tener un mayor impacto sobre el resultado final. Esto se lleva acabo antes de
focalizarse en los detalles de cualquier "escenario" o modelo.
Resulta vital comprender la influencia de lo antedicho en el plan de acción sugerido
por el modelo por las siguientes razones:
 Pueden presentarse distintos niveles de aceptación (por el público en general, por
los decisores, por las partes interesadas) a distintos tipos de incertidumbre.
 Distintas incertidumbres tienen distintos impactos sobre la confiabilidad, robustez y
eficiencia del modelo.
 La relevancia del modelo, depende en gran medida del impacto de la incertidumbre
sobre el resultado del análisis. Las sorpresas no forman parte de las decisiones
óptimas sólidas.
Existen numerosos ejemplos de entornos donde esto es aplicable, tales como:
• Construcción de indicadores.
• Análisis y pronóstico de riesgo.
• Optimización y calibración de modelos.
A continuación, sigue una lista abreviada de las razones por las cuales se debe tener
en cuenta el análisis de sensibilidad:
Toma de decisiones o desarrollo de recomendaciones para decisores:
• Para probar la solidez de una solución óptima. Las sorpresas no forman parte
de las decisiones óptimas sólidas.
• Para identificar los valores críticos, umbrales, o valores de equilibrio donde
cambia la estrategia óptima.
• Para identificar sensibilidad o variables importantes.
• Para investigar soluciones sub-óptimas.
• Para desarrollar recomendaciones flexibles que dependan de las
circunstancias.
• Para comparar los valores de las estrategias de decisión simples y complejas.
• Para evaluar el riesgo de una estrategia o escenario.
Comunicación:
• Para formular recomendaciones más creíbles, comprensibles, contundentes o
persuasivas.
• Para permitir a los decisores seleccionar hipótesis.
• Para comunicar una falta de compromiso a una única estrategia.
• El decisor debe incorporar algunas otras perspectivas del problema tal como
perspectivas culturales, políticas, psicológicas, etc. en las recomendaciones
del científico de administración.

122
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Aumentar la comprensión o aptitud del sistema:


• Para estimar la relación entre las variables de entrada y las de salida.
• Para comprender la relación entre las variables de entrada y las de salida.
Para desarrollar pruebas de las hipótesis.
Desarrollo del modelo:
• Para probar la validez o precisión del modelo.
• Para buscar errores en el modelo
• Para simplificar el modelo.
• Para calibrar el modelo.
• Para hacer frente a la falta o insuficiencia de datos.
• Para priorizar la adquisición de información.
El análisis de sensibilidad o pos-optimidad investiga y trata del cambio de la
solución óptima que resulta de hacer cambios en los parámetros del modelo matemático de
la programación lineal, en la tabla siguiente se describe todos los posibles casos que puedan
darse en el análisis de sensibilidad, así como la acciones necesarias para obtener la nueva
solución (si es que existiera):

El análisis pos-óptimo se refiere a la determinación de los efectos causados sobre la


solución óptima, por las variaciones en los parámetros.

Pregunta. En un modelo de programación lineal en general, ¿Cuáles parámetros son


estimados?
Respuesta. Los parámetros que son estimados más a menudo son: los coeficientes (utilidad
unitaria o costos unitarios) de las variables de la función objetivo, los números del lado
derecho de las restricciones y los coeficientes de las variables de las restricciones.

Condiciones resultante de los cambios Acción recomendada


• La solución actual queda óptima y • No es necesaria acción alguna.
factible.

• La solución actual se vuelve no • Usar el símplex dual para


factible. recuperar la factibilidad.

• La solución actual se vuelve no • Usar el símplex primal para


óptima. recuperar la óptimalidad.

• La solución actual se vuelve no • Usar el método símplex


óptima y no factible, al mismo generalizado para obtener una
tiempo. nueva solución.

123
Capítulo 5 Texto Guía -Sistemas de Ingeniería

5.7 Cambios que afectan la factibilidad


La factibilidad de la solución óptima solo puede variar si:
1. Cambia el lado derecho de las restricciones.
2. Se agrega al modelo una restricción nueva.
En ambos casos se tiene no factibilidad cuando al menos un elemento del lado
derecho en la tabla óptima se hace negativo; esto es, una o más de las variables básicas
actuales se vuelve negativa.
5.7.1 Cambios en el lado derecho.
Estos cambios requieren volver a calcular el lado derecho de la tabla, usando la
Formula 1 (véase sección 5.6) lo cual es:

Columna de Columna
Inversa en la Formula 1
restricción en = =

original de
= iteración i ×
iteración i restricción

Se tiene que tener en cuenta, de que el lado derecho de la tabla expresa los valores
de las variables básicas. En el siguiente ejemplo se muestra este procedimiento:
Ejemplo de aplicación 5.7.
Ladrillos S.A. fabrica tres tipos de ladrillos: Ladrillo de 3era Clase, Ladrillo de 2da
Clase y Ladrillo de 1era Clase, los cuales se hacen con 3 operaciones. Los límites diarios de
tiempo disponible para las tres operaciones son 430, 460 y 420 minutos, respectivamente y
las utilidades por el ladrillo de 3era Clase, 2da Clase y 1era Clase son Bs. 3, Bs. 2 y Bs. 5,
respectivamente. Los tiempos de fabricación de la 3era Clase, en las 3 operaciones son 1, 3 y
1 minutos, respectivamente. Los tiempos respectivamente para el de 2da Clase y 1era Clase
son (2, 0, 4) y (1, 2, 0) minutos (un tiempo de cero indica que no se uso la operación).
Si x1 , x 2 y x3 representan la cantidad diaria de unidades fabricadas de ladrillos de
3 Clase, 2da Clase y 1era Clase y si los modelos de programación lineal primal y dual son
era

los siguientes:
Problema Primal Problema Dual
Maximizar z = 3 x1 + 2 x 2 + 5 x3 Minimizar w = 430 y1 + 460 y 2 + 420 y 3
Sujeta a: Sujeta a:
x1 + 2 x 2 + x3 ≤ 430 (Operación 1) y1 + 3 y 2 + 3 y 3 ≥ 3
3 x1 + 2 x3 ≤ 460 (Operación 2) 2 y1 + 4 y3 ≥ 2
x1 + 2 x3 ≤ 420 (Operación 3) y1 + 2 y 2 ≥5
x1 , x 2 , x3 ≥ 0 y1 , y 2 , y 3 ≥ 0

Solución Óptima: Solución Óptima:

x1 = 0, x 2 = 100, x3 = 230, z = 1350 Bs y1 = 1, y 2 = 2, y 3 = 0, z = 1350 Bs

124
Capítulo 5 Texto Guía -Sistemas de Ingeniería

La tabla inicial del primal es la siguiente:


Básicas x1 x2 x3 x4 x5 x6 Solución

z -3 -2 -5 0 0 0 0

x4 1 2 3 1 0 0 430

x5 3 0 2 0 1 0 460

x6 1 2 0 0 0 1 420

La tabla óptima del problema primal es la siguiente


Básicas x1 x2 x3 x4 x5 x6 Solución
z 4 0 0 1 2 0 1350
x2 −1 1 0 1 −1 0 100
4 2 4
x3 3 0 1 0 1 0 230
2 2
x6 2 0 0 -2 1 1 20
Supongamos que Ladrillos S.A. desea ampliar su capacidad de fabricación
aumentando en un 40 % la capacidad diaria de cada una, hasta 602, 644 y 588 minutos,
respectivamente. Con esos aumentos, el único cambio que se hará en la tabla óptima es el
lado derecho de las restricciones (y el valor objetivo óptimo), lo cual la nueva solución
básica se determina como sigue:

Nuevo lado Nuevo lado


derecho de la Inversa en la derecho de la
= =

Formula 1
tabla en la = × iteración i
iteración i
iteración i

 1 − 1 0
 x2   2 4  602  140 
      
 x3  =  0 1 0  644  =  322 
2 
x      
 6  − 2 1 1  588   328 
 
Lo cual las nuevas variables básicas x 2 , x3 y x6 siguen siendo factibles con los
nuevos valores 140, 322 y 328. La utilidad óptima correspondiente es 1890 Bs.
5.7.2 Intervalos de factibilidad de los elementos del lado derecho.
Otra forma de examinar el efecto de cambiar la disponibilidad de los recursos (es
decir, el vector del lado derecho) es determinar el intervalo para la cual la solución actual o
del momento permanece factible. El siguiente ejemplo se muestra este procedimiento:

125
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.8.


En el modelo utilizado anteriormente de Ladrillos S.A., se quiere suponer que lo
que interesa es determinar el intervalo de factibilidad de la capacidad de la operación 1. Se
puede hacer reemplazando el lado derecho con:
 430 + D1 
 
 460 
 420 
 
La cantidad D1, representara el cambio de la operación 1, arriba y debajo del valor
actual de 430 minutos, la solución básica permanecerá factible si todas las variables básicas
son no negativas esto es se ve a continuación:
 D1 
 1 − 1 0  100 + 
 x2   2 4  430 + D1  2   0 
     
 x3  =  0 1 0  460  =  230  ≥ 0
2 
x        
 6  − 2 1 1  420   20 + 20 D1   0 
   
 
Las condiciones que resultan llevan a las siguientes cotas de D1:
(x2 ≥ 0) : 100 + D1 ≥ 0 ⇒ D1 ≥ −200
(x3 ≥ 0) : x3 es independiente de D1
(x6 ≥ 0) : 20 − 2 D1 ≥ 0 ⇒ D1 ≤ 10
Lo cual se nota que la solución cuando se encuentre en el siguiente rango será
factible:
− 200 ≤ D1 ≤ 10
Lo cual equivale a variar los minutos de disponibilidad de la operación en el
siguiente intervalo:
430 − 200 ≤ (Capacidad de la operacion 1) ≤ 430 + 10
230 ≤ (Capacidad de la operacion 1) ≤ 440
El cambio en el valor objetivo óptimo que esta relacionado con D1 es D1 y1 , siendo
y1 el valor por unidad (precio dual), en Bs. por minuto de la operación 1.
5.7.3 Cambios realizados en una restricción
5.7.3.1 Añadir una nueva restricción
El proceso: Introduzca la solución óptima corriente en la restricción recién añadida.
Si la restricción no se viola, la nueva restricción NO afecta la solución óptima. De lo
contrario, el nuevo problema debe resolverse para obtener la nueva solución óptima.

126
Capítulo 5 Texto Guía -Sistemas de Ingeniería

5.7.3.2 Suprimir una restricción


El proceso: Determine si la restricción es obligatoria (es decir, activa, importante)
hallando si el valor de holgura/excedente es cero. Si es obligatoria, la supresión
puede cambiar la solución óptima corriente. Suprima la restricción y resuelva el
problema. De lo contrario (si no es una restricción obligatoria), la supresión no
afectará la solución óptima.
5.7.3.3 Reemplazar una restricción
Supongamos que se reemplaza una restricción por una nueva. ¿Cuál es el efecto de
este intercambio?
El proceso: Determine si la restricción previa es obligatoria (es decir, activa,
importante) hallando si el valor de holgura/excedente es cero. Si es obligatoria, el
reemplazo puede afectar la solución óptima corriente. Reemplace la restricción y
resuelva el problema. De lo contrario (si no es una restricción obligatoria),
determine si la solución corriente satisface la nueva restricción. Si la satisface,
entonces este intercambio no afectará la solución óptima. De lo contrario (si la
solución corriente no satisface la nueva restricción), reemplace la restricción
anterior por la nueva y resuelva el problema.
5.7.3.4 Añadir una variable (por ejemplo, introducir un nuevo producto)
El proceso: Construya la nueva restricción del problema solución óptima corriente
es óptima, de lo contrario produzca el nuevo producto (la solución óptima corriente
ya no es más óptima). Para determinar el nivel de dual. Inserte la solución dual en
esta restricción. Si la restricción se satisface, NO produzca el nuevo producto, la
producción del nuevo producto (es decir, una solución óptima mejor) resuelva el
siguiente problema.
5.7.3.5 Suprimir una variable (es decir, cancelar un producto)
El proceso: Si para la solución óptima corriente, el valor de la variable suprimida es
cero, entonces la solución óptima corriente sigue siendo la óptima sin incluir la
variable. De lo contrario, suprima la variable de la función objetivo y las
restricciones, y luego resuelva el problema.
A continuación mostraremos uno de los cambios que se puede realizar en una restricción:
5.7.3.6 Adicción de nuevas restricciones.
La adicción de una nueva restricción a un modelo existente puede llevar a uno de
los dos casos siguientes:
1. La nueva restricción es redundante (es decir sobrante), por lo cual se quiere decir
que se satisface con la solución óptima actual y por consiguiente, se puede eliminar
por completo del modelo.
2. La solución actual viola la nueva restricción, y en este caso se puede aplicar el
Método Símplex Dual para recuperar la factibilidad.
Se debe observar que la adicción de una nueva restricción como en el caso 2, nunca
puede mejorar el valor objetivo óptimo actual.

127
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Ejemplo de aplicación 5.9.


Se supone que en Ladrillos S.A. cambia la forma de fabricación de los ladrillos y
que para este cambio se requiere agregar o aumentar una 4ta operación en las fases de
fabricación. La capacidad diaria de la nueva operación es de 500 minutos, y los tiempos por
unidad, para los tres productos en esta operación son 3, 1 y 1 minutos, respectivamente. La
restricción resultante se forma, por consiguiente, como sigue:
3 x1 + x 2 + x3 ≤ 500
Este restricción es redundante como se hablo anteriormente, lo cual inferimos de
que se queda satisfecha con la solución óptima actual
x1 = 0, x 2 = 100, x3 = 230, z = 1350 Bs . Eso quiere decir que la solución óptima actual
permanece sin cambios.
Ahora pongamos que los tiempos por unidad para Ladrillos S.A., para la cuarta
operación son 3, 3 y 1 minutos, respectivamente. Todos los datos restantes del modelo
quedaran iguales, ahora la cuarta restricción quedara así:
3 x1 + 3 x 2 + x3 ≤ 500
Por lo que se nota reemplazando los valores de x1 = 0, x 2 = 100, x3 = 230 , se tiene
530 ≤ 500 lo cual no queda satisfecha por la solución actual. Lo cual debemos aumentar la
nueva restricción a la tabla óptima actual, como se ve a continuación (donde x7 es holgura).
Como se muestra la siguiente tabla:
Básicas x1 x2 x3 x4 x5 x6 x7 Solución
z 4 0 0 1 2 0 0 1350
x2 −1 1 0 1 −1 0 0 100
4 2 4
x3 3 0 1 0 1 0 0 230
2 2
x6 2 0 0 -2 1 1 0 20
x7 3 3 1 0 0 0 1 500

Como se puede observar las variables x 2 y x3 son básicas, se debe sustituir y


eliminar sus coeficientes de restricción en el renglón de x7 , lo que se puede hacer con la
siguiente operación:
Nuevo renglón de x7 =Renglón anterior de x7 -{3× (renglón de x 2 )+ 1× (renglón de x3 )}

128
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Entonces la nueva tabla es la siguiente:


Básicas x1 x2 x3 x4 x5 x6 x7 Solución
z 4 0 0 1 2 0 0 1350
x2 −1 1 0 1 −1 0 0 100
4 2 4
x3 3 0 1 0 1 0 0 230
2 2
x6 2 0 0 -2 1 1 0 20
x7 9 0 0 −3 1 0 1 -30
4 2 4
Luego se aplica el método símplex dual lo cual dará como resultado la nueva
solución óptima: x1 = 0, x 2 = 90, x3 = 230, z = 1330 Bs .

5.8 Cambios que afectan la óptimalidad


En esta sección se examinan dos soluciones particulares que podrían afectar la
óptimalidad de solución actual:
1. Cambios en los coeficientes objetivo originales.
2. Adición de una nueva actividad económica (variable) al modelo.
5.8.1 Cambios en los coeficientes de la función objetivo.
Esos cambios solo afectan la óptimalidad de la solución. Por consiguiente requieren
recalcular los coeficientes del renglón z, con el siguiente procedimiento:
1. Calcular los valores duales con los Métodos 1 y 2 de la sección 5.6
2. Usar valores duales en la Formula 2 de la sección 5.6, para determinar los
nuevos coeficientes en el renglón z.
Se presentaran dos casos:
1. El nuevo renglón de z satisface la condición de óptimalidad, y la solución
permanece sin cambio (sin embargo, el valor objetivo óptimo puede cambiar).
2. La condición de óptimalidad no se satisface, y en ese caso se aplica el Método
Símplex (primal) para recuperar la óptimalidad.
Ejemplo de aplicación 5.10.
En el modelo ya utilizado de Ladrillos S.A., supongamos que la empresa tiene una
nueva política para igualar la competencia. Bajo la nueva política, las utilidades por unidad
son Bs. 2, Bs. 3 y Bs. 4, por los ladrillos de 3era Clase, 2da Clase y 1era Clase,
respectivamente, la nueva función objetivo es:
Maximizar z = 2 x1 + 3 x 2 + 4 x3

129
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Problema Primal Problema Dual


Maximizar z = 2 x1 + 3 x 2 + 4 x3 Minimizar w = 430 y1 + 460 y 2 + 420 y 3
Sujeta a: Sujeta a:
x1 + 2 x 2 + x3 ≤ 430 (Operación 1) y1 + 3 y 2 + 3 y 3 ≥ 2
3 x1 + 2 x3 ≤ 460 (Operación 2) 2 y1 + 4 y3 ≥ 3
x1 + 2 x3 ≤ 420 (Operación 3) y1 + 2 y 2 ≥4
x1 , x 2 , x3 ≥ 0 y1 , y 2 , y 3 ≥ 0

Y la nueva tabla inicial del primal es la siguiente:


Básicas x1 x2 x3 x4 x5 x6 Solución
z -2 -3 -4 0 0 0 0
x4 1 2 3 1 0 0 430
x5 3 0 2 0 1 0 460
x6 1 2 0 0 0 1 420
Así:
(Nuevos coeficientes objetivo de x 2 , x3 y x6 básicas) = (3, 4, 0)
Las variables duales se calculan con el Método 1 de la sección 5.6, como sigue:
 1 − 1 0
 2 4 

( y1 , y 2 , y3 ) = (3,4,0) 0 2  2 4
(
1 0 = 3 , 5 ,0 )
− 2 
 1 1 
 
Los coeficientes del renglón z se determinan como la diferencia entre los lados
izquierdos y derecho de las restricciones duales (formula 2, sección 5.6). No es necesario
otra vez calcular los coeficientes de las variables básicas x 2 , x3 y x6 en el renglón objetivo,
por que siempre son iguales a cero, independientemente de los cambios que se haya hecho a
los coeficientes objetivos.

2
( )
x1 : y1 + 3 y 2 + y 3 − 2 = 3 + 3 5 + 0 − 2 = 13
4 4
x 4 : y1 − 0 = 3
2
x5 : y 2 − 0 = 5
4

130
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Notamos que el lado derecho de la restricción dual asociada con x1 es 2, el


coeficiente nuevo en la función objetivo modificada.
Los cálculos indican en la solución actual, x1 = 0, x 2 = 100, x3 = 230 . La nueva
utilidad se calcula de la siguiente manera como 2×0 + 3×100 + 4×230 = Bs. 1220.
Ahora supongamos que la función objetivo de Ladrillos S.A. es:
Maximizar z = 6 x1 + 3 x 2 + 4 x3
Los cambios correspondientes en el renglón z se indican en la siguiente tabla:
Básicas x1 x2 x3 x4 x5 x6 Solución
z −3 0 0 3 5 0 1220
4 2 4
x2 − 1 1 0 1 − 1 0 100
4 2 4
x3 3 0 1 0 1 0 230
2 2
x6 2 0 0 -2 1 1 20
Los elementos que están en la celda sombreada son las nuevas z j − c j para las
variables no básicas x1 , x 4 y x5 , todos los elementos restantes de la tabla son iguales a los de
la iteración original óptima. Entonces la nueva solución óptima se determina haciendo
entrar x1 y salir x6 con lo que se da es:
x1 = 10, x 2 = 102.5, x3 = 215 y z = 1227.50 Bs
5.8.2 Intervalo de óptimalidad de los coeficientes objetivo.
Otra forma de investigar el efecto de los cambios en los coeficientes de la función
objetivo es calcular el intervalo para el que cada coeficiente individual mantenga la
solución óptima actual. Esto se hace reemplazando el cj actual con cj + dj, donde dj
representa la cantidad (positiva o negativa) de cambio.
Ejemplo de aplicación 5.11.
Supongamos que la función objetivo del modelo Ladrillos S.A. cambia a:
Maximizar z = (3 + d1 )x1 + 2 x 2 + 5 x3
Determinar el intervalo de óptimalidad para el cambio d1.
Seguiremos el procedimiento que se describió arriba. Pero hay que observar que la
variable x1 no es básica en la tabla óptima. Los valores duales no se verán afectados por
este cambio y en consecuencia permanecerán igual que en el modelo original es decir
y1 = 1, y 2 = 2, y 3 = 0 .
En realidad, como x1 es no básica, solo afectara su coeficiente en el renglón z y
todos los demás coeficientes de ese renglón permanecerán sin cambio. Lo cual nos indica
que debemos emplear la formula 2 sección 5.6 a la restricción dual asociada solo con x1 ,
lo cual nos da:
x1 : y1 + 3 y 2 + y 3 − (3 + d1 ) = 1 + 3(2 ) + 0 − (3 + d1 ) = 4 − d1

131
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Como el modelo de Ladrillos S.A. es un problema de maximización, la solución


original permanecerá óptima siempre que:
4 − d1 ≥ 0
Ósea
d1 ≤ 4
Analizando y remplazando quiere decir que la solución actual permanecerá óptima
siempre que el coeficiente objetivo c1 (= 3 + d1 ) de x1 no sea mayor que 3 + 4 = Bs. 7.
5.8.3 Adición de una nueva actividad.
La adición de una nueva actividad en un modelo de programación lineal equivale a
agregar una nueva variable. En forma intuitiva, la adición de una nueva actividad solo es
deseable si es rentable, solo sirve si mejora el valor óptimo de la función objetivo. Esta
condición se puede comprobar aplicando la Formula 2 de la sección 5.6, a la nueva
actividad. Como esa nueva actividad no es todavía parte de la solución, se puede considerar
como una variable no básica. Lo cual quiere decir que los valores duales asociados con la
solución actual permanecen invariables.
Si la Formula 2 de la sección 5.6, indica que la nueva actividad satisface la
condición de óptimalidad, la actividad no es rentable. En caso contrario, es mejor tener en
cuenta la nueva actividad.
Ejemplo de aplicación 5.12.
Ladrillos S.A. reconoce los ladrillos de 3er Clase no se producen en la actualidad por
que no son rentables. La empresa quiere remplazar los ladrillos de 3er Clase con un nuevo
producto, un ladrillo de diferente clase pero que utilice las instalaciones existentes.
Ladrillos S.A. estima que la utilidad por esta nueva clase es de Bs. 4 y los tiempos de
fabricación son de 1 minuto en cada de las operaciones 1 y 2, y 2 minutos en la operación
3.
Sea x7 el nuevo producto. Como y1 = 1, y 2 = 2, y 3 = 0 son los valores duales
óptimos, el costo reducido se puede calcular como sigue:
1 y1 + 1 y 2 + 2 y 3 − 4 = 1 × 1 + 1 × 2 + 2 × 0 − 4 = −1
Según lo obtenido resulta conveniente económicamente la inclusión de la
variable x7 en la solución óptimo se calcula primero la columna de restricciones con la
Formula 1 sección 5.6, como sigue:

 1 − 1 0 1 
 2 4 1   4 
 

Columna de restricción de x7 =  0 1 0 1  =  1 
2   2
− 2  2  
 1 1    1 
   

132
Capítulo 5 Texto Guía -Sistemas de Ingeniería

Así se debe modificar la tabla símplex actual como sigue:


Básicas x1 x2 x3 x7 x4 x5 x6 Solución
z 4 0 0 -1 1 2 0 1350
x2 −1 1 0 1 1 −1 0 100
4 4 2 4
x3 3 0 1 1 0 1 0 230
2 2 2
x6 2 0 0 1 -2 1 1 20
Se determina el nuevo óptimo haciendo entrar x7 a la solución básica, y en ese caso
se debe salir x6 . La nueva solución será: x1 = 0, x 2 = 0, x3 = 125, x7 = 210 y z = 1465 Bs .
En el caso de agregar una actividad nueva también abarca al caso en que se hicieron
cambios a los usos de los recursos, en una actividad existente. En forma especifica se puede
considerar a x7 como si al principio tuviera un coeficiente de objetivo cero y uso cero de los
tres recursos, y que esos valores cero se cambiaron a los nuevo valores que se dan para x7 .
Por esta razón no se describirá por separado el caso de cambiar los coeficientes de
restricción de una variable existente.

133
Capítulo 5 Texto Guía -Sistemas de Ingeniería

5.9 Problemas propuestos


1. Dados los siguientes problemas lineales, plantear su primal y dual hallando las
soluciones simétricas; hacer su interpretación económica y aplicar los teoremas de
dualidad.
a) Fo: Max z = -5w1 - 2w2 + 1 w3
Sa:
w1 + w2 + w3 ≥ 10
5w1 - w3 ≥ 15
w1 ; w2 ≥1
w3 ≤ 0

b) Fo: Min z = 4x1 + 5x2


Sa:
x1 – 2x2 ≤ 2
2x1 + x2 ≤ 6
x1 + 2x2 ≤ 5
x1 + x2 ≥ 1
x1 ; x2 ≥ 0

c) Fo: Min z = 3x1 – 2x2


Sa:
x1 + x2 ≥ 0
3x1 + 5x2 ≥ 0
5x1 + 3x2 ≥ 0
2x1 – 3x2 ≥ 4
x1; x2 NO RESTRINGIDO
2. Considere el siguiente modelo de programación lineal

MODELO PRIMAL
Maximizar z = 2x1 + 3x2
Sujeto a 4x1 + 5x2 ≤ 6
7x1 + 8x2 ≤ 9
x1; x2 ≥ 0
Dar el dual del modelo primal.

3. Considere el siguiente modelo de programación lineal

MODELO PRIMAL
Maximizar z = 2x1 + 3x2 – 4x3
Sujeto a 5x1 + 6x2 + 7x3 ≤ 8
8x1 – 9x2 + 10 x3 ≤ 11
x1; x2; x3 ≥ 0

Dar el dual de este modelo.

134
Capítulo 5 Texto Guía -Sistemas de Ingeniería

4. Considere el siguiente modelo de programación lineal


MODELO PRIMAL
Minimizar z = 2x1 + 3x2
Sujeto a 4x1 + 5x2 ≥ 6
7x1 + 8x2 ≤ 9
x1; x2 ≥ 0
Dar el dual de este modelo.
5. Considere el siguiente modelo de programación lineal
MODELO PRIMAL
Maximizar z = 2x1 + 3x2 – 4x3
Sujeto a 5x1 + 6x2 + 7x3 ≤ 8
9x1 – 10x2 + 11 x3 = 12
13x1 – 14x2 + 15 x3 ≥ 16
x1; x2; x3 ≥ 0
Dar el dual de este modelo.
6. Considere el siguiente modelo de programación lineal
MODELO PRIMAL
Maximizar z = 2x1 + 3x2
Sujeto a 1x1 ≤2
1x2 ≤2
x1; x2≥ 0.

La solución óptima de este modelo primal se da en el siguiente tablero símplex.


Variable z x1 x2 S1 S2 Valor
Básica
x1 0 1 0 1 0 2
x2 0 0 1 0 1 2
z 1 0 0 2 3 10
Dar el dual del modelo primal anterior. Usando este tablero símplex, dar la solución
óptima para el modelo dual.
7. El modelo de programación lineal
MODELO PRIMAL
Maximizar z = 2x1 + 3x2 – 4x3
Sujeto a 1x1 + 0x2 + x3 ≤ 4
0x1 + 1x2 + 2x3 ≤ 6
x1; x2; x3 ≥ 0
La solución óptima de este modelo primal se da en el siguiente tablero símplex.
Variable z x1 x2 x3 S1 S2 Valor
Básica
x1 0 1 0 1 1 0 4
x2 0 0 1 2 0 1 6
z 1 0 0 12 2 3 24
Dar la solución óptima para el dual del modelo primal anterior. Muestre que la
solución óptima del modelo primal y la del modelo dual satisfacen las condiciones
de holgura complementaria.

135
Capítulo 5 Texto Guía -Sistemas de Ingeniería

8. El modelo de programación lineal


MODELO PRIMAL
Maximizar z = - 2x1 – 3x2 + 4x3
Sujeto a 1x1 + 0x2 + x3 ≥ 4
1x1 + 1x2 + 2x3 ≤ 6
x1; x2; x3 ≥ 0
La solución óptima de este modelo primal se da en el siguiente tablero símplex.

Variable z x1 x2 x3 S1 S2 Valor
Básica
x1 0 1 0 1 -1 0 4
x2 0 0 1 1 1 1 2
z 1 0 0 9 1 3 14

Dar la solución óptima para el dual del modelo primal. Muestre que las soluciones
óptimas de ambos modelos satisfacen las condiciones de holgura complementaria.

9. El modelo de programación lineal:

MODELO PRIMAL
Minimizar z = - 2x1 – 3x2 + 4x3
Sujeto a 1x1 + 0x2 + x3 ≥ 4
1x1 + 1x2 + 2x3 ≤ 6
x1; x2; x3 ≥ 0.

Al resolverlo como un problema equivalente a un problema de maximización de


utilidades, tiene la solución óptima dada en el tablero siguiente.

Variable z x1 x2 x3 -S1 S2 Valor


Básica
x1 0 1 0 1 -1 0 4
x2 0 0 1 1 1 1 2
z 1 0 0 9 1 3 14

Dar la solución óptima para el dual del modelo primal anterior. Muestre que las
soluciones óptimas del primal y del dual, satisfacen las condiciones de holgura
complementaria.

10. Resuelva por el Dual y de la tabla óptima del primal


Minimizar w = 3y1+2y2-y3
Sujeto a:
y1+2y2-y3≥10
2y1+y2+2y3≥8
y1+y2+y3≥0

136
Capítulo 5 Texto Guía -Sistemas de Ingeniería

5.10 Bibliografía
 MODELOS LINEALES DE OPTIMIZACIÓN – Rafael Terrazas Pastor [Segunda
Edición]
 INVESTIGACIÓN DE OPERACIONES – Hamdy A. Taha [Séptima Edición]
 INVESTIGACIÓN DE OPERACIONES – Moskowitz, Herbert; Wrigth, Gordon P.
 INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES – Frederick S.
Hillier, Gerald J. Lieberman. [Sexta Edición]
5.11 Enlaces
 http://apuntes.rincondelvago.com/analisis-de-sensibilidad.html
 http://www.itlp.edu.mx/publica/tutoriales/investoper1/unidad4.htm
 http://cursos.universia.net/app/es/showcourse.asp?cid=2146
 www.itson.mx/dii/elagarda/apagina2001/ PM/word/dualidadysensibilidad.ppt
 www.geocities.com/gilberto-rojas/index35.html

137
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

CAPÍTULO 6

MODELO DE TRANSPORTE

6.1 Introducción
Comúnmente se han considerado como un caso particular de los problemas lineales
los problemas de transporte y de asignación. Pero hemos de notar que se trata en realidad
de problemas de programación entera, dado que las variables que aparecen en estos
problemas son variables que han de tomar valores enteros. Este tipo de problemas los
vamos a tratar como problemas especiales de programación lineal, dado que su estructura
especial ha hecho que se desarrollen algoritmos específicos para este tipo de problemas,
más eficientes que el método símplex. No obstante, estamos más interesados en plantear su
estructura que en su resolución particular. Para ello recurriremos al uso del algoritmo de
símplex, aunque indicaremos diferentes programas de software donde encontrar los
algoritmos particulares para este tipo de problemas.
6.2 Antecedentes del problema
La primera referencia escrita de este problema se remonta a 1781, cuando el
matemático francés Gaspard Monge describe el problema de la construcción y
abastecimiento de fortificaciones militares de los ejércitos de Napoleón. Monge era
entonces general de los ejércitos napoleónicos. Para resolver este problema usó el método
de “cortar y llenar”, es decir, ir abasteciendo las diferentes trincheras desde los depósitos
de material existentes.
Formalmente, este problema aparece en 1941 cuando F.L. Hitchcock publica una
solución analítica para este problema, aunque su desarrollo se produce a finales de los años
40, cuando Koopmans (un joven holandés) realiza su tesis doctoral sobre los problemas de
embarque de la marina holandesa.
A partir de ese momento el campo de aplicación del problema del transporte
empieza a crecer de una forma muy rápida, no solo en aplicaciones militares, sino también
en el campo de la construcción, la producción, la distribución, las finanzas, etc.
6.3 Modelización del problema: hipótesis básicas
Se trata de uno de los primeros problemas que se formularon como problemas de
programación entera. El problema consiste en lo siguiente: Supongamos que tenemos m
orígenes (almacenes) que tienen que suministrar a n destinos (centros de consumo) un
cierto producto. La capacidad de oferta de cada origen i (i= 1,...m) es ai (ai>0), mientras que
la demanda de cada destino j (j=1,...n) es bj, (bj>0).
El costo de enviar una unidad de producto del origen i al destino j es Cij. El
problema consiste en determinar cuantas unidades de producto deben enviarse desde el
origen i al destino j, de forma que se minimice el costo de envío, y por descontado,
garantizando la demanda de los destinos y no excediendo de la capacidad de los orígenes.

138
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
A las variables de decisión xij representan la cantidad enviada desde el almacén i al
centro de consumo j, estas variables de decisión han de ser no negativas y enteras.
En lo sucesivo, y para el planteamiento formal del problema vamos a obviar la
condición de integridad de las variables, ya que bajo determinadas condiciones podemos
garantizar la existencia de una solución entera para el problema resolviéndolo como un
problema lineal.
Este problema se puede comprender mejor con la ayuda de la figura 6.1 siguiente,
en donde se han representado los orígenes y los destinos:

Figura 6.1

Por tanto, el problema se puede plantear matemáticamente como:


Función objetivo:
m n
Min z = ∑∑ C
i =1 j =1
ij xij

Sujeto a:
n

∑x
j =1
ij ≤ ai i = 1, 2,…, m

∑x
i =1
ij ≤ bj j = 1, 2,…, n

xij ≥ 0 i = 1, 2, …, m j = 1, 2,…, n

139
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

Donde:
z = Función Costo de Transporte Total a ser Minimizada.
Cij = Costo unitario de transportar el producto del origen i al destino j.
xij = Nº de unidades del producto a transportar del origen i al destino j (i = 1,
2,…, m y j = 1, 2,…, n).
ai = Oferta y/o capacidad del i-ésimo origen.
bj = Demanda y/o requerimiento del j-ésimo destino.
m = Nº de orígenes u ofertas.
n = Nº de destinos o demandas.
 n 
En este problema, el primer conjunto de restricciones  ∑ xij ≤ ai  nos esta
 j =1 
indicando que los envíos totales de cada uno de los i orígenes no puede exceder de la
cantidad disponibles en cada uno de los i almacenes. Por ejemplo, consideremos el origen
3. Para este origen la ecuación correspondiente seria la siguiente:
x31 + x32 + ..... + x3n ≤ a3
en donde x31 representa la cantidad enviada desde el origen 3 hasta el almacén 1, x32 es la
cantidad enviada desde el origen 3 hasta el almacén 2, y así sucesivamente. El término
independiente “a3” representa la cantidad total disponible en el origen 3, la cual -por
supuesto- no puede sobrepasarse.
 m 
El segundo conjunto de restricciones del problema  ∑ xij ≤ b j  esta indicando que
 i =1 
la cantidad recibida por cada uno de los j destinos no puede ser inferior a la demanda del
mismo. Estas ecuaciones tienen una interpretación similar a la dada anteriormente.
La simple observación de la estructura del problema nos indica que la suma de
disponibilidades en los orígenes debe ser mayor (o igual) que la suma de demandas de los
m n
destinos. En el caso contrario, es decir ∑ ai < ∑ b j no se podrán satisfacer todas las
i j

demandas.
Min z = c x
Sa.:
Ax=d
x≥0

140
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

En su forma desarrollada se puede expresar:


F.o.: Min z = C11x11 + C12x12 + …..…. + C1nx1n + ………+ Cmnxmn
Sa.: x11 + x12 + ……… + x1n = a1
x21 + x22 + ……… + x2n = a2
……………………………... Restricciones de Oferta
xm1 + xm2 + ……… +xmn = am
x11 + x21 + ……… + xm1 = b1
x12 + x22 + ……… + xm2 = b2
……………………………… Restricciones de Demanda
x1n + x2n + ……… +xmn = bn
xij ≥ 0
Esta formulación puede ser expresada en una matriz de costos.
Matriz de costos de transporte

Destinos
1 2 …… …… n Oferta
Orígenes
C11 C12 C1n
1 a1
x11 x12 x1n
C21 C22 C2n
2 a2
x21 x22 x2n

…… ……

Cm1 Cm2 Cmn


m am
xm1 xm2 xmn
Demanda b1 b2 bn

6.4 Propiedades matemáticas del problema


De este problema, podemos enunciar una serie de condiciones que garantizan
diversas propiedades.
Condición 1: Una condición necesaria y suficiente para que un problema de
transporte tenga solución es que la oferta total sea igual a la
demanda total, es decir:
m n

∑ ai = ∑ b j
i j

En el caso que en un problema determinado no se cumpla esta


condición, es decir, la cantidad disponible sea superior a la
cantidad demanda entonces podemos recurrir a incluir un
“destino ficticio” que recoja este exceso. O bien, en el caso

141
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
contrario, cuando la demanda sea superior a la oferta,
incluiremos un “origen ficticio”.
Condición 2: El problema de transporte tiene una solución factible acotada, si
los ai y bj lo están.
Condición 3: La matriz A de coeficientes, de orden m (filas) y n (columnas),
tiene un rango igual a n+m-1 (# de variables básicas).
Condición 4: Un orden secuencial de al menos cuatro celdas distintas se
denomina loop si:
1. Dos celdas consecutivas están en la misma columna o en la misma fila.
2. No tiene tres celdas consecutivas en una misma columna o en una misma fila.
3. La última celda de la secuencia tiene una fila o columna común con la
primera celda de la secuencia.
Las figuras siguientes muestran algunos tipos de loop en dos tablas de transporte:

Las siguientes figuras muestran algunos ejemplos de secuencias de celdas que no


conforman un loop, pues no satisfacen todas las condiciones.

Condición 5: La matriz A es una matriz unimodular, lo que significa, que


cualquier submatriz cuadrada de A de orden n+m-1 tiene una
determinante con un valor igual a 0 o a ± 1.
Esta quinta condición nos permite garantizar que si los ai y los bj son enteros y no
negativos, los valores de las variables en toda solución factible básica y entonces existe por
lo menos una solución factible básica óptima que es entera.
Por tanto, a partir de esta condición ya no es necesario introducir la condición de
integridad de las variables para obtener una solución óptima entera. Estas condiciones son
las que han permitido desarrollar nuevos algoritmos más eficientes que el método símplex,
es decir, algoritmos que emplean menos tiempo y menos iteraciones en resolver el
problema. No obstante, como ya hemos comentado con anterioridad para resolver los
problemas que plantearemos a continuación usaremos un programa lineal.

142
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

6.5 El algoritmo de transporte


El algoritmo de transporte sigue exactamente los mismos pasos que el método
símplex (Capitulo 4). Sin embargo, en lugar de usar la tabla símplex normal, se aprovecha
la estructura especial del modelo de transporte para organizar los cálculos en una forma
más cómoda.
Se debe agregar que el algoritmo especial de transporte fue desarrollado por
primera vez cuando la norma eran los cálculos a mano, y se necesitaba soluciones “con
método abreviado”. Hoy contamos con poderosos programas de cómputo que pueden
resolver un modelo de transporte de cualquier tamaño en forma de programación lineal. De
hecho, TORA usa el formato de modelo de transporte sólo como fachada en pantalla, pero
maneja todos los cálculos necesarios con el método símplex normal. Sin embargo, el
algoritmo, además de su importancia histórica, permite tener una perspectiva del uso de las
relaciones teóricas primal-dual, para llegar a un resultado práctico, de mejorar los cálculos
a mano. El ejercicio es intrigante desde el punto de vista teórico.
Para hallar una solución óptima al problema planteado, se deben considerar las
siguientes etapas:
Etapa 1. Balancear el Modelo
Es decir:
Oferta = Demanda
Etapa 2. Establecer una Solución Básica factible de inicio
Determinar el número de variables básicas (n + m – 1), después
establecer una solución básica factible de inicio utilizando algún
método de los siguientes:
 Método de la Esquina Noroeste (MEN)
 Método del Costo Mínimo (MCM).
 Método de Aproximación de Vogel (MAV).
Etapa 3. Hallar la solución óptima
Utilizando el algoritmo de transporte, empezando con la solución
básica factible de inicio dada. Usar la condición de optimalidad del
método símplex para determinar la variable de entrada entre todas las
variables no básicas. Si se satisface la condición de optimalidad,
detenerse. En caso contrario seguir en la etapa 3. Luego usar la
condición de factibilidad del método símplex para determinar la
variable de salida entre todas las variables básicas en ese momento, y
determinar la nueva solución básica. Regresar a la etapa 2.
A continuación se desarrollan estas 3 etapas.

143
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.5.1 Balanceo del modelo
La condición necesaria y suficiente para que el modelo tenga solución factible es
que la oferta debe ser igual a la demanda, es decir que debe cumplirse:
m n

∑ a = ∑b
i
i
j
j

O sea;
Oferta = Demanda
Sin embargo cuando se presenta un desbalance se debe considerar:
1. Si la oferta es mayor que la demanda, se debe añadir un centro de
DEMANDA ARTIFICIAL n + 1, donde la demanda bn + 1 es igual a (Σai -
Σbj), con costos igual a cero (ejemplo 6.1).
2. Si la demanda es mayor que la oferta, se debe añadir un centro de
OFERTA ARTIFICIAL m + 1, donde la oferta am + 1 es igual a (Σbj –Σai),
con costos igual a cero (ejemplo 6.2).
Ejemplo de aplicación 6.1
Problema de transporte no balanceado: Los suministros exceden la demanda.
Una determinada empresa que posee dos plantas de producción en Cochabamba y
Sucre con una capacidad de almacenamiento de 350 y 600 Toneladas, respectivamente.
Tiene que suministrar sus productos a tres clientes situados en Santa Cruz, Tarija y La Paz.
La demanda de estos clientes es de 325, 300 y 275 Toneladas, respectivamente
.La distancia desde Cochabamba a Santa Cruz es de 538 Km., a Tarija de 1046 Km.
y a La Paz de 439 Km. La distancia de Sucre a Santa Cruz es de 393 Km., a Tarija de 693
Km. y a La Paz de 673 Km. Debido a que se trata de un producto que requiere unos
transportes especiales, el costo del transporte por kilómetro y tonelada es de 5 $us.
La empresa se plantea cual debe ser la cantidad a transportar desde cada almacén a
cada uno de los clientes, de forma que el costo del transporte sea mínimo.
Este problema, es un ejemplo típico de transporte, aunque podemos observar que las
ofertas desde los almacenes son superiores a las demandas, en este caso podríamos
plantear un destino ficticio.
Observe que el suministro total = 950 Toneladas excede la demanda total = 900
toneladas por 950 – 900 = 50 Toneladas.
Para construir un modelo balanceado (suministro = demanda) creamos un punto de
demanda “ficticio” con una cantidad requerida igual a 50 toneladas. Llamaremos este
punto de demanda ficticio “número 4”.

144
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Esto produce el siguiente modelo de transporte balanceado.
Minimizar Z = (538*5) x11 + (1046*5) x12 + (439*5) x13 + (0*5) x14 + (393*5)
x21 + (693*5) x22 + (673*5) x23 + (0*5) x24
Sujeto a:
x11 + x12 + x13 + x14 = 350
Restr. de oferta
x21 + x22 + x23 + x24 = 600

x11 + x21 = 325


x12 + x22 = 300
x13 + x23 = 275 Restr. de demanda
Ficticio x14 + x24 = 50
xij ≥ 0 (i =1,2 y j = 1, 2, 3, 4)
Las dos variables en esta restricción (ver la restricción resaltada) son variables
ficticias. x14 y x24 en realidad representan la cantidad del producto en los puntos de
suministro de Cochabamba y Sucre, respectivamente, que no es enviada.
Ejemplo de aplicación 6.2
Problema de transporte no balanceado: La demanda excede el suministro.
Una determinada empresa que posee dos plantas de producción en Cochabamba y
Sucre con una capacidad de almacenamiento de 350 y 600 Toneladas, respectivamente.
Tiene que suministrar sus productos a tres clientes situados en Santa Cruz, Tarija y La Paz.
La demanda de estos clientes es de 350, 375 y 275 Toneladas, respectivamente.
La distancia desde Cochabamba a Santa Cruz es de 538 Km., a Tarija de 1046 Km.
y a La Paz de 439 Km. La distancia de Sucre a Santa Cruz es de 393 Km., a Tarija de 693
Km. y a La Paz de 673 Km. Debido a que se trata de un producto que requiere unos
transportes especiales, el costo del transporte por kilómetro y tonelada es de 5 $us.
La empresa se plantea cual debe ser la cantidad a transportar desde cada almacén a
cada uno de los clientes, de forma que el costo del transporte sea mínimo.
Este problema, es un ejemplo típico de transporte, aunque podemos observar que las
ofertas desde los almacenes son inferiores a las demandas, en este caso podríamos
plantear un suministro ficticio.
Así, la demanda total = 1000 Toneladas excede al suministro total = 950 Toneladas
por la cantidad de 1000 – 950 = 50 Toneladas.
Para construir una red de transporte balanceado (suministro = demanda) creamos un
punto de suministro “ficticio” con una cantidad disponible = demanda – suministro = 50
toneladas. Designaremos el nuevo punto de suministro ficticio con el “número 3”. Este
nuevo punto de suministro producirá tres nuevas variables ficticias: x31, x32 y x33.

145
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
El nuevo modelo de transporte balanceado es como sigue.
Minimizar Z = (538*5) x11 + (1046*5) x12 + (439*5) x13 + (393*5)
x21 + (693*5) x22 + (673*5) x23 + (0*5) x31 + (0*5) x32 + (0*5) x33
Sujeto a:
x11 + x12 + x13 = 350
x21 + x22 + x23 = 600 Restr. de ofer.
Ficticio x31 + x32 + x33 = 50
x11 + x21 x31 = 350
x12 + x22 + x32 = 375 Restr. de dem.
x13 + x23 + x33 = 275
xij ≥ 0 (i =1,2,3 y j = 1, 2, 3)
Las variables resaltadas son variables ficticias. x31, x32 y x33; representan la
cantidad de requerimientos en los puntos de demanda Santa Cruz, Tarija y La Paz
respectivamente, que no es satisfecha (déficit).
Un problema de distribución o de transporte puede ser balanceado añadiendo
un punto de suministro ficticio, si la demanda total excede al suministro total o
añadiendo un punto de demanda ficticio, si el suministro total excede a la demanda.
6.5.2 Determinación de la solución factible de inicio
Un modelo general de transporte con “m” fuentes y “n” destinos tiene m + n
ecuaciones de restricción, una para cada fuente y cada destino. Sin embargo, como el
modelo de transporte siempre está balanceado (suma de la oferta = suma de la demanda),
una de esas ecuaciones es redundante. Entonces el modelo tiene “m + n – 1” ecuaciones
independientes de restricción, lo que quiere decir que la solución básica factible de inicio
consiste en “m + n – 1” variables básicas.
La estructura especial del modelo de transporte permite asegurar que haya una
solución básica no artificial de inicio, obtenida con uno de los tres métodos siguientes.
 Método de la Esquina Noroeste (MEN)
 Método del Costo Mínimo (MCM).
 Método de Aproximación de Vogel (MAV).
Los tres métodos difieren en la “la calidad” de la solución básica factible de inicio
que se obtienen, en el sentido de que una mejor solución básica factible de inicio produce
un valor objetivo menor. En general, el método de aproximación de Vogel produce la
solución básica factible de inicio, y el de la Esquina Noroeste produce la peor.
La compensación es que el método de la Esquina Noroeste implica el mínimo de
cálculos.

146
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.5.2.1 Método de la Esquina Noroeste.
El procedimiento de la Esquina Noroeste es generalmente considerado por ser el
método más fácil al determinar una solución básica factible inicial. Es también considerado
por ser el menos probable para dar una buena solución inicial de “bajo costo” porque ignora
la magnitud relativa de los costos Cij.
Se siguen los siguientes pasos:
Paso 1. En la posición (1,1) de la matriz asigne el valor x11 correspondiente al
min (a1,b1), o sea x11 = min (a1,b1).
O sea, asignar todo los más que se pueda a la celda seleccionada.
Paso 2. Hallar los nuevos valores de oferta 1 y demanda 1
â1 = a1 – x11 y ɓ1 = b1 – x11
Si â1 se hace cero, pasar a la posición (2,1) donde:
x21 = min (b1 – x11 , a2).
Si ɓ1 se hace cero, pasar a la posición (1,2) donde y
x12 = min (a1 – x11, b2).
Es decir ajustar las cantidades asociadas a oferta y demanda restando la
cantidad asignada.
Paso 3. Salir del renglón o la columna cuando se alcance oferta o demanda
cero, y tacharlo, para indicar que no se pueden hacer más asignaciones
a ese renglón o columna.
Si un renglón y una columna dan cero al mismo tiempo, tachar solo
uno (el renglón o la columna) y dejar una oferta (demanda) cero en el
renglón (columna) que no se tacho.
Paso 4. Continuar el procedimiento partiendo de la posición asignada y llegar a
la posición (m,n)
Ejemplo de aplicación 6.3
El siguiente problema tiene tres orígenes y cuatro destinos. Las ofertas en los
orígenes O1, O2 y O3 son 20, 6 y 9 unidades respectivamente. Los requerimientos en los
destinos D1, D2, D3 y D4 son 5, 20, 5 y 5 unidades respectivamente. Los unitarios de envió
aparecen en la siguiente tabla.
D1 D2 D3 D4 Oferta

O1 20 30 40 20 20

O2 60 30 50 40 6

O3 20 10 40 70 9

Demanda 5 20 5 5 35

147
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

Entonces:
Primeramente ver si el problema esta balanceado Demanda = Oferta. El problema
esta balanceado porque el total de la oferta y demanda total son ambos igual a 35 unidades.
El modelo de transporte esta balanceado y la meta es minimizar el costo de envió
sujeto a las restricciones de disponibilidad y requerimientos. Esto es:
Minimizar Z = 20x11 + 30x12 + 40x13 + 20x14 + 60x21 + 30x22 + 50x23 + 40 x24
+20x31 + 10x32 + 40x33 + 70x34
Sujeto a:
x11 + x12 + x13 + x14 = 20
x21 + x22 + x23 + x24 =6 Restr. ofer.
x31 + x32 + x33 + x34 = 9
x11 + x21 x31 =5
x12 + x22 + x32 = 20 Rest. dem.
x13 + x23 + x33 =5
x14 + x24 + x34 = 5
xij ≥ 0 (i =1, 2, 3 y j = 1, 2, 3, 4)
Entonces el modelo tiene m + n ecuaciones, entonces 3 + 4 – 1 = 6 variables
básicas.
Al aplicar el procedimiento al modelo, se obtiene la solución básica factible de
inicio, las flechas indican el orden en el que se generan las cantidades asignadas.
iteración cero Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 20

60 30 50 40
2 6

20 10 40 70
3 9

Demanda 5 20 5 5 35

1º iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 15
5
60 30 50 40
2 6

20 10 40 70
3 9

Demanda 0 20 5 5 35

148
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
2º iteracion Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 15
60 30 50 40
2 6

20 10 40 70
3 9

Demanda 0 5 5 5 35

Y así sucesivamente hasta llegar a la iteración sexta. Como se ve en la figura


siguiente:
6ª iteracion Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 15
60 30 50 40
2 0
5 1
20 10 40 70
3 0
4 5
Demanda 0 0 0 0 35

La Solución básica factible de inicio es la siguiente:


x11 = 5, x12 = 15, x13 = 0, x14 = 0
x21 = 0, x22 = 5, x23 = 1, x24 = 0
x31 = 0, x32 = 0, x33 = 4, x34 = 5
El costo del programa correspondiente es:
Z = 5*20 + 15*30 + 0*40 + 0*20 + 0*60 + 5*30 + 1*50 + 0*40 + 0*20 +
0*10 + 4*40 + 5*70 = $ 1260.
Es improbable que este plan factible sea también el plan de envió factible de
mínimo costo o del método Aproximación de Vogel, ya que ignoramos la magnitud relativa
de los costos unitarios en cada iteración. Observe que se necesitan seis iteraciones en el
procedimiento de la esquina noroeste para construir un plan de envió factible inicial.
En general, un problema del transporte de tamaño m × n (m = números de origen
y n = número de destinos) requiere a lo máximo n + m -1 iteraciones.

149
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.5.2.2 Método del costo mínimo.
Este método determina una mejor solución de inicio, porque se concentra en las
rutas menos costosas; este es un procedimiento que se utiliza tomando como base a las
rutas que tengan el menor costo.
El procedimiento es el siguiente:
Asígnese el valor más grande posible a la variable con menor costo unitario de
toda la tabla (Cij). (Los empates se rompen arbitrariamente). Táchese el renglón o columna
satisfecha. (Como en el método de la esquina noroeste, si una columna y un renglón se
satisfacen de manera simultánea, sólo una puede tacharse). Después de ajustar la oferta y
la demanda de todos los renglones y columnas no tachados, repítase el proceso asignando el
valor más grande posible a la variable con el costo unitario no tachado más pequeño. El
procedimiento esta completo cuando queda exactamente un renglón o una columna sin
tachar.
Ejemplo de aplicación 6.4
Considere de nuevo la red de transporte del ejemplo 6.3.
iteración cero Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 20

60 30 50 40
2 6

20 10 40 70
3 9

Demanda 5 20 5 5
1ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 20

60 30 50 40
2 6

20 10 40 70
3 0
9
Demanda 5 11 5 5

150
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
2ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 15
5
60 30 50 40
2 6

20 10 40 70
3 0
9
Demanda 0 11 5 5

3ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 10
5 5
60 30 50 40
2 6

20 10 40 70
3 0
9
Demanda 0 11 5 0

4ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 10 5
60 30 50 40
2 6

20 10 40 70
3 0
9
Demanda 0 1 5 0

5ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 10 5
60 30 50 40
2 5
1
20 10 40 70
3 0
9
Demanda 0 0 5 0

151
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 10 5
60 30 50 40
2 0
1 5
20 10 40 70
3 0
9
Demanda 0 0 0 0

La Solución básica factible de inicio es la siguiente:


x11 = 5, x12 = 10, x13 = 0, x14 = 5
x21 = 0, x22 = 1, x23 = 5, x24 = 0
x31 = 0, x32 = 9, x33 = 0, x34 = 0
El costo del programa correspondiente es:
Z = 5*20 + 10*30 + 0*40 + 5*20 + 0*60 + 1*30 + 5*50 + 0*40 + 0*20 +
9*10 + 0*40 + 0*70 = $ 870.
6.5.2.3 Método de aproximación de Vogel.
El método comienza calculando por cada columna y por cada fila el castigo o
“penalty”. El castigo se calcula como la diferencia entre los dos costos menores (Cij) en la
columna o en la fila según corresponda. A continuación, se determina la fila o columna con
un mayor valor de castigo. Luego, se selecciona como variable básica la celda con menor
costo de la fila o columna, según corresponda, y se le asigna la máxima cantidad posible.
Una vez realizada la asignación, se descarta la fila o columna cuya oferta o
demanda haya sido completa. Se recalcula la demanda u oferta disponible en la fila o
columna. La primera asignación se ha completado.
Se vuelven a calcular los castigos por fila y por columna y se repite el
procedimiento descrito hasta completar las asignaciones posibles en la tabla.
La ventaja del método de Vogel por sobre el de la Esquina Noroeste es que va
adelante algunas iteraciones y por lo tanto se obtiene una solución inicial mejor.
Eventualmente puede ocurrir que aplicando el método se llegue directamente a la
solución óptima. La desventaja del método de Vogel radica en que sin duda es más
complejo que el de la esquina noroeste, por lo tanto es más difícil de implementar y más
proclive a errores en la aplicación.

152
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Ejemplo de aplicación 6.5
Considere de nuevo la red de transporte del ejemplo 6.3.
iteración cero Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 20 0

60 30 50 40
2 6 10

20 10 40 70
3 9 10

Demanda 5 20 5 5 35
Castigo 0 20 10 20

Aplicando el método de Aproximación de Vogel tenemos:


1ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 20 0

60 30 50 40
2 6 10

20 10 40 70
3 0
9
Demanda 5 11 5 5
Castigo 40 0 10 20

2ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 15 10
5
60 30 50 40
2 6 10

20 10 40 70
3 0
9
Demanda 0 11 5 5
Castigo 0 10 20

153
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
3ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 10 10
5 5
60 30 50 40
2 6 20

20 10 40 70
3 0
9
Demanda 0 11 5 0
Castigo 0 10
4ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 10 10
5 5
60 30 50 40
2 0
6
20 10 40 70
3 0
9
Demanda 0 5 5 0
Castigo

5ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes Castigo
20 30 40 20
1 5
5 5 5
60 30 50 40
2 0
6
20 10 40 70
3 0
9
Demanda 0 0 5 0
Castigo

6ª iteración Matriz de costos de transporte

Destinos
1 2 3 4 Oferta
Orígenes
20 30 40 20
1 0
5 5 5 5
60 30 50 40
2 0
6
20 10 40 70
3 0
9
Demanda 0 0 0 0

154
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
La Solución básica factible de inicio es la siguiente:
x11 = 5, x12 = 5, x13 = 5, x14 = 5
x21 = 0, x22 = 6, x23 = 0, x24 = 0
x31 = 0, x32 = 9, x33 = 0, x34 = 0
El costo del programa correspondiente es:
Z = 5*20 + 5*30 + 5*40 + 5*20 + 0*60 + 6*30 + 0*50 + 0*40 + 0*20 +
9*10 + 0*40 + 0*70 = $ 820.
6.5.3 Algoritmo de verificación y búsqueda del óptimo.
Una vez hallada la solución básica factible de inicio en el anterior punto, se aplican
los siguientes pasos para hallar la solución óptima. Este procedimiento es iterativo y trabaja
bajo los principios del método símplex.
A continuación se expondrán los pasos para aplicar el método Símplex para el
problema de Transporte. La deducción y justificación detallada de cada uno de los pasos se
puede encontrar en los textos de la bibliografía de la asignatura.
Paso 1. Si el problema no esta balanceado, balancearlo. Construir la tabla de
transporte. (descrita en el sección 6.5.1)
Paso 2. Encontrar una solución inicial factible por el método de la Esquina Noroeste,
Mínimo Costo o el de Vogel. Verificar las “m + n – 1” asignaciones y
completarlas si es necesario. (descrita en el sección 6.5.2)
Paso 3. Plantear y resolver el sistema que se obtiene a través de:
 Definir para cada fila de la tabla la variable ui con (i = 1….m).
 Definir para cada columna de la tabla la variable vj con (j = 1….n).
 Plantear para cada casilla asignada la ecuación ui + vj = Cij . Donde
Cij es el costo unitario asociado a la casilla i - j.
 Asignar un valor arbitrario a una de las variables, por ejemplo u1 = 0.
Paso 4. Calcular en todas las casillas no asignadas (no básicas) eij = Cij – ui – vj. Si
todos los eij ≥ 0 se ha encontrado el óptimo. Si existe algún eij < 0,
incorporar la variable con menor eij siempre y cuando pueda formar un loop,
en dicho caso, asignar el mayor valor posible de modo de mantener las
variables básicas mayores o iguales a cero.
Paso 5. Si la solución no es la óptima, emplear la solución del paso anterior para
volver a plantear y resolver el sistema (Paso 3). Seguir al Paso 4.
La variable eij representa el aporte neto unitario de la incorporación de la variable
i – j a la base. Por lo tanto, si el problema es de maximización, la solución seria óptima si
todos los eij < 0. En caso contrario, se ingresa a la base la variable con mayor eij que pueda
formar un loop.
En el caso de que al emplear uno de los métodos para obtener una solución inicial
falten dos o más asignaciones para completar las “m + n – 1” asignaciones requeridas, los
ceros deben ser ubicados de tal forma que sea suficiente dar solo un valor arbitrario a las
variables del sistema asociado a la asignación para poder resolverlo completamente.

155
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Ejemplo de aplicación 6.6
Ilustremos el procedimiento resolviendo la tabla planteado para el problema del
ejemplo 6.3.
En ese caso, mediante la Esquina Noroeste se obtuvo la siguiente solución inicial:
Matriz de costos de transporte

Destinos v1= v2= v3= v4=


Oferta
Orígenes 1 2 3 4
u1= 20 30 40 20
0
1 5 15
u2= 60 30 50 40
0
2 5 1
u3= 20 10 40 70
0
3 4 5
Demanda 0 0 0 0 35

Con un costo de Z = $1260


Luego, las ecuaciones se plantean en las casillas asignadas:
u1 + v1 = 20 (1) u2 + v3 = 50 (4)
u1 + v2 = 30 (2) u3 + v3 = 40 (5)
u2 + v2 = 30 (3) u3 + v4 = 70 (6)
Agregando la condición u1 = 0 se obtiene de (1) v1 = 20. Luego, de (2) v2 = 30. De
(3) y de (4) u2 = 0 y v3 = 50. Reemplazando en (5) se calcula u3 = –10. Finalmente, de (6)
se obtiene v4 = 80. A continuación se calculan los eij en las casillas no básicas:
eij = Cij – ui – vj
e13 = 40 – 0 – 50 = – 10 e24 = 40 – 0 – 80 = – 40
e14 = 20 – 0 – 80 = – 60 e31 = 20 – (-10) – 20 = 10
e21 = 60 – 0 – 20 = 40 e32 = 10 – (-10) – 30 = –10
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 50 v4= 80


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 15 -10 -60
u2= 0 60 30 50 40
6
2 40 5 1 -40
u3= -10 20 10 40 70
9
3 10 -10 4 5
Demanda 5 20 5 5 35

Por lo tanto, el menor eij corresponde a e14 con valor -60. Lo que significa que por
cada unidad asignada a la variable x14 el efecto global neto es de -60, independientemente
de que el costo asociado a dicha casilla sea de 20. Veamos si existe un loop factible y el
máximo valor α que podría tomar la variable.
Por lo tanto, la variable de entrada es x14.

156
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 50 v4= 80


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 15-α +α -60
u2= 0 60 30 50 40
6
2 5+α 1-α
u3= -10 20 10 40 70
9
3 4+α 5-α
Demanda 5 20 5 5 35

Como las variables deben ser positivas, el valor de α debe ser tal que no introduzca
una variable negativa a la tabla. En este caso, la condición que controla es 1 - α = 0, por lo
tanto α = 1. Entonces, la variable de salida es x23.
Introducimos el valor de α = 1, entonces tendremos:
1ª iteración Matriz de costos de transporte

Destinos
Oferta
Orígenes 1 2 3 4
20 30 40 20
20
1 5 14 1
60 30 50 40
6
2 6
20 10 40 70
9
3 5 4
Demanda 5 20 5 5 35

Con un costo total mínimo de Z = $1200


Y volvemos a plantear el sistema asociado:
u1 + v1 = 20 (1) u2 + v2 = 30 (4)
u1 + v2 = 30 (2) u3 + v3 = 40 (5)
u1 + v4 = 20 (3) u3 + v4 = 70 (6)
Agregando la condición u1 = 0, entonces se procede a hallar las restantes incógnitas
o sea, v1 = 20, v2 = 30, v4 = 20, u2 = 0, u3 = 50 y v3 = -10, respectivamente.
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= -10 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 14 1
u2= 0 60 30 50 40
6
2 6
u3= 50 20 10 40 70
9
3 5 4
Demanda 5 20 5 5 35

157
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
A continuación se calculan los eij en las casillas no básicas:
eij = Cij – ui – vj
e13 = 40 – 0 – (-10) = 50 e24 = 40 – 0 – 20 = 20
e21 = 60 – 0 – 20 = 40 e31 = 20 – 50 – 20 = –50
e23 = 50 – 0 – (-10) = 60 e32 = 10 – 50 – 30 = –70
Por lo tanto, el menor eij corresponde a e32 con valor -70. Veamos si existe un loop
factible y el máximo valor α que podría tomar la variable.
Por lo tanto, la variable de entrada es x32.
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= -10 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 14-α 1+α
u2= 0 60 30 50 40
6
2 6
u3= 50 20 10 40 70
9
3 +α -70 5 4-α
Demanda 5 20 5 5 35

Como las variables deben ser positivas, el valor de α debe ser tal que no introduzca
una variable negativa al la tabla. En este caso, la condición que controla es 4 - α = 0, por lo
tanto α = 4. Entonces, la variable de salida es x34.
Introducimos el valor de α = 4, entonces tendremos:
2ª iteración Matriz de costos de transporte

Destinos
Oferta
Orígenes 1 2 3 4
20 30 40 20
20
1 5 10 5
60 30 50 40
6
2 6
20 10 40 70
9
3 4 5
Demanda 5 20 5 5 35

Con un costo total mínimo de Z = $ 920


Y volvemos a plantear el sistema asociado:
u1 + v1 = 20 (1) u2 + v2 = 30 (4)
u1 + v2 = 30 (2) u3 + v2 = 10 (5)
u1 + v4 = 20 (3) u3 + v3 = 40 (6)

Agregando la condición u1 = 0, entonces se procede a hallar las restantes incógnitas


o sea, v1 = 20, v2 = 30, v4 = 20, u2 = 0, u3 = -20 y v3 = 60, respectivamente.

158
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 60 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 10 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
9
3 4 5
Demanda 5 20 5 5 35

A continuación se calculan los eij en las casillas no básicas:


eij = Cij – ui – vj
e13 = 40 – 0 – 60 = –20 e24 = 40 – 0 – 20 = 20
e21 = 60 – 0 – 20 = 40 e31 = 20 – (-20) – 20 = 20
e23 = 50 – 0 – 60 = –10 e34 = 70 – (-20) – 20 = 70
Por lo tanto, el menor eij corresponde a e13 con valor -20. Veamos si existe un loop
factible y el máximo valor α que podría tomar la variable.
Por lo tanto, la variable de entrada es x13.
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 60 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 10-α +α -20 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
9
3 4+α 5-α
Demanda 5 20 5 5 35

Como las variables deben ser positivas, el valor de α debe ser tal que no introduzca
una variable negativa a la tabla. En este caso, la condición que controla es 5 - α = 0, por lo
tanto α = 5. Entonces, la variable de salida es x33.
Introducimos el valor de α = 5, entonces tendremos:
3ª iteración Matriz de costos de transporte

Destinos
Oferta
Orígenes 1 2 3 4
20 30 40 20
20
1 5 5 5 5
60 30 50 40
6
2 6
20 10 40 70
9
3 9
Demanda 5 20 5 5 35

Con un costo total mínimo de Z = $ 820

159
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Y volvemos a plantear el sistema asociado:
u1 + v1 = 20 (1) u1 + v4 = 20 (4)
u1 + v2 = 30 (2) u2 + v2 = 30 (5)
u1 + v3 = 40 (3) u3 + v2 = 10 (6)
Agregando la condición u1 = 0, entonces se procede a hallar las restantes incógnitas
o sea, v1 = 20, v2 = 30, v3 = 40, v4 = 20, u2 = 0 y u3 = -20, respectivamente.
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 40 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 5 5 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
9
3 9
Demanda 5 20 5 5 35

A continuación se calculan los eij en las casillas no básicas:


eij = Cij – ui – vj
e21 = 60 – 0 – 20 = 40 e31 = 20 – (-20) – 20 = 20
e23 = 50 – 0 – 40 = 10 e33 = 40 – (-20) – 40 = 20
e24 = 40 – 0 – 20 = 20 e34 = 70 – (-20) – 20 = 70
Resolviendo el sistema, se determina que todos los eij son positivos, por lo tanto la
incorporación de cualquier variable a la base aumentara el valor total de la función
objetivo. Como el problema es de minimización, se ha alcanzado el óptimo.
Por lo tanto, la tabla final queda en la 3ª iteración:
3ª iteración Matriz de costos de transporte

Destinos
Oferta
Orígenes 1 2 3 4
20 30 40 20
20
1 5 5 5 5
60 30 50 40
6
2 6
20 10 40 70
9
3 9
Demanda 5 20 5 5 35

La Solución óptima es la siguiente:


x11 = 5, x12 = 5, x13 = 5, x14 = 5
x21 = 0, x22 = 6, x23 = 0, x24 = 0
x31 = 0, x32 = 9, x33 = 0, x34 = 0
El costo del programa correspondiente es:
Z = 5*20 + 5*30 + 5*40 + 5*20 + 0*60 + 6*30 + 0*50 + 0*40 + 0*20 +
9*10 + 0*40 + 0*70 = $ 820.

160
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

6.6 Análisis de sensibilidad en problemas de transporte


A continuación se discutirá tres tipos de análisis de sensibilidad de un problema de
transporte:
Variación 1. Cambios en los coeficientes de la función objetivo de variables no
básicas.
Variación 2. Cambios en los coeficientes de la función objetivo de variables
básicas.
Variación 3. Incrementos en una oferta y en una demanda.
Para ilustrar el análisis de sensibilidad sobre la solución óptima de un problema de
transporte emplearemos la solución obtenida en la sección anterior:
3ª iteración Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 40 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 5 5 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
9
3 9
Demanda 5 20 5 5 35

6.6.1 Variación de coeficientes en la función objetivo de variables no


básicas
En este caso, simplemente se impone una variación Δ en el coeficiente de la
variable xij a modificar, estudiando el rango de variación admisible de modo que el eij
respectivo mantenga su signo.
A modo de ejemplo, supongamos que se desea determinar a cuanto debe disminuir
el costo de envío desde el origen 2 al Destino 1 de modo de incorporar esta combinación a
la solución óptima.
En este caso, un cambio del coeficiente c21 = 60 a c21 = 60 – Δ no afecta los valores
de los ui y vj calculados previamente, por lo tanto:
e21 = (60 – Δ) – 0 – 20 = 40 – Δ
Como corresponde a un problema de minimización para que x21 entre a la base
debe cumplirse que e21 ≤ 0, es decir, Δ ≥ 40. Por lo tanto, el costo debe disminuir a menos
de 20 para que se incorpore a la solución óptima. De todas formas, se debe verificar que la
variable pueda generar un loop:
3ª iteración Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 40 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5-α 5+α 5 5
u2= 0 60 30 50 40
6
2 +α 6-α
u3= -20 20 10 40 70
9
3 9
Demanda 5 20 5 5 35

La variable puede entrar a la base con valor de 5, el valor de la función objetivo es:
Zk + 1 = Zk + eij × α = 820 + (40 – Δ) × 5 Δ ≥ 40

161
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.6.2 Variación de coeficientes en la función objetivo de variables básicas.
En este caso la situación es más compleja pues una variación del coeficiente de una
variable básica afectara el valor de los ui y los vj calculados previamente. En este caso, se
debe volver a resolver el sistema en términos de la variación Δ del coeficiente de la variable
básica, volver a calcular los eij y determinar el rango de variación admisible.
Supongamos por ejemplo que se desea determinar en cuanto podría aumentar el
costo de envío desde Origen 1 al Destino 2 de modo de mantener la base óptima.
En este caso, cambiamos c12 = 30 por c12 = 30 + Δ y volvemos a resolver el sistema:
u1 + v1 = 20 (1), u1 + v2 = 30 + Δ (2)
u1 + v3 = 40 (3), u1 + v4 = 20 (4)
u2 + v2 = 30 (5), u3 + v2 = 10 (6)
Si u1 = 0 entonces tenemos:
u1 = 0, v1 = 20
v2 = 30 + Δ, v3 = 40
v4 = 20, u2 = –Δ
u3 = –20 – Δ
Luego, calculamos los eij para todas las variables no básicas y sus restricciones:
eij = Cij – ui – vj
e21 = C21 – u2 – v1 = 60 + Δ – 20 = 40 + Δ ≥ 0 → Δ ≥ -40
e23 = C23 – u2 – v3 = 50 + Δ – 40 = 10 + Δ ≥ 0 → Δ ≥ -10
e24 = C24 – u2 – v4 = 40 + Δ – 20 = 20 + Δ ≥ 0 → Δ ≥ -20
e31 = C31 – u3 – v1 = 20 – (-20 + Δ) – 20 = 20 – Δ ≥ 0 → Δ ≤ 20
e33 = C33 – u3 – v3 = 40 – (-20 + Δ) – 40 = 20 – Δ ≥ 0 → Δ ≤ 20
e34 = C34 – u3 – v4 = 70 – (-20 + Δ) – 20 = 70 – Δ ≥ 0 → Δ ≤ 70
Por lo tanto, la base óptima se mantiene para un rango de variación: -10 ≤ Δ ≥ 20 o
bien,
20 ≥ c12 ≤ 50
6.6.3 Incrementos en una oferta y en una demanda.
Si tanto en alguna oferta ai como en alguna demanda bj se produce un aumento de
Δ, se mantiene el balanceo del problema. En este caso, se demuestra que:
Znuevo = Zoriginal + Δ × ui + Δ × vj
La expresión anterior se obtiene a partir de que tanto los ui y los vj equivalen a
menos el precio sombra de la restricción asociada a cada origen i o destino j según
corresponda.
Por ejemplo, si la oferta del origen1 y la demanda del destino 2 crece en una unidad,
se tiene:
Znuevo = 820 + 1 × 0 + 1 × 30 = 850
Una vez definido el nuevo valor de la función objetivo, es importante determinar
como cambian los valores de las variables.

162
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Para ello se siguen las siguientes reglas:
1. Si xij es una variable básica, xij se incrementa en Δ.
2. Si xij es una variable no básica, se debe encontrar el loop que contenga a xij y
algunas de las variables básicas. Encontrar la primera celda de la fila i (distinta
de xij) y aumentar su valor en Δ. Continuar el loop, incrementando y
disminuyendo en Δ en forma alternada.
Para ilustrar la primera situación, supongamos que a3 y b2 aumentan en 2. Como x32
es una variable básica, la nueva tabla óptima queda:
Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 40 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 5 5 5 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
11
3 11
Demanda 5 24 5 5 37

El nuevo valor de la función objetivo es: 820 + 2u3 + 2v2 = 840


Para ilustrar la segunda situación, supongamos que a3 y b1 aumentan en 1. Como x31
es una variable no básica, debemos determinar el loop que incorpora a la celda (3,1). En
este caso, el loop es (3,1) – (3,2) – (1,2) – (1,1). La primera celda del loop que esta en la
fila i distinta de (3,1) es (3,2).
Entonces, se debe agregar Δ a x32. Continuando con el loop, se debe disminuir en Δ
a x12 y volver a aumentar en Δ a x11. La nueva tabla óptima se muestra a continuación:
3ª iteración Matriz de costos de transporte

Destinos v1= 20 v2= 30 v3= 40 v4= 20


Oferta
Orígenes 1 2 3 4
u1= 0 20 30 40 20
20
1 6 4 5 5
u2= 0 60 30 50 40
6
2 6
u3= -20 20 10 40 70
10
3 10
Demanda 6 20 5 5 36

El nuevo valor de la función objetivo es: 820 + u3 + v1 = 820.

163
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

6.7 Solución por computadora


6.7.1 Solución del modelo de transporte con TORA.
Parta del MainMenú y escoja Transportation Model (Modelo de transporte).
Especifique el modo de captura (archivo existente o problema nuevo) y el formato
de captura.
En problemas nuevos, use la tabla de captura para ingresar datos. Y oprima SOLVE
MENU (menú resolver)

Seleccione SOLVE PROBLEM = > Iterations, y escoja uno de los tres métodos
(Esquina Noroeste, Costo Mínimo o de Vogel) para iniciar las iteraciones del modelo de
transporte. El modelo de iteraciones ofrece dos funciones útiles.
Puede usted igualar cualquier u o v a cero antes de generar la iteración 2 (lo
predeterminado es u1 = 0). Observe entonces que aunque cambian los valores de ui y
de vj, permanece sin cambios la evaluación de las celdas no básicas (= ui + vj – cij).
Esto quiere decir que al principio se puede igualar a cero cualquier u o v (de hecho,
cualquier valor) sin afectar los cálculos de optimalidad.
1. Puede usted probar su comprensión de la selección del loop haciendo clic (en
cualquier orden) en las celdas que forman el loop. Si su elección es correcta,
la celda cambiará de color (verde para la variable de entrada, rojo para la
variable de salida y gris en cualquier otro caso).
La figura muestra las iteraciones del ejemplo 6.3, con TORA, comenzando con el
método de la Esquina Noroeste.

164
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

165
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.7.2 Solución con WinQSB.
Parta del menú Inicio = > Programas = > WinQSB = > Network Modeling.

Una vez hecha la selección de Network Modeling haga clic en new Problem, y
escoja el tipo de problema en este caso Transportation Problem (Problema de transporte)
y coloque los datos del problema (criterio de la función objetivo, formato de los datos de
entrada, número de fuentes y destinos) y haga clic en OK

Proceda a ingresar los datos del problema de la siguiente manera:

Una vez ingresados los datos del problema escoja una de los métodos para iniciar
las iteraciones del modelo de transporte en Solve and Analyse y haga clic en Select Initial
Solution Method y presione Ok.

166
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

Una vez seleccionado el método para hallar la solución básica factible de inicio
proceda a calcular el óptimo haciendo clic en Solve and Analyse y haga clic en Solve and
Display Steps – Tabla y presione Ok. Y aparecerá la tabla inicial escogida por el tipo de
método escogido, luego presione Iteration = > Next Iteration. Hasta hallar el óptimo. En
la figura se resuelve el ejemplo 6.3.

167
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.7.3 Solución con Solver de Excel.
La captura del modelo de transporte en una hoja de cálculo de Excel es directa. En
la figura se resuelve el ejemplo de aplicación 6.3. Se puede usar la plantilla para resolver
modelos hasta con 10 orígenes y 10 destinos. Divide la hoja de cálculo en las secciones de
datos y de resultados (entrada y salida). En la sección de datos, entre los datos obligatorios
están la cantidad de fuentes (celda B3), cantidad de destinos (B4), matriz de costo unitario
(celdas B6:K15), nombres de fuentes (Celdas A6:A15), nombres de destinos (celdas
B5:K5), cantidades de las ofertas (celdas L6:L15) y de demanda (celdas B16:K16). La
sección de resultados (celdas B20:K29) presenta automáticamente la solución óptima en
forma de matriz. El costo total asociado aparece en la celda A19. Hemos limitado el tamaño
del modelo, en forma arbitraria, a que sea de 10 × 10, para que quepa la presentación en
una pantalla. Un ejercicio directo es diseñar un modelo de hoja de cálculo que tenga el
tamaño que se desee, como se ve en la explicación siguiente.
Una vez capturados los datos solo pida Solver y haga clic en Aceptar. La solución
aparecerá en las celdas B20:K29.
El desarrollo del modelo en la hoja de cálculo incluye las formulas siguientes:
Función objetivo: Escriba en A19 = SUMAPRODUCTO(B6:K15;B20:K29)
Transportes desde una fuente: Escriba = SUMA($B20:$K20) en L20 y cópielos
en L21:L29.
Transporte para un destino: Escriba = SUMA(B$20:B$29) en B30 y cópielos
en C30:K30.

Las relaciones del modelo relacionan las cantidades transportadas con la oferta total
en cada origen y con la demanda total en cada destino; es decir:

168
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Los parámetros de Solver.
Celda Objetivo: $A$19.
Valor de la Celda Objetivo: Mínimo.
Cambiando las Celdas: $B$20:$K$29.
Sujeta a las Siguientes restricciones: $B$30:$K$30 = $B$16:$K$16
$L$20:$L$29 = $L$6:$L$15

Dentro de Opciones

169
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Se puede desarrollar otra interesante formulación del modelo de transporte en hoja
de cálculo con los mismos datos que el modelo anterior. La diferencia esta en la sección de
resultados y en la especificación de los parámetros de Solver. El modelo agrega una sección
intermedia de cálculos, parte fundamental del desarrollo de la hoja de cálculo. Nuestro
modelo automatiza totalmente las secciones de resultados y de cálculos intermedios. La
única información que debe escribir el usuario son los parámetros de Solver y,
naturalmente los datos.
En la figura se resuelve el ejemplo de aplicación 6.3 con la nueva formulación. La
solución del modelo aparece en la columna B; comienza en la celda B22 bajo el
encabezado Flujo. Los nombres de las rutas aparecen en la columna A (de la celda A22
hacia abajo) y generan en forma automática con los nombres de las fuentes y los destinos
en la sección de datos.
Las formulas principales que activan la hoja de calculo están en la sección de
cálculos intermedios. Primero, en la columna E (celda E21 hacia abajo) tiene los números
de serie de los orígenes y los destinos, comenzando con los orígenes. Esta información,
junto con la cantidad de fuentes y la de los destinos, se usa para representar en forma
numérica a las rutas del modelo. Por ejemplo, el origen 1 (celda H21) al destino 4 (celda
I21) define la ruta de la fuente O1 al destino D1.
Con la información en las columnas H e I, las formulas de flujo por nodo en la
columna F (celda F21 hacia abajo) se escriben en la celda F21 como sigue.
= SI(E21="";"";SUMAR.SI ($H$21:$H$121, $E$21, $B$22:$B$122) – SUMAR.SI
($I$21:$I$121))
A continuación, la formula se copia en las celdas F22:F121.
La formula SUMIF (SUMAR. SI) calcula en esencia el flujo neto (entrada – salida)
a través de cada uno de los nodos de la columna E (celda E21 hacia abajo). Es importante
notar que en el modelo normal de transporte que se tiene en este momento, la formula
calculada de hecho la suma de los flujos de salida de cada fuente o bien la suma del flujo de
entrada a cada nodo de destino. Si bien pudimos haber usados dos formulas aparte para
representar la salida de la fuente y la entrada al destino, al combinar las dos en una formula
se puede usar la hoja de calculo en forma directa, con los modelos generales de redes al
Capitulo 7.
La ecuación de flujo correspondiente a cada nodo asume la forma:
Flujo de entrada – Flujo de salida = Flujo neto
Se necesita especificar las cantidades de flujo neto a cada nodo. La columna G
(celda G21 hacia abajo) contiene esos datos, que se copian de la sección de datos en forma
automática usando la función ÍNDICE. Obsérvese que el flujo neto asociado con un nodo
fuente es positivo, y con un nodo destino es negativo. La razón de usar flujo neto negativo
en los destinos se debe a la forma en que se define el flujo del nodo en la columna F.
También se puede usar la hoja de cálculo para definir restricciones de capacidad
para el flujo en las distintas rutas del modelo de transporte. Primero se escribe el símbolo
“y” (sin las comillas) en la celda B5. Esto creará e identificara en forma adecuada las celdas
N8:W17 para escribir las restricciones de capacidad. Una celda asociada con una ruta de
capacidad infinita se debe dejar vacía.

170
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Una vez hecho lo anterior, la hoja de cálculo usa la función ÍNDICE para copiar en
forma automática las restricciones de capacidad en la columna C (celda C22 hacia abajo).
Para usar infinito se usa el número 999999.
La única información necesaria para resolver el modelo es los parámetros de
SOLVER. La celda objetivo $B$20 ya esta automatizada con la siguiente fórmula general,
y no necesita cambiarse para todos los modelos de tamaño hasta 10 x 10.
=SUMAPRODUCTO (B22:B122, J21:J121)
Solo debe el Alumno ocuparse con los elementos de Cambiando las Celdas y de
Restricciones. De acuerdo con la figura, el elemento de Cambiando las Celdas es:
$B$22:$B$33
Los renglones 22:33 abarcan todas las rutas del modelo, y cambian cuando cambia
el tamaño del modelo de transporte.
Las restricciones se enuncian verbalmente como sigue:
flujo de entrada (i,j) ≤ capacidad de ruta (i,j)
(flujo de entrada – flujo de salida) por el nodo j = demanda en el nodo j
Para el primer conjunto de restricciones, el lado izquierdo está en la columna B
(celda B22 hacia abajo) y el lado derecho esta en la columna C (celda C22 hacia abajo).
Para el ejemplo de la figura, las restricciones correspondientes son:
$B$22:$B$33 <= $C$22:$C$33
El segundo conjunto de restricciones se genera en las columnas F y G como sigue:
$F$21:$F$27 = $G$21:$G$27

De nuevo, obsérvese que los renglones 21:27 cubren la cantidad total de nodos del
modelo y cambian con el modelo de este.
Las restricciones de no negatividad se toman en cuenta en la ventana Opciones de
SOLVER.

171
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

172
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

6.8 Problema de transporte con transbordos o transporte con nodos


intermedios.
Vamos a ver ahora otra variante del problema del transporte, y es que admitimos
que puede existir flujo desde los destinos a los orígenes, cuestión que no esta implícita en el
problema del transporte original. Esta problemática se plantea cuando pueden existir
devoluciones de los clientes hacia el proveedor, o también que existen puntos de depósito
intermedios, es decir, que pueden plantearse problemas de almacenes intermedios entre los
proveedores y los clientes.
En el problema original de transporte existe m orígenes y n destinos, y el flujo se
realiza desde un origen hacia cada uno de los diferentes destinos. Si en este caso
permitimos el flujo en ambos sentidos (de origen a destino y de destino a origen) se puede
hablar de un problema con m+n orígenes y m+n destinos. A este tipo de problemas se les
conoce con el nombre de problemas de transbordo (transhipment problems) o transporte
con nodos intermedios.
En el caso más general, cada punto (origen o destino) puede ser un punto de
transbordo, es decir, cada origen puede enviar o transportar a otros orígenes o a destinos; y
los destinos pueden transportar a su vez a otros destinos o volver a los orígenes. Un punto
conserva su identidad, origen o destino, solamente cuando sea, respectivamente, un punto
que originalmente disponga de un suministro o un punto que tenga una demanda a
satisfacer.
El planteamiento matemático de este problema es:
m+ n m+ n
Min Z = ∑ ∑c
i =1 j =1
ij xij
j ≠i
s.a:
m+ n m+ n

∑x
k =1
ik − ∑ x ki = ai
k =1
i = 1, 2,…, m.
k≠ i k≠ i
m+n m+n

∑ x k ,m + j − ∑ x m + j ,k = b j
k =1 k =1
j = 1, 2,…, n.
k ≠ m+j k ≠ m+j
xij ≥ 0 i = 1, 2,…, m+n j = 1, 2, …, m+n
Este problema se podría resolver fácilmente como un problema de transporte, si se
supiera de antemano la cantidad de flujo entrará y saldrá de cada uno de los m+n puntos.
Pero desgraciadamente estas cantidades son parte del problema de decisión y por lo tanto
no se las conoce. Aunque no hay inconveniente a fijar una cota superior a cada una de estas
variables.

173
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Por tanto la forma práctica de resolver este tipo de problemas es convertirlo en un
problema de transporte, en donde todos los nudos son lugares de origen y destino.
Los pasos son los siguientes:
Paso 1. Si es necesario, se debe agregar un punto de demanda ficticio (con oferta 0
y demanda igual al excedente) para balancear el problema. Los costos de
envío al punto ficticio deben ser cero. Sea s la oferta total disponible.
Paso 2. Construir una tabla de transporte siguiendo las siguientes reglas:
 Incluir una fila por cada punto de oferta y de transbordo.
 Incluir una columna por cada punto de demanda y de transbordo.
 Cada punto i de oferta debe poseer una oferta igual a su oferta original
ai. Cada punto de demanda j debe poseer una demanda igual a su
demanda original bj.
 Cada punto de transbordo debe tener una oferta igual a su oferta
original +s y una demanda igual a su demanda original +s. Como de
antemano no se conoce la cantidad que transitara por cada punto de
transbordo, la idea es asegurar que no se exceda su capacidad. Se
agrega “s” a la oferta y a la demanda del punto de transbordo para no
desbalancear la tabla.
Ejemplo de aplicación 6.7
Una fábrica posee dos plantas de manufactura, una en Tarija y otra en Sucre. La
planta de Tarija puede producir hasta 150 unidades al día, la de Sucre hasta 200 unidades al
día. Los productos son enviados por avión a Santa Cruz y Beni. En ambas ciudades, se
requieren 130 unidades diarias. Existe una posibilidad de reducir costos enviando algunos
productos en primer lugar a Cochabamba o a La Paz y luego a sus destinos finales. Los
costos unitarios de cada tramo factible se ilustran en la siguiente tabla:

Hacia
Desde
Tarija Sucre Cochabamba La Paz Santa Cruz Beni

Tarija 0 - 8 13 25 28

Sucre - 0 15 12 26 25

Cochabamba - - 0 6 16 17

La Paz - - 6 0 14 16

Santa Cruz - - - - 0 -

Beni - - - - - 0

La fábrica desea satisfacer la demanda minimizando el costo total de envío. En este


problema, Tarija y Sucre son puntos de oferta de 150 y 200 unidades respectivamente.

174
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Cochabamba y La Paz son puntos de transbordo. Santa Cruz y Beni son puntos de demanda
de 130 unidades cada uno. Esquemáticamente, la situación se muestra en la figura.

Tarija Cbba Santa Cruz

Sucre La Paz Beni

Representación gráfica Problema de transbordo


A continuación construiremos un problema de transporte balanceado a partir del
problema de transbordo. Para ello podemos seguir los siguientes pasos (suponiendo que la
oferta excede a la demanda):
En el ejemplo, s = 150 + 200 = 350. La demanda total es 130 + 130 = 260. Luego, el
punto ficticio debe tener una demanda de 350 - 260 = 90. Como en el ejemplo los puntos de
transbordo no tienen ni demanda ni oferta por si mismos, la oferta y demanda en la tabla
deber ser igual a “s”. Una vez planteado la tabla, se pueden emplear los métodos vistos
anteriormente para obtener una solución inicial factible y obtener la solución óptima. En
este caso la tabla queda (incluida la solución óptima):
Minimizar Z = 8x11 + 13x12 + 25x13 + 28x14 + 0x15 + 15x21 + 12x22 + 26x23 + 25x24
+ 0x25 + 0x31 + 6x32 + 16x33 + 17x34 + 0x35 + 6x41 + 0x42 + 14x43 +
16x44 + 0x45
Sujeto a:
x11 + x12 + x13 + x14 + x15 = 150
x21 + x22 + x23 + x24 + x25 = 200
x31 + x32 + x33 + x34 + x35 = 350
x41 + x42 + x43 + x44 + x45 = 350
x11 + x21 + x31 + x41 = 350
x12 + x22 + x32 + x42 = 350
x13 + x23 + x33 + x43 = 130
x14 + x24 + x34 + x44 = 130
x15 + x25 + x35 + x45 = 90
xij ≥ 0 (i =1,2,3,4 y j = 1, 2, 3, 4,5)

175
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Noroeste
Destinos
Oferta
Orígenes Cbba La Paz Santa Beni Ficticio
8 13 25 28 0
0
Tarija 150
15 12 26 25 0
0
Sucre 200
0 6 16 17 0
0
Cbba 0 350
6 0 14 16 0
0
La Paz 0 130 130 90
Demanda 0 0 0 0 0 0

5ºiteración Matriz de costos de transporte


(final)
Destinos
Oferta
Orígenes Cbba La Paz Santa Beni Ficticio
8 13 25 28 0
150
Tarija 130 20
15 12 26 25 0
200
Sucre 130 70
0 6 16 17 0
350
Cbba 220 130
6 0 14 16 0
350
La Paz 350 0
Demanda 350 350 130 130 90 1050

Con un costo mínimo de $6370

Para interpretar la solución anterior, es preciso revisar cuidadosamente las


combinaciones asignadas. De la primera fila, vemos que de Tarija solo se despacharon 130
unidades a Cbba del total de 150 disponibles, el excedente de 20 unidades esta asignado al
punto ficticio. De la segunda fila se desprende que de Sucre se enviaron 130 unidades a
Beni del total de 200 disponibles, quedando 70 asignadas al punto ficticio. En la tercera fila
vemos que se enviaron desde el punto de transbordo en Cbba 130 unidades a Santa Cruz.
La asignación de 220 de Cbba a Cbba significa que del total de unidades en transito, 220 no
pasaron por dicho nodo de transbordo, o bien, que no se emplearon 220 unidades de la
capacidad del punto. Finalmente, en la cuarta fila, la asignación de 350 del punto de
transbordo de La Paz a La Paz representa simplemente que no se empleo el punto de
transbordo. Gráficamente, la solución óptima se muestra en la siguiente figura.

176
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Ejemplo de aplicación 6.8
Determinar el costo mínimo de transporte con transbordo.

200 1 10
7 400

20
50
10
4 10
20
250 2 50 6
20 30

15
5 20
30
300 3 8 350

En el ejemplo, s = 200 + 250 + 300 = 750. La demanda total es 400 + 350 = 750,
(problema balanceado). Como en el ejemplo los puntos de transbordo no tienen ni demanda
ni oferta por si mismos, la oferta y demanda en la tabla deber ser igual a “s”. Una vez
planteado la tabla, se pueden emplear los métodos vistos anteriormente para obtener una
solución inicial factible y obtener la solución óptima. En este caso la tabla queda (incluida
la solución óptima):
Minimizar Z =
+99x15 +99x16 +99x17 +99x18 +10x24 +20x25 +50x26 +99x27 +99x28 +99x34 +15x35 +99x36 +99x37 +99x38
20x14
+
+20x45 +10x46 +10x47 +99x48 +99x54 +0x55 +30x56 +99x57 +30x58 +99x64 +99x65 +0x66 +50x67 +20x68
0x44

x14 +x15 +x16 +x17 +x18 = 200


x24 +x25 +x26 +x27 +x28 = 250
x34 +x35 +x36 +x37 +x38 = 300
x44 +x45 +x46 +x47 +x48 = 750
x54 +x55 +x56 +x57 +x58 = 750
x64 +x65 +x66 +x67 +x68 = 750
x14 +x24 +x34 +x44 +x54 +x64 = 750
x15 +x25 +x35 +x45 +x55 +x65 = 750
x16 +x26 +x36 +x46 +x56 +x66 = 750
x17 +x27 +x37 +x47 +x57 +x67 = 400
x18 +x28 +x38 +x48 +x58 +x68 = 350

177
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
1 iteración Matriz de costos de transporte
MEN
Destinos
Oferta
Orígenes 4 5 6 7 8
20 99 99 99 99
0
1 200
10 20 50 99 99
0
2 250
99 15 99 99 99
0
3 300
0 20 10 10 99
0
4 750
99 0 30 99 30
0
5 750
99 99 0 50 20
0
6 400 350
Demanda 0 0 0 0 0

Matriz de costos de transporte


5ª iteración
Destinos
Oferta
Orígenes 4 5 6 7 8
20 99 99 99 99
200
1 200
10 20 50 99 99
250
2 250
99 15 99 99 99
300
3 300
0 20 10 10 99
750
4 300 50 400
99 0 30 99 30
750
5 450 300
99 99 0 50 20
750
6 700 50
Demanda 750 750 750 400 350

Con un costo mínimo de $25500

200 1 400
7 400

200

250
4 50

250 2 6

300
5 50
300
300 3 8 350

178
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.9 El modelo de asignación
El modelo de asignación es en un tipo especial de problema de programación lineal
en el que los asignados son recursos que se destinan a la realización de tareas. Por ejemplo,
los asignados pueden ser empleados a quienes se tiene que dar trabajo. La asignación de
personas a trabajos es una aplicación común del problema de asignación. Sin embargo, los
asignados no tienen que ser personas. También pueden ser maquinas o vehículos o plantas
o incluso intervalos de tiempo a los que se asignan tareas. El primero de los siguientes
ejemplos se refiere a maquinas.
6.9.1 Concepto
El problema de asignación es un caso particular del modelo de transporte que tiene
dos características a ser tomadas en cuenta:
 La variable de decisión xij toma los valores de 1 ó 0 transformándose en una
variable binaria de aceptación o no aceptación.
 Las ofertas y demandas son uno , entonces ai = bj = 1
“El modelo de ASIGNACIÓN consiste en asignar m centros de oferta a “n” centros
de demanda. Esta asignación debe hacerse UNO A UNO, minimizando el COSTO
TOTAL ASOCIADO”.
6.9.2 Solución matemática del modelo de asignación
La representación y la formulación matemática del modelo son:

1 si i se asigna a j
X ij = 
0 si i no se asigna a j
Función objetivo
m n
Min Z = ∑∑ C
i =1 j =1
ij X ij

Sujeto a:
n

∑X
j =1
ij =1 ; ∀i
m

∑X
i =1
ij =1 ; ∀j

Xi j = 1,0

179
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
6.9.3 Solución del modelo de asignación
Para hallar la solución óptima a este problema, se utiliza el Algoritmo HÚNGARO,
cuyos pasos son:
Paso 1. Balancear el problema. En este problema debe darse que m = n; por
tanto, si m < n se añadirán fila ficticias con costos iguales a cero, de la
misma manera si m>n, se añadirán columnas ficticias. En el caso que se
quiera penalizar un origen y/o destino representado la imposibilidad de
asignación se pondrá M como costo asociado.
Paso 2. En la matriz original de costo, identificar el mínimo de cada renglón y
restarlo de todos los demás elementos.
Paso 3. En la matriz que resulte del paso 2, identificar el mínimo de cada
columna, y restarlo de todos los demás elementos.
Paso 4. En los lugares con costo 0, probar una asignación tentativa uno a uno; si
esta es posible, el problema habrá terminado de lo contrario ir al paso 5.
Paso 5. Dibujar un NÚMERO MÍNIMO de líneas horizontales y/o verticales
que tachen a todos los ceros de la matriz.
Paso 6. Seleccionar el valor más pequeño que no este cruzado por líneas. Este
elemento o valor se resta de todo elemento no tachado y se agrega a
todo elemento intersecado por una línea horizontal y vertical.
Paso 7. Volver al paso 4.
Ejemplo de aplicación 6.9
Se desea asignar el empleado más competente al trabajo más importante.
Supongamos que se dispone 3 equipos de trabajo (A, B y C) capaces de ejecutar los
trabajos T1, T2 y T3. Los tiempos de ejecución figuran en la tabla.
A B C

T1 3 4 6

T2 7 8 4

T3 5 5 2

Aplicando el algoritmo húngaro.


Paso 1. Balancear el modelo m = n = 3; problema balanceado.
Paso 2. Sean pi el costo mínimo del renglón i.
A B C Mínimo del A B C
renglón
T1 0 1 3
T1 3 4 6 p1 = 3 T2 3 4 0
T2 7 8 4 p2 = 4 T3 3 3 0
T3 5 5 2 p3 = 2

180
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Paso 3. Sea qj el costo mínimo de la columna j

A B C

T1 0 1 3 A B C

T2 3 4 0 T1 0 0 3
T3 3 3 0 T2 3 3 0

Mínimo de la T3 3 2 0
q1 = 0 q2 = 1 q3 = 0
columna

Paso 4. En los lugares con costo 0, probar una asignación tentativa uno a uno.
T1 A

T2 B

T3 C

Quedan sin asignar T3 y B ir al paso 5


Paso 5. Dibujar un NÚMERO MÍNIMO de líneas horizontales y/o verticales
que tachen a todos los ceros de la matriz

A B C

T1 0 0 3
T2 3 3 0
T3 3 2 0

Paso 6. Seleccionar el valor más pequeño que no este cruzado por líneas. Este
elemento o valor se resta de todo elemento no tachado y se agrega a
todo elemento intersecado por una línea horizontal y vertical
Valor mínimo no tachado 2, sumando y restando.

A B C

T1 0 0 5
T2 1 1 0
T3 1 0 0

Paso 7. volver al paso 4.

181
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Paso 4. En los lugares con costo 0, probar una asignación tentativa uno a uno.
T1 A

T2 B

T3 C

En este caso vemos que T1 se asigna a A, T2 a C y T3 a B. El tiempo


mínimo es igual a:
z = 3 + 4 + 5 = 12
Podemos comprobar que los valores mínimos restados a las filas y
columnas sumados dan el valor de z. Para el ejemplo:
z = Min {fila 1} + Min {fila 2} + Min {fila 3} + Min {col 1} + Min
{col 2} + Min {col 3} + Min {valor en el paso 6}
z = 3 + 4 + 2 + 0 + 1 + 0 + 2 = 12
Para el caso de MAXIMIZAR, se elige el valor más grande y se resta de este valor
los valores de la matriz, obteniendo una nueva matriz. Y se aplica el algoritmo húngaro.
Ejemplo de aplicación 6.10
Para el caso de maximizar en el ejemplo 6.8 se tiene:

A B C

T1 3 4 6

T2 7 8 4

T3 5 5 2

El valor más grande es 8 entonces se obtiene:

A B C

T1 5 4 2

T2 1 0 4

T3 3 3 6

182
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
Aplicando el algoritmo húngaro, se obtiene:

A B C
T1 A
T1 3 2 0

T2 1 0 4 T2 B

T3 0 0 3

T3 C

En este caso vemos que T1 se asigna a C, T2 a B y T3 a A. El tiempo máximo es


igual a:
z = 6 + 8 + 5 = 19
También podemos comprobar que:
z = Valor máximo *nº – Min {filas y columnas}
z = 8 * 3 – (2 + 0 + 3)
6.10 Problemas de transporte multidimensional.
Una de las hipótesis básicas del problema del transporte consiste en que cada uno de
los orígenes dispone de un único producto, y además es homogéneo. Una generalización de
este problema, es cuando los orígenes disponen de diferentes productos, no todos ello
homogéneos, y que es posible enviar a diferentes destinos.
Desde el punto de vista formal, este problema consiste en: Una fábrica posee l
factorías distribuidas en diferentes lugares. Cada una de las l factorías puede fabricar n
tipos diferentes de un producto que se distribuye en m áreas de venta.
Sean:
aik : el número de unidades enviadas al área k desde la factoría i.
bjk : el número de unidades del tipo j enviadas al área k
dij : el número de unidades del tipo j enviadas por la factoría i.
xijk : el número de unidades del tipo j fabricadas en la factoría i, y enviadas al
área k.
cijk : el costo unitario de transporte de una unidad de tipo j fabricada en la
factoría i, y enviada al área k.

183
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
El planteamiento matemático será:
Min z = ∑∑ k ∑ C ijk xi jk
i j

s.a:
∑x
j
ijk = aik

∑x
i
ijk = b jk

∑x
k
ijk = d ij

xijk ≥ 0
Para que este problema sea consistente, debe verificarse que:
∑ aik = ∑ d ij
k j
; ∑ a ik = ∑ b jk ; ∑ d ij = ∑ b jk
i j i k

6.11 Problemas de transporte con restricciones adicionales.


En algunos problemas de transporte hay casos en los que los distintos almacenes
tienen ciertas preferencias por los fabricantes, debido a que el producto puede variar en
alguna característica de uno a otro. Un ejemplo típico de esto es plantea en las fundiciones
de hierro, donde el transporte y distribución de la pirita de hierro puede presentar impurezas
según su origen.
Este problema se puede plantear como un problema de transporte con dos conjuntos
de restricciones adicionales.
Sean n factorías que disponen de ai (i=1,2..m) cantidades de un cierto producto, y se
desea enviar a unos destinos que demanda bj (j=1,2,..n) cantidades de este producto. Una
unidad de producto contiene pijk unidades de impurezas (k=1,2..p) cuando es enviado de i a
j.
El demandante no puede recibir más de djk unidades de impurezas k.
El costo de transportar una unidad de producto de i a j es cij.
El problema es satisfacer la demanda con el mínimo costo.
Denominamos xij la cantidad enviada desde el origen i hasta el destino j,
evidentemente, xij ≥ 0.
Por tanto el problema a resolver es:
m n
Min z = ∑∑ C
i =1 j =1
ij xj

s.a:
m

∑xi =1
ij = bj j = 1, 2,…, n

∑xj =1
ij = aj i = 1, 2,…, m

∑Pi =1
ijk xij ≤ d jk k = 1, 2,…, p

m n

∑a = ∑b
i =1
i
j =1
j

xij ≥ 0 i = 1, 2,…, m j = 1, 2,…, n

184
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería

6.12 Problemas propuestos.


1. Considere el problema de transporte que tiene la siguiente tabla de costos y
requerimientos:
Destino
Recursos
1 2 3
1 6 3 5 4
Origen 2 4 8 7 3
3 3 4 3 2
Demanda 4 2 3
a) Utilice el método de la esquina noroeste para construir una solución
básica factible de inicio.
b) Utilice el método del costo mínimo para construir una solución básica
factible de inicio.
c) Utilice el método de aproximación de Vogel para construir una solución
básica factible de inicio.
2. Una compañía tiene tres plantas que fabrican cierto producto que debe mandarse a
cuatro centros de distribución. Las plantas 1, 2 y 3 producen 12, 17 y 11 cargas
mensuales, respectivamente. Cada centro de distribución necesita recibir 10 cargas
al mes. La distancia en km. desde cada planta a los respectivos centros de
distribución es la siguiente:
Centro de distribución
1 2 3 4
1 800 1300 400 700
Planta 2 1100 1400 600 1000
3 600 1200 800 900
El costo del flete por cada embarque es de $ 100 más $0.50/km.
¿Cuántas cargas debe mandarse desde cada planta a cada uno de los centros de
distribución para minimizar el costo total del transporte?
3. La Empresa transportista Fernandez posee varios camiones usados para acarrear
piedra molida para proyectos de carreteras en el municipio. El contratista de
carreteras para quien trabaja le ha dado el programa de la semana siguiente. Calcule
el costo óptimo del transporte
Necesidades Disponibilidad
Semanales, Cargas Planta Semanal, Cargas
Proyecto de Camión de Camión
A 50 W 45
B 75 X 60
C 50 Y 40
Información de Costos:
De Al proyecto A Al proyecto B Al proyecto C

Planta W $4 $3 $3

Planta X 6 7 6

Planta Y 4 2 5

185
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
4. Una compañía tiene las plantas A, B y C las cuales suministran arena a las
distribuidoras D, E, F y G. Las capacidades mensuales de cada planta son:
A=160 m3, B=150 m3, y C=190 m3
Los requerimientos mensuales de las distribuidoras son:
D=80 m3, E=90 m3, F= 110 m3, G= 160 m3
Los costos unitarios de envió son:

HACIA D E F G
DESDE
A $40 $50 $40 $40
B $40 $50 $50 $50
C $50 $40 $40 $40

Determinar el plan de envíos con un costo mínimo.


5. Una compañía A, B y C suministra a los distribuidores D, E, F y G. Las capacidades
mensuales son 20, 30 y 45 unidades respectivamente. Los requerimientos mensuales
de los distribuidores son 10, 15, 40 y 30 unidades, respectivamente. Los costos
unitarios de envió son los siguientes.

HACIA D E F G
DESDE
A $5 $10 $5 $0
B $5 $9 $5 $10
C $10 $10 $15 $5

Determinar un plan óptimo de distribución. ¿Cuál es el mínimo costo de


transporte?
6. Un sistema de distribución semanal para un producto tiene las siguientes
características:
Capacidad Centro Demanda
Planta
Semanal Distribuidor Semanal
O1 75 D1 50
O2 100 D2 50
D3 100

Centro de Perdidas Hacia D1 D2 D3


Distribución ($/unidad)
Desde
D1 2
D2 3 O1 3 2 1
D3 2 O2 4 5 6

La meta de la compañía es determinar un plan de envió factible que minimice la


suma de los costos de transporte total más las perdidas totales.

186
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
7. Tres depósitos surten a cinco almacenes. La tabla indica el costo de transporte por
unidad entre depósitos y almacenes. El daño de un puente principal ha impedido las
entregas desde el deposito A hasta el almacén 4, desde el deposito B hasta el 5 y
desde el C hasta el 2. Dentro de estas circunstancias determinar el esquema óptimo
del transporte.
Dep. A Dep. B Dep. C Nº Req.
Almacén 1 2 6 4 75
Almacén 2 7 8 6 345
Almacén 3 3 7 3 180
Almacén 4 5 3 8 90
Almacén 5 4 5 4 210
Capacidad 850 300 450

8. En la construcción del aeropuerto Tarija se requiere mover 1.355.000 m3 de arena


dragada de cincos bancos en una bahía cercana, por tubería a nueve sitios en el
aeropuerto. La arena se usa para estabilizar los terrenos pantanosos del área
propuesta de construcción. Algunos de los sitios hacia donde se mueve la arena se
usan para construir caminos dentro y en el perímetro del aeropuerto. El exceso de
arena de un sitio se moverá con camiones a otras áreas exteriores del aeropuerto,
donde se construirá una carretera perimetral. Las distancias (en cientos de metros)
entre los bancos y los sitios se resumen en la tabla siguiente. También ahí se ven las
cantidades de oferta y demanda, en cientos de m3, en los distintos lugares.
1 2 3 4 5 6 7 8 9 Oferta
1 22 26 12 10 18 18 11 8.5 20 960
2 20 28 14 12 20 20 13 10 22 201
3 16 20 26 20 1.5 28 6 22 18 71
4 20 22 26 22 6 ∞ 2 21 18 24
5 22 26 10 4 16 ∞ 24 14 21 99
Demanda 62 217 444 315 50 7 20 90 150
a) La gerencia del proyecto ha estimado un movimiento de arena [m3 de
volumen x distancia (cientos de metros)] de 2495000 unidades, al costo de
$0.65 por unidad. ¿Esta dentro de los limites el movimiento de arena
estimado por la gerencia del proyecto?
b) La gerencia del proyecto se da cuenta que el movimiento de arena a ciertos
sitios no se puede hacer sin antes construir algunos caminos. En particular,
se debe construir la carretera perimetral (destino 9) antes de poder mover la
arena a ciertos sitios en la tabla siguiente se ven marcadas con una x las
rutas bloqueadas que requieren terminar la carretera perimetral. ¿Cómo debe
hacerse el movimiento de arena para tener en cuenta estas restricciones?
1 2 3 4 5 6 7 8 9
1 x x x
2 x x x
3 x x
4 x x
5 x x x x

187
Capítulo 6 Texto Guía Alumno – Sistemas de Ingeniería
9. Una compañía llamó a licitación para realizar cuatro trabajos de construcción. Tres
personas se han presentado. Las propuestas en miles de dólares están dadas en la tabla
siguiente, donde (*) indica que la persona no ofrece nada para ese trabajo. La persona 1
puede hacer sólo un trabajo, pero las personas 2 y 3 pueden llegar ha hacer hasta 2
trabajos.
 ¿Cuál es la mejor asignación, desde el punto de vista de la compañía, si todas las
personas deben realizar al menos un trabajo?
 Suponga que la persona 2 debe realizar el trabajo 1. Encuentre la mejor
asignación.
Trabajo 1 Trabajo 2 Trabajo 3 Trabajo 4
Persona 1 55 49 46 46
Persona 2 51 48 44 *
Persona 3 * 47 45 45

6.13 Bibliografía.
 MODELOS LINEALES DE OPTIMIZACIÓN – Rafael Terrazas Pastor [Segunda
Edición]
 INVESTIGACIÓN DE OPERACIONES – Hamdy A. Taha [Séptima Edición]
 INVESTIGACIÓN DE OPERACIONES – Moskwitz, Herbert; Wrigth, Gordon P.
 INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES – Frederick S.
Hillier, Gerald J. Lieberman. [Sexta Edición]
6.14 Enlaces
 http://www.investigacion-
operaciones.com/Problemas_Transporte/transporte_2004.pdf
 http://mipagina.cantv.net/jcpons1/Capitulo21.pdf
 http://www.investigacion-
operaciones.com/material%20didactico/TRANSPORTE.pdf

188
Capítulo 7 Texto Guía – Sistemas de Ingeniería

CAPITULO 7

MODELOS DE REDES DE OPTIMIZACIÓN

7.1 Introducción
Los modelos de redes son estructuras especiales del modelo de programación lineal
y que por sus características propias tienen algoritmos específicos para su solución.
La teoría y el análisis de redes de optimización, encuentra aplicación en varias
ramas del saber tales como: la Ingeniería Civil, la ingeniería industrial, la ingeniería
eléctrica, la informática, la cibernética, la gestión de proyectos, el planeamiento, etc. Existe
también un área de aplicación concerniente a grupos sociales, comunicación, estructuras de
lenguaje y enlaces químicos. Como se podrá notar el área de acción y aplicación de la
teoría de redes es amplio y su teoría clásica esta asociada a lo que se llama la teoría de
grafos.
El desarrollo de este capitulo estudiara los siguientes problemas:
 El problema de la RUTA MÁS CORTA que se presenta por ejemplo en los
sistemas de transporte.
 El problema del ÁRBOL DE EXPANSIÓN MÍNIMA que se presenta por
ejemplo en problemas relacionados a diversos tipos de conexiones.
 El problema de FLUJO MÁXIMO que se asocia a problemas de flujo a partir
de un origen hacia un destino.
 El problema de REDES DE ACTIVIDADES utilizando para realizar la
planificación de tareas y programas de actividades.
7.2 Conceptos referenciales para la teoría de redes
Para continuar con el estudio de las redes de optimización, introduciremos algunos
conceptos elementales:
 Una GRÁFICA o RED es un conjunto de NODOS (vértices o puntos) que están
conectados por un conjunto de ARCOS (líneas, ramas y bordes). Consideraremos
que una red es una gráfica con un FLUJO de algún tipo que fluye por sus ramas.
Ejemplo:

Nodos Ramas Flujo

Intersecciones Caminos Vehículos


Aeropuertos Rutas aéreas Aviones
Puntos de comunicación Cables, Canales Mensajes
Estaciones de bombeo Tuberías Fluidos
Centros de trabajo Rutas Trabajos

189
Capítulo 7 Texto Guía – Sistemas de Ingeniería

 Las llamadas REDES DIRECCIONADAS son las que tienen arcos dirigidos,
caso contrario se llamaran redes ADIRECCIONADAS. Ejemplo:

Figura 7.1
La red de la figura 7.1 es direccionada porque están especificados los
sentidos del flujo. Por ejemplo (1,2) significa que el arco que va del nodo 1 al
nodo 2 refleja un flujo direcciónado en este sentido.
 Una CADENA del nodo i al nodo j no es nada más que una sucesión de nodos y
ramas que conectan a estos puntos. Por ejemplo en la figura 7.1 una cadena del
nodo 1 al nodo 6 es:
1--- (1,2) --- 2 --- (2,4) --- 4 --- (4,6) --- 6
Cuando se especifica la dirección a lo largo de la cadena se llama RUTA.
 Un CICLO es una cadena que empieza y termina en el mismo nodo. Un ciclo es
también una cadena que conecta a un nodo consigo mismo. En la figura 7.1 un
ciclo es:
2 --- (2,3) --- 3 --- (3,2)
 Una red es CONEXA, si existe una cadena que conecta a todos los nodos de la
red. Por ejemplo:

Figura 7.2
 Una red es INCONEXA si esta tiene algún punto de inconexión. Por ejemplo:

Figura 7.3

190
Capítulo 7 Texto Guía – Sistemas de Ingeniería
 Un ÁRBOL es una red conexa que contiene ciclos. Por ejemplo:

Figura 7.4
 Podemos decir con propiedad que una red conexa que tiene n nodos, n – 1 ramas y
sin ciclos, se llama ÁRBOL DE EXPANSIÓN.
 Se puede definir la siguiente nomenclatura relacionada con un arco o rama (i,j):
xij ≥ 0, es el flujo del nodo i al nodo j.
μij ≥ 0, es la capacidad máxima del flujo de i a j.
λij ≥ 0, es la capacidad mínima del flujo de i a j.
dij ≥ 0, es el costo por unidad de flujo. Si dij ≥ 0, se llama EGRESO,
si dij ≤ 0, se llama INGRESO.
Cuando un flujo sale de un nodo se llama EFLUJO y cuando llega a un nodo se le
llama INFLUJO.
 Se llama nodo FUENTE u ORIGEN al nodo por donde entra el flujo a la red, es
decir que cada una de sus ramas tiene una orientación tal que el flujo se mueve
hacia fuera de ese nodo. Los orígenes son generadores del flujo.

Figura 7.5
 Se llama nodo DESTINO o FINAL al nodo por donde sale el flujo de la red, es
decir que cada una de las ramas esta orientada hacia ese nodo. Los nodos destino
absorben el flujo.

Figura 7.6

191
Capítulo 7 Texto Guía – Sistemas de Ingeniería

7.3 El Problema de la ruta más corta


Los arcos denominados (i, j) de una red, llevan asociados un numero dij que se
interpreta como el costo, la distancia o el tiempo que hay entre los nodos i y j. Una RUTA
o RECORRIDO entre dos nodos es cualquier secuencia de arcos que los conecte. El
problema de la ruta más corta tiene como objetivo encontrar los recorridos más económicos
en distancias, costo y/o tiempo, entre un nodo específico, considerado como nodo origen y
los otros nodos de la red considerados como destinos. La estructura resultante de resolver
este problema, formara un conjunto de arcos que se llamará ÁRBOL DE RECORRIDO
MÍNIMO.
7.3.1 Algoritmos de la ruta más corta
En esta sección se presentan dos algoritmos para resolver redes tanto cíclicas (es
decir, que contienen bucles o lazos) como acíclicas.
7.3.1.1 El algoritmo de Dijkstra.
El algoritmo de Dijkstra tiene por objeto determinar las rutas más cortas entre el
nodo origen o fuente y todos los demás nodos de la red.
Sea ui la distancia más corta del nodo fuente 1 hasta el nodo i, y se define dij (≥0)
como la longitud de arco (i,j). Entonces el algoritmo define la etiqueta de un nodo
inmediato posterior j como:
[uj,i] = [ui + dij,i],dij ≥ 0
La etiqueta del nodo de inicio es [0, —], que indica que el nodo no tiene predecesor.
Las etiquetas de nodos en el algoritmo de Dijkstra son de dos clases:
TEMPORALES y PERMANENTES. Una etiqueta temporal se modifica si se puede
encontrar una ruta más corta a un nodo. Cuando se ve que no se pueden encontrar rutas
mejores, cambia el estado de la etiqueta temporal a permanente.
Los pasos son los siguientes:
Paso 0. Etiquetar y rotular el nodo fuente con la etiqueta permanente; en este caso se
rotula [0, —]. Este rotulo es PERMANENTE, por tanto se sombrea al nodo
1. Igualar i = 1.
Paso 1. Calcular las etiquetas temporales [ui + dij, i] para cada nodo j al que pueda
llegarse desde el nodo i, siempre y cuando j no tenga etiqueta permanente. Si
el nodo j ya esta etiquetado con [uj, k] por otro nodo k, y si ui + dij ≤ uj,
sustituir [uj, k] por [uj + dij, i].
Paso 2. Considerando el criterio de la distancia más corta, rotular y/o etiquetar en
forma permanente el nodo correspondiente, al que también se lo sombrea.
Paso 3. A partir del último nodo permanente etiquetar en forma temporal los arcos
ligados a este nodo y elegir el arco de distancia más corta para etiquetarlo
permanentemente (de los nodos etiquetados temporalmente). Los empates se
rompen en forma arbitraria.
Paso 4. Si todos los nodos tienen etiquetas permanentes detenerse.
El proceso es realizado n – 1 veces.

192
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Ejemplo de aplicación 7.1
Se tiene la siguiente red:

2
1
2 5
4 5 5
1 3 8 7
6
6 4
3
7
2
4

Figura 7.7
En esta red, los números representan la distancia y la idea es hallar las rutas más
cortas del nodo 1 hacia los demás nodos, es decir el árbol de recorrido mínimo.
El proceso es realizado n – 1 veces, entonces 7 – 1 = 6 iteraciones.
Las redes resultantes de la aplicación de estos pasos son:
Iteración 0.
Nodo Etiqueta Estado
1 [0,—] Permanente
Iteración 1.
Nodo Etiqueta Estado
1 [0,—] Permanente
2 [0+2,1] = [2,1] Temporal
4 [0+7,1] = [7,1] Temporal

Para las dos etiquetas temporales [2,1] y [7,1], el nodo 2 produce la menor distancia
(u2 = 2). Entonces, se cambia el estado del nodo 2 a permanente.
Iteración 2.
Nodo Etiqueta Estado
[2,1]
1 [0,—] Permanente
2
2 [2,1] Permanente 1
4 [7,1] Temporal 2 5 [3,2]
4
3 [2+4,2] = [6,2] Temporal
5 [2+1,2] = [3,2] Temporal [0,- ] 1 3
[6,2]

El estado de la etiqueta temporal [3,2] en el nodo 5 se cambia a permanente (u5=3)

193
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Iteración 3.
Nodo Etiqueta Estado
[2,1]
1 [0,—] Permanente 2
2 [2,1] Permanente 1
2 [3,2]
4 5
4 [7,1] Temporal 5 5
[0,- ] 1 3 8 7
3 [6,2] Temporal [8,5]
[6,2]
6
5 [3,2] Permanente
[11,5]
6 [3+8,5] = [11,5] Temporal
7 [3+5,5] = [8,5] Temporal

La etiqueta temporal [6,2] del nodo 3 se cambia a permanente (u3=6)


Iteración 4.
Nodo Etiqueta Estado
1 [0,—] Permanente
2 [2,1] Permanente [2,1]
2
4 [7,1] Temporal 1
[3,2]
2 5
4
3 [6,2] Permanente 5 5
7
5 [3,2] Permanente [0,-] 1 [6,2] 3 6
8
[8,5]
6 [11,5] Temporal 7
3 6
[11,5]
7 [8,5] Temporal 4
[7,1]
4 [6+3,3] = [9,3] Descartar
6 [6+6,3] = [12,3] Descartar
Del nodo 3 se puede ir al nodo 4 y 6 pero ya existen etiquetas temporales con menor
distancia por lo que se descarta estas dos últimas etiquetas.
Entonces la etiqueta temporal [7,1] del nodo 4 se cambia a permanente (u4=7)
Iteración 5.
Nodo Etiqueta Estado [2,1]
1 [0,—] Permanente 2
1
[3,2]
2 [2,1] Permanente 2
4 5
5
5
4 [7,1] Permanente [0,-] 1 [6,2] 3 8 7
6 [8,5]
3 [6,2] Permanente 3 6 4
7
5 [3,2] Permanente 2 [11,5]
4
6 [11,5] Cambiar por [7,1]
[9,4]
[9,4]
7 [8,5] Temporal
6 [7+2,4] =[9,4] Temporal

Entonces la etiqueta temporal [8,5] del nodo 7 se cambia a permanente (u7 = 8)


En esta ultima red vemos que el nodo 7 ha quedado etiquetado permanentemente y
esta ligado al nodo 6 con una distancia de 8 + 4 = 12 que es mayor que 9; por tanto el nodo
6 se convierte su etiqueta temporal [9,4] en permanente y el algoritmo habrá terminado.

194
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Iteración 6.
Nodo Etiqueta Estado
1 [0,—] Permanente
2 [2,1] Permanente
4 [7,1] Permanente
3 [6,2] Permanente
5 [3,2] Permanente
7 [8,5] Permanente
6 [9,4] Permanente
(2,1)
2
1
2 (3,2)
4 5
5 5
(0,1) 1 7
(6,2) 3 6
8
(8,5)
6 4
3
7
2 (9,4)
4
(7,1)

Figura 7.8
Procedimiento de Etiquetado de Dijkstra
El árbol de recorrido mínimo consta de n – 1 arcos y muestra los resultados del
problema, según la tabla y partiendo del nodo 1, se muestra las rutas más cortas hacia
cualquiera de los otros nodos:

RUTA MÁS CORTA


NODO DISTANCIA
DESDE 1

2 1–2 2
3 1–2–3 6
4 1–4 7
5 1–2–5 3
6 1–4–6 9
7 1–2–5–7 8

195
Capítulo 7 Texto Guía – Sistemas de Ingeniería
7.3.1.2 El algoritmo de Floyd
El algoritmo de Floyd es más general que el de Dijkstra, porque permite determinar
la ruta más corta entre dos nodos cualesquiera de la red.
El algoritmo representa una red de “n” nodos como matriz cuadrada con “n”
renglones y “n” columnas. El elemento (i, j) de la matriz expresa la distancia dij del nodo i
al nodo j, que es finita si i está conectado directamente con j, e infinita en caso contrario.

Cij Cjk

Cik
i k

Figura 7.9 Operación triple de Floyd


El concepto del algoritmo de Floyd es directo. Dados tres nodos i, j y k en la figura
7.9, con las distancias entre si indicadas en los tres arcos, es más corto ir a k desde i
pasando por j si:
dij + djk ≤ dik
En este caso, lo óptimo es reemplazar la ruta directa i → k por la ruta indirecta i → j
→ k. Este intercambio de operación triple se aplica en forma sistemática a la red, con los
siguientes pasos:
Paso 0. Definir las matrices iniciales de distancias Do y de secuencias de nodos
So como se describe abajo. Los elementos diagonales se marcan con (—)
para indicar que están bloqueados. Igualar k = i.

1 2 … j … n
1 — d12 … d1j … d1n
2 d21 — … d2j … d2n
Do = : : : : : : :
i di1 di2 … dij … din
: : : : : : :
n dn1 dn2 … dnj … —

1 2 … j … n
1 — 2 … j … n
2 1 — … j … n
So = : : : : : : :
i 1 2 … j … n
: : : : : : :
n 1 2 … j … —

196
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Paso genral k. Definir el renglón k y la columna k como renglón pivote y
columna pivote. Aplicar la operación triple a cada elemento dij en Dk – 1
para toda i y j. si se satisface la condición
dik + dkj ≤ dij (i ≠ k, j ≠ k e i ≠ j)
Hacer los siguientes cambios:
a) Crear Dk reemplazando dij en Dk – 1 por dik + dkj.
b) Crear Sk reemplazando sij en Sk – 1 por k. Igualar k = k + 1 y repetir el
paso k.

Figura 7.10
Implementación de la operación
Triple en forma matricial
Se puede explicar el paso k del algoritmo representando a Dk – 1 como se ve en la
figura 7.10. Aquí, el renglón k y la columna k definen el renglón y la columna pivote
actual. El renglón i representa cualesquiera de los renglones 1, 2,…, y k – 1, y el renglón p
representa cualquiera de los renglones k + 1, k + 2,…, y n. De igual modo, la columna j
representa cualquiera de las columnas 1, 2,…, y k – 1, y la columna q representa cualquiera
de las columnas k + 1, k + 2,…, y n. Con la operación triple, si la suma de los elementos
del renglón pivote y la columna pivote (representados por cuadrados) es menor que el
elemento de intersección asociado (representado por un círculo), entonces es óptimo
reemplazar la distancia de intersección por la suma de las distancias pivote.
Después de “n” pasos se puede determinar la ruta más corta entre los nodos i y j con
las matrices Dn y Sn con las siguientes reglas:
1. En Dn, dij representa la distancia más corta entre los nodos i y j
2. En Sn, se determina el nodo intermedio k = sij que forme la ruta i → k → j. Si sik
= k y skj = j, detenerse; todos los nodos intermedios de la ruta se han
determinado. En caso contrario, repetir el procedimiento entre los nodos i y k y
entre los nodos k y j.

197
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Ejemplo de aplicación 7.2
Resolver el ejemplo de aplicación 7.1 por el algoritmo de Floyd.

2
1
2 5
4 5 5
1 3 8 7
6
6 4
3
7
2
4

Figura 7.7
Iteración 0. Las matrices Do y So son la representación inicial de la red. Do es una matriz
simétrica.
Do So
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 ∞ 7 ∞ ∞ ∞ 1 — 2 3 4 5 6 7
2 2 — 4 ∞ 1 ∞ ∞ 2 1 — 3 4 5 6 7
3 ∞ 4 — 3 5 6 ∞ 3 1 2 — 4 5 6 7
4 7 ∞ 3 — ∞ 2 ∞ 4 1 2 3 — 5 6 7
5 ∞ 1 5 ∞ — 8 5 5 1 2 3 4 — 6 7
6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7
7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

Iteración 1. Se iguala k = 1. El renglón y la columna pivote se ven en la matriz Do con


sombra ligera: Son el primer renglón y la primera columna. Las celdas más
oscuras d24 y d42 son las únicas que pueden mejorar con la operación triple.
Así, D1 y S1 se obtienen partiendo de D0 y S0 como sigue:
1. Sustituir d24 con d21 + d14 = 2 + 7 = 9, e igualar s24 = 1.
2. Sustituir d42 con d41 + d12 = 7 + 2 = 9, e igualar s42 = 1.

Estos cambios se muestran en negritas, en las matrices siguientes:


D1 S1
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 ∞ 7 ∞ ∞ ∞ 1 — 2 3 4 5 6 7
2 2 — 4 9 1 ∞ ∞ 2 1 — 3 1 5 6 7
3 ∞ 4 — 3 5 6 ∞ 3 1 2 — 4 5 6 7
4 7 9 3 — ∞ 2 ∞ 4 1 1 3 — 5 6 7
5 ∞ 1 5 ∞ — 8 5 5 1 2 3 4 — 6 7
6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7
7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

198
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Iteración 2. Se iguala k = 2, como indican el renglón y la columna con sombra ligera en
D1. Se aplica la operación triple a las celdas más oscuras de D1 y S1. Los
cambios que resultan se indican con negritas en D2 y S2.
D2 S2
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 ∞ ∞ 1 — 2 2 4 2 6 7
2 2 — 4 9 1 ∞ ∞ 2 1 — 3 1 5 6 7
3 6 4 — 3 5 6 ∞ 3 2 2 — 4 5 6 7
4 7 9 3 — 10 2 ∞ 4 1 1 3 — 2 6 7
5 3 1 5 10 — 8 5 5 2 2 3 2 — 6 7
6 ∞ ∞ 6 2 8 — 4 6 1 2 3 4 5 — 7
7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

Iteración 3. Se iguala k = 3, como indican en el renglón y la columna sombreada en D2.


Las nuevas matrices son D3 y S3.
D3 S3
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 12 ∞ 1 — 2 2 4 2 3 7
2 2 — 4 7 1 10 ∞ 2 1 — 3 3 5 3 7
3 6 4 — 3 5 6 ∞ 3 2 2 — 4 5 6 7
4 7 7 3 — 8 2 ∞ 4 1 3 3 — 3 6 7
5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7
6 12 10 6 2 8 — 4 6 3 3 3 4 5 — 7
7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

Iteración 4. Se iguala k = 4 como se indica con el renglón y la columna con sombra


ligera en D3. Las nuevas matrices son D4 y S4.
D4 S4
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 9 ∞ 1 — 2 2 4 2 4 7
2 2 — 4 7 1 9 ∞ 2 1 — 3 3 5 4 7
3 6 4 — 3 5 5 ∞ 3 2 2 — 4 5 4 7
4 7 7 3 — 8 2 ∞ 4 1 3 3 — 3 6 7
5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7
6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7
7 ∞ ∞ ∞ ∞ 5 4 — 7 1 2 3 4 5 6 —

199
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Iteración 5. Se iguala k = 5 como se indica con el renglón y la columna con sombra
ligera en D4. Las nuevas matrices son D5 y S5.
D5 S5
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5
2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5
3 6 4 — 3 5 5 10 3 2 2 — 4 5 4 5
4 7 7 3 — 8 2 13 4 1 3 3 — 3 6 5
5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7
6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7
7 8 6 10 13 5 4 — 7 5 5 5 5 5 6 —

Iteración 6. Se iguala k = 6 como se indica con el renglón y la columna con sombra


ligera en D5. Las nuevas matrices son D6 y S6.
D6 S6
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5
2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5
3 6 4 — 3 5 5 9 3 2 2 — 4 5 4 6
4 7 7 3 — 8 2 6 4 1 3 3 — 3 6 6
5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7
6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7
7 8 6 9 6 5 4 — 7 5 5 6 6 5 6 —

Iteración 7. Se iguala k = 7 como en el renglón y la columna con sombra ligera en D6.


No hay mejoras posibles en esta iteración. Por consiguiente D7 y S7 son
iguales que D6 y S6.
D7 S7
1 2 3 4 5 6 7 1 2 3 4 5 6 7
1 — 2 6 7 3 9 8 1 — 2 2 4 2 4 5
2 2 — 4 7 1 9 6 2 1 — 3 3 5 4 5
3 6 4 — 3 5 5 9 3 2 2 — 4 5 4 6
4 7 7 3 — 8 2 6 4 1 3 3 — 3 6 6
5 3 1 5 8 — 8 5 5 2 2 3 3 — 6 7
6 9 9 5 2 8 — 4 6 4 4 4 4 5 — 7
7 8 6 9 6 5 4 — 7 5 5 6 6 5 6 —

Las matrices finales D7 y S7 contienen toda la información necesaria para


determinar la ruta más corta entre dos nodos cualesquiera de la red. Por ejemplo:
 Del nodo 1 al nodo 5, primero se ve la distancia asociada d15 = 3. Para determinar
la ruta asociada, recuérdese que un segmento (i, j) representa un enlace directo si
sij = j. en caso contrario, i y j están enlazados mediante al menos un nodo
intermedio. Como s15 = 2, la ruta inicial es 1→2→5. Ahora bien, como s12 = 2, el
segmento (1,2) es un enlace directo y la ruta 1→2→5 no se transformara. A
continuación como: s12 = 2, s25 = 5, la ruta 1→2→5 no necesita más disecciones y
el proceso termina.

200
Capítulo 7 Texto Guía – Sistemas de Ingeniería
 Del nodo 1 al nodo 7, d17 = 8, la ruta asociada s17 = 5, la ruta inicial es 1→5→7,
ahora bien, s15 = 2 ≠ 5, el segmento (1,5) no es un enlace directo y 1→5 se debe
reemplazar por 1→2→5, y la ruta 1→5→7 se transforma ahora en 1→2→5→7.
A continuación como: s12 = 2, s25 = 5 y s57 =7, la ruta 1→2→5→7 no necesita
más disecciones y el proceso termina.
 Del nodo 1 al nodo 2, d12 = 2, la ruta asociada s12 = 2, el segmento (1,2) es un
enlace directo. La ruta será 1→2
 Y así sucesivamente para los demás nodos.
RUTA MÁS CORTA
NODO DISTANCIA
DESDE 1
2 1–2 2
3 1–2–3 6
4 1–4 7
5 1–2–5 3
6 1–4–6 9
7 1–2–5–7 8
7.3.2 Formulación del problema de la ruta más corta en programación
lineal
En esta sección se describen dos formulaciones de programación lineal para el
problema de la ruta más corta. Las formulaciones son generales, en el sentido de que se
pueden usar para determinar la ruta más corta entre dos nodos cualesquiera de la red. A este
respecto, las formulaciones de programa lineal son equivalentes al algoritmo de Floyd.
Suponga que la red de ruta más corta tiene “n” nodos, y que se desea determinar la
ruta más corta entre dos nodos cualesquiera “s” y “t” de la red.
7.3.2.1 Formulación “1”
En esta formulación se supone que entra a la red una unidad externa de flujo en el
nodo “s” y sale en el nodo “t”, siendo “s” y “t” dos nodos entre los que se busca determinar
la ruta más corta.
Se definen:
xij = Cantidad de flujo en el arco (i, j) para toda i y j factibles.
Cij = Longitud de arco (i, j) para toda i y j factibles.
Como solo puede haber una unidad de flujo en algún arco en cualquier momento, la
variable xij debe asumir solamente valores binarios (0 o 1). Así, la función objetivo del
programa lineal se vuelve:
Minimizar z = ∑c ij x
Todos los arcos definidos (i, j)
ij

Hay una restricción que representa la conservación de flujo en cada nodo; esto es, en
cualquier nodo j,
Flujo total que entra = Flujo total que sale

201
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Ejemplo de aplicación 7.3

La red de la figura 7.11 muestra las rutas con sus longitudes, en millas, entre la ciudad 1
(nodo 1) y las otras ciudades (nodo 2 a 5). Se desea determinar la ruta más corta del nodo 1
al nodo 2; esto es, s = 1 y t = 2. La figura 7.11 muestra como entra el flujo unitario en el
nodo 1 y sale en el nodo 2.
1 2
15

100 4
20
50
10

1 1 30 3 60 5

Figura 7.11
Inserción de un flujo unitario para determinar la
ruta más corta entre el nodo s = 1 y el nodo t = 2
La lista del programa lineal asociado, usando la formulación “1”, se ve a
continuación:
x12 x13 x23 x34 x35 x42 x45
Minimizar Z = 100 30 20 10 60 15 50
Nodo 1 –1 –1 = –1
Nodo 2 1 –1 1 =1
Nodo 3 1 1 –1 –1 =0
Nodo 4 1 –1 –1 =0
Nodo 5 1 1 =0

Las restricciones representan la conservación de flujo en cada nodo. Por ejemplo, en


el nodo 2 “flujo que entra = flujo que sale” es x12 + x42 = 1 + x23 nótese que una de las
restricciones siempre es redundante. Por ejemplo, si se suman las ultimas cuatro
restricciones en forma simultanea se obtiene x12 + x13 = 1, que es igual que la restricción 1.
La solución óptima es:
z = 55, x13 = 1, x34 = 1, x42 = 1
Esta solución expresa la ruta más corta del nodo 1 al nodo 2 como 1→3→4→2, y la
distancia asociada es z = 55 km.

7.3.2.2 Formulación “2”

La segunda formulación es en realidad el problema dual del programa lineal en la


formulación “1”. Como la cantidad de restricciones en la formulación “1” es igual a la
cantidad de nodos, el problema dual tendrá tantas variables como cantidad de nodos haya
en la red. También, las variables duales no deben estar restringidas, porque todas las
restricciones de la formulación “1” son ecuaciones.
Sea:
yj = la restricción dual asociada al nodo j.

202
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Como “s” y “t” son los nodos inicial y terminal de la red, el problema dual se define
como sigue:
Maximizar z = yt – ys
Sujeta a:
yj – yi ≤ cij para toda i y j factibles
Signo no restringido para toda yi y yj
Ejemplo de aplicación 7.4
Para aplicar la formulación “2” al ejemplo de aplicación 7.3, el problema dual
asociado con el programa lineal anterior es:
Maximizar z = y2 – y1
Sujeta a:
y2 – y1 ≤ 100 (ruta 1→2)
y3 – y1 ≤ 30 (ruta 1→3)
y3 – y2 ≤ 20 (ruta 2→3)
y4 – y3 ≤ 10 (ruta 3→4)
y5 – y3 ≤ 60 (ruta 3→5)
y2 – y4 ≤ 15 (ruta 4→2)
y5 – y4 ≤ 50 (ruta 4→5)
y1, y2,…, y5 no restringida
Aunque el problema dual anterior es una definición matemática pura derivada del
problema primal, en realidad se puede interpretar el problema en una forma lógica. Se
define:
yi = distancia al nodo i
Con esta definición, la distancia más corta del nodo inicial 1 al nodo terminal 2 se
determina maximizando y2 – y1. La restricción asociada con la ruta (i, j) indica que la
distancia del nodo i al nodo j no puede ser mayor que la longitud directa de esa ruta. Puede
ser menor si se puede llegar al nodo j desde el nodo i pasando por otros nodos que formen
una ruta más corta. Por ejemplo, la distancia máxima del nodo 1 al nodo 2 es 100. Con la
definición de yi como la distancia al nodo i, se puede suponer que todas las variables son no
negativas (en lugar de no tener restricción). También se puede suponer que y1 = 0 es la
distancia la nodo 1.
Con base en la explicación anterior, y suponiendo que todas las variables son no
negativas, la solución óptima es:
z = 55, y1 = 0, y2 = 55, y3 = 30, y4 = 40, y5 = 0
El valor de z = 55 millas expresa la distancia más corta del nodo 1 al nodo 2, que
también es igual a y2 – y1 = 55 – 0 = 55.
La determinación de la ruta misma, a partir de esta solución, es algo ingenioso. Se
ve que la solución satisface en forma de ecuación a las restricciones de las rutas 1→3, 3→4
y 4→2, por que sus holguras son igual a cero; esto es y3 – y1 = 30, y4 – y3 = 10, y2 – y4 =
15. Este resultado identifica que la ruta más corta es 1→3→4→2.

203
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Otra forma de identificar las restricciones que se satisfacen en forma de ecuación es
consultar la solución del programa lineal de la formulación “2”. Toda restricción que tenga
un valor dual distinto de cero debe estar satisfecha en forma de ecuación. La tabla siguiente
aparea las rutas (restricciones) con sus valores duales asociados.
Ruta (restricción) 1→2 1→3 2→3 3→4 3→5 4→2 4→5
Valor dual asociado 0 1 0 1 0 1 0

7.3.3 Solución por computadora de la ruta más corta


7.3.3.1 Solución con TORA
Se puede usar TORA para generar iteraciones del algoritmo de Dijkstra y del
Algoritmo de Floyd.
Parta del MainMenú y escoja Network models → Shortest Route (Modelo de red
→ Ruta más corta). Especifique el modo de captura (archivo existente o problema nuevo) y
el formato de captura.
En problemas nuevos, use la tabla de captura para ingresar datos. Y oprima SOLVE
MENU (menú resolver)

Figura 7.12

Figura 7.13

204
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Figura 7.14
Seleccione SOLVE PROBLEM = > Iterations, y escoja uno de los dos métodos
(Algoritmo de Dijkstra o el algoritmo de Floyd) para iniciar las iteraciones del modelo de
red.

Figura 7.15

205
Capítulo 7 Texto Guía – Sistemas de Ingeniería
La figura 7.16 muestra las iteraciones del ejemplo de aplicación 7.1, con TORA, por el
algoritmo de Dijkstra.

Figura 7.16 Solución de la ruta más corta del ejemplo de aplicación 7.1 con TORA

206
Capítulo 7 Texto Guía – Sistemas de Ingeniería
7.3.3.2 Solución con WinQSB
Parta del menú Inicio = > Programas = > WinQSB = > Network Modeling.

Figura 7.17
Una vez hecha la selección de Network Modeling haga clic en New Problem, y
escoja el tipo de problema en este caso Shortest Path Problem (Problema de camino más
corto) y coloque los datos del problema (criterio de la función objetivo, formato de los
datos de entrada, número de nodos) y haga clic en OK

Figura 7.18

207
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Proceda a ingresar los datos del problema de la siguiente manera:

Figura 7.19
Una vez ingresados los datos del problema haga clic en Solve and Analyse y haga
clic en Solve and Display Steps – Network.

Figura 7.20
Aparecerá la primera iteración, luego presione Iteration = > Next Iteration. Hasta
hallar el óptimo. En la figura 7.21 se resuelve el ejemplo de aplicación 7.1.

208
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Y así sucesivamente hasta hallar el óptimo.

Figura 7.21

Figura 7.22 Solución de la ruta más corta entre los nodos del ejemplo de aplicación 7.1 con
WinQSB.
7.3.3.3 Solución con hoja de cálculo de Excel
La hoja de cálculo de Excel, desarrollada para el modelo general de transporte se
puede modificar fácilmente para determinar la ruta más corta entre dos nodos. La hoja se
basa en la formulación “1”, sección 7.3.2, y esta diseñada para resolver problemas con un
máximo de 10 nodos. La figura muestra la aplicación de la hoja de cálculo al ejemplo de
aplicación 7.1. La matriz de distancias está en las celdas B6:K15. Para los arcos no
existentes se ingresa una distancia infinita (=9999 o cualquier valor relativamente grande).
Como se busca la ruta más corta entre los nodos 1 y los nodos restantes, por ejemplo
del nodo 1 al nodo 7, la cantidad suministrada al nodo 1 y la cantidad de demanda en el

209
Capítulo 7 Texto Guía – Sistemas de Ingeniería
nodo 7 es 1 unidad. Se escribe cantidad cero en los elementos restantes de oferta y
demanda.
Una vez ingresados los datos de costo unitario, de oferta y de demanda, el resto de
la hoja (secciones de cálculos intermedios y de solución óptima) se genera en forma
automática. Los parámetros de SOLVER deben corresponder a los datos del problema,
como se ve en las columnas resaltadas B, C, F y G. La columna B especifica las celdas que
cambian (flujos de arco) del problema (celdas B20:B39). La columna C especifica las
capacidades de los arcos de la red (celdas C20:C39). En el modelo de ruta más corta esas
capacidades no desempeñan papel alguno en los cálculos, y en consecuencia son infinitas
(=99999). Las restricciones del modelo representan la ecuación de balance para cada nodo.
Las celdas F19:F23 definen el lado izquierdo, y las celdas G19:G23 representan el
lado derecho de las ecuaciones de flujo. Como se explico en la sección 6.7.3, se usa SUMIF
(sumar si) para generar el flujo neto adecuado en cada nodo, con la información de las
columnas I y J. La hoja de cálculo automatiza esas operaciones. Así, todo lo que se debe
hacer después de escribir los datos es actualizar las especificaciones Cambiando las
Celdas y Restricciones de SOLVER, para que coincidan con los datos. La Celda Objetivo
queda igual para todos los datos. En el ejemplo de aplicación 7.1 se tiene:
Cambiando la celdas: B20:B61
Sujetas a las siguientes restricciones: F19:F25 = G19:G25

Figura 7.23
El resultado de la figura 7.24 define la solución (N1 – N2 = 1, N2 – N5 = 1, N5 –
N7 = 1), con una distancia de 8. Eso quiere decir que la ruta óptima es 1→2→5→7.

210
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Modelo de la ruta mas corta con SOLVER
Datos de Entrada
Nº de Nodos 7 <<Maximo 10
Unit Cost Matrix(Costo unitario de la matriz)
N1 N2 N3 N4 N5 N6 N7
N1 9999 2 9999 7 9999 9999 9999
N2 2 9999 4 9999 1 9999 9999
N3 9999 4 9999 3 5 6 9999
N4 7 9999 3 9999 9999 2 9999
N5 9999 1 5 9999 9999 8 5
N6 9999 9999 6 2 8 9999 4
N7 9999 9999 9999 9999 5 4 9999

Demanda 0 0 0 0 0 0 1
Solución óptima: Cálculos intermedios:
Costo Total = 8 Nombre Nodo Flujo Demanda Desde Hasta Costo uni
Desde - hasta Flujo Capacidad N1 1 1 1 1 2 2
N1 - N2 1 999999 N2 2 0 0 1 3 9999
N1 - N3 0 999999 N3 3 0 0 1 4 7
N1 - N4 0 999999 N4 4 0 0 1 5 9999
N1 - N5 0 999999 N5 5 0 0 1 6 9999
N1 - N6 0 999999 N6 6 0 0 1 7 9999
N1 - N7 0 999999 N7 7 -1 -1 2 1 2
N2 - N1 0 999999 2 3 4
N2 - N3 0 999999 2 4 9999
N2 - N4 0 999999 2 5 1
N2 - N5 1 999999 2 6 9999
N2 - N6 0 999999 2 7 9999
N2 - N7 0 999999 3 1 9999
N3 - N1 0 999999 3 2 4
N3 - N2 0 999999 3 4 3
N3 - N4 0 999999 3 5 5
N3 - N5 0 999999 3 6 6
N3 - N6 0 999999 3 7 9999
N3 - N7 0 999999 4 1 7
N4 - N1 0 999999 4 2 9999
N4 - N2 0 999999 4 3 3
N4 - N3 0 999999 4 5 9999
N4 - N5 0 999999 4 6 2
N4 - N6 0 999999 4 7 9999
N4 - N7 0 999999 5 1 9999
N5 - N1 0 999999 5 2 1
N5 - N2 0 999999 5 3 5
N5 - N3 0 999999 5 4 9999
N5 - N4 0 999999 5 6 8
N5 - N6 0 999999 5 7 5
N5 - N7 1 999999 6 1 9999
N6 - N1 0 999999 6 2 9999
N6 - N2 0 999999 6 3 6
N6 - N3 0 999999 6 4 2
N6 - N4 0 999999 6 5 8
N6 - N5 0 999999 6 7 4
N6 - N7 0 999999 7 1 9999
N7 - N1 0 999999 7 2 9999
N7 - N2 0 999999 7 3 9999
N7 - N3 0 999999 7 4 9999
N7 - N4 0 999999 7 5 5
N7 - N5 0 999999 7 6 4
N7 - N6 0 999999

Figura 7.24 Solución de la ruta más corta entre los nodos 1 y 7 del ejemplo de aplicación 7.1 con
SOLVER de Excel

211
Capítulo 7 Texto Guía – Sistemas de Ingeniería

7.4 Problema del árbol de expansión mínima


El problema del árbol de expansión mínima tiene algunas similitudes con la versión
principal del problema de la ruta más corta que se presento en la sección anterior. En ambos
casos se considera una red no dirigida y conexa, en la que la información dada incluye
alguna medida de longitud positiva (distancia, tiempo, costo, etc.) asociada con cada arco.
Los dos problemas involucran también el hecho de seleccionar un conjunto de arcos que
tiene la longitud total más corta entre todos los conjuntos de arcos que satisfacen cierta
propiedad. Para el problema de la ruta más corta esta propiedad es que el arco seleccionado
debe proporcionar una trayectoria entre el origen y el destino. Para el árbol de expansión
mínima la propiedad requerida es que los arcos seleccionados deben proporcionar una
trayectoria entre cada par de nodos.
Una red con “n” nodos requiere solo (n – 1) arcos para proporcionar una trayectoria
entre cada par de nodos. No deben usarse más arcos ya que esto aumentaría, sin necesidad,
la longitud total de los arcos seleccionados. Los (n – 1) arcos deben elegirse de tal manera
que la red resultante (con solo los arcos resultantes) forme un árbol de expansión (según la
definición dada en la sección 7.2). Por lo tanto, el problema es encontrar el árbol de
expansión con la longitud total mínima de sus arcos.
7.4.1 Algoritmo del árbol de expansión mínima
El algoritmo de árbol de expansión mínima enlaza los nodos de una red, en forma
directa o indirecta, con la mínima longitud de las ramas enlazantes. Una aplicación
característica es en la construcción de carreteras pavimentadas que unen varias poblaciones.
El camino entre dos poblaciones puede pasar por uno o más poblaciones
adicionales. El diseño más económico del sistema de caminos indica que se minimice la
distancia total de caminos pavimentados, el resultado que se obtiene implementando el
algoritmo de árbol de expansión mínima. Los pasos del procedimiento son los siguientes:
Paso 1. Se selecciona, de manera arbitraria, cualquier nodo y se conecta (es decir
se pone un arco) al nodo más cercano distinto de éste.
Paso 2. Se identifica el nodo no conectado más cercano a un nodo conectado, y se
conectan estos dos nodos (es decir, se agrega un arco entre ellos). Este
paso se repite hasta que se hayan conectado todos los nodos.
Paso 3. Los empates para el nodo más cercano distinto (paso 1) o para el nodo no
conectado más cercano (paso 2), se pueden romper en forma arbitraria y el
algoritmo todavía debe llevar a una solución óptima. No obstante, estos
empates son señales de que pueden existir (pero no necesariamente)
soluciones óptimas múltiples. Todas esas soluciones se pueden identificar
si se buscan las demás formas de romper los empates hasta el final.
La manera más rápida de ejecutar este algoritmo en forma manual es el enfoque
gráfico que se ilustra enseguida.
Ejemplo de aplicación 7.5
La administración de Comteco necesita determinar los caminos bajo los cuales se
deben tender las líneas telefónicas para conectar todas las estaciones con una longitud
mínima de cable. Se describirá paso a paso la solución de este problema con base en los
datos que se dan en la figura 7.25.

212
Capítulo 7 Texto Guía – Sistemas de Ingeniería

A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Figura 7.25
En forma arbitraria, se selecciona el nodo O para comenzar. El nodo no conectado
más cercano a O es el nodo A. Se conecta el nodo A al nodo O.
A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Figura 7.26
El nodo más cercano a cualesquiera de los nodos O o A es el nodo B (más cercano
a A), se conecta el nodo B al nodo A.
A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Figura 7.27
El nodo no conectado más cercano a O, A o B es el nodo C (más cercano a B), se
conecta el nodo C al nodo B.
A
7
2 5 T
2 D
4
5
O B 1 7
3
4 1 E
C 4

Figura 7.28

213
Capítulo 7 Texto Guía – Sistemas de Ingeniería
El nodo no conectado más cercano a O, A, B o C es el nodo E (más cercano a B), se
conecta el nodo E al nodo B.
A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Figura 7.29
El nodo no conectado más cercano a O, A, B, C o E es el nodo D (más cercano a
E), se conecta el nodo D al nodo E.
A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Figura 7.30
El único nodo no conectado es el nodo T. Esta más cerca del nodo D, se conecta el
nodo T al nodo D

A
7
2 5 T
2 D
4
5
O B 3 1 7
4 1 E
C 4

Figura 7.31
Todos los nodos han quedado conectados, por lo que ésta es la solución óptima que
se buscaba. La longitud total de las ramas es 14 km.
Aunque con este procedimiento a primera vista puede parecer que la selección del
nodo inicial afectaría la solución final (y la longitud de los arcos), en realidad no es así. Se
sugiere que se verifique este hecho para el ejemplo, aplicando de nuevo el algoritmo, pero
iniciando en un nodo distinto de O.

214
Capítulo 7 Texto Guía – Sistemas de Ingeniería
7.4.2 Solución por computadora de expansión mínima
7.4.2.1 Solución con TORA
Se puede usar TORA para generar iteraciones del algoritmo del algoritmo del árbol
de expansión mínima.
Parta del MainMenú y escoja Network models → Minimal Spanning Tree
(Modelo de red → Árbol de expansión mínima). Especifique el modo de captura (archivo
existente o problema nuevo) y el formato de captura.
En problemas nuevos, use la tabla de captura para ingresar datos. Y oprima SOLVE
MENU (menú resolver)

Figura 7.32
Figura 7.32 (a)

Figura 7.33
Seleccione SOLVE PROBLEM, para iniciar las iteraciones del modelo de red.

Figura 7.34

215
Capítulo 7 Texto Guía – Sistemas de Ingeniería
La figura 7.35 muestra las iteraciones del ejemplo de aplicación 7.5, con TORA.

Figura 7.35 Solución del árbol de expansión mínima del ejemplo de aplicación 7.5 con TORA
7.4.2.2 Solución con WinQSB
Parta del menú Inicio = > Programas = > WinQSB = > Network Modeling.

Figura 7.36

Una vez hecha la selección de Network Modeling haga clic en new Problem, y
escoja el tipo de problema en este caso Minimal Spanning Tree (árbol de expansión
mínima) y coloque los datos del problema (criterio de la función objetivo, formato de los
datos de entrada, número de nodos) y haga clic en OK

216
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Figura 7.36 (a)


Proceda a ingresar los datos del problema de la siguiente manera:

Figura 7.37
Una vez ingresados los datos del problema haga clic en Solve and Analyse y haga
clic en Solve and Display Steps – Network.

Figura 7.38
Aparecerá la primera iteración, luego presione Iteration = > Next Iteration. Hasta
hallar el óptimo. En la figura 7.39 se resuelve el ejemplo de aplicación 7.5.

217
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Y así sucesivamente hasta hallar el óptimo.

Figura 7.39 Solución del árbol de expansión mínima del ejemplo de aplicación 7.5 con WinQSB.

218
Capítulo 7 Texto Guía – Sistemas de Ingeniería

7.5 Modelo de flujo máximo


En el problema de flujo máximo hay un solo nodo fuente que es el productor del
flujo y un solo nodo destino que es el consumidor del flujo. El objetivo es encontrar la
máxima cantidad de flujo total (transito, agua, petróleo, efectivo, etc.) que puede circular
por la red en la unidad de tiempo.
En este problema deben tomarse en cuenta las siguientes consideraciones:
1. El flujo entra en la red únicamente por el nodo fuente. Matemáticamente se expresa.
∑x −∑x
j
ij
j
ji = f ; Si i = 1

2. Hay conservación de flujo en un nodo intermedio; es decir, el total de flujo que


entra en un cierto nodo es igual al total de flujo que sale del mismo.
∑x −∑x
j
ij
j
ji = 0 ; Si i ≠ 1, n

3. El flujo sale de la red únicamente por el nodo destino.


∑x −∑x
j
ij
j
ji = − f ; Si i = n

4. El flujo en un arco debe cumplir los requerimientos mínimos y las capacidades


máximas del arco, es decir:
0 ≤ λij ≤ xij ≤ µ ij ; ∀ ij
Por tanto la formulación matemática de este problema será:
Max ƒ = ∑x
j
1j

Sujeto a:
 f si i = 1

∑j xij − ∑j x ji = 0 si i ≠ 1, n
− f si i = n

0 ≤ λij ≤ xij ≤ µ ij
Donde:
xij = Flujo por unidad de tiempo que cruza el arco (i, j)
∑ xij = Flujo total de salida del nodo i.
j

∑x
j
ji = Flujo total de entrada al nodo i

f = Flujo total de la red por unidad de tiempo


µ ij = Capacidad máxima de flujo
λij = Capacidad mínima de flujo

219
Capítulo 7 Texto Guía – Sistemas de Ingeniería
De acuerdo a esta formulación, los arcos del nodo productor a cada uno de los
centros de oferta (2, 3,…., m) tendrán una capacidad máxima de flujo igual a la oferta del
lugar. Los arcos de los “n” centros consumidores al nodo destino, tendrán una capacidad
mínima igual a la demanda del entro. Los arcos que van de los centros de oferta a los
centros de consumo, tendrán una capacidad máxima igual a la capacidad disponible de
transporte por unidad de tiempo entre estos puntos.
7.5.1 Algoritmos del problema de flujo máximo
El algoritmo que se emplea es el de Ford y Fulkerson. Para cualquier recorrido
elegido debe cumplirse:
 Que no se exceda la capacidad de ningún arco del recorrido.
 A excepción de los nodos 1 y n, el flujo de los otros nodos, debe cumplir la
condición de conservación: Flujo de entrada al nodo = Flujo de salida del nodo.
7.5.1.1 Algoritmo de Ford y Fulkerson
El algoritmo considera que la cantidad máxima de flujo que puede fluir de la fuente
al destino a lo largo de un recorrido elegido, es igual a la menor de las capacidades de arco
de dicho recorrido. Siempre que se asigna un flujo a un arco particular, se tiene en cuenta
dos reglas:
1. Se debe reducir la cantidad en a dirección del flujo asignado, en la cantidad de flujo.
2. Se aumenta la cantidad en sentido opuesto, en la cantidad de flujo.
El algoritmo consta de los siguientes pasos:
Paso 1. Encuentre cualquier recorrido, de la fuente al destino, que tenga
CAPACIDAD DE FLUJO POSITIVA; es decir, considerando todos los
arcos del recorrido, la mínima de las capacidades en la dirección del flujo
debe ser positiva. Si no hay recorridos con estas características, se habrá
llegado a la solución óptima.
Paso 2. Seleccionar ρmin como la capacidad de flujo mínimo de entre todos los arcos
seleccionados en el paso 1. Esto quiere decir que estamos aumentando el
flujo existente a través de la red porque enviamos un flujo adicional de rmin
sobre este recorrido.
Paso 3. Por el recorrido elegido, disminuir las capacidades en dirección del flujo en
cada arco, en la cantidad ρmin. Aumentar las capacidades en la dirección
opuesta también en ρmin.
Paso 4. Volver al paso 1.

220
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Ejemplo de aplicación 7.6
Dada la red con sus respectivos flujos, hallar el flujo máximo:

0 A 6
6 0
D 5
0
3 0 3
4 0
O B 6
T
0
5 4 0
0
E 2
0 0
0
C 2

Iteración 1ª. Recorrido O → A → D → T


ρmin= 3

3 A 3
6 3
D 2
0
0 0 3
4 3
3 O B 6
T 3
0
5 4 0
0
E 2
0 0
0
C 2

Iteración 2ª. Recorrido O → C → E → T


ρmin= 2

3 A 3
6 3
D 2
0
0 0 3
4 3
5 O B 6
T 5
2
3 4 0
0
E 0
0 2
2
C 0

221
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Como ya no existe un recorrido con capacidad de flujo positiva, entonces habremos
llegado al óptimo. De acuerdo a esto, el flujo máximo que atraviesa a la red es 5.
El flujo total para cada arco, se calcula, estableciendo diferencias entre las
capacidades iniciales y finales, siempre y cuando estas ultimas sen menores.

A 3

3
D 3

5 O B T 5

E 2
2

C 2

En esta última red se puede comprobar:


 Para el nodo fuente O: 0
∑x j
Oj − ∑ x jO = f
j

xOA + xOC = f
3+2=5
 Para el nodo destino T: 0
∑x j
Tj − ∑ x jT = − f
j

− x DT − x ET = − f
–3 – 2 = –5

 Para un nodo intermedio, por ejemplo el nodo E:


∑x j
Ej − ∑ x jE = 0
j

x ET − xCE = 0
2–2=0
La red resultante muestra el flujo máximo y puede ser cortada de diferentes
maneras, de tal manera que se establece el siguiente teorema.
“EL FLUJO MÁXIMO DE CUALQUIER RED ES IGUAL A LA MÍNIMA
CAPACIDAD DE CORTE”
Para explicar este teorema, se definen:

222
Capítulo 7 Texto Guía – Sistemas de Ingeniería
 Corte. Cualquier partición del conjunto de nodos en dos clases ajenas: C1 y Cn; la
clase 1 contiene al nodo original y la clase n contiene al nodo destino.
 Capacidad De Corte. Es la suma de las capacidades de los arcos que conectan a
todos los nodos que van de C1 a Cn.
Entre todos los cortes posibles en la red, el que tenga la capacidad menor permite el
flujo máximo en la red.
Ejemplo de aplicación 7.7
Por lo tanto para el ejemplo de aplicación 7.6 se tiene:

0 A 6
6 0
D 5
0
3 0 3
4 0
O B 6
T
0
5 4 0
0
E 2
0 0
0
C 2

Clase 1 (C1) Clase n (Cn) Capacidad de Corte


XOA +XOC
{O} {A, B, C, D, E, T}
3 + 5 =8
XOC + XAB + XAD
{O, A} {B, C, D, E, T}
5 + 6 + 6 = 17
XOC + XAD + XBC + XBD + XBE
{O, A, B} {C, D, E, T}
5 + 6 +4 + 4 + 6 = 25
XAD + XBD + XBE + XCE
{O, A, B, C} {D, E, T}
6 + 4 + 6 + 2 = 18
XBE + XCE + XDE + XDT
{O, A, B, C, D} {E, T}
6 + 2 + 3 + 5 = 16
XDE + XET
{O, A, B, C, D, E} {T}
5 + 2 = 7
XOA + XCB + XEB + XED + XET
{O, C, E} {A, B, D, T}
3 + 0 + 0 + 0 + 2 =5
Se pueden ir deduciendo más particiones y combinaciones posibles. Se puede notar,
sin embargo, que la partición C1 = {O, C, E} y Cn = {A, B, D, T} ofrece una mínima
capacidad de corte, igual a 5; esta mínima capacidad corresponde al flujo máximo
encontrado por el algoritmo de Ford y Fulkerson.
7.5.1.2 Algoritmo de flujo máximo
El algoritmo de flujo máximo se basa en determinar rutas de irrupción que tengan
flujo neto positivo entre los nodos fuente y destino. Cada ruta comunica parte o todas las
capacidades de sus arcos al flujo total en la red.
Considere el arco (i, j) con capacidades iniciales ( C ij , C ji ). A medida que partes de
esas capacidades contribuyen al flujo en el arco, se actualizan los residuales (o capacidades

223
Capítulo 7 Texto Guía – Sistemas de Ingeniería
remanentes). La red con los residuales actualizados se llama red residual. Se usará la
notación ( cij , c ji ) para representar esos residuales.
Para un nodo j que recibe flujo al nodo i, se define una etiqueta [aj, i], donde aj es el
flujo del nodo i al nodo j.
Los pasos del algoritmo son como sigue:
Paso 1. Para todos los arcos (i, j) se iguala la capacidad residual con la capacidad
inicial; esto es, ( cij , c ji ) = ( C ij , C ji ). Sea a1 = ∞ y se etiqueta el nodo fuente
1 con [∞, —]. Se iguala i = 1 y se prosigue al paso 2.
Paso 2. Determinar Si, el conjunto de nodos j no etiquetados que se pueden alcanzar
directamente desde el nodo i, con arcos con residuales positivos (esto es
cij > 0 para toda j ε Si). Si ≠ Ø, ir al paso 3. En caso contrario ir al paso 4.
Paso 3. Determinar k ε Si tal que
cik = max {cij }
j ε Si

Igualar ak = cik y etiquetar el nodo k con [ak,i]. Si k = n, el nodo sumidero se


ha etiquetado y se ha encontrado una ruta de irrupción; ir al paso 5. En caso
contrario igualar i = k y seguir en el paso 2.
Paso 4. (Retroceso). Si i = 1, no hay otras irrupciones posibles; ir al paso 6. En caso
contrario, sea r el nodo que se ha etiquetado inmediatamente antes del nodo
actual i y quitar i del conjunto de nodos adyacentes a r. Igualar i = r y
continuar en el paso 2.
Paso 5. (Determinación de la red residual). Sea Np = (1, k1, k2, …, n); se definen
los nodos de la p-ésima ruta de irrupción del nodo fuente 1 al nodo destino
n. Entonces el flujo máximo por la ruta se calcula como:
fp = mín {a1, ak1, ak2,…, an}
La capacidad residual de cada arco a lo largo de la ruta de irrupción se
disminuye en fp unidades en la dirección del flujo y se aumenta fp unidades
en la dirección contraria; esto es, para todos los nodos i y j en la ruta, el flujo
residual se cambia del actual ( cij , c ji ) a
a) ( cij , c ji ) ( C ij − f p , C ji + f p ), si el flujo va de i a j
b) ( C ij + f p , C ji − f p ), si el flujo va de j a i
Se reinstalan todos los nodos que se hayan eliminado en el paso 4. Poner
i = 1 y regresar al paso 2 para intentar una nueva ruta de irrupción.
Paso 6. (Solución)
a) Si se han determinado m rutas de irrupción, el flujo máximo en la red es:
F = f1 + f2 + ...+ fm
b) Como los residuales inicial y final del arco (i,j) se obtienen con
( C ij , C ji ) y ( cij , c ji ), respectivamente, el flujo óptimo en el arco (i, j) se
calcula como sigue:

224
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Sea:
(α , β ) = ( C ij − cij , C ji − c ji )
Si α > 0, el flujo óptimo de i a j es α.
Si β > 0, el flujo óptimo de i a j es β. (Es imposible que tanto α y β sean
positivos).
Se invoca el proceso de retroceso del paso 4 cuando el algoritmo llega a un
“punto ciego” por descuido, en un nodo intermedio, antes de poder realizar
una irrupción.
Ejemplo de aplicación 7.8
Determinar el flujo máximo en la red del ejemplo de aplicación 7.6.

0 A 6
6 0
D 5
0
3 0 3
4 0
O B 6
T
0
5 4 0
0
E 2
0 0
0
C 2

Iteración 1º. Igualar los residuales iniciales ( cij , c ji ) a las capacidades ( C ij , C ji ).


Paso 1. Igualar aO = ∞ y etiquetar el nodo O con [∞, —]. Poner i = O.
Paso 2. SO = {A, C}(≠Ø).
Paso 3. k = C porque cOC = max {cOA, cOC}= max{3, 5} = 5. Tomar aC = cOC = 5 y
etiquetar el nodo C [5, O]. Igualar i = C y repetir el paso 2.
Paso 2. SC = {B, E}
Paso 3. k = E porque cCE = max {cCB, cCE}= max{0, 2} = 2. Tomar aE = cCE = 2 y
etiquetar el nodo E [2, C]. Igualar i = E y repetir el paso 2.
Paso 2. SE = {D, T}
Paso 3. k = T porque cET = max {cED, cET}= max{0, 2} = 2. Tomar aT = cET = 2 y
etiquetar el nodo T [2, E]. Se obtuvo una irrupción. Ir al paso 5.
Paso 5. La ruta de irrupción se determina con las etiquetas comenzando en el nodo T y
termina en el nodo O; esto es, (T) → [2, E] → (E) → [2, C] → (C) → [5, O]
→ (O). Así, N1 = {O, C, E, T}y f1 = mín {aO, aC, aE, aT} = {∞, 5, 2, 2} = 2.
Las capacidades residuales a lo largo de la ruta N1 son:
( cij , c ji )
a) ( cOC , cCO ) = ( C OC − f 1 , C CO + f 1 ) = (5 − 2,0 + 2) = (3,2)

225
Capítulo 7 Texto Guía – Sistemas de Ingeniería
( cCE , c EC ) = ( C CE − f1 , C EC + f1 ) = (2 − 2,0 + 2) = (0,2)
( c ET , cTE ) = ( C ET − f 1 , CTE + f1 ) = (2 − 2,0 + 2) = (0,2)

0 A 6
6 0
D 5
0
3 0 3
4 0
O B 6
T [2,E]
[o-o,- ] 2
3 4 0
0
E 0
0 2
[2,C]
2 C 0
[5,O]

Iteración 2º.
Paso 1. Igualar aO = ∞ y etiquetar el nodo O con [∞, —]. Poner i = O.
Paso 2. SO = {A, C}(≠ Ø).
Paso 3. k = A porque cOA = max {cOA, cOC}= max{3, 3} = 3.(Aunque los empates se
rompen en forma arbitraria, TORA selecciona siempre el nodo empatado que
tenga el índice menor.) Tomar aA = cOA = 3 y etiquetar el nodo A [3, O].
Igualar i = A y repetir el paso 2.
Paso 2. SA = {B, D}
Paso 3. k = B porque cAB = max {cAB, cAD}= max{6, 6} = 6. Tomar aB = cAB = 6 y
etiquetar el nodo B [6, A]. Igualar i = B y repetir el paso 2.
Paso 2. SB = {C, D, E}
Paso 3. k = D porque cBD = max {cBC, cBD, cBE}= max{4, 4, 6} = 4. Tomar aD = cBD =
4 y etiquetar el nodo D [4, B]. Igualar i = D y repetir el paso 2.
Paso 2. SD = {E, T}
Paso 3. k = T porque cDT = max {cDE, cDT}= max{3, 5} = 5. Tomar aT = cDT = 5 y
etiquetar el nodo T [5, D]. Se obtuvo una irrupción. Ir al paso 5.
Paso 5. La ruta de irrupción se determina con las etiquetas comenzando en el nodo T y
termina en el nodo O; esto es, (T) → [5, D] → (D) → [4, B] → (B) → [6, A]
→ (A) → [3, O] → (O). Así, N2 = {O, A, B, D, T}y f2 = mín {aO, aA, aB, aD,
aT} = {∞, 3, 6, 4, 5} = 3. Las capacidades residuales a lo largo de la ruta N2
son:
( cij , c ji )
a) ( cOA , c AO ) = ( C OA − f 2 , C AO + f 2 ) = (3 − 3,0 + 3) = (0,3)
( c AB , c BA ) = ( C AB − f 2 , C BA + f 2 ) = (6 − 3,0 + 3) = (3,3)
( c BD , c DB ) = ( C BD − f 2 , C DB + f 2 ) = (4 − 3,0 + 3) = (1,3)
( c DT , cTD ) = ( C DT − f 2 , CTD + f 2 ) = (5 − 3,0 + 3) = (2,3)

226
Capítulo 7 Texto Guía – Sistemas de Ingeniería

[3,O]

3 A 6
[4,B]
3 0
D 2
3
0 3 3
1 3
O [6,A] B 6
T [5,D]
[o-o,- ] 2
3 4 0
0
E 0
0 2
2 C 0

Iteración 3º.
Todos los arcos que salen del nodo O tienen residuales ceros, a excepción del arco
OC, como el nodo C tiene residuales ceros, en consecuencia no hay irrupciones posibles.
Entonces pasaremos al paso 6 para determinar la solución.
Paso 6. El flujo máximo en la red es F = f1 + f2 = 2 + 3 = 5 unidades. El flujo en los
distintos arcos se calcula restando los últimos residuales ( cij , c ji ) en la
iteración 2º de las capacidades iniciales ( C ij , C ji ), como se ve en la tabla
siguiente:
Arco ( C ij , C ji ) – ( cij , c ji ) Flujo Dirección
(O,A) (3,0) – (0,3) = (3, –3) 3 O→A
(O,C) (5,0) – (3,2) = (2, –2) 2 O→C
(A,B) (6,0) – (3,3) = (3, –3) 3 A→B
(A,D) (6,0) – (6,0) = (0, 0) 0 ▬
(B,C) (4,0) – (4,0) = (0, 0) 0 ▬
(B,D) (4,0) – (1,3) = (3, –3) 3 B→D
(B,E) (6,0) – (6,0) = (0,0) 0 ▬
(C,E) (2,0) – (0,2) = (2, –2) 2 C→E
(D,E) (3,0) – (3,0) = (0,0) 0 ▬
(D,T) (5,0) – (2,3) = (3, –3) 3 D→T
(E,T) (2,0) – (0,2) = (2,–2) 2 E→T

227
Capítulo 7 Texto Guía – Sistemas de Ingeniería
7.5.2 Formulación del problema de flujo máximo con programación
lineal
Se define xij como la cantidad de flujo en el arco (i,j) y sea cij la capacidad del
mismo arco. Se supone que s y t son los nodos inicial y terminal entre los cuales se debe
determinar el flujo máximo en la red capacitada (es decir, con sus capacidades).
Las restricciones del problema conservan el flujo de entrada y salida en cada nodo,
con excepción de los nodos inicial y terminal. La función objetivo maximiza el flujo total
“que sale” del nodo inicial s, o el flujo total “que entra” al nodo terminal t.
Ejemplo de aplicación 7.9
En el modelo de flujo máximo de la figura 7.40, s = 1 y t = 5. La tabla siguiente es
un resumen del programa lineal correspondiente con dos funciones objetivos distintas, que
dependen de si se maximiza la salida del nodo 1 (= Z1) o la entrada al nodo 5 (= Z2).

4 20
0
5
0
5
10 0 0
30
1
20

10
30 0
0 20
2 40 0
3

Figura 7.40
x12 x13 x14 x23 x25 x34 x35 x43 x45
Maximizar Z1 1 1 1
Maximizar Z2 1 1 1
Nodo 2 =0
Nodo 3 =0
Nodo 4 =0
Capacidad 20 30 10 40 30 10 20 5 20
La solución óptima, usando cualquiera de las funciones objetivo, es:
x12 = 20, x13 = 30, x14 = 10, x23 = , x25 = 20, x34 = 10, x35 = 20, x43 = , x45 = 20
El flujo máximo asociado es Z1 = Z2 = 60.

228
Capítulo 7 Texto Guía – Sistemas de Ingeniería
7.5.3 Solución por computadora del problema de flujo máximo
7.5.3.1 Solución con TORA
Puede usted usar Tora para resolver el modelo de flujo máximo en una forma
automatizada, o para producir las iteraciones que se describieron arriba.
Parta del MainMenú y escoja Network models → Maximal Flow (Modelo de red
→ Flujo máximo). Especifique el modo de captura (archivo existente o problema nuevo) y
el formato de captura.
En problemas nuevos, use la tabla de captura para ingresar datos. Y oprima SOLVE
MENU (menú resolver)

Figura 7.41 Figura 7.42

Figura 7.43
Seleccione SOLVE PROBLEM = > Iterations.

Figura 7.44

229
Capítulo 7 Texto Guía – Sistemas de Ingeniería
La figura 7.45 muestra las iteraciones del ejemplo de aplicación 7.1, con TORA

Figura 7.45 Iteraciones de flujo máximo para el ejemplo de aplicación 7.1 con TORA
7.5.3.2 Solución con WinQSB
Parta del menú Inicio = > Programas = > WinQSB = > Network Modeling.
Una vez hecha la selección de Network Modeling haga clic en new Problem, y
escoja el tipo de problema en este caso Maximal Flow Problem (Problema de flujo
máximo) y coloque los datos del problema (criterio de la función objetivo, formato de los
datos de entrada, número de nodos) y haga clic en OK

230
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Figura 7.46
Proceda a ingresar los datos del problema de la siguiente manera:

Figura 7.47
Una vez ingresados los datos del problema haga clic en Solve and Analyse y haga clic en
Solve and Display Steps – Network.

Figura 7.48
Aparecerá la primera iteración, luego presione Iteration = > Next Iteration. Hasta hallar
el óptimo. En la figura 7.49 se resuelve el ejemplo de aplicación 7.1.

231
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Figura 7.49 Solución del problema de flujo máximo del ejemplo de aplicación 7.1 con WinQSB.
7.5.3.3 Solución con hoja de cálculo de Excel
La hoja de cálculo de Excel, basada en la red, que se desarrollo para el modelo de
transporte (sección 6.7.3) se modifica para determinar el flujo máximo en una red
capacitada. Esta hoja de cálculo esta diseñada para problemas con un máximo de 10 nodos.
La figura 7.50 muestra la aplicación de la hoja de cálculo al ejemplo de aplicación
7.1. La matriz de capacidades de flujo está en las celdas B6:K15. Una celda vacía en la
matriz de capacidades indica que el arco correspondiente tiene capacidad infinita. Un
elemento cero corresponde a un arco de flujo inexistente. En cualquier otro caso, todos los
arcos restantes deben tener capacidades finitas.
Una vez capturados los datos de capacidad de flujo, el resto de la hoja de cálculo
(secciones de cálculos intermedios y de solución óptima) se crean en forma automática.
Todo lo que se necesita ahora es actualizar los parámetros de solver para que
coincidan con datos del problema. La columna B especifica las celdas que cambian (flujos
de arco) del problema. El intervalo para Cambiando las Celdas debe abarcar todos los
arcos especificados en la columna A (asegúrese de dar un nombre a cada nodo en la matriz
de datos, o la columna A solo mostrara un guión en las celdas correspondientes). En este
ejemplo, las celdas B20:B61 proporcionan el intervalo de Cambiando las Celdas. La
columna C especifica las capacidades de los arcos de la red (Celdas C20:C61).

232
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Las restricciones del modelo representan la ecuación de balance de cada nodo. La
formulación como programa lineal, de la sección 7.5.3, indica que no es necesario formular
nuevas ecuaciones de flujo para los nodos primero y ultimo de la red. Así, las celdas
G20:G24 representan el lado derecho de las ecuaciones de flujo.
Con base en esta información, los parámetros de Solver para el ejemplo 7.1 se
captura como sigue:
Cambiando la celdas: B20:B61
Sujetas a las siguientes restricciones: B20:B61< = C20:C61 (capacidad de arco)
F20:F24= G20:G24 (Ecuaciones de flujo para los
nodos 2, 3, 4, 5 y 6)
Nótese que La celda objetivo se automatiza y no necesita cambiarse. El parámetro

Figura 7.50
El resultado de la figura 7.51 define la solución (N1 – N2 = 3, N1 – N4 = 2, N2 –
N5 = 3, N4 – N6 = 2, N5 – N7 = 3, N6 – N7 = 2), con un flujo máximo de 5. Eso quiere
decir que la ruta óptima es 1→ 2 → 5 → 7 y 1→ 4 → 6 → 7.

233
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Modelo De Flujo Máximo Con SOLVER
Datos de Entrada:
Nº De Nodos 7 <<maximo 10
Matriz de Capacidades (la entrada en blanco = infinito)
N1 N2 N3 N4 N5 N6 N7
N1 0 3 0 5 0 0 0
N2 0 0 6 0 6 0 0
N3 0 0 0 4 4 6 0
N4 0 0 0 0 0 2 0
N5 0 0 0 0 0 3 5
N6 0 0 0 0 0 0 2
N7 0 0 0 0 0 0 0

Solución óptima: Intermediate calculations:


Flujo
Costo Total = 5 Nombre Nodo Flujo Demanda Desde Hasta
Unitario
Desde - Hasta Flujo Capacidad N1 1 5 0 1 2 1
N1 - N2 3 3 N2 2 0 0 1 3 0
N1 - N3 0 0 N3 3 0 0 1 4 1
N1 - N4 2 5 N4 4 0 0 1 5 0
N1 - N5 0 0 N5 5 0 0 1 6 0
N1 - N6 0 0 N6 6 0 0 1 7 0
N1 - N7 0 0 N7 7 -5 0 2 1 0
N2 - N1 0 0 2 3 0
N2 - N3 0 6 2 4 0
N2 - N4 0 0 2 5 0
N2 - N5 3 6 2 6 0
N2 - N6 0 0 2 7 0
N2 - N7 0 0 3 1 0
N3 - N1 0 0 3 2 0
N3 - N2 0 0 3 4 0
N3 - N4 0 4 3 5 0
N3 - N5 0 4 3 6 0
N3 - N6 0 6 3 7 0
N3 - N7 0 0 4 1 0
N4 - N1 0 0 4 2 0
N4 - N2 0 0 4 3 0
N4 - N3 0 0 4 5 0
N4 - N5 0 0 4 6 0
N4 - N6 2 2 4 7 0
N4 - N7 0 0 5 1 0
N5 - N1 0 0 5 2 0
N5 - N2 0 0 5 3 0
N5 - N3 0 0 5 4 0
N5 - N4 0 0 5 6 0
N5 - N6 0 3 5 7 0
N5 - N7 3 5 6 1 0
N6 - N1 0 0 6 2 0
N6 - N2 0 0 6 3 0
N6 - N3 0 0 6 4 0
N6 - N4 0 0 6 5 0
N6 - N5 0 0 6 7 0
N6 - N7 2 2 7 1 0
N7 - N1 0 0 7 2 0
N7 - N2 0 0 7 3 0
N7 - N3 0 0 7 4 0
N7 - N4 0 0 7 5 0
N7 - N5 0 0 7 6 0
N7 - N6 0 0

Figura 7.51 Solución de flujo máximo desde el nodo 1 hasta 7 del ejemplo de aplicación 7.1 con
SOLVER de Excel

234
Capítulo 7 Texto Guía – Sistemas de Ingeniería

7.6 Problema del flujo capacitado a costo mínimo


El problema del flujo capacitado a costo mínimo se basa en las hipótesis siguientes:
1. A cada arco se le asocia un costo de flujo unitario (no negativo).
2. Los arcos pueden tener límites inferiores positivos de capacidad.
3. Todo nodo en la red puede funcionar como fuente o como sumidero.
El nuevo modelo determina los flujos en los distintos arcos, que minimizan el costo
total y a la vez satisfacen las restricciones de flujo y las cantidades de oferta y demanda en
los nodos, representando el modelo de red y su formulación equivalente en programación
lineal, lo cual es la base que desarrolla el algoritmo símplex capacitado especial y por
ultimo mostraremos una plantilla de hoja de calculo, de la red capacitada con costo mínimo.
7.6.1 Representación en red
Se tiene una red capacitada G = (N, A), donde N es el conjunto de los nodos y A es
el conjunto de los arcos, y se definen:
xij = cantidad de flujo del nodo i al nodo j.
uij (lij) = capacidad máxima (mínima) del arco (i,j).
cij = costo de flujo unitario del nodo i al nodo j.
fi = flujo neto en el nodo i.
La figura 7.52 muestra las definiciones en el arco (i,j). La etiqueta [fi] supone un
valor positivo (negativo) cuando hay una oferta o suministro neto (demanda) asociada al
nodo i.

Figura 7.52
Arco capacitado con flujo externo
Ejemplo de aplicación 7.10
Coboce abastece de hormigón a tres proyectos de caminos desde tres plantas. Las
cantidades de oferta en los tres plantas son 100, 200 y 50 m3. Coboce usa principalmente
camiones hormigoneras para transportar el hormigón a los proyectos, a excepción de de tres
rutas, en las que se usan otro tipo de transporte.
La figura 7.53 muestra las rutas disponibles entre las tres plantas y los tres
proyectos. Plantas se representan con los nodos 1, 2 y 3, cuyas cantidades de suministro son
[100], [200] y [50], respectivamente. Los proyectos se representan con los nodos 4, 5 y 6,
cuyas demandas son [–150], [–80] y [–120], respectivamente. Las rutas permiten
transbordos entre los plantas. Los arcos (1,4), (3,4) y (4,6) son de camiones hormigoneras,
con capacidades mínimas y máximas. Por ejemplo, la capacidad de la ruta (1,4) es de 50 a
80 m3. En todas las demás rutas se usan otro tipo de transporte, cuya capacidad máxima es

235
Capítulo 7 Texto Guía – Sistemas de Ingeniería
prácticamente ilimitada. Los costos de transporte, por m3, se indican en sus arcos
respectivos.

Figura 7.53

7.6.2 Formulación con programación lineal


La formulación de un modelo de red capacitada como programa lineal es la base del
desarrollo del algoritmo símplex capacitado, que presentaremos en la sección siguiente. AL
usar la notación descrita en la sección 7.6.4, el programa lineal para la red capacitada es:

Minimizar z = ∑∑ C
( i , j ) ∈A
ij X ij

Sujeta a:

∑X k
jk − ∑X i
ij = fj, j∈Ν
( j , k )∈ A ( i , j )∈ A

lij ≤ X ij ≤ u ij
La ecuación para el nodo j mide el flujo fj neto en el nodo j como siguen:
(Flujo que sale del nodo j) – (Flujo que entra al nodo j) = fj
El nodo j funciona como fuente si fj > 0 y como sumidero si fj < 0.
Siempre se puede eliminar la cota inferior lij de las restricciones, mediante la
sustitución:
,
xij = xij + lij

,
La nueva variable de flujo xij , tiene un limite superior igual a uij – lij. Además, el
flujo neto en el nodo i se vuelve fi – lij y en el nodo j es fj + lij. La figura 7.54 muestra la
transformación de la actividad (i,j) después de que ha salido por sustitución la cota inferior.

236
Capítulo 7 Texto Guía – Sistemas de Ingeniería

Figura 7.54
Eliminación de la cota inferior en los arcos
Ejemplo de aplicación 7.11
Escriba el programa lineal para la red de la figura 7.55, antes y después de eliminar
las cotas inferiores por sustitución.
[-150]
$1
[100] 1 (50,80)
4
$2

(1
00
0)
$1

,1
,12

20
)
$4
(70
$3
[50]
6 [-120]

$4
$5 3 $2
$6
[200] 2 5
[-80]

Figura 7.55
Las restricciones principales del programa lineal relacionan el flujo de entrada y
salida en cada nodo, y así se obtiene el siguiente programa lineal:
x12 x13 x14 x23 x25 x34 x35 x46 x56
Minimizar 3 4 1 5 6 1 2 2 4
Nodo 1 1 1 1 = 100
Nodo 2 –1 1 1 = 200
Nodo 3 –1 –1 1 1 = 50
Nodo 4 –1 –1 1 = -150
Nodo 5 –1 –1 1 = - 80
Nodo 6 –1 –1 = -120
Cotas inferiores 0 0 50 0 0 70 0 100 0
Cotas superiores ∞ ∞ 80 ∞ ∞ 120 ∞ 120 ∞
Observe el arreglo de los coeficientes de las restricciones. La columna asociada con
la variable xij tiene exactamente un +1 en el renglón i y un –1 en el renglón j. El resto de los
coeficientes es 0. Esta estructura es característica de los modelos de flujo de red.
Las variables con cotas inferiores se sustituyen como sigue:
x14 = x14 + 50
x34 = x34 + 70
x46 = x16 + 100

237
Capítulo 7 Texto Guía – Sistemas de Ingeniería
El programa lineal que resulta es:
x12 x13 x14 x23 x25 x34 x35 x46 x56
Minimizar 3 4 1 5 6 1 2 2 4
Nodo 1 1 1 1 = 50
Nodo 2 –1 1 1 = 200
Nodo 3 –1 –1 1 1 = - 20
Nodo 4 –1 –1 1 = -130
Nodo 5 –1 –1 1 = - 80
Nodo 6 –1 –1 = -20
Cotas superiores ∞ ∞ 30 ∞ ∞ 50 ∞ 20 ∞
La red correspondiente, después de eliminar por sustitución las cotas inferiores, se
ve en la figura 7.56. Observe que la sustitución de la cota inferior se puede hacer en forma
directa en la figura 7.55, usando la sustitución de la figura 7.54 y sin necesidad de
expresar el problema primero como programa lineal.

Figura 7.56

7.6.3 Algoritmo símplex de red capacitada


El método de redes es una versión muy simplificada del método símplex para
resolver problemas del flujo de costo mínimo. Como tal, realiza los mismos pasos básicos
con cada iteración – encontrar la variable básica entrante, determinar la variable básica que
sale y obtener la nueva solución Básica Factible – con el fin de mover la solución Básica
Factible actual a una adyacente mejor. No obstante ejecuta estos paso en una forma que
explota la estructura especial de la red del problema sin necesidad alguna de la tabla
símplex.
Ya que ƒi es el flujo neto en nodo i, como se definió en sección 7.6.2 lo cual estipula
que la red debe satisfacer
n

∑f
i =1
i =0

238
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Esto indica que la oferta en la red debe ser igual a la demanda total, lo cual se puede
lograr aumentando una fuente o destino ficticio lo cual su objetivo es balancear y esta
conectado con demás nodos de la red y así cumplir con esta condición, esta fuente o destino
ficticio sus características son:
 Arcos de costo unitario cero.
 Y capacidad infinita.
Pero este balanceo no asegura que tenga el problema una solución factible, se
requiere el conocimiento del método símplex y con la teoría de la dualidad antes visto, y
complementariamente puede ayudar el saber el método símplex con cota superior.
Paso 0 Determinar una solución básica factible (conjunto de arcos) para la red, e ir
al paso 1.
Paso 1 Determinar un arco (variable) de entrada con la condición de optimalidad del
método símplex. Si la solución es óptima, detenerse. En caso contrario ir al
paso 2.
Paso 2 Determinar el arco (variable) salida usando la condición de factibilidad del
método símplex. Determinar la nueva solución y continuar con el paso 1.
Una red con n nodos y flujo neto cero lo que quiere decir que ƒ1 + ƒ1 +… +ƒn = 0, lo
cual consiste en n-1 ecuaciones independientes de restricciones, lo cual una solución básica
asociadas debe incluir n-1 arcos. Lo cual puede demostrar que una solución básica le
corresponde a un árbol de expansión de la red.
El arco entrante lo que consiste en el paso 1 se determina, calculando zij − cij , los
coeficientes objetivo, para todos los arcos no básicos actuales (i, j). Si zij − cij ≤ 0 para todas i
y j, la base actual (la que se tiene en ese momento) es óptima. En caso contrario se
selecciona el arco no básico con la z ij − cij más positivo para entrar en la base.
El cálculo de los coeficientes objetivo se basa en la dualidad, exactamente como se
hizo con el modelo de transporte. Cuando se aplica el programa lineal, sea wi la variable
dual asociada con la restricción del nodo i; entonces, el problema dual (excluyendo las
cotas superiores) es
n
Maximizar z = ∑ f i wi
i =1

Sujeta a:
wi − w j ≤ cij (i, j ) ∈ A
wi de signo no restringido, i = 1, 2, …, n
Según la teoría de la programación lineal,
wi − w j = cij , para el arco básico (i, j)

239
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Ya que por definición el programa lineal original tiene una restricción redundante,
se puede asignar un valor arbitrario a una de las variables duales (comparando con el
algoritmo de transporte). Por comodidad de iguala w1 = 0. A continuación se resuelven las
ecuaciones (básicas) wi − w j = cij para determinar los valores duales restantes. De acuerdo
con el método 2 de la sección 5.5. Se sabe según esto que el coeficiente objetivo de la xij no
básica es la diferencia entre el lado izquierdo y el lado derecho de la restricción dual
correspondiente al dual, es decir:
zij − cij = wi − w j − cij
Lo único que queda por mostrar es la determinación de la variable de salid, lo cual
haremos con un ejemplo numérico. A continuación.
Ejemplo de aplicación 7.12
Una red de tuberías conecta dos plantas de tuberías a dos ciudades. Las cantidades diarias
de abastecimiento en las dos plantas son 150 a 400 millones de galones, y las demandas
diarias en las ciudades 1 y 2 son 250 y 300 millones de galones. Los nodos 1 y 2
representan a las plantas y los nodos 3 y 4 representan a las ciudades 1 y 2. El nodo 5 es
una estación de bombeo entre las plantas y las ciudades. El modelo ya esta balanceado,
porque la oferta en los nodos 1 y 2 es igual a la demanda en los nodos 3 y 4. La figura 7.57
muestra la red asociada.
Costo unitario Capacidad de arco
$3
Planta 1 150 1 (200)
3 250 Ciudad 1

(150) (200)
$5 $2

(150) $7 5 $1 (oo)

$3 $6
(400) (400)
(200)
Planta 2 400 2 $8 4 300 Ciudad 2

Figura 7.57
Red para el ejemplo de aplicación
Iteración 0.
Paso 0. Determinación de una solución inicial básica factible: El árbol de expansión
factible inicial de la figura 7.58 (indicados con arcos de línea llena) se obtiene
por inspección. En el caso normal se usa una técnica de variable artificial para
llegar a esa solución.

240
Capítulo 7 Texto Guía – Sistemas de Ingeniería

$3
[150] 1 150(200)
3 [-250]

(1 0)
50 (20
) 0
$5 10 $2

(150) $7 5 $1 (oo)

0)

30
$3 $6

40

0(
0(

40
40

0)
(200)
[400] 2 $8 4 [-300]

Figura 7.58 Red para la iteración 0


En la figura 7.58, la solución básica factible consiste en los arcos (línea llena) (1,3),
(2,5), (5,3) y (5,4), con los flujos factibles de 150, 400, 100 y 300 unidades,
respectivamente. Esto deja a los arcos (líneas interrumpida) (2,1), (1,5), (3,4) y (2,4) para
representar a las variables no básicas. La notación x(c) en los arcos indica que se asigna un
flujo de x unidades a un arco con capacidad c. Los valores predeterminados para x y c son 0
y ∞, respectivamente.
Iteración 1.
Paso 1. Determinación del arco entrante: Se obtienen los valores duales resolviendo
las ecuaciones básicas actúales.
w1 = 0
wi – wj = Cij
Así se obtienen
Arco (1,3): w1 – w3 = 3, por consiguiente w3 = –3
Arco (5,3): w5 – w3 = 2, por consiguiente w5 = –1
Arco (2,5): w2 – w5 = 3, por consiguiente w2 = 2
Arco (5,4): w5 – w4 = 6, por consiguiente w4 = –7
Ahora se calculan zij – Cij para las variables no básicas, como sigue:
Arco (1,5): w1 – w5 – C15 = 0 – (–1) – 5 = – 4
Arco (2,1): w2 – w1 – C21 = 2 – 0 – 7 = – 5
Arco (2,4): w2 – w4 – C24 = 2 – (–7) – 8 = 1
Arco (3,4): w3 – w4 – C34 = –3 – (–7) – 1 = 3
Por lo anterior, el arco (3,4) entra a la solución básica.

241
Capítulo 7 Texto Guía – Sistemas de Ingeniería
1 3
$3
[150] 1 150(200)
3 [-250]

) +
(1
50 00 2
) 0(
$5 10 $2

(150) $7 5 w5= -1 $1 (oo)

0)

30
$3 $6

40

0(
0(

40
+

40

0)
-
(200)
[400] 2 $8 4 [-300]

Figura 7.59 Red para la iteración 0


Paso 2. Determinación del arco saliente: En la figura 7.59 se ve que el arco (3,4) forma
un bucle con los arcos básicos (5,3) y (5,4). De acuerdo con la definición del
árbol de expansión, ya no se puede formar otro bucle. Como el flujo en el arco
nuevo (3,4) debe aumentar, se ajusta el flujo en los arcos del bucle con una
cantidad igual, para, mantener la factibilidad de la nueva solución. Para lograrlo se
identifica el flujo positivo (+) en el bucle, con la dirección del arco entrante (es
decir, de 3 a 4). A continuación se asigna (+) o (-) a los arcos restantes del bucle,
dependiendo de si el flujo en cada uno es en o contra la dirección del flujo del arco
entrante. Estas convenciones de signo se muestran en la figura 7.59.
La determinación de la cantidad máxima de flujo en el arco entrante (3,4), se basas
en dos condiciones:
1. El flujo nuevo en los arcos básicos actuales del bucle no puede ser negativo.
2. El flujo nuevo en el arco entrante no puede exceder su capacidad.
La aplicación de la condición 1 indica que el flujo en el arco (5,4) no puede
disminuir en más de 300 unidades. La condición dos estipula que los flujos en los arcos
(5,3) y (3,4) puede aumentar cuando mucho hasta la capacidad del arco mínimo [100, ∞] =
100 unidades. Entonces, el cambio máximo de flujo en el bucle es mínimo [100, 300] = 100
unidades. Los nuevos flujos en el bucle son entonces 100 unidades en el arco (3,4), 100 +
100 = 200 unidades en el arco (5,3) y 300 – 100 = 200 unidades en el arco (5,4).
Debido a que ninguno de los arcos básicos sale de la base a nivel cero, el nuevo arco
(3,4) debe permanecer no básico en la cota superior. Sin embargo, para no manejar arcos no
básicos que están en el valor de su capacidad (o cota superior) se implementara la
sustitución.
X34 = 100 – x43, 0 ≤ x43 ≤ 100

242
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Esta sustitución se hace en las ecuaciones de flujos asociadas con los nodos 3 y 4
como sigue.
Se tiene que:
Ecuación actual del flujo en el nodo 3: x13 + x53 = x34 + 250
Ecuación actual del flujo en el nodo 4: x24 + x34 + x54 = 300
Entonces, la sustitución x34 = 100 – x43 da como resultado:
Nueva ecuación del flujo en el nodo 3: x13 + x53 = 350 – x43
Nueva ecuación del flujo en el nodo 4: x24 – x43 + x54 = 200
En la figura 7.60 se ven los resultados de estos cambios. La dirección de flujo en el
arco (3,4) queda invertida ahora a 4→3 con x34 = 0, que era lo que se quería. También la
sustitución requiere cambiar el costo unitario del arco (4,3) a $-1. Indicaremos esta
inversión de dirección en la red, etiquetando el arco con un asterisco.
1 3
$3
[150] 1 150(200)
3 [-350]

) +
(1
50 2 00
) 0(
$5 20 $2

100(oo)*
(150) $7 5 w5= -1 -$1
0)

20

$3 $6
40

0(
0(

40

+
40

0)

-
(200)
[400] 2 $8 4 [-200]
w2= 2 w4= -7
Figura 7.60 Red para la iteración 1
Iteración 2
La figura 7.61 resume los nuevos valores de zij – Cij
Ahora se calculan zij – Cij para las variables no básicas, como sigue:
Arco (1,5): w1 – w5 – C15 = 0 – (–1) – 5 = – 4
Arco (2,1): w2 – w1 – C21 = 2 – 0 – 7 = – 5
Arco (2,4): w2 – w4 – C24 = 2 – (–7) – 8 = 1
Arco (4,3): w4 – w3 – C43 = –7 – (–3) – (–1) = –3
Y muestra que el arco (2,4) entra a la solución básica. También define al bucle
asociado con el nuevo arco entrante, y así asigna signos a sus arcos.

243
Capítulo 7 Texto Guía – Sistemas de Ingeniería

w1= 0 w3 = -3
$3
[150] 1 150(200)
3 [-350]

)
(1
50 2 00
) 0(
$5 20 $2

100(oo)*
(150) $7 5 w5= -1 -$1
-

0)

20
$3 $6

40

0(
0(

40
40

0)
-
(200)
[400] 2 $8
+
4 [-200]
w2= 2 w4= -7
Figura 7.61 Red para la iteración 1
El flujo en el arco (2,4) se puede aumentar en la cantidad mínima de
1. El aumento máximo permisible en el arco entrante (2,4) = 200
2. La disminución máxima permisible en el arco (2.5) = 400 unidades
3. La disminución máxima permisible en el arco (5,4) = 200 unidades
Así, el flujo en el arco (2,4) se puede aumentar a 200 unidades, con lo cual (2,4)
será básico y forzará a que el arco básico (5,4) sea no básico en su cota superior (= 400).
Al usar la sustitución la red cambia como se ve en la figura 7.62, con los arcos
(1,3), (2,5), (2,4) y (5,3) formando la solución (árbol de expansión) básica. También,
convénzase el lector de que la sustitución en las ecuaciones de flujo de los nodos (5,4)
agregara 200 unidades de entrada en cada nodo.
$3
[150] 1 150(200)
3 [-350]

)
(1
50 2 00
) 0(
$5 20 $2
100(oo)*

(150) $7 5 -$1
-
)
00

$3 $6
(4
4

00
0(

)
20

-
200(200)
[400] 2 $8
+
4 [-200]

Figura 7.62 Red para la iteración 2

244
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Iteración 3. Los cálculos de las nuevas wi y zij – Cij de la figura 7.63 muestra que
la solución es óptima. Con un costo de $3150
Los valores de las variables originales se obtienen por sustitución en reversa, como
se ve en la figura 7.63
Ahora se calculan zij – Cij para las variables no básicas, como sigue:
Arco (1,5): w1 – w5 – C15 = 0 – (–1) – 5 = – 4
Arco (2,1): w2 – w1 – C21 = 2 – 0 – 7 = – 5
Arco (4,5): w4 – w5 – C45 = –6 – (–1) –6 = -11
Arco (4,3): w4 – w3 – C43 = –6 – (–3) – (–1) = –2
w1= 0 w3 = -3
$3
[150] 1 150(200)
3 [-350]

)
(1
50 2 00
) 0(
$5 20 $2

100(oo)*
(150) $7 5 w5= -1 -$1
-
0)

$3 $6
(4
40

00
0(

)
20

-
200(200)
[400] 2 $8
+
4 [-200]
w2= 2 w4= -6
Figura 7.63 Red para la iteración 2

7.6.4 Solución del modelo de flujo capacitado a costo mínimo con hoja de
calculo Excel
Como en los casos de los modelos de ruta más corta y de flujo máximo, la hoja de
cálculo Excel que se desarrollo para el modelo general de transporte (sección 6.7.3) se
aplica con facilidad al modelo de flujo en red capacitada. La figura 7.64 muestra la
aplicación al ejemplo 7.10. La hoja de cálculo esta diseñada para redes con 10 nodos como
máximo. En la matriz de capacidades celdas (N6:W15), una celda en blanco representa un
arco con capacidad infinita. Un arco inexistente se representa con un elemento de capacidad
cero. Como ilustración, en el ejemplo 6.5.4, el arco de capacidad infinita 1→2 se representa
con un elemento en blanco en la celda O6, y el arco inexistente 3→4 se muestra con un
elemento cero en la celda Q8. LA matriz de costos unitarios esta en las celdas B6:K15. En
forma arbitraria se asignaron costos unitarios ceros a todos los arcos inexistentes.
Una vez que se crearon las matrices de costos unitarios y de capacidades, el resto de
la hoja de calculo (las secciones de cálculos intermedios y solución óptima) se crea en
forma automática, delineando las celdas necesarias para actualizar los parámetros de Solver
para Cambiando las celdas y Restricciones. YA está definida la Celda Objetivo para
cualquier red (con 10 nodos o menos). En forma especifica, para el ejemplo 6.5.4 se tiene:

2