Subido por johansebastianpiero

Sixto Ríos Insua, David Ríos Insua, Alfonso Mateos y Jacinto Martín - Programación lineal y aplicaciones Ejercicios resueltos (1998, Alfa Omega - Ra Ma)

Anuncio
PROGRAMACIÓN LINEAL
YAPLICACIONES.
Ejercicios resueltos
PROGRAMACIÓN LINEAL
YAPLICACIONES.
Ejercicios resueltos
Este libro contiene una colección de ejercicios resueltos de PL con sus
extensiones y aplicaciones a problemas de planificación, gestión,
distribución ... en áreas como la Economía, la Ingeniería, o la
Administración, que reflejan la experiencia de los autores en la enseñanza
y aplicaciones de estas técnicas en los últimos diez años.
.
La obra se caracteriza porque no sólo dedica atención a los algoritmos
de solución, sino también al proceso de construcción de modelos e
interpretación, que constituyen un apartado tan importante o aun más que
el anterior debido a que la disponibilidad actual de software puede
convertir la obtención de una solución en un proceso automatizado.
1
Todos los capítulos incluyen al principio un breve resumen de los
problemas que se tratan, as{ como de los conceptos y algoritmos más
importantes que se utilizan en su desarrollo. Además, cada ejercicio lleva
un título para que resulte más sencilla su clasificación e identificación.
i
El libro va dirigido a profesionales y alumnos de Facultades~ _
Matemáticas y Ciencias Económicas y Empresariales, así como Escuel?J de
Ingenieros, en las que se esrudjan técnicas de Investigación Operativa.
ISBN: 970·15·0362-7
1
1
f1 Alfa~~ega Grupo Editor
Sixto Ríos Insua - David Ríos Insua
Alfonso Mateos - Jacinto Martín
~- A
ilb. Alfaomega
A~·
V
Programación Lineal
y Aplicaciones
Ejercicios resueltos
Sixto Ríos lnsua 1
David Ríos lnsua 1•2
Alfonso Mateas Caballero,
Jacinto Martín Jiménezl
Grupo de Análisis de Decisiones
1
2 Escuela
Departamento de Inteligencia artificial
Facultad de Informática
Universidad Politécnica de Madrid
Superior de Ciencias Experimentales y Tecnología
Universidad Rey Juan Carlos
Programación Lineal yAplicaciones. Ejercicios resueltos
Q Sixto Rlos lnsua, David Rlps lnsua, Alfonso Mateos Caballero,
Jacinto Martín Jiménez
.ISBN 84-7897-284-6, edición original publicada por RA-MA Editorial,
MADRJD, España Derechos re~ervados Q RA-MA &liiorial
MARCAS COMERCIALES: RA-MA ha intentado a lo largo de este libro
distinguir las marcas registradas de los términos descriptivos, siguiendo el
estilo d~ mayúsculas que utiliza el fabricante, sin intención de infringir la
marca y sólo en beneficio del propietario de la misma.
INDICE
Primera edición:Alfaomega Grupo Editor, Colombia, julio 1998
Primaa reimpresión: Alfaomega Grupo Editor, Colombia, enero 2000
Segunda reimpresión: Alfaomega Grupo Editor, México, mayo 2006
1998ALFAOi\'lEGA GRUPO EDITOR, S.A. de C.V.
Pitágoras 1139, Col. Del Valle, 03100 México, D.F.
@
Miembro de la Cámara Nacional de la industria Editorial Mexicana
Registro No. 23 17
PROLOGO.. . . . . . . . . . . . . . . . . .
vii
CONSTRUCCION DE MODELOS
1
l.
2. RESOLUCION DE PROGRAMAS LINEALES
Internet: http://www.alfaomega.com.nu:
E-mail: [email protected]
51
3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
. 123
4. TRANSPORTE Y ASIGNACION .
. 193
5. OPTIMIZACION EN REDES
. 261
6. PROGRAMACION ENTERA
. 321
ISBN 970-15-0362-7
Derechos reservados.
Esta obra es propiedad intelectual de su autor y los derechos de publicación
en lengua española han sido legalmente transferidos al editor. Prohibida su
reproducción parcial o total por cualquier medio sin penniso por escrito del
propietario de los derechos del copyright.
NOTA li\lPORTANTE
La información contenida en esta obra tiene un fin exclusivamente didáctico
y, por lo tanto, no está previsto su aprovechamiento a nivel profesional o
industrial. Las indicaciones técni~y'Jlrogramll$ i.ncluidos, han ~ido elaborados
con gran cuidado por el aut~r y r~p~pducidos paj9 e~ri~t~ npn,nas de'contról.
ALFAOMEGA GRUPO EDITOR, S.A. de C.V. no seiájurídicamente responsable por: mores u omisiones; daños y perjuicios que se pudieran atribuir al uso
de la información comprendida en este libro, ni por la utilización indebida que
pudi~ra dársele.
Edición autorizada para venta en tvl<!xico y todo el contin~nte americano
lmpreso en México - Printed in Mexico
7. PROGRAMACION LINEAL
~ULTIOBJETIVO
. 371
BIBLIOGRAFIA ...
. 415
INDICE ANALITICO
. 419
J
1
PROLOGO
La Programación Lineal (PL) es una de las técnicas de modelización y resolución de problemas más utilizadas en la Investigación Operativa. Se refiere a
. la modelización y resolución de problemas de toma de decisiones, en los que las
variables de decisión se relacionan mediante restricciones lineales y La función de
evaluación de la decisión, o función objetivo, es lineal en las variables de decisión.
La historia de la PL es relativamente reciente, teniendo un desarrollo importante a partir de la Segun~a Guerra Mundial, en que recibe su nombre a
partir del planteamiento y resolución de problemas de asignación de recursos entre diferentes actividades. Las aplicaciones posteriores a otros problemas fueron
numerosas, constituyendo hoy los modelos de PL una de las herramientas más
utilizadas e importantes de los métodos cuantitativos de gestión y planificación.
Un hito fundamental en su desarrollo fue la introducción por Dantzig, en 1947,
del método del símplex, que permite resolver cualquier problema de programación lineal. Con la aparición de los ordenadores electrónicos y la posibilidad de
resolver problemas de mayor tamaño, este algoritmo fue posteriormente mejorado
para ganar eficiencia desde el punto de vista computacional. Incluso, en tiempos
más recientes, se han introducido otros métodos alternativos de resolución.
Las aplicaciones de la PL son variadas como se muestra en la colección de
ejercicios de este libro y, debido a su éxito, su utilización ha sobrepasado el
ámbito de Departamentos de Investigación Operativa, llegando a convertirse en
una herramienta útil de planificación en muchas áreas. La PL puede ser una
gran ayuda tanto en problemas con los que sólo nos enfrentamos una vez como
en otros que correspondan a actividades que deben repetirse de forma sistemática.
En cada caso, el decisor debe organizar los distintos recursos para alcanzar cierto
objetivo, usualmente La. ma.'Ónl.Ízación de beneficios o minimización de pérdida;¡.
viii
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
@RA-MA
Este libro se dedica a los modelos de PL y aplicaciones derivadas de ésta.
Nos hemos propuesto dedicar atención no sólo a los algoritmos de solución sino,
muy especialmente, al proceso de construcción de modelos e interpretación de
su solución, que constituyen un apartado tao importante o aún más que el anterior. Aunque con el software disponible en la actualidad la obtención de una
solución se convierte en un proceso automatizado, no hemos querido olvidarnos
de que para una. buena parte de los estudiosos también resultará beneficiosa la
exposición detallada de los pasos de los métodos utilizados, al menos en algún
ejercicio, evitando un tratamiento de caja negra.. En general, el estudio del libro
requiere seguir la ordenación dada en los capítulos, ya que el conocimiento de las
herramientas y conceptos de cada. capítulo serán convenientes para los posteriores.
El Capítulo 1 muestra mediante aplicaciones variadas el proceso de modelización o construcción de programas lineales. Muchas veces admitirán varias formulaciones como problemas matemáticos, unas mejores que otras, pero éste es un
problema del que no nos hemos ocupado aquf. En el Capítulo 2 se estudia el proceso de solución de programas lineales, comenzando con el procedimiento gráfico
para. fijar las ideas pásicas y, posteriormente, pasando a la solución analítica basada en el método del símplex y sus variantes y extensiones. El Capítulo 3 estudia
los importantes problemas de dualidad y análisis de sensibilidad, que constituyen
un complemento fundamental de la. solución del problema. El Capítulo 4 se dedica a los problemas de transporte y asignación, y diversas extensiones. Aunque
pueden considerarse modelos particulares de la PL, existen algoritmos de solución
especificas que permiten alcanzar una solución más eficientemente. El Capítulo
5 describe problemas de optimización y decisión en redes. Entre los primeros se
encuentran, entre otros, los del camino mínimo y más largo, flujo sobre una red
y árbol de máximo alcance. Los segundos se refiere a problemas de planificación
y control de proyectos, que se representan con redes CPM, PERT y Roy. Muchos de estos modelos admiten una modelización como programas lineales, tal
vez con variables enteras, sin embargo resulta ventajosa. la aplicación de métodos
de solución específicos. El Capítulo 6 estudia problemas lineales con algunas o
todas las variables enteras. Además de detallar procedimientos de solución de
la Programación Entera, buena parte de los ejercicios conllevan la construcción
de un modelo como en el capítulo inicial. Finalmente, el Capítulo 7, extiende
el enfoque tradicional de los inicios de la PL, en que únicamente se consideraba un objetivo de optimización, al caso de la programación multiobjetivo, que
constituye un enfoque de modelización más realista. Se muestran varios procedimientos de solución, siendo algunos de ellos extensión directa de los utilizados
en el caso uniobjetivo.
\
PROLOGO
ix
Todos los capítulos tienen al principio un breve resumen de los problemas que
se tratan, así como de los conceptos y algoritmos más importantes que se utilizan
en su desarrollo. Esto permitirá al lector tener una idea clara de los ejercicios que
se estudian en el capítulo. Además, se ha titulado cada ejercicio para. encuadrarlo
y así hacer más sencilla su identificación. Algunos de los ejercicios corresponden a
los propuestos en exámenes y prácticas de la asignatura Investigación Operativa
de Cuarto Curso de la Facultad de Informática de la Universidad Politécnica de
Madrid, recogiendo nuestra experiencia en la enseñanza de esta materia durante
los últimos diez años.
Durante todo este tiempo hemos contado con los consejos y discusiones de
numerosos compañeros y estudiaotes-.de la FI/UPM, destacando la ayuda prestada por Joaquín Fernández. Sixto Ríos, pionero de estas técnicas en nuestro país,
proporcionó abundantes consejos en la preparación de este texto.
El procesamiento se ha hecho en ~'!EX. en los sistemas del Departamento de
. Inteligencia Artificial de la Universidad Politécnica de Madrid. Los cálculos de
soluciones se han realizado con los programas QSB+ y QS, sugiriéndose al lector
el empleo de algún sistema similar para la realización de las tareas más tediosas
de cálculo.
SRl
DRI
AM
JR
Boadilla del Monte, julio de 1997
\
CAPITULO 1
CONSTRUCCION DE MODELOS
Comenzamos revisando las ideas básicas del proceso de construcción de modelos
- de Programación Lineal. La modelización o construcción de modelos es una fase
importante en la resolución cuantitativa de cualquier problema. La modelización
es una tarea no.sencilla que exige un esfuerzo importante de comunicación entre
el analista o investigador operativo y el decisor, para intentar representar lo más
fielmente posible la realidad del problema en estudio.
Los modelos de Programación Lineal se incluyen en la clase más general de
los modelos de optimización, en los que se optimiza una función de las variables
de decisión, denominada función objetivo, sujeta a un conjunto de limitaciones
o restricciones sobre las variables de decisión. La formulación general de un
problema de optimización es
max z
= J(x¡ , ... , Xn)
s.a
9j(X¡ , ... , Xn) ~O,
j
= 1, ..., m
donde fes la función objetivo, (x 1, ... , Xn) son las variables de decisión y tenemos
unas restricciones caracterizadas por las desigualdades sobre 9t. ..., 9m· En el caso
de la programación lineal, la función objetivo y las restricciones son lineales en
las variables de decisión. La función objetivo se expresará. en la forma
f(x¡, ... , Xn)
y las restricciones
= C¡X¡ t · · · t
CnXn
= c1x.
r
CAPITULO l. CONSTRUCCION DE MODELOS
2
PROCRAMACION LINEAl. Y APLICACIONES: EJERCICIOS RESUELTOS
3
@RA-MA
....
o, en notación matricial,
Ax~ b,
donde e es el vector de coeficientes del objetivo, A es la matriz de coeficientes
tecnológicos, b es el vector de términos a la derecha o constantes y x el de variables
de decisión.
El esquema básico que seguirá este capítulo, en el que los problemas se modelizan como Lineales, consistirá en definir primero las variables de decisión, después
las restricciones y, finalmente, la función objetivo a optimizar.
La modelización comenzará por definir las variables de decisión, que representan las variables sobre las que el decisor tiene control y que se suponen continuas. Se representarán algebraicamente en la forma x1 , x2, ... o bien con nombres
específicos que faciliten su identificación. Representarán productos o bienes a
producir, almacenar o vender, disponibilidad o adquisición de materias primas, ...
Puede haber problemas en los q'ue resulta posible la definición alternativa de variables y una elección cuidadosa será determinante para la posterior resolución del
modelo construido, que consistirá en la asignación a éstas de unos determinados
valores numéricos.
'
El siguiente paso será el reconocimiento de las restricciones y su construcción.
Las restricciones representan limitaciones o requisitos y definirán las decisiones
admisibles, es decir, la región factible del problema. Podrán ser de la forma de
desigualdades y/o igualdades, según representen el deseo de no exceder cierto
valor especifico (~), no descender por debajo de tal valor k) o ser igual a él
(=).
Finalmente, se construirá la función objetivo, que representará alguna cantidad que desea maximizar el decisor {beneficio, renta, eficacia, producción, ... ) o
bien minimizar (coste, tiempo, inventario,...). En algunos casos, las restricciones
y/o el objetivo se modelizarán inicialmente como funciones no lineales, que posteriormente se convertirán en lineales introduciendo transformaciones adecuadas.
Se desarrollarán algunas aplicaciones de la programación lineal a problemas
clásicos como los de regresión lineal y parabólica, factibilidad de sistemas de
ecuaciones lineales, solución no trivial de un sistema homogéneo y aproximación
de un sistema de ecuaciones inconsistente.
EJERCICIOS
1. Destilación de crudos. Una compañía de petróleos produce en sus refinerías
gasóleo {G), gasolina sin plomo (P) y gasolina súper (S) a partir de dos tipos de
1
C'?. Las refinerías están dotadas de dos tipos d~ tecnologías. La
crudos,
y utiliza en cada sesión de destilación 7 umdades d~ C¡ ~ 12
tecnologta nueva T~
.
d G d p S' de S. Con la tecnologta antigua
d
aro productr 8 umdades e 1 6 e Y .
S
T:. :~ ~btienen en cada destilación 10 unidades de G' 7 de p y -l de ' con ~n
asto de 10 unidades de C't y 8 de c2·
' ·, . ' . mes se deben
g Estudios de demanda permiten estimar que para el pr:;~mo 1700 de .S 'La
producir al menos 900 unidades de G, 3~0 de p y entrede 200~ unidades. . Los,
disponibilidad de crudo C't e~ de 1400 umdades y de c2
beneficios por unidad produc1da son
?t
e
--G-as-ol-in-a--~G~P~'s'
Beneficio/u
4
6
7
~;.:~::.~·::m~·;.~;;;~;:~:,~~~:;;;;:~; :¡7;~::~;·~:~:;;¡;1~~:~::
.·
sea el máximo.
Solución
1
tividades
fi"ando las variables de decisión. Observemos que as ac
Comenzesamta'o~nt~resada la compañía son el número de destilaciones con cada tecen que
•
d · "6
• Por. tanto' definimos las variables de wst n
no1ogta.
x = número de destilaciones con Tn
.
x2l = número de destt"lactones
con T.a
.
. ..
. . es debidas a las limitaciones en la dtsporubiltdad de ambos
Tenemos res t nccton
tipos de crudos. Para C1
[(7 unidades de Ct x Xt de~t~l~ciones) + (10 de C't x X2)]
.
~ [dispombthdad de C¡J,
~-
es decir,
f
Análogamente, para G2
12x 1 + 8x2 ~ 2000.
·
.· ·
T y x destilaciones
Además, sabemos que si se producen X¡ destt1acton~s co~ n . 2 ~
con Ta los product~sobtenid~s son
8x1 + 10x2 unidades de G
6x 1 +1x2 unidades de P
5x,·+ ü2 unidades de S
4
PROGRAMACION LINEAL
y APLICACIONES: EJERCICIOS RESUELTOS
e RA-MA
De los estudios d d
e emanda, podemos establecer las restricciones
8x¡ + 10x2 ~ 900
(demanda de G)
6x1 + 7x2 ~ 300
(demanda de P)
5x 1 + 4x2 S 1700 }
5x 1 + 4x2 > 800
(demanda de S)
Como es obvio h
- , ay que anadrr la condición de no negatividad
Xj ~
0,
j == 1, 2.
Observemos que pod .'
a val?res enteros. Si~'::~:arse que las variables de .decisión deben restringirse
fraccJonales, ya que ést
go, en .el proceso de destilación se permiten valores
El ob. t·
e puede realizarse parcialmente
,Je Ivo es maxim'
lb
.
.
IZar e eneficJO B del producto destilado. Este es
B-[b
.
- enefi'
CIO por unidad d G
.
[
. + beneficio de·P x d - .·, e x uwdades producidas de G] +
.
pro uccion de PJ + [beneficio de S x producción de S]
es dectr,
B :
-
4 (8x¡ + 10x2) + 6 (6x, + 7x2) + 7 (5x¡ + 4x )
103x¡ + 110x2.
2
=
103x¡ + llOx2
Se desea construir un modelo de programación lineal para conocer la cantidad de
cada alimento que hay que prepara-r y que satisfaga los requisitos propuestos con
coste mínimo.
Solución
Definimos las variables de decisión x¡, que representan la cantidad de alimento '
i = 1, ... , 6, que se utiliza para la élieta. Las restricciones son consecuencia de los
requisitos vitamínicos exigidos a la dieta, que son
(vitamina A)
(vitamina B)
(vitamina e)
(vitamina D)
con X¡~ Oparai = 1, ... ,6.
La función objetivo, de la forma de minimización, representa el coste total de
la dieta, que es
- 7x¡ + l0x2 S 1400
· 12x, + 8x2 S 2000
8x¡ + 10x2 ~ 900 6x1 + 7x'2 ~ 300 ·
5x, + 4x2 S 1700
~ 5x¡ + 4x2 ~ 800
X¡,X2 ~
.;
de vitamina B y 30 de e, y, a lo sumo, 14 de vitamina D. La tabla nos da el
número de unidades de las distintas vitaminas por unidad de alimento consumido
para seis alimentos eleg·idos, denominados 1, 2, 3, 4, 5, 6, asi como su coste por
unidad
Vitaminas
Coste por
Alimentos A B e D unidad
1
1 l
o 1
10
2
1 2 1 o
14
3
o 1 2 o 12
4
3 1 o 1
18
2 1 2 o
20
5
6
1 o 2
16
26 S X¡+ x2 + 3x4 + 2x5 + X6 S 32
X1 + 2X2 + X3 + X4 + X5 ~ 25
x2 + 2x3 +2xs +2x6 ~ 30
Xl + X4 + X6 S 14
Por tanto 1
' e programa lin~al es
max B
s.a
CAPITULO L CONSTRUCCION DE MODELOS
e= lOXt + 14X2 + 12X3 + l8X4 + 20xp + 16xs.
0
o
2. Problema de 1 .
de coste mínimo e a dieta. Ef! u~ centro de nutrición se desea obtener la dieta
·- ·
on unos determtn d
··
mnos que van a as. t.
a os requmtos vitamínicos para un grupo de
d'
~s tr a campame t
d
~eta debe contener ent 26 3 n. os e verano. El especialista estima que la
re y 2 unzdades de vitamina A, al me~os 25 unidades
Por tanto, el programa lineal consiste en determinar (x 1,x?,XJ,x4,xs,xs) E 1R.6
tal que
min e = lOx, + 14x2 + 12x3 + l8x4 + 20xs + 16xs
s.a
X¡+ x2 + 3x4 +2xs + X5 S 32
X¡+ X2 + 3x4 + 2X5 + X5 ~ 26
X¡+ 2X2 +X3 + X4 + X5 ~ 25
x2 + 2x3 + 2x5 + 2x6 ~ 30
x, +x4 +xs S14
o
Xi ~ 0, i = 1, ... , 6.
6
PROCRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
CAPITULO l. CONSTRUCCION 08 M008LOS
3. Producción de gasolinas. Una compañía de petróleos produce tres tipos
de gasolinas: Súper, Normal y Euro. Se obtienen por mezcla de tres calidades
de crudos (A,B,C) que contienen tres componentes (1,2,3). La participación de
estos componentes en la compos·ición de cada crudo es
- Acuerdos sobre el crudo A (barriles)
XAS +XAN +XAE 2: 2500
- Demandas qe gasolinas Súper y Normal (barriles)
Componentes
Cr-udos
1
2
3
A
80% lO% 5%
B
45% 30% 20%
e 30% 40% 25%
X.4S + XBS + XCS
2: 2000, XAN + XBN + XCN 2: 2500
- Composición de las gasolinas
.80xAs + .45xas·+ .30xcs ~ .60 (xAs + xas + xcs)
.lOxAS + .30xss + .40xcs:::; .25 (xAs + xss + xcs) } Súper
.05xAs + .20xas + .25xcs 2: .10 (xAs + xas + xcs)
Las especificaciones de los tres tipos de gasJtinas son
3
Súper
;::: 60% :::; 25% ;::: 10%
Normal ;::: 50% :::; 30% :::; 15%
Euro
~40% ~35% ;::: 20%
l
7
2
Los costes por barril de crudos A, B y C son 650, 500 y 450 ptas, respectivamente.
El presupuesto diario de compra es de 50 millones de ptas; la disponibilidad diaria de crudos B y C se limita1 respecti·uamente, a 3000 y 7000 barriles. Ciertos
acuerdos obligan a comprar al menos 2500 barriles de A por día. Las demandas de gasolina Súper y Normal son de 2000 y 2500 ban'iles diarios, que deben
satisfacerse. La compañía desea maximizar la producción de gasolina Euro.
Formular un modelo de programación lineal que dé respuesta al problema planteado por la compañía.
Solución
Consideramos las variables de decisión medidas en barriles/día
Xij = cantidad de crudo tipo i dedicado a gasolina tipo j
donde i = A,-B,f) y j = S, N, E (S=Súper, N=Normal, E=Euro). Las restric- ·
ciones se deben a:
Justificamos la primera restricción observando que .80xAS + .45xas +.30xcs
representa la contribución del componente 1 en la producción de Súper, que
deberá ser, al menos, el60% de la producción total de Súper que es XAS + xas +
xcs- Análogamente, se tienen el resto de restricciones sobre la composición.
1
(,
.80XAN + .45XBN + .3ÜXCN 2: .50 (XAN + XBN + XCN) }
.lÜXAN + .30XBN + .40xcN ~ .30 (XAN + XBN + XCN)
.05XAN + .2ÜXBN + .25XcN:::; .15 (x.4N + XBN + XCN) .
.80xAE + .45xse + .30xcs :::; .40 (xAE + xse +xce) }
:.10xAE + .30xae + .40xce 2: .35 (xAE +xae +xce)
.05XAE + .20XBE + .25XCE 2: .20 (XAB + XBE +XCE)
Normal
Euro
- NQ negatividad de las variables de decisión
Xij;:::
o,
i
= A,B,C, j = S, N, E
- Limitaciones en el presupuesto (ptas)
La función objetivo corresponde a la cantidad de gasolina Euro que se desea
maximizar, y tiene la expresión
650(xAs + xA.N
E= X;tE +xaE +xce
+ XAE) + 500(xss + xaN + xse)+
+450(xcs + xcN + xce) ~ 50 x lO6
- Disponibilidad de los crudos B y C (barriles)
XBS +XBN + XBE ~ 3000,
XCS + XCN
+XCE:::; 7000
8
PROGRAMACION LINEAL; Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCC!ON DE MODELOS
©RA-MA
Por tanto, el programa lineal queda
max E= XAE+xss+xcE
s. a
650(XAS t XAN t XAE) t 500(XBS t XBN t XBs)+
+450(xcs + xcN + xcs) ~50 x 106
XBS t XBN t XBE ~ 3000
XCS t XCN t XCE ~ 7000
XAS t XAN t XAE ~ 2500
X,.¡s t XBS t XCS ~ 2000
XAN t XBN t XCN ~ 2500
.20xAs - .15xss - .30xcs 2: O
H
G
94
87
73
47
68
120
Observemos que los recursos son las cinco clases de fruta, y que l~s productos son,
además de los zumos obtenidos directamente de éstas, los dos combinados. Una
posible definición de las variables de decisión consiste en considerar las posibles
combinaciones recursos-productos. Así, se tendrán 11 variables de decisión que
denotamos
4. Elaboración de zumos. Una empresa. de alimentación prodtLce ztLmos de
pera, naranja, limón, tomate, manzana, además de otros dos tipos denominados
H y G qtLe son combinados de algunos de los anteriores. La disponibilidad de fruta
para el periodo próximo, así como los costes de producción y los precios \/de venta
para los zumos, vienen dados en la tabla
32000
25000
21000
18000
27000
100
Solución
o
Disponibilidad
Coste
máxima (kg) (ptasfkg)
Especificación
No más del 50% de M
No más del20% de P
No menos del 10% deL
40% de N
35% deL
25% de P
La demanda de los distintos ztLmos es grande, por lo qtLe se espera vender toda la
producción. Por cada kg de frtLta, se produce tLn litro del correspondiente zumo.
Determinar los niveles de prodtLcción de los siete zumos, de manera qtLe se tenga
beneficio máximo en el periodo entrante.
- - .15xAs + .05xss + .15xcs ~O
- .05xAs + .lOxss + .15xcs ~O
.30XAN- .05XBN - .20XcN ~ 0
- .20XAN t
.10XcN ~ 0
-.10XAN t .05XBN t .10xcN ~ 0
.4ÜXAE t .05XBE - .10xcE ~ 0
-.25xAE- .05xss + .05xcE ~O
-.15XAE +
.05xcE ~O ·
Xij ~o, i = A, B,C, j =S, N, E
Fruta
Naranja (N)
Pera (P)
Limón (L)
Tomate (T)
Manzana (M)
Precio uenta
(ptasfl)
1
Combinado
Precio venta
(ptas/1)
129
125
110
88
97
donde XN N es la cantidad de naranjas utilizac\a para hacer zumo de naranja, XNG
la cantid~ de naranjas utilizadas para ei cdmbinado de zumo de tipo G,... Las
restricciones se deben a:
- Limitaciones en la disponibilidad de recursos
:
XNN t XNG ~ 32000
Xpp t Xpfl t XPG ~ 25000
XLL t XLH t XLG ~ 21000
XTT ~
18000
XMtllf t XMH ~
27000
- Especificaciones para el combinado H
XMH ~ .5(XMH tXPH tXLH)
Las especificaciones y precios de venta de los combinados vienen dados en la tabla
XpFJ ~
XLH
•
l
9
.2 (XtvfH tXpFJ t
2: .10 (XMH t
XPH
t
Xc,H}
XLH)
10
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
CAPITULO l. CONSTRUCC10N DE MODELOS
por semana de 700 y 900 t, respectivamente. La empresa posee cuatro plantas de
producción que utilizan procedimientos de fabricación que difieren en las cant-idades de materia prima que utilizan. Las cantidades necesarias de materia prima
por operación para cada planta que se pueden llevar a cabo total o parcialmente,
así como el número de capas producidas de uno y otro tipo, se tienen en la tabla
- Especificaciones para el combinado G
= .40 (XNG +XLG +XpG)
= .35 (XNG + XLG +X pe)
XPG = .25 (XNG + XLG + XPG)
XNG
XLG
- No negatividad de las variables de decisión
Planta
1
2
Finalmente, observemos que la función objetivo representa el beneficio netO' B de
la producción y es de la forma de ma.ximización. Toma la expresión
B
11
94xNa + (125 - 87)xpp- 87xPH - 87xpa + (110-73XLG + (88- 47)XIT + (97 - 68)XMM- 68XMH +
100(XPH + XLH + XM H) + 120(XNG + XLG +X pe)
= (129- 94)XNN -
3
4
t requeridas
Capas producidas
por operación
por operación
Vidrio Resina Tipo .4 Tipo B
15
19
2
5
14
20
7
3
4
16
15
5
12
18
4
4
Formular un modelo de programación lineal para determinar el número de operaciones a realizar en cada planta de manera que sea máximo el número total de
filtros fabricados.
73)XLL -73XLH
En resumen, se tiene el programa lineal
ma.x B
=
Solución
+26XNG +38xpp + 13xpH +33xpc+
37XLL + 27XLH + 47XLG + 4lxrr + 29XMM + 32XMH
35XNN
Denominamos Xi al número de operaciones que se realizan semanalmente en la
planta i = 1, 2, 3, 4, respectivamente. Las restricciones se deben, únicamente, a
las limitaciones en las disponibilidades de las materias primas
s. a
+XNG $ 32000
+XPH +XpQ $ 25000
XLL + XLH +XLG $ 21000
XNN
Xpp
XTJ'
15x¡ + 14x2 + l6x3 + 12x4 $ 700 (resina)
19x¡ + 20x2 + 15x3 + l8x4 $ 900 (vidrio)
$ 18000
XMM
siendo, además, Xi 2: O, para i = 1, 2, 3, 4.
Para determinar el objetivo, observemos que el número de capas de tipo A
producil:ias por las cuatro plantas es ZA = 2x¡ + 3x2 + Sx3 +4x4 y el de tipo B
es ZB = 5x¡ + 'lx2 + 4x3 + 4x 4 . Puesto que se pretende fabricar el máximo de
filtros y cada uno requiere una capa de tipo A y dos de tipo B, es evidente que
el número máximo de filtros no puede superar el mínimo entre ZA y za/2. Por
tanto, el problema tiene como función objetivo
+ XMH $27000
.5XMH - .5XPH - .5XLH
-.2XMH
$0
+ .8XPH- .2XLH $0
.lXMH + .lXpH - .9XLH
.6xNa- .4xw- .4xpc
$0
\
l
=O
+ .65xw - .35xpc =O
-.25xNa- .25xw + .75xpa =O
- .35xNc
X¡;2:0
Vi,j
o
5. Planificación de la producción. Una empresa produce filtros para monitores de ordenador formados por tres capas, una intermedia de calidad A y otras dos
exteriores de calidad B que envuelven a la anterior. Ambas calidades se consiguen
con diferentes mezclas de fibra de vidrio y resina de las que el fabricante dispone
que es no lineal. Para convertirla en lineal, basta con definir z =min {zA, ZB/2},
equivalente a z 2: ZA y z ~ ZB/2. Estas dos desigualdades se convierten en
restricciones del problema y el modelo se reformula como uno lineal equivalente
CAPITULO l. CONSTRUCCION DE MODELOS
12
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
quedando
max
s.a
e
z
2x¡
5x¡
B
+ 3x2 + Sx3 +4x4- z ~O
A
+ 1x2 + 4x3 + 4x.¡ - 2z ~ O
15X¡ + 14X2 + l6x3 + 12X.¡
19x¡ + 20x2 + 15x3 + 18x4
x, ~o, i = 1, 2,3,4
~
~
700
900
podrían introducirse las siguientes variables de decisión, todas ~llas m~i~as en
barriles/día (denominamos con la malta disponible en la propta destilena)
X¡ = cantidad de malta disponible del distribuidor i =A, B,
M(ezcla)
x·· =cantidad de malta i dedicada a j = D(estilería)
{ d{estruCClon
l]
.' )
e
o
l.
13
@RA·MA
6. Optimización de mezclas en una destilería. Una destilería dispone de
malta propia en cantidad de 200 barriles/día. Además, puede comprar malta de
dos distribuidores A y B, con costes de 1000 y 1200 ptasjbarril, en cantidades
máximas de 300 y 500 barriles/día, respectivamente. La malta puede mezclarse
directamente o destilarse para producir malta enriquecida de dos tipos 1, 2. El
destilador puede procesar a lo sumo 700 barriles/día. Un barril desWado de la
propia casa produce .3 baniles de malta 1 y .6 de malta 2. Un barril del malta A
produce .4 de 1 y .4 de 2. Uno de malta B produce .7 de 1 y .1 de 2.
.
La mezcla de malta no procesada se vende a 1300 ptasjbarril, limitándose el
mercado a 110 barriles/día. El sobrante de malta debe destruirse con coste 100
ptasjbarril. Con las maltas destiladas pueden hacerse dos productos: uno de alta
calidad (H), que se vende a 1900 ptasjbarril y debe contener al menos el70% de
producto 1, y otro de baja calidad (L), que se vende a 1500 ptasjbarril y puede
contener a lo sumo el 55% de producto 2.
La destilería desea satisfacer la demanda del producto de alta calidad, que es
de 215 barriles/día, y asegurarse un beneficio de 30000 ptasjdía. Además, puesto
que se espera un cambio en el mercado del producto de baja calidad, la destilería
desea minimizar su prcx.,ucción.
Formular un modelo de programación lineal que dé respuesta al p1·oblema de
planificación planteado ten<endo ~n cuc:nta las limitaciones en la producción y las
exigencias de demanda y beneficio económico, suponiendo, además, que la venta
de la mezcla está garantizada.
Solución
Teniendo en cuenta el esquema de funcionamiento de la destilería, que se resume
en la figura siguiente
e
x1 =producción de malta tipo 1
x2 =producción de malta tipo 2
XH = malta de alta calidad
xL = malta de baja calidad
Xkl =malta de tipo k dedicada a la calidad l, k= 1, 2, l = H, L
Las restricciones se deben a:
_ Límite de compra a los distribuidores y de disponibilidad propia
XA
~ 300,
XB
~ 500,
XC=
200
- Límite de capacidad del destilador
XAD
+ XBD + XCD ~ 700
- Lmute de venta de mezcla
XAM
+ XBM + XCM ~ 110
- Distribución de maltas
+ XAD + XAd =XA
XBM + XBD + XBd =XB
XAM
XCM
+XCD +XCd = XC
_ Producción de maltas enriquecidas de tipos 1 y 2 de acuerdo con las recetas
.3XCD
+ .4XAD + .7XBD =X¡
.6xco + .4XAD + .lxso
= x2
14
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
- Distribución de las maltas enriquecidas 1 y 2
XtH
X2H
CAPITULO l. CONSTRUCCION DE MODELOS
XH, XL,
tX¡L =X¡
t X2L =X2
min Z
x¡,
=
x2
XtL
t
XAD
t
X..td ~
t
XCM t
XBD
t
X8d ~
300
500
XCD + XCd = 200
X,W t XBD + XCD ~ 700
XAM + XBM + XCM ~ 110
XBM
- Producción de maltas de alta y baja calidad
= XH
tX2L =
X2L
t
XAM
XtL
debido a las igualdades, se formula
s.a
suponiendo que se utiliza toda la malta producida por el destilador.
X!H tX2H
15
X¡H tX¡L - .4XAD - .7X8D- .3XCD
XL
x2 H
+ x2L- .ilxAo- .lxso- .6xco =O
.3XtH - .7X2H ~
- Recetas de las maltas enriquecidas 1 y 2
0
- .55XtL t .45X2L
X1 R t X2H ~ 215
.7xn ~ XtH
300XAM
.55xL ~ xn
=0
~
0
+ 100XBM + 1300XCM t
1900(X¡H +X2H) + 1500(XtL +x2L)
30000
1 = M,D,d, k= 1, 2, t = H,L
-1000XAD - l lOOXAd -1200xso -1300xsd -100xcd ~
Xij,Xkl,xk,xl ~o,
- Satisfacción de la demanda del producto de alta calidad
i
= A,B, e,
o
XH ~
215
- Satisfacción del objetivo económico
+ XBM t XCM) t 1900xn t 1500XL -1000xA-1200xs- 100(X..td +Xsd +Xcd) ~ 30000
1300(XAM
- No negatividad de las variables
X¡,Xjj,Xkj,Xk,Xi ~o,
i
= A,B,e, j = M, D,d,
k=
1,2, l
= H,L
Finalmente, el objetivo será la minimización de volumen producido de baja calidad, es decir,
Z=XtL+X2L
En resumen, una vez !implificadoel modelo, tras eliminar las variables XA,
xs, xc,
7. Planificación de una planta química. Una planta química fabrica tres
sustancias A, B y e, utilizando carbón como materia prima básica. La planta
dispone de minas propias que pueden producir hasta 600 u/día de carbón con
coste de 2000 ptasju. Si la compañía necesita más carbón, puede adquirirlo a
un distribuidor con un coste de 5000 ptasju. Además, utiliza en el proceso de
producción agua, electricidad, gasóleo y mano de obra. La compañía eléctrica
suministradora posee el siguiente sistema escalonado de tarifas
$ - 34000 ptasju para las primeras 2000 u (por día).
- 51000 ptasju para las primeras 800 u a part~r de 2000 u
- 63000 ptas/u a partir de 2800 u
La ~ompmiía de agua carga 7000 ptas/tl de agua utilizada por día hasta 900 unidades y 8500 ptas/u por encima de 900 unidades. Compra gasóleo a 4900 ptas/u,
pero se restringe por motivos ecológicos al uso de 3000 unidades de gasóleo por
día. Utilizando horario normal, la mano de obra disponible es de 750 horas sin
coste. Puede conseguir hasta 220 horas extra con coste 15200 ptasjhora. El resto
de los datos del proceso de producción se dan en la siguiente tabla que contiene las
unidades necesarias para fabricar cada unidad de sustancia, así como sus precios
de venta
1
16
PROGRAMACION LINEAL Y APLICACIONBS: EJERCICIOS RESUELTOS
Sus t.
A
B
e
Carb. Elec. Agua Gas.
.6
3.2
l.O
2.0
.9
1.2
2.5
4.0
.26
1.7
2.4
3.0
Horas
2.0
3.0
2.0
Benef.fu ( x l03 ptas)
290 para las primeras 85 u
240 para las posteriores
320/u hasta un
máximo de 95 u
Solución
Introducimos las siguientes variables de decisión
x1 = producción de A hasta un má.ximo de 85 u
x2 = producción de A por encima de las 85 u
xa =producción de B
X4 = producción de e
x5 = cantidad necesaria de carbón por encima de 600 u
XG = cantidad necesaria de electricidad por encima de 2000 u
X7 =cantidad necesaria de electricidad por encima de 2800 u
xs = cantidad necesaria de agua por encima de 900 u
xg = cantidad necesaria de mano de obra por encima de 750 horas
Obsérvese que al existir un beneficio escalonado para la sustancia A, se ha considerado una v~riable de decisión para cada nivel. Análogamente, se ha hecho para
las tarifas escalonadas de los distintos recursos.
Las restricciones corresponden a disponibilidad de recursos para producir las
sustancias. Tenemos las siguientes
(carbón)
(electricidad)
(id. por encima de 2000 u)
(agua)
(mano de obra)
(horas extra)
(gasóleo)
(lin:útes de producción)
(no negatividad)
La función objetivo representa el beneficio neto, en miles de ptas, que habrá que
17
maximizar. Tiene la expresión
B = 290x 1 + 240x2 + 320xa + 380x4 -
- 2[.6(x¡ +x2) + .9xa + 1.2x4 - xs]- 5x;;-34[3.2(x¡ + x2) + 2.5xa + 4x4 - Xo - x7] - 51x6- 63x7- 7[x¡ + x2 + .26xa + 1.7x4- xs]-8.5xs - 4.9[2(x¡ + x2) + 2.4xa + 3x4]- 15.2xg
1
1
380/u
Fom1ular un modelo de programación lineal que proporcione el plan de producción
de beneficio máximo.
.6(x¡ +x2) + .9xa + 1.2x4 ~ 600 + x5
3.2{x¡ +x2) +2.5xa + 4x4 ~ 2000 + x6 +X7
xs ~ 800
Xt + x2 +.26xa + l.1x4 ~ 900 + xs
2{x¡ +x2) + 3xa + 2x4 ~ 750 + x9
Xg ~ 220
2(x¡ +x2) + 2.4xa +3x4 ~ 3000
X¡~ 85,xa ~ 95
Xi ? Ü, i = 1, ... , 9
CAPIT ULO l. CONSTRUCCION DE MODELOS
©RA-MA
Simplificando, queda el programa Lineal con variables acotadas
max B
=
163.2x 1 + 113.2x2 + 219.62xa +215x4-3x5- 17x6- 29x7 - l.Sxs - l5.2xg
s.a
.6x¡ + .6x2 + .9xa + 1.2x4 - xs ~ 600
3.2x¡ + 3.2x2 + 2.5xa +4x4 - xs - x1 ~ 2000
X¡ +x2 + .26xa + 1.7x4 - xa ~ 900
2x¡ + 2x2 + 3xa + 2x4 - xg ~ 750
2x 1 + 2x2 + 2.4xa + 3x4 ~ 3000
X¡ ~ 85, Xa ~ 95, X6 ~ 800, Xg ~ 220
X¡ ? 0, Í = 1, ..., 9
o
8. Planificación de mezclas en una planta química. Una planta química
fabrica dos productos A, B mediante dos procesos I y II. La tabla da los tiempos
de producción de A y B en cada proceso y los beneficios (en miles de ptas) por
unidad vendida
Proceso
I
Producto
A B
2
3
3
Beneficio/u 4
10
n
4
Se dispone de 16 horas de operación del proceso l y de 24 horas del proceso II. La
producción de B da, además, un subproducto (sin coste adicionaQ que puede
venderse a 3000 ptasju. Sin embargo, el sobrante de debe destr·uirse con coste
2000 ptasju. Se obtienen 2 unidades de por cada unidad de B producida. La
demanda de e se estima en, .a lo sumo, 5 unidades.
Formular un programa lineal que dé el plan de producción con máximo beneficio.
e
e
e
i
18
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCCION DE MODELOS
©RA-MA
Solución
Consideramos las variables de decisión
x1 = producción de A
x2 = producción de B
X3 = cantidad de C vendida.
X4 = cantidad de C destruida
Con esta definición la suma X3 + X4 será la producción de C. Las restricciones se
deben a:
19
siendo el problema escoger los pesos W¡, ... , Wn· Hay m observaciones
Se pide:
a) Formular el problema que proporcione los pesos w¡ que minimicen la suma
de las desviaciones absolutas entre y e y. Reformv.lar el problema como uno
de programación lineal.
abso~uta.
b) !t. que minimicen la máxima desviación
- Proporción de la producción de Ca partir de B
Solución
a) El objetivo es minimizar la suma de desviaciones absolutas entre valores observados de y y las predicciones ydadas por la función lineal. Definimos las variables
de desviación o residuos
1
X2
= 2(x3 + X4)
- Límite de demanda de C
dj
para j
=Yi - Yi =Yi - W¡Z¡j +···+WnZnj
=1, ... ,m. El problema de optimización queda
m
min D = L ldil
- Límites de tiempo de ambos procesos
j=l
s.a
2x¡ + 3x2 ~ 16, 3x 1 +4x2 ~ 24.
di =yi - yj,
La función objetivo, que es el beneficio neto a maximizar en miles de ptas, es
Por tanto, queda el programa lineal
ma.x B
s. a
=
4x¡ + 10x2 + 3x3 - 2x4
WnZn
siendo las variables de decisión dj y Wi, con j
El problema anterior es no lineal debido al valor absoluto de la función objetivo. Para reformularlo como uno lineal, utilizamos el siguiente resultado elemental:
"Para cualquier r E IR, si r = s - t, s · t = O, s, t ~ O, entonces lrl = s + t.
Adem~, para todo r existen s, t ~O tales que r = s - t y s ·.t =O". Escribimos
m
mln D
= E (sj + tj)
j=l
s. a
S¡ -
o
fj =W¡Z¡ t · · · t
=l, ... ,m
= 1, ... ,m, e i = 1, ... , n.
ldil =Sj +tj, j = l , ...,m·
con Sj, ti ~ Oy Sj · tj =O, para todo j = 1, ... ,m. El problema se puede reescribir
- 2X2 t X3 t X4 =0
2x¡ + 3x2 ~ 16
3x¡ t4x2 ~ 24
X3 ~ 5
X¡,X2,X3 1 X4 ~ 0
9. Ajuste lineal. Deseamos ajustar la función lineal
j
t¡
+WtZil +···+WnZn ! =Yt
Sm - tm
+ W1Z1m +···+WnZnm =Ym
=l , ... ,m
Sj,tj ~O,
j
Wi E IR,
=1, ... ,n
i
1'
rr
20
PROGR..<\MACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCC!ON DE MODELOS
©RA·MA
Necesidades
Materia prima (dagju)
Tasas Produc. (u/minuto)
Volumen (cm3 fu)
Beneficio/pieza (ptas/v.)
Observemos que las condiciones Sj ·ti =O se cumplen de manera implícita en el
óptimo, así que no es necesario ponerlas en la formulación anterior manteniendo
con ello la linealidad y, por tanto, las ventajas computacionales que ello implica.
b) El objetivo es minimizar la máxima desviación de los valores observados y a
las predicciones if. El problema de optimización es
min u
s.a
]
'-'
t ,, -
1
n
¿
lOO
70
3
90
200
93
Rosws Tunos
6
5
70
lOO
85
50
200
110
Demandas
mínima máxima
= l , .. .,m
j
Observemos que las restricciones anteriores se pueden escribir
Yi -
80
Congas
La cantidad de materia prima disponible para los cuatro productos es de 60000
dag (decagramos), el volumen de almacenamiento es de 42 m3 y el tiempo de
producción disponible es de 16 horas por día.
Un estudio de mercado establece unos límites superiqres r. infenores para la
demanda, que se presentan en la tabla, donde la raya significa que la consultora
no ha sido capaz de proponer unas demandas máximas yjo m·ínimas
que se puede expresar en forma equivalente
ly.- i=l~ w·z··l <u
Panchos
4
21
J
WjZij ::; 'U
Panchos
Congas
Roscas
Tunos
3000
2700
3900
5000
6400
4700
i=l
n
Yi - [
Se pide:
W¡Z¡j ~
-u
a) Formular un modelo de programación lineal que haga máximo el beneficio
i=l
para j
si se admite la producción parcial de los productos.
=1, ... ,m. El problema se reformula como el programa lineal
b) Si la compañía se siente satisfecha con que el beneficio esté por encima de
400000 ptas, formular un modelo en el que el objetivo sea la utilización de la
menor cantidad de materia prima posible.
min u
s. a
n
u+ [
w¡ztj
~ Yi•
j
i= l
= 1, ... ,m
e) Discutir el problema si se desea optimizar beneficio y materia prima simultáneamente.
n
U-
L W¡Zij ~ -yj,
j =!, ... ,m
o, W¡ E IR
i
i=l
u~
Solución
= l , ... ,n
o
10. ·Planificació n de la fabricación y gestión de alimentos. Una empresa
de alimentación produce cuatro productos denominados panchos, congos, roscas
y tunos. Las necesidades de materia prima, tasas de producción, volúmenes y
beneficios vienen dados en la tabla
a) Sean fas variables de decisión
PAN = número de panchos
COG = número de congos
ROS= número de roscas
TU N = número de tunos
Obsérvese que no hemos utilizado notación algebraica como en ejercicios anteriores, sino que se han dado nombres a las variables de decisión directamente
22
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
relacionados con el producto que representan. Esto será lo adecuado en problemas de cierto tamaño, pués resultará más fácil la lectura e interpretación de sus
valores.
Las restricciones se deben a:
- Los requisitos de producción
4P AN + 3COG + 5ROS + 6TU N ~ 60000
(materia prima)
toPAN+ ifoCOG +foROS+ toTUN ~ 9600
(tiempo)
lOOP AN + 200COG + lOOROS + 200TU N ~ 42 X 106 (volumen)
CAPITULO l. CONSTRUCC!ON DE MODELOS
23
y la función objetivo será
min M =4PAN +3COG+5ROS+6TUN
obtenida de eliminar el límite de ~isponibilidad de materia prima e imponer su
minimización.
e) Con este planteamiento, habrá que considerar simultáneamente los objetivos
maxB y minM
que expresados de manera conjunta se escriben
- La satisfacción de la demanda
3000 ~ PAN ~ 5000
COG ~ 2700
3900 ~ROS~ 6400
TUN ~ 4700
teniendo, por tanto, un problema de programación lineal biobjetivo. El concepto
de óptimo escalar no vale para este nuevo programa y la obtención de una solución
pasa por la búsqueda de un "equilibrio" entre ambos objetivos, como veremos en
el Capítulo 7.
O
- No negatividad
PAN, COG, ROS, TUN
~O
La función objetivo representa el beneficio económico B (en ptas) que hay que
maximizar, siendo
11. Control de la producción de alimentos. Un alimento se produce mediante refinado y mezcla de 5 tipos de sustancias líquidas de dos clases: artificiales
(al , a2) y naturales (nl, n2, n3). Cada sustancia puede adquirirse para reparto
inmediato o futuro. La tabla da los. precios (x 102 ptas) por t de las sustancias
para el primer semestre del año entrante
B = 70P AN + 93COG + 85ROS + llOTU N
Se tiene, por tanto, el programa lineal con variables acotadas
max B
s. a
=
70PAN + 93COG + 85ROS + llOTUN
4P AN + 3COG + 5ROS + 6TU N ~ 60000
toPAN+ ifoCOG +:/oROS+ toTUN ~ 9600
lOOP AN + 200COG + lOOROS + 200TU N ~ 42 X 106
PAN ~ 5000, PAN ~ 3000, COG ~ 2700
ROS~ 6400, ROS~ 3900, TUN ~ 4700
PAN, COG, ROS, TUN ~O
b) En este caso, la función objetivo pasa a ser la restricción monetaria
1
1
aY
70P AN + 93COq + 85ROS + l lOTU N ~ 400000
al
Enero
Febrero
Marzo
Abril
Mayo
Junio
130
150
130
140
120
110
a2
140
150
160
130
140
120
nl
150
130
150
140
170
160
n2
130
110
120
140
130-
n3
135
135
115
145
125
lOO 155
El precio de venta del producto es de 17000 ptas por t.
A lo sumo, se pueden refinar 320 t de sustancias artificiales y 350 t de sustancias naturales por mes. El proceso de refinado se realiza sin pérdida de peso
y sin coste. Además, se pueden almacenar hasta 1360 t de cada sustancia para
s{l posterior uso, con coste de almacenamiento de 600 ptas por t y mes. ·No es
posible almacenar el alimento ni las sustancias refinadas. Existe, además, una
restricción tecnológica sobre la dureza del alimento que debe estar entre 5 y 7
unidades. Se supone que las durezas de las sustancias se mezclan linealmente
siendo éstas
24
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
al
9.5
a2
7.1
n2 n3
5.2 4.8
nl
3.4
CAPITULO l. CONSTRUCCION DE MODELOS
©RA-MA
Se comienza con un inventario de 730 t de cada sustancia y se desea disponer de
ese mismo inventario al final de junio.
Formular un modelo de programación lineal cuya solución dé la política de
compra y producción de máximo beneficio, suponiendo que se venden las sustancias refinadas.
Solución
. No negatividad
a.¡;,
- Relación inicial de continuidad
730te¡1 =r¡ 1 ta¡¡, i= 1,2,3,4, 5
- La relación general de continuidad
C¡j,
r¡; ~O,
i = 1,2,3,4,5, j = 1,2,3,4,5,6
- Durezas
5
5
5Í::: f'ij ~ 9.5r¡; + 7.1r2j +3.4r3j + 5.2r4j +4.8rs; ~ 7 Í::: r¡;
~1
para j
Con i = 1, 2, 3, 4, 5 designaremos las sustancias al, a2, nl, n2, n3, y con j =
1, 2, 3,4,5, 6 los seis meses del horizonte de planificación, respectivamente. Cada
mes se puede adquirir, refinar y almacenar cada tipo de sustancia. Definimos las
variables de decisión
e¡; = cantidad de sustancia i adquirida el mes j
r¡; = cantidad de sustancia i refinada el mes j
a¡j =cantidad de sustancia i almacenada (al final) del mes j
Las restricciones son consecuencia de:
25
~1
= 1,2, 3, 4, 5, 6.
La función objetivo está formada por tres sumandos, todos ellos x102 ptas,
que son
- Beneficio de la venta
B1 = 170 2::: r¡;
i,j
- Costes de compra
C1 = 130cu + 150cl2 + 130ct3 + 140cl4 + 120c¡s +llOc¡s + 140c21 +
tlSOc22 + l60c23 + 130c24 + 140c2s + 120c2s + 150C3t + 130c32+
t150c33 + 140c34 + 170cas + l60c3s + 130C4t + l10c42 + 120c43+
t140C44 + 130c4s + lOOc45 + 135cs¡ + 135cs2 + 115cs3 + 145c54+
+125css + 155cs6
- Costes de almacenaje
c2 = 6I:aij·
- Relación de continuidad final
a¡s
= 730,
i,j
i
= 1,2,3,4,5
con lo que queda el objetivo
max B(c,r,a)
- Límites de refinado
r¡; +r2j ~ 320 } j
r3; + r4; + rs; ~ 35O
o
= 1,2,3,4, 5,6
- Límite de Al.rnacenamientó
1
•
a¡;~
= Bt- Ct- C2
1360, i,j = 1,2,3,4,5
12. Planificación de compra de crudos. Una refinería produce gasolinas
• Súpe~ y Plus. Estas gasolinas difieren únicamente en la cantidad que poseen de
dos aditivos a yb:JPara cumplir las normas vigentes, la gasolina Súper debe tener
al menos 35% de a y1 como mucho, un 60% de b; la Plus debe tener al menos un
30% de a y, a lo sumo, un 55% de b. La refinería adquiere crudo de Arabia con
r
26
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
una calidad del20% de a Y 70% de b, y crudo de Venezuela con calidad 50% de a_
y 35% de b. Los costes por barril son de 22 dólares para el crudo de Arabia y 24
para el de Venezuela. Se sabe que la demanda semanal es de 600000 barriles de
gasolina Súper y 400000 de Plus, que hay que satisfacer.
Construir un modelo de programación lineal que permita conocer cuántos barriles son necesarios para que la factura del crudo sea lo menor posible.
por el origen y (2) tiene menor pendiente, y, análogamente, prescindiendo de la
restricción (3) por su redundancia respecto a la (4), tenemos el programa Lineal
mine
=
22x¡ + 22x2 +24xs + 24x4
s.a
X¡ t
x;
Solución
Introducimos cuatro variables de decisión
x 1 =número de barriles de crudo de Arabia para gasolina Súper
x2 = número de barriles de crudo de Arabia para gasolina Plus
x3 = número de barriles de crudo de Ven~zuela para la gasolina Súper
x4 = número de barriles de crudo de Venezuela para la gasolina Plus
Las restricciones se tienen de los siguientes requisitos:
- Demandas de ambos tipos de gasolinas
X¡
t
X3
2: 600000,
X2
t
X4
2: 400000'
- Recetas sobre calidad de las gasolinas
.20x 1 + .50x3 2: .35 (x¡ + x3) (1) } S,
.70x¡ + .35x3 S .60(x¡ + x3) (2)
uper
27
X3
2: 600000
+X4 2: 400000
-.l5x 1 + .15x3
2: O
- .15x2 + .20x4 2: O
X¡ 1 X2,X3 1 X.¡ 2: 0
o
13. Sistema inconsistent e de ecuaciones. Construir un modelo de progra-
mación lineal que resuelva de ''lorma aproximada" un sistema inconsistente de
ecuaciones lineales.
Solución
Un sistema inconsistente de ecuaciones lineales no tiene solución. Podemos estar ~nteresados en obtener una solución lo más próxima a satisfacer el conjunto
de ecuaciones en algún sentido a precisar. Puede haber problemas en los que
surgen tales tipos de sistemas y es interesante proponer algún procedimiento de
resolución.
Sea el sistema general de m ecuaciones y n variables Xj
n
l: a¡;Xj = b¡, i
= 1, ... ,m.
j=l
Dado un conjunto de valores (x 1, ... , xn) para las variables, consideramos la variable de desviación asociada a la ecuación i como
_ Condiciones de no negatividad X¡,x2 , X3 , X4 2: O
La función objetivo es de minimización y refleja el coste total de la compra
de crudo en dólares. Viene dada por la expresión
min e= 22(X¡, .t
n
d¡ =
L a¡;xi - b¡,
i = 1, ... , m.
j=!
X2)
t 24(X3 t
X4)
Prescindiendo de las restricción (2) por su redundancia respecto a la (1), esto es,
toda solución que satisface (1) satisface (2), pues las ecuaciones asociadas pasan 1
Es evidente que si el sistema de ecuaciones tuviera solución, serían nulas las variables de desviación. Sin embargo, si no existe solución, una o más variables de
desviación serán no nulas para cualesquiera valores de las variables x1. Como consecuencia, se plantea el problema de cómo elegir los valores de x; de modo que se
obtenga la mejor aproximación para el sistema inconsistente de ecuaciones. Una
28
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
forma de hacerlo es elegir aquellos valores x; que hagan mínima la mayor desviación absoluta (ver Ejercicio 1.9). En efecto, si introducimos la nueva variable z,
formulamos el problema de optimización
lleva a formular el programa lineal
maxz
=
s. a
min z
s. a
n
z;::: ldil , i =l, ... ,m
Ea¡;x; - b¡
j=l
n
z ;::: -
L G.ijXj + b¡
}
i
i = l, .. ,m
x; ;::: O,
j
= 1, .. ,n
que será factible por existir la solución trivial. Si z > O, existirá alguna solución
con al menos una variable positiva.
O
15. Factibilidad de un sistema de ecuaciones. Dado un sistema de ecuaciones lineales consistente y con variables estrictamente positivas, formular un
= l, .. ,m
programa lineal que permita conocer si tal sistema tiene solución.
j=l
Solución
Sea el sistema general de m ecuaciones y n variables positivas x;
que tiene 2m restricciones y n +1 variables z, x1, ... , Xn, con X¡, ... , Xn no restringidas en signo.
Otra forma posible de elegir los valores de las variables x; consiste en minimizar la suma de desviaciones absolutas (ver Ejercicio 1.9). Formule el lector
el correspondiente problema de optimización transformándolo posteriormente en
uno lineal.
O
n
L a¡;x; = b¡,
i = 1, .. , m
j=l
x; >O, .
j
= 1, .. , n
El procedimiento para determinar si alguna solución satisface el sistema anterior, consiste en introducir una nueva variable z y reemplazar las condiciones
Xj > Opor las x; ~ z. Es evidente que el sistema original tendrá solución si el
nuevo sistema tiene solución con z > O. Basta entonces con resolver el programa
lineal
max z
s. a
14. Solución no trivial de un sistema homogéneo. Gontruir un programa
lineal a partir del cual conozcamos si un sistema de ecuaciones lineales homogéneo
con.variables no negativas tiene solución distinta de la trivial.
Solución
n
L G.ijXj =b¡, i = 1, .".,m
Consideramos el sistema de ecuaciones lineales homogéneo general
j=l
n
l:G.i;x;
j=L
L a¡;x; =O,
j=l
que es no lineal. Reformularnos el problema para convertirlo en lineal escribiéndolo
min z
s.a
z ;:::
29
=O, i
x;>z,
=1, .. ,m
donde suponemos que x; ;::: O para j = 1, ... ,n. Deseamos determinar si este
sistema tiene solución distinta de la trivial (x; = O, 'V j). Observemos que si
existiera tal solución, la suma de los valores de las variables sería positivo. Esto
j=l, .. ,n
El sistema original tendrá solución si y sólo si el valor óptimo z* es positivo. O
1
16. Planificación de una fábrica. Una empresa de productos informáticos
fabrica cinco tipos de teclados denominados T El, ... ,T E5. Utiliza para ello las
siguientes máquinas: 3 soldadoras, 2 tornos, 3 pulidoras, 1 ensambladora y 2
limadoras. Cada teclado requiere en el proceso de fabricación ciertos tie'!'pos
de producción (en horas) en la utilización de las distintas máquinas y lleva un
beneficio asociado (en miles de ptas) como se indica en la tabla
30
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Soldadora
Tomo
Pulidora
Ensambladora
Limadora
Beneficio
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
y, para el segundo,
TE1 TE2 TE3 TE4 TE5
.3
.4
.5
.2
.35
.02
.03
.11
.09
.5
.3
.6
.4
.43
.1
.13
.09
.12
.15
.02
.0-1
.05
.06
.1
3.7
4.2
5.1
3.9
3
t1¡2ts¡2 -p¡2=Si1 1 i=1, ... ,5
- Inventario al final de julio
S¡¡~125,
Sabemos que del conjunto de máquinas estarán en mantenimiento 1 soldadora en
el mes de julio y 2 pulidoras en agosto. Los límites superiores de demanda en el
mercado para cada tipo de teclado son
Julio
Agosto
TE1
800
500
.3pu + AP21 + .5P3t + .2P4t + .35pst ~ 768
.02pu + .03P2t + .1lp41 + .09Pst ~ 768
.5pll t .6p21 + .4P3t + .43P4t + .3ps¡ ~ 1152
.1pu +.13P2t + .15P3t + .09P4t t .12Pst ~ 384
.02pu + .lp21 t .04P3t + .05P4t + .06ps¡ ~ 768
La empresa dispone de capacidad para tener un inventario de hasta 650 teclados con coste de 300 ptasju. No hay inventario en la actualidad, pero les gustaría
disponer de 125 unidades de cada tipo al final de julio y ninguna en agosto. La ·
empresa opera 24 días al mes, 16 horas al día. Formular un programa lineal cuya solución sugiera qué deben producir durante estos dos meses para maximizar
beneficios.
11u ~ 800, v21 $ 2000, t13 1 ~ 700,1141 ~ 900, 11st ~ 1300
5
i=l
- Restricciones de producción para el mes de agosto
.3p¡2 + Ap-22 +.5PJ2 t .2P42 + .35Ps2 ~ 1152
.02p12 + .03P22 + .llp42 +.09P.s2 ~ 768
.Sp12 + .6P22 + .4P32 + .43P42 + .3P52 ~ 384
.1Pt2 t .13P22 + .l5P32 +.09p.¡,2 + .12ps2 ~ 384
.02p¡2 + .lp22 + .04P32 + .05P42 + .06Ps2 ~ 768
inventario t-I+ prodt = ventat + inventariot
- Restricciones de venta para el mes de agosto
que lleva a las restricciones para el primer .mes (pues no hay inventario en
la actualidad}
=O
- Restricciones de venta en el mes de julio
L:s¡f~ 650
- Relaciones mes a mes
Psi - vs¡ - Sst
donde, por ejemplo, la constante 768=(2 máquinas)x(24 días}x(16 horasfdia}.
- Restricción de inventario
Solución
Para cada tipo de teclado i = 1, 2, 3, 4, 5 y mes j = 1, 2 (julio= 1 y agosto=2)
introducimos las variables de decisión
Pii = cantidad de teclados tipo i producida en el mes j
11ij = cantidad de teclados tipo i vendida en el mes j
Sij = cantidad de teclados tipo i acumulada en el mes j
Las restricciones se deben a los requisitos siguientes:
=O )
=0
i=l, ... ,5
- Restricciones de producción para el mes de julio
TE2 TE3 TE4 TES
2000 700 900 1300
1500 300 450 550
Pll -11u - su
P2t - 1121 - S21
31
v12 ~ 500, 1122 ~ 1500, t132 ~ 300, t142 $ 450, t1s2 ~ 550
1\
- No negatividad
p¡1,11¡;,s¡; ~O, i = 1, ... ,5, j = 1,2
32
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Falta por expresar el objetivo, en el que tendremos en cuenta los beneficios unitarios de venta y los costes de almacenaje. Se tiene así la función objetivo (en
miles de ptas)
max B
= 3v11 + 3.7 v21 + 4.2 va 1 + 5.1 1141 + 3.9 vs1 + 3 v 12+
+3. 7V22 +
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
4. 2 V32 + 5.1V42 + 3.9 V52 - .3 L:Í= l S¡¡
o
17. Planificación de la producción e inventarios. Una empresa de productos informáticos fabrica cuatro tipos·de discos cuyas demandas se han estjmado
dentro de unos márgenes mínimos y máximos. Se observan las siguientes característiws del proceso de producción y su venta:
= tiempo total disponible por el fabricante
= tiempo necesario para producir un disco del tipo i
9ii = gasto de materia prima j para fabricar un disco i
e¡ = coste de mano de obra por unidad de tiempo para discos tipo i
s;¡, = coste de una unidad de la materia prima j suministrada por k
M; k = compra máxima al suministrador k de la materia prima j
T
t¡
m; k = compra mínima al suministrador k de la materia prima j
A; = capacidad de almacenamiento de la materia prima j
Introducimos las variables de decisión
= unidades a fabricar de discos tipo í
Yiik = materia prima j a adquirir al suministrador k para fabricar discos i
x¡
Las restriccjones se deben a:
- Los tiempos necesarios para producir cada tipo de disco son diferentes.
- Límites a la demanda de discos
- Las materias primas necesarias para la fabricación son las mismas para
todos los discos, siendo éstas cinco. Se conocen los gastos de fabricación
por unidad.
- Hay tres suministradores de las materias primas que las venden a distinto
precio al fabricante. Este desea, por razones polítíws, comprar a los tres
dentro de unos límites mínimos y máximos.
- Limitación en el tiempo de fabricación
4
~ t·x · <T
~ '
i= l
- Hay una ropacídad lim·itada de almacenamiento para las materias primas
pero no para los discos fabricados.
- Los costes de fabriroción están determinados, básicamente, por los de adquisición de las materias primas y los de mano de obra, ambos conocidos.
'-
- Limitación en la capacidad de almacenamiento de materia prima
4
3
Í: Í: Yiik :S A; ,
j
= 1, 2, 3, 4, 5
i=l k=l
Se desea formular un modelo de programación lineal que minimice los costes de
fabricación de los discos.
Solución
Utilizamos los subíndices
i = 1, 2, 3, 4 para los tipos de discos
j = 1, 2, 3, 4, 5 para los tipos de materia prima
k = 1, 2, 3 para los suministradores de la materia prima
Los datos disponibles son
D¡ = demanda máxima de los discos tipo i
d¡ = demanda mínima de los discos tipo i
33
- Limitaciones de compra de materias primas a los suministradores
;,.
u
ffijk ~ ,ú Yijk ~ 1Vljk
{
1=1
j = 1,2,3,4, 5
k= 1 2 3
) )
- Relación entre materia prima solicitada y producción de discos
9ijXi
~
= k=l
ú Yijk
{ i
j
= 1,2,3,4
= 1,2,3,4,5
34
CAPITULO l.
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
La función objetivo refleja los costes de mano de obra y los de materia prima,
que habrá que minimizar. Se obtiene así la expresión matemática del objetivo
4
min C
4
5
i=l j=lk=l
18. Problema de corte óptimo. Una fábrica de papel produce bobinas con una
medida estándar de 1000 m de longitud y 1 m de ancho. Recibe semanalmente
pedidos de diferentes centros de suministro. Para la semana entrante este pedido
es de 320 bobinas de 20 cm de ancho, 365 de 30 cm, 480 de 40 cm y 176 de 70
cm (todas con la misma longitud estándar de 1000 m).
El fabricante debe cortar a lo ancho las bobinas de 1 m para satisfacer la
demanda. Desea fabricar el mínimo número posible de bobinas de 1 m (se supone
que los sobrantes se reciclan, por lo que tienen un coste despreciable). Formular
un programa lineal que responda a los deseos del fabricante.
Si el papel sobrante tuviera un coste no despreciable, ¿cuál seria entonces la
función objetivo?
Solución
Definimos como variables de decisión las opciones de corte a lo ancho de cada
bobina utilizables en producción de los tipos de bobina solicitados. Los cortes
admisibles se presentan en la tabla
t
1
20 cm 30cm 40cm 70 cm cm sobrante
1
5
2
3
o
o
3
3
1
o
4
5
o
6
7
8
o
o
9
10
1
1
2
35
[(número de bandas de cierto ancho en la opción 1)x
x(número de bobinas tipo 1) + ···] ~ [demanda]
3
p
Opción
DE ~IODELOS
Las restricciones vienen dadas por el deseo de satisfacer la demanda y tienen
la forma
=L e¡t¡x¡ +L L L SjkYijk
i=l
CO~STRUCCION
1
1
o
1
o
o
o
1
2
3
o
2
1
o
2
o
o
o
o
1
1
o
o
o
o
o
o
o
lO
10
o
10
o
10
o
o
es decir,
5Xt
+ 3X2 + 3X3 + X4 + X5 + Xg + 2X¡Q ~ 320
X3 + xs + X5 + 2x1 + 3xs + 2x10 ~ 365
X2 + X6 + X7 + 2xg 2: 480
+X5 ~ 176
X¡~ Q 'r/i =1, ... , 9
X4
El objetivo es fabricar el menor número de bobinas que, matemáticamente, expresaremos
10
minN = l: x;.
i= l
Si el papel sobrante tuviera un coste no despreciable (suponiendo que todo lo que
se fabrica se vende), entonces la función objetivo sería
mio S
=
10x3 + 10x4 + 10x6 + lOxs+
+20 (5X¡ + 3X2 + 3X3 + X4 + X6 + Xg + 2X!O - 320) +
+30 (x3 + xs + X6 + 2x1 + 3xs + 2xto - 365) +
+40 (x2 + X6 + x1 + 2xg - 480) +
+10(x4 + xs -176)
Observemos que podemos suprimir las constantes en la resolución del problema.
o
19. Planificación de personal. Una empresa de seguridad tiene a su servicio
la vigilancia de un aeropuerto y debe cubrir las necesidades de personal durante
los seis periodos de .J. horas en que está dividido el día, como se recoge en la tabla
Periodo
de tiempo
1
2
Definimos una variable de decisión X¡ por cada opción i de manera que, por
ejemplo, X3 =p significa que p bobinas se cortan en 3 bandas de 20 cm, una de
30 cm y sobra una de 10 cm con coste despreciable.
'•
3
4
5
6
Necesidade.s
Duración
de personal
del periodo
27
12 AM - 4AM
30
8AM
4AM
52
8AM - 12 PM
12 pji¡J - 4 PM
56
67
8
PM
4 PM
48
8PM - 12 AM
u.
1
36
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Los vigilantes trabajan en tumos de 8 horas seguidas, con 6 cambios posibles
de turno a lo largo de las 24 horas1 correspondientes a las horas de comienzo
y finalización de los periodos en la tabla anterior. El director de personal de
la empresa desea conocer cuántos vigilantes deben trabajar en cada periodo de
manera que todos queden cubiertos y el total de personal utilizado sea mínimo.
Solución
Se desea controlar el número de vigilantes en cada periodo, por lo que definimos
las variables de decisión
ni = número de vigilantes que trabajan en el periodo j = 1, 2, 3, 4, 5,6.
Para obtener las restricciones observemos que, por una parte, hay que satisfacer los requisitos mínimos de personal en cada periodo y, por otra, hay un
solapamiento entre cada par seguido de periodos de 4 horas, ya que los trabajadores que comienzan en un periodo también están durante el siguiente, pues
trabajan 8 horas seguidas. La tabla que sigue resume las afirmaciones anteriores.
Periodos 12 AM 4AM
horarios 4AM 8AM
nr
nr
n2
8AM
12 PM
12 PM 4 PM 8PM
4PM 8PM 12 AM
n2
n3
n3
n4
n4
ns
ns
Personal
27
ns
ns
30
52
56
67
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
48
Para expresar las restricciones, observemos que el número de vigilantes en el
primer periodo será ns +n¡, en el segundo n1 + n2, ... Por tanto, las restricciones
serán
n5 +n¡ 2:27
n¡ +n2 2:30
n2 +n3 2: 52
n3 +n4 2: 56
_J~4 +ns 2: 67
+ ns 2: 48
ns
con la condición de no negatividad de todas las variables. También sería razonable
exigir que las variables fueran enteras, en cuyo caso estaríamos ante un problema
de programación entera, que estudiamos en el Capítulo 6.
3i
Para fijar la función objetivo, observemos que el número total de vigilantes
es la suma de los asignados a cada periodo, es decir, n¡ + n2 + n3 + n4 + ns + ns,
que será el objetivo a minimizar.
O
20. Problema del almacén. Una empresa que se dedica a la compra y venta
de harina tiene un almacén con capacidad de 730 t. En la actualidad dispone de
265 t de reserva y maneja una predicción de los precios por t (en miles de ptas)
para los próximos siete meses, tal como se recogen en la tabla
Mes
1
2
3
4
5
6
7
Precio t 80 90 100 95 110 130 125
Hay un coste de almacenamiento por tfmes que es de 6000 ptas. El precio de la
harina sufre fluctuaciones, de modo que la empresa busca una política de compra
a precios bajos y venta cuando éstos se encuentran a un nivel más alto, teniendo
en cuenta que esto es posible debido a que el mercado es muy dinámico y siempre
hay disponibilidad y demanda de harina.
La empresa desea construir un modelo de programación lineal que refleje tal
política proporcionando el mayor beneficio posible.
Solución
Tenemos un problema dinámico: lo que se haga un mes afecta a los posteriores.
Introducimos las variables de decisión:
Ct =cantidad de harina comprada el mes t
Vi = cantidad de harina vendida el mes t
At = cantidad de harina almacenada el mes t
con t = 1, 2, 3, 4, 5, 6, 7. Existe una dependencia entre estas variables dada por la
relación
inventariot-l +comprat = venta 1 +inveñtariot
En términos de las variables de decisión y teniendo en cuenta la reserva en el
primer mes, la reladón anterior se traduce en las restr~cciones
265 + C1 = V¡ +A1
At-1 + Ct = Vi+ At, t = 2, ... , 7
Además, existen restricciones debidas a la limitación del almacén
At ~ 730, t = 1, ... , 7
38
PROGR!\MACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@R!\-MA
y de no negatividad para todas las variables
Para construir el objetivo observemos que el beneficio neto al final del mes 1 será,
en miles de ptas,
80V¡ - 80C1 - 6A 1 =80(V1 - C¡) - 6A 1
vendida
_ (
coste d~
)
almacenarwento
Los expertos de FI han detectado dos proyectos de inversión muy atractivos que
se adaptan bastante bien a sus objetivos. Tales proyectos son
válida para todos los meses excepto el primero. Así, la función objetivo, en miles
de ptas, que es de maximización, queda
B = 80(Vt - C¡) + 90(V2 - C2) + 100(V3 - C3) + 95(V4 - C4)+
+110(\15 - Cs) + 130(Vs - C6) + 125A6- 6(A¡ + A2 + A3 + ~ +As+ A5)
=
80(V¡ - C¡) + 90(V2 - C2) + 100(V3 - C3)+
+95(V4 - C4) + 110(\15 - Cs) + 130(V6 - Cs)+
+125A6- 6(At + A2 + Aa + A4 +As+ A5)
V1 + A1 - C~,= 265
Vi+1 + At+l - Ct+l - At =O, t = 1, ... , 6
O~ At ~ 730, t = 1, ... , 7
Ct, vt ~ O, t = 1, ... , 7
' l
1
1
rante el primer año como edificio de oficinas. Los expertos estiman unas
rentas (en millones de ptas) para una participación del100%, dadas en la
tabla, donde los números negativos representan inversiones.
2. Gestionar dumnte el próximo año la empresa Informatics, dedicada al mantenimiento de grandes sistemas informáticos, que se encuent1·a en mala situación económica y necesita desembolsos iniciales para su reactivación.
Debido a la tendencia del mercado, se espera que esta inversión sea rentable a partir del sexto mes, tal como se refleja en la tabla que corresponde
a rentabilidades esperadas (en millones de ptas) para una participación del
100%
s.a
1
l. Hacerse cargo de la reparación de un antiguo edificio y su explotación du-
Periodo Inicial 3 meses 6 meses 9 meses 12 meses
Renta
-140
45
-28
-100
410
En resumen, se tiene el programa lineal con variables acotadas
max B
espera obtener nuevas rentas de inversiones anteriores que también puede disponer para su reinversión. Tales cantidades (en millones de ptas) se tienen en la
tabla
Periodo 3 meses 6 meses 9 meses
Renta
115
90
82
Para los meses siguientes, se tendrá la relación
cantida~ neta )
39
21. Planificación financiera. La empresa Fondos de Inversión (Fl) deseo.
planificar sus inversiones a un horizonte de un año. En la actualidad tiene 400
millones de ptas en efectivo que desea invertir. En los próximos 3, 6 y 9 meses,
e,, vt, At ~ o, t = 1, ... , 1
precio ) x (
( actual
CAPITULO 1. CONSTRUCCION DE MODELOS
Observemos que en este programa lineal no hay nada que fuerce a que Ct o
Vi sean cero. Sin embargo, alguna de las variables debería serlo, pues no tiene
sentido comprar y vender en el mismo mes ya que el precio en ambos casos es el
mismo. Por ello, si en la solución óptima. fuera Ct > Oy Vi > Opara algún t,
entonces es posible considerar una. nueva solución óptima redefiniendo los valores
de las variables de manera que sea.n
Ct = Ct- min(Ct, Vi) y Vi= Vi- min(Ct, Vi)
que permanece factible, pues en las restricciones sólo aparece la diferencia vt- Ct.
o
Periodo Inicial 3 meses 6 meses 9 meses 12 meses
Renta
-105
-60
225
130
73
La participación en los citados proyectos puede ser inferior al lOO%, en cuyo casol
las inversiones y rentas se reducirán de manera proporcional. Otras empresas de
la competencia están dispuestas a asumir las participaciones que no cubra Fl. Al
principio de cada periodo de tres meses, los fondos no dedicados en los proyectos
anteriores se invierten en bonos del tesoro, que proporcionan una rentabilidad
trimestral del 3%.
FI desea conocer cómo invertir su capital de 400 millones entre los proyectos
y bonos del tesoro, para que la renta a final del año sea la mayor posible.
40
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Solución
CAPITULO l. CONSTRUCCION DE MODELOS
41
Se espera que al final del presente año quede un inventario de 435 compactos y
580 vídeos. La mano de obra para la fabricación de un compacto lleva 3 horas¡
para un vídeo 4 horas. La disponibilidad de horas en el trimestre que termira
habrá sido de 14000. Dada la situación actual de la empresa y del mercado, se
conviene en aceptar una fluctuación en el tiempo de fabricación disponible que
puede aumentar hasta en un 15% o disminuir hasta en un 7%, de un trimestre al
siguiente.
La tabla que sigue muestra, para cada producto, los costes de fabricación, de
inventario y de mano de obra, todos ellos en miles de ptas
Definimos las variables de decisión
XOFJ = fracción de participación en el proyecto de oficinas
XJNF = fracción de participación en la empresa de informática
D1 = dinero inicial dedicado a bonos
D2 = dinero disponible a los 3 meses para inversión en bonos
D3 = dinero disponible a los 6 meses para inversión en bonos
D4 =dinero disponible a los 9 meses para inver~ión en bonos
con las cantidades Di en millones de ptas.
Las restricciones deben reflejar la relación
Costes/unidad
Fabric. compactos
Fabríc: vídeos
Inventario de compactos
Inventario de vídeos
Mano de obra/h
(dinero invertido) =(dinero disponible)
Así, tendremos, dividiendo todas las restricciones por 1 millón,
+105xrNF +D1 - 400 =O
+D2- 45xop¡-1.03D 1 -115 =O
28xoFI + D3- 225xiNF -1.03D 2 - 90 =O
lOOxop¡ +D4- 130XJNF -1.03D3 - 82 =O
Trím. 1 Trim. 2 Trim. 3 Trím. 4
23
31
25
37
24
38
3
5
7
3
4
7
2.5
4
8
24
39
2.5
3.5
9
Por razones de espacio, el inventario combinado de ambos productos no puede
superar las 3300 unidades por trimestre. Pensando en la planificación para el
año siguiente, se quiere obtener que el inventario al final del cuarto trimestre sea
de, al menos, 700 compactos y 390 vídeos. No hay restricciones presupuestarias,
ya que los bancos prestarán a la empresa el dinero necesario para asumir los
distintos costes que esperan irse cubriendo con las ventas. ·
Construir un modelo de programación lineal para la planificación de la producción con coste mínimo.
140xoFJ
60XINF
Además, todas las variables deben ser no negativas
con
XOFI
;S 1,
XJNF
Solución
;S 1
El_ objetivo es maximizar el dinero disponible al final del periodo de 12 meses,
que vtene dado por
R = 410xon +73xiNF + 1.03D4 .
o
22. Producción integrada. La compañía Vision fabrica co~pactos y vídeos
que vende directamente en su cadena de tiendas. El departamento de organización
de la compañía se ha marcado unas "!etas en las ventas para el año entrante, que
se divide en trimestres. Tales metas se tienen en la tabla
Producto
Compacto
Vídeo
Trim. 1 Trim. 2 Trím. 3 Trim. 4
6000
3200
3800
4700
8000
2900
2600
3800
Definimos, para cada trimestre t = 1, 2, 3, 4, las variables de decisión
PCOt = producción de compactos durante t
PVIt =producción de vídeos durante t
SCOt =inventario de compactos (superan meta de venta) al final de t
SV lt = inventario de vídeos (superan meta de venta) al final de t
N HDt = número de horas para fabricadón durante t
Además, debemos considerar los inventarios de ambos productos al final del año,
que serán los inventarios entrantes del primer trimestre. Estos serán 435 compactos y 580 vídeos.
Introduzcamos las restricciones para el primer trimestre, relativas a:
- Ventas de ambos productos que reflejan que la producción más el inventario
entrante debe ser igual a las ventas más el inventario restante. Se tiene así
PC01 + 435 = 6000 + SC01,
PV lt +580 =3200 + SV ]¡
42
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
~
NHD 1
' min e
con
NHD1
~
1.15 X 14000, NHD¡
43
Después de sustituir los coeficientes, queda la función objetivo
- Disponibilidad de tiempo para la fabricación
4Pe01 + 3PV]¡
CAPITULO l. CONSTRUCCION DE MODELOS
@RA-MA
~
.93 X 14000
=
23Pe01 + 25Pe02 + 24Pe03 + 24Pe04 + 31PV /1 +
+37PV !2 + 38PV!3 + 39PV!4 + 3Se01 + 3Se02+
+2.5Se03 + 2.5Se04 + 5SVI1 + 4SVI2 + 4SVI3+
+3.5SVI4 +7NHD¡ +7NHD2 +8NHD3 +9NHD4
o
- Limitación en el inventario de ambos productos
Se0 1 + SV ]¡ ~ 3300
Si denominamos con Mt y Nt las metas relativas a las ventas de los respectivos
productos, entonces las restricciones análogas para los otros trimestres t = ~ . 3:4,
son
PeOt + SeOt-1 = Mt +SeO,
PV lt + SVIt- 1= Nt + SVIt
4PeOt +3PVIt ~ NHD,
.93NHDt- l ~ NHD, ~ l.l5NHDt- 1
SeOt + SVl t ~ 3300
Además, habrá. que añadir restricciones para el nivel mínimo de inventario al final
del cuarto trimestre
seo4 ~ 100, sv14 ~ 390
23. Distribución de productos. CAB es una empresa que se dedica al empaquetado de verduras en tres centros situados en Alicante (A), Cáceres (e) y
· Zamora (Z), que se envía posteriormente a cinco centros de distribución situados
en Madrid (M), Valencia (V), Sevilla (S), Barcelona (B) y Lugo (L). El coste
unitario de la materia prima y su empaquetado en Alicante es de 75 ptas, en
Cáceres de 71 ptas y en Zamora de 76 ptas. Las predicciones de demanda de
paquetes se tienen en la tabla
C. de distrib.
Demanda
Cáceres
4
4
4
t=l
t=l
t=l
4
o
4
+ L: eSVt x SVIt + L: eHTt x NHDt
t= i
t=l
Zamora
t = 1,2,3,4
e=¿: eeot x PeaL+¿: evit x PVIt + ¿: esct x seot+
6000
Madrid
Las condiciones de no negatividad son
La función objetivo a minimizar es el coste total de prÓducdón e inventarios.
Si denominamos
eeOt = coste de fabricación de un compacto durante el trimestre t
CV 11 = coste de fabricación de un vídeo durante el trimestre t
ese1 =coste de inventario de un compacto durante el trimestre t
eSVt =coste de inventario de un vídeo durante el trimestre t
eHT1 = coste de hora de trabajo durante el trimestre t
el objetivo será
Valencia
9000
Sevilla Barcelona
Lugo
8000
5000
10000
La capacidad de empaquetado en Al·icante es de 14000 paquetes, en Cáceres de
15000 y en Zamora de 10000. Los costes de transporte por unidad de los centros
de empaquetado a los de distribución se recogen en la tabla
Alicante
PeO,,PVIt,SeOt.SVIt ,NHDt ~O ,
Madrid
14
11
12
Valencia Sevilla
7
15
14
8
7
10
Barcelona Lugo
17
18
13
21
16
9
Formular un programa lineal que determine cuántos paquetes deben enviarse
desde cada centro de empaquetado a cada centro de distribución para tener un
coste mínimo.
Solución
Sean las variables de decisión
Xij = número de paquetes que se envían del centro de empaquetado i
al centro de distribución j, con i =A, e,Z, j =M, V, S, B, L
Las restricciones corresponden a:
- Limitaciones de disponibilidad
+ XAV + XAS + XAB + XAL ~ 14000
+ XCB + XCL ~ 15000
XZM + XZV + XZS + XZB + XZL ~ 10000
XAM
XCM +XCV + XCS
44
PROGRA.I',lACION LlNEAL Y APLICACIOt-íES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCCION DE MODELOS
©RA-MA
- Satisfacción de demanda
+ XCM +XzM ~ 9000
+ Xzv ~ 6000
XAS + XCS + XZS ~ 8000
XAB + XCB + XzB ~ 10000
XAL + XCL + XZL ~ 5000
Tipo de Superficie Mano de obra Beneficio/Ha
maíz
máxima horasfmesfHa miles de ptas
800
L
350
5
4
760
M
510
480
735
G
6
XAM
XAV +XCV
La siembra tiene asociada unos costes por ha qu'! difie~n según la finca y el tipo
de maíz utilizado y que indicamos en miles de ptas
L M G
- No negatividad
Xjj~O,
=
75 (XAM + XAV + XAS + XAB + XAL) +
+71 (XCM +XCV+ XCS + XCB + XCL) +
+76(xzM + xzv + xzs + xzs + xzL) +
+14XAM + 7XAV + 8XAS + 17XAB + 21XAL+
+llxcM + 15xcv + 7xcs + 18xcs + 16xcL
+12xzM + 14xzv + 10xzs + 13xzs + 9xzL
Este problema forma parte de una clase específica de problemas denominada
de transporte o distribución, que tiene procedimientos de resolución específicos y
se estudia en el Capítulo 4.
o
24. Planificación de un cultivo. A un gabinete de ingenieros agrónomos le
encargan la planificación del cultivo de tres fincas de labranza de rendimiento similar. La superficie cultivable de cada finca medida en ha y el personal disponible
en cada una de ellas se tiene en la tabla
Finca
1
2
3
1 60 48 52
2 56 51 50
3 53 50 61
i=A,C, Z, j=M,V,S,B.~
La función objetivo coste, que es de minimización, es
min 0
45
Superficie de Número de
cult-ivo
trabajadores
300
20
640
40
445
30
Los empleados trabajan un promedio de 7 horas diarias, 22 días al mes. El gabinete se propone dedicar la superficie cultivable a maíz, que puede ser de tres
variedades diferentes denominadas largo (L), mocho (M) y grande (G). La tabla
que sigue proporciona las superficies máximas que pueden cultivarse con cada variedad (por limitaciones en la disponibilidad de semilla), las necesidades de mano
de obra por mes y el beneficio esperado en miles de ptas, por ha en ambos casos.
Para respetar los deseos del propietario, el gabinete debe desarrollar una planificación en la que la proporción de tierra dedicada al cultivo sea la misma en las
tres fincas, aunque la proporción de las variedades de maíz plantado no tenga que
respetar tal condición.
1'
Formular un modelo de programación lineal para conocer la superficie de cultivo y el tipo de maíz utilizado en cada finca para que el beneficio esperado sea
máximo.
Solución
Introducimos la seis variables de decisión
Xij = número de ha de la finca i dedicadas al maíz j
con i = 1, 2, 3 y j = L, M, G. Las restricciones se deben a:
- Limitación en las superficies de cultivo en cada finca
+X¡/vf +XIG ~ 300
+ X2M +X2G $ 640
X3L + X3M _¡_ X3G $ 445.
X¡[,
X2[,
- Limitación en las variedades de maíz
XtL +X2L + X3L ~
350
XtM + X2M +X3M ~ 510
XtG +X2G + X3G $480
- Limitación en horas/mes/Ha para cada finca
5XtL + 4xtM + 6xw $ 20 X 22
5X2L +4X2t\.f + 6X2G $ 40 X 22
5X3L +4X3M +6X3G $ 30 X 22
7 = 3080
X 7 =6160
X 7 = 4620
X
46
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
=
X3L + XJM + X3G
X2L + X2M + X2G
640
445
Solución
- No negatividad de las variables
La función objetivo representa el beneficio total esperado, en miles de ptas, dado
por
B = 800{x¡L + X2L + X3L) + 760(XtM +X2M +X3M)+
+735(x1G + X2G + XJG)- (60XtL + 56X2L + 53x3L+
+48X¡M + 51X2M + 50X3M + 52xw + 50X2G + 61X3G)
Sean las variables de decisión
M¡ = tiempo utilizado por el equipo i en completar la tarea M
N¡ = tiempo utilizado por el equipo i en completar la tarea N
P¡ = tiempo utilizado por el equipo i en completar la tarea P
Q¡ ;::: tiempo utilizado por el equipo i en completar la tarea Q
con i = 1, 2, 3, 4. Las restricciones son consecuencia de:
- La imposición de terminar las cuatro tareas admitiendo realizaciones parciales para los cuatro equipos
1
1
1
1
M1 + M2+ Ma + M4 = 1
52
57
51
56
1
1
1
1
212N1 + 218N2 + 201 Na+ 223N4 = 1
o
que es de la forma de maximización.
25. Distribución de tareas. Un empresario que se dedica al montaje de grandes
sistemas, recibe un encargo para la próxima semana. Tiene dividido el proceso
en cuatro tareas denominadas M, N, P y Q, que pueden realizarse en cualquier
1
1
1
1
25p1 + 23p2 + 26p3 + 21 p4 = 1
orden, parcial o total e indistintamente por cuatro equipos de trabajo distintos.
El tiempo en horas empleado en cada tarea realizada de forma completa por cada
equipo son
Equipo M
1
2
3
4
1
'
1
1
52
57
51
56
Q
212
218
201
223
60
57
54
55
Las horas semanales de que dispone cada equipo y el coste de trabajo por hora (en
ptas) se recogen en la tabla
Tiempo disponible
Equipo por semana (hóras)
1
2
3
4
220
300
245
190
1
\ 1
1
1
60Q 1 -f 57Q2 + 54Q3 + 55Q4 = 1
- La limitación en horas del tiempo semanal de cada equipo
Tareas
N p
25
23
26
21
47
Formular un programa lineal que permita conocer cuántas horas debe emplear
cada 1equipo para minimizar el coste total de montaje del sistema.
- Igualdad en la proporción de superficie cultivada en cada finca
XtL + XtM + X1G
300
CAPITULO l. CONSTRUCCION DE MODELOS
Coste de hora
de trabajo
6830
6950
7100
7120
M 1 + N1 + P1 + Q1 ~
M2 + N2 + P2 + Q2 ~
M3 + N3 + P3 + Qa ~
M4. + N4 + P4 + Q4 ~
220
300
245
190
'
- La no negatividad de las variables de decisión
M¡,Ni,P¡,Q¡ 2:: O, i
= 1,2,3,4
La función objetivo representa el coste de reali.zación del montaje y es de minimización
min C
=
6830(Mt +N¡+ Pt + Q¡) + 6950(M2 + N2 + P2 + Q2)+
+1lOO(M3 + N3 + P3 + Q3) + 7120(M4 + N4 + P4 + Q4)
o
48
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO l. CONSTRUCCION DE MODELOS
@RA·MA
26. Planificación y expansión de una plantilla. La empresa municipal
de transportes estima que necesita para su horizonte de planificación, que cubre
los próximos 6 meses, una media de 315 empleados/mes, con, al menos, 100
empleados que conduzcan autobuses durante el primer mes. La empresa se ha
planteado las siguientes condiciones:
a; = número de administrativos en el mes j
d;
= número de empleados nuevos que reciben enseñanza en el mes j
Las restricciones son:
- Disponibilidad de personal en el primer mes
c1 + e1 + a1 = 250
l. En un mes dado, cualquier empleado cualificado puede realizar una y sólo
una de las tres tareas siguientes: conducir, enseñar, servicios.
- Necesidades de personal para los próximos seis meses
2. Al principio del primer mes, la empresa dispone de 250 empleados cualificados para cualquiera de las tres tareas citadas.
6
6
2:.>; +L
j=l
i=l
j=l
- Número mínimo de conductores durante el primer mes
4. La disponibilidad de personal dispuesto a entrar en la plantilla para recibir
enseñanzas está limitada en el primer mes a 80 individuos. El resto de
meses es ilimitada.
- Posibilidades de enseñar todos los meses y limitación de docencia en el
primer mes
C¡ ~
j-1
= 2, ..., 6
t=l
i
~
35e¡,
d¡ ~ 80
=1, ...,6
- El empleado que conduzca un mes debe descansar el siguiente
j-1
7. Los empleados contratados lo serán durante el periodo de 6 meses, es decir,
no habrá bajas.
8. Los costes mensuales por empleado en miles de ptas para las tres tareas son
100
e; +e; +a; ~ 250 + .E d¡, j
d.¡
6. Como la empresa desea ofrecer mejor servicio y está en plena expansión,
quiere que cada mes el número de conductores sea al menos un 10% mayor
que el mes anterior.
1
6
e;+ L a1 ~ 315 x 6 =1890
3. Al principio de cada mes un empleado cualificado puede enseñar a 35 nuevos
empleados que podrán real·izar cualquiera de las tareas al comienzo del mes
siguiente.
5. Debido a la legislación vigente, un empleado que conduzca un mes no puede
hacerlo en el siguiente.
.l
49
Cj
~ 250 + 35
L d¡- Cj-1, j =2, ... ,6
i=l
- Aumento del número de conductores
j
=1, ... ,5
c;.e;,a; ~O, j
= 1, ... ,6
ci+ 1 ~ l.lc;,
Empleo Conductor Profesor Administrativo
Coste(u
300
450
250
1
Construir un programa lineal que planifique las necesidades de la plantilla con
coste mínimo.
- No negatividad
·La función objetivo a minimizar es el coste total
Solución
Para cada mes j = 1, ... , 6 introducimos las variables de decisión
e; = número de conductores en el mes j
e; = número de profesores en el mes j
6
6
6
e = 300 L Cj +450 L e; +250 La;
j=l
j=l
j=l
o
r
1
1
1
CAPITULO 2
RESOLUCION DE PROGRAMAS
LINEALES
Dedicamos este capítulo a la resolución de problemas de programación lineal.
Comenzamos con el procedimiento gráfico de resolución para el caso de dos variables de decisión. Aunque su interés es puramente académico, permite adquirir
intuición sobre la solución de un programa lineal, sugiriendo los siguientes casos
posibles: óptimo único, óptimos alternativos, problema no acotado1 problema infactible y rayo óptimo. Después, plantearemos la conversión de las restricciones de
desigualdad en un conjunto de ecuaciones lineales simultáneas que proporcionará.
las soluciqnes básicas, bien factibles o infactibles. Las primeras se corresponderán
con los puntos extremos de la región factible definida por el conjunto de restricciones y serán las candidatas a solución o soluciones óptimas de un problema
lineal.
La resolución analítica de un programa lineal requiere su transformación previa al formato estándar añadiendo variables de holgura y/ o variables artificiales.
El proGedimiento de solución que describimos es el método del símplex. En este
método se parte de una solución básica factible y nos vam¿s desplazando por
soluciones básicas factibles adyacentes que mejoren, o al menos no empeoren, el
valor del objetivo hasta alcanzar la optimalidad o detectar que el problema es no
acotado o infactible.
En la resolución manual se suele utilizar el formato de tabla. Mostramos
en varios ejercicios el papel de los indicadores o costes reducidos Zj - Cj para
cada variable Xj , pues, a partir de ellos y sus vectores iriteriores y i, se sabrá si
se ha alcanzado la optimalidad, es posible la mejora de la solución actual o el
CAPIT ULO 2. RESOI..UCION DE PROGRAMAS LINEALES
~52:..__P
~R~O!..::G!.!.RA=M!,::;A~C~IO~N:....:I..~h:..:.;NE~A.::::L:....Y~AP:....::L~lC~AC!.!C~IO:::;N~B:;:,S::..,:~EJ~E~R~CI~C~IO~S~R.::::E~
-S~U~EI.;~:I'..::O~S-~(c)RA-MA
problema es no acotado. Es interesante seguir la resolución analítica y gráfica
simultáneamente, observando la correspondencia uno a uno, salvo degeneración,
entre soluciones básicas factibles y puntos extremos de la región factible. En la
resolución de un programa lineal con ordenador se utiliza el algoritmo del símplex
revisado, que es esencialmente un esquema distinto de ordenación de los cálculos
que se llevan a cabo con el método del símplex básico, prescindiendo de los que
sean innecesarios para obtener la solución final.
Varios ejercicios muestran la aplicación del método del símplex tanto en los
casos en que sólo hay variables de holgura como en los que haya sido necesario considerar variables artificiales en el preprocesamiento del programa. En este último
caso, se utiliza el método de las penalizaciones, también llamado de la variable
artificial o de la M grande, conocido así por que se penalizan las variables artificiales en el objetivo con coeficientes - M, para intentar que abandonen la base lo
antes posible y evitar la posible infactibilidad. Para superar las dificultades que
conlleva la asignación de un valor concreto al coeficiente M, se ha introducido el
método de las dos fases. También se ilustra la aplicación del método del símplex
con variables acotadas superiormente, que tiene ventajas computacionales ya que
no trata las cotas sobre las variables de decisión como restricciones.
Varios ejercicios de aplicación, que también incluyen la modelización, ilustran
los algoritmos anteriores y la interpretación de los valores óptimos de las variables
de decisión y de holgura. El capítulo se complementa con aplicaciones de la
programación lineal como el problema de regresión, lineal múltiple y parabólica,
la solución de sistemas de ecuaciones, el estudio de la factibilidad de sistemas de
ecuaciones y un modelo estático input-output.
e) max z
=
d) ma.x
s. a
x1 +x2
s.a
z
X2 $4
2x2 $ 12
8x¡ +4x2 $32
X¡,X2 ~ 0
e) max
3x¡
2x¡
z
= x¡ tx2
X¡ 1
/) min
s. a
x1 + 2x2 ~O
X¡- X2 ~ 0
X2 ~ 0
gramas lineales
maxz
=
b) max
s. a
x 1 +x2
s.a
X¡ +x2
$4
X¡~
X2
1
$2
X¡ 1 X2~0
z
=
X¡ + x2
X¡ +x2 ~ 4
x1 + 2x2 $ 2
X¡ 1 X2 ~ 0
,
v
l
i~
- ~
1,.
J.
+2x2 $6
+4x2 $8
X2 ~ 0
z =X¡+ 2x2
2x2 ~O
0
X¡~ 0
X¡+
X¡ -X2 ~
Solución
Enumeramos las restricciones y condiciones de no negatividad con i situado en
un círculo, siendo i el lugar en el que aparecen en el correspondiente programa
lineal. Comenzamos por determinar la región factible. Para ello, representamos
en un sistema de ejes coordenados bidimensional las restricciones, las de desigualdad como semiplanos y las de igualdad como rectas. El conjunto de puntos
que verifican todas las restricciones y condiciones de no negatividad, si existe,
constituye la región factible F. A continuación, dibujamos la función objetivo
genérica z determinando el sentido de crecimiento (decrecimiento) si es de maximización (minimización). Desplazándola entonces hasta que sea tangente a la
región factible, tendremos la solución o soluciones óptimas.
Mostramos a continuación las gráficas de los programas anteriores con indicáción del tipo de solución y su región factible F.
l. Solución gráfica de programas lineales. Resolver gráficamente los pro-
a)
+x2
6x 1 +
a)
EJERCICIOS
X¡
X¡+
s.a
.l
=
53
Optimos alternativos
.' f'
54
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
b}
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
55
e)
x,
x,
(i)
No acotado
,.
In factible
f)
e)
x,
(!)
Rayo ópci:no
o
alcernacivos
redundancia
Opci~s
y
2. Soluciones básicas y su imagen gráfica. Dado el programa lineal
d)
ma.x z
=
3xt +4x2
s.a
x 1 + 2x2 ~ 2
4x 1 + 3x2
~
12
X¡ 1 X2~Ü
Se pide:
a) Determinar gráficamente todas las soluciones básicas.
b) ¿Cuáles corresponden a puntos extremos de la región factible, es decir,
cuáles son soluciones básicas factibles?
Opcimo ú."'ico
\
56
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
Solución
57
Solución
Comenzamos transformando las variables que pueden tomar valores negativos a
variables no negativas. Así, consideramos
a) Transformamos las restricciones del programa en igualdades añadiendo una ·
variable de holgura Si a cada restricción. Tenemos así el sistema de ecuaciones
lineales
X¡ t 2 X2 t S¡
=2
4x¡ + 3x2 +
s2 =12
con x4,x~ , x5 ~ O. Multiplicando la función objetivo por -1 para convertirla
a la forma de maxirnización, la segunda restricción por :-1 para transformar
la constante (-2) en no negativa, añadiendo variables de holgura (x5, i1) a la
primera y segunda restricción y artificiales (xs, xg) a la primera y tercera, se
tiene el programa lineal en el formato pedido
con 4 variables y 2 restricciones. El número (máximo) de soluciones básicas es
@=6. Están representadas en la figura con las letras O, A, ... , E.
maxi
=
-3x¡-2x2+0x3-x~-x5+x5+
+0x6 + Ox1 - Mxs - Mxg
s.a
X¡
+ X2 + Xs - Xs - X6 + Xg =5
- 2x¡ - ia
+x4 +x1 =2
Xg =3
X¡ + X2 + X3 +
Xt,X2 , xa , x4 , x~,x5 , x6 , X7 1 Xg,xg ~O
donde M representa un número grande en comparación con los coeficientes de
coste Cj del programa.
O
4. Tabla del símplex incompleta. Dada la siguiente tabla correspondiente a
cierta iteración del método del símplex
b) Las soluciones básicas factibles serán O,B y C, que verifican ambas restricciones y las condiciones de no negatividad.
o
,
1
1
'
~
1
3. Formato estándar. Poner el siguiente programa lineal en formato estándar
(de maximización), añadiendo variables artificiales para tenerlo en el formato de
aplicación del método del símplex
es
Cj
14
25
18
VB
o
o
o
X¡
X2
X3
S¡
S2
S3
5/2
1/2
'
o
o
3/4
1 1/4
o -3/2
1 -1/4
o
o
o
o
XB
200
100
1/4 .
-1/2 1 40
z;- e;
Se pide:
min z
s.a
=
3x¡ + 2x2- X4 + xs
X¡ +x2 +xs ~ 5
2X¡ + X3 +X4 ~ -2
X¡+ X2 + X3 =3
X¡ 1 X2,X3 ~ 0
X4 ~o, xs E IR
a) Escribir las ecuaciones transformadas correspondientes a esta tabla.
b) ¿Cuáles son las variables básicas?
~)
\
Completar la tabla.
d) Justificar si la tabla obtenida en e) es óptima. En caso negativo, ¿qué
variable debe entrar en la base y cuál debe salir?
58
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPlTULO 2. RESOLUCION DE PROGRAMAS LINEALES
e) Obtener la tabla final.
CB
Solución
a) Cada punto extremo de la región factible, definida por las restricciones del
problema, es una solución básica factible del sistema. de ecuaciones definido por
las restricciones transformadas. El método del simple~ se desplaza por puntos
extremos moviéndose de una solución básica factible a otra. Para llevar ésto a
~abo, las ecuaciones originales se van transformando en representaciones equivalentes en cada iteración. Entonces, las ecuaciones correspondientes a la tabla
actual son
5
3
1
- X¡ + - X3 +S¡ - -S2 =200
2
4
4
1
1
1
2x¡ + x2 + x3 + ¡s2=100
4
3
1
-2x3- 2s2 +s3 =40
S3.
e) Los coeficientes en ca son los coeficientes de las variables básicas en la función
objetivo. Por tanto, ca = (0, 25, O). Los indicadores de las seis variables se
obtienen de la fórmula
Zj - Cj =ckyj - Cj-
14
25
18
o
o
o
X¡
X2
X3
S¡
52
83
o
3/4
1/4
- 3/2
-47/4
5/2
1/2
S¡
25
X2
o
83
o
Zj- Cj
-3/2
1
o
o
Yt
= (5/2, l/2, 0),
mm
1
Yi3
.
'Y•3
>
o}_- .
mill
Por tanto, la tabla completa es
(
=2500.
1
Y3
1
40
2500
o
lOO
= (3/4, 1/4, -3/2).
. { 200 100} _ 200
mm 3/4, 1/4 - 3/4
{ XBI XB2 } _
'
YI3 Y23
Y2t
Y21
XB3
X
_ YttXY23 _!
Yt3
- 2
83
- ~
Yt3
~
Z
_
z
_ (5/2)x( l/4) __ !
3/4
= 40 -
y13
_ XBt x(z3 -c3) _
YIJ
-
-
200x( -3/2}.
3/4
YtsX(z3-c3) _ 25
v
z =C~XB =(0, 25, O)
200
que corresponde a la primera variable básica, es decir, s1. La primera fila será la
pivote. Observemos que el cociente xa3/Y33 no se considera en la regla de mínima
razón, ya que y33 =- 3/2 es negativo. El pi'vote será el elemento interior que está
en la posición de cruce de la columna pivote y la fila pivote, es decir, Yt3 = 3/4.
e) Mediante la operación de transformación de pivote se obtiene la nueva tabla.
Si denotamos con ~ los elementos de la nueva tabla, el cálculo de algunos de ellos
es
zs _ ~e, = zs - es -
200 )
1~6
XB
o
o
La variable que debe entrar en la base es x3, ya que tiene el indicador más
negativo, y la tercera columna será la columna pivote1. La variable que sale de
la base se obtendrá por aplicación de la regla de mínima razón2
Por ejemplo, para la variable x1 es
y, análogamente, para las restantes variables. Finalmente, el valor de la función
objetivo es
1 - 1/4
o 1/4
o . -1/2
o 25/4
d) La tabla anterior no es óptima: existe posibilidad de mejora, ya que hay dos
indicadores negativos (z1-c1 =-3/2, z3-c3 =-47 /4) con al menos un elemento
positivo en sus respectivos vectores interiores
. {XBi
con Xj, s¡ ~ O, i,j = 1, 2, 3. En concreto, la solución básica actual es s1 =
200, X2 = 100, S3 =40.
b) Las variables básicas pueden ser aquellas que tienen asociadas vectores interiores con un elemento igual a 1 y el resto O. Por tanto, éstas serán s1, x2 y
·1
·o
Cj
VB
59
-
2500
4 -
_
3
=440
(- l / 4) x(-47/4) _ 7
3/4
-
3
200x (- 47/ 4) _ 16900
3/4
3
La nueva tabla completa es
1
Aunque existen otros criterios de selección de la variable de entrada, consideramos aquí el
del indicador más negativo.
2
También existen otras alternativas de elección que no consideraremos aquí.
60
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
es
18
25
o
25 18
o o o
S¡
xa
52
sa
XS
xa
10/3 o 1 4/3 - 1/3 o 800/3
X2
-1/3 1 o -1/3 1/3 o 100/3
5
o o 2 -1 1 440
sa
z;- e; 113/3 o o 47/3 7/3 o 16900/3
Cj
14
VB
X¡
CAPITULO 2. RESOLUCION DE PROGRAMAS LfNEALES
©RA-MA
TABLA 2
-1
es
-1
VB
X¡
X¡
1
-M
xs
xa X4
1
1 o
-2 -4 -1
xM
• 800
100
x1 =O, x2 = - -, x3=3
3
o
5. Indicadores en la tabla del símplex. Las tablas que se presentan a continuación corresponden a tablas de alguna iteración del método del símplex en problemas de maximización. Seleccionar de entre las condiciones que siguen aquellas
que se adapten a cada problema y responder la cuestión correspondiente.
\
X2
X5
o
o o
o 2
1
es
1
Xs
X¡
-M
X4
X&
o
X~
XB
3
1
4
-4
-1
-1
4
1
1
1
1
-1
o o 3
o o 3.
o 1 o1
4
o
o
1
o
o o o
xM
TABLA 4
e;
6
8
es
VB
X¡
X2
6
xa
10
X2
19/5
3/5
xa :¡;4 XB
o 1 -2/5 4
1 o 1/5 3
o o 2 30
o
TABLA 5
es
15
-6
VB
X¡
X2
z; - e;
e) Existe un rayo óptimo. ¿Por qué?
o
15 -6
X¡
X2
1 o
o 1
o o
o
XB
xa
X4
-2/3 1/3 10/3
- 5/3 1/3 4/3
o 3 42
TABLA 6
f) El problema es infactible.
g) Es posible la mejora en el objetivo. ¿Cuál es el pivote?
8
o -M
o
X3
Cj
d) El problema es no acotado. ¿Por qué?
TABLA 1
6
8
X¡
15/4
X2
1/4
Zj- e;
-4
xa
-1
-2
X2
z; - e;
e) La solución es deQenerada. ¿Por qué?
o
4
X¡
b) Tiene soluciones óptimas alternativas. ¿Cómo se obtienen?
e;
VB
1
2
1 -3
z; - e;
a) Tiene solución óptima única.
CB
XS
o
o o
o
1
-1
TABLA 3
e;
VB
o
con z* = 16900/3.
-M
-1
Zj - Cj
•
o o
Cj
X2
que es óptima, pues todos los indicadores Zj - Cj son no negativos. La solución que
proporciona es un óptimo único, pues sólo las variables básicas en esta tabla final
tienen indicadores nulos. La solución es
•
61
X2
o
o o
xa
1
o
o o
1
X4
Cj
3
2
o
()..
CB
VB
X¡
X2
X3
X4
2
3
X2
o
1
X¡
Zj- Cj
l. o
o o
XB
1/2 -1/2 2
-1/4 3/4 3
1/4 5/4 13
XS
- 1 10
1/4 10
2 80
1
Solución
· Tabla l. g) : es posible la mejora. Existe un indicador negativo z1 - c1 = - 4 con
al menos un elemento positivo en su vector interior Yl ;= (15/4, 1/4). La variable
62
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
de entrada en la base es x 1 y la variable de salida, aplicando la regla de minima
razón,
mio {XBi' y¡¡> o}= mio{XBI' X82}
i
Yil
Y11
Y21
=m~ {~• _!Q_} = _!Q_
!5/4 1/4
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
15/4
Solución
Comenzamos por poner el programa en formato estándar de maximización, tratando las cotas sobre las variables como restricciones. Para ello, basta con sumar
una variable de holgura a cada una de las restricciones quedando el programa
max z = x1 +3x2 +Ox3 +Ox4 +Ox5
s.a
es la variable X3. Por tanto, la columna pivote se tiene para j = 1 y la fila pivote
para i = l. El pivote será Yu = 15/4.
X¡ +XJ
Tabla 4. b): la tabla es óptima por tener todos los indicadores no negativos y
no haber variables artificiales en la base con valor positivo. Como la variable no
básica x1 tiene indicador z1 - c1 nulo, hay indicación de óptimos alternativos.
Para obtener un punto extremo óptimo alternativo, introducimos en la base la
variable no básica X¡ en lugar de x3, por aplicación de la regla de mínima razón.
El pivote será y¡¡ = 19/5 y en una transformación de pivote se obtiene la solución
X¡ = 20/19, X2 = 45/19.
Tabla 5. e): por tener la tabla todos los indicadores no negativos pero para la variable no básica X3 su indicador ZJ -c3 =O con vector interior Y3 = (-2/3, -5/3)
no positivo.
X¡
con x3 , x4, x5 variables de holgura. Construimos la tabla inicial del símplex. Para
ello, observemos que la base inicial es
o1 oo ) .
o1
El vector de coeficientes de las variables básicas en la función objetivo es
CB
1
l
1
6. Método del símplex. Resoluer mediante el método del símplex el programa
lineal
max z
s.a
=
x 1 +3x2
X¡,X2~0
= B01ai = a;,
= c~y¡ -C¡ =(0,0,0) (
z2 - c2 = -3,
Z3 -
C3 = 0,
Z4 - C4
Los valores de las variables básicas iniciales son
J •
Seguir las iteraciones sobre la representación gráfica de la. región factible en el
plano X¡X2, mostrando los puntos extremos que recorre el método.
j = 1, ... , 5 y los indica-
~) -1 =
-1.
y, análogamente,
X¡~
5
x1 +x2 ~ 8
X2 ~ 4
= (c3,C4,C5) = (0,0,0},
con lo que los vectores interiores son Yi
dores
zt -C¡
Tabla 6. a): todos los indicadores son no negativos y sólo tienen indicador nulo
en esta tabla final las variables básicas x2 y x 1.
O
=5
+x2 +x4 =8
X2 +X5 =4
X¡ 1 X2 1 X3 1 X.¡,X5 ~ 0
Tabla 2. f): al ser todos los indicadores no negativos corresponde a una tabla
final pero en la que hay una variable artificial en la base con valor pósitivo. Por
tanto, el problema es iofactible.
Tabla 3. d): existe un indicador negativo Z3 - c3 = -1 con vector interior
Y3 = (-4, - 1) , con todos sus elementos no positivos.
63
con lo que la tabla inicial es
= 0,
Z5 - C5
= 0.
64
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
1
CB
o
o
o
e;
1
3
VB
o o o
X¡
X2
X3
X4
1
o
X3
1
1
¡•
-3
o
xs
Zj -
e;
-1
xs
X4
@RA-MA
1 o o 5
o 1 o 8
o o 1 4
o o o o
e1 = -1 y z2 - e2 = -3,
mjn{XBi ,y¡2 > 0} = min {XB2 XBa} = min {~, ~} = 4.
Y22
Yi2
1
1 1
Ya2
Así, la variable básica xs en la fila pivote i = 3, es la variable que deja la base,
aparece en negrita en la tabla. El elemento pivote es y32 = 1, marcado con un
asterisco en la tabla. Podemos obtener, mediante la transformación basada en
el pivote, la nueva tabla del símplex en la que ahora las variables básicas son
X3, X4, x2. El cálculo de algunos elementos es
~=1
Y3s
=
vu
= Yu - ~ = 1 -
Y32
Y32
OxO
= XB2- ~ = 8-
XB2
Ya2
1
Cj
1
3
o o o
ce
VB
X¡
X2
X3
o
X3
1
X¡
3
X2
Zj -
Cj
X4
xs
XB
o o 1 -1
1 o o 1
o 1 o o
o o o 1
1
1
-1
4
1
4
2
16
Esta tabla es óptima, ya que todos los indicadores son no negativos. Además,
el óptimo es único pues sólo las variables básicas (x¡, x2, x3) en esta tabla final
tienen indicador nulo. La solución óptima es
x• =
(xi, x2, x3, x4, x5) = (4, 4, 1, O, O),
con valor óptimo para el objetivo z• = 16.
.-La tabla siguiente recoge la sucesión de soluciones básicas factibles y los valores asociados de la función objetivo que hemos recorrido en las iteraciones del
símplex, hasta alcanzar la optimalidad.
=1
l x4
1
Iteración
=4
Solución
básica factible
(X¡ 1 Xz 1 X3, X4, Xs)
z1 - c1
1
•
l
1
=
z
Z¡ _ C¡ _ Y31 x(z2-c2)
Y32
= z_
xaax(z2-c2)
= - 1 _ O.x( -3) = _
1
=O_ 4x(-3) =
1
Y32
.
1
11
IU
12
siendo la nueva tabla
Cj
1
3
VB
o o o
CB
X¡
X2
X3
3
X3
X4
Xz
o
o
z;- e;
X4
xs
o 1 o o
o o 1 -1
o 1 o o 1
-1 o o· o · 3
1
1'
65
De nuevo, vemos que es posible la mejora de la solución actual. La variable de
entrada en la base es x1, su indicador z1 - c1 = -1, es negativo y su vector
interior y 1 = (1, 1, O) tiene elementos positivos. La variable de salida es X4, pues
proporciona la mínima razón 4/1 = 4. El pivote es Y2t =l. La nueva tabla es
XB
Los indicadores negativos son z1 teniendo sus
respectivos vectores interiores y 1 = (1, 1, O) e y2 = (0, 1, 1), al menos un elemento
positivo. Por tanto, es posible la mejora de la solución actual a otra solución
básica factible. La variable de entrada es x2, que tiene el indicador más negativo,
siendo j = 2 la columna pivote, aparece en negrita en la tabla. La variable de
salida se obtiene mediante la regla de mínima razón
1
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
5
4
12
o
12
16
La figura describe la región factible en el plano x1x2. Se presenta la sucesión
de puntos extremos de la región factible en las sucesivas iteraciones del símplex,
marcados con números romanos.
XB
4
(0,0,5,8,4)
(0,4,5,4,0)
(4,4,1,0,0)
Valor del
objetivo
z
1
66
PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
X2
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
©RA-MA
Iteración l.
La base inicial es
(4}
o o)
5
4
Bo = (a3,a¡, as)
II
(
1
O 1 O .
oo
1
El vector de coeficientes de las variables básicas en la función objetivo es
3
Región factible
2
CB
(5)
I
2
3
4
5
X¡
s,\ =
o
7. Método del símplex revisado. Resolver mediante el método del símplex
revisado el programa lineal del Ejercicio 2.6.
Solución
Como en el Ejercicio 2.6, reescribimos el problema en formato estándar de maximización. La matriz de coeficientes tecnológicos es
~ ~ ~ ).
oo
Z¡ - C¡
1 C4,C5)
para las variables no-básicas
¡
X¡
y xz. El mul-
o = (0,0,0) .
c~B0 1 =(0,0, O) ( oo1 o)
1
= Sbal -
C¡
= -1,
Z2 -
C2
= Sba2 -
C2
= -3 ·
El más nega~ivo es z2 - c2, por lo que l?- variable x2 o, equivalentemente, el vector
columna a2 = (0, 1, 1) entrará en la base. Recordemos que para las variables
básicas los indicadores son z; - Cj = O.
Determinamos ahora la variable o el vector que sale de la base. Tenemos que
x8
El vector de coeficientes en la función objetivo es
Cj
Así, los indicadores son
= ~:
1
= (c¡ ,C2, C3
= (c3,C4,c5) = (0,0,0) .
Calculamos los indicadores Zj tiplicador del símplex es
1
C
=
67
Y2 =
( ., )
o
( 1
= B0 b = ~ 1
1
( Y22~~ ) =B()taz =
o
o
e
O 1
Oo
La regla de mínima razón proporciona el valor
Y23
= (1,3, 0,0,0)
y el vector de términos de la derecha de las restricciones o constantes es
B=minn.n =4
que corresponde a la variable x5 . Esta variable o, equivalentemente, as = (0, O, 1},
abandona la base. La nueva base es
Aplicamos el método del símplex revisado para la resolución:
1
B¡=(a3,8.4,a2)= ( o~ o~ ~ ) ,
1
'r. l
68
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
su inversa es
1
Bj
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
su inversa es
=u : ~1),
y la solución básica factible asociada
La solución básica factible asociada es
Iteración 2.
Calculamos el multiplicador del símplex
Iteración 3.
Calculamos el multiplicador del símplex
s\
o)
=c~Bj 1 =(0,0, 3) ( ~ o
1 o = (0,0,3).
o
sl =c~B¡ 1 = (0, 1,3) (
1
Los indicadores Zj - ci para las variables no básicas x1 y x5 son
z¡ -
e¡ = si a¡ - e¡ = -1
y
z5 -
e
y
1
= ( :::) =B[
1
a
1
=
=(
c5 = si as - c5 = 3.
Z4 - C4
n
= S~a.t
-1
l )
1 -1
o 1
=(O, 1, 2) .
-
C4 = 1
y
Z5 -
Cs =
s~as -
C5
= 2.
Como ambos son no negativos, la base B2 es óptima. La solución óptima es
con
z'
O: ~1 O) D
)
¡
Los valores Zj - e; para las variables no básicas x4 y xs, son
Como sólo z¡ - e¡ es negativo, la variable x 1 o, equivalentemente, el vector columna a¡ = (1, 1, O) es el que entra en la base.
Para determinar la variable de salida tenemos que
xs = (::)
69
= c~x¡, = (0, 1, 3) (
: )
=16
o
=(
8. Indicadores en el método del símplex. La siguiente tabla corresponde
Por tanto,
e=min{~~ n = 4
que corresponde a la variable x 4 . Luego a¡
base es
a un problema de programación lineal de maximización en el que no ha sido
necesario añadir variables artificiales para su resolución
= {0, 1, O) sale de la base.
1
La nueva
VB
X¡
X2
:l:J
:l:J
7
a¡
1
:1:4
-3
zs
a3
-4
-2
Zj- C¡
-C¡
-C2
X4
o
o 1
o o
o o
Xs
a2
-2
6
9
X&
o
o
1
o
XB
b
3
5
16
70
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
©RA-MA
Determinar las restricciones sobre los valores desconocidos a1, a2 , a3 , b, c1, c2 para
que se cumplan las siguientes condiciones:
'
l. La solución proporcionada por la tabla actual corresponde a un óptimo
71
6. Como anteriormente b ;::: O. Para que sea una tabla final debe ser c1 ~ O
y c 2 = O. Además, a1 :::; Oy así el vector interior de la variable x2 será no
positivo, teniendo la indicación de rayo óptimo por esta variable.
O
único.
2. It. pero con óptimos alternativos.
9. Salida de una variable básica en el método del símplex. Probar que si
3. La solución proporcionada por la tabla actual es solución factible degenera-
una variable básica sale en una iteración del método del símplex, no puede entrar
en la iteración siguiente, salvo en el caso de óptimos alternativos.
da.
4. La solución proporcionada por la tabla actual es solución factible, pero el
problema es no acotado.
5. La solución proporcionada por la tabla actual es solución factible, pero puede
mejorarse, o al menos no empeora el valor del objetivo sustituyendo x6 por
x 1, obteniendo otra solución básica factible.
6. Existe rayo óptimo.
Solución
Tal situación puede representarse en la forma que aparece en la tabla, en la que
se supone que Xj es la nueva variable que entra en la base y x¡ es la variable de
salida, para cierta iteración del símplex. En este caso, el indicador z¡ - Ci es nulo,
ya que actualmente x¡ es una variable básica, y el de Xj será negativo, es decir,
Zj - Cj < O, por ser la variable candidata a entrar en la base y no haber óptimos
Ñternatlvos. Sea Yii > Oel pivote.
VB
Solución
1
1. 1
i.
J
xs
1
Yii
XBi
o
o
z;- Cj
z
o
l. Debe ser b ;::: O, ya que el método del símplex (primal) mantiene la factibilidad en las iteraciones. Si c1 < Oy c2 < O, todos los indicadores son no
negativos y, además, como -c1 > O, -c2 > Oy el indicador de x5 , que es la
otra variable no básica, también es positivo, se tiene un óptimo único.
1
Xj
X¡
X¡
2. También b ;::: O. Ahora puede ser c1 = O y c2 < O, con lo que la tabla será
óptima, pero con indicación de óptimos alternativos por ser nulo el indicador
e¡ de x¡. Alternativamente, podría tenerse la misma situación si c1 :::; O
y c2 = O. Para no tener un rayo óptimo debe ser a1 >O.
En la nueva tabla que se construye para la próxima iteración, el indicador de la
variable X¡ que deja la base, es
3. Debe ser b =O.
que es positivo, pues Zj - Cj < Oe Yii > O. Como en la nueva tabla z¡ - C¡ > O, la
variable x¡ no podrá entrar en .la iteración siguiente. Si se introdujera en la base
se produciría una reducción en el valor del objetivo.
D
4. También b ;::: O. Si c2 > O, se tendrá que es posible la mejora, pero si
añadimos que a¡ :::; O, el vector interior de la variable x2 es no positivo, de
ahí la no acotación.
5. También b;::: O. Si c1 ;::: Oserá posible la mejora o, al menos, no empeorará
el valor del objetivo. Además, debe ser a3 > O para poder aplicar la regla
de mínima razón a la tercera fila de la tabla, con (5fa3 ) ~ (b/7) para que
entre en la base la variable X6. También, si c2 > Odeberá ser a 1 > Opara
evitar que el problema sea no acotado.
~
~
Zj - Cj
z¡ - e¡=-- -
Yii
10. Forma producto de la inversa. Dada una matriz B y su inversa B- 1,
con
B=
3
(
o 2)
1 1 3
oo4
, B- 1 =
(
1/3 o -1/6 )
-1/3 1 - 7/12
o o
1/4
72
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
y suponiendo que el vector columna
vector columna ~
producto.
= (1, O, 2)
1
,
@RA-MA
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
= (O, 1, W E B
se Cllmbia por el
determinar la nueva matriz inversa en la forma
a2
=(
1/3
2/9
o
-1/6)
-2/3 7/18
-1/9 1/3 1/18
o
Solución
El procedimiento de la forma producto de la inversa es muy útil en el método del
símplex, ya que permite obtener la inversa de una nueva base (o matriz básica)
a partir de la inversa de otra base, siempre que ambas difieran sólo en un vector
columna.
La nueva matriz inversa B;;- 1 , supuesto que se ha reemplazado en B el vector
columna ar por el aj, se obtiene del producto
B~ 1
11. Método del símplex. Resolver por el método del símplex los programas
lineales
a) maxz
s.a
=
b} min z
s. a
x, +x2
=UB - 1
d} maxz = 3x 1 + 2x2
s.a
X¡ +4x2 515
3x 1 + x2 512
2x 1 + 2x2 510
3x,- x2 5 11
X¡ 1 X2 ~ 0
s.a
x 1 + 2x2 ~O
X¡ -X2 ~ 0
X¡~ 0
Solución
a) Convertimos el programá lineal al formato estándar de maximización
ma.x z
s.a
=
-0/(-3/2) )
( o
1/(-3/2)
== -2/3
(
(-1/2)/(-3/2)
1/3
)
X¡ + x2 + Ox3 + Ox4 + Oxs
X¡ +x2 + X3 = 4
5x 1 + 3x2 + X4 = 15
7x 1 +Sx2 +xs = 35
X¡ 1 X2,X3 1 X4 1 X5 ~ 0
=2 e !/24 =-3/2 f; O, es
U =
2x 1 + x2
3x 1 + 2x2 56
2x¡ + 4x2 58
X¡~ 0
e) minz = x1 +x2
donde Yi =B - 1aj.
En nuestro caso particular, calculamos
=
X¡ +x2 54
5x¡ + 3x2 515
1x 1 + 5x2 5 35
X¡,X2 ~ 0
con U matriz identidad salvo el vector columna r-ésimo, que es
Como r
73
.
La tabla inicial del método del símplex, en que las variables básicas iniciales son
las tres variables de holgura (xa,x4,xs}, es
Por tanto,
-1/6 )
-7/12
1/4
es
=
o
o
o
1
'J
VB
1
1
o o o
X¡
X2
X3
X3
1
1
3
X4
s·
xs
7
5
Zj_- Cj
-1
-1
X4
xs
XB
o o 4
o 1 o 15
o o 1 35
o o o o
1
\
\
74
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
(en las tablas del símplex indicamos con un asterisco el pivote, y en negrita el
· indicador correspondiente a la variable de entrada y .el valor de la variable básica
de salida). Observemos que la base inicial es Bo= {a3, a¡, as), que proporciona
la solución inicial básica factible, que podemos leer directamente en la tabla
=(
~o o~ ~ ) 1~
-l (
1
=(
)
35
1~
i
35
. {XB- t -XB2 -XB3} =mm. {4- -15 -35} =3
> o} =mm
Yit '
Y11 ' Y2t ' Y3t
1'
5' 7
.
La mínima razón corresponde a x4 , que es la variable de salida, con k= 2 la fila
pivote. El elemento pivote es Y21 =5. Construimos una nueva tabla del símplex.
El cálculo detallado de algunos nuevos valores es
-1-~5 - .4
Y~12-
XBt
1
~
~
Z2 - C2
=- 1-
3x(-l)
-5-
= -. 4'
z-
15x( -1) _
- 3.
s
La nueva tabla, en la que las variables básicas son x3 , Xt y xs, sigue debajo.
Reiterando el procedimiento obtenemos que la variable de entrada en la base es
x2 , su indicador es z2 - c2 = - .4 con Y2 = (.4, .6, .8), que tiene, al menos, un
elemento positivo. La variable de salida es x3, tiene mínima razón igual a 2.5 y,
por tanto, el pivote es Ytz = .4.
XJ
X4
xs XB
1
-.2
.2
-1.4
.2
X¡
X2
o
.4.
.6
XJ
1
X¡
1
o
xs
o
o
Zj- Cj
o
o
o
es
.8
-.4
.
o
1
1
e;
VB
o
o
o
Como podemos ver, ahora la base es B 1= (a3,a 1, a5), que proporciona la solución
básica factible
Cj
1
es
VB
X¡
1
1
·x2
o
o
xs
Xl
Zj- Cj
o
o
1
1
14
o
3
3
o
o
o
X2
X3
X4
xs XB
1
2.5
-1.5
-2
-.5
.5
o
o
2.5
-1
1
12
1
o
o
4
1
o
o o
o o
1
1.5
Esta es óptima, pues todos los indicadores son no negativos. La solución óptima
es
xi = 1.5, x2 = 2.5, xj = x4 = O, x5 = 12
con z* = 4. La base correspondiente a la última tabla, que es B2= (a2, a¡ , as),
proporciona la solución básica factible óptima
= 4- 15;1 =1
~_O_
75
que también leemos directamente en la tabla. La transformación de pivote de la
última tabla conduce a· la tabla
)
Como hay indicadores negativos, z 1 - c1 = -1 y z2- c2 = -1 , cuyos vectores
interiores Yt = (1, 5, 7) e Y2 = (1, 3, 5) tienen al menos un elemento positivo
cada uno, es posible la mejora de la solución actual. Como hay empate en los
indicadores de ambas variables, tomamos aquella con menor índice, con lo que
x1 es la variable de entrada en la base, con r =1 columna pivote. Aplicamos la
regla de mínima razón para ver a quién sustituye, teniendo
. {XBi
mm
- Yil
CAPITULO 2. RÉSOLUCION DE PROGRAMAS LINEALES
XB
=(
~:~ ) = ( ~~ ) =B2
1
XB3
=(
~ ~ ~ ) 351~
- 1 (
5 7 1
b=
X5
)
=(
~:~12 )
Observemos en la tabla óptima que la variable no básica x4 tiene indicador
nulo. Existen, pues, óptimos alternativos. Introducimos en la base la variable
x4 que sustituye, por aplicación de la regla de mínima razón, a la variable X¡. El
pivote es y2 4 = .5. La nueva tabla es
r
76
PROGRAMACION LTNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
1
o o o
e;
1
1
es
VB
X¡
X2
X3
1
X2
1
1
1
o
o
X4
xs
z; -e;
o
o
o o
2
2
-3
-5
1
X4
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
Las sucesivas tablas del símplex son
xs XS
o o
1 o
o 1
o o
4
3
es
= O,
x2 = 4, x3 = O,
15
4
=
x: = 3, x5 = 15,
-2x 1 - x2 +x~ +Ox3 +Ox4
3x¡ + 2x2 - 2x~ +X3 = 6
2x 1 +4x2 - 4x~ +x4 = 8
X¡ 1 X2,X~ 1 X3 1 X4 ;2: 0
Construimos la tabla inicial del símplex y observamos que es posible la mejora,
ya que el indicador de x~ es negativo. Sin embargo, como su vector interior
ií = (-2,-4) ~ O, el problema es no acotado.
es
o
o
-2 -1
X¡
x2
X~
X3
XJ
3
2
1
x.
2
e; ·2
4
1
-2
-4
-1
X4
o
=
XJ
X4
-1
-1
1
- X¡ - x2 +x~ +Ox3 +Ox4
-x¡ - 2x2 + 2x~ + X3
=O
-X¡ + x2 - X~+ X4 = 0
X¡,z2,x'i,x3,X4 ;2: 0
1
o o
x2
xs
-2
x"2
2'
1
1
-1
-1
Cj
-1
-1
VB
X¡
x2
1
X~
-.5
-1.5
.5
-1
o
X4
Zj- Cj
xs
X4
o o
o 1 o
o o o
1
1
X~
1
o o
o o
o o
X3
.5
.5
.5
xs
X4
o o
1
o
o o
En esta última tabla la variable no básica x2 tiene indicador cero y su vector
interior todos los elementos no positivos, el programa transformado tiene un rayo
óptimo con valor óptimo O. Obsérvese que el rayo óptimo es (x 1 , x2, x~, X3 1 x4) =
(0, >.,>.,O, O) con >. E [0, oo) . Por tanto, en el problema original no existe rayo
óptimo, pues x2 = x2 - x~ =>. - >. =Oy la solución óptima es (x 1, x2 ) = O.
d) Convertimos el programa lineal al formato estándar
max z
s.a
=
3x¡ + 2x2 +Ox3 +Ox4 +Oxs +Oxs
X¡ +4x2 + X3 = 15
3X¡ + X2 + X4 = 12
2x¡ +·2x2 + xs = 10
3x¡ -x2 +xs = 11
XJ,X2,X3,X4,Xs,X6 ;2: 0
6
o 1 8
o o o
-1
es
XS
e) Convertimos el programa lineal al formato estándar de maximización. Para ello, transformamos la variable no restringida x2 con x2 = x2 - x~, siendo
x2, x~ 2: O; pasamos la función objetivo a forma de maximización; multiplicamos
ambas restricciones por -1 (al ser sus constantes cero sigue veriijcándose su no
negatividad); y sumamos variables de holgura x3 , x4 a cada restricción. Queda
entonces el programa
max z
s.a
X¡
o o o
e;
VB
Zj -
-1
Zj- Cj
con igual valor para la función objetivo.
.
b) Ponemos el programa lineal en formato estándar de maximización. Para ello,
como x2 es no restringida, introducimos la transformación lineal x2 = x2 - x~,
con x2, x~ 2: O; pasamos la función objetivo a forma de maximización y sumamos
variables de holgura x3, x 4 a cada restricción. Queda el programa
max z'
s.a
Cj
VB
o
o
que proporciona la solución óptima alternativa
xi
77
' · con x3, X4, xs y x5 variables de holgura. La tabla inicial del símplex es
es
o
o
o
o
Cj
3
2
VB
o o o o
X¡
X2
X3
1
3
2
3*
-3
4
1
1
XJ
X4
xs
xs
z;- e;
2
-1
-2
o
o
o
o
X4
xs xo xs
o o
1 o
o 1
o o
o o
o
o
o
1
4
12
10
11
o o
Como hay indicadores negativos con vectores interiores con al menos un elemento
positivo cada uno, es posible la mejora. La variable de entrada en la base es
x¡ {z¡ - C¡ = - 3), la de salida es xs (con mínima razón igual a 11/3) y el pivote
Y41 = 3. En tres iteraciones se alcanza la optimalidad, siendo la tabla final
78
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
es
o
Cj
3
2
VB
o
X¡
X2
X3
X3
2
X2
o
xs
3
X¡
Zj- Cj
o o 1
o 1 o
o o o
1 o o
o o o
o
o
o
X4
xs
X6
3/2
-11/4
- 1/2
-2
3/4
3/2
-1/4
3/4
1/2
1/2
o
o
1
o
o
@RA-MA
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
Cj
1
1
O · -M
o
xs
ca
VB
X¡
X2
X3
X4
X;
11/2
-M
X4
1
-1
2
z¡- e¡
-1
-1
-1
o
o
1
xs
¡•
1
-1
1
o
3/2
2
xlvf
7/2
27/2
•. - 7
2'
•
x2 =
3 • 11 •
•
2, x3 = 2 , x4 = x5 =O,
•
•
x6 = 2 y z =
27
2
o
,.
12. Mét odo de las penalizaciones. Resolver con el método de las penalizaciones, también llamado de la variable artificial o de la M grande, los programas
lineales
a) max z
s.a
=
X¡
+ x2
b) min z
s.a
=
+x2 ~ 4
X¡+ 2x2 ~ 2
2x¡ + 3x2 -
X ¡ ,X2~Ü
X¡,X2,X3 ~ Ú
X¡
X¡
X¡
X¡ - 2X2
+ x2 +Ox3 - MX4 + Oxs
+ X2 - X3 + X4 =4
+2x2 + xs = 2
X¡,X2,X3,X4,X5 ~
'•.
0
Construimos ia tabla inicial del método del símplex
1
ca
VB
X¡
X2
- J\1[
X4
X¡
+ X3
o
1
o
o
Zj- Cj
xM
o 1 2
o o o
o o -4
o
-M
o
X4
X;
1
-1
2
1
1
1
2
X3
- 1 -1
2
o
1
o
1
1
o
o
o
Xa
2
-2
Esta es la tabla final, pues todos los indicadores son no negativos. Como la base
tiene ur1a variable artificial con valor positivo, x 4 = 2, el problema es infactible.
b) Transformamos el programa al formato estándar de maximización, multiplicando por -lla función objetivo, añadiendo variables de holgura (x4, xs) y artificiales (x5 , x1 ) a las restricciones y poniendo en la función objetivo las variables de
holgura con coeficiente Oy las artificiales con - M. Tenemos el programa lineal
X3 ~
9
~6
a) Transformamos el programa al formato estándar de maximización añadiendo variables de holgura (x3 ,x5) y ur1a variable artificial (x4). Bajo la forma de
maximización, el método de las penalizaciones incorpora las variables artificiales
a la función objetivo del problema transformado con coeficiente - M , donde M
representa ur1 número grande, en comparación con el resto de los coeficientes del
programa. El problema transformado queda
=
1
1
Solución
max z
s.a
Cj
2x¡ - x2 +3x3
X¡
Xs
4
Hay indicadores negativos, z 1 - c1 = -1-M y z2 - c2 = - l - M, con sus vectores
interiores, y 1 = (1, 1) e Y2 = (1, 2), con al menos ur1 elemento positivo. Es posible
la mejora y tomamos como variable de entrada en la base X¡. Aplicando la regla
de míninia razón, se tiene como variable de salida xs. El pivote es, entonces,
Y2l = l. La nueva tabla del símplex es
La lectura de esta tabla nos proporciona la solución óptima única
x1 -
o
79
¡,
max z'
s.a
=
- 2x¡ + x2 - 3x3 + Ox4 - Mxs + Oxs- Mx;
2x 1 + 3x2 X¡ - 2X2
X3 -
+ X3 -
x4 + xs
=9
=6 .
X6 +X¡
X¡,X2,X3,X4,X5,X6,X7 ~
0
Construimos la tabla inicial del método del símplex en la que vemos que hay
posibilidad de mejora. La variable x 1 es la de entrada en la base, la x; de salida
e Yll = 2 el pivote.
Cj
-2
1
-3
o
-M
o
-M
es
VB
X¡
X2
X3
X4
X;
X6
X7
Xs
-M
-M
X;
X7
3 - 1 -1
-2 1 o
-1 3
o
1
-1
1
6
Zj - Cj
xM
2.
1
2
-3 -1
o
1
o
o
o
o o
o o
o
1
9
o
-15
80
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
En dos iteraciones más, se llega a la tabla final
es
-2
o
Cj
-2
1
-3
VB
o
X¡
Z2
X3
X4
X¡
1
-2
-7
3
1
3
1
X4
Zj- Cj
xM
-M
zs
o o
o
1 -1
o
o o
o o o o 1
o
-M
X¡
XS
-1
-2
2
1
2
-2
1
6
3
-12
xi = 4.25, x2 = 2.5, xj = 5, s3 = 1.25, x4 = s2 =s4 = O.
o
Existe óptimo único, ya que, en esta tabla final, tienen indicador nulo sólo las
variables básicas. Tal solución es
xr = 6, x2 = o, xj = o, x: = 3, x6 = o
con valor óptimo z•
81
que es óptima, ya que todos los indicadores son no negatjvos. La lectura de la
tabla proporciona la solución
zs
o
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
©RA-MA
= -z'• =12.
o
Deben producirse, por tanto, 4.25 unidades de A, 2.5 unidades de By 5 unidades
de C, que se venden en su totalidad. Además, se consume todo el tiempo disponible para el proceso l. Sin embargo, para el proceso Il hay una holgura de 1.25
horas: de la disponibilidad total de 24 horas se consumen, con el plan de producción anterior, 22.75 horas. El beneficio óptimo es s• =57000 ptas. Obsérvese que
existe una solución óptima alternativa que se obtiene introduciendo en la base X4
en lugar de x 1. La nueva solución es
x2 = 5.33, xj = 5, x4 = 5.67, sj = 2.67, xj = s2 = s4 =O.
13. Método de variables artificiales y planificación de mezclas en una
planta química. Resolver el programa lineal formulado en el Ejercicio 1.8 e
interpretar la solución.
Solución
Reformulamos el problema para poder aplicar el método del símplex. Introducimos una variable artificial (a¡) en la primera restricción y una variable de holgura
(s¡) en cada una de las restantes restricciones, tratando x3 55 como una restricción y no como cota superior de una variable. Queda el programa
max B = 4x¡ + lOx2 + 3x3- 2x4- M a¡+ Os2 +Osa+ Os4
s.a
- 2x2 + x3 + x4 + a1 = O
2x¡ + 3x2 + s2 = 16
3x¡ +4x2 + S3 = 24
X3 +S4 = 5
X¡,X2,X3 1 X4 1 a¡,S2 1 S3 1 S4 ~ 0
Aplicando el método de la variable artificial, en tres iteraciones se obtiene la tabla
es
e;
VB
3
ZJ
4
X¡
10
Z2
o
83
Zj -Cj
xM
4
10
3
-2
-M
X¡
X2
Z3
Z4
a¡
o o 1 o
1 o o .75
o o o - .25
-{)
1 o - .5
o o o o
o o o o
o
.75
- .25
- .5
-2
1
o o o
82
S3
84
xs
.25
5
4.25
1.25
2.5
57
o o 1
o . -.75
.5
- 1.5
o
2
o
1
o .5
o 5
o o
o
o
14. Método de las dos fases. Resolver con el método de las dos fases (sin
· prescindir de restricciones redundantes) los programas lineales
a)
maxz
b)
= 3x¡ + x2
maxz
= -X¡ - 2x2 + 2x3
s.a
s.a
x1 +x2 = 6
3x¡ + x2 = 12
X¡+ X2 + X3 ~ 6
X¡, X2 1 X3 ~ Q
X¡ +3x2 55
X¡ +x2 = 7
5x¡ +x2 54
X¡ 1 X2 ~ Ü
e) maxz = x¡ +x2
s.a
X¡+ X2
X2 ~ 2
X¡~ 1
~
4
d) minz = x¡ + 2x2
s.a
X¡+ X2 ~ 2
x1 +2x2 ~ 1
2x 1 + x2 ~ 1
X¡ 1 X2 ~ 0
Solución
a) Transformamos el programa lineal al formato estándar introduciendo como
suma las variables de holgura x3 , x5 y, además, añadimos la variable artificial
82
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
x4• Tenemos así el programa
ma.x z
s.a
3x¡ + x2 + Ox3- Mx~ + Oxs
=
X¡
+ 3X2 +X3 = 5
x 1 +x2 +x4 = 7
5x¡ + x2 + xs =4
X¡,X2 1 X3,X4,X5 ~
0
Como tiene variables artificiales (x4), lo resolvemos-con el método de las dos fases.
En la fase I consideramos el programa anterior, pero sustituyendo la función
objetivo z por la función objetivo artificial z4 , obtenida poniendo, bajo la forma
de ma.ximización, coeficientes igual a -1 a las variables artificiales y Oal resto de
variables:
max .za = Ox¡ + Ox2 +Ox3 - lx4 +Oxs
s.a
X¡+ 3X2 + X3 = 5
X¡+ X2 + X4 = 7
5x¡ + x2 +xs = 4
Presentamos a continuación la sucesión de tablas correspondientes a las iteraciones del método del símplex, indicando sobre cada una el correspondiente pivote.
-1
VB
o o o
o
es
X¡
xz
X4
xs
-1
X3
X4
1
1
5
-1
3"
1
1
o
o
X5
Z¡ -C.¡
o
-1
o
o
X¡
xz
xz
1/3
2/3
14/3'
-2/ 3
1
o
X4
xs
z1 -
Cj
C¡
es
o
-1
o
o
o
-1
X3
X4
1/3
-1/ 3
-1/3
1/3
1
o
5
7
4
o
5/3
16/3
1
7/3
5/1-t
-2/7
-1/14
2/7
o
XS
-1/14
-1/7
3/1-t
1/7
3/2
5
7/14
o
o
o
o
- 16/3
o
o
o o
y aplicamos el método del símplex. Las tablas que siguen corresponden a las
iteraciones del método.
-1
:ts
l
= Ox¡ + Ox2 + Ox3- X4- xs +Oxs
o o o
VB
e;
VB
X4
X¡
X6
Zj- Cj
Cj
-5
es
o
o
o
VB
X2
X¡
xu
Zj- Cj
-1
-1
o
'"\
o
6
3.:_j_j). -
12
1
1
- 4 -2
-18
1_
Z¡- C;
:Z:4
1
ma..xz4
o
-1
2:0
al que aplicamos el método de las dos fases.. por tener variables artificiales. Entra·
mos en la fase I considerando el programa lineal con la función objetivo artificial
xs
o o
=6
X¡ 1 X2,X3,X4,X5,X6
-7
o
o 1
o o
X¡ + X2 + X3 + X6
-1
X3
xz
+x2 +x4 =6
3x¡ +x2 +x5 =12
es
xs
-x¡- 2x2 + 2x3- Mx4- i'vfxs + Oxs
X¡
o
o o
=
C;
Xz
X¡
zi- c1
o
o
ma.x z
s.a
CS
-1
XS
o o
VB
X4
X¡
1
o o
o l o
o o 1
o o o
-1
VB
e¡
es
X3
83
La tercera tabla corresponde a la finalización de la fase I, ya que todos sus in·
dicadores son no negativos. Observemos que el valor del objetivo artificial no
se ha hecho nulo, ya que es t = -5. La razón de ello es que hay una variable
artificial en la base con valor positivo (x 4 = 5 > O) y el problema es infactible.
El algoritmo termina sin entrar en la fase II.
b} Transformamos el programa lineal al formato estándar introduciendo la varia·
ble de holgura X6 y, además, añadiendo las variables artificiales x4 y x5. Tenemos
así el programa
2:0
X¡,X2,X3 1 X4 1 X5
C¡
CAPITULO 2. RESOLUCION DE PROGRAl\IAS L!J'IEALES
©RA·MA
1
o o
o 1 o
1 o o 1
o o o o
1
6
o
o
o
-1
-1
o
X¡
X2
X3
X4
xs
X&
Xs
-1/3
1/3
-1/3
4/3
o
1
2
-2
o 1
o o
-L:.J./3'
1
1/3
o .· 2/3
o - 2/ 3
1
o
o o
o z
o 4
o o o
-1
-1
o
X¡
X4
xs
X&
3/2
-1/2
-1
1
- 1/2
1/2
o
X2
X3
o
l
o o
o o 1
o o o
1
o
1
o
o
XS
3
3
1 o
o o
f.
•,
84
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
La fase I termina después de dos iteraciones, ya que todos los indicadores son
no negativos y, además, la función objetivo artificial z4 es nula. Observemos que
no hay variables artificiales en la base con valor positivo, así que tenemos una
solución básica factible de la que partiremos en la fase II. Obsérvese también que
en la segunda tabla podría haberse elegido Y32 = 2/3 como pivote. Sin embargo,
como nuestro interés estaba en sacar de la base las variables artificiales, ha sido
conveniente elegir como pivote y12 = 2/3.
Entramos en la fase II y reconstruirnos la función objetivo z prescindiendo de
las variables artificiales que no estaban en la base al final de la fase anterior , así
como de sus respectivas columnas en la construcción de la tabla inicial de esta
fase. Además, calculamos nuevamente sus valores indicadores y el valor de la
función objetivo. Tenemos así la tabla inicial de la fase II
CB
-2
-1
o
e;
VE
X2
X¡
(Xa
z; - e;
- 1 -2
2
o
X¡
xs
xa
o
X2
siderando el programa con función objetivo artificial
+ Xz - X3 + X6 = 4
+ X7 = 2
X¡ - X5 + Xg = 1
X¡
X¡,X2,X3,X4 1 Xs,X6,X7,X8 ~
- 1 -2
2
o
X¡
XJ
xa
-2
-1
2
X2
X¡
XJ
z; -e;
o
X2
e;
CB
o
o
o
_XB .
con z•
X4
X2
X¡
Zj -
e;
o o o o o
X¡
X2
o o -1 1 l 1 - 1
o 1 -1 o 1 1 o
1 o o o -1 o o
o o o o o 1 1
e;
1
1
VB
o o o
CB
X¡
X2
xs
1
1
X4
X2
X¡
o
1
~
= (3,3,0,0,0,0)
e) Construirnos el programa de la fase I, introduciendo variables de holgura
(xa,x4,xs) y artificiales (xs,X¡,xs) en cada restricción, respectivamente, y con-
xa
Xs
-1
xs
XB
-1
-=1
1
3
1
X¡
1
1
-~
XB
= -9.
X4
X3
- 1 -1
o
_)
Termina la fase I, ya que todos los indicadores son no negativos y el objetivo
artificial z4 es cero. Como no hay variables artificiales en la base con valor
positivo, el problema es factible. Pasamos a la fase II, en la que reconstruimos
la función objetivo original. La tabla inicial de esta fase es la tabla final de la
fase I prescindiendo de las columnas de las variables artificiales y recalculando
los indicadores y el valor z de la función objetivo
o o 3
1
o o o 3
o o 1 1 o
o o o 2 -9
(xi,x2,x3,x4,x5,x6)
.VB
1
Esta es óptima, ya que todos los indicadores son no negativos. Concluye así la
fase II. La solución óptima, que se obtiene en esta tabla, es
0
Aplicamos el método del símplex. En cuatro iteraciones alcanzamos la tabla final
Aplicamos el método del símplex. En una iteración obtenemos la tabla
e;
.,.
X2 - X4
o o 3
1 o o o 3
o o 1. 1 o
o o - 2 o -9
VB
= Oxr +Ox2 +Oxa +Ox4 +Oxs - xs - X7 - xs
max za
s.a
1
CB
85
1
Zj -
ej
X~
o o -1 1
o 1 -1 o
1 o o o
o o -1 1
X5 , XB
1
1
-1
o-
1·
3
1
4
Aplicamos a esta tabla el método del símplex. Como hay un indicador negativo
(za - ca = -1), existe posibilidad de mej9ra. Co~o su vector interior Ya =
(- 1, -1, O) no tiene elementos positivos, el programa es no acotado.
d) Transformamos el programa lineal al formato estándar de maximización multiplicando la función objetivo por - 1, introduciendo las variables de holgura
(xa,x5 ,x7 ) y añadiendo las variables artificiales (x4,xs,xs). Tenemos así el programa
86
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
max z' =
-X¡ -
CAPITULO 2. RESOLUC!ON DE PROGIMMAS LINEALES
©RA-MA
2x2 + Ox3 - Mx 4 + Ox5 - Mx5 + Ox1 - Mx 8
CB
s.a
t
X¡ t
X2 - X3
X¡
2X¡
2X2 -
t
X2 -
t
x5 t
X7 t
X4 :::
o
o
2
XG :::
1
Xg :::
1
maxza = Ox¡ + Ox2 + Ox3- X4 + Oxs -
XG
+ Ox1- xs
Cj
o o o
-1
o
-1
o
Xs
xa
X¡
X¡
X2
X3
X4
X4
1
1
-1
1
-1
-1
xs
1
2*
-4
2
1
xs
Zj
Cj
-4
X¡
X3
o
o
X2
xs
-1
1
-1
1
1
1
1
e;
o o o
-1
o
-1
VB
X¡
xs
xs
xs
o
o
X4
1
1
-1
o
o
o
X¡
X¡
Zj
1
e;
X2
X3
-1 -1
1 -2
1 -1
o o o
2
1
1
o
X7
xs
1
max z
s.a
·.
2
-2
o
=
2xt- x2 + 3x3 + 6x4
lx¡ + 4x2 - x3l $ 14
lxd +x4 $10
1
-4
-2Xt +5x2- 2x3 +x4 $15
lx1l $7 ·
X3 $9
X2,X3,X4 ~ 0
XB
1
b)
o o 1 -1 3
o o o o 2
o 1 o 1 o
mm z
= lx¡ + x2 - 7l + l- x¡ + X3 +6l+
+ lx¡ - 2x2 + x3l + 1-x2 + X3- lOl
s. a
Como no hay variables artificiales en la base con valor positivo (z = O), el
problema es fadible y entramos en la fase II. Como no hay variables artificiales
básicas en la tabla final de la fase I, prescindimos de ellas en la reconstrucción
de la función objetivo i, así como de sus columnas en la tabla inicial de esta
segunda fase. La nueva función objetivo es
\ 1
1
3
15. Programas con valores absolutos. Resolver los siguientes problemas de
a)
4
1
o 1
o o
o o
XB
=- z'* = -(-2) = 2.
-1
o o
1
o
optimización transformándolos previamente en programas lineales
-1
xs XB
o 2
o o o
o o -1 1 o o
o o o o -1 1
1
o 1 o 1 o
con z•
En cuatro iteraciones, finali.za la fase I con la tabla
CB
o
-2
-1
X7
Aplicamos el método del símplex a esta tabla y vemos que es óptima. Por tanto,
la solución es
(xi, x2, x3, x;, x1) = (2, O, O, 1, 3)
La tabla inicial, con indicación de las variables de entrada (x 1), salida (x8) y el
pivote (Y31 = 2), es
VB
VB
0
Entramos en la fase I con función objetivo artificial
1
-2
Zj- Cj
X¡ 1 X2,X3 1 X4 1 X5 1 XG 1 X7 1 XB ~
CB
-1
X¡
X¡
-1
o o o
Cj
xs
87
y la tabla inicial, para la que se ha recalculado la fila indicador y el valor del
objetivo, es
2x 1 - x3 ~O
4x 1 - 2x2 ~O
X2 ~ 0
Solución
a) Observemos, en primer lugar, que x1 puede tomar valores negativos, ya que no
aparece en las condiciones de no negatividad. De la cuarta restricción se tiene que
lxd $ 7, que equivale a -7 $ x 1 $ 7. Introducimos la transformación x1 = x'1 -7,
con lo que la nueva variable x'1 verifica la acotación O$ xi $ 14.
La primera restricción se puede escribir, teniendo en cuenta la anterior transformación,
88
PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
o bien como dos desigualdades
x'1 + 4x2 -
x3 ;::;
-x~ - 4x2 +x3 ;::; 7.
21,
+X4 ;::; 17,
-X~
71;::; 10- x4, o descompuesta
+X4 ;::; 3.
Finalmente, la función objetivo es
z = 2(x~ -.7) - x2 +3x3 +6x4 = 2x~ -
x2
+ 3x3 +6x4 -
14.
Poniendo el programa lineal en formato estándar y considerando las cotas como
restricciones, queda
=
max z'
2x~ - x2 + 3x3 + 6x4
Ox¡
+4x2 - XJ + x5 = 21
-x~ - 4x2 +X3 +XG = 7
X~ + X4 + X¡ = 17
-x~ + X4 + xs = 3
- 2x'1 + Sx2 - 2x3 + X4 + Xg
X~+ XIO = 14
o
o
o
o
o
o
o
xs
X7
xa
Xg
Xto
xu
Cj
3
6
X3
X4
= 15
o o o o o o o
xs
o 1
o o
1
o o 1 o
- 1 o o ¡• o
- 2 5 -2 1 o
1
o o o o
o o 1 o o
2 l
-3 - 6 o
4
-1 -4
1
X6
Zj
1
X2
1
1
X6
X7
xs
o o o
1 o o
o 1 o
o o 1
o o o
o o o
o o o
o o o
3
6
ca
VB
X~
X2
X3
X4
o
xs
o
o
o
X6
2
x'1
6
X4
o
o
XlQ
3
X3
Xg
o
o
1
o o
o o o
o 5 o
o o o
o o 1
o 1 o
4
-4
o o o
o o o o
xs
xs
X6
X7
o 1 o -.5
o o 1 .5
o o o .5
1 o o .5
o o o .5
o o o -.5
o o o o
o o o 4
xi = x~· -
Xg
x¡o
xu
XB
o l 23
o -1 5
o o 7
.5
o o lO
1.5 1 o 2 37
.5
o 1 o 7
o o o 1 9
2 o o 3 101
.5
-.5
- .5
o
o
o
o
7, la lectura en la tabla final da los valores
con un valor para el objetivo z• = z'* - 14 = 101- 14 = 87.
b) Convertimos cada sumando valor absoluto de la función objetivo en una restricción, imponiendo que sean menores o iguales que ciertas variables atLxiliares
(x 4, x5, ~ 6 , x7), que se introducirán como suma en una nueva función objetivo de
minimización. Así, podemos considerar el problema equivalente
La constante -14 se ha eliminado de la función objetivo, ya que no influye en el
cálculo de la solución óptima. En la tabla inicial del símplex, que se muestra a
continuación, se observa que es posible la mejora de la solución actual, siendo x4
la variable de entrada y xa la de salida. El pivote es y44 = l.
2
x'1
-1
xi = O, xi = O, x3 = 9, x4 = 10
X3 +XLI = 9
x'1,x1 ~O, i = 2, ... , 11
Cj
2
Teniendo en cuenta que
óptimos
i=5
X~
VB
Cj
Zj - Cj
11
+¿
s.a
CB
89
En tres iteraciones se obtiene la tabla final
Podemos reescribir la segunda restricción como lx~ en dos desigualdades
X~
CAPITULO 2. RESOLUC!ON DE PROGRAMAS LINEALES
Xg
o
o
o
o
1
X!O
o
o
o
o
o
xu
o
o
o
o
o
o
XB
21
7
17
3
15
14
9
·o 1
o o 1
o o o o
o
min Z1
s.a
=
X4
+ X5 + X6 + X7
2xt- X3 ~O
4x 1 - 2x2 ~O
IXt + X2- 71 ;::; X4
.
1-x¡ + X3 +61;: ; X5
lxt - 2x2 + x31 ;::; XG
1-x2 + X3- 101 ;::;
X2 ~ 0
X¡
Para convertirlo en un programa lineal, descomponemos cada restricción con valor
absoluto en un par de restricciones obteniendo el programa equivalente
90
PROGRA~IACION
LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
min z'
s. a
=
x4
+ xs + xs + X7
xi = 26, x2 = O, xj = O, x~ = O, z,. = 78.
Por tanto, puesto que z' > O, es
X¡+ X2 -X4 ~
7
X¡ fX2 f X4;::: 7
X¡- X3 f X5;::: 6
X¡ - X3- X5 ~ 6
X¡ - 2X2
+ X3 f
X3
Xs ~
.
max z
s. a
0
x2 = 2.33, x3 = O
o
16. Un programa no lineal. Resolver el problema de optimización
= 1/ (3x¡ +6x3 +4x4)
~
X¡ 1 X2 1 X3,X4;:::
l!
- 2X¡
-X l
Resolvemos, mediante el método del símplex, el programa lineal
=
3x¡ +6x3 +4x4
s.a
2x2 + 5x3 + X4 ~ 31
Xt + 3x2 + 4x3 + 2x4 = 26
-4Xt-
X¡,X2,X3,X4;:::
0
f X2 - X3 ~ 1
0
es no acotado. A partir de la tabla final, encontrar una solución cuyo valor sea
mayor que 2000.
Solución
Transformamos el programa lineal al formato estándar de maximlzación
max z
=
X¡
+ 3x2 + Ox3 +Ox4 + Ox5
s.a
-X¡
f
+ X2 + X3 f
X2 - X3
f
=2
=1
X4
X5
X¡,X2,X3 , X4,X5;:::
0
La tabla inicial del símplex es
0
Solución
f X2 f X3 ~ 2
X¡,X2,X3;:::
CB
max z'
x 1 +3x2
=
- 2X¡
3x¡ +6x3 + 4x4 #O
- 4x¡- 2x2 + 5x3 +x4 ~ 31
X¡ + 3x2 + 4x3 + 2x4 = 26
1
o
17. Un programa lineal no acotado. Utilizar el método del símplex para
verificar que el programa lineal
Para resolverlo por el método del símplex, comenzamos por introducir la
transformación Xt =x~ - x~, donde xi, x'{ ;::: O. Lo ponemos en formato estándar
y añadimos variables artificiales, obteniendo en cinco iteraciones del símplex la
solución óptima
mio z
s.a
= 78'
0
f X3 - X7 ~ 10
-X2 + X3 f X7 ;::: 10
O= 4.66,
+ 6x3 + 4x4)
que es el valor óptimo de z.
f Xs ;::: 0
X2,X3,X4,X5,X6 1 X7;:::
1
1
1
mm 3x 1 + 6x3 + 4x 4 = max (3x¡
- X2
xi = xi* - x~· = 4.66 con z'• = 13.66 = z•.
91
Obtenemos la solución óptima
2x 1 - x3;::: O
4x¡ - 2x2;::: O
X¡ - 2X2
CAPfTULO 2. RESOLUCION DE PROGRAMAS LINEALES
©R..<\-MA
o
o
o o o
Cj
1
3
VB
X¡
X2
xa
X4
X4
-2
-1
-1
1
-1
1
X;;
1
1
z; -e;
-3
xs
o
XB
2
o 1 1
o o o o
Como hay indicadores negativos, es posible la mejora. Sin embargo, para el
indicador z1 - c1 = -1, el vector asociado y 1 = (-2, -1) $ O, luego el programa
es no acotado y la tabla anterior también será final. Podemos, de todas formas,
introducir x2 en la base en lugar de xs, obteniendo la. nueva tabla
92
PROGRAMACION Lli'IEAL Y APLICACIONES: EJERCICIOS RESUELTOS
e¡
VB
o o o
1
3
Xt
X2
-1
-1
o
X2
1
2
-1
Zj_- Cj
-4
o
-3
CB
o
X4
3
XJ
X4
xs
1
-1
1
o
o
3
93
La empresa desea construir un modelo de programación lineal para con~er el plan
de producción de beneficio máximo, teniendo en cuenta que la buena tmagen de
la empresa exige que la fabricación de productos 1 y 4 sea al menos el 60% del
total producido.
XB
1
1
3
Las afirmaciones que siguen podríamos llevarlas a cabo también con la tabla
inicial o con una nueva tabla obtenida de esta última, introduciendo la variable
X3 en lugar de X4. Para obtener una solución con valor mayor que 2000, basta
con aplicar las fórmulas del símplex para el caso en que la variable x 1 entrase en
la base con nivel O. En tal caso,
xs=xs-Oy¡,
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
Solución
Introducimos una variable de decisión P¡ por cada producto que designa las t de
producción del producto i = 1, 2, 3, 4. Las restricciones se deben a:
_ Los límites en las disponibilidades de las materias primas dados por
P1 + 2P2 + P3 + 3P4
2P¡ + P3 + 2P4
P¡ +3P2+P3
z=z -O (z 1 -c1)
Entonces, se tiene
~
~
50
38
~45
- Exigencia de fabricación de los productos 1 y 4, que expresamos
P¡
y
La función objetivo representa la maximización del beneficio total en miles de
ptas de la producción, que es
z= 3- o(- 4).
Queremos que sea
z> 2000. Para ello basta que
o>-4
1997
- .
B = P¡ + 2P2 + P3 + 2P4.
Por tanto, queda
Así, las soluciones con valor mayor que .2000 serán
con O> 1997/4, siendo su valor 3 +40.
s.a
1
1
lJ
e
P1 + 2P2 + P3 + 3P4 S 50
2P1 + P3 + 2P4 ~ 38
P¡ + 3P2 + P3 S 45
- .4P1 + .6P2 + .6P3 - .4P4 S O
P¡,P2,P3,P4 ~O
o
18. Método del símplex en planificación de la producción. Una empresa fabrica cuatro productos (1, 2, 3, 4) para los que utiliza tres materias primas
(A, B, C). La tabla indica la cantidad de materia prima necesaria pára cada producto, así como la disponibilidad total en t de cada materia prima y el beneficio
(en miles de ptas) por t de producto fabricado.
Mat. primas 1 2 3 4 Disponibilidad
A
1 2
3
50
B
2 o
2
38
1 3 1 o
45
Ben.jt
1 2 1 2
+ P4 ~ .6 (P¡ + P2 + P3 + P4)
'fransformándolo al formato estándar y añadiendo variables de holgura S¡,s2,s3,
s4, a cada una de las restricciones, se tiene la tabla inicial
CB
o
o
o
o
e;
1
2
1
2
o o o o
VB
pl
p2
p3
p4
S¡
St
1
2
1
-.4
-1
2
1
S2
S3
S4
Zj-
C,
o
3
.6·
-2
1
1
.6
-1
S2
S3
S4
XB
o o o 50
2 o 1 o o 38
o o o 1 o 45
- .4 o o o 1 o
-2 o o o o o
3
1
94
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
La variable de entrada es P2 {aunque hay otra variable con igual indicador
negativo, deshacemos el empate tomando aquella con menor subíndice). La. de
salida es s4, con razón mínima igual a O, siendo el pivote y42 = .6. En cuatro
iteraciones se alcanza la tabla final
Cj
1
2
1
2
o
o
o
o
CB
VB
Pt
p2
p3
p4
S¡
83
s4
2
1
1
2
p4
o o
o o
1 o
o 1
o o
S2
o
1
p3
Pt
p2
Zj - Cj
o
o ,o
o o
o o
1
.38
- .11
- .33
.14
.62
-.09 -.23 - .09
.45 -.2} 1.45
.34 - .64
.36
-.27 .29 -.27
.09
.23
.09
CAPITULO 2. RESOLUCION 08 PROGRAMAS LINEA LES
@RA-MA
XB
95
a) Construir un modelo de programación lineal que indique con qué cantidades
deben contribuir los ingredientes al pienso animal para que el coste total sea
mínimo.
b) Hallar la solución óptima y comentarla.
Solución
a) Consideramos como variables de decisión XA,Xs,xc, que representan, respectivamente, los kg de cada ing_rediente utilizados en la formación del pienso. Las
restricciones se deben a:
5
2
13
10
45
- Las limitaciones de disponibilidad de cada ingrediente
Como sólo las variables básicas tienen indicador O, el óptimo es único. Este
es Pi = 13, P2 = 10, P3 = 2 y P¡ = 5, que corresponden a los niveles de
producción de los cuatro productos. Además, puesto que sj = s2 = s3 = s4 = O,
todas las restricciones se cumplen como igualdades y, en particular, obsérvese
que la producción de los productos 1 y 4 representa exactamente el 60% de la
producción total. El beneficio óptimo del plan de producción es B* = 45000 ptas.
XA ~
6000,
XB ~
4000,
XC ~
5000
- La demanda de pienso
XA
+xa +xc ~ 9000
o
19. Método del símplex en fabricación de alimentos. Una empresa de
productos al·imenticios para animales fabrica un pienso para cuya elaboración se
pueden mezclar tres ingredientes denominados A, By C, en las cant·idades que se
estimen convenientes. Los ingredientes poseen ciertas unidades de calcio, fósforo,
magnesio y hierro por kg, tal como se indica en la tabla
Elementos
Calcio
Fósforo
Magnesio
Hierro
t
\ 1
\
j
·.
Ingredientes
A B e
12 18 30
14 27 19
23 25 15
20 32 10
Teniendo en cuenta que la llegada de ingredientes es mensual, la planificación
de la producción debe hacerse para ese periodo de tiempo. En el próximo pedido,
se pueden soli.citar hasta 6 t del ingrediente A, 4 del B y 5 del C. El pienso,
cuya demanda para el próximo mes es de 9 t, debe contener por kg al menos 18
unidades de calcio, 20 de fósforo y 22 de magnesio. Para el hierro se permite
un número de unidades por kg comprendido entre 10 y 36. El coste por kg de
ingrediente A. es 140 ptas, de B 168 ptas y de C 152 ptas.
- Las limitaciones por kg en el contenido de unidades de calcio, fósforo, magnesio y hierro. Para el calcio es
12xA + 18xs + 30xc
XA
+xs +xc
> 18
-
que escribimos
12xA + 18xa + 30xc ~ l8(xA
+xs +xc)
(calcio)
Análogamente, para el resto de elementos se tiene
14xA + 27xs + 19xc- ~ 20(xA + xs + xc)
23xA + 25xs + 15xc ~ 22(xA + xs + xc)
(fósforo)
(magnesio)
20xA + 32xa + 10xc ~ 36(xA + xs + xc) } {hierro)
20xA + 32xs + 10xc ~ 10{xA +xs + xc)
- No negatividad de las variables de decisión
r·
96· PROGRAMAC!ON LINEAL Y APLICACION~EJERC!C!OS RESUELTOS
©RA-MA
La función objetivo representa el coste total de los ingredientes utilizados y es de
la forma de minimización. Se tiene
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
obtiene la solución óptima
xA
minC = 140xA + 168xs + 152xc.
b) Pasando al formato estándar de maximización en el que añadimos una variable de holgura (s¡) a cada restricción y una variable artificial (a.) a la primera
restricción, eJ programa queda
max C'
=
- 140xA - 168xs - 152xc +Os¡- Mar+ Os2+
+Os3 + Os4 + Oss + Os6 + Os7 + Osa + Osg
97
= 3705.88,
x8 = 3441.18, x(; = 1852.94
que proporciona los kg de cada ingrediente que forman el pienso con los requisitos
anteriores. Además, C'* = -1378588, con lo que el coste total mínimo es e• =
1378588 ptas.
Observemos que XA +xs+xc = 9000, por lo que la demanda queda satisfecha
de forma exacta. Además, se comprueba fácilmente que el pienso tendrá por kg
18 unidades de calcio, 28 de fósforo, 22.12 de magnesio y 22.53 de hierro.
O
s. a
XA
20. Regresión lineal y minimización de desviaciones. Se ha encargado a
un laboratorio médico que determine si existe una relación significativa en una
marca de tabaco entre el porcentaje de nicotina (Y) y los porcentajes de nitrógeno
(X1), benzopireno (X2), alcaloides (X3), ácido málico (X4), ácido cítrico (Xs) y
alquitrán (X6)· Se han tomado 10 muestras del tabaco y se han medido los niveles
porcentuales de las sustancias aludidas. La tabla recoge tales med·idas porcentuales
+XB + XC - S¡+ a¡ = 9000
6xA- 12xc + s2 =O
6xA - 7xs +xc + s3 =O
-xA- 3xs +7xc +s4 =O
- 16xA- 4xs- 26xc + ss =O
-10xA - 22xs + S6 =.0
XA + S7 = 6000
xs + sa =4000
XC+ Sg = 5000
XA,xs,xc,s¡,a1 ~O, 't/i = 1, ... ,9
Nicot.
Podemos ya construir la tabla inicial del método del símplex con penalizaciones,
que es
VB
XA
XB
XC
S¡
Q¡
Q¡
1
6'
6
-1
-16
- 10
1
1
-1
1
-7
-3
- 12
1
7
-26
- 22
S7
1
o
ss
1
152
o
o
o
o
o
o
o
o
o
-1
1
o
o
o
o
o
o
o
o
o
o
S2
S3
S4
~
5s
S&
1
·.
Sg
o
o
z¡- e¡
140
xM
-1
o
-4
1
o
168
-1
o
o
o
52
53
o o
1 o
o 1
o o
o o
o o
o o
o o
o o
o o
o o
S4
ss
ss
S7
o o o o
o o o o
o o o o
1 o o o
o 1 o o
o o 1 o
o o o 1
o o o o
o o o o
o o o o
o o o o
sa
o
o
o
o
o
o
o
1
so
o
o
o
o
o
o
o
o
o 1
o o
o o
XB
9000
o
o
o
o
o
6000
4000
5000
o
-9000
La variable que entra en la base es XA, ya que su valor indicador, 140-M, es el
más negativo. Como variable de salida de la base, tomamos la que tiene mínima
razón, que en este caso es O, para las variables s2 y s3. Elegimos arbitrariamente
s2. El elemento pivote es Y2l = 6. En tres iteraciones del método del símplex se ·
Muestro
1
2
3
4
5
6
7
8
9
lO
y
1.68
2.85
2.10
7.06
1.42
2.66
1.39
2.64
2.82
3.30
Nitr6g.
Xt
3.02
2.08
1.89
1.94
2.15
3.53
2.11
1.62
2.20
1.97
Benzop.
Alcaloi.
A. málico
3.16
3.14
2.82
3.54
2.28
1.74
2.33
2.78
1.16
3.58
1.29
2.60
2.04
3.11
1.06
2.64
3.05
1.72
2.06
3.07
.12
.50
.23
.26
.68
.50
.39
.50
.42
.54
x2
x3
x4
A. cítrico
Xs
3.73
2.32
3.56
3.76
2.18
3.48
3.19
1.17
3.79
2.70
Alquit.
Xs
2.07
1.80
3.02
3.07
!.31
2.23
1.31
1.25
2.15
1.29
a) Ajustar un modelo de regresión lineal múltiple a los datos anteriores utilizando programación lineal y considerando como función objetivo la minimización de la suma de desviaciones absolutas.
b) Realizar lo mismo que en el apartado anterior, pero considerando como
objetivo la minimización de la máxima desviación absoluta.
e) Comparar los resultados con los que se obtienen con el método de mínimos
cuadrados.
98
©RA-MA
PROGRAMACJON LTNEAL Y APLICACfONES: EJERCICIOS RESUELTOS
Solución (ver Ejercicio 1-9)
a) Deseamos determinar los pesos w¡, i
del programa lineal
= 1,---,6 proporcionados por la solución
10
min D
CAPITULO 2. RESOLUCION QE PROGRAMAS LINEALES
Aplicamos el método del símplex para su resolución, teniendo en cuenta que
debemos expresar que W¡ = u.¡ -V¡ con u.¡, v¡ ~ O, i = 1, ... , 6. En 23 iteraciones
se alcanza la optimalidad siendo los pesos óptimos
W¡ = .408,
= L: (sjttj)
99
W2
= -.137,
W3
= 2.255,
W4
= -1.937, Ws = -2.048, W6 = 2.1.
j=l
Por tanto, la ecuación de regresión es
s.a
s 1 - t 1 +3.02w 1 +3.l6w2 + 1.29w3 + .12w4 +3.73ws +2.07w6
s2- t2 +2.08w1 +3.14w2 + 2.60w3 + .50w4 +2.32ws + 1.80w6
Sto - t10 + 1.97w¡ + 3.58w2
Sj,tj~O,
W¡
E IR, i
= 1-68
= 2.85
+3.07w3 + .54w4 +2.70ws + 1.29w6 = 3.30
j=l, ... ,lO
.Aplicamos el método del sírnplex para su resoludón, observando previamente que,
comu tas variables w¡ son no restringidas, debemos expresarlas como diferencia
de dos variables no negativas, es decir,
con u.¡,V¡
W¡
~
= 'l.Li- V¡ 1
i = 1, ... ,6
O. En 13 iteraciones se alcanza la optimalidad siendo los pesos óptimos
= - .772, W2 = .191,
e) El lector puede comprobar por el método·de'mínimos cuadrados (MC) que la
ecuación de regresión es
Y= - .485X1 +.192X2 + .907X3 +.015X4 -
= 1, ... , 6
W¡
Y= .408X1 - .137X2 + 2.255X3 - 1.937X4 - 2.048X5 + 2.1X6 .
W3.
= .36'4, W4 = .367, Ws = - .306, W5 = 1.639.
Por tanto, la ecuación de regresión es
Y= -.772X¡ + .191X2 + .86JX3 + .367X4- .306Xs + l.639X6·
b) En este caso, el objetivo es la minimización de la máxima desviación absoluta.
Por tanto, formulamos el programa lineal
min u.
s.a
u.+ 3.02w¡ + 3.16w2 + 1.29w3 + .12w4 + 3.73ws + 2.07w6 ~ 1.68
u.- (3.02w¡ +3.16w2 + l.29w3 + .12w4 +3.73ws + 2.07w6) ~ -1.68
u.+ 2.08w¡ + 3.14w2 + 2.60w3 + .50w.¡ +2.32ws + 1.80w6 ~ 2.85
u.- (2.08w¡ +3.14w2 +2.60w3 + .50w.¡ + 2.32ws + 1.80w6) ~ -2.85
u.+ 1.97w¡ +3.58w2 +3.07w3 + .54w4 + 2.70ws + 1.29w6 ~ 3.30
u. - (1.97w1 + 3.58w2 + 3.07w3 + .54w4 + 2.70ws +1.29w6) ~ - 3.30
·u~ O, w¡ E JR, i =1, ... ,6
.536Xs + 1.508X6
Para apreciar las implicaciones de las distintas ecuaciones obtenidas, es conveniente examinar los residuos que resultan con ambos procedimientos. En el
caso de los programas lineales, los valores de los residuos se tienen de los valores
óptimos de las variables de desviación Sj y ti para a) (columna PLl de la tabla
inferior) y valores óptimos de las variables de holgura para b) (columna PL2).
En el caso del procedimiento de mínimos cuadrados, se ha prescindido del signo
de los residuos, considerando únicamente su valor absoluto. Estos residuos, y las
respectivas sumas, se muestran en la tabla
Muestra
PL1
1
o
2
3
4
5
6
7
8
9
10
.813
2.686
1.218
E
6.91
o
o
1.374
o
o
o
Residuos
PL2
1.494
1.494
1.494
1.494
1.494
1.085
1.494
.781
1.494
.072
12.396
MC
.243
.583
2.027
1.880
.245'
.138
1.073
.064
.579
.274
7.106
A la vista de los resultados obtenidos en a) y b), observemos que podría ser
conveniente utilizar programación lineal en problemas de regresión en los que no
hay suficiente información para determinar si los datos provienen de una distribución normal u otra distribución específica. También es conveniente utilizar
100
PROGRAMACION LINEAL Y APLICACIONES: EJE:RCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
©RA-MA
este tipo de regresión, o también, por ejemplo, la L 1 o la de Tukey, para obtener
modelos más robustos y resistentes frente a observaciones atípicas.
o
min D ==
101
10
¿: (s; +t;)
j=l
s.a
21. Regresión parabólica. La realización de una batería de lO tests de esfuerzotensión a un individuo ha proporcionado los siguientes datos
s1 - t 1 +a+ .OOlb + .0012 c == 91
s2- t2 +a+ .002b + .0022c = 97
l.
Test
1
2
3
fl
Esfuerzo Tensión
y
X
91
97
108
4
111
5
6
7
8
9
10
114
110
112
105
98
91
.001
.002
.003
.005
.006
.006
.009
.011
.016
.017
Se desea ajustar un polinomio a este conjunto de datos. El diagrama de dispersión sugiere que una parábola podría resultar adecuada. Determinar el "mejor"
ajuste parabólico tomando como objetivo la minimización de la suma de desviaciones absolutas entre los valores observados y las predicciones. Compararlo con
el correspondiente ajuste mínimo cuadrático.
\
Solución (ver ejercicio anterior)
La ecuación de regresión parabólica toma la forma
Y = a+ bX +cX2•
Sto- t¡o +a+ .017b + .0172c =91
s;,t;~O, j=l, ... ,lO
a, b, e E 1R.
Aplicamos el método del símplex para su resolución. Como las variables a, b,
e son no restringidas, debemos expresarlas como diferencia de dos variables no
negativas
a =a¡ - a2, b = b¡ - ~ . e== e¡ - c2
con a¡, b¡, e¡ ~ O, i == 1, 2. En 27 iteraciones se alcanza la optimalidad siendo la
solución óptima
ai == 86.518,
a; =O, b~ = 5904.549 , b2 =O, e; =O, c2 = -331818.437.
La ecuación de regresión es
Y
= 86.518 +5904.549X -
Por el método de mínimos cuadrados (MC), la. ecuación de regresión parabólica
estimada es
Y = 89.58 + 5377.9X - 57.98X2
Si comparamos los residuos que resultan con ambos procedimientos, que en
el caso del programa lineal se tienen de los valores óptimos de las variables de
·desviación s; y t; como parte de la solución óptima, podemos construir la tabla
Se trata de determinar los valores de los coeficientes a, b, e de manera que la suma
de los valores absolutos de las desviaciones entre los valores observados y y las
predicciones y sean mínimas.
Considerando las variables auxiliares Sj, t; por cada par de datos (x;, Y;) ten.dremos una. restricción
Test
i
2
--y·
s)· - t ]· + a + bxJ· + cx;
,
6
Deseamos m.in.im.izar l:1 (s; + t1 ). Aplicado a los datos anteriores construimos el
programa lineal
331818.437 x2 .
1
2
3
4
5
7
8
9
10
E
Residuos
PL
MC
1.091 3.65
o 2.09
6.754 5.09
3.254 2.32
4
3.37
o .62
.782
.72
6.318 6.01
1.954 2.19
o .11
2-1.133 26.17
102
PROGRAMACION LINEAL Y APLICACJO~ES: EJERCICIOS RESUELTOS
©RA-MA
Aunque lo usual en los problemas estadísticos es utilizar la regresión mínimo
cuadrática, hay circunstancias en las que la minimización de desviaciones absolutas podría ser más adecuada, especialmente si se desea un modelo de mayor
robustez, tal como apuntamos al final del anterior ejercicio.
O
(,_
22. Método del símplex y planificación de la producción de impresoras.
Una compañía fabrica impresoras matriciales y láser. La demanda de ambos tipos
de impresoras supera la capacidad de producción. La compañía está interesada
en desarrollar una política de producción óptima.
Cada impresora matricial necesita 1 hora para su fabricación y 2 horas para
su control de calidad, mientras que una láser necesita, respectivamente, 1.5 y 1
horas. El número de horas de fabricación disponible por semana es de 200 y de
control de calidad 175. Los beneficios netos de venta de las impresoras son de
2000 ptas/unidad para las matriciales y de 3000 ptasjunidad para las láser.
a) Supongamos que la compañía desea minimizar el número total de impresoras
producidas, con beneficio semanal de, al menos, 400000 ptas. Formular el
problema como un programa lineal y resolverlo.
¡·
Reformulamos el programa lineal introduciendo variables de holgura (s¡, s2, s3)
y una variable artificial (a3)
max N'
s.a
con N= -N'.
En una iteración del método de la variable artificial se alcanza la optimalidad.
Las tablas que siguen constituyen la inicial (con indicación de la variable de
entrada, la de salida y el pivote) y la final.
-M
- Las limitaciones en la disponibilidad de los tiempos de fabricación y de
control de calidad
- Beneficio semanal mínimo en miles de ptas
2 MAT + 3 LAS 2: 400.
= -MAT- LAS+ Os¡+ Os2 + Os3- Ma3
MAT + 1.5 LAS+ S¡ = 200
2MAT+LAS+s2 = 175
2MAT + 3LAS- s3 + a3 = 400
MAT,LAS,s 1,s2 ,s3,a3 2: O
e) Estudiar si la cantidad de tiempo disponible para producción y control de
calidad se puede reducir sin afectar al beneficio máximo del apartado anterior.
ji;JAT + 1.5 LAS ~ 200, 2 MAT + LAS ~ 175
~.
N= MAT+LAS.
b) Sí, por el contrario, se desea obtener máximo beneficio, independientemente
del número de unidades producidas, determinar cuál es el programa óptimo.
a) Introducimos las variables de decisión
MAT = producción de impresoras matriciales
LAS = producción de impresoras láser
Las restricciones se deben a:
103
La función objetivo es el número total de impresoras a fabricar, que es
CB
Solución
• 1
CAPITULO 2. RESOLUCIOK DE PROGRAMAS LINEALES
C¡
-1
-1
VB
MAT
S¡
1
LAS
1.5"
S2
2
2
1
-2
o
o
as
Zj- Cj
xi\f
CB
-1
o
-M
1
3
1
-3
o o o
S¡
1
o
o
o
o
S2
-M
SJ
o o
1 o
o -1
o o
o 1
a3
200
1
400
o
o
Cj
-1
-1
o
o o -M
VB
LAS
MAT
LAS
S¡
S2
2/3
4/3
1
2/3
-2/3
-2
-1/3
2
S2
a3
o
Zj - Cj
1/3
XiV/
o
o
o
o
o
sa
o o
o.
1
o -1
o o
o 1
XB
o
o
175
o
-400
XB
a3
o
o
133.3
41.67
o
1
o
o
-133.3
o
Hay una variable artificial en la base pero con valor nulo, luego la solución es
óptima. Además, es única, ya que solamente son nulos los indicadores de las
variables básicas en esta tabla final. La solución es
MAT" = O, LAS* = 133.33, sj = O, s2 = 41.66,
s3 = O,
aj = O
con N' = - N1* = 133.33, que coincide con el valor óptimo de la variable LAS.
Es evidente que, al no haberse obtenido una solución entera, habrá que truncarla
104
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 2. RESOLUClON DE PROGRAMAS LINEALES
105
o bien resolver el problema con programación entera (ver Capítulo 6) siendo el
plan óptimo fabricar sólo impresoras láser en número de 133 unidades. Obsérvese
que sobran s2 == 41.6 horas de control de calidad.
b) En este caso, la tercera restricción se convertiría, presciendiendo de la constante, en la función objetivo a maximizar. Se tiene un programa lineal que,
transformado al formato estándar, es
e) Todas las soluciones óptimas anteriores proporcionan el mismo beneficio óptimo
y consumen todo el tiempo de fabricación. Sin embargo, la asociada a ..\ = 1
consume menor tiempo de control de calidad.
o
max B == 2 MAT + 3 LAS + Os t + Os2
s.a
MAT + 1.5 LAS+ s¡ == 200
2 MAT + LAS + S2 == 175
MAT,LAS,s¡,s2 ~O
2x 1 + 4x2 == 2
3x¡ - X2 == 10
Aplicando el método del símplex se alcanza la optimalidad en una iteración. La
tabla final es
Cj
CB
3
o
VB
LAS
Sz
z; - e;
2
MAT
2/3
4/3
o
3
LAS
1
o
o
o
o
S¡
S2
XB
1
133.3
41.66
400
2/3
-2/3
2
o
o
Suponiendo valores de producción no enteros, la solución óptima es
MAT* == O, LAS• == ~33.33, si == O, si = 41.66,
con beneficio óptimo B• == 400000 ptas. Como ocurría antes, toda la producción
se restringirá a fabricar 133 impresoras láser. Observemos que, al ser si = O, se
consumen las 200 horas de trabajo; sin embargo, como s2 = 41.6, de la disponibilidad de 175 horas de tiempo de control de calidad no se utilizarán 41.6 horas
con el plan óptimo.
·
No debemos olvidar que en la fila indicador de la tabla final existe una variable no básica con indicador cero: existe un óptimo alternativo al que se llega
fácilmente introduciendo en la base la variable MAT y sacando aquella variable
básica dada por la regla de rninima razón, en este caso s2. Tal óptimo alternativo
es
MAT* = 31.245, LAS* == 112.5, si == O, s2 = O
que, obviamente, proporciona igual beneficio óptimo. También serán soluciones
óptimas las combinaciones lineales convexas de las dos anteriores, esto es, cualquier plan de la forma
(MAT, LAS) == ..\(0, 133.33) + (1 - ..\)(31.25, 112.5), ..\ E [0, 1].
Resolución de un sistema de ecu:tciones lineales. Resolver por el
rnttl)do del símplex el sistema de ecuaciones lineales
23.
Solución
Ya que buscamos aplicar el método del símplex comenzamos introduciendo transformaciones lineales sobre las variables no restringidas para convertirlas en no
Hacemos x -_ x.t - x11 y x2 -_ x1 - x11 , con x1 , x11 , x1 , x11 >
O IT'
.
negat tvas.
1
1
1
2
2
1 1 2 2 _ • J.enem0S
el sistema de ecuaciones lineales con variables no negativas
2x~ - 2xl{ + 4x~ - 4x~ == 2
3x11 - 3x~- x~ + x~ == 10
x~,x~,x2,x~ ~O
Como todas las restricciones son igualdades, introducimos una variable artificial
(x3, x4) como suma en cada restricción y consideramos la función objetivo en la
forma usual, poniendo coeficientes nulos a las variables x~ , x~, x2, x~. Tenemos el
programa lineal
max z
s.a
=
Ox~
+ Ox~ + Ox~ +Ox~ -
Mx3 - Mx4
. .Aplicando el método de la variable artificial se llega en dos iteraciones a la tabla
final
CB
o
o
o o o o - M -M
e;
VB
x'1
x"1
x'1
1
-1
X~
Zj- Cj
xM
X~
X~
o o
o o -1 1
o o o o
o o o o
X3
X4
XB
.071
- .214
.28
.14
3
1
o
o
1
1
o
o
106
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
@RA-MA
Apliquémoslo a la matriz A del enunciado, cuyo determinante
Tomamos b = (5, 3) y formamos el programa lineal
La lectura de la solución de esta tabla es
x'1 3
= ,"x 10
= ., tx2
= 0, x211 = 1
max z0
s. a
con z = O, ya que las variables artificiales toman el valor cero al ser no básicas
en esta tabla final. Deshaciendo las transformaciones lineales sobre las variables
originales, tendremos la solución del sistema de ecuaciones
X¡
= 3,
X2
=
- x3 4X¡
2X¡
IAI:; ;: 14 :f O.
X4
+X2 + X3 = 5
+X2 +X4 :;;;: 3
X¡ 1 X2 1 X3 1 X4 ~
= -l.
107
Ü
En tres iteraciones alcanzamos la tabla final
Existen otras soluciones, ya que hay óptimos alternativos como se deduce de la
tabla anterior.
O
24. Inversión de una matriz. Mostrar cómo invertt'r una matriz con el método
¡;
.,l.
1'
1'
1\
1
del símplex. Aplicarlo a la matriz
o
o
A= ( ~ ~ )
Si ai = ej, con ei j-ésimo vector de la matriz identidad, entonces Yi = bj con bj
vector j-ésimo de B - 1.
Para determinar la inversa de una matriz A con IAI :f O, tomamos un vector
b ~ Oy formulamos el programa lineal
max - lxa
s.a
Ax+ Ixa;;;: b
X, Xa
~0
Lo resolvemos con el método del símplex y leemos, directamente en la. tabla
óptima, la inversa de la matriz considerada bajo las variables básicas originales.
o o
VB
X¡
X¡
X2
1
Zj- Cj
Solución
Dada una matriz A, su inversa A verifica AA -l = A-lA = I, con I la matriz
ident!dad. Por otra parte, dada una base B factible, los vectores interiores y del
método del símplex se obtienen de las relaciones
1,
Cj
CB
X2
o
o 1
o o
-1
-1
X3
X~
XB
1/2
- 1/2
- 1
2
1
1
1
1
o
que proporciona una solución óptima. Basta con leer en esta tabla los vectores interiores Y3 e Y4 correspondientes a las variables básicas iniciales que proporcionan
la matriz
A-t= ( 1/2 - 1/2)
-1
2
.
o
25. Método del símplex y restricciones redundantes. Un fabricante de
jabo~es para ·lavadoras produce dos tipos diferentes denominados OMO y ESE, a
partir de cuatro materias primas P l, P2, P3 y P4. Los requisitos porcentuales de estas materias primas para la fabricacion de ambos jabones, así como la
disponibilidad semanal de cada materia prima en t, se muestran en la tabla
Materia prima
Jabón
Pl
P2 P3 P4
OMO 10 45 20 25
ESE 15 30 35 20
Disp.
50
90
80
60
El fabricante tiene que hacer semanalmente la planificación del proceso de producción. Las necesidades de mano de obra para la fabricación de una tonelada de
jabón OMO se evalúa en 87 horas y en 98 horas para ESE. Para la fabricación de
los jabones se utilizan varias máquinas. La disponibilidad de tiempo de fabricación por semana es de 20994 horas, que se desea queden cubiertas. Se admite la
108
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
©RA-MA
posibilidad de realizar horas extraordinarias con coste adicional de 2000 ptas por
hora. Los costes de producción son de 4000 y 3000 ptas por t producida de OMO
y ESE, respectivamente, que no incluyen los costes de las horas extraordinarias.
El fabricante pretende maximizar la producción de ambos jabones teniendo en
cuenta que el presupuesto total por semana es de 9 millones de ptás.
max P = OMO +ESE
s.a
.45 OMO + .30ESE::; 90
.20 OMO+ .35ESE::; 80
4 OMO +3 ESE+ 2 TEX::; 9000
87 OMO+ 98ESE -TEX = 20994
OMO,ESE,TEX 2: O
a) Establecer un modelo de programación lineal que responda a los deseos del
fabricante.
b) Obtener la solución analíticamente y explicarla.
Añadiendo variables de holgura (s 1, s2, s3) a las tres primeras restricciones y una
variable artificial a la cuarta (a4), en tres iteraciones del método del símplex se
llega a la tabla final
Solución
Introducimos las variables de decisión
11
1
1
r~
~
1
CB
OMO = t de producción del jabón OMO
ESE= t de producción del jabón ESE
TEX =Tiempo de producción en horas extraordinarias
Las restricciones se deben a:
1
o
o
1
e;
VB
OMO
TEX
SJ
ESE
Zj - Cj
xM
1'
- Limitaciones de disponibilidad de materia prima
·¡:
.10 OMO + .15ESE::; 50
.45 OMO + .30ESE::; 90
.20 OMO + .35 ESE::; 80
.25 OMO + .20 ESE ::; 60
l.
-\'timitaciolles presupuestarias
4000 OMO +3000 ESE + 2000TEX::; 9000000
- 'Mano <Ie obra
87 OMO +98ESE- TEX
= 20994.
. La función objetivo representa la producción total P que el fabricante desea
maximizar. Esta es
maxP = OMO +ESE
Si prescindimos de las restricciones primera y cuarta, por ser redundantes, y dividimos por 1000 la restricción presupuestaria, 'tenemos el modelo de programación
lineal
109
1
1
o
OMO ESE TEX
1
o
o
o
o
o
o
o
o
1
o
o
o
1
o
o
o
o
o
o
o -M
S¡
$2
SJ
- 3.08
3.59
111.3
184.6
-230.8 -370.8
-2.05
4.61
1.54
1.53
o
o
a4
XB
1
2
76.92
3790.61
557.23
184.61
261.53
o
1
o o
o -1
o o
o o
o
La solución óptima es, por tanto,
OMO* = 76.92 t de producción de jabón OMO .
ESE* = 184.61 t de producción de jabón ESE .
TEX* = 3790.61 horas de mano de obra en horas extraordinarias.
Además, no se gasta el presupuesto total de 9 millones, pues s3 =557230 ptas.
En la solución óptima se consume toda la disponibilidad de P2 ya que si = Ot.
Lo mismo ocurre para P3 al ser s2 = Ot. La producción total es de 261.53 t.
Como se prescindió de las restricciones correspondientes a las materias primas
Pl y P4, por ser redundantes, es necesario sustituir .la solución óptima en ellas
para ver el gasto en cada caso. Es inmediato ver que, en la solución óptima, se
consumen 35.38 t de Pl siendo la holgura de 14.62 t, y se consumen 56.15 t de
P4 siendo ahora la holgura de 3.85 t.
O
110 PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 2. RESOI..UCION DE PROGRAMAS l..INEALES
@RA-MA
26. Método del símplex con variables acotadas. Resoluer por el método
del símplex con variables acotadas superiormente los programas lineales
a) ma:< z
=
2x¡ + 3x2
s.a
+3x2 ~ 16
2x¡ +x2 ~ 12
2 ~X¡~ 6
0 ~ X2 ~ 8
Xt
b} max z
s.a
=
max z
s.a
2x'1 + 3x2 + Ox3 +Ox4 + 4
=
+3X2 +X3 = 14
2x~ +X2 +X4 8
O~x~~-1
3x¡- x2 + 4x3
X¡ +3x2 + 4x3 ~ 18
3x¡ + x2 + 2x3 ~ 10
0 ~X¡~ 3
2 ~ X2 ~ 3
0 ~ X3 ~ 2
Solución
a) El método del símplex con variables acotadas superiormente, en lugar de incluir
las cotas sobre las variables como restricciones en la tabla del símplex, las trata
de manera separada y tiene en cuenta su efecto modificando la condición de
factibilidad, aunque la de optimalidad permanece igual que en el símplex primal.
La idea que subyace ahora a la condición de factibilidad es que una variable
se volverá. iofactible si toma un valor negativo o excede a su cota superior. La
condición de no negatividad se trata de la misma manera que en el símpfex primal;
sin embargo, la relativa a la cota superior requiere nuevas condiciones como que
eviten que una variable no básica que pasa a serlo exceda su cota superior y,
también, que se permita que una variable básica llegue a ser no básica en su
cota superior3. Además, si aparece alguna constante en la función objetivo, en
el símplex primal se prescinde de ella en la resolución y sólo se tiene en cuenta
al final. Por el contrario, en el caso de variables acotadas superiormente, aunque
podría hacerse de la misma forma, resulta más cómodo que ésta aparezca como.
valor del objetivo en la tabla inicial e irla transformando en las ' iteracione~.
Resolvamos el primer problema. Para ello, transformemos el programa lineal
al formato estándar de maximización introduciendo variables de holgura en las
restricciones (x3, x4) y teniendo en cuenta que, como x 1 tiene una cota inferior
positiva igual a 2, introducimos el cambio de variable que correspondt a sustituir
tal variable en su cota inferior, esto es, x1 = x~ + 2. Queda el programa lineal
e11 formato estándar con todas las variables de decisión acotadas superiormente
y no negativas
aEn el símplex primal, todas las variables no básicas están con valor O.
111
X~
=
0~
X2 ~
8
La tabla inicial del símplex es
es
o
o
e;
2
3
o o
VB
X~
X2
X3
X3
X4
3'
1
2
-2 -3
1
Zj-
1
ej
X~
o
o
1
o o
XB
14
8
4
Tomamos x2 como variable de entrada, por ser la variable no básica con el indicador más negativo, Z2- c2 = -3. Para determinar la variable de salida, calculamos
los valores () = min {() 1, 92, ()3} . Se tiene
ya que Y2
~
O, y
(}3
=U2 =8,
con u¡ cota superior de la variable i-ésima. Por tanto,
Po.r ello, introducimos x2 en la base en lugar de
ej
ca
3
o
VB
2
X~
X4
1/3
5/3'
zi- e1
-1
X2
X3.
La nueva tabla es
3
o
o
X2
X3
X4
1
1/3
o
o -1/3 1
o 1 o
xa
14/3
10/3
18
112
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Ahora la variable de entrada es x'l> ya que tiene indicador z1 - c1 = -1, que es
negativo. Para determinar la variable de salida, calculamos
91 =
2
9¡
= oo, (y¡ ~ O)
93 = '1.1¡ = 4
ya que Y3
e= min {9¡ , 92, 93} =min {2, oo, 4} = 2.= 9¡
introducimos en la base la variable x~ en lugar de la variable X4. La nueva tabla
es
o
o
Cj
2
3
es
3
VB
x'1
X2
X3
X4
XB
1
2
x'1
2/5
-1/5
4/5
-1/5
3/5
4
2
20
Zj - Cj
o
o
o o
1
= min { ~ '
92
Como
3/5
113
Tomamos X3 como variable de entrada, por ser la variable no básica con el indicador z3 - c3 = - 4, más negativo. Los valores 91> 92, 93 son
. { 14/ 3 10/ 3} = 2
mm 1/ 3 ' 5/3
92
xz
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
~
n
=3
=00
O, y
Por tanto,
9 = min{9¡,92,B3} = min{3,oo,2} = 2.
Como 9 = u3, la variable x3 se sustituye en su límite superior, pero permanece
no básica. Haciendo x3 = 2 - x3, la nueva tabla es
es
o
o
que es óptima. La solución hay que darla en términos de las variables originales
x 1 y x2. Como x~· = 2, la solución óptima es
Cj
3
-1
VB
X¡
x2
X4
1
xs
3
-3
3
1
Zj - Cj
-4
x'3
-4
-2
1
4
o o
X4
1
xs xs
o 4
o 1
o o
4
6
Ahora la variable de entrada es x1, ya que tiene indicador negativo z1 - c1 = - 3
y es el único. Calculamos los valores 9¡. 92, 93, que son
con z• = 20.
b) Poniendo el programa en formato estándar de maximización y haciendo la
transformación lineal x2 = ~ + 2, queda el programa con variables acotadas
superiormente
max z = 3x¡ - x2 + 4x3 - 2
s.a
X¡+ 3~ +4X3 + X4 = 12
3x 1 + x~ + 2x3 + xs = 8
0 :S: X¡ :S: 3
0 :S: X~ :S: 1
0 :S: X3 :S: 2
La tabla inicial es
Cj
es
o
o
3
-1
4
o o
VB
X¡
x2
X3
X4
X4
1
3
4
1
xs
Zj -Cj
3
-3
1
2
1
-4
Xs
XB
o 1
o o
12
8
-2
o
91 = min
92
U• ~} = ~
= 00
ya que y 1 ~ O, y
9a =u¡ = 3.
Como
9 = min {9 1, 92, Ba} = min
U• oo, 3} = j
la variable que sak es xs. La nueva tabla
o
Cj
3
-1
-4
es
VB
X¡
x3
X4
X4
o
x2
3
X¡
1
8/3
1/3
-10/3
-2/3
2
o
o
o
z; - e;
o
2
1
o
xs
XB
-1/3 8/3
1/3 4/ 3
1
10
114
PROCRAMACIO~
LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
es óptima. Deshaciendo los cambios, se obtiene la solución óptima
=3' X2,. = 2, X3• = 2
X¡
con z• = 10.
o
27. Método del símplex con variables acotadas y planificación de la
producción. Industrias I}raf fabrica tres tipos de discos denominados 1, 2 y 3,
a partir de las materias primas A y B. Un disco tipo 1 requiere 4 gramos de A
y 3 de B: uno de tipo 2, requiere 7 de A y 2 de B; uno de tipo 3, 3 de A y 8 de
B. Debido a problemas de transporte se restringe la disponibilidad de la materia
prima A a 1700 kg y la de B. a 1500 kg, en ambos casos por mes. La compañía
tiene una serie de contratos que desea cumplir y que obligan a prod·ucir en cada
mes entre 200000 y 230000 discos de tipo 1, y entre 70000 y 80000 los de tipo 2
y 3. Se sabe que debido a la fuerte demanda del mercndo se va a vender todo lo
que se produzcn. Si el beneficio neto por disco producido de tipo 1, 2 y 3 es de 15,
20 y 21 ptas, respectivamente, ¿cuál es el plan de producción óptimo de Kraf?
=X~
+ 200000,
Definimos las variables de decisión xt =producción de discos tipo i = 1, 2, 3. Las
restricciones debidas a las limitaciones de materia prima son
4x¡ +7x2 +3x3 S 1700000
3x1 + 2x2 + 8x3 S 1500000
Además, hay que añadir las restricciones de producción
70000 S x2 S 80000, 70000 S 'x3 S 80000.
La función objetivo B representa beneficio total neto y es de la forma de maximización
B = 15x1 + 20x2 + 21x3.
max B
=
15x¡ + 20x2 + 21x3
4x¡ +7x2 + 3x3 S 1700000
3x 1 + 2x2 + 8x3 S 1500000
200000 S X¡ S 230000
70000 S X2 S 80000
70000 S X3 S 80000
= xí +70000,
X3
= XJ + 70000.
=
15x'1 + 20x~ + 2lx3 +Ox4 + Oxs + 5870000
s. a
4x'1 + 7x2 + 3x3 + X4 = 200000
3x~ + 2x2 + 8x3 + xs = 200000
oS X~ S 30000
OS x2 S 10000
OS x3 S 10000
La tabla inicial es
es
o
o
VB
X4
xs
Zj- Cj
21 o o
xs
x3 X4 Xs
1 o 200000
4
7
3
2
o 1 200000
3
8
-15 -20 -21 o o 5870000
15
x'1
20
X~
Hay indicadores negativos, por lo que es posible la mejora. El más negativo es
z3 - c3 = -21, por lo que x3 es la variable de entrada. Para ver a quién sustituye
determinamos
8 = min {81, 82, 83} ~ min {25000, oo, 10000}
= 10000.
Como 8 =83 =u3 = 10000, la variable x'3 se sustituye.en su límite superior pero
permanece no básica. Haciendo x3 = u3 - x3 = 10000 - x3, la nueva tabla es
Cf
Queda, por tanto, el programa lineal con variables acotadas
ma.'< B
s.a
X2
Ponemos luego el programa en formato estándar, sumando una variable de holgura a cada restricción (x 4 , x5 ) . Se tiene el programa con variables acotadas superiormente
Cj
Solución
200000 S X¡ S 230000,
115
que resolvemos con el método del símplex con variables acotadas superiormente.
Para ello, introducimos las transformaciones
4
•
X¡
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
CB
o
o
VB
X4
X5
ZJ- Cj
15
x't
20
-21
x2 xj
4
7
-3
2
-8
3
-15 -20 21
o o
X4
1
o
xs
xs
1
120000
o 170000
o o 6080000
Tomamos x~ como variable de entrada. Para determinar la variable de salida
calculamos
8 = min {8 1, 82, 83} =mio {24285.71, oo, 10000}
= 10000.
116
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Como 8 =83 =u2 =10000, la variable x~ se sustituye en su límite superior pero
perm11nece no básica. Haciendo x~ =u2 - x~ =10000- x2, la nueva tabla es
es
o
o
Cj
15
VB
x'1
'X4
4
3
-15
zs
. Cj
Zj
-20 -21
x"2 ~·3
7 -3
-2 - 8
20
21
xs
zs
o
1
100000
100000
6280000
o 1
o o
Tomamos X11 como variable de entrada, z1 - c1 =-15 < O, y calculamos
8 =min{8¡,82,83} =min{25000,oo,30000}
=25000.
Es 8 =81 y X4 la variable de salida. La nueva tabla es
e;
15
-20
es
VB
x'1
X~
15
x'1
xs
1
o
o
o
Cj
Zj
- 21
o
o
X~
'X4
xs
Xs
1
25000
25000
6655000
- 1.75 -.75
.25
3.25 -5.75 -.75
-6.25 9.75 3.75
o
o
Tomamos ahora x2 como variable de entrada, z2 - c2 =-6.25 < O, y calculamos
8 = min {8¡ 182 8 } =min { 25000 30000 - 25000
1
3.25 1 -(-1.75)
3
}110000 -
= min {7692.3, 2857.2, 10000} = 2857.2.
Como 8 = 82, introducimos x'2 en la base en lugar de x'1 y después sustituimos
xi en su cota superior. Se tiene la tabla
es
Cj
15
-20
VB
x'1
x"2
X~
.57
1.86
3.57
1
20
o
xs
C¡
Zj
-21
o o
x"3
X4
xs
xs
1
-14285.7
71428.6
6565714.2
o
o
Cj
20
o
VB
X~
xs
Zj- Cj
15 -20 -21
o o
XII
x"1
x"3
'X4
xs
Xs
2
.57
1
.43
.14
o 2857.2
-1.86 o -7.14 -.28 1 15714.3
3.57
o 12.42 2.85 o 6672857
-
= xi + 200000 =230000
x'2 =2857.14 =? x2 = 10000- 2857.14 =7142.86 =?
=? x2 = 70000 + x2 =77142.86
x~ = O=? x3 = 10000 =? X3 = x3 + 70000 = 80000
En resumen, la solución óptima es producir
xj =230000 discos de tipo 1
x2 =77142 discos de tipo 2
x3 = 80000 discos de tipo 3
con beneficio óptimo B* = 6672857 ptas.
o
28. Modelo estático de análisis input-output. Las autoridades económicas
de una región que posee cuatro industrias denominadas 1, 2, 3 y 4, quieren llevar
a cabo una planificación de la producción para el año próximo. Es importante una
coordinación a nivel global debido a la gran interdependencia entre las indu$trias,
como se refleja en la tabla de transacciones (en millones de ptas)
Destino
Origen
1
2
3
4
Total
Sustituyendo ahora x~ = 30000 - x'1, se llega a la tabla óptima
es
de las variables originales
Resto
.43
-.14
- 7.14 - .28
12.42 2.85
o
o
Deshaciendo los cambios de variable tendremos la solución óptima en términos
x1: =O=? xi = 30000 =? x¡
o o
'X4
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES 117
---------------~~~~~~~~~~~~~~~==~~
4
3
2
1
2-10
150
380
400
160 290 500 310
270 570 200 140
280 120 370 290
1630 1800 1100 960
2740 3150 2320 19-!0
Const.~mo
Total
1230
1440
1820
1000
2400
2700
2990
2060
o
~90
5499
La primera fila se refiere a las actividades de la industria l. Así, la industria 1
produce 2400 unidades (en millones de ptas) de bienes, de las cuales utiliza ella
misma 400, 380 se venden a la industria 2, 150 a la 3, 240 a la 4 y 1230 a los
consumidores. Análoga interpretación tienen las filas segunda a cuarta. La fila
"resto" recoge salarios, préstamos de capitales,. .. por ejemplo, para la industria
1 son 1630 unidades.
Por las implicaciones que tienen las industrias 3 y 4 en la creación de puestos
de trabajo indirectos, se desea que sus producciones para el próximo año sean las
mayores posibles. La tabla siguiente recoge las demandas estimadas y los límites
máximo y mínimo de producción que posibilitan la estabilidad económica regional
118
PROGRAMAGION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Industria
1
2
3
4
CAPITULO 2. RESOLUCION DE PROGRAMAS LINEALES
Demanda
Límites prod.
estimada mínimo máximo
1600
2500
3170
1450
2820
3200
2000
1900
2600
1300
1930
2420
en que m¡ y M¡ representan, respectivamente, los límites mínimo y máximo de
producción de la industria i.
La función objetivo es la salida total de las industrias 3 y 4, es decir, S =
sAL3 + SAL4 , que habrá que ma.ximizar. Resumiendo, queda el programa lineal
con variables acotadas
¡
a) Formular un modelo de programación lineal que ayude a planificar la producción de cada industria.
b) Si ahora el interés es monetario y se conocen los beneficios unitarios de
cada industria para el año próximo que son, respectivamente, 30, 28, 42 y
36 ptas, determinar la producción de cada industria.
Solución
a) Comenzamos calculando la matriz de coeficientes técnicos, que se obtiene dividiendo cada elemento interior de la tabla de transacciones por el total que aparece
en su columna e.n la.fila infe~ior. Tales elementos, que denotamos por a¡j, representan las contnbucwnes urutarias de cada industria. Por ejemplo1 el elemento
en la posición (1, 3), que es .065, indica que para una salida de una. unidad de la
industria 3 se requiere una entrada de .065 unidades de la. industria 1. Tenemos
así la matriz
Industria
2
3
4
.146 .121 .065 .124
.058 .093 .215 .160
.098 .178 .086 .072
.102 .039 .160 .149
1
2
3
4
Definimos las variables de decisión
SALí= salida total de la industria i = 1 2 3 4
' ' '
Las restricciones de producción y limite de demanda deben cumplir
(in~~~~:
0
i )
-
(
::~:~: ¡ )
$
(
119
¡~~:~:i~ai )
o bien, si denotamos con d¡ la demanda. de la industria ·i1
SAL¡- a¡¡ SAL¡- a¡2SAL2- a¡3SAL3 - a¡ 4 SAL4 $ d;.
Además, tendremos restricciones sobre las variables SAL¡ debidas a los limites
de producción dados por
max S
= SAL3 +SAL4
s.a
SAL¡ - .146 SAL¡ - .121 SAL2 SAL2 - .058 SAL1 - .093 SAL2 SAL 3 - .098SAL1 - .178SAL2 SAL4 - .102SAL1 - .039SAL2 2500 $ SAL 1 $ 3170
2820 $ SAL2 $ 3200
1900 $ SAL3 $ 2600
1930 $ SAL4 $ 2420
.065 SAL3 - .124 .S:4.L4 $ 1600
.215 S.4.LJ - .160 SAL4 $ 1450
.086SAL3 - .072SAL4 $2000
.l60SAL3- .149SAL4 $1300
Aplicando el método del símplex con variables acotadas superiormente, en tres
iteraciones se alcanza la optimalidad. La solución óptima es
SALj
= 2785.2, SAL2 = 2820, SALj = 2600,
SAL~
= 2420.
b) En este caso, cambia únicamente la función objetivo que representa el beneficio
total B
max B = 30 SAL1 + 28 SAL2 + 42 SAL3 + 36 SAL4
Aplicando de nuevo el método del símplex, se obtiene en cinco iteraciones la
solución óptima
SALj
= 2822.7,
con beneficio B*
SAL2
= 2822.4,
= 360028.4 ptas.
SALj
= 2600, SAL:= 2420,
o
29. Gestión de un almacén. SOX es un almacenista que se dedica a la compraventa de arroz. Dispone de un almacén con capacidad para 7000 t y pretende
llevar a cabo la planificación del último trimestre del presente año. Debido a la
sit·uación actual del mercado, estima que el primero de o~tubre tendrá un inventario de 1500 t de arroz y una disponibilidad de 280 millones de ptas. Los precios
estimados de compra y venta (en miles de ptas) de la t de arroz para el citado
trimestre son
120
PROGRAMACION UNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Mes
Octubre
Noviembre
Diciembre
Precio por t
Compra Venta
75
93
81
99
79
95
Como se debe empaquetar el arroz adquirido, sí el comprado en un mes no se
puede vender hasta el siguiente. Tanto la compra como la venta se hacen al
contado. SOX desea tener al final del período un inventario de 2000 t. Encontrar
el plan de gestión de máximo beneficio.
121
- Límite presupuestario (en miles de pta.s)
75 C¡ $ 28QQQQ
81C2 $ 28QQQQ - 75 C¡ + 93 VI
79 c3 :::; 280000- 75 e¡ + 93v¡ - 81 c2 + 99v2
- No negatividad de todas las variables de decisión
Ci,V¡ , a¡ ~O ,
i
= 1,2,3.
La función objetivo B representa el beneficio neto en miles de ptas que hay que
Solución
roaximiza.r
Introducimos las variables de decisión
= t de arroz que se compran en el mes i
Vi = t de arroz que se venden en el mes i
Ci
a¡ = t de arroz que se almacenan en el mes i
con i
CAPITULO 2. RESOLUCJON DE PROGRAMAS LINEALES
©RA-M~
= 1 (octubre), i = 2 (noviembre) e i = 3 (diciembre).
B = 93v1 + 99vz +95v3 -75c¡ - 81cz - 79cJ.
Aplicando el método del símplex con variables acotadas superiormente, se
tiene en ocho iteraciones la solución óptima. Las compras de arroz, en t, en los
tres meses deben ser
e~ =
Las restricciones se deben a:
3733.33,
c2 = 1722.22, c3 = 2000.
Las ventas
- Capacidad del almacén
1500 + C¡ $ 7000
c2 + a¡:::; 7000
c3 + a2 $ 7000
Los inventarios
aj = 3733.33,
- Disponibilidad de arroz para venta
$ 1500
vz $ a1
v3 $ a2
V¡
- Inventarios al final de cada mes
a1 = 1500 + C¡ -V¡
az = a1 + c2 - v2
a3 = a2 +c3 - v3
Además, para a3 deben verificarse las condiciones
2000 :::; a3
v; = 1500, v2 = 3733.33, vj = 1722.22.
:::;
7000
a2 = 1722.22,
El beneficio resultante es de 95211110 ptas.
aj = 2000.
o
CAPITULO 3
DUALIDAD Y ANALISIS DE
SENSIBILIDAD
1 En este capítulo planteamos, e~ primer lugar, la construcción del problema dual de
un problema de programación lineal dado, denominado primal. La importancia
de la dualidad es tanto teórica como práctica: permite el desarrollo y demostración de algunos teoremas notables en programación lineal¡ se puede utilizar
para aplicar el símplex a problemas con una base inicial primal infactible¡ puede
resultar en algunas ocasiones más sencilla la resolución del problema dual que
la del primal (en términos de menor número de iteraciones)¡ los valores óptimos
de las variables duales proporcionan una interpretación económica del problema
interesante¡ facilita el estudio del impacto sobre la optimalidad por cambios en
los coeficientes del problema (análisis de sensibilidad)¡ ...
La formulación del problema dual se lleva a cabo aplicando ciertas relaciones
estructurales que exigen que el problema primal tenga un formato determina:do,
por ejemplo, simét1ico, general... Comenzamos el capítulo con varios ejercicios en
los que se construye el problema dual eligiendo el formato inicial más adecuado,
en términos de menor número de transformaciones para ·lograrlo. Se muestran en
distintos ejercicios las relaciones algebraicas entre el problema primal y su dual.
Entre ellas, están las condiciones de holgura complementaria o la posibilidad de
una lectura casi directa de la solución del problema dual en la tabla óptima del
símplex del problema primal. También será importante la información económica
que sobre el problema primal proporciona la solución óptima del problema dual:
los valores óptimos de la variables de decisión duales son los precios sombra o
marginales o de elf'Uilibrio, y su conocimiento permitirá determinar si resulta
124
• l
·1·
••
PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
ventajoso considerar recursos adicionales sin necesidad de resolver nuevamente el
problema.
Pueden surgir problemas cuya base inicial sea dual factible, ZJ - CJ ~ O, 'tJj, .
y primal infactible, xBi < O, para algún i. El algoritmo del símplex dual permite
resolver tal tipo de problemas alcanzando la optimalidad, si existe, cuando se
llegue a una solución primal factible, xs¡ ~O, Vi . Este algoritmo no permite, en
general, resolver un programa lineal por las exigencias iniciales para su aplicación.
Sin embargo, se ha desarrollado una extensión denominada símplex dual extendido
o método de la restricción artificial, que supera el inconveniente indicado.
Existen otras extensiones o variantes del algoritmo del sírnplex y una de las
más interesantes es la conocida como algoritmo del símplex primal-dual, en la
que compiten los pivote~ primal y dual para determinar aquel de mayor impacto,·
logrando así una convergencia más rápida.
El otro aspecto que se ilustra en este capítulo es el análisis de sensibilidad. En
todo modelo cuantitativo los distintos coeficientes pueden estar sujetos a fluctuaciones o errores. Por ello, su conocimiento no siempre es preciso y pueden cambiar
con el tiempo al depender, en muchas ocasiones, de parámetros no controlables.
Un uso típico será en aquellos casos en los que hemos obtenido la solución óptima
y deseemos encontrar uña nueva solución óptima cuando hayan cambiado, por
ejemplo, las disponibilidades de los recursos. La dualidad sirve de ayuda para
llevar a cabo análisis de sensibilidad, como se ilustra con diversos ejercicios tanto en el caso discreto como continuo. En el primero se consideran: cambios en
un coeficiente de coste (c1), cambios en uno o más recursos (b¡), cambios en un
coeficiente tecnológico (G.ij), incorporación de una nueva variable e incorporación
de una restricción. En el segundo, denominado programación lineal paramétrica,
se estudia: parametrización de la función objetivo, del vector de recursos y de
un coeficiente tecnológico. Se ilustran estos casos con varios ejercicios teóricos
y también con una serie de ejercicios en los que se parte desde el principio, es
decir, hay un enunciado que exige la modelización y posteriormente se plantean
posibles cuestiones de análisis de sensibilidad en los casos discreto y paramétrico.
CAPITULO 3. DUALIDAD Y ANALJS!S DE SENSIB!LLDAD
125
EJERCI CIOS
1. Problema dual en formas simétrica y general. Dado el problema lineal
mm z == 20x¡ - 8x2 + 12x3
s. a
4x¡ - x2 +2x3 ~ 6
- x1 + 3x2 - X3 S 8
X¡+ 5x3 == 5
3X ¡ - X2 + X3 ~ 4
X¡,X3 ~ 0
x2 no restringida
a) Determinar el problema dual en la forma simétrica.
b) Determinar el problema dual en la forma general.
Solución
a) Expresamos el problema primal en formato simétrico de minimización: la
función objetivo debe minimizarse, todas las variables son no negativas y las restricciones desiguadades ~. Como x2 es no restringida, hacemos la transformación
lineal
1 - x 11
1
11 >o
x2 = x 2
2 con x 2 , x 2 _ ,
Multiplicamos la. segunda restricción por -1 y la tercera la descomponemos en
dos desigualdadeS ~. Tenemos entonces el programa lineal
min z == 20x 1 - 8x~ + 8x~ + 12x3
s. a
4x1 - x~ + x~ + 2x3 ~ 6
+ 3x~ + X3 ~ -8
5x3 ~ 5
-x¡ - Sx3 -~ -5
3x 1 -X~+ X~+ X3 ~ 4
x 1 ,x~,x~,x3 ~O
XI - 3x~
X¡ +
en formato simétrico de minimización. Para pasar de las relaciones estructurales
al problema dual en forma simétrica, se deduce que éste tendrá cinco variables
de decisión (y¡, y2, y3, y4, ys) y cuatro restricciones, por tener el problema primal
..
126
PROGRAMACION LIN BAL Y APLICACIONES: EJERCICIOS RESUELTOS
cinco restricciones y cuatro variables de decisión (x¡, x2, x~, X3), respectivamente.
El problema dual, en formato simétrico de ma.ximización, es
max w = 6y¡ - 8y2 + 5y3 - 5y4 + 4ys
s. a
4y¡ + 1/2 + Y3 - Y4 + ~Ys ~ 20
:y¡ - ]Y2 - Ys ~ - 8
Yt + 3y2 + Ys ~ 8 .
~Yl + Y2 + QY3 - 5y4 + Ys ~ 12
Yt,Y2,Y3.Y4,Ys ~O
b) En formato general elegimos para el problema primal la forma de minimización:
la función objetivo debe minimizarse, las variables de decisión pueden estar o no
restringidas y las restricciones pueden ser desigualdades ~ o = . Para ello, basta
con multiplicar la segunda restricción por - 1. Queda el problema primal
min z
s.a
=
X¡ - 3X2
X¡+
Sx3
~
6
+ X3 ~ - 8
=5
+ X3 ~ 4
0
x2 no restringida
3X¡- X2
X¡,X3 ~
.
~-
Aplicando las relaciones estructurales que permiten pasar al problema dual en
formato general, éste tendrá cuatro variables de decisión (y1, y2 , y3, y4) y tres
restricciones, por tener el problema primal cuatro restricciones y tres variables
de decisión (x¡, x2, X3), réspectivamente. El problema dual, que está en formato
gen~ral de maximización, es
ma.x w
s.a
=
127
2. Formulación del problema dual. Formular el dual de los siguientes problemas lineales y resolverlos dando, en los casos en que sea posible, la solución
de ambos problemas
ma.x z =
s.a
a)
b}
X ¡ - X2
=
min z
s.a
3x¡ + x2 ~ 6
2x¡ + 3x2 ~ 12
X1,X2 ~ 0
e)
X¡ +x2
X2 ~ 2
x1 + 2x2
d)
minz= 2x 1 - 3x2
s. a
X¡+ X2 ~ 1
X2 ~ .1
X¡ ,x2 ~O
min z =
s.a
~
3
-X¡ - X2
X¡- X2 ~
X¡-
2x2
5
7
~
X ¡ ,X2~ 0
20x 1 - 8x2 + 12x3
4x¡ - x2 + 2x3
• 1
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
© RA-MA
6y¡ - 8y2 + Sy3 + 4y4
4y¡
+ Y2 + Y3 + 3y4 ~ 20
-y¡ - 3y2 - Y4 = - 8
2y¡ + Y2 + Sy3 + Y4 ~ 12
Yl>Y2,Y4 ~O
Y3 no restringida
La segunda restricción dual es una igualdad, por ser la segunda variable primal
no restringida. La tercera variable dual es no restringida, por ser la tercera
restricción primal una igualdad.
O
Solución
a) El problema primal está en forma simétrica de ma.ximización. Aplicamos
directamente las relaciones estructurales que nos llevan a su dual:
max z = X¡ - X2
s. a
3x¡ +x2 ~ 6
2x 1 + 3x2 ~ 12
dual
---+
minw = 6y¡ + 12y2
s.a
3y¡ + 2y2 ~ 1
Yt + 3y2 ~ - 1
X ¡ 1 X2~0
Yt.Y2~0
Resolvemos el primal aplicando el método del símplex. Poniéndolo en formato
estándar de maximización con x3 , x4 variables de holgura, que serán las variables
básicas iniciales, en una iteración del símplex llegamos. a la tabla final
Cj
1
-1
VB
o
o
CB
X¡
X2
X3
X4
1
Xt
1
o
X4
Zj - Cj
o
o
1/3 1/3
7/3 - 2/3
4/3 1/3
XB
o
2
1
8
o
2
La solución óptima es única, pues sólo las variables básicas en esta tabla final
tienen indicadores nulos. Esta es
xi = 2,_x2 = O
con z'
= 2.
128
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
También se leen de modo sencillo los valores óptimos de las variables duales en
la tatla final. Basta con recordar que las variables básicas iniciales, y en este
orden, eran X3 y X4. Como X3 se añadía a la primera restricción primal, a partir
de su indicador z3 - c3, tendremos el valor óptimo de la primera variable dual de
rlecisión poniendo
Yi = (z3 1
CJ)
+ CJI = l~ + ol =
j.
Análogamente, para la segunda variable dual de decisión
Y2 = l(z4 -
c.t) + c4j = lO+ Ol =O.
El valor óptimo del objetivo dual w es w• = z* = 2.
b) Como hay variables no restringidas, elegimos el formato general de maximización para el problema primal. Determinamos el problema dual en formato general
de minimización. Al ser en el primal las restricciones de desigualdad, las variables
duales serán no negativas. Por otra parte, como ambas variables primales son no
restringidas, las restricciones duales serán de igualdad. Se tiene:
max i
s.a
=
-x¡ -
x2
dual
min w
s.a
=
2y1 + 3y2
Y2 = -1
Yl + 2y2 = -1
YJ,Y2 ~O
--7
con z =-t.
Elegimos la resolución del problema dual, ya que sus variables son no negativas
y evitamos duplicar el número de variables, aunque habrá que añadir variables
artificiales. Poniendo el dual en formato estándar de maximización, donde las
variables Ya e Y4 son artificiales, tenemos
max w'
s.a
=
min
z'
= - 2x'1 + 3x2
m&'< w
s.a
-x~
- x2 ~ 1
-x2 ~ 1
=
Yl
+Y2
s.a
dual
--+
-y¡~
-2
-y¡- Y2 ~ 3
x'1 ,x2 ~O
y:,!/2 ~o
Elegimos la resolución del problema dual transformándolo, previamente, al
formato estándar de maximización, para lo que introducimos las variables de
holgura y3, y5 y la variable artificial Y4· Queda el programa lineal
ma.'< z
=
Yt +.Y2 +Oy3 - My4 +Oys
s.a
Yl -y3 +Y4 = 2
-y¡ - Y2 +Y5 = 3
y¡,y2,Y3.Y4.Y5 ~O
Aplicando el método de las penalizaciones, se tiene eil una iteración la tabla
Aplicando el método de las penalizaciones, la tabla inicial es
-2
-3
es
VB
-M
-M
Yt
Y3
o
Y2
-1
Y4
-1
Zj- Cj
2
1
-2
3
3
xM
129
Esta tabla es también la final, ya que todos sus indicadores son no negativos.
Como hay variables artificiales en la base con valor positivo (y3 = 1, Y4 = 1),
el problema dual es infactible. Por las relaciones algebraicas de dualidad, el
problema primal es no acotado o infactible. Para ver que el primal es no acotado, ·
bastaría con comprobar que es factible. Para ello, encontramos una solución, por
ejemplo, x 1 = O, x2 = l.
Observemos que, en este caso, no habría sido necesario realizar el estudio
mediante el método del símplex, puesto que la restricción Y2 = -1 conjuntamente
con Y2 ~ O, nos indica que el dual es infactible.
e) Ponemos el proólema primal en formato simétrico de minimización, introduciendo los cambios de variable x 1 = -x~ y x2 = -x2. Determinamos su dual, que
estará en forma simétrica de maximización. Tenernos así
-2y¡- 3y2- My3- My4
-y2 +Ya = 1
-y¡ - 2y2 + Y4 = 1
y¡,y2,y3,y4 ~O
Cj
CAPITULO 3. DUALIDAD Y ANAL!SIS DE SENSIBILIDAD
@RA-MA
-M -M
Y3
1
o
o
o
YB
1
1
o
o
1
1
VB
Yt
Y2
1
Yt
1
o
Ys
Zj- Cj
y~
o
Cj
es
1
o
-2
xM
o
o -M o
Y3
Y4
-1
-1
-1
1
1
1
1
o -1
o -1
o o o
Ys
YB
1
5
o
2
o 2
o o
Al existir indicadores negativos (z2-c2 = -1, z3-c3 = -1) con vectores interiores
asociados con todos sus elementos no positivos (Y2 = {0, -1), Y3 = (-1, - 1)), el
1
dual es no acotado y, por tanto, el primal es infactible.
130
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
· d) Ponemos el problema en formato simétrico de ma.:dmización y determinamos
su dual
max z'
s.a
=
x1 +x2
minw
s.a
dual
$5
-x¡ +2x2
-7
X¡ 1 X2 ~ 0
X¡- X2
=
s
5y¡- 7y2
Yt- Y2 ~ 1
~
-y¡+ 2y2
Yt,Y2 ~ 0
CAPITULO 3. DUALIDAD Y ANALISIS DE SE:-ISIBTLLDAD
@RA-MA
~
L
Solución
Formulamos los programas duales en forma simétrica de ambos problemas. Para
Pl, se tiene el siguiente proceso de conversión
mio ctx
s.a
--t
Ax ~
b
1
o o -M
X¡
X2
X3
1
-1
1
o
-1
- 1
-1
1
-2
1
o
1
1
o
o
1
CB
VB
1
X¡
-M
xs
Zj- Cj
xM
o
o
o
X4
. 1
Xs
o
XB
5
2
5
-2
3. Algunas relaciones algebraicas en dualidad. Consideramos los programas lineales
Pl : min z = ctx
s.a.
Ax ~ b
--t
Dl: ma.x btu
s.a
Atu = e
--t
u ~ O
Como hay una variable artificial en la base con valor positivo (x5 = 2), el problema
primal es infactible. Como consecuencia. el problema dual será no acotado o
infactible. Compruebe el lector que el problema dual es no acotado.
O
"
min - btu
ma.x -ctx
~ s.a
s.a
- A1u = -e
-Ax $- b
u~O
con z' = -z. Elegimos para su resolución el problema primal. Poniéndolo en
formato estándar, añadiendo variables de holgura (x3, x 4 ) y una variable artificial
(xs) a la segunda restricción, en una iteración del método de las penalizaciones
se llega a la tabla final
e;
131
P2 : ma.x w = cty
s.a
Ay$ b
con A matriz de orden m x n. Probar· que:
a) Si ambos problemas son factibles y uno de ellos tiene sol·u.ción óptima, el
otro también la tiene.
b) Si ambos problemas son factibles y Pl es no acotado, entonces P2 es no
acotado.
e) Suponiendo que ambos problemas tienen soluciones óptimas, comprobar qut
si x e y son factibles, entonces ctx ~ cty.
Para P2
ma.x
s.a
cty
dual
~
Ay $ b
D2: min btu
s.a
Atu =e
u~ O
Probamos ahora las afirmaciones del enunciado, que son aplicación directa de las
relaciones algebraicas básicas entre un problema primal y su dual.
a) Supongamos que Pl y P2 son factibles y Pl acotado. Si P2 fuese no acotado,
entonces D2 sería infactible, con lo que Dl también sería infactible. Luego Pl
sería no acotado o infactible, lo que lleva a una contradicción. De forma análoga
se demuestra que si Pl y P2 son factibles y P2 es acotado, entonces Pt es acotado.
b) Si Pl es no acotado entonces Dl es infactible, con lo que D2 es infadible YP2
debe ser no acotad~ o infactible. Como es factible, entonces P2 es no acotado.
e) Si Pl y P2 son acotados, entonces Dl y D2 son. acotados. Construimos la
siguiente cadena de desigualdades
cty $ ' mio btu $ ma.x btu
Atu =e
A1u = e
u ~ O
u ~ O
válida para todo y y x tales que Ay$ b y Ax~ b .
o
132
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
4. Método del .símplex dual. Resolver con el algoritmo del símplex dual, si
es posible, los problemas
a)
max
s. a.
z
=
b)
-2x 1 - x 2
minz
s.a.
3x¡ + x2 + 2x3 ~ 6
X¡+ 3x2 - 4x3 ~ 10
Xt,X2,X3 ~ 0
X¡ 1 X2~0
e)
1 1
)
max z
S. a
• 1
=
-5x¡ -
Cj
-2
-1
o
o
CB
VB
Xt
X2
X3
X4
-1
X2
X4
1/2
-4
3/2
1
- 1/2
2
1/2
o
Zj- Cj
que es primal factible, pues
La solución óptima es
3x2
3x¡ + 2x2 ::; 6
X¡+ 5x2 ~ 18
X¡ 1 X2 ~ 0
Obtener en los casos en que proceda los valores óptimos de las variables de decisión del problema dual.
x~
=O,
max z
s.a
=
-2x¡-X2 + Ox3 +Ox4
.
X¡,X2 1 X3 1 X4 ~
o
o
Cj
-2
-1
VB
Xt
X2
max z'
s.a
X3
X4
Zj- Cj
-1 -2·
-2 4
,_2. ) 1"
'
X4
XB
1 o . .:-6
o 1 14
o o o
Es dual factible (z1 - e; ~O, j = 1, 2, 3, 4) y primal infactible (3 x 8 ¡ <O}. La
variable de salida es X3. ya que X3 = xs 1 = -6 <O. Para determinar la variable
de entrada calculamos las razones
2
p¡ = - - = - = - 2,
Yll
-1
Z¡ - C¡
'
1
1"
1
1
P2= - - = - = - Yt2
-2
2
Z2 - C2
Y2 = Z4 -
C4
=0
= X¡+ 2x2- X3 + Ox4 + Oxs
- 3x¡ - x2 - 2x3 + X4 = -6
- x¡ - 3x2 + 4x3 + xs = -10
X¡ 1 X2 1 X3 1 X4 1 X5 ~ 0
0
o o
X3
-3
xi =3, x3 =O, x4 = 2 con z• = -3.
La tabla inicial, que es la misma que en el método del símplex primal, es
CB
2
o
con valor para el objetivo· dual w• = - 3.
b} Expresando la función objetivo en formato de maximización, multiplicando
por -1 ambas restricciones y añadiendo variables de holgura (x4 ,x5), tenemos
-X¡ - 2x 2
<"
1
= 1, 2 y termina el algoritmo.
O para todo i
Yt = Z3 - C3 =~~
+ X3 = -6
-2x¡ + 4x2 +x4 = 14
,.
XBi ~
o
o
XB
o 3
Los valores óptimos de las variables de decisión del dual se leen directamente en
la fila indicador de la tabla final, bajo las variables básicas iniciales (observemos
que en el método del símplex dual sólo se consideran variables de holgura, que
ti~nen coeficiente cero en la función objetivo). Se tiene, entonces, que
Solución
a.) Transformamos el problema al formato de aplicación del método del símplex
duª'l. Para ello, multiplicamos por -1 la primera restricción y añadimos variables
de holgura (x3, x4) a ambas restricciones. Tenemos el problema
133
Puesto que la mayor corresponde a P2 1 elegimos x2 como variabl.e de entrada. El
pivote es Yt2 = -2. Una transformación de pivote conduce a la tabla
= -X¡- 2X2 + X3
x¡ + 2x2 ~ 6
-2x¡ + 4x2 ::; 14
1¡
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
©RA-MA
con i
= -z. Construimos la tabla inicial
CB
o
o
Cj
1
2
-1
o o
VB
X!
X2
X3
X4
X4
-3
-1
-2
1
xs
- 1 -3
-1 -2
4
1
Zj- Cj
xs
o
XB
-6
o 1 - 10
o o o
Como es dual infactible (z 1 - c1 = -1 <O, z2 - c2 = - 2 <·O), no es posible su
resolución con este algoritmo. Una posibilidad es utilizar el método del símplex
dual extendido, que aplicaremos en el Ejercicio 3.5.
134
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
e) Multiplicando la seg1mda restricción por - 1 y añadiendo variables de holgura
(x 3 , x4), tenemos el problema transformado
max z
=
-5x¡- 3x2
+Oxa + Ox4
s. a
3x¡
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
©RA-MA
+2x2 + X3 = 6
+ X4 = -18
.Solución
a) Intentamos aplicar el método del símplex dual. Para ello, ponemos el objetivo
en forma de rna.'<imización, multiplicamos por -1 la primera restricción, descomponemos la segunda restricción en dos restricciones de desigualdad de la forma S
y añadimos variables de holgura a las tres restricciones resultantes, obteniendo
-X¡ - 5X2
=
max z'
2::0
X1,X2,X3,X4
o
o
Cj
-5
-3
VB
XJ
X2
- 3x¡ - 6x2 + 2xa + X4 == - 8
X¡ + 2x2 + XJ +x 5 = 4
- X¡ - 2x 2 - x3 + X6 = - 4
o o
X3
X4
1
o
3
2
-1 -5*
5
3
xa
X4
z; - e;
5
- -1
_ Z¡ - C¡ _
Pt - - Y2t
= -5,
P2
XB
X¡ 1 X2,X3,X4,Xs 1 X6
6
o 1 - 18
o o o
La variable de salida es x4, ya que x4 = xs2
variable de entrada calculamos las razones
= -18 < O.
con z'
Para. determinar la
3
CB
o
VE
xa
-5
-3
o
o
o
3
= - Y22- =-- 5 = - -5·
XJ
X2
13/5
1/5
22/5
o
o
XJ
1
o
X4
XB
2/5 -6/5
- 1/5 18/5
3/5 - 54/5
1
o
o o
La variable de salida es x3, ya que xa = x 81 = - 6/5 <O. Sin embargo, todos los
-3
X2
Zj - Cj
elementos de esta fila son no negativos. No es posible un pivote y, por tanto, el
problema dual es no acotado y el primal infactible.
o
5. Método del símplex dual extendido o de la restricción artificial.
minz
s.a
=
2xt+4x2-X3
3x 1 + 6x2 - 2x3 2:: 8
X¡ + 2x2 + x3 ::::: 4
X¡ 1 X2 1 X3
2::0
b)
maxz
s.a
=
X!
X2
X3
X4
X4
-3 -6
l
2
- 1 -2
2
4
2
1
xs
X6
Zj- Cj
4x¡ + 3x2 ;::: 16
X¡+ 3x2 2:: 6
X¡+ X2 S 4
X¡, X2
·2:: 0
Xs
XB
X6
o o -8
o 1 o 4
o o 1 -4
o o o o
1
-1
-1
Observemos que la solución actual es primal infactible (por ejemplo, xs 1 = x4 =
- 8 < O) y dual infactible (za -ca = -1 < O). Para aplicar el método del símplex
dual debemos transformar el problema en dual factible: añadimos la restricción
artificial de igualdad que se obtiene de sumar, con coeficiente unidad, las variables
de decisión (xa) con indicador negativo, y esta suma debemos hacerla menor o
igual que una cantidad M, algo mayor (lO) que el resto de las constantes (8,4).
Además, le añadimos una variable de holgura (x 7). La restricción artificial es
'
X3
+ X7 = 10.
Añadi-!llos esta restricción a la tabla anterior y tenemos
Cj
- x 1 +2x2
o o o
1
VB
Resolver con el método del símplex dual extendido los programas lineales
a)
-2 -4
Cj
CB
Z2 - C2
2::0
= -z. La tabla inicial del método del símplex dual es
La mayor corresponde a P2, luego x2 es la variable de entrada. El pivote es
Y22 = -5. Pasamos, entonces, a la tabla
Cj
-2x¡ - 4x2 + xa + Ox4 + Oxs + Ox6
s. a
La tabla inicial es
CB
135
CB
o
o
o
o
VB
X4
X5
xs
X¡
z·] . e·
1
-2 - 4
XJ
X2
1
X3
-6 2
1
2
1
- 1 -2 - 1
o o 1'
2
4 - 1
-3
o o o o
X4
1
o
o
o
o
X5
xs
o o
1 o
o 1
o o
o o
X¡
o
o
o
1
xa
-8
4
-4
10
o o
136
PROGRAMACION LINEAL Y APL1CACION8S_; 8JERCICIOS RESUELTOS
©RA-MA
Para obtener una tabla dual factible, introducimos en la base la variable no básica
con indicador más negativo (x3). La variable de salida será la de holgura añadida
a la restricción artificial, en este caso, X7. Con la misma transformación de pivote
que en el método del símplex se obtiene
Cj
-2
-4
1
es
VB
X¡
X2
X3
o
X4
xs
1
:z:s
X3
-3 -6
1
2
-1 -2
o
o
o
xs
X¡
Xs
2
4
-6
2
3
1
1
-2
-4
1
o
es
VB
X¡
X2
XJ
X4
o
o
o
X7
Xs
xs
XJ
3/2
5/2
-5/2
-3/2
1/2
3
5
1
Zj - Cj
-s·
-3
1
1
o o o
xs
Xs
X7
XB
o o o
1/2
1/2
o
o
-4
Cj
-2
-4
1
o
o
o
o
VE
X¡
X2
X3
X4
Xs
XG
X7
XS
o
3/5
1
-1/5
-3/5
1/5
1
46/5
X7
xs
-4
X2
X3
1
Zj
-e;
o o o
o o o
1/2 1 o
o o 1
o o o
-1/5
o
-1/10
2/10
3/5
1
o
o
o
o
o
o
o
8
5
•
4
5
•
x2
= o) x3* = 4s·
b) Si multiplicamos por -lla primera y segunda restricciones, y añadimos variables de holgura (x3 , x4 , x5 ), se tiene una tabla inicial que es primal infactible (por
ejemplo, XBt = X3 = -16 <O) y dual infactible (z2- c2 = -2 < 0). No podemos
aplicar el método del simplex dual, así que añadimos la restricción artificial
X2 ~
20,
o
8/5
4/5
- 28/5
+ X5 = 20.
La tabla inicial, ampliada ya con la restricción artificial, es
Cj
-1
2
o o o o
es
VB
X¡
X2
X3
o
o
o
X3
X.¡
xs
xs
-4 -3
-1 -3
1 1
o 1.
1 -2
o
Zj- Cj
o o o -4
En una nueva transformación de pivote, se llega a la tabla final, que es primal
factible.
es
16
= S'
X2
= - 2 el
o -1/2 o o 1 14
o - 1/2 1 o o 8
o 1/2 o 1 o -8
o
•
que, con la suma de la vauable de holgura x6 , se transforma en
La mayor corresponde a p7 , por lo que x 7 es la variable de entrada e Yl7
pivote. La nueva tabla es
Cj
•
x 1 =O, x2 = -, x 3 =-
*
P7 = - = --.
-2
2
P2 = - = -- ,
Como la variable de holgura de la restricción artificial está en la base con valor
positivo (x7 = 46/5), la solución es óptima. Esta es
X¡
Esta tabla es primal infa~tible (por ejemplo, x 81 = x4 = -28 < O) pero dual
factible (zj- e; 2:: Opara todo j = 1, ..., 7), por lo que se puede aplicar el método
del símplex dual.
La variable básica más negativa es x4 , que será la variable de salida. Las
razones p admisibles para las columnas no básicas son
2
2
P1 = - = --,
-3
3
137
con z* = -z'* = -(-28/5) = 28/5. Observemos que existen óptimos alternativos,
pues en la tabla final la variable no básica x1 tiene indicador nulo. Compruebe
el lector que, aplicando el método del símplex primal con x 1 variable de entrada,
x2 de salida e Y31 = 1/2 pivote, la nueva solución es
Xs
- 28
-6
6
10
10
o 1 o o -2·
o o 1 o -1
o o o 1 1
o 1 o o o 1
4 o o o o 1
o
Zj- C.j
o o o
X4
CAPITULO 3. DUALIDAD Y ANALJSLS DE SENSIBILIDAD
X4
xs
xs
XS
o o o - 16
o 1 o o -6
1
o o 1 o 4
o o o 1 20
o o o .O o
En la primera iteración entra en la base la variable no básica con indicador más
negativo (x2) y sale de la base la variable de holgura de la restricción artificial
(x 6). Haciendo la transformación de pivotP. se tiene la. tabla.
es
Cj
-1
2
o o o o
VB
X¡
xz
X3
o
o
o
xs
2
X2
XJ
X4
Zj- Cj
X4
o 1 o
- 1 o o 1
1
o o o
o 1 o o
1
o o o
-4
xs
o
o
1
o
o
xs
3
3
-1"
1
2
XB
-l4
54
- 16
20
40
138
PROC.RA!vlACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
En dos iteraciones más se llega a la tabla
o o o o
Cj
-1
2
ce
VB
X¡
X2
X3
-1
X¡
1
o
-1
2
-1
1
o
o
X4
2
X2
o o
o o
o 1
X6
Zj - Cj
o o
CB
3
X4
Xs
o
-3
1
9
o
o
o
X6
XB
1
4
-2
20
o
o
-4
4
o
o
o
o o
o -4
11
Ahora, la variable de salida es x4 , que está en la segunda fila. Sin embargo, no
existe pivote, ya que todos los elementos interiores de esa fila son no negativos.
Por tanto, el problema dual es no acotado y el primal es infactible.
D
6. Método del símplex primal-dual. Resolver con el algoritmo del símplex
primal-dual los problemas
a)
max z
s.a
=
b)
2x¡ + 4x2
min z
s. a
=
-2x¡
+ x2- 3x3
2x¡ - x2 + 4x3
4
Xt,X2 X3 ~ 0
X¡ + X2 ~ 6
2x¡ +x2 ~ 8
4x¡ + 5x2 ~ 35
~
16
-X¡+ X2 ~
Íp
X3
-1
1
X4
-2
-1
-1
xs
4
-2
a) Transformamos todas las restricciones a desigualdades de la forma ~ y añadimos variables de holgura. Observemos que no es necesario considerar variables
artificialP.l' al permitirse constantes negativas, quedando el problema
.
+ 4x2 +Ox3 +Ox4 + Oxs
s.a
-X¡ - X2
+ X3 = - 6
-2X¡- X2 +X4 = -8
4x 1 + 5x2 + xs = 35
X ¡ 1 X2 1 X3 1 X4 1 X5 ~ 0
Construirnos la tabla inicial del mismo modo que en el método del símplex primal
X4
xs
XB
o o -6
o 1 o -8
s· o o 1 35
-4 o o o o
= 1(z2- ~:! (XB3) 1 = 1( -4~ (35) 1 = 28 .
1
Solución
2x¡
X3
2) Pivote dual. No es posible ningún pivote dual, pues, aunque la base es
primal infactible (por ejemplo, XB! = x3 = - 6 < 0), no es dual factible (ya que
z 1 - c 1 = -2 <O, z2- c2 = -4 <O). Como el único pivote corresponde a uno
primal, lo elegimos para llevar a cabo la operación de pivote. La nueva tabla es
o
o
4
=
4
X2
1) Pivote primal. Es posible un pivote primal para la columna 2 (z2 - c2 =
-4 < O es el indicador más negativo) y fila 3 (35/5 = 7 es la mínima y única
razón posible) con Y32 = 5. Su impacto es
CB
ma.'< z
2
X¡
Evaluamos ahora el valor del impacto Íj, cambio numérico en el objetivo z, debido
a los posibles pivotes primal (j = p)y dual (j = d), para elegir posteriormente
aquel con mayor valor. Tenemos:
X¡ 1 X2~0
Leer, si es posible, los valores ópt·imos de las variables de decisión del problema
dual a partir de la correspondiente tabla ópt·ima.
o o o
Cj
VB
Zj- Cj
139
Cj
2
4
VB
X¡
X2
X3
- 1/5
X4
xz
-5/5"
4/5
Zj- Cj
6/ 5
o o o
X3
X4
o 1 o
o o 1
1 o o
o o o
xs
XB
1/5 1
1/5 -1
1/5 7
4/ 5 28
En esta tabla no es posible pivote primal (zj - Cj ~ O, j = 1, .. . ,5), pues es
dual factible. Sin embargo, sí existe pivote dual. Este corresponde a la segunda
fila (XB2 = -1 <O) y a la primera columna (z¡ - e¡ = 6/ 5 ~ 0) , con pivote
Y21 = -6/5 <O, siendo su impacto
id = 1(z¡ -e¡) (XB2) 1 = 1(6/5) (- 1) 1 = l.
Y21
- 6/5
Observemos que al haberse convertido en dual factible no serí~ ya necesario el
cálculo anterior y aplicaríamos el símplex dual. En una transformación de pivote
llegamos a la tabla
ill._ r ROr.RAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Cj
2
4
o
o
o
CB
VB
X¡
X2
XJ
X4
Xs
XB
2
4
XJ
X¡
X2
- 1/6
-5/6
2/3
1
1/6
- 1/6
1/3
1
7/6
5/6
19/3
27
o
o o 1
1 o o
o l o
o o o
Zj - Cj
©RA-MA
Como no es posible pivote primal (zj- Cj ~O, j =1, ... , 5) ni pivote dual (xai ~
O, i =1, 2, 3), termina el algoritmo con la solución óptima
5 * 19 con z * = 27.
x.1 =-, x? = 6
-
3
Observemos que han sido necesarias dos iteraciones para alcanzar la optimalidad. Compruebe el lector que con el método de penalizaciones (ver, por ejemplo
Ejercicio 2.12) habrían sido necesarias tres iteraciones.
La solución óptima del problema dual, que tiene tres variables de decisión
y1, y2, Y3, se lee directamente en la tabla final bajo las variables bá.sicas iniciales:
Yi = Z3 -
C3
ip
= (z3- ~:; (xa¡)
1
2x¡ - x2 + 3x3 + Ox4 + Oxs
2x 1 - x2 + 4x3 + X4 = 16
X¡ - X2 + X5 =- 4
X¡,X2,X3 X4,X5 ~ 0
con z' =- z. La tabla inicial es
o
o
e;
VB
X4
xs
Zj - Cj
2
-1
3
o o
X¡
X2
XJ
X4
2
1
-2
-1
-1
1
1
= 12.
2
-1
3
o o
X¡
X2
XJ
X4
3
XJ
1/4
Zj - Cj
- 1/2
-1/4
-1
1/4
1
xs
1/2*
1
o
xs
XB
o o 1
o 3/4 o
4
-4
12
o
=1(z¡ -
xs
=
e¡) (xs 1) 1 =1 ( -1/2)(4) 1 = 4.
1/2
.
TamLién existe pivote dual correspondiente al elemento interior Y22 = -1 , con
impacto
id = 1(zz - c2) (xa2) 1 = 1 (1/4) (- 4) 1 = l.
Y22
-1
Como el pivote con m<:¡or impacto es el primal, realizamos sobre él la transformación de pivote. La nueva tabla es
Cj
2
CB
VB
2
X¡
Xs
o
z; - e;
-1
3
X¡
X2
X3
1
-1/2
- 1/2'
o
o
o
o
X4
2
1/2
- 2 - 1/2
1
1
o
Xs
f
XB
o
8
l
- 12
o
16
XB
1 o 16
o o 1 -4
-3 o o o
4.
-3~(16)
Cj
1
CB
1(
VB
Y11
=
=
CB
=27.
ma.'< z'
s.a
1
También existe pivote dual correspondiente al elemento interior y22 = -1, con
impacto
id= 1 (z2 - c2) (x82) 1 = 1(1) (-4) 1 =4.
V22
-1
El pivote con mayor impacto es el primal, por lo que realizamos sobre él la
transformación de pivote. La nueva tabla es
ip
b) Multiplicando la función objetivo y la segunda restricción por - 1, y añadiendo
variables de holgura (x4, xs), tenemos el problema
141
Er.iste pivote primal correspondiente al elemento interior y 13 = 4, siendo el impacto
Para esta tabla existe pivote primal correspondiente al element.o interior Yn
1/2, siendo el impacto
=o
Y2=z4-ct=1
yj = zs- es= 1
con w•
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
Obsérvese que si hubiéramos considerado en la primera tabla todos los pivotes
posibles, Yu habría sido el pivote (primal) con mayor impacto y nos habría ahorrado una iteración. En esta última tabla no hay pivote primal, pero sí pivote
dual. En efecto, xs es la variable de salida, ya que es la variable bá.sica con el
142
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
valor más negativo (es la única) x 82 ;::; Xs = -12 < O. La variable de entrada es
aquella no básica con máxima razón de entre
o
P?.;::; -1/2
=O,
1
P3 = -2
1
CAPITULO 3. DUALIDAD Y ANALISIS DE SENS!BILlDAD
©RA-MA
la restricción de igualdad en dos restricciones de desigualdad (:S:). Queda, por
tanto, el programa primal equivalente
1
= - 2,
14.3
max z
s. a
P4 = - 1/2 = -2
=
2x 1 + 4x2 - 4x~
que corresponde a x2. El el pivote es y21 ;::; -1/2. No es necesario que calculemos
su impacto, ya que no hay pivote primal. Se obtiene la tabla
Cj
2
-1
3
o o
es
VB
Xt
X2
X3
X4.
XB
Xt
1
o
xs
2
4
4
1
1
1
-1
20
24
16
-1
X2
Zj- Cj
o 1
o o
l
-2
o
Termina el proceso con esta tabla, ya que es dual factible (z; - e; 2:: O, j ;::;
1, ... , 5) y primal factible (xs¡ 2:: O, i = 1, 2). Observemos, sin embargo, que el
indicador zs - es = O corresponde a una variable no básica con vector interior
Ys = (-1, - 2) ~ O. Por tanto, el problema primal tiene un rayo óptimo. La
solución dual es YÍ = 1, YÍ = O.
o
7. Dualidad y holgura complementaria. Dado el problema lineal
max z
s.a
1
=
2x 1 + 4x2
-2x¡ - 3x2 2:: - 12
Xt +x2 = 4
5x¡ + 6x2 ~ 18
X¡ +x2 ~ 8
X¡ 2:: O, x2 no restringida
..
a) Determinar su dual en forma simétrica.
b) Resolver el problema dual. Obtener la solución óptima del problema primal
mediante las condiciones de holgura complementaria.
Solución
a) Expresamos el problema primal en formato simétrico de maximización: introducimos para la variable no restringida x2 la transformación x 2 = x2 - x~
con x2, x~ 2:: O¡ multiplicamos por - 1 la primera restricción y descomponemos ·
En formato estándar de maximización, toma la forma
max z
s.a
=
2x 1 + 4x2- 4x~ + Ou¡ + Ou2 + Ou3 + Ou4 + Ous
2x 1+ 3x2 - 3x~ +u¡ = 12
X¡ + x2 - X~ + U2 = 4
X¡+ x2- X~- U3 = 4
5x¡ + 6x2 - 6x~ + u4 = 18
X l + x2 - X~ + 'U5 = 8
X¡,x2,x~,u¡,'U2,u3,u4,u5
2:: O
con u¡, u2, ua, u4, u5 variables de holgura.
El dual en formato simétrico de minimización tiene 5 variables de decisión
(y¡,y2,Y3,y4,y5) y 3 restricciones
min w
s.a
=
12y 1 + 4y2 - 4y3 + l8y4 + 8ys
2y¡ + Y2 - Y3 + 5y4 + Y5 .2:: 2
3y¡ + Y2 - Y3 + 6y4 + Ys 2:: 4
-3y¡ - Y2 + Y3 - 6y4 - Ys 2:: -4
Yt,Y2,Y3,Y4,Y5 2:: O
b)'Para resolverlo, ponemos este programa lineal en formato estándar de ma.xi-
144
PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
CAPITULO 3 . DUALIDAD Y ANALISIS DE SENSrBlLIDAD
145
.mización. Añadiendo variables de holgura (v~, v2 , v3 ), queda el programa
max w'
s. a
=
e)
-12yl - 4y2 + 4y3 - 18y4 - 8y5 +
+Ovt + Ov2 + Ov3
2y¡ + Y2 - Y3 + 5y4 + Y5 -V¡
3y¡ + Y2 - Y3 + 6y4 +Ys - v2
3y¡ + Y2 - Y3 + 6y4 + Ys + V3
max z
s.a
=
3x 1 + 2x2
2x¡ + >.x2 S 4
x1 - 2x2 S 6
=2
=4
=4
X¡ 1 X2~0
para>. E ( - oo, oo).
YtoY2,Y3,Y4oY5 1 Vt,V2 1 V3 ~O
Aplicando el ~é.todo del símplex, añadiendo variables artificiales a la primera y
segunda restnccwnes, en cuatro iteraciones se alcanza la solución óptima, que es
. Yi = ,_ü, Y2 = O,
yj = 8,
Y4 = 2, Ys = O
Solución
a) Resolvemos el programa lineal para >. = O. En formato estándar de maximización queda
max z = 3x¡ + 2x2 + Ox3 + Ox4
s. a
con w• = - w'* = - (- 4) = 4.
Aplicamos las condiciones de holgura complementaria:
.,•
•\
1
~
•
2x 1 + X2 + X3 = 4
X¡ + 2X2 + X4 = 6
X¡,X2,X3,X4 ~ 0
y¡u¡ =O para i = 1,2,3,4,5 .
Se obtiene
yj = 8 ==> U3 = 0 ==> X¡ + X~ - X~ = 4
Y.!= 2 ==> u4 =O==> 5x¡ + 6x2- 6x~ = 18
w* = 4 ==> z• = 4 ==> 2x 1 + 4x2 - 4x~ = 4
(los valores Yi = O, Y2 = O, Ys = Ono proporcionan información sobre el problema
Aplicando el método del símplex, en dos iteraciones alcanzamos la optimalidad
siendo la tabla final
·
primal)
. Resolviendo el sistema de ecuaciones lineales en x 1, x'2 y x"2> se tiene la
.'
Cj
3
2
o
VB
o
ca
X¡
X2
X3
X4
3
2
X¡
1
o
SOl UC!On
X¡ = 6, X~ = 0, X~ = 2.
Por tanto, la solución óptima primal es
o
8. Programación lineal paramétrica. Resolver los programas paramétricos
max z
s.a
=
3x¡ + (2 + >.) x2
2xl + x2 S 4
x1 + 2x2 S 6
X¡,X2 ~ 0
b)
max z
s.a
o 1
o o
· Para haéer el análisis paramétrico, ·ponemos el problema parametrizad~ en
formato estándar (con x3 ,x4 variables de holgura) teniendo así el programa'
con z* = 4.
a)
X2
Zj - Cj
XB
2/3 -1/3 2/3
- 1/3 2/3 8/3
4/3 1/3 22/3
=
3x¡ + 2x2
2x¡ + x2 S 4 + >.
X¡+ 2x2 6
X¡,X2 ~ 0
s
max z
s.a
=
(3 +O>.) x 1 + (2 + >.) x 2 + (O+ O>.) X3 +{O+ O>.) X4
+ X2 + X3 = 4
X¡ + 2X2 + X4 = 6
X¡,X2,X3,X4 ~ 0
2X¡
El vector de variaciones en la función objetivo, coeficientes del parámetro >., es
c0 = (0,1, O, O} , y las partes de los indicadores dependientes de>. en la tabla final
\ •
son
146
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
O
O
Ot
z4-c4=csY4
- cO
4 =(0,1)
-1/3 ) -0= 2
213
3
(
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSrBrLIDAD
Imponemos las condiciones de optimalidad, que conducen a las inecuaciones
-2 + l).
>o
2 -
con zr- e~ =
cg = o, por ser X¡ y X2 variables básicas. El sumando del valor
del objetivo dependiente de >. es
zg-
0
z =
C~XB = (0, 1) ( ~~~ ) = ~·
Situamos estos valores en la parte inferior de la tabla óptima del símplex teniend
0
la tabla ampliada
'
e~
es
3
cj
o
Cj
3
VB
X¡
1
2
o
o
o
o
1- k>. ~o {:: : : :}
X3
>. ~ 4
{::::::::} >. >_ 4
con lo que obtenemos el recorrido de optimalidad >. E [4, oo) .
Volvemos a la penúltima tabla. y sustituimos el extremo inferior >. = - 1/2.
En este caso, la variable cuyo indicador se hace nulo es la. X4. Por aplicación de
la regla de mí!)ima razón, la variable de salida será x2 con pivote Y24 = 2/3. La
transformación de pivote nos lleva a la tabla.
x4
xs
o
X¡
1 o 2/3 -1/3 2/3
1 2
X2
o 1 - 1/3 2/3 8/3
Zj- Cj
o o 4/3 1/3 22/3
).
o o - 1/3 2/3 8/3
Le imponemos las condiciones de optimalidad, que conducen a las inecuaciones
X2
147
e'JJ
es
o 3
o o
e~
o
1
Cj
3
2
VB
o
o
o
o
X¡
X2
X3
X4
XB
X¡
1
1
4
X4
Zj - Cj
).
o
o
o
1/2
1/2
3/2 - 1/2
- 1/2 3/2
-1
o
o
2
o 6
o o
Imponiendo la. condición de optimalidad tenemos la. inecuación
!+~>.~o {::::::::} >.~-~
~e ~as q~e obtenemos el recorrido de optimalidad >.E [-1/2,4] : tal solución es
opt1ma Siempre que ). E [-1/2, 4J.
.Ahora, ~ebemos sustituir >. por los valores extremos finitos del recorrido obterudo Y aphcar el método del símplex primal, tomando como variable de entrada
aquellas que. pasen a tener un indicador nulo. Comenzamos sustituyendo el extremo supenor del recorrido obtenido haciendo >. = 4. El indicador de la última
tabl~ Y vemos que el indicador de la variable x 3 se hace igual a cero. Aplicamos
el metodo del símplex primal a esa tabla tomando x3 como variable de entrada
en la base, X¡ es la variable que sale e y13 = 2/3 es el pivote. Realizando la
transformación de pivote se obtiene
e'JJ
es
o o
1
2
cj
o
3
1
2
VB
o
o
X¡
X2
X4
3/2
1/2
-2
1/2
o
X3
xs
x3
1
- 1/2
1/2
3
1
1/2
3
Zj- Cj
).
1
o
o o
o o
Recorrido de
Solución óptima.
Valor óptimo
).
x•().)
(2,0,0,4)
z* ().)
-oo < >. ~ -1/2
- 1 /2~).~4
(~,~,o , o)
4<).<oo
(0,3, 1,0)
Se tiene a continuación la gráfica de la función z* (>.),que sirve de ayuda para
la evolución del valor óptimo de la función objetivo como función de
>.. Observemos que z* (>.) es lineal a trozos, continua y convexa. Observemos,
además, que tiene tres recorridos no triviales 1.
~emprender
Cj
X2
que proporciona el recorrido de optimalidad >. E (-oo, -1/2].
Queda así analizado todo el recorrido de >. E lR. Los resultados se resumen
en la tabla
o
o
1
6
1
El número mh-imo de recorridos no triviales es 2n, siendo n el número de variables de
decisión
,,
148
CAP!TULO 3. DUALIDAD Y ANAL!SIS DE SENSffilLIDAD
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
z• (.X)
Cj
3
2
CB
VB
X¡
X2
3
2
X¡
1
o 1
o o
X2
Z j - Cj
-1/2
e;
3
2
VB ·
Xz
Zj-
3
2
o
o
X¡
X2
X3
X4
1
X¡
Cj
o
o 1
o o
XB
2/3 -1/3 2/3
- 1/3 2/3 8/3
4/3
1/3 22/3
Para hacer el análisis paramétrico, ponemos el problema parametrizado en
formato estándar
max z = 3x 1 + 2x2 + Ox3 + Ox4
s.a
+ X2 + X3 = 4 + A
x1 + 2x2 + X4 = 6 + O>.
X¡, X2, X3, X4 2: 0
- 1/3 ) ( 1 )
-1/3 2/3
o
=(
2/3 )
-1/3
con B - 1 matriz inversa de la base óptima, que podemos leer directamente en la
tabla final bajo las variables básicas iniciales x3 , x4 . El valor del objetivo dependiente de >. es
zo =ct8 x o8 = (3,2) ( _2/3 ) = 4 .
113
3
Situamos estos valores en la parte derecha de la tabla óptima del símplex, teniendo
la tabla ampliada
1.
~+l~;:::o
<=::::?
>.;:::-1
~ - !.>.;:::o
<=::::?
.>.~8
e;
3
2
o o
CB
VB
X¡
X2
X3
3
X¡
1
2
o
-3
1
o
El vector de variaciones, coeficientes del parámetro en los términos de la derecha,
es b 0 = (1, O) , y los valores de las variables básicas dependientes de >. en la tabla
final se obtienen haciendo
o _ B -l bO-_ ( 2/3
>.
XB
2/3 -1/3 2/3 2/3
- 1/3 2/3 8/3 -1/3
4/3
1/3 22/3 4/3
X4
que proporcionan el recorrido de optimalidad >. E [ -1 , 8] .
A continuación, sustituimos >. por los valores extremos finitos del recorrido
obtenido y aplicamos el método del símplex dual tomando como variable de salida
aquellas que pasen a tener valor nulo. Comenzamos sustituyendo el extremo
superior del recorrido obtenido. Haciendo >. = 8 en la columna de valores de las
variables básicas, vemos que la variable X2 pasa a ser degenerada. Aplicamos el
método del símplex dual a esa tabla tomando x2 como variable de salida de la
base, x3 es la variable de entrada (por aplicación de la regla de mayor razón p)
con pivote Y23 = - 1/3. Llevando a cabo la transformación de pivote se obtiene
la tabla
2X¡
X B-
o
X3
hnponemos a esta tabla las condiciones de factibilidad obteniendo las inecuaciones
4
b) Resolvemos el programa lineal para.>.= O. Poniéndolo en formato estándar de
maximización y aplicando el método del sírnplex, en dos iteraciones alcanzamos
la optimalidad siendo la tabla final
CB
o
o
149
X3
Zj - Cj
o
o
4
o
x4
XB
1
6
>.
o
- 2 -8 1
3 18 o
De nuevo, imponemos las condiciones de factibilidad, teniendo ahora una única
inecuacion ·
-8 + >. 2:
o
<=::::?
.>. 2: 8
que define el recorrido de optimalidad >. E [8, oo) .
Volvemos a la tabla anterior y sustituimos el valor extremo pendiente, >. = -1,
que convierte en degenerada la variable básica x 1, siendo ésta la variable de salida
en el método del símplex dual. La variable de entrada es X4 , por aplicación de la
- regla de máxima razón p, y el pivote Y1 4 = -1/3. Una transformación de pivote
nos da la tabla
3 2 o o
Cj
VB
X¡
>.
CB
X2
X3
X4
XB
o X4 -3 o - 2 1 -2 -2
2
2 1 1 o 4
1
X2
1 o 2 o 8 2
Zj- Cj
150
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
CAPITULO 3. DUALIDAD Y Al'IALISIS DE SENSrB!LlDAD
Cj
3
2
o
CB
VB
X¡
:¡;2
X3
3
X¡
1
A/2
- 2 - ..\/2
-2 + 3..\/2
1/2
-1/2
3/2
Imponiendo las condiciones de factibilidad, se tienen las inecuaciones
-2- 2), ~o
4 + ), ~ o
{::::::::::>
- 1
~ -4
), :::;
{::::::::::>
),
o
que proporcionan el recorrido de optimalidad ), E [- 4, -1]. Si ahora hacemos en
esta tabla .A= -4, la variable que pasa a degenerada es x2 , siendo ésta la variable
de salida en el método del símplex dual. Sin embargo, si intentamos determinar
la variable de entrada, vemos que no es posible ningún pivote y, por tanto, el
problema dual es no acotado y el primal infactible. Los resultados se resumen en
la tabla
Recorrido de
Solución óptima
A
x*(A)
-oo <A< -4
Infactible
(0,4 +A, o, - 2 - 2,\)
(~+¡A,~ - ~A, O, O}
(6,0,-8+A,0)
- 4 ~A:::; -1
- 1 ~A~ 8
8<A<oo
Valor óptimo
z"(),)
8+2A
~
3
+ :!),
3
18
X,¡
Zj- Cj
o
o
151
o
xs
X~
o
~.
L
!
-!
o
6
imponemos las condiciones de optimalidad y obtenemos la inecuación
-2+~),>1)
2 -
~
>.>:!.
- 3
que proporciona el recorrido de optimalidad .A E (4/3, oo )..
Si ahora realizamos en la última tabla 1\ = 4/3, el indicador de la variable
:~; 2 pasa a degenerado, y aplicamos el método del símplex primal para obtener
una nueva tabla. Como consideramos valores de ). :::; 4/3, la única razón posible
es 2/ (A/2} y el pivote es y 12 = >.j2. Realizando la transformación de pivote, se
obtiene
3
2
o o
Cj
La gráfica de z* (>.) se muestra en la figura
CB
VB
X¡
2
X2
2/A
o
z• (..\)
X4
Zj- Cj
X2
X3
1 1/A
1 +4/)..
-3 + 4/A
o
o
2/..\
?./)..
X~
XB
o
4/)..
6 + 8j,\
8f,\
1
o
Imponiendo las condiciones ele optimalidad, tenemos la inecuación
- 3+ ~ ~ o
,,,
.
•'·
•·
- 4 -1
o
o
3
2
VB
X¡
X2
X3
X3
2
..\
1
X4
1
-2
-2
Zj -
e;
-3
Recorrido de
'
A
A~O
o<;,~ 4/3
4/3 <A< oo
o o
Cj
X4
o
o< ,\ :::; ~
que proporciona el recorrido...\ E (0,4/3] para el que la tabla. anterior es óptima.
Resumimos las soluciones de este problema en la tabla
),
Observemos que la función z* (>.) es lineal a trozos, continua y cóncava.
e) La tabla inicial del símplex incluyendo el parámetro ), es (con x3 , x4 variables
de holgura)
es
,.
8
{:=:::}
XB
4
6
o 1
o o o
Observemos, en primer 1ugar, que para el indicador z2 - c2 = -2 < Oel vector
interior asociado es Y2 = (\ - 2). Por tanto, siempre que),:::; Oel problema será
no acotado. Estudiemos el recorrido ), E (0, oo) . Para ello, aplicamos el método
del símplex primal tomando x 1 como variable de entrada (z¡ - C¡ = - 3 < O) y X3
como variable de salida (por aplicación de la regla de mínima razón). La nueva
tabla es
Valor óptimo
Soiución óptima
x• (,\)
No acotado
(0,4/;., 0,6 + 8/ -\)
(2,0,0,4)
z•(..\)
8/A
6
o
9. Parametrización simultánea de un coste y un recurso. Dado el proble-
ma paramétt'ico
ma.x z =
s.a
3xt
+ (2 + >.) x2
2x 1 +x2
:::;
4 + >.
x 1 - 2x2 :::; 6
X¡ 1 X2
~
0
'1
152
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
a) Calcular los valores óptimos de las variables
z• (>.) para>. E IR.
b) Representar gráficamente
xi (>.) ,x2 (>.)
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
©RA·MA
y del objetivo
en los recursos, coeficientes del parámetro >. en los recursos, es b0 = (1, O), y los
valores de los recursos dependientes del parámetro en la tabla final son
xi (>.) y x2 (>.).
Solución
·a) Resolvemos el problema con >. = O. Ponemos el problema en formato estándar
de maximización obteniendo
El valor del objetivo dependiente de >. para el objetivo parametrizado es
0
max z
s.a
=
z
3x¡ + 2x2 + Ox3 + Ox4
X¡,X2,X3,X4
2:0
con X3, X.¡ variables de holgura. En dos iteraciones del método del símplex, se
obtiene la tabla. final
o o
Cj
3
2
CB
VB
X¡
X2
X3
2
X2
X4
2
5
1
1
1
2
2
Zj- Cj
o
o
1
XB
4
14
o
8
X4
o
Consideramos ahora el problema parametrizado en formato estándar
,...1
ma..x z
=
= C~XB = (1, 0) (
1~ ) = 4
y para. los recursos parametrizados
+ X2 + X3 = 4
X¡ - 2X2 + X4 = 6
2x¡
o
153
(3 +O>.) X¡ + (2 + >.) X2 + (O+ o>.) X3 + (O+ o>.) X4
c~x~ = (2, O) ( ~ )
=2
c~x~ = (1, O) ( ~ )
= l.
La tabla final ampliada queda
cj
o
Cj
3
1
2
c'1
CB
VB
X¡
X2
X3
X4
1
2
X2
X4
2
5
1
2
1
1
2
2
1
o
o o
Zj - Cj
S.a.
>.
+ X2 + X3 = 4 + A
x¡ - 2x2 + x4 = 6 + O>.
o o
o o
o
o
o
1
o
o
XB
4
14
8
4
>.
1
2
2'
1
2X¡
X¡,X2,X3,X4
Las condiciones de factibilidad dual para esta tabla son
r
2:0
El vector de variaciones de la función objetivo (coeficientes del parámetro>. en el
objetivo) es c0 = (0, 1, O, O), y los indicadores dependientes de>. en la tabla. final
son
1 + 2>. ~ o <===> " 2: 2 + >. 2: o <===> >. 2: - 2
Las de factibilidad primal
2: o <===> >. 2: -4
14+2>.2:0 <===> >.2:-7
4 + >.
l·
con zg - e~ = z2- e~ = Opor ser x2 y X3 variables básicas. Situamos estos valores
en la parte inferior de la tabla del símplex. Análogamente, el vector de variaciones
o
Conjuntamente, determinan el recorrido de optimalida.d >.E [-1/2, oo). La solución óptima, proporcionada por la tabla, es
x~
(>.) =O,
x2(>.)
= 4 + >..
151
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESU8LTOS
©RA·M,A
CAPITULO 3. DUALIDAD Y ANALIS IS DE SENSIBILIDAD
El valor óptimo del objetivo es
El valor óptimo del objetivo es
-:• (,\) = (e~+ Ac7;)
(XB +Á-'<~) =
z' (.A)
~) +-\(2,0) ( ~) + .,(1,0) ( 1~) +-\2 (l.Oj ( ~) =
= (2,0) (
Si hacemos ,\ = -1/2, el indicador de la variable x 1 se hace nulo. Por tanto, aplicamos el método delsímplex primal con x 1 variable de entrada. Para determiuar
la variable de salida aplicamos la regla de mínima razón, para >.= -1/2
. { XB1
+ >.4 1' XB2 + AX~2 } =
Ytt
= 6 + ~>..
Si ahora hacemos >. = -4 en la última tabla, se hace nulo el valor de la variahlt>
básica x¡. Por tanto, aplicamos el método del símplex dual con x 1 variable df'
:;;U ida. Para determinar la. variable de entrada, calculamos la mayor de las razonPS
fl; == (z3 - Cj) !Yti para los valores Yt; <O, con j no básica. Sin embargo, Yti 2:: O
para todo j, por lo que no existe pivote dual.' Por tanto, el problema dual es no
acotado y el primal es infactible.
b) Las gráficas son
= >.2 + 6>. + 8.
ffilU
155
x¡ (.-\)
Y21
i
;¡
. {4+(-1/2) 14+2(-1/2)}- . {~ 13} -~
2
'
5
- mm 4' 5 - .f
-
- rum
Así, x2 es la variable de salida e y 11
de pivote, obtenemos
éj
=2 el pivote.
o
o
o
eJ
3
e~
CB
VB
X¡
X2
X3
X~
1
2
X¡
1
1/?.
-5/ 2
1/2
- l/2
-1/2
3/2
X4
zi- e1
>.
o
o
o
o
-1
- z-1
-4
XB
o
>.
2
1
4
1/'2
-1/2
o 6
o o
IDa.'< Z
3/2
QXt
xi (>.)
= 2 + ~>.,
x2(>.) =O.
Solución
Comenzamos expresando el problema en forma simétrica de maximiza.ción y determinamos su dual.
..\ ~8.
Este conjunto de desigualdades determinan el recorrido de optimalidad
[-4, -l/2J. La solución óptima es
+X2 ~ 10
Determinar para qué valores de (p, q) existe solttci6n, 'el problema es infactible o
no es acotado.
;\ 2:: - 4
{:::::}
2:: p
X¡,X22::0
-
4-l>.
>O
2 -
X¡ - X2
X¡+ X2
o
de las de factibilidad primal
2+~>.2::0
=
s. a
-l->.>0
*=* .A~ - ~
2
-
{::::::::}
2
10. Soluciones en un problema paramétrico. Sea el problema lineal
De nuevo, imponiendo a esta tabla las condiciones de factibilidad dual se tiene
y
_l
o
o
o
1
2
o o
-4
Realizando la transformaciÓn
>.
E
ma.x z =
s. a
Xt - X2
dual
- X¡ -X2 ~
qx¡
-p
+ x2 ~ 10
X¡, X2
2:: Ü
---+
minw
s.a
=
-py¡
+ l0y2
-y¡ + QY2 2:: 1
-y¡ +y2 2:: - 1
Yt.Y2 2:: O
156
PROGRAMACION LINEAL Y APLICAC IONES: EJERCICIOS RESUELTOS
-
Resolvemos el problema dual mediante el método de las dos fases. El problema
transformado al formato estándar, al que se han añadido variables de holgura
(y3,y4) y una variable artificial (y5 ), después de multiplicar por - 1 la segunda
restricción, toma la forma
max w' == py1 - 10y2 + Oy3 + Oy4 - Mys
s.a
- y¡+ QY2- Y3 + Ys == 1
Y!-
Yt,Y2,Y3,Y<t,Ys
•,
o
~O
Entramos en la fase 1, maximizando la función objetivo artificial wa = - y5 . La
tabla inicial es
·
,.
o o o o
e;
¡
es
-1
1
¡
'
o
VB
Yt
Ys
Y4
- 1 q -1
1 -1 o
1 -q 1
Zj- Cj
Yz
Y3
Y4
o
1
Ys
YB
1
1
1
=
x 1 - 10
X¡~
max z
s.a
o
o o
=
p-10
p
-10
Yt
Yz
Yz
Y4
- 1/q
(q- 1)/q
(10/q)- p
1
Zj - Cj
o
o
o
o
Y3
-1/q
-1/q
10/q
Y4
o
1
o
YB
1/q
(q + 1)/q
- 10/q
Observemos que como q >O es 10/q >O. Ahora distinguimos:
2.1 Si (10/q) - p > O ( <=> pq < 10), el dual tiene óptimo único, así que existe
solución para el primal.
-1
x1
X¡
= O ( <=> pq = 10) hay posibilidad de óptimos alte~nativos.
Para comprobarlo, tenemos en cuenta el vector interior asociado a la variable y1. Como --1/q < O, pero (q- 1)/q puede tomar cualquier valor,
consideramos los casos:
2.2 Si (10Jq) - p
l . Si q ~ O, termina la fase 1 con la tabla anterior. Como existe una variable
artificial en la base con valor positivo (y5 = 1), el problema dual es infactible y el
primal podrá ser no acotado o infactible. Para determinar cómo es el problema
primal, lo estudiamos con un caso particular. Sea x2 == 10, el problema toma la
forma
max z
s.a
Cj
VB
-1
A partir de esta tabla deducimos cómo será el problema primal (original) en
función de los valores de p y q. Distinguimos los siguientes casos:
·t
157
Termina la fase I con esta tabla, ya que los indicadores son no negativos. Como
el objetivo artificial es nulo, el problema es factible. Reconstruyendo la función
objetivo, teniendo en cuenta que la variable artificial Ys es no básica en la tabla
final, prescindiendo de su columna en la citadéJ: tabla y recalculando con el nuevo
objetivo la fila indicador y su valor, se tiene lá tabla inicial de la fase II
es
-10
+ Y4 = 1
Y2
CAPITULO 3. DUALIDAD Y ANA LISIS DE SENSIBfLIDAD
@RA-MA
2: max (O,p -10)
qx 1 ~O
X¡ 2: 0
2.2.1 Si (q- 1)/q > O (<=> q > 1), entonces existen óptimos alternativos
para el dual y el primal tendrá solución.
2.2.2 Si (q - 1)/q ~O (<=> q ~ 1), consideramos un caso particular para ver
cómo es el primal. Sea q = 1, en este caso es p = 10, y se comprueba
que el primal tiene un óptimo único. Análogamente, si q < l.
Por tanto, para valores de q tales que O < q ~ 1, el primal tiene
solución.
2.3 Si (10/q) - p <O (<=> pq > 10), de nuevo distinguimos dos casos:
Evidentemente, este problema es no acotado para cualquier p.
2. Si q > O, entonces puede continuar la fase l. Entra
yendo a Ys , siendo Y12 = q pivote. La nueva tabla es
o
o
VB
Yt
Y2
Y4
-1/q
(q - 1)/q
Cj
es
o
o
Zj - Cj
o
Y2
en la base sustitu-
o
o
-1
Y2
Y3
Y4
1
- 1/q
- 1/q
Ys
YB
lfq
1/q
1/q (q + 1)/q
1
o
o
o
o
o
1
o
2.3.1 Si (q - 1)/q ~ O (<=> q
primal es infactible
~
1), entonces el dual es no acotado y el
2.3. 2 Si (q - 1) / q > O (<==> q > 1), entonces es posible la mejora de la solución actual. Entra la variable y1 en la base y sale y4, si la nueva
tabla
!.58
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
Cj
p
CB
VB
Yt
- lO
Y2
o
p
Y1
1
Zj - Cj
-10
Yz
1
o
o o
o
Y3
- 1/(q- 1)
-1/(q - 1)
12.=E
0.1
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
o
Y4
1/(q- 1)
1
~
1/-1
b) Obtener el recorrido del coste de la variable
permanezca óptima.
YB
2/(q- 1)
(q + l)f(q - 1)
p(q+l)-20
Q-1
Como q > 1 y pq > 10, el indicador de Y4 es siempre positivo, luego sólo
habrá que estudiar el indicador de ya y, en particular, su numerador
10- p, ya que su denominador q - 1 es positivo. Distinguimos:
2.3.2.1 Sí 10 - p > O, existe óptimo único para el dual, así que el
primal tiene solución.
2.3.2.2 Si 10 - p = O, hay posibilidad de óptimos alternativos. Se
comprueba que el dual para p = 10 (y q > 1) tiene óptimo
único. Por tanto, el primal tiene solución.
2.3.2.3 Si 10 - p < O, el dual es no acotado y el primal es infactible.
En resumen,
x2
159
para que la base rmterto1·
e) ¿Cuánto puede disminuir el coste de la va1·iable x1 anteii de que la base deje
de ser óptima?
d) ¿Ouál es la solución ópt1:ma wando
C3
= 3?
e) Determinar el mínimo val01· de t E lR pam el que la base obtenida en a)
permanece óptima, si e se sustituye por e +tc0 , con c0 = (0,1, -1 , O, 0) .
f) ¿Cuál es la solución cuando b2
= 10?
g) ¿Cuánto p·uede variar el valor original de los recursos b1 y b2 pam que la
base de a) permanezca óptima?
h) Obtener los p·recios marginales de ambos 1·ec•ursos. Nos ofrecen 1 unidad de
b1 con coste 3 y 1 de b2 con coste 1, ¿merece la pena aceptarlo?
i) Determinar las soluciones óptimas para los valores t E lR, cuando el vector
b original se sustit·uye por b + t b 0 , con b 0 = ( 1, 1).
q ~ O, no acotado
pq ~ 10, existe solució~
q ~ 1, infactible
q >o
{
{ pq > 10 { > 1 p ~ 10, existe solución
q
p > 10, infactible
j) Determinar la solución óptima si se incorpora al problema original la restricción
o
11. Distintos supuestos de sensibilidad. Dado el problema lineal en formato
k) Si se incorpora una n·ueva variable no negativa con coeficiente 2 en la función objetivo, 1 en la primera restricción y 2 en la segunda, ¿afecta a la
optimalidad?
estándar de maximización
max z = 2::t¡ + 2x2 +x3 + Ox4 + Oxs
s.a
2xl + 2x2 + X3 + X4 = 6
X ¡ + X2 + X3 + X5 = 4
X¡,X2,X3,X4 1 Xs ~ 0
con x4, xs variables de holgura. Se pide:
a) Resolverlo. Determinar, si es posible, una solución que no tenga variables
de holgura en la base.
Solución
a) Aplicamos el método del símplex. En una iteración tenemos la tabla fina.!
Cj
2
2
1
o
o
CB
VB
X¡
X2
XJ
X4
xs
X¡
1
1
1/2
1/2.
1/2
o
XB
2
-1/2
1
1
o
xs
Zj - Cj
o o
o o
o
1
o
3
6
Esta tabla es óptima, pero con una variable de holgura en la base. Hay indicación
de óptimos alternativos, así que podemos introducir la variable X3 en la base y
sacar xs, con Y23 ::::; 1/2 como pivote. Con tal transformación se llega a
160
PROGRAMACION LINEAL Y APLICACLONES: EJERCLCIOS RESUELTOS
Cj
2
2
VB
1
es
X¡
X2
X3
2
1
X¡
1
1
o
o o 1
o o o
X3
Zj - Cj
©RA-~
o o
X4
xs
XS
1
-1
1
-1
2
2
6
2
o
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSLBILIDAD
Como hay un indicador negativo, la tabla ha dejado de ser óptima. Hay que
aplicar el método del símplex primal para alcanzar de nuevo la optimalidad. En
este caso, x 4 es la variable de entrada, x1 es la de salida e y14 = 1 el pivote. Con
tal transformación de pivote, se tiene la tabla
que proporciona una solución óptima sin variables de holgura en la base, dada
por
xr = 2, x2 = o, xj = 2
y
161
Cj
2
2
3
o o
es
VB
X¡
X2
X3
X4
xs
xs
1
1
1
1
1
1
1
-1
3
X4
X3
2
4
12
o
z· = 6.
b) Como x2 es no básica, un cambio en su coste c2 afecta, únicamente, a su
indicador. Este es
Zj - Cj
o
o
o o
1
1
3
que es óptima, siendo la solución
xi = O, x2 :::; O, x3 = 4
Le imponemos la condición de no negatividad. La optimalidad se mantiene siempre que c2 S 2.
e) En este caso, el análisis de sensibilidad se refiere al coeficiente de coste básico
e¡, que afecta a toda la fila indicador. Calculamos para un c1 genérico los nuevos
valores indicadores de las variables no básicas (los de las básicas permanecen
iguales a 0), siendo ahora el vector c8 = (c1, 1). Estos son
Z2-
.'•
1
C2
= cky2 -
Z4 - C4
= ekY4
Z5- C5
= ckYs -
C2
- C¡
C5
= (e¡, 1) (
1 0 ) t- 2 = C¡
r-
= (C¡ 1 1) ( 1 - 1 ) t - 0 =
= (e¡, 1) ( - 1 2
-
2
es
VB
3
X¡
X2
X3
2
X¡
1
1
3
x3
Zj- Cj
o
o o 1
o o o
o o
xs
xs
1"
-1
-1
-1
2
2
2
4
10
2
-1
1
o o
o o
X3
X4
xs
XB
1
-1
-1
2
2
2
es
2
VB
X¡
o
X2
X¡
1
1
- 1
1
X3
COa
o
o o 1
o o o
o -1 o
1
1
o 6
-2 -2
Imponemos a esta tabla la condición de optimalidad, que conduce al conjunto de
inecuaciones en t
-t~O,
1+t~O,
-2t~O
c:uya solución estE [-1, O], con valor mínimo t = -l.
f) Determinamos los nuevos valores de las variables básicas, sustituyendo el vector
de recursos original por el vector b = (6, 10). Así,
XB
X4
1
2
1
d) Para obtener la. solución con c3 = 3, como es un coste básico habrá que
recalcular los indicadores en la tabla final, así como el valor del objetivo. La
nueva tabla es
2
o
t
Imponiendo la condición de no negatividad y resolviendo el conjunto de inecuaciones en e, , se obtiene que c1 = 2. Por tanto, el coeficiente c1 no puede disminuir
ni aumentar nada sin que se pierda la. optimálidad.
Cj
e~
e;
Zj - Cj
0 = -e¡+ 2
z* = 12.
e) Formamos la tabla del método del símplex con el parámetro, añadiendo bajo
la tabla óptima (t =O) la fi la indicador y valor del objetivo debido al parámetro
2
C¡ -
y
= B -1 b = (
1 -1
6 ) -- ( -4
-1
2 ) ( 10
14 )
Al tener x 8 un elemento negativo, se pierde la factibilidad primal. Aplicamos el
método del sírnplex dual hasta alcanzarla nuevamente. Sustituyendo los valores
obtenidos en la tabla óptima de a), así como el valor del objetivo, se obtiene la
tabla
16::!
PROCRA~IACION
LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Cj
2
2
l
es
\'B
X¡
X~
X3
1)
l.
X¡
1
XJ
1
l
o
o e i
o o o
::,- Cj
G
o
X4
X¡;
XB
1
-1·
2
ú
-4
-1
1
Vt = l(z.¡ - e~)+ ~~-~1 = 11 + 01 = 1
14
?JÍ = j(zs -cs)+csl = 10+01 =0
6
Coll1o (b 1 + 6b1,b-1 + 6b-.?) = (7.5) ~ S. portemos calcular ia gananóa de la
cJferta utilizando ios precios marginales ro11 .a expresión
o
l
o o
C;
2
2
VB
X¡
X2
X3
X&
-1
2
-1
o
2
i
X3
]
o o o
zi- e;
X4
xs
-1
l
1
1
•
6
6
y.
1
Z•
.. \
(
~()¡
2x¡ + 2x2 +X;,¡
X¡
• o x 3* = 6
'
\
(,b.b·2 )=(1,U)~ 11 .J=l.
Por otra parte, el coste de la oíert;;¡, es 1 x 3 + 1 '< 1 = 4. (}¡mn l < 4, no merBce
la pena la aceptación de los recursos tldicionales.
i} Corresponde a una para.metrización del vP.ctor de recW"sos <tue convierte a las
restricciones en la forma
XS
4
o
o
/\, *
l
~
._,z =(Yt·Yz)
que es óptima por ser primal factible y dual factible. La solución óptima es
X¡= Xz =
16;1
i..os precios marginales de ambo:l recurso¡; son, respectivamente,
Aplicando el método del símplex dual. con x 1 variable de salida, x5 variable d1'
entrada e Yts = -1 pivote, se llega a la tabla
es
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
@RA-MA
= 6.
g) Hacemos análisis de sensibilidad discreto sobre el primer recurso. Consideremos el vector de recursos genérico b = (b 1• -1) y calculamos
::;
ti+ t
+ X2 + :1:3 ::; 4 + t
Añadimos una columna a la dt:recha de la tabla óptima (t ==O) que corresponde
a la parametrizadón del vector de constantes del problema. Está formada por el
vector
o = B-ibO = ( 1 -1 ) 1 ') = (' 0 .,
XB
- Í
2
1
l j
l'
\
x s = B -tb = (
,•
1
-1
- 1 ) ( b¡ ) = ( bt- 4 ) .
2
-b¡ + 8
4
t o -Zo - CBXB
Imponiendo la condición de factibilidad primal, es decir,
- b¡
+8 ;::: o
obtenemos el recorrido de optimalidad b1 E [4, 8] . Análogamente, se obtiene el
recorrido bz E [3, 6] .
h) Comenzamos realizando el análisis de sensibilidad discreto simultáneo sobre
los recursos. Tenemos que
-1 ) ( b¡ )
2
bz
-
(
b¡ -
- b¡
t'2 ' 1) ( o
1 ) -- 1.
Tenemos, entonces, la tabla ampliada
1
b¡ - 4 ;::: o,
y
b-.2
+ 2bz
')
De la condición de factibilidad primal, tenemos la región de optimalidad
o o
Cj
2
2
1
ca
VB
Xt
l2
X3
X4
:es
XS
2
1
X¡
1
!
1)
1
-1
1
-1·
2
X3
Zj- Cj
o o 1
o o o
.,
n
o
6
'·
L.
t
o
1
1
Imponiendo las condiciones de factibilidad primal a. la tabla anterior, t.enem0s el
conjunto de inecuaciones en t
2 + Ot 2:: O,
2 + t ;::: O
que dan el intervalo de optimalidad tE [-2,oo).
Sustituyendo el extremo t = -2 en la tabla, la variable X3 pasa a degenerada.
Aplicando el símple.x dual con X3 variable de salida, X4 variable de entrada e
y24 = -1 elemento pivote. La transformación de pivote da la tabla
154
PROGRAMACION LlNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
es
2
o
Cj
2
2
1
VB
X¡
X2
XJ
X¡
1
1
1
-1
1
o o
o o
X4
Z j - Cj
CAPITULO 3. DUALIDAD Y ANALIS!S DE SENSiBILIDAD
@RA-MA
Cj
2
2
1
o
o
VB
o
es
X¡
X2
X3
X4
xs
xa
2
1
X¡
1
1
1
-1
-1
o o
xs
XB
1
4
1
-2
o
2
-2
8
X4
o
t
1
-1
2
o
X3
X6
Zj-
Imponiendo a esta tabla las condiciones de factibilidad primal, tenemos
4 +t
~o,
-2- t
~o
que dan el intervalo de optimalidad tE (-4, - 2].
Sustituimos en esta última tabla el valor extremo t = -4, y la variable que
pasa a degenerada es x 1. Al intentar aplicar el método del símplex dual vemos
que no existe pivote, por lo que el problema primal es infactible. ·En resumen, la
solución óptima es
Recorrido de
Solución óptima
Valor óptimo
· z•(t)
x•(t)
-oo < t < -4
Infactible
- 4 ~ t ~ -2 {4+t,0,0,0, - 2-t)
-2<t<oo
{2, O, 2 + t , O, O)
t
8 + 2t
6+t
j) Comprobarnos que la solución óptima no verifica la nueva restricción. Añadimos una variable de holgura (xs) teniendo la restricción
X¡
·.~
Cj
2
2
1
es
VB
X¡
X2
XJ
2
1
X¡
1
1
o
1
1
1
o
Zj- Cj
1¡
J
o o 1
o o o o
o o o l
2
-1"
o
o
1
o o
XB
2
2
-1
6
Aplicando el método del símplex dual se alcanza la factibilidad y, por tanto, la
optimalidad en una iteración. La solución óptima es
xi =3, x2 = x3 =O
z* = 6.
con
k) Añadiendo la nueva variable, que denominamos x4 , el programa se convierte
en
ma.x z = 2xr + 2x2 + X3 + 2x4
s.a
2xr + 2x2 + X3 +X4 ~ 6
X¡ + X2 + X3 + 2X4 ~ 4
X¡ , X2,X3 1 X4 ~
0
Construimos la cuarta restricción dual
y comprobamos que la solución dual óptima y* = (1 , O) (leída en la tabla final
de a) no la verifica. Ampliarnos la tabla final con la columna de elementos
+ X2 + X3 + X6 = 3.
La introducimos como una nueva fila en la tabla óptima de a), teniendo
X3
X6
Cj
o
165
o o
1
o o o
y 4 = B -1 a¡=
o o o
X4
Xs
1
-1
-1
2
X6
o
o
o o 1
o o
1
2
3
6
Mediante operaciones de fila tenemos que hacer cero los elementos de los vectores
columna de las variables básicas correspondientes a esta nueva fila excepto el uno
de la columna de la variable xs. Multiplicando por -1 la primera y segunda filas
y sumándoselas a la tercera, se llega a la tabla
-11 -21 ) ( 12 ) = ( -1
3 )
Z4-C4=(2, 1)(
XB
2
(
~1 ) -2=-:-1
teniendo la tabla, ahora, con xs, xs variables de holgura,
Cj
2
2
1
2
o o
es
VB
X¡
X2
X3
X4
2
X¡
1
1
xs
1
1
X3
Zj - Cj
o
o o 1
o o o
-1
3"
-1
-1
1
xs
XB
-1
2
2
6
2
o
Como el indicador de x 4 es negativo, aplicamos el método del símplex primal
con x4 variable de entrada, X3 variable de salida e Y24 = 3 pivote. Realizando la
transformación de pivote, se obtiene la tabla
1
!ll6
©RA-M_A
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CB
Cj
2
2
1
2
o
o
VB
;z:¡
X2
X3
X.1
Xs
X5
'XB
l
l
l/3
1/3
l
2/3
-1/3
- l/3
2/3
2/3
8/3
2/3
20/3
2
~:¡
2
:¡;4
Zj - Cj
o o
o o
1/3
o
o
2/3
CAPITULO 3. DUALrDAD Y ANALISIS DE SENSIBrLlDAD
Solución
a) Las variables de decisión son
x 1 = número de turborreactores a comprar
x 2 = número de aviones a hélice a comprar
x3 = número de helicópteros a comprar
que es óptima. La solución es
Las restricciones se deben a:
con z•
= 20
- Número de pilotos disponibles
3
o
12. Planificación y gestión de una flotilla. Se ha concedido permiso a 'Jn
nuevo tour operador para r-ealiza1· v11elos entre lVIadn.d y las islas Baleares e interinsulares. Para ello, debe compra·r twrbon·eactores con Los que cubrir Los uuelos
entre Madrid y ias islas, así como aviones de hélice yjo helicópteros con los que
.1Prtrú· los vuelos interinsulares. El p·resupu.esto de compra es de 2800 millones
de ptas. Las caracte1'ísticas de los aparatos que puede comprar el operador se
1·es·umen en la tabla
Tipo de
Aparato
Turborrea.
A. hélice
Helicóp.
Coste/u
(xl06 ptas)
300
lOO
~u
Mant.ju
(ptas/día)
Pilo t.
120000
60000
30000
2
1
1
Tripulación
Copii. Azaf.
2
1
l
Capacidad
(pasjmes)
- Número de copilotos que hay que contratar
- Número de azafatas disponibles
- Límite presupuestario de compra
4000
300
lOO
Se pueden contratar ha.sta 10 pilotos y 16 rtzafatas. Se desea emplear al menos a 3
copilotos. El tráfico entre Baleare.s y Madr-id se estima en8000 pasjmes (pasajeros
por mes) y el interinsular en 500 pasjmes. El pe1'mi.so concedido requiere q-u.e
el n:ú.mero mínimo de aparatos sea 15. La compa·ñ'Ía desea operar con coste de
mantenimiento mínimo.
a) Formular un modelo de progmmación lineal que propor·cione el plan óptimo
de compra.
- Pasajeros de larga distancia que se deben transportar
4000x 1 ~ 8000
- Pasajeros de corta distancia que se deben transportar
300x2 + lOOx3 2:: 500
Aparatos de los que debe disponer el operador
h) Resol'Uerlo e interpretar la solución.
e) S·i existe la posibilidad de contratar 10 pilotos más, ¿cuál será la n·ueva
solución?
d) Un cambio en el contrato r·educe el número m·ínimo de aparatos a 14, ¿cuál
es el efecto económico de esta modificación?
- Restricciones de no negatividad
167
168
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Las variables de decisión son enteras, pero por el momento lo ignoramos, ya. que
los métodos de solución correspondientes se describen en el Capítulo 6.
El objetivo representa. el coste de mantenimiento
que es de minimización.
Resumiendo, simplificando las restricciones, el problema se puede escribir en
la forma equivalente
=
s.a
+ X2 + X3 ~ lO
X2 ~
3
2x¡ + x2
6x1
X¡
~ 16
+ 2X2 + X3 ~ 56
X¡~ 2
3x2 + X3
~
b) Resolvemos el problema dual, ya que tiene un número menor de restricciones. Expresando el programa anterior en forma simétrica de minimización, el
programa dual, que está en forma simétrica de maximización, es
=
- lOy¡ + 3y2 - l6y3 - 56y4
+ 2ys + 5y6 + 15y¡
s. a
- 2y¡- 2y3- 6y4 + y5 + Y1 ~ 12
-y¡ + Y2 - Y3 - 2y4 + 3ys + Y1 ~ 6
-y¡ - Y4 + Ys +Y7 ~ 3
YL.Y2.Y3.Y4.Y5 ,Y6 .Y7 ~o
CB
o
o
o
- 10
VB
Y1
Ya
-2
-1
-1
10
Y9
Y10
Zj - Cj
3
-16
-56
Y2
Y3
Y4
1
-2
-1
-3
16
-6
-2
-1
56
o
o
o
2
Ys
1
o
o
-2
3
Y1
Y2
Y3
Y4
Ys
Y9
-1
1
-2
-1
Y1
-1
-5
-3
16
-5
-1
-1
41
Zj - Cj
o
o
o
-16 - 56
o
2
Ys
1
o
o
5
15
o o o
Ys
Y1
Ya
1
-1
2
1
- 2 10
Y9
o
o
o o 1
1 o o
o o o
YlO
YB
-1
9
-1
1
15
3
3
45
5
15
Ya Y9 YlO YB
1
3
1'
-5
- 15
o o 12
o 1 o 6
o o 1 3
o o o o
Cj
-20
VB
Y1
Ys
Y9
- 1
o
1.
Y1
-1
5
-3
zi- e;
= 5.
3
Y2
o
o
- 16 -56
Y3
Y4
-2
-1
-5
-1
-1
41
o
16
2
5
15
o o o
Ys Y1 Ys yg YlO YB
- 1 o 1 o -1 9
o 2 u o 1 -1 3
o 1 1 o o 1 3
- 2 JO o o o 15 45
Y5
1
En dos iteraciones se llega a la tabla final
Cj
-20
3
CB
VB
y¡
Y2
Y3
2
Ys
-1
3
Y2
Y1
1
-2
-1
o o o
1
1
C¡ = (0,0, 15){- 1, 0 - l )t - (- 20)
El resto de indicadores no queda afectado, ya que se ha cambiado el valor de un
coeficiente de coste no básico. La nueva tabla es
15
Y1
1
Z[ -
o
o
Y6
o
Los problemas primal y dual se reformulan convenientemente, y el proceso de
solución se puede comenzar en la última. tabla poniendo coeficient~ igual a -20
a la variable y1 , que tendrá un nuevo indicador
CB
Ponemos este programa lineal en formato estándar de maximización añadiendc
una variable de holgura a cada restricción (y8 , y9 , y10 ). La tabla inicial del métodc
del símplex es
Cj
15
- 10
5
+ X2 + X3 ~ 15
X¡ 1 X2,X3 ~ Ü
max C'
o
o
Cj
VB
Observemos que existe un indicador negativo, z 1 - c1 = -5, con vector interior
y 1 = (-1 , O, -1) no positivo. El problema dual es no acotado y el primal es
infactible. Por tanto, no existe ningún programa de compra de aparatos que
verifique las restricciones.
e) Si se dispone de 10 pilotos más, el número total de pilotos aumentará a 20. La
primera restricción pasa a ser
12x¡ + 6x2 + 3x3
2Xt
169
Realizando la transformación de pivote se tiene la tabla
CB
e= 120000x¡ + 60000x2 + 30000x3
mine
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
15
Zj- Cj
o
-1
3
o
- 16 -56
o o
o 9
Y4
-5
-1
-1
28
2
Ys
5
Y6
1
- 1
o
o
o
2
1
14
15
o o o
Y1
Ys
Y9
o 1 o
o o 1
1 o o
o 2 3
YIO
YB
-1
-1
1
10
9
3
3
72
170
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
La solución óptima del problema. primal se obtiene de esta tabla final a partir
de los indicadores de las variables duales ys, yg, y¡ o, que eran las variables básicas
iuiciales. Se tiene así
x[ = l(zs -es) + csl = 12 + 01 = 2
x2 = l(zg - eg) + egl = 13 + Ol = 3
x3 = l(zlO - c10) + Ctol = 110 + 01 = 10
con e. = e'• = 72. Así pues, deberán comprarse 2 turborreactores, 3 aviones a
hélice y 10 helicópteros, siendo el coste de mantenimiento diario 720000 ptas.
d) Si el número mínimo de aparatos se reduce a 14 unidades (coeficiente de la
variable Y1 igual a 14), se mantiene la optimalidad de la solución dual, ya que
la nueva fi la indicador permanece no negativa, pues será 4, O, 9, 29, O, 13, O,
2, 3, 9. Sin embargo, el indicador de la variable y 1o pasa a valer 9, así que la
compra de helicópteros se reduce en una unidad. El coste de mantenimiento será
de e = 690000 ptas, que supone una reducción de 30000 ptas respecto de la
solución obtenida para un mínimo de 15 aparatos. Alternativamente, la variable
dual asociada a la restricción correspondiente es 'Y7, cuyo valor óptimo es y7 3.
Para una reducción del número de helicópteros en una unidad, el valor óptimo
del objetivo e• = 720000 se reducirá en b;e• = 1· 30000 = 30000 ptas, que queda
en 690000 ptas.
O
x2
X3
= unidades fabricadas del producto B
= unidades fabricadas del producto C
De la tabla tecnológica, que muestra limitaciones de tiempo de fabricación y
de disponibilidad de algodón. y teniendo en cuenta los beneficios por unidad
fabricada, modelizamos el programa liueal
max z
s.a
,,r
e
Disponib.
Tiempo
1
2
2
12
Algodón Beneficio/u
2
4
3
J
2
3
3
máximo
Se desea encontrar el precio marginal del algodón y el valor del objetivo beneficio
z como función de f. Representar gráficamente ambas funciones.
Solución
Introducimos una variable de decisión por cada producto definiendo
x¡ = unidades fabricadas del producto A
+ 3x2 + 3x3
2x¡
Añadimos variables de holgura (x 4 , x5 ) y aplicamos el método del símplex. La
tabla inicial es
es
o
o
o o
Cj
2
3
3
VB
X¡
X2
X3
X4
X4
1
2"
2
1
- Cj
xs
o
XB
12
1
f
o
2
4
3
-2 - 3 -3
X5
z1
o o o
Hay posibilidad de mejora y tomamos x2 como variable de entrada (z2 - c2 = -3).
Como variable de salida tomamos arbitrariamente x4 • siendo y 12 = 2 el pivote.
La transformación de pivote da la tabla
13. Un precio marginal variable. Una compañía textil produce en uno de
sus telares tres productos denominados A, B y e, siendo los recursos el tiempo
de máquina y la cantidad de algodón t~tilizado en su fabricación. La siguiente
tabla resume el proceso de producción (por lote producido), no conociéndose la
disponibilidad (denotada por f) de algodón
Producto
A
B
=
x¡ + 2x2 + 2x3 ::;: 12
2x¡ + 4x2 + 3x3::;: f
X1 1 X2 1 X3 ~ 0
=
1
171
o o
CJ
2
3
3
es
VB
X¡
X2
X3
X4
3
X2
1/2"
1
1
-1
1/ 2
-2
3/2
o
xs
o
z1 - c1
- 1/ 2
o
o o
Xs
Xs
1
J -2-4
o
o
6
18
nueva transformación de pivote en el que x 1 es la· variable de entrada y x2
la de s.alida, conduce a la tabla final
Una
o o
Cj
2
3
3
es
VB
X¡
X2
X3
X<!
xs
X¡
1
2
2
-1 ·
1
1
o
Xs
2
-2
2
1
J -2-l
o
Xs
Z;- Cj
o o
o 1
o
12
24.
Considerando esta tabla como una del símplex dual, será óptima cuando sea
primal factible, es decir, si
1 - 24 ~ o<==? 1 ~ 2-t.
172
PROGRAMAClON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Si ¡ = 24 en la última tabla 1 la solución se convierte en degenerada (xs =O).
Aplicamos el método del s(mplex dual1 tomando como variable de salida de la
base x5 y como variable de entrada x3 la de mayor razón con empates resueltos
con la regla de menor índice (p3 = -1 1 p.¡ = -1). La nueva tabla es
Cj
2
3
3
es
VB
X¡
X2
X3
2
3
X¡
1
2
o
o
o o 1
o 1 o
xa
z;- e;
X4
X¡;
XB
2
-1
1
2/ - 36
24-1
1
2j - 36 ;?: 01
o
24- f;?: 01
3
Cj
2
3
3
o
o
VB
X¡
X2
X3
X4
X¡;
XB
X4
- 1/3
2/3
- 2/3
4/3
1
1
- 2/3
1/3
1
12- (2/3)!
(1/3)!
X3
Zj - Cj
o
o
1 o
o o
f
Es óptima si f ;?: Oy si
JI
Además, el precio sombra del algodón, que es el valor óptimo
variable dual de decisión, se obtiene de la expresión
Y2 = l(zs- es)+ csl = zs
ya que zs -es ;?: Oen todas las tablas y c5 = O.
Y2 de la segunda
Resumiendo, el precio sombra Y2 y valor óptimo z* del objetivo como función
de
f se muestran en la tabla
Recorrido
o~ 1 ~ 18
18 ~ 1 ~ 24
1 > 24
Y2U)
z•(J)
1
f
1
1
o
24
24
f
18 24
f
Observemos que el aumento en una unidad del recurso algodón produce un aumento de una unidad en el beneficio, pero sólo hasta que la disponibilidad f es
igual a 24.
·
O
es decir1 si f E [18 1 24j. Haciendo f = 18, pasa a degenerada la variable x 1
que será la variable de salida. La variable x4 es de entrada. Una iteración más
conduce a la tabla
es
z*
18 24
Esta tabla es óptima si
173
La representación gráfica de ambas funciones es
o
-3·
2
o
CAPITULO 3. DUAUDAD Y ANALIS!S DE SENSIBILIDAD
14. Programación de la pr oducción y precios sombra. Un empresario
pretende fabricar dos tipos diferentes de congeladores denominados A y B. Cada
uno de ellos debe pasar por tres operaciones antes de su comercialización: ensamblaje, pintado y control de calidad. Los congeladores requieren, respectivamente,
2.5 y 3 horas de ensamblaje, 3 y .6 )<g de esmalte para su pintado y 14 y 10 horas
de control de calidad. Los costes totales de fabricación por unidad son, respectivamente, 30 y 28, y los precios de venta 52 y 48, todos ellos en miles de pesetas.
El empresario dispone semanalmente de 4500 horas para ensamblaje, de 3400 kg
de esmalte y de 20000 horas para control de calidad. Los estudios de mercado
muestran que la demanda semanal de congel11dores no supera las 1700 unidades
y que, en particular, la de tipo A es de, al menos, 600 unidades. Se desea:
a) Formular un modelo de programación lineal que indique cuántos congeladores deben fabricarse de cada tipo para que el benefiéio sea máximo, teniendo
en cuenta el estudio de demanda.
b) Resolverlo mediante el método del símplex. Interpretar la solución óptima
incluyendo las variables de holg·ura (redondear la solución al valor entero
por defecto) .
e) Determinar los precios sombra de las horas de ensamblaje y control de calidad. Al fabricante le ofrecen disponer de 200 horas más para ensamblaje
con un coste adicional total de 750000 pesetas. ¿Debería aceptar la oferta?
174
PROGRAMAC!Ot\ LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Solución
a) Definimos las variables de decisión
ca
x¡ = número de congeladores tipo A, x2 = número de congeladores tipo B.
Las restricciones se deben a:
- Tiempo disponible para ensamblaje
2.5x¡
+ 3x2 ~ 4500
- Disponibilidad de esmalte
3x¡ + .6x2 ~ 3400
- Tiempo disponible para control de calidad
14x 1 + 10x2
~
20000
- Demanda de congeladores
X2 ~ 1700
X¡ 2: 600
X¡+
- No negatividad
X¡ 1 X2 2: 0
La función objetivo representa beneficio total (en miles de ptas)
..J
.1
·n....
•f
'
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
©RA-~
B = (52 - 30) X¡ + (48- 28) X2·
Queda el programa lineal
max B = 22x 1 + 20x2
s. a
2.5x¡ + 3x2 ~ 4500
3x¡ + .6x2 ~ 3400
14x¡ + 10x2 ~ 20000
X¡ + x2 ~ 1700
X ¡ 2: 600
X¡, X2 2: 0
b) Poniendo el problema en formato estándar de maximización añadiendo una
variable de holgura a cada restricción (x3 , x 4, xs, x5, -x 7) y una variable artificial
a la quinta restricción (xs), en cuatro iteraciones del método del símplex con
penalizaciones se llega a la tabla final
o
o
Cj
22
20
o
o
o
VB
o o -M
Xt
X2
X3
X4
x5
X6
1.271
- .588
.824
- .235
- .588
3.53
1
- .441
o
X4
X¡
X2
Xo
22
X¡
20
Zj- Cj
xM
o o
o o
o 1
o o
1
o
o o
o o
o
o
o
o
o
o
o
.176
-. 147
- .029
.176
.941
o
X¡
o o
o 1
o o
1
o
o o
o o
o o
xa
XB
-1
294.1
282.4
o
o
o
o
o
1
175
764.7
52.94
882.4
34705.88
o
La solución óptima es, redondeando al valor entero por defecto
xj = 882 congeladores tipo A
x2 = 764 congeladores tipo B
con beneficio óptimo
z• = 34684000 ptas.
Los valores de las variables de holgura en la solución óptima anterior son
x3 = 3 horas de tiempo de ensamblaje que sobran
x4 = 295.6 kg de esmalte que no se consumen, del total de 3400 kg
x5 = 12 horas de control de calidad que sobran
x6 = 54 cong. que se dejan de fabricar respecto del límite 1700
x~ = 282 cong. tipo A que se fabrican por encima del límite 600
e) El precio sombra del tiempo de ensamblaje es el valor óptimo de la primera
variable dual de decisión, cuyo valor obtenemos de la tabla final:
YÍ = l(z3- c3) + c3 l = 13.53 + Ol
= 3.53
Así, por cada hora que aumente el recurso tiempo de ensamblaje, dentro del
intervalo (4268.5, 4725) obtenido con análisis de sensibilidad, el valor óptimo actual del objetivo aumentará en 3530 ptas. Por tanto, si hay un incremento en
la disponibilidad de 200 horas para ensamblaje, que están dentro del tiempo de
variación para el que se mantiene la optimalidad de la base actual, se tiene un
incremento en el beneficio en ptas de
t:.z* = 200 x 3530 = 706000.
Como esta cantidad es inferior al coste adicional de 750000 ptas, el empresario
no debería aceptar la oferta.
O
15. P recios sombra y análisis de sensibilidad en planificación de la
producción. En un laboratorio se fabrican cuatro productos P¡, i = 1, 2,3, 4.
!.!17~6___!:P~R~O~G~R~A~!!!.1~AC~Ic!:::O!!N~L:!!.IN:..::E:!.!A~L..:.Y....!A!.!P~L~IC~A~C~IO!.!.N:'ES~:...!
..:: ·- E:!!!J:.!::E~RC~I~C~IO~S:..!RES~U!!._!E~U!frl'~O~S_-...\!:@~RA~-MA
que consumen un día por unidad en su proceso completo de producción, au~que se
pueden producir varias unidades simultáneamente. El espacio (m2) en el almacén
y la mano de obra (número de trabajadores) disponibles limitan la producción. La
tabla contiene los datos relevantes del proceso de producción así como los cost
de fabricación y precios de venta (en miles de ptas)
'
es
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSlBlLIDAD
171
La función objetivo B representa beneficio neto. Teniendo en cuenta la diferencia
entre los precios de venta y los costes de fabricación, toma la forma
B = (30- 20}x 1 +(50 - 30}x2 + (85 - 45)x3 + (90- S8)x4.
Queda, por tanto, el programa lineal
Area (m2 /u)
10 30 80
Trabajadores/u 2 1 1
Coste/u
20 30 45
Precio venta/u 30 50 85
40
3
58
90
Disponibilidad
900
80
max B
s.a
=
lOx 1 + 30x2 + 80x3 + 40x4
2xt + x2 + X3 + 3x4 5 80
X¡ 1 X2 1 X3,X4 ~ 0
Se pide:
a) Encontrm· el plan de prod·ucción de beneficio máximo.
b) Cierta materia prima empleada en los productos P1 y p3 es inestable en
su !recio. En la actualidad cuesta 100000 ptas por t, utilizándose .1 t por
umdad de producto P1 fabricado y .2 t por unidad de producto P3 . Si el coste
de la mate~a prima se incluye en los costes de la función objetivo, ¿cuál
es el recpmdo del precio de la materia para que la solución obtenida en a)
se mantenga óptima?
10x 1 + 20x2 + 40x3 + 32x4
~
900
Poniéndolo en formato estándar (con x5 , X6 variables de holgura) Y aplicando el
método del símplex, en tres iteraciones se obtiene la tabla final
Cj
10
20
40
32
o
o
es
VB
X¡
X2
X3
X4
X¡;
X6
XB
32
X4
3
1
.04
- .06
.68
-.2
20
10
i40
10
o
X¡
1
1
-1
Z¡- Cj
o
2
-4
16
o
o
.8
1.6
que proporciona la solución óptima
e) Interpretar los valo1·es de los precios sombra obtenidos en a).
d) ¿ Cuá~ es el ran~o d~ los recursos del progmma construido para el que se
mant'lene la opttmaltdad de tales valores?
e) La firma podría alquilar 150 m2 más de superficie de almacén con coste de
70000 ptas (por día). ¿Debería alquilar ese espacio? Si es así, ¿cuál es el
nuevo plan de producción?
b) En este caso, habrá que introducir un parámetro ten la función objetivo, que
representa la variación en el precio unitario de esta materia prima. Determinamos
los coeficientes en el objetivo. Observemos que actualmente el coste es de 100000
ptas por t. El coste de P1 es 20000 ptas y está incluido en el coste de la materia
prima. Debemos descontado, y tendremos que para Pt ; en miles de ptas,
30- 20 = 30- 10- (J)
Solución
a) Introducimos las variables de decisión
X¡
xt = 10, x2 = O, xj = O, x4 = 20 con B* = 740000.
= producción de P¡,
i == 1, 2, 3, 4
Las restricciones son
lOx¡ + 30x2 + 80x3 + 40x4 5 900 (espacio disponible)
2x¡ + X2 + X3 + 3x4 5 80
(n° de trabajadores)
X
100 = 20- (.1)
X
100
Así, el coeficiente de P1 parametrizado será 20 - .lt. Análogamente para P2 se
tendrá 60- .2t. El objetivo parametrizado es
ma.x B = (20- .lt)x1 + 20x2 + (60- .2t)x3 + 32x4·
La tabla inicial del programa lineal parametrizado, obtenida de la tabla óptima
con t =O, es
'f
¡
7..:::.8__:.P~R:!::Oc.:::G_,_,_R!..!;
AM=AC:::..:Ic::cO.:..:.N-=Lc:..:IN-'-=E:.:..:AL=-..:Y....:.A..::.P-=L:.:..:
IC::..:.A:..::Cc:..:IO::..:N.:..:E::::S~:E::::Jc:E.:..:RC.=.:I=-=O.:..:IO:..::S....:.R.=E:.=.S.=.cUE=.:r;=-=~-=0-=-S_
.!..!¡
____,.©"'-'RA=..!,!;
-.MA
cj
-.1
o
Cj
20
20
-.2
60
X¡
X2
X3
X4
Xs
X6
XB
.333
.333
6.67
-.099
1
.333
1.333
14.67
-.199
.013
-.006
.667
-.002
-.067
.533
6.667
- .039
6.667
36.667
1113.33
5.0001
e~
es
VB
-.2
-.1
60
20
X3
o
1
X¡
o
o
Zj - Cj
t
o
o
o
32
o
o
o
o
o
Imponemos a esta tabla las condiciones de optimalidad, teni.endo así el conjunto
de inecuaciones
6.67- .099t ~ o, 14.67- .199t
~o,
.667 - .002t ~o,
Y2 =
l(zs -
c5)
B- tb = ( .04
-.06
• 1
{bE JR.2
xa= (
= ( .04
.8
b2
=(
.04b¡ - .2b? )
- .06b¡ + .802
~O
: .04b, - .2b2 ~ O, -.06b1 +. 8~ ~ O, b,, ~ ~O} .
~~) =B- 1 ( b,+~6ht) =
-.06
-.2 ) ( 1050 ) = ( 26 )
.8
80
1
es decir,
xt = 1, x2 = O, x3 = O, x4 = 26
y el beneficio
103 :::: 680 ptas
+ csl x 10 = j1.6 + Ol x 103 = 1600 ptas
-.2 ) ( b1 )
= 680 x 150 = 102000 ptas.
Como el coste del alquiler es 70000 ptas, inferior al beneficio económico asociado,
resulta rentable el alquiler de ese nuevo espacio. La nueva solución será
X
tenemos un sistema de inecuaciones lineales en b1 y b2 que determina el recorrido
buscado
S=
6z = YÍ x l:!.bt
B*
3
Así, Yi = 680 ptas es el precio sombra o marginal del recurso espacio disponible
que corresponde a la primera restricción. Por cada m2 que varíe la disponibilidad
actual (900 m2) , el valor óptimo del objetivo (740000 ptas) cambia en 680 ptas.
Análoga interpretación se tiene para el precio sombra del número de trabajadores.
Estos precios son válidos dentro de Jos recorridos de optimalidad de los recursos
para la base asociada con la tabla final en a). El lector puede comprobar que son
b1 E [400, 1066.6] y ~ E [67.5, 180].
d) Para determinar el recorrido conjunto de las constantes para las que se mantienen los precios sombra, basta considerar la base óptima B , cuya inversa podemos
leer directamente en la tabla óptima bajo las variables básicas iniciales. Imponiendo la condición de no negatividad a
179
e) Si aumentamos el espacio disponible en l:!.b 1 = 150 m2 , la disponibilidad total
del recw·so espacio pasa a ser b1 +l:!.b1 = 900+ 150 = 1050 m2. Como el valor 1050
está dentro del recorrido [400, 1066.6] para el que se mantiene la optimalidad de
Ja base actual, podemos ver el impacto económico sobre el objetivo en la forma
6.667- .039t ~o
La solución de este conjunto de inecuaciones en t proporciona el recorrido del
precio unitario de la materia prima para el que se mantiene la optimalidad. Tal
recorrido, en miles de ptas, es t E [0, 67370] . Por tanto, siempre que t fluctúe
entre Oy 67370 ptas, se mantiene la optiroalidad de la solución anterior, siendo
el valor óptimo del objetivo B•(t) =1113.33 - 5.0001t, en miles de ptas.
e) La solución óptima del dual se tiene de la tabla óptima del apartado a), teniendo en cuenta que el objetivo B está en miles de ptas. De aquí que
Yi = j(zs - Cs) + Csj X 103 = j.68 + Oj
CAP ITULO 3. DUALIDAD Y ANALISIS DE SENS1BlLrDAD
26
= (32, 10) (
1
)
= 842.
Finalmente, debemos restar el coste, obteniendo como beneficio neto final la
cantidad resultante de 842000 - 70000 = 772000 ptas.
O
16. Impresión de libros de una editorial. Una editorial dispone para impresión de 4500 horas y para encuadernación de 4000 horas. La tabla que sigue da los
tiempos, en horas, empleados en ambas tareas para cuatro libros Li, i = 1, 2, 3, 4,
así como sus beneficios, en miles de ptas.
Libro
Impresi6n
Encuademaci6n
Beneficio/u
L¡
L'!
L3
L4
.1
.3
.8
.4
.2
.1
.1
.3
1
1
4
3
Se pide:
a) Formular un modelo de programación lineal que proporcione el máximo beneficio y resolverlo.
180
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 3. DUALIDAD Y ANA LISIS DE SENSIBILIDAD
©RA-~
b) Supongamos que en el departamento comercial de la editorial no encuentran
la solución razonable y creen que, a lo sumo, se podrán vender 5000 copias
de/libro L4 a ese pr·ecio. Para vender 10000, su p1·ecio deberá bajar en 2000
ptas por copia. ¿Qué consecuencias tiene esta hipótesis? Obtener la mejor
solución.
e) Al director de la editorial le gustaría imprimir el libro L 2. Desearía saber
las consecuencias sobre el beneficio, así como la producción de los libros LI
y L4 si se pmducen 2000 copias de L2.
d} Si, además, en e) se propone que el libro L2 lo encuaderne otra editorial
que carga 500 ptas más por copia, ¿merece la pena esta pmpuesta? En caso
afirmativo, ¿cuál es el nuevo plan de producción?
e) Otra posibilidad es cambiar el precio. Llevar a cabo un análisis de sensibili- .
dad paramétrico respecto al beneficio unitario del libro L2 para el apa1·tado
a).
La solución óptima consiste en producir, únicamente, los libros L1 y L 4 en cantidades de 5000 y 10000 unidades, respectivamente. El beneficio asociado es
= 35000000 ptas.
b) Supongamos que el beneficio del libro L 4 baja 2000 ptas, es decir, pasa a ser
1000 ptas. Recalculamos con este nuevo beneficio é4 = 1 ( x 103) la fila indicador
y el objetivo en la tabla final. Tenemos la nueva tabla
s·
es
1
a) Definiendo las variables de decisión
es
3
0
1
Cj
1
1
4
VB
3
X¡
X2
X3
X4
1
-1
3
-4
1
1
X4
X¡
Zj- Cj
o
1
o
1
o
o
o
Cj
1
1
VB
X¡
X2
1/3
1/3
2/3
4
X3
o
1
X¡
1
o
xi = 18333.3,
donde el objetivo B representa el beneficio en miles de ptas de la producción
de libros. Se supone que se vende toda la producción. Aplicando el método del
símplex, se obtiene en tres iteraciones la tabla final
¡
1
X¡
o o
xs
4
-6
6
1
o o
X4
xs xs
4 -2
-6 8
-2 6
4
xa
3•
1
- 1 -4
- 1 -5
1
o
o
xs
10000
5000
15000
4
xa
1
o
o
1
o
o
xs
1/3 4/3
4/3 - 2/3
5/3 14/3
X~
xs
XB
-2/3 3333.3
16/3 18333.3
8/3 31666.6
siendo la solución óptima (admitiendo una solución no entera}
.1xr + .3x2 + .8xa + .4x4 ~ 4500
.2x¡ + .lx2 + .lx3 + .3x4 ~ 4000
•
o
1
X2
Como hay varios indicadores negativos, se ha perdido la optimalidad. Aplicamos
el método del símplex primal hasta alcanzarla de nuevo. En una iteración, se
llega a la tabla
x¡ + x2 + 4x3 + 3x4
X¡,X2,X3 1 X4 ~
X4
zi- e;
producción deL¡, i = 1, 2, 3, 4
modelizamos el programa lineal de beneficio má.x.imo
=
1
X¡
Zj - Cj
X¡ =
max B
s.a
Cj
VB
1
es
Solución
181
xs
xs
- 2 10000
8 5000
2 35000
x2 = O,
x3
= 3333.3, x: = O
con B* = 31666600 ptas. Observemos que con esta solución no se vende ningún
libro L4 .
e) En este caso podría hacerse en el problema x 2 = 2000 y resolverlo con tres
variables de decisión. Otra posibilidad, que seria obligada si la restricción hubiera
sido x2 ~ 2000, consiste en añadirla a la tabla. Llevarémos a cabo este segundo
procedimiento con la restricción x2 = 2000 para ver el proceso de solución. La
incorporamos a la tabla óptima, añadiendo previamente una variable artificial x7
y considerando la función objetivo artificial, y obtendremos la tabla inicial del
método de las dos fases
Cj
es
o
o o o o o o
-1
Xs
xs
-2
-6 8
X7
4
o
o
o
o
VB
X¡
X2
X3
X4
X4
o
1
-1
3
-4
1
1•
o
o
o
X¡
-1
X¡
Zj - Cj
1
o
o -1
o
o
o
o
o
o
1
XB
10000
5000
2000
- 2000
182
PROGRAMACIO N LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
@RA:MA
En una transformación de pivote se llega a la tabla final de la fase I
o o o o o o
ej
VB
es
o
o
o
X4
X¡
X2
Zj- ej
X¡
X2
X4
XJ
X¡¡
es
3
-1
X6
o o 3 1 4 -2
1 o -4 o -6 8
o l o o o o
o o o o o o
e·
l
1
4
3
VB
o o
X¡
X2
X3
X4
Xs
1
X4
X¡
1
X2
zi- e;
~
1:
1
.5
4
3
o o
X¡
xz
X3
X4
Xs
X6
3
-.8 -4
1
4
-2
X7
xs
1
X4
X¡
-1
1
1
1
8000
7000
2000
.5
X2
o
La tabla inicial de la fase II es
es
3
e;
VB
Zj -
es
3
8000
7000
2000
33000
que es óptima. La producciones de L 1 y L 4 son, respectivamente, 7000 y 8000
unidades. El beneficio asociado es de 33000000 ptas, algo inferior a las 35000000
ptas de beneficio inicial.
d) En este caso, al cargar la otra editorial 500 ptas por copia encuadernada
del libro L2, el beneficio es de 1000 - 500 = 500 ptas. Además, el coeficiente
tecnológico en la segunda restricción para el libro L 2 se convierte en nulo al
no encargarse nuestra editorial de su encuadernación. En resumen, tenemos un
cambio en el coeficiente de coste (básico) de x 2 y en el coeficiente tecnológico a22 .
Recalculando entonces el vector interior y los indicadores, como
1
e;
o
o
.2
1
- .2
o -6 8
o o o o
1
o 6 2
Xs
8000
7000
2000
32000
Como x2 es una variable básica, hay que hacer Osu indicador y los elementos
interiores excepto Y31 = l. Mediante operaciones de fila, tendremos la tabla con
la nueva solución óptima
xs
X6
o o 3 1 4 -2
1 o -4 o -6 8
o 1 o o o o
o o 1 o 6 2
o
183
e;
1
.5
4
3
o o
VB
X¡
X2
X3
X4
xs
1
.5
XG
o o 3 1 4 -2
1 o -4 o -6 8
o 1 o o o o
o o 1 o 6 2
X4
X¡
X2
z; - e;
Xs
7600
8600
2000
32400
Por tanto, el nuevo plan de producción es de 8600 libros L 1, 2000 ~2 y 7600 L3 ,
con beneficio de 32400000 ptas.
e) Llevamos a cabo un análisis de sensibilidad paramétrico respecto a c2. Consideremos la tabla óptima, pero con el coeficiente de coste genérico para la variable
x2. Obtenemos la tabla
e;
1
C2
4
3
o o
es
VB
X¡
X2
X3
X4
X¡¡
X6
3
X4
X¡
1
1
4
-1
3
-4
2- e2
1
-2 10000
8 5000
2 35000
1
o
1
z;- e;
o
o
o
-6
6
xs
Esta tabla es óptima si 2- c2 ~ O, es decir, si c2 :5 2. -Aplicamos el método del
símplex tomando x2 como variable de entrada en la base, que es el caso de c2 ~ 2,
X4 de salida e Yt2 = 1 el pivote. La nueva tabla es
se obtiene que
-2
8 -1
1 ) ( .3
o)
o
1
z,- e,~ eh, - e,~ (3, 1, .5) (
=(
-.2.8 )
1
1
.:;s )- ~
.5
es
e2
1
-.2
permaneciendo igual el resto de indicadores. La tabla con los nuevos valores es
e;
VB
1
C2
4
3
o
o
X¡
X2
X3
x,t
X¡¡
X6
XS
X2
o
1
3
-1
-5
+3e2
1
4
1
-2
-2
+4e2
-2
6
6
-2e2
10000
15000
15000
+10000e2
X¡
Zj-
e;
1 o
o o
o o
-2
+e2
184
©RA-~
PROGRAMACION LTNEAL Y APLICACIONES: EJERCICfOS RESUELTOS
Esta tabla es óptima si se verifica la no negatividad de los indicadores, es decir,
si
-5 + 3c2 ~O, -2 + c2 ~O, -2 + 4c2 ~O, 6- 2c2 ~O.
La resolución de este conjunto de inecuaci?5nes proporciona el recorrido de optimalidad c2 E [2, 3]. Prosiguiendo con el análisis, si hacemos c2 = 3 la transformación
de pivote se tiene para el elemento y26 = 6, y reiteramos el procedimiento. La
solución del análisis paramétrico se tiene en la tabla
Recorrido de
Solución óptima
Valor óptimo ( x 103)
C2
x'
z•(c2)
0<cz~2
(5000, o, o, 10000)
(15000,10000,0,0)
(0, 15000, O, O)
35000
15000 + lOOOOc2
15000c2
2~C2~3
3<c2<oo
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBfLIDAD
que proporciona la solución óptima
ma..x z
s.a
=
-3x¡ - x2 - X3 - 3x4
f
b)
eB
VB
3
-1
-1
Xt
t
X~
es
1
-1
-3
-1
-1 -3
-M
VB
X¡
X2
X3
X2
X3
X4
3/2
-1/2
1
o o
o
o
o
o 1
o o
o o
a¡
a2
3/2
-1
- 1/2 2/3
-1
1/3
2
-2/3
1
1
z;- e;
xM
2
o
o
1
X4
o
-M
X¡
X2
X3
1 o o
o o 1
o 1 o
o o o
o o o
-3
-M
X4
a¡
-M -M
a2
a3
XB
1/2
1/2 -1/2 1/2 1/2
-1/4 1/4
1/4 -1/4 1/2
3/4 - 3/4 1/4
3/4
o
1
-1
1
-2 -2
1
1
1
o
o
1 ) con z* = -2.
x* = (12' o, 2'0
Cj
-3
-1
-1
-3
-M
- 1\tf
-M
es
-3
-1
VB
X¡
X2
X3
X4
a¡
a2
03
XB
X¡
1
o
1
1
1/4
-1
o
1/2
1/2
al
-1/3
1/3
-1/3
2/3
4/3
1
-M
2/3
1/3
-4/3
- 4/3
4/3
-1
-3
-2
X3
3/4
1/4
1
-3
1
-1
o
o
o
o
o
-1/3
1/3
-1/3
XB
o
o
o
o
o
o
o
1
o
o
1
o
o
o
o
2
que continúa siendo óptima, pero con la variable x2 no básica. Consideramos
ahora a12 = 4/3- €. Obsérvese que es un cambio en un coeficiente tecnológico de
una variable no básica en la tabla final. Calculamos los nuevos valores básicos y
el indicador de x2 . Como
-M
a3
-3 -1 -1
cuya solución es
xM ·
-1
-3
o
xM
Zj - Cj
Solución
a) Supongamos que € = O. Resolvemos el programa lineal con el método de las
penalizaciones. En cuatro iteraciones se tiene la tabla final
Cj
X3
X2
Zj- Cj
= €X
min z(€)
s.a
con z* =-l.
Aplicamos el método del símplex dual, introduciendo en la base la variable a 1 en
Jugar de la variable x2, que es degenerada. La nueva tabla es
X¡+ (4/3- €) X2 + 2X3 = 3/2
x2 + 3x3 = 3/2
X¡ + X2 + X3 + X4 = 1
X¡,X2,X3,X4 ~ 0, € ~ 0
'
~
= (0, ~~¡,O)
Como x2 es variable básica, realizar un análisis de sensibilidad en un coeficiente
tecnológico puede ser demasiado costoso. Por tanto, supongamos que € = 4/3.
Resolvemos de nuevo el programa lineal. Tras tres iteraciones se obtiene la tabla
final
o
a)
4
X
Cj
17. Dos problemas lineales paramétricos inestables. Resolver los programas lineales paramétricos
185
es
y a2 =
(4/3)- €
1
(
1
)
186
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
~
~
t
Z2-c2= c8 y2 - c2=Me -
4
3 ?0,
©RA-~
'iff.>0.
En resumen, la solución es
f.>
z•
Solución
{O}
{0,3/4,1/4,0)
-1
(0, oo)
Definimos las variables de decisión
(1/2, O, 1/2, O)
-2
O es X*(e) = {-1} y z* (e)=
-f.
3. Si
X¡ =producción de artículos de tipo A,
x2 =producción de artículos de tipo B.
Las restricciones se deben a:
- Demanda del mercado
X¡
(óptimo único) .
2. Si e= O es X*(e) = [- 1,oo) y z* (E)= O (óptimos alternativos).
e< Oes X*(e) = {oo} y z* (E)= -oo (no acotado).
187
d) Como consecuencia de compromisos previos nos anuncian que la máquina
estará disponible entre O y 310 horas. ¿Cómo cambia la solución c·uando el
tiempo disponible es b3 = 170(1 +a), para -.25 <a< .50?
x*
Así, para e= Otenemos una solución¡ si f. cambia a cualquier valor positivo por
pequeño que sea, se tiene una solución distinta.
b) Sea X*(e) la región factible óptima del problema para un valor específico de
c. Es fácil comprobar que las soluciones para este problema son
l. Si
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
~
7000,
X2 ~
10000
- Limitación de tiempo de máquina. Observemos que x¡/50 será el número
de horas utilizadas para fabricar x 1 unidades del artículo A. Análogamente,
para B. Por tanto, la restricción es
Por tanto, si f. varía en un entorno de O, los cambios son drásticos en la solución
del problema.
O
o, de fo;ma equivalente
18. Planificación de la producción con parametrización del beneficio
o de un recurso. Un fabricante de tejidos posee una máquina que utiliza para
la fabricación de diversos artículos. Para dos de ellos, denominados A y B, la
máq~ina está disponible durante 170 horas al mes. La cadencia de fabricación
del artículo A es de 50 po1· hora, y la del B de 80 por hora. Cada unidad de A
proporciona un beneficio por venta de 3000 ptas y cada ~nidad de B 2000 ptas.
Además, la capacidad de absorción del mercado es limitada: a lo sumo debemos
fabricar 7000 artíC'ulos de A y 10000 de B. El fabricante muestm el deseo de
maximizar el beneficio z.
a) Formular un pograma lineal que dé Tespuesta a los deseos del fabricante.
Resolverlo e interpretar su solución.
b) Formular y resolver su problema dual.
e) Supongamos que no se estuviera seguro del beneficio unitario de A. Se de·
seará investigar la solución óptima para un beneficio igual a 3000(1 + >.),
para - 1 < A < oo. Representar la función z*(>.).
80x1
+50x2 ~ 680000.
El objetivo es de la forma de maximización y representa el beneficio
z = 3000x¡ + 2000x2.
Simplificando y pasando al formato estándar, queda el programa lineal con la
función objetivo en miles de ptas
max z = 3x¡
s.a
+ 2x2 + Ox3 + Ox4 + Ox5
X¡+ X3 =
7
X2 + X4 = 10
8x¡ +Sx2 + xs
= 68
X ¡ 1 X2,X3 1 X4 1 X5?
0
con x3, X4, xs variables de holgura. Aplicando el método del símplex, se alcanza
la tabla final en tres iteraciones
t88
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Cj
3
2
o
o
o
CB
VB
X¡
xz
X3
X4
Xs
3
X¡
1
o
X3
2
xz
o o
o o 1
o 1 o
o o o
Zj - Cj
@RA-M_A
XB
9/4
-5/8 1/8
5/8 -1/8 19/4
10
o
1
3/8 107/4
1/8
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
189
por 400 y, como en los anteriores, al tratarse de un objetivo en miles de ptas,
multiplicar por 1000. Así, ·
Ya = J(zs- es)+ CsJ X1000 X400 = ~~ +oi'X 400000 = 150000.
e) La función objetivo parametrizada, en miles de ptas, es
La solución óptima consiste en fabricar
x1 = (9/4) x 1000 =2250 unidades del artículo A
x 2 = 10 x 1000 = 10000 unidades del artículo B.
Además, tenemos que x3 = (19/4) x 1000 = 4750 unidades de A respecto de
las 7000, que no se fabrican. Observemos que se fabrica el máximo posible del
artículo B (x: = O) y se consume en el P.roceso de fabricación todo el tiempo
disponible (x5 = 0). El beneficio óptimo es
z* = {107 /4) x 1000 x 1000 = 26750000 ptas.
Podemos obtener también el beneficio por hora para ambos artículos
- para A, 50 x 3000 = 150000 ptas/hora
- para B es 80 x 2000 = 160000 ptas/hora
es pues más interesante fabricar artículos del tipo B. Damos prioridad a la fabricación de B (10000 unidades) que consume 125 horas de máquina y sobran
todavía 170 - 125 = 45 horas que se dedican a producir el artículo A.
b) El dual en forma simétrica de minimización es
min w
s.a
=
7000y1 + 10000y2
+ 68000y3
Yt + 8y3 ~ 3000
Y2 + Sy3 ~ 2000
y¡,y2, Y3 ~O
De la tabla óptima del primal obtenemos los valores óptimos de las variables
duales de decisión o precios sombra de las tres restricciones primates:
Yi = J(z3 - c3) + c3l x 1000 = JO+ Ol x 1000 =O
Y2 = J(z4- C4) + c4J X 1000 = lk + 01X 1000 = 125.
Para la tercera variable dual y3 , observemos primero que el recurso original era
170, qq.e posteriormente multiplicamos por 4000 obteniendo 680000, para luego
dividir toda la restricción por 10. Por tanto, debemos multiplicar l(zs- es)+ csl
max z
= 3{1 + >.)x 1 + 2x2 = (3 + 3>.)x¡ + 2x2
La tabla inicial del problema parametrizado se obtiene de la tabla óptima final,
>.=O, añadiendo la función objetivo parametrizada. Observemos que el vector de
variaciones del parámetro >. en el objetivo del problema en el formato estándar,
es c0 = (3, O, O, O, O). Tenemos así la tabla
Cj
3
3
o o
2 o
VB
X¡
xz xa
X¡
1
e~
el CB
3 3
o o
o 2
X3
xz
Zj - Cj
>.
o
o
o
o
X4
xs
XB
-5/8 1/8
9/4
5/8 -1/8 19/4
1
o 10
1/8
3/8 107/4
-15/8 3/8 27/4
o o
o o 1
o 1 o
o o -o
o o o
Imponemos a esta tabla las condiciones de optimalidad, que nos lleva a las inecuaciones en >.
1 15
3 3
--->.>0
-+->.>o
8
8 - , 8
8 proporcionando el intervalo de optimalidad >.E [-1, 1/15]. Puesto que tenemos
que estudiar el intervalo -1 < >. < oo, sustituimos >.= 1/15 en la fila indicador
de la tabla anterior y aplicamos el método del simplex primal tomando como
variable de entrada en la base aquella cuyo indicador pasa a degenerado, x 4 • La
de salida es X3 y el pivote y24 = 5/8. Una transformación de pivote lleva a la
tabla
3
3
o
Cj
2
o
o
o
o
o
o
xz
X3
X4
Xs
cj
e~
CB
VB
X¡
3
3
X¡
1
o o
o 2
X4
X2
Zj - Cj
>.
o
o o
o 1
o o
o o
1
o
8/5
-8/5
-1/5
3
1
o
o
o
o
XB
7
-1/5 38/5
1/5 12/5
2/5 129/5
o 21
190
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-M~
Imponemos a esta nueva tabla las condiciones de optimalidad obteniendo la inecuación en A
1
-- +3A
5
CAPITULO 3. DUALIDAD Y ANALISIS DE SENSIBILIDAD
la tabla es
->o
que proporciona el intervalo de optimalidad A E [1/15, oo). Por tanto, la solución
óptima para el recorrido deseado se resume en la tabla
Recorrido de
A
Solución óptima
x•
Valor óptimo
z•(A)
- 1 ~A~ 1/15
1/15 < >. < oo
(9/4,10, 19/4,0,0)
(7,12/5,0,38/5,0)
107/4 + (27/4}A
129/5 + 21A
191
e;
VB
3
2
o
o
o
CB
X¡
X2
X3
X4
xs
3
X¡
1
X3
X2
1/8
- 1/8
2
- 5/8
5/8
1
1/8
o
z;- e;
o o
o o 1
o 1 o
o o o
o
3/80
XB
a
17/2
9/4
19/4 - 17/2
10
o
107/4 51/2
Imponiendo la condición de factibilidad primal a la tabla, tenemos el conjunto
de inecuaciones lineales en a
9 17
19 17
-+-a> o -4 --a>O
2 -
La representación gráfica de z• ().) es
4
2
-
'
proporcionando el recorrido de optimalidad a E [-18/68, 38/68] ~ [- .26, .55] ,
que contiene el propuesto en el enunciado. Así, la base óptima para ci = O, lo
seguirá. siendo para -.25 <a< .50, siendo la solución óptima
z•
10
- 1
1
15
con
d) Corresponde a una parametrización de la tercera restricción, que toma la forma
•
'
107
4
51
2
z =-+-a.
o
y es equivalente a
8x¡ + Sx2 :S 68 + 68a.
La tabla inicial del programa parametrizado se obtiene de la tabla óptima final
(a = 0), añadiendo el vector de constantes parametrizado y teniendo en cuenta
que el vector de variaciones es b0 = (0, O, 68). Como
y
zo = (3, o, 2) (
17/2 )
-1;/2
=
51
2
CAPITULO 4
TRANSPORTE Y ASIGNACION
Este capítulo trata dos aplicaciones especiales de la programación lineal: los
problemas de transporte y de asignación.
En su formulación inicial, el problema de transporte estudia la distribución de
un producto homogéneo desde un conjunto de fábricas a un conjunto de almacenes o puntos de venta, de modo que se satisfagan las demandas de los almacenes
y no se superen las disponibilidades de las fábricas, con coste mínimo. El modelo de transporte tiene notable interés por sus importantes aplicaciones que,
como se verá en varios ejercicios, no se restringe únicamente a la distribución
de mercancías. Su procedimiento específico de solución, llamado algoritmo de
transporte, consta. de dos fases y es rápido y eficiente.
El capítulb comienza con el estudio de algunos de los procedimientos para
llevar a cabo la primera fase, que consiste en obtener una solución factible inicial.
En concreto, se estudian los métodos de la esquina noroeste (MEN), de Vogel y
·de coste mínimo. Pard entrar en la segunda fase, esta solución inicial debe ser
no degenerada¡ si lo fbera, se puede utilizar el procedimiento de f.-posiciones
para convertirla en no degenerada. Se pasa después a la segunda fase, en la que
se comprueba si la solución obtenida en la fase primera es óptima, y si no lo
es, cómo mejorarla. Los dos métodos más utilizados son los de stepping-stone
y MODI (distribución modificada, también denominado u-v). Aunque el primero es más intuitivo, el segundo es computacionalmente más eficiente. Por ello,
se ilustrará el método de stepping-stoue con un ejercicio y, en el resto de ellos,
utilizaremos el MODI. Se considerará la modelización con varios problemas de
distribución, planificación de la producción, planificación de recursos, ... y la generalización denominada modelo de transbordo. Este problema se puede resolver
194
..1,
'¡
\
..
~
t
1
..J"1
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
reconvirtiéndolo en un problema de transporte, tabla de transporte extendida o
de transbordo, o bien calculando previamente los caminos extremos y aplicando
después el modelo de transporte. Como el algoritmo de transporte es de la forma
de minimización, se muestra la resolución de problemas de transporte de la forma
de maximización. Además, se ilustra el análisis de sensibilidad discreto para un
problema de transporte. Finalmente, se aplica el algoritmo de transporte con
tiempo mínimo, un algoritmo que resuelve el problema enunciado, con tiempos
en lugar de costes.
La segunda parte del capítulo se dedica al problema de asignación. Este modelo permite determinar la asignación óptima de individuos o máquinas a tareas
con coste mínimo y es un caso particular del de transporte; pero, aunque puede
resolverse con el algoritmo correspondiente, resulta más eficiente su resolución
mediante un algoritmo específico conocido como método húngaro.
Los primeros ejercicios ilustran la resolución del problema de asignación. Se
comienza con un ejercicio que se resolverá mediante enumeración, mediante un
programa entero, con el algoritmo de transporte y con el método húngaro, permitiendo una comparación entre los distintos métodos. Se consideran, además, el
problema de asignación generalizada y el de emparejamiento. En el primero, se
podrá asignar un individuo a más de una tarea y, en el segundo, se trata de asignarle a una única tarea que le sea factible, sin tener en cuenta costes. Además,
se considerarán problemas no equilibrados, es decir, con número desigual de individuos que de tareas, y también, ya que el método húngaro es un algoritmo de
minimización, el caso de problemas de asignación de la forma de ma.ximización.
r:
EJERCI CI OS
r
~
1,•
"
CAPITULO 4. TRANSPORTE Y ASIGNACION
195
donde los elementos interiores representan costes, se desea determinar una solución inicial básica factible y su coste asociado con:
a) El MEN.
b) El método de Vogel.
e) El método del coste mínimo.
d) Comentar la calidad relativa de las soluciones obtenidas en los apartados
anteriores.
Solución
Como la disponibilidad total es de 150 y la demanda total de 130, el problema
no es equilibrado. Para equilibrarlo, introducimos un destino ficticio (columna
F) con demanda 150 - 130 = 20 y costes nulos en las posiciones de su columna.
Tenemos, entonces, la tabla
1
2
3
F
Disp.
A
45
B
25
e
50
D
Dem.
30
l. Solución inicial en una tabla de transporte. Dada la tabla de transporte
1
2
3
Disp.
A
í8 19 í6
45
B
í5 17 f4
25
e
í3 15 í7
50
[8
30
D
Dem.
í7
40
60
í5
30
a) El l'viEN comienza tomando la posición de la tablá situada más al noroeste,
(A, 1) y situando en ella el máximo número posible de unidades, que será el
mínimo entre la disponibilidad del origen A y la demanda del destino l. En este
caso, XA t = min{45,40) = 40. A continuación, se reducen, en ese valor asignado,
la disponibilidad de A y la demanda de l. Se obtiene así la tabla
196
CAPITULO 4. TRANSPOIITE Y ASIGNACION
PROGRAMACION' LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
2
l
3
2
Disp.
F
5
B
B
J5 í7 í4
ro
ro
25
e
e
í3 15 [7 [Jl
50
ro
30
A
40
18
19 [6
í7 í8 í5
o 60 30
D
Dem.
20
D
Dem.
~
1'
F
A
J9
[6
B
í7 í4
e
[5 í7
ro
ro
ro
ro
20
•
1
D
J•
¡:
•
[
Dem.
f8 15
60
30
Disp.
5
30
Repetimos el procedimiento con esta tabla. Ahora, la esquina noroeste corresponde a la (A, 2). El número de unidades que asignamos a esta posición es
XA2 = min (5, 60) = 5. Una vez reducidas la disponibilidad de A y la demanda de 2, se obtiene
2
3
F
í6
25
Disp.
B
í7 í4
ro
ro
e
15
ro
50
ro
30
A
D
Dem.
5f9
17
f8 J5
55
30
o
20
Prescindiendo de la fila A, que ha quedado satisfecha al convertirse en nula su
disponibilidad, tenemos la nueva tabla reducida con la asignación xa2 ~ 25
ro
o
í5 17
ro
50
ro
30
f8 15
30
20
30
2
40
f8
[5 25 í7
e
13
D
Dem.
[7
40
3
30
F
ro
ro
ro
í6
519
B
25
50
í4
1
A
3
F
Prescindiendo de la fila B, ya que queda satisfecha, y reiterando el procedimiento,
tenemos la solución básica factible que mostramos en la tabla
de la que se elimina la fila y/o columna que quede satisfecha. En este caso, la ·
columna 1 pasa a tener demanda O, así que la eliminamos, teniendo ahora la tabla
reducida y con bordes (disponibilidades y demandas) revisados,
2
Disp.
3
2517
197
45
•'
f4
1-5
20
rs
10¡5 20
60
Disp.
f7
30
ro
25
50
30
20
Esta solución es no degenerada, ya que el número de posiciones básicas es 7
igual al número máximo posible que es m+ n -1 = 4 + 4- 1 = 7, donde m=
número de filas y n = número de columnas de la tabla de transporté equilibrada,
de posiciones básicas que puede tener una solución básica factible. El coste
asociado a esta solución es
e = 40 . 8 + 5 . g + 25 . 1 + 30 . 5 + 20 . 1 + 10 . 5 + 20 . o= 880.
b) El méto~o de Vogel comienza. determinando las penalizaciones de fila (P F¡)
y columna (PCj), obtenidas como el valor absoluto de la diferencia entre los
dos costes menores de cada fila y cada columna, respectivamente. Situamos estos
valores a la derecha y en la parte inferior de la tabla, obteniendo la tabla ampliada
198
PROGRAMACCON IANEAL Y APLCCACCONES: EJERCICIOS RESUELTOS
Disp.
PF¡
ro
45
6•
f4
rr
25
4
[7
ro
50
3
f8 f5 IT
30
5
1
2
A
rs
f9 f6
B
rs
[7
e
í3
rs
D
[7
40
2
Dem.
Pei
3
F
30
60
2
20
o
1
1
2
3
rs
f9 f6
F
20
ro
[4"
ro
25
e
í3
rs
f7
ro
50
D
í1 í8
rs oro
30
30
40
60
Eliminamos la fila yJo columna que haya quedado satisfecha, que en este caso es
la columna F, y repetimos el proceso con la tabla reducida y sus bordes revisados.
Las penalizaciones son ahora
2
Disp.
PF¡
25
2
B
f8 f9 í6
rs í7 [4"
25
1
e
[3
15 f7
50
2
D
[7
rs rs
60 30
30
2
1
A
Dem.
Pei
40
2
2'
3
1
B
e
í3
50
í1
D
De m.
40
3
Disp.
f9 f6
25
f7 f4
25
f5 f7
í8 rs
o
10
30
30
Eliminamos la fila C. La nueva tabla reducida, con las penalizaciones, es
2
3
í9
í7
1
rs
rs
A
25
í1
2
rs
rs
Disp.
rs
199
y la mayor es 2. Como hay empate, lo rompemos arbitrariamente y tomamos, por
ejemplo, la columna 2. En esta columna, el menor coste es 5, que corresponde a la
posición (e, 2) . Hacemos XC2 = min {50, 60) =50 y reducimos la disponibilidad
de e y la demanda de 2 en tal número de unidades
A
B
Dem.
CAPITULO 4. TRANSPORTE Y ASIGNACION
1
A continuac.ión, consideramos la mayor penalización entre filas y columnas, que
es 6 (marcada con un asterisco) y corresponde a la fila A. Elegimos la posición de
menor coste en esa fila, que es la (A, F), y situamos en ella el mayor número posible de unidad~s dado por XAF =min (45, 20) = 20. Reduciendo la disponibilidad
de la fila A y la demanda de la columna F en ese valor, tenemos la tabla
A
1
©RA-MA
B
17
D
Dem.
Pe;
Disp.
RF¡
16
25
2
f4
25
1
rs 3o30rs
30
2'
40
10
2
1
,
1
Tomamos como mayor penalización la correspondiente a la fila D, pues hay empates. En ella, la posición de menor coste es {D, 3). Hacemos XDJ = min {30,30) =
30 y reducimos la disponibilidad de D y la demanda de 3 en ese valor. Esto nos
lleva a eliminar simultáneamente la fila D y la columna 3, indicación de degeneración en la solución iniciaL Continuando con el pro·cedimiento,
llegamos a la
1
solución básica factible ·
2
1
3
Fict. Disp.
A
15
í8
B
2s
rs
e
D
Dem.
10
í9
16 20
ro
45
f7
[4"
ro
25
rs í7 ro
rs 3030rs 20ro
60
13 so
50
17
30
40
200
PROGRAMACION LLNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
CAPITULO 4. TRANSPORTE Y ASIGNACION
e = 1s .8+ 10 . 9+ 20 . o+ 2s . s+ so . s+ 30 . s = 735.
e) El método del coste mínimo asigna el mayor número posible de unidades a la
posición de menor coste, eliminando la fila y/o columna•que quede satisfecha, y
repite el proceso hasta elimipar todas las filas y columnas.
En nuestra tabla, el menor coste es O, que corresponde a todas las posiciones
de la columna F. Elegimos una arbitrariamente, por ejemplo, la posición (A, F) , y
el mayor número de unidades que podemos asignarle es XAF = min (45, 20) = 20.
Reducimos la disponibilidad de la fila A y la demanda de la columna F en ese
número de unidades y tenemos la tabla
2
1
3
í8 19 í6
B
í5
rT
14 25
,e
4013
rs
í7
10
D
Dem.
o
í7 f8 í5
3~
2
B
í7 14
25
15
í7
10
rs
30
f5 í7 í4
ro
25
e
e
13
rs
ro
50
ro
D
Dem.
30
í7 f8
40
60
rs
o
30
..
2
3
Disp.
18
60
30
,
2
1
3
í9
f4
ro
25
í7
ro
ro
B
15
í7
í3
wrs
í7
25 f8 515
60
30
í6
f8 19 f6 25
B
f5 í7 í4
¡.1 J
rs
e
f3
í7
50
D
í7 í8 í5
30
Dem.
40 . 60
e
25
D
.
30
La posición de menor coste es (e, 1). Le asignamos xc 1 = min (50, 40) = 40. La
tabla con la disponibilidad de la fila e y la demanda de la columna 1 reducidas
en ese número de unidades es
Dem.
40
40
25
20
= 25.
Disp.
45
f8
25
F
ro
A
4
A
.
La posición de menor coste es (B, 3) . Le asignamos xs3 = min (25, 30)
Continuando con el procedimiento, se llega a la solución dada en ~a tabla
Eliminamos la columna F, que ha qqedado satisfecha. La nueva tabla reducida
con bordes revisados es
1
Disp.
3
'¡ g í6 25
B
D
30
A
f8 19 í6 20 ro 25
Dem.
60
25
y eliminando la columna 1, ya satisfecha, se obtiene la tabla reducida
A
í7
Disp.
3
A
Disp.
F
2
1
que es degenerada, ya que tiene 6 posiciones básicas, una menos que. el número
máximo que es 7. El coste asociado es
201
50
30
20
que es no degenerada, ya que tiene 7 posiciones básicas. El coste asociado es
e =2s . 9+ 20 . o+ 2s .4 + 40 . 3 + 10 . 5 + 2s . 8 + s.5 = 120.
d) L~s métodos de Vogel y de coste mínimo han proporcionado una solución inicial
básica factible bastante mejor que el MEN. En general, esto era de esperar, ya
~í' l
¡,
CAPITULO 4. TRANSPORTE Y ASIGNACION
~20!:.2__....!:P~R~O~G~RAc.!!M::!.!A~C~IO~N~Ll!.!.:N~E~A~L....!.Y~AP~L~IC~A~
C~IO!.!:N~E~S::....!E~J~ER~C~l~C~IO~
S..!R~ES~U
!:!.!E~L:!.!T~0:2.S-~©:L!RA~-~
que el MEN distribuye las utúdades en la tabla de transporte sin tener en cuenta
los costes, mientras que los otros dos métodos tienen una lógica basada en ellos..
o
Consideramos inicialmente la posición no básica (1, 2). La tabla muestra el
ciclo construido para ella, con el efecto sobre el objetivo debido aJ incremento
de una unidad para las posiciones con designación o+ y la disminución de una
unidad para las posiciones con designación
y el coste relativo a12·
o-,
2. Mejora de la solución inicial: método de stepping-stone. Dada la
2
rs fu
1
19 rsí12 íT
2
3
De m.
500
400
4
3
Disp.
f5 17
í6 fll
700
rs
lOO
100
400
110
Solución
1
4oo
rs
2
100
19
3
Dem.
[12
500
rs
fll
400
rsíT
400
4
3
100
f7
D"lsp.
400
í6
100
í8
100 110 100
200
100
-8
+9
-5
7
Posición
(i,j)
(1, 2)
(1, 3)
Coste relativo
(1,4)
-3
(3, 1)
(3, 2)
(3, 3)
o
La disponibilidad total (1200) coincide con la demanda total, por lo que el problema es equilibrado. Determinamos la solución inicial básica factible con el MEN.
Esta es
2
+11
Procediendo de modo análogo con el resto de las posiciones no básicas,yodemos
determinar los demás costes relativos
200
obtener la solución óptima con el método st~pping-stone a partir de la solución
inicial obtenida con el MEN.
1
Efecto sobre
el obj~tivo
Posición Designación
o
(i, j)
o+
(1, 2)
o(1, 1)
o+
(2, 1)
o(2, 2)
o+.
(1, 2)
Coste relativo
tabla de transporte
1
203
7
o
-1
3
Situamos éstos sobre los costes de transporte por unidad dentro de la tabla. Se
obtiene así
2
1
fll 700
con coste C = 8800. Esta solución inicial es no degenerada, pues tiene 6 posi·
ciones básicas. Podemos, entonces, comenzar el procedimiento de stepping-ston~
calculando primero el coste relativo Oij de cada posición no básica a partir de la
construcción de un ciclo para cada una (un ciclo para una posición no básica es
un camino que comienza y termina en la posición no básica elegida, formado por
segmentos alternativamente verticales y horizontales, o viceversa, con extremos
en posiciones básicas. Se designarán alternativamente las posiciones del ciclo con
o+ y o- 1 comenzando con o+ en la posición no básica de partida).
O:ij
1
4oo
rs
2
100
·¡g-
400
rso
4
3
De m.
[12
500
o
rs
fll
1
~
í4
400
4
3
7
100
í6
3
rs
100
Disp.
-3
" r-7
400
íi"l
700
100
100. [10 lOO
200
Si todos los costes relativos fueran no negativos, la solución actual sería
óptima. No
éste el caso. Tomamos la posición con coste relativo más negativo, la única en este caso es (1, 4), con a: 14 = -3. Generamos a continuación
una nueva solución determinando previamente, a partir del ciclo construido para
la posición (1, 4), que es
es
204
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Posición
(í, j)
Valor de
Designación
1
o
o+
oo+
o-
Xij
(1,4)
(1, 1)
(2, 1)
(2,4)
CAPITULO 4. TRANSPOR'l'E Y ASIGNACION
400
lOO
lOO
200.1"'8
1
2
4
= min{400, 100} = 100.
Esta cantidad es el mayor valor que se puede asignar a la posición (1,4) . Se
modifica la solución actual, sumándola a las posiciones del ciclo con designación
e+1 restándola a aquellas con designación e- y permaneciendo igual los valores
del resto de las variables. Así, la nueva solución, con los nuevos costes relativos,
es
2
1
3
Disp.
4
o
7
1
3oo
rs
fll
rs
100¡7 400
2
200
f9"""
40015 100
16
liT
1
3
Dem.
112
500
-3
14
400
rs
700
100 .f10 100
200
Sigue siendo no degenerada, ya que tiene de nuevo 6 posiciones básicas. El coste
asociado será de = 8800+ (-3) x 100 = 8500, como puede también comprobarse
de forma directa a partir de la tabla. Ahora, el coste relativo más negativo (y
único) corresponde a la posición (3, 2), con a32 = -3. El ciclo para esa posición
es
e
Posición
(i, j)
(3,2)
(3,4)
(1,4)
(1,1)
(2,1)
(2,2)
Valor de
x;z
lOO
100
300
200
4QO
lil
li2
500
100 ¡;¡400
200
17
f8
400
3
fll
3
100
Disp.
700
3
í10
lOO
200
Esta tabla contiene, además, los nuevos costes relativos. Como todos son no
negativos, el procedimiento termina al haberse alcanzado la solución óptima, Esta es
xi 1 = 200,
xi4 = 200, x2 1 = 300, x22 = 300, x26 = 100,
x3 2 = 100
con coste e· = 8200.
Finalmente, observemos que en esta tabla final la posición no básica (1 , 3)
tiene coste relativo a 13 = O, lo que significa que existen óptimos alternativos. El
lector puede calcularlo a partir del ciclo para esa posición.
O
3
o
100
o
fT
300 1"9 300 15 100 f6
3
Dem.
o-
4
3
7
la cantidad
p = min{xi;}
2
205
Designación
8
o+
ee+
ee+
e-
La cantidad p = min {100,300,400} = 100, y la nueva solución, que permanece
no degenerada, es
3. Una solución inicial degenerada y la ~ignación de e-posiciones.
Dada la tabla de transporte
1
2
3
1
16
rs
17
12
2
í3 18 16
18
3
í9 í2 16
16
rs
15
4
Dem.
í4
12
34
17
Disp.
15
o.btener una solución básica factible con el MEN. Si es degenerada, tmnsformarla
en no degenerada añadiendo un número conveniente de e-posiciones.
Solución
La disponibilidad y la demanda totales valen 61. Por tanto, el problema es
equilibrado. La solución básica factible inicial con el MEN es (no considerar los
valores e)
\
fi
1
206
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
eí5
17
12
rs
16
18
16 í2 !16
16
1
1216
2
13
18
3
19
]4
4
Dem.
rs
34
12
Disp.
3
2
1
@RA-MA
15
1517
15
Tal solución tiene 4 posiciones básicas distintas de cero. El número máximo
posible de posiciones básicas (no nulas)1 que puede tener esta tabla es m+ n1 = 4 + 3 - l = 6, así que para completar hasta este valor, hay que añadir 2
€- posiciones: asignaremos la cantidad infinitesimal positiva E a dos posiciones
independientes (una posición es independiente si es no básica y no es posible
construir un ciclo con ella) .
Se comprueba que no es posible construir ciclo alguno para ninguna de las
posiciones vacías. Elegimos de forma arbitraria las posiciones (1, 2) y (3, 3) como
€-posiciones, situando E en ellas. Evidentemente, ahora, al existir 6 posiciones
básicas la solución ya no es degenerada.
o
4. Mejora de la solución inicial: método MODL Dada la tabla de transporte
1
2
3
Disp.
1
]4
13
rs
8
2
í2 13
16
5
13 íl 12
6
3
De m.
8
3
9
determinar la solución óptima con el método MODI a partir de la solución inicial
obtenida por el procedimiento:
a) MEN
b) de Vogel
CAPITULO 4. TRANSPORTE Y ASIGNACION. 207
Solución
a) La disponibilidad total es 19, menor que 20, la demanda total. El problema no
es equilibrado. Añadimos un origen ficticio (F) con disponibilidad 20- 19 = 1,
que proporciona el exceso de demanda, con costes O en las posiciones de esta
nueva fila. La solución básica factible inicial con el MEN es
1
2
3
F
Dem.
3
Disp.
1
2
8f4
e l3
rs
8
12 313
f3 11
2 16
5
6 fT
6
l íO
1
ro 3ro
8
9
Tal solución tiene 5 posiciones básicas, si prescindimos por el momento del E
que aparece en la posición (1, 2), siendo el máximo posible m+ n - 1 = 4 +
3 - 1 = 6. Hay que añadir una ~:- posición. Las posiciones independientes son
(1,2), (1,3), (2,1), (3,1) y (F,1) . Elegimos de forma arbitraria la posición
(1, 2) como ~:- posición, como aparece en la tabla anterior.
Al haber convertido la solución inicial en no degenerada, podemos aplicar el
método MODI, para saber si tal solución es óptima o, si no lo es, mejorarla.
Comenzamos calculando los números MODI de fila (Si, i = 1, 2, 3, F) y columna
(Tj, j = 1, 2, 3) con la condición
donde los O:ij son los indicadores, o costes relativos, de )as variables Xij, con un
significado análogo al de los indicadores en el método del simplex; observemos
que S¡ = - ui y Tj = -vj, donde u¡ y Vj son los valores de las variables duales del
problema de transporte en formato estándar. De la condición anterior, tenemos
el si~tema de 6 ecuaciones lineales con 7 incógnitas, compatible indeterminado,
81 +Tt + 4 = O,
S2+T3 +6 =O,
St + T2 + 3=0,
S3 + T3 + 2 =O,
S2 +T2 + 3 =O
Sp+T3+0=0
Tomando arbitrariamente la variable 5 1 y haciéndola, por ejemplo, igual a O, se
tiene la solución que aparece en la columna de la derecha, bajo Si, y en la fila
inferior, a la derecha de Tj , de la tabla
208
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Disp.
S¡
ef"3 IT
8
o
2_([
5
o
6¡2
6
4
1_!I
1
6
2
1
3
-1
1
8_[4
-2
*_[2
2
3¡3
2
F
Dem.
Ti
209
Para esta tabla, calculamos los números MODI de fi la y columna a partir del
sistema
St +T2 + 3 =O,
+ T3 + 2 =o,
S¡ +Tt +4 =O,
S2 +T1 +2 =O
Sp+T3+0=0
s3
s2 +T3 + 6 =o,
2
3
13 íT
3
CAPITULO 4. TRANSPORTE Y ASIGNACION
y los indicadores
aij
de las posiciones no básicas, que podemos ver en la tabla
3
rr
8
3
9
-4
-3
-6
IT
2
1
Disp. S;
3
- 3¡
1
*r5
8
o
2[6
5
2
í1 6fT
6
6
1
8
5[4 3+e ¡:3
2
Calculamos los indicadores de las variables o posiciones no básicas a partir de la
relación
aij = S¡ +Tj + C¡j V(i, j) no básica
que también aparecen en la tabla (números sobre los costes) . Puesto que existen
indicadores negativos, es posible la mejora de la solución actual. Elegimos el más
negativo, que corresponde a la posición (2,1), marcada con *, con a21 = - 2 y
construimos un ciclo para ella (ver Ejercicio 4.2). Este es
Posición
(i,j)
(2,1)
(1, 1)
(1, 2)
(2, 2)
Valor de
Designación
e
e+
Xjj
2
5
€
3
4
o-
= min{8, 3} = 3.
La nueva solución (ver Ejercicio 4.2, para redistribución de unidades a partir del
ciclo), que se mantiene no degenerada, es
ro
F
Dem.
Ti
8
-4
2
3
Posición
(i, j)
(1, 3)
(1, 1)
(2, 1)
(2,3)
í3
15
8
2
3["2
[3 2¡6
5
3
j3
fT 6[2
6
F
ro
8
2
Dem.
¡'1
9
1[0
9
-8
Valor de
Designación
e
e+
e-
X¡j
5
3
2
e+
e-
con valor p = min {5,2} = 2. La nueva solución, que es no degenerada, junto con
los números MODI e indicadores, se muestra en la t~bla
1
5[4 3+e
ro
3
ro
2
3
Disp.
S¡
8
o
Disp.
1
líO
3
-3
Existe un indicador negativo, así que aún es posible la mejora. Este corresponde
= -3. El ciclo para esta posición es
1
1
5
a la posición (1, 3), con a 13
con valor
p = min {Xij}
4
fT
3
ee+
e-
8
í3
3j2
5¡2
í3
F
ro
8
-4
2
3
[3
16
5
2
11 6fT
6
3
1
5
2
1
Dem.
Ti
í3 215
1
2
3
1
3[4 3+e
3
-3
ro 1f0
9
-5
210
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-~!A
CAPITULO 4. TRANSPORTE Y ASIGNAClON
Puesto que todos los indicadores son no negativos, se ha alcanzado la optimalidad.
Hacemos entonces € =Oy la solución óptima es
X *11 --
3' X¡2.• - 3> X¡3• - 2'
•
X21
•
=5' X33• =61 Xp3
a) Modelizarlo como un programa lineal.
b) Considerar la solución consistente en enviar: 25 t de Badajoz a Madrid, l O
t de Badajoz a Bilbao, 25 t de Cáceres a Barcelona, 5 t de Jaén a Madrid y
15 t de Jaén a Barcelona con coste z* = 1010000 ptas. ¿Se puede mejorar?
=1
con coste e• =53. Observemos que el óptimo es único, pues todos los indicadores
de las posiciones no básicas son positivos.
e) Justificar la existencia de soluciones óptimas alternativas. Calcular una de
ellas.
b) La solución básica factible inicial obtenida con el método de Vogel se tiene en
la tabla.
1
1
2
2
3
S;
8
o
3r;l 3í3 2f5
5[2'"
2
3
fT
í6
5
2
6fT
6
3
1['0
9
-5
1
5
2
1
3
fT íT
F
ro ro
8
3
1
Dem.
Ti
Disp.
-4
d) ¿Es degenerada la solución óptima obtenida?
Solución
a) Sean las variables de decisión
Xij = t de aceite enviadas del origen i al destino j
con
i = 1 (Badajoz), 2 (Cáceres), 3 (Jaén)
{ j = 1 (Madrid), 2 {Barcelona), 3 {Valencia), 4 (Bilbao)
2
-3
Una vez equilibrado, el programa lineal con la función objetivo en miles de pta.s
se formula
mio
e= 10xu + 15Xt2 + 20Xt3 + 9X¡.¡ + 6x21 + 7X22 + 10x23 + 15X24+
+15X31 + 20X32 + 25X33 + 30X34
Es no degenerada y se puede aplicar el método MODI. La tabla contiene tales
números y los indicadores de las variables no básicas. Todos son no negativos y,
por tanto, esta solución inicial es óptima y, obviamente, coincide con la anterior.
s.a
+ Xt2 + X¡3 + X¡4 ~ 35, '
X3t + X32 + X33 + X34 ~ 20, ">
XL1
o
5. Distribución de una mercancía. Una empresa dedicada a la distribución
de aceite de oliva debe enviar 30 t a Madrid, 40 a Barcelona, 20 a Valencia y
10 a Bilbao. Esta empresa se suministra en Badajoz, Cáceres y Jaén, cuyas
disponibilidades son de 35, 25 y 20 t, respectivamente. Los costes (en miles de
ptas) de envío de una t de los lugares de producción a los destinos son
Badajoz
Cáceres
Jaén
Barcelona
10
6
15
15
Valencia
20
7
10
20
25
Bilbao
9
15
30
Por cada t no recibida en los puntos de destino, la empresa tiene unas pérdidas
de 5.000, 8.000, 6.000 y 4.000 ptas, respectivamente. La empresa desea minimizar
el coste total de la distribución de la mercancía.
X21 + X22 + X23 + X24 ~ 25 X12 + xn + X32 ~ 40
X¡4 +X2.t +x34 ~ 10
X¡¡+ X21 + X31 ~ 30, 'r
X¡3 + X23 + X33 ~ 20, ¡;
Xij ~ 0, i,j = 1,2,3,4
b) La tabla de transporte equilibrada, a la que hemoa añadido un origen ficticio
= 4 con disponibilidad 10, con la solución propuesta. es
i
1
Madrid
211
1
2
3
25
Disp.
35
25
2
3
4
20
5
20
4
Dem.
&
!
212
PROGRAMACTO!'\ LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Observemos que es una solución básica factible degenerada, ya que m+ n - 1 ::::
4 + 4- 1 = 7, pero sólo tiene 6 posiciones básicas. Añadimos una €-posición a
la localización independiente (2, 3) para convertir la solución actual en ~o degenerada y poder determinar si es óptima o no.
Calculamos los números MODI de fila y columna a partir de la condición
que proporciona el sistema
St +T4 +9 =O,
S2+T2 +7 =O
s3 +T2 +20 =o
s3 + T¡ + 15 = o,
Tomando arbitrariamente la variable S1 y haciéndola, por ejemplo, igual a O, se
tienen los valores que aparecen en la tabla
1
2
3
o
íW
fl5
íW
4
2
í6
25
4
2
1"9
10
fl5
2
3
5fl5 15
f20
7
4
Dem.
Ti
o
25
8
f25
í30
20
-5
20
12
7
f8
40
- 15
35
16
5
ls
30
- 10
S;
14
€no
í7
Disp.
2016
20
-18
14
10
-9
= min {25, 15}
= 15. Sun1ando la cantidad a las
l
y dejando con sus valores actuales las que no están en el ciclo, se tiene la solución
1
10
2
S¡ +T1 + 10 = O,
s2 + T3 + 10 = o,
s4 + T3 + 6 =o.
25
el valor p = mino- {Xij}
213
~riables del ciclo con designación o+ restándosela a aquellas con designación o-
1
o:ii =O= Si+ Ti+ Cij V(i,j) básica
1
CAPITULO 4. TRANSPOIITE Y ASIGNACION
@RA-~
3
4
Dem.
20
4
2
3
l2o 10¡9"
Disp.
liO
15
íT5
í6
25
í7 t:ílO
115
25
f25
f30
20
14
20
íT5
15
30
[20
rs
40
2016
20
35
10
comprobándose fácilmente que es óptima. Tal solución consiste en enviar
10 t de Badajoz a Madrid
15 t de Badajoz a Barcelona
10 t de Badajoz a Bilbao
25 t de Cáceres a Barcelona
20 t de Jaén a Madrid
Observemos que las 20 t del origen ficticio (4) a Valencia representan una demanda no satisfecha.
d) Sí es degenera.d.a, pues hay 6 posiciones básicas, número inferior al valor m+
n - 1 = 4 + 4 - 1 = 7 que debería haber para que no lo fuera.
o
Calculamos los indicadores de las variables no básicas a partir de la relación
O:ij
= S¡+ Tj +Cij
V (i, j) no básica
que también se recogen en la tabla. Como todos los val9res O:ij son no negativos,
la solución propuesta es óptima y no es posible la. mejora.
e) Existe un óptimo alternativo, ya que en la tabla final hay una variable no
básica, Xt2, con indicador o:12 =O. Para obtenerlo, construimos un ciclo a partir
de la posición (1, 2). Este es
Posición
(i,j)
{1, 2)
(1, 1)
{3, 1)
{3, 2)
Valor de
Xij
25
5
15
Designación
e
e+
eo+
o-
6. Planificación de la producción. Un fabricante de chips tiene que planificar
la producción para los próximos tres meses. Los coste~ de producción por chip
son de 10 ptas en los dos primeros meses y de 15 ptas en el tercero, ya que se ha
previsto una subida de la materia prima para este último mes. El departamento
de márketing ha llevado a cabo un estudio estimando que la demanda en los tres
meses será de 300, 400 y 500 unidades, respectivamente. La fábrica puede producir
a lo sumo 500 chips por mes. Además, puede hacer horas extra durante el primer
mes, incrementando la producción mensual en 100 unidades, aunque el coste de
producción se incrementa en 5 ptas por unidad. El exceso de producción se puede
almacenar con coste de 3 ptasjmes. Se desea:
a) Formular el problema de planificación de la producción como un modelo de
transporte.
214
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 4. TRANSPORTE Y AS!GNACION
©RA-MA
b) Determinm· la solución inicial mediante el método de Vogel y resolver el
problema.
1
e) Formular el problema como un programa lineal.
300
n.o
115
2
200
4
donde
= 1 (mes 1), 2 (mes 1 en horas extra), 3 (mes 2), 4 (mes 3)
= 1 (mes 1), 2 (mes 2), 3 (mes 3).
Para construir el modelo de transporte consideramos una tabla de transporte
con cuatro orígenes, correspondientes a los tres meses de producción en tiempo
regular (1, 3,4) y a la producción en horas extra del primer mes (2). Los destinos
serán los mismos tres meses considerándolos como periodos de venta. La tabla,
con los correspondientes costes, es
2
3
(mes 1)
(mes 2)
(mes 3)
Dem.
Ti
100
o
1'"21 *lO
100
-5
rw 400 fl3 ro
500
3
ro
500
1
116
o
Posición Valor de
(i,j)
Xij
(2, 4)
(2, 2)
(3, 2)
(3, 3)
(4,3)
(4,4)
100
(mes 1 extra)
500
500
Obsérvese que se recogen, además de los costes de producción, los de inventario.
También hay posiciones "prohibidas", cuyo coste denotamos con M, que representa un valor muy grande en comparación con el resto de costes dados en el
problema. Con esta asignación se penaliza la variable de esa posición para evitar
que tome valor positivo. Por ejemplo, no tendría sentido un valor positivo de la
variable x311 pues no es posible fabricar en el mes 2 y vender en el mes l.
b) Equilibramos el problema con un ~estino ficticio j = 4 al que asignamos demanda 400. Obtenemos la solución inicial básica factible con ei método de Vogel,
que aparece en la tabla siguiente y es no degenerada. Veamos si es óptima. Calculamos primero los números MODI de fila (Si) y columna (T;) y, a continuación,
los valores indicadores (Cl.ij) de las posiciones no básicas obteniendo la tabla
100115 4oo
500
400
-16
-1
Como existen indicadores negativos no se ha alcanzado la optimalidad. La nueva
solución se obtiene a partir de un ciclo construido desde la posición con valor
indicador más negativo, que es la (2, 4), indicado con *, con C1.24 = -6. Un ciclo
a part ir de esta posición, con las correspondientes designaciones 8, es
500
3
fJ\1
400
-13
-lO
Disp.
(mes 2)
4
(mes 3)
Dem.
-6
M
fM
300
(mes 1)
2
500
ii"3
-1
2
M
x¡; = producción en el mes i que se vende en el mes j
1
íM"
3
1
ro
4
o
100 [18
M
a) Introducimos las variables de decisión
j
S¡
3
o
Solución
i
Disp.
2
1
215
Designación
o
o+
o(J+
oo+
o-
100
100
400
100
400
El valor p = min {100, 400, 400} = 100. La nueva solución se muestra en la tabla
siguiente, que incluye también los números MODI y valores indicadores
1
300
liD
200
3
1M
200
liD
M
4
Dem.
Ti
fM
300
-10
6
[21 100
[l8
M
M
1M
400
-13
S¡
500
o
100
1
ro
500
3
ro
500
1
-1
í16 *lo
6
115
Disp.
4
o
[13
6
2
3
2
1
300
í13
ro
2
200 íi5 3oo
500
400
-16
-1
Existe aun un valor indicador negativo en la posición (1, 4) , con
partir del ciclo de esta posición se tiene la nueva solución
C1.14
= -l.
A
216
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 4. TRANSPORTE Y ASIGNACION
217
7. Maximización de beneficios y transbordo. Una firma que posee tres
fábricas de discos situadas en París, Roma y Zurich, tiene que suministrarlos a
tres puntos de venta-distribución situados en Madrid, Barcelona y Sevilla. Los
cupos de producción de las fábricas para los centros de España y los costes de
fabricación por unidad son
Fábricas
París Roma Zurich
Cupos (en miles) 40
40
30
12
15
Coste/u (ptas)
10
Como tiene todos los indicadores no negativos hemos akaniado la optimalidad.
La solución es
xh = 300 (se fabrican 300 chips en el mes 1 y se venden ese mes)
xi4 = 200 {capacidad de producción del mes 1 que no se utiliza)
x24 = 100 (capacidad de producción extra del mes 1 que no se utiliza)
x32 = 400 (se fabrican 400 chips en el mes 2 y se venden ese mes)
x33 = 100 {se fabrican 100 chips en el mes 2 y se venden en el mes 3)
x43 = 400 (se fabrican 400 chips en el mes 3 y se venden en ese mes)
x44 = 100 (capacidad de producción del mes 3, que no se utiliza)
con el resto de variables igual a cero. El coste mínimo es
C*
= 300 · 10 + 400 · 10 + 100 · 13 + 400 · 15 = 14300 ptas.
e) El programa lineal (para el problema no equilibrado) que proporciona el coste
mínimo (en miles de ptas) satisfaciendo las disponibilidades (restricciones 1 a 4)
y demandas (restricciones 5 a 7) es
min C
=
10xu + 13Xt2 + 16Xt3 + 15X2t + 18xn+
+21X23 + 10X32 + 13X33 + 15X43
s.a
+ X ¡2 + X¡3
X2 1 + X22 + X23
Xu
X32
~
500
~ 100
+ X33 ~ 500
500
+ X21 ~ 300
X43 ~
X11
X¡2
+ X22 + X32 ~ 400
X¡3
+ X23 + X33 + X43 ~ 500
Xij ~
o, Vi, j
Los costes de envío (en ptas) por unidad son
Desde\A
París
Roma
Z1.1.rich
Madrid
lO
14
12
Barcelona Sevilla
15
7
6
8
5
16
Si las demandas estimadas y precios de venta (en ptas) en los tres centros de
distribución vienen dadas en la tabla
Centros de v.-d.
Demanda (en miles)
Precio venta/u (ptas)
Madrid Barcelona Sevilla
20
40
40
75
70
80
a) Formular un modelo de transporte para conocer cómo deben distribuirse los
cupos de producción para que el beneficio sea máximo.
b) Encontrar la solución óptima tomando como solución inicial la obtenida con
el método de la esquina noroeste. ¿Hay soluciones óptimas alternativas?
e) Se admite la posibilidad de que haya transbordo pudiendo, además, existir flujo de unidades París-Zurich y Madrid-Sevilla con costes 5 y 4 ptas,
respectivamente. Dibujar la red asociada a este nuevo p1·oblema, así como
la correspondiente tabla de transbordo, considerando únicamente costes de
envío entre ciudades, suponiendo que, ahora, la demanda de Madrid es de
50000 unidades. Obtener la solución.
Solución
a) Consideramos las variables de decisión
Xij = número de discos transportados desde el origen i al destino j
218
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-M_A
con i = P (París), R (Roma), Z (Zurich) y j = M (Madrid), B (Barcelona), S
(Sevilla). Los beneficios netos b¡j (en ptas) por unida~ se calculan mediante
(
Beneficio )
neto
=(
CAPITULO 4. TRANSPORTE Y ASIGNACION
pasamos a la siguiente fase, en la que determinamos una solución inicial utilizando
el MEN
Precio ) _ ( Co~te ~~ ) _ ( Coste, de )
de venta
fabncac10n
envio
M
p
40
con valores
Beneficio/u Madrid
París
60
Roma
54
Zurich
53
.
Barcelona Sevilla
53
50
52
58
44
47
Como conocemos las disponibilidades y las demandas, podemos construir la
tabla de transporte
~.....
M
p
i~·
f60
~~.
[53
rso
z
[53 [47 ¡44 30
í58
40
es
p
R
z
Dem.
B
S
ro
17 í10
f6 J8 í2
í7 í13 ITf
40
40
20
17
f6 40 J8
í7
fl3
40
40
ro
í2 ro
20 fl6 wro
20
10
í10
S
B
M
z
que hay que maximizar, ya que se dispone en cada posición de beneficio por
unidad.
b) El algoritmo de transporte es típicamente de minimización, así que debemos
transformar los elementos b¡i de la tabla anterior. Para ello, consideramos el
mayor elemento, que es bn.r = 60, y hacemos la transformación Cij = 60 - b¡;,
teniendo así un problema de minimización. Otra posibilidad es considerar la tabla
con elementos -b¡i.
Equilibramos la tabla, introduciendo un destino ficticio (F) con demanda
110- 100 = 10 y costes Oen todas las posiciones de su columna. La nueva tabla
M
ro
Disp.
F
S
40
40
30
La tabla con la solución inicial básica factible no degenerada, los números MODI
y los indicadores es
R
20
40
B
ro
-1
F
17 no Ero
- 14
40
la
16
*12 Ero
7
5
J7 fl3 20 fl6 10 ro
40
40
20
10
o
-8
-16
o
40
Disp. S¡
-6
40
o
40
o
30
o
6
[54 [52
40
z
Dem.
p
40
R
Dem.
R
Disp.
S
B
219
F
ro
ro
[[
10
Disp.
40
40
30
Dem.
Ti
Como existen valores indicadores negativos, es posible la mejora. Tomamos la
posición no básica con el valor indicador más negativo, que corresponde a (R, S)
con etRs = -14, y construimos un ciclo a partir de esa posición para la nueva
distribución de las unidades. El ciclo es
Posición Valor de
(i, j )
(R,S)
(R, F)
(Z,F)
(Z,S)
Xij
E
10
20
Designación
o
o+
oo+
e-
con valor p = min {E, 20} = €. Redistribuimos las unidades a partir del ciclo sumando la cantidad p = E a las posiciones del ciclo con designación o+, restándosela
a aquellas con designación y permaneciendo igual las variables de las posiciones
de la tabla por las que no pasa el ciclo. La nueva solución, que es no degenerada,
se muestra en la tabla que sigue, que contiene también los números MODI y los
valores indicadores de las posiciones no básicas
o-
220
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
M
p
40
B
[6 40
7
z
40
o
ro
40
14
20 -€ [16 10 +e [O
20
10
-16
o
30
o
no
rs
12
t
-9
í7
40
o
Dem.
Ti
S;
113
40
-22
f
lo
14
p
p
Observemos que existen indicadores negativos. Reiterando el procedimiento, en
dos iteraciones se llega a la tabla final
M
p
40
B
ro
z
Dem.
Ti
í7
t
flO
e í""8 20+2€ 12
[6 20 1
í7
40
o
F
9
5
R
S
9
fl3
20
40
-7
20
-1
í16
ro
z
flO
loo
15
R
roo no ro
roo
z
í5
loo no ro 10!12 zo
40
[14 20
M
110
[14
112 no ro
40
o
B
17
16
18
40
-1
30
-6
10
6
El beneficio máximo es 5540000 ptas. El óptimo es único, ya que todos los
indicadores de posiciones no básicas son positivos.
e) La figura muestra la red de transbordo del problema enunciado.
B
M
S;
Hacemos e =Oy la solución consiste en
- enviar 40000 unidades de París a Madrid
- enviar 20000 unidades de Roma a Barcelona
- enviar 20000 unidades de Roma a Sevilla
- enviar 20000 unidades de Zurich a Barcelona
- no enviar un cupo de 10000 unidades disponible en Zurich
Disp.
no
R
Disp.
6
ro5
ro
10+2t ro
221
Al tratarse de todos los nodos de transbordo, la correspondiente tabla de transbordo tiene como orígenes los cinco nodos P, R, Z, M, B y S, que también son
destinos. El problema está equilibrado, y la cantidad M =E Ooi = E bi = 110
representa el número máximo de unidades que puede transbordar por cada nodo.
-6
*17
20
R
Disp.
-15
ro
F
S
CAPITULO 4. TRANSPOFITE Y ASIGNACION
S
Dem.
[15
110
í5
110
í16
110
17
16
rs
roo
loo 11010
14
160
loo
150
S
Disp.
fl5 150
20
í5
150
116
140
14
llO
loo llO
llOIQ llO
130
Observemos que en los bordes de la tabla de transbordo aparece la cantidad 110
que, además, esta sumada en las filas a las correspondientes disponibilidades en
el caso de orígenes y en las columnas a las correspondientes demandas en el caso
de destinos. Los costes en la diagonal principal son nulos, pues corresponden a
envíos de unidades de un nodo a sí mismo. Los costes oo se han puesto en las
posiciones para las que no existe una arista que una el correspondiente par de
nodos.
La tabla de transbordo muestra la solución básica factible inicial obtenida con
el método de Vogel, que es no degenerada. En una iteración del algoritmo MODI
se alcanza la optimalidad siendo la solución óptima ·
222
PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
p
p
z
R
"no ro
00
roo
fl4
rs
M
[10
fl4
14
12
16
17
16
18
ri
23
B
S
Dem.
íl5
110
nora
23
21
10
í6
[12 30 18
23
00
150
fl6
8
110
loo llOIQ
r*
llO
roo 100130íO
150
llO
10
116 1014
160
Solución
Tenemos un problema de transbordo con Pi , i = 1, 2, orígenes puros, Vk , k =
1, 2, 3, 4, destinos puros y Cj, j = 1, 2, puntos de transbordo, como se represente¡.
en la figura.
140
í4
00
llO
150
roo
fl2 llOIQ
110
30
fl5
í5
9
l
z
20
1·
roo
loo nora
4
5
00
30
80
20
con coste óptimo e• =890. Hay óptimos alternativos, ya que el indicador apB =
O. La interpretación de la solución es que se envían
40000
10000
30000
30000
unidades de
unidades de
unidades de
unidades de
223
La empresa desea distribuir toda la producción para la semana entrante sin mostrar preferencia por la utilización de un determinado centro de control o punto
de venta, pues su interés reside en minimizar el coste global de transporte. ¿Cuál
debe ser la distribución de las plantas a los puntos de venta?
9
17
40 [10
00
Disp.
S
o
rs-
loo
00
R
B
M
6
00
CAPITULO 4. TRANSPORTE Y ASlGNACION
© RA·MA
París a Madrid
Roma a Barcelona
Roma a Sevilla de las cuales 10000 se llevan a Madrid
Zurich a Barcelona
M
60
40
o
. ,1
1
....
1
8. Problema de transbordo: cálculo de los caminos extremos. Una empresa fabrica monitores de alta resolución en dos plantas de producción P¡ y P2.
Las capacidades de producción por semana son de 80 y 60 unidades, respectivamente. Los monitores se llevan a cuatro centros de venta V¡, i = 1, 2, 3, 4, que
solicitan para la próxima semana 30 unidades para V¡, 20 para V2 y 40 para V4. V3
no ha cuantificado su demanda indicando que va a ser muy alta y aceptaría toda
la producción. La legislación vigente obliga a la empresa a transportar los monitores de las plantas a los puntos de venta a través de alguno de los dos centros
de control de calidad existentes C1 y C2 , en los que se controlan los monitores y
cuya capacidad es muy grande. El coste de control por unidad en C¡ es 4000 ptas
y en C2 6000 ptas.
Los costes en miles de ptas de transporte unitarios de las plantas a los centros
de control y de éstos a los puntos de venta, aparecen en la tabla
c1
c2
12
11
10
9
22
20
20
24
19 23
Lo resolveremos con una tabla de transporte tomando como orígenes los Pi y como
destinos los lf;. Para determinar los costes de transporte por unidad, obtenemos
previamente los caminos extremos (rutas de coste mínimo, ver Capítulo 5) desde
cada origen Pi a cada destino V;. Estas se obtienen fácilmente y se muestran en
la tabla siguiente, en miles de ptas, indicando junto a cada coste el CP.ntro de
control, nodo de transbordo, que se utilizará en la ruta
Pt
P2
37(C2)
35(C2)
36(C¡)
34(C¡)
36{C2) 40(C2)
34(C2) 38(C2)
Formulamos ahora una tabla de transporte en la que a V3 se le asigna una
demanda. igual a la producción conjunta. máxima semanal que es de 140 unidades.
Una vez equilibrado el problema, la tabla de transporte con la solución inicial por
el método de Vogel es
224
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
v2
V¡
v4
V3
mes. Se desea
m
20136 60
f36
f40
80
p2
135
í34
f34
f38
60
ro 20140ro 4040ro
90
FieL.
ro
3o
De m.
30
a) Formular como un programa lineal el plan de producción que satisfaga la
demanda con coste mínimo.
20
Observemos que la solución es no degenerada,. por lo que podemos aplicar el
algoritmo MODI. La tabla siguiente muestra los números MODI de fila y de
columna, así como los indicadores a¡i de las posiciones no básicas.
V¡
v2
1
f37
1
f35
P¡
p2
20
f36
Disp.
S¡
80
o
[38 60
2
v4
V3
60
136
f40
4
ro 20ro 20140ro 4040ro
Fict. 30
Dem.
30
T;
-36
b) Formularlo como un problema de transporte. Obtener la solución ó~t~ma
tomando como solución inicial la proporcionada por el MEN. Descnbtr el
plan óptimo de producción. ¿Es único?
e) La compañía sabe que el coste de inventario es sólo una estimación. Det~;­
minar el recorrido del coste de inventario por unidad para que la solucton
obtenida en b) permanezca óptima.
4
o
[34 60 [34
o
-36
-36
90
36
Solución
a) Definimos las variables de decisión
.
x ·R· = producción en trabajo Regular del mes i suministrada en e~ J
l]
. . 'tad
1
XiEi = producción en trabajo Extra del mes 1 sunurus r a en e J
con i = 1 Uunio), 2 Uulio), j =1 Uunio), 2 Uulio), 3 (agosto).
El programa lineal se formula
-36
Como todos los indicadores son no negativos, la solución anterior es óptima con
coste
= 4920 ptas. Si interpretamos la solución, vemos que se utiliza toda la
producción de las plantas Pt, P2 y la demanda de V2 queda cubierta. A V3 se
envían 120 unidades y a V1 y V4 no les llega ninguna. Además, hay soluciones
óptimas alternativas, ya que existen posiciones no básicas en la tabla final con
valor indicador cero, a22 = ap2 = O.
O
o·
_ FUnción objetivo que representa el coste total a minimizar
minO= 2XtRl +
3X¡R2 + 4XtR3 + 3XtEl + 4x1E2 + 5XtE3+
+6X2R2 + 7X2R3 + 9X2E2 + lÜX2E3
- Restricciones de producción máxima
9. Planificación de suministros con cost e de inventario variable. Una
compañía tiene que suministrar un producto manufacturado durante los próximos
3 meses (junio, julio y agosto). La tabla que sigue proporciona los detalles de
producción
Mes
Producción máxima
en trabajo regular
Producción máxima
en trabajo extra
Coste/u en trabajo reg.
Coste/u en trabajo ext.
Demanda
Junio
6
Julio
6
4
4
2
3
6
6
9
4
225
Hay un coste de inventario de 1 unidad monetaria por unidad de producto po1
Oisp.
P¡
60
-
CAPITULO 4. TRANSPORTE Y .ASIGNACION
X!Rl
+ X¡R2 + XtR3 $ 6
X2R2
+ X!E2 + XtE3 $ 4
+ X2R3 $ 6
X2E2
+ X2E3 $ 4
XtE!
Agosto
- Restricciones de demanda
XtRl + X!El ~ 6
XtR2 + XtE2 + X2R2 + X2E2 ~
XtR3 + X¡E3 + X2R3 + X2E3 ~
9
4
9
226
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
2:: 0, i = 1,2,
= 1,2,3
j
b) La tabla de transporte equillbrada (F destino ficticio) con la solución básica
factible inicial obtenida con el MEN es
F
14
ro
ro
2
IR
612
ei"T
lE
13
2R
loo
í6
6fT
ro
6
2E
loo
í9
3fl0 I fQ
4
Dem.
4f4 e [S
4
6
C¡R3
= 2 + 28,
C!E2
= 3+8
C2R3
= 6 + 8,
C2E3
=9+ O
Tenemos la tabla de transporte con números MODI y valores indicadores recalculados en función de 8, ahora se ha tomado como valor de penalización de las
posiciones prohibidas 500
6
4
' 13
Observemos que se han añadido 2 E-posiciones para convertir esta solución en
no degenerada. La tabla con los núm~ros MODI e indicadores para posiciones no
básicas es
2
F
3
o
lR
lE
S;
6
o
4
-1
e[3 *í4
5
413+8
6
-3
4
-6
00
2E
Dem.
Ti
40
-2
60
-3
30
-4
+ó
[500
2E
Dem.
Ti
40
-9+8
! 1
nr
4
6-8
ro
6
3
110
4
o
3 + 28
o
1
6
3'
6 1 6+6
o
491
1 9
60
-9
3
9+8
30
-9-8
1
20
o
Imponiendo la condición de que todos los valores indicadores sean no negativos,
tenemos el conjunto de inecuaciones en 8
7- ó ;:::
3
2R
1500
7-8
ro
6
ro
*13 4f4 els ro
o
Foo *16 61'7 ro
o
loo *f9 3110 1ro
6[2""
o
Disp.
2R
6
7- ó
6-ó
494 +ó
I
r 2 + 2o
6~ el2 +6
o
lE
S;
F
o
IR
Disp.
3
2
1
I
9
= 2 + 8,
CtE3 = 3 + 28,
C¡R2
Disp.
3
1
227
Además, el plan de producción no es único, ya que hay óptimos alternativos. Las
posiciones marcadas con * en la tabla tienen indicador nulo.
e) Si consideramos el coste de inventario por unidad 6, en la tabla anterior debemos escribir los coeficientes de coste haciéndolos depender de o
- Condiciones de no negatividad
XiRj 1 XiEj
CAPITULO 4. TRANSPORTE Y ASIGNAC ION
@RA-~
o,
6 - 8 ;:::
o,
494 - 8 ;:::
o,
491 - 8 ;:::
o.
Tomando sólo valores no negativos, proporciona el intervalo ó E [0, 6] , para el
que se mantiene la optimalidad de la solución obtenida·en b).
O
20
6
Como todos los indicadores son no negativos, la solución es óptima, con coste
e• = 100 unidades monetarias. Haciendo € = O, interpretamos la solución
xrRl = 6 u a fabricar en trabajo R. en junio para suministrar en junio.
:tis2 = 4 u a fabricar en trabajo E. en junio para suministrar en julio.
x2R3 = 6 u a fabricar en trabajo R. en julio para suministrar en agosto.
x2;;3 = 3 u a fabricar en trabajo E. en julio para suministrar en agosto.
x2EF = 1 u es la capacidad de producción E. en julio que no se utiliza.
10. Planificación de niveles de producción. Una empresa produce cuatro
detergentes denominados Di, i = 1, 2, 3, 4, a partir de cuatro materias primas
denominadas iV!j ,j = 1,2,3,4. La composición porcentual de los detergentes es la
siguiente
50
20
70
60
10
30
50
20
10
20
228
CAPITULO 4. TRANSPORTE Y ASIGNACION'
@RA-~
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Las materias primas llegan de cuatro proveedores (P1 , P2, P3 , P4 ), que pueden
proporcionar las siguientes cantidades máximas
El detergente D 1 utiliza las materias primas M1, M2 y M4 , y la disponibilidad es
de 90, 170 y 210 t, respectivamente. Así, se pueden fabricar de Dt como má.:<iroo
. { 90 170 210}
mm .3 , .5 , .2
Prouwlor Cantidad en t Materias primas
100
M¡,Mz
llO
Mt,AhM3
M2,M3,M4
M3,M4
70
320
que consume
La capacidad de almacenamiento en t de que dispone la empresa es
Materia prima
Capacidad alm.
M1
M2'
M3
M4
90
170
110
210
Los costes de transporte por t desde cada proveedor y de cada mate1·ia prima son
20
10
30
10
30
40
30
40
Solución
Planteamos la tabla de transporte tomando como orígenes los proveedores y como
destinos las materias primas. Una vez equilibrada, determinamos la solución
inicial con el método de la esquina noroeste, que comprobamos es óptima.
P¡
M2
9o no
10
120
25
p2
125 nono
F
M4
M3
00
00
loo
o
flO
loo
00
roo
o
00
p3
loo
00
p4
Dem.
Tj
roo
90
-10
50
f30
roo170
-20
20
f30
140
90
110
-20
= 300
t
Toda la materia prima M1
.5 x 300 = 150 t de M2
.2 x 300 = 60 t de M4
Puesto que se consume toda la materia prima .M1, el único detergente que se
puede fabricar ya es el D3. Este utiliza las materias primas M2, M3 y M4, siendo
las disponibilidades respectivas de 20, 110 y 150 t. Se pueden fabricar de D3
como máximo
. {20 110 150}
mm Ji'~~ j
= 33.33 t.
o
Si la empresa tiene establecido un orden de prioridad en la fabricación de los
detergentes que se corresponde con su numeración, detenninar la cantidad que se
fabricará de cada detergente, teniendo en cuenta que se desea minimizar el coste
de transporte.
Mt
229
f30
140
210
210
-20
Disp.
S;
100
o
llO
10
70
-10
320
-20
20
ro
ro
ro
ro
30
10
20
20
20
11. Problema de transporte en tiempo mínimo. Un almacenista de fruta
dispone de tres depósitos D¡, D2, Da, a los que acaban de llegar 8, 7 y 5 t de
fruta, respectivamente, que debe transportar en el menor tiempo posible a cuatro
ciudades C1, C2, Ca, C4. Las demandas de las ciudades son 3, 7, 6 y 4 t. Los
tiempos de transporte (li;) en horas de los depósitos a las ciudades, se muestran
en la tabla
15
23
12
19
16
13
20
18
15
Resolver con un modelo de transporte la distribución de la fruta de los depósitos
a las ciudades de modo que el tiempo empleado sea mínimo.
Solución
Este problema consiste en completar todos los envíos de los orígenes a los destinos en el menor tiempo posible. Matemáticamente, si Xij indica el tiempo de
transporte desde el origen i al destino j y T es el tiempo necesario para completar
todos los envíos, entonces T = max {Xij} V (i, j) con x¡; > O. El objetivo consiste
en determinar el tiempo x¡; > Oque satisfaga las restricciones de disponibilidad y
demanda y minimice T. Lo resolvemos con el algoritmo de transporte en tiempo
mínimo, que utiliza la misma tabla de transporte que en los problemas con costes.
230
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Comenzamos por construir la tabla de transporte, que es equilibrada y ob.
tenemos la solución básica factible inicial con el método de coste mínimo, que
es
c2
114 2fl5
D2
D3
Dem.
31iQ
fl7
3
p = min{x¡;}
9-
f23 4íl6
[18
7
D¡
c2 c3 c4
Eíi4 2fl5 6f19
113
ns
4
5
D2
3110
5fl2
6
7
Disp.
La nueva solución, que se obtiene a partir del ciclo, es
8
C¡
D3
Dem.
El tiempo de envío para esta solución es
Existe una posición en la tabla con t¡i ~ 20, que corresponde a la posición
(D2, C2), cuyo tiempo es t22 = 23, que eliminamos. La nueva tabla, prescindiendo
de tal posición es
C¡
D1
íi4
D2
3Jl0
D3
De m.
li7
3
= min{4,4} = 4.
2[19
Cs
Cz
c3
c4
Disp.
2115
2119
4[20
8
4íi6 fl8
fl3 115
7
5(12
7
5
4
6
Construimos un ciclo que parte de la posición básica con tiempo igual a T y
asignación
Este ciclo debe pasar por una posición no básica que no haya sido
eliminada, que tendrá asignación e+. La variable básica x 14 es la que tiene tiempo
de transporte máximo igual a 20, y un ciclo con la condición indicada es
[17 5li2
3
7
113 115
5
4
6
7
8
4n:B
Posición Valor de
(i, j)
Xij
(1, 3)
6
(3, 3)
(3, 2)
5
(1, 2)
2
con p = min {6,5}
Designación
o+
o
o+
oo+
= 5. La nueva solución, en la que la variable X32 deja la base,
es
c1
c2
c3
c4 .
Disp.
D¡
t:íi4 7115
D2
3110
fl6
4118
7
fl7
fl2 5fl3
7
115
4
5
3
Designación
o+
oo+
oo+
· íl6
Disp.
Como la solución ha pasado a degenerada, añadimos una €-posición, por ejemplo,
en (D 1, C1), por ser posición independiente. Ahora, T = 19 y eliminamos la
posición no básica (D1 , C4 ) , ya que t 14 = 20 ~ 19. Construimos, para la variable básica x13 con t13 = 19, el ciclo
e-.
Posición Valor de
(i, j )
Xij
(1, 4)
4
(2,4)
(2,3)
4
(1,3)
2
231
El valor máximo que hace a todas las variables no negativas es
c4
4120
C¡
D¡
CAPITULO 4. TRANSPORTE Y ASIGNACION
@ RA-~
Ds
Dem.
1[19
6
8
De nuevo T = 19, que corresponde a la posición básica (D¡, C3}. Ahora no
podemos eliminar ninguna-posición no básica, pues todas tienen tiempo menor
que 19. Un ciclo para la posición (D1, C3) es
232
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
©RA-MA
Posición Valor de Designación
(i, j)
(1,3)
(2,3)
(2, 1)
(1,1)
con p = min {3,1}
1
3
(
x23
Dt
1+ f
D2
2
[17
3
c4
c3
Disp.
8
1116 4fl8
í12 5ílf" 115
7
7
5
4
6
Ahora T = 18 para la posición (D2, C4 ) . Eliminamos la posición (D 1 , C3 ), pues
= 19 2: 18. Un ciclo para la posición básica (D2 , C4 ) es
t13
Posición Valor de Designación
con p = min {4, 5}
(i,j)
X¡j
(2,4)
(3,4)
(3, 3)
(2,3)
4
o+
o
o+
oo+
5
1
Dt
D2
c3
c4
l +ffl4 7¡i5
2 fl0
D3
Dem.
c2
3
[12
7
Disp.
8
5í16
7
1fl3 4¡i5
5
6
12. Movimient o de tierras en la construcción de una carretera. Se va
a construir· una carretera entr·e dos ciudades que distan 38 km. En esta obra
existen, por una parte, zonas de desmonte en las que hay que excavar y quitar
la tierra sobrante¡ por otra, zonas de relleno a las que hay que traer tierra para
su n·ivelación. Se desea utilizar la tierra de los desmontes para rellenar las zonas
profundas. Si sobra, se llevaría a un vertedero que dista 7 km del km 3 de la
carretera. Si fuera necesario, se podría traer tierra para relleno de un depósito
de gran capacidad situado a 6 km del km 23.
Los datos relativos a los lugares donde hay que desmontar y rellenar a lo largo
de la carretera y m3 que hay que mover son
Carretera
m3 de
km
desmonte relleno
460
975
750
420
370
140
665
3
4
12
18
23
25
35
= 4. La nueva solución es
Ct
o
con un tiempo mínimo de 16 horas.
fl4 7 ¡i5
flO
D3
Dem.
c2
= 5¡ enviar 5 t de Dz a C3.
x33 = 1¡ enviar 1 t de D3 a C3.
x34 = 4¡ enviar 4 t de D3 a C4.
= l. La nueva solución es
c1
233
xh = 7¡ enviar 7 t de D1 a C2.
xh = 2¡ enviar 2 t de D2 a C1 .
o+
oo+
oo+
Xij
CAPITULO 4. TRANSPORTE Y ASIGNACION
4
Ahora T = 16, que corresponde a la posición básica (D2, C3) . Eliminamos la
posición (D3, Ct) y no es posible ciclo alguno para la posición (D2 , C3 ). Por
tanto, la solución es óptima y consiste en
xi 1 = 1; enviar 1 t de D 1 a C1.
Los costes de transporte se suponen proporcionales a [(J. distancia. Si se utiliza
el depósito obligan a extraer un mínimo de 60 m3. Determinar el movimiento de
tierras con coste mínimo.
Solución
La figura muestra un esquema .de la carretera con los puntes kilométricos donde
hay que hacer desmontes, rellenos y la situación del vertedero y el depósito.
r¡.
234
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
7
23 25
4
o
12
3
35
18
38
Lo modelizamos como un problema de transporte en el que:
t¡
:"'r
~,
r.f·..
1'
\
"..
...~·
- los orígenes i son los puntos de desmonte
- los destinos j son los puntos de relleno
- Cij es el coste de transporte, proporcional a la distancia de i a j
- las disponibilidades son los volúmenes de desmonte de los orígenes i
- las demandas son los volúmenes de relleno de los destinos j
- Vert. es la cantidad de tierra que debe aceptar el vertedero
- Dep. es la cantidad de tierra necesaria del depósito
Esta última cantidad coincidirá. con la diferencia entre el volumen total de
desmonte y el de relleno. Puesto que esta diferencia es de 30 m3, necesitamos
tierra del depósito. Ahora bien, nos imponen la condición de que debemos extraer
un mínimo de 60 m3 . Por tanto, consideraremos Dep. como un origell con una
disporubilidad de 60 m3 .
Construimos la tabla de transporte imponiendo al vertedero una demanda de
30 m3 . Tenemos así un problema equilibrado. La solución inicial básica factible
proporcionada por el método de Vogel es óptima. La tabla contiene la solución
óptima, que es no degenerada. Además, existen óptimos alternativos (a14 = 0).
km4
km 18
430
11
km 12 545
í8'"
km 35
[31 155
km3
205
12
Dep.
Dem.
TJ
r*
975
5
-1
6o
km 23
km 25
Vert.
16
26
30
[15
[20
122
lO
14
í6
í1l
113
117 370 fl2 140 no
ru
420
1
o
í6
370
6
4
18
140
8
Disp.
3017 460
CAPITULO 4. TRANSPORTE Y ASIGNACION
©RA-tv!A
S¡
o
Interpretamos la. solución:
- Llevar 430 m3 del km 3 al km 4.
- Llevar 30 m3 del km 3 al vertedero.
-Llevar 545m3 del km 12 al km 4.
- Llevar 205 m3 del km 12 al km 18.
- Llevar 155 m3 del km 35 al km 18.
- Llevar 370 m3 del km 35 al km 23.
-Llevar 140m3 del km 35 al km 25.
- Llevar 60 m3 del depósito al km 18.
235
o
13. Análisis de sensibilidad en una t abla de t ransport e. Dada la tabla de
transporte
2
3
5
4
Disp.
1
24
2
18
3
20
4
Dem.
23
a) Obtener la solución óptima.
b) Si el coeficiente de coste c1.¡ = 4 pasa a C14 = 2, ¿afecta a la solución
óptima?
750
-7
e) Si el coeficiente de coste c35 = 7 pasa a c35 = 1, ¿afecta a la solución
óptima?
f39 665
- 18
d) Determinar el recorrido de optimalidad del coeficiente de coste C45·
~3
- 12
e) Determinar: l_a nueva solución óptima si
c45 = 9.
2
fl6
14
30
-7
60
C45
= 5 pasa
a tomar el valor
f) Si todos los costes de la columna cinco se disminuyen en 4 unidades, ¿cómo
afecta a la solución óptima?
236
CAPITULO 4. TRANSPORTE Y ASIGNACION
PROGRAMACION LINEAL Y APLICACIONES: EJERClCIOS RESUELTOS
g) Si la disponibilidad del origen 4 y la demanda del destino 1 aumentan en
ó unidades, determinar el recorrido de ó para que se mantenga la solución
óptima actual. Determinar la solución óptima para ó = 3.
Como se convierte en negativo, se pierde la optimalidad y debemos aplicar, por
ejemplo, el algoritmo MODI para alcanzarla de nuevo. Un ciclo para la posición
(3,5) es
h) Determinar el coste óptimo si en el apartado anterior se hace ó = 15.
Posición Valor de Designación
(i,j)
1
2
4
3
1
1114
2
3fT
2
3
fT
13
í5
16
2
í8 116
3
í6 20 í3
3
14
f2
í7
4
19
3
5
f2
í7
2
2
í8
14
1
4
Dem.
T;
16 416
14
-4
17
-5
14
5
3
1
1
21
-5
14
-1
19 í5
19
-4
Disp.
S¡
24
o
18
-1
20
2
23
-1
El coste asociado es e• = 337.
b) Si c14 = 4 pasa a tomar el valor c14 = 2, como es un coeficiente de coste no
básico, por corresponder a una posición o variable no básica en la tabla óptima,
sólo afecta a su indicador, que calculamos nuevamente. Así,
Como 6 14 = 1 ~O, se mantiene la optimalidad.
Para determinar el recorrido para el que se mantiene la optimalidad, basta
con hacer
a14 = s, + T4 + Ct4 =o+ (-1) + C(4 ~o
por lo que el intervalo de optimalidad para este coeficiente es C¡4 E [1, +oo).
e) Si C35 = 7 pasa a tomar el valor c35 = 1, sólo afecta al indicador de la posición
no básica (3, 5), que recalculamos
con
8
Xiz
(3,5}
(4,5}
(4,2)
(1, 2)
(1, 1)
(2,1)
(2,3)
(3,3)
Solución
a) El problema es equilibrado. Partiendo de la solución básica factible inicial
proporcionada por el método de Vogel, en una iteración del método MODI se
alcanza la optimalidad. La tabla que sigue contiene la solución óptima, que es
no degenerada, además de los números MODI e indicadores de las posiciones no
básicas.
..ll
..
237
o+
oo+
oo+
oo+
o-
19
4
13
11
3
1
20
= min
{x¡;} = min {19,13,3,20} = 3.
o-
p
Redistribuyendo las unidades a partir del ciclo, se obtiene la solución óptima
1
1
2
14fT
1
rs
3
4
3
fT
16
Dem.
T;
14
-4
7[6
17
-5
24
o
[9 18
o
311
20
3
rs
23
-1
3
16
fT
í1
4[6 14
f2
f"3"
f2
1
1
17
1
16
S¡
2
3
rs
Disp.
5
o
10fT
2
4
4
3
[8
21
-6
5
3
í4
14
-2
16
19
-4
con coste e· = 334.
d} El coeficiente de coste c45 es básico, corresponde a una posición básica. en la
tabla final, por lo que un cambio en él puede afectar a la solución dual y, por
tanto, a los indicadores de las posiciones no básicas. Sustituyendo el valor actual
por el valor genérico C4s, recalculamos los números MODI (hacemos, por ejemplo,
T5 = O) y los indicadores, obteniendo la tabla
238
1
1
2
13~
T;
-5 + C4s
¡-9
rT-
¡-&
416
17
21
14
-6 + C45 -6 + C45 - 2 + c4s
24
1-
C45 ;::::
18
-c4s
0,
9-
C45 ;::::
0,
2
20
3-
C4s
10 -
1
1114
2
3js
13
19~
C45 ;::::
5
3
-1
16
14
[7
116 14 ~
19
23
-c4s
3
2
3
14
16
20
3
1
í3
12
17
2
2
18
14
1
4
Dem.
T;
16 416
14
17
4
3
21
3
14
7
0
Disp.
S¡
24
-8
18
-9
19 ~
19
23
-6
-9
o
e·
(4,5)
(4, 2)
(1, 2)
19
4
13
Designación
O
o+
ooo+
1
3
15
í6
í4
4
Dem.
Ti
í4
o
í6
14
-4
lj6 14¡2
S;
24
o
18
-1
13 fT
[6 20
19
3
2
í3
í2
fT
20
2
1
1
í4 6f9
23
-2
4
17 f6
17
-4
Disp.
1
í8
21
14
-1
-5
19
-7
que es óptima, con coste e• = 400. Además, hay óptimos alternativos, ya que
cr41 = O en esta tabla final.
f) Con simples operaciones algebraicas es fácil comprobar que Jos indicadores
permanecen y, por tanto, permanece también la optimalidad de la solución. Sin
embargo, el valor óptimo de la función objetivo cambia en la cantidad que se
obtiene multiplicando el valor -4 por la demanda de la columna que sufre la
variación sobre los costes que en este caso es b5 = 19. De manera precisa., la
nueva función objetivo sería
~
4
4
4
e• = 2:: 2:: CijXij + 2:: (Cis- 4)Xi5 =
i= 1
i=l j=l
20
con coste
= 413.
El indicador de la posición (1, 5) pasa a negativo, y hay que volver a buscar
la optimalidad. Aplicando el método MODI, comenzamos construyendo un ciclo
para esa posición, que es
Posición Valor de
(i,j)
X¡ ·
(1, 5)
3
o
2
la
5
4
l
rs
315
19
1
f5
2
2
o
4
3
11¡4
1
3
2
3
17
que proporcionan el recorrido de optimalidad c45 E (- oo, 8].
e) Si C45 = 5 pasa a tomar el valor c,¡5 = 9 ~ (-oo, 8], se pierde la optimalidad,
siendo ahora la tabla de transporte con los valores modificados
1
1
C4s
Imponiendo a esta tabla la condición de optimalidad, tenemos el conjunto de
inecuaciones en c4.5 ,
8-
239
= 13. La nueva solución es
10- C45
3
12
2013
2
16
17
14~
3
16
1
14
con p = min {19, 13}
Y AS IGNACION
8- C45
9- C45
í8 116
14
4
¡;¡--
16
2
2
Dem.
3
S¡
Disp.
5
4
1
11fT
3 ¡--s-
3
3
2
TRAI~SPORTE
CAPITULO 4.
@RA-~
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
4
5
=¿ ¿
i= l j=l
4
CijXij
+ (-4) ¿
i= l
X¡s
= e· + (-4) 19 = e· - 76 = 26{.
g) Ajustamos los valores de las variables básicas de la t(!bla. óptima de modo que
se cumplan las restricciones de disponibilidad y demanda, y con la idea de tratar
de enviar por las posiciones con menor coste. Una forma de hacerlo consiste en
construir un ciclo para la posición (4, 1) y repartir 6 unidades. De esta forma, se
tiene la solución
240
PROGRAMACION UNEAL Y APLICAClONES: EJERCICIOS RESUELTOS
1
1
2
f4
11 +ó
3
3
13- ó 15
Dem.
f6
2
rs
ra
2
3
f4
16
f6
f6 4+ó
14+ó
17
1f6
20
3
f4
14 f2
f3
f7
4
19
18
5
12
[7
20
[4" 19
rs
23+ó
2
2
ra
21
24
3
14
que proporcionan el recorrido de optimalidad ó E [ -4, 13] .
Para ó = 3, es inmediato de la sustitución de ese valor en la tabla que la
solución sigue siendo óptima y que e· =352.
h) Para ó =15 tenemos la tabla
4
3
1
26 [4" -215
2
3["5
3
3
f4
f6
T;
*16
29
-4
19 f6
17
-5
24
o
18
-1
20
2
19 15 38
19
-4
-1
3
í6
[4"
í7
26
-2
19
8
8
ee+
e-
= - x12 = 2.
La nueva solución que se tiene a
2
1
24 [4"
4
3
1
3
4
í5
f6
[4"
í7
3
2
3["5
2
3
4
Dem.
T;
[4"
18
1f6 14
Disp.
S;
24
o
18
-1
3
f2
í7
3
6
f3
f2
í7
20
2
1
1
19 15
19
-3
38
-2
4
f6 20
2f6 17 f6
29
17
-4
-4
que es óptima, con e·
5
1
ra
21
-5
=414.
í4
14
-1
o
4
f2
í7
f3
3
5
20
f2
í7
2
2
l
4
De m.
S;
3
[8 1f6 14
2
Disp.
5
1
2
X¡;
con p = rni.no+ {-Xij, Xij <O}
partir del ciclo es
1
2
(i,j)
(4, 1)
(1,1)
(1,2)
(4,2)
19
Si exigimos que las variables básicas sean no negativas, tenemos el conjunto de
inecuaciones en ó
11 + ó ~ o, 13 - ó ~ o, 4 +ó ~ o
1
241
Posición Valor de Designación
Disp.
5
3
1
l
4
4
3
2
CAPITULO 4. TRANSPORTE Y ASIGNACION
@RA~
*ls *14
21
-5
14
-1
en la que vemos que la variable x12 se hace negativa y debe salir de la base.
Si hubiera varias variables negativas, tomaríamos la más negativa. Para ello,
aplicamos el algoritmo del simplex dual para el problema de transporte equilibrado. Determinamos el conjunto N de posiciones no básicas para las que la
posición (1, 2) está en un ciclo construido a partir de ellas y con designación e+.
Se ve fácilmente que tal conjunto es N= {(4, 1), (4,3), (4,4)} (marcados con
* en la tabla). De él tomamos la posición con menor indicador, que es la (4, 1).
Construimos un ciclo para esta posición
14. Una red de transbordo. La red de la figura representa un problema
de transbordo. El número sobre cada arista indica coste de envío por unidad
entre dos vértices; el de cada vértice, demanda si es negativo y disponibilidad
si es positivo. Formular el problema de transbordo correspondiente, resolverlo e
interpretar la solución.
15
10
242
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
Solución ·
Los orígenes serán B, D y E. Los destinos A y e siendo, además, todos ellos
puntos o nodos de transbordo. Construimos la tabla de transbordo de dimensión
5 x 5 donde los costes de la diagonal son nulos, representan flujo de unidades de
un nodo a sí mismo, y hay posiciones prohibidas que corresponden a una arista
que no existe en la red. El problema está equilibrado con valor M= 50 y la tabla
de transbordo es
B
B
50
ro
8
r-s
í7
f3
[5 20 í3
í7
E
rs
15
5
6
f3
í3
8
10
14
15
50 '10
6
e
Dem.
50
15¡4
65
5 15
75
roo
60
í9
50
ro
50
6
D
A
Disp.
1
10
6
e
A
E
D
4
50
5o
10
1014
8
14
5o
7
ro
11
loo
50
f9
80
50
CAPITULO 4. TRANSPORTE Y ASIGNACION
©RA-MA
70
Esta tabla contiene la solución inicial básica factible del método de Vogel que,
además, es óptima. Esta solución consiste en:
- enviar 15 unidades de B a C
- enviar 20 unidades de D a A
- enviar 5 unidades de D a e
- enviar 10 unidades de E a A
con coste C* = 185. Es interesante observar que no se llega a utilizar ninguna de
las aristas origen-origen ni destino-destino. Así, esta solución coincide con la que
se obtendría resolviendo el correspondiente problema de transporte sumergido.
Esto puede observarse en la tabla, puesto que la cantidad M = 50 aparece en
todos los elementos de la diagonal
o
15. Solución de un problema de asignación. Una empresa de alimentación
tiene en plantilla cuatro ejecutivos E¡, i = 1, 2, 3, 4, que debe asignar a cuatro
grandes clientes ej, j = 1, 2, 3, 4. Los costes estimados (en millones de ptas) de
la asignación de cada ejecutivo a cada cliente son
E1
15 19
20
~
14
15
17
E3
11 15
21 24
15
26
E4
243
18
14
14
24
a) Resolver el problema de asignación mediante enumeración.
b) Formularlo como un programa matemático.
e)
Modeli~arlo
como un problema de transporte y resolverlo tomando como
solución inicial la de Vogel.
d) Resolverlo con el método húngaro.
Solución
a) Observemos que el problema está equilibrado por. ser iguales el número de
ejecutivos y el de clientes. Para resolverlo por enumeración complet(!. o exhaustiva,
podemos aplicar los siguientes pasos:
l. E 1 se puede asignar a cualquiera de los cuatro clientes.
2. Una vez asignado E1, Eh se podrá asignar a cualquiera de los otros clientes.
3. Análogamente, E3 se podrá asignar a cualquiera de los dos clientes restantes.
4. E4 debe asignarse al único cliente que queda libre.
D~ acuerdo con este procedirnien_to enumerativo, habrá 4 x 3 x 2 x 1 = 24
posibilidades y elegiremos aquella que tenga menor ooste. La tabla muestra
algunas de tales posibilidades
Asignación
Clientes
Coste
k
e1 e2 e3 e4
1
E2
E,¡
2
E¡
E¡
~
E4 E,¡
69
70
24 1r
E4
E3
~
71
E4
Et
Ck
244
tl
El lector puede completar los cálculos y comprobar que la asignación de coste
mínimo es
E¡ E2 E3 E4
t
Ct
f1
1
CAPITULO 4. TRANSPORTE Y ASIGNACION
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
¡
c4
t
Ca
t
c2
con coste C* = 68.
Obsérvese que, si en general hubiera n ejecutivos y clientes, habría n x
(n - 1) ·x · · · x 2 x 1 = n! posibles soluciones. Si fuera, por ejemplo, n = 10, que es
un número pequeño, se tendrían 3628800 posibilidades, que hace pensar que esta
·aproximación es impracticable en problemas reales.
c2
C¡
c3
c4
Disp.
E¡
í15 e¡i9
1f20
í18
1
E2
114 eíl5
117
1114
1
E3
l fll
í15
~:fl5
[14
1
E4
121
1í24
1
126
í24
1
l
Dem.
1
1
245
En una iteración del algoritmo MODI se alcanza la tabla óptima
b) Para construir un programa matemático, introducimos las variables 0-1
C4
Disp.
o
si el ejecutivo Ei se asigna al cliente Cj
en otro caso
consideramos la función objetivo que representa el coste total de la asignación
y las restricciones que implican que cada ejecutivo se asigne a un cliente (cuatro primeras restricciones) y que a cada cliente se asigne un único ejecutivo (cuatrr
últimas restricciones). Así, tenemos el programa 0-1
min C
=
15xu + 19Xt2 + ··· + 24X44
s.a
4
L
j=l
4
Xij
= 1,
i
= 1,2,3,4
L Xij = 1, j = 1,2,3,4
Xij = 0,1 \:/i,j = 1,2,3,4
í=l
Lo resolvemos con el algoritmo de ramificación y a~otación (ver Capítulo 6). La
solución óptima es
con el resto de las variables cero y C* = 68.
e) La modelización como un problema de transporte conduce a una tabla que tiene
la particularidad de que sus bordes, disponibilidades y demandas, son la unidad.
La tabla de transporte con la solución básica factible inicial con el método de
Vogel, con 3 ~:-posiciones, es
y corresponde a la misma solución óptima que hemos obtenido anteriormente.
Además, la posición no básica (1, 4) tiene valor indicador a 14 =O, así que podría
existir un óptimo alternativo. Si realizamos un paso del algoritmo MODI, observamos.que la nueva solución es la misma, ya que sólo han cambiado la colocación
de los ~: .
La mayor objeción a la resolución del problema de asignación con el algoritmo
de transporte proviene de la alta degeneración de la solución inicial. La conversión
en una solución no degenerada y su mantenimiento ·a lo largo del proceso de
solución, suponen un esfuerzo computacional suplementario importante que hace
poco eficiente su uso.
d) Resolvemos el problema con el método húngaro, un algoritmo específico para
el problema de asignación, computacionalmente más eficiente que los procedimientos anteriores. La tabla de asignación inicial, que es de minimización, es
C¡
E¡ 15
E2 14
EJ 11
E4 21
c2 c3
c4
19
15
15
24
18
14
14
24
20
17
15
26
246
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
@RA-MA
CAPITULO 4. TRANSPORTE Y ASIGNACION
.·
Como la tabla tiene todos los costes no negativos, podemos comenzar la aplicación del algoritmo cuyo primer paso consiste en generar ceros restando el menor
elemento de cada fila de todos los elementos de su fila y haciendo lo mismo para
las columnas con la tabla obtenida. La nueva tabla es
C¡
c2
~
Para ver si es posible una asignación independiente de ceros, es decir, que exista
al menos un cero por fila y columna, aplicamos la heurística que consiste en
buscar la fila con menor número de ceros en la tabla obtenida, marcar uno de
los ceros de la fila (aparece en negrita en la siguiente .tabla) y tachar el resto de
ceros (lo indicamos poniendo x) que se encuentran en la misma fila y columna
que el cero marcado. La fila con menor número de ceros es la primera, rompemos
empates tomando la fila superior), así que marcamos el cero de la posición (1, 1)
y tachamos los ceros de las posiciones (2, 1) , (3, 1) y (4, 1) . Ahora, la fila con
menor número de ceros (no tachados) es la segunda. Marcamos, por ejemplo, el
cero de la posición (2, 2) y tachamos los de las posiciones (2, 3) y (2, 4). La tabla
es
C¡
E¡
o
~
X
E3
E4
X
X
c2
3
o
3
2
o
~
X
X
E3
E4
c3 c4
o 3 2 3
o o o o
EJ o 3 1 3
E4 o 2 2 3
E¡
c3 c4 1
2
3
X
X
1
2
3
3
Como no hemos conseguido un cero marcado por fila, no tenemos una asignación
independiente, y el algoritmo debe continuar generando ceros ~dicionales sobre
la tabla obtenida. Para ello, aplicamos el siguiente procedimiento: 1) Marcar
todas las filas (con -1 a la derecha de la fila) que no contienen un cero marcado,
que serán la tercera y cuarta. 2) Marcar columnas (con l.) que tienen un cero
tachado en filas marcadas, que sólo será la primera columna. 3) Marcar toda fila
que tenga un cero marcado en una columna marcada, que será la primera fila.
4) Repetir 2) y 3) hasta que no haya más filas y columnas que marcar. La tabla
con filas y columnas marcadas es
c2
C¡
E¡
c3 c4
2
o
3
X
X
3
2
1
2
3
3
3
X
247
-l
-l
-l
.L
A continuación, debemos pasar lineas a través de las filas no marcadas y
las columnas marcadas, que indicaremos con flechas como se puede observar en
la tabla y que es el menor número de lineas verticales yfu horizontales (L. C.)
que cubren todos los ceros de la matriz (hemos quitado la marca de los ceros y
restituido los ceros tachados).
c2
C¡
c3 c4 L.C.
o 3 2 3
o o o o
o 3 1 3
o 2 2 3
t
E¡
&
E3
E1
L.C.
f-
Ahora, seleccionamos el menor de los costes no cubiertos por las líneas anteriores.,
siempre será un valor positivo al estar todos los ceros cubiertos, que es cm = 1 que
corresponde a la posición (3, 3) . Esta cantidad la restamos a todos los elementos
no cubiertos, la sumamos a los elementos cubiertos que estén en la intersección
de una línea vertical y horizontal, y permanece igual el resto. La nueva tabla es
C¡ c2 c3 c4
E¡
o
2
1
2
o o o
EJ o 2 o 2
1
2
E4 o l
~
l
De nuevo, comprobamos si es posible marcar un
C¡
c2
c3
2
1
2
X
X
o
2
2
E¡
o
~
1
o
E3
E4
X
2
1
X
c~ro
1
por fila. Tenemos
c4
Como no hay un cero marcado por fila, no hemos alcanzado una asignación óptima
y debemos generar nuevamente ceros adicionales. Aplicando el procedimiento de
antes, el menor número de lineas que cubren todos los ceros está indicado en la
tabla
248
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Ct
E2
E3
E4
o
o
L. C.
t
c3 c4 L.C.
Cz
2
o
Et
1
2
o o o
2 o 2
1
1
1
ff-
2
CAPITULO 4. TRANSPORTE Y ASIGNACION
b) Resolverlo con el algoritmo de asignación generalizada.
Solución
a) Introducimos las variables de decisión 0-1 (ver Capítulo 6),
El menor elemento no cubierto es cm = 1, y la nueva tabla de asignación que
también contiene los ceros marcados y tachados, es
Ct
E1
o
Cz
1
~
X
~
2
1
E4
X
2
o
c3 c4
X
X
o
X
1
o
2
1
Esta tabla tiene un cero marcado por fila. Por tanto, se ha alcanzado la optimalidad. La solución es la misma de los apartados anteriores.
O
16. Asignación generalizada. Un sistema de procesamiento compartido tiene
tres ordenadores diferentes Oi, i = 1, 2, 3 y debe procesar seis tareas Ti, j =
1, ... , 6, que pueden realizdrse en cualquiera de los tres ordenadores, pero con la
condición de que tendrán que completarse en el ordenador en el que se iniciaron.
Los tiempos de procesamiento tij, en minutos, de las tareas variarán según el
ordenador, tal como se muestra en la tabla, que además contiene en su fila inferior
el tiempo total disponible para cada ordenador.
Tarea
T. disponible
Ordenador
Ot Oz 03
18 16 12
14 21 19
23 27 33
16 24 23
17 24 24
25 28 30
47 41 46
Se desea conocer qué tareas se asignarán a cada ordenador de forma que el tiempo
total de procesamiento sea mínimo.
a) Formularlo como un programa matemático y resolverlo.
249
,.. .. - { 1
"''3-
o
con i
sí la tarea Ti se asigna al ordenador O;
en otro caso
= 1, ... , 6 y j = 1, 2, 3. Consideramos como función objetivo el tiempo total
T de la asignación, que·habrá que minimizar, y toma la forma
T
= 18x11 +16x12 + 12x13 + 14x21 + 21x22 + 19X23+
+23X31 + 27X32 + 33X33 + 16X41 + 24X42 + 23X43+
+ 17x51 + 24xs2 + 24xs3 + 25x61 + 28x62 + 30X63
Las restriciones se deben a:
- Cada tarea se procesa en un sólo ordenador
3
L Xij = 1,
i = 1, ... , 6
j=I
- Limitación del tiempo disponible en cada ordenador
18x 11 + 14x21 + 23x31 + 16xu + 17xsl + 25xol ~ 47
16x12 + 21x22 + 27x32 + 24X42 + 24Xs2 + 28X62 ~ 41
12x 13 + 19X23 + 33x33 + 23X43 + 24Xs3 + 3ÜX63 ~ 46
Resolviéndolo con el algoritmo de ramificación y acotación (Capítulo 6) se obtiene
la solución óptima
•
X¡3
• = 1, X32
• == 1,
= 1, X21
• -- 1, Xs¡
• -- 1• x•63 -- 1
x41
con el resto de las variables cero y T* == 116 minutos. La asignación óptima es
Ordenador
Tareas
250
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
b) Resolvemos el problema con el algoritmo de asignación generalizada, similar
al método de Vogel para el problema de transporte. Adviértase que con este
algoritmo no hay garantía de alcanzar la solución óptima.
El algoritmo emplea tablas cuyas filas corresponden a tareas y las column~ a
ordenadores. Comienza comprobando que todos los ordenadores pueden realizar
al menos una tarea, es decir, existe al menos una tarea i, tal que
til
$ 47,
ti2
$ 41,
tiJ
$ 46.
En otro caso se habría prescindido de la columna que no hubiera cumplido la
condición, pdes el correspondiente ordenador no dispondría de tiempo suficiente
para realizar ninguna tarea. La tabla inicial es
Ordenador
O¡ 02 03
Tarea
T¡
18 16 12
14 21 19
T2
23 27 33
T3
16 24 23
T4
17 24 24
Ts
25 28 30
T&
T. disponible 47 41 46
Penalización
4
5
4
7'
7
3
que contiene las penalizaciones de fila, obtenidas como diferencia en valor a?sol.uto
entre los dos tiempos menores de cada fila. Se toma la fila con mayor penaliZación,
que es 7, rompiéndqse arbitrariamente en caso de empate. Dentro de ella,. la
posición con menor tiempo corresponde a t 41 = 16, que lo denot~os .en negr1ta.
A continuación como la tarea T6 ha quedado asignada a O¡, prescmd1mos de esa
fila y reducimo~ la disponibilidad de la primera columna en el tiempo asignado,
teniendo ahora 0 1 una disponibilidad de 31 minutos.
La nueva tabla reducida, para la que se han recalculado las penalizaciones, es
Ordenador
O¡ 02 03 Penalización
Tarea
4
18 16 12
Tt
14 21 19
5
T2
23 27 33
4
T3
7.
17 24 24
Ts
25 28 30
3
Ta
T. disponible 31 41 46
CAPITULO 4. TRANSPORTE Y ASIGNACION
©RA-~
251
La mayor penalización es 7 y corresponde a la quinta fila. El menor tiempo en esa
fila es ts1 = 17 (marcado en negrita), así que asignamos Ts a 0¡, prescindimos de
esa fila y, de nuevo, reducimos la disponibilidad de tiempo de 0 1 en 17 minutos.
La nueva tabla es
Ordenador
Tarea
T¡
T2
T3
T6
T. disponible
O¡ 02 03 Penalización
18
14
23
25
14
16
21
27
28
41
12
19
33
30
46
4
5'
4
3
En ella vemos que la mayor penalización es 5, para la tarea T2, siendo el menor tiempo en la fila para t2 1 = 14. Se asigna T2 a O¡ y se reduce a cero la
disponibilidad de tal ordenador. Prescindimos de esa columna. La nueva tabla
es
Ordenador
Tarea
Tt
T3
T6
T. disponible
02
03
16
27
28
41
12
33
30
46
Penalización
4
6'
2
La mayor penalización es 6, que corresponde·--a T3, siendo t32 = 2J el menor
tiempo de esa fila. Asignamos T3 a 0 2• La nueva tabla, en la que prescindimos de
la fila correspondiente a la tarea T3 y reducimos el tiempo de 0 2 en 27 minutos,
es
Tarea
T¡
T6
T. disponible
Ordenador
02 03 Penalización
16
12
4
28
30
2
14
46
Observemos que los tiempos de procesamiento de ambas tareas con el ordenador 02 superan la disponibilidad actual de tiempo en ese ordenador, así que
debemos prescindir de él. Por tanto, se asignan ambas tareas al ordenador 0 3 .
La solución óptima., con tiempo total T• = 116 minutos queda reflejada en la
tabla
252
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
© RA-~
CAPITULO 4. TRANSPORTE Y AS!GNACION
253
Ordenador
Tarea
Ot 02 03
18 16 12
Tt
14 21 19
T2
23 27 33
T3
16 24 23
T4
17 24 24
Ts
25 28 30
T6
T. disponible o 14 4
en que aparecen en la fila inferior las disponibilidades de tiempo de los ordenadores una vez procesadas todas las tareas.
o
~r
....
~~
~~¡
17. Emparejamiento. Un gabinete de estudios tiene seis analistas de sistemas
Ai, i = 1, ... , 6 y ha de cubrir cinco nuevos proyectos P;, j = 1, ... , 5, asignando
para ello un único analista a ca.da proyecto. Los analistas tienen distinta especialización y los proyectos son diferentes y ca.da uno tiene sus peculiaridades. La
tabla de emparejamiento nos indica los proyectos que puede cubrir cada analista
~
P¡
At
A2
A3
A4
As
As
!1
~~
).
~
~
,t
·v
·,,
•:J''
' ';
)•
~~
~~~
~1
......
1
p2
p3
p4
Ps
o o 1 o
1 o o 1
o 1 1 1 o
o o 1 o 1
1
o 1 o o
o 1 o 1 o
1
1
donde 1 indica. que se puede realizar el proyecto y O que no puede realizarlo.
Se desea saber si es posible cubrir todos los proyectos y cómo quedarían asignados los analistas.
a) Dibujar el grafo de emparejamiento para el problema equilibrado.
b) Formularlo como un programa matemático y resolverlo con el método del
simplex.
b) Definimos las variables de decisión 0-1
si el analista A¡ se asigna al proyecto P;
en otro caso
con i = 1, ... , 6 y j -= 1, ... , 6. El programa matemático para este problema de
emparejamiento es igual al del problema de asignación, salvo que ahora, la función
objetivo es de la forma de maximización, siendo éstá
e
e= Xn + Xt4 + Xt6 + X21 + X22 + X25 + X26 + X32 +x33 + X34
+X36
e) Resolverlo con el método húngaro.
Solución
a) Equilibrarnos el problema añadiendo un proyecto ficticio que denominamos F6
que puede realizar cualquiera de los analistas. Esto equivale a añadir una nueva
columna a la tabla de emparejamiento con todos sus elementos iguales a l. El
grafo de emparejamiento es
+ X43 + X45 + X46 + XSt + X53 + X56 + X62 + X54 + X66
Las restricciones son
6
Í:
Xij
= 1,
i
= 1, ... , 6
j=l
6
Í:Xij=1, j= l , ...,6
i=l
Xij = 0,1 '</i,j = 1, ... , 6
254
PROGRAMACION LrNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA- ~
en las que sus sumatorios se extienden a las variables que tienen asociado 1 en
la tabla de emparejamiento equilibrada. Aplicando el algoritmo de ramificación
y acotación se obtiene la solución óptima
con el resto de las variables cero. Además, hay óptimos alternativos. La solución
anterior corresponde al emparejamiento
CAPITULO 4. TRANSPORTE Y ASIGNACION
cubriéndose todos los proyectos y quedando ahora el analista A2 ocioso.
t
t
¡
t
Tt
T2
Ta
T4
t
Fs Ps P4 P3 P¡ P2
quedando el analista A1 ocioso.
e) Para resolverlo con el método húngaro, comenzamos por pasar la matriz de
emparejamiento a la forma de minimización, restando del mayor elemento que
es 1 todos los elementos de la matriz. A continuación, equilibramos el problema
de minimización añadiendo una nueva columna que corresponde a. un proyecto
ficticio (F6), con costes cero en todas sus posiciones. La nueva tabla es
pi
Pz
p4
Pa
Ps
Fs
o 1 1 o 1 o
o o 1 1 o o
1
o o o 1 o
1
1
o 1 o o
o 1 o 1 1 o
1
o 1 o 1 o
At
A2
Aa
A¡
As
As
Esta tabla admite una asignación independiente de ceros
Pt
P?.
p4
Pa
Ps
Fs
o 1 1 o 1 o
o o 1 1 o o
1
o o o 1 o
1
1
o 1 o o
o 1 o 1 1 o
1
o 1 o 1 o
At
A2
A3
A4
As
As
Por tanto, una asignación será
At A2 A3 A4 As As
t
P¡
+ +
t
+ +
Fs P2 Ps P3 P4
o
18. Maximización en una tabla de asignación no equilibrada. Dada ''la
siguiente tabla de asignación, donde sus elementos bij representan beneficios de
asignación de la tarea i a la máquina j, determinar la asignación óptima con el
método húngaro
At A2 A3 A4 As As
¡
255
Mt
M2
M3
1
2
3
8
3
3
6
7
7
9
1
3
lv/4
6
6
6
5
Ms
5
4
8
4
M6
3
8
5
2
Solución
Tenemos un problema de asignación de ma.ximización no equilibrado, ya que
hay dos máquinas más que tareas. Lo pasamos a la forma de minimización
considerando una nueva matriz de asignación con elementos Cij = bM - bij donde
bM = max¡; {bi;} = 9. Además, equilibramos añadiendo dos tareas ficticias F1
y F2 , con ceros en sus filas, para hacer posible que tales tareas ficticias puedan
asignarse a cualquier máquina. Tenemos la tabla
Tt
T2
Ta
T4
Ft
F2
Mt
8
7
6
1
o
o
M2
6
6
3
2
o
o
Ma M4
2
o
8
6
·O
o
3
3
3
4
o
o
Ms
4
5
1
5
o
o
Me
6
1
4
7
o
o
Estamos ya en condiciones de aplicar el algoritlllo húngaro. Restamos el
menor elemento de cada fila de todos los elementos de su fila, y análogamente
hacemos para columnas con la tabla resultante, e intentamos determinar una
asignación independiente de ceros (en negrita), obteniendo la matriz
Tt
Tz
Ta
T4
Ft
F2
Mt
6
7
M2
4
6
5
2
1
o
X
o
X
X
Ma M4
Ms
2
5
7
5
1
3
2
3
X
X
X
X
X
o
X
X
o
X
o
4
M6
4
1
3
6
256
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 4. TRANSPORTE Y ASIGNACION
@R~
Mt
M2
M3
M4
Ms
Ms
Coste de
T¡ T2
8 4
6 6
2 4
10 8
5 7
8 2
cada trabajo
T3 T4 Ts Ts
10 2 1 6
12 4 3 5
8 1 1 4
15 6 2 3
20 4 4 1
10 4 2 4
Mt
M2
M3
M4
Ms
Ms
Coste de
Tt T2
1 .5
1
.8
o 1
1.5 1.5
2 1
.5 .8
preparación
T3 T4 Ts Ts
1.5 .8 o .1
1 .5 .1 .2
2.5 1.5 1 .5
o 2 1 1
1
1 .5 .5
o .4 .5 1
Como no es posible tal asignación, generamos ceros adicionales obteniendo el
menor número de lineas (L.C.) que cubren todos los ceros de la matriz, como se
indica en la. tabla
TI
T2
T3
T.
F¡
F2
L. C.
M¡
M2
6
7
5
4
o
o
6
2
1
o
o
o
M4
1
3
2
3
M3
7
5
o
o
o
o
Ms
2
5
o
4
o
o
L. C.
Ms
4
1
3
6
o
o
._
._
._
._
o
o
t
El menor elemento no cubierto es c2s =l. La nueva matriz de asignación es
T¡
T2
T3
T4
Ft
F2
Mt
5
6
5
o
M2
3
5
2
1
X
o
X
X
M3
o
X
8
6
1
1
M4
Ms
1
4
Ms
3
o
4
3
6
X
X
X
o
X
X
X
2
2
3
Determinar que máquina se asignará a cada trabajo de modo que el coste total
sea mínimo.
o
para la que se ha. determinado una asignación independiente de ceros. Por tanto,
la asignación óptima es
Solución
Para construir la tabla inicial de asignación, sumamos los costes de ambas tablas
y multiplicamos por 10 para evitar la consideración de decimales. Esta es la tabla
Mt
M2
M3
M4
Ms
Ms
M3 Ms Ms Mt M2 M4
con beneficio B*
= 7 + 8 + 8 + 8 = 31.
257
o
19. Asignación de máquinas a trabajos. Un consultor tiene el problema de
asignar los trabajos de cierto día a varias máquinas. Todas las máquinas pueden
hacer todos los trabajos, pero con distinta eficacia. Se consider·a, además, el
coste de preparación de cada máquina para cada trabajo, que varía en función de
aquello para lo que la máquina estuviera preparaaa y el trabajo que se le asigne.
Los costes se dan en las tablas cuyas filas corresponden a las máquinas y las
columnas a los trabajos
Tt
90
70
20
115
70
85
T2
45
68
50
95
80
28
T3
115
130
105
150
210
100
T4
28
45
25
80
50
Ts
10
31
20
30
45
44 25
Ts
61
52
45
40
15
50
Presentamos a continuación la sucesión de tablas correspondientes a las iteraciones del método húngaro
M¡
M2
M3
M4
Ms
Ms
L. C.
Tt T2
80 32
39 34
o 27
85 62
55 62
60 o
Iteración 1
T3 T4 Ts
30 13 o
24 9 o
10 o o
45 45 o
120 30 30
o
14
o
t
Ts L.C.
51
21
25 ._
10
o ._
25
._
258
PROGRAMACION LINEAL Y APLICACIO.'JES: EJERCICIOS RESUELTOS
Iteración 2
T2 T3 T4
71 23 21
4
30 25 15 o
o 27 10 o
76 53 36 36
55 62 120 30
60 o o 14
Tt
Mt
M2
M3
M4
Ms
Ms
L.C.
Ts
Ts
42
12
25
1
o
o
9
o
39 o
9 25
Mt
M2
M3
M4
Ms.
M6
L.C.
Mt
M2
M3
M4
Ms
M6
++-
CAPITULO 4. TRANSPORTE Y ASIGNACION
259
Máquina Trabajo Coste Máquina Trabajo Coste
3.0
2.8
Mt
M4
Ts
T4
1.5
13.0
M2
Ms
Ta
T3
2.8
2.0
M3
T2
Tt
Ma
Valor mínimo del objetivo=25.1
++-
o
t
Iteración 3
T2 T3 T4 Ts
Mt
M2
M3
M4
Ms
M&
L.C.
L.C.
(é)RA-~
T¡
Ts
70 22 20 3 o 41
30 25 15 o 1 12
o 27 10 o 10 25
75 52 35 35 o o
55 62 120 30 40 o
60 o o 14 10 25
t
Iteración 4
Tt T2 Ts T4
67 19 17 o
30 25 15 o
o 27 10 o
72 49 32 32
52 59 117 27
60 o o 14
++-
+-
t
T& L. C.
o 41
4 15
13 28 +-
Ts
o o
40 o
13 28
t
Iteración 5
Tt T2 T3 T4
52 -1
2 o
15 10 o o
o 27 10 15
57 34 17 32
37 44 102 27
60 o o 29
En resumen, la asignación óptima es
L. C.
t
t
+-
20. Asignación de pilotos a vuelos. La rompañía aérea Canary se dedica
al transporte de pasajeros. La compañía divide este transporte en interinsular o
peninsular, con aviones o helic6pteros y de día o de noche. En un determinado
día, la compañía quiere cubrir 6 vuelos Vj, j = 1, ... , 6, con las características que
se indican en la tabla
Caracteristia~s
V¡
Interinsular
Peninsular
Avi6n
Helic6ptero
De día
De noche
X
Ts
o 41
4 15
28 43
o o
o
40
28 43
Vuelos
V3 v4
Vs
X
X
X
X
X
X
X
·x
X
X
X
X
X
X
v6
X
X
Las características de cada vuelo restringen los posibles p'ilotos que pueden cubrirlos. En ese día, los 6 pilotos 'disponibles P¡, i = 1, ... , 6, tienen los siguientes
condicionantes
Piloto
P¡
Ts
X
~
p2
p3
p4
Ps
Ps
Condicionante
No puede pilotar auiones
S61o puede realizar elwelo V3
Sólo puede realizar los welos V¡ o Ve
No puede realizar vuelo interinsular
S61o puede volar de día
No puede realizar los vuelos V2, V4 o V5
Determinar si la compañía puede realizar los seis vuelos.
Solución
Podemos identificar el problema como uno de emparejamiento. Determinamos
la correspondiente matriz teniendo en cuenta los condicionantes de los pilotos
y dando el valor 1 a los vuelos que puede realizar un determinado piloto y Oa
aquellos que no. Se obtiene así la tabla
260
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
v2 Va v4
o o 1 o
o o 1 o
1 o o o
o 1 o 1
1
o o 1
1
o 1 o
V¡
P¡
p2
Pa
p4
Ps
Ps
Vs
Vs
o
1
1
1
v4
Vs
Vs
1
1
1
1
1
1
1
@RA:MA
o 1
o o
o 1
o 1
Pasando a la forma de minimización se obtiene
V¡
v2
1
1
1
1
1
P¡
p2
Pa'
p4
Ps
Ps
Va
o
o
1
1
1
1
a la que aplicamos el método húngaro. En dos iteraciones, se obtiene la tabla
final
v2 Vs v4 Vs Vs
o o o o o
o o o o 1
o o 1 o o o
2 o 2 o 1
1
1 1 2 o o 1
o o o o o o
V¡
P¡
p2
Pa
p4
Ps
Ps
1
1
El emparejamiento es
..
P¡ P2 P3 P4 Ps Ps
t
t
t
t
\!,¡
V3 V¡ V2 Vs Vs
t ·¡
Sin embargo, si volvemos a la. tabla inicial observamos que el valor máximo del
objetivo es 5, menor que el valor 6, necesario para. que hubieran podido cubrirse
todos los vuelos. En efecto, comprobamos que el piloto P1 no puede realizar el
vuelo V4 • Por tanto, tal piloto quedaría disponible y el citado vuelo sin cubrir.
El lector puede comprobar que existe una solución alternativa.
O
1
OPTIMIZACION EN REDES
o
o
o
1 o
o
o 1
o o o
o 1 o 1 1 o.
o
CAPITULO 5
Este capítulo se dedica a problemas de optimización en redes. Aunque veremos que muchos de los problemas que aqui estudiamos pueden formularse como
programas lineales o enteros (Capítulo 6) y resolverse con los algoritmos correspondientes, existen métodos específicos que aprovechan la estructura especial de
cada problema y su representación en una red, permitiendo procedimientos de
solución más eficientes.
Comenzamos con el problema. del camino mínimo, que permite determinar en
una red la ruta.o camino de longitud mínima entre un nodo origen y otro destino.
ilustramos este problema con varios ejercicios con redes dirigidas y no dirigidas.
Formulamos en algún caso el correspondiente programa 0-1 (ver Capítulo 6), después lo resolvemos transformándolo en un problema de asignación y, finalmente,
llevamos a. cabo su resolución con el algoritmo de Dij.kstra, que es un procec;limiento específico bastante eficiente y válido tanto para redes dirigidas como para no
dirigidas. En el caso de una red dirigida acíclica, tambi~n aplicamos un algoritmo
de etiquetación.
.
El algoritmo de Dijkstra puede proporcionar los caminos de longitud mínima
de un nodo origen a todos los nodos de una red. Una generalización es el algoritmo
de Floyd, que permite obtener los caminos mínimos entre cualquier par de vértices
de la red, aunque a costa de mayor esfuerzo computacional. Se obtiene una
variante del algoritmo de Dijkstra asociando a los arcos de la red alturas en vez
de distancias. En este caso, se obtendrán los caminos de mínima altura.
El problema opuesto al del camino mínimo, es el del camino más largo en una
red. L<>s procedimientos que se pueden utilizar son, como antes, la formulación de
un programa 0-1, la transformación en un problema de asignación y el algoritmo
262
1
•'
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
©RA-MA
de etiquetación. Este último, que sólo es válido para redes acíclicas dirigidas, será
la base del procedimiento de obtención del tiempo de compleción, camino más
largo, en una red de proyectos.
Otro problema importante es el del árbol mínimo de máximo alcance, en el
que se trata de determinar en una red no dirigida un árbol de longitud mínima.
El algoritmo de Kruskal sobre la red, o en formato' tabular, es un procedimiento
sencillo y muy eficiente para su resolución.
El siguiente problema que se aborda es el de flujo máximo en una red, dirigida o no dirigiqa. En este problema se suponen capacidades máximas de fiujo
de unidades entre cada par de nodos de la red, y se desea determinar el flujo
máximo entre un nodo fuente y un sumidero. Aunque se puede resolver mediante programación lineal, resulta más eficiente la aplicación del algoritmo de flujo
máximo, también denominado de Ford-Fulkerson. Se considera, además, el caso
de costes de flujo de unidades entre arcos, formulándolo como un problema lineal.
Finalmente, se plantea el problema inverso, es decir, el de flujo mínimo. También
se relaciona el problema de flujo máximo con el de transporte.
El capítulo termina con varios ejercicios de toma de decisiones en redes de
proyectos. Con ellos, se ilustra la representación mediante una red dirigida del
conjunto de actividades o tareas correspondientes a problemas o proyectos de
planificación y su secuenciación. El objetivo básico de este problema es el control
del desarrollo de un proyecto. Para ello, se determina su tiempo de compleción, las activides críticas y los tiempos de holgura de las actividades no críticas.
Se utilizan redes CPM (Critica! Path Method) cuando todas las actividades tienen duración determinística, y redes PERT (Program Evaluation and Review
Technique) cuando existen duraciones aleatorias. Estas representaciones asocian
actividades a arcos. Se ilustrarán ambos tipos de redes con varios ejercicios y con
rutinas de etiquetación, tanto de arcos como de nodos, así como el problema de
reducción de tiempo de compleción de un proyecto cuando se dispone de recursos
adicionales. En el caso de representación de las actividades por nodos en una
red, se tiene el método de Roy o de los potenciales, que presenta alguna ventaja
sobre los anteriores. Para finalizar el capítulo, se verá un ejemplo sencillo de una
red PERT-Montecarlo, que utiliza simulación para la estimación de la duración
de las actividades.
CAPITULO 5. OPTIMIZACION EN REDES
Se desea determinar el camino más corto de la ciudad 1 a la 11:
a) Mediante la construcción de un programa O-l.
b) Transformándolo en un problema de asignación.
e) Mediante el algoritmo de Dijkstra.
Solución
a) Para construir un programa 0-1 comenzamos por considerar cada arista como un par de arcos paralelos de sentido opuesto e igual distancia, excepto para
las aristas 1- 2,1 - 4,8- 11,9- 11 y 10- 11, que sustituimos por los arcos
(1, 2) , (1,4), (8, 11), (9, 11) y (10, 11) , respectivamente. Obsérvese que corresponden a los arcos con extremo inicial en el nodo origen 1 o con extremo final en
el nodo destino 11. Definimos una variable de decisión 0-1 para cada arco (i,j) ,
de modo que
x¡ · = { 1 si se toma el arco (i,j)
3
O en otro caso
Tenemos así 33 variables de decisión: x 12 , x 14 , x23, X32, ... , x 9, 11 , x 10,11 . El programa para determinar el camino mínimo tiene función objetivo
mind = 6Xt2 + 5Xt4 + l8X23 + 18X32 + 12X25 + · · · + 14X10 ll
1
y una restricción por cada nodo
X¡2
X¡2
EJERCICIOS
l. Camino de longitud mínima. La red no dirigida de la figura representa un
sistema de carreteras entre ciudades de una región.
263
+ X¡4 = 1
+ X32 + X52- X25- X23 = 0
~+~+~+~-~-~-~-~=0
XB ,l!
+ X9,11 + XtO,ll = 1
X¡; =O, l V(i,j)
(nodo 1)
.(nodo 2)
(nodo 3)
(nodo 11)
264
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
Las restricciones correspondientes a los nodos origen y destino implican tomar un
solo arco con extremo inicial en el origen 1 y un solo arco con extremo final en el
destino 11, respectivamente. Las restantes restricciones, nodos 2 a 10, imponen
que el número de arcos por los que se llegue a un nodo coincida con el número
de los que parten de él.
Aplicando el método del simplex, suponiendo X¡; ;::: O, en once iteraciones se
alcanza la solución óptima dada por
xi2 = 1, xis = 1, x58 = 1, x8, 11 = 1
1
o
2
6
3
M
5
M
M
2
6
o
3
M
18
18
o
M
12
13
M
M
11
8
9
10
M
M
M
M
M
M
11
-M
M
M
M
12
M
M
M
M
4
5
6
7
4
5
5
M
6
M
M 12 M
13 'M 11
o M M
M o 9
M 9 o
15 M M
M 8 M
M 9
5
M
lvl
M
M
7
M
7
M
M
12
15
M
M
o
M
.8
M
M
M
M
8
M
M
o
M 12
4 M
M
7
9
M
M
M
M
9
5
10
M
M
M
M
M
7
265
nodo 2. Tenemos ya el arco (1, 2}. Vamos ahora a la fila del nodo 2 y, de nuevo,
buscamos el valor de la correspondiente asignación óptima, que es el 12, bajo el
nodo 5. Añadimos al camino buscado el arco (2, 5). Reiterando el procedimiento,
éste terminaría al alcanzar el nodo destino (ll}. Por tanto, el camino mínimo es
l -t 2 -t 5 -t 8 -t 11.
e) Aplicamos el algoritmo de Dijkstra. Comenzamos asignando etiqueta permanente igual a O al nodo origen {1) y etiquetas temporales e (j) iguales a la
respectiva distancia directa d1; para los restantes nodos j = 2, ... , 11. Estas se
recogen en la tabla
con d* = 33
siendo el resto de las variables nulas. Como la solución obtenida es 0-1 , resulta
válida para el programa planteado. Las variables que toman valor 1 representan
arcos que forman el camino de longitud mínima, que es por tanto 1 -t 2 -t 5 -t
8 -111.
b) Construimos la matriz de asignación con filas y columnas representando los
nodos de la red, con elementos iguales a las distancias entre los pares de nodos:
si existe arco (i, j) , pondremos la distancia lÍi; correspondiente, por ejemplo,
d12 = 6; si no exis!_e arco (i,j) pondremos di;= M, siendo M un número grande
comparado con las distancias lÍi;; finalmente, haremos nulas las distancias lÍii·
Además, pondremos d!i,I = -M para asegurar que se obtenga un camino con
destino en el nodo 11. La tabla de asignación es pues
1
CAPITULO 5. OPTIMIZACION EN REDES
11
M
M
M
M
M
M
M 4 M
12 M 7
o 8 6
8 o 14
6 14 o
Aplicando el método húngaro (ver Capítulo 4) se alcanza en siete iteraciones
la asignación óptima, marcada en negrita en la tabla anterior. Si sumamos los
valores correspondientes a la asignación óptima, excepto el valor - M, tendremos
la longitud del camino mínimo d* = 6t12t8t7 = 33. Para determinar el camino
mínimo, vamos en la tabla óptima de asignación al nodo origen (1) y buscamos
en su fila el valor correspondiente a la asignación óptima, que es el 6, bajo el
Itera.ción
i
o
2
3
6
00
4
5
5
00
Nodos
6 7
00
00
j
8
9
00
00
10 11 mínimo
4
00 00
La menor etiqueta temporal, e (4) = 5, pasa a permanente y no vuelve a considerarse, ya que ésa es la distancia mínima del nodo origen al nodo 4. A continuación
actualizamos las etiquetas temporales de los nodos j que no hayan recibido aún
etiqueta permanente mediante la fórmula
e(j) = min
Anterior ) (
Ultima )
( Distancia del nodo ) }
etiqueta ,
etiqueta
t
que pasó a etique.ta
{(
temporal
permanente
permanente al J
Así,
e(2} =
e (3} =
e(5} =
e (6) =
e(7) =
min{6,5 too}= 6,
min {oo, 5 t 13} = 18,
min{oo, 5 too}= oo,
mio {oo, 5 too} = oo,
min {oo,5 t 15} = 20,
e(8) = min{oo,5 too} = oo
e ,9) = min{oo,5 too} = oo
e(10) = min{oo,5 +oo} = oo
e(ll) = rnin {oo,5 + oo} = oo
lo que lleva a la tabla
Iteración
o
2
6
1
6
i
3
5
Nodos
6 7
00
4
5
00
00
00
18
-
00
00
20
j
8
mínimo
9
10 11
00
00
00
00
4
00
00
00
00
2
La menor etiqueta temporal corresponde al valor 6 del nodo 2, que pasa a permanente, marcada en negrita, y no vuelve a considerarse. Actualizamos las etiquetas tempo~ales de los restantes nodos, iteración 2, y reiteramos el procedimiento
hasta que asignamos etiqueta permanente al nodo destino. Después de nueve
iteraciones tenemos la tabla final
. 266
Iteración
i
2
3
6
6
00
5
00
00
1
18
18
-
00
00
-
18
18
00
o
2
3
4
5
6
7
8
1'
'~1..
~·
~¡ l
~
-
PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
-
4
5
- - - - - - - - - - - -
-
-
-
-
9
-
-
E(j)
6
18
5
18
Nodos
6 7
29
27
27
27
27
j
8
9
10
11
00
00
00
00
00
20
20
20
20
00
00
00
00
00
00
00
00
mínimo
4
2
3
00
00
00
00
5
26
26
26
27 00
27 24
27 27 27 -
00
38
33
33
7
10
8
6
9
11
-
-
-
00
-
-
-
-
-
33
27
20
26
27
24
33
que contiene la fila E (j) de etiquetas permanentes de cada nodo y constituyen
las distancias mínimas del nodo origen a cada nodo j de la red. En particular,
como E (11) = 33, ésta es la distancia mínima buscada. Faltaría determinar el
camino asociado a esta longitud mínima. Para ello, partimos del nodo destino y
vamos formando hacia atrás el camino con los arcos que cumplen la condición de
que la diferencia entre sus etiquetas permanentes sea igual a la longitud del arco
(arista) que los une. Así, se tienen
E (11} -E (8) = 33- 26 = 7 = ds,u
E (8) - E (5) = 26 - 18 = 8 = dss
E (5) - E (2) = 18-6 = 12 = d2s
E (2) - E (1) = 6- O= 6 = d12
!1
:¡1
:.1
CAPITULO 5. OPTIMIZACION EN REDES
©RA-MA
La figura muestra el camino mínimo y los etiquetados temporales al iado de
cada nodo permitiendo comprobar fácilmente la rutina anterior.
"'
267
2. Camino más corto de una localidad a otras. La figura representa el
sistema de ca1Teteras entre las diferentes localidades de una isla, con distancias
medidas en km.
Se desea:
a) Determinar los caminos mínimos de la localidad 1 a las restantes localidades. Resolverlo utilizando el algoritmo de Dijkstra.
b) Jdem, pero suponiendo que los arcos de la red son aristas.
e) Determinar en b) el camino mínimo de la localidad 1 a un punto x situado
a 2.5 km de 3 en la carretera de 3 a 6. Jdem, si x estuviera a 3.5 km de 3.
Solución
a) Aplicamos el algoritmo de Dijkstra. Designamos con e (j) la etiqueta. temporal
del nodo_j. Comenzamos asignando al nodo origen (1) etiqueta. permanente igual
a O, y al resto de nodos j, etiquetas temporales iguales a la distancia directa. del
nodo 1 a j. Estas vienen dadas por
e(2) = 6, e(~) = 11, e(4)
= 3,
e(5) = oo, e(6)
= 14,
e(7) = 18.
La menor, que corresponde al nodo 4, pasa a permanente y no se volverá a
considerar, ya que representa su distancia mínima desde el origen. Actualizamos
las etiquetas temporales que no hayan pasado a permanentes
e {2) = min {6, 3 + 2} = 5
Compruebe el lector que un camino mínimo alternativo queda determinado por
1--t2--t5--t9 --t 11.
o
e(3) = min{l1,3 +oo} = 11
e(5) = min{oo,3 + 3} = 6
e{6) = min{14, 3 +oo} = 14
e(7) = min{18, 3 +oo} = 18
268
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
La menor vale 5 y corresponde al nodo 2. Esta pasa a permanente y no se volverá
a considerar. De nuevo, actualizamos las etiquetas temporales, teniendo
e (3)
=9,
e(5) = 6,
e(6)
= 14,
e(7)
CAPITULO 5. OPTIMIZACION EN REDES
@RA·MA
269
Se muestran en la figura mediante el árbol de caminos mínimos, en negrita, y al
lado de cada nodo aparece su etiqueta permanente
= 18
siendo la menor 6, que corresponde al nodo 5. Reiterando el procedimiento,
resumimos en la tabla las etiquetas temporales y permanentes, en negrita, de los
nodos de la red
Iteración
i
o
1
2
3
2 3
6 11
5
11
-
9
8
-
Nodos
4 5
6
6
14
14
14
-
-
14
12
6
12
3
-
-
00
6
15
j
4
5
-
-
- - -
E(j)
5
8
3
7
18
18
18
16
16
0
mínimo
4
15
15
2
5
3
6
b) Para la misma red, pero suponiéndola con aristas en vez de arcos, la aplicación
del algoritmo de Dijkstra conduce a la tabla
7
Iteración
i
La fila E (j) contiene las etiquetas permanentes de cada nodo y, por tanto, las
distancias minimas del nodo origen a cada nodo j de la red. Para determinar
el camino mioimo del nodo origen a los restantes nodos, partimos de cada uno
de los nodos destino y formamos los respectivos caminos con arcos que cumplen
la condición de que la diferencia entre sus etiquetas permanentes sea igual a la
longitud del arco que los une. Así, para el nodo 7 se tiene
E (7) -E (6) = 15- 12 = 3 = d61
E (6) -E (3) = 12 - 8 = 4 = d3s
E {3) - E (5) = 8 - 6 = 2 = d53
E (5)- E (4) = 6-3 = 3 = d45
E (4)- E (1) = 3- O= 3 = d41
!
!1
1
Hemos obtenido el camino minimo 1 -t 4 -+ 5 -t 3 -t 6 -t 7, que proporciona, además, los caminos mínimos a todas las localidades excepto a la 2. Para
determinar éste, repetimos el procedimiento anterior partiendo de 2
E (2)- E (4) =5 - 3 = 2 = d42
E (4) - E (1) = 3- O= 3 = d14
o
1
2
3
4
5
E(j)
Nodos
5
j
2 3
6 11
4
3
00
5
11
-
-
6
9
8
-
-
-
6
14
14
14
13
12
5
8
3
6
11
11
-
- 6
- -
7
mínimo
18
8
8
8
4
2
5
8
7
-
3
6
8
Los caminos mínimos desde el origen a cada nodo de la red son
1 ~ 4--7 2,
1 -7 4,
1 --7 4 --7 7 --7 6,
l-t4-t5-t3
1-74-75
1-t4-t7
El correspondiente árbol de caminos mínimos es
8
que proporciona el camino 1 -+ 4 -t 2. En resumen, los caminos minimos desde
1 a cada nodo son
1 --7 4 --7 2,
1 --7 4,
1 -7 4 -7 5 -+ 3 --7 6,
u
1-74-75-+3
1-74--75
1-+4-t5-t3-t6-t7
8
270
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA~
=
e) Para la red ~o dirigida, hemos obtenido las etiquetas permanentes E (3) 8 y
E (6) = 11. Ev1dentemente un punto x situado a 2.5 km de la localidad 3 estará
a 1.5 km de la 6. Entonces, como
E (3) +2.5 = 10.5 < 12.5 = E (6) + 1.5
E (3) +3.5 = 11.5 = E (6) + .5
siendo los caminos 1 ~ 4 ~ 5-+ 3 -t x y 1 -t 4 -t 7 -t 6 -t x de igual longitud
~
11.5 km.
3. Caminos de mínima altura. Si en la red dirigida del Ejercicio 5.~ los
números representan máximas alturas de montañas que se deben atravesar entre
pares de localidades, encontrar los caminos de mínima altura de la localidad 1 a
las restantes localidades.
\.
Solución
'
~ .,
.r
1
ol
Deseamos determinar el camino desde el nodo 1 a cada uno de Jos restantes
nodos, de modo que la máxima altura sea la menor posible. Formalmente, la
altura de cualquier ruta será el máximo de los números de esa ruta. El problema
es simila~ al ~~nsiderado en el problema del camino mínjmo, salvo que aqui, para
la a.ctualizac10n de las etiquetas temporales, reemplazaremos la suma de pares de
n.úmeros por el máximo.
El algoritmo comienza asignando etiqueta permanente igual a Oal nodo origen
(1) Yal resto de nodos j, etiquetas temporales iguales a la altura máxima entre
el nodo 1 y el j, que vienen dadas por
e(2) =6, e(3) = 11, e(4) = 3, e{5) =oo, e (6)
=14,
e(7)
=4,
e(5) =3,
e{6) = 14,
e(7) =18
siendo la menor 3, que corresponde al nodo 5. Reiterando el procedimiento
resumimos en la tabla las etiquetas temporales y permanentes, en negrita, de los
nodos
Iteración
i
o
1
2
3
4
5
E(j)
2
6
3
3
11
Nodos
4 5
3
00
4 3 -
3
3
3
3
11
j
6
7
14
14
14
14
18
18
18
10
10
- - - - 4
- - - - 3
3
4
4
mínimo
4
2
5
3
6
7
4
La fila E (j) contiene las etiquetas permanentes de cada nodo y, por tanto, las
minimas alturas máximas del nodo origen a cada nodo j de la red. Para determinar él camino de mínima altura del nodo origen a los restantes nodos, partimos
de cada uno de los nodos destino y formamos hacia atrás los respectivos caminos
con los arcos que cumplen la conrución de que la etiqueta permanente del nodo
del extremo inicial del arco y su meruda sean menores o iguales que la etiqueta
permanente del extremo final. Aplicando este procedimiento obtenemos el árbol
de alturas mínimas que se muestra en la figura y que también contiene la etiqueta
permanente de cada nodo {en negrita).
= 18.
La menor, que corresponde al nodo 4, pasa a permanente y no se volverá a
considerar, ya que representa la altura mínima desde el origen. Actualizamos las
etiquetas temporales que no hayan pasado a permanentes teniendo
e (2) =mio {6, max {3, 2}} =3
e(3) = mio{ll,max{3,oo}} = 11
e (5) = mio {oo, ma.x {3, 3}} =3
e (6) = mio {14, max {3, oo}} = 14
e (7) =mio {18, max {3, oo}} = 18
27l
siendo la menor 3, que corresponde a los nodos 2 y 5. . Rompemos el empate
arbitrariamente y tomamos el nodo 2, que pasa a tener etiqueta permanente y no
se volverá a considerar. De nuevo, actualizamos las etiquetas temporales teniendo
e(3)
la distancia mínima del nodo origen a x será 10.5 km, siendo el camino mínimo
1 -+ 4 -+ 5 ~ 3 ~ x.
Si ahora x estuviera a 3.5 km de la localidad 3, x estará a .5 km de la 6 y,
por tanto,
..••
CAPITULO 5. OPTIMIZACION EN REDES
4
0
3
o
272
CAPITULO 5. OPTlMIZACION EN REDES
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
4. Algoritmo de Floyd. La comarca de "La Serena" está formada, entre
otras, por cinco loco.lidades: El Valle (1) , Quintana (2), Zalamea (3), Higuera (4}
y Castuera (5). La red de carreteras que une estas loco.lidades se representa en la
figura
Los valores junto a las aristas representan distancias en km. Se desea:
a) El camino de longitud mínima de El Valle a Castuera.
El árbol de caminos más cortos desde El Valle es
Así: a) el camino de longitud mínima entre El Valle y Castuera es 1- 2 - 5 con
longitud 23 km, y b) el camino de longitud mínima entre el Valle y Zalamea es
1 - 2 - 3 con longitud 17 km.
Para los dos apartados siguientes aplicamos el algoritmo de Floyd. Para ello,
formamos la tabla inicial de distancias d (i, j) de cada nodo i a cada nodo j, donde
b} Jdem entre El Valle y Zalamea.
distancia de i a j
d(i ,j) =
e) Idem entre Quintana e Higuera.
273
{
o
00
si existe arco (i ,j)
si i = j
si no existe arco (i, j)
d} Idem entre Higuera y Castuera.
Esta tabla es
Solución
Resolveremos los apartados a) y b) utilizando el árbol de caminos más cortos obtenido a partir del algoritmo de Dijkstra. Los apartados e) y d) se pueden obtener
volviendo a aplicar el algoritmo de Dijkstra tomando como orígenes Quintana e
Higuera, respectivamente. Sin embargo, puede resultar más fácil utilizar el algoritmo de Floyd, ya que tan sólo tendremos que aplicarlo una vez para que queden
resueltos ambos apartados.
La aplicación del algoritmo de Dijkstra conduce a la tabla
Iteración
i
o
1
2
3
E(j)
2
13
13
13
Nodos
3 4
5
mínimo
00
8
00
4
20
17
-
00
-
-
2
3
5
17
8
-
j
23
23
23
1 2 3 4 5
1 o 13 00 8 00
2 13 o 4 00 10
3 00 4 o 12 6
4 8 00 12 o 00
5 00 10 6 00 o
Determinamos, a continuación, la actualización de cada tabla para cada nodo k
recorriendo todos los nodos de la red. La actualización para el k-ésimo nodo (o
iteración) se obtiene de la fórmula
d(i,j) == min{d(i,j) ,d(i,k) +d(k,j)}
con c4 · igual a la longitud del camino más corto de i a j y nodos intermedios k.
La su~esión de tablas, en las que se han marcado con un asterisco las entradas
que tienen una reducción, son
'1
1
274
PROGRAMACION UNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
k=1
2
13
1
1 o
2 13
3 00
4
5
o
21.
10
8
4
5
00
00
o
8
21"
12
12
6
00
4
4
00
3
o
1 o
2 13
3 17.
00
Por el contrario, si k (i, j) = O, entonces O(i, j) = d (i, j) para la tabla inicial de
distancias.
Aplicando esto a las cuestiones planteadas, se tiene:
e) k(2,4) = 3, luego 0(2,4) = 8(2,3) +0{3,4) . Como k{2,3) =O, 0(2,3) =
d (2, 3) y análogamente para 0(3, 4) , por lo que el camino mínimo es 2 - 3 - 4
con longitud 16 km.
d) k (4, 5) = 3, luego B(4,5) = B(4,3) + B(3, 5) y el camino mínimo es 4 - 3 - 5
con longitud 18 km.
O
o
4
5
23*
10
6
31.
4
o
4 8
5 23.
21
10
12
6
31"
o
1
2
13
3
17
4
8
4
16*
12
5
23
10
6
18*
4
o
donde la segunda desigualdad se sigue del hecho de que B(i, a) +O (a, j) es la
longitud de algún camino desde i hasta j. Por tanto,
O(i,j) =B(i,a)+B(a,j).
8
21
12
o
275
10
6
k=2
2 3
13 17*
1
CAPITULO 5. OPTIMIZACION EN REDES
k=3
'
1
: 1
1 o
2 13 o
3 17 4
4 8 16*
5 23 10
o
12 o
6 18*
o
No hemos obtenido las tablas para k = 4 y 5, ya que no se produce cambio
alguno en las entradas correspondientes a la tabla obtenida para. k = 3. Ahora,
obtendremos una nueva tabla de valores k {i, j) , donde k (i, j) es el mayor valor
de k para el que hay un asterisco en la posición (i,j) . Si no hubiera asterisco en
tal posición se colocaría un O. La tabla es
5. Camino más largo. Para la red del Ejercicio 5.2, determinar el camino de
longitud máxima del nodo 1 al 7:
a) Mediante la construcción de un programa 0-1.
b) Transformándolo en un problema de asignación.
e) Mediante el algoritmo de etiquetación del camino de longitud máxima, prescindiendo de los arcos (5, 3) y (7, 4).
Solución
a) Definimos las variables de decisión
k (i,j)
1
2
3
2
4
5
1 - o
o 2
2 o - o 3 o
3 2 o - o o
4 o 3 o 3
5 2 o o 3 -
Entonces, si k (i,j)
k = a se verifica
y definimos B(i, j)
= a ~ 1, se sigue que en la tabla de distancias d (i, j) para
·
d(i,j) = d(i,a)+d(a,j)
= d (i, j) . Así,
B(i,a) +B(a,j)::; d(i,a) +d(a,j) =·d(i,j)
= B(i,j)::; B(i,a) +O(a,j)
Xij
={
1 si se toma el arco (i, j)
O en otro caso
La función objetivo es
maxD
= 6X12 + llX¡3 + 3X¡4 + 14X¡6 + 18Xt7 + 4X23 + 4Xa6+
+2X42 + 3X45 + 2Xs3 + lOX57 + 7X65 + 3X67 + 5X74
276
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Las restricciones, una para cado nodo l son
+ Xt6 + X17 == 1
X¡2 +X¡?+ X14
Xt2
+ X42 -
Xta
+ X23 + xsa - xa6 = O
X¡4
+ X74 -
== 0
X23
X42 - X45
+ X55 - X53 Xt6 + xas - xss X45
X17 +xs1 +x67
Xij
=0
=0
xs1 = O
X57
=1
{nodo 1)
(nodo 2)
{nodo 3)
{nodo 4)
(nodo 5)
(nodo 6)
(nodo 7)
== 0,1 V(i,j)
CAPITULO 5. OPTlMIZACION EN REDES
277
tabla anterior. Partiendo de la fila correspondiente al nodo origen, determinamos
el camino más largo (ver Ejercicio 5.1b) y su longitud que coincide, obviamente,
con el resultado obtenido en el apartado anterior.
e) Aplicamos el algoritmo de etiquetación para obtener el camino de longitud
máxima. Recordemos que sólo es válido para redes acíclicas dirigidas, de ahí
que se haya prescindido del par de arcos indicados en el enunciado para tener
una red con la propiedad anterior. Renumeramos los nodos de la red para tener
]a condición de que estén numerados en orden creciente según la precedencia.
Tenemos la red
Aplicando
. , , el
. algoritmo de ramificación y acotación {ver Capítulo 6) se obt"1ene
1a SO1UClOn optuna
*-1
*-1
• ·== 1, Xs7
•
X¡a
- ' xas
- , x55
=1
con el resto de las variables nulas y D* = 32. Por tanto el camino más 1
f lene 1ong1·tud 32 Y es 1 -t 3 -t 6 -t 5 -t 7, como se muestra
' en la figura argo
Comenzarnos determinando la etiqueta Ej de cada nodo, en orden creciente de
numeración, utilizando la fórmula
Ej=max{E¡+d¡j, i=1, ... ,j -1}
con etiqueta Opara el nodo origen, es decir, E 1 =O. Por ejemplo, la etiqueta del
nodo 2 se obtiene
b), ~onstruimos la matriz de asignación de la red para el problema del camino
max1mo, que es
1
1
2
3
4
5
6
7
o
M
M
M
M
M
-M
2
3
6 - 11
o -4
M
-2
M
M
M
o
4
-3
M
M
M
o
-2
M
M
M
M
-5
5
M
M
M
-3
o
-7
M
6
7
-14 -18
M
M
-4
M
M
M
M - 10
o
M
-3
o
siendo M u~ núm:ro muy grande. Aplicando el método húngaro (ver Capítulo
4) en cuatro IteraciOnes se obtiene la asignación óptima, indicada en negrita en la ·
~
= max{E¡ + d12} == max{O+ 3} == 3
Las de restantes nodos son
E3 =max {E¡ + d13 , E2 + d2a,} =max {O+ 6, 3 + 2} =6
E4 = max{E1 +d14, Ea +da4} = ma..x{O+ 11,6+4} = 11
Es= max{E¡ +dts, E4 +d4s} = ma..x{O+ 14,11 +4} = 15
E6 = max {E2 + d25, Es+ ds6} = ma..x {3 + 3,15 + 7} = 22
E,= max{E¡ + d11,E5 ds1,E6 + d57} = max{O + 18,15 + 3,22 + 10}
+
= 32
Por tanto, el camino más largo del nodo 1 al 7 tiene longitud E, = 32. Para
determinar el camino se partiría del nodo 7, trazando el camino hacia atrás con
278
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
©RA-MA
CAPITULO 5. OPTIMlZACION EN REDES
los arcos que verifiquen la fórmula de etiquetación, que son
para E7 = 32,
para E6 = 22,
para E5 = 15,
para E 4 = 11,
el arco
el arco
el arco
el arco
Iteración
i
(6, 7)
o
2
lOO
(5, 6)
1
-
(4, 5)
(1,4)
2
3
-
4
E(j)
Aquellos que forman un camino de 1 a 7 son 1 -7 4 -7 5-7 6 -7 7.
6. Política óptima de reemplazamiento. Se desea determinar la política
óptima de sustitución de equipos para cierto horizonte de planificación. El esquema representa las estrategias de reemplazamiento donde un arco del nodo (año) i
al j representa una actuación de compra de material en el año i y su sustitución
el año j, con Cij el coste de sustitución.
-
100
Nodos
4
3
5
200 340 00
200 340 500
340 500
- 420
-
-
-
200
340
420
j
6
700
600
600
490
490
490
mínimo
2
3
4
5
6
El camino mínimo hasta 6 tiene longitud 490, siendo éste 1 -7 4 -7 6. Por tanto,
el plan óptimo de sustitución es comprar en el año 1 y sustituir en el 4, comprar
en el 4 y sustituir en el 6, con coste total 490.
b) Podemos aplicar el algoritmo de etiquetación, ya que la red es acíclica dirigida.
Las etiquetas Ej de los nodos se tienen de la fórmula
Ej = min {Ei + dij 1 i = 1, ... ,j - 1}
700
con E 1 =O para el nodo origen. Así, las
500
279
et~quetas
de los nodos son
E2 = min {Et + d12} = min {O + 100} '= 100
~ = min {E1 + d13, E2 + d23} = min {O+ 200, 100 + 150} = 200
E4 = min {E¡+ dt<t, ~ + d24., E3 + d34} =
= m in {O+ 340, 100 + 300, 200 + 200} = 340
E5 = min {E2 + d2s, E4 + d45} = min {100 + 400,340 + 80} = 420
E6 = min {E1 + dt6, E2 + d25,E4 + d45, Es+ dss} =
Se desea conocer la política de sustitución más económica.
a) Determinarla mediante el algo1itmo de Dijkstra.
= min {O + 700, 100 + 500,340 + 150,420 + 120} = 490.
El camino mínimo de 1 a 6 tiene longitud E6 = 490. Determinamos el camino
partiendo del nodo final 6 y trazando hacia atrás el camino con los arcos que
verifiquen la fórmula de etiquetación. Se comprueba que los predecesores son
b) Determinarla con el algoritmo de etiquetación del camino mínimo.
Nodo Predecesor
2
3
4
5
6
Solución
a) Planteamos el problema como uno de camino mínimo. Tomando el año 1 como
nodo origen y el 6 como destino, la política más económica vendrá dada por el
camino de longitud mínima de 1 a 6. Aplicando el algoritmo de Dijkstra, se
tienen las iteraciones enJa tabla
1
1
1
4
4
El camino de longitud mínima es 1 -7 4 -7 6.
o
7. Arbol de máximo alcance. Determinar· el árbol de máximo alcance para la
siguiente red de distribución en la que los números sobre las a1·istas representan
d~stancias.
280
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 5. OPT!MIZACION EN REDES
281
®
S
1
4
7
®
a) Resolverlo con el método gráfico, utilizando el algoritmo de Kruskal.
a) Idem pero con el método tabular.
Solución
a) Aplicamos. el algoritmo de Kruskal sobre la red. Para ello, consideramos inicialmente el conjunto de nodos de la red que suponemos no conectados o aislados
y que denotamos U = {1, 2, 3, 4, 5, 6, 7}. Denotamos con C el conjunto de nodos conectados, que inicialmente es vacío. Comenzamos tomando arbitrariamente
cualquier nodo de U, por ejemplo, el nodo 1, y lo incluimos dentro del conjunto C
excluyéndolo de U, es decir, C = {1} y U= {2, 3,4, 5, 6, 7} . El nodo no conectado
más próximo al 1 es el 2, con distancia 9. Por tanto, actualizamos el conjunto
de nodos conectados a C = {1, 2} y el de no conectados a U = {3, 4, 5, 6, 7} . La
figura muestra estas dos primeras iteraciones
Reiterando el procedimiento llegamos, en siete iteraciones, a determinar el árbol
de máximo alcance cuya longitud U = 31. La tabla que sigue recoge las iteraciones del algoritmo
Iteración
o
1
2
3
4
5
6
7
Conjunto
de nodos
conectados
0
{1}
{1,2}
{1,2, 4}
{1,2,4,5}
{1,2,4,5,6}
{1,2,4,5,6,7}
{1,2, 3,4,5,6,7}
Longitud L
Par de
de la arista
nodos
elegida
conectados
-
-
9
1-2
2- 4
4-5
5-6
6-7
6-3
o
5
5
3
4
5
E= 31
El árbol de máximo alcance es
®
S
1
®
3'-----=----1
Repetimos el procedimiento determinando el nodo no conectado más próximo a
cualquiera de los conectados, es decir, el nodo de U más próximo a cualquiera de
los nodos de C. Este es el 4, que conectamos a 2, a distancia 5. Tenemos ahora
q = {1, 2, 4} y U = {3, 5,6, 7}, cuya nueva conexión muestra la figura
b) Para implementar el algoritmo en formato tabular, construimos la tabla de
distancias entre nodos, dejando vacías las posiciones de pares de nodos no conectados mediante una arista.
282
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
-
CAPITULO 5. OPTIMIZACION EN REDES
Desde el
Hasta el nodo
el nodo 1 2 3 4 5 6 7
1
9 18 11
2
5 7
9
18
5
3
4
11
5
5
7
5
6
7
5
3
5
8
4
3
8 4
Elegimos arbitrariamente un nodo, por ejemplo 1, que incluimos dentro del conjunto de nodos conectados, y lo indicamos marcando su fila (1-) . Tachamos su
columna y determinamos el menor valor de la fila del nodo 1, que corresponde al
valor 9 bajo la columna del nodo 2. Marcamos el valor 9, negrita, y aparecen así
conectados los nodos 1 y 2.
2 3
1- 1 9 18
2
3
4 5
5 7
6
5
5 6 7
4
El coste total es C* = 9 + 5 + 5 + 3 + 5 + 4 = 31 y de la lectura a lo largo de las
filas de la tabla deducimos que conectamos (1, 2} , (2, 4), (4, 5) , (5, 6}, (6, 3} y
8. Interconexión de nodos. Se desea comunicar mediante fibra óptica ocho
centros de investigación. El coste del sistema es función lineal de la longitud de
la línea tendida. La tabla recoge las distancias entre los centros
7
5
Desde 1
1
2
28
3
26
4
41
5
30
6
17
7
19
8
52
5
5
5
8
4
3
3
Tachamos a continuación la columna del nodo 2 y marcamos su fila. De nuevo,
para la tabla reducida en las columnas de los nodos 1 y 2, determinamos el menor
valor en alguna de las filas marcadas. Corresponde al 5, negrita, de la columna
del nodo 4.
4
1
18 11
2
3
5
7
5
6 7
5
Hasta
5
41 30
17 26
27 21
- 15
15 52 70
36 81
61 77
4
6
17
31
25
52
70
-
7
19
18
26
36
81
66
66 69 12
8
52
40
18
61
77
69
12
-
Se desea tender la línea de manera que haya una conexión con cada centro, pero
sin ciclos. ¿Cuál es el tendido de línea entre los centrqs más económico?
Aplicamos el algoritmo de Kruskal, partiendo deJ nodo l. La tabla muestra las
iteraciones del método
5
5
2 3
28 26
21
21 17 27
26 21
31 25
18 26
40 18
Solución
7
5
4
5
6
o
(6, 7}.
8 4
3
1 2 3 4 5 6 7
1
9 18 11
2 9
5 7
3 18
5
4 11 5
5
5
7
5
3 8
4
6
5
3
7
8 4
11
7
11-
1111111-
283
3
3
8
4
8 4
Marcamos la fila del nodo 4 y prescindimos de su columna, quedando ahora
conectados los nodos 2 y 4. Reiteramos el procedimiento y en siete iteraciones
Uegamos a la tabla final
284
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Iter.
o
1
2
3
4
5
6
7
8
Conjunto
Longitud L
de nodos
del arco
conectados
elegido
0
{1}
o
17
{1, 6}
19
{1,6,7}
12
{1,6,7,8}
18
{1,2,6,7,8}
17
{1,2,4,6, 7,8}
15
{1,2,4,5,6,7,8}
18
{1,2,3,4,5,6, 7,8}
r; = 116
©RA-~~
Par de
nodos
conectados
Al centro Distancia
2
18
3
18
4
17
5
15
e) Determinar un corte sobre la red con capacidad igual al ftv.jo máximo.
-
Solución
a) Introducimos las variables de decisión Xij que representan el flujo a través del
arco (i,j) con capacidad máxima kij· Si F representa el flujo máximo de la fuente
(1) al sumidero (6), el modelo de programación lineal que proporciona. el flujo
máximo en la red, es
1-6
1- 7
7- 8
7- 2
2- 4
4- 5
8- 3
ma.x z = F
s.a
Del centro Al centro Distancia
1
6
17
1
7
19
7
8
12
o
9. Flujo máximo en una r ed de comunicaciones. La siguiente red de
comunicaciones transfiere información entre los distintos nodos. Los números
sobre los arcos de la red indican las capacidades máximas de transferencia de
cada línea.
12
1
l
285
b) Resolverlo mediante el algoritmo de flujo máximo (Ford-Fulkerson).
El árbol de máximo alcance tiene longitud 116 y las conexiones entre pares de
centros son
Del centro
7
8
2
4
CAPITULO 5. OPTIMIZACION EN REDES
+ X¡a + X52 X¡3 + X23 . X34 + X54 x12
F =O
X12
X23 - X25
=0
X34 - X35 - X35
X45 - X45
=0
= 0
X25
+ X35 + X45
X35
+ X45 + xs6 - F = O
0~
X12 ~
15,
0 ~ X¡3
0~
X23 ~
10,
0 ~ X25 ~ 12
- X52 - X54 - X56
~
O~ X34 ~
0 ~ X35 ~
O~ xas ~
0 ~ X45 ~
0~
0 ~ X52
X46
11,
15,
~ 12,
0 ~ X54 ~ 14,
F "2:,0
=0
18
6
26
~7
0 ~ X55 ~ 9
El grupo de restricciones de igualdad representa. la conservación de flujo en cada
nodo (flujo que entra = flujo que sale); las restantes restricciones son cotas al
flujo en cada arco.
Aplicando el método del simplex con variables acotadas, en diez iteraciones
se obtiene la solución óptima.
xh = 15, xia = 18, xiJ = 8, x25 = 7, xj4 = 11,
xj6 = 15, x46 = 12, x54 = 1, 'xs6 = 6
con el resto de variables nulas y flujo máximo F* = 33.
Se desea determinar el flujo máximo de información del nodo 1 al 6.
a) Formularlo y resolverlo como un programa lineal.
b) Aplicamos el algoritmo de flujo máximo. Para ello, determinamos caminos de
flujo creciente de la fuente al sumidero, viendo el incremento de flujo neto 6.F
que aporta. cada camino. El algoritmo terminará cuando no sea posible construir
ningún camino de flujo creciente, en cuyo caso, se habrá determinado el flujo_
286
PROGRAMACION LINEAL Y APLICACIONES: EJERCIC IOS RESUELTOS
CAPITULO 5. OPTIM!ZAC!ON EN REDES
max1mo. Comenzamos con flujo neto Xij = O sobre cada arco de la red y, por
tanto, flujo total F =O. DetaUamos las iteraciones del algoritmo.
l
JI
1
1
Iteración 1. Un camino de flujo creciente de la fuente (1) al sumidero (6),
que elegimos para la primera iteración, es 1 - 2 - 3 - 4 - 5 - 6. Observemos
que, al principio, habrá muchas posibilidades de elección de caminos, que se irán
restringiendo al irse saturando arcos en la red. El camino antes elegido tiene
todos los arcos hacia delante, arcos en el sentido de la fuente al sumidero, y las
etiquetas (x¡j, kij) verifican la condición Xij < kij· Este camino se indica en el
diagrama. siguiente, que muestra sobre cada arco su etiquetado actual (Xij, k¡j) y
debajo si es hada delante (D) o hacia atrás (A).
determinado por el arco (2, 3) . El flujo total a través de la red es F = O+ 9 + 1 =
10. Actualizamos, además, el flujo a través de cada arco, sumando la cantidad 1
al flujo de cada arco, ya que son hacia adelante, del camino construido, teniendo
(10, 15)
1~
(0,15)
(0,10)
2
~
D
~
(0,11)
3
D
~
(0,26)
4
D
~
(0,9)
5
~
D
6
D
(0, 12)
(10, 15)
1
!::.F
=
min{k¡j- X¡;, (i,j) E D}
min {15- O, 10- O, 11- O, 26 - O, 9- O}
= min {15, 10, 11, 26, 9} = 9
determinado por el arco (5, 6) . Actualizamos el flujo total a través de la red, dado
por F = O+ 9 = 9 y el flujo a través de cada arco sumando la cantidad 9 al flujo
actual de cada arco, ya que son hacia delante, del camino construido, teniendo
(9, 15)
1
•1
(9, 10)
(9, 11)
1~2~3
(9, 26)
~
2
con el arco (5, 6) saturado.
Iteración 2. Un nuevo camino de flujo creciente de la fuente al sumidero es
(9, 15)
1
~
D
(9, 10)
2
~
D
(O, 12)
(9,11)
3
~
D
4
~
D
siendo todos los arcos hacia delante. El incremento de flujo es
1
1
¡
!::.F
min {kij- X¡;, (i,j) E D}
mio {15- 9, 10- 9, 11 - 9,12- O}
= min{6, l,2,12l=1
6
~
(O, 14)
5
D
~
(10,11)
4
f--
(0, 15)
3
A
D
~
6
D
=
mio {min {kij- Xij, (i,j) E D}, min {xii• (i,j) E A}}
= min {min {15 - 10,12- O, 14-0,15- 0}, min {lO}}
= min {min{5,12,14,15} ,min {10}} = 5
determinado por el arco (1, 2). El flujo total a través de la red pasa a ser F =
0+9+ 1+5 = 15. Actualizamos el flujo a través de cada arco sumando la cantidad
5 al flujo actual de cada arco hacia delante y restándosela al flujo actual de los
arcos hacia atrás del camino construido, obteniendo
(5, 12)
(15, 15)
(9, 9)
~4~5~6
(1,12)
que tiene todos los arcos hacia delante excepto el (3,4), que es hacia atrás y
puede pertenecer al camino, pues verifica la condición de tener flujo positivo es
decir, X34 = 10 > O. El incremento de flujo es
El incremento de flujo por este camino es
!::.F
(10, 11)
(10, 10)
2~3~4~6
Iteración 9. Un nuevo camino de flujo creciente de la fuente al sumidero es
D
1
287
1
~
2
~
(5, 11)
(5,14)
5
~
4
f--
(5, 15)
3
~
6
Repitiendo el procedimiento, en tres iteraciones más, hasta que ya no es posible construir un camino de flujo creciente de la fuente al sumidero, se alcanza
la solución óptima que proporciona un flujo máximo F* = 33. La tabla contiene las iteraciones del algoritmo con indicación de los caminos de flujo creciente,
el incremento de flujo sobre la red que proporciona cada camino y el arco que
determina ese flujo.
288
PROGRAMAC!ON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Iteración
1
2
3
4
5
6
Camino
de flujo
creciente
Incremento Arco que
de flujo
determina
6.F
el flujo
1-2-3-4-5-6
9
(5, 6)
1-2-3-4-6
1-2-5-4-3-6
1-3-2-5-4-6
1-3-4 -6
1 -3-6
1
5
7
4
7
I:
= 33
CAPITULO S. OPTIMIZAC!ON EN REDES
©RA-~
10. Flujo máximo con coste mínimo. Si en la red del Ejercicio 5.9 se dispone
también de los costes de envío por unidad
"
Arco Coste/u
{1,2)
73
{2,3)
95
87
{3,4)
{3,6)
73
{4,6)
51
{5,4)
137
(2,3)
(1, 2)
(2,5)
(4, 6)
(1, 3)
Los flujos netos no nulos a través de los arcos de la red son
Arco
Capacidad
(1,2)
(1,3)
(2,3)
(2,5)
(3,4)
15
18
10
12
Flujo neto
15
18
11
3
12
Arco
(3,6)
(4,6)
(5,4)
(5,6)
12
12
3
9
9
Arco Coste/u
{1,3)
60
110
{2,5)
126
{3,5)
(4,5)
91
85
(5,2)
97
{5,6)
determinar mediante un programa lineal el flujo máximo con coste mínimo.
Capacidad Flujo neto
15
12
14
289
Solución
Obtuvimos que el flujo máximo F * es 33. Teniendo en cuenta. los costes de flujo
por unidad a. través de cada arco queda el programa Lineal con función objetivo
coste total e a minimizar, es decir,
9
En negrita se indican los flujos de los arcos saturados, es decir, aquellos en los
que el flujo iguala la capacidad.
e) La red con los arcos saturados {indicados en trazo grueso) es
mio
e = 73Xl2 + 60Xt3 + 95X23 + llOX25 + 87X34 + 126x35+
+73XJ6 + 9lx4s + 51X46 + 85xs2 + 137xs4 + 97xs6
con las mismas restricciones que en el programa lineal de flujo máximo, salvo las
asociadas a la fuente (1) y al sumidero {6), que toman la forma
12
Xt2 + X13 = 33
XJ6 + X45 + XS6
= 33,
y desaparece la variable F. Aplicando el método del simplex con variables acota-
das, en dieciocho iteraciones se alcanza la solución ópt!rna
xt2 = 15, xiJ = 18, x2J = 6, x25 = 9, x34 = 9,
Xl6 = 15, x46 = 9, Xss = 9
Si sobre esta red intentamos construir caminos de flujo creciente, sólo etiquetaría~os el nodo l. Por tanto, el corte mínimo, determinado por la línea punteada
de la figura, es
M= {1}, Me= {2, 3,4,5,6}.
Su capacidad
e(M,Mc)
= k12 + k13 = 15 + 18 = 33
coincide con el flujo máximo obtenido antes.
o
con coste mínimo e• = 6945. Observemos que esta s6lución difiere de la obtenida
en el ejercicio anterior, cuyo coste era 7335.
O
11. Flujo mí.nimo· en una red. Si los números sobre los arcos de la red del
Ejercicio 5. 9 representan capacidades mínimas, determinar el flujo mínimo desde
el nodo 1 al 6, utilizando la formulación de un programa lineal,
290
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
\
CAPITULO 5. OPTIMIZACION EN REDES
©RA-~
Solución
Denominamos f al flujo mínimo a través de la red. El programa lineal se formula
291
a) Formular un modelo de programación lineal que proporcione el plan de distribución de cemento de los depósitos a los puntos de venta.
minz= f
b) Representar en una red tal plan de distribución.
s.a
e) Determinar el flujo máximo de transporte mediante el algoritmo de FordFulkerson. Interpretar la solución.
+ X¡J - j = 0
Xt2 + X52- X23- X25 = 0
Xt2
X¡3
X34
X25
+ X23 +X54 -
X34 - X35 - X36
X45 - X46 =
+ X35 + X45 -
=Q
Solución
a) Introducimos las variables de decisión
Xij = t de cemento transportadas del depósito D¡ al punto de venta Vj
0
X52 - X54 - X56
+X46 + X56 - f = 0
15 ~ X¡2, 18 ~ X¡3 10 ~ X23
12 ~ X25 1 11 ~ X34 1 6 ~ X35
15 ~ X36 26 ~ X45 1 12 ~ X46
7 ~ xs2, 14 ~ xs4, 9 ~ Xs6
=0
X35
Las restricciones deben tener en cuenta:
1
- Capacidades máximas C¡ de almacenamiento de los depósitos
1
1?.0
4
L Xij ~ C¡,
El primer grupo de restricciones se refiere a la conservación de flujo en cada nodo.
El segundo, a restricciones de flujo mínimo.
Aplicando el método del simplex con variables acotadas, en cinco iteraciones
se alcanza la solución óptima
r = 36.
= 1, 2, 3
- Demandas má.ximas Ej de los puntos de venta
3
L Xij?. E;,
x¡2 = 18, xiJ = 18, xiJ = 27, x25= 12, xj4 = 24, x~ = 6
x36 = 15, x¡5 = 26, x46 = 12, x52 = 21, xS,¡ = 14, x56 = 9
con flujo mínimo sobre la red
i
j=l
j
= 1, 2,3,4
i=l
o
- Capacidades máximas de transporte T¡i entre pares (i,j) factibles
'V (i, j) factible
12. Transporte como flujo sobre una red. Una empresa tiene tres depósitos
D;, i = 1, 2, 3, donde guarda cemento y desde los que abastece a cuatro puntos de
venta V;, j = 1, 2, 3, 4. La tabla contiene la capacidad máxima de almacenamiento
de cada depósito, la demanda máxima de cada punto de venta y las capacidades
máximas de transporte en las posibles rutas entre depósitos y p·untos de venta
(todo ello en t)
V¡
v2
v3
70
90
v4
D,
80 - 60
D2
85
40 60 50
D3
Demanda 130 200 150 250
Capacidad
150
300
250
La función objetivo representa el total de cemento transportado que es
3
4
max2:2:x¡;
i=lj=l
Observemos que, como la función objetivo es de maximización, las restricciones de demanda podemos reformularlas como desigualdades ~. pues, además, la
demanda es superior a la disponibilidad. Por tanto, el modelo lineal para este
292
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
problema de distribución queda
max
T
=
xu
+X¡a + x22 + X23 + +x24 + X31 + X32 + X34
s. a
+ X¡3 ;S 150
+ X23 +X24 ;S 300
X31 + X32 + X34 ;S 250
Xu
+ X3¡
+ X32 ;S 200
X ¡3
+ X23 ;S 150
X24
+X34 ;S 250
;S 80,
;S 60,
;S 85,
;S 60,
Se tiene así la red
0 ;S X¡3 ;S 70
0 ;S X23 ;S 90
0 ;S X31 ;S 40
0 ;S X34 ;S 50
Aplicando el método del simplex con variables acotadas, en ocho iteraciones se
alcanza la solución óptima, en t, dada por
xh =80, xia = 70, x22 = 60, x23 = 80, x24 = 85
Xa¡
• Se añade un destino ficticio (9) con cuatro arcos que inciden en él y tienen
como orígenes los cuatro puntos de venta. (que renombramos 5, 6, 7 y 8) con
capacidades máximas de flujo igual a las demandas máximas de los puntos
de venta., respectivamente.
;S 130
X22
0 ;S X¡2
0 ;S X22
0 ;S X24
0 ;S X32
293
• A los arcos entre depósitos y puntos de venta. se les asigna capacidad máxima
de flujo igual a las capacidades máximas de transporte.
X22
Xn
CAPITULO 5. OPTIMIZACION EN REDES
©RA-~
= 40,
Xa2
= 60,
Xa4
= 50
con T* =525 t.
b) La red de distribución asociada es
e) Para determinar el flujo máximo, se modifica la red anterior como sigue:
• Se añade un origen ficticio (1) del que parten tres arcos a los tres depósitos,
que renombramos 2, 3 y 4, con capacidades máximas de flujo iguales a las
capacidades máximas de los depósitos, respectivamente.
Aplicamos a esta red el algoritmo de flujo máximo. La. tabla contiene las iteraciones del algoritmo con indicación de los caminos de flujo creciente, el incremento
de fl ujo sobre la red que proporciona cada camino y el arco que determina tal
incremento.
Camino
de flujo
Iteración
creciente
1
1 - 2-5 2
1 - 2- 7 3
1- 3- 64
1 -3 - 7 1- 3- 8 5
1- 4 - 5 6
7
1 -4 - 6 1- 4 - 8 8
Incremento
de flujo
t::.F
9
9
9
9
9
9
9
9
80
70
60
80
85
40
60
50
E= 525
Arco que
determina
el flujo
(2, 5)
{1, 2)
{3, 6)
{7,9)
{3,8}
{4,5)
(4,6)
{4,8}
Como consecuencia, obtenemos también los flujos netos a través de cada arco de
la red, indicándose en negrita los arcos saturados
294
Arco Capacidad Flujo neto
(1,2)
150
150
{1,3)
300
225
{1,4)
250
150
{2,5)
80
80
70
70
(2,7)
(3,6)
60
60
(3,7)
90
80
(3,8)
85
85
295
Actividad Descripción
Predecesor Duración
a
Diseño del producto
6
b
Investigación del mercado
2
Análisis de producción
e
a,b
3
Modelo del producto
d
a,b
4
Prospecto de ventas
e
a,b
3
f
Análisis de coste
e
4
g
Prueba del producto
d
5
h
Formación de personal
e
3
i
Predicción de ventas y precio
h
2
j
Informe final
1
g, i
Arco Capacidad Flujo neto
40
40
(4,5)
60
60
(4,6)
50
50
(4,8)
130
120
(5,9)
200
120
(6,9)
150
150
(7,9)
250
135
(8,9)
1
Teniendo en cuenta la solución, tendremos las siguientes reservas para los depósitos,
obtenidas como diferencia entre las capacidades y flujos netos de los arcos (1,2),
(1,3) y (1,4),
Depósito
Dt
D2
D3
CAPITULO 5. OPTIMIZACION EN REDES
@RA-~
PROGRAMAC!ON LINEAL Y APLICACIONES: EJE:RCICIOS RE:SUELTOS
a) Construir la matriz de encadenamientos.
b) Dibujar la red CPM con el criterio de actividad-arco.
Reserva
o
e) Determinar el camino crítico y el tiempo de compleción con la rutina de
etiquetación de arcos.
75
100
d) Representar la duración de las actividades en un diagrama de Gantt.
y demandas sin cubrir para los puntos de venta (obtenidos como diferencia entre
las capacidades y flujos netos de los arcos (5, 9), (6, 9), (7, 9) y (8, 9) , respectiva-
Punto de Demanda
venta
sin cubrir
10
Vt
80
v2
1¡
1
11
e) Si en la duración de la actividad e se produce un retraso de 3 meses, ¿cómo
afecta esta incidencia al proyecto?
mente)
v3
v4
Solución
a) De la tabla de precedencias, construimos la matriz de encadenamientos con
tantas filas y columnas como actividades tenga el proyecto. Se marca x en una
casilla si la actividad de la fila de esa casilla requiere que esté terminada la
actividad de la columna. Así, se obtiene
o
115
o
13. Red CPM con etiquetación de arcos. En la planificación del lanzamiento de un nuevo prodt-!cto se han considerado las actividades, prelaciones y
duraciones en meses que se muestran en la tabla
11
1i 1
b 1 e 1 d 1 e 1f 1 g 1 h 1
e
X
X
X
X
e
X
X
g
.J
1
d
f
't
a
a
b
h
1
X
X
X
i
j
X
X
X
296
PROGRAMACJON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
-
©RA-MA
CAPITULO S. OPTTMIZACION EN REDES
297
b) A partir de la tabla de encadenamientos es fácil dibujar la red del proyecto.
Utilizando el criterio actividad-arco, con el que asocia a cada actividad un arco
y teniendo en cuenta que a y b son actividades iniciales del proyecto, no tiene~
ninguna marca x en sus filas de la matriz de encadenamiento, y j y f son actividades finales del proyecto, no tienen ninguna marca x en sus columnas, la red
es
Observemos que ha sido necesario introducir una actividad ficticia (F), cuya
duración es O, para evitar que los arcos asociados a las actividades a y b sean
paralelos, es decir, comiencen y concluyan en los mismos nodos. Además, los
nodos se han numerado en orden creciente de modo que 1 es el inicial y 9 el final.
La duración del proyecto es la mayor de las etiquetas PT de las actividades
finales (! y j), que es T* = 16 meses. A continuación, para determinar las
holguras y el camino crítico, asignamos los valores de las etiquetas TC y TT.
El valor de TT para las actividades finales es T* . Su valor TC es el valor TT
menos su duración. Continúa la asignación de etiquetas en orden decreciente¡
para cualquier actividad, su valor TT es igual al menor de los valores TC de las
actividades que la siguen; su valor TC es igual al valor TT asignado menos la
duración de la actividad. Los resultados de esta segunda etiquetación se tienen
en la figura
e) Llevamos a cabo un análisis CPM, que proporciona el camino más largo entre
los nodos inicial y final. Determinamos para cada actividad el etiquetado
1 PC
PT 1 TC TT
1
que representa
PC = Instante de tiempo más Pronto que puede Comenzar la actividad
PT = Instante de tiempo más Pronto que puede Terminar la actividad
TC = Instante de tiempo más Tarde que puede Comenzar la actividad
TT = Instante de tiempo más Tarde que puede Terminar la actividad
Empezamos asignando las etiquetas PC y PT, comenzando con la primera
actividad y continuando en orden creciente hasta la última actividad. La etiqueta
PC de la primera actividad, en este caso a y b, es O, y la PT su duración.
Continuamos con las restantes actividades. Su etiqueta PC se obtiene como el
mayor de los valores PT de las actividades que la preceden. Su valor PT es su
valor PC más la duración de la actividad. Los resultados de la etiquetación se
muestran en la figura
Finalmente, el cálculo de las holguras se tiene de las diferencias TT - PT, =
TC- PC. La siguiente figura muestra la holgura de cada actividad indicando en
negrita el camino crítico formado por las actividades con holgura O.
298· PROGRAMACION LINEAL Y APL ICACIONES: EJERCICIOS RESUELTOS
©RA-~
CAPITULO 5. OPTIMIZAC!ON EN REDES
299
e) Como la holgura de la actividad e es 3 meses, la duración del proyecto no varía.
Sin embargo, se tiene otro camino crítico dado por a -t e -7 f.
O
14. P lanificación de un proyecto informático. Cierto programa se compone
de 12 subrutinas A,B, ...,L. La concepción del proyecto hace que su ejecución
implique el siguiente cuadro de precedencias, costes en miles de ptas y tiempos
de compleción de las subrutinas en días.
Actividad Predecesor
Los cálculos se pueden poner también en formato tabular
Etiquetas
PC PT TC TT
Actividad
Nombre Duración
a
6
b
2
F
o
e
3
4
3
4
5
3
d
e
f
g
h
i
J
o
o
2
6
6
6
9
12
15
1
9
9
10
6
7
12
10
10
13
15
13
15
12
14
16
9
6
6
6
12
10
10
16
15
13
15
16
4
6
9
10
2
o
6
2
2
A
B
-
E,I
8
10
9
-
4
4
3
A
A
G
H
I
J
K
L
Crítica
1
3
Crítica.
1
1
Crítica
d) La figura muestra el diagrama de Gantt. Para construirlo, se ha dibujado para
cada actividad en un nivel distinto un segmento de longitud igual a su duración
y con origen en su tiempo PC.
5
4
8
3
7
5
4
3
G,J
e
D
F
Tiempo
reducido
3
4
7
2
5
5
3
3
6
7
6
-
Holgura
TT-TC
Críticá
E
Tiempo
normal
e
e
B ,D
F,H
F,H
9
11
Coste
Coste
normal 1·educido
200
300
400
120
200
300
300
800
70
150
60
100
250
300
500
150
300
300
370
800
160
200
150
105
a) Dibujar la red CPM.
b) Determinar el camino crítico y su duración.
e) Reducir la duración del proyecto en 2 días en la forma más económica.
Idem en 5 días. Utilizar el método de reducción enumerativa.
j,l
h, 3
1
e, 3
1
l
~
H
1
g, 5
f, 4
1
d) Reducir de la forma más económica la duración
lizando un programa lineal.
~el
proyecto en 5 días uti-
e) Si además se dispusiera en d} de un presupuesto adicional de 135000 ptas,
¿cuál sería la máxima reducción posible en la duración del proyecto?
d,4
c,3
~
Solución
1
a, 6
1
1 1 1 1 1 1 1
o
5
1
•
meses
l
l
10
1
a) La red é PM de ejecución de este proyecto con el criterio actividad-arco es
1
15
300
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 5. OPTIMIZACION EN REDES
1
Actividad
Nombre (i,j)
A
B
t
e
i
D
E
F
'1
1
b) Utilizando el algoritmo CPM, determinamos para cada actividad los valores
PC, PI', TC y TT, que se muestran en la tabla
Actividad
Nombre Duración PC
A
5
o
B
4
o
e
8
D
E
F
3
G
H
J
J
o
7
5
4
3
9
11
K
8
10
L
Etiquetas
Holgura
PT TC TT TT-Te
5
2
7
2
4
10
6
6
8
o 8 Crítica
5
5
8
8
8
8
7
lO
2
12
13
12
19
14
Crítica
12
2
13
13
22
24
22
24
30
34
26
13
24
13
26
24
34
34
11
8
20
10
17
13
26
24
4
Crítica
4
Crítica
El tiempo de compleción es T = 34 días, el camino crítico e ~ F ~ J ~ L, y el
coste C es la suma de los costes normales de todas las actividades, 3000000 ptas.
e) Determinamos inicialmente el incremento de costes Ci1· por día reducido para
cada actividad (i, j) , a partir de la expresión ·
Coste reducido - Coste normal
Cii
= ;:;:T::-ie_m_p_o_n_o_r_m_al-:----=T=-i-em_p_o_r-ed_u_c_id-o
Para la. actividad A asociada al arco (1, 2), este coste es, en mUes de ptas,
C¡
2
= 250 -
200
5-3
= 25
y, análogamente; para las restantes actividades. La tabla siguiente recoge tales
costes
Coste reducción
e¡i ( x 103 ptas)
(1,2)
25
(1,3)
(1,4)
(2,3)
(2,6)
100
30
o
50
o
(4,5)
Actividad
Nombre (i,j)
G
(4,7)
H
(3,5)
1
(5,6)
J
(5,7)
K
(6,8)
L
(7,8)
301
Coste reducción
e¡i ( x103 ptas)
70
o
30
12.5
45
5
Realizamos una representación del proyecto en un diagrama horizontal dibujando cada actividad con una barra de longitud igual a. su duración y con
origen en el valor de su etiqueta PC. Dibujamos el camino crítico como una línea
continua sobre el eje de tiempos y el resto de actividades en diferentes nivele&,
utilizando líneas punteadas para indicar los enlaces entre activida~es de la red
CPM. El esquema es
1
A,5
!
E, 7
¡.....
...
' D,3 H,3
1
¡ B,4
~····
e, a
i
1
F,5
¡
5
K,8
I ·OO••O
G,4
o
I, 9
.1 1···· !
10
L,lO
J,ll
l
15
20
25
30
35
El procedimiento de reducción se lleva a cabo unidad a unidad. Las actividades
que consideramos inicialmente para su reducción serán las actividades críticas
con coste Cii > O. Estas son e, J y L. La que conlleva menor incremento de coste
es L, así que reducimos esta actividad en 1 día, teniendo el proyecto una nueva
duración T = 33 y un coste e = 3005000. El camino crítico sigue siendo el
mismo, aunque la duración de L es de 9 días. Ahora, intentamos reducir en otro
día la duración del proyecto. Observemos que L no admite una nueva reducción,
pero la actividad crítica que permite reducir un día con menor incremento en el
coste es J. La nueva duración de la actividad J es 10 días y el incremento de
coste 12500. De nuevo, permanece el mismo camino crítico.
302
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
!
A, S
E:,7
D, 3 H,3
¡
1
1
B, 4
l
1
K, S
1 ,9
1
t¡
i G, 4
La función objetivo representa el incremento de coste debido a la reducción, que
habrá que minimizar. Esta toma la forma
L, 9
J , 10
F, S
= duración de la actividad asociada al arco (i,j)
= instante asociado al nodo i = 1, ..., 8
Xij
1
...:
e, a
303 .
d) Introducimos las variables de decisión
1·
1
CAPITULO 5. OPTIMIZACION EN REDES
@RA-MA
1
e= 25 (5- Xt2) + 100 (8- X¡4) + 30 (3 -
o
10
S
15
20
25
30
35
X23) +50 (7- X26)
+70 (4 - X4¡) + 30 (9 - Xs6) + 12.5 (11- X57) + 45 (8 - X6s) + 5 (10- X¡g)
Consideramos la función objetivo equivalente
max e' = 25Xt2 + lOOx14 + 30x23 + 50x26 + 70x47
Si ahora queremos reducir el proyecto 3 dias más, el lector puede comprobar que
la reducción total de 5 dias es la que se resume en la tabla
Actividades que
Días
Nueva Incremento
se reducen
reducidos duración
coste
I
1
8
30000
J
4
7
50000
L
1
9
5000
~ =85000
¡1
A, S
!
~ e, a
1
e = -e' + 2462.5. Las restricciones son
para todo arco (i, j)
y el deseo de completar el proyecto en 29 dias, dado por
ts- t1 ~ 29.
T,-,,· -< x··
··
'1 <
- t tJ
l ...
E, 7
:D, 3 1 H,3
1
con
Además, hay que considerar las cotas sobre las variables dadas por
que se muestra en el diagrama
l
+30xs6 + 12.5xs7 + 45x6s + 5x¡s
1
I,S
K,8
J, 7
L,9
con t¡i tiempo normal y 1ii tiempo reducido de la actividad asociada al arco (i,j).
También, consideramos la no negatividad de todas las variables de decisión
·1
1---+------!
.
F,S
para todo arco (i, j)
para todo arco (i,j)
= 1, ...,8
i
o
5
10
15
20
25
30
35
El tiempo de compleción es T = 29 dias, el coste e = 3085000. Ahora, hay dos
caminos críticos alternativos que son e --+ F -+ J -+ L y e --+ F --+ 1 -+ K.
Obsérvese que para la reducción del quinto día ha sido necesario, al haber caminos
críticos paralelos, reducir un día en lc..s actividades J e 1 simultáneamente.
En definitiva, tenemos 20 variables de decisión y 13 restricciones, además de las
cotas sobre las variables. Aplicando el método del símplex con variables acotadas,
en diecinueve iteraciones se obtiene la solución optima
xi2 = 5, xi3 = 4, xi4 = 8, x23 = 3, x26 = 7, x45 = 5,
= 3, xh = 4, Xs6 = 8, Xs¡ = 7, Xss = 8, x7s = 9,
ti =o, t2 = 7, t3 = 10, t4 = 8, t5 = 13, t6 = 21, t7 = 20, t8 = 29
con e'* = 2377.5. De aquí que e• = -2377.5 + 2462.5 = 85, en miles de ptas,
x3s
sea el incremento en el coste de reducción del proyecto a 29 días. Compruebe el
304
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
lector a partir de la lectura de los valores óptimos de las variables de decisión que
las actividades reducidas son las mismas y en la misma magnitud que la obtenida
en er apartado anterior.
Puede comprobarse, además, que para T ~ 27 el problema es infactible, siendo
imposible reducir la duración del proyecto a menos de 28 dias.
e) En caso de disponer de un presupuesto adicional de 135 (en miles de ptas), la
reducción máxima de la duración del proyecto se puede obtener como solución
del programa lineal con función objetivo
minT=ts-t 1
y todas las restricciones del apartado anterior, más la que se tiene de la limitación
debida al presupuesto adicional
L Cij (t¡j- X¡j) ~ 135
(i,j)
que explícitamente es
CAPITULO 5. OPTlMIZACION EN REDES
305
a) Dibujar la red PERT con el criterio actividad-arco.
b) Determinar el camino crítico y el tiempo esperado de compleción.
e) ¿Cuál es la probabilidad de que el proyecto se termine en menos de 18
semanas?, ¿y en 22 o más semanas?
d) Se desea firmar un contrato que especifique el tiempo de compleción del
proyecto de modo que haya una probabilidad del 95% de cumplir la fecha
deseada, ¿qué duración debería especificarse en el contrato?
e) Si el proyecto se retrasa más allá de su tiempo esperado de compleción se
incurrirá en una penalización de un millón de ptas. Podemos mantener ese
tiempo o extenderlo una semana y media más, lo que requeriría una renegociación cuyo coste es de 200000 ptas. ¿Debería renegociarse el contrato?
Solución
a) La red PERT para este proyecto es
-25Xt2- 100X¡.¡- 30X23- 50X26- 70X47- 30X56- 12.5X57- 45X68- 5X78 ~
~ 135-2462.5 = - 2327.5.
Aplicando el método del símplex se comprueba que la única variable que cambia
respecto a. la solución de d) es xi 4 = 7.5 y, por tanto, la duración del proyecto es
28.5 días.
o
15. Una red PERT para la secuenciación de un proyecto de investigación. Consideremos un proyecto de desarrollo de un transistor alimentado con
energía solar. Contiene nueve actividades (a, ... ,t} siendo las prelaciones y las
estimaciones de tiempo (en semanas)
Tiempo
Tiempo
Tiempo
Actividad Predecesor optimista más probable pesimista
a
3
6
9
b
1
3
5
e
a
5
5
5
d
a
4
6
7
e
b
8
10
12
b
4
15
9
f
g
e
5
5
5
h
d,e,g
2
3
6
i
2
8
16
f
b) Para determinar el camino crítico, comenzamos por determinar para cada
actividad la media y varianza de su duración, que vienen dadas, respectivamente,
por las fórmulas aproximadas
11.· _
r-t -
tm+4to+tM
6
,
2 _ (tM-tm) 2
36
a¡ -
en las que tm es el tiempo minimo u optimista, tM es el tiempo máximo o pesimista
y t0 es eÚiempo más probable o modal. Por ejemplo, para la. actividad a se tiene
J.La =
3±466+9
= 6,
a~ =
(9;:)2
= l.
Los valores para. el resto de actividades, aparecen en la segunda y tercera columnas
de la tabla.
306
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 5. OPTIMIZACION EN REDES
307
1'
:1
f
1¡:
rl·
1
1
Actividad
Nombre J.Lí
a
6
b
3
e
5
d
5.83
e
10
9.16
1
g
5
h
3.33
i
8.34
(J~
t
1
.44
o
PC
o
o
6
.25
6
.44
3
3.36
3
o 11
.44
16
5.45 '12.16
Etiquetas
TC
PT
6
3
11
11.83
13
12.16
16
19.33
20.5
1.16
o
7.16
11.33
7.16
3
12.16
17.16
12.16
Holgura
TT
TT-TC
7.16
3
12.16
17.16
17.16
12.16
17.16
20.5
20.5
1.16
Crítica
1.16
5.33
4.16
Crítica
1.16
1.16
Crítica
Utilizando los tiempos medios ¡;.¡ como tiempos normales o fijos, hacemos un
análisis CPM determinando para. cada actividad las etiquetas PG, PT, TG y
TT, mostradas también en la tabla. El tiempo esperado de compleción es la
etiqueta PT de la última actividad; por tanto, la duración esperada del camino
crítico T es E ( == 20.5 semanas. Calculadas las holguras de las diferencias
TT - PT, vemos que el camino crítico es b --+ f --7 i. Es evidente que su longitud
es la indicada anteriormente, ya que
f)
E
d) Para determinar la duración T del proyecto con una probabilidad del 95%,
basta con plantear la probabilidad
P (f::;
r) = P ( z::; T 3~0!~· 5 ) = .95.
De la distribución normal estándar, se obtiene la ecuación
T - 20.5
3.041
= 1. 645
con lo que T = 25.5 semanas.
e) El coste adicional esperado si mantenemos el contrato es
G1 = 1000000 x P (T ~ 20.5)
= 1000000 x .5 = 500000 ptas.
El coste adicional esperado para el contrato ampliado
= 1200000 X p (f ~ 22) + 200000 X p (f :S 22) =
= 1200000 X .3109 + 200000 X .6891 = 510900 ptas.
C2
Como C1 < C2, no se debería renegociar el contrato.
o
(r) == J.L-r == J.Lb +¡;.1 + J.l.i = 3 + 9.16 +8.34 = 20.5 .
La varianza, suponiendo la condición de independencia, es
Var (
f) =a~= a~+ a]+ a[ = .44 + 3.36 + 5.45 = 9.25
f) = /9.25 ~ 3.041.
con desviación típica u (
e) Si suponemos que se dan las condiciones del Teorema Central del Límite para
el camino crítico (lo cual no es cierto aquí, aunque lo suponemos a efectos ilustrativos) , se puede suponer que la duración T del proyecto sigue una distribución
normal N (20.5, 3.041). Podemos calcular las probabilidades de compleción del
proyecto. La probabilidad de terminar en 18 semanas es
p
20 5
(i' <- 18) = p (z <- 183.041
- · ) ~ .2055
16. D ecisión en una red con incertidumbre. Un proyecto de construcción
está formado por las actividades cuya duración y relaciones de precedencia se
detallan en la tabla
Actividad Duración Precede a
A
15
D,N
B
10
H,G,P
e
10
M,J
D
20
E ,I
E
25
F
F
30
25
S
G
H
20
I,E
Actividad
[
J
K
L
M
N
p
S
Duración Precede a
·S
15
L,K
30
25
20
S
15
H,G,P
10
H,G,P
15
L,K
40
a) Repr·esentar med·iante una red CPM la ejecución del proyecto.
b) Calcular las holguras de cada actividad y el camino crítico.
con Z variable normal estándar. Análogamente, la probabilidad de que la duración sea de 22 semanas o superior es
P(T- ~ 22) = 1 - P (-T < 22) == 1- P (-Z :S 22-20.5)
~ .3109.
_
3 041
e) Si se supone que las duraciones de las actividades son variables aleatorias de
características conocidas, por ejemplo, la duración es el tiempo más probable
y el máximo (mínimo) es 5 días más (menos) que su duración, determinar
la probabilidad de que el proyecto finalice en 95 días, ¿y en 105 días?
308
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 5. OPTIMIZACION EN REDES
©RA-~
d) Por razones técnicas la actividad S debe comenzar el día 70. ¿En qué afecta
esto a los tiempos calculados en el apartado b)?
309
Existen caminos críticos alternativos tal como se muestran en la figura
Solución
a) La red CPM del proyecto con el criterio actividad-arco es
que enumeramos de modo explicito
l.
b) Siguiendo el proceso de etiquetación de las actividades (o arcos) del algoritmo
CPM, determinamos para cada actividad los valores PC, PT, TC y TT, que se
muestran en la tabla
Actividad
Nombre Duración
A
B
e
D
E
F
G
H
I
J
K
L
M
N
p
S
15
10
10
20
25
30
25
20
15
30
25
20
15
10
15
40
PC
o
o
o
15
45
70
25
25
45
10
40
40
10
15
25
60
Etiquetas
TC
PT
15
10
10
35
70
100
50
45
60
40
65
60
25
25
40
100
Holgura
TT TT-TC
o 15 Crítica
15 25
15
o 10 Crítica
25 45
10
45 70
Crítica
70 100 Crítica
35 60
10
25 45
Crítica
45 60
Crítica
10 40
Crítica
75 100
35
40. 60
Crítica
10 25
Crítica
15 25
Crítica
25 40
Crítica
60 100 Crítica
Las "últimas" actividades son F, S y K , por lo que la duración del proyecto será
el máximo de los valores PT de estas actividades, que es 100 días. También se
tienen en la columna de la derecha de la tabla las holguras de las actividades,
obtenidas de las diferencias TT- TC (o bien PT- PC).
2.
3.
4.
e --+ J --+ L 4 S,
e --+ M --+ H --+ I 4
S,
e --+ M --+ P 4 L --+ S,
e --+ M --+ H --+ E --+ F
5. A --+ N --+ H --+ I --+ S
6. A --+ N --+ H --+ E --+ F
7. A --+ N --+ P --+ L --+ S
e) Suponemos que todas las duraciones son ·inciertas con tiempo más probable
igual al tiempo normaÍ considerado anteriormente y tiempos optimista y pesimista
5 días menos y más que cada respectivo tiempo modal. Tenemos, por tanto, una
red PERT, y calcularemos el tiempo medio JJi y la varianza ul de la duración de
cada actividad. Para la actividad A, éstos son, respectivamente,
11
-
,.-A-
10+4·15±20 6
-
15 ,
Análogamente, para el resto de las actividades. Los resultados se resumen en la
tabla
310
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Actividad
Nombre JJ¡
A
15
B
10
10
e
D
20
25
E
F
30
25
G
H
20
I
15
J
30
K
25
L
20
M
15
N
10
p
15
40
S
q~
1
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
2.77
Pe
o
o
o
15
45
70
25
25
45
10
40
40
10
15
25
60
®RA-MA
Holgura
Etiquetas
PT Te TT TT-Te
15
o 15 Crítica
15
10 15 25
Crítica
10 o 10
10
35 ?-<>- 45
Crítica
70 45 70
100 70 100 Crítica
10
50 35 60
Crítica
45 25 45
Crítica
60 45 60
Crítica
40 10 40
35
65 75 100
Crítica
60 40 60
Crítica
25 10 25
Crítica
25 15 25
Crítica
40 25 40
100 60 100 Crítica
con
'1
1
u
11
311
Z variable normal estándar, y
-
)
(-
P (T~105 =P Z~
105-100)
J.n
:::.9101
d) En este caso, basta con sustituir la etiqueta PC de la actividad S por el valor
70 en la tabla del apartado b). Rehaciendo los cálculos se obtiene la nueva tabla
Observemos que la varianza es la misma para todas las actividades. Utilizando los tiempos medios como tiempos normales, hacemos un análisis CPM
determinando para cada actividad las etiquetas PC, PT, TC y TT, que también
se pueden ver en la anterior tabla y que observamos que coinciden con los del
apartado anterior. El tiempo esperado de compleción es, entonces, E ( = 100
días. Teniendo en cuenta que las actividades críticas son las mismas que en b},
tendremos los mismos caminos críticos con la misma duración esperada. Sin embargo, la varianza puede ser distinta. En efecto, el camino crítico 1 tiene varianza
11.11 y los restantes caminos críticos tienen varianza 13.88.
Si suponemos que se dan las condiciones del Teorema Central del Límite para
los caminos críticos, la duración T del proyecto se puede suponer que sigue una
distribución normal. Podemos calcular ya las probabilidades de compleción del
proyecto, considerando el camino crítico que, en cada caso, nos proporciona la
probabilidad más pequeña. Debemos considerar dos casos: cuando el tiempo de
compleción es menor que la media (la probabilidad viene dada por la cola de la
izquierda) y cuando es mayor que la media (la probabilidad viene dada por la
cola de la derecha). En el primero de los casos debemos considerar, por tanto, la
varianza más pequeña, y en el segundo la más grande. Así, obtenemos
f)
l
CAPITULO 5. OPTIMIZACION EN REDES
Actividad
Etiquetas
Holgura
Nombre Duración Pe PT Te TT TT-Te
A
15
10
o 15 10 15
B
10
25
o 10 25 35
e
10
10
o 10 10 20
D
20
15 35 35 55
20
E
25
45 70 55 80
10
F
70 100 80 llO
30
10
G
25
25 50 .45 70
20
H
20
25 45 35 55
10
I
15
45 60 55 70
10
J
30
10 40 20 50
10
K
25
40 65 85 110
45
. 10
L
20
40 60 50 70
M
15
10 25 20 35
10
N
10
15 25 ?"
10
35
-<>
p
15
25 40 35 .so
lO
S
40
70 llO 70 110
o
Observamos que la duración del proyecto es de 110 días y que todas las actividades
que eran críticas han dejado de serlo pasando a tener holgura de 10 días. Sólo
permanece con holgura O la actividad S.
o
17. Red CPM con etiquetación de nodos. Utilizando el análisis CPM con
el criterio de etiquetado de nodos, determinar para la red del Ejercicio 5.13:
a) El camino crítico y el tiempo de compleci6n del proyecto.
b) Las holguras libres y las independientes.
e) Si la actividad f se retrasa en 2 meses, indicar qué ocurre sin rehacer el
análisis CPM.
,~
1
•1
d) Si la actividad b se retrasa en 2 meses, indicar qué ocurre sin rehacer el
análisis CPM.
312
CAPITULO 5. OPTIMIZACION EN REDES
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Solución
a) Consideramos para la red del Ejercicio 5.13 el análisis CPM con etiquetado
de nodos. Si t¡; representa la duración de la actividad asociada al arco (i,j), la
etiqueta de Citda nodo será el tiempo más temprano, denotado E;, que se calcula.
E;= max {E¡+ t¡;, i
de los tiempos más tempranos. Esta etiqueta aparecerá sobre cada nodo de la
red dentro de un cuadrado. Se tiene
Lg
= Eg = 16
La= min{Lg- tsg} = 15
L1 = min{Ls- t7s} = 13
= 1, ... ,j - 1}
con E 1 = O. E; representa el primer tiempo en que puede ocurrir el nodo j, esto
es, en que se hayan completado todas las actividades correspondientes a los arcos
313
Sobre la red
que incidan en el nodo j . El tiempo más temprano del último nodo de la. red será
el tiempo de compleción del proyecto. Observemos que el etiquetado comienza.
con el primer nodo. La fórmula anterior corresponde al algoritmo de etiquetado
del camino más largo. Las etiquetas aparecen sobre los nodos de la red dentro
de un triángulo. Se tiene
E 1 =0
Eh= max{E¡ +t12} = 2
E3 = max {E¡+ t13, Eh+ t23} = 6
La duración del proyecto es de 16 meses. Los cálculos sobre la red son
Podemos expresar estas etiquetas en forma tabular. Para ello, recordamos que
la holgura de un nodo i será H (i) = L¡- E¡. Dada la actividad asociada al arco
(i,j), si H (i) =O, no se puede retrasar el comienzo de la actividad¡ si H (j) =O,
no se puede retrasar la finalización de tal actividad. Por otra. parte, la holgura
(total) de la actividad será
H (i,j) = L;- E¡- t¡;.
La tabla que sigue resume los cálculos de las etiquetas y de las holguras de los
nodos y las actividades
Acti,idad
Nombre (i,j)
a
A continuación, determinamos los valores de las etiquetas de los tiempos más
tardíos empezando por el último nodo. Denotamos con L¡ el tiempo más tardío
del nodo i, que viene dado por la fórmula
L¡
= min{L;- t¡;,j = i + 1, ... ,n}
con Ln = E11 (n es el último nodo de la red). Representa el instante último en
que puede ocurrir el nodo i sin que se retrase la compleción del proyecto más allá
b
F
e
d
e
1
g
h
i
j
(1,3)
{1, 2)
(2,3)
{3,4)
(3,5)
(3,6)
(4,9)
{5,8)
{6, 7)
(7,8)
{8, 9)
t¡;
6
2
o
3
4
3
4
5
3
2
1
T. más temp.
E¡
El
T. más tard.
L;
Li
o
o
6
2
o
o
2
6
9
10
9
16
15
12
15
16
6
6
6
6
12
10
10
13
15
6
6
6
9
10
9
12
15
6
6
6
12
10
10
16
15
13
15
16
Holguras
H(i)
o
o
4
o
o
o
o
o
1
1
o
H(j)
o
4
o
3
H(i,j)
o
4
4
3
o
o
1
1
3
o
o
1
o
o
o
1
1
o
314
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-~
Las actividades críticas (H (i,j) = O) son a, d,g y j. El camino crítico es a ;
d -t g -t j.
b) Además, podemos calcular para cada actividad la holgura libre, que se define
CAPITULO 5. OPTIMIZACION EN REDES
315
Como el retraso de 2 meses es mayor que la holgura libre pero menor que la
h?l~a t~tal, no ~ufrirán modificaciones las actividades posteriores, pero cambtara su ttempo mas temprano final que será~= 4 (también podría cambiar su
tiemp? más tardío inicial).
o
HL (i,j) =Ej-E¡- ~3
y representa la parte de la holgura total que se puede gastar sin afectar a las
actividades posteriores y, también, la holgura independiente que se define
18. Red PERT-Montecarlo. Dada la red
2
6
y representa la holgura cuando la actividad anterior ha terminado en su tiempo
más temprano y la posterior a ella comienza en su tiempo más tardío. La tabla
que sigue muestra las tres holguras de cada actividad
Actividad
Nombre (i, j)
a
(1, 3)
(1, 2)
b
F
(2, 3)
e
(3,4)
d
(3,5)
e
(3, 6)
(4,9)
1
g
(5, 8)
h.
(6, 7)
i
(7,8)
j
(8, 9)
Holguras
t¡¡
H(i,j)
HL (i,j)
H 1 (i, j)
6
2
o
o
o
o
3
4
o
4
4
3
4
o
3
1
3
4
5
3
2
1
o
1
1
o
o
o
o
3
o
o
1
o
o
o
o
o
o
o
o
-1
o
o
Observemos que para toda actividad se cumple la desigualdad
que corresponde a un proyecto con actividades a, b, ... , h y F1 , F2 fictícias 1 hemos
identificado las distribuciones de probabilidad de las duraciones en meses de las
actiuidades que son
1
a"' N (5, 2)
b.-v-y(6,1)
e rv eh
d rv U (71 10)
e"' N (4, .5)
j
rv
~
g"' &xp(.2)
h "'N {1, .2)
donde 62 indica la distribución degenerada en 2. Se desea:
a) Determinar la distribución de frecuencias de la duración del proyecto.
b) Calcular el grado de criticidad de cada actividad.
Solución
a) Consideramos 10 replicaciones de la simulación, aunque este número es muy
rtlducido para una situación real, será suficiente para nuestra ilustración. Los
resultados de las 10 replicaciones correspondientes a las actividades del proyecto,
se tienen en la tabla
e) Las tres holguras de la actividad f son
Como el retraso de 2 meses es menor que la holgura libre, se puede observar que
únicamente cambia su tiempo más tardío inicial que será 10.
d) Las tres holguras de la actividad b son
H {1, 2) = 4,
HL (1,2) =O,
Hl (1, 2) =O.
316
C~ITULO 5. OPTIMJZACION EN REDES
PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Simulación
1
2
3
4
5
6
7
8
9
10
Media
a
1.42
6.44
. 2.35 .
4.96
4.56
1.41
2.63
5.10
4.43
.65
3.39
b
3.82
1.06
5.86
6.11
4.47
3.55
4.51
6.68
8.84
6.88
5.17
e
2
2
2
2
2
2
2
2
2
2
2
d
7.43
9.72
8.93
8.49
7.23
9.23
9.05
8.99
8.18
9.40
8.66
e
2.95
3.54
3.47
3.70
3.40
3.70
4.32
3.11
4.93
3.91
3.70
f
g
1.64 1.95
3.79 2.20
4.53 2.09
9.59
.67
3.93 5.95
4.12
.61
6.25 5.63
4.21 18.97
5.30 .27
3.75 2.13
4.71 4.04
h
.84
.96
1.02
1.01
1.11
1.03
.90
.80
1.36
.81
.98
A los tiempos de las actividades generados en cada replicación se les hace un
análisis CPM, que proporcionará en cada caso los caminos críticos y las duraciones
esperadas, tal como se indica en la tabla
fr
1
o1
Duración del
proyecto
14.04
20.91
20.34
25.20
18.85
17.93
20.71
35.44
23.68
20.84
Camino
crítico
b-d-g-h
a-F¡-d-f-F2-h
b-d-j-F2-h
b-d-j-F2-h
a- F1 - d- g- h
b-d-j-F2-h
b-d-j-F2-h
b-d-g-h
b-d- j -F2-h
b-d-j-F2-h
A partir de la columna duración del proyecto, podemos obtener su distribución
de frecuencias
Intervalo
[10, 15]
(15, 20]
(20, 25]
(25,30]
(30, 35]
(35,40]
Frecuencia Frecuencia Free. rel.
absoluta
relativa
acumulada
.1
1
.1
.3
2
.2
.8
.5
5
.9
1
.1
.9
o
o
1
.1
1
que permitirá calcula:r, por ejemplo, probabilidades de la duración del proyecto.
El histograma de frecuencias relativas acumuladas es
,.....-
-
so
60
40
rf
20
10
15
20
25
30
35
40
meses
b) Es inmediato el cálculo del grado de criticidad de las actividades del prorecto, frecuencia relativa de las actividades que son críticas en el conjunto de
simulaciones, que son
Actividad
Simulación
1
2
3
4
5
6
7
8
9
10
317
a
b
e
d
Grado de
criticidad
.2
.8
o
1
Actividad
e
Grado de
criticidad
o
f
.7
g
h
.3
1
o
19. Red Roy y método de los potenciales. Dada la tabla de precedencias
del Ejercicio 5.13, se desea:
a) Construir la red Roy {criterio de
repr~s.entáción
de actividad-nodo}. ·
b) Determinar el camino crítiC(} utilizando el método de los potenciales sobre
la red C(}nstruida.
e) Supongamos que se admite un solapamiento de 2 meses entre las actividades
d y g, y se obliga a un desplazamiento de 5 meses entre las actividades b
y e. Determinar si esto afecta al camino crítico y al tiempo de compleción
del proyecto. Utilizar la red Roy para ver las incidencias.
Solución
a) A partir de la tabla de precedencias o de la matriz de encadenamientos (ver
Ejercicio 5.13a) es sencillo construir la red Roy, que contiene, además de un nodo
por actividad, un nodo inicial (J) y otro fi.nal (F) del proyecto que permite cerrar
la red. Los nodos están representados por cajas que contienen el nombre y la
duración de cada actividad, en las partes superior e inferior, respectivamente.
.'
3L8
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA·MA
CAPITULO 5. OPTI~IIZACION EN REDES
319
A continuación, calculamos los tiempos máximos de cada nodo empezando por
el último y continuando en orden decreciente.
El cálculo del tiempo máximo de un nodo k, se hace con la fórmula
Observamos que, a diferencia de la representaciones anteriores, aquí no resulta
necesario introducir actividades ficticias, aunque sí los nodos ficticios I y F.
b) Para aplicar el método de los potenciales sobre la red, asignamos las etiquetas
correspondientes a los tiempos mínimos de cada nodo. Si con tk representamos
la duración de la actividad asociada al nodo k, su tiempo mínimo, denotado TJ:,
se calcula con la fórmula
Tf:
=max {Tr + t¡}
para toda actividad l que preceda a la k, empezando con tiempo mínimo Tf
=O
para la actividad inicio. Así,
para toda actividad l que siga a la k, comenzando con T;1 = T?
obtiene
Tftl =16
Tfl =rnin{16 -1} =15
Tfl = min{l6- 4} = 12
= 16. Así, se
Ta.M = min {9 - 6, 6 - 6} = O
Tr =o
y sobre la red se tienen los tiempos máximos situados a la derecha de cada caja.
Para el cálculo de las holguras basta con diferenciar el tiempo máximo y mínimo
de cada actividad, es decir, para la actividad k, su holgura será
H(k) = Tfl - T~;m
Tf=O
T;: = max {O+ O} = O
T{' = max {O+ O} =O
~ = max{0+6,0+2} =6
T? = max{9+4,15 + 1} =
1,
l.
que aparecen en la red de la figura sobre cada caja. Las actividades críticas son
a, d, g y j, que determinan el camíno crítico de longitud 16 semanas.
16
y el tiempo mínimo de la actividad final TJ!!' = 16 será la duración del proyecto.
La figura muestra los cálculos de los tiempos mínimos sobre la red que se han
situado en la parte izquierda de la caja que representa cada nodo.
'1
"
1
Podemos resumir estos valores en una tabla
320
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Actividad
Nodo Duración
a
6
b
2
1
ij
1
e
3
d
e
3
f
4
g
5
3
2
1
h
i
j
T. mínimo
T. máximo
Tf:'
Tf
Holgura
H(k)
o
o
o
o
4
9
6
7
6
6
6
9
10
9
4
12
10
10
13
15
12
15
-
©RA-MA
4
3
o
1
3
CAPITULO 6
1
1
PROGRAMACION ENTERA
o
o
La obtención de las etiquetas del análisis CPM es inmediata sólo con tener en
cuenta que para una actividad k es PC = TJ:", TC = Tt , PT = TJ:" + tk y
TT=Tt +tk.
e) Indicamos el solapamiento de 2 meses entre las actividades d y g (esto significa
lj
1·
¡
1
¡t
¡j
't
'
que la actividad g puede empezar 2 meses antes de que hubiera. terminado la
actividad d) con la notación [2] sobre el arco que las une. El.desplazamiento de 5
meses entre las actividades by e (esto significa que la actividad e debe comenzar
5 meses después de haberse completado b) se denota con un (5) también sobre el
arco que las une. Se comprueba que
1
1
1,
!:
T_!1l
9 --
8
y
~=7
Recalculando los tiempos mínimos y máximos de la red, ésta queda
El camino crítico es b -+ e'-+ h -+ i -+ j, también con duración 16 meses.
l
l'
1
O
Este capítulo se dedica a la modelización y resolución de problemas de Programación Entera, o problemas de optimización en los que algunas o todas las variables
de decisión se restringen a valores enteros. Se estudian únicamente problemas
lineales.
Se motiva con un ejercicio inicial la necesidad de métodos o algoritmos específicos de programación entera. Para ello, se comienza con la aplicación de algunos procedimientos sencillos de programación entera como son el de enumeración
exhaustiva o explícita y el de aproximación por redondeo. Tales procedimientos
son fácilmente criticables y objetables, lo que llevó a desarrollar a partir de la
década de los años cincuenta otros métodos como los de ramificación y acotación
y de planos de corte.
El método de ramificación y acotación sigue la idea general de particionar
el conjunto de soluciones factibles en subconjuntos menores no solapantes, para,
posteriormente, de manera ingeniosa, eliminar algunos subconjuntos que no pueden contener la solución óptima. Por ello, se dice que enumera de forma parcial
o implícita las soluciones factibles. Consideramos una versión sencilla de éste,
con la regla de la mejor cota, que se aplica a programas enteros puros, mixtos y
0-1. Se construye en todos los casos el árbol que muestra las iteraciones de la
aplicación del método, permitiendo así una fácil comprensión de su desarrollo.
El método de planos de corte resuelve una sucesión de problemas de programación lineal relajados con una región factible cada vez más restringida al ir
añadiendo nuevas restricciones (cortes) hasta alcanzar una solución óptima con
valores enteros. De sus diferentes variantes, consideramos aquí el algoritmo fracciona/ de Gomory. La objeción más fuerte a estos métodos es la lentitud de la
322
¡~
J
:¡
ol
1
1
1
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
CAPITULO 6. PROGRAMACION ENTERA
323
convergencia. Como consecuencia, se está desarrollando en estos últimos años un
método mixto con resultados prometedores.
El proceso de modelización de programas lineales enteros se ilustra con variados ejercicios considerando, además, una serie de problemas clásicos como los de
la mochila, del viajante, de localización, de secuenciación de tareas, de emplazamiento y cubrimiento, de coste fijo, ... Es conocida la complejidad computacional
de algunos de estos problemas, lo que ha llevado a desarrollar heurísticas bastante
más eficientes que la solución basada en programación entera, pero que nosotros
no consideraremos aquí (ver Ríos Insua, Ríos Insua y Martín, 1997) .
!
EJERCICIOS
l. Soluciones de un programa entero. Dado el problema lineal entero
max z
s.a
=
Xl
+ X2 S 10
- x1 +x2 S 7
x1,x2 ~O y enteras
Resolverlo:
a) Por redondeo de la solución del problema relajado asociado.
b) Por enumeración exhaustiva.
e) Con el algoritmo de ramificación y acotación.
Solución
a) El problema relajado asociado{PR) es el problema entero (PE) enunciado prescindiendo de la condición de que las variables sean enteras. Aplicando el método
del símplex, en dos iteraciones se alcanza la ~olución óptima xj:,R = (xi, x2) =
(1.5, 8.5) con zj, R = 38.5. Como esta solución no es entera, la redondeamos a
los valores enteros más próximos. La solución óptima del problema entero será
aquella aproximación factible (si existe) que dé mayor valor a la función objetivo,
ya que el problema es de maximización. Al ser ambas coordenadas no enteras y
estar en dos dimensiones, habrá cuatro aproximaciones
x 1 -- (1 ,8) ,
o
5
3xt + 4x2
x 3 = (1 , 9),
La figura muestra las cuatro aproximaciones.
x4
= (2,9) .
Las soluciones factibles son x 1 y x 2 . Los valores respectivos de la función objetivo
son z1 = 35 y z2 = 38. Por tanto, se sugiere x 2 como la solución óptima xj,E del
problema entero. Este procedimiento de solución tiene fuertes objeciones: podría
ocurrir que ninguna de las aproximaciones por redondeo fuera factible; además,
si el número de variables enteras es grande, el número de aproximaciones enteras
a la solución óptima del problema relajado puede ser muy grande. Por ejemplo,
para 25 variables enteras, podría ser necesario analizar más de tres millones de
posibles sol~ciones enteras y sin garantía de alcanzar una solución óptima para
el problema entero.
b) La aplicación del método de enumeración exhaustiva comienza determinando
los recorridos individuales de las variables de decisión. Para ello, podrían resolverse los problemas maxxeF Xi y minxeF Xi , para cada variable Xi· El recorrido
de la variable de decisión X1 es X1 = {0, 1, ... , 10} ¡-el de X2 es X2 = {0, 1, ... , 8}.
El producto cartesiano de ambos es
S= Xt x X2 = {(O, O), {0, 1), (O, 2) , ... , (10, 8)}
cuyo cardinal es 99. Debemos determinar qué puntos de S son factibles. Mediante
comprobación de las restricciones, se obtiene que los puntos factibles Fps para
el problema entero son 62, que se representan en la figura.
324
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-M_A
x2
PLl
XPL! = (1 ,8)
ZPLl = 35
@
~
x*
PE
S
~:.
o
1:
1
¡,
¡1
¡l
1
S
xl
Se comprueba que el punto de FPE que da mayor valor a la función objetivo es
XpE = (2,8) COn ZpE = 38.
Este método tampoco está exento de objeciones. No se considera razonable el
proceso de enumeración para resolver programas enteros, al menos, en un tiempo
razonable. Para un problema de tamaño pequeño, con 15 variables de decisión y
cada variable con 20 valores, habría que analizar más de 10 trillones de puntos.
Por otra parte, hay problemas con regiones no acotadas y, en tal caso, el problema
sería intratable con tal procedimiento.
Así, la utilización de estos dos métodos resulta poco recomendable.
e) Aplicamos el método de ramificadón y acotación con la regla de la mejor cota,
que denominamos zs· Comenzamos observando que la solución óptima del problema relajado x?n = {1.5, 8.5) no es entera, por lo que debemos ramificar sobre
una variable con valor no entero. Tomamos como cota inferior z¡ = - oo. Elegirnos para ramificar la variable x 1 = 1.5 y formamos dos subproblemas añadiendo
al problema relajado, respectivamente, las restricciones x 1 ~ 1 y x 1 ~ 2. Los
nuevos subproblemas serán
max z
s. a
PL1:
=
3x¡
+ 4x2
maxz
=
PR
X¡~
X¡,X2~Ü
PL2:
X¡+ X2 ~
10
~ 7
- X¡ + X2
2
PL2
PLl
PR
X¡:::;
PR
X¡~
1
(1,8)
z = 35
X=
Terminal
ZS
2
(2,8)
z = 38
X=
= 35 ~ 38 = Z¡
Terminal
Z¡ = 38
o
maxz
=
0
·r
•'
2x¡ + x2
s. a
X2 ~ 5
4x¡ + 3x2 ~ 10
X ¡ ,xz ~O y enteras
X¡-
2
X¡,X2 ~
X¡ ~
1
= - oo
2. Solución de un programa entero (cortes de Gomory y ramificación
y acotación). Resolver el programa lineal entero
, c
3x 1 + 4 x2
X¡~
z¡
= (1.5, 8.5)
z = 38.5
X
s.a
X¡+ X2 ~ 10
-X¡+ X2 ~ 7
X1 ~ 1
PL2
XPL2 = {2, 8)
ZPL2 = 38
Sondeamos primero el problema PL2, ya que su valor óptimo es mayor que el de
PLL Su solución óptima es entera. Por tanto, es terminal. Actualizamos la cota
inferior haciéndola igual al valor óptimo del objetivo de ese problema, es decir,
z¡ = 38. Pasamos a sondear el problema PLl, que será terminal, por ser su cota
z?L 1 = 35 < 38 = z¡. El algoritmo concluye, ya que no quedan subproblemas por
sondear. La solución óptima del PE es la del subproblema PL2 .
El árbol que sigue representa el procedimiento de ramificación y acotación del
problema entero considerado.
.
1
325
Aplicando el método del símplex a cada subproblema, se obtienen las soluciones
CD
1
CAPITULO 6. PROGRAMACION ENTERA
::"'
..
1 '¿
)
:.J
...'
.;
1
/..1
~
-'
·o
~·
326
PROGRAMACION LINE:AL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 6. PROGRAMACION ENTERA
©RA-M_&
a) Mediante el algoritmo de planos de corte fracciona[ de Gomory.
Solución
a) Expresando el programa en formato estándar, con variables de holgura x3,x 4,
y resolviéndolo con el método del símplex, se obtiene la tabla óptima
es
o
Cj
2
1
o
o
VB
xs
X¡
X2
xs
X4
Xs
- 7/4
3/4
1/2
1
-1/4
5/2
5/2
5
2
o
X¡
1
z; - e;
o
o
o
1/4
1/2
2
1
VB
X¡
X2
2
XJ
X¡
o
b) Mediante el algoritmo de ramificación y acotación.
La solución óptima es x 0 = (xY, x~) = (5/2, 0), que no es entera para la primera
variable. Formamos el corte de Gomory tomando como fila p fuente aquella
correspondiente a una variable de decisión básica en la tabla anterior que cumpla
¡g = min{JP >O: ¡p = x~- [x~]}
L: !pj'Xj + sp = - ¡g, donde fpj = YPi - (Ypj], con Sp variable de holgura
con añadida a esta nueva restricción, siendo [A] parte entera de A. Se tiene que p = 2
con ¡g = 5/2- [5/2] = 1/2. Entonces, el corte fracciona! de Gomory, es
1
X2
3
1
-¡x2- ¡x4 + xs
1
= - 2.
La solución es x0 = (xY, x~) = (2, 2/3) . Como x2 no es entera pero x 1 sí, la fila
fuente se tiene para p = 3, así que ¡g = 2/3- [2/3]. El corte es
con
X6
variable de holgura, es decir,
1
e,
2
1
o
o
es
VB
o
X¡
X2
X3
X4
1
-7/4
3/4
-3/4
1/2
1
2
X3
X¡
o
xs
o
o
o
-1/4
1/4
- 1/4
1/2
X5
o
o
2
2
-3x4- 3xs+x6 = -3.
Añadimos esta restricción a la tabla anterior, teniendo la nueva tabla ampliada
es
o
Cj
2
1
VB
o
o
o
o
X¡
X2
xa
X4
X6
1
1/3
xs
- 7/3
- 1/3
-1/3
1/3
-4/3
-2/3
2/3
o o
xs
2
1
1 o o
o 1 o
o o o
o o o
X¡
X2
X6
o
Cj
Cj
2
1
es
VB
X¡
X2
2
XJ
X¡
o
Añadimos esta restricción a la tabla anterior, teniendo la nueva tabla
Zj- Cj
X4
o
o
o
o
l
l
o
XS
11/3
2
2/3
-2/3
14/3
que es primal infactible. Aplicando el método del símplex dual, en una iteración
se tiene la tabla
con x5 variable de holgura, es decir,
o
o
Xs
xs
l/3 -7/3 11/3
o 1
2
-4/3
1/3
2/3
1/3 2/3 14/3
X3
o o 1
1 o o
o 1 o
o o o
Zj- Cj
Zj -
o
o o
Cj
es
327
o
o
1
o
1
o
XS
5/2
5/2
-1/2
5
que es primal infactible, x 5 = -1/2 <O. Aplicamos el método del símplex dual.
En una iteración se tiene la tabla primal factible
X2
X4
Zj - Cj
o o o o
XJ
o o 1
1 o o
o 1 o
o o o
o o o
X4
X~
X6
o
o
o
Xs
-3
1
-2
2
1
3
2
l
o o
o
1
-3
l
o
2
4
La solución es x 0 = (2, O) . Como es entera, constituye la solucinp óptima del
problema entero. Por tanto,
x j,E
= (xi , x2) = (2, O)
con zj,E
= 4.
Compruebe el lector que existe un óptimo alternativo dado por x?E = (1, 2).
328
©RA-~
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 6. PROGRAMACION ENTERA
b) Lo resolvemos ahora con el método de ramificación y acotación. Consideramos
el problema relajado asociado {PR) cuya solución óptima es xf>R = (2.5, O) con
z?n = 5. Como no es solución entera, continuamos. Tomamos z¡ = -oo como
cota inferior y ramificamos sobre la variable x 1. Consideramos los subproblemas
lineales PL1 y PL2, que con sus respectivas soluciones (aplicando el método del
·símplex) son
PL1
PL2
PR, X¡::; 2
(2, 2/3}
z, = 4.67
PR, X¡~ 3
PL2:
PL3:
{
X¡
~ 2, X2
X :::;:
z3
(2, O)
=4
:::;:
o
PR,
PL4:
{
X¡
~ 2,
3
~
IN FACTIBLE
Terminal
{ Infactible
PL3
El valor óptimo de la función objetivo del problema PLl , zs =4.67, será la cota
superior asociada a este subproblema. Como PL2 es infactible y PLl no proporciona una solución entera, debemos seguir con el procedimiento. Ramificamos
en PL1 sobre la variable x2 cuyo valor es .67. Obtenemos los subproblemas PL3
y PL4
PR,
X¡~
PR,
X=
PR, X¡~ 2
PLl:
X:::;: (2, .67)
{ Zs =4.67
329
X2
~1
(1.75, 1)
Zs = 4.5
X=
El problema PL3 es terminal, ya que la solución óptima se alcanza para valores
enteros. Como consecuencia, se actualiza la cota inferior al valor de la cota superior asociada a este problema, es decir, z1 = 4. Por otra parte, PL4 no es terminal
ya que es factible, su cota superior z5 = 4.5 > 4 = z¡ y la solución tiene valores
no enteros. Por tanto, debemos continuar la ramificación a partir de este subproblema. Obsérvese, sin embargo, que en este caso la función objetivo sólo tomará
valores enteros, así que podríamos haber considerado PL4 terminal. Ramificando
sobre la variable x 1 cuyo valor es 1.75, se tienen dos nuevos subproblemas PL5 y
PL6
PR, X¡~ 2
PR, X¡~ 2
PL5: X2 = O,x¡ ~ 1
PL6:
x2 ~ l,x¡ ~ 2
{ x=(l,2)
{
Infactible
Zs = 4
El subproblema PL6 es terminal por ser infactible; el subproblema PL5 también,
por razón doble: su cota superior zs = 4 ~ 4 = z1 y, además, la solución óptima
se alcanza en valores enteros. Por tanto, tenemos la solución óptima del problema
entero. Además, hemos encontrado un óptimo alternativo PL3 que es el punto
X= (2, O).
El árbol con los correspondientes nodos (subproblemas) correspondiente al
desarrollo del método se tiene en la figura
PL4
PR
X¡ ::; 2,X2::;
X=
PR
0
X¡ ::;
(2,0}
X=
=4
Terminal
Z¡ =4
z.
Zs
X¡::;
2, X2 2: 1
(1.75,1}
4.5
=
1
X¡
2:2
PL5
PL6
PR, X ¡::; 2
X2
2: 1, X¡
::;
(1, 2)
z, = 4
Terminal
PR,
1
X2
X¡::;
2
2: 1, X¡ 2: 2
X=
z,
= 4::; 4 = Z¡
INFACTIBLE
Terminal
o
3. Ramificación y acotación para un programa entero mixto. Dado el
programa entero mixto (PEM)
max z
s.a
=
-3x¡ + 1x2 + 12x3
-3x¡ + 6x2 + 8x3 ~ 12
6x 1 - 3x2 + 7x3 ~ 8
2x¡ + 3x2 + 3x3 ~ 25
X¡,X2,x3 ~O y X¡ 1 X3 enteras
Resolverlo mediante el algoritmo de ramificación y acotación.
330
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
Solución
Consideremos el problema relajado (PR)
max z
s.a
=
CAPITULO 6. PROGRAMACION ENTERA
del problema entero mixto es la proporcionada por el subproblema PL3. Así,
xi = O,x2 = .67 y xj = 1, con zf.Eu = 16.67.
El árbol con los correspondientes nodos (subproblemas) correspondiente al
desarrollo del método se tiene en la figura
- 3x 1 + 7x2 + 12x3
-3x¡ + 6x2 + 8x3 ::; 12
6x¡ - 3x2 + 1x3 ::; 8
2x 1 + 3x2 + 3x3 ::; 25
PR
z, = 17.39
PL1
Su solución óptima es x?R = (0, .303, 1.27) , con z?R = 17.39. Como x?R no es
entera en xa debemos continuar. Tomamos como cota inferior inicial z¡ = -oo
y ramificamos sobre la variable con valor no entero, que deba serlo, de menor
índice, en este caso X3 = 1.27. Consideramos los subproblemas lineales PL1 y
PL2, que con sus respectivas soluciones son
PR, X3::; 1
(.67, 1, 1)
{
Zs = 17
X =
PR, X3 ~ 2
PL2:
{ Infactible
1, X¡ ~ 1
X= (1 , 1.35, .86)
Zs = 16.80
PR,
PL4:
{
X3 ::;
El problema PL3 es terminal, ya que la solución óptima se alcanza para valores
enteros de las variables x 1 y x3. Como consecuencia, se actualiza la cota inferior
al valor de la cota superior asociada a este problema, es decir, z¡ = 16.67. Por
otra parte, PL4 no es terminal, ya que es factible, su cota superior zs = 16.80 >
16.67 = z1 y la solución tiene valor no entero para x3 . Por tanto, debemos
continuar la ramificación a partir de este subproblema. Ramificando sobre la
variable x 3 , cuyo valor es .86, se tienen dos nuevos subproblemas PL5 y PL6
PL5:
PR, X¡ ~ 1, X3 = o
X = (3.1, 3.5, O)
{
Zs = 15.5
PR, X¡~
PL6:
{
1,X3
=1
~2
X3y
PR, X3
~
1
PL3
PR
l ,X¡ = 0
PR,
X¡ ~
El subproblema PL6 es terminal por ser infactible. El subproblema PL5 también,
ya qu~ su cota superior zs = 15.5 ::; 16.67 = z¡. Por tanto, la solución óptima ·
2
X3 ~
Terminal
PL4
PR
l,x¡
~
l
X= {1, 1.35, .86)
z, = 16.80
X3~~~1
1, X3 =
o
X = (3.1, 3.5, O)
z. = 15.5
Terminal
PR, x,
~
PL6
1, X3 = 1
INFACTIBLE
'• = 15.5 ~ 16.67 = zr
Terminal
o
4. Ramificación y acotación en un problema 0-1. Resolver el problema 0-1
max w
s.a
=
-X¡- x2- 2x3- x4
2x 1 - 3x2 + xa ::; 2
2 X¡ - X2 - X4 ::;
Infactible
X3 ~
INFACTIBLE
X¡ :;/~~ 1
X= {0,.67,1)
z. = 16.67
Terminal
zr = 16.67
PL5
PL2
PR,
X= (.67, 11 1)
z, = 17
X3 ~
PL2 es infactible y PL1 no es terminal, por lo que continuamos con el algoritmo.
Ramificamos sobre la variable x 1 cuyo valor es .67. Consideramos los nuevos
subproblemas PL3 y PL4
PR, X3::; 1,X¡ =o
PL3:
X= (0, .67, 1)
{
Zs = 16.67
zr = -oo
x = (0, .303, 1.27)
X¡,X2 1 X3 ~0
PL1:
331
-1
X2
+ X3 + 2x4 ::; 3
Xj
=0,1, j = 1,2, 3,4
mediante el algoritmo de ramificación y acotación.
332
PROGRAMACJON LINEAL Y APLICAClONES:-EJERClCIOS RESUELTOS
@RA-~
Solución
Comenzamos transformándolo en otro problema G-1 equivalente con los coeficientes de la función objetivo positivos y en orden creciente de magnitud. Para ello,
hacemos la transformación
teniendo el nuevo programa G-1 (salvo la constante -5 en el objetivo), w = z-5,
max z
s.a.
=
Yt + Y2 + Y3 + 2y4
- 2y¡ + 3y2 - Y4 ~ 2
- 2y¡ + Y2 + Y3 ~ -1
-Y2 - 2y3 - Y4 $ -1
Yi = O, 1, j = 1, 2, 3, 4
Estamos ya en condiciones de apUca.r algoritmo de ramificación y acotación para
problemas 0-1. Sea F la región factible del problema anterior prescindiendo de
las condiciones G-1. Consideremos, además, el problema relajado
max z
s.a
=
Yt
+ Y2 + Y3 + 2y4
CAPITULO 6. PROGRAMACION ENTERA
La solución parcial de PRl es y = (0, -, -,-); la solución donde alcanza
su cota superior se ha obtenido haciendo O la componente k + 1 = 2 y el resto
1's, t.: decir, en Ys =(O, O, 1,1). Análogamente, la S!>lución parcial de PR2 es
Y= (1, -,-, - )y la cota superior se tiene para Ys = (1,0, 1, 1). Basándonos en
la regla de la mejor cota (mayor z3 ), analizaremos primero el subproblema PR2.
Observemos que las compleciones de la solución parcial de PR2 son
1,0,0,0
1,1,0,0
1,0,1,0
,.1,0,0,1
1,1,1,0
1,0,1,1
1, 1, 0,1
1, 1, 1,1
Se comprueba que: i) Hay alguna compleción que verifica las restricciones de F,
luego no es infactible y, ii) No es z5 = 4 menor que la actual cota inferior z¡ = O.
Por tanto, no se puede declarar terminal PR2 por alguna de estas condiciones.
Sin embargo, iii) como Ys = (1, O, 1, 1) E F, es terminal. Además, actualizamos la
cota inferior z¡ = 4. A continuación, sondeamos el subproblema PRl. Vemos que
su cota superior Zs = 3 < 4 = z¡, y por tanto, PR1 es terminal por la condición
ii). Así, la solución es
Yi = 1, Y2 = O, yj = 1,
y: = 1
con z* = 4. Deshaciendo el cambio de variable, se tiene la solución óptima del
problema original
xi =O,
y EH
333
YÍ = 1, yj =O, Y.i =O
con valor para el objetivo w• = z• - 5 = 4- 5 = -l.
El árbol correspondiente al desarrollo del método se tiene en la figura
cuya región factible es
1 = (1, 1, 1, 1} ~F
al haber prescindido de las restricciones lineales.
Observemos primero que 1 = (1, 1, 1, 1) (/. F. Por tanto, no podrá ser la solución del problema entero. Consideramos la cota inferior z¡ = z (O) =O. Como
cota superior, el valor del objetivo en Ys = (0,1,1, 1) , es decir, Zs = z (Ys) = 4.
Observemos que, como l f/. F, la solución anterior, que puede o no ser factible,
es la que proporciona el mayor valor al objetivo. Como Ysfi.F, debemos ramificar. Hacemos k = l. La ramificación se lleva a cabo sobre y 1, teniendo los
subproblemas PR1 y PR2
PR
y= (O,-,-,-)
PRl:
{ Ys=(0,0, 1,1)
Zs = 3
PR2:
PR
y= (1,-,-,-)
{ Ys = (1,0,1,1)
Zs = 4
PR
y, =(O, 1, 1, 1}
z, = 4
PR1
Yty
PR
Z/
=0
~=1
PR2
y= (O,..,..,-)
PR
y= (1,-,..,-)
y,= (0,0,1,1}
z. = 3
y,= (1,0, 1, 1)
z, = 4
Terminal
z, = 3 < 4 = Z¡
Terminal
y,= (1,0, 1,l}E F
Z¡
=4
o
334
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
5. Modelización de restricciones disyuntivas. En diversos problemas, se
estudia la existencia de una solución que esté en al menos k conjuntos de m dados.
Modelizar las correspondientes restricciones como si fuesen las de un PE para el
caso en que los m conjuntos tengan la estructura
pi= {y : A¡y ~ b¡, y ~ O}
i
= 1, ...,m.
CAPITULO 6. PROGRAMACION ENTERA
335
con w¡ E {O, 1} , k el menor entero tal que 2k - 1 ~ U¡ y repitiendo el proceso para
X2, X3, ... , Xn, utilizando u2, ... ,Un, cotas superiores sobre las respectivas variables
x2, ... , Xn y las nuevas variables w¡ necesarias. Qon este esquema, las variables w¡
pueden considerarse como los bits de una representación binaria de Xj.
Apliquémoslo al ejemplo del enunciado. Observemos en primer lugar que de
las restricciones se sigue que X¡ ~ 12, x2 ~ 12, x3 ~ 12. Representamos las
variables Xj en formato binario, tomando k = 4. Así
Solución
= 8w1 + 4w2 + 2w3 +W4
xz = 8ws + 4w6 + 2w7 + ws
X¡
Sabemos que para cualquier y ~ O, existe w suficientemente grande tal que
A; y ~ b¡ + w. Por tanto, tomando las variables x¡ = O, 1 y las restricciones
A;y ~ b¡ + (1 - x¡) w,
i = 1, ...,m
m
¿ X¡~ k
i=l
X¡=
0, 1,
y ~
max z
6. Formulación de un problema ent ero puro como uno 0-1. Dado un
problema entero puro, reformularlo como un problema O-l. Aplicarlo al problema
=
=
+ 4w2 + 2w3 + w4) + 4 (8ws + 4w6 + 2w1 +ws) +
+{8w9 + 4WIO + 2W¡ ¡ + W¡2)
2 (8w1
s. a
(8w 1 + 4w2·+ 2w3 + w.¡) + {8ws + 4w6 + 2w7 + ws) +
+ {8wg + 4wiO + 2wu +Wt2) ~ 8.3
(8w¡ + 4wz + 2w3 + w4) + {8ws + 4w6 + 2w7 + ws) - {8wg + 4wl0 + 2wu +Wt2) ~ 12.5
w¡=O, l , i =1 ,2,3,4
2x 1 + 4x2 + X3
Aplicando el algoritmo de ramificación y acotación se obtiene la solución óptima
X¡+ X2 + X3 ~
w5 = 1
X¡
+X2 -
X¡,
xz, X3
8.3
12.5
~ Oy enteras
X3 ~
Solución
El interés por reformular un problema entero como uno 0-1 reside en que el esfuerzo computacional de resolución de un problema 0-1 puede ser bastante menor
que la resolución de un problema entero de tamaño comparable. El método funciona correctamente si las variables del problema entero original están acotadas,
es decir, se puede deducir de las restricciones que Xj ~ Uj , j = 1, ..., n. Tales
cotas pueden obtener~e resolviendo los problemas maxxeF X¡ para cada x;.
Dado un problema entero puro con n variables de decisión, consideramos para
la variable x 1 la representación binaria dada por
X¡
= 8wg + 4w¡o + 2w¡¡ + w12
con w¡ = O, l. Entonces, el programa 0-1 equivalente es
0
con w suficientemente grande, se garantiza que una solución y está en al menos
k conjuntos de m dados.
o
max z
s. a
x3
= 2k- lW¡ + 2k-2w2 + ··· + 21Wk - 1 + 2°Wk
el resto de variables nulas y z* = 32. El lector puede comprobar que la solución
óptima del problema entero original es
xi = O, x2 = 8, x3 = O
con el mismo valor para el objetivo.
o
7. Localización de fábricas. El servicio de estudios de una compañía pretende
construir nuevas fábricas en las ciudades A y B. Desea, además, construir a lo
sumo un nuevo almacén, pero éste debe hacerse en una de las ciudades donde se
construya una fábrica. La tabla proporciona el valor actual neto, el coste de la
inversión, ambos en cientos de millones de ptas, y el impacto ambiental, en una
escala subjetiva de O a 9, de cada una de las construcciones.
336
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Construcción
Fábrica en A
Fábrica en B
Almacén en A
Almacén en B
Valor actual Coste de
inversión
neto
9
6
5
3
6
5
4
2
Impacto
ambiental
3
7
2
1
El presupuesto de la inversión es de mil millones de ptas. Se pide:
CAPITULO 6. PROGRAMACION ENTERA
La función objetivo representa la maximización del valor actual neto dado por
Tenemos entonces, el problema 0-1
max z
s.a
=
X3
actual neto. Resolver tal problema por el método de acotacíón y ramificación.
Solución
a) Definimos las variables 0-1
X¡= {
~
si se construye la fábrica en A
en otro caso
= id. fábrica B
= id. almacén A
X4 = id. almacén B
x2
xa
+5x2 + 6xa + 4x4
+ X4 ~ 1
-x¡ +xa
~O
- x2 +x4 ~O
Xi = 0, 1, i = 1, 2, 3, 4
b) ldem pero con el mínimo impacto ambiental.
que se desvíen lo menos posible de los valores óptimos obtenidos en a) y
b). Como medida de desviación total, utilizar la suma de las desviaciones
absolutas, considerando el valor neto en' cientos de millones de ptas.
9x¡
6x 1 + 3x2 + 5xa + 2x4 ~ 10
a) Formula1· un programa 0-1 que proporcione la inversión de máximo valor
e) Formula·r un modelo de programación entera que proporcione las inver·siones
337
Lo resolvemos con el método de ramificación y acotación para variables O-l. Para
ello, hacemos el cambio de variable
que nos conduce a resolver el problema
max z'
s. a
=
4y¡ + Sy2 + 6ya + 9y4
2y 1 + 3y2 + 5ya + 6x4 ~ 10
Yt +Ya:::; 1
Ya - Y4 ~O
Yt- Y2:::; O
Yi =O, 1, i = 1,2,3,4
Las restricciones se deben a:
- Construcción de, a lo sumo, un almacén
- Límite presupuestario de inversión, en cieg_tos..de·milloues,
- Sólo se puede construir un almacén en A (B) si se construye una fábrica en
A (B)
Aplicando el método de ramificación y acotación con la regla de la mejor cota, se
tiene el árbol
·
338
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 6. PROGRAMACION ENTERA
©RA-MA
339
b) En este caso, el problema es
PR1
PR
Z¡
y, = (0, 1, 1,1)
z.
min z
= 0
=
s. a
=20
+ 3x2 + 5x3 + 2x4 ~ 1Ó
X3 + X4 ~ 1
6x¡
y¡= 1
PR2
PR3
PR
y = (0, -· -· _)
y J = (0, o, 1, 1)
z, = 15
PR8
/
y= (1, ... -.-)
y,= (1,0,1,1}
z, = 19
PR
y = (0, o, -· -)
Ys = (0,0,0,1}
z, = 9
PR9
PR
y= (0,1, _,_)
Ys
=(0,1,0,1}
p:Y~~ l
PR
y = (1, o, ... -)
Zs
PRS
= 13
Z/
= 14
Terminal
;-\,
PR
y = (1,1,0, _)
y,=(l , l ,O,O)
z. = 9
Zs
. .....
PR
y = (1, 1, 1, -)
=O, Y2 =1, Ya =O,
y~
=1
con
z•
=14.
Deshaciendo la transformación, se obtiene la solución del problema original
xi =1, x2 = 1,
xj = O,
X3 +X.¡~
= 1,2,3,4
l
- X¡+ X3 ~
0
- x2 +x<t ~O
X¡= 0,1, Í = 1,2,3,4
lnfactible
La solución óptima la proporciona el subproblema PR9, que es
Y~
0,1, i
Introduciendo variables de desviación s¡, s2 ;::: O, formulamos el problema entero
mí..·<to
min d = S ¡ + s2
s. a
9x¡ + Sx2 + 6x3 + 4x4 +S¡ = 14
3x¡ + 1x2 + 2x3 + x4 - s2 =O
6x¡ + 3x2 + 5x3 + 2x.¡ ~ 10
z. = 15
< Z¡
X¡=
0
~ 0
Es evidente que la solución más ecológica se tiene para z• = O, que corresponde
a no construir nada.
e) Para cualquier plan (x 1, x2, x3, x 4 ) de construcción se tiene
y , = (1,1,1,0)
Terminal
+ X4
+ Sx2 + 6x3 + 4x4 ~ 14
3x¡ + 1x2 + 2x3 + x.¡ 2': O
Factible
< Z/
-X2
9x¡
PR
y = (1, 1, -· -)
yJ = (1, 1, o, 1)
z, =18
y,= (1, 0,0,1)
z, = 14
Terminal
Z1
~
..
- X¡+ X3 ~
PR
Y2 = O/ " " ' Ya = 1
3x¡ + 1x2 + 2x3 + ~4
S¡ 1 S2
2': 0
cuya solución óptima es
xi = 1,
x2 = xj = x4 = o, sr = 5, s2 = 3.
Por tanto, sé recomienda construir una fábrica en A, obteniendo un valor actual
neto de 900 roBlones y un impacto ambiental de 3 unidades.
O
x: =O
que corresponde a construir fábricas en A y B, pero ningún almacén, obteniendo
un valor adual neto de 1400 míllones. Obsérvese que PR7 es infactible, pues no
e..xiste ninguna compleción que cumpla y 1 + Y3 ~ l.
8. Secuenciación de conductores. Una empresa local de autobuses realiza
trayectos etttre cuatro ciudades A, B, C y D, de acuerdo con el esquema de la
figura. Los trayectos están representados por arcos etiquetados con un par de
números: el primero representa el número del trayecto; el segundo su duración
en horas, incluyendo los tiempos de tránsito en las estaciones de las ciudades por
donde pase.
340
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~_!A
CAPITULO 6. PROGRAMACION ENTERA
Ruta
j
1
2
3
4
5
6
La empresa tiene contratados a cuatro conductores P, J, L y M. Los dos primeros
viven en la ciudad A; los dos segundos, en D. La politica que sigue la empresa en
sus operaciones viene determinada por las dos condiciones siguientes:
Conductores Trayectos en
la ruta
factibles
3-2
P,J
P,J
3 - 7 -8
P,J,L ,M
4-1 - 2
P,J,L,M
4- 6- 8
1-7-5
L,M
L,M
6-5
N° de
horas
4
7
N° de
tránsitos
1
2
'7
2
2
2
8
8
6
341
Coste ci
x10 3 ptas
22
39
39
44
1
44
32
De esta forma, el problema de asignar conductores a trayectos se reduce al de asig·
nar conductores a rutas factibles. Definimos, entonces, las variables de decisión
0-1,
x . = { 1 si se elige la ruta j
J
O en otro caso
Para construir las restricciones, observemos que, por ejemplo, el trayecto 1 queda
cubierto si se hacen las rutas 3 ó 5. Ello se conseguirá imponiendo que
l. Cada día un conductor realiza con su. autobús sólo una operación, es de-
cir, una sucesión de trayectos qu.e comienzan y terminan en su ciudad de
residencia y no incluye un mismo tr·ayecto más de u.na vez.
2. Ningún conductor puede estar al volante más de 8 horas.
La empresa está en condiciones de afirmar que cubrirá cada trayecto al menos
una vez por día, pero sin garantizar una adecuada conexión entre horarios para los
diferentes trayectos. Además, la empresa paga a los conductores 5000 ptasjhora
al volante y 2000 ptasjtránsito (ciudades intermedias por las que pasa la ruta).
Formular un programa entero que sugiera cómo deben asignarse los conductores a los trayectos para que el coste total sea mínimo.
Procediendo de forma análoga con el resto de los trayectos, se tienen las restricciones
X¡+ X3 ~ 1,
X4 + X6 ~ 1
X ¡+ X2 ~
+ X4
X5 + X6
X3
5000
X
(2 + 3 + 2) + 20QQ
X
2 = 39000
ya que son 2+ 3 + 2 = 7 horas y 2 tránsitos, con ciudades intermedias By C. La
tabla resume todas las posibilidades
X2
X2
+ X5 ~ 1
+ X4 ~ 1
Observemos también que no podemos utilizar más rutas que conductores para
cubrirlas. Así, a lo sumo se pueden cubrir cuatro de las seis rutas, que expresamos
· con la restricción
X ¡ + X2
Solución
\
Teniendo en cuenta las restricciones de que cada conductor sale y regresa a la
ciudad donde reside, debemos considerar las posibles rutas que puede hacer cada
conductor considerando, además, el limite máximo de 8 horas y que cada trayecto
sólo puede cubrirse una vez. Por ejemplo, los conductores P y J pueden hacer
la ruta 3 -t 7 -t 8, pues comienza y termina en la ciudad A, cumpliéndose las
anteriores condiciones. El coste asociado es
1,
~ 1. ,
~ 1,
+ X3 + X4 + X5 + X6:::; 4
Finalmente, la función objetivo será el coste total G,· en miles de ptas, de las
rutas utilizadas dado por
e = 22xl + 39x2 + 39x3 + 44x4 +44xs + 32x6,
que habrá que minimizar. Mediante el algoritmo de ramificación y acotación, se
obtiene la solución óptima
x2 = 1, xj = 1, x6 = 1 ,
con el resto de variables nulas y G* = 110000 ptas. La solución indica que sólo
sería necesario realizar 3 rutas para cubrir todos los trayectos, quedando ocioso
un conductor de entre los cuatro.
342
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Otra forma de solucionar el problema sin necesidad de enumerar previamente
las rutas posibles es la siguiente. Definimos las variables 0-1
xi.
Jk
={ 1
si el conductor i realiza el trayecto desde la ciudad j hasta la k
O en otro caso
con i = P,J,L,M y j,k
Las restricciones son:
CAPITULO 6. PROGRAMACION ENTERA
©RA-~
= A,B,C,D.
343
con Cjk igual al número de horas del trayecto que une la ciudad j con la k. El
segundo sumando corresponde al número de ciudades intermedias, que es igual
al número de trayectos menos l. E~ O ~roviene de que el conductor puede no
realizar ningún trayecto (entonces l:;,k xjk - 1 será -1).
Para pasar a forma lineal la función objetivo, transformamos el má..'(imo
'
quedando
·
min z(x)
= 5 (l;:l;:l:c;kx;k)
l
1 k
+2l;:ui
l
s.a
· Realizar una ruta
(1) x~ 8 + x~D ~ 1, i = P, J
(2) xbc + x}:¡ 8 ~ 1, i = L, M
{3) LjX~k- Ehxih =o, i = P, J; k= B,C,D
(4) Ljxjk - L:hxih=O, i=L,M; k=A,B, C
(5) x~k ~ x~8 + x~, i = P, J Vj, k
(6) x}k ~ xbc + x}:¡ 8 , i = L,M Vj, k
(7) xBA + xb ~ x~ 8 + x~0 , i = P, J
(8) x~D + xhv ~ xbc + xbs• i = L, M
en la que: (1) y (2) representan que cada conductor sale a lo sumo una
vez de su ciudad; (3) y {4), que a toda ciudad intermedia que llegue un
conductor debe salir de ella; (5) y (6), que si el conductor no sale de su
ciudad, no realiza ningún trayecto y cada trayecto se realiza a lo sumo una
vez; (7) y (8), si el conductor sale de su ciudad vuelve a ella.
· Ningún conductor puede estar al volante más de 8 horas
L x~kdp, ~ 8, Vi
j,k
con d;k duración del trayecto entre j y k.
- Se cubren todos los trayectos
L x}k ~ 1, Vj, Vk.
La función objetivo, en miles de ptas, es
(1)-(8)
E x;kdik ~ 8,
Vi
j,k
2;:: x~k ~ 1, Vj, Vk
l
E x;k -
1 ~ UiJ Vi
j ,k
Ui ~o,
Vi
x;k = O, 1 Vi, Vj, Vk
o
9. Problema del viajante. La red de la figura muestra cuatro ciudades, 1, 2, 3
y 4, y las conexiones entre éstas con sus resp~ctivos tiempos de transporte (supondremos que al ser las formas de transporte distintas entre ciudades, los pares
de arcos paralelos tienen medidas diferentes). Un individuo sale de la ciudad 1 y
desea determinar el itinerario de mínima distancia que pase por cada ciudad una
sola vez y regrese a la ciudad de partida.
344
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
Solución
345
.
En resumen, se tiene el problema entero
Formulamos un modelo de programación entera para resolver este problema
clásico, de gran complejidad computacional. Introducimos las variables de decisión 0-1
sí en el itinerario está el arco (i,j)
={
en otro caso
x,,
CAPITULO 6. PROGRAMACION ENTERA
~
para i, j = 1, 2, 3, 4, con i :¡. j.
La función objetivo representa la duración del itinerario, que es
4
L
4
=L L d¡jXij
con i =F j
i=lj=l
que habrá que minimizar, siendo d¡j el tiempo asociado al arco (i,j).
Las restricciones se deben a la imposición de que el individuo visite cada
ciudad una sola vez. En términos de las variables de decisión, esto significa que:
mín C
=
2Xt2 + 3X21 + 6Xt3 + 4XJ¡ + 4Xt4 + 2x41 +
+4X23 + SX32 + 2X24 + 3X42 + SX34 +3x43
s. a
X¡2 + X¡3 + X¡4 = 1, X21 + X31 + Xu = 1
X21 + X23 + X24 = 1, X12 + X32 + Xt2 = 1
X31 + X32 + X3.¡ = 1, X¡3 + X23 + X~3 = 1
X41 + X42 + X43 = 1,
X¡4 + X24 + X:U = 1
'U2 - 'U3 + 4X23 ~ 3, U3- 'U4 + 4X:¡.¡ ~ 3
'U2 - U4 + 4X24 ~ 3, 'U4 - 'U2 + 4X42 ~ 3
U3 - u2 + 4x32 ~ 3, 'U4 - u3 + 4x43 ~ 3
Xij = O, 1, i, j = 1, 2, 3, 4¡ u¡ enteras Vi
Resolviéndolo mediante el algoritmo de ramificación y acotación, se obtiene la
solución óptima
- Abandone cada ciudad una sola vez
4
L Xii
= 1,
i
= 1,2,3,4,
con i =F j.
(6.1)
con j :/: i
(6.2)
i=l
- Entre en cada ciudad una sola vez
4
L Xij
= 1,
j
= 1,2, 3,4,
i=l
- Además, para evitar subitineraríos desconectados (por ejemplo, x12 = 1, x21 =
1, X34 = 1, X43 = 1) introducimos 3 variables auxiliares '!Ji, i = 2,3,4 y las
restricciones
u¡ -
Uj
+ 4X¡j ~ 3, i, j
= 2, 3, 4,
con i :/: j
(6.3)
y u¡ enteras, ya que toda solución que cumpla (6.1), (6.2) y que sea un
circuito hamiltoniano (un camino en que el nodo origen y el final coinciden
y que pasa una sola vez por cada nodo) , cumple (6.3) y recíprocamente.
con el resto de las variables iguales a cero y L• = 11. Por tanto, el itinerario de
tiempo mínimo es 1 - 2 - 4 - 3 - l.
Observemos que hay algoritmos específicos para este problema basados en
heurísticas computacionalmente bastante más eficientes
O
10. Problema de emplazamiento y cubrimiento. Una cadena de alimentación pretende abrir varios supermercados en una gran ciudad. Tras un estudio
de la disponibilidad de locales en los 7 distritos en que está dividida la ciudad, se
considera que son 5 los emplazamientos donde se podrían situar supermercados.
La tabla que sigue muestra los distritos que se cubren por cada emplazamiento,
as( como las rentas anuales esperadas para cada uno 'de los supermercados emplazados con la condición de que a cada distrito se cubra a lo sumo por un único
supermercado de la cadena.
¡f
346
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Emplazamiento
Distrito
1
1
2
X
3
2
4
X
3
X
4
X
5
X
=
36x 1 + 39x2 + 44x3 + 4lx4 + 38xs
X¡+ X4 ~ 1
X¡+ x3 +xs
X
X
X
X
X
~
1
+ X5 ~ 1
X2 + X4 ~ 1
X2 + X3 ~ 1
X3 + X5 ~ 1
X2
X
X
347
s.a
X
6
Beneficio (x 106 ptas)
max B
5
X
X
7
CAPITULO 6. PROGRAMACION ENTERA
X
36 39 44 41 38
X¡+ X3 + X4 ~
1
j=1, ... ,5
x;= 0,1,
Se desea:
La solución óptima es
a) Determinar el plan de emplazamientos de mayor beneficio.
b) Disponemos de los costes de alquiler de los locales correspondientes a los 5
emplazamientos en la tabla
1
2
3
4
5
14 17
21
15
18
Se desea determinar el plan que minimice los costes de alquiler de modo
que queden cubiertos todos los distritos, suponiendo que cada distrito pueda
cubrirse por más de un emplazamiento.
xi = x2 = x3 =O, x: = 1, x5 = 1
que corresponde a abrir supermercados en los emplazamientos 4 y 5, siendo el
beneficio de 79 millones de ptas. Todos los distritos excepto el 5 quedarían
cubiertos.
b) En este caso, para las mismas variables de decisión que antes, consideramos
como objetivo la. minimización de costes e, y las restricciones toman la. forma.
5
¿a¡;x; ~ 1, i
= 1, ... ,7
j=l
Solución
a.) Definimos las variables de decisión 0-1
1
x; = { 9
si se selecciona el emplazamiento j
en otro caso
El problema. de optimización es ahora.
min e
s.a
=
X¡+ X4 ~ 1
Las restricciones serán de la forma
X¡+ X3 +
X2
5
L
14x¡ + 17x2 + 21x3 + 15x4 + 18xs
ll¡jXj
~ 1, i ;:::: 1, ... , 7
X2
X5 ~
1
~ 1
+ X4 ~ 1
+ X3 ~ 1
X3 + X5 ~ 1
X2
j=l
donde los coeficientes o¡; valen 1 si el distrito i está cubierto por el emplazamiento
j, y O en otro caso. La función objetivo B representa el beneficio total de los
emplazamientos elegidos. Por tanto, el problema de optimización es el problema
0-1
+ X5
X¡+ X3 +
Xj = 0, 1,
X4 ~
1
j = 1, ... , 5
La solución óptima. es
xi =
1,
x2 = 1, xj = O, x; =O, x5 =1
348
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA·MA
que corresponde a los emplazamientos 1, 2 y 5, siendo el coste total 49 millones
df- ptas.
o
CAPITULO 6. PROGRAMACION ENTERA
349
significa que no es posible enviar el producto desde el almacén A¡ a cualquier
centro de producción, será
4
11. Localización y transporte de mercancías. Consideremos una empresa
con cuatro centros de producción de alimentos, denominados Pj, j = 1, 2, 3, 4,
que busca situar uno o más almacenes de gran capacidad para guardar la materia
prima (harina) desde los que satisfacer la demanda semanal de los centros de
producción. Después de un estudio detallado de la zona, se llega a la conclusión
de que hay tres lugares posibles de ubicación de almacenes, que denotamos Ai, i =
1, 2, 3. Los costes Cij (en miles de ptas) de envío por t de harina de las ubicaciones
A¡ a los centros de producción Pi, el alquiler semanal de cada ubicación, en miles
de ptas, y la demanda de los centros de producción en t, viene dados en la tabla
e;;
At
A2
A3
Dem.
Pt p2 p3 p4 Alquiler
27 13
9 12
600
25
9
8
15
490
16 21 12 11
570
230 250 210 300
Se desea también que, por limitaciones en la contratación de personal, a lo sumo
se ocupen dos almacenes de los tres posibles y, además, por razones de operatividad, se ut·ilice la ubicación 1 siempre que se utiliza la 3.
Formular un modelo de programación entera que proporcione la ubicación de
los almacenes y las cantidades a enviar desde cada almacén a las fábricas para
satisfacer las demandas con coste mínimo.
L Xij = O
. _ { 1 si se utiliza el almacén i
Y1 O en otro caso
= 1, 2, 3
= t de materia pri.ma enviada desde A¡ hasta Pj.
Sean, además, Dj la demanda del centro de producción Pi y ei el coste de
utilización del almacén A¡.
La dificultad inicial está en modelizar la condición de que sólo es posible
enviar materia prima desde aquellos almacenes que se ubiquen. Así, como y¡ = O
4
4
j=l
j=l
L X¡j ~ L Dj
para los i tales que y¡= l.
Estas dos condiciones se resumen escribiendo
4
4
j=l
j=l
L Xij ~y¡ L Di
para i
= 1, 2, 3.
También habrá que añadir la restricción de que se satisfaga la demanda de cada
fábrica
3
L Xij ~ Dj
paraj = 1,2,3,4.
i=l
Además, como a lo sumo sólo se ubican dos almacenes y se utilizará el almacén
A1 siempre que se utilice el A3, hay que añadir las restricciones
3
¿:y¡~
2
y
i= l
Finalmente, la función objetivo a minimizar será
3
4
3
e= L L CiiXij + ¿e¡y¡
y las variables continuas
Xij
= O.
Sin embargo, si y¡ = 1, lo máximo que se puede enviar desde la ubicación A¡ es
la demanda de todas las fábricas. Por ello, cualquier programa de envío debe
satisfacer que
Solución
Para modelizar la selección de almacenes introducimos las variables de decisión
0-1
para los i tales que y¡
j=l
i=l j = l
i=l
donde el primer sumatorio refleja los costes de envío y, el segundo, los costes de
ubicación (utilización) de los almacenes. Ttaducido este modelo de programación
entera mixta a los datos, queda el objetivo en miles de ptas
mine
=
27xu + 13Xl2 + 9Xr3 + 12Xt4 +25X21 + 9X22 +8X23 + 15X24
+16X3l + 21X32 + 12X33 + l lX34 +600y¡ +49Qy2 + 570y3
350
PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
y las restricciones
CAPITULO 6. PROGRAMACION ENTERA
Formular un modelo de programación lineal entera mixta que ayude a decidir qué
turbinas deben conectarse durante el periodo de 24 horas.
·
+ X21 + X3¡ ;?: 230
Xt2 + X22 + X32 ;?: 250
XJ3 + X23 + X33 ;?: 210
X¡4 + X24 + X34 ;?: 300
XH + Xt2 + X¡3 + X¡4 - 990y¡ ~ 0
X21 + X22 + X23 + X24 - 990y2 ~ 0
X31 + X32 + X33 + X34 - 990y3 ~ 0
Yt + Y2 +Y3 ~ 2
-y¡ +y3 ~O
Xij;?: 0, i = 1,2,3; j = 1, 2,3,4
y¡= o, 1, í =1, 2, 3
Xu
Solución
Definimos para cada turbi n~ i =A, B, C, D y cada periodo j
bles de decisión
¡-
xi3 = 210, xj 1 = 230, xj 4 = 300, y;
si se pone en marcha la turbina i en el periodo j
O en caso contrario
y
Xij
= número de MW producidos por la turbina i en el periodo j.
Las restricciones provendrán de la necesidad de satisfacer la demanda de energía
= 1, yj = 1
con el resto de las variablés nulas y coste total e• = 13290000 ptas. Vemos que
lo más económico sería ubicar los almacenes A 1 y A3. Desde el primero se serviría
a los centros de producción P2 y Pa; desde el segundo a P 1 y P4 .
O
12. Planificación en una central hidroeléctrica. En una central hidroeléctrica
deben decidirse cada 24 horas las turbinas que se pondrán en marcha durante los
tres períodos de 8 horas en que se divide la planificación diaria para satisfacer la
demanda de la población a la que se sirve. La central dispone de cuatro turbinas,
que pueden funcionar parcialmente, cuyas características por periodo de 8 horas
se describen en la tabla
Turbina
A
B
e
D
= 1, 2, 3, las varia-
={ 1
y1
La solución óptima es
xi2 = 250,
351
Coste de puesta
en marcha por
periodo (ptas)
Coste unitario de
MW producido
(ptas)
Capacidad
máxima por
periodo (MW)
2000000
1500000
2700000
2500000
550
600
650
710
3400
2300
4000
3800
XAi
+
XA2
+ XB2 + XC2 + X02 ;?: 10500
·XA3
+
XBt +XC I + X Di ;?:
XB3
XD3;?:
7000
y de las capacidades máximas de producción por turbina y periodo
XAi
~ 3400YAi }
~ 2300y Bi
xc¡ ~ 4000yc¡
X Bi
XDi ~
i
=1 2 3
' '
3800ym
con
Yii =o-, 1, i =A, B, e, D; j = 1, 2, 3.
La función objetivo representa el coste total (MW producidos más puesta en
marcha)
x¡1 ~o ,
mine
=
550 (X Al+ X.42 + XA3) + 600 (XBl + XB2 + Xaa) +
+650 (xc¡ + xc2 + xc3) + 710 (xot + x02 + xos) +
+2000000 (Y Al+ YA2 + YA3) + 1500000 (YBl + YB2 + YB3) +
+2700000 (YC ! + YC2 + YC3) + 2500000 (yo¡+ YD2 + YD3)
Mediante el algoritmo de ramificación y acotación con la regla de la mejor cota,
se obtiene en 81 iteraciones la solución óptima, que se refleja en la tabla
Turbina
La demanda estimada en MW en un cierto día para el primer período es 5100,
para el segundo 10500 y para el tercero 7000. Se observa que una turbina utilizada
en el primer período puede serlo también en el segundo y/o tercero añadiendo los
correspondientes costes de puesta en marcha (al final de las 24 horas hay una
desconexió~ breve antes de comenzar la aplicación de la siguiente planificación). ·
+ XC3 +
5100
A
B
e
D
siendo el coste total
Periodo
2
3
3400 3400 3400
1700 - 4000 3600
- 3100 1
e·= 29171000 ptas.
o
©RA-~
CAPITULO 6. PROGRAMACION ENTERA
13. Localización de centros de distribución. Una compañía dispone de 4
fábricas F¡, i = 1, 2, 3, 4, con capacidades de producción de 240, 190, 250, 175
unidades, respectivamente, y debe suministrar 185, llO, 125, 180, 170 unidades
a sus 5 clientes C;, j = 1, 2, 3, 4, 5. Estudia la apertura de, a lo sumo, 3 centros
de distribución, con 5 posibles localizaciones Dk, k = 1, 2, 3, 4, 5. Se dispone de
18 millones de ptas, siendo los costes de construcción en cada localización 10, 7,
12, lO y 8 millones de ptas, respectivamente. Los costes por unidad de producto
envasado por el centro de distribución k son 2, 3, 2, 2, 3 decenas de miles de ptas.
Los costes de transportes Cikj por unidad, en miles de ptas, de la fábrica F¡ al
cliente C; a través del centro Dk. son
- Límite de presupuesto para la apertura de centros de distribución Dk
352
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Cikj
k=3
k- 4,5
j
j
j
1 2 3
3 5 2
3 2 4
5 1 6
4 3 2
i
1
2
3
4
't
k= 1,2
4
4
2.
3
6
5
3
3
1
2
2
6 4
4 6
6 5
3 4
1
3
7
2
1
2
4
8
7
8
5
3
3
2
1 2
1
4
2
5
6 3
2 8
7 3
3
8
4
1
- Se sirve a cada. cliente C; mediante un único centro de distribución Dk
5
[ zk1 =1, j=1,2, 3,4,5
k=l
- No es posible enviar desde la fábrica F¡ más unidades que las ~ disponibles
5
5
LL Xikj~a¡,
5
6
9 3 4
4 2 1
1 3 2
i=1,2,3,4
j=lk=L
- Debe satisfacerse la demanda b; de cada cliente C; desde un único centro
Dk de distribución
4
Si se supone que se sirve a cada cliente desde un solo cent·ro, formular un modelo
de programación entera que determine e.l plan de localización y distribución más
económico.
Solución
Definimos las variables de decisión
Xikj = cantidad enviada desde F¡ a C; a través de
[ xiki = b;zk;, k,j = 1,2,3,4,5
i=l
- Sólo se servirá desde los centros de distribución
Yk ~ ZkjJ
Dk
_ { 1 si se selecciona Dk
O en otro caso
kJ -
si se sirve al cliente C; desde
O en otro caso
Xikj~O,
Dk
Las restricciones se deben a:
- El fabricante quiere la apertura de, a lo sumo, 3 centros de distribución Dk
·¡
Dk
seleccionados
k,j = 1,2,3,4,5
- Finalmente
Yk -
z ._ { 1
353
Yk=O,l,
Zk;=O,l,
i=1,2,3,4¡ k,j=1,2,3,4,5
La función objetivo representa el coste total C. De modo preciso, sean:
Cikj
= coste de transporte por unidad de F¡ a C; a través de Dk
Uk
= coste.de ubicación del centro Dk
ek
= coste de envasado en el centro Dk
todas en ptas. La funrión objetivo es
utilizado,
354
PROCRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-~
Tenemos un problema entero mixto con 130 variables de decisión y 61 restricciones. Aplicando el método de ramificación y acotación se obtiene la solución
óptima
xi41 =55, xj44 = 180, x242 = 110, xj 41 = 130, xj 45 = 120, x443 = 125
x.j45 = 50, y¡ = 1, z.j1 = 1, z¡2 = l, z,iJ = 1, z¡4 = 1, z.j5 = 1
el resto de las variables nulas y e• = 26735000 ptas. Observemos que lo más
económico es ubicar un único centro de distribución, D 4 , a través del cual se sirve
a todos los clientes y quedan satisfechas sus demandas.
o
14. Problema de la mochila. Se debe realizar un envío de 7 objetos distintos.
El valor, peso y volumen de cada objeto se tiene en la tabla
Objeto
j
1
2
3
¡~
,,,1¡1
11
¡,
1
4
5
6
7
lt
Valor
( x 103 ptas)
56
71
69
91
70
85
65
Peso
(kg)
7
11
4
14
9
2
12
Volumen
(cm3 )
21
16
17
28
12
31
19
CAPITULO 6. PROGRAMACION ENTERA
El objetivo V representa el valor del envío, que deseamos maximizar. Este es
max V = 56x¡
+ 1lx2 +69x3 +9lx4 + 70xs + 85xs + 65x1 .
Por tanto, el problema de optimización se formula como un problema 0-1
max V = 56x 1 + 1lx2 + 69x3 + 91x4 + 70xs + 85xs + 6Sx1
s.a
7x 1 + llx2 + 4x3 + 14x4 + 9x5 + 2xs + 12x7 ~ 41
Xj = 0,1, j = 1, ... , 7
La·solución óptima es
xt = O, x2 = 1, xj = 1, x4 = 1, x5 = 1, x6 = 1, x; = O,
que corresponde a enviar los objetos 2, 3, 4, 5 y 6, con un valor de 386000 ptas y
un peso de 40 kg.
b) Si también tenemos en cuenta el volumen má.ximo del envjo (problema de la
mochila bidimensional), debemos añadir a la formulación anterior la restricción
2lx 1 + 16x2 + 17x3 + 28x4 + 12xs + 31xs + 19x7 ~ 100.
La solución óptima es
xi =O, x2 = 1, x3 = 1, x4 =O, x; = 1, x6 = 1,
Se pide:
a) Formular y resolver un programa 0-1 cuya solucíón proporcione el envío de
máximo valor para un peso total que no exceda de 41 kg.
b) Formular y resolver el problema si, además, hay una limitación en el volumen del envío de 100 cm3 .
Solución
355
x7 = 1
que corresponde a enviar los objetos 2, 3, 5, 6 y 7 con un valor de 360000 ptas,
siendo el peso 38 kg y el volumen 95 cm3.
o
15. Planificación de la producción y expansión. Una 'empresa fabriro tres
productos, 1,2 y 3, que deben procesarse en dos tipos de maquinaria denominadas
A y B. La siguiente tabla proporciona los tiempos de 'procesamiento por t procesada
con cada máquina, así como los beneficios por t en miles de ptas y la disponibilidad
de cada tipo de maquinaria en horas po1· semana.
a) Definimos las variables de decisión 0-1
x. _ { 1
3 -
1
~
O
si se selecciona el item j
en otro caso
para j = 1, ... , 7. Hay una única restricción debida a la limitación en el peso del
envío, que toma la forma
Tipo de
maquinaria
A
B
Benef.jt ( x lOa ptas)
Productos
2 3
5 4
3 4 6
80 70 95
1
2
Disponibilidad
(lloras)
70
86
La empresa considera aumentar la disponibilidad de tiempo de procesamiento de
la maquinaria, de acuerdo con alguna de las posibilidades indicadas en La tabla
356
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Tipo de maquinaria
Incremento de disp. (horas)
Coste inversión ( x 1~ ptas)
A
10
160
1
1
B
8 1 12
15
170 170 1 175
A lo sumo se puede realizar un tipo de incremento para cada máquina. Los límites
de demanda de los productos son
Producto
1
2
3
CAPITULO 6. PROGRAMAC!ON ENTERA
@RA-M~
- Límites de disponibiüdad de horas en ambas maquinarias
2x¡ + 5x2 + 4xa ~ 70 + 10YAt + 15YA2
3x¡ + 4x2 + 6x3 ~ 86 +Bya¡+ 12ya2
17
7
20
8
6 ~X¡~ 17
3 ~ X2 ~ 8
7 ~ X3 ~ 20
- Límite de inversión (en miles de ptas)
160yAI + 170YA2 + 170yBl + 175YB2 ~ 340
Se supone que la inversión total no puede exceder de 340000 ptas. Se desea:
a) Formular un modelo de programación entera que proporcione el programa
de procesamiento e inversión de mayor beneficio.
(maquinaria A)
(maquinaria B)
- Límites de demanda
Demanda (t)
mínima máxima
6
3
357
- Elección del tipo de ampliación para cada maquinaria
YA1 +YA2 ~ 1,
YBI +YB2 ~ 1
(6.4)
b) Si la empresa desease aumentar la disponibilidad de un solo tipo de maqui-
naria, ¿cómo se modifica el modelo anterior reflejando tal situación?
- Las variables verifican
e) Si no se quiere añadir disponibilidad de B a menos que se añada de A,
¿cómo se representa esta nueva condición?
d) La empresa desea ampliar la disponibilidad con la maquinaria B si y sólo
si se incrementa también la A. ¿Cómo debe modificarse la condición considerada en e)?
Solución
a) Consideremos las variables de decisión continuas
X¡
= t de producción del producto i = 1, 2, 3
={ 1
0
YA2
={ 1
0
o, i = 1,2,3,
YAj,YBj
= 0,1,
j = 1,2.
Finalmente, la función objetivo es el beneficio neto que se obtiene de la diferencia
entre beneficio y coste de inversión. Esta es, en miles de ptas,
B
= 80x¡ + 10x2 + 95xa- (160yA1 + 170yA2 + 170yBI + 175ys2),
que habrá que maximizar. Tenemos un programa entero mixto cuya solución
óptima es
= 13.5, x2 = 3, xj = 7, .
xr
que representa las toneladas procesadas de cada producto, con
y las variables 0-1
YAt
X¡ ~
si se añaden 10 h de disponibilidad de A
en otro caso
si se añaden 15 h de disponibilidad de A
en otro caso
Análogamente, para la maquinaria B consideraríamos las variables 0-1, denotadas
YBI e YB2, para aumentos de 8 y 12 horas, respectivamente.
Las restricciones se deben a:
Y~\1
=o, YÁ2 =o, YB1 = o, Yi12 = 1,
que indica que se incrementa la disponibilidad de la maquinaria B en 12 horas.
El beneficio óptimo es B• = 1780000 ptas.
b} Si sólo se admite el aumento de la disponibilidad de un tipo de maquinaria,
debemos sustituir (6.4) por
Y.41
+ YA2 + YBI + YB2
~ l.
11
11
358
CAPl'l'ULO 6. PROGRAMACION EN'l'ERA
PROGRAMACION LINEAL Y APLICACIO~ES: EJERCICIOS RESUELTOS
La solución en este caso es la misma que en a), como cabía esperar a la vista de
la solución anterior.
e) Si ahora no se incrementa la disponibilidad de B, a menos que se incremente
la de A, entonces debemos añadir en la formulación de a) la restricción
YA!
x3 = 7, Y:4 1 =O, Y:42 = O, YÍH =O,
Yt12 =O
con B* = 1728333 ptas. Por tanto, no resultaría rentable ninguna ampliación.
d) Si la empresa quiere ampliar la disponibilidad de la maquinaria B si y sólo si
amplía también la A, bastaría con escribir la restricción de e) como una igualdad,
es decir,
YAI
+YA2 = YBI + YB2
obteniéndose la misma solución que en e) .
Penalización Demanda
Día.
300
5000
Lunes
450
5000
Martes
720
3000
Miércoles
Los operarios reciben un salario de 3500 ptas a la hora. Construir un prog,ra_ma
lineal entero que planifique la producción y mano de obra semanal con ma:nmo
beneficio.
+YA2 ~ YBI +YB2 ·
En este caso, la solución es
xj = 10.67, x2 = 3,
359
o
16. Planificación de la producción y la mano de obra. Compsa es un
fabricante de ordenadores que vende en su propia cadena de tiendas. Como consecuencia de contratos externos, sólo puede dedicarse al montaje de sus ordenadores de lunes a miércoles, dejando el resto de la semana para trabajar para
otras empresas. Compsa tiene 45 operarios. El tiempo medio de montaje de un
ordenador es de .7 horas por operario. No es necesario que la totalidad de los
45 operarios estén montando ordenadores, pero el que esté en ello, debe hacerlo
durante sólo 2 días (seguidos o alternos) de los 3 indicados y trabajando, a lo
sumo, 8 horas diarias. De esta manera, un operario que trabaje estará asignado
a 2 d·ías cualesquiera y cobrará por 16 horas de trabajo, independientemente del
número r·eal de horas que efectivamente esté dedicado a la tarea de montaje.
El beneficio de venta por ordenador· es de 95000 ptas. La producción de un
día se puede utilizar para satisfacer la demanda de ese mismo día o de otro día
posterior, pero de esa misma semana, observando que, por motivos operativos,
toda la producción de una semana debe venderse en esa semana y, por tanto,
el inventario es nulo al principio de cada semana. El coste de almacenaje por
ordenador cada día es de 1000 ptas. La tabla que sigue muestra los costes en ptas
de penalización en que incurre Compsa por unidad demandada no servida, así
como la demanda diaria estimada
Solución
Para x =L (Lunes), M (Martes), X (Miércoles), consideramos las variables de
decisión
V x = ordenadores vendidos en el día x
Px = ordenadores no vendidos en x por ser mayor la demanda que la
producción
Fx = ordenadores fabricados en el día x
Sx = inventario de ordenadores en el día x
LM = operarios que trabajan lunes y martes
LX = operarios que trabajan lunes y miércoles
M X =operarios que trabajan martes y miércoles
Las restricciones se deben a:
- Límites en la capacidad de producción
.7FL ~ 8LM +8LX
.7FM ~ 8LM +8MX
.7FX ~ 8LX +8MX
- Equilibrio de inventario, reflejado en la relación ·
Fx=Vx+Sx-S(x-1)
que traducido al problema es
FL =VL+SL
FM=Vi\II+SM-SL
F X = V X+ SX - SM
SX=O
360
PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 6. PROGRAMACION ENTERA
- Relación entre venta y demanda (Dx demanda de ordenadores en el día x),
dada por la relación
Dx = Vx+ Px
de aquí que
300 = VL+PL
450 = VM +PM
720= VX +PX
~
45
1
t
1
V5
V5
V7
Vg
V9
1.97 2.04 1.89 1.94 2.11
V¡o
1.86
l. Invertir en, al menos, 5 valores y, a lo sumo, en 8.
- Las variables son
1
V¡
V2
V3
V4
1.73 2.14 1.90 1.82
El analista quiere formar una cartera equilibrada. Para ello, propone las siguientes condiciones:
.f.
~
17. Formación de una cart era. Un analista de inversiones debe decidir para
el próximo mes la inversión de 100 millones de ptas entre 10 valores del mercado
bursátil, denominados v¡, · i = 1, ... , 10. La tasa de interés esperada para el mes
entrante viene dada en la tabla
t
Valor Vi
Interés r¡
- Mano de obra
LM + LX+ M X
361
2. No invertir más de 25 m·illones de ptas en cada valor.
LM,LX,MX, Vx,Px,Fx,Sx 2:. O y enteras, con x = L,M,X.
3. Invertir en los valores selec.cionados al menos 10 millones de ptas.
Tal como se han definido las variables correspondientes a los operarios que
trabajan, éstos sólo lo hacen dos días ¡:le los tres posibles. La función objetivo a
maximizar es el beneficio neto, que vien~ dado por la diferencia entre el beneficio
de venta y los costes de mano de obra y de inventario, así como penalizaciones
por ventas que no se han podido hacer por falta de disponibilidad. Tenemos así
el objetivo de maximización en miles de ptas
B = 95(VL+ VM + VX) -56(LM +LX +MX)-1SL - 18M - 5PL- 5PM- 3PX
Lo resolvemos con el algoritmo de ramificación y acotación con la regla de la
mejor cota y en 979 iteraciones se tiene la solución óptima
4. Invertir en v2 sólo si se invierte en v1•
5. No invertir en v5 si se invierte en v2.
Formular un programa entero que proporcione la cartera de máximo beneficio.
Solución
Consideramos las variables de decisión continuas
x¡ = inversión en millones de ptas en el valor v¡
y las variables 0-1
Yi
LM* = 21, LX* = 5, MX* = 19, VL* = 297, PL* == 3, FL* = 297, VM* = 450
FM* = 457, SM* = 7, VX* = 281, PX* = 439, FX* = 274
con B* = 93801000 ptas y el resto de variables nulas. La interpretación de
solución se tiene en la tabla
Día
Lunes Martes Miércoles
720
Demanda
300
450
Fabricación
274
297
457
Ventas
281
297
450
Pérdida ventas
439
3
o
Inventario
7
o
o
N. de Trabajadores
21
5
19
l~
={
1
O
si se invierte en el valor v¡
en otro caso
para i = 1, ...,10. Las restricciones se deben a:
- Limitación del capital disponible para invertir
10
LX¡~ 100
i=l
- Números mínimo y máximo de valores en los que invertir
10
o .
5 ~ L Yi ~ 8
i=l
362
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
CAPITULO 6. PROGRAMACION ENTERA
Materia prima
- Inversiones máxima y mínima en cada valor
Gasto de Pi por u. produc. en
M2 M3 M4 Ms Ms
.7
p2
.3
p3
.5
p4
.2
Capacidad máxima 150
P¡
i = 1, ... , 10
- Condicionantes entre los valores
Disponibilidad
M¡
pi
.2
.4
.5
.4
.6
.3
y.3
.5
175 210
.5
.6
.4
.2
260
.6
.2
.5
.3
335
363
.7
.3
.4
.6
290
de Pi
400
380
435
370
Se desean fabricar 800 unidades del producto. Se pide:
y, además,
X¡~O,
a) Construí?' un programa entero que proporcione el plan de producción con
y¡=0-1 Vi=1, ... , 10.
coste mínimo.
El objetivo representa la renta total generada
b) Si ahora las variables de decisión deben satisfacer, las restricciones de las
materias primas M1 y M2, o bien M3 y M4 , ¿cómo afecta a la solución
obtenida en a)?
lO
R = ¿ r¡x¡
i=l
que hay que ma..ximizar. Se tiene, por tanto, un problema entero mixto cuya
solución óptima, obtenida mediante el método de ramificación y acotación, es
xi = 10, x2 = 25, x; = 25, xfi = 25, Xg = 15, xg = 25
YÍ = 1, Y2 = 1, Ys = 1, Ys = 1, Yg = 1
el resto de variables nulas y R*
= 201.9 millones de ptas.
o
Solución
a) Introducimos inicialmente las variables de decisión
X¡ = producción en kg en la máquina M¡
para i = 1, ... , 6. Las restricciones se deben a las limitaciones en la disponibilidad
de las materias primas, que vendrán dadas por
6
18. Problema del coste fijo con restricciones disyunt ivas. Una empresa
fabrica un producto en 6 máquinas distintas M¡, i = 1, ... , 6. El coste de producción en cada máquina M¡ comprende un coste fijo C¡ independiente de la cantidad
producida y un coste variable e; por kg producido. La tabla contiene los costes de
producción. en miles de ptas
L: a¡jXi
i=l
j
= 1,2,3,4
con a¡i gasto de la materia prima Pj por unidad producida en M¡ y b; disponibilidad de la materia prima Pi . Para que únicamente se utilicen 2 de las 4 materias
primas, se deben introducir las -¡ariables 0-1
Máquina
650 720 580 640 725 630
Coste fijo C¡
Coste variable C¡ 3.8 4 4.5 3.7 5 4.1
Para la fabricación del producto deben utilizarse 2 de entre 4 materias primas
posibles, Pi, j = 1, 2, 3, 4. La tabla contiene los gastos' de las materias primas
por kg producido, las disponibilidades de las materias primas, ambas en kg, y las
capacidades máximas de producción en cada máquina. Los costes de las materias
primas se suponen nulos, ya que la empresa dispone de ellas.
:S bj,
si la restricción j-ésima es activa
en otro caso
y, para U > Osuficientemente grande, considerar las restricciones
6
.l: a¡jXi $
1= 1
bjYj
+U (1 -
Yj),
j
= 1, 2, 3,4
,,,,~
1'
364
PROGRAl'.-L\ClON LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
6
L: X¡ = 800. La función objetivo es
Además, hay que considerar la restricción
i=l
6
minC =
L C¡ (x¡)
i=l
con
C¡(x¡)
= { ~x¡ + C¡
si x¡ >O
si x¡ = O
CAPITULO 6. PROGRAMACION ENTERA
365
b) Bastaría con considerar una variable y, 0-1 y escribir las restricciones sobre
disponibilidad de materia prima
.7x¡ + .2x2 + Ax3 + .5x4 + .6xs + .7x6 ~ 400 + 5000y
.3x¡ + .Sx2 + Ax3 + .6x4 + .2xs + .3x6 ~ 380 + 50500y
.Sx¡ + .6x2 + .3x3 + .4x.¡ + .Sxs + .4x6 ~ 435 + 5000 (1- y)
.2x¡ + .3x2 + .5x3 + .2x.¡ + .3x5 + .6x6 ~ 350 + 5000 (1 -y)
(Mt)
(M2)
(1\13)
(1\14)
La solución óptima viene dada en la tabla
Valor óptimo
Esta función objetivo no es lineal, debido a la discontinuidad en O. Para transformarla en lineal, se introducen las variables 0-1,
Ó¡
={ ~
con y•
6
minC =
L (qx¡ + C¡ó¡)
i=l
o~ X¡~ UÓ¡,
i = 1, ... ,6.
Tomando U = 5000 y aplicando el algoritmo de ramificación y acotación, se
obtiene como solución óptima la dada en la tabla
;lt
Valor óptimo
j
i
x!1
8~
1
1
150
1
2
3
1
4
o
o
360
o
5
6 290
con y¡ = Y2
y 2, siendo
1
1
1
= 1, lo que significa que se
utilizan las materias primas 1 y 2, siendo
o
19. Secuenciación tecnológica. Hay que procesar unidades de tres tipos de
productos P¡, i = 1, 2, 3, mediante cuatro máquinas j\lf;, j = 1, 2, 3, 4. La tabla incluye la sucesión tecnológica de procesamiento de los tres productos en las
máquinas
Producto
con las restricciones
1'
o
260
5 250
6 290
o
o
1
o
1
= 1, y3 = y4 =O, lo que significa que se utilizan las restricciones 1 .
e· = 61Ó6538 ptas.
1
o
o
4
e· = 5396000 ptas.
con U > Osuficientemente grande, de modo que x¡ ~ U sea redundante respecto
a cualquier restricción activa del problema. Por tanto, la función objetivo se
escribe
ií
o
o
2
X¡~ Uó¡
:~
8~
o
3
si x¡ > O
en otro caso
Estas condiciones se pueden expresar mediante las restricciones
11
X~1
i
1
P¡
Pz
p3
Sucesión tecnológica
M1 --+ .M3 --+ M4
M1 --+ .M2 --+ M3
M2--+ M4
Los tiempos de procesamiento en minutos por unidaa de producto en cada máquina
vienen dados en la tabla
Producto
P¡
p2
p3
.M¡
4
2
-
Máquina
.M2 M3
.M4
-
3
5
6
7
1
-
-
4
Cada máquina puede procesar un solo producto a la vez. Una vez que comienza
a procesar un producto, debe hacerlo hasta el final. Además, debido a la naturaleza de los productos, hay un tiempo máximo para el procesamiento de estos por
unidad, como se indica en la tabla
J66
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Producto
Tiempo máximo (minutos)
16
14
CAPITULO 6. PROGRAMACION ENTERA
@RA-MA
14
Formular un modelo de programación entera que proporcione las secuencias de
procesamiento de los productos en las máquinas que permitan completar el procesamiento total en el menor tiempo posible.
367
Una versión lineal de la función objetivo se tiene introd~ciendo la variable y,
de manera que el objetivo z se sustituye por el objetivo escalar z, con restricciones
añadidas, es decir,
min z = t
s.a
X¡4 + 5 ~ t
+1 ~ t
X34 + 4 ~ t
X23
Solución
Definimos las variables de decisión
Xij = instante de inicio de procesamiento de una unidad de P¡ en M;
para i, j convenientemente definidos. Las restricciones se deben a:
con y ?: O, además de las restricciones anteriores.
Las restricciones disyuntivas podemos linealizarlas como sigue: Sea, por ejemplo, la restricción
Xu
- La secuencia para cada unidad de producto
2: X u + 4,
X22 2: X21 + 2,
X34 2: X32 + 7
X¡3
X¡4
X23
2: X¡3 + 3
2: X22 + 6
Ó
Ó
Ó
Ó
2: X u+ 4
X23 2: X¡3 + 3
X34 2: X¡.¡+ 5
X32 2: X22 + 6
X21
- No negatividad
Así,
si Ó¡ = 1, la primera restricción es inactiva, teniendo sólo x 11 + 4- x21 ~O
si Ót =O, la segunda restricción es inactiva, teniendo sólo x21 + 2 - xu ~O
y análogamente para las restantes restricciones.
Resolvemos el programa con el algoritmo de ramificación y acotación y obtenemos la solución óptima
x¡ 1 =O, xiJ = 4, x¡4 =11, x21 =4, xñ = 7, xh = 13,
xh =O, x3 4 = 7, ój = 1, ó2 = 1, ój :=O, ó¡ =O
con tiempo mínimo t• = 16. La figura muestra las secuencias de procesamiento
de los productos en las máquinas obtenidas de la solución anterior
M,
M,
Ml
~
M,
o
+ 1, X34 +4}
M,
M,
p2
p)
min z = ma.x {x 14 + 5, X23
E {0,1}
M suficientemente grande
P¡
El objetivo es
2: Xll + 4
+ 2- xu ~ Mó 1
xu + 4- x21 ~M (1 - ó1)
Ó¡
2: X21 + 2
X¡3 2: X23 + 1
X¡4 2: X34 + 4
X22 2: X32 + 7
X21
x21
_ No interferencia entre máquinas (que conduce a las restricciones disyuntivas}
Xu
Ó
La podemos reescribir
_ Disponibilidad má.xima de tiempo de procesamiento de cada unidad de
producto
X¡4 + 5 ~ 16
X23 + 1 ~ 14
X34 + 4 ~ 14
P 1 y P2 en !vh:
P1 y P2 en M3:
P¡ y P3 en M4:
P2 y P3 en M2:
2: X21 + 2
1 1 1 1
M,
M,
1 1 1 1
.
1
1 1 1
10
S
1 1 1
15
tiempo
o
368
PROGRAiVlACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
20. Elección de inversión. Una empresa de construcción propone a su gabinete de análisis financiero un estudio sobre posibles inversiones cuyos costes y
rentabilidades en millones de ptas, así como sus condicionantes, se describen en
!a tabla
Inversión
Coste Renta
1
6
5
2
3
9
10
8
12
4
5
6
7
Condicionante
18
-
13
25
22
sólo si 1
sólo si 2
obligada si 2
nosíló3
nosi2y4
sólo si 2 y no 3
26
31
10
7
CAPITULO 6. PROGRAMACION ENTERA
@RA-MA
La empresa pretende maximizar la renta total de sus inversiones, con un límite
en el coste total de 40 millones.
Formular un modelo de programación entera que dé respuesta a este problema.
Sustituyendo los correspondientes valores y resolviendo el programa entero, se
obtiene la solución óptima
x: = 1, x5 = 1, x6 =1
con el resto de las variables nulas y R* = 79 millones de ptas.
21. Modelización de funciones lineales a trozos. Proponer un método de
modelización de funciones lineales a trozos definidas por {(a¡,J(a¡))}, i = 1, ... , 5,
de manera que tal función se reformule como lineal, con ayuda de variables 0-1.
Solución
Se supone que a1 ~
· · · ~as.
Tenemos la siguiente cadena de implicaciones
y E [a 1, as] =>y E (a¡, ai+L] para algún i E {1, 2, 3, 4} =>
=>y= A¡a¡ + \+tai+l
5
Definimos una variable de decisión 0-1 por cada inversión teniendo
para i
o
con A¡+ Ai+I = 1 y A¡, Ai+t ~ O . Luego
Solución
X¡= {
369
~
si se hace la inversión i
en otro caso
i=l
= 1, ... , 7. Las restricciones se deben a:
- Los condicionantes
X2 ~X¡,
X5 ~
X3 ~ Xz,
Xs
X4 ~X2 1
X6 ~
2X7 ~ X2
+1 -
~
1- X¡
12-
X3
X2 -; X4
X3
- Límite de i:n,versión: Si llamamos
i-és.ima, se tiene
Ci
al coste (en millones) de la inversión
CiXi
~ 40.
i=l
Finalmente, si r¡ es la rentabilidad (en millones) de la inversión i-ésima, el
objetivo es
7
max R =
con ¿;~=! A¡ = 1, A¡ ~ OVi, y a lo sumo dos A¡ son mayores que Oy si Aj, Ak son
positivos, entonces k = j - 1 ó k = j +l. La última condición se puede reescribir
en la siguiente forma:
Hacemos
X¡ = { 1
si a¡ ~ y ~ a¡+ 1
en otro caso
0
para i = 1, 2, 3, 4 y
A¡
7
L
f (y)= LA¡/ (a¡)
L r¡x¡.
i=L
~ X¡,
A¡~ Xi-1
+ x¡, i
= 2,3,
As~ X4
4
¿;X¡=
i=l
1
o
22. Recuperación de información. Formular un modelo para el problema
de recuperación de m peticiones de información de un conjunto de n ficheros de
manera que se minimice la longitud de búsqueda, siendo Cj la longitud del fichero
j-ésimo.
370
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Solución
Definimos las variables de decisión 0-1
e·. _ { 1
11
O
x;
={
1
O
si la información i-ésima está en el fichero j
en otro caso
CAPITULO 7
si buscamos en el fichero J··ésimo
en otro caso
PROGRAMACION LINEAL
MULTIOBJETIVO
Es evidente que
l: ei;x; =1,
i
=l, ... ,m
j
La longitud de la búsqueda es L
min L =
= ¿ c;xj. Por tanto, el problema se formula
L:c
• J·x]·
J
s.a
n
L
j=l
eijXj
= 1,
Xj =O, 1,
i
= l, ... ,m
j = 1, ... , n
o
En este último capítulo estudiamos la modelización y solución de problemas de
programación lineal multiobjetivo, una aproximación más reciente y muchas veces más realista al análisis de problemas de gestión. Se considera la optimización
simultánea de varias funciones objetivo, en muchos casos conflictivas, en situaciones en las que no es deseable o posible reducirlas a una única función objetivo
y, por tanto, hay que considerarlas conjuntamente.
En el tratamiento de estos problemas, el concepto de óptimo clásico suele carecer
de sentido, ya que una solución que ma:cimice un objetivo, en general no maximizará los restantes objetivos. Esta observación conduce al conjunto eficiente
(no dominado u óptimo de Pareto), de manera que en vez de buscar una solución
óptima, se debe buscar un conjunto de soluciones eficientes. Una solución es
eficiente si no existe otra solución factible que mejore el valor de un objetivo sin
causar una disminución en el valor de alguno de los restantes objetivos.
El capítulo comienza con varios ejemplos de programas lineales ruultiobjetivo
en los que se aplican los métodos de las ponderaciones, f.-restricciones eMbrido,
ilustrándo~os con representaciones gráficas de las regiones factibles en los espacios de decisiones y de objetivos, y con sus correspondientes conjuntos eficientes.
Aunque aquí se aplican estos procedimientos a prob~emas lineales, también son
válidos en problemas no lineales. Se hace ver que, bajo ciertas hipótesis, conducen
a soluciones eficientes y, además, mediante una adecuada variación paramétrica
permiten la generación de todo el conjunto eficiente. Se estudia también la aplicación del símplex multiobjetivo, que sólo es válido para modelos lineales y es una
extensión directa del símplex uniobjetivo estudiado en el Capítulo 2.
372
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Un grupo importante de ejercicios de este capítulo se dedica a la programación por metas, concebida inicialmente por Charnes y Cooper a principios de los
sesenta como una aplicación de la programación lineal con objetivos múltiples.
Consiste en solicitar primero al decisor metas o niveles de aspiración para los
distintos objetivos que desea alcanzar; entonces, una solución óptima se define
como aquella que minimiza la desviación a las metas propuestas. El procedimiento de solución gráfico, que se utiliza en varios ejercicios, ayuda a comprender el
procedimiento de solución, que se compara con el símplex en un ejemplo.
Algunos métodos de solución analíticos son el algoritmo lineal secuencial y
el símplex modificado. Ambos se ilustran de forma detallada, con aplicación del
primero de ellos a distintos ejemplos. Varios de estos ejercicios conllevan una modelización previa que los hace representativos de todo el proceso de modelización
y solución de un problema. Algunas aplicaciones concretas son: el problema de
la cartera, problemas de localización, de selección de proyectos...
Finalmente, como extensión de la programación multiobjetivo, se ilustran a
nivel elemental otros conceptos importantes como el de punto ideal y de conjunto
de compromiso.
EJERCICIOS
l. Método de ponderaciones. Dado el problema lineal biobjetivo
max z
s. a
=
(-X¡
+ x2, X¡ + Zx2)
- X¡+ 2x2 ~
X¡+ X2 ~
X¡~
8
8
Se desea:
a) Resolverlo con el método de las ponderaciones tomando el vector de pesos
>-= (1,1).
¡.
373
Solución
a) En este caso se sustituye el objetivo vectorial
por una función objetivo escalar z, con pesos A=(1, 1), que toma la forma
Tenemos el programa lineal
max z
s.a
=
3x2
- x1 + 2x2 ~ 8
P(l,l):
X¡
+x2
6
~
8
X¡~
X¡, X2;::::
0
Mediante el método del símplex, se obtiene la solución x[ = 8/3 ~ 2.67, x2 =
16/3 ~ 5.34, que es eficiente, ya que el vector de pesos es ). > O.
b) Consideramos el problema genérico de ponderaciones, cuya función objetivo
es
z = A¡ (- x1 + x2) + A2 (x¡ + Zx2).
Si vamos variando los pesos A1 y A2 de modo sistemático, al resolver los correspondientes programas lineales obtendremos el conjunto eficiente o, al menos, una
aproximación de él. La tabla contiene, para valores escogidos de los pesos, las
soluciones de los programas lineales asociados.
6
x¡,x2;::::o
1
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETNO
b) Generar (o aproximar) el conjunto eficiente en el espacio de decisiones por
variación paramétrica.
e) Representar gráficamente la región factible en el espacio de decisiones y el
conjunto eficiente.
Pesos
(.A¡, >.2)
(1,2)
(1, 3)
(1,5)
(2,1)
(4, 1)
(5,2)
(6, 1)
Solución
(xi' x2)
(2.67, 5.34)
(2.67, 5.34)
(2.67, 5.34)
(2.67, 5.34)
(0,4)
(2.67, 5.34)
(0,4)
Obsérvese que hemos ido tomando pesos estrictamente positivos para garantizar
la eficiencia de las soluciones. A la vista de los resultados, podríamos afirmar
374
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
©RA-MA
B'
que el conjunto eficiente [ (F) es el segmento que une los puntos extremos (0,4)
y (2.67, 5.34), que se comprueba que son puntos extremos eficientes de F.
e) Las figuras que siguen corresponden: la de la izquierda, a la región factible F en
el espacio de decisiones rn.2, y la de la derecha, a la región factible Z = z ( F) en el
espacio de objetivos o consecuencias m.2. En ambas, se han marcado en negrita los
correspondientes conjuntos eficientes, donde A= (0,4), B = (2.67, 5.34) , A' ==
(4, 8) y B' = (2.67, 13.35) .
Zt A
375
Z: l:.lO
D'
-1--1--+--t--'~t-+--+--•
· 8 -6 - 4 -2
o
2
4
6
z.
8'
o
3. Método híbrido de ponderaciones y E-restricciones. Dado el problema
lineal multiobjetivo
max z
s.a
=
(z1, z2, Z3, z4)
- X¡+
2. Método de €-restricciones. Resolver el programa del Ejercicio 7.1 me-
diante el método de las E- restricciones, tomando como objetivo más importante
el z 11 y como meta para el objetivo z2, el valor €2 = 10.
Solución
Formulamos el programa lineal uniobjetivo
max
s. a
P¡ (10) :
Z¡
=
- X¡
+ X2
-x 1 + 2x2 ~ 8
X¡ +x2:::; 8
X¡~ 6
X¡ 1 X2 ;::: 0 1
Z2 = X¡ + 2X2 ;::: 10
Su solución, obtenida con el método del símplex, es xi = 1, x2 = 4.5 con zi = 3.5
y zi =10. El óptimo es único y, por tanto, es un punto eficiente. Las figuras que
siguen muestran las regiones factibles en los espacios de decisiones y objetivos,
respectivamente, que constituyen subregiones del problema original.· El punto A
es la solución óptima de P¡ (10) y A' su imagen en el espacio de objetivos.
2x2, - Xt + 3x2)
2x2:::; 8
X¡+ X2 ~
o
= (-x¡ + x2, X¡+ 2x2, 3xt -
8
6
Xt 1 X2;::: 0
X¡ :::;
Se desea:
a) Resolverlo con el método de ponderaciones y E-restricciones tomando como
objetivos más importantes Z3 y Z4 1 con vector de pesos >. = (2,1) y metas
€¡ = 2 y f2 = 10 para los objetivos Z¡ y z2.
b) Representar gráficamente la región factible en el e.spacio de decisiones y la
solución obtenida en a).
Solución
a) Formulamos el problema uniobjetivo P (€1 = 2, f2 = 10, A3
por
ma..x z = 2z3 + z4 = 5x 1 - x2
s.a
-X¡+ 2x2:::; 8
X¡+ X2:::;
X¡:::;
8
6
= -X¡ + X2 ~ 2
Z2 = Xt + 2X2 ~ 10
Zt
X¡ 1 X2~0
= 2, A4 = 1) dado
376
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
©RA-MA
Aplicando el método del símplex, se obtiene la solución óptima xi = 3, x2 = 5,
con zi = 2, z2 = 13, z3 = -1 y z¡ = 12. El punto anterior es eficiente, ya que el
vector de ponderaciones es estrictamente positivo y la solución única.
b) La región factible en el espacio de decisiones del problema P (E¡, E2, ).3 , .X 4 ) se
muestra como la parte rayada de la figura, indicándose la solución óptima del
programa anterior (punto A).
C;
-4 -2
2 3
o o o
o o o
VB
X¡
X2
X3
X3
X4
Xs
1
3
1
2
1
1
e{
1
z!- d;
z~
_¿
-2 -3
4 2
o
o
o
o
X4
xs
377
XB
o o 24
1 o 18
o 1 10
o o o
o o o
que tiene dos filas de indicadores (k= 1, 2), pues son dos las funciones objetivo.
Las variables de holgura forman una base factible inicial Bh. Hacemos h = 1
y f = O (contador de soluciones eficientes); la base B 1 proporciona la solución
x 1 = (O, O). Como existe una fila indicador, k = 2, con to~os sus valores no
negativos, entonces x 1 maximiza el objetivo z2. Además, como para las variables
no básicas éstos son positivos, es decir,
se tiene un má..ximo único y, por tanto, x 1 es eficiente. Hacemos f =l.
· Vemos a continuación si existe una columna no básica no dominada, es decir,
si existen valores 81 y 82 para las variables no básicas x 1 y x2, respectivamente,
tales que
o
4. Algoritmo del símplex multiobjetivo. Resolver con el método del símplex
multiobjetivo el programa lineal
max z
s.a
=
(z 1 (x), z2 {x))
81 =
2x2)
~
24
2x 1 + x2 ~ 18
X¡+ X2 ~ 10
X¡ +
3X2
= (2x 1 + 3x2, -4x¡ -
para k = 1, 2, con al menos una desigualdad estricta. Determinamos el mayor
valor posible con el que puede entrar x 1 en la base, que es
18 10 } = 9
1'2 ' 1
Análogamente, para x2
82
x1,x2;:::o
Solución
Pasando al formato estándar (x3, X4 y x5 variables de holgura) , la tabla inicial
del símplex multiobjetivo es
. {24
mm
Como
= min { 24
18 1 10}
3' 1 1
=8 .
9 X (-2) = -18 > -24 = 8 X (-3)
9 X 4 = 36 > 16 = 8 X 2,
la introducción de x2 en la base proporciona una solución que domina la solución
asociada a la introducción de x 1 . Introducimos x2 en la base, el elemento pivote
es Yl2 = 3 y la nueva tabla
378
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
se}
-4
2
-2
3
VB
X¡
X2
X4
xs
l /3
5/3
2/3
-1
10/3
z! -e1
~
~
Z; - e;
o
o
o o
o o
X2
X3
X4
1
1/3
- l/3
- 1/3
1
-2/3
o
o
o
o
Xs
o o
1 o
o 1
o o
o o
XB
8
10
2
24
-16
contiene una base B 2 no explorada anteriormente, con las variables x2, X4 y x 5 ,
- que proporciona la solución x2 = (0, 8). Como no es zj - <1 2:: Opara k = 1, 2,
Vj y no es zj - c1 $O para alguna variable no básica, para.. k = 1, 2, resolvemos
el subproblema de eficiencia para x 2 , dado por
max E=
s.a
d1
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJET!VO
@RA-MA
+ d2
379
La solución x3 = (3, 7) que proporciona esta tabla es eficiente, ya que existe una
fila indicador (k= 1) con todos sus elementos no básicos positivos. Hacemos
f = 3. Las dos variables que podrían entrar en la base son xa y xs. Como
zj -e§ = 1/2 > Oy z§ - = 1 > O, la introducción de X3 en la base conducirá
a una solución domina{ia. Por otra parte, si se introduce xs tendremos una
base ya explorada. Por tanto, los puntos extremos eficientes son x 1,x 2 y x3 , y
también serán eficientes las combinaciones lineales convexas entre pares de puntos
adyacentes, es decir, los puntos
q
x = px1 + (1-p)x2
x = qx2 + (1 - q) x3
para
para
pE [0, 1J
q E [0, 1J
Finalmente, observemos que la sucesión de iteraciones nos da el camino a lo largo
de la frontera eficiente de la región factible F, que está indicada en trazo grueso
en la figura.
xEF
2x 1 + 3x2 - d1 = 24
- 4Xt- 2x2 - d2 = - 16
X ¡ 1 X2,d1 ,~
10
2::0
El valor óptimo del objetivo es E* = O, así que x2 es eficiente y hacemos f = 2.
En la última tabla, vemos que 01 = 3 y 03 = 24, así que
3 X ( -1) = -3
3X
5
< 24 = 24 X 1
Jj = 10 > - 16 = 24 X ( - ~)
por lo que no hay dominación por parte de ninguno de los vectores columna.
Como x 2 es eficiente, observamos que hay variables no básicas con algún indicador
positivo y negativo, para x 1 se tiene el vector de indicadores (- 1, 10/3) y para
x2 el vector (1, -2/3). La introducción de X3 en la base conduce a una base ya
explorada, lo que no ocurre para la variable Xt· Sustituimos x 1 por x5, siendo la
nueva tabla
o
o
o
o
e~
2
3
o
o
VB
X¡
X2
X3
X4
xs
1/2
1/2
-1/2
1/2
o
xa
- 1/2
- 5/2
3/2
3/2
7
5
3
27
- 26
Cj
-4 - 2
X2
X4
X¡
zr- e~
~
~
Z" -e:;
o l
o o
1
o
o o
o o
1
l
o
o
o
-5
o
5. Solución gráfica de un programa por metas. En el proceso de fabricación
de dos tipos de transistores denominados T1 (alta calidad) y T2 (baja calidad), se
utilizan entre otras como materias primas, aluminio, arsénico y selenio, en las
cantidades que se indican en la tabla. En ella aparecen, además, las disponibilidades de las materias primas, los costes de mano de obra y del proceso de
fabricación (en miles de ptas), los consumos de energía (k W) y contaminación
380
PROGRAMAC!ON LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
emitida (mg) en el proceso de fabricación. Todas las cantidades son por unidad
producida.
'Iransistores
T¡
Aluminio
60
Arsénico
55
Selenio
120
Coste mano de obra 5
Coste del proceso
7
Consumo de energía 30
Contaminación
8
T2
40
50
60
6
.
@RA-MA
Disponibilidad
en kg
12000
11000
18000
5
24
20
El fabricante desea racionalizar el proceso de producción y, para ello, establece
un conjunto de metas con el siguiente orden de importancia:
l. No superar las disponibilidades de materias primas.
2. Respetar las demandas de transistores. A partir de estudios de mercado, se
estima que para el tipo T¡ se encuentra entre 50 y 90 unidades y para el tipo
T2 es superior a 110.
CAPIT ULO 7. PROGRAMACION LINEAL MULT!OBJETIVO
Solución
a) Definimos las variables de decisión
Xi = número de transistores a fabricar del tipo T¡
con i = 1, 2. Construimos un modelo de programación por metas con prioridades,
considerando metas de mayor a menor importancia, según lo establecido por el
fabricante.
Para la primera prioridad, introducimos las restricciones de meta correspondientes a las restricciones rígidas, que se obtienen considerando para cada materia
prima variables de desviación de la disponibilidad por exceso y defecto dt y di,
respectivamente, teniendo
P¡ :
60x¡ + 40x2 - d[ +d} = 12000
55x¡ + SOx2 - 4 + d2 = 11000
{ 120x¡ +60x2 - dt + d3 = 18000
(di
a) Construir un modelo de programación por metas con prioridades que responda a los deseos del fabricante.
b) Resolverlo gráficamente. Comentar la solución.
e) El fabricante implementa la solución obtenida en b). Al poco tiempo, aparece
legislado un límite superior de contaminación emitida de 1500 mg, bajo
pena de cierre de la fábrica. Comentar cómo habrá que modificar el modelo
construido en a) para que la fábrica continúe funcionando. Obtener la nueva
solución y compararla con la obtenida en b}.
dj) .
(demanda inferior de T¡)
(demanda superior de T¡)
(demanda inferior de T2)
4. El consumo de energía debe ser inferior a 3600 k W.
Se desea:
(aluminio)
(arsénico)
(selenio)
Se desea no superar los recursos disponibles para todas ellas, por lo que en la
función objetivo global P, para esta primera prioridad se considerará la minimización de la suma de las variables de desviación de la disponibilidad por exceso,
que indicamos escribiendo P¡
+4 +
Para la segunda prioridad, tenemos análogamente
3. Los costes de mano de obra y del proceso no deben superar los fondos disponibles, que se sitúan en 600000 y 1175000 ptas, respectivamente.
5. La contaminación emitida debe situarse lo más próxima posible a 1600 mg.
381
Como se desea que la demanda de T1 se encuentre entre 50 y 90, debemos minimizar la desviación por defecto d4 para la primera restricción de meta y la
deSviación por exceso dt para la segunda. Respecto de la tercera, se establece
únicamente un límite inferior de demanda, por lo que habrá que minimizar la desviación por defecto d6. La parte de la función objetivo para la segunda prioridad
es P2 (.d;¡ +dt +d6).
La tercera prioridad es de tipo monetario y se refleja mediante las restricciones
de meta
(coste mano de obra)
(coste del proceso)
Con esta meta se desea no superar los límites monetarios para ambos tipos de coste, lo que se traduce en la minimización de la suma de las variables de desviación
por exceso, es decir, P3
+
(di tJt) .
382
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
383
En la cuarta prioridad se plantea no superar un consumo máximo de energía.
La restricción de meta asociada es
P4: 30x¡
+ 24x2- dt +dg = 3600
(consumo de energía).
En este caso, la minimización corresponde a la de la variable de desviación por
exceso, con lo que la contribución al objetivo es P
4 ( dt) .
Finalmente, la restricción de meta asociada a la última prioridad es
Ps: 8x¡ + 20x2- d{0 + diQ = 1600
(emisión de contaminación).
En ésta, el deseo del fabricante es desviarse lo menos posible de la meta 1600, así
que habrá que minimizar simultáneamente dfo y d10 , que se expresará poniendo
en el objetivo global Ps (dio + d¡0 ) . Además, hay que añadlr las condiciones de
no negatividad de las variables de decisión y de desviación
X¡ 1 X2,dJ,dj
~ Ü, j
= 1, ... , 10.
Por tanto, el objetivo del modelo de programación por metas con prioridades
queda
min P = P¡ ( df + 4
+P4
+ dt) +P2 (d;¡ + dt +d¡;) + Pa (df + dt) +
(dt) +Ps (dio+dio) ·
Pasando a la segunda prioridad, pero sin degradar la primera, tendremos el conjunto de compromiso denominado P2.
(!)
b) En las figuras que siguen, se recoge el proceso de solución gráfico del programa anterior. Las restricciones de meta correspondientes a la primera prioridad,
con las variables de desviación nulas, definen el conjunto de compromiso denominado P1. Las flechas sobre cada restricción indican el sentido de crecimiento
de las variables de desviación. En círculos apareéen las variables de desviación a
minimizar.
2SO 300 X¡
Observemos que las metas correspondientes a las prioridades P1 y P2 han quedado satisfechas. Pasamos entonces a la tercera prioridad. Aunque la restricción
384
PROGRAMACION LTNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
de .meta correspondiente a la variable de desviación dt determina un nuevo conjunto de compromiso, como hay que considerarla conjuntamente con la anterior
restricción de meta, pues hay que minimizar la suma dj +dt, comprobamos que
no es posible hacerla O. En efecto, habría que ceder en el valor de dj lo menos
posible, lo que conduce en esta prioridad a una región de compromiso P3, que es
el punto (50, 110) , para el que dj = 310.
CD
1'
A continuación, consideramos las prioridades cuarta y quinta. Habrá que ceder
tanto en una como en otra. En efecto, se tiene dt = 540, dio =O y dio = 1000.
Por tanto, la solución de compromiso final es única x = (50,110). Así, el plan
de producción es fabricar 50 transistores de tipoT1 y 110 de tipo T2 • Es fácil
calcular los valores de las variables de desviación para la solución obtenida. La
tabla siguiente proporciona tales valores, con indicación de las prioridades de las
variables.
Prioridad Res t.
i
P;
1
1
1
2
1
3
2
4
2
¡'
1
5
V. desviación
di d-;"
o
o
o
o
o
Prioridad Res t. V. desviación
d-;"
i
cit
P;
1
4600
2750
5400
2
6
o
3
3
7
310
8
o
4
5
9
40
10
540
1000
o
o
o
275
o
o
CAPITULO 7. PROGRAMACION LINEAL MULT!OBJETlVO
385
Obsérvese que dt + dt + cJt = O, por lo que se ha alcanzado la prioridad P¡ ,
recordemos que todas las variables de desviación son no negativas. También es
útil el conocimiento de los valores de las otras variables de desviación en cada
prioridad. Por ejemplo, di = 4600 kg, n<>ll indica que para llevar a cabo el plan de
producción no se utilizan 4600 kg de aluminio. Como d4 +dt +df: = O, también
se ha logrado la segunda prioridad: se han alcanzado los límites inferiores de
demanda para ambos tipos de transistores.
En la tercera prioridad,· no ha sido posible la minimización de la variable
de desviación por exceso, obteniéndose dj = 310 > O. Por ello, ha habido una
desviación en exceso en 310000 ptas para el coste de mano de obra. Por otra
parte, al ser dt = O, no se ha superado el límite superior de coste del proceso y,
además, como d8 = 275, el coste del proceso en la solución es inferior al límite
propuesto en 275000 ptas.
/. En la cuarta prioridad se tiene dt = 540, que indica una desviación p~r exceso
de 540 kW respecto de la meta establecida.
Por último, en la quinta prioridaa se ha obtenido dt0 = 1000, que corresponde,
como en la anterior prioridad, a una desviación por exceso de 1000 mg respecto
de la meta establecida para emisión de contaminación.
e) En tal caso sería necesario situar la restricción de meta de la prioridad Ps, que
desaparece, en la prioridad P1 pero sólo con dt0 , cambiando el término independiente 1600 por 1500, quedando P1 ( dt + 4 +cJt +dt0 ) y el resto como antes.
El lector puede comprobar que la nueva solución de compromiso es x = (50, 55),
para la que se satisfacen las prioridades P1, P3 y P4, pero no P2 , pues la demanda
mínima de unidades de tipo T2 no quedaría satisfecha por la diferencia 110-55=55
unidades.
o
6. Método del símplex y programación par metas. Resolver el programa
lineal
max z (x) = 4x¡ +3x2
s.a
X¡+ X2 ~ 10
3x 1 +4x2 ~ 12
X¡ 1 X2 ~ 0
con el método del símplex. Formularlo, después, como un programa por metas
y resolverlo gráficamente, introduciendo una meta razonable para la función objetivo. Si existen, indicar las diferencias entre la solución obtenida mediante
programación por metas y mediante el símplex.
386
PROGRAMACION LrNEAL Y APL!CACfONES: EJERCICIOS RESUELTOS
©RA-~
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
387
Solución
Pasando el problema a la forma estándar añadiendo ar· bl d h
.
'fi .
v Ia es e o1gura XJ Yx 4
y una vanable art1 CJal xs a la segunda restriccio'n
t ·t
.
. .
, en res 1 erac10nes del métod 0
de las penahzacwnes se obtiene la tabla óptima
Cj
4
ca
3
VB
X¡
X2
1
X¡
o
o
X4
Zj
xM
X3
X4
3
M
xs xa
1
-1
o o
o
4 o o
o o o o 1
1
Cj
1
o o
1
1
l
que proporciona la solución xi = 10, x2 = 0 con z*
·• ó ·
*
1a so1uc10n
pt1ma x , con F región fact ible.
Lo resolvemos gráficamente. Las figuras que siguen muestran la región de compromiso para la primera prioridad Pr, que es precisamente la región factible F
obtenida anteriormente, y para la segunda prioridad P2 sin degradar la primera.
La solución es ahora el conjunto P2 que constituye la región de compromiso.
x,
18
10
40
o
= 40 E 1 fi
· n a gura se muestra
x,
x,
Estas son las diferencias más notables entre ambos procedimientos. En programación por metas:
l. Se conceptualiza la función objetivo como una meta, haciendo necesaria
la consideración de un valor específico como meta o nivel de aspiración o
satisfacción.
2. Se consideran variables de desviación por exceso y defecto, con prioridades
y, eventualmente, ponderaciones.
3. La función objetivo es la minimización de desviaciones, Jo que conduce,
típicamente, a una región de compromiso que podrá tener infiriitos puntos.
Para formularlo como un programa por metas d b
·
. ., d
' e emos convertu· el objetivo
en una restnceton e meta. En vista de la figura t .·
~
an euor, supongamos que
f uera razonable tornar z = 24 como meta para la fu · • b · ·
nc1on o Jet1vo E·1programa
correspondiente es
·
s.a
dt +di= 10
3x¡ + 4x2 - dt + di =12
4x¡ + 3x2 - dj + d3 =24
P¡ : { X¡+ X2-
X¡ 1 X2,dj ,dj
~ 0, j
7. Método del símplex modificado. Resolver con el método del símplex
modificado o mv.ltifase el programa por metas con prioridades
mio
s.a
minP= Pr(d[+di)+P2(d3)
p2:
Observemos que, de introducir como meta el valor 100, la minimización de la
desviación d3 produciría la misma solución que la proporcionada por el método
del símplex. Por tanto, debemos considerar como meta un valor muy grande. O
=1,2, 3
P = P¡ (df + 4) + P2 (d3) + P3 (d4)
Pr . { X¡+ x2- dt + d! = 8
· xr - 4+d2 =6
P2: 2x¡ + 4x2 - dt + d3 = 16
P3: x¡ - 2x2- dt + d4 = 10
X¡,dj,dj ~ 0, Í = 1,2; j = 1,2,3,4
388
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
© RA-MA
389
Solución
Apliquemos el algoritmo del símplex modificado.
Paso O. Construimos la tabla inicial del símplex modificado con la fila indicador
de la prioridad P1 (Tabla 1)
Tabla 1
o o o o o o o o o l
p2
o o o o o o o 1 o o
Pt o o 1 o 1 o o o o o
p3 p2 P¡ VB X¡ X2 ar d¡ el;
dj do o o d-l 1 1 - 1 1 o d:io o o3 dto d4o XB8
o o o. di 1 o o o - 1 1 o o o o 6
o l o d-3 2 4 o o o o -1 l o o 16
1 o o d-4
1 -2 o o o o o o
1 l
10
P¡ o o -1 o - 1 o o o o o o
Paso 1. Hacemos k = l.
Ps
Paso 2. No hay elementos positivos en la fila indicador, luego vamos al paso 5.
Paso 5. Como al menos un vector columna de la fila indicador de una variable
no básica está formada por ceros, por ejemplo, x1 , x2 , tJt, ..., es posible la mejora.
Paso 6. Hacemos k = k + 1 = 2. Como k = 2 :::; 3 = K, número de prioridades,
determinamos la fila indicador para la prioridad P2 (Tabla 2) y vamos al paso 2.
Tabla 3
o o o o
o o o o
o o l o
Ps p2 Pt VB X¡ X2 di d-1
o o o d-1 1/2 o - 1 1
o o o d2 1 o o o
o o o X2 1/2 1 o o
2
1 o o d-4
o o o
o o -1 o
Pt
p2
o o o o
Ps
p2
Pt
Paso 2. El mayor elemento positivo de la fila indicador P2, sin elementos indicadores negativos encima de él, es U22 = 4. Designamos a esta columna como
pivote, siendo x2 la variable de entrada. Vamos al paso 3.
Paso 3. Para determinar la variable de salida aplicamos la regla de mínima razón,
que corresponde a la variable d3.
Paso 4. La nueva tabla donde la variable x2 sustituye a d3, es la Tabla 3.
Volvemos al paso 2.
el; d2
o o
-1
l
o o
o o
-1 o
o o
o
o
o
a;
di
1/4
-1/4
o
- l/4
-1/2
o
o
o
l
o
o
l/4
·1/2
o
-1
o l
o o
o o
dJ d-4
o o
o o
o o
-1
1
XB
4
6
4
18
~
o o
o o o
Paso 2. Como no hay elementos positivos en la fila indicador correspondiente a
P2 sin elementos indicadores encima iguales a O, vamos al paso 5.
Paso 5. Hay variables no básicas con vectores columna indicadores (P¡, P2) nulos,
por lo que es posible la mejora.
Paso 6. Hacemos k =3. Como es menor o igual que K =3, determinamos la fila
indicador para la prioridad P3 (Tabla 4). Volvemos al paso 2.
Tabla4
Pa
p2
Tabla 2
o o o o o o o o o 1
o o o o o o o 1 o o
o o l o l o o o o o
p3 p2 P¡
X¡
X2
dj d-1 d[ d2
d- XB
d3
o o o d-1 1 l -1 1 o o dto o dto o4 8
O. o o di 1
o o o -1 1 o o o o
o 1 o d-3 2 4• o o o o - 1 1 o o 166
1
o o d-4 l - 2 o o o o o o - 1 1 lO
Pt o o
1 o -1 o o o o o o
p2
2 4
o o o o -1 o o o 16
p3
p2
Pt
VB
o o
o o
1
o
Ps
p2
Pt
o o o o o o
o o o o o o
o o l o 1 o
Pt
VB X¡
d-1 1/2
o o o
o o o d2
o o o X2
1
o o d-4
Pt
p2
p3
X2
dt
o -1
1.
o o
l/2 1
o
2
o o
o o -1
o o o
2
o o
d¡
1
o
o
o
o
o
o
el; d2
o o
-1
1
o o
o o
-1 o
o o
o o
o
o
o
o
o
o 1
o o
o o
dJ
1
dt
d3
1/4
- 1/4
o
o
-1/4
- l/2
1/4
1/2
o
o
-1/2
o
-1
1/2
d4
XB
1
4
6
4
18
o o
o o
o o
-1
o o o
o o o
- 1 o 18
Paso 2. El mayor (y único) elemento positivo de la fila indicador de la prioridad
P3, sin elementos negativos encima (Pt, P2), es U3 1 = 2. Designamos a esta
columna como pivote, con x 1 como variable de entrada.
Paso 3. Determinamos la variable de salida d2 con la regla de mínima razón.
Paso 4. Obtenemos la nueva tabla (Tabla 5) y vamos al paso 2.
·390
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
Tabla 5
p3
p2
Pt
p3
p2
PI
o o o
o o o
o o o
1 o o
VB
d-1
X¡
X2
d¡
Pt
p2
Ps
o o o o o
o o o o o
o o 1 o 1
X¡
X2
o o
1 o
o 1
o o
o o
o o
o o
di el)
-1
1
o
o
o
o
o
o
o
1
o
o 1
o o
o o
d2
ct;
dj
d3
1/2
-1
1/2
2
-1/2
1
-1/2
-2
1/4
-1/-!
-1/4
-1/2
l/4
o o
o o
o o
1/2
-1
o
o
o
o
-2
-1/2
1/2
o o
o o
o o
-1 o -1
o o o
o o 2
o
o
o
-1
e([
di
xs
1
1
6
1
6
o o o
o o o
-1 o
6
Paso 2. Como no hay elementos indicadores positivos en la prioridad P3 sin
elementos Oencima (Pt,P2), vamos al paso 5.
Paso 5. No hay vectores columna nulos para variables no básicas, así que se ha
alcanzado la optimalidad y paramos.
La lectura de la tabla final proporciona la solución
xj = 6, x2
= 1,
di
= 1, d;j = 6
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
e) Suponiendo que el fabricante estima dos veces más importante el objetivo
económiw que el de nivel de producción, determinar mediante el método
de las ponderaciones cuál debe ser la política de producción. Comentar la
solución. Idem si establece que sólo el objetivo niuel de producción de B y
e es importante.
e) Si el fab-ricante dice que el objetivo nivel de producción de las pulidoras By C
es mucho más importante que el económico, pero para este último establece
un nivel mínimo de 1450000 ptas, ¿cuál es la política de producción más
adecuada?
Solución
a) Definimos las variables de decisión
x 1 =número de unida{}es producidas de A
x2 = número de unidades producidas de B
XJ = número de unidades producidas de C
Las restricciones son
+ 2x2 + X3 s; 1000
+ X2 + X3 :::; 6QQ
4x¡
siendo nulas el resto de las variables. Por tanto, se ha alcanzado la prioridad P1,
(df+4=0)yla P2 {dj'=O}, peronola PJ
O
(d4 =6).
8. Un problema multiobjetivo con reducción de dimensión. Un fabricante de herramientas produce tres calidades (A,B, C) de pulidoras. El proceso de
fabricación de una pulidora de tipo B ocupa doble tiempo que una de tipo C, y una
del tipo A doble que el de B. Si toda la producción fuera del tipo C, se podrían hacer a lo sumo 1000 unidades diarias. Los tres tipos de pulidoras utilizan la misma
cantidad de materia prima y la cantidad disponible limita diariamente a 600 el
número total de unidades que se pueden producir. Los beneficios unitarios de las
he1Tamientas A1 By C son 4000, 3000 y 1000 ptas, respectivamente. El fabricante
desea maximizar la ganancia total. Para determinar la política de producción, se
sabe que la demanda de los tres tipos es importante, pero, por razones de imagen,
quiere que la producción de los tipos B y C sea lo mayor posible. Se pide:
a) Formular un modelo de programación lineal multiobjetivo que tenga en
cuenta los deseos del fabricante.
b) Dibujar las regiones factibles en los espacios de decisiones y de objetivos.
Determinar las soluciones eficientes.
391
X¡
X¡ 1 X2 1 X3~Q
{límite de tiempo)
{limite de producción)
{no negatividad}
Las funciones objetivo son
= 4X¡ + 3X2 + X3
ma."XZ2 = X2 + X3
ma."XZt
{beneficio en miles de ptas)
(producción de B y C)
El problema lineal multiobjetivo se formula
max. z =
s.a
(4x¡
+ 3x2 + X3, x2 + x3)
+ 2X2 + X3 $ 1000
+ X2 + X3 $ 600
4Xt
X1
Xt,X2 1 X3~0
b) La región factible F en el espacio de decisiones JR3 es el poliedro convexo de
puntos extremos O, A, B, C, M y N de la figura
392
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
x,
6oo
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
393
Es inmediato observar que el conjunto eficiente en el espacio de objetivos es
é (Z) ={B' M'} ¡ así, el conjunto eficiente en el espacio de decisiones es é (F) =
e
{sM}.
e) Si admitimos que esto equivale a considerar el problema de ponderaciones
z¡ y z2 con los pesos 2 y
P (2, 1), donde se combinan aditivamente los objetivos
1, la nueva función objetivo escalar es
Z
=2 X Z¡ + 1 X Z2 =8x 1 + 7X2 + 3X3
y el problema ponderado queda
400
~ x,
La tabla que sigue contiene los puntos extremos de F y sus transformados
mediante z.
Puntos extremos
X
z
Puntos de
de F
z
(x 1 , X7 1 X3)
(zt,Z2 )
o
A
B
e
M
N
(0,0,0)
(250,0, O)
(0, 500, O)
(0, 0,600)
(O, 400, 200)
(133.3, o, 466.7)
O'
A'
B'
C'
M'
(O, O)
(1000, O)
(1500, 500)
(600, 600)
(1400, 600)
(1000, 466.7)
{
max
s. a
xE F
Aplicando el método del símplex, en dos iteraciones se alcanza la solución óptima
xi = O, x2 = 500, xj =O, con z* = 3500, que será la solución de compromiso del
problema multiobjetivo original. La solución es eficiente al ser los pesos estrictamente positivos. Obsérvese que corresponde al punto B de la región facti~le F.
Además, zi = 1500000 ptas y z2 = 500 unidades.
Si ahora sólo es importante el objetivo correspondiente a nivel de producción;
consideraremos el problema ponderado
N'
La región factible Z = z (F) en el espacio de objetivos o consecuencias 1R?, se
muestra en la figura siguiente.
600
P(2, 1):
C',--------...
M'
B'
N'
400
P(0,1):
x2
+ x3
x EF
=
4x 1 + 3x2 + X3
xEF
X2
500
=
cuya solución es xi = O, x2 = 400, xj = 200, con z* = 600, que no podemos
garantizar que sea eficiente, pues uno de los pesos es ·nulo. Para comprobar si es
eficiente, podemos resolver el problema
max z
s.a
z
{
max z
s.a
1000
1500 Z¡
+ X3 = 600
Aplicando el método del símplex, obtenemos la solución anterior. Por tanto, la
solución de compromiso obtenida es eficiente. Obsérvese que se corresponde con
el punto M, que sabíamos era eficiente, por la representación gráfica anterior.
394
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RES UELTOS
©RA-MA
d) Ahora consideramos el problema de E-restricciones
max
P2 (1450):
s.a
{
z
=
x2 + X3
xEF
4X¡ + 3X2 + X3 2::: 1450
cuya solución, obtenida con el método del símplex, es xi = O, x2 = 450, xj = 100.
Se puede ver que este óptimo es único, por lo que la solución de compromiso es
eficiente y corresponde gráficamente a un punto intermedio del segmento BM.
Además, zi = 1450000 ptas y z2 = 550 unidades a fabricar.
D
- -- --
- ---"'
C!..!AP:....:I:..:.T..:::.U::.;L0::....:...:.7._P:...:R:::.:O=.G!lJ\MACION LINEAL MULTIOBJETTVO
Solución
a) Sean las va~ables de decisión
J = núm'ero de módulos a realizar del proyecto J.
e = núm~ro de módulos a realizar del proyecto c.
Si vi y ui son las variables de desviación por exceso y defecto respecto de las
metas z¡, la formulación del modelo con dos prioridades P1 y P2, suponiendo
continuas las variables J y e, es
s.a
Pt. { 600J + 900C - V¡+ U¡= 5400
. 4J + 3C - V2 + tL2 = 36
p2 : 20J + 9C - V3 +'U3 = 180
9. Selección de proyectos y algoritmo lineal secuencial. El Patronato de
la CAM tiene la posibilidad de llevar a cabo los proyectos J y C durante el año
próximo. El proyecto J consiste en adecentar parques y jardines, y el C en arreglar
calles. Ambos proyectos se dividen en módulos o unidades iguales que se pueden
realizar total o parcialmente. Cada módulo de J cuesta 600 millones de ptas,
emplea a 4 funcionarios y genera 20 nuevos puestos de trabajo1 estimándose su
rentabilidad indirecta en 300 millones. Cada módulo de C cuesta 900 millones de
ptas, emplea a 3 funcionarios y genera 9 nuevos puestos de trabajo, estimándose
su rentabil·idad indirecta en 600 millones. El Patronato se propone las siguientes
metas en orden decreciente de prioridad:
J,C,vi,Ui2=::0,
min v¡ +u2
s.a
600J + 900C -V}
b) Si el nivel de utilización del funcionariado se establece, al menos1 en 24
personas, el nivel mínimo de nuevos puestos de trabajo en 120 y, además,
se añade una tercera prioridad que es "maximizar" la rentabilidad indirecta
al final del año, formular el nuevo modelo de programación por metas y
resolverlo gráficamente.
'U(
Poniéndolo bajo la forma dé maximización y utilizando u¡ y u2 como variables
básicas iniciales, en una itera.ción, se obtiene la tabla óptima
Cj
a) Formular un modelo de programación por metas y resolverlo con el algoritmo lineal secuencial.
+ = 5400
4J + 3C - V2 + tL2 = 36
J,C,vi,Ui 2:::0, i = 1,2
2. Generar al menos 180 nuevos puestos de trabajo.
Se desea:
i=l,2,3
Para resolverlo con el algoritmo lineal secuencial, consideramos primero el problema lineal con función objetivo dada por la primera prioridad y las correspondientes restricciones. Se tiene el programa lineal
l. Mantener la inversión por debajo del presupuesto disponible, que es de 5400
millones de ptas y, también, emplear al menos a 36 funcionarios (la plantilla
del Patronato es bastante grande).
395
es
o
-1
VB
J
'U2
Zj- Cj
o o
e
J
-1
o
o
-1
V¡
V2
U¡
U2
1 3/2 -1/600 o 1/600
o - 3 1/150 -1 -1/150
o 3 596/600 1 4/600
o
xs
9
l
o
o o
P.asamos a la minimización de la siguiente prioridad añadiendo, además de ~a
restricción de la segunda prioridad, la restricción v1 + tL2 = O, para que nó se
396
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
min P
u3
+U2 = 0
1,C,v¡,u¡ ~O,
i = 1,2,3
Pasando a la forma de maximización y añadiendo variables artificiales a la segunda y cuarta restricción es (a 2, a4) , la tabla inicial del símplex es
o
Cj
o o o o o
-M
11¡
Ut
a2
-1
1
J
e
-M
-1
Ut
a2
UJ
600
4
20
900
3
9
-M
a4
o
Zj- Cj
xM
P1 (11 1 + u2) + P2 (u3) + P3 {-3001- 6000)
p . { 6001 + 9000 -V¡ +U¡ = 5400
l .
41 + 30 -112 +U2 = 24
P2 : 201 + 90 - 113 +U3 = 120
1,C,v¡,Ui ~O, i = 1,2,3
111
VB
=
s.a
6001 +9000 - 11¡ +U¡ = 5400
41 + 30 - 112 + U2 = 36
201 +90 - 113 + U3 = 180
es
397
tal como se indica en el enunciado, tenemos el programa
degrade P1• Ahora, el programa lineal es
min
s.a
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
©RA-MA
112
U2
o o
o o -1 1
o o o o
o o 1 o o 1
-20 -9 o o o o
-4 -3 -1 o 1 -2
o
1
o
o
o
-1
o
-1
-M
113
U3
a4
o o
o o
-1
xs
o
o
o
1
o o
1
o
o o
5400
36
180
1
o
-1
-180
-36
o
en el que hemos reflejado esta última prioridad directamente en el objetivo. La
figura representa la solución gráfica del programa con indicación de la solución
de compromiso.
Se alcanza La tabla óptima en cinco transformaciones de pivote, en la que prescindimos de las columnas de las variables básicas,
Cj
es
o
o
o
o
o
o
-M
a2
VJ
U3
a.¡
o
o
-.0714
.0714
-.0007
-1
-.1428 .1428
.0476 -.0476
1
o
VB
Ut
uz
1
-.0007
-.0007
Vt
V2
e
Zj- Cj
xM
o
.0019
.0016
o
o
1
-1
.0016
o
o
o
o
-1
o
o
o
-1
o
o
-M
1
.0019
.0016
o
-1
xs
9
o
o
o
o
o
La solución óptima es r = 9, con el resto de las variables nulas: se deben
contratar 9 módulos del proyecto 1, alcanzándose todas las metas de forma exacta.
b) En este caso, el programa lineal por metas se formula incl~yendo en una tercera
prioridad el objetivo rentabilidad indirecta. Modificando los valores de las metas
Solución de
compromiso
11'
4
2
PI í\P2
o
2
4
10
J
La zona rayada corresponde al conjunto de compromiso hasta la prioridad P2. Una
vez determinado éste, obtenemos el máximo del objetivo incluido en la tercera
prioridad, que proporciona la solución dada por el óptimo único
r = 4.714, e· =2.ss1
con rentabilidad indirecta óptima igual a 3128.572 millones de ptas. Es inmediato
observar que todas las variables de desviación son nulas en el óptimo, excepto
398
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
v2
= 3.42. Por tanto, se cumplen de manera exacta las metas presupuestaria y
de generación de nuevos puestos de trabajo, pero hay una utilización de más de
tres funcionarios por encima del valor mínimo establecido.
O
10. Planificación de la producción con programación por metas. Una
planta química fabrica dos productos A1 y A2, con tres materias primas M1 , M2
y M3. La siguiente tabla tecnológica muestra los gastos de kg de materia prima
por kg de producto fabricado, así como sus disponibilidades en t para el próximo
periodo de tiempo
M1
M2
M3
4
12
6
10
4
7
3
2
16
23
Solución
a) Definimos las variables de decisión
x 1 =producción en kg de At
x2 = producción en kg de A2
Las restricciones de meta se tienen de las cinco prioridades:
- Para las disponibilidades
Pt :
18
20
22
En el proceso de producción, se consume también energía eléctrica, agua y tiempo
en máquinas, siendo los gastos por kg fabricado de cada producto
Energía Agua
kW/kg m3 /kg
Se desea construir un modelo de programación lineal por metas.
con la minimización de di
Los costes de las materias primas por kg son de 56 ptas para M¡, 43 ptas para lv/2
y 79 ptas para M3¡ 17 ptas el kW de energía; 56 ptas el m3 de agua; el 'del tiempo
de máquina es de 3000 ptasjh en tiempo regular y de 4500 ptasjh en tiempo de
trabajo extraordinario. La dirección de la planta desea construir un modelo de
control de la producción, teniendo en cuenta' el siguiente orden de prioridades:
+ d¿ + 4 ·
- Para los consumos de energía y agua
dt
3x, + 2x2 +á¡ = 6000
p2 : { 16x 1 + 23x2+ d5 = 73000
Tiempo
hjkg
1.5
1.8
4xt + 10X2 - dt + dl =18000
12Xt + 4X2- 4 + d;¡ = 20000
{ 6Xt + 7X2 - df +d3' = 22000
cq
con la minimización de 2dt + d5.
- Para el tiempo de máquina y limite de horas extraordinarias
l.5Xt + l.8x2 p3 : { d+6 <
12000
-
con la minimización de
dt + ds = 32000
d6.
l. No superar las disponibilidades de materias primas.
- Para el presupuesto
2. Mantener el consumo de energía por debajo de 6 MW y el consumo de agua
por encima de 73 dam3 , siendo doblemente importante cumplir el primero.
3. La disponibilidad de tiempo regular es de 32000 h que se desea se utilicen
en su totalidad. Se admite la posibilidad, si fuera necesario, de hacer horas
extraordinarias hasta un máximo de 12000 h.
4. El presupuesto disponible es de 3 millones de ptas.
5. La demanda de A 1 está entre 900 y 1300 kg, y la de A2 próxima a los 1400
kg.
P4
:
56 (4x 1 + 10x2) + 43 (12x 1 + 4x2) + 79 (6x1 + 1x2) +
+17 (3x 1 + 2x2) +56 (16xt + 23x2) + 3000 {1.5xt + l.8x2)
+4500dt - dj + d7 = 3000000
con la minimización de
dj. Simplificando queda
6661x 1 + 8007x2 + 4500dt- dj + d7
= 3000000.
399
400
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
- Para la demanda
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJE'l'IVO
@RA-MA
Fase Sustancia
B
A
i
1
2
1
2
-1
2
4
2
3
1
o
4
dt +da = 900
X¡- 4 + ~ = 1300
X¡ -
Ps:
con la minimización de á¡
{
x2- á[0 +d10 = 1400
+ 4 + á[0 +dio.
(dt + dt + 4)+ P2 (2dt + d5) + P3 (d6) +
+P4 (dj) + Ps (d¡ + 4 + dt0 + d10 )
minP = P¡
teniéndose, además, la no negatividad de todas las variables, es decir,
= 1, ... ,10.
Aplicando el algoritmo linea.! secuencial se obtiene la solución óptima
Variable Solución
X¡
1230.76
1307.69
X2
at
d1
4
di
4
d3
o
o
o
o
o
5461.53
Variable
dt
d-4
at
d-
Solución
307.69
o
o
S
23230.77
6
27800.01
15668846
4ddf
d7
Disponibilidad
24
16
48
10
Debido a las roracteristicas especiales del proceso, las funciones objetivo se modelizan como funciones cuadráticas
En definitiva, la función objetivo queda
X¡,X2,dJ',dj;::: Ü, j
401
o
Variable Solución
330.76
~
dt
o
o
d9
69.24
ello
92.31
cito
o
o
Por tanto, el programa de producción de mejor compromiso consiste en producir
1230.76 unidades de At y 1307.69 unidades de A2 . El lector puede comprobar a
partir de la tabla, que se cumple la primera prioridad, ya que P 1 =O, pero no las
restantes, pues P2 =23846.15, P3 =27800.01, P4 =15668846 y P5 =92.31. o
11. Un problema multiobjetivo no lineal. Una planta química produce dos
sustancias denominadas A y B, siendo la segunda de ellas muy inestable y liberando gran cantidad de energ(a en su producción. Con la idea de controlar el proceso
lo más adecuadamente posible, el departamento de investigación desarrolla un
modelo de programación matemática con los objetivos z 1, beneficio económico en
miles de ptas y, z2, energía liberada en el proceso. Para producir las sustancias hay
que pasar por cuatro fases. La siguiente tabla proporciona restricciones técnicas
sobre gastos de energía por unidad de cada sustancia producida, correspondiendo
en los cuatro rosos a Umites superiores de disponibilidad.
maxz1 (x) = 3x 1 + 2x~
y
IDÍDZ2
(x) =-X¡+ X~
con x 1 y x 2 variables de decisión correspondientes a la cantidad de las sustancias
A y B, respectivamente. Observemos que la sustancia A, por sus características
especiales, conlleva un consumo de energía en el proceso de producción, siendo
por ello negativo su coeficiente en z2. Se desea:
a) Determinar gráficamente las regiones factibles en los espacios de decisiones
y de objetivos, así como sus conjuntos eficientes.
b) El departamento de investigación conoce del apartado anterior que el conjunto eficiente es demasiado amplio para una elección directa Y desea que
se le ayude a determinar una decisión. Para ello, indica que considera el
objetivo energía líberada más importante que el beneficio económico. Formular el correspondiente programa y obtener analíticamente la solución que
cumpla la citada condición. Justificar si es o no eficiente.
e) Si el departamento de investigación estima que, por razones de seguridad,
es mucho más importante el objetivo liberación de energía que el económico,
considerando que para este último un valor de al menos 152000 ptas sería
aceptable, ¿cuál debe ser entonces la decisión? ¿Es eficiente?.
Solución
a) Multiplicando la función objetivo z2 por -1, se tiene el problema biobjetivo
no lineal
max z
=
(zt, z~)
= (3xt + 2x2,2 Xt- x22)
s.a
2x¡
-Xl
+ x2 $ 24
+ 2X2 $ 16
2Xt +4X2
Xt
$10
Xt 1 X2 ~
0
$48
402
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
La figura muestra la región factible F en el espacio de decisiones lR2
403
z 2'~
Q)
150
200
Z¡
- 25
- 50
-75
-100
2
4
6
8
10
12
De~er~inamos los transformados mediante z de los puntos extremos de p ue
se wdtca.n en la tabla.
'q
Puntos extremos
de F
o
A
B
e
D
E
X
(Xt, X2, X3)
(0, O)
(0,8)
(4,10)
(8,8)
(10, 4)
(lO, O)
z
(zt, z~)
(0,0)
(128, -64)
(212, -96)
(152, -56)
(62, -6)
(30, 10)
B'
X1
Es inmediato observar que el conjunto eficiente E (Z) en el espacio de objetivos
está formado por los segmentos de curva
Puntos de
z
O'
A'
B'
C'
D'
E'
La región factible Z = z (F) en el espacio de objetivos JR2, se muestra en la figura
por lo que el conjunto eficiente E (F ) en el espacio de decisiones es, entonces,
E(F)
= {ED} u { DC} u { CB} .
b) Si la mayor importancia de la energía liberada sobre el beneficio económico la
reflejamos a través del problema de ponderaciones P (1, 2), queda el programa
lineal
max z = 5x¡
s.a.
x EF
Aplicando el método del símplex, con variables de holgura s 1, s2 , s3 y s4 , en una
iteración se tiene la tabla final
CB
o
o
o
5
o o o
Cj
5
VB
Xt
X2
o
o
o
St
1
1
St
S2
S3
X¡
Zj-
Cj
o
4 o
1
o o
o o o
2
S2
Q
o
83
S4
o o -2
1 o ~
o 1 -+2
o o j
¡O o 5
XB
4
26
28
10
50
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
404
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
Solución
a) Sea la variable de decisión
.
._
x¡
proporción del capital invertido en el valor t con t - 1, 2,
que proporciona la solución óptima xj = 10, x2 = O, solución de compromiso para
el problema original. Obsérvese que hay óptimos alternativos, uno de ellos dado
por xj = 10, x2 = 4. Además, son eficientes, ya que el vector de pesos considerado
es positivo.
=
se tendrá
e) Formulamos el problema de t-restricciones P2 {152000) dado por
max ~
s.a
=
405
©RA-MA
X¡
+ X2 ~ 1,
X¡, X2
~ 0.
z x¡Rt + X2R2· Su esperanza es
E (Z) = X¡E (.Rt) + X2E (.R2).
La rentabilidad total aleatoria será =
x 1 -x~
xEF
3x 1 + 2x~ ~ 152
Su varianza, al ser independientes Rt Y R2, es
que es un problema no lineal. Es fácil comprobar de modo gráfico sobre el espacio
de objetivos que la solución óptima del problema anterior es C' = (8, 8) que
corresponde a un punto eficiente.
o
Var (Z) = xjVar (R1)
+ x~Var (R2) ·
Si redefinimos los objetivos como
12. El problema de la cartera con objetivos múltiples. La teoría de
selección de carteras intenta determinar las proporciones óptimas de un capital
que deben invertirse en diversos valores, bonos, obligaciones,... En los modelos
más sencillos, se considera como única variable la rentabilidad aleatoria resumida
por su media y su varianza. Para cada valor elegido, la renta esperada es la
medida de la riqueza de la inversión y la varianza su medida de riesgo. Un
individuo buscará aquella inversión que maximice la renta esperada y minimice
el riesgo.
Supongamos un individuo que tiene un capital que desea invertir total o parcialmente en dos valores, denominados 1 y 2, que se suponen estocásticamente
independientes. Sea ÍÍ¡ la rentabilidad aleatoria del valor i = 1, 2. Supongamos
que estimamos E
= 10%, E
= 15%, Var
= .0009 y Var
=
0064. El individuo tiene que decidir qué proporción de su capital invierte en cada
ualor. No existen otras restricciones que deba tener en cuenta el inversor. Se
pide:
(.R1)
(.ñ2)
(.R1)
Z¡
=lOE (Z)
y
podemos formular el problema biobjetivo
max z = (z¡, ~) = (x 1 + 1.5x2, -9x~ s.a
X¡+ X2 ~
X¡ 1 X2 ~
1
0
b) La región factible F en el espacio de decisiones se muestra en la figura de la
izquierda.
(.R2)
z'J
x,
z,
l. O
.S
·10
·40
.4
a) Modelizar el proble.ma
. ' de inversión en el formato multiobjetivo determinístico.
D'
-e o
.2
b) Determinar el conjunto eficiente en el espacio de decisiones.
o
e) Proporcionar soluciones de compromiso con el método de las ponderaciones,
introduciendo para ello los necesarios valores subjetivos.
d) Idem con el de t-restricciones.
64x~)
.2
.4
A .6
.a
Determinamos el conjunto transformado de F mediante z, transformando algunos
puntos frontera de F, que están calculados en la tabla.
. l
406
PROGRAMACION LINEAL y APLICACIONES· EJERC!C
.
lOS RESUELTOS
Puntos
X
z
de F (xt ,X2)
(z¡, z2)
o (O, O)
(0, O)
A
(.5, O)
(.5, -2.25)
B
(1, O)
(1, -9)
e (.5, .5) (1.25, - 18.25)
D
(0,1)
(1.5, - 64)
E
(O, .5)
(.75, -16)
@RA-MA
Puntos de
z
0'
A'
B'
C'
D'
E'
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETIVO
que es un problema de programación cuadrática1. Su solución es xj == .1111, x2 =
.0243 con zi == .1475 y z2* == - .1488.
d) Si ahora consideramos más importante el objetivo z1 y tomamos como meta
para el segundo objetivo el valor f2 == 30, el problema de E-restricciones queda
como el problema no lineal
max z 1 =
s.a
La figura de la derecha muestra la región factible Z objetivos IR2. Podemos determinar el co . t fi . - z (F) en el espacio de
z¡ ~O y z2 $O, tenemos:
nJun e ctente de Z como sigue. Para
°
- Si x2 ==O, z1 == x1 y z' == -9x2 _
O' A'B', con O$ z¡ $21.
I -
P2 (1450) :
- Si X¡
= 1- x 2 es
z: == 1 + .5x2
== -9 (1 Sustituyendo x2, se tiene
Z2
z2
~ X2 ==
x2) - 64x~
= -9 (2z¡ -
2 (z¡ - 1)
1)2 - 256 (z 1 _ 1)2
que es el arco de parábola B'C'D'.
Por tanto, el conjunto eficiente en el espacio de ob. .
,
segmentos de curva
Jettvos esta formado por los
e(Z) ={Ó'A'} U { A'B'} u {B'C'} u {clfy} .
y el conjunto eficiente en el espacio de decisiones es
t (F) = { OB} U { BD}.
e) Supongamos que el objetivo Z¡ es doblemente .
ramos así el problema de ponderaciones
Importante que el z2. Conside-
P(2,!)
r:z
2z¡ + z2
=
X1
= 2x¡- 9x21 + 3x2- 64 x22
+ X2 $
XI,X2 ~
0
1
+ X2 $
X¡ 1 X2 ~
cuya solución es
1
1.5x2
1
0
z2 ~ .:...~o
2
z¡, correspondiente al arco de parábola
- Si X¡ == O, z¡ == 1.5x2 y z2 == -64x22 == - (64/ 2 2 2
arco de parábola O'E'D' , con 0 <
- 5) z¡, correspondiente al
_ z $ 1.5.
X¡+
X¡
9
-
407
xr = .00082, x2 = .0012, con zi == .00263 y z2* = -.0842.
o
13. Un problema de localización. La empresa encargada del control de
calidad del agua que se suministra a Madrid desde el embalse de Santillana tiene
situadas tres estaciones de control de calidad del agua en el embalse. Tomando
como origen de coordenadas de un sistema cartesiano bidimensional el colector
de salida del embalse y la unidad de medida el hm, las tres estaciones de control
están en los puntos qu._e se indican en la tabla
Estación
X
i
(x¡, x2)
(2, 10)
(9, 20)
(12, 1)
1
2
3
Por razones técnicas, la empresa está obligada a situar una cuarta estación en el
embalse. Se pretende que la distancia total desde su localización a las otras tres
estaciones ya existentes y al colector de salida sea mínima. Por la forma en que se
hacen las conexiones entre las estaciones y el colector, éstas deben hace1·se entre
los pares de puntos rectangularmente2 , esto significa que si, por ejemplo, la nueva
estación se sitúa en x 1 = 8 y x2 = 5, estará a distancia (8 - 2) + (10- 5) = 11
hm de la estación !, etc.
Formular un modelo de pmgramación por metas que resuelva el problema de
localización de la nueva estación. Resolve1· el problema formulado.
1
Un problema de programación cuadrática es aquel cuya función objetivo es cuadrática y las
restricciones son lineales. Un procedimiento de solución es el método del pivote complementario
que tiene gran analogía con el método del símplex.
2
Distanc.ia de Manhattan o L¡.
408
PROGRAMACION LfNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
CAPITULO 7. PROGRAMACION LINEAL MULTJOBJETIVO
@RA-MA
Solución
Consideramos como variables de decisión las coordenadas x 1 y x2 , correspondientes a la localización en el embalse de esta nueva estación de control. Introducimos
dos restricciones de meta para cada una de las localizaciones ya existentes. Para
la estación 1, tendremos
X¡ - di + dl ::: 2
X2 + d:¡ ::: 10
1
4
Evidentemente al tomar la distancia rectangular, la minimización de la distancia
de la nueva estación a la estación 1 se obtendrá haciendo rníojma la suma de
las cuatro variables de desviación. Razonando de forma análoga para las otras
dos estaciones y para el colector de salida, queda el modelo de programación por
metas con una sola prioridad
rojo D =
409
nueva
• estación
S
20
o
.E(dt +di)
t=l
s.a
X¡ -
X2 X¡ -
X2 X¡ -
X2 X¡ -
X2 -
d[ + dl ::: 2
4 + d:¡ ::: 1Q
dt + da ::: 9
dt +d;j ::: 20
dt + ds ::: 12
dt + d6 ::: 1
4 + d:¡ ::: Q
dt + dg ::: Q
X¡,X2 , dt,d¡~ 0,
i:::l, ... ,8
Resolviéndolo, por ejemplo, con el método del símplex modificado, se obtiene
la solución de compromiso xj = 9 y xi = 10, que proporciona la localización de
la nueva estación. La distancia mínima es de 48 hm. La figura muestra la forma
del embalse y las localizaciones de todas las estaciones y el colector.
14. Regalos de compromiso. Al llegar las Navidades, el departamento de
relaciones externas de una empresa tiene que hacer 1·egalos a sus clientes. Estos
pueden ser caros o baratos, siendo sus costes de 4000 y 1000 ptas, respectivamente.
Hay doce clientes a los que hay que comprar regalos. Se admi~e que se pueda
comprar más de un regalo a cada uno. Los clientes buenos son tres, y hay que
comprarles al menos un regalo caro. Los regalos baratos tienden a pesar alrededor
de 5 kg y los caros 1 kg. Para que al transport·ista le resulte rentable el reparto,
debe llevar al menos 20 kg. El departamento de relaciones externas emplea 1 hora
en buscar cada regalo caTo y 2 horas pam cada Tegalo barato. Todos los regalos
deben ser distintos. Se desea:
a} Formular un programa lineal con objetivos mínimo coste y mínimo tiempo
de búsqueda.
b) Determinar las soluciones eficientes.
e) Determinar las soluciones eficientes con coste menor de 24000 ptas y tiempo
menor de 30 horas.
d) Obtener las soluciones de menor distancia L¡, L2 y Loo al punto ideal tomando pesos iguales.
e) Representar gráficamente el conjunto de compromiso.
41 o PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
©RA-MA
Solución
a) Definimos las variables de decisión
x¡
= número de regalos caros (i = 1) y baratos (i = 2).
Las restricciones son
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJETTVO
Puntos
de F
A
B
e
X¡~
3,
X¡ +x2
~
12,
x 1 + Sx2 ~ 20,
al menos 3 regalos caros
al menos un regalo por cliente
al menos 20 kg en regalos
no negatividad
Los objetivos, ambos de minimización, son
z¡
= 4000x¡ + 1000x2
(coste)
{tiempo)
z2 =X¡+ 2X2
El programa lineal biobjetivo se formula, con z1 en miles de ptas,
min z
s.a
=
(z¡,z2)
= (4x¡ +x2,X¡ + 2x2)
X¡~ 3
X¡+ X2
~
H
I
X
z
(X¡ 1 X2,X3)
(3, 9)
(10, 2)
(20, O)
(3, 60)
(40, O)
(z¡, z2)
(21, 21)
(42, 14)
(80, 20)
(72, 123)
(160, 40)
Puntos de
z
A'
81
e~
Ht
1'
La región factible Z se tiene en la figura anterior de la derecha. El conjunto
eficiente en Z es t:(Z) = A1B 1, pues recordemos que ambos objetivos son de
minimización. Por ello, el conjunto eficiente en F será [ (F) = AB, ambos
indicados en trazo grueso sobre las respectivas figuras. Analiticamente, si el
conjunto eficiente es el segmento entre los puntos A (3, 9) y B (10, 2), se podrá
expresar
[ (F) = {x E JR2 : x
= (!Ot + 3 (1- t), 2t + 9 (l- t)), tE [0, 1]}.
e) Si se desea coste menor de 24000 ptas y tiempo menor de 30 horas, tendremos
que añadir las condiciones
Z¡ ~
12
X¡+ Sx2 ~ 20
X¡,X2 ~ 0
•111
24
Z2 ~
y
30.
La figura siguiente muestra el conjunto eficiente, en trazo más grueso, con estas
nuevas restricciones.
Obsérvese que habría que considerar las variables x1 y x 2 enteras. Sin embargo,
supondremos que son continuas.
b) La región factible F en el espacio de decisiones IR2 se muestra en la .figura de
la izquierda. Podemos observar que es no acotada.
z,
ISO
!OC
se
L+~~~~~+4~+4~+4~~~·
lO
20
30
40
50
60
70
80
90
Z1
Analíticamente, buscamos los puntos de [ (F) que cumplen las condicionesPara determinar su transformada Z = z (F) en el espacio de objetivos IR2, transformamos Jos puntos A, B, C, H, I de la región F. En la tabla se tienen las coordenadas de estos puntos y sus transformados
4. (10t + 3 (1- t)) + 1 · (2t + 9 (1- t)) ~ 24
1· (10i+3 (1-t))+2·(2t+9{1-t))~22
que definen el recorrido t E [0, 1/7].
<::=?
<::=}
t ~
t
t~-t
412
PROGRAMACIO N LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
d) El punto ideal z• se obtiene minimizando cada función objetivo:
z* = (~nz1 , ~inz2)
CAPITULO 7. PROGRAMACION LINEAL MULTIOBJET!VO
©RA-MA
Este problema se puede reescribiJ
min
s.a
= (21, 14).
La solución L¡ de mínima distancia al punto ideal, es el punto x solución del
problema
min d1((z 1(x), z2 (x)), z•)
F
l4x 1 + x2 - 211 ::; t
lx1 + 2x2 - 141 ::=; t
x EF
Transformándolo en un problema lineal
min
s.a
que toma la forma
4xl + x2 - t ::=; 21
4x 1 +x2 +t ? 21
x 1 +2x2 - t::=;14
x1 +2x2+t?14
Transformándolo en un problema lineal con ayuda de variables de desviación, se
escribe
min z = dt +di + + d2
s.a
4
X¡?
3
X¡+
X2? 12
X¡+ 5x2? 20
4x¡ + x2 - dt +di
X¡ + 2x2
+di
= 21
= 14
X¡ X2,dj,dj? Ü, j = 1, 2
Su solución, obtenida con el método del símplex, es xr= (3, 9) .
-di
xEF
t?O
Su solución, obtenida con el método del símplex, es x~ = (4.75, 7.25).
e) La tabla muestra las soluciones obtenidas en el apartado anterior. Estas corresponden a los puntos zi, z2, z~ en el espacio de objetivos.
1
F
que toma la forma
Sol. en Z
Distancia
Lq
Sol. en F
x·
' Q
z;
L¡
(3, 9)
(3.7,8.3)
(4.75, 7.25)
(21, 21)
(23.1, 20.3)
(26.25, 19.25)
L2
Loo
La solución L2 de mínima distancia al punto ideal, resuelve el problema
mind2 {(z¡ (x), z2 (x)), z* ),
413
El conjunto de compromiso está formado por el segmento comprendido entre los
puntos z! y z~.
z, "
30
25
Este es un problema de programación cuadrática, cuya solución es x2= (3.7, 8.3).
Finalmente, la solución Loo de minima distancia al punto ideal, resuelve el
problema
mind00 ((z¡ (x), z2 (x)) , z*) ,
F
z
z~ z,*
Conjunt~
20
C'
;::,
compromiso
15
z••
\
Punto ideal
lO
B'
que toma la forma
mjn max [l4x¡ +x2 -
L+~~~~~~~~~+>~~~
211 , jx¡ + 2~2 - 141] .
O
lO
20
30
40
so
60
70
80
90
Z,
o
BIBLIOGRAFIA
Los conceptos teóricos y algoritmos utilizados en la resolución de los ejercicios se pueden ver en el libro: Ríos Insua, S. (1996) Investigación Operativa:
Programación Lineal y Aplicaciones, CEUM.
La mayoría de los modelos desarrollados se pueden resolver con el software:
QSB+ V 3.0 (Quantitative Systems for Business Plus), Chang, Y.L., PrenticeHall,1994, o QS V. 3.0 Quantitative Systems, Chang, Y.-L., Prentice-Hall, 1995.
Investigación Operativa y Optimización
Cohen, S.S. (1985) Operational Research, Arnold.
Eiselt, H.A. y Von Frajer, H.V. (1977) Operations Research Handbook. Standard
Algorithms and Methods, Walter de Gruyter.
Ec:ker, J. y Kupferschmid, M. (1988) lntroduction to Operations Research, Wiley.
Eppen, G.D., Gould, F.J. y Schmidt, C.P. {1993) Introd·uctory Management
Science, Prentice Hall.
.
Gass, S.L y Harris, C.M. (1996) Encyclopedia of Operations Research and Management Science, Kluwer.
Hillier, F.S. y Lieberrnan, G.J. (1995) lntroduction to Operations Research, McGrawHill.
Kaufmann, A. (1976) Métodos y Modelos de la Investigación de Operaciones,
Tomos I, II y III, CECSA.
Martín, M.J.C. y Denison, R.A. (1971) Cases Exercises in Operations Research,
Wiley.
BlBLIOGRAFIA
416
PROGRAMACION LlNEAL Y APLICACIONES: EJERCICIOS RESUELTOS
417
@RA-MA
Nemhauser, G.L., Rinnooy Kan, A.H.G. {eds.) {1989) Óptímization, Handbooks
in Operations Researcb and Management Science, North-Holland.
Ravindran, A., Phillips, D.T. y Solberg, J.J. (1982) Operations Research: Principies and Practice, Wiley.
Taha, H.A. {1991) Investigación de Operaciones, RA-MA
Taha, H.A. (1975) lnteger Programming. Theory, Applications, and Computations, Academic Press.
Wagner, H.M. (1975) Principies of Operations Research, Prentice Hall.
Whitehouse, G.E. y Wechsler, B.L. (1976) Applied Operations Research: A Sttrvey, Wiley.
Wioston, W.L. (1991) Operations Research: Applications and Algorithms, PWS
Kent.
Programación Lineal y Entera
Arbel, A. {1993) Exploring Interior-Point Linear Programming. Algorithms and
Software, The MIT Press.
Calvert, J. y Voxmao, W. (1989) Linear Programming, Harcourt Brace.Jovanovich.
Daellenbach, S.P. y Bell, E.J. (1970) User's Guide to Linear Programming, Prentice Hall.
Dantzig, G.B. y Thapa, M.N. (1996) Linear Programming, Springer.
Gal, T. {1994) Postoptimal Analyses, Parametric Programming, and Relatec Tapies, Walter de Gruyter.
Gass, S. (1969) Programación Lineal, CECSA.
Goldstein, E.G. y Yudin, D.B. (1977) Programación Lineal, Paraninfo.
Hadley, G. (1962) Linear Programming, Reading Mass.
Hartley, R. (1985) Linear and Nonlinear Programming, Horwood.
llillier, F.S. y Lieberman, G.J. {1995) Introduction to Mathematical Programming, McGraw-Hill.
Luenberger, D.E. (1989) Programación Lineal y no L'ineal, Addison-Wesley.
Murty, K.G. (1983) Linear Programming, Wiley.
Nemhauser, G.L. y Wosley, L.A. (1988) lnteger and Combinatoria/ Optimization,
Wiley.
Ozan, T. (1986) Applied Mathematical Programming for Engineering and Production Management, Prentice Hall.
Schrijver, A. (1986) Theory of Linear and lnteger Pr;ogramming, Wiley.
Sirnonnard, M. (1972) Programación Lineal, Paraninfo.
. g· Foundations and Extensions, KluVanderbei, R.J. (1997) Linear Programmm .
wer.
·¡d· . Mathematical Programming, Wiley.
Williams, H.P. (1990) Model But tng m
Optimización y Decision en Redes
.
( 990) Linear. Programming and Network Flows,
Bazaraa, M.S. Y Jarv1s, J.J. 1
Wiley.
. ·n Networks and Graphs, Springer.
.
t
Up
. U (1988) Programmmg t
Dengs,
.
1962) Flows in Networks, Pnnce on . . .
Ford, L.R. y Fulkerson, D.R. ( ) G h
d Algorithms Wiley-Intersctence.
M" oux M (1984 rap s an
'
.
. A·{
Gondran, M · Y m ' ·S h d 1. 1'< chníques for Constructton Pro]ect ¡v. aHajdu, M. (1997) Network e e u mg e
nagement, Kluwer
80) Network Flow Programming, Wiley.
Jensen, P.A. y Barnes, ~.W. (19
t· A System Approo.ch to Pla.nníng, Sche992) ProJect Managemen ·
.
Kreezner, H. (1
.
Nostrand.
duling and Controllsn~, Van
.
Networks and Gra.phs, Dekker.
Minieka, E. (1978) .Optimtzatton A)lgpon~~~s ~:nagement with CPM and PERT,
Philbps C.R. (1970 roJee
'
Moder, J .J · Y
Van Nostrand.
. E W (1983) Project Management with CPM
Moder, J.J., Phillips, C.R. YDavts,. · . van Nostrand.
and PERT, and _Pre~eden~e(~~~r)a;:~damentals of ¡.,-etwork Analysis, PrenPhillips, D.T. y Garcta Dtaz, .
tice Hall.
. , y Control de Proyectos, Pirámide.
Romero, C. (1993) Técnicas de Programaclon
· · Multiobjetivo
Decisión Multicriterio y Programacwn
. . D · · Making: Theory
.
y y (1983) Multiob;echve ectston
Chankong, V. y Hatmes, · ·
and Methodology, North-~olland.
.
d Planning Academic Press.
Cohon, J. (1978) Multiobjectwe Programm~ng ~n (1982) M~ltiobjective Decision
.
A Hansen, D.R. y Duckstem, . . .
.
G01coechea, .. ,
.
. nd Business Appltcattons, Wüey.
AnalyS'is w·ith Engmeenng a
·
·
1 Xlll.gton
· g and Extenswns, e
·
. .
Ignizio, J.P. (1976) Goal progr~mmm S (1989) Procesos de Decisión Mu!hcn. S Ríos Insua1 M.J. y RIOS Insua, .
R!OS, .,
terio, EUDEMA.
. . . A l . . Multiobjective Decision Making,
Ríos Insua, D. (1990) Senstltvtty na ysts m
LNEMS, Springer.
. .'
. . . . Conceptos, Técnicas y
C (1993) Teoría de la Dectswn Multtcnteno.
Romero, ·
. ·¿ d
Aplicaciones, Alianza Uruverst a .
418
PROGRAMACION LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
@RA-MA
Sawaragi, Y., Nakayama, H. y Tanino, T. (1985) Theory of lvfultiobjective Optimization, Academic Press.
Schniederjan, M. (1984) Linear Goal Programming, Petrolly Books.
Zeleny, M. (1982) Multiple Gritería Decision Making, McGraw-Hill.
Simulación
INDICE ANALITICO
Law, A.M. y Kelton, W.D. (1991) Simulation Modeling and Analysis, McGrawHill.
Ríos lnsua, D., Ríos Insua, S. y Martín, J. (1997) Simulación: Métodos y Aplicaciones, RA-MA.
Software
A continuación damos una lista de programas informáticos con la direcdones
Web, en las que el lector podrá obtener información reciente y detallada del
software, incluyendo en muchos casos una versión de evaluación.
AIMMS, Paragon Decision Technology, Haarlem, Holanda, http:/ /www.paragon.nl
CPLEX for AMPL, MINOS for AMPL, Compass Modeling Solutions, Reno, Nevada, http:/ /www.modeling.com
FORT MP, Numerical Algorithms Group., http:/ /www.nag.com
GAMS, Gams Development Corporation, Washington, http:/ /www.gams.com
LINDO, LINGO, WHAT'S BEST, Lindo Systems, Chicago, http://www.lindo.com
LP /MIPSolvers DLLs, PREMIUM SOLVER for EXCEL, Frontline Systems,
http:/fwww.frontsys.com
LPS-867, Applied Automated Engineering Corporation, Pennington, N.J., http:/¡
www.aae.com
MPL Modeling System, Maximal Software, Arlington, Va., http:/ /www.maximalusa.com
SAS Software, SAS lnstitute, Cary N.C. , http:/ /www.sas.com/
SDPims, Aspen Technology, http://www.aspentech.com
VISUAL MATH PROGRAMM1NG, Sundown Software Systems, Silver Springs,
Md., http:/ /www.sundown-vmp.com
XPRESS-MP, Dash Associates Ltd. , Blisworth, UK, http:/ /www.dash.co.uk
Algoritmo
CPM, 296
del símplex revisado, 52, 66
de Dijkstra, 261 , 263, 267
de etiquetación, 262, 267, 275
de Floyd, 261, 272
de Oujo má.'<imo, 262, 28-!
de Ford-Fulkerson, 2~2, 284
de Kruskal, 262, 280, 283
de planos de corte, 325
de ramificación y acotación, 321,
322, 326
problema entero, 324, 326
problema entero mbdo, 329
problema 0-1, 231
de transporte, 193, 195, 202, 205,
206
lineal secuencial, 372, 39-!
Arbol de máximo alcance, 262, 279,
283
Cantino
de mínima altura, 261, 270
más largo, 261, 275
mínimo, 261, 262, 267
Conjunto
de compromiso, 372, 409
eficiente, 371, 373
CPM, 262
Desviación
absoluta, 19, 97
má.xima,19, 97
Diagrama de Gantt, 298
Enumeración
exhaustiva, 321, 322
explícita, 321
E-posiciones, 193, 208
Formato
estándar, 51, 56
general, 123, 125
simétrico, 123, 125
Flujo
niáxllno, 262, 284, 289
mínimo, 262, 289
Función objetivo, 1, 4, 5
Grado de criticidad, 315
Holgura complementaria, 123, 142
indicadores del símplex, 51, 60, 69
Matriz
de encadenamientos, 295
420
PROGRAMACIO)l LINEAL Y APLICACIONES: EJERCICIOS RESUELTOS
inversión de una matriz
con el método del simplex, 106
forma producto, 71
Modelo
construcción de un, 1
de análisis input-output, 117
Método
del símplex, 51, 62, 73
dual, 124, 130
dual extendido, 124, 134
en formato tabular, 57
en planificación, 92, 94 102
en gestión, 119
modificado, 372, 387
multiobjetivo, 371
con variables acotadas, 52, llO,
114
primal-dual, 124, 138
revisado, 66
solución gráfica, 62
tabla del, 57, 60
variable de salida en el, 59, 70, 74
variable de entrada en el, 59, 61 ,
70
de coste mínimo, 195
e-restricciones, 371, 374, 375
de la esquina noroeste (MEN), 193,
195, 206
de la restricción artificial, 124, 134
de la M grande, 52, 78
de las penalizaciones, 51, 78
de las dos fases. 52, 81
de las ponderaciones, 371, 372
de la variable artificial, 52, 78, 80
de los potenciales, 262, 316
de Roy, 262
de stepping-stone, 193, 202
de Vogel, 193, 195, 206
húngaro, 194, 243, 252, 255, 256
~1001, 193, 206, 212, 214
Optimo único, 51, 54, 60, 69, 78, 80
Optimos alternativos, 51, 53, 60, 69,
75
IN DICE ANALITICO
@RA-MA
PERT, 262, 304, 309
PERT-Montecarlo, 262, 315
Pivote, 59, 60
Precio
sombra, 123, 170, 173
marginal (ver precio sombra)
Problema
de asignación, 193, 242, 255, 256,
259
generalizada, 194, 248
de control de producción, 23
de corte óptimo, 34
de cubrimiento, 345
de destilación, 2
de distribución
de productos, 43, 210
de tareas, 46
de emparejamiento, 194, 252
de emplazamiento, 345
de inventario, 32
de la cartera, 360, 367, 403
de la dieta, 4
de la mochila, 322, 354
de localización, 335, 348, 352, 406
de optimización de mezclas, 12
de planificación
de alimentos, 20
de compra, 25
de la producción, 10, 40, 213, 224,
227,355,358,397
de mezclas, 17
de personal, 35
de una central, 350
de una planta quimica, 15
de una plantilla, 48
de un cultivo, 44
financiera, 39
de producción, 6, 8
de reemplazamiento, 278
de secuenciación, 339, 365
de transbordo, 193, 217, 222, 241
de transporte, 193, 194, 202, 206
en tiempo mínimo, 194, 229
análisis de sensibilidad, 235
del almacén, 37
del coste fijo, 362
del viajante, 322, 343
dual, 123, 125, 127
infactible, 51, 54, 79, 83
no acotado, 51, 55, 69, 76, 85, 91
primal, 123
Programa
con valores absolutos, 87
dual, 125, 127
relaciones algebraicas, 130
no lineal, 90
Programa lineal
analisis de sensibilidad, 124, 158,
186
en un coste, 159, 166
en un recurso, 159, 166
en planificación, 166, 175, 179
incorporación de una variable,
159
incorporación de un recurso, 159
paramétrico, 124, 14-1, 151
inestable, 184
soluciones en un, 155
redundancia en un, 54
solución gráfica, 52, 62
Programación
entera, 321
lineal, 1
multiobjetivo, 371
paramétrica, 144, 151
por metas, 372, 379, 381
solución gráfica, 379
relación con el símplex, 385
con etiquetado de arcos, 294
con etiquetado de nodos, 310
a coste mínimo, 300
Hujo en una, 284
PERT, 304, 309
análisis de probabilidad, 307
PERT-Montecarlo, 314
Roy, 316
Regla de mínima razón, 74
Región factible, 52
punto extremo de la, 55, 62
Regresión
lineal, 97
parabólica, lOO
Restricción, 1, 3, 5
Restricciones disyuntivas, 334
Rayo óptimo, 60, 69
Red
corte en una, 285
CPM, 262, 294, 299, 307
Variables
artificiales, 51
básicas, 57
de holgura, 51
Sistema de ecuaciones
factibilidad de un, 29
homogéneo, 28
inconsistente, 27
resolución de un, 105
Solución
básica, 55
factible, 55, 69
degenerada, 60, 69, 205
eficiente, 371
mejora de la, 69, 202
Tabla
de asignación,
no equilibrada, 255
de. transporte, 194
no equilibrada, 195
solución inicial, 194
421
Descargar