Sei sulla pagina 1di 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:

245
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Cambiando la celdas: B20:B39
Sujetas a las siguientes restricciones: B20:B39< = C20:C39 (capacidad de arco)
F19:F23= G19:G23 (Ecuaciones del
flujo en nodo)
La figura muestra la siguiente solución N1 → N2 = 5, N1 → N4 = 35, N2 → N3 =
25, N2 → N5 = 30, N3 → N5 = 25 y N4 → N5 = 5. El costo total correspondiente es $490

246
Capítulo 7 Texto Guía – Sistemas de Ingeniería
General Capacitated Network Model with Solver
Datos de entrada:
Nº de nodos 6 <<máximo 10
Matriz de costo unitario
N1 N2 N3 N4 N5 N6 Oferta
N1 0 3 4 1 0 0 100
N2 0 0 5 0 6 0 200
N3 0 0 0 1 2 0 50
N4 0 0 0 0 0 2 0
N5 0 0 0 0 0 4 0
N6 0 0 0 0 0 0 0

Demanda 0 0 0 150 80 120


Solución óptima: Cálculos intermedios:
Costo Costo
Total = 680 Nombre Nodo Flujo Demanda Desde Hasta unitario
Desde-Hasta Flujo Capacidad N1 1 70 100 1 2 3
N1 - N2 0 999999 N2 2 80 200 1 3 4
N1 - N3 20 999999 N3 3 50 50 1 4 1
N1 - N4 50 50 N4 4 -120 -150 1 5 0
N1 - N5 0 0 N5 5 -80 -80 1 6 0
N1 - N6 0 0 N6 6 0 -120 2 1 0
N2 - N1 0 0 2 3 5
N2 - N3 0 999999 2 4 0
N2 - N4 0 0 2 5 6
N2 - N5 80 999999 2 6 0
N2 - N6 0 0 3 1 0
N3 - N1 0 0 3 2 0
N3 - N2 0 0 3 4 1
N3 - N4 70 70 3 5 2
N3 - N5 0 999999 3 6 0
N3 - N6 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 2
N4 - N6 0 100 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 4
N5 - N6 0 999999 6 1 0
N6 - N1 0 999999 6 2 0
N6 - N2 0 999999 6 3 0
N6 - N3 0 999999 6 4 0
N6 - N4 0 999999 6 5 0
N6 - N5 0 999999

matriz de capacidad (la celda en blanco = infinito)


N1 N2 N3 N4 N5 N6
N1 0 50 0 0
N2 0 0 0 0
N3 0 0 0 70 0
N4 0 0 0 0 0 100
N5 0 0 0 0 0
N6

Figura 7.64 Solución del ejemplo de aplicación 7.10 con SOLVER

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

7.7 Problemas propuestos


1. Considere la siguiente red dirigida.

A C E

B D F

a) Encuentre una trayectoria dirigida del nodo A al nodo F y después


identifique otras tres trayectorias no dirigidas del nodo A al nodo F.
b) Encuentre tres ciclos dirigidos. Después identifique un ciclo no dirigido que
incluya todos los nodos.
c) Identifique un conjunto de arcos que formen un árbol de expansión mínima.
2. Utilice el algoritmo de Dijkstra para encontrar la ruta más corta a través de la red en
donde los números representan las distancias reales entre los nodos correspondientes.

A 7
4
1 D 6
5
6
(origen) O B 4
1 T (destino)

2 8
5 E
5
C

3. Utilice el algoritmo de Floyd para encontrar la ruta más corta a través de la red en
donde los números representan las distancias reales entre los nodos correspondientes.

3 4
A D G
4 5 2 2 2 2 7

6 2 5 8
(origen) O C F H T (destino)

5 1 2
3 4 3
4

B 6
E 5
I

248
Capítulo 7 Texto Guía – Sistemas de Ingeniería
4. Actualmente, todas las calles del barrio que aparece en la figura son de tierra. Se está
desarrollando un proyecto de pavimentación para enviar a la Municipalidad. Se desea
que al menos sea posible trasladarse entre los seis puntos más importantes del sector
por calles pavimentadas. ¿Cuáles calles recomendaría usted pavimentar de modo de
minimizar el costo del proyecto?

40
2 5
20 50
40 30
1 3 40
30 10 30
4 20
40 6

5. Suponga que las distancias entre cuatro ciudades vecinas son las que se presentan en
el esquema.

A 2 B
6
3 5
7
C D
6

Suponga que hay interés de pavimentar y conectar estas ciudades a un costo mínimo.
Indique cuáles serían las rutas a pavimentar desde un punto de vista gubernamental o
del estado y desde un punto de vista de los usuarios.
6. Debido a la construcción de un nuevo sistema de vías subterráneas en una ciudad, se
han planeado dos redes de rutas alternas para el desvío del tránsito. Los diferentes
límites de velocidad y las vías de tránsito producen diversas capacidades de flujo en
los distintos arcos de las redes propuestas. ¿Cuál de las dos redes es la más adecuada?
Fundamente su respuesta.
Alternativa Nº1.

3 0
0 2 0 5 8
2 1
(Inicio desvío)
5 0
1 6 7 (Fin desvío)
2 3 1 0
5 0
3 7 0 6 7
3 0
0
0 4 5

249
Capítulo 7 Texto Guía – Sistemas de Ingeniería
Alternativa Nº2.
6 0
0 2 2 4 6
0 0
(Inicio desvío)
4 0
1 6 (Fin desvío)
3 6
0 01 0
3 4 0 5 2
7. La empresa SEMAPA, cuenta con una red de cañerías muy heterogéneas en cuanto a
años de servicio, y quiere llevar agua de la Planta potabilizadora en A hasta el barrio
G, abasteciendo en el camino todos los demás barrios (B, C, D, E, F). Pretende que el
caudal medido en decenas de litros por segundo sea máximo, pero debido a la edad
avanzada de algunos tramos debió confeccionar un croquis de la ciudad en el cual
consta el flujo máximo que soporta cada tramo.

0 B 2
2 0
E 8
0
7 0 0
6 0 5 0
A C 2
G
0
4 3 2
0
F 5
0 0
0
D 5

Se pide:
a) Asumiendo que la oferta esta solamente limitada por la capacidad actual
de la Red de Distribución, identifique el flujo máximo a asignar en total y
en cada tramo, usando el algoritmo de flujo máximo, de modo tal que la
solución sea óptima.
b) Verifique el resultado obtenido por medio del teorema de FLUJO MÁXIMO
— Cortadura mínima.
7.8 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]
7.9 Enlaces
 http://home.ubalt.edu/ntsbarsh/opre640S/SpanishIN.htm#rmaxflpr

250
Capítulo 8 Texto Guía – Sistemas de Ingeniería

CAPÍTULO 8

PROGRAMACIÓN DE ACTIVIDADES Y CONTROL DE


PROYECTOS CPM Y PERT

8.1 Introducción a las redes de actividades


Los proyectos en gran escala por una sola vez han existido desde tiempos antiguos;
este hecho lo atestigua la construcción de las pirámides de Egipto y los acueductos de
Roma. Pero sólo desde hace poco se han analizado por parte de los investigadores
operacionales los problemas gerenciales asociados con dichos proyectos.
El problema de la administración de proyectos surgió con el proyecto de
armamentos del Polaris, empezando 1958. Con tantas componentes y sub-componentes
juntos producidos por diversos fabricantes, se necesitaba una nueva herramienta para
programar y controlar el proyecto. El PERT (evaluación de programa y técnica de revisión)
fue desarrollado por científicos de la oficina Naval de Proyectos Especiales. Booz, Allen y
Hamilton y la División de Sistemas de Armamentos de la Corporación Lockheed Aircraft.
La técnica demostró tanta utilidad que ha ganado amplia aceptación tanto en el
gobierno como en el sector privado.
Casi al mismo tiempo, la Compañía DuPont, junto con la División UNIVAC de la
Remington Rand, desarrolló el método de la ruta crítica (CPM) para controlar el
mantenimiento de proyectos de plantas químicas de DuPont. El CPM es idéntico al PERT
en concepto y metodología. La diferencia principal entre ellos es simplemente el método
por medio del cual se realizan estimados de tiempo para las actividades del proyecto. Con
CPM, los tiempos de las actividades son determinísticos. Con PERT, los tiempos de las
actividades son probabilísticos o estocásticos.
El PERT/CPM fue diseñado para proporcionar diversos elementos útiles de
información para los administradores del proyecto. Primero, el PERT/CPM expone la "ruta
crítica" de un proyecto.
Estas son las actividades que limitan la duración del proyecto. En otras palabras,
para lograr que el proyecto se realice pronto, las actividades de la ruta crítica deben
realizarse pronto. Por otra parte, si una actividad de la ruta crítica se retarda, el proyecto
como un todo se retarda en la misma cantidad. Las actividades que no están en la ruta
crítica tienen una cierta cantidad de holgura; esto es, pueden empezarse más tarde, y
permitir que el proyecto como un todo se mantenga en programa. El PERT/CPM identifica
estas actividades y la cantidad de tiempo disponible para retardos.
El PERT/CPM también considera los recursos necesarios para completar las
actividades. En muchos proyectos, las limitaciones en mano de obra y equipos hacen que la
programación sea difícil. El PERT/CPM identifica los instantes del proyecto en que estas
restricciones causarán problemas y de acuerdo a la flexibilidad permitida por los tiempos de
holgura de las actividades no críticas, permite que el gerente manipule ciertas actividades
para aliviar estos problemas.

251
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Finalmente, el PERT/CPM proporciona una herramienta para controlar y monitorear


el progreso del proyecto. Cada actividad tiene su propio papel en éste y su importancia en
la terminación del proyecto se manifiesta inmediatamente para el director del mismo. Las
actividades de la ruta crítica, permiten por consiguiente, recibir la mayor parte de la
atención, debido a que la terminación del proyecto, depende fuertemente de ellas. Las
actividades no críticas se manipularan y remplazaran en respuesta a la disponibilidad de
recursos.
8.2 Antecedentes
Dos son los orígenes del método del camino crítico: el método PERT (Program
Evaluation and Review Technique) desarrollo por la Armada de los Estados Unidos de
América, en 1957, para controlar los tiempos de ejecución de las diversas actividades
integrantes de los proyectos espaciales, por la necesidad de terminar cada una de ellas
dentro de los intervalos de tiempo disponibles. Fue utilizado originalmente por el control de
tiempos del proyecto Polaris y actualmente se utiliza en todo el programa espacial.
El método CPM (Crítical Path Method), el segundo origen del método actual, fue
desarrollado también en 1957 en los Estados Unidos de América, por un centro de
investigación de operaciones para la firma Dupont y Remington Rand, buscando el control
y la optimización de los costos de operación mediante la planeación adecuada de las
actividades componentes del proyecto.
Ambos métodos aportaron los elementos administrativos necesarios para formar el
método del camino crítico actual, utilizando el control de los tiempos de ejecución y los
costos de operación, para buscar que el proyecto total sea ejecutado en el menor tiempo y al
menor costo posible.
Definición: El método del camino crítico es un proceso administrativo de
planeación, programación, ejecución y control de todas y cada una de las actividades
componentes de un proyecto que debe desarrollarse dentro de un tiempo crítico y al costo
óptimo.
Usos: El campo de acción de este método es muy amplio, dada su gran flexibilidad
y adaptabilidad a cualquier proyecto grande o pequeño. Para obtener los mejores resultados
debe aplicarse a los proyectos que posean las siguientes características:
a. Que el proyecto sea único, no repetitivo, en algunas partes o en su totalidad.
b. Que se deba ejecutar todo el proyecto o parte de el, en un tiempo mínimo, sin
variaciones, es decir, en tiempo crítico.
c. Que se desee el costo de operación más bajo posible dentro de un tiempo
disponible.
Dentro del ámbito aplicación, el método se ha estado usando para la planeación y
control de diversas actividades, tales como construcción de presas, apertura de caminos,
pavimentación, construcción de casas y edificios, reparación de barcos, investigación de
mercados, movimientos de colonización, estudios económicos regionales, auditorias,
planeación de carreras universitarias, distribución de tiempos de salas de operaciones,
ampliaciones de fábrica, planeación de itinerarios para cobranzas, planes de venta, censos
de población, etc.

252
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.3 Diferencias entre PERT y CPM


Como se indicó antes, la principal diferencia entre PERT y CPM es la manera en
que se realizan los estimados de tiempo. El PERT supone que el tiempo para realizar cada
una de las actividades es una variable aleatoria descrita por una distribución de
probabilidad. El CPM por otra parte, infiere que los tiempos de las actividades se conocen
en forma determinísticas y se pueden variar cambiando el nivel de recursos utilizados.
La distribución de tiempo que supone el PERT para una actividad es una
distribución beta. La distribución para cualquier actividad se define por tres estimados:
1. El estimado de tiempo más probable, m;
2. El estimado de tiempo más optimista, a;
3. El estimado de tiempo más pesimista, b.
La forma de la distribución se muestra en la siguiente Figura. E1 tiempo más
probable es el tiempo requerido para completar la actividad bajo condiciones normales. Los
tiempos optimistas y pesimistas proporcionan una medida de la incertidumbre inherente en
la actividad, incluyendo desperfectos en el equipo, disponibilidad de mano de obra, retardo
en los materiales y otros factores.

Con la distribución definida, la media (esperada) y la desviación estándar,


respectivamente, del tiempo de la actividad para la actividad z puede calcularse por medio
de las fórmulas de aproximación.
a + 4m + b
Te ( Z ) =
6
b−a
σ (Z ) =
6

253
Capítulo 8 Texto Guía – Sistemas de Ingeniería

El tiempo esperado de finalización de un proyecto es la suma de todos los tiempos


esperados de las actividades sobre la ruta crítica. De modo similar, suponiendo que las
distribuciones de los tiempos de las actividades son independientes (realísticamente, una
suposición fuertemente cuestionable), la varianza del proyecto es la suma de las varianzas
de las actividades en la ruta crítica. Estas propiedades se demostrarán posteriormente. En
CPM solamente se requiere un estimado de tiempo. Todos los cálculos se hacen con la
suposición de que los tiempos de actividad se conocen. A medida que el proyecto avanza,
estos estimados se utilizan para controlar y monitorear el progreso. Si ocurre algún retardo
en el proyecto, se hacen esfuerzos por lograr que el proyecto quede de nuevo en programa
cambiando la asignación de recursos
8.4 Métodos CPM y PERT
Los métodos CPM (método de la ruta crítica o del camino crítico, critical path
method) y PERT (técnica de evaluación y revisión de programa, program evaluation and
review technique) se basan en diagramas, y tienen por objeto auxiliar en la planeación,
programación y control de proyectos. Se define un proyecto como conjunto de actividades
interrelacionadas, en la que cada actividad consume tiempo y recursos. El objetivo del
CPM y del PERT es contar con un método analítico para programar las actividades. En la
figura 8.1 se resumen los pasos de estas técnicas. Primero se definen las actividades del
proyecto, sus relaciones de precedencia y sus necesidades de tiempo.

Figura 8.1 Fases de aplicación de un proyecto con CPM o PERT


A continuación, el proyecto se traduce en un diagrama que muestre las relaciones de
precedencia entre las actividades. El tercer paso implica cálculos específicos de diagramas,
que forman la base del desarrollo del programa del proyecto en función del tiempo.
Durante la ejecución del proyecto, podría no cumplirse el programa que estaba
planeado, causando que algunas de las actividades se adelanten o se atrasen. En este caso
será necesario actualizar el programa para que refleje la realidad. Esta es la razón de incluir
un bucle, lazo o ciclo de retroalimentación entre la fase de programa y la fase de diagrama,
como se ve en la figura 8.1.
Las dos técnicas CPM y PERT, que se desarrollan en forma independiente, difieren
en que el CPM se supone duraciones determinísticas de actividad, mientras que el PERT se
suponen duraciones probabilísticas. Esta presentación comenzara con el CPM y después se
presentaran los detalles del PERT.

254
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.5 Modelaje de sistemas CPM/PERT


Para aplicar el CPM/PERT a un proyecto, se requiere comprender completamente la
estructura y requisitos del mismo. El esfuerzo que se gaste para identificar la estructura del
proyecto es de gran valor para la compresión de este. En particular, se deben contestar
cuatro preguntas para empezar el procedimiento de modelaje:
1. ¿Cuáles son las actividades que el proyecto requiere?
2. ¿Cuáles son los requisitos de secuenciación o restricciones de estas
actividades?
3. ¿Qué actividades pueden realizarse simultáneamente?
4. ¿Cuáles son los tiempos estimados para cada actividad?
El primer paso para construir la diagrama CPM/PERT consiste en hacer una lista de
cada una de las actividades y de las actividades que inmediatamente las debe preceder.
Para la pregunta 4, la duración de los tiempos estimados (días, semanas, horas, etc.)
de cada actividad se establece de acuerdo al rendimiento de la mano de obra y del número
de obreros asignados a cada actividad.
8.6 Diagrama de actividades tipo red
Cada actividad del proyecto se representa con un arco que apunta en la dirección de
avance del proyecto. Los nodos del diagrama establecen las relaciones de precedencia entre
las diferentes actividades del proyecto.
Regla 1. Cada actividad se representa con un arco, y uno sólo.
Regla 2. Cada actividad se debe identificar con dos nodos diferentes.
La figura 8.2 muestra como se puede usar una actividad ficticia para representar
dos actividades concurrentes, A y B. Por definición, la actividad ficticia, que normalmente
se representa con un arco de línea interrumpida, no consume tiempo o recursos. La
inserción de una actividad ficticia en una de las cuatro formas que se ven en la figura 8.2,
mantiene la concurrencia de A y B, y también proporciona nodos finales únicos para las dos
actividades (para satisfacer la regla 2)
Red

2 2
A A

A 1 B 3 1 B
3

B A A
1 3 1 3
B B
2 2

Figura 8.2 Uso de una actividad ficticia para tener representación única de las actividades
concurrentes A y B

255
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Regla 3. Para mantener las relaciones de precedencia correctas, se deben


contestar las siguientes preguntas cuando se agrega a la diagrama cada
actividad.
a) ¿Qué actividades deben anteceder inmediatamente a la actividad
actual?
b) ¿Qué actividades deben seguir inmediatamente a la actividad
actual?
c) ¿Qué actividades deben efectuarse en forma concurrente o
simultanea con la actividad actual?
Para contestar estas preguntas se podrá necesitar el uso de actividades ficticias, para
asegurar las precedencias correctas entre las actividades. Por ejemplo, considere al
siguiente segmento de un proyecto.
1. La actividad C comienza de inmediato después de haber terminado A y B.
2. La actividad E se inicia después de que solo termino la actividad B
La 1ª parte de la figura 8.3 muestra la representación incorrecta de esta relación de
precedencia, porque pide que A y B terminen antes de poder iniciar E. En la 2ª parte se
corrige la situación con el uso de la actividad ficticia.

Figura 8.3 Uso de una actividad ficticia para asegurar una relación de precedencia correcta.
Ejemplo de aplicación 8.1
Las zapatas de cimentación de un edificio se pueden terminar en cuatro secciones
conectadas. Las actividades de cada sección comprenden:
1º Excavación
2º Colocación de acero
3º Colocado del Hormigón
No puede comenzar la excavación de una sección, sino hasta haber terminado la de
la sección anterior. Esta misma restricción se aplica a la colocación del hormigón.
Formule el diagrama del proyecto.

Figura 8.4 Diagrama del proyecto para el ejemplo de aplicación 8.1

256
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Ejemplo de aplicación 8.2


Las actividades de la tabla siguiente describen la construcción de una casa nueva.
Formule la diagrama asociada al proyecto. Para este ejemplo se tomaron valores alcanzados
de la experiencia de la construcción de una casa pequeña
Duración
Actividad Predecesor (es)
(Días)
A Instalación de faenas — 1
B Llevar servicios al sitio — 2
C Excavar A 1
D Vaciar cimientos C 2
E Plomería exterior B, C 6
F Muro de mampostería D 10
G Instalación eléctrica F 3
H Contrapiso G 1
I Armar el techo F 1
J Plomería interior E, H 5
K Cubierta I 2
L Recubrimiento aislante exterior F, J 1
M Instalar ventanas y puertas exteriores F 2
N Poner ladrillo L, M 4
O Aislar paredes y techos G, J 2
P Revoque interior O 2
Q Cielo raso I, P 1
R Acabados interiores P 7
S Acabados exteriores I, N 7
T Limpieza y retiro de escombro S 3
Tabla 8.1
La figura 8.5 muestra el diagrama que describe las relaciones de precedencia entre
las diferentes actividades. Con las actividades ficticias (líneas segmentada), se obtienen
nodos finales únicos para las actividades de concurrentes. La numeración de los nodos se
hace en forma que indique el avance en el proyecto.

257
Capítulo 8 Texto Guía – Sistemas de Ingeniería

7
K-2 8

1
I-

2 6
M-2 16 17 18
N-4 S- 7
T-
C-1
-1

F - 10

L-1
3

G
A

-3
1 3 5 9 11 14 19
D-2
H-1

Q-1
O-2
5
J-
B
-2

4 10 12 13 15
E-6 P-2 R-7

Figura 8.5 Diagrama del proyecto para el ejemplo de aplicación 8.2.

258
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.7 Ruta crítica (CPM)


El resultado final del CPM es la formulación o construcción del programa del
proyecto (véase la figura 8.1). Para lograr este objetivo en una forma adecuada, se hacen
cálculos especiales con los que se obtiene la siguiente información.
1. Tiempo total necesario para terminar el proyecto.
2. Clasificación de las actividades del proyecto en críticas y no críticas.
Se dice que una actividad es crítica si no hay margen en la determinación de sus
tiempos de inicio y de término. Una actividad no crítica permite alguna holgura en su
programación, de modo que el tiempo de inicio de la actividad se puede adelantar o retrasar
dentro de ciertos límites, sin afectar la fecha de terminación de todo el proyecto.
8.8 Calculo para la ruta crítica (CPM)
Para efectuar los cálculos necesarios, se define lo siguiente:
j = Tiempo más temprano de ocurrencia del vento j.
Δj = Tiempo más tardío de ocurrencia del evento j.
Dij =Duración de la actividad (i, j).
Las definiciones de los tiempos más temprano y más tardío del evento j se
especifican en relación con las fechas de inicio y terminación de todo el proyecto.
Los cálculos de la ruta crítica implican dos pasos: Paso hacia delante, determina
los tiempos más tempranos o de ocurrencia de los eventos, y el Paso hacia atrás, calcula
sus tiempos más tardíos de ocurrencia.
Paso hacia delante (tiempos más tempranos de ocurrencia o tiempos más
próximos, de ocurrencia, ). Los cálculos se inician en el nodo 1 (inicio) y avanzan en
forma intuitiva hasta el nodo final n.
Paso inicial. Poner 1(inicio) = 0, para indicar que el proyecto se inicia cuando
el tiempo es 0.
Paso general j. Dado que los nodos p, q, …, y v están enlazados directamente
con el nodo j por las actividades de entrada (p, j), (q, j),…, (v, j) y
que los tiempos más tempranos de ocurrencia de los eventos
(nodos) p, q, …, y v ya se han calculado, entonces se calcula el
tiempo más temprano de ocurrencia del evento j como sigue:
j = máx { p + Dpj, q + Dqj,…….., v + Dvj}
El paso hacia delante se termina cuando se calcula n(final) en el
nodo n. Por definición, j representa la ruta (duración) más larga
al nodo j.
Paso hacia atrás (tiempos más tardíos de ocurrencia o tiempos más lejanos, de
ocurrencia, Δ). Después de terminar el paso hacia delante, los cálculos del paso hacia atrás
comienzan en el nodo n y terminan en el nodo 1.

259
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Paso inicial. Poner Δn(final) = n(final), para indicar que las ocurrencias más
temprano y más tardío del ultimo nodo en el proyecto son
iguales.
Paso general j. Dado que los nodos p, q, …, y v están enlazados en forma directa
con el nodo j por actividades de salida (j, p), (j, q),…, (j, v) y que
ya se calcularon los tiempos más tardíos de los nodos p, q, …, y
v, el tiempo tardío del nodo j se calcula como sigue:
Δj = mín {Δp – Djp, Δq – Djq,…….., Δv – Djv}
El paso hacia atrás se termina cuando se calcula Δ1.
Con base en los cálculos anteriores, una actividad (i, j) será crítica si satisface tres
condiciones:
1. Δi = i
2. Δj = j
3. Δj – Δi = j – i = Dij
Las tres condiciones indican que los tiempos más tempranos y más tardíos de
ocurrencia de los nodos i y j son iguales, y que la duración Dij se ajusta exactamente al
intervalo especificado de tiempo. Una actividad que no satisface las tres condiciones es no
crítica.
Las actividades críticas de un diagrama deben formar una trayectoria no
interrumpida que abarque toda la diagrama, desde el inicio hasta el final.
Ejemplo de aplicación 8.3
Determinar la ruta crítica para el diagrama del proyecto de la figura 8.5. Todas las
duraciones están en días.
Paso hacia delante.
Nodo 1. Hacer o definir 1 =0
Nodo 2. 2 = 1 + D12 = 0 + 1 = 1
Nodo 3. 3 = 2 + D23 = 1 + 1 = 2
Nodo 4. 4 = máx. { 1 + D14, 3 + D34}= máx. {0 + 2, 2 + 0}= máx. {2, 2} = 2
Nodo 5. 5 = 3 + D35 = 2 + 2 = 4
Nodo 6. 6 = 5 + D56 = 4 + 10 = 14
Nodo 7. 7 = 6 + D67 = 14 + 1 = 15
Nodo 8. 8 = 7 + D78 = 15 + 2 = 17
Nodo 9. 9 = 6 + D69 = 14 + 3 = 17
Nodo 10. 10 = máx. { 4 + D4-10, 9 + D9-10}= máx. {2 + 6, 17 + 1}
= máx. {8, 18} = 18
Nodo 11. 11 = máx. { 6 + D6-11, 9 + D9-11, 10 + D10-11}
= máx. {14 + 0, 17 + 0, 18 + 5}= máx. {14, 17, 23} = 23

260
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Nodo 12. 12 = 11 + D11-12 = 23 + 2 = 25


Nodo 13. 13 ={ 7 + D7-13, 12 + D12-13}= máx. {15 + 0, 25 + 2}
= máx. {15, 27} = 27
Nodo 14. 14 = 13 + D13-14 = 27 + 1 = 28
Nodo 15. 15 = 13 + D13-15 = 27 + 7 = 34
Nodo 16. 16 = máx. { 6 + D6-16, 11 + D11-16}= máx. {14 + 2, 23 + 1}
= máx. {16, 24} = 24
Nodo 17. 17 = máx. { 7 + D7-17, 16 + D16-17}= máx. {15 + 0, 24 + 4}
= máx. {15, 28} = 28
Nodo 18. 18 = 17 + D17-18 = 28 + 7 = 35
Nodo 19. 19 = máx. { 8 + D8-19, 14 + D14-19, 15 + D15-19, 18 + D18-19}
= máx. {17 + 0, 28 + 0, 34 + 0, 35 + 3}
= máx. {17, 28, 34, 38} = 38
Los cálculos indican que se puede acabar en 38 días.
Paso hacia atrás.
Nodo 19. Hacer o definir Δ19= 19 = 38
Nodo 18. Δ18 = Δ19 – D18-19 = 38 – 3 = 35
Nodo 17. Δ17 = Δ18 – D17-18 = 35 – 7 = 28
Nodo 16. Δ16 = Δ17 – D16-17 = 28 – 4 = 24
Nodo 15. Δ15 = Δ19 – D15-19 = 38 – 0 = 38
Nodo 14. Δ14 = Δ19 – D14-19 = 38 – 0 = 38
Nodo 13. Δ13 = mín {Δ14 – D13-14, Δ15 – D13-15} = mín {38 – 1, 38 – 7}=
mín {37, 31}= 31
Nodo 12. Δ12 = Δ13 – D12-13 = 31 – 2 = 29
Nodo 11. Δ11 = mín {Δ12 – D11-12, Δ16 – D11-16} = mín {29 – 2, 24 – 1}=
mín {27, 23}= 23
Nodo 10. Δ10 = Δ11 – D10-11 = 23 – 5 = 18
Nodo 9. Δ9 = mín {Δ10 – D9-10, Δ11 – D9-11} = mín {18 – 1, 23 – 0}=
mín {17, 23}= 17
Nodo 8. Δ8 = Δ19 – D8-19 = 38 – 0 = 38
Nodo 7. Δ7 = mín {Δ8 – D7-8, Δ13 – D7-13, Δ17 – D7-17}
= mín {38 – 2, 31 – 0, 28 – 0}= mín {36, 31, 28}= 28
Nodo 6. Δ6 = mín {Δ7 – D6-7, Δ9 – D6-9, Δ11 – D6-11, Δ16 – D6-16}
= mín {28 – 1, 17 – 3, 23 – 0, 24 – 2}= mín {27, 14, 23, 22}= 14

261
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Nodo 5. Δ5 = Δ6 – D5-6 = 14 – 10= 4


Nodo 4. Δ4 = Δ10 – D4-10 = 18 – 6= 12
Nodo 3. Δ3 = mín {Δ4 – D3-4, Δ5 – D3-5} = mín {12 – 0, 4 – 2}= mín {12, 2}= 2
Nodo 2. Δ2 = Δ3 – D2-3 = 2 – 1= 1
Nodo 1. Δ1 = mín {Δ2 – D1-2, Δ4 – D1-4} = mín {1 – 1, 12 – 2}=
mín {0, 10}= 0
Si los cálculos fueron correctos, siempre terminaran con Δ1 = 0.
Los cálculos en los pasos hacia delante y hacia atrás se resumen en la figura 8.6.
Las reglas para determinar las actividades críticas indican que la ruta crítica es
1→2→3→5→6→9→10→11→16→17→18→19, que abarca la diagrama desde el inicio
(nodo 1) hasta el fin (nodo 19). La suma de las duraciones de las actividades críticas [(1,2),
(2,3), (3,5), (5,6), (6,9), (9,10), (10,11), (11,16), (16,17), (17,18), (18,19)] es igual a la
duración del proyecto (= 38 días).
Observe que la actividad (6,11), (6,16) y (9,11) satisfacen las dos primeras
condiciones para que la actividad sea crítica
Δ6 = 6 = 14, Δ11 = 11 = 23, pero Δj – Δi = j – i = Dij
23 – 14 = 23 – 14 = 0
Δ6 = 6 = 14, Δ16 = 16 = 24, pero Δj – Δi = j – i = Dij
24 – 14 = 24 – 14 = 2
Δ9 = 9 = 17, Δ11 = 11 = 23, pero Δj – Δi = j – i = Dij
23 – 17 = 23 – 17 = 0.
Por consiguiente, esas actividades no son críticas.

262
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Leyenda
Paso hacia adelante
Paso hacia atrás: 28 38
15 17
Ruta critica i j K-2 8
7

1
1 14 I- 24 28 35
1 14 24 28 35
22 6
M-2 16 17 18
N-4 S- 7
T-
C-1

Fin del paso


-1

F - 10

L-1
Inicio del paso
G
A

hacia atrás 38
-3

28 hacia atrás
0 2 23 38
1 3 5 9 11 14 19
0 2 D-2 23 38
4 17 Fin del paso
H-1

Q-1
O-2
5
Inicio del paso 17
J-

hacia adelante
B

4
hacia adelante
-2

4 10 12 13 15
E-6 P-2 R-7
12 18 29 31 38
2 18 25 27 34

Figura 8.6
Cálculos de los pasos hacia delante y hacia atrás para el proyecto del ejemplo de aplicación 8.2.

263
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.9 Construcción del cronograma preliminar


Se indica como se puede usar la información obtenida con los cálculos de la sección
8.7 para desarrollar el programa de tiempo, o cronograma. Se reconoce que i representa el
tiempo más temprano de iniciación de una actividad (i, j), y que Δj representa el tiempo más
tardío de terminación. Esto quiere decir que ( i, Δj) limita el intervalo máximo de tiempo
durante el cual se puede programar la actividad (i, j).
Construcción de un cronograma preliminar. Se ilustrara con un ejemplo el
método para construir un cronograma preliminar.
Ejemplo de aplicación 8.4
Determinar el cronograma para el proyecto del ejemplo de aplicación 8.3 (figura
8.6)
Se puede tener un cronograma preliminar para las distintas actividades del proyecto
poniendo sus intervalos de tiempo respectivos como se ve en la figura 8.7. Es necesario
hacer dos observaciones.
1. Las actividades críticas (representadas por las líneas llenas) se deben
programar una inmediatamente después de la otra, para asegurar que el
proyecto se termine en la duración especificada de 38 días.
2. Las actividades no críticas (representadas por líneas segmentadas) abarcan
intervalos que tienen duraciones mayores y que por tanto permiten holguras
en su programación dentro de sus intervalos asignados.

Figura 8.7 Cronograma preliminar para el proyecto del ejemplo de aplicación 8.2

264
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.10 Determinación de las holguras


Son las holguras de tiempo disponibles dentro del intervalo asignado para la
actividad no crítica. Las dos más comunes son la holgura total y la holgura libre.
Interpretación Práctica:
1) Holgura total: Representa el número de unidades de tiempo de que
disponemos para retrasar el comienzo de la actividad o aumentar la
duración de la actividad sin alterar los tiempos límite u en principio la
programación.
2) Holgura libre: Representa el número de unidades de tiempo de que
disponemos para retrasar el comienzo de la actividad o aumentar la
duración de la actividad sin alterar el comienzo de las siguientes.
3) Holgura independiente: Refleja las unidades disponibles para que
habiéndose alcanzado un suceso en el tiempo límite pasemos al tiempo lo
más pronto posible del suceso siguiente.
En la siguiente figura 8.8 se ve un resumen adecuado para calcular la holgura total
(TFij) y la holgura libre (FFij) de la actividad (i, j). la holgura total es el exceso del intervalo
de tiempo definido por el tiempo más temprano de ocurrencia del evento i hasta el tiempo
más tardío de ocurrencia del evento j en la duración de (i, j); esto es:
TFij = ∆ j − i − Dij

Figura 8.8
Calculo de las holguras totales y libres
La holgura libre es el exceso del intervalo de tiempo definido desde el tiempo más
temprano de ocurrencia del evento i hasta el tiempo más temprano de ocurrencia del
elemento j durante la duración de (i, j); esto es:
FFij = j − i − Dij
Por definición, FFij ≤ TFij
Regla de la bandera roja, para una actividad (i, j) no crítica:
a. Si FFij = TFij , entonces se puede programar la actividad en cualquier lugar dentro
de su intervalo (i, ∆ j ) sin causar conflicto con el programa.

265
Capítulo 8 Texto Guía – Sistemas de Ingeniería

b. Si FFij < TFij , entonces el inicio de la actividad (i, j) se puede demorar cuando
mucho hasta FFij a partir de su tiempo más temprano de inicio (i) sin causar
conflicto con el programa. Toda demora mayor que FFij (pero no mayor que TFij)
se debe acompañar por una demora igual a partir de j en el tiempo de iniciación
de todas las actividades que salen del nodo j.

La implicación de la regla es que una actividad (i, j) no crítica tendrá bandera roja si
su FFij < TFij . Esta bandera roja solo importa si se decide demorar el inicio de la
actividad respecto a su tiempo temprano de inicio i, en cuyo caso se debe poner
atención a los tiempos de inicio de las actividades que salen del nodo j, para evitar
conflictos en el programa.
Ejemplo de aplicación 8.5
Calcular las holguras de las actividades no críticas del diagrama en el ejemplo 8.5, y
describir su uso en la finalización de un cronograma para el proyecto.
La tabla siguiente resume los cálculos de las holguras totales y libres. Conviene más
hacer los cálculos en forma directa sobre la diagrama, usando el procedimiento de la figura
8.6
Actividad Holgura total Holgura libre
Duración
no crítica (TF) (FF)
B 1→4 2 12 – 0 – 2 = 10 2–0–2=0
FIC 3→4 0 12 – 2 – 0 = 10 2–2–0=0
I 6→7 1 28 – 14 – 1 = 13 15 – 14 – 1 = 0
FIC 6 → 11 0 23 – 14 – 0 = 9 23 – 14 – 0 = 9
M 6 → 16 2 24 – 14 – 2 = 8 24 – 14 – 2 =8
K 7→8 2 38 – 15 – 2 = 11 17 – 15 – 2 = 0
FIC 7 → 13 0 31 – 15 – 0 = 16 27 – 15 – 0 = 12
FIC 7 → 17 0 28 – 15 – 0 = 13 28 – 15 – 0 = 13
FIC 8 → 19 0 38 – 17 – 0 = 21 38 – 17 – 0 = 21
FIC 9 → 11 0 23 – 17 – 0 = 6 23 – 17 – 0 = 6
O 11 → 12 2 29 – 23 – 2 = 4 25 – 23 – 2 = 0
P 12 → 13 2 31 – 25 – 2 = 4 27 – 25 – 2 = 0
Q 13 → 14 1 38 – 27 – 1 = 10 28 – 27 – 1 = 0
R 13 → 15 7 38 – 27 – 7 = 4 34 – 27 – 7 = 0
FIC 14 → 19 0 38 – 28 – 0 = 10 38 – 28 – 0 = 10
FIC 15 → 19 0 38 – 34 – 0 = 4 38 – 34 – 0 = 4
Tabla 8.2
Los cálculos ponen bandera roja en las actividades B (1,4), FIC (3,4), I (6,7), K
(7,8), FIC (7,13), O (11,12), P (12,13), Q (13,14) y R (13,15), porque sus FF < TF. Las
actividades restantes FIC (6,11), M (6,16), FIC (7,17), FIC (8,19), FIC (9,11), FIC (14,19)
y FIC (15,19), tienen FF = TF, por lo que se pueden programar en cualquier momento entre
su inicio más temprano y su terminación más tardía.
En cuanto a la actividad I con bandera roja, se ve que FF = 0. Eso quiere decir que
cualquier demora en el inicio de I después de su tiempo más temprano de inicio (= 14) se
debe acoplar con una demora al menos igual en el inicio de sus actividades posteriores E y
F.

266
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.11 Formulación del método de la ruta crítica con programación


lineal
Se puede concebir un problema de ruta más crítica como lo contrario del problema
de ruta más corta sección 7.3 en el sentido de que interesa determinar la ruta más larga
desde el inicio hasta el fin. En consecuencia se puede aplicar la formulación como
programa lineal de ruta más corta, en la sección 7.3.2, a la ruta crítica, como sigue.
Supondremos que un flujo unitario entra a la diagrama en el nodo inicio y sale en el nodo
final. Se definen,
xij = cantidad de flujo en la actividad (i, j) para toda i y j definida.

Dij = duración de la actividad (i, j) para toda i y j definida.


Así, la función objetivo del programa lineal se transforma en
Maximizar z = ∑D x ij ij
todas las actividades definidas (i , j )

(Compárese con la formulación del programa lineal de ruta más corta en la sección
7.3.2, donde se minimiza la función objetivo). Hay una restricción que representa la
conservación del flujo en cada nodo; esto es, para todo nodo j.
Flujo total que entra = Flujo total que sale
Naturalmente, todas las variables xij son no negativas. Observe que una de las
restricciones es redundante.
De nuevo, como en el problema de ruta más corta, se puede usar el dual del
programa lineal para resolver el problema CPM (de ruta crítica). El ejemplo que sigue
aplica las dos formulaciones al proyecto del ejemplo

267
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Ejemplo de aplicación 8.6


La formulación en programación lineal del ejemplo 8.3 (figura 8.6) se ve abajo. Nótese que los nodos 1 y 20 son los de inicio y de
termino, respectivamente.
A B C Fict. D E F G Fict. H Fict. I J K Fict. Fict. L M N O P Q R S T Fict. Fict. Fict.
X12 X14 X23 X34 X35 X410 X56 X69 X611 X910 X911 X67 X1011 X78 X717 X713 X1116 X616 X1617 X1112 X1213 X1314 X1315 X1718 X1819 X819 X1419 X1519
Max z= 1 2 1 0 2 6 10 3 0 1 0 1 5 2 0 0 1 2 4 2 2 1 7 7 3 0 0 0
Nodo 1 -1 -1 = -1
Nodo 2 1 -1 =0
Nodo 3 1 -1 -1 =0
Nodo 4 1 1 -1 =0
Nodo 5 1 -1 =0
Nodo 6 1 -1 -1 -1 -1 =0
Nodo 7 1 -1 -1 -1 =0
Nodo 8 1 -1 =0
Nodo 9 1 -1 -1 =0
Nodo 10 1 1 -1 =0
Nodo 11 1 1 1 -1 -1 =0
Nodo 12 1 -1 =0
Nodo 13 1 1 -1 -1 =0
Nodo 14 1 -1 =0
Nodo 15 1 -1 =0
Nodo 16 1 1 -1 =0
Nodo 17 1 1 -1 =0
Nodo 18 1 -1 =0
Nodo 19 1 1 1 1 =1

Tabla 8.3

TORA obtiene la siguiente solución óptima de la programación lineal propuesta para la ruta crítica CPM en la tabla siguiente:
Z = 38, x12(A), x23(C), x35(D), x56(F), x69(G), x910(H), x1011(J), x1116(L), x1617(N), x1718(S), x1819(T) = 1; todas las demás = 0. La solución
define la ruta crítica la ruta crítica como A → C → D → F → G → H → J → L → N → S → T, y la duración del proyecto es 38 días.

268
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.12 Redes PERT


En CPM se asume que la duración de cada actividad es conocida con certeza,
claramente, en muchas ocasiones este supuesto no es valido. PERT intenta corregir este
error suponiendo que la duración de cada actividad es una variable aleatoria de la que
conocemos su ley de distribución (Distribución ); se consideran tres clases de tiempos
estimados:
1. Tiempo Optimista “a”, es el que representa el tiempo mínimo posible sin importar
el costo o cuantía de elementos materiales y humanos que se requieran, donde se
supone que la ejecución va extremadamente bien. En la mayoría de los casos la
probabilidad de realizar la actividad en este tiempo es pequeña.
2. Tiempo más probable “m”, donde se supone que la ejecución se hace bajo
condiciones normales. Esta estimación debe tener en cuenta las circunstancias
normales, considerando algunos retrasos debidos a imprevistos, y debe estar basada
en la mejor información de que pueda disponerse.
3. Tiempo pesimista “b”, es un tiempo excepcionalmente grande que pudiera
presentarse ocasionalmente como consecuencia de accidentes, falta de suministros,
retardos involuntarios, causas no previstas, etc. donde se supone que la ejecución va
extremadamente mal. la probabilidad de realizar la actividad en este tiempo es
grande.
En la figura 8.9 se muestra la localización ideal de estas tres estimaciones con respecto
a la distribución de probabilidad. Se hacen dos suposiciones para convertir m, a y b en
estimaciones del valor esperado Te y la varianza ν = σ2 del tiempo que requiere la actividad.
Suposición 1: la distribución entre a y b es 6 desviaciones estándar, es decir, 6σ = b – a.
En consecuencia, la varianza del tiempo de una actividad es

[
σ 2 = 16 (b − a )] 2

El razonamiento para hacer esta suposición es que se considera que las colas de
muchas distribuciones de probabilidad (como en la distribución normal) están más o menos
a 3 desviaciones estándar de la media, de manera que existe una dispersión de alrededor de
6 desviaciones estándar entre las colas.
Para obtener la estimación del valor esperado Te, también es necesaria una
suposición sobre la forma de la distribución de probabilidad.
Suposición 2: la distribución de probabilidad de cada actividad es (al menos
aproximadamente) una distribución beta .
Este tipo de distribución tiene la forma que se muestra en la figura 8.9, con una sola
moda (m) y dos puntos terminales (a y b), en donde se supone que 0 ≤ a ≤ b. Así, se ajusta
bien a las definiciones de los tres tiempos estimados, y da una forma razonable para la
distribución de los tiempos de las actividades.
Bajo estas suposiciones, el valor esperado del tiempo de una actividad es
aproximadamente

269
Capítulo 8 Texto Guía – Sistemas de Ingeniería

1 
Te = 2m + (a + b )
1
3 2 

Figura 8.9
Modelo de la distribución de probabilidad para los tiempos de las actividades en el enfoque de tres
estimaciones de pert: m=estimación más probable, a=estimación optimista y b=estimación pesimista
Note que el medio del intervalo (a+b)/2 se encuentra a la mitad entre a y b, de
manera que Te es la media aritmética ponderada de la moda y la mitad del intervalo, con un
peso de dos tercios para la moda. Aunque la suposición de una distribución beta es
arbitraria, sirve para el propósito de localizar el valor esperado respecto a m, a y b de una
manera razonable.
Con base en los estimados (o estimaciones), el tiempo promedio de duración D ,
estará en el intervalo [a, b] y su varianza ν , de acuerdo a la distribución que se calculan
como sigue:
a + 4m + b
D=
6
b−a
2

v= 
 6 
Los cálculos de ruta crítica (CPM) que se describieron en la secciones 8.7 y 8.8 se
puede aplicar en forma directa, sustituyendo la estimación única D por D .
Ahora es posible estimar la probabilidad de que un nodo j en la diagrama suceda en
un tiempo programado especificado con anterioridad, S j . Sea e j el tiempo más temprano
de ocurrencia del nodo j. como las duraciones de las actividades que van del nodo de inicio
al nodo j son variables aleatorias, e j también debe ser una variable aleatoria. Suponiendo
que todas las actividades en la diagrama sean estadísticamente independientes, se puede
determinar la media, E{e j } y la varianza, var {e j } como sigue, si solo hay una ruta desde el
nodo de inicio hasta el nodo j, la media es la suma de las duraciones esperadas D , para
todas las actividades a lo largo de esa ruta, y la varianza es la suma de las varianzaν de las
mismas actividades. Por otra parte, si hay más de una ruta que llegue al nodo j , será
necesario calcular primero la distribución estadística de la duración de la ruta más larga,
antes de calcular la media y la varianza correctas.
Este problema es bastante difícil, por que equivale a determinar la distribución del
máximo de varias variables aleatorias. Por consiguiente, una hipótesis simplificadora es
calcular la media y la varianza, E{e j } y var {e j }, como el de la ruta al nodo j que tenga la
suma mayor de duraciones esperadas de las actividades. Si hay dos o más rutas que tienen

270
Capítulo 8 Texto Guía – Sistemas de Ingeniería

la misma media (o promedio), se selecciona la que tenga la varianza mayor, por que refleja
la máxima incertidumbre y en consecuencia conduce a un estimado más conservador de las
probabilidades.
Una vez calculados la media y la varianza E{e j } y var {e j } de la ruta al nodo j, la
probabilidad que se realice el nodo j a un tiempo S j preestablecido, se calcula con la
siguiente formula:
 e j − E{e j } S j − E{e j }
P{e j ≤ S j } = P  ≤  = P{z ≤ K j }
 var {e j } var {e j } 
En donde
z = Variable aleatoria normal estándar
S j − E{e j }
Kj =
var {e j }
La variable aleatoria normal estándar z tiene media 0 y desviación estándar 1. La
justificación para usar la distribución normal es que e j es la suma de variables aleatorias
independientes.
Ejemplo de aplicación 8.7
Se tiene el proyecto del ejemplo 8.3. Para evitar repetir los cálculos de ruta crítica,
se seleccionaron los valores de a, m y b en la tabla siguiente, de tal modo que D ij = Dij para
toda i y j en el ejemplo 8.3
Optimista 1 Más probable 2 Pesimista 3
Actividad i-j
(a) (m) (b)
A 1-2 1 1 3
B 1-4 1 2 4
C 2-3 1 1 3
D 3-5 1 2 4
E 4-10 4 6 8
F 5-6 8 10 12
G 6-9 1 3 5
H 9-10 1 1 3
I 6-7 1 1 3
J 10-11 3 5 8
K 7-8 1 2 4
L 11-16 1 1 3
M 6-16 1 2 4
N 16-17 2 4 6
O 11-12 1 2 4
P 12-13 1 2 5
Q 13-14 1 1 3
R 13-15 5 7 9
S 17-18 5 7 10
T 18-19 1 3 5
Tabla 8.4

1
Los valores estimados optimistas son tomados en función a los rendimientos de la mano de obra en
condiciones favorables sin que se presente ningún contratiempo.
2
Los valores estimados más probables son tomados en función a los rendimientos de la mano de obra en
condiciones normales.
3
Los valores estimados pesimistas son tomados en función a los rendimientos de la mano de obra en
condiciones adversas presentándose varios contratiempos.

271
Capítulo 8 Texto Guía – Sistemas de Ingeniería

La media D ij y la varianza Vij de las distancias actividades se ve en la tabla de abajo.


Observe que para una actividad ficticia (a, b, m) = (0, 0, 0), y en consecuencia su media y
su varianza también son iguales a cero.
Actividad i-j D ij Vij
A 1-2 1.33 0.11
B 1-4 2.17 0.25
C 2-3 1.33 0.11
D 3-5 2.17 0.25
E 4-10 6.00 0.44
F 5-6 10.00 0.44
G 6-9 3.00 0.44
H 9-10 1.33 0.11
I 6-7 1.33 0.11
J 10-11 5.17 0.69
K 7-8 2.17 0.25
L 11-16 1.33 0.11
M 6-16 2.17 0.25
N 16-17 4.00 0.44
O 11-12 2.17 0.25
P 12-13 2.33 0.44
Q 13-14 1.33 0.11
R 13-15 7.00 0.44
S 17-18 7.17 0.69
T 18-19 3.00 0.44
Tabla 8.5
La tabla siguiente muestra la trayectoria más larga del nodo 1 a los distintos nodos,
junto con su media y su varianza asociados.
Ruta más larga basada Media de Desviación estándar
Nodo
en duraciones medias la ruta de la ruta
2 1-2 1.33 0.665
3 1-2-3 2.66 1.330
4 1-4 2.17 1.085
5 1-2-3-5 4.83 2.415
6 1-2-3-5-6 14.83 7.415
7 1-2-3-5-6-7 16.16 8.080
8 1-2-3-5-6-7-8 18.33 9.165
9 1-2-3-5-6-9 17.83 8.915
10 1-2-3-5-6-9-10 19.16 9.580
11 1-2-3-5-6-9-10-11 24.33 12.165
12 1-2-3-5-6-9-10-11-12 26.5 13.250
13 1-2-3-5-6-9-10-11-12-13 28.83 14.415
14 1-2-3-5-6-9-10-11-12-13-14 30.16 15.080
15 1-2-3-5-6-9-10-11-12-13-15 35.83 17.915
16 1-2-3-5-6-9-10-11-16 25.66 12.830
17 1-2-3-5-6-9-10-11-16-17 29.66 14.830
18 1-2-3-5-6-9-10-11-16-17-18 36.83 18.415
19 1-2-3-5-6-9-10-11-16-17-18-19 39.83 19.915
Tabla 8.6

272
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Por ultimo, en la tabla siguiente se calcula la probabilidad de que cada nodo se realice en un
tiempo S j preestablecido, especificado por el analista.
Nodo
Ruta más larga basada
en duraciones medias
Media de
la ruta
Desviación estándar
de la ruta
Sj Kj P = {z ≤ K j }4
1 -0.50 0.31
2 1-2 1.33 0.665
2 1.01 0.84
2 -0.50 0.31
3 1-2-3 2.66 1.330
3 0.26 0.6
2 -0.16 0.44
4 1-4 2.17 1.085
3 0.76 0.78
4 -0.34 0.37
5 1-2-3-5 4.83 2.415
5 0.07 0.53
12 -0.38 0.35
6 1-2-3-5-6 14.83 7.415
16 0.16 0.56
14 -0.27 0.39
7 1-2-3-5-6-7 16.16 8.080
18 0.23 0.59
18 -0.04 0.48
8 1-2-3-5-6-7-8 18.33 9.165
20 0.18 0.57
15 -0.32 0.37
9 1-2-3-5-6-9 17.83 8.915
20 0.24 0.59
18 -0.12 0.45
10 1-2-3-5-6-9-10 19.16 9.580
21 0.19 0.57
23 -0.11 0.46
11 1-2-3-5-6-9-10-11 24.33 12.165
25 0.06 0.52
26 -0.04 0.48
12 1-2-3-5-6-9-10-11-12 26.5 13.250
27 0.04 0.52
27 -0.13 0.45
13 1-2-3-5-6-9-10-11-12-13 28.83 14.415
30 0.08 0.53
30 -0.01 0.5
14 1-2-3-5-6-9-10-11-12-13-14 30.16 15.080
31 0.06 0.52
33 -0.16 0.44
15 1-2-3-5-6-9-10-11-12-13-15 35.83 17.915
37 0.07 0.53
25 -0.05 0.48
16 1-2-3-5-6-9-10-11-16 25.66 12.830
27 0.10 0.54
28 -0.11 0.45
17 1-2-3-5-6-9-10-11-16-17 29.66 14.830
30 0.02 0.51
34 -0.15 0.44
18 1-2-3-5-6-9-10-11-16-17-18 36.83 18.415
37 0.01 0.504
38 -0.09 0.46
19 1-2-3-5-6-9-10-11-16-17-18-19 39.83 19.915
40 0.01 0.504

Tabla 8.7
Como vemos en la tabla 8.7 en la ruta crítica 1-2-3-5-6-9-10-11-16-17-18-19, su media es
de 39.83 días para finalizar y la probabilidad de acabar en 40 días es de 50.4% y en 38 días
es de 46 %
8.13 Dificultades de PERT
Existen varias dificultades en la aplicación de PERT:
1. El supuesto de que la duración de las actividades es independiente es difícil de
justificar.
2. La duración de las actividades puede no seguir una distribución Beta.
3. El supuesto de que la ruta crítica encontrada con CPM es siempre la misma no es
justificable.
De todas las dificultades, la última es la más complicada debido a la fuerte
variabilidad que podría tener la duración de las actividades en un proyecto.
4
Para la probabilidad correspondiente actividad ver ANEXO B.

273
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Una de las formas de corregir las falencias de PERT es mediante el empleo de


simulación (MonteCarlo) para el cálculo de la media y la varianza de la duración del
proyecto, así como la probabilidad de que una actividad sea crítica.
8.14 Solución por computadora
8.14.1Solución CPM/PERT con TORA
TORA tiene poderosas herramientas tutoriales para cálculos de ruta crítica y para
formular el cronograma, y para hacer cálculos de PERT
Para usarlas, seleccione Project Planning y escoja CPM – Critical Path Method ó
PERT-Program Evaluation & Review Technique.

Figura 8.9
Posteriormente proceda a colocar los datos del problema a partir de la
representación en diagrama para ambos casos para nuestro caso ver figura 8.5 del ejemplo
8.2 para el cálculo de la ruta crítica.
La figura 8.10 muestra los resultados de TORA para los cálculos de ruta crítica del
ejemplo 8.2. Si el lector quiere generar los resultados con la opción Next Step, TORA lo
guía en los detalles de los cálculos para los pasos hacia delante y hacia atrás.
La figura 8.11 muestra el programa TORA para los cálculos de ruta crítica del
ejemplo 8.3. El diagrama de barras predetermina el cronograma en forma automática todas
las actividades no críticas lo más pronto posible. Puede usted estudiar el impacto de

274
Capítulo 8 Texto Guía – Sistemas de Ingeniería

demorar el tiempo de inicio de una actividad no crítico, usando las listas desplegables, que
se explican por si solas, dentro del cuadro inferior izquierdo de la pantalla. El impacto de
una demora de una actividad no crítica se vera en forma directa en el cronograma, junto con
una explicación.
La figura 8.12 y 8.13 muestran los resultados obtenidos de los cálculos de PERT en
esos cuadros se pueden ver la media y la varianza de cada actividad o bien se puede ver
también la media y la varianza de la ruta más larga a cada nodo de la red.

Figura 8.10

Figura 8.11

275
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Figura 8.12

Figura 8.13

276
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.14.2 Solución CPM/PERT con WINQSB


Parta del menú Inicio = > Programas = > WinQSB = > PERT_CPM, como se
muestra en la figura 8.12

Figura 8.12

Una vez hecha la selección de PERT_CPM haga clic en new Problem, y escoja el
tipo de problema (Deterministic CPM o Probabilistic PERT) en este caso Deterministic
CPM y coloque los datos del problema (titulo del problema, numero de actividades, unidad
de tiempo y formato de entrada de datos) y haga clic en OK. Como se muestra en la figura
8.13

Figura 8.13

277
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Proceda a ingresar los datos del problema de la siguiente manera (figura 8.14):

Figura 8.14
Una vez ingresados los datos del problema haga clic en Solve and Analyse y haga
clic en Solve Critical Path.

Figura 8.15
Inmediatamente aparecerá la solución de la ruta crítica (figura 8.16) y también se
podrá ver el Programa Preliminar para el proyecto del ejemplo de aplicación 8.2, figura
8.17

278
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Figura 8.16

Figura 8.17

279
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.14.3 Solución CPM/PERT con PERT Chart EXPERT


PERT Chart EXPERT es una aplicación de software de manejo de proyecto basada
en Windows que está acostumbrado a crear y mostrar los proyectos usando un diagrama de
evaluación y revisión del funcionamiento.
PERT Chart EXPERT puede ser usado para planificación de proyecto como una
herramienta de planificación, use PERT Chart EXPERT para proyectar rápidamente un
plano de proyecto en la pantalla dando un golpecito a y arrastrando para crear tareas y
dependencia entre tareas. Doubleclick en una tarea para añadir la información de horario
como duración, fecha de principio, fecha de fin, costo de trabajo, etc.… los diagramas de
evaluación y revisión del funcionamiento pueden ser mostrados en muchos estilos y colores
diferentes. Un ejemplo de un diagrama de evaluación y revisión del funcionamiento es
mostrado abajo:

Los planos creados en el experto de diagrama de evaluación y revisión del


funcionamiento se pueden mantener y administrar separadamente o transferir a Microsoft
Project o cualquier programe que pueda leer el “MPX” Formato de archivo de Microsoft
Project.
PERT Chart EXPERT puede ser usado con Microsoft Project
PERT Chart EXPERT puede estar acostumbrado a generar diagramas de
evaluación y revisión del funcionamiento directamente de existir el archivo Microsoft
Project. PERT Chart EXPERT usa las tareas y predecesores creados en Microsoft Project
para generar una vista con base en dependencia de los datos. Un diagrama de PERT Chart
EXPERT es instalado en Microsoft Project para transferencia fácil de los datos.
Crear tareas
Para añadir una nueva tarea en un mapa, haga clic y arrastre con su ratón:
1. En un mapa vacío, haga clic y arrastre en cualquier parte en el mapa para añadir
una nueva tarea. una caja de tarea aparecerá en la esquina superior izquierda.
2. En un mapa con tareas, haga clic dentro de una tarea y agregue un espacio vacío
para crear una nueva tarea que es dependiente de la primera tarea.
O
3. En un mapa con tareas, haga clic y arrastre en el espacio vacío para crear una
nueva tarea.

280
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Información que entra


Existen dos vías para ingresar información en las tareas en PERT Chart.
 Ingresar la información de tarea directamente en la caja de tarea escogiendo la tarea
en la pantalla y mecanografiando la información directamente.
 La otra vía para entrar la información es el “doubleclick” en una tarea e ingrese la
información en la información de tarea.
Ambas opciones son descritas abajo:
Información que entra que usa la tarea boxea en la pantalla
Puede entrar información sobre una tarea simplemente escogiendo una tarea en la
información de pantalla y mecanografía directamente en el campo escogido para esa tarea.
La información que usted puede entrar es dependiente de que los campos se muestran
corrientemente en la pantalla.
Por ejemplo, en el diagrama de evaluación y revisión del funcionamiento de abajo,
sólo el nombre de tarea es mostrado así puede cambiar sólo el nombre de la tarea
directamente en la pantalla:

Sin embargo, con este diagrama de evaluación y revisión del funcionamiento,


existen muchos campos que se mostraron en el mapa. Dé un golpecito al campo que desee e
cambiar y teclee la nueva información.

281
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Información que ingresa usando la forma del “doubleclick”


Haciendo clic en el botón de barra de herramientas de información de tarea.
El botón de barra de herramientas de información de tarea (Task Information)

La forma de información de tarea le permite ingresar datos para la tarea escogida


como es mostrado abajo:

Dependencias
Una dependencia es una relación entre dos tareas. Para especificar que las tareas en
su proyecto ocurren en cierta orden, crea dependencias entre estas tareas dando un
golpecito a una tarea y arrastre entre tareas. Una dependencia dice que una tarea debe
seguir otra tarea de alguna.
Crear dependencias
Para crear una dependencia:
1. Haga clic y arrastre de una tarea a otra para crear un fin para empezar la
dependencia (la primera tarea deba terminar antes del segundo pueda
empezar).
O
2. Haga clic y arrastre de una tarea a espacio vacío en el mapa para crear una
nueva tarea que es dependiente de la primera tarea.
Para modificar una dependencia entre dos tareas:

282
Capítulo 8 Texto Guía – Sistemas de Ingeniería

1. Haga clic y arrastre entre cualquier dos tareas de dependiente. Estas


exhibiciones una forma que muestra la dependencia que existen entre estas
dos tareas.
O
2. Doubleclick la dependencia se alinea entre dos tareas. Estas exhibiciones una
forma que muestra la dependencia que existen entre estas dos tareas.
Programación
PERT Chart EXPERT fija la hora de las tareas basadas en la información que entre.
Usa la fecha de principio de proyecto (o proyecte la fecha de fin al fijar la hora del fin de
proyecto), la duración, dependencias y limitaciones para hacer cálculos cuando cada tarea
debe empezar y terminar. PERT Chart EXPERT calcula también el camino crítico. Más
abajo está una explicación de cómo se fijan la hora de las tareas.
Las tareas son programadas basadas en lo siguiente:
1. Por fecha de principio de proyecto.- Si una tarea no tiene una dependencia,
fecha de limitación o principio real entonces la tarea es fijada la hora para
empezar en la fecha de principio de proyecto y su fin es determinado por la
duración de la tarea.
2. Por Duración.- La fecha de fin de cada tarea es determinada por la fecha de
principio más la duración usted entra la toma en la cuenta el calendario
(trabajando y los días, horas no de trabajo por día, etc.).
3. Por Dependencias.- Si una tarea tiene una dependencia pero no tiene una
fecha de limitación o principio real entonces la tarea es programada basado
en la dependencia.
4. Por fecha de limitación.- Si una tarea tiene una limitación fecha entonces
fija la hora de la tarea basada en la limitación fecha y limitación teclea.
5. Por Inicio/Final.- Si una tarea tiene un principio real o fin real será
programado basado en estas fechas.
Cada uno de estos conceptos es explicado abajo:
Proyecte el principio fecha y proyecta fecha de fin
La fecha de principio de proyecto en el PERT Chart EXPERT es más entonces justa
la fecha en que el proyecto empieza. La fecha de principio de proyecto está acostumbrada a
definir la fecha de principio para todas las tareas que no tenga dependencias, fechas de
limitación o un principio real.
En defecto, la fecha de principio de proyecto es poner a la fecha actual cuando abre
un nuevo archivo. Para cambiar la fecha de principio de proyecto:
1. Escoja del menú Tools-Chart.
2. Escoja horario del proyecto y la fecha de inicio.
3. Ingrese una fecha en la fecha de principio de proyecto en el campo.
Al horario del fin del proyecto, escoja el horario del proyecto empieza opción de
fecha y entra una fecha en la fecha de fin de proyecto. Cuando fija la hora de del fin de
proyecto, todo tareas se da un tan tarde como sea posible limitación y es el horario hacia
atrás de la fecha entra.

283
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Duración
La duración es la cantidad del tiempo que toma para completar una tarea. Una
duración para una tarea se puede ingresar en minutos, horas, días, semanas, meses o años.
Una duración se puede entrar en el campo de duración usando el formato siguiente:
M = Minutos
H = Horas
D = Dias
W = Semanas
MO = Meses
Y = Años
Al fijar la hora de desde el principio del proyecto (verifique la opción “El horario
del proyecto empieza fecha” bajo el mapa de herramientas tome forma), la duración está
acostumbrado a calcular la fecha de fin de una tarea.
Al fijar la hora de del fin del proyecto (desmarque la opción “El horario del
proyecto empieza fecha” bajo el mapa de herramientas tome forma), la duración está
acostumbrado a calcular la fecha de principio de una tarea.
Nota: Las unidades de duración anteriores toman en cuenta el calendario
(trabajando y el tiempo no de trabajo). En defecto, PERT Chart EXPERT proporciona unas
horas trabajadas en una semana de 5 días estándares, el calendario cotidiano de las 8 horas.
La duración que usted entra trabajará alrededor de este calendario y como cambia este
calendario su horario cambiará en conformidad.
Las duraciones se pueden entrar también en los días pasados. Los días pasados
ignoran el calendario y horarios basado en un día de 24 horas, 7 días una semana sin días
no de trabajo. Pase las unidades de duración se definen por entrar una e antes de la unidad
de duración. Por ejemplo, 12eh para 12 las horas pasados o 5ed para 5 los días pasados.
Una duración de 5 pasó los días del miércoles harían el fin de una tarea ocurre el domingo
por la tarde.
Para entrar la duración:
1. Si el campo de duración es mostrado en la caja de tarea en la pantalla, haga
clic en este campo y represente la duración.
O
2. Doubleclick la tarea y represente la duración en el campo de duración.
Dependencias
Unas de las características principales del, PERT Chart EXPERT son la habilidad
para hacer clic y arrastrar para crear fácilmente dependencias entre tareas.
Existen varios tipos diferentes de dependencias. El tipo básico de la dependencia es
el fin para empezar dependencia. Esto significa que no puede empezar una tarea hasta uno
se termina. Así:

284
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Para crear un fin para empezar dependencia en PERT Chart EXPERT


1. Use el ratón para hacer clic de adentro un tarea, arrastre a otro y suelte para
crear la dependencia. En defecto, esto crea un fin para empezar dependencia
entre la primera tarea usted escogió y la segunda tarea.
Para modificar una dependencia entre dos tareas:
1. Haga clic y arrastre entre cualquier dos tareas de dependiente. Estas
exhibiciones una forma que muestra la dependencia que existen entre estas
dos tareas.
Lag (Retraso)
La mayor parte de las tareas en un proyecto empiece haya terminado
inmediatamente al gusto de uno pero ocasionalmente puede necesitar entrar una demora.
Cuando existe una cantidad del tiempo que debe transpirar antes de la tarea de segundo
deba ocurrir puede usar A “retraso” para esto. Un retraso es la cantidad del tiempo que la
tarea de segundo debe esperar después del primero ataree principios o fines.
Fechas de limitación (Constraint Dates)
Una fecha de limitación es una fecha específica que usted cesionario a una tarea.
Conjuntamente con esta fecha es un tipo de limitación que determina cómo la fecha es
usada (deba empezar en, deba terminar en, empiece ningún más temprano entonces, etc.).
Existe varios tipos diferentes de limitaciones, requiera todo que entra una fecha exceptúe
cuanto antes y como tarde como sea posible.
Tipo de limitación
El campo de tipo de limitación le permite para entrar el tipo de limitación. Escoja
de uno del siguiente:
Lo antes posible.- Los horarios la tarea para suceder tan pronto como que ello
puede basado en dependencias que preceden la tarea, la duración de la tarea y la fecha de
principio de proyecto. El “Cuanto antes” la limitación hace no limite en realidad una tarea
para una fecha particular. Ponga la limitación teclee para cuanto antes si ya no desee para
tener una fecha de limitación asociada con una tarea. Entonces será programado basado en
las dependencias.

285
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Lo más tarde posible.- Los horarios la tarea para suceder tan tarde como ello puede
basado en las dependencias que siguen la tarea, la duración de la tarea y la fecha de fin de
proyecto. El “Como tarde como sea posible” la limitación hace no limite en realidad una
tarea para una fecha particular.
No terminar antes del.- coloque el horario y la fecha de la tarea para no terminar
antes de la fecha en el campo de fecha de limitación.
No terminar después del – coloque el horario y la fecha de la tarea para no
terminar después de la fecha en el campo de fecha de limitación...
Deba terminar en.- Los horarios la tarea para terminar en la fecha listado en el
campo de fecha de limitación.
Deba empezar en.- Los horarios la tarea para empezar en la fecha listado en el
campo de fecha de limitación.
No comenzar antes del – coloque el horario y la fecha de la tarea para no
comenzar antes de la fecha en el campo de fecha de limitación.
No comenzar después del.- coloque el horario y la fecha de la tarea para no
comenzar antes de la fecha en el campo de fecha de limitación.
Fecha de limitación (Constraint Date)
La fecha de limitación es usada conjuntamente con el tipo de limitación para fijar la
hora de tareas. El cuanto antes y tan tarde como sea posible los tipos de limitación no usar
una limitación fecha así permitiendo la tarea para ser programado basado en las
dependencias asociadas con una tarea.
Ruta Crítica
La ruta crítica es un cálculo de horario que determina el camino larguísimo para el
fin de un proyecto o al fin de un conjunto de tareas. PERT Chart EXPERT puede calcular el
camino crítico en dos vías. Estos son:
Al fin del proyecto (To the end of the project). - Todas las tareas son comparadas
con la última tarea en el proyecto. Si una demora en una tarea impactaría esta fecha
entonces la tarea es considerada crítica.
Las dos excepciones para esto es obligación empezar On/Must Finish en
limitaciones de fecha y las tareas completados (Start On/Must Finish On date constraints
and Completed Tasks). Una tarea con una necesidad empieza en o deba terminar en la
limitación de fecha está considerado crítico y una tarea que está completo es siempre
Noncritical considerado. El ejemplo debajo de las exhibiciones el camino crítico al fin del
proyecto.
Al fin de cada conjunto de tareas (o la tarea) – Cada red de tareas calcula el
camino crítico separadamente dentro de su propio conjunto de tareas. Una tarea es
considerado crítica si ello impacta el fin de su red de tareas (una tarea sencilla es aún
considerada su propia red y es por lo tanto crítico). El ejemplo debajo de exhibiciones dos
separe la red de tareas unidas, cada camino crítico calculador dentro de su propio conjunto
de tareas.

286
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Para cambiarse entre los dos métodos de calcular el camino crítico:


1. Escoja Tools-Chart Settings.

.
Transferir un diagrama de evaluación y revisión del funcionamiento para
Microsoft Project
El PERT Chart EXPERT de uso para crear sus proyectos primero y entonces
transferencia estos mapas a Microsoft Project para programación adicional.
Si crea un nuevo mapa en PERT Chart EXPERT, configure este mapa y salve este
mapa, es considerado “autónomo” PERT Chart EXPERT. Esto significa que el archivo de
diagrama de evaluación y revisión del funcionamiento es un archivo autónomo con todos
los datos y formato dentro de este archivo.
En el PERT Chart EXPERT usted puede hacer dependencias entre tareas y
modificar varios campos de la información sobre las tareas en su proyecto, PERT Chart
EXPERT contiene un sistema de programación simple. Para la programación más
elaborada, para manejar recursos, haga la nivelación de recurso, etc. puede transferir el
diagrama de evaluación y revisión del funcionamiento para Microsoft Project.
Para transferir el diagrama de evaluación y revisión del funcionamiento (PERT
Chart EXPERT) actual a Microsoft Project, escoja el botón de barra de herramientas de
Goto Project como se ve en la figura.

287
Capítulo 8 Texto Guía – Sistemas de Ingeniería

Transferir un diagrama de evaluación y revisión del funcionamiento autónomo para


Microsoft Project significa que los datos que existen en el diagrama de evaluación y
revisión del funcionamiento serán apartados del diagrama de evaluación y revisión del
funcionamiento y puso en un plano de proyecto de Microsoft. El diagrama de evaluación y
revisión del funcionamiento entonces llega a ser asociado a este Microsoft Project planea.
Se impulsa para salvar el plano de Microsoft Project y usted debe entrar un nombre de
archivo para este Microsoft Project proponga continuar transfiriendo el diagrama de
evaluación y revisión del funcionamiento a Microsoft Project. Tendrá entonces dos
archivos; el archivo Microsoft Project que contiene los datos (la información quiera
nombres, empiezan fechas, terminan fechas, cuestan, etc.), y el archivo de diagrama de
evaluación y revisión del funcionamiento que contiene las opciones de formato que es de
mapa específico atrevido (tales como colores a la medida, colocación de caja, etc.).
Después de transferir los datos a Microsoft Project, el la próxima vez usted abre el
diagrama de evaluación y revisión del funcionamiento ello abre no solo el diagrama de
evaluación y revisión del funcionamiento con todo el formato sino también abren el archivo
Microsoft Project correspondiente al que es ahora asociado.
Puede abrir también el primero de plano de Microsoft Project y escoja el botón de
Goto pert chart EXPERT para abrir el diagrama de evaluación y revisión del
funcionamiento salvado correspondiente al plano de Microsoft Project.

288
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.15 Conclusiones
El PERT y CPM han sido aplicados a numerosos proyectos. Empezando con su
aplicación inicial al proyecto Polaris y al mantenimiento de plantas químicas, hoy ellos (y
sus variantes) se aplican a la construcción de carreteras y de edificios, y al desarrollo y
producción de artículos de alta tecnología tales como aviones, vehículos espaciales, barcos
y computadores.
El PERT se desarrolló para proyectos en donde hubiera incertidumbre en el tiempo
de las actividades (usualmente debido a que el proyecto nunca se había intentado antes y
por tanto no había bases de datos, para los tiempos de las actividades). Esto condujo al
enfoque probabilístico que se tomó. Mientras que en PERT los estimados de tiempo y sus
distribuciones han sido de controversia, el PERT ha constituido una herramienta útil para la
administración de proyectos. La principal desventaja es que no es funcional para grandes
proyectos, debido a los tres estimados de tiempo que se requieren en cada actividad y a la
capacidad limitada de los computadores actuales, para almacenar esta vasta cantidad de
datos. Además, el costo de actualizar y mantener la información del proyecto con el tiempo
en ambientes tan dinámicos, puede ser excesivamente prohibitivo.
Por otra parte, el CPM se desarrolló para manejar proyectos repetitivos o similares
(e.j., mantenimiento de plantas químicas). Obviamente, se gana gran cantidad de
experiencia con el tiempo en tales circunstancias, aun cuando dos proyectos puede que no
sean iguales. Esta experiencia llevó al análisis de técnicas de colisión utilizadas en los
diagramas CPM. Mientras que el CPM y PERT son esencialmente lo mismo, sus matices
hacen cada uno aplicable más que el otro en situaciones diferentes. En ambos métodos la
información esencial deseada es la ruta crítica y las holguras. Estas, le permiten al director
del proyecto hacer decisiones con base a información, basado en el principio de
administración por excepción, sobre los planes y proyectos del trabajo actual y monitorear
el progreso del proyecto.
8.16 Resumen
El PERT/CPM fue diseñado para proporcionar diversos elementos útiles de
información para los administradores del proyecto. Primero, el PERT/CPM expone la "ruta
crítica" de un proyecto. Estas son las actividades que limitan la duración del proyecto. En
otras palabras, para lograr que el proyecto se realice pronto, las actividades de la ruta crítica
deben realizarse pronto. Por otra parte, si una actividad de la ruta crítica se retarda, el
proyecto como un todo se retarda en la misma cantidad. Las actividades que no están en la
ruta crítica tienen una cierta cantidad de holgura; esto es, pueden empezarse más tarde, y
permitir que el proyecto como un todo se mantenga en programa. El PERT/CPM identifica
estas actividades y la cantidad de tiempo disponible para retardos

289
Capítulo 8 Texto Guía – Sistemas de Ingeniería

8.17 Problemas propuestos


1. Programación de actividades (Tiempo en días)

1 (6)
4
(5) (3) (2) (4)
(4) (0)

A (6) 3 (7) B

(7) (4) (2) (2)


(5)
2 5
Determinar la Ruta Crítica y las holguras libres y totales.
Determinar el diagrama de tiempos de A a B.
2. Programación de actividades
Actividad Precedencia Duración (días)
A→B — 1
A→C — 2
B→C A→B 1
B→D A→B 2
B→E A→B 5
C→F A → C, B → C 4
C→D A → C, B → C 1
C→E A → C, B → C 2
E→D B → E, C → E 3
E→F B → E, C → E 6
E→G B → E, C → E 8
D → F C → D, B → D, E → D 3
D → G C → D, B → D, E → D 7
F→H C → F, D → F, E → F 2
F→G C → F, D → F, E → F 5
G → H E → G, F → G, D → G 6
a) Hallar la ruta crítica por “CPM”
b) Hallar las holguras libres
c) ¿Que sucede si la actividad “D → F” se modifica a dos días de duración?

290
Capítulo 8 Texto Guía – Sistemas de Ingeniería

3. Antes de poder introducir un nuevo producto al mercado se deben realizar todas las
actividades que se muestran en la tabla (todos los tiempos están en semanas).
Se tiene la siguiente programación de actividades:

Optimista Más probable Pesimista


Actividad Predecesor
(a) (m) (b)
A - 2 6 10
B - 4 5 6
C A 2 3 4
D C 1 2 3
E A, D 1 3 5
F B 3 4 5
G E 2 4 6
H F, G 0 2 4
Determine la duración mínima del proyecto, la ruta crítica e interprete el tiempo de
holgura, realice un programa para determinar la duración mínima del proyecto. Por
último, suponga que hoy es 15 de julio y comienza el proyecto, determine la
probabilidad de que el proyecto esté listo para el 18 de diciembre
4. Suponga que Ud. desea construir una casa, y entonces contrata un constructor. Ud.
quiere saber si la casa podrá estar terminada dentro de 4 meses, y de acuerdo con
sus muchos años de experiencia el constructor le responde:
"Todo empieza con la limpieza del terreno, en eso se puede durar unos 2 días, luego
viene el trazado, que también puede durar otros dos días. Si todo sale bien cada una
de estas dos actividades las terminaría en un día, pero si no, podría retrasarme dos
días.
Luego viene la excavación, que puedo durar de 2 a 7 días, seguramente duro unos 4
días, para luego iniciar con los cimientos, que me demora unos 7 días, si el clima es
bueno, tal vez 4 días, pero si llueve duraría 12 días.
Cuando eso esté listo puedo empezar con el levantado de las paredes y las vigas,
para el tamaño de la casa que Ud. quiere, lo más probable es que se tarde 21 días,
eso está entre 18 a 30 días. Después vienen los techos, que duramos de 7 a 12 días,
unos 10 días mejor. Y es que hasta que esto no esté listo no puedo empezar con la
instalación eléctrica, ni los cielorrasos ni terminar los muros. En lo eléctrico se
duran 2 días, ahí no hay retraso. En los cielorrasos se tarda de 4 a 10 días, unos 6
para ser más preciso. Terminando los muros duro de 10, 11 o 12 días, no más,
porque los muros deben estar listos para chorrear los contrapisos, en eso se duran de
6 a 10 días, digamos que 8.
Y es que sino están listos no puedo poner los pisos, que es rápido, de 5 a 10 días,
unos 8.
Veamos, ¿qué falta? La carpintería, tienen que estar terminados los pisos y el cielo
raso, y en eso se me van unos 8 días siendo optimista, tal vez 10, en realidad no más
de 12. Para finalmente empezar a pintar, la parte de afuera se podía haber pintado
una vez que estuvieran listos los techos, pero adentro debe haberse finalizado toda
la carpintería y la electricidad. Cuando se termina de pintar, entonces queda la

291
Capítulo 8 Texto Guía – Sistemas de Ingeniería

limpieza final. En pintar adentro se gasta de 2 a 6 días, unos 4 en promedio, y afuera


igual. La limpieza tarda unos 3, o 4, o 5 días".
Con base en esa información:
a. Elabore una tabla en la que muestre la lista de actividades, sus tiempos y sus
precedencias.
b. Calcule el tiempo esperado y la variancia de cada actividad.
c. Construya el diagrama de actividades tipo CPM.
d. Calcule la ruta crítica.
e. ¿Cuántas semanas se dura construyendo la casa?
f. ¿Cuál es la probabilidad de terminar antes de 16 semanas, si se trabajan 5
días a la semana?
g. ¿Cuál es la probabilidad de durar más de 20 semanas?
h. ¿Valdrá la pena contratar obreros extra para pintar el exterior?
i. ¿Qué ocurre con el tiempo de terminación del proyecto si en la instalación
eléctrica se dura tres días más de lo previsto?
j. Si Ud. quiere terminar el proyecto una semana antes ¿Qué podría hacer?
¿Qué implicación tiene esa decisión?
8.18 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]
8.19 Enlaces
 http://www.elprisma.com/apuntes/ingenieria_industrial/cpmpert/default1.asp
 http://www.monografias.com/trabajos13/planeco/planeco.shtml#pl
 http://www.auladeeconomia.com/metcuant-practicas.htm#pertcpm
 http://www.auladeeconomia.com/metcuant-material.htm#pertcpm

292
Capítulo 9 Texto Guía – Sistemas de Ingeniería

CAPITULO 9
TUTORIAL DE MS PROJECT

9.1 Introducción - Definiciones iniciales.


Un proyecto siempre tiene una duración y un trabajo a realizar, pero, una planificación y
análisis previos son fundamentales, dado que el éxito de un proyecto no es algo que sucede
de modo espontáneo. Por lo tanto, lo primero y más importante es planificar: Crear un
plan de proyecto.
Añadir también que un proyecto utiliza un conjunto de recursos de diferentes naturalezas
que son utilizados para la consecución de una serie de tareas debidamente enlazadas,
concatenadas y/o quizás solapadas en el tiempo... Al final, se obtienen los objetivos fruto
del proyecto. El objetivo final de todo proyecto es un producto terminal obtenido, único y
de calidad.
En resumen, existen tareas a realizar y para realizar esas tareas se utilizan distintos recursos
que posibilitan su ejecución. Efectuadas las tareas, el objetivo del proyecto es el fin a
alcanzar con mayor o menor desviación respecto a lo planificado inicialmente.
Tarea: Actividad que tiene un comienzo y un final. Las tareas se solapan, se enlazan, se
concatenan en el tiempo hasta alcanzar una tras otra, la finalización del proyecto. Todo
proyecto esta compuesto por tareas. A lo largo del proyecto se pueden establecer unos
hitos.
Hito: Tarea de duración cero que sirve para evaluar objetivos parciales dentro del proyecto
antes de que éste concluya. Son como puntos de control o marcadores situados
estratégicamente en momentos importantes del proyecto.
Recurso: Conjunto de personas, equipamiento y materiales empleados en la realización de
las tareas.
Objetivo: Criterio cuantificable que debe cumplirse para que el proyecto se considere
concluido. Los criterios a cumplir pueden ser la calidad del producto, medidas de costo,
programación... Existen objetivos no cuantificables directamente tales como la satisfacción
del cliente.
9.2 Fases de un proyecto.
Todos los proyectos constan de cuatro fases principales:
1. Crear el plan (planificación).
2. Administrar el proyecto (desarrollar el proyecto introduciendo correctamente todos
los datos).
3. Realizar el seguimiento del proyecto (observar como marcha).
4. Cerrar el proyecto (terminarlo).
Aunque podríamos afirmar que "un proyecto es un evento o secuencia de eventos
planificados, con un objetivo marcado", la mayoría de los textos y libros experimentados
en esta materia y basados en las ideas del párrafo anterior, coinciden en que la definición de
proyecto es:
"Un esfuerzo temporal para la creación de un producto o servicio único".
Vamos a desgranar los conceptos fundamentales de dicha definición para irnos adentrando
en qué es y en qué consiste un proyecto:

293
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Se dice que un proyecto es Temporal porque tiene una duración determinada (una semana,
dos años...). El factor tiempo es muy importante en la gestión de proyectos. Para la
elaboración de un proyecto siempre se tendrá que fijar o bien una fecha de comienzo a
partir de la cual desarrollar el proyecto hasta alcanzar una fecha de finalización, o bien lo
contrario: Se fijará una fecha de terminación a partir de la cual y retrospectivamente (para
atrás) se vayan "retrocediendo" las tareas a realizar (con sus duraciones) hasta alcanzar la
fecha de comienzo. Los proyectos no son indefinidos, sino que tienen una fecha de
finalización y/o de inicio. El que exista una fecha de comienzo y una fecha de finalización,
es un factor que diferencia a los proyectos de las llamadas "operaciones en curso". Estas
suelen transcurrir de manera indefinida. Por ejemplo las actividades cotidianas de un
departamento de recursos humanos, de un departamento contable... Sin embargo el objetivo
de contratar a dos expertos en ventas puede constituir un proyecto ya que dichas personas
deberán estar contratadas para tal fecha.
En MS Project, la duración de las tareas se puede fijar en meses, semanas, días, horas o
minutos (las siglas respectivas son: ms, s, d, h, m).

Un proyecto conlleva también un Esfuerzo. Esto significa que para su consecución se


implican una serie de recursos (de personal, de equipamiento, de materiales generalmente)
que son los encargados de llevar a buen puerto el proyecto. Los recursos mencionados (los
que acabamos de nombrar) se engloban en los recursos de carácter de trabajo y/o recursos
materiales.
Los recursos de TRABAJO están conformados por:
1. Las personas que participan en el proyecto, ya tengan nombre y apellidos (por
ejemplo María Gil o Alberto Fernández).
2. Las personas identificadas por su puesto o cargo (por ejemplo gerente o bien jefe de
personal).
3. Grupos de profesionales identificados por su actividad (por ejemplo encofradores o
instaladores eléctricos).
4. Los recursos de equipamiento (por ejemplo una pala excavadora, una grúa, un
taladro...)
5. Las instalaciones (locales, salas de reunión, espacios de trabajo...) requeridas para
realizar las tareas.
Los recursos MATERIALES por su parte, son artículos de consumo que se agotan a
medida que avanza el proyecto. Están conformados por:
1. Los recursos materiales (por ejemplo el cemento, cable, clavos, paneles...)

294
Capítulo 9 Texto Guía – Sistemas de Ingeniería

En MS Project, la disponibilidad de algunos recursos debe ser considerada. Por ejemplo,


duración de las jornadas laborales, periodos vacacionales, horarios de acceso a
instalaciones, etc.
Cada proyecto crea un Producto o Servicio Único. Este es el objetivo de todo proyecto, la
razón de ser del proyecto.
De los productos obtenidos, se deriva la obtención de un beneficio adecuado.
Por otro lado, la Gestión de Proyectos consiste en el Estudio y Planificación de un
Proyecto en función de sus alcances, así como en el Control y Seguimiento del Proyecto
durante su realización. Estas gestiones van encaminadas a evitar desviaciones sobre los
objetivos planteados en dicho proyecto. A esto, a esta gestión de Proyectos nos ayuda
Microsoft Project.
9.3 Gestión de Proyectos con Microsoft Project.
Desde luego, todo proyecto se puede gestionar sin un programa informático. Sin duda, la
buena experiencia y saber hacer del Administrador del proyecto es quien aporta el
ingrediente más importante. La herramienta MS Project facilitará el modo de llevar a cabo
de manera CONJUNTA las siguientes acciones que bien podrían realizarse, pero
individualmente, con otros programas. MS Project es la solución ideal para la
administración de proyectos.
Entre muchas posibilidades de trabajo, MS Project nos permite:
• Planificar y programar tareas así como asignar recursos a dichas tareas de manera
adecuada y sencilla.
• Realizar un control, organización y seguimiento, así como coordinar toda la
información que conlleva los requisitos del proyecto, la duración y los recursos
asignados a las diferentes tareas.
• Visualizar el Plan de Proyecto en formatos estándar y con un diseño de diagramas
muy apropiados y fáciles de interpretar.
• Establecer escenarios dentro del proyecto para crear análisis de hipótesis.
Planteamientos del tipo "Que pasaría si..."
• Intercambiar información de proyecto con todos sus participantes a través de una
red local, Internet o de una Intranet.
Con MS Project, el Administrador del proyecto posee un control total del proyecto.

Información: Con Microsoft Office Project Standard 2003, podemos dominar con rapidez
el proceso de administración de proyectos mediante la Guía de proyectos. Se trata de una
ayuda interactiva paso a paso que nos ayuda a configurar proyectos (mediante asistentes),
administrar tareas y recursos, realizar un seguimiento de los procesos así como crear
informes a partir de la información de los proyectos.
La gestión de proyectos requiere la aplicación de una serie de técnicas, que a lo largo de los
años han ido surgiendo:
En 1.917 Henry L. Gantt desarrolla un sistema de representación gráfica donde se plasman
las tareas o actividades a realizar frente a una escala de tiempo (en MS Project, hoy se
denomina escala temporal). Hoy esta forma de representación la utiliza MS Project en su
vista denominada Diagrama de Gantt.
En 1.950 las empresas buscaban expertos capaces de coordinar las tareas y relacionarlas.

295
Capítulo 9 Texto Guía – Sistemas de Ingeniería

En 1.957 Surge el CPM (Critical Path Method) o método de ruta crítica que permite
calcular la duración de un proyecto en virtud de las tareas que lo componen y su
encadenamiento y/o simultaneidad (que varias tareas se pueden desarrollar al tiempo o bien
una cuando acabe la anterior...). Ese mismo año, el gobierno americano crea el diagrama
de Pert (Program Evaluation and Review Technique) que relaciona las tareas.
En 1.958, se demuestra la relación entre el diagrama de Pert y del CPM y bajo esta relación
se establece que cualquier modificación en la duración en una tarea situada la ruta crítica
repercute en la modificación de la fecha de terminación del proyecto. Mas tarde
detallaremos que es eso de la ruta crítica.
MS Project conjuga estas tres técnicas: Gantt, Pert y CPM en su forma de trabajar.
Como ya se ha comentado y para resumir, la planificación es el paso vital para que el
proyecto se desarrolle bien. Para ello, los pasos a seguir inicialmente, bien pueden ser los
siguientes:
1. Definir la lista de tareas e Hitos.
2. Estimar la duración de cada tarea.
3. Determinar las relaciones entre las tareas.
4. Construir la estructura de descomposición de trabajo (WBS).
5. Evaluación de los recursos del proyecto.
6. Asignación de recursos a las tareas.
7. Optimizar la estructura.
Con esta información, Microsoft Project crea una programación:
1.- Definir la lista de tareas e hitos. Consiste en acotar los trabajos a realizar. Para realizar
los trabajos se necesitan unos recursos. Las tareas habrá que definirlas como algo concreto
y no como algo general. Tendrán una descripción razonable (ni demasiado general ni
demasiado específica).
2.- Estimar la duración de cada tarea. Ya se ha comentado en este capítulo como estimar
la duración de las tareas. La duración de una tarea, es el periodo de tiempo entre la fecha de
comienzo de una tarea y su fecha de finalización. De la duración de las tareas, se derivará la
duración del proyecto.
Demoras.
Existen duraciones que pueden verse modificadas, es decir, que la fecha de
finalización de una tarea puede verse alterada. A esa alteración en la duración y calendario
de las tareas (fecha de comienzo y/o finalización de la tarea) se le denomina demora.
Cuando la fecha de comienzo de una tarea se pospone respecto a la prevista, se dice que
existe un retraso. Con MS Project, se pueden organizar y así como realizar un seguimiento
de las tareas de forma eficaz para evitar retrasos y no salirse del presupuesto. Existen por lo
tanto márgenes de demora dentro de los proyectos. Siempre debemos tener en cuenta la
máxima que dice: "Todo lo que pueda pasar... Va a pasar."
Margen de demora: Es la cantidad de tiempo que una tarea se puede posponer
respecto a la fecha inicial prevista, sin que ello afecte a las fechas de otra tarea o bien a la
fecha final del proyecto.
Si el margen de demora NO afecta a la duración de otras tareas, dicho margen de
demora se denomina margen de demora permisible (que no pasa nada si se da, se puede
permitir). Es, por lo tanto, la cantidad de tiempo que se puede posponer una tarea sin que
ello suponga un retraso en otras tareas.
Para conseguir esto, que una tarea no se vea afectada por una demora permisible de
otra tarea anterior, los plazos a los que están sujetos los vínculos, pueden ser adelantados

296
Capítulo 9 Texto Guía – Sistemas de Ingeniería

y/o retrasados o pospuestos, es decir, una tarea que debería comenzar al terminar la
predecesora, se puede adelantar y comenzar sin que haya terminado la anterior con lo cual
se produce un solapamiento que no incide negativamente en el desarrollo del proyecto.
Si el margen de demora NO afecta a la duración total del proyecto, dicho margen de
demora se denomina margen de demora total. Es la diferencia entre la fecha de comienzo
más tarde y la fecha de comienzo más pronto de una tarea. Por ejemplo, una tarea puede
comenzar entre tal y tal fecha. Ese es el margen. Pero si todas o varias de las tareas
comienzan en el umbral de sus fechas de más tarde, la fecha final del proyecto se verá
retrasada en consecuencia. Son demoras totales.
Existen tareas cuyo margen de demora tiene que ser cero, es decir que no admiten
demoras en absoluto ya que dichos márgenes incidirían en la duración final y total del
proyecto. Estas tareas definen lo que MS Project denomina RUTA CRÍTICA.
Las tareas que definen dicha ruta crítica se denominan TAREAS CRÍTICAS.
3.- Determinar las relaciones entre las tareas. Las tareas se tienen que ejecutar en un
determinado orden. Las tareas de un proyecto tienen que estar vinculadas entre ellas, es
decir, tienen que tener un vínculo. Los vínculos establecen relaciones de orden entre las
tareas. MS Project establece cuatro posibles tipos de vínculos entre las tareas:
• FIN A COMIENZO (FC): Cuando Finaliza la tarea predecesora, la tarea actual
Comienza (este tipo de vínculo es el mas común y el que MS Project establece de
forma predeterminada cuando se vinculan dos tareas).

• COMIENZO A COMIENZO (CC): Cuando Comienza una tarea, Comienza la tarea


actual.

297
Capítulo 9 Texto Guía – Sistemas de Ingeniería

• FIN A FIN (FF): Cuando Finaliza una tarea, Finaliza la tarea actual.

• COMIENZO A FIN (CF): Cuando Comienza una tarea, Finaliza la actual.

4.- Construir la estructura de descomposición de trabajo (WBS). Para que esta


estructura quede representada gráficamente MS Project dispone de la vista de diagrama de
PERT (además de otras vistas). Mediante este diagrama, las tareas se representan en
rectángulos relacionados mediante flechas de enlace que identifican las relaciones. En este

298
Capítulo 9 Texto Guía – Sistemas de Ingeniería

tipo de vista (diagrama de Pert), las tareas que constituyen la ruta crítica aparecen con un
formato diferente para destacar (generalmente en color rojo). Ver imagen:

5.- Evaluación de los recursos. Con que recursos se va a contar para llevar a cabo las
tareas. Identificar personas o grupos de personas, el equipamiento necesario para cada tarea
así como las instalaciones necesarias para la realización de cada tarea. También es posible
cuantificar económicamente cada uno de los recursos (cuanto cuesta cada uno), de querer
hacer un seguimiento económico y presupuestario del proyecto.
6.- Asignación de recursos a las tareas. Se trata de asociar a cada tarea los materiales,
personal y equipamiento de que se dispone, es decir los recursos anteriormente definidos.
7.- Optimizar la estructura. Para optimizar la estructura del proyecto, es preciso
determinar y modificar los márgenes de demora de las tareas, ¿existe flexibilidad de
plazos? ¿Mas de una tarea se puede solapar en el tiempo?, etc. De este modo, se mejora y
optimiza el proyecto.
9.4 Datos del proyecto
Consejo: Los siguientes apartados de este capítulo sería interesante recorrerlos sobre el
propio programa MS Project para tomar contacto poquito a poquito con los conceptos, los
menús, las pantallas y las opciones, aunque no es estrictamente necesario. Si algo no se
comprende o no damos con ello, es normal, todavía es pronto.
A nivel de administración con el programa MS Project, el guión de trabajo y acciones a
seguir bien podría ser el siguiente:
9.4.1 Datos generales del proyecto.
- Crear un archivo nuevo de proyecto: Tras ejecutar el programa MS Project, entraremos
directamente a:
Menú de Archivo - Nuevo o bien pulsando el botón de nuevo proyecto. .
Inmediatamente, para que el proyecto tenga nombre y ubicación, desde el principio
conviene guardarlo.
Guardarlo con un nombre de archivo (la extensión para todos los archivos de proyecto va a
ser *.mpp cuyas siglas vienen de "Proyecto de Microsoft Project").
En este caso el archivo se llamará Tienda Calahorra.mpp.
A continuación y desde Menú de Archivo - Propiedades (del archivo): Se introduce
información acerca del proyecto, por ejemplo, las personas que lo administrarán y que se
encargarán del mantenimiento del archivo de proyecto, el objetivo del proyecto, las
limitaciones que pueden dificultar el logro de ese objetivo y otras notas de tipo general
relativas al proyecto (las que se quieran).

299
Capítulo 9 Texto Guía – Sistemas de Ingeniería

- Definir la fecha de comienzo o bien la fecha de finalización: Desde el Menú de


Proyecto - Información del proyecto.

- Establecer el calendario de trabajo: Especificar los días laborables (L a V) y horario


laboral (de 8:00 a.m. a 5:00 p.m., con una hora de descanso para el almuerzo) para cada uno
de los participantes. Se pueden marcar periodos no laborables como fiestas, periodos
vacacionales...
Esto se hace desde el Menú Ver - Diagrama de Gantt - Herramientas - Cambiar calendario
laboral.

9.4.2 Tareas.
- Introducir las tareas y sus duraciones: Menú de Ver - Diagrama de Gantt. En la tabla
izquierda, introducir las tareas en secuencia y hacia abajo. En principio la duración de cada
tarea es de un día. MS Project lo representa con un 1?
Para las duraciones, escribir la cantidad de tiempo que llevará cada tarea expresándola en
meses, semanas, días, horas o minutos, sin contar los períodos no laborables. Podemos
utilizar las abreviaturas siguientes:
Meses = ms, semanas = s, días = d, horas = h, minutos = m. Si la duración es estimada (no
definitiva) se acompaña del signo de interrogación (? -el derecho, el que se utiliza en
inglés). Por ejemplo 3d? representa una duración estimada de 3 días.
Recordemos: La duración, es el periodo total de trabajo activo necesario para completar
una tarea. Generalmente es el periodo de tiempo de trabajo desde el comienzo hasta el final
de una tarea, según se defina en el calendario del proyecto y en el calendario de recursos (a
un recurso se le puede asociar un calendario diferente del general como caso excepcional).
Otro concepto bien distinto es la duración transcurrida que es el periodo de tiempo
necesario para completar una tarea, tomando como base una jornada de 24 horas, es decir
todo el tiempo (día y noche), y una semana de 7 días, incluyendo, domingos, festivos así
como otros días no laborables. Por ejemplo el tiempo de fraguado de un hormigón para el
suelo de una obra puede ser considerado en sábado, domingo... Si necesita de 3 días, no es
preciso que esos días sean laborables. El tiempo asignado a esa tarea será por lo tanto
cifrado en un periodo de tiempo transcurrido. Las siglas utilizadas para especificar los
periodos de tiempo transcurrido asociados a las tareas terminan con la letra t. Así por

300
Capítulo 9 Texto Guía – Sistemas de Ingeniería

ejemplo si una tarea es "fraguado del suelo" su duración será de 3dt.


- Crear los hitos: Se tratan de tareas estratégicas que suponen unas marcas importantes en
las fases y evolución del proyecto. Son tareas que tienen una duración cero, es decir 0d
(cero días). También es posible que una tarea de duración determinada la podamos, desde
sus propiedades, y la solapa de avanzado, marcar como hito (Marcar la tarea como hito).
Los hitos se representan mediante rombos negros en la vista del diagrama de Gantt.
Posteriormente va a ser posible visualizar todas las tareas o bien simplemente los hitos
realizando filtros que solo nos permiten ver del proyecto ciertos elementos que en un
momento merecen un estudio separadas del resto.

Filtro: Mecanismo que permite visualizar solamente ciertos elementos del proyecto
permitiendo al usuario hacer un estudio minucioso de ciertas partes del mismo
desenfocando o no visualizando el resto. Para los usuarios que hayan manejado Microsoft
Excel o Microsoft Access decir que el sistema de filtros es similar al que utilizan estos
programas, solo que, ahora, aplicados a los elementos propios de un proyecto. Por ejemplo:
Deseamos visualizar solamente en la ruta de tareas de un proyecto, las que constituyen los
hitos.
- Crear tareas repetitivas: Una tarea repetitiva es aquella que acontece con cierta
periodicidad en el proyecto, que se repite cronológicamente (en el tiempo). Por ejemplo,
todos los lunes, reunión en la sala de juntas para evaluar la marcha del proyecto. Se
especifica el día para dicha tarea y, o bien cuantas veces se repite o bien hasta cuando dura.
Situándonos en nombre de tarea (por ejemplo en vista diagrama de Gantt) Menú de Insertar
- Tarea repetitiva - Duración - Patrón de repetición (Diariamente, Semanalmente,
Mensualmente o Anualmente) - Terminar (después de cuantas veces o bien en una fecha
dada). Las tareas repetitivas se pueden desplegar desde un signo + como en el caso de las
carpetas de Windows.
- Estructuración de tareas: Consiste en tabular unas tareas respecto a otras para definir
una estructura de tareas y subtareas de cara a una mejor visión del trabajo. Viéndolas en
jerarquía, se comprende mejor el proyecto. Es, por comparar, como una estructura de
carpetas en el disco duro de un ordenador todas en el mismo nivel o bien creando unas
dentro de otras y definiendo así una estructura de ordenación mas esquemática y
comprensible para quien las maneja.
Desde la barra de herramientas (también llamada barra e botones) de Formato, esta
estructuración de tareas y subtareas la podemos diseñar mediante los botones de
.

- Modificar la lista de tareas: En un proyecto, es posible modificar el orden de las tareas


ya que los procesos de Copiar, Cortar y Pegar están admitidos para el manejo de las tareas.

301
Capítulo 9 Texto Guía – Sistemas de Ingeniería

9.4.3 Programación de tareas.


- Programación de tareas. Dependencias. Vínculos entre tareas: Cuando se tiene la lista
de tareas ya debidamente estructurada, es preciso especificar los vínculos entre ellas, es
decir sus dependencias entre tareas: Cuándo comienza una tarea respecto a su predecesora...
Cuándo se vinculan tareas... Si la duración de una de ellas cambia, se deberán reprogramar
las fechas de las demás tareas que la sucedan (tareas sucesoras).
- Establecer relaciones entre tareas: Por defecto MS Project define entre tareas el vínculo
o relación de fin a comienzo FC (que es la mas habitual). Esto ya se ha comentado en este
capítulo.
En vista diagrama de Gantt - Seleccionar las dos tareas a relacionar - Vincular tareas.
La operación de vincular tareas se realiza mediante el botón de la barra de herramientas
estándar .

En la línea negra con flecha que vincula las tareas se puede hacer doble clic para modificar
el tipo de relación a cualquiera de las ya explicadas en este capítulo y que de nuevo se
resumen en el siguiente cuadro para sellar conceptos:

Lo mismo que para establecer vínculos existe un botón, existe otro botón que permite
desvincular tareas: Desvincular tareas .
En un proyecto, es muy frecuente tener que modificar los plazos de las tareas y tener que
reprogramar. En ocasiones aparecen las llamadas delimitaciones. Las delimitaciones son

302
Capítulo 9 Texto Guía – Sistemas de Ingeniería

restricciones que se fijan respecto a cuando tiene que comenzar una tarea o bien para
cuando tiene que estar concluida. (Por ejemplo, la tarea estará concluida para antes de tal
fecha o bien para tal fecha).
Siempre que se une una tarea a un proyecto, MS Project le asocia una delimitación por
defecto. Si la fecha del proyecto ha sido programada a partir de una fecha de comienzo, la
delimitación para las tareas es que comiencen lo antes posible (LAP). En el caso de que el
proyecto esté programado a partir de una fecha de finalización, al insertar una tarea, de
forma predeterminada, esa tarea va a tener la delimitación de que comience lo mas tarde
posible (LMTP). Otras delimitaciones que se pueden adjudicar a una tarea son las
siguientes:
- NFDD: No finalizar después del...
- NCDD: No comenzar después del...
- Superponer tareas o agregar tiempo de posposición entre ellas: Después de
especificada la secuencia de tareas, es posible que indiquemos retrasos o posposiciones en
la fecha de comienzo de alguna de ellas.
Se denomina tiempo de posposición al periodo de tiempo que se define entre dos tareas
vinculadas.
Por ejemplo: Si entre 2 tareas con una vinculación del tipo FC (fin a comienzo)
establecemos una posposición de 2 días, esto significará que la segunda de esas dos tareas
comenzará 2 días mas tarde de que finalice la primera de ellas. Estos tiempos de
posposición, en principio, son valores siempre positivos. Sin embargo si la relación entre
dos tareas es de FC pero la segunda tarea, la sucesora, puede comenzar unos días antes, se
va a producir un solapamiento en el tiempo con la tarea predecesora. Esto se indica en MS
Project como una posposición de valor negativo. A esto se le denomina tiempo de
adelanto.
Los tiempos de posposición o de adelanto se pueden especificar como valores absolutos o
bien como valores porcentuales de la duración de la tarea en la ficha predecesora de
propiedades de la tarea.
- Establecer fechas fijas para el comienzo o final de una tarea: Cuando se desea,
independientemente de las relaciones entre las tareas, que una de ellas comience en una
determinada fecha, se dice que aparece una restricción o delimitación inflexible.
¿Como se indica?: Para una tarea - Información de la tarea - solapa avanzado - Tipo de
delimitación - Fecha de delimitación. También desde el botón de información de la tarea.
.
- Dividir tareas: En ocasiones una tarea es preciso interrumpirla para acometer otras tareas
con lo cual, queda en la primera una especie de laguna o interrupción. Queda dividida para
ser continuada mas tarde. Generalmente estas divisiones de deben a causas imprevistas
como por ejemplo la enfermedad de un trabajador para el que no se dispone de sustituto.

303
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Si mediante arrastres reducimos la división hasta "cerrarla", habremos eliminado esa


división.
Por lo tanto y como resumen, quedémonos con estos tres botones: .
9.4.4 Asignar recursos.
Es interesante asignar recursos cuando se quiere controlar como intervienen las personas, el
equipamiento, y/o los materiales en las diversas tareas del proyecto. Si además, a los
recursos les asignamos unos costos, desde MS Project se podrá hacer un seguimiento mas
detallado de todo, a niveles económicos.
Si por parte del administrador del proyecto no se introduce información de costos sobre los
recursos, MS Project solo considerará las duraciones de las fases del proyecto, basadas en
las dependencias entre las tareas.
Se irán introduciendo los recursos en la tabla de recursos: Menú de Ver - Hoja de recursos.
Ver - Tabla - Entrada. A continuación se asigna a cada recurso su tipo según ya se ha
comentado (material o trabajo).
De cara a poder filtrar (aplicar filtros) posteriormente las tareas que pertenecen a un
determinado aspecto, se pueden definir grupos de recursos, aunque a las tareas se asocian
recursos y no grupos de recursos.
Recordemos: Podemos definir grupos de recursos pero a las tareas se les asocian recursos.
En cuanto a los calendarios, en principio todos los recursos se acogen al calendario general
establecido para todo el proyecto, sin embargo, es posible, en la información de los
recursos (de cada recurso) asociar un calendario especial asociado a un recurso por si un
determinado recurso no va a estar disponible unos días o bien si lo estará en festivos...
1.- En el Menú Ver - Hoja de recursos - y seleccionamos el recurso cuyo calendario
deseamos modificar.
2.- En el Menú Proyecto - Información del recurso - ficha Horario del trabajo.
3.- En el calendario deberemos señalar los días que se desean modificar.
4.- Después, elegiremos o bien Predeterminadas, Periodo no laborable o bien Periodo
laborable no predeterminado. (eligiendo predeterminadas, se asume el calendario estándar
de MS Project que fue establecido al principio del todo).
Información: En cuanto a calendarios, es posible desde el Menú Herramientas de MS
Project definir unos nuevos calendarios base con sus horarios y un nombre (diferentes
calendarios cada uno con sus franjas horarias, etc. y cada uno con su nombre), de este
modo, si varios recursos se acogen a uno de esos calendarios, bastará con asociar esos
recursos a ese calendario base.

304
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Para asignar los recursos a las tareas, estando en la vista de diagrama de Gantt, se
selecciona una tarea y se le asignan los recursos correspondientes teniendo en cuenta que a
una tarea se la puede asignar mas de un recurso. En este caso, se seleccionarían varios
mediante los métodos de selección que conocemos (los propios de Windows utilizando las
teclas del teclado Control y Mayús).
Para asignar recursos tenemos el botón: Asignar recursos .
A los recursos se les asigna un trabajo que realizan y ese trabajo, se expresa en unidades
porcentuales. Un 100% significa que ese recurso se involucra a jornada completa en el
proyecto y en esa tarea concreta.
- Duración de las tareas: Una tarea tiene una duración establecida inicialmente en la tabla
de tareas. Si a una tarea se le asocian mas recursos para su ejecución, MS Project,
automáticamente le reduce la duración.
Por ejemplo: Si a una tarea se le asigna un recurso que resuelve un trabajo al 100% (por
ejemplo un fontanero que trabaja a jornada completa, es decir las 8 horas diarias), si la
duración estipulada para la tarea es de 2 días, y si la jornada laboral es de 8 horas diarias, al
asignarle ese recurso dicha tarea se realizará en 2 días (8 horas X 2 días = 16 horas). Hasta
aquí normal.
Pero si además de ese recurso se le asigna después otro recurso igual (o sea 2 fontaneros a
jornada completa), la tarea se llevaría a cabo en la mitad de
tiempo, es decir en un día. Requeriría 2 recursos de a 8
horas: 16 horas sí, pero la duración de la tarea se reduciría a
1 día. Esto sucede porque predeterminadamente, MS
Project para cada tarea, en sus propiedades, tiene marcada una casilla de verificación
denominada Programación condicionada por el esfuerzo. Si se desmarca esa casilla, la
duración de la tarea del ejemplo seguiría siendo de 2 días pese a tener el doble de recursos
para efectuarse.
Esta opción se encuentra en Información de la tarea, solapa Avanzado .
Nota: Si se desea que para todas las nuevas tareas que se definan en el proyecto a partir de
un determinado momento se desea tener esa opción desactivada, desde el lugar desde donde
se configuran todos los productos Microsoft, es decir, desde Menú Herramientas -
Opciones, acudiremos a la solapa Programación y desactivaremos esta casilla, así, las
nuevas tareas no estarán condicionadas por el esfuerzo
(inicialmente está activada).
- Comprobación y modificación de las asignaciones de los recursos.
Desde el Menú desplegable Ver - Uso de recursos podremos ver las asignaciones de
recursos a tareas así como comprobar la sobre asignación de recursos. Si el nombre del
recurso aparece en rojo es que se encuentra sobre asignado. Es muy conveniente revisar
esas asignaciones.

305
Capítulo 9 Texto Guía – Sistemas de Ingeniería

9.5 Costos con Ms Project


9.5.1 Costos.
Si se desea hacer un seguimiento económico de cara a saber si el proyecto se ajusta a un
presupuesto fijado para su ejecución, deberemos asociar costos mediante unas tasas a cada
uno de los recursos implicados (a su trabajo). De esta forma, las tareas se cuantifican
económicamente y en consecuencia se puede saber cuanto cuesta cada tarea y en definitiva
todo el proyecto, se podrán calcular desviaciones respecto al presupuesto inicial... Desde
luego, es posible no asociar costos en un proyecto, pero en ese caso no podrá hacerse,
como es lógico, un seguimiento económico del mismo.
MS Project permite asociar tasas a los recursos tanto de trabajo como materiales. Las tasas
pueden ser de tipo estándar, de horas extras o tasas por uso. La tasa de horas extra no está
disponible para los recursos materiales. Para los recursos de trabajo, los tres tipos de tasa
están disponibles.
Desde el Menú de Ver - Hoja de recursos - (para introducir un nuevo recurso, ubicarse en la
columna Nombre del recurso en la fila correspondiente al nuevo recurso y escribir el
nombre para ese recurso. Luego, asociar el tipo de recurso: Trabajo o material)

.
Nota: Si se desea que para todos los nuevos recursos de tipo general o de horas extra las
tasas sean unas predeterminadas, desde el lugar desde donde se configuran todos los
productos Microsoft, es decir desde Menú Herramientas - Opciones, acudiremos a la solapa
General y desde ese lugar especificaremos las tasas (la estándar predeterminada y la
predeterminada para horas extras). Para concluir las predeterminaremos desde el botón
correspondiente de Predeterminar.
Para los recursos de tipo material, se deberá especificar una etiqueta (siglas que identifican
ese material), una unidad de medida (Tonelada, docena, metro lineal...) así como la tasa
correspondiente.
- Costos fijos.
Existen algunas tareas que presentan siempre un costo fijo, como por ejemplo los de
equipamiento o una subcontrata a destajo (se paga tanto por hacer una tarea de forma
cerrada y fija).
- Acumulación de costos.
En Microsoft Project, los costos de recursos se prorratean de forma predeterminada. Su
acumulación se distribuye a lo largo de la duración. Sin embargo, puede cambiar el método
de acumulación para que los costos de recursos tengan efecto o bien al comienzo o bien al
final de la tarea.
Menú Ver - Hoja de recursos - cuando estamos viendo los recursos en forma de tabla (Ver -
Tabla) - Acumular.
Nota: Las tasas se asocian a los recursos y los costos fijos a las tareas.
- Estudio de costos.
Ver - Hoja de recursos - Tabla de costos.
Se pueden mostrar hojas de costos, costos acumulados, gráficas de recursos...
En el Menú de Proyecto - Información del proyecto - Estadísticas - Costo actual. Se pueden
comparar el campo previsto y el campo real para ver las diferencias entre lo previsto y lo

306
Capítulo 9 Texto Guía – Sistemas de Ingeniería

que realmente acontece en el aspecto económico en un determinado momento del proyecto,


es decir si se ajuntan a las previsiones.
También desde ese punto, se pueden comparar los valores del campo actual y el campo
restante, de ese modo se podrá comprobar si se dispone de liquidez para acometer el resto
del proyecto hasta el final del mismo.
9.6 Revisión del proyecto.
Después de introducidas las tareas, de haber sido relacionadas unas con otras y engarzadas
en el tiempo, después de haber introducido los recursos y de haber asignado a éstos los
costos correspondientes, es necesario revisar si por ejemplo los plazos están bien definidos.
Revisar el proyecto para cada uno de los momentos estratégicos llamados hitos. Si la fecha
final del proyecto se ajusta a la real. Recorriendo las diversas vistas que MS Project
proporciona, revisaremos las tareas y los recursos desde sus tablas correspondientes. Se
hará un seguimiento de la ruta crítica...
Podemos obtener información general acerca de las fechas de comienzo y final del proyecto
y ver cuándo se realizarán las fases principales, acercando y alejando el Diagrama de Gantt
mediante los zooms.
Menú Ver - Diagrama de Gantt // Menú Ver - Zoom.
También se puede ajustar el zoom desde los botones correspondientes de acercar o alejar.
.
Revisar, tras modificar los parámetros del proyecto, las fechas de inicio y finalización es
muy conveniente.
Menú Proyecto - Información del proyecto - Estadísticas.
Aparecen las fechas de comienzo y fin del proyecto, así como el trabajo y el costo total.
- Identificar la ruta crítica.
Como ya se ha comentado, la ruta crítica es la marcada por aquellas tareas cuya
modificación en su duración (recordemos que pueden existir demoras) afecta directamente
sobre la fecha de finalización del proyecto. Es importante mimar el seguimiento de estas
tareas y para ello MS Project cuenta con la posibilidad de realizar un filtrado de tal manera
que solamente se vean como protagonistas dichas tareas:
Menú Ver - Diagrama de Gantt. La ruta crítica se manifiesta como unas tareas con un
formato diferente. Dicho formato se puede modificar mediante el asistente para diagramas
de Gantt que tiene el programa MS Project. Asistente para diagramas de Gantt .
Los filtros de establecen desde el Menú de Proyecto - Filtro para - Tareas críticas.
- Utilizar las vistas diferentes.
- Personalizar las vistas.
Esto es posible desde Menú Ver - Vistas - Mas vistas así como Menú de Ver - Tabla - Mas
tablas.
- Filtrado de información.
Si deseamos concentrarnos únicamente en determinadas tareas o recursos de la vista activa,
podemos aplicar un filtro a dicha vista. Podemos especificar que el filtro muestre o resalte
sólo aquellas tareas o recursos que cumplan los criterios que establezcamos.
Nota: No se pueden aplicar filtros de tareas a vistas de recursos o aplicar filtros de recursos
a vistas de tareas. Existen Autofiltros que mediante unos triangulitos a la derecha de cada
titulo de campo nos permiten establecer las condiciones o criterios "in situ" de forma
cómoda. Igual que en Access o Excel (si se conocen).

307
Capítulo 9 Texto Guía – Sistemas de Ingeniería

- Ordenación de los datos.


Desde el Menú de Proyecto - Ordenar - Ordenar por.
Existen múltiples posibilidades de ordenación que serán estudiadas a fondo en el capítulo
correspondiente de este curso.
9.7 Introducción a Microsoft Project 2003
La nueva familia de productos Microsoft Office Project 2003 incluye los programas
fundamentales para cubrir necesidades de trabajo que van desde un entorno monousuario
desde el que planificar los proyectos, hasta un entorno de trabajo basado en intranets donde
se comparten las informaciones entre un equipo de personas colaboradoras.
Los productos de Microsoft Office Project 2003, son los siguientes:
- Project Standard 2003 es la nueva versión del programa central de administración de
proyectos de Microsoft. Dispone de herramientas conocidas y sencillas de utilizar. Project
Standard nos permite administrar proyectos de forma independiente en el escritorio de un
entorno monousuario. Con Project Standard, podemos planear, administrar y comunicar
información de los proyectos, si cabe, con más eficacia que antes.
- Project Professional 2003 (con el que vamos a desarrollar este curso), Project Server
2003 y Project Web Access están diseñados para trabajar conjuntamente para formar la
solución de Microsoft para la Administración de proyectos empresariales (EPM, Enterprise
Project Management). Esta solución permite que las organizaciones sincronicen y
compartan las iniciativas empresariales, proyectos y recursos para obtener mejores
resultados empresariales.
Mediante las flexibles capacidades de informes y análisis de la solución EPM, las empresas
disponen de información sobre la que se puede actuar para ayudar a optimizar los recursos,
asignar prioridad al trabajo y alinear los proyectos como una cartera con los objetivos
generales de la empresa.
En este capítulo tomaremos contacto con las principales pantallas de MS Project (a partir de
ahora nos referiremos de este modo a MS Project Professional 2003), así como con sus
diferentes elementos. Nos familiarizaremos con sus vistas principales y sus barras de
herramientas. Aprenderemos a desenvolvernos con el entorno y tomar confianza con este,
para algunos, nuevo programa.
9.8 Generalidades.
Una vez conocidos los términos y posibilidades que este programa pone a nuestro alcance
como administradores de proyectos, es el momento de conocer de cerca sus pantallas, su
aspecto (también llamado interfaz), sus barras de botones, etc. Como ya hemos comentado,
la filosofía de trabajo y ubicación de las operaciones generales a lo largo de los menús
desplegables, se mantiene como en el resto de los productos Microsoft.
La versión con la que vamos a realizar este curso es la del reciente MS Project 2003 pero la
compatibilidad con las versiones anteriores, de no disponer de la versión 2003, es
prácticamente total. No existe, por lo tanto, inconveniente en poder seguir este curso si
disponemos de otras versiones anteriores tales como MS Project 2000 o bien MS Project
98. La forma de trabajar es, afortunadamente para nosotros, idéntica. Ánimo por lo tanto.
El programa MS Project se instala desde el CD correspondiente, ahora como producto
integrado en el conjunto de aplicaciones informáticas de oficina Microsoft Office Project
2003.

308
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Es posible tener instaladas simultáneamente dos versiones diferentes del programa en el


disco duro del ordenador, evidentemente en carpetas distintas. Es en el proceso de
instalación donde se decide en que carpeta ubicarlo. Veamos:
En el caso de la instalación de MS Project 2003, la ubicación, por ejemplo, es la carpeta
señalada en Dirección (de la siguiente imagen), y el archivo principal del programa se
llama WINPROJ.EXE. Es el que aparece en segundo lugar en la siguiente pantalla (a la
derecha). La vista corresponde al Explorador de Windows.

En el caso de que la instalación sea de MS Project versión 2000, la ubicación por ejemplo,
es la carpeta señalada en Dirección, y el archivo principal del programa es en este caso
WINPROJ.EXE que aparece en primer lugar en la lista de archivos de la siguiente pantalla
(a la derecha):

Después de la instalación, aparecen en el escritorio los iconos de nos proporcionan acceso


directo al programa:

9.9 El entorno de trabajo.


Cuando ejecutamos el programa mediante un doble clic en el acceso directo del escritorio,
y tras aparecer en pantalla unos instantes el logotipo de Project Professional 2003
"aterrizamos" en la pantalla principal del programa. Para salir del mismo deberemos hacer
un clic sobre la X de la ventana más exterior (arriba del todo a la derecha) o bien pulsando
sobre la opción Salir del menú de Archivo (Menú Archivo - Salir).
Inmediatamente nos encontramos con el entorno de trabajo de MS Project: Su pantalla
principal. Una buena opción, para empezar, puede ser cerrar el panel de tareas Inicio
como indica la siguiente figura:

309
Capítulo 9 Texto Guía – Sistemas de Ingeniería

El que dicho panel aparezca o no aparezca al comienzo de la sesión es responsabilidad de la


casilla de verificación que se encuentra tras el Menú de Herramientas - Opciones (desde
donde se configuran todos los productos Microsoft), solapa General:

¿Por qué cerrarlo? Porque ofrece posibilidades tales como acceder a la ayuda on-line (si
estamos con conexión permanente a Internet) sobre el programa, buscar ayuda sobre el
tema que tecleemos en el panel de buscar que presenta, o bien abrir alguno de los archivos
de proyecto recientemente utilizados, o bien crear un proyecto nuevo:

Estas últimas opciones, las podremos realizar desde el Menú desplegable de Archivo -
Abrir.

Por lo tanto, para no "comer pantalla" es aconsejable cerrar este panel.


Información: En las nuevas versiones de las aplicaciones Microsoft, los menús
desplegables (a no ser que configuremos lo contrario desde Menú Ver - Barras de
Herramientas - Personalizar - Solapa Opciones) solo muestran las opciones mas utilizadas
del menú (las mas recientemente usadas), no desplegando el menú con todos los elementos
disponibles. Esto puede, en un primer despliegue de los menús, desorientar. Pues bien,
haciendo doble clic en el título del menú (por ejemplo en Herramientas, arriba)
conseguimos que el menú se despliegue por completo. De este modo no es preciso tener
que esperar unos segundos con el puntero posicionado sobre la doble flechita que aparece
como última opción del menú resumido que surge inicialmente.

310
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Una vez cerrado el Panel de Tareas Inicio , es aconsejable


visualizar en el lateral izquierdo de la pantalla de MS Project la barra de vistas. Se trata de
una franja vertical en el borde izquierdo de la pantalla en la que mediante iconos es sencillo
cambiar el modo en que se ven las informaciones que brinda el programa.
La barra de vistas se visualiza o no visualiza cambiando el estado de la opción siguiente:
Menú Ver - Barra de vistas: . Si se encuentra marcada es que se está
visualizando dicha barra.
Vamos a realizar una breve descripción de las partes principales de la pantalla inicial de
MS Project. La pantalla mostrada debería ser la inicial que se recomienda tener al comienzo
de una sesión de trabajo:

9.9.1 Barra de título.


La barra de título, es como para cualquier programa, la que presenta el nombre del
programa así como el nombre del archivo actual de trabajo. Cuando el usuario aún no ha
guardado con ningún nombre un archivo de proyecto, el nombre por defecto que se le
asigna es Project1 (recordemos que en Word es Documento1, que en Excel es Libro1...).
De desear archivar el proyecto con ese u otro nombre en la carpeta deseada de la unidad de
disco deseada, el propio programa le adjudica la extensión .MPP (Microsoft Project
Proyecto). Así por ejemplo "Mi proyecto1.mpp" es un nombre correcto de archivo de
proyecto creado con MS Project.
A la derecha de la barra de titulo disponemos de los botones de minimizar, restaurar y
cerrar el programa respectivamente , acciones que también podemos efectuar desde
el menú de control que se despliega haciendo clic en el botón de control que está a la
izquierda del todo de la barra de título .
Información: De desear almacenar un archivo como plantilla (con la misma idea de
plantillas que en el resto de las aplicaciones Microsoft), la extensión adjudicada será .MPT

311
Capítulo 9 Texto Guía – Sistemas de Ingeniería

(Microsoft Project Template) -Template significa plantilla en inglés-. En este caso, la


carpeta por defecto para archivar la plantilla de proyecto será la carpeta Plantillas de
Microsoft Office y dependiendo de la versión de MS Project, la ruta en el disco duro será
una u otra. En el caso de la versión 2003 la ruta para la carpeta plantillas es la siguiente
para un usuario llamado Luís (sesión de Windows iniciada para el usuario Luís):

9.9.2 Barra de menús y menús contextuales.

La barra de menús desplegables es desde la cual, desplegando sus menús mediante clic o
doble clic, disponemos de todas las opciones y posibilidades del programa.
La sintaxis de los menús de MS Project es la siguiente:
Menú con clic de punta de flecha hacia la izquierda. Al hacer un clic sobre una opción se
desplegará el menú de Project .
Opción de menú con puntos suspensivos. Al hacer un clic sobre esta opción aparecerá un
cuadro de diálogo en el que es posible llevar a cabo distintas operaciones
. (Los puntos suspensivos significan que hay algo mas...)
Opciones sin puntos suspensivos. Al hacer un clic sobre esta opción se llevará a cabo la
operación concreta. .
Opciones con una ventana izquierda sensible. En este caso el usuario puede hacer un clic en
la casilla a la izquierda de la opción y activarla o desactivarla. Una opción activada tiene un
símbolo de verificado .
Opciones con triangulito por la derecha. Son opciones que al elegirlas ofrecen otro
submenú .
El método más rápido para acceder a los menús de MS Project es hacer un clic con el ratón
sobre las distintas opciones. Si en algún caso se desea activar una opción del menú
utilizando el teclado se deben pulsar simultáneamente las teclas ALT y la letra subrayada
del menú al cual se quiere acceder. Si queremos, por ejemplo, acceder al menú de Ver
bastará con pulsar simultáneamente la tecla ALT y la tecla V. Esto lo representaremos
desde ahora con ALT+V.
Otro método para acceder a los menús desde el teclado es activar la barra de menús
pulsando la tecla de función F10 (del teclado del ordenador) y desplazarse por ellos
mediante la flechas de movimiento (también del teclado del ordenador), para acceder a una
de las opciones pulsaremos la tecla ENTER cuando estemos sobre la opción.
Menús contextuales. Los menús contextuales o rápidos aparecen al pulsar el botón
derecho del ratón en un lugar de la pantalla. Dependiendo de la posición del puntero del
ratón, el menú contendrá unas opciones u otras. Se podría decir que el menú contextual
tiene las opciones que se pueden aplicar sobre el objeto o lugar en que nos encontramos.
A la derecha de la barra de menús, aparece un pequeño panel (que muestra el mensaje:
"Escriba una pregunta" en gris) que nos permite escribir alguna pregunta sobre el programa

312
Capítulo 9 Texto Guía – Sistemas de Ingeniería

en caso de dudas. Esto enlazará con la ayuda del programa para tratar de responder a dicha
pregunta. A la derecha del todo de la barra de menús, otro botón de cerrar sirve para cerrar
el proyecto con el que estemos trabajando ahora (documento actual). Pero, de hacer esto,
nos quedaríamos dentro del programa: Cerramos al documento pero no el programa.
Es el botón de cerrar de arriba del todo a la derecha (como hemos visto) el que cierra el
programa MS Project. Por lo tanto uno cierra el programa (el de arriba del todo) y el otro
cierra el proyecto vigente o actual dentro del programa.
Los menús desplegables de MS Project son los siguientes:
- Menú de Archivo: Contiene las acciones a realizar con el proyecto en uso (los proyectos
se almacenan en disco como archivos. Cada proyecto será un archivo). Abrir un proyecto,
guardar el proyecto actual, imprimirlo, enviarlo por correo electrónico a un destinatario,
propiedades del proyecto en uso...
- Menú de Edición: Operaciones tales como cortar, copiar, pegar, pegados especiales,
buscar, ir a, reemplazar, vincular y desvincular tareas, dividir tareas...
- Menú de Ver: Permite cambiar las vistas (cosa que también se puede hacer desde la barra
de vistas de la izquierda -de tenerla mostrada-), manejo y personalización de barras de
herramientas, encabezados y pies de cara a imprimir, por ejemplo un diagrama de Gantt,
cambiar los zooms...
- Menú de Insertar: Desde él insertaremos tareas, recursos, tareas repetitivas (que se
repiten a intervalos de tiempo regulares), insertaremos un proyecto dentro del actual (con
vinculación o sin vinculación ) reorganizándose todo el proyecto,
permite insertar objetos varios, hipervínculos, columnas en la hoja de la vista actual...
- Menú de Formato: Operaciones que tienen que ver con la forma estética (formatos) de
las vistas tales como fuentes, estilos, colores...
- Menú de Herramientas: Desde aquí se configura el programa como ya hemos visto en
alguna acción, se configuran y asignan los recursos, se establecen los calendarios del
proyecto, se establecen los seguimientos sobre el proyecto actual...
- Menú de Proyecto: Sus opciones aportan informaciones sobre el proyecto, permite
ordenar, establecer y aplicar filtros, esquematizar (hacer esquemas) tareas, agrupar tareas...
- Menú de Colaborar: Permite trabajando con una aplicación complementaria a MS
Project llamada MS Project Server, compartir la información del proyecto con otros
miembros del equipo del proyecto. Estos aspectos se realizan mediante opciones de este
menú.
- Menú de Ventana: Simultanear la visualización de varios proyectos abiertos en mosaico,
cambiar de uno a otro... (como siempre se ha actuado con este menú).
- Menú de Ayuda (?): Presenta las posibilidades para buscar ayudas sobre aspectos del
programa. Trae una novedosa herramienta para detectar y reparar posibles problemas con el
propio programa MS Project. Se configura y gestiona el asistente del Office (el muñequito
ayudante en forma de clip que suele aparecer por pantalla ofreciéndonos sus servicios de
ayuda).

313
Capítulo 9 Texto Guía – Sistemas de Ingeniería

9.9.3 Barras de herramientas.


También llamadas barras de botones, permiten realizar de una forma rápida y por medio del
ratón algunas de las opciones de uso mas frecuente de Word. Estos botones sirven para
agilizar la realización de estas tareas mediante un simple clic con el ratón (tenerlas mas "a
mano"). El número de barras de herramientas visibles en pantalla es variable, las barras de
herramientas también se pueden personalizar. (agregar botones, cambiarlos de posición,
eliminar botones que nosotros no utilizamos...).
Las barras de botones que se recomienda inicialmente tener debajo de la de menús
desplegables son la Estándar y la de Formato (como en la imagen). La primera, la
estándar, comienza con un botón que tiene dibujado un folio en blanco y la segunda, la de
formato, tiene en su zona central los botones que permiten dar forma a los textos es decir,
formato a los textos: negrita: N, cursiva: K y subrayado: S.
9.9.4 Gestión de barras de herramientas.
Visualizar una barra de herramientas. Activar la casilla izquierda (mediante clic) de la
barra de herramientas elegida en el Menú desplegable de Ver - Barra de herramientas.

Ocultar una barra de herramientas. Desactivar con un clic la casilla a la izquierda de la


barra de herramientas elegida en el Menú de Ver - Barra de herramientas.

También se puede ocultar una barra pulsando el botón cerrar de la misma cuando no está
fusionada o "aparcada" con los bordes de la ventana de documento.

En resumen, para comprobar que barras de herramientas tenemos "sacadas", lo podemos


hacer de dos formas:
1- Desde el Menú de Ver - Barras de Herramientas (las que estén marcadas son las que
están visualizadas). En principio las mas normales para tener en pantalla son la Estándar y
la de Formato.
2- Haciendo clic con el botón derecho del ratón en cualquier botón de cualquier barra
(llegamos al mismo panel).
Mover una barra de herramientas. Cualquier barra de herramientas o botones, tiene a su
izquierda del todo, un pequeño "nervio" gris o "palito" en relieve (en la versión 2003 es una
pequeña línea vertical punteada ), desde donde podemos arrastrar dicha barra de botones
a otro "flanco" de la pantalla. Al sobrevolar dicho relieve, aparece una flecha cuádruple,
que llamaremos cuatriflecha, lo cual manifiesta la posibilidad de arrastrar en cualquier
dirección de la pantalla dicha barra de botones.

A partir de ahí, decir que podemos arrastrarlas (las barras de herramientas) a cualquier
posición de la pantalla o bien dejarlas "flotantes" a modo de pequeña ventana por el medio
de la pantalla. Si las dejamos flotantes, presentarán una pequeña barra de título, de color
azul marino o gris (según versión de Word) con el nombre de la barra de herramientas, y
desde donde como con todas las ventanas de Windows, podremos desplazarla arrastrando
hacia donde queramos incluso "arrimando" a un lateral o zona de la pantalla, "aparcarlas" o

314
Capítulo 9 Texto Guía – Sistemas de Ingeniería

fusionarlas debidamente. Comprobamos que se acoplan automáticamente. También


podemos variar el tamaño vertical u horizontalmente arrastrando desde sus bordes como
cualquier ventana Windows.
9.9.5 Propiedades de la barra de menú
Cambiar el tamaño de una barra. Solo se puede hacer con barras flotantes (cuando se ve
el título de la barra), bastará con hacer un arrastre sobre el borde de la barra, el puntero del
ratón cambia de forma y adquiere la de una doble flecha.

Añadir o quitar botones de una barra de herramientas. En el caso de las barras de


herramientas flotantes (como la de la figura anterior), para añadir o eliminar botones,
picamos sobre el pequeño triángulo de la esquina derecha de su barra de título. Elegir ahora
agregar o quitar botones y en este caso la opción Formato.

Accederemos a un menú de botones como el anterior, en el que se puede hacer clic sobre
cualquier elemento para añadirlo o eliminarlo de la barra de herramientas.
La barra de herramienta según su posición pueden ser flotantes o estar fusionadas con los
contornos de la ventana de documento. En función de las barras de herramientas visibles y
su posición, el aspecto de la ventana de MS Project puede variar mucho.
Aviso: En ocasiones, las barras de herramientas que se encuentran fusionadas o "aparcadas"
en vez de encontrarse "en paralelo", se encuentran "empalmadas" una a continuación de la
otra (en la misma horizontal), por este motivo, alguna de las dos barras no se muestra
completa (con todos los botones que el usuario espera de ella), provocando de este modo
desconcierto al no ser encontrados ciertos botones. ¿Que hacer? Deberemos arrastrar una de
ellas posicionándola en paralelo debajo de la otra.
Si se desea añadir o quitar de cierta barra de herramientas cualquier botón sea de la
naturaleza que sea, esté aparcada o no, mediante el menú de contexto (clic con el botón
derecho del ratón) sobre cualquier botón de cualquier barra. En el menú que se despliega
mostrando las barras de herramientas disponibles así como las que se encuentran
visualizadas y las que no, abajo del todo podemos encontramos la opción de
Personalizar...
Personalizar nos da paso al siguiente panel, que entre otras posibilidades, nos permite desde
la solapa superior de Comandos, ver todas las acciones o comandos (a la derecha)

315
Capítulo 9 Texto Guía – Sistemas de Ingeniería

clasificados por categorías (a la izquierda). Así por ejemplo en la categoría Archivo


encontramos todas las acciones o comandos de manejo de archivos de que dispone MS
Project.

Para añadir alguno de esos comandos a una de las barras de herramientas visualizadas basta
con arrastrar ese comando (su icono) hasta la posición en la barra de herramientas deseada
siguiendo estos 3 pasos:

1.

2.

3.
Con lo cual dicho comando, en forma de botón queda en la barra a la que lo hemos
arrastrado.

Para eliminar un botón cualquiera de una barra de herramientas (quitar un botón) basta con
arrastrarlo fuera de la barra mientras se mantiene pulsada la tecla ALT.

.
9.9.6 Guía de proyectos.
Se trata de una barra de herramientas (visualizable o no) que cuando se tiene cierto rodaje
con el programa nos permite acceder rápidamente a las operaciones mas habituales relativas
a tareas y recursos así como las que nos posibilitan realizar un seguimiento de los
proyectos. También tener acceso a los diversos tipos de informe de que dispone el
programa.

El primer botón de esta barra, nos coloca en el lateral izquierdo de la vista actual del
programa el panel de Guía de proyectos. Se trata de un panel, desde el que a modo de
guión y a modo de asistente nos permite seguir unos pasos en secuencia, idóneos para una
buena planificación de un proyecto.

316
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Presenta ...
Nota: El que la barra de herramientas llamada Guía de proyectos aparezca o no,
inicialmente en pantalla al ejecutar el programa MS Project, depende del estado de la

casilla de verificación que se encuentra bajo la solapa Interfaz


del panel accedido desde Menú de Herramientas - Opciones.
9.9.7 Barra de vistas.
Se activa o no desde la opción correspondiente del Menú Ver. Coloca en el lateral izquierdo
de la pantalla de MS Project una tira vertical de elementos (en forma de iconos) que
permiten de forma rápida cambiar el aspecto, aquí llamado vistas, del programa. Podemos
pasar rápidamente a ver el calendario, la vista diagrama de Gantt, el diagrama de red, las
hojas de recursos... Desde luego hay usuarios que la desactivan porque a sus posibilidades
tenemos acceso desde otros menús del programa y sin embargo no "les come" sitio en
pantalla.
Las vistas que podemos alternar en pantalla mediante esta barra de vistas son las siguientes:
- Calendario: Calendario temporal que muestra las tareas y sus duraciones.
- Diagrama de Gantt: Listado de tareas a la izquierda y diagrama de barras horizontales
(de Gantt) a la derecha. Desde aquí se programan las listas de tareas.
- Diagrama de red: Antes llamado diagrama de Pert. Muestra las tareas y sus
dependencias en forma de rectángulos relacionados. Desde esta vista se puede apreciar la
ruta crítica de un proyecto.
- Gantt de seguimiento: Muestra la línea base del proyecto. Permite comparar lo
programado (línea base) con la programación actual en un proyecto en modo diagrama de
Gantt.
- Uso de tareas: Lista de tareas con los recursos asignados para cada tarea. Visualiza
recursos frente a tareas.
- Gráfico de recursos: Vista que muestra las asignaciones y costos de los recursos del
proyecto. Recursos y grupos de recursos a lo largo del tiempo en forma de gráfica.
- Hoja de recursos: Todo lo relativo a los recursos se gestiona desde esta vista.
- Uso de recursos: Vista que muestra las tareas agrupadas bajo cada recurso. Permite
estudiar los costos de los recursos, así como las cargas de trabajo para los distintos
recursos.
- Mas vistas: Otras vistas de las que dispone MS Project.
Nota: La vista con la desarrollaremos el trabajo inicialmente a través del programa MS
Project va a ser la vista DIAGRAMA DE GANTT.

317
Capítulo 9 Texto Guía – Sistemas de Ingeniería

9.9.8 Zona de vista.


El espacio de trabajo en MS Project se denomina vista. El programa dispone de numerosas
vistas y cada una permite la entrada, edición de información, visualización y análisis de
datos del proyecto. La vista predeterminada y mas práctica en principio es la vista de
diagrama de Gantt. Las vistas las podemos también cambiar desde el las posibilidades del
menú de Ver. En este menú tenemos la opción de Mas vistas... para otras vistas menos
utilizadas pero que también están en el programa.
Las vistas muestran en pantalla la información en forma de tabla. En dichas tablas, la
información se ubica, a modo de hoja de cálculo, en celdas, filas y columnas.
Información: Si tenemos en una hoja de Excel, una relación de tareas o recursos, por
ejemplo recibida mediante e-mail, podemos desde Excel, tan sencillamente como copiando
y pegando, traer datos a la tabla correspondiente de la vista actual en MS Project.
Las tablas de las vistas se recorren visualmente en pantalla ayudados de las barras de
desplazamiento.
En resumen, primero se elige una vista (por ejemplo desde la barra de vistas), en esa vista,
se decide visualizar una determinada tabla (Menú de Ver - Tabla), y una vez visualizada
una tabla, dependiendo de la que sea, se puede optar por visualizar unos u otros detalles o
campos en ella (Menú de Formato - Detalles).
9.9.9 Barras de desplazamiento.
Las barras de desplazamiento horizontal son independientes para cada tabla o zona de
pantalla. Por ejemplo en la vista diagrama de Gantt podemos desplazar horizontalmente la
barra de desplazamiento de la tabla de las tareas (a la izquierda), mientras la gráfica de las
tareas (a la derecha) permanece inmóvil.
Sin embargo, la barra de desplazamiento vertical de la derecha es común para la zona
izquierda y derecha de la vista. Desplaza ambas zonas simultáneamente y de forma
sincronizada.
La línea separadora entre la zona izquierda y zona derecha, la podemos arrastrar como
siempre en Windows para dar mas anchura a la zona que se desee (bien zona izquierda o
bien zona derecha).
9.9.10Barra de estado.
En la zona inferior de la pantalla aparece esta barra indicando aspectos como si se tienen
bloqueadas las teclas mayúsculas, si estamos para editar en modo insertar o en modo
sobrescribir... Nada especial que mencionar.
9.9.11 Combinaciones de vistas.
Mediante la opción del Menú Ventana - Dividir, podremos dividir horizontalmente la vista
actual en dos zonas: La parte superior y la zona inferior. De esta forma, mediante la barra
de vistas y tras posicionarnos en una de las dos zonas (arriba o abajo) podremos visualizar,
por ejemplo en la parte superior de la pantalla de nuestro proyecto la vista diagrama de
Gantt mientras que en la zona inferior de la división, la hoja de recursos. Esta es una
sencilla manera de mostrar mas información en pantalla para un proyecto.
Para deshacer la división (para quitarla), bastará con colocarse en la vista que se desea
mantener y entrar de nuevo a Menú ventana
9.10 Creación de un Proyecto
Comenzamos aquí, el trabajo real con MS Project. En este capítulo aprenderemos a crear un
archivo de proyecto, revisar sus propiedades e información asociada, a guardarlo, cerrarlo,

318
Capítulo 9 Texto Guía – Sistemas de Ingeniería

abrirlo así como protegerlo mediante contraseña (entre otras cosas). También hablaremos
de conceptos de Windows fundamentales para el correcto uso de los archivos y también de
los archivos de plantilla. Comenzamos.
9.10.1 Creación de un archivo de proyecto.
Tras ejecutar el programa, aparece en pantalla una vista diagrama de Gantt (la vista por
defecto en MS Project) con un proyecto vacío nuevo y en blanco como base para empezar a
trabajar en un nuevo proyecto (este proyecto inicial es llamado Project1.mpp inicialmente).
También aparece el panel de tareas inicio que nos permite, en su parte inferior, abrir un
archivo de proyecto ya existente y almacenado en disco, o bien crear un archivo de
proyecto nuevo. En este segundo caso (el de crear un archivo de proyecto nuevo) podremos
optar por crear un proyecto nuevo bajo dos posibilidades:
• A partir de un proyecto ya existente (archivo .MPP en disco). Muestra los nombres
de los mas recientes proyectos utilizados y permite mediante la opción Mas...
examinar en los discos en busca del archivo deseado que se utilizará como base de
partida. ... O bien...
• A partir de la nada, es decir, crear un nuevo proyecto en blanco (Crear un proyecto
nuevo...).

Si decidimos crear un nuevo proyecto en blanco (Crear un proyecto nuevo...), se creará un


nuevo archivo de proyecto llamado Project2.mpp abriendo en pantalla una nueva sesión de
MS Project. ¿Que significa esto? Que en la barra de tareas inferior de Windows aparecen 2
tareas de Project, una con un proyecto llamado Project1 y otra con otro proyecto en blanco
llamado Project2.
A continuación aparece la vista de un panel de tareas (junto al lateral izquierdo de la
pantalla) donde en su parte inferior y a modo de guión de textos azules, con asistentes nos
va a guiar en las fases propias de elaboración de un proyecto (desde el principio).
Para comenzar, y aprender a realizar las opciones y todos los pasos por nosotros
mismos, vamos a cerrar ese panel y comenzar desde cero.

319
Capítulo 9 Texto Guía – Sistemas de Ingeniería

Otra forma de comenzar un proyecto es cerrar mediante Menú Archivo - Cerrar el proyecto
llamado Project1 inicial que aparece en pantalla (sin guardar los cambios en el caso de que
sea preguntado) y desde el propio Menú de Archivo - Nuevo, crearemos un nuevo proyecto
en blanco. Esto nos dejaría en la misma situación anterior de un nuevo proyecto vacío como
punto de partida para trabajar, ubicándonos en la vista diagrama de Gantt.

Información: Es posible que al crear un proyecto nuevo, aparezca de forma automática el


panel (cuadro de diálogo) de información del proyecto para establecer en él, la fecha de
comienzo del proyecto entre otros datos.
El que inicialmente también aparezca el panel de tareas del que ya hemos hablado es algo
que puede suceder o no.
También podría suceder que la vista inicial con la que nos encontramos al crear un nuevo
proyecto no fuera la vista diagrama de Gantt. ¿De que depende todo esto?
Como todos los programas Microsoft, MS Project se configura desde Menú Herramientas -
Opciones. Desde la solapa Vista, entre otros parámetros podemos establecer que la vista
inicial sea diagrama de Gantt u otra. También se configura desde este panel el formato de
fechas que va a utilizar el programa y algunos detalles mas que se activan o no mediante
casillas de verificación:

Desde la solapa General de ese mismo panel podemos establecer que aparezca o no la vista
de tareas al inicio de un nuevo proyecto y si aparecerá o no de forma automática el panel de
propiedades del proyecto al crear uno nuevo. También se define el nombre de usuario del
programa y el número de archivos recientes que aparecen en la parte inferior del menú
desplegable de archivo para poder abrir de forma rápida proyectos recientes (entre otras

320
Capítulo 9 Texto Guía – Sistemas de Ingeniería

cosas).

9.11 Información del proyecto.


En cualquier caso, hayamos elegido el camino que hayamos elegido para crear un nuevo
proyecto, lo primero que conviene especificar es la fecha de comienzo del proyecto. Para
ello, abriremos el panel de información del proyecto desde Menú de Proyecto - Información
del proyecto.

Por defecto MS Project propone como fecha de comienzo la fecha actual del sistema.
Desplegando en el cuadro de Fecha de comienzo mediante el triangulito derecho, aparece
un calendario Windows desde el cual podemos avanzar o retroceder meses (con sendos
botones con triangulito negro en la parte superior), años y de este modo indicar el día de la
fecha deseada como fecha de inicio del proyecto. Para nuestro ejemplo fijaremos la fecha 1
de junio de 2004.

Al señalar una fecha queda fijada como fecha de inicio del proyecto. En ese mismo panel,
aparece inmediatamente debajo un cuadro donde se fija Programar a partir. Desde aquí se
establece si las fechas iniciales del proyecto se fijan a partir de la fecha de comienzo o bien
a partir de la fecha de finalización (ver explicación en capítulo-1). Por defecto aparece
fijado este cuadro en Programar a partir de la fecha de comienzo:

Así, la fecha de finalización por lo tanto quedará supeditada a la duración de las tareas que
compongan el proyecto, y por este motivo la fecha de finalización aparece atenuada ya que
no se puede fijar en este momento.
Si se programa a partir de la fecha de finalización, el cuadro que aparece atenuado es el
contrario, el de la fecha de comienzo.
Al aceptar el panel, el panel derecho de la vista diagrama de Gantt se desplaza hasta
aparecer dicha fecha en pantalla.

321
Capítulo 9 Texto Guía – Sistemas de Ingeniería

9.12 Propiedades de un proyecto.


Al igual que en los demás programas de la familia Office de Microsoft (Word, Excel,
Access...) es posible fijar una serie de informaciones junto al archivo de proyecto. Un
título, un nombre de autor o administrador del proyecto, una descripción, datos
estadísticos... De este modo y gracias a estas informaciones será mas fácil localizar y
buscar un archivo de proyecto en un futuro.
Para acceder al cuadro de diálogo de propiedades del proyecto debemos abrir el Menú de
Archivo - Propiedades...

Como vemos, la solapa activa inicialmente es la solapa Resumen. En éste panel, se


recomienda introducir:
Título para el proyecto: Un nombre representativo y corto.
Asunto: Frase que describe brevemente de que trata el proyecto.
Autor: Quien gestiona el proyecto desde MS Project.
Administrador: Persona encargada de administrar el proyecto "a pie de campo". Sobre el
terreno. Facilita la búsqueda de todos los proyectos con un mismo administrador.
Organización: Nombre de la empresa para la que se hace el proyecto.
Categoría: Podemos utilizar este cuadro para encuadrar este proyecto en una categoría. Por
ejemplo: tiendas. De este modo podremos buscar mas tarde todos los proyectos de
características similares, de esa categoría.
Palabras clave: Podemos especificar palabras que permitan buscar mas tarde los proyectos
que contengan ciertas palabras como clave. Por ejemplo las siguientes palabras clave:
tienda Calahorra telefonía, permitirían bajo estos términos buscar un archivo de proyecto
desde el Explorador de Windows mediante la opción Buscar.
Comentarios: Texto con información interesante sobre el proyecto.
Base del hipervínculo: Es la ruta inicial que aparecerá en todos los cuadros del programa
en donde el usuario pueda introducir una ruta en disco o bien un hipervínculo de Internet.
Guardar vista previa: Esta casilla de verificación, si es marcada, almacena junto al
archivo de proyecto una imagen con el contenido de la vista diagrama de Gantt. De este
modo, desde el panel de abrir un proyecto, al seleccionar el tipo de vista bajo el cual se

322
Capítulo 9 Texto Guía – Sistemas de Ingeniería

desean ver los archivos en esta ventana como Vista previa, podamos visualizar en la mitad
derecha del panel una pequeña parte del contenido de los archivos (así sabremos mas sobre
si es ese o no el proyecto que deseamos abrir). Es una opción interesante pero hace que
"engorde" el tamaño de los archivos de proyecto.

323
Capítulo 10 Texto Guía – Sistemas de Ingeniería

CAPÍTULO 10

SISTEMAS DE COLAS

10.1 Introducción a sistemas de colas


El sistema de colas es parte de la vida diaria, esto se ve siempre al esperar un
servicio. Esperamos para entrar a un restaurante, “hacemos colas” en la caja de un
supermercado y nos formamos para recibir el servicio en la oficina de correos. Y este
fenómeno no se limita a los humanos, puede ser los trabajos que esperan ser procesados en
una máquina, los cronogramas de vuelos, la espera de los automóviles en luz roja, en la
misma construcción el hecho de empezar algún ítem requiere la espera de la finalización de
uno o varios ítems. Desafortunadamente no se puede eliminar la espera sin incurrir en
gastos desmesurados. De hecho, todo lo que cabe esperar es reducir el impacto
desfavorable a niveles tolerables.
En este capítulo se aplica la teoría de colas. El problema es determinar que
capacidad o tasa de servicio proporciona el balance correcto. Esto no es sencillo, ya que el
cliente no llega a un horario fijo, es decir, no se sabe con exactitud en que momento
llegarán los clientes. También el tiempo de servicio no tiene un horario fijo.

10.2 Definición.
Una Cola es una línea de espera y la teoría de colas es una colección de modelos
matemáticos que describen sistemas de líneas de espera particulares o sistemas de colas.
Los modelos sirven para encontrar el comportamiento de estado estable, como la longitud
promedio de la línea y el tiempo de espera promedio para un sistema dado. Esta
información, junto con los costos pertinentes, se usa, entonces, para determinar la
capacidad de servicio apropiada.

10.3 ¿Por qué estudiar sistemas de colas?


El estudio de las líneas de espera trata de cuantificar el fenómeno de esperar
formando colas, mediante medidas representativas de eficiencia, como la longitud
promedio de la cola, el tiempo promedio de espera en ella, y la utilización promedio de las
instalaciones. El ejemplo que sigue demuestra como se usan medidas para diseñar una
instalación de servicio.

324
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Ejemplo de aplicación 10.1


Bartos es una empresa constructora, con 4 depósitos de escombros, para una obra de
construcción civil que consta en demoler un edificio de gran envergadura y construir ahí
mismo otro edificio. El gerente encarga que se haga un estudio para investigar las quejas
que existen de las diferentes volquetas al querer botar los escombros después de la
demolición debido a que cuando esta botando una volqueta en un depósito se acumula o
hacen colas otras volquetas que también necesitan botar escombro. El estudio indica la
siguiente relación entre la cantidad de depósitos de escombros y el tiempo de espera de las
volquetas:

Cantidad de depósitos 1 2 3 4 5 6 7
Tiempo de espera promedio (min.) 44.5 40.2 32.7 27.7 24.2 20.6 15.2

Al examinar esos datos se ve que hay un tiempo promedio de espera de 28 minutos


para el caso actual de 4 depósitos. El gerente desea reducirlo a unos 21 minutos, resultado
que solo se puede alcanzar con 6 o más depósitos.

10.4 Elementos de un modelo de cola


Los actores principales en una línea de espera o cola son el cliente y el servidor.
Los clientes se generan en una fuente. Al llegar a la instalación pueden recibir servicio de
inmediato, o esperar en una cola o línea de espera, si la instalación esta ocupada. Cuando
en una instalación se termina un servicio, en forma automática se “atrae” a un cliente que
espera, si lo hay, de la cola. Si la cola esta vacía, la instalación se vuelve inactiva hasta que
llega un cliente nuevo.
Desde punto de vista del análisis de las colas, el proceso de llegada se representa
con el tiempo entre llegadas, de los clientes sucesivos, y el servicio se describe con el
tiempo de servicio por cada cliente. Por lo general, los tiempos entre llegadas y de servicio
pueden ser probabilísticos, como en el funcionamiento de una oficina de correos, o
determinístico, como en la llegada de solicitantes a la entrevistas de trabajo.
Fuente de entrada o población potencial: Es un conjunto de individuos (no
necesariamente seres vivos) que pueden llegar a solicitar el servicio en cuestión. Podemos
considerarla finita o infinita. Aunque el caso de infinitud no es realista, sí permite (por
extraño que parezca) resolver de forma más sencilla muchas situaciones en las que, en
realidad, la población es finita pero muy grande. Dicha suposición de infinitud no resulta
restrictiva cuando, aún siendo finita la población potencial, su número de elementos es tan
grande que el número de individuos que ya están solicitando el citado servicio
prácticamente no afecta a la frecuencia con la que la población potencial genera nuevas
peticiones de servicio.
Cliente: Es todo individuo de la población potencial que solicita servicio.
Suponiendo que los tiempos de llegada de clientes consecutivos son 0<t1<t2<..., será
importante conocer el patrón de probabilidad según el cual la fuente de entrada genera
clientes. Lo más habitual es tomar como referencia los tiempos entre las llegadas de dos
clientes consecutivos: T{k} = tk - tk-1, fijando su distribución de probabilidad.

325
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Normalmente, cuando la población potencial es infinita se supone que la


distribución de probabilidad de los Tk (que será la llamada distribución de los tiempos entre
llegadas) no depende del número de clientes que estén en espera de completar su servicio,
mientras que en el caso de que la fuente de entrada sea finita, la distribución de los Tk
variará según el número de clientes en proceso de ser atendidos.
Capacidad de la cola: Es el máximo número de clientes que pueden estar haciendo
cola (antes de comenzar a ser servidos). De nuevo, puede suponerse finita o infinita. Lo
más sencillo, a efectos de simplicidad en los cálculos, es suponerla infinita. Aunque es
obvio que en la mayor parte de los casos reales la capacidad de la cola es finita, no es una
gran restricción el suponerla infinita si es extremadamente improbable que no puedan
entrar clientes a la cola por haberse llegado a ese número límite en la misma.
Disciplina de la cola: que representa el orden en el que se seleccionan los clientes
de una cola, es un factor importante en el análisis de los modelos de colas, o es el modo
en el que los clientes son seleccionados para ser servidos. Las disciplinas más habituales
son:
La disciplina es la de primero en llegar, primero en servirse PLPS o FIFO (first in
first out), también llamada FCFS (first come first served): según la cual se atiende
primero al cliente que antes haya llegado.
La disciplina de último en llegar, primero en servirse ULPS o LIFO (last in first
out), también conocida como LCFS (last come first served) o pila: que consiste en
atender primero al cliente que ha llegado el último.
La de dar servicio en orden aleatorio SEOA o SIRO (service in random order), que
selecciona a los clientes de forma aleatoria.
También, los clientes o servicios se pueden seleccionar en la cola con base en
cierto orden de prioridad. Por ejemplo, los trabajos urgentes en una construcción se
realizan antes que los trabajos normales.
El comportamiento de los clientes en espera juega un papel en el análisis de las
líneas de espera. Los clientes “humanos” se pueden saltar de una cola a otra, tratando de
reducir la espera. También pueden rehusar totalmente a la cola por haber esperado
demasiado. Como se puede ver análogamente en los “clientes” o actividades en una
construcción.

10.5 Costos de los modelos de colas.


Un modelo de colas puede dividirse en sus dos componentes de mayor importancia,
la cola y la instalación de servicio. Las llegadas son las unidades que entran en el modelo
para recibir el servicio. Siempre se unen primero a la cola; si no hay línea de espera se dice
que la cola esta vacía. De la cola, las llegadas van a la instalación de servicio de acuerdo
con la disciplina de la cola, es decir, de acuerdo con la regla para decidir cuál de las
llegadas se sirve después. El primero en llegar primero en ser servido es una regla común,
pero podría servir con prioridades o siguiendo alguna otra regla. Una vez que se completa
el servicio, las llegadas se convierten en salidas.

326
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Ambas componentes del sistema tienen costos asociados que deben de considerarse.

10.6 Costo de espera.


Esperar significa desperdicio de algún recurso activo que bien se puede aprovechar
en otra cosa y esta dado por:
Costo total de espera = Cw × L
Donde Cw = costo de espera por hora (en Bolivianos) por llegada por unidad de
tiempo y L= longitud promedio de la línea.

10.7 Sistema de costo mínimo.


Aquí hay que tomar en cuenta que para tasas bajas de servicio, se experimenta
largas colas y costos de espera muy altos. Conforme aumenta el servicio disminuyen los
costos de espera, pero aumenta el costo de servicio y el costo total disminuye, sin embargo,
finalmente se llega a un punto de disminución en el rendimiento. Entonces el propósito es
encontrar el balance adecuado para que el costo total sea el mínimo.

Figura 10.1
Modelo de decisión para línea de espera basado en costo

327
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Se puede analizar los resultados del análisis de colas en el contexto de un modelo de


optimización de costos, en el que la suma de los costos de ofrecer el servicio y de esperar se
reduzca al mínimo. La figura 10.1 representa un modelo característico de costo (en
Bolivianos por unidad de tiempo), en el que el costo del servicio aumenta al incrementar el
nivel del servicio. El obstáculo principal para implementar los modelos de costo es que se
pude dificultar la obtención de una estimado fiable del costo unitario de espera, en especial
cuando el comportamiento humano influye sobre el funcionamiento del caso.

10.8 Estructuras típicas.


Las llegadas pueden ser personas, cartas, carros, incendios, ensambles intermedios
en una fábrica, etc. En la siguiente tabla se muestran algunos ejemplos de varios sistemas
de colas.
Ejemplos de sistemas de colas:
Mecanismo
Situación Llegadas Cola
de Servicio
Aviones en
Aeropuerto Aviones Pista
carreteo
Aeropuerto Pasajeros Sala de espera Avión
Depto. de Alarmas de Depto. De
Incendios
bomberos incendio Bomberos.
Compañía Números
Llamadas Conmutador
telefónica marcados
Lavado de Mecanismo
Autos Autos sucios
carros de lavado
Casos
La corte Casos Juez
atrasados
Clientes con
Panadería Clientes Vendedor
números
Carga de Camiones en Muelle de
Camiones
camiones espera carga
Oficina de Empleados
Cartas Buzón
correos por correos
Crucero Autos Autos en línea Crucero
Sub- Inventario en Estación de
Fábrica
ensamble proceso trabajo.
Cartas de Notas de Cartas para
Secretaria
negocios dictado mecanografiar
Reproducción Pedidos Trabajos Copiadoras
Personas
Hospital Pacientes Hospital
enfermas

328
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Permitiendo que varíen el número de colas y el número de servidores, pueden


hacerse los diagramas de los cuatro tipos de sistemas en la figura 10.2. Cada línea de
espera individual y cada servidor individual se muestran por separado.
El primer sistema que se muestra en la figura 10.2, se llama un sistema de un
servidor y una cola o puede describir un lavado de carros automático o un muelle de
descarga de un solo lugar. El segundo, una línea con múltiples servidores, es típico de una
peluquería o una panadería en donde los clientes toman un número al entrar y se les sirve
cuando llega el turno. El tercer sistema, aquél en que cada servidor tiene una línea de
separada, es característico de los bancos y las tiendas de autoservicio. El cuarto sistema, es
una línea con servidores en serie, puede describir una fábrica o una construcción.

Figura 10.2
Modelos de sistemas de colas

10.9 Papel de la distribución exponencial


En la mayor parte de los casos de colas, la llegada de los clientes se hace en una
forma totalmente aleatoria. Aleatoriedad quiere decir que la ocurrencia de un evento (por
ejemplo, el inicio o “llegada” de un evento o la terminación de un servicio) no esta influido
por el tiempo que haya transcurrido desde la ocurrencia del evento anterior.

329
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Los tiempos aleatorios entre llegadas se describen en forma cuantitativa, en los


modelos de colas, con la distribución exponencial, la cual se define a continuación:

f (t ) = λe − λt , t > 0
También se sabe que para la distribución exponencial

E{ t } =
1
λ
T
P{t ≤ T } = ∫ λe
− λt
dt
0

= 1 − e − λT
El hecho de de que la distribución exponencial sea totalmente aleatoria se ilustra
con el ejemplo siguiente: si ahora son las 8:20 AM y la última fue a las 8:02 A.M., la
probabilidad de que la siguiente llegada sea a las 8:29 es una función solo de las 8:20 a las
8:29, y es totalmente independiente del tiempo que haya transcurrido desde la ocurrencia
del último evento (de las 8:02 a las 8:20). A este resultado se le llama amnesia o falta de
memoria de la exponencial.
Dada la distribución exponencial f (t ) que representa el tiempo t entre eventos
sucesivos, si S es el intervalo desde la ocurrencia del último evento, la propiedad de
amnesia implica que
P{t < T + S t > S } = P{t > T }
1
Para demostrar este resultado se observa que la exponencial con media ,
λ
P{t > Y } = 1 − P{t < Y } = e − λY
Así,
P{t > T + S , t > S } P{t > T + S }
P{t < T + S t > S } = =
P{t > S } P{t > S }
e − λ (T + S )
=
e − λs
= e − λT
= P{t > T }
Ejemplo de aplicación 10.2
Una máquina en servicio para una constructora tiene una unidad de reserva para
sustituirla de inmediato cuando falle. El “tiempo a la falla” (tiempo entre fallas) de la
máquina (o de su unidad de reserva) es exponencial y sucede cada 40 minutos, en
promedio. El operador de la máquina dice que esta “tiene la costumbre” de descomponerse
cada noche a eso de las 8:30 p.m. analizar lo que dice el operador.

330
Capítulo 10 Texto Guía – Sistemas de Ingeniería

60
La tasa promedio de fallas de la máquina es λ = = 1.5 fallas por hora. Así, la
40
distribución exponencial del tiempo a la falla es
f (t ) = 1.5e −1.5t , t > 0
En cuanto a lo que dice el operador, ya se que no puede ser correcto, por que se
opone al hecho de que el tiempo entre fallas es exponencial y, en consecuencia, es
totalmente aleatorio. La probabilidad de que una falla suceda a las 8:30 P.M., no se puede
usar para respaldar ni refutar esa afirmación, por el valor de esa probabilidad depende de la
hora del día (en relación con las 8:30 P.M.) con la que se calcula. Por ejemplo, si ahora son
las 8:20 P.M., la probabilidad de que lo que dice el operador se cierto esta noche es:
 10 
 10  −1.5  
f t <  = 1− e = 0.22
 60 

 60 
Que es baja. Si en este momento son las 7:00 P.M., la probabilidad de que suceda una
falla a las 8:30 P.M. aumenta hasta aproximadamente 0.9 (compruébelo). Estos 2 valores
extremos indican que no se puede analizar la afirmación del operador con base en
estimaciones de probabilidad, y que se debe confiar en las características de la distribución
exponencial (aleatoriedad total) para refutar la afirmación.

10.10 Modelos con nacimientos puros y muertes puras (relación


entre las distribuciones exponenciales y de poisson)
En esta sección se describen dos situaciones en las colas: la primera es un modelo
de nacimientos(s) puro(s), en el que solo permiten llegadas y el segundo es el modelo de
muertes(s) pura(s), en el que solo se permiten salidas.
La distribución exponencial se usa para describir el tiempo entre llegadas en el
modelo de nacimiento puro, y el tiempo entre salidas con el modelo de muerte pura.
10.10.1 Modelos de nacimientos puros
Se define:
Po (t) = probabilidad de que no haya llegadas durante un espacio de tiempo t
Como el tiempo entre llegadas es exponencial, y la frecuencia de llagadas es λ
clientes por unidad de tiempo, entonces
Po (t) = P {tiempo entre llegadas ≥ t}
= 1 – P {tiempo entre llegadas ≤ t}
= 1 − (1 − e − λt )
− λt
= e
Para un intervalo suficientemente pequeño h > 0,

Po (h) = e − λh = 1 − λh +
(λh )2 −  = 1 − λh + 0(h 2 )
2!

331
Capítulo 10 Texto Guía – Sistemas de Ingeniería

La distribución exponencial se basa en la hipótesis que durante un tiempo suficientemente


pequeño h > 0, puede presentarse cuando mucho una llegada. Así, cuando h→0,
P1 (h) = 1 − Po (h) ≈ λh
Este resultado indica que la probabilidad de una llegada durante h es directamente
proporcional a h, y que la frecuencia de llegadas λ es la constante de proporcionalidad.
Para deducir la distribución de la cantidad de llegadas durante un periodo t, cuando
1
el tiempo entre llegadas es exponencial con promedio , se define a:
λ
Pn (t ) = Probabilidad de n llegadas durante t
Para una h > 0 suficientemente pequeña,
Pn (t + h) ≈ Pn (t )(1 − λh) + Pn −1 (t )λh, n > 0
P0 (t + h) ≈ Po (t )(1 − λh), n = 0

En la primera ecuación se realizan n llegadas durante t + h , si hay n llegadas


durante t y no haya llegadas durante h, o n – 1 llegadas durante t y una llegada durante h. no
se permite ninguna otra combinación porque, según la distribución exponencial, cuando
mucho puede haber una llegada durante un periodo h muy pequeño. La ley de producto de
probabilidades se puede aplicar al lado derecho de la ecuación, por que las llegadas son
independientes. Para la segunda ecuación, solo puede haber cero llegadas durante t + h si
no hay llegadas durante t y durante h.
Al rearreglar los términos y tender limites cuando h → 0, se obtiene
Pn (t + h) − Pn (t )
Pn` (t ) = lim h →0 = −λPn (t ) + λPn −1 (t ), n > 0
h
Po (t + h) − Po (t )
Po` (t ) = lim h →0 = −λPo (t ), n = 0
h
En donde Pn` (t ) es la primera derivada de Pn (t ) con respecto a t.
La solución de estas ecuaciones en diferencias y diferenciales es
( λ t ) n e − λt
Pn (t ) = , n = 0,1,2 
n!
Es una distribución de Poisson, con media E{n t} = λt llegadas durante t.
1
Este resultado indica que si el tiempo entre llegadas es exponencial con mediala
λ
cantidad de llagadas durante un periodo t especifico tiene distribución de Poisson con
media λt . También es cierto lo contrario.

332
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Las fuertes relaciones entre las distribuciones exponenciales y de poisson, para una
frecuencia de λ llegadas por unidad de tiempo se pueden resumir como sigue:

Exponencial De Poisson
Tiempo t entre Cantidad n de llegadas
Variable aleatoria llegadas durante un periodo especifico
sucesivas T.
Intervalo t≥0 n = 0, 1, 2, …
( λ T ) n e − λT
Función de densidad
f (t ) = λe − λt , t ≥ 0 p n (T ) = , n = 0, 1, 2..
n!

1
unidades de
Valor de la media λ λT llegadas durante T.
tiempo
P{t ≤ A} = 1 − e − λA Pn ≤ N (T ) = p o (T ) + p1 (T ) +  +
Probabilidad acumulada

P{t > A} = e − λA
P (no haya llegadas
p o ( A) = e − λA
durante el periodo A)

Ejemplo de aplicación 10.3


Los niños nacen en una población poco poblado, con una frecuencia de un
nacimiento cada 12 minutos. El tiempo entre nacimiento sigue una distribución
exponencial. Determinar lo siguiente
a. La cantidad promedio de nacimientos por año.
b. La probabilidad de que no haya nacimientos en cualquier día.
c. La probabilidad de emitir 50 certificados de nacimientos en 3 horas, cuando se
emitieron 40 certificados durante las primeras 2 horas del periodo de 3 horas.
La tasa diaria de nacimientos se calcula como sigue:
24 × 60
λ= = 120 Nacimientos/día.
12
Los nacimientos anuales en la población son:
λt = 120 × 265 = 43,800 Nacimientos /día.
La probabilidad de que no haya nacimientos en algún día se calcula con la
distribución de Poisson:

po (1) = (120 × 1) e −120×1


0
=0
0!

333
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Para calcular la probabilidad de emitir 50 certificados en 3 horas, cuando se han


emitido ya 40 certificados en las 2 primeras horas, equivale atener 10 (= 50 – 40)
60
nacimientos en (= 3 – 2) hora. Como λ = = 5 nacimientos por hora, entonces
12

p10 (1) =
(5 × 1)10 e −5×1 = 0.01813
10!
10.10.2 Modelos de muertes puras
En el modelo de muerte(s) pura(s), el sistema comienza con N clientes cuando el
tiempo es 0, y no se permiten más llegadas. Las salidas se hacen con la frecuencia de µ
clientes por unidad de tiempo. Para deducir las ecuaciones en diferencias y diferenciales
para la probabilidad p n (t ) de n clientes remanentes a las t unidades de tiempo, se seguirán
los argumentos que se usaron en el modelo de nacimientos puros. Entonces,
p N (t + h) = p N (t )(1 − µh)
p N (t + h) = p N (t )(1 − µh) + p n +1 (t ) µh, 0 < n < N
p N (t + h) = p o (t )(1) + p1 (t ) µh
Cuando h→0, se obtiene

p N` (t ) = − µp N (t )
p n` (t ) = − µp n (t ) + µp n +1 (t ),0 < n < N
p o` (t ) = µp1 (t )
La solución de esas ecuaciones es la distribución truncada de poisson:
( µt ) N − n e − µt
p n (t ) = , n = 1,2,  , N
( N − n)!
N
p o (t ) = 1 − ∑p
n =1
n (t )

Ejemplo de aplicación 10.4


La cantera Florero en Punata vende 18 m3 de arena cada semana. En promedio, la
cantera vende 3 m3 por día, pero la demanda sigue en realidad una distribución de Poisson.
Siempre que la existencia llega a 5 m3 (o menos), se coloca un pedido nuevo de 18 m3 para
la entrega al principio de la semana siguiente. Por la naturaleza de la mercancía, toda la
arena que queda al final de la semana se acumula. Determinar lo siguiente:
a) La probabilidad de colocar un pedido en cualquier día de la semana.
b) La cantidad promedio de m3 de arena que se acumulan al final de la semana.
Como las compras se hacen con una frecuencia de µ = 3 docenas diarias, la
probabilidad de colocar un pedido al final del día t es.
Pn ≤5 (t ) = P0 (t ) + P1 (t ) + ...... + P5 (t )

334
Capítulo 10 Texto Guía – Sistemas de Ingeniería

5
(3t ) 18− n e −3t
P0(t ) + ∑ , t = 1, 2,..., 7
n =1 (18 − n)!

Al usar la opción de escenarios múltiple de TORA, los datos correspondientes al


modelo de muertes puras que corresponden a t = 1, 2,…..y 7 se capturan como sigue
Escenario Lambda Mu c Límite del sistema Límite de la fuente
1 0 3 1 18 18
2 0 6 1 1 18
3 0 9 1 18 18
4 0 12 1 18 18
5 0 45 1 18 18
6 0 18 1 18 18
7 0 21 1 18 18

Los resultados que se buscan se resumen como sigue en TORA.

La cantidad promedio de m3 de arena que se acumulan al final de la semana (t = 7),


se calcula con Tora como sigue:
18
E{n!t = 7} = ∑ nPn (7) = 0.664 m 3
n =0

10.11 Modelo generalizado de cola de Poisson


En esta sección se enuncia un modelo general de cola donde se combinan llegadas y
salidas, basándose en la hipótesis de Poisson: los tiempos entre llegadas y de servicio tienen
una distribución exponencial. El modelo es la base para deducir modelos de Poisson
especializados, que se verán en la sección 10.12.
El desarrollo del modelo generalizado se basa en el comportamiento a largo plazo, o
de estado estable, de cola, que se alcanza después de que el sistema ha estado funcionando
durante un tiempo suficientemente largo. Esta clase de análisis contrasta con el
comportamiento transitorio (de calentamiento) que prevalece durante el inicio de
funcionamiento del sistema. Una razón para no describir el comportamiento transitorio en
este capítulo es su complejidad analítica. Otra es que el estudio de la mayor parte de los
casos de líneas de espera sucede bajo condiciones de estado estable.
En el modelo generalizado supone que las frecuencias tanto de llegada como de
salida dependen del estado, y eso quiere decir que dependen de la cantidad de clientes en
la instalación de servicio. Por ejemplo, en la caseta de cobro de una autopista, los
empleados tienden a acelerar el cobro durante las horas pico. Otro ejemplo, se da en un
taller, con determinada cantidad de máquinas, cuando se disminuye la frecuencia de
descomposturas, cuando aumenta la cantidad de máquinas descompuestas (porque solo las
máquinas que trabajan son capaces de generar descomposturas nuevas).

335
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Se definirá lo siguiente:
n = Cantidad de clientes en el sistema (en la cola y en el servicio)
λ n = Frecuencia de llegada cuando hay n clientes en el sistema
µ n = Frecuencia de salida cuando hay n clientes en el sistema
Pn = Pr obalidad de estado estable de que haya n clientes en el sistema
El modelo generalizado define a Pn como función de λn y Pn. Después se usan esas
probabilidades para determinar las medidas de funcionamiento del sistema, como la
longitud promedio de la cola, el tiempo promedio de espera y la utilización promedio de la
instalación.
Las probabilidades Pn se calculan usando el diagrama de frecuencia de transición
(o “rapidez” o “tasa” de transición) de la figura 10.3. El sistema de cola está en el estado n
cuando la cantidad de clientes en él es n. Como se explicó en la sección 10.9, la
probabilidad de que suceda más de un evento durante un intervalo pequeño h, tiende a cero
cuando h→0. Eso quiere decir que para n > 0, el estado n solo puede cambiar a dos estados
posibles: n – 1 cuando hay una salida de frecuencia μn, y n + 1 cuando hay una llegada con
la frecuencia λn. El estado 0 sólo puede cambiar al estado 1 cuando hay una llegada con la
frecuencia λ0. Observe que μ0 no esta definida, porque no pueden haber salidas si el sistema
está vació.

Figura 10.3
Diagrama de transición en colas de poisson

Bajo condiciones de estado estable, para n > 0, las tasas esperadas de flujo de
entrada y de salida del estado n deben ser iguales. Con base en el hecho que el estado n sólo
puede cambiar a los estados n – 1 y n + 1, se obtiene:
 Tasa esperada de 
  = λ n −1 Pn −1 + µ n +1 Pn +1
 flujo hacia el estado n 
De igual manera,
 Tasa esperada de 
  = (λ n + µ n ) Pn
 flujo que sale del estado n 
Al igualar las dos frecuencias se obtiene la siguiente ecuación de balance:
λn −1 Pn −1 + µ n +1 Pn +1 = (λn + µ n ) Pn , n = 1, 2,...
En la figura 10.3 se ve que la ecuación de balance asociada con n = 0 es
λ0 P0 = µ1 P1
Las ecuaciones de balance se resuelven recursivamente en función de P0 como
sigue: para n = 0.
λ 
P1 =  0  P0
 µ1 
Después, para n = 1,
λ0 P0 + µ 2 P2 = (λ1 + µ1 ) P1

336
Capítulo 10 Texto Guía – Sistemas de Ingeniería

λ 
Se sustituyen P1 =  0  P0 y se simplifica, para obtener (¡compruébelo!).
 µ1 
λλ 
P2 =  1 0  P0
 µ 2 µ1 
Se puede demostrar por inducción que, en general.
 λ λ ....λ0 
Pn =  n −1 n − 2  P0 , n = 1, 2,...
 µ n µ n −1 .....µ1 



El valor de P0 se determina con la ecuación n =0
Pn = 1
Ejemplo de aplicación 10.5
Coboce opera con tres mixers. El supervisor en obra usas el siguiente programa para
determinar la cantidad de operarios de mixers, en función de la cantidad de m3 a
necesitarse:
Cantidad de m3 a necesitarse Cantidad de operarios de mixers
1a3 1
4a6 2
más de 6 3
La cantidad de m3 a necesitarse sigue una distribución de Poisson con una
frecuencia media de 10 por hora. El tiempo promedio de mezclado de un m3 a necesitarse
es exponencial, con 12 minutos de promedio. Calcular la probabilidad P de estado estable
de que haya n m3 a necesitarse.
De la información del problema se tiene que:
λ n = λ = 10 m3 a necesitarse por hora, n = 0, 1,...
 60
 12 = 5, m3 a necesitarse por hora, n = 0, 1, 2, 3

µ n = 2 × 5 = 10, m3 a necesitarse por hora, n = 4, 5, 6
3 × 5 = 15, m3 a necesitarse por hora, n = 7, 8, .....


Entonces:
 10 
P1 =   P0 = 2 P0
5
2
 10 
P2 =   P0 = 4 P0
5
3
 10 
P3 =   P0 = 8 P0
5
3
 10   10 
P4 =     P0 = 8 P0
 5   10 
3 2
 10   10 
P5 =     P0 = 8 P0
 5   10 
3 3
 10   10 
P6 =     P0 = 8 P0
5  10 
3 3 n −6 n −6
 10   10   10  2
Pn =       P0 = 8  P0 , n = 7, 8,...
 5   10   15  3

337
Capítulo 10 Texto Guía – Sistemas de Ingeniería

El valor de P0 se determina con la ecuación,


 2 2
2
2
3

P0 + P0 2 + 4 + 8 + 8 + 8 + 8 + 8  + 8  + 8  + ..... = 1
 3 3 3 
O bien, lo que es igual,

  2 2
2


P0 31 + 8 1 +   +   + ......   = 1
 3 3 

  
Se aplica la fórmula de la suma de unas serie geométrica

1

i =0
xi =
1− x
, x <1

Para obtener:
  
  1 
P0 31 + 8  = 1
  2
  1 − 
 3 
1
En consecuencia P0 = .
55
Conocida P0, ya se puede determinar cualquiera de las probabilidades del problema.
Por ejemplo, la probabilidad de que solo haya un mixer funcionado se calcula como la de
que haya 1 y 3 m3 a necesitarse en el sistema, esto es
 1 
P1 + P2 + P3 = (1 + 4 + 8)  ≈ 0.255
 55 
Se puede usar Pn, para determinar medidas de funcionamiento, o de eficiencia, para
el caso de Coboce. Por ejemplo,
 Cantidad esperada 
  = 3P0 + 2( P1 + P2 + P3 ) + 1( P4 + P5 + P6 ) + 0( P7 + P8 + ...)
 de mixers sin funcionar 
= 1 Mixer

10.12 Colas especializadas de Poisson


La figura 10.4 muestra el caso especial de colas de Poisson cunado hay c servidores
en paralelo. Un cliente en espera se selecciona de la cola para iniciar su servicio en el
primer servidor disponible. La frecuencia de llegadas al sistema es λ clientes por unidad de
tiempo. Todos los servidores están en paralelo y son idénticos, lo que quiere decir que la
tasa de servicio en cualquier servidor es μ clientes por unidad de tiempo. La cantidad de
clientes en el sistema incluye, por definición, los que hay en el servicio y los que esperan en
la cola.

338
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Figura 10.4
Esquema de un sistema de cola con c servidores en paralelo

Una notación cómoda para resumir las características de la cola son las que se
muestra en la figura 10.4 y tiene el siguiente formato:
(a/b/c) : (d/e/f)
En donde:
a = Distribución de las llegadas
b = Distribución de las salidas (o del tiempo de servicio)
c = Cantidad de servidores en paralelo (= 1, 2,..., ∞)
d = Disciplina de la cola
e = Cantidad máxima (finita o infinita) admisible en el sistema (en la cola
más en servicio)
f = Tamaño de la fuente (finito o infinito)
Las notaciones normales o estándar para representar las distribuciones de llegadas y
de salidas (símbolos a y b) son:
M = Distribución de Markov (o de Poisson) de las llegadas o de las salidas
(o lo que es igual, distribución exponencial del tiempo entre llegadas o
tiempo de servicio)
D = Tiempo constante (determinístico)
Ek = Distribución de Erlang o gamma del tiempo (o bien, la suma de
distribuciones exponenciales independientes)
GI = Distribución general del tiempo entre llegadas
G = Distribución general del tiempo de servicio
Entre la notación de disciplinas de cola (símbolo d) están:

339
Capítulo 10 Texto Guía – Sistemas de Ingeniería

PLPS = Primero en llegar, primero en ser servido.


ULPS = Último en llegar, primero en ser servido
SEOA = Servicio en orden aleatorio
DG = Disciplina en general (es decir, cualquier tipo de disciplina)
Para ilustrar el empleo de la notación, del modelo (M/D/10): (DG/20/∞) se usa
llegada de Poisson (o tiempo entre llegadas exponencial), tiempo constante de servicio y 10
servidores en paralelo. La disciplina de la cola es DG y hay un límite de 20 clientes en todo
el sistema. El tamaño de la fuente desde donde llegan los clientes es infinito.
Como nota histórica, los tres primeros elementos de la notación (a/b/c) fueron
inventados por D.G. Kendall en 1953, y en las publicaciones se llaman notación de
Kendall. Después, en 1966 A.M. Lee agregó los símbolos d y e. Yo agregué el último
elemento, el símbolo f, en 1969.
Antes de presentar los detalles de las colas de Poisson especializadas, indicaremos
cómo se pueden deducir las medidas de eficiencia en estado estable, para el caso de colas
generalizadas, a partir de las probabilidades de estado estable Pn, descritas en la sección
10.11.

10.12.1 Medidas de desempeño en estado estacionario


Las mediadas de desempeño, eficiencia o funcionamiento de una cola son:
Ls = Cantidad esperada de clientes en el sistema
Lq = Cantidad esperada de clientes en la cola
Ws = Tiempo esperado de espera en el sistema
Wq = Tiempo esperado de espera en la cola
c = Cantidad esperada de servidores ocupados
Recuerde que el sistema abarca tanto a la cola como a la instalación de servicio.
Ahora indicaremos como se deducen (en forma directa o indirecta) esas medidas a
partir de la probabilidad Pn de estado estable de que haya n en el sistema. En forma
especifica, son:

Ls = ∑ nPn
n =1

Lq = ∑ (n − c) P
n = c +1
n

La relación entre Ls y Ws (también Lq y Wq) se llama fórmula de Little, y es la


siguiente:
Ls = λef Ws
Lq = λef Wq
Estas relaciones son validas bajo condiciones bastante generales. El parámetro λef es
la frecuencia efectiva de llegada al sistema. Es igual a la tasa (nominal) de llegada λ cuando
todos los clientes que llegan se unen al sistema. En caso contrario, si algunos clientes no se
pueden unir porque el sistema está lleno (por ejemplo, un estacionamiento), entonces λef <
λ. Más adelante mostraremos cómo determinar λef.
También hay una relación directa entre Ws y Wq. Por definición,

340
Capítulo 10 Texto Guía – Sistemas de Ingeniería

 Tiempo de espera   Tiempo de espera   Tiempo esperado 


  =   +  
 en el sistema   promedio en la cola   de servicio 
Esto se traduce a
1
W s = Wq +
µ
A continuación se puede relacionar Ls con Lq, multiplicando ambos lados de la
última ecuación por λef, y junto con la fórmula de Little se obtiene
λef
Ls = Lq +
µ
Por definición, la diferencia entre la cantidad promedio en el sistema, Ls y la
cantidad promedio en la cola, Lq, debe ser igual a la cantidad promedio de servidores
ocupados, c. Entonces,
λef
c = Ls − Lq =
µ
Por lo anterior, entonces,

(Utilizacion de la instalacion ) = c
c

Ejemplo de aplicación 10.6


El estacionamiento de las visitas de S.N.C. se limita sólo a cinco puestos. Los
automóviles que lo usan llegan siguiendo una distribución de Poisson con frecuencia de
cinco por hora. El tiempo de estacionamiento tiene distribución exponencial con 30
minutos de promedio. Las visitas que no pueden encontrar un lugar vació inmediatamente
cuando llegan pueden esperar provisionalmente dentro del estacionamiento hasta que salga
un automóvil estacionado. Los puestos provisionales solo pueden contener tres vehículos.
Otros vehículos que no se puedan estacionar ni encontrar un espacio de espera
temporal se deben ir a otra parte. Determinar lo siguiente:
a. La probabilidad Pn de que haya n automóviles en el sistema.
b. La frecuencia efectiva de llegada para automóviles que usen en realidad el
estacionamiento.
c. La cantidad promedio de automóviles en el estacionamiento.
d. El tiempo promedio que espera un automóvil hasta que haya un cajón libre
dentro el estacionamiento.
e. La cantidad promedio de puestos de estacionamiento ocupados.
f. La utilización promedio de ese estacionamiento.

Primero se observa que un cajón de estacionamiento funciona como servidor, y


entonces el sistema tiene un total de c = 5 servidores en paralelo. También, que la
capacidad máxima del sistema es 5 + 3 = 8 automóviles.

341
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Se puede calcular la probabilidad Pn como caso especial del modelo generalizado de


la sección 10.11. En forma especifica se tiene que

λn = 6 Automóviles/hora, n = 0, 1, 2, ..., 8
  60 
n 30  = 2n, automóviles/hora, n = 0, 1, 2,...,5
  
µn = 
5 60  = 10, automóviles/hora, n = 6, 7, 8
  30 
De acuerdo con la sección 10.11,
 3n
 P0 , n = 1, 2,...., 5
n!
Pn =  n
 3 P, n = 6, 7, 8
 5!5 n −5 0

Figura 10.5
Relación entre λ , λef , λ perdido

El valor de P0 se calcula sustituyendo Pn, n = 1, 2,..., 8, en la siguiente ecuación:

P0 + P1 + ..... + P8 = 1
o sea
 3 3 2 33 3 4 35 3 6 37 38 

P0 + P0  + + + + + + 2 + 3  = 1
 1! 2! 3! 4! 5! 5!5 5!5 5!5 
Esto da como resultado P0 = 0.04812 (¡compruébelo!). A partir de P0 ya se pueden
calcular P1 a P8, y los resultados son

n 1 2 3 4 5 6 7 8
Pn 0.14436 0.21654 0.21654 0.16240 0.09744 0.05847 0.03508 0.02105

La tasa efectiva de llegada λef, se puede calcular si se observa el esquema de la


figura 10.5, donde los clientes llegan desde la fuente con la frecuencia λ automóviles por
hora. Un auto que llega puede entrar al estacionamiento o irse a otro lado, con las
frecuencias respectivas λef o λperdido, lo que significa que λ = λef + λperdido. Un automóvil no
podrá entrar al estacionamiento si ya están 8 automóviles en él. Eso quiere decir que la
proporción de vehículos que no pueden entrar al lote es P8. Entonces,

λ perdido = λP8 = 6 × 0.02105 = 0.1263 automóviles por hora

342
Capítulo 10 Texto Guía – Sistemas de Ingeniería

λef = λ − λ perdido = 6 − 0.1263 = 5.737 automóviles por hora


La cantidad promedio de vehículos en el estacionamiento (lo que esperan o los que
ocupan un cajón) es iguala Ls, la cantidad promedio en el sistema. Se puede calcular Ls a
partir de Pn como sigue:
Ls = 0 P0 + 1P1 + ......... + 8 P8 = 3.1286 automóviles
Un automóvil que espera en los puestos provisionales en realidad es uno en una
línea de espera. Entonces, su tiempo de espera a que haya un cajón vació es Wq. Para
determinar Wq se usara la ecuación
1
Wq = W s −
µ
Así,
Ls 3.1286
Ws = = = 0.53265 hora
λef 5.8737
1
Wq = 0.53265 - = 0.03265 hora
2
La cantidad promedio de puestos ocupados es la misma que la cantidad promedio de
servidores ocupados,
λef 5.8737
c = L s − Lq = = = 2.9368 puestos
µ 2
De c se obtiene
c 2.9368
Utilización de cajones = = = 0.58736
c 5

10.12.2 Modelos con un supervisor


En esta sección se presentan dos modelos para el caso en que hay un solo servidor
(c = 1). En el primer modelo no se establece limite para la cantidad máxima en le sistema, y
en el segundo se supone un limite finito del sistema. Ambos modelos suponen una fuente
de capacidad infinita. Las llegadas suceden con la frecuencia de λ clientes por unidad de
tiempo, y la tasa de servicio es μ clientes por unidad de tiempo.
Los resultados de los dos modelos (y en realidad de todos los modelos restantes de
la sección 10.12) se deducen como casos especiales del modelo generalizado de la sección
10.11.
Se usará la notación de Kendall para resumir las características de cada caso. Como
las deducciones de Pn en la sección 10.11 y de todas las medidas de desempeño en la
sección 10.12.1 son totalmente independientes son de determinada disciplina de cola, se
usará el símbolo DG (disciplina general) con la notación.
(M/M/1) : (DG/∞/∞). Con la notación del modelo generalizado se tiene que
λn = λ 
, n = 0, 1, 2, ....
µn = µ
También, λef = λ y λperdido = 0, porque todos los clientes que llegan pueden entrar al
sistema.

343
Capítulo 10 Texto Guía – Sistemas de Ingeniería

λ
Si ρ = , la ecuación de Pn en el modelo generalizado se reduce entonces a:
µ
Pn = ρ n Po , n = 0, 1, 2,...
Para determinar el valor de P0 se usa la identidad.

P0 (1 + ρ + ρ 2 + .....) = 1
 1 
Suponiendo que ρ < 1, la serie geométrica tiene la suma finita   , y entonces,
1− ρ 
P0 = 1 − ρ , siempre que ρ < 1
La fórmula general de Pn es entonces la de la siguiente distribución geométrica:
Pn = (1 − ρ ) ρ n , n = 1, 2, ..... ( ρ < 1)
La deducción matemática de Pn impone la condición que ρ < 1 o que λ < μ. Si λ ≥ μ,
la serie geométrica no converge, y no existirán las probabilidades de Pn de estado estable.
Este resultado tiene sentido, intuitivamente, porque a menos que la tasa de servicio sea
mayor que la frecuencia de llegada, la cola crece en forma indefinida.
La medida de desempeño Lq se puede deducir como sigue:
∞ ∞
Ls = ∑ nPn = ∑ n(1 − ρ ) ρ n
n =0 n =0

d ∞ n
= (1 − ρ ) ρ ∑ρ
dρ n = 0
d  1  ρ
= (1 − ρ ) ρ   =
dρ  1 − ρ  1 − ρ

Como λef = λ para este caso, las medidas restantes de desempeño se calculan con las
ecuaciones de la sección 10.12.1. Así,

Ls 1 1
Ws = = =
λ µ (1 − ρ ) µ − ρ
1 ρ
Wq = W s − =
µ µ (1 − ρ )
ρ2
Lq = λWq =
1− ρ
c = Ls − Lq = ρ

Ejemplo de aplicación 10.7


En la construcción de un camino vecinal solo tiene un banco de préstamo de arena y
grava, el cual cuenta con una retroexcavadora. Las volquetas llegan siguiendo una
distribución de Poisson, con 4 volquetas por hora que pueden aguardar en un lugar de
estacionamiento, si el lugar del carga esta ocupado. El tiempo para entrar, cargar y salir de

344
Capítulo 10 Texto Guía – Sistemas de Ingeniería

una volqueta es exponencial, con 10 minutos de promedio. Las volquetas que no se pueden
estacionar en la instalación pueden esperar en el arroyo junto al camino. Eso quiere decir
que para todo fin práctico no hay límite del tamaño del sistema. El residente de obra de la
construcción desea determinar el tamaño del estacionamiento.
60
Para este caso λ = 4 volquetas por hora y μ = = 6 volquetas por hora.
10
λ
Como ρ = < 1 , el sistema puede funcionar en condiciones de estado estable.
µ
Los datos de este modelo para TORA son

Lambda Mu c Limite del sistema Limite de la fuente


4 6 1 infinito infinito

En la figura 10.6 se ven los resultados de este problema.

Estos resultados indican que la cantidad promedio de volquetas en la cola Lq, es


1.33. No recomendamos usar Lq como única base para determinar los puestos de
estacionamiento, porque le diseño debe reflejar hasta cierto punto, la longitud máxima
posible de la cola.

Figura 10.6
Resultados del ejemplo de aplicación obtenidos con TORA

Por ejemplo, podrá ser más factible diseñar el estacionamiento de tal modo que una
volqueta que llegue encuentre lugar al menos el 90% de las veces.
Sea K la cantidad de puestos de estacionamiento. Tener K puestos equivale a tener
K + 1 lugares en el sistema (en la cola y en la cola de carga). Una volqueta que llega

345
Capítulo 10 Texto Guía – Sistemas de Ingeniería

encontrara un cajón el 90 % de las veces si hay cuando mucho K volquetas en el sistema.


Esta condición equivale al siguiente enunciado de probabilidades:
P0 + P1 + ....... + PK ≥ 0.9
En la figura 10.6 se ve que los valores acumulados de Pn son 0.86831 y 0.91221
para n = 4 y n = 5, respectivamente. Eso quiere decir que la condición se satisface con K ≥
5 puestos de estacionamiento.
La cantidad K de espacios también se puede determinar usando la definición
matemática de Pn, esto es,
( )
(1 − ρ ) 1 + ρ + ρ 2 + ....... + ρ K ≥ 0.9
1 − ρ K +1
La suma de la serie geométrica truncada es igual a . Entonces, la condición
1− ρ
se reduce a
1 − ρ K +1 ≥ 0.9
Al simplificar la desigualdad se obtiene
ρ K +1 ≤ 0.1

10.13 Otros modelos de cola


Las secciones anteriores se concentraron en modelos de colas de Poisson. Las
publicaciones sobre las colas contienen abundancia de otros modelos. En especial, las colas
con prioridad de servicio, colas de red y colas no de Poisson, forman una parte importante
de este campo. Esos modelos se pueden encontrar en la mayor parte de los libros
especializados en teoría de colas.

10.14 Modelos de decisión con colas


El nivel de servicio de una instalación con líneas de espera es una función de la tasa
de servicio μ y de la cantidad de servidores en paralelo c. En esta sección se presentan dos
modelos de decisión para determinar los niveles de servicio “adecuados” para sistemas de
colas: 1) un modelo de costo y 2) un modelo de nivel de aspiración. En ambos modelos se
reconoce que los mayores niveles de servicio reducen el tiempo de espera en el sistema.
Los dos modelos tratan de llegar a un notable balance entre los factores opuestos, de nivel
de servicio y de espera
10.14.1 Modelos de costos.
En los modelos de costo se trata de balancear dos costos opuestos:
1. El costo de ofrecer el servicio
2. El costo de demorar la oferta del servicio (el tiempo de espera del
cliente)
Las dos clases de costo se contraponen, porque al aumentar una se reduce la otra
automáticamente, como se ve en la figura 10.1.
Si x = (μ o c) representa el nivel de servicio, se puede expresar como sigue el
modelo de costo:
ETC ( x) = EOC ( x) + EWC ( x)
En donde:

346
Capítulo 10 Texto Guía – Sistemas de Ingeniería

ETC = Costo total esperado por unidad de tiempo


EOC = Costo esperado del funcionamiento de la instalación por unidad de
tiempo
EWC = Costo esperado de la espera por unidad de tiempo.

Las formas más sencillas de EOC y EWC son las siguientes funciones lineales:

EOC ( x) = C1 x
EWC ( x) = C 2 Ls

En donde

C1 = Costo por unidad de x por unidad de tiempo


C2 = Costo de la espera por unidad de tiempo por cada cliente que espera

En los dos ejemplos que siguen se explica el uso del modelo de costo. En el primero
se supone que x es igual a la tasa de servicio μ, y en el segundo se supone que x es igual a la
cantidad de servidores en paralelo, c.

10.14.2 Modelo de nivel de aspiración


La viabilidad del modelo de costo depende de lo bien que se pueda estimar los
parámetros de costo. En general es difícil estimarlo, en especial el relacionado con el
tiempo de espera de los clientes. El modelo de aspiración alivia esta dificultad al trabajar en
forma directa con las medidas de desempeño de la cola que se trate. La idea es determinar
un intervalo aceptable de nivel de servicio (μ o c) especificando limites razonables de
medidas contrapuestas de desempeño. Esos límites son los niveles de aspiración que desea
lograr quien toma las decisiones.
Ilustraremos el procedimiento aplicándolo al modelo de varios servidores donde se
desea determinar una cantidad c “Aceptable” de servidores. Esto se hace teniendo en cuenta
las dos medidas (contrapuestas) de desempeño.
1. El tiempo promedio en el sistema Ws.
2. El porcentaje de inactividad de los servidores, X.
El valor de Ws se puede calcular usando TORA. El porcentaje de inactividad se
puede calcular como sigue:
c−c c − ( Ls − Lq )  λef 
X= × 100 = × 100 = 1 −  × 100
c c  cµ 

347
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Figura 10.7
Aplicación de niveles de aspiracion
En la toma de decisiones en línea de espera

El problema se reduce a determinar la cantidad c de servidores tal que:


Ws ≤ α y X ≤β
En donde α y β son los niveles de aspiración especificados por quien toma las
decisiones. Por ejemplo, se puede estipular que α = 3 y β = 10 por ciento.

Se puede determinar la solución del problema haciendo una gráfica de Ws y X en


función de c, como la de la figura 10.7. Al ubicar α y β en la gráfica se puede determinar
de inmediato un intervalo aceptable c*. Si no se pueden satisfacer las dos condiciones al
mismo tiempo, habrá que aflojar una o ambas, para poder determinar un intervalo factible.

10.15 Problemas propuestos


1. Supongamos que un sistema de colas tiene dos sirvientes, distribución de tiempo entre
llegadas exponenciales, de media 2 horas, y distribución de tiempos de servicio
exponencial de media 2 horas. Sabemos que un cliente ha llegado a las 12:00 de
mediodía.
a) ¿Cuál es la probabilidad de que la siguiente llegada sea antes de la 1:00pm?,
¿Entre 1:00 PM y 2:00 PM?, ¿Después de las 2:00pm?
b) Supongamos que no llegan más clientes antes de la 1:00 PM ¿Cuál es la
probabilidad de que la siguiente llegada sea entre 1:00pm y 2:00pm?
c) ¿Cual es la probabilidad de que el número de llegadas entre 1:00pm y 2:00pm
sea cero?, ¿Uno?, ¿Dos o más?
d) Supongamos que a la 1:00pm ambos sirvientes están atendiendo clientes. ¿Cual
es la probabilidad de que ninguno de los 2 clientes haya completado su servicio
antes de las 2:00 PM?, ¿Antes de la 1:10pm?, ¿Antes de la 1:01pm?
2. El Servicio Hidrológico de la Comunidad Autónoma de X planea construir un embalse
para regular la cuenca de uno de sus ríos con el objetivo de satisfacer los requerimientos
de agua para regadío. La capacidad máxima del embalse previsto será de 4.000.000 m3,
o, de manera abreviada 4 unidades de agua (1 unidad de agua = 1.000.000 m3).

348
Capítulo 10 Texto Guía – Sistemas de Ingeniería

Antes de proceder a la construcción el Servicio desearía tener alguna idea sobre la


efectividad del mismo a largo plazo. Para ello se ha llevado a cabo un estudio sobre los
volúmenes semanales de agua aportados por el río, encontrándose con que pueden
aproximarse por medio de la siguiente distribución de probabilidad discreta:

Aportación semanal 2 3 4 5
en unidades de agua
Probabilidad 0.3 0.4 0.2 0.1

3. El Servicio está considerando la posibilidad de contratos de regadío que requerirán el


consumo de 2 unidades de agua por semana, pero adicionalmente, para mantener los
estándares de calidad del agua para otros usos, deberá dejar salir al menos 1 unidad de
agua por semana. Por lo tanto el objetivo semanal será dejar salir 3 unidades de agua. Si
el estado del embalse (nivel del embalse) más la aportación de agua del rió es menor
que esta cantidad se tendrá que dejar salir menos agua, afectando la carencia a los
regadíos. Si el embalse está lleno, cualquier exceso será vertido por los aliviaderos. El
nivel mínimo admitido del embalse (estado mínimo) no podrá ser inferior a una unidad
de agua.
a) Representar el diagrama de transiciones, encontrar la matriz de probabilidades
de transición, y comprobar que se trata de un proceso markoviano.
b) Supuesto el embalse en el estado mínimo con 1 unidad de agua, ¿Cuántas
semanas tardará, en promedio, en volver a estar en la misma situación?
c) Suponiendo que la primera semana partimos de una situación en la que se
embalsaban 3 unidades de agua ¿Cual es la probabilidad de que dos semanas
después se encuentre al mínimo?
4. Una estación de servicio tiene una bomba de gasolina. Los coches que requieren
servicio llegan según un proceso de Poisson con una tasa media de 20 vehículos por
hora. Si la bomba está ocupada los clientes potenciales pueden marcharse para ser
atendidos en otra estación. En particular, si hay n coches en la estación, la probabilidad
de que un cliente potencial se marche es de n / 5 para n = 1,2,3,4,5. El tiempo requerido
para servir un coche es de 3 minutos, en promedio, exponencialmente distribuidos.
a) Identificar el modelo de colas y calcular el porcentaje de clientes perdidos.
b) Calcular el tiempo medio de permanencia en el sistema
c) ¿Cual sería la ventaja si hubiesen 2 bombas de gasolina?

349
Capítulo 10 Texto Guía – Sistemas de Ingeniería

10.16 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]

10.17 Enlaces
 http://www.elprisma.com/apuntes/curso.asp?id=8921
 http://www.itlp.edu.mx/publica/tutoriales/investoper2/
 http://www.elprisma.com/apuntes/apuntes.asp?page=22&categoria=604
 http://www.elprisma.com/apuntes/curso.asp?id=5892

350
Capítulo 10 Texto Guía – Sistemas de Ingeniería

351
Anexo A Texto Guía – Sistemas de Ingeniería

ANEXO A
Operaciones Matriciales

350
Anexo A Texto Guía – Sistemas de Ingeniería

Matrices
Definición de una matriz
Una matriz es un ordenamiento rectangular de elementos. El elemento aij de la matriz A
ocupa el i-esimo renglón y la j-esima columna del conjunto. Se dice que una matriz con
m renglones y n columnas es de tamaño (o orden) m×n. por ejemplo, la siguiente matriz
es de tamaño (4×3).
 a11 a12 a13 
 
 21 22 23 
a a a
A= = a ij
a 31 a 32 a 33  4 x3
 
a a a 
 41 42 43 
Tipo de matrices
1. Una matriz cuadrada tiene m = n.
2. Una matriz inversa es una matriz cuadrada en la que los elementos de la
diagonal principal son 1 y los elementos diagonales 1 y los elementos no
diagonales son cero. Por ejemplo una matriz indentidad de (3×3).
1 0 0 
 
I 3 =  0 1 0
 0 0 1
 
3. Un vector renglón es una matriz con un renglón y n columnas.
4. Un vector columna es una matriz con m renglones y una columna.
5. La matriz AT es la transpuesta de A. si el elemento aij de la matriz A es igual al
elemento aji de AT para toda i y j. Por ejemplo,
1 4 
  1 2 3 
A =  2 5  ⇒ A T =  
3 6  4 5 6 
 
6. Una matriz B = 0 es una matriz cero si cada elemento de B es cero.
7. dos matrices A = a ij y B = bij son iguales si, solo si, son del mismo tamaño y
aij = bij para toda i y j.
Matrices no singulares
Una matriz es de rango r si el mayor ordenamiento cuadrado en ella que tiene
determinante distinto de cero es del tamaño r. Matriz cuadrada con determinante
distinto de cero se llama matriz no singular o de rango total. Por ejemplo,
1 2 3 
 
A =  2 3 4
3 5 7 
 

351
Anexo A Texto Guía – Sistemas de Ingeniería

A es una matriz singular, porque


A = 1 × (21 − 20 ) − 2 × (14 − 12 ) + 3 × (10 − 9 ) = 0
Pero el rango de A es r = 2, porque
1 2 
  = −1 ≠ 0
 2 3
Método para calcular la inversa de una matriz – método de
operaciones de renglón (Gauss – Jordan).
Se tiene la matriz separada ( A I ) donde A es no singular. Al premultiplicar por A-1 se
obtiene
(A −1
) (
A A −1 I = I A −1 )
Entonces, aplicar una secuencia especifica de transformaciones de renglones. A
conviene en I e I se convierte en A-1. Para ilustrar el procedimiento, se considera el
sistema de ecuaciones:
1 2 3   x1   3 
     
 2 3 2  =  x2  =  4 
3 3 4   x  5
   3  
La solución de X y la inversa de la matriz de base se pueden obtener directamente con
la ecuación
(
A −1 ( A I b ) = I A −1 A −1b )
Las siguientes iteraciones detallan las operaciones de transformación.
Iteración 0
1 2 3 1 0 0 3 
 
 2 3 2 0 1 0 4
3 3 3 0 0 1 5
 
Iteración 1
1 2 3 1 0 0 3 
 
 0 − 1 − 4 − 2 1 0 − 2
 0 − 3 − 5 − 3 0 1 − 4
 
Iteración 2
 1 0 − 5 − 3 2 0 − 1
 
1 1 4 2 −1 0 2 
0 0 7 3 − 3 1 2 
 

352
Anexo A Texto Guía – Sistemas de Ingeniería

Iteración 3
 6 1 5 3
 − − 
1 0 0 7 7 7 7
0 1 0 2 5 4 6

 7 7 7 7
0 0 1 3 3 1 2
 − 
 7 7 7 7
3 6 2
Esto da como resultado x1 = , x 2 = y x 3 = . La inversa de A es la matriz del lado
7 7 7
derecho, que es la misma que se obtiene con el método de la matriz adjunta.
Forma de producto de la inversa. Supongase q ue dos matrices no singulares, B y
Bsiguiente difieren exactamente en una columna. Supongase ademas que B-1 es dato.
Entonces, la inversa B-1siguiente se puede calcular con la formula
B-1siguiente=EB-1
La matriz E se calcula en la siguiente forma. Si el vector de columna Pj en B se
sustituye por el vector columna P para producir Bsiguiente, entonces E se forma como una
matriz identidad de m con su r-esima columna sustituida por
−

(B −1

Pj

)
(B )
1
−1
− 
Pj
 
2

ξ=
1    ← lugar r ,− B −1 P ( ) ≠0
(B −1 Pj )
r


+1 

j r

  
−
 ( B Pj m 
−1
)
(
Si B −1 Pj )
r
= 0 , entonces B-1siguiente no existe:
Para demostrar la validez de la formula B-1siguiente se define F como una matriz identidad
de m cuya r-ésima columna se reemplaza por B-1Pj; esto es,
(
F = e1 , e r −1 , B −1 Pj , e r +1 ,  , e m )
Ya que Bsiguiente difiere de B solo por que r-ésima columna se sustituye con Pj, entonces
B siguiente = BF
Así,
= (BF ) = F −1 B −1
−1 −1
B siguiente
La formula es consecuencia de hacer que E = F-1
Se puede usar la forma de producto para invertir cualquier matriz B no singular. Se
comienza con Bo=I=Bo-1. A continuación se forma B1 como matriz identidad cuya
primera columna esta sustituida con la primera columna de B. Entonces,
B1−1 = E1 Bo−1 = E1 I = E1 I = E1

353
Anexo A Texto Guía – Sistemas de Ingeniería

Esto quiere decir que para la matriz original B,


B −1 = E m E m −1  E1
El ejemplo siguiente ilustra la aplicación de la forma de producto de la inversa. Se tiene
 2 1 0
 
B =  0 2 0
 4 0 1
 
Iteración 0
1 0 0
−1
 
Bo = B o =  0 1 0
0 0 1
 
Iteración 1
 2 0 0
 
B1 =  0 1 0 
 4 0 1
 
← r =1
 2
−1
 
Bo P1 = P1 =  0 
 4
 
 1 
 0 0
 2 
E −1 =  − 1 0
0
 2 
 4 
− 0 1
 2 
 1 
 0 0
 2 
B1−1 =  0 1 0
 − 2 0 1
 
 
Iteración 2
 2 1 0
 
B2 =  0 2 0  = B
 4 0 1
 
 1   1 
 0 0  1   
 2    2 
B1−1 P2 =  0 1 0  2  =  2  ← r = 2
 − 2 0 1  0   − 2 
    
   

354
Anexo A Texto Guía – Sistemas de Ingeniería

 1 
 −  
1 2   1 
  1 − 0
2 0  4 
 1 
 0 = 0 0
1
E2 =  0 +
 2   2 
0 − (− 2 )  1  0 1 1
 
 2   
 
 
 1   1 1 
1 − 0  1   − 0
 4  2 0 0   2 4 
 
= 0 0  0 1 0  =  0 0
1 1
B −1 = B 2−1 = E 2 B1−1
 2   2 
0 1 1  − 2 0 1   − 2 1 1
    
   
Relación de operaciones matriciales sencillas
En los cálculos de la tabla símplex solo es necesaria la utilización de tres
operaciones matriciales de lo más elemental las cuales son:
• (vector renglón) × (matriz)
• (matriz) × (vector columna)
• (escalar) × (matriz)
Por lo cual se debe presentar algunas definiciones de matrices:
1. una matriz A, de tamaño (m × n), es un arreglo rectangular de m
renglones y n columnas.
2. un vector renglón V, de tamaño m. es una matriz (1 × m).
3. un vector columna P, de tamaño n, es una matriz (n × 1).
Y estas definiciones se presentan en forma matemática como sigue:
 a11 a12  a1n   p1 
   
 a21 a22  a2 n  p 
V = (v1 , v2 ,  , vm ), A =  ,P = 2 
    
   
a a  a   
 m1 m 2 mn   pm 
1. (Vector renglón × matriz, VA). La operación solo se define si el tamaño del
vector renglón V es igual a la cantidad de reglones de A lo cual se da:
 m m m

VA =  ∑ vi ai1 ,∑ vi ai 2 ,  , ∑ vi ain 
 i =1 i =1 i =1 
Se puede dar un ejemplo:
1 2 
 
(10, 20, 30) 3 4  = (1 × 10 + 3 × 20 + 5 × 30, 2 × 10 + 4 × 20 + 6 × 30 ) = (220, 280 )
5 6
 

355
Anexo A Texto Guía – Sistemas de Ingeniería

2. (Matriz × vector columna, AP). La operación se define si la cantidad de


columnas de A es igual al tamaño del vector columna P, lo cual en este caso,
 n 
 ∑ a1 j p j 
 j =1 
 n 
 ∑ a 2 j pj 
A =  j =1 
 
  
 n 
 ∑ a mj pj 
 j =1 
Se puede dar un ejemplo:
1 
10, 20, 30   1 × 10 + 2 × 20 + 3 × 30  120 
  2  =   =  
 40, 50, 60  3  1 × 40 + 2 × 50 + 3 × 60   320 
 
3. (Escalar × Matriz, αA). Dada la cantidad del escalar (o constante, ctte.)α, la
operación de multiplicación αA, dará como resultado una matriz del mismo
tamaño de A, cuyo elemento (i-j)-ésimo es igual a αaij.
Se puede dar un ejemplo:

(2)
10, 20, 30   20, 40, 60 
 =  
 40, 50, 60   80, 100, 120 
En general αA=Aα, lo mismo se puede deducir para la multiplicación de vectores
por escalares. Por ejemplo αP=Pα y αV=Vα.

356
Anexo B Texto Guía – Sistemas de Ingeniería

ANEXO B
Tabla de Distribución Normal

356
Anexo B Texto Guía – Sistemas de Ingeniería

Tabla de la distribución normal


tipificada N(0,1)

z 0'00 0'01 0'02 0'03 0'04 0'05 0'06 0'07 0'08 0'09
0.0 0.50000 0.50399 0.50798 0.51197 0.51595 0.51994 0.52392 0.52790 0.53188 0.53586
0.1 0.53983 0.54380 0.54776 0.55172 0.55567 0.55962 0.56356 0.56749 0.57142 0.57535
0.2 0.57926 0.58317 0.58706 0.59095 0.59483 0.59871 0.60257 0.60642 0.61026 0.61409
0.3 0.61791 0.62172 0.62552 0.62930 0.63307 0.63683 0.64058 0.64431 0.64803 0.65173
0.4 0.65542 0.65910 0.66276 0.66640 0.67003 0.67364 0.67724 0.68082 0.68439 0.68793
0.5 0.69146 0.69497 0.69847 0.70194 0.70540 0.70884 0.71226 0.71566 0.71904 0.72240
0.6 0.72575 0.72907 0.73237 0.73565 0.73891 0.74215 0.74537 0.74857 0.75175 0.75490
0.7 0.75804 0.76115 0.76424 0.76730 0.77035 0.77337 0.77637 0.77935 0.78230 0.78524
0.8 0.78814 0.79103 0.79389 0.79673 0.79955 0.80234 0.80511 0.80785 0.81057 0.81327
0.9 0.81594 0.81859 0.82121 0.82381 0.82639 0.82894 0.83147 0.83398 0.83646 0.83891
1.0 0.84134 0.84375 0.84614 0.84849 0.85083 0.85314 0.85543 0.85769 0.85993 0.86214
1.1 0.86433 0.86650 0.86864 0.87076 0.87286 0.87493 0.87698 0.87900 0.88100 0.88298
1.2 0.88493 0.88686 0.88877 0.89065 0.89251 0.89435 0.89617 0.89796 0.89973 0.90147
1.3 0.90320 0.90490 0.90658 0.90824 0.90988 0.91149 0.91309 0.91466 0.91621 0.91774
1.4 0.91924 0.92073 0.92220 0.92364 0.92507 0.92647 0.92786 0.92922 0.93056 0.93189
1.5 0.93319 0.93448 0.93574 0.93699 0.93822 0.93943 0.94062 0.94179 0.94295 0.94408
1.6 0.94520 0.94630 0.94738 0.94845 0.94950 0.95053 0.95154 0.95254 0.95352 0.95449
1.7 0.95543 0.95637 0.95728 0.95818 0.95907 0.95994 0.96080 0.96164 0.96246 0.96327
1.8 0.96407 0.96485 0.96562 0.96637 0.96712 0.96784 0.96856 0.96926 0.96995 0.97062
1.9 0.97128 0.97193 0.97257 0.97320 0.97381 0.97441 0.97500 0.97558 0.97615 0.97670
2.0 0.97725 0.97778 0.97831 0.97882 0.97932 0.97982 0.98030 0.98077 0.98124 0.98169
2.1 0.98214 0.98257 0.98300 0.98341 0.98382 0.98422 0.98461 0.98500 0.98537 0.98574
2.2 0.98610 0.98645 0.98679 0.98713 0.98745 0.98778 0.98809 0.98840 0.98870 0.98899
2.3 0.98928 0.98956 0.98983 0.99010 0.99036 0.99061 0.99086 0.99111 0.99134 0.99158
2.4 0.99180 0.99202 0.99224 0.99245 0.99266 0.99286 0.99305 0.99324 0.99343 0.99361
2.5 0.99379 0.99396 0.99413 0.99430 0.99446 0.99461 0.99477 0.99492 0.99506 0.99520
2.6 0.99534 0.99547 0.99560 0.99573 0.99585 0.99598 0.99609 0.99621 0.99632 0.99643
2.7 0.99653 0.99664 0.99674 0.99683 0.99693 0.99702 0.99711 0.99720 0.99728 0.99736
2.8 0.99744 0.99752 0.99760 0.99767 0.99774 0.99781 0.99788 0.99795 0.99801 0.99807
2.9 0.99813 0.99819 0.99825 0.99831 0.99836 0.99841 0.99846 0.99851 0.99856 0.99861
3.0 0.99865 0.99869 0.99874 0.99878 0.99882 0.99886 0.99889 0.99893 0.99897 0.99900
3.1 0.99903 0.99906 0.99910 0.99913 0.99916 0.99918 0.99921 0.99924 0.99926 0.99929
3.2 0.99931 0.99934 0.99936 0.99938 0.99940 0.99942 0.99944 0.99946 0.99948 0.99950
3.3 0.99952 0.99953 0.99955 0.99957 0.99958 0.99960 0.99961 0.99962 0.99964 0.99965
3.4 0.99966 0.99968 0.99969 0.99970 0.99971 0.99972 0.99973 0.99974 0.99975 0.99976
3.5 0.99977 0.99978 0.99978 0.99979 0.99980 0.99981 0.99981 0.99982 0.99983 0.99983
3.6 0.99984 0.99985 0.99985 0.99986 0.99986 0.99987 0.99987 0.99988 0.99988 0.99989
3.7 0.99989 0.99990 0.99990 0.99990 0.99991 0.99991 0.99991 0.99992 0.99992 0.99992
3.8 0.99993 0.99993 0.99993 0.99994 0.99994 0.99994 0.99994 0.99995 0.99995 0.99995
3.9 0.99995 0.99995 0.99996 0.99996 0.99996 0.99996 0.99996 0.99996 0.99997 0.99997
4.0 0.99997 0.99997 0.99997 0.99997 0.99997 0.99997 0.99998 0.99998 0.99998 0.99998
4.1 0.99998 0.99998 0.99998 0.99998 0.99998 0.99998 0.99998 0.99998 0.99999 0.99999
4.2 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999
4.3 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999 0.99999
4.4 0.99999 0.99999 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000

357
Anexo B Texto Guía – Sistemas de Ingeniería

358

Potrebbero piacerti anche