Está en la página 1de 166

INVESTIGACION OPERATIVA

Tercer curso de Ingeniera Tcnica de Gestin


CURSO 2010-2011
Profesor:

Alejandro Quintela del Ro

TEMA 0: Historia de la investigacin de operaciones.


La Investigacin Operativa en la segunda guerra mundial:

-La mquina Enigma, El snar, El proyecto Manhattan.


TEMA 1: MODELOS DE PROGRAMACION LINEAL y APLICACIONES.

. Formulacin de modelos de programacin lineal. Ejemplos.


. Solucin grfica de problemas de programacin lineal con

dos variables. Interpretacin. Definiciones

bsicas.

. Problemas de programacin lineal en forma estndar.

Sistemas de ecuaciones lineales simultneas. Definiciones bsicas: solucin factible, variables


bsicas y no bsicas, sistema cannico, solucin bsica, solucin factible bsica.

TEMA 2: EL METODO DEL SIMPLEX.

. Esquema bsico de funcionamiento del mtodo del Simplex. Beneficios relativos, criterio de entrada, criterio
de salida (regla de la mnima proporcin), elemento pivote, pivotaje.

. El mtodo del Simplex por tablas.


. Problemas de clculo: empates en el criterio de entrada, empates en el criterio de salida, degeneracin,
ciclaje.

Obtencin de una solucin factible bsica inicial: Mtodo de las Dos Fases y Mtodo de las

Penalizaciones.
- Otros: Consideraciones computacionales, Mtodo del punto interior.

TEMA 3: EL METODO REVISADO DEL SIMPLEX.

. El mtodo revisado: Conceptos bsicos. Vector de Multiplicadores.


. Desarrollo del mtodo.
. Ventajas del mtodo revisado del Simplex sobre el mtodo del Simplex regular.
TEMA 4: TEORIA DE LA DUALIDAD.

. Fomulacin del problema dual.


. Problemas primal-dual simtrico. Propiedades y relaciones de los problemas primal y duaL
. Teoremas de la dualidad.
. Condiciones de holguras complementarias.
. Problemas asimtricos primal-duaL
. Lectura de la solucin dual ptima en la tabla ptima primaL
TEMA 5: EL METODO DUAL DEL SIMPLEX.

. Conceptos fundamentales. Bases factibles dual y primaL


. Desarrollo del mtodo dual del Simplex.
. Identificacin de problemas no factibles.
TEMA

6:

ANALISIS

DE

SENSIBILIDAD

PARAMETRICA.

. Modificaciones en los coeficientes de la funcin del objetivo.


. Modificaciones en las constantes de la derecha de las restricciones.
. Modificaciones en la matriz de coeficientes de las restricciones.

. Adicin de nuevas variables.


. Adicin de nuevas restricciones.
. Variacin paramtrica de los coeficientes de la funcin del objetivo.
. Variacin paramtrica de las constantes de la derecha de las restricciones.
TEMA 7: PROGRAMACION LINEAL ENTERA.

. Formulacin de modelos.
. Algoritmo de ramificacin y acotacin.
. Aspectos computacionales.

PROGRAMACION

PROBLEMAS ESPECIALES DE PROGRAMACION LINEAL.


1 Problemas de Transporte.

. Formulacin del Problema Standard del Transporte.


. Obtencin de una solucin factible bsica inicial: mtodo de la esquina noroeste y mtodo del coste mnimo.
. Algoritmo de Stepping-Stone.
2 Problemas de Asignacin.

. Formulacin del Problema Standard de Asignacin.


. Mtodo Hngaro.

BIBLIOGRAFA
. ANDERSON, D.R. - SWEENEY, D.J. - WILLIAMS, T.A.
Introduccin a los modelos cuantitativos para administracin.
Grupo Editorial Iberoamericana.
. ARREOLA, J. ARREOLA, A.
Programacin lineal. Una introduccin a la toma de decisiones cuantitativa.
Thomson
. BRONSON. R.
Teora y problemas de investigacin de operaciones.
Schaum, McGrawHill
. DANTZIG, G.B.
Linear programming and extensions
Princeton University Press
. GARCIA, J. - FERNANDEZ, L. - TEJERA, P.
Tcnicas de investigacin operativa.
Ed. Paraninfo.
. HILLIER,F. - LIEBERMAN, G.
Introduccin a la investigacin de operaciones.
McGraw-Hill
. INFANTE MACIAS, R.
Mtodos de programacin matemtica.
UNED
. MATHUR - SOLOW
Investigacin de operaciones.
Prentice Hall
. PARDO, L.
Programacin lineal continua: aplicaciones prcticas en la empresa.
Ed. Daz de Santos.
. PARDO, L.
Programacin lineal entera: aplicaciones prcticas en la empresa.
Ed. Daz de Santos.
. RAVINDRAN, A. - PHILLIPS, D. - SOLBERG, J.
Operations Research. Principles and Practice.
Wiley.

. RIOS INSUA, S.
Investigacin Operativa. Optimizacin.
Ed. Centro de Estudios Ramn Areces.
. GASS, S. ASSAD, AR.
An annotated timeline of operations research. An informal history.
Kluwer Academic Publishers
. TAHA, H.
Investigacin de Operaciones.
Prentice Hall

INVESTIGACIN OPERATIVA. XESTIN. CURSO 2010-2011.

PROBLEMAS DE PROGRAMACIN LINEAL


1.-) Una compaa armamentstica americana desea proyectar la fabricacin de un cohete
antitanque casero para vender en supermercados. La Compaa ha considerado 3
modelos y su departamento de produccin ha elaborado la siguiente tabla:
modelo
Trabajo

(horas 7

20$

30$

por unidad)
Material

(titanio 4

Por unidad)
Beneficios

(por 40$

unidad fabricada)

El suministro de material se restringe a 200 kg de titanio por da, y la disponibilidad


total diaria de los trabajadores es de 150 horas. Formular un problema de programacin
lineal para determinar la produccin diaria de cada modelo, en orden a maximizar el
beneficio total.
2.- ) El gobierno provisional ha decidido repartir cereales en los colegios iraques a la hora
de la merienda. Los nios podrn tomar Cereales "A" o Cereales "B", o bien una mezcla de
ambos. Por recomendacin de la ONU, los nios deben recibir en su desayuno, cuando
menos, 1 miligramo de tiamina, 5 miligramos de miacina y 400 caloras. Una unidad (100
gramos) de cereales "A" tiene 0.10 mg de tiamina, 1 mg de miacina y 110 caloras,
mientras que una unidad de cereales "B" tiene 0.25 mg de tiamina, 0.25 de miacina y 120
caloras. La unidad de cereales "A" cuesta 180 centavos de dlar y la de cereales "B" 234
centavos de dlar. Formular un problema de programacin lineal que sirva para establecer
la dieta ptima ms barata.

Problemas 1

3.- ) El administrador de un club de carretera ha elaborado una lista de necesidad de


camareras para su establecimiento cada 24 horas

Periodo

Horas

Numero mnimo de camareras

6 a 10

60

10 a 14

70

14 a 18

60

1 8 a 22

50

5
6

22 a 2
2a6

20
30

El administrador ha acordado con las camareras que stas comiencen a trabajar al


principio de cada periodo y trabajen 8 horas seguidas. El administrador quiere determinar
el nmero mnimo de camareras que sea suficiente para la atencin correcta del
establecimiento.
Formular un modelo de programacin lineal para este caso.
4.-) Una organizacin terrorista da trabajo a 1000 personas. En una semana, cada uno de
ellos puede producir 2 barriles de sustancias qumicas mantrax para enviar a pases del
eje del mal, o bien transformar un barril en otro de un arma de destruccin masiva
agente amarillo (tras mezclado de sustancias indicadas por un qumico espaol aburrido
de no cobrar un duro como becario), pero no ambas cosas a la vez. Actualmente, la
fbrica tiene un amplio surtido de materia prima porque se la envi Irak poco antes de la
invasin. Despus de tres semanas de produccin, los barriles de mantrax se venden a
20$ unidad y los barriles de agente amarillo a 75 por unidad.
Plantear un problema de programacin- lineal que nos sirva para calcular cuntos
terroristas deben dedicarse a la fabricacin de cada producto durante cada semana, en
orden a obtener el mximo beneficio (supngase que un barril de mantrax puede
convertirse en agente amarillo tan slo a la semana siguiente de su fabricacin).
5.- ) Para la fabricacin de dos herramientas de defensa personal A y B son necesarias 2
operaciones. Cada unidad de la herramienta A requiere de 2 horas de la operacin 1 y 3
horas de la operacin 2. Cada unidad de la herramienta B requiere de 3 horas de la
operacin 1 y 4 horas de la operacin 2. La operacin 1 puede desarrollarse durante 16
horas y la 2 durante 24 horas.

Problemas 2

Al fabricar la herramienta B tambin se produce un polvillo mata-suegras sin coste


adicional, pero slo una parte puede venderse con provecho en sobres en quioscos; el
resto debe destruirse. Se obtienen 2 sobres del polvillo C por cada herramienta B
fabricada, y slo se podrn vender 5 sobres de C para que la polica no sospeche y
clausure la fbrica
La ganancia de la herramienta A es de 4 euros por unidad y la de B es de 10 euros.
por unidad. El producto C, si se vende proporciona una ganancia de 3 euros/unidad, pero
si se destruye su coste es de 2 euros/unidad.
Plantear un problema de p.l.. de manera que se maximicen las ganancias.

6.-) Una tienda de mquinas tiene un taladro a presin y 5 mquinas moledoras, las
cuales son utilizadas para producir un destornillador-navaja que consta de dos piezas
A(destornillador) y B (navaja). La productividad de cada mquina para las dos piezas
viene dada por:
Tiempo de produccin en minutos por pieza
TALADRO

MOLEDORA

PIEZA A

20

PIEZA B

15

Se desea mantener un equilibrio entre todas las mquinas de lal forma que ninguna
mquina trabaje 30 minutos por da ms que otra (se supone que la carga de trabajo de
cada moledora es la media de las 5 mquinas). Plantear un problema de programacin
lineal para obtener el nmero mximo de herramientas completas en 8 horas diarias de
trabajo.
7.-) Un alumno de Quinto de Ingeniera Informtica al que slo le queda lgebra y
Estadstica para licenciarse, y que slo dispone de 30 das para prepararlas, recibe de su
padre la siguiente proposicin:
Por cada asignatura que apruebe le premiar de la siguiente forma:
. Por cada punto que saque en lgebra le dar 900 euros.
. Por cada punto que saque en Estadstica le dar 500 euros.
Al alumno le ha salido un curre como striper por el que le pagan a 15 euros la hora,
y no puede hacer ms de 200 horas al mes sin que su abuela (catlica ferviente desde que
naci) se entere y lo desherede. El alumno piensa que:
. Tiene que dormir necesariamente 8 horas diarias.

Problemas 3

. Va a dedicar, sin excusa alguna, 100 horas en chats y hackeos a los ordenadores
de varios alumnos pelotas que han subido el nivel de estudios ese ao.
Sabe que para cada punto de lgebra necesitar 30 horas de estudio, y de
Estadstica 20 horas.
Cmo distribuir su tiempo para obtener mximo beneficio econmico, si no est
realmente obligado a aprobar, puesto que un arreglo con un Vicedecano (al que pagara
600 euros) le permite obtener el ttulo igual Cunto dinero le queda una vez transcurridos
estos 30 dias tan apurados?
Nota: El padre le paga por la nota que saque, pero solo si aprueba. Se aprueba con nota
mayor o igual a 5. El problema es ms difcil de plantear de lo habitual, pero fcil de
resolver.
8.-) Utilizando el mtodo del simplex resolver:
Maximizar Z =x1 + 3x2
s uj e t o a

x1 5
x1 + 2x2 10
x2 4
x1,x2 0

Dibujar la regin factible. Seguir grficamente los pasos del mtodo del simples,
interpretando el cambio de una solucin factible bsica a la siguiente en dicha regin
factible.
9.-) Sean Y1, Y2 2 soluciones ptimas de un p.p.l en forma estndar.
Max (o Min) Z=CX
AX = b
X 0
Demostrar que cualquier vector de la forma Y=a1 Y1+a2Y2 con a1+a2=1, a1,a20 es
tambin una solucin ptima.
Generalizacin.- demostrar que, si en vez de tener 2 soluciones ptimas se tienen n, el
vector Y= a1 Y1++anYn con a1+a2++an=1, a1,a2,,an0 es tambin una solucin
ptima.

10.-) Resolver el siguiente problema utilizando el mtodo de las penalizaciones:


MINIMIZAR Z = 2X1 - X2 + 2X3
SUJETO A

-X1 + X2 + X3 = 4

Problemas 4

- X1 + X2 - X3 6
X10, X20, X3 cualquier signo
11.-) Obtener tres soluciones ptimas del siguiente problema:
Minimizar Z = 3X1+ X2+ X3 + X4
sujeto a - 2X1 + 2X2 + X3= 4
3X1 + X2+ X4 = 6
Xi 0
12.-) Se ha resuelto un problema de programacin lineal y se ha obtenido solucin ptima
mltiple. Se tiene que Y1 = (2,3,0), y2 = (3,1,1) Y y3 = (1,2,2) son tres soluciones
ptimas. Puede saberse si y4 = (2,2,1) es tambin una solucin ptima? Justifquese la
respuesta.

PROBLEMAS DE PROGRAMACION LINEAL AVANZADA.


1.-) Dado MINIMIZAR Z = 2x1 - x2 + 3x3
Sujeto a

X1
-2x3 6
2x1 - x2 + 2x3 -2
x1,x3 0, x2 cualquier signo

a) Escribir el problema dual y resolverlo grficamente.


b) A partir de la solucin dual calcular la del primal utilizando las condiciones de
holguras complementarias.
2.-) La tabla ptima de un p.p.1. de maximizacin con 3 restricciones del tipo y
2 incgnitas (x1 ,x2) es
Base
x3
x2
x1
Cj-

Xl
0
0
1
0

x2
0
1
0
0

x3 x4
Xs Constantes
1
1 -1
2
0
1
0
6
0
-1
1
2
0
-3 -2

Donde x3,x4,x5 son variables de holgura. Calcular el valor ptimo de la funcin del
Problemas 5

objetivo de 2 formas diferentes.


3.-) Sabiendo que los 2 siguientes sistemas de restricciones
i) 2x1+x2+4x3 10, 3x1+2x2-x31, 2x1-x2+x3 5; xi 0
ii) 4y1+y2+y3 5, -2y1+3y2-2y3 1, -y1+2y2+y3 1, yi 0
son los conjuntos de restricciones de un problema de p.l. y de su dual,
respectivamente (las restricciones no estn ordenadas), determinar cules de las
siguientes parejas de soluciones dadas por las ternas (x1,x2,x3) e (y1,y2,y3)
pueden ser soluciones ptimas de los correspondientes p.p.l, justificando la
respuesta.
a)
b)
c)
d)

(1,1,1)
(1,0,2)
(1,0,2)
(1,2,0)

y
y
y
y

(1,1,0)
(1,1,0)
(0,2,1)
(0,2,1)

4-) Dado el p.p.l


Max Z= 15x1 + 25x2 + 10x3
Sujeto a
-6x2+3x3 12
3x1+12x2+6x3=30
xi 0
a) resolver el problema dual grficamente
b) a partir de la solucin ptima del problema dual, calcular la solucin ptima
del primal utilizando las condiciones de holgura complementarias
5.-) Comprobar, utilizando el mtodo del simplex dual, que el siguiente problema no
tiene solucin:
MAXIMIZAR Z= -4X1 3X2
Sujeto a
X1 + x2 <=1;
-x2 <=-1;
-x1+2x2<=1;
x1,x2>=0
6.-) Resolver el siguiente p.p.l., utilizando el mtodo dual del simplex:
Min Z =40x1+36x2
Sujeto a x1<=8
X2 <=10

Problemas 6

5x1+3x2>=45
x1,x2 >=0 y enteros

7.-) Considrese el problema


maximizar Z= 5x1 6x2 6x3
sujeto a
x1+5x2 + 2x3 <= b1
x1 x2 - x3 <= b2
xi>=0
para unos valores especficos de b1 y b2 la solucin ptima es:
Base
X1
X4
cj

X1
1
0
0

X2
b
c
a

X3
-1
3
-1

X4
0
1
d

X5
1
-1
e

ctes
30
10
Z=150

Calcular
a) Los valores de b1 y b2 que proporcionan la solucin ptima especificada
b) los valores de a, b y c en la tabla ptima
c) si se requiriera aumentar Z0 ptimo, debera aumentarse b1 b2 y en cunto?
d) Supongamos que la funcin objetivo del problema anterior se cambia a minimizar,
esto es, queda Min Z=5x1 6x2 6x3. Obtener la nueva solucin ptima y el nuevo Z
ptimo a partir de la solucin ptima inicial, sin resolver el problema otra vez
8.-) Una banda de querubines del purgatorio posee un laboratorio clandestino en el que
fabrican 3 tipos diferentes de droga: Peleona (P), Juliana (J) y Marijuana (M). Para la
fabricacin son necesarios, adems de pastillas sedantes, pegamento y caldo avecrem
para los cuales no hay limitacin de disponibilidad-, crack y cocana, que limitan la
cantidad diaria de produccin. La siguiente tabla nos da la cantidad necesaria de estos 2
ltimos recursos para producir 1 kg de cada una de las distintas drogas, los kg disponibles
de cada recurso, y el beneficio por kg de droga producida

Crack
Cocana
Beneficio (en
millones de
euros)

P
2
1
4

J
1
2
7

M
2
2
3

disponibilidad
30
45

El jefe de la banda es un experto en IO, y calcula la produccin ptima mediante la


programacin lineal. Obtiene que, como ms dinero ganarn ser fabricando 5 kg de
droga P, 20 de J y no fabricando la M.

Problemas 7

Responder:
a) Por qu no sale rentable fabricar la droga Marijuana? Qu debera ocurrir para
que s se fabricase?
b) Resulta que, por cada kg de crack que sobre, hay un millonario colgado que se lo
compra, pagndolo a 2 millones el kg. Sigue siendo la solucin inicial la ptima?
c) La polica ha incautado en el puerto un alijo de crack procedente de Nueva Zelanda.
Un polica corrupto le vende a la banda 6 kg a cambio de 5 millones. Les compensa
comprrselos?
d) Un robo salvaje a una banda rival les proporciona nada menos que 63 kg ms de
crack. Lgicamente, ahora la solucin inicial no puede seguir siendo la ptima.
Calcular la nueva.
e) Gracias a una nueva formula robada en el Monsergas, no es necesario utilizar
cocana para fabricar la droga M.Cunto dinero ganar la banda con esta nueva
frmula?
f) Se introduce en el plan de produccin la posibilidad de aadir tomate, de forma que
la fabricacin de 1 kg de droga P requiere 3 kg de tomate, 1 kg de J requiere 1 kg
de tomate, y 1 kg de M requiere tambin 1 kg de tomate. Se tienen 30 kg de
tomate. Cmo vara la solucin ptima? Si es el caso, calcular la nueva
g) A la chorba del jefe se le ocurre fabricar un nuevo tipo de droga que coloque ms
rapidamente (Veloz), que requiere 1 kg de crack y 1 kg de cocana por kg fabricado,
y supone que les reportar 5 millones de euros por kg. Ella dice que la fabricacin
de esta droga les har ganar ms dinero. Es cierto lo que piensan los de la banda
acerca de que el jefe es un calzonazos, y que su novia est equivocada? Cunto
ganan o pierden con esta idea?
9.-) Una empresa fabrica los productos A, B y C, para lo que son necesarios recursos de
trabajo y material. Se quiere determinar la produccin que maximiza la ganancia. Para
ello se plantea el siguiente p.p.l.
Maximizar Z= 3x1 + x2 + 5x3
Sujeto a
6x1 + 3x2 + 5x3 <= 45 (trabajo)
3x1 + 4x2 + 5x3 <= 30 (material)
xi>=0
y se obtiene la siguiente solucin ptima x1=5, x3=3, x2=0.
Utilizando el anlisis de sensibilidad, responder a las siguientes cuestiones
a) calcular el campo de variacin de c1 que mantiene esta solucin ptima, y calcular
la solucin ptima para c1=2
b) disponemos de 6 unidades adicionales de material a un coste de 10 (en total). Es
rentable adquirirlas?
c) Encontrar la solucin ptima cuando el material disponible es de 60 unidades.
d) Si el material que se necesita para el producto B fuese de 2 unidades, afectara a
la solucin ptima?
e) Se aade al problema una condicin de control 2x1+x2+3x3<=20. Cmo afecta
esto a las soluciones primal y dual?
10.-) La siguiente tabla da una solucin ptima a un p.p.l estndar donde suponemos que
x4 y x5 forman la base inicial (son variables de holgura)

Problemas 8

Base
X1
X2
cj

X1
1
0
0

X2
0
1
0

X3
-1
2
-3

X4
3
-1
-3

X5
-1
1
-1

ctes
1
2

a) calcular el campo de variacin de para que la solucin actual siga siendo ptima si el
vector original b de constantes de la derecha es reemplazado por b+b*, con
b*=(1,-1). Encontrar la solucin ptima para =1/2
b) calcular la solucin ptima si se aade la nueva restriccin x1 + x3>=2 al problema
original.
c) calcular los precios sombra de las restricciones.

11.-) Dado el p.p.l. paramtrico siguiente


Maximizar Z = (4-)x1 + (3-2)x2 + (6-)x3
Sujeto a
3x1 + x2 + 3x3 <=30
2x1 + 2x2 + 3x3 <= 40
xi>=0
calcular la solucin ptima y el valor de que dara un beneficio ptimo de 62.
12.-) Resolver el siguiente p.p.l. entera, usando el algoritmo de ramificacin y acotacin
Min Z =10x1+9x2
Sujeto a x1<=8
X2 <=10
5x1+3x2>=45
x1,x2 >=0 y enteros
PROBLEMAS DE TRANSPORTE

1.-) Una compaa de conservas tiene 2 plantas de produccin. Tres cultivadores le surten
de fruta fresca en las siguientes cantidades
Felipe: 200 toneladas a 10.000 unidad
Carrascal: 300 toneladas a 9000 unidad

Problemas 9

Andrs: 400 toneladas a 8000 unidad


Los costes de transporte en miles de euros por tonelada son
Hacia
Desde

Planta A

Planta B

Felipe

2.5

Carrascal

1.5

Andrs

Las capacidades de las plantas y los costes de produccin son:


Planta A: Capacidad 450 toneladas a 25000 euros la tonelada
Planta B: Capacidad 550 toneladas a 20000 euros la tonelada
La fruta en conserva se vende a 50000 la tonelada. La compaa puede vender a
este precio todo lo que produce. Qu cantidad se deber enviar desde cada cultivador a
cada planta de manera que la compaa obtenga el mximo beneficio?
Plantearlo como un problema de transporte y resolverlo.
2.-) Se pretende distribuir a los estudiantes de tres barrios de una ciudad (A,B,C) entre 4
colegios (E,O,N,S). Hay 50 estudiantes en cada barrio y los colegios admiten 20,40,30 y
60 estudiantes, respectivamente. El coste de tranporte en autobs viene dado en la
siguiente tabla

BARRIOS
A
B
C

E
7
9
8

COLEGIOS
O
6
7
8

N
5
3
7

S
4
6
3

La delegacin de educacin desea planificar la distribucin de los estudiantes minimizando


el coste del transporte.
a) calcular la solucin ptima a partir de una solucin inicial calculada por el mtodo
del coste mnimo.
b) Debido a un rodeo que hay que dar por obras para llegar a la escuela E, el coste del
transporte desde cada barrio hasta dicha escuela se incrementa una unidad.
Explicar cmo modificar este hecho la solucin ptima obtenida en el apartado
anterior.

3.-) Desde 3 pantanos se enva agua a 4 ciudades. La capacidad de los pantanos es de 15,
20 y 25 millones de litros diarios. Las demandas de las ciudades es de 8, 10, 12 y 15. El
coste de bombeo por milln de litros est dado en la siguiente tabla:

Problemas 10

PANTANO

CIUDAD
B
3
2
1

A
2
3
4

1
2
3

C
4
5
2

D
5
2
3

Utilizando el algoritmo del transporte, planificar los envos de agua a las ciudades con el
mnimo coste.
4.-) Un problema de transporte se caracteriza por la siguiente matriz
D1
D2
D3
D4
D5
Existencias
14
16
17
12
18
120
18
12
21
16
22
190
20
15
19
18
19
60
17
13
25
20
21
160
80
100
120
110
60
En donde cada uno de los nmeros de la matriz denota el coste unitario de transporte del
origen al destino correspondiente y los restantes nmeros las existencias y las demandas.
Plantear la tabla de transporte con la que empezar a resolver el problema (No
resolverlo), teniendo en cuenta que no se pueden transportar ms de 70 unidades desde
O1 hasta D4.
01
02
03
04

PROBLEMAS DE ASIGNACIN
1.-) Una escuela de Ingeniera decide realizar seminarios sobre 4 temas de actualidad.
Estos seminarios se realizarn una vez por semana. Al planificarlos, se ha procurado que
el nmero de estudiantes que no pueda asistir a un seminario sea mnimo. Un cuidadoso
estudio indica que el nmero de estudiantes que no pueden asistir a un seminario
particular un da especfico es el siguiente

Lunes
Martes
Mircoles
Jueves
Viernes

Ecologa
50
40
60
30
10

Energa
40
30
20
30
20

Transporte
60
40
30
30
10

Bioingeniera
20
30
20
30
30

Obtener la planificacin ptima de los seminarios.


2.-) Para realizar 4 tareas (A,B,C,D), un empresario dispone de 3 empleados, cada uno de
los cuales cobra las siguientes cantidades por realizar cada tarea.

Problemas 11

1
2
3

A
10
14
18

B
12
18
15

C
8
16
16

D
15
12
14

Para poder realizar las cuatro tareas, el empresario puede optar entre: a) contratar a un
nuevo empleado, que cobrara 20 por realizar cualquier tarea, o b) que uno de sus
empleados realice 2 tareas, una de ellas en horas extraordinarias, de forma que tendra
que pagarle un 20 por ciento ms que si la realizara en horario normal.
Determinar cul de las 2 opciones es ms ventajosa para el empresario, y
determinar la asignacin de los empleados a las tareas, de forma que el coste total sea
mnimo.
3.-) Un millonario tiene 4 hijas muy feas, que no logran conseguir marido. Despus de
muchos avatares, consigue convencer a 4 incautos, sobornndoles de acuerdo a los
gustos de cada uno, para que se casen con ellas. La cantidad de millones que tendr que
pagar a los interesados amantes segn con quien elijan casarse viene dado en la siguiente
tabla

Torrente
Rodrguez
Carpintero
Felipe Lotas
Bartol O. Me

Hija 1
2
10

Hija 2
3.5
22

Hija 3
5
34

Hija 4
6.5
46

8
0

14
6

20
12

26
18

Decidir los emparejamientos que comporten el menor gasto para el sufrido padre

Problemas 12

Referencia Histrica de la Investigacin Operativa


Suele ser difcil hacer una referencia histrica de la Investigacin Operativa.
Principalmente, porque no es sencillo establecer sus orgenes. Son muchas las reas que
componen la Investigacin Operativa, y hasta que apareci un elemento aglutinador en
los aos 40 del siglo XX, cada una tuvo su propia referencia histrica, haciendo muy
difcil establecer la fecha exacta del nacimiento de la Investigacin Operativa.
La necesidad de tomar decisiones es tan antigua como el hombre mismo, por
ello, hemos de preguntarnos por qu la Investigacin Operativa nace en un momento
histrico preciso. Esto fue as, porque la realidad humana se fue complicando poco a
poco y las decisiones que en un principio eran triviales, se convirtieron en decisiones
difciles. Con la llegada de la Revolucin Industrial, la sociedad se hizo mucho ms
compleja y las decisiones haban de tomarse con ms cuidado porque involucraban a
ms personas en sus consecuencias. Veamos a continuacin lo que esto supuso
histricamente.
Proceso Introductorio
Las diferentes ciencias han de ser comprendidas con profundidad antes de poder ser
analizadas desde un punto de vista histrico. Quizs no sea fcil establecer los orgenes
de la Investigacin Operativa, porque no se tuvo conciencia de la misma hasta mucho
ms tarde de que algunas de sus ramas nacieran y se desarrollaran. No obstante, es
necesario relacionar el alumbramiento de la Investigacin de Operaciones, por lo menos
nominalmente, con el transcurso de la II Guerra Mundial. Por esta razn, hemos de
pensar en los orgenes de la ciencia operacional como en los de una tcnica de
naturaleza militar.
Dichos orgenes han supuesto una impronta decisiva en el tratamiento de las tcnicas
operacionales. En este sentido, cuando se pretende trazar una historiografa de una
ciencia es muy importante delimitar la frontera de la misma en los terrenos conceptual e
histrico.

Prolegmenos y rudimentos de la Investigacin Operativa: la


ciencia de la gestin
La gestin y la organizacin han sido necesarias para la humanidad desde sus albores.
La necesidad de planificacin y organizacin aparece ya en el antiguo Egipto hacia el
ao 4.000 a.C. y se va desarrollando a travs de toda la Antigedad hasta el
advenimiento del Imperio Romano. En Israel y China tambin aparecen tmidos
escarceos de organizacin y direccin hacia el ao 1.000 a.C. Nabucodonosor establece
algunas ideas sobre control de la produccin hacia el ao 600 a.C. En Grecia, se
desarrollan en el 350 a.C. los primeros mtodos de organizacin del trabajo y del
tiempo. Alrededor del ao 30 a.C., Julio Csar establece diversas ideas de planificacin,
control y unidad de mando, que luego pone en prctica en todo el Imperio Romano.
Todos los estudios y planteamientos organizacionales de la Antigedad tienen su
proyeccin, que no su continuacin, a lo largo de toda la Edad Media, en donde se
aprovechan sin posteriores desarrollos. Durante el siglo XV, en la Italia renacentista se

Historia

vuelven a plantear de nuevo las cuestiones organizativas y aparecen diversos estudios


sobre costes y sobre control de existencias.
No es fcil establecer otros hitos acerca de la organizacin hasta el siglo XVIII, cuando
Pierre de Montmort inicia sus primeras ideas directivas que luego dan lugar a la teora
de juegos.
Con los inicios de la I Revolucin Industrial, el sentido y la forma de estudio de la
Ciencia de la Gestin adquieren su ser ms pleno. Por otra parte, el desarrollo de las
matemticas durante los siglos XVIII y XIX permite disponer de las herramientas
necesarias para la futura construccin de la Investigacin de Operaciones. De esta
forma, en 1767, Gaspard Monge descubre la manera geomtrica de resolver un
programa lineal. Posteriormente, Adam Smith establece el principio de especializacin
en los trabajos, y Robert Owen, ya en el siglo XIX, realiza un estudio sobre tareas en un
proceso productivo, y advierte de la necesidad de adiestramiento en las mismas por
parte de los operarios. Una aportacin fundamental la realiza Babbage, en 1832,
construyendo lo que se podra llamar el primer computador digital, que vendra a ser el
antecesor de los modernos ordenadores. A finales del siglo XIX, Joseph Wharton hace
de la direccin estratgica e industrial un saber universitario. No obstante, el auge de las
revoluciones industriales del XIX permiten establecer un caldo de cultivo adecuado para
el estudio de la ciencia operacional. As, Frederick W. Taylor y Henry L. Gantt, ante la
necesidad de planificacin de la produccin, establecen el mtodo cientfico de
direccin y las grficas de programacin productiva (de Gantt), respectivamente. A
partir de este momento aparece la aportacin nuclear del siglo XX a la Investigacin de
Operaciones, sabiendo que es en esta centuria cuando se produce su nacimiento real.

Gnesis de la Investigacin Operativa en el siglo XX


Entre otros hechos que ayudaron a construir lo que se llamara investigacin de
operaciones o investigacin operativa citaremos: a) los rudimentos de la teora de
colas, con A.K. Erlang, y b) la construccin del modelo econmico del tamao del lote,
con F.W. Harris. Sin embargo, estos hitos que luego constituyeron elementos clave de la
Investigacin Operativa, no permitieron establecer la misma como un saber
independiente.
Es hacia 1935 cuando Inglaterra se da cuenta de que necesita dar una respuesta
adecuada al creciente podero militar alemn. Por esta razn, el gobierno ingls urge a
un grupo de cientficos a que realicen experimentos que conduzcan a un mejor control
del espacio areo. Fruto de esta experimentacin aparece el radar, que constituye el
inicio de la lucha por la supremaca area. Este grupo de investigadores tom su base en
Bawdsey, y por esta razn se llam grupo de Bawdsey.
De forma paralela, se estableci otro grupo durante 1936 para desarrollar el
experimento Biggin Hill, que permita la simulacin de aviones enemigos y su
deteccin. La conjuncin de estos dos grupos, permiti ofrecer a la RAF (Royal Air
Force) una estructura operacional, para sus equipos materiales y humanos, que le
posibilit librar la batalla de Inglaterra en 1940-41. El grupo de Bawdsey fue dirigido en
1938 por A.P. Rowe, el cual acu la expresin 'Operations Research', que
posteriormente se extendi dentro del mbito cientfico al resto de pases occidentales.

Historia

La batalla de Inglaterra se recrudece en el otoo de 1940. Por esta razn, se


solicita la ayuda de P.M.S. Blackett, un fsico que despus conseguir el Premio Nobel
por sus trabajos en rayos csmicos, con objeto de establecer una seccin de
Investigacin Operativa dentro de los comandos de accin de la RAF. Del mismo modo,
Blackett fue consultado en diciembre de 1941, sobre la posibilidad de constituir una
seccin similar dentro de la Armada. Dicha seccin fue constituida en enero de 1942.
Los dos primero miembros del grupo eran fisilogos, otros dos eran fsicosmatemticos, un astrofsico, un oficial del Ejrcito y un ex-topgrafo. El equipo se
complet ms tarde con un tercer fisilogo, un fsico general y dos matemticos. Se les
conoci como el Circo de Blackett , Es evidente que en este grupo de 11 cientficos
se tena una amplia gama de disciplinas. El grupo creci y luego se dividi en dos, uno
del Ejrcito y otro de la Marina, con lo cual, las fuerzas militares de la Gran Bretaa
tuvieron todas un grupo de investigacin de operaciones encargado de la investigacin
militar.
Cuando los Estados Unidos entran en la guerra, son conscientes de la necesidad
de tales grupos operativos y de la constitucin de secciones operacionales para el xito
de los mismos. De esta manera, constituyen en 1942 un grupo operacional de lucha
antisubmarina (ASWORG - Anti-Submarine Warfare Operations Research Group) que
recoge toda la experiencia inglesa desarrollada por Blackett. De forma similar, la Fuerza
Area Americana estructura diversos grupos operacionales para llevar a cabo sus
labores logsticas. Al final de la guerra, la Armada americana dispona de un
departamento de Investigacin Operativa compuesto por ms de setenta cientficos, y la
Fuerza Area dispona de ms de dos docenas de secciones operacionales.
No puede decirse que las potencias del Eje hicieran uso de las tcnicas
operacionales durante la II Guerra Mundial, mientras que el nmero de cientficos e
investigadores involucrados en Investigacin Operativa en la contienda por parte de
ingleses, americanos y canadienses super los setecientos. Las aportaciones que
hicieron todos estos investigadores supusieron un giro copernicano en la manera de
concebir la Ciencia de la Gestin en los aos siguientes. De alguna manera, todos estos
estudiosos que trabajaban de manera aislada en los aos treinta se aglutinaron
holsticamente con ocasin de la guerra, y produjeron un conjunto de tcnicas y teoras
que ocasionaron el alumbramiento de la Investigacin de Operaciones como ciencia.
Investigaciones sobresalientes durante la segunda guerra mundial:

El snar
("Sound navigation ranging") Tcnica para detectar y determinar la distancia y
direccin de objetos bajo el agua mediante seales acsticas. Las ondas sonoras
emitidas por o reflejadas desde el objeto son detectadas por el aparato de snar y
analizadas para extraer la informacin.

Historia

El snar se propuso en un primer momento para la deteccin de icebergs. El


inters en el snar aument con su aplicacin en los submarinos de la primera guerra
mundial. En el campo militar hay un largo nmero de sistemas que detectan, identifican
y localizan submarinos. El snar se usa tambin para la deteccin de minas, torpedos.
Usos no militares son bsqueda de peces, mapeado del fondo del mar y localizacin
acstica de barcos.

El descifrado de cdigos emitidos por la mquina cifradora Enigma.


(referencia: cdigos secretos de Simon Singh)

Historia

Historia

Bletchley Park es el nombre de una instalacin militar localizada en Buckinghamshire, Inglaterra en la


que se realizaron los trabajos de descifrado de cdigos alemanes durante la Segunda Guerra Mundial.
Recibe su nombre de la mansin victoriana que domina el enclave. La primera computadora Colossus fue
diseada y construida en Bletchley Park permitiendo romper los cdigos de la mquina alemana Enigma.

Exista un centro, en otro pueblo, dnde interceptaban las seales de radio de los
alemanes, con multitud de antenas para la intercepcin. Posteriormente se hacan 2
copias; una se quedaba en este centro y la otra se enviaba a Bletchley para su
descifrado. Ah el trabajo se divida en la que se denominaban cabaas, con numeracin
para cada una de ellas, cabaa 1, cabaa 2,...Dentro de las cabaas se dividan en
sectores, y los sectores en secciones. El personal era civil y era reclutado en funcin de
sus aptitudes para cada una de las secciones, sectores y cabaa correspondiente, yendo
de la gente de la cabaa 8 con gente que se dedicaba a descifrar los mensajes alemanes
con analistas en criptografa, que provenan de distintas nacionalidades y tambin de
distintas disciplinas como matemticos, fsicos, ... , como tambin ocurre en
Investigacin de Operaciones que est integrada por distintas disciplinas; mientras que
la cabaa 2 se dedicaba nicamente a pasar los textos y a archivar informacin, con
personal mayoritariamente femenino, an pudiendo tener aptitudes para estar en cabaa
8 pero por ser mujeres se las relegaba a puestos administrativos.
El director de la seccin naval enigma era Alan Turing.

Historia

Despus de la guerra, su carrera profesional de Turing se vio truncada cuando


lo procesaron por su homosexualidad. En 1952 Arnold Murray, el amante de Turing,
ayud a un cmplice a entrar en la casa de Turing para robarle. Turing acudi a la
polica a denunciar el delito. Como resultado de la investigacin policial, Turing fue
acusado de mantener una relacin sexual con un varn de 19 aos y se le imputaron los
cargos de "indecencia grave y perversin sexual". Convencido de que no tena de qu
disculparse, no se defendi de los cargos y fue condenado. Segn su ampliamente
difundido proceso judicial, se le dio la opcin de ir a prisin o de someterse a un
tratamiento hormonal de reduccin de la libido. Finalmente escogi las inyecciones de
estrgenos, que duraron un ao y le produjeron importantes alteraciones fsicas, como la
aparicin de pechos o un apreciable aumento de peso, y que adems le convirtieron en
impotente. Dos aos despus del juicio, en 1954, muri por envenenamiento con
cianuro, aparentemente tras comerse una manzana envenenada que no lleg a ingerir
completamente. La mayora piensa que su muerte fue intencionada y se la consider
oficialmente como un suicidio

Gordon Brown se disculpa ante Alan Turing


Publicado el 11-9-2009 a las 08:48 por

F. Figueroa Fagandini

Estatua conmemorativa de Alan Turing en Sackville Park (cc) Wikimedia Commons


El sitio Number 10 es, segn ellos mismos dicen, el sitio oficial del Primer Ministro del Reino Unido.
No el sitio de Gordon Brown sino el de todos los primeros ministros que han habitado la casa que
est en Downing Street nmero 10 desde 1721. A travs de ese canal, la gente puede entre otras
cosas enviar peticiones, y la ms bullada del ltimo tiempo fue la exigencia, 55 aos despus de
su muerte, de disculpas pblicas para Alan Turing.

Historia

Este seor, para los que no lo sepan, trabaj con el gobierno britnico durante la segunda guerra
mundial desencriptando cdigos interceptados a la Alemania nazi, una tarea a travs de la cual
desarroll gran parte de lo que hoy conocemos como ciencias de la computacin. Estableci las
bases para distintas lneas de estudio que hoy son nuestra fuente de trabajo: la ciberntica, la
inteligencia artificial, el concepto de algoritmo y diagrama de flujo para ejecucin de programas y
la Tsis de Church-Turing que a su modo es la piedra pilar de la computacin actual.
Alan Turing tuvo un final muy triste, luego de que reconociera abiertamente su homosexualidad -a
la sazn un delito en el Reino Unido- y fuera condenado a la castracin qumica, una circunstancia
que lo llev al suicidio un par de aos ms tarde.
Ayer, Gordon Brown emiti un comunicado reconociendo que el trato recibido por Alan Turing fue
inaceptable. En un extenso comunicado recorre someramente los mritos de Turing para cerrar
diciendo: Lo siento Alan Turing, merecas algo mucho mejor.
Link: Treatment of Alan Turing was appalling - PM (Number10)

Historia

El Proyecto Manhattan
El 6 de diciembre de 1941, un da antes del ataque japons a Pearl Harbor,
Vannevar Bush, jefe del Departamento de Investigacin y Desarrollo Cientfico de
Estados Unidos, lograba la aprobacin presidencial de un plan de accin total en el
mbito de la investigacin atmica. En 1942, el primer ministro britnico W. Churchill
y el presidente norteamericano F. D. Roosevelt acordaron concentrar en el territorio
estadounidense los equipos cientficos de ambos pases que ya trabajaban en la bomba.
La direccin general del llamado Proyecto Manhattan recay en el Comit Militar
Poltico, compuesto por tres militares, los generales Styer, Groves, y el almirante
Purnell, y por dos civiles, V. Bush y J. B. Conant. Vannevar Bush, ingeniero
electricista, haba sido vicepresidente del Massachusetts Institute of Technology, y
James B. Conant, qumico orgnico, haba sido presidente de la Universidad de
Harvard.
Cerca de 150 000 personas llegaron a participar en el Proyecto, la mayora de
ellas sin saber cul era su objetivo. No ms de una docena de individuos tena una
visin global de la empresa. Los cientficos que accedieron a entregarse totalmente a la
construccin de un arma nuclear lo hicieron convencidos de la necesidad de contar con
tal recurso si es que Hitler tambin lo obtena. Muchos opinaban que, una vez logrado
un equilibrio entre ambos bandos en guerra, se debera renunciar al uso del artefacto. La
existencia de una bomba alemana era una idea siempre presente en sus mentes, hasta el
punto de referirse a ella como si fuese una realidad.
El 17 de septiembre de 1942, el general Leslie Richard Groves fue nombrado
jefe del supersecreto y superprioritario Proyecto Manhattan. Se construyeron tres
ciudades para realizar los diferentes trabajos:
-

Oak Ridge en el estado de Tennessee, donde se trabajaba en la separacin


del uranio para obtener el istopo fisionable 235.
Hanford en el estado de Washington, donde se produca otro istopo
fisionable, el plutonio 239.
Los lamos en Nuevo Mxico, donde se diseaban y fabricaran las
primeras tres bombas.

Muy importante para estos proyectos fue la labor dirigida por Fermi en el
Laboratorio Metalrgico de la Universidad de Chicago, que culmin con la puesta en
marcha en diciembre de 1942 del primer reactor nuclear. Inmediatamente despus de
este logro, el gobierno norteamericano destin 400 millones de dlares al Proyecto
Manhattan. Los costos totales se estiman en unos 3 000 millones de dlares.

Historia

Fermi

Einstein,

Historia

10

Oppenheimer

Niels Bohr y Albert Einstein debatiendo la teora cuntica en casa de Paul Ehrenfest en Leiden
(deciembre de 1925).

El crecimiento de la Investigacin Operativa, de 1945 a la actualidad


Es muy difcil condensar en unas lneas todo lo que han supuesto las dcadas
anteriormente mencionadas para la ciencia operacional, habida cuenta de su importancia
y de la riqueza de trabajos producidos. Realmente, se ha construido ms ciencia
operacional
durante
estos
Historia

11

aos que en todo el resto de la historia de la humanidad. Puede decirse, por tanto, que la
verdadera historia de la Investigacin Operativa se ha desarrollado durante este perodo:
se han establecido lneas de investigacin, han aparecido sociedades profesionales, se
han creado revistas de investigacin, se han publicado libros y se ha incluido la materia
dentro del currculum educativo.
Una vez finaliz la segunda guerra mundial y habida cuenta del xito cosechado
por las tcnicas operativas, stas continuaron desarrollndose dentro del mbito militar,
puesto que era el ejrcito quien posea la mayor parte de los investigadores y quien
estaba interesado en proseguir dicha lnea de trabajo. A mediados de los aos cincuenta
se desplaz el centro de gravedad de inters de la Investigacin Operativa, y alcanz el
terreno industrial y el acadmico. Aparece el inters por la Ciencia de la Gestin
(Management Science). En la dcada de los setenta, ha continuado el desarrollo
expansivo de la Investigacin Operativa, llegando al mbito de la administracin
pblica, tratando los siguientes tipos de problemas: transporte urbano, administracin de
justicia, construccin de edificios pblicos, educacin, hospitales y servicios sociales.
De esta manera, el peso investigador de la Investigacin Operativa se desplaza desde el
Reino Unido a los Estados Unidos, en donde se constituyen diversos institutos y
organizaciones de estudio, como The Urban Institute (1968) y The New York CityRand Institute (1969). Tambin, son muchas las empresas que, a partir de los aos
cincuenta, se ayudan de tcnicas operativas para disear sus polticas de produccin y
de distribucin.
Por ejemplo, a partir de una encuesta que realiza Turban en 1972 en Estados
Unidos sobre las 500 empresas ms importantes del pas (de acuerdo con la revista
Fortune), se deduce que la mitad de las empresas que contestaron la encuesta posean un
departamento especial dedicado a tareas de Investigacin de Operaciones o Ciencia de
la Administracin. No obstante, la Investigacin Operativa forma cada da ms, una
parte de las actividades normales de la empresa moderna y, por tanto, ya no se trata de
una funcin especializada que deba llevarse a cabo en un departamento separado. De
acuerdo con este estudio las tcnicas operacionales ms empleadas eran el anlisis
estadstico, la simulacin, la programacin lineal, la teora de inventarios y la
programacin dinmica. Otras tcnicas empleadas, aunque de menor uso, eran la
programacin no lineal, las lneas de espera, la teora de juegos, el anlisis de decisin
de Bayes y la programacin entera.
Posteriormente, se realizaron otras encuestas de resultados similares: a) en 1977,
Leadbetter y Cox (1977); b) en 1979, Thomas y DaCosta (1979); c) en 1983, Forgionne
(1983). En todas ellas se comprueba cmo cada vez son mayores en nmero las tcnicas
operativas empleadas, y cmo dichas tcnicas aparecen con ms frecuencia en otras
reas o departamentos de la empresa. Estudios de otro tipo fueron los de Fabozzi y
Valente (1976) que encuestaron, en 1976, mil compaas americanas en relacin con el
uso de la programacin matemtica (programacin lineal, no lineal y dinmica). Estos
autores descubrieron que era la direccin de Produccin (mezclas de productos,
asignacin de recursos, diseo de planta y maquinaria,...) el rea en donde ms se
aplicaba la Investigacin de Operaciones dentro del mbito de la empresa. En nmero
de aplicaciones le segua el rea de Inversin y Financiacin.
Especificaciones y concreciones histricas de la Investigacin Operativa: la
programacin matemtica

Historia

12

La Programacin Matemtica ha formado parte de la Investigacin Operativa


desde la constitucin de la misma como ciencia hasta la actualidad. Sin embargo,
muchos de los problemas tratados por la Programacin Matemtica eran conocidos
desde mucho antes. Grandes matemticos de los siglos XVIII y XIX, como Euler,
Gauss y Lagrange trabajaron en problemas de optimizacin con restricciones y
establecieron las primeras condiciones de optimalidad. Lo cual quiere decir que los
problemas que la Programacin Matemtica planteaba en los aos cuarenta de nuestro
siglo no eran nuevos en su formulacin, pero s en su enfoque. Los mtodos
matemticos clsicos no estaban pensados para una resolucin en dimensiones altas,
como iban a requerir las nuevas necesidades industriales. Esta fue la aportacin de la
ciencia operacional, mxime cuando se desarrollaron las tcnicas computacionales que
permitieron hacer realidad el clculo rpido y a gran escala. La Investigacin Operativa
supuso un giro copernicano en la manera de tratar los programas matemticos. Se
implementaron algoritmos que computacionalmente eran ms eficientes que los clsicos
y, de esta manera, problemas que tradicionalmente haban sido complejos, ahora
resultaron asequibles.
El cambio de mentalidad era notable y, por tanto, un nuevo modelo cientfico se
estaba abriendo paso. Para el desarrollo de las distintas tcnicas algortmicas, era bsico
el estudio de los sistemas de desigualdad como haban hecho los matemticos Julius
Farkas, Jean Baptiste Fourier y T.S. Motzkin. El anlisis de los problemas econmicos
se debe a John Von Neumann y a Abraham Wald. No obstante, cuando se trata de
presentar una descripcin histrica de la Programacin Matemtica, hay que tener en
cuenta la gran aportacin de Dantzig con su mtodo simplex para programacin lineal.
Este hito ha supuesto la demarcacin de la poca fundacional de la Programacin
Matemtica. Dicho evento se ha considerado como el inicio de la Investigacin
Operativa, puesto que lo ha sido de la programacin lineal, y ha trado consigo la
resolucin de muchos problemas operacionales.

George Bernard Dantzig naci en 1914 y muri en 2005. Su padre era profesor de Matemticas, se retir dejando su
puesto de Jefe del Departamento de Matemticas en la Universidad de Maryland poco despus de la Segunda Guerra
Mundial. Su madre era una lingista especializada en idiomas eslavos. Dantzig estudi su carrera en la Universidad de
Maryland, donde se gradu en 1936. Le disgustaba el hecho de no haber visto "ni una sola aplicacin en alguno de los
cursos de Matemticas que haba tomado en Maryland". Al ao siguiente hizo estudios de posgrado en la escuela de
Matemticas de la Universidad de Michigan. Sin embargo, exceptuando la Estadstica, le pareci que los cursos eran
demasiado abstractos; "tan abstractos, que l slo deseaba una cosa: abandonar sus estudios de posgrado y conseguir

Historia

13

un trabajo".
En 1937 Dantzig dej Michigan para trabajar como empleado en Estadstica en el Bureau of Labor Statistics. Dos aos
despus se inscriba en Berkeley para estudiar un Doctorado en Estadstica.
La historia de la tesis doctoral de Dantzig es ahora parte del anecdotario de las Matemticas. Durante su primer ao en
Berkeley, llev un curso de Estadstica con el famoso Jerzy Neymann. En una ocasin lleg tarde a una de las clases de
Neymann. En la pizarra estaban escritos dos problemas que l supuso eran problemas de tarea. Dantzig,
consecuentemente, los copi y los resolvi, aun cuando le parecieron "un poco ms difciles que los problemas
ordinarios". Unos das despus se los entreg a Neymann, disculpndose por haber llegado tarde.
Aproximadamente seis semanas despus -a las 8:00 de un domingo por la maana-, Neymann lleg aporreando la puerta
de Dantzig, explicndole que haba escrito una introduccin a uno de los artculos de Dantzig y que quera que la leyera a
fin de poder enviar el artculo para su publicacin. Los dos "problemas de tarea" que Dantzig haba resuelto eran, en
realidad, dos famosos problemas no resueltos de la Estadstica. Las soluciones de estos problemas se convirtieron en su
tesis doctoral, a sugerencia de Neymann.
NOTA: Parece ser que esta ancdota inspir escenas de la pelcula que lanz a la fama a Matt Damon El indomable Will
Hunting. Lo que el propio Dantzig revel es que se trata de una leyenda urbana, pues dista mucho de la realidad.

Poco despus del comienzo de la Segunda Guerra Mundial se uni a la Fuerza Area de Estados Unidos y trabaj con el
Combat Analysis Branch of Statistical Control. En 1946, Despus de recibir su Doctorado, regres a la Fuerza Area como
el asesor de Matemticas del U. S. Air Force Controller. Fu en ese trabajo donde encontr los problemas que le llevaron
a hacer sus grandes descubrimientos. La Fuerza Area necesitaba una forma ms rpida de calcular el tiempo de duracin
de las etapas de un programa de despliegue, entrenamiento y suministro logstico.
El trabajo de Dantzig generaliz lo hecho por el economista, ganador del Premio Nobel, Wassily Leontief. Dantzig pronto
se dio cuenta de que los problemas de planeacin con los que se encontraba eran demasiado complejos para las
computadoras ms veloces de 1947 (y aun para las de la actualidad). La siguiente es la explicacin de Dantzig acerca de
las dificultades que tuvo que encarar: "Un ejemplo sencillo ilustra la dificultad fundamental de formular un problema de
planeacin utilizando un enfoque de anlisis de actividades. Considere el problema de asignar 70 hombres a 70 empleos.
Una "actividad" consiste en asignar el isimo hombre al jsimo empleo. Las restricciones son dos: en primer lugar hay 70
hombres, cada uno de los cuales debe asignarse a un puesto y en segundo lugar, cada uno de los 70 puestos existentes
debe estar ocupado. El nivel de una actividad puede ser 1, lo cual indica que est siendo usada, o 0, lo cual significa que
no. En consecuencia hay 2 x 70 = 140 restricciones y 70 x 70 = 4900 actividades con 4900 variables correspondientes de
decisin uno-cero. Por desgracia tambin hay factorial de 70 permutaciones o formas de hacer las asignaciones. El
problema consiste en comparar el factorial de las 70 formas y elegir la que sea la ptima o "mejor" segn algn criterio

Historia

14

previamente establecido.
En el ejemplo anterior,factorial de 70 es un nmero muy grande. A fin de tener una idea de qu tan grande es,
supngase que se hubiese tenido una computadora IBM del tipo mainframe en el instante en el que ocurri el Big Bang
hace quince millones de aos. Habra podido, entre ese entonces y ahora, examinar todas las soluciones posibles? No!
No obstante, supngase que se hubiese tenido una computadora aun ms poderosa, una que pudiese examinar mil
millones de asignaciones por segundo. La respuesta seguira siendo negativa. An si la tierra se llenase con computadoras
cuyas rapideces fueran de nanosegundos, todas ellas trabajando en paralelo, la respuesta an sera no. Sin embargo, si
existiesen diez tierras, todas llenas con computadoras del tipo mencionado, todas programadas en paralelo desde el
instante del Big Bang hasta que el sol fuese una esfera fra, entonces quizs la respuesta podra ser s. Lo notable es que
el mtodo smplex, con la ayuda de una computadora moderna, puede resolver este problema en una fraccin de
segundo".
Antes de que Dantzig pudiese descubrir el mtodo smplex, le fue necesario primero tener un modelo prctico de
Programacin Lineal. He aqu la descripcin de Dantzig del proceso: "Cuando el problema de la planeacin fue formulado
inicialmente para la Fuerza Area, no exista la nocin exacta de una funcin objetivo, la idea de una meta claramente
definida. Por supuesto, tenamos slo un falso respeto hacia el concepto de objetivo. En el discurso de los militares
escuch a menudo decir, "nuestro objetivo es ganar la guerra" En el mundo de los negocios se escuchara quizs "nuestro
objetivo es obtener ganancias". Sin embargo, era imposible hallar alguna relacin directa entre la meta establecida y las
acciones emprendidas para tal fin. Si se estudiaba con cuidado el paso siguiente, se poda ver que algn lder haba
promulgado un montn de reglas bsicas que, en su concepto, llevaran hacia la meta. Esto distaba mucho de lo que sera
honestamente estudiar todas las combinaciones alternativas de las acciones para elegir la mejor combinacin. Los que
mandan generalmente mueven las manos y dicen "He considerado todas las alternativas", pero es casi siempre basura.
Lo ms probable es que no pudiesen estudiar todas las combinaciones. Antes de 1947 era inconcebible pensar en la
existencia de una herramienta como la Programacin Lineal que permitiese examinar millones de combinaciones. No
haba algoritmo o herramienta computacional que pudiera hacer eso.
No descubr el modelo de la Programacin Lineal en un instante, sino que tuvo un proceso de evolucin. Se dedic casi un
ao completo a la tarea de decidir si mi modelo podra ser utilizado en la formulacin de problemas prcticos de
distribucin de tiempos. Como usted sabe, la planeacin y la distribucin de tiempos se llevaron a una escala inmensa
durante la guerra.El funcionamiento de la Fuerza Area fue equivalente al funcionamiento de la economa de toda una
nacin. En el proceso intervinieron cientos de miles de personas. La logstica tuvo una magnitud difcil de entender para
alguien que no haya estado ah. Mi colega Marshall Wood y yo revisamos miles de situaciones tomadas de nuestra
experiencia durante la guerra.
Esta intuicin llev a la primera formulacin del mtodo smplex en el verano de 1947. El primer problema prctico que se
resolvi con este mtodo fue uno de nutricin (el famoso problema de la dieta).
El 3 de octubre de l947 Dantzig visit el Institute for Advanced Study donde conoci a John von Neumann, quien por
entonces era considerado por muchos como el mejor Matemtico del mundo. Von Neumann le platic a Dantzig del
trabajo conjunto que estaba realizando con Oscar Morgenstern acerca de la teora de juegos. Fue entonces cuando
Dantzig supo por primera vez del importante teorema de la dualidad.
En 1976 el presidente Gerald Ford otorg a Dantzig la Medalla Nacional de Ciencias, que es la mencin ms alta de los
Estados Unidos en Ciencia. En la ceremonia en la Casa Blanca se cit a George Bernard Dantzig "Por haber inventado la
Programacin Lineal, por haber descubierto mtodos que condujeron a aplicaciones cientficas y tcnicas en gran escala a
problemas importantes en logstica, elaboracin de programas, optimizacin de redes y al uso de las computadoras para
hacer un empleo eficiente de la teora matemtica".

Historia

15

FOTO DE G. B. DANTZIG Y L. G. KHACHIAN

Realmente, el nuevo estilo marcado por el mtodo simplex ha construido el autntico


espritu de la optimizacin matemtica. A principios de la dcada de los sesenta,
Abraham Charnes y William Cooper (1961) publicaron un libro de gran influencia para
los aos posteriores: Management Models and Industrial Applications of Linear
Programming. Esta obra supuso un gran impacto en el desarrollo de la prctica y de las
aplicaciones industriales de la programacin lineal (principalmente en las compaas
petrolferas y qumicas). Pudo comprobarse la potencia de esta nueva herramienta, a la
hora de resolver los problemas decisionales de las grandes empresas. De igual modo, se
aplic la programacin lineal a la teora econmica como muestran las aportaciones de

Historia

16

Robert Dorfman, Paul Samuelson y Robert Solow (1958), o las de David Gale (1960), o
bien las de Grard Debreu (1963).
Nuevos desarrollos de la programacin lineal
La Programacin Lineal fue una de las primeras herramientas cuantitativas con
la que cont la Investigacin Operativa. Rpidamente se descubri su eficiencia. Por
esta razn, era muy interesante conseguir nuevos mtodos de resolucin que hicieran la
competencia al algoritmo simplex.
Como una innovacin destacable en los aos ochenta aparece un nuevo y
poderoso algoritmo para la resolucin de programas lineales: en 1984, Narendra
Karmarkar (1984) de AT&T Laboratories public un artculo presentando
esquemticamente un mtodo para resolver programas lineales de gran tamao. Este
mtodo llamado algoritmo de Karmarkar se presenta como un buscador de ptimos a
partir de puntos interiores, siendo sta la gran novedad en relacin con el mtodo
simplex.

Dicho artculo de Karmarkar no describe totalmente el mtodo resolutorio y,


adems, afirma que es mucho ms rpido que el simplex para problemas de gran
dimensin. El intento de descubrimiento de un remedo de dicho mtodo puso a toda la
comunidad cientfica en pie de bsqueda. Pasaron cuatro aos hasta que se logr un
conocimiento general del mtodo y su distribucin comercial. Esta extensin del
algoritmo de Karmarkar fue debida a AT&T Laboratories, que llam a esta versin
'AT&T KORBX Linear Programming System'. La instalacin completa de esta versin
tuvo un costo inicial de $8.900.000.
Desde un principio se realizaron multitud de comparaciones entre el mtodo
simplex y el de Karmarkar, con objeto de determinar cul de los dos era el ms
eficiente. Sin embargo, esto no es fcil de determinar puesto que hay que especificar
qu es exactamente lo que significa eficiencia. Es necesario efectuar la comparacin en
multitud de situaciones diversas y a partir de ellas establecer la correspondiente tesis. Se
han realizado estudios que cotejan el mtodo de Karmarkar con un paquete informtico
estndar del mtodo simplex llamado MINOS. Para problemas de tamao grande (a
partir de varios miles de restricciones) las mejoras en tiempo de clculo del mtodo de

Historia

17

Karmarkar sobre el simplex son notables (factores entre 10 y 50 son comunes). No


obstante, esta situacin no supone la supremaca del mtodo de Karmarkar en todo tipo
de problemas. No hay que olvidar que para problemas de dimensin pequea, el mtodo
simplex es ms intuitivo y fcil de aplicar.
Tambin es posible realizar algunos comentarios acerca de la complejidad
computacional de cada uno de los mtodos. El mtodo de Karmarkar es un algoritmo de
tiempo polinomial, mientras que el simplex no goza de esta propiedad, sino que es de
tiempo exponencial. De esta forma, tenemos explicada la razn por la cual el mtodo de
Karmarkar obtiene mejores resultados para problemas de gran dimensin.
Es llamativo que los problemas que hasta hace unos aos necesitaban de
computadoras de tamao medio, ahora sean resolubles mediante ordenadores
personales. En la actualidad, prcticamente cualquier usuario de la Investigacin
Operativa puede resolver problemas lineales mediante LINDO (u otro paquete
informtico semejante) en un ordenador porttil.
De esta manera, mediante LINDO se pueden manejar problemas con hasta
50.000 restricciones y 200.000 variables. De igual modo, se desarroll el paquete
MINOS (empleando para programacin lineal el mtodo simplex) en el Systems
Optimization Laboratory del Departamento de Investigacin Operativa de la
Universidad de Stanford, que ha sido usado ms frecuentemente como herramienta
optimizadora en programacin no lineal. Otros lenguajes de modelizacin se han
desarrollado para ordenadores personales.
As, ha aparecido GAMS/MINOS que es una combinacin de los dos programas
bien conocidos con objeto de construir un lenguaje de modelizacin algebraica
implementado por IBM. De la misma forma, ha aparecido el paquete XPRESS-LP; y el
lenguaje MPL (Mathematical Programming Language) desarrollado por Maximal
Software en Islandia. Esta misma casa produjo la utilidad Turbo-Simplex.
En los aos noventa fueron apareciendo otras utilidades informticas, como son
las hojas de clculo y sus complementos asociados, capaces de resolver programas
lineales. Entre algunos de estos complementos se pueden citar los siguientes: Solver,
VINO, What's Best? y XA. Casi todas estas utilidades fueron construidas por IBM para
sus propias computadoras, sin embargo, poco a poco, se van obteniendo versiones para
Macintosh.
Aunque estas son las ms recientes aplicaciones informticas de los ltimos
cinco aos, en los prximos aos se mejorarn, a la vez que se extendern los lenguajes
y paquetes informticos que permitirn resolver con relativa facilidad problemas de
programacin lineal complejos.

Pelculas relacionadas:
Enigma (2001). Director: Michael Apted. Dougray Scott, Kate Winslet, Saffron
Burrows, Jeremy Northam, Corin Redgrave, Tom Hollander, Nikolaj Coster-Waldau, Donald Sumpter,
Matthew Macfadyen

Historia

18

U-571 (2000). Director: Jonathan Mostow. Matthew McConaughey, Bill Paxton, Harvey
Keitel, Jon Bon Jovi, David Keith, Thomas Kretschmann, Jake Weber, Jack Noseworthy
Una mente maravillosa (2001). Director: Ron Howard. Russell Crowe, Jennifer
Connelly, Ed Harris, Paul Bettany, Adam Goldberg, Christopher Plummer, Judd Hirsch, Josh Lucas,
Anthony Rapp

Otras:
Sobre Hitler:
Hitler, el reinado del mal (2003). DIRECTOR Christian Duguay Robert Carlyle, Stockard
Channing, Jena Malone, Julianna Margulies, Matthew Modine, Liev Schreiber, Peter Stormare, Friedrich
von Thun, Peter O'Toole
Sobre Pearl Harbor (y/o equipos de descifrado de cdigo)

Pearl Harbor (2001) DIRECTOR Michael Bay REPARTO Ben Affleck, Josh
Hartnett, Kate Beckinsale, Cuba Gooding Jr., Alec Baldwin, Jon Voight, Tom
Sizemore, Dan Aykroyd, Colm Feore, Cary-Hiroyuki Tagawa, Matthew Davis, Ewen
Bremner, Jaime King, William Fichtner, John Diehl, Leland Orser, Tomas Arana,
Jennifer Garner
Tora! Tora! Tora! (1970) DIRECTOR Richard Fleischer, REPARTO Jason Robards,
Martin Balsam, Soh Yamamura, Tatsuya Mihashi, E.G. Marshall, Joseph Cotten, James
Whitmore, George Macready, Neville Brand
La batalla de Midway (1976). DIRECTOR Jack Smight REPARTO Charlton Heston, Edward
Albert, Henry Fonda, James Coburn, Glenn Ford, Robert Mitchum, Toshiro Mifune, Hal Holbrook, Cliff
Robertson, Robert Wagner
Creadores de Sombras (1990) DIRECTOR Roland Joff REPARTO Paul Newman, Dwight Schulz,
Laura Dern, Bonnie Bedelia, John Cusack, Natasha Richardson, John McGinley, Ron Vawter, Ron
Frazier, Clark Gregg

Historia

19

INVESTIGACIN OPERATIVA:
Es la aplicacin del mtodo cientfico para asignar los recursos o actividades de forma
eficaz, en la gestin y organizacin de sistemas complejos

Tema 1. Modelos de programacin lineal y aplicaciones.


Formulacin de modelos de programacin lineal
Un problema de programacin se refiere, en general, al uso o asignacin
(reparto) de una serie de recursos (dinero, material, trabajadores,...) de la mejor
manera posible, es decir, de manera que se maximicen las ganancias o se
minimicen los costes (de utilizacin de dichos recursos).
Para que un problema de programacin se diga lineal ha de cumplir dos
caractersticas:
1. La regla o criterio para seleccionar los mejores valores de las
variables usadas para construir el problema se puede escribir como
una ecuacin lineal de las mismas (sin potencias de grado mayor que

1 - Metodo del Simplex

uno, sin productos cruzados, ...), que habr que maximizar /


minimizar. A esta funcin se la llama funcin del objetivo.

Z=c1x1+c2x2+...+cnxn
2. Las relaciones existentes entre las variables del problema (tambin
llamadas restricciones) se pueden escribir como un conjunto de
ecuaciones o inecuaciones lineales de las variables anteriores. A este
conjunto de ecuaciones se le denomina conjunto de restricciones.

a11x1+a12x2+...+a1nxn (, , =) b1
a21x1+a22x2+...+a2nxn (, , =) b2
...
am1x1+am2x2+...+amnxn (, , =) bm
m filas o ecuaciones y n variables o incgnitas
Cmo escribir un problema de programacin lineal? Debemos conocer (en
este orden):
1) Las variables del problema xi (variables de decisin o actividad)
2) El conjunto de restricciones
3) La funcin del objetivo que habr que maximizar o minimizar, Z

2 - Metodo del Simplex

Ejemplo:
"Una compaa armamentstica americana desea proyectar la fabricacin de un
cohete antitanque casero para vender en supermercados. La compaa ha
considerado 3 modelos y su departamento de produccin ha elaborado la siguiente
tabla:
MODELO

Trabajo
(horas/unidad)

Material
(titanio/unidad)

Beneficios (por
unidad
fabricada)

40$

20$

30$

El suministro de material se restringe a 200 kg de titanio por da, y la disponibilidad


total diaria de los trabajadores es de 150 horas. Formular un problema de
programacin lineal para determinar la produccin diaria de cada modelo, en orden
a maximizar el beneficio total."
1. Identificacin de las variables:
X1= "unidades diarias a producir del modelo A"
X2 = "unidades diarias a producir del modelo B"
X3 = "unidades diarias a producir del modelo C"
2. Restricciones:
Las restricciones vienen dadas por los lmites de disponibilidad de los dos
recursos: trabajo y material.
1 unidad modelo A lleva 7 horas de trabajo, entonces X1 unidades -> 7 X1
1 unidad modelo B lleva 3 horas ... X2 unidades -> 3 X2
1 unidad modelo C lleva 6 horas ... X3 unidades -> 6 X3
TOTAL Horas de trabajo: 7 X1+3 X2+6 X3
1 unidad modelo A necesita 4 ... X1unidades -> 4 X1
1 unidad modelo B necesita 4 ... X2 unidades -> 4 X2
1 unidad modelo C necesita 4 ... X3 unidades -> 5 X3
TOTAL Material: 4 X1+4 X2+5 X3
Tendremos, por tanto que:

3 - Metodo del Simplex

7 X1+3 X2+6 X3 150


4 X1+4 X2+5 X3 200
3. Funcin objetivo:
MODELO

BENEFICIO POR
UNIDAD

UNIDADES
PRODUCIDAS

40

X1

40 X1

20

X2

20 X2

30

X3

30 X3

Tendremos, por tanto:


Z = 40 X1 + 20 X2 + 30 X3
Por ltimo, tendramos la formulacin completa del problema:
Maximizar Z = 40X1 + 20X2 + 30X3
Sujeto a:
7X1+3X2+6X3 150
4X1+4X2+5X3 200
X1 0
X2 0
X3 0
X1, X2, X3 enteros

4 - Metodo del Simplex

Solucin grfica de problemas de programacin lineal con 2 variables


Z = 40x1+36x2
x1

Ejemplo: Minimizar
Sujeto a

x2 10
5x1+3x2 45
x1,x2 0
Resolver el p.p.l. es encontrar un par de valores (x1opt, x2opt) que cumplan las
restricciones y hagan mnima la funcin del objetivo
a)

x1=8
x2=10

Satisface las restricciones

b)

x1=7
x2=9

Satisface las restricciones

ambas son soluciones factibles


Z(a)=408+3610=680

Z(b)=407+369=604

b es mejor solucin que a (estamos minimizando)


El conjunto de todas las soluciones factibles de un problema de
programacin lineal (p.p.l.) se llama regin factible. Resolver un p.p.lineal es
encontrar la mejor solucin factible en la regin factible. Esta ltima se llama
solucin ptima.
Grficamente:

5 - Metodo del Simplex

5x1+3x245
puntos

5x1+3x2=45

Ec. Recta pasa por los


x1=0 x2=15
x1=9 x2=0

Se coge un punto cualquiera, por ejemplo X1=X2=0, el punto (0,0), y vemos:


50 + 30 <= 45

6 - Metodo del Simplex

50 + 30 >= 45 NO CIERTO

La regin factible ser el tringulo formado por los puntos A, B y C, con los bordes
incluidos.

Funcin objetivo 40 x1+36x2


40x1+36x2 = cte
Por ejemplo Z=0
40x1+36x2=0
10/9

es la ecuacin de una recta

x1= 0 x2= 0
x1=1 x2= -40/36 = -

7 - Metodo del Simplex

Z=36
40 x1+36 x2=36

Z= -36
40 x1+36 x2=-36

x1= 0 x2= 1
x2= 0 x1= 36/40 = 9/10

x1= 0 x2= -1
x2= 0 x1= -36/40 = -9/10

8 - Metodo del Simplex

Resumiendo:
Con los tres valores de la cte, Z:
- Constante positiva la recta se mueve a la derecha
- Constante negativa la recta se mueve a la izquierda

Hemos de probar en qu parte esta ecuacin nos da el valor ptimo. Como


estamos minimizando, queremos que nos d el menor valor posible. Grficamente
esto supone bajar la recta lo ms posible en la regin factible:

9 - Metodo del Simplex

A = (x1, x2) = (8, 5/3) minimiza Z es la solucin ptima y Z=380 es el


valor ptimo para el problema.
Este es un ejemplo de solucin ptima nica.

10 - Metodo del Simplex

Otro ejemplo:

Max Z = x2
Sujeto a

2x1 - x2= -2

x1 + 2x2= 8

2x1 - x2 -2
x1 + 2x2 8
x1, x2 0
x1= 0 x2= 2
x2= 0 x1= -1
x1= 0 x2= 4
x2= 0 x1= 8

Max Z = x2

11 - Metodo del Simplex

Max Z = 3x1 + 2x2

12 - Metodo del Simplex

13 - Metodo del Simplex

Soluciones ptimas mltiples o alternativas


Max
Sujeto a

Z = x1+ 2x2
x1+ 2x2 10
x1 + x2 1
x2 4
x1, x2 0

14 - Metodo del Simplex

Todos los puntos de la lnea BC son soluciones ptimas.

15 - Metodo del Simplex

Solucin no acotada
En una situacin real no existe. Ej: construccin pisos
Max
Z = x1 + 2x2
Sujeto a
x 1 + x2 1
x2 4
x1, x2 0

16 - Metodo del Simplex

17 - Metodo del Simplex

ZOPT

No existe ptimo finito. El p.p.l. se dice que tiene solucin no acotada. En


este caso porque queremos Max Z, si fuese Min Z la solucin sera el
punto A

18 - Metodo del Simplex

Problema no factible
Min
Sujeto a

Z = x1 + x 2
x 1 + x2 1
4x1 + 2x2 6
x1, x2 0

x1 + x2 = 1 pasa por los puntos (0,1) y (1,0)


4x1 + 2x2 = 6 pasa por los puntos (0,3) y (1.5,0)

No hay interseccin entre los dos planos no hay ninguna solucin que
cumpla las restricciones.

R=

19 - Metodo del Simplex

En 3 variables:

20 - Metodo del Simplex

21 - Metodo del Simplex

22 - Metodo del Simplex

23 - Metodo del Simplex

Forma estndar de un PPL con m restricciones y n


variables
Maximizar
(minimizar)

Z = c1x1 + c2x2 + ... + cnxn


a11x1 + a12x2 + ... + a1nxn = b1
a21x1 +a22 x2 + ... + a2nxn = b2
...
am1x1 + am2x2 + ... + amnxn = bm

siendo b1, b2,, bm 0

En notacin matricial:
Maximizar
(minimizar)

Z = cX
AX = b
X0
(b 0)

siendo:
A=
(m x n)

X=
(n x 1)

x1
x2
...
xn

a11
a21
...
am1

a12
a22
...
am2

...
...
...
...

a1n
a2n
...
amn

b=
(m x 1)

b1
b2
...
bm

c = (c1, c2, ..., cn)


(1 x n)

(Un vector X 0 xi 0 i = 1, ..., n)


A matriz de coeficientes
X vector solucin, de actividades o decisiones
b vector de restricciones, recursos o constantes de la derecha
c vector de costes o beneficios o coeficientes de la funcin del objetivo

24 - Metodo del Simplex

Z = cX
AX = b
X0
Ejemplo:

(que incumple la forma estndar)


Max Z = 2x1 + 3x2 4x3
Sujeto a
-3x1 + x2 - x3 5 c
- x1 + x2 + x3 10 d
3x1 + x2 - 2x3 = -7 e
x10, x20, x3 cq signo

1)

modificamos las variables, trabajamos con yi :


y1 = x1 0
y2 = -x2 0
x3 = y3 - y4 con y3, y4 0

2)

3x1 + x2 - 2x3 = -7 -3x1 - x2 + 2x3 = 7


-3y1 + y2 + 2y3 2y4 = 7

-3x1 + x2 - x3 5

-3y1 - y2 - y3 + y4 y5 = 5, y5 0

- x1 + x2 + x3 10

-y1 - y2 + y3 - y4 + y6 = 10,

y5, y6 se llaman variables de holgura.


3)

Max Z = 2y1 3y2 4y3 + 4y4


-3y1 - y2 - y3 + y4 y5 = 5
-y1 - y2 + y3 - y4 + y6 = 10
-3y1 + y2 + 2y3 2y4 = 7
yi 0 i= 1, ..., 6

25 - Metodo del Simplex

y6 0

Sistemas de ecuaciones lineales


Ejemplo:

(a)
(b)

2x1 + x2 - x3 + x4 x5 = -2
x1 + 2x2 + 3x3 - x4 + 2x5 = 4

Ms incgnitas que ecuaciones soluciones


A matriz m x n
m > n no hay solucin
n > m hay soluciones
n = m hay una solucin
La coleccin de todas las posibles soluciones de un conjunto de ecuaciones
lineales se denomina conjunto solucin.
Dos sistemas de ecuaciones se dicen equivalentes si ambos tienen el
mismo conjunto solucin.

(a) (-1)
2x1 - x2 + x3 - x4 + x5 = 2
(b) = x1 + 2x2 + 3x3 - x4 + 2x5 = 4

Sistema equivalente al anterior

(a)
x1 - x2 + x3 - x4 + x5 = 1
(b) (a)
5/2 x2 + 5/2 x3 x4 + 3/2 x5 = 3

Sistema equivalente al anterior

x1 - x2 + x3 - x4 + x5 = 1
(b) 2/5
x2 + x3 - 1/5 x4 + 3/5 x5 = 6/5

Sistema equivalente al anterior

(a) + (b)
x1 + x3 - 6/10 x4 + 6/10 x5 = 16/10
x2 + x3 - 1/5 x4 + 3/5 x5 = 6/5

Sistema equivalente al anterior

Ahora eligiendo x3 = x4 = x5 = 0 queda:


x1 = 16/10
x2 = 6/5
que es solucin de todos los sistemas equivalentes que hemos estado
construyendo. Es una de las infinitas soluciones.

26 - Metodo del Simplex

27 - Metodo del Simplex

Definiciones
Un sistema de ecuaciones se dice cannico si en cada ecuacin aparece
una variable bsica, que es aquella que posee en dicha ecuacin coeficiente 1 y
en las otras ecuaciones coeficiente 0.
Las variables que no cumplan esto se llaman variables no bsicas.
x1

x2

+ 2x3
+ 3x3
-5 x3 + x4

+ 3x5 7x6 = 5
+ 2x5 + 1/3 x6 = 4
+ 3 x5 - 20/12 x6 =100/31

x1, x2, x4 variables bsicas


x1 variable bsica respecto a la 1 ecuacin
x2 variable bsica respecto a la 2 ecuacin
x4 variable bsica respecto a la 3 ecuacin
x3, x5, x6 variables no bsicas
por tanto es un sistema de ecuaciones cannico.
Un pivotaje es una sucesin de operaciones elementales que reduce un
sistema de ecuaciones dado a uno equivalente cannico.
Solucin bsica es la solucin que se obtiene de un sistema cannico
eligiendo para las variables no bsicas el valor cero, y resolvindolo para las
bsicas.
(ejemplo anterior)
x3 = x5 = x6 = 0
x1 = 5, x2 = 4, x4 = 100/31
Si los valores de las variables bsicas son no negativos, se llama solucin
factible bsica. (s.f.b)
Si el sistema es:
a11x1 + a12x2 + ... + a1nxn = b1
a21x1 + a22x2 + ... + a2nxn = b2
...
...
am1x1 + am2x2 + ... + amnxn = bm
n>m
n
n de sol bsicas posibles

N combinatorio, aunque sea muy grande


siempre es finito

m
A partir de este sistema, mediante el pivotaje obtenemos un sistema cannico,
por tanto una variable bsica en cada ecuacin. Cada vrtice de la figura es una
solucin factible bsica.

28 - Metodo del Simplex

Tema 2. El mtodo del Simplex.

George B. Dantzig (1947).


Esquema bsico de funcionamiento del mtodo del Simplex.
El mtodo del simplex es un procedimiento iterativo para resolver
problemas de programacin lineal (p.p.l.) expresados en forma estndar:
Z = cx
Ax = b (b0)
x0
El mtodo requiere que las ecuaciones de las restricciones conformen un
sistema cannico con una solucin factible bsica fcil de obtener.
PASOS GENERALES:
1. Empezar con una solucin factible bsica (s.f.b.) inicial obtenida del
sistema de ecuaciones expresado en forma cannica.
2. Mejorar dicha solucin si ello es posible.
3. Repetir hasta encontrar la mejor solucin factible bsica (solucin
ptima).

Ejemplo:

Max
Z = 5x1 + 2x2 + 3x3 - x4 + x5
=8
Sujeto a
x1 + 2x2 + 2x3 + x4
+ x5 = 7
3x1 + 4x2 + x3
xi 0 i = 1, ..., 5

est en forma estndar todas las variables son 0


todas las restricciones son igualdades ( = )
las constantes de la derecha son 0
x4 variable bsica de la primera ecuacin
x5 variable bsica de la segunda ecuacin
Solucin bsica inicial:
x4 = 8 0
x1 = x2 = x3 = 0
solucin factible bsica
x5 = 7 0
Tenemos

29 - Metodo del Simplex

Z = 50+20+30-18+17 = -1
Ahora hay que examinar si esta solucin es ptima. Si lo es, hemos
acabado. En caso de que no lo sea, se va a calcular una s.f.b. adyacente (difiere
de la anterior en una variable bsica).

Var Bsica Var NO Bs


Var NO Bs Var Bsica

(>0) (=0)
(=0) (>0)

x1 + 2x2 + 2x3 + x4
=8
3x1 + 4x2 + x3
+ x5 = 7
s.f.b. actual x1 = x2 = x3 = 0
x4 = 4, x5 = 7

variables no bsicas
variables bsicas

Vamos a aumentar x1 manteniendo x2 = x3 = 0


x4
=8
x4 = 8 x1 (*)
x1+
+ x5 = 7
x5 = 7 3 x1 (**)
3x1

x4 = 7, x5 = 4
Si x1=1
Z = 51+20+30-17+14 = 2 No es sol. ptima, hay que calcular una
adyacente
As pues el beneficio relativo de x1,
x1=1 Z = 2 (-1) = 3
El beneficio relativo de una variable no bsica es el cambio que se
produce en la funcin del objetivo por unidad aumentada en dicha variable
no bsica.
(*) x4 = 8 x1
(**) x5 = 7 3 x1

x4 < 0 si x1 > 8
x5 < 0 si x1 > 7/3

x1> 8 y x1 >7/3 son los valores que limitan el crecimiento de x1


Entonces no podr se mayor del mnimo: mximo valor posible para x1 =
mn{8, 7/3 }.
x1 = 7/3 x5 = 0
x4 = 17/3
Sol. Fact. Bsica adyacente de la
anterior
x2 = x3 = 0
y
Z = 6 el valor de la funcin objetivo aumenta en 7 unidades

Si

30 - Metodo del Simplex

Ahora, de nuevo hay que comprobar si esta s.f.b. es ptima. Si no,


hay que mejorarla.
RESUMEN

(problema de maximizacin)

1. Empezar con una solucin factible bsica inicial obtenida a partir del
sistema de restricciones en forma cannica.
2. Comprobar si la solucin factible bsica es ptima. Para ello calcular
los beneficios relativos de las variables no bsicas (stos representan
el cambio neto en el valor de la funcin del objetivo por unidad
aumentada en dicha variable).
Si estos beneficios relativos (de todas las variables no bsicas) son
0, la solucin actual es ptima. En otro caso, seguir (hasta que se
cumpla lo anterior).
3. Seleccionar una variable no bsica como nueva variable bsica en la
solucin. La regla general ser seleccionar la variable no bsica con
el mayor beneficio relativo.
4. Determinar la variable bsica que sustituya a la no bsica. Esto se
hace mediante la regla de la mnima proporcin:
Examinamos las restricciones. Para aquellas en las que la
variable no bsica tiene coeficiente positivo, el lmite que puede
alcanzar dicha variable viene dado por el cociente entre la constante
de la derecha de dicha restriccin y ese coeficiente positivo.
5. Resolver el nuevo sistema y volver al paso 2.

Si por el contrario el problema es de minimizacin, cambiaran el paso 2 y


el 3:
2. Si todos los beneficios relativos son 0, la solucin actual es ptima.
3. ...seleccionar la variable no bsica con el menor ...

31 - Metodo del Simplex

El mtodo del Simplex por tablas.


Max
Sujeto a

Z = 5x1 + 2x2 + 3x3 - x4 + x5


=8
x1 + 2x2 + 2x3 + x4
+ x5 = 7
3x1 + 4x2 + x3
xi0 i = 1, ..., 5

CB

Cj
Base

5
x1

2
x2

3
x3

-1
x4

1
x5

b ( ctes )

-1
1

x4
x5

1
3

2
4

2
1

1
0

0
1

8
7

De la tabla se obtiene:
variables bsicas = ctes,
x4 = 8
x5 = 7
x1 = x2 = x3 = 0
_
8
Z = CBb = (-1, 1) 7

el resto (no bsicas) = 0.

= -8+7 = -1

Para ver si la s.f.b. es ptima, necesitamos los beneficios relativos de las


variables no bsicas.

c j = c j cB Pj
Columna de

xj

siendo CB el vector de variables bsicas, (-1,1), y cj los coeficientes de la funcin


del objetivo
Solucin ptima si

c j 0 j

(Regla de parada)

32 - Metodo del Simplex

_
1
C1 = 5 (-1,1) 3 = 5 (-1+3) = 3
_
2
C2 = 2 (-1,1) 4 = 2 (-2+4) = 0

beneficio relativo

_
2
C3 = 3 (-1,1) 1 = 3 (-2+1) = 4 (si x3 crece una unidad, Z crece 4)
_
_
C4 = C5 = 0

(siempre son 0, no hace falta calcularlo)

Tabla 1
CB
-1
1

Cj
Base
x4
x5

cj

5
x1
1
3
3

2
x2
2
4
0

3
x3
2
1
4

-1
x4
1
0
0

1
x5
0
1
0

b
8
7
Z = -1

Cj 0 la s.f.b actual no es ptima


Hay que calcular una s.f.b adyacente:
Una v. no bsica entra en la base
Una v. bsica sale de la base
_
Criterio de entrada: max {Cj > 0 } max{3,4}= 4 entra x3 (en la base)
Criterio de salida: mnima proporcin
Min {8/2, 7/1} = 8/2
sale x4
y el 2 es el pivote
Tabla 2.
CB
3
1

Cj
Base
x3
x5

5
x1

5/2

2
x2
1
3

3
x3
1
0

-1
x4

1
x5
0
1

b
4
3

cj

-4

-2

Z = 15

Fila del privote se divide por el pivote


Cualquier otra fila = fila anterior (elemento de la columna del pivote) x
(nueva fila pivote)
D(3,4,1,0,1,7) (1)(,1,1,,0,4) = (3,4,1,0,1,7)-( ,1,1,,0,4) = (5/2,3,0,,1,3)

33 - Metodo del Simplex

D(3,0,4,0,0) (4)(,1,1,,0) = (3,0,4,0,0) - (2,4,4,2,0) = (1,-4,0,-2,0)


_
4
DZ = CBb = (3,1) 3 = 12+3 = 15

Regla del cuadrado:


bc
a' = a
pivote
Nueva

pivote

solucin que se obtiene de la tabla:


x5 = 3
x1= x2 = x4 =0
x3 = 4

4
Z = cB b = (3,1) = 12 + 3 = 15
3

_
Como c1 > 0 la tabla 2 no es ptima.
Criterio de entrada: max{c j > 0} entra x1
Criterio de salida min {4/(), 3/(5/2)} = min {8, 6/5} = 6/5 sale x5 y pivote
5/2
Tabla 3.
CB
3
5

Cj
Base
x3
x1
_
Cj

5
x1
0
1

2
x2
2/5
6/5

3
x3
1
0

-1
x4
3/5
-1/5

1
x5
-1/5
2/5

b
17/5
6/5

-26/5

-9/5

-2/5

Z = 81/5

Todos los c j son 0 sta es la solucin ptima


x1 = 6/5
x2 = 0
x3 = 17/5
Z = 81/5 es el valor ptimo del problema

x 4 = x5 = 0

Resumen (Problema de maximizacin).

1. Expresar el problema en forma estndar.


2. Obtener una s.f. bsica inicial y construir la 1 tabla.
3. Construir la fila de los c ( c j = c j cB Pj )
j

34 - Metodo del Simplex

4. Si todos los

c j 0, la solucin actual es ptima. En otro caso, hacer

entrar en la base la variable con mayor valor c j positivo.

5. Aplicar la regla de la mnima proporcin para ver qu variable deja


6.
7.

la base.
Efectuar el pivotaje para obtener la nueva tabla y la nueva solucin
factible bsica.
Volver al paso 4.

Problema de minimizacin (dem. Slo cambia el punto 4)


4. Si todos los c j 0 solucin ptima. En otro caso, entra en la base
aquella variable con valor c j negativo ms pequeo.
Tambin puede tenerse en cuenta que Min Z <=> Max (-Z)

Se resuelve Max (-Z). La solucin de los dos problemas ser la


misma, mientras que el valor de Z ptimo cambia en el signo.
Max Z = 3x1 + 2x2
sujeto a -x1 + 2x2 4
3x1 + 2x2 14
x1 - x2
3
x1, x2 0
pasamos a la forma estndar:
Max Z = 3x1 + 2x2
sujeto a -x1 + 2x2 + x3
=4
3x1 + 2x2
+ x4 = 14
x1 - x2
+ x5 =3
xi 0 i = 1,...,5

CB
0
0
0

Cj
Base
x3
x4
x5
_
Cj

3
x1
-1
3
1

2
x2
2
2
-1

0
x3
1
0
0

0
x4
0
1
0

0
x5
0
0
1

b
4
14
3

Z=0

x1 = 0, x2 = 0, x3 = 4, x4 = 14, x5 = 3
CB
0
0
3

Cj
Base
x3
x4
x1
_
Cj

vrtice A

3
x1
0
0
1

2
x2
1
5
-1

0
x3
1
0
0

0
x4
0
1
0

0
x5
1
-3
1

b
7
5
3

-3

Z=9

x1 = 3, x2 = 0, x3 = 7, x4 = 5, x5 = 0

vrtice B

35 - Metodo del Simplex

Cj
Base
x3
x2
x1
_
Cj

CB
0
2
3

3
x1
0
0
1

2
x2
0
1
0

0
x3
1
0
0

0
x4
- 1/5
1/5
1/5

0
x5
8/5
- 3/5
2/5

b
6
1
4

-1

Z = 14

x1 = 4, x2 = 1, x3 = 6, x4 = x5 = 0
_
Z = 14 Solucin optima (todos los Cj 0)

vrtice C

Equivalencias

Tabla
s.f.b.
vrtice

Tabla siguiente
s.f.b adyacente
vrtice adyacente

36 - Metodo del Simplex

37 - Metodo del Simplex

ptimo alternativo.
En la tabla 3, x5 tiene beneficio relativo cero. Esto significa:
x5 = 1 Z = 0
Si hacemos entrar en la base a x5:
criterio de salida min {6/(8/5), 4/(2/5)} = 30/8 sale x3
Tabla 4:
CB
0
2
3

Cj
Base
x5
x2
x1

3
x1
0
0
1

2
x2
0
1
0

0
x3
5/8
3/8
- 1/4

0
x4
- 1/8
1/8
1/4

0
x5
1
0
0

b
15/4
13/4
5/2

cj

-1

Z = 14

Solucin ptima alternativa: x1 = 5/2,

x2 = 13/4,

x3 = x4 = 0,

x5 = 15/4

En general, una solucin ptima alternativa viene indicada siempre que


exista una variable no bsica cuyo beneficio relativo ( c j ) es cero en la tabla
ptima.
Si los c j de las variables no bsicas son < 0 ptimo nico
(maximizando)
Id.
> 0
id.
(minimizando)

Problemas de clculo.
Empates en la seleccin de variables no bsicas
Si existe ms de una variable con c j >0 mximo se coge uno
cualquiera o el primero de todos (en un problema de maximizacin).
Si existe ms de una variable con c j <0 mximo se coge uno
cualquiera o el primero de todos (minimizacin).
cj . . . .

7 .....5.....7.....3.....

<0 <0 <0


Empates en el criterio de salida.
(empate en la regla de la mnima proporcin)

38 - Metodo del Simplex

Ejemplo:
Max Z = 2x4 + 3/2 x6
+ x4 - x 5
=2
x1
+ 2 x4 + x6 = 4
x2
x3 + x4 + x5 + x6 = 3
xi 0
CB
0
0
0

CB
2
0
0

Cj
Base
x1
x2
x3

0
x1
1
0
0

0
x2
0
1
0

0
x3
0
0
1

2
x4
1
2
1

0
x5
-1
0
1

3/2
x6
0
1
1

b
2
4
3

ci

3/2

Z=0

Base
x4
x2
x3

x1
1
-2
-1

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-1
2
2

x6
0
1
1

b
2
0
1

ci

-2

3/2

Z=4

Solucin factible bsica DEGENERADA


CB
2
0
0

Base
x4
x5
x3

ci

x1
0
-1
1

x2
1/2
1/2
-1

x3
0
0
1

x4
1
0
0

x5
0
1
0

x6
1/2
1/2
0

b
2
0
1

-1

1/2

Z=4

Solucin factible bsica DEGENERADA

Debemos parar o seguir?


es posible?
Tabla n1

Tabla n2

= n1

Esto ltimo se llama ciclaje.


A da de hoy, slo se conocen dos ejemplos de problemas que ciclen.
(Descontando los que aparecen en los exmenes)

39 - Metodo del Simplex

Resumen.
Empate en el criterio de salida s.f.b. degenerada + iteraciones +
trabajo ? ciclaje (en la vida real continuar hasta llegar a la solucin ptima).
Tcnicas que evitan ciclaje las hay, pero no suelen utilizarse.
Probabilidad de encontrarse con un problema que cicle en la vida real =
Probabilidad de encontrarse con un poltico honrado = Probabilidad de que los
extraterrestres te lleven en su platillo = Probabilidad de que el mundo termine
hoy a las 23h41minutos.
Soluciones no acotadas.
Max Z = 2x1 + 3x2
Sujeto a:
x1 - x2 2
-3x1 + x2 4
x1, x2 0
CB
0
0

Cj
Base
x3
x4

2
x1
1
-3

3
x2
-1
1

0
x3
1
0

0
x4
0
1

b
2
4

ci

Z=0

x1 = 0, x2 = 0 (vrtice A)
CB
0
0

Base
x3
x2

x1
-2
-3

x2
0
1

x3
1
0

x4
1
1

b
6
4

ci

11

-3

Z = 12

x1 = 0, x4 = 4 (vrtice B)
Entra x1, y cul sale?
Habra que calcular la regla de la mnima proporcin, pero en x1 son todos
menores de cero, por tanto solucin no acotada.

40 - Metodo del Simplex

En forma de ecuaciones:
-2x1 + x3 + x4 = 6
-3x1 + x2 + x4 = 4
x4 = 0
x3 = 6 + 2x1
x2 = 4 + 3x1

Si x1 crece, x3 y x2 nunca se hacen cero

Fallo en el criterio de salida solucin no acotada.

41 - Metodo del Simplex

Obtencin de una solucin factible bsica inicial: Mtodo de las Dos


Fases y Mtodo de las Penalizaciones.
1.

Mtodo de ensayo y error

2.

Uso de variables artificiales.

Ejemplo:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 11
-4x1 + x2 + 2x3 3
2x1 - x3 = -1
xi 0
Pasamos a la forma estndar:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3 x5 = 3
-2x1
+ x3
=1
xi 0
No tenemos una variable bsica por ecuacin, por lo tanto no podemos empezar a usar el
simples. x4 es variable bsica, pero x5 no es variable bsica porque tiene coeficiente negativo.
Introducimos variables artificiales:
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3 x5 + x6 = 3
Sistema artificial
-2x1 + x3
+ x7= 1
xi 0
El sistema artificial tiene una solucin factible bsica inicial
x1 = x2 = x3 = 0 x4 = 11
x5 = 0
x6 = 3
x7= 1
pero no es solucin factible bsica del problema de partida.
Ahora bien,
cualquier solucin factible bsica del sistema artificial con las variables artificiales iguales a cero es
solucin factible bsica del sistema de partida.
Por tanto, hay que reducir las variables artificiales para que se hagan cero.

1. MTODO DE LAS PENALIZACIONES O DE LA M (PENALTY METHOD, BIG M).


Se le asigna a las variables artificiales un coste (penalizacin) muy alto en la funcin objetivo.

En nuestro ejemplo:
Min Z = -3x1 + x2 + x3 + M ( variables artificiales) ( x6 y x7 en este ejemplo)
Siendo M un coste muy grande, M>0, M
Min Z = -3x1 + x2 + x3 + M x6 +M x7
(Nota) Max Z = -3x1 + x2 + x3+ (- M) ( variables artificiales)
Siendo (-M) un beneficio muy pequeo, M>0, M

42 - Metodo del Simplex

CB
0
M
M

CB
0
M
1

CB
0
1
1

CB
-3
1
1

Cj
Base
x4
x6
x7

-3
x1
1
-4
-2

1
x2
-2
1
0

1
x3
1
2
1

0
x4
1
0
0

0
x5
0
-1
0

M
x6
0
1
0

M
x7
0
0
1

b
11
3
1

ci

-3+6M

1-M

1-3M

Z = 4M

Base
x4
x6
x3

x1
3
0
-2

x2
-2
1
0

x3
0
0
1

x4
1
0
0

x5
0
-1
0

x6
0
1
0

x7
-1
-2
1

b
10
1
1

ci

-1

1-M

3M-1

Z = M+1

Base
x4
x2
x3

x1
3
0
-2

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-2
-1
0

x6
2
1
0

x7
-5
-2
1

b
12
1
1

ci

-1

M-1

M+1

Z=2

Base
x1
x2
x3

x1
1
0
0

x2
0
1
0

x3
0
0
1

x4
1/3
0
2/3

x5
-2/3
-1
-4/3

x6
2/3
1
4/3

x7
-5/3
-2
-7/3

b
4
1
9

ci

1/3

1/3

M - 1/3

M - 2/3

Z = -2

Zopt = -2

43 - Metodo del Simplex

Notas:
1) Una vez que una variable artificial es reemplazada por una variable real, no es necesario
mantenerla en las tablas
2) Cuando el mtodo termina con una solucin ptima en la que hay una o ms variables artificiales
en la base mayores que cero el problema original no tiene ninguna solucin factible, porque
no podemos encontrar ninguna solucin con las variables del problema de partida
3) En el ordenador M = ? Si el mtodo est programado en ordenador no se trabaja con la letra M.
Hay que asignar un valor a la constante M.
2. MTODO DE LAS 2 FASES (TWO PHASES).
Se resuelve en dos fases:
Fase 1: Se resuelve el problema

Min W = v.artificiales
Sujeto a sistema artificial

Si llegamos a que el valor mnimo es cero W =


v.artificiales(0) = 0 Todas son cero y tenemos una solucin factible
bsica del sistema original.

En caso de que el valor mnimo sea positivo, W > 0 alguna v.artificial es >0 el problema
original no tiene ninguna solucin factible.

Fase 2: La tabla final de la fase 1 pasa a ser la inicial de la fase 2 cambiando la funcin del objetivo por la
original. Se aplica el simplex.
Nota.
cero).

La fase 1 puede terminar con Wopt=0 y alguna variable artificial en la base (que tendr valor

En este caso, se pasa a la fase 2 (escribiendo su Cj=0) y se procede a echarla de la base aunque
para ello se viole el criterio de salida.
En el momento en que haya salido de la base eliminamos su columna.

44 - Metodo del Simplex

Fase 1. (Min W = x6 + x7, sujeto a sistema artificial)


CB
0
1
1

CB
0
1
0

CB
0
0
0

Cj
Base
x4
x6
x7

0
x1
1
-4
-2

0
x2
-2
1
0

0
x3
1
2
1

0
x4
1
0
0

0
x5
0
-1
0

1
x6
0
1
0

1
x7
0
0
1

b
11
3
1

ci

-1

-3

W=4

Base
x4
x6
x3

x1
3
0
-2

x2
-2
1
0

x3
0
0
1

x4
1
0
0

x5
0
-1
0

x6
0
1
0

x7
-1
-2
1

b
10
1
1

ci

-1

W=1

Base
x4
x2
x3

x1
3
0
-2

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-2
-1
0

x6
2
1
0

x7
-5
-2
1

b
12
1
1

ci

W=0

x1 = 0, x2 = 1, x3 = 1, x4 =12,

x5 = x6 = x7 = 0

45 - Metodo del Simplex

Fase 2. (y volvemos a la funcin objetivo inicial, es decir, valores iniciales de Cj)


CB
0
1
1

CB
-3
1
1

Cj
Base
x4
x2
x3

-3
x1
3
0
-2

1
x2
0
1
0

1
x3
0
0
1

0
x4
1
0
0

0
x5
-2
-1
0

b
12
1
1

ci

-1

Z=2

Base
x1
x2
x3

x1
1
0
0

x2
0
1
0

x3
0
0
1

x4
1/3
0
2/3

x5
-2/3
-1
-4/3

b
4
1
9

1/3

1/3

Z = -2

ci

x1 = 4, x2 = 1, x3 = 9, x4 = x5 = 0
Ejemplo relativo a la nota anterior:
Max Z = 2x1 + x2 + x3
4x1 + 6x2 + 3x3 8
3x1 - 6x2 - 4x3 - x4 1
2x1 + 3x2 - 5x3 - x4 = 4

Zopt= -2

4x1 + 6x2 + 3x3 + x5


=8
3x1 - 6x2 - 4x3 - x4 + x6 = 1
2x1 + 3x2 - 5x3 - x4 + x7 = 4

(x5 v.holgura)
(x6 v.holgura)
(x7 v.artificial)

Fase 1: Min W = x7
CB
0
0
1

Cj
Base
x5
x6
x7

ci

CB
0
0
1

Base
x2
x6
x7

ci

0
x1
4
3
2

0
x2
6
-6
3

0
x3
3
-4
-5

0
x4
0
-1
-1

0
x5
1
0
0

0
x6
0
1
0

1
x7
0
0
1

b
8
1
4

-2

-3

W=4

x1
2/3
7
0

x2
1
0
0

x3
1/2
-1
-13/2

x4
0
-1
-1

x5
1/6
1
-1/2

x6
0
1
0

x7
0
0
1

b
4/3
9
0

13/2

1/2

W=0

Final fase 1.

46 - Metodo del Simplex

Fase 2
se mantiene
CB
1
0
0

Cj
Base
x2
x6
x7

ci

CB
1
2
0

Base
x2
x1
x7

ci

CB
1
2
1

Base
x2
x1
x3

ci

2
x1
2/3
7
0

1
x2
1
0
0

1
x3
1/2
-1
-13/2

0
x4
0
-1
-1

0
x5
1/6
1
-1/2

0
x6
0
1
0

0
x7
0
0
1

b
4/3
9
0

4/3

1/2

-1/6

Z = 4/3

x1
0
1
0

x2
1
0
0

x3
25/42
-1/7
-13/2

x4
2/21
-1/7
-1

x5
9/126
1/7
-1/2

x6
-2/21
1/7
0

x7
0
0
1

b
10/21
9/7
0

29/42

4/21

-5/14

-4/21

Z = 64/21

x1
0
1
0

x2
1
0
0

x3
0
0
1

x4
1/273
-11/91
2/13

x5
1/39
2/13
1/13

x6
-2/21
1/7
0

x7
25/273
-2/91
-2/13

b
10/21
9/7
0

23/273

-16/39

-4/21

29/273

Z = 64/21

No prestamos atencin
a esta columna
CB
1
2
0

Base
x2
x1
x4

ci

x1
0
1
0

x2
1
0
0

x3
-1/42
11/14
13/2

x4
0
0
1

x5
1/42
3/14
1/2

x6
-2/21
1/7
0

-23/42

-19/42

-4/21

x7

b
10/21
9/7
0
Z = 64/21

ptima
Comparacin entre el Mtodo Big M y el Mtodo de las 2 fases.
9
9
9
9

Igual nmero de tablas en general.

Igual nmero de clculos en general.


M problemas en el ordenador
2 fases problemas si hay una o ms variables artificiales = 0 en la base en la ltima tabla de
la 1 fase.

47 - Metodo del Simplex

Eficiencia computacional del Mtodo del Simplex.


9

El nmero de tablas es sensible al nmero de restricciones (Simplex revisado). La rapidez del


simplex depende ms del nmero de restricciones que del nmero de variables.

Problema de minimizar con muchas variables:


ci
>0
>0
>0
...

<0

la primera variable con ci <0 entra la base

9 Otros mtodos:
Elipsoides (KHACHIAN).

Punto interior (Karmarkar).

48 - Metodo del Simplex

49 - Metodo del Simplex

x2 = 6/5
que es solucin de todos los sistemas equivalentes que hemos estado
construyendo. Es una de las infinitas soluciones.

50 - Metodo del Simplex

Definiciones
Un sistema de ecuaciones se dice cannico si en cada ecuacin aparece
una variable bsica, que es aquella que posee en dicha ecuacin coeficiente 1 y
en las otras ecuaciones coeficiente 0.
Las variables que no cumplan esto se llaman variables no bsicas.
x1

x2

+ 2x3
+ 3x3
-5 x3 + x4

+ 3x5 7x6 = 5
+ 2x5 + 1/3 x6 = 4
+ 3 x5 - 20/12 x6 =100/31

x1, x2, x4 variables bsicas


x1 variable bsica respecto a la 1 ecuacin
x2 variable bsica respecto a la 2 ecuacin
x4 variable bsica respecto a la 3 ecuacin
x3, x5, x6 variables no bsicas
por tanto es un sistema de ecuaciones cannico.
Un pivotaje es una sucesin de operaciones elementales que reduce un
sistema de ecuaciones dado a uno equivalente cannico.
Solucin bsica es la solucin que se obtiene de un sistema cannico
eligiendo para las variables no bsicas el valor cero, y resolvindolo para las
bsicas.
(ejemplo anterior)
x3 = x5 = x6 = 0
x1 = 5, x2 = 4, x4 = 100/31
Si los valores de las variables bsicas son no negativos, se llama solucin
factible bsica. (s.f.b)
Si el sistema es:
a11x1 + a12x2 + ... + a1nxn = b1
a21x1 + a22x2 + ... + a2nxn = b2
...
...
am1x1 + am2x2 + ... + amnxn = bm
n>m
n
n de sol bsicas posibles

N combinatorio, aunque sea muy grande


siempre es finito

m
A partir de este sistema, mediante el pivotaje obtenemos un sistema cannico,
por tanto una variable bsica en cada ecuacin. Cada vrtice de la figura es una
solucin factible bsica.

51 - Metodo del Simplex

Tema 2. El mtodo del Simplex.

George B. Dantzig (1947).


http://www2.informs.org/History/dantzig/photo.htm
Esquema bsico de funcionamiento del mtodo del Simplex.
El mtodo del simplex es un procedimiento iterativo para resolver
problemas de programacin lineal (p.p.l.) expresados en forma estndar:
Z = cx
Ax = b (b0)
x0
El mtodo requiere que las ecuaciones de las restricciones conformen un
sistema cannico con una solucin factible bsica fcil de obtener.
PASOS GENERALES:
5. Empezar con una solucin factible bsica (s.f.b.) inicial obtenida del
sistema de ecuaciones expresado en forma cannica.
6. Mejorar dicha solucin si ello es posible.
7. Repetir hasta encontrar la mejor solucin factible bsica (solucin
ptima).

Ejemplo:

Max
Z = 5x1 + 2x2 + 3x3 - x4 + x5
=8
Sujeto a
x1 + 2x2 + 2x3 + x4
+ x5 = 7
3x1 + 4x2 + x3
xi 0 i = 1, ..., 5

est en forma estndar todas las variables son 0


todas las restricciones son igualdades ( = )
las constantes de la derecha son 0
x4 variable bsica de la primera ecuacin
x5 variable bsica de la segunda ecuacin
Solucin bsica inicial:
x4 = 8 0
solucin factible bsica
x1 = x2 = x3 = 0
x5 = 7 0
Tenemos

52 - Metodo del Simplex

Z = 50+20+30-18+17 = -1
Ahora hay que examinar si esta solucin es ptima. Si lo es, hemos
acabado. En caso de que no lo sea, se va a calcular una s.f.b. adyacente (difiere
de la anterior en una variable bsica).

Var Bsica Var NO Bs


Var NO Bs Var Bsica

(>0) (=0)
(=0) (>0)

x1 + 2x2 + 2x3 + x4
=8
3x1 + 4x2 + x3
+ x5 = 7
s.f.b. actual x1 = x2 = x3 = 0
x4 = 4, x5 = 7

variables no bsicas
variables bsicas

Vamos a aumentar x1 manteniendo x2 = x3 = 0


x4
=8
x4 = 8 x1 (*)
x1+
+ x5 = 7
x5 = 7 3 x1 (**)
3x1

x4 = 7, x5 = 4
Si x1=1
Z = 51+20+30-17+14 = 2 No es sol. ptima, hay que calcular una
adyacente
As pues el beneficio relativo de x1,
x1=1 Z = 2 (-1) = 3
El beneficio relativo de una variable no bsica es el cambio que se
produce en la funcin del objetivo por unidad aumentada en dicha variable
no bsica.
(*) x4 = 8 x1
(**) x5 = 7 3 x1

x4 < 0 si x1 > 8
x5 < 0 si x1 > 7/3

x1> 8 y x1 >7/3 son las ecuaciones que limitan el crecimiento de x1


Entonces no podr se mayor del mnimo: mximo valor posible para x1 =
mn{8, 7/3 }.
x1 = 7/3 x5 = 0
x4 = 17/3
Sol. Fact. Bsica adyacente de la
anterior
x2 = x3 = 0
y
Z = 6 el valor de la funcin objetivo aumenta en 7 unidades

Si

53 - Metodo del Simplex

Ahora, de nuevo hay que comprobar si esta s.f.b. es ptima. Si no,


hay que mejorarla.
RESUMEN

(problema de maximizacin)

6. Empezar con una solucin factible bsica inicial obtenida a partir del
sistema de restricciones en forma cannica.
7. Comprobar si la solucin factible bsica es ptima. Para ello calcular
los beneficios relativos de las variables no bsicas (stos representan
el cambio neto en el valor de la funcin del objetivo por unidad
aumentada en dicha variable).
Si estos beneficios relativos (de todas las variables no bsicas) son
0, la solucin actual es ptima. En otro caso, seguir (hasta que se
cumpla lo anterior).
8. Seleccionar una variable no bsica como nueva variable bsica en la
solucin. La regla general ser seleccionar la variable no bsica con
el mayor beneficio relativo.
9. Determinar la variable bsica que sustituya a la no bsica. Esto se
hace mediante la regla de la mnima proporcin:
Examinamos las restricciones. Para aquellas en las que la
variable no bsica tiene coeficiente positivo, el lmite que puede
alcanzar dicha variable viene dado por el cociente entre la constante
de la derecha de dicha restriccin y ese coeficiente positivo.
10. Resolver el nuevo sistema y volver al paso 2.

Si por el contrario el problema es de minimizacin, cambiaran el paso 2 y


el 3:
2. Si todos los beneficios relativos son 0, la solucin actual es ptima.
3. ...seleccionar la variable no bsica con el menor ...

54 - Metodo del Simplex

El mtodo del Simplex por tablas.


Max
Sujeto a

Z = 5x1 + 2x2 + 3x3 - x4 + x5


=8
x1 + 2x2 + 2x3 + x4
+ x5 = 7
3x1 + 4x2 + x3
xi0 i = 1, ..., 5

CB

Cj
Base

5
x1

2
x2

3
x3

-1
x4

1
x5

b ( ctes )

-1
1

x4
x5

1
3

2
4

2
1

1
0

0
1

8
7

De la tabla se obtiene:
variables bsicas = ctes,
x4 = 8
x5 = 7
x1 = x2 = x3 = 0
_
8
Z = CBb = (-1, 1) 7

el resto (no bsicas) = 0.

= -8+7 = -1

Para ver si la s.f.b. es ptima, necesitamos los beneficios relativos de las


variables no bsicas.

c j = c j cB Pj
Columna de

xj

siendo CB el vector de variables bsicas, (-1,1), y cj los coeficientes de la funcin


del objetivo
Solucin ptima si

c j 0 j

(Regla de parada)

55 - Metodo del Simplex

_
1
C1 = 5 (-1,1) 3 = 5 (-1+3) = 3
_
2
C2 = 2 (-1,1) 4 = 2 (-2+4) = 0

beneficio relativo

_
2
C3 = 3 (-1,1) 1 = 3 (-2+1) = 4 (si x3 crece una unidad, Z crece 4)
_
_
C4 = C5 = 0

(siempre son 0, no hace falta calcularlo)

Tabla 1
CB
-1
1

Cj
Base
x4
x5

cj

5
x1
1
3
3

2
x2
2
4
0

3
x3
2
1
4

-1
x4
1
0
0

1
x5
0
1
0

b
8
7
Z = -1

Cj 0 la s.f.b actual no es ptima


Hay que calcular una s.f.b adyacente:
Una v. no bsica entra en la base
Una v. bsica sale de la base
_
Criterio de entrada: max {Cj > 0 } max{3,4}= 4 entra x3 (en la base)
Criterio de salida: mnima proporcin
Min {8/2, 7/1} = 8/2
sale x4
y el 2 es el pivote
Tabla 2.
CB
3
1

Cj
Base
x3
x5

5
x1

5/2

2
x2
1
3

3
x3
1
0

-1
x4

1
x5
0
1

b
4
3

cj

-4

-2

Z = 15

Fila del privote se divide por el pivote


Cualquier otra fila = fila anterior (elemento de la columna del pivote) x
(nueva fila pivote)
D(3,4,1,0,1,7) (1)(,1,1,,0,4) = (3,4,1,0,1,7)-( ,1,1,,0,4) = (5/2,3,0,,1,3)

56 - Metodo del Simplex

D(3,0,4,0,0) (4)(,1,1,,0) = (3,0,4,0,0) - (2,4,4,2,0) = (1,-4,0,-2,0)


_
4
DZ = CBb = (3,1) 3 = 12+3 = 15

Regla del cuadrado:


bc
a' = a
pivote
Nueva

pivote

solucin que se obtiene de la tabla:


x5 = 3
x1= x2 = x4 =0
x3 = 4

4
Z = cB b = (3,1) = 12 + 3 = 15
3

_
Como c1 > 0 la tabla 2 no es ptima.
Criterio de entrada: max{c j > 0} entra x1
Criterio de salida min {4/(), 3/(5/2)} = min {8, 6/5} = 6/5 sale x5 y pivote
5/2
Tabla 3.
CB
3
5

Cj
Base
x3
x1
_
Cj

5
x1
0
1

2
x2
2/5
6/5

3
x3
1
0

-1
x4
3/5
-1/5

1
x5
-1/5
2/5

b
17/5
6/5

-26/5

-9/5

-2/5

Z = 81/5

Todos los c j son 0 sta es la solucin ptima


x1 = 6/5
x2 = 0
x3 = 17/5
Z = 81/5 es el valor ptimo del problema

x 4 = x5 = 0

Resumen (Problema de maximizacin).

8. Expresar el problema en forma estndar.


9. Obtener una s.f. bsica inicial y construir la 1 tabla.
10.
Construir la fila de los c ( c j = c j cB Pj )
j

57 - Metodo del Simplex

11.

Si todos los c j 0, la solucin actual es ptima. En otro caso,


hacer entrar en la base la variable con mayor valor c j positivo.

12.

Aplicar la regla de la mnima proporcin para ver qu variable


deja la base.
13.
Efectuar el pivotaje para obtener la nueva tabla y la nueva
solucin factible bsica.
14.
Volver al paso 4.
Problema de minimizacin (dem. Slo cambia el punto 4)
8. Si todos los c j 0 solucin ptima. En otro caso, entra en la base
aquella variable con valor c j negativo ms pequeo.
Tambin puede tenerse en cuenta que Min Z <=> Max (-Z)

Se resuelve Max (-Z). La solucin de los dos problemas ser la


misma, mientras que el valor de Z ptimo cambia en el signo.
Max Z = 3x1 + 2x2
sujeto a -x1 + 2x2 4
3x1 + 2x2 14
x1 - x2
3
x1, x2 0
pasamos a la forma estndar:
Max Z = 3x1 + 2x2
sujeto a -x1 + 2x2 + x3
=4
3x1 + 2x2
+ x4 = 14
x1 - x2
+ x5 =3
xi 0 i = 1,...,5

CB
0
0
0

Cj
Base
x3
x4
x5
_
Cj

3
x1
-1
3
1

2
x2
2
2
-1

0
x3
1
0
0

0
x4
0
1
0

0
x5
0
0
1

b
4
14
3

Z=0

x1 = 0, x2 = 0, x3 = 4, x4 = 14, x5 = 3
CB
0
0
3

Cj
Base
x3
x4
x1
_
Cj

vrtice A

3
x1
0
0
1

2
x2
1
5
-1

0
x3
1
0
0

0
x4
0
1
0

0
x5
1
-3
1

b
7
5
3

-3

Z=9

x1 = 3, x2 = 0, x3 = 7, x4 = 5, x5 = 0

vrtice B

58 - Metodo del Simplex

Cj
Base
x3
x2
x1
_
Cj

CB
0
2
3

3
x1
0
0
1

2
x2
0
1
0

0
x3
1
0
0

0
x4
- 1/5
1/5
1/5

0
x5
8/5
- 3/5
2/5

b
6
1
4

-1

Z = 14

x1 = 4, x2 = 1, x3 = 6, x4 = x5 = 0
_
Z = 14 Solucin optima (todos los Cj 0)

vrtice C

Equivalencias

Tabla
s.f.b.
vrtice

Tabla siguiente
s.f.b adyacente
vrtice adyacente

59 - Metodo del Simplex

60 - Metodo del Simplex

ptimo alternativo.
En la tabla 3, x5 tiene beneficio relativo cero. Esto significa:
x5 = 1 Z = 0
Si hacemos entrar en la base a x5:
criterio de salida min {6/(8/5), 4/(2/5)} = 30/8 sale x3
Tabla 4:
CB
0
2
3

Cj
Base
x5
x2
x1

3
x1
0
0
1

2
x2
0
1
0

0
x3
5/8
3/8
- 1/4

0
x4
- 1/8
1/8
1/4

0
x5
1
0
0

b
15/4
13/4
5/2

cj

-1

Z = 14

Solucin ptima alternativa: x1 = 5/2,

x2 = 13/4,

x3 = x4 = 0,

x5 = 15/4

En general, una solucin ptima alternativa viene indicada siempre que


exista una variable no bsica cuyo beneficio relativo ( c j ) es cero en la tabla
ptima.
Si los c j de las variables no bsicas son < 0 ptimo nico
(maximizando)
Id.
> 0
id.
(minimizando)

Problemas de clculo.
Empates en la seleccin de variables no bsicas
Si existe ms de una variable con c j >0 mximo se coge uno
cualquiera o el primero de todos (en un problema de maximizacin).
Si existe ms de una variable con c j <0 mximo se coge uno
cualquiera o el primero de todos (minimizacin).
cj . . . .

7 .....5.....7.....3.....

<0 <0 <0


Empates en el criterio de salida.
(empate en la regla de la mnima proporcin)

61 - Metodo del Simplex

Ejemplo:
Max Z = 2x4 + 3/2 x6
+ x4 - x 5
=2
x1
+ 2 x4 + x6 = 4
x2
x3 + x4 + x5 + x6 = 3
xi 0
CB
0
0
0

CB
2
0
0

Cj
Base
x1
x2
x3

0
x1
1
0
0

0
x2
0
1
0

0
x3
0
0
1

2
x4
1
2
1

0
x5
-1
0
1

3/2
x6
0
1
1

b
2
4
3

ci

3/2

Z=0

Base
x4
x2
x3

x1
1
-2
-1

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-1
2
2

x6
0
1
1

b
2
0
1

ci

-2

3/2

Z=4

Solucin factible bsica DEGENERADA


CB
2
0
0

Base
x4
x5
x3

ci

x1
0
-1
1

x2
1/2
1/2
-1

x3
0
0
1

x4
1
0
0

x5
0
1
0

x6
1/2
1/2
0

b
2
0
1

-1

1/2

Z=4

Solucin factible bsica DEGENERADA

Debemos parar o seguir?


es posible?
Tabla n1

Tabla n2

= n1

Esto ltimo se llama ciclaje.


A da de hoy, slo se conocen dos ejemplos de problemas que ciclen.
(Descontando los que aparecen en los exmenes)

62 - Metodo del Simplex

Resumen.
Empate en el criterio de salida s.f.b. degenerada + iteraciones +
trabajo ? ciclaje (en la vida real continuar hasta llegar a la solucin ptima).
Tcnicas que evitan ciclaje las hay, pero no suelen utilizarse.
Probabilidad de encontrarse con un problema que cicle en la vida real =
Probabilidad de encontrarse con un poltico honrado = Probabilidad de que los
extraterrestres te lleven en su platillo = Probabilidad de que el mundo termine
hoy a las 23h41minutos.
Soluciones no acotadas.
Max Z = 2x1 + 3x2
Sujeto a:
x1 - x2 2
-3x1 + x2 4
x1, x2 0
CB
0
0

Cj
Base
x3
x4

2
x1
1
-3

3
x2
-1
1

0
x3
1
0

0
x4
0
1

b
2
4

ci

Z=0

x1 = 0, x2 = 0 (vrtice A)
CB
0
0

Base
x3
x2

x1
-2
-3

x2
0
1

x3
1
0

x4
1
1

b
6
4

ci

11

-3

Z = 12

x1 = 0, x4 = 4 (vrtice B)
Entra x1, y cul sale?
Habra que calcular la regla de la mnima proporcin, pero en x1 son todos
menores de cero, por tanto solucin no acotada.

63 - Metodo del Simplex

En forma de ecuaciones:
-2x1 + x3 + x4 = 6
-3x1 + x2 + x4 = 4
x4 = 0
x3 = 6 + 2x1
x2 = 4 + 3x1

Si x1 crece, x3 y x2 nunca se hacen cero

Fallo en el criterio de salida solucin no acotada.

64 - Metodo del Simplex

Obtencin de una solucin factible bsica inicial: Mtodo de las Dos


Fases y Mtodo de las Penalizaciones.
3.

Mtodo de ensayo y error

4.

Uso de variables artificiales.

Ejemplo:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 11
-4x1 + x2 + 2x3 3
2x1 - x3 = -1
xi 0
Pasamos a la forma estndar:
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3 x5 = 3
-2x1
+ x3
=1
xi 0
No tenemos una variable bsica por ecuacin, por lo tanto no podemos empezar a usar el
simples. x4 es variable bsica, pero x5 no es variable bsica porque tiene coeficiente negativo.
Introducimos variables artificiales:
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3 x5 + x6 = 3
Sistema artificial
-2x1 + x3
+ x7= 1
xi 0
El sistema artificial tiene una solucin factible bsica inicial
x1 = x2 = x3 = 0 x4 = 11
x5 = 0
x6 = 3
x7= 1
pero no es solucin factible bsica del problema de partida.
Ahora bien,
cualquier solucin factible bsica del sistema artificial con las variables artificiales iguales a cero es
solucin factible bsica del sistema de partida.
Por tanto, hay que reducir las variables artificiales para que se hagan cero.

1. MTODO DE LAS PENALIZACIONES O DE LA M (PENALTY METHOD, BIG M).


Se le asigna a las variables artificiales un coste (penalizacin) muy alto en la funcin objetivo.

En nuestro ejemplo:
Min Z = -3x1 + x2 + x3 + M ( variables artificiales) ( x6 y x7 en este ejemplo)
Siendo M un coste muy grande, M>0, M
Min Z = -3x1 + x2 + x3 + M x6 +M x7
(Nota) Max Z = -3x1 + x2 + x3+ (- M) ( variables artificiales)
Siendo (-M) un beneficio muy pequeo, M>0, M

65 - Metodo del Simplex

CB
0
M
M

CB
0
M
1

CB
0
1
1

CB
-3
1
1

Cj
Base
x4
x6
x7

-3
x1
1
-4
-2

1
x2
-2
1
0

1
x3
1
2
1

0
x4
1
0
0

0
x5
0
-1
0

M
x6
0
1
0

M
x7
0
0
1

b
11
3
1

ci

-3+6M

1-M

1-3M

Z = 4M

Base
x4
x6
x3

x1
3
0
-2

x2
-2
1
0

x3
0
0
1

x4
1
0
0

x5
0
-1
0

x6
0
1
0

x7
-1
-2
1

b
10
1
1

ci

-1

1-M

3M-1

Z = M+1

Base
x4
x2
x3

x1
3
0
-2

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-2
-1
0

x6
2
1
0

x7
-5
-2
1

b
12
1
1

ci

-1

M-1

M+1

Z=2

Base
x1
x2
x3

x1
1
0
0

x2
0
1
0

x3
0
0
1

x4
1/3
0
2/3

x5
-2/3
-1
-4/3

x6
2/3
1
4/3

x7
-5/3
-2
-7/3

b
4
1
9

ci

1/3

1/3

M - 1/3

M - 2/3

Z = -2

Zopt = -2

66 - Metodo del Simplex

Notas:
4) Una vez que una variable artificial es reemplazada por una variable real, no es necesario
mantenerla en las tablas
5) Cuando el mtodo termina con una solucin ptima en la que hay una o ms variables artificiales
en la base mayores que cero el problema original no tiene ninguna solucin factible, porque
no podemos encontrar ninguna solucin con las variables del problema de partida
6) En el ordenador M = ? Si el mtodo est programado en ordenador no se trabaja con la letra M.
Hay que asignar un valor a la constante M.
2. MTODO DE LAS 2 FASES (TWO PHASES).
Se resuelve en dos fases:
Fase 1: Se resuelve el problema

Min W = v.artificiales
Sujeto a sistema artificial

Si llegamos a que el valor mnimo es cero W =


v.artificiales(0) = 0 Todas son cero y tenemos una solucin factible
bsica del sistema original.

En caso de que el valor mnimo sea positivo, W > 0 alguna v.artificial es >0 el problema
original no tiene ninguna solucin factible.

Fase 2: La tabla final de la fase 1 pasa a ser la inicial de la fase 2 cambiando la funcin del objetivo por la
original. Se aplica el simplex.
Nota.
cero).

La fase 1 puede terminar con Wopt=0 y alguna variable artificial en la base (que tendr valor

En este caso, se pasa a la fase 2 (escribiendo su Cj=0) y se procede a echarla de la base aunque
para ello se viole el criterio de salida.
En el momento en que haya salido de la base eliminamos su columna.

67 - Metodo del Simplex

Fase 1. (Min W = x6 + x7, sujeto a sistema artificial)


CB
0
1
1

CB
0
1
0

CB
0
0
0

Cj
Base
x4
x6
x7

0
x1
1
-4
-2

0
x2
-2
1
0

0
x3
1
2
1

0
x4
1
0
0

0
x5
0
-1
0

1
x6
0
1
0

1
x7
0
0
1

b
11
3
1

ci

-1

-3

W=4

Base
x4
x6
x3

x1
3
0
-2

x2
-2
1
0

x3
0
0
1

x4
1
0
0

x5
0
-1
0

x6
0
1
0

x7
-1
-2
1

b
10
1
1

ci

-1

W=1

Base
x4
x2
x3

x1
3
0
-2

x2
0
1
0

x3
0
0
1

x4
1
0
0

x5
-2
-1
0

x6
2
1
0

x7
-5
-2
1

b
12
1
1

ci

W=0

x1 = 0, x2 = 1, x3 = 1, x4 =12,

x5 = x6 = x7 = 0

68 - Metodo del Simplex

Fase 2. (y volvemos a la funcin objetivo inicial, es decir, valores iniciales de Cj)


CB
0
1
1

CB
-3
1
1

Cj
Base
x4
x2
x3

-3
x1
3
0
-2

1
x2
0
1
0

1
x3
0
0
1

0
x4
1
0
0

0
x5
-2
-1
0

b
12
1
1

ci

-1

Z=2

Base
x1
x2
x3

x1
1
0
0

x2
0
1
0

x3
0
0
1

x4
1/3
0
2/3

x5
-2/3
-1
-4/3

b
4
1
9

1/3

1/3

Z = -2

ci

x1 = 4, x2 = 1, x3 = 9, x4 = x5 = 0
Ejemplo relativo a la nota anterior:
Max Z = 2x1 + x2 + x3
4x1 + 6x2 + 3x3 8
3x1 - 6x2 - 4x3 - x4 1
2x1 + 3x2 - 5x3 - x4 = 4

Zopt= -2

4x1 + 6x2 + 3x3 + x5


=8
3x1 - 6x2 - 4x3 - x4 + x6 = 1
2x1 + 3x2 - 5x3 - x4 + x7 = 4

(x5 v.holgura)
(x6 v.holgura)
(x7 v.artificial)

Fase 1: Min W = x7
CB
0
0
1

Cj
Base
x5
x6
x7

ci

CB
0
0
1

Base
x2
x6
x7

ci

0
x1
4
3
2

0
x2
6
-6
3

0
x3
3
-4
-5

0
x4
0
-1
-1

0
x5
1
0
0

0
x6
0
1
0

1
x7
0
0
1

b
8
1
4

-2

-3

W=4

x1
2/3
7
0

x2
1
0
0

x3
1/2
-1
-13/2

x4
0
-1
-1

x5
1/6
1
-1/2

x6
0
1
0

x7
0
0
1

b
4/3
9
0

13/2

1/2

W=0

Final fase 1.

69 - Metodo del Simplex

Fase 2
se mantiene
CB
1
0
0

Cj
Base
x2
x6
x7

ci

CB
1
2
0

Base
x2
x1
x7

ci

CB
1
2
1

Base
x2
x1
x3

ci

2
x1
2/3
7
0

1
x2
1
0
0

1
x3
1/2
-1
-13/2

0
x4
0
-1
-1

0
x5
1/6
1
-1/2

0
x6
0
1
0

0
x7
0
0
1

b
4/3
9
0

4/3

1/2

-1/6

Z = 4/3

x1
0
1
0

x2
1
0
0

x3
25/42
-1/7
-13/2

x4
2/21
-1/7
-1

x5
9/126
1/7
-1/2

x6
-2/21
1/7
0

x7
0
0
1

b
10/21
9/7
0

29/42

4/21

-5/14

-4/21

Z = 64/21

x1
0
1
0

x2
1
0
0

x3
0
0
1

x4
1/273
-11/91
2/13

x5
1/39
2/13
1/13

x6
-2/21
1/7
0

x7
25/273
-2/91
-2/13

b
10/21
9/7
0

23/273

-16/39

-4/21

29/273

Z = 64/21

No prestamos atencin
a esta columna
CB
1
2
0

Base
x2
x1
x4

ci

x1
0
1
0

x2
1
0
0

x3
-1/42
11/14
13/2

x4
0
0
1

x5
1/42
3/14
1/2

x6
-2/21
1/7
0

-23/42

-19/42

-4/21

x7

b
10/21
9/7
0
Z = 64/21

ptima
Comparacin entre el Mtodo Big M y el Mtodo de las 2 fases.
9
9
9
9

Igual nmero de tablas en general.

Igual nmero de clculos en general.


M problemas en el ordenador
2 fases problemas si hay una o ms variables artificiales = 0 en la base en la ltima tabla de
la 1 fase.

70 - Metodo del Simplex

Eficiencia computacional del Mtodo del Simplex.


9

El nmero de tablas es sensible al nmero de restricciones (Simplex revisado). La rapidez del


simplex depende ms del nmero de restricciones que del nmero de variables.

Problema de minimizar con muchas variables:


ci
>0
>0
>0
...

<0

la primera variable con ci <0 entra en la base

9 Otros mtodos:
Elipsoides (KHACHIAN).

Punto interior (Karmarkar).

71 - Metodo del Simplex

72 - Metodo del Simplex

Tema 3: Mtodo del Simplex Revisado.

El mtodo revisado o mtodo del simples con multiplicadores: Conceptos bsicos. Vector de Multiplicadores.
Se basa en los mismos principios que el simplex, pero en cada iteracin no se calcula toda la tabla, y la
informacin que se necesita para pasar de una solucin factible bsica a otra se obtiene directamente de las ecuaciones
originales.

Desarrollo del mtodo.


El mtodo del simplex revisado trabaja con la idea fundamental de que cualquier tabla del simplex
correspondiente a una solucin factible bsica puede generarse directamente de las ecuaciones originales por medio de
operaciones matriciales.

Max (o Min) Z = Cx
Ax = b
x0
x1
...
C = (C1, C2, ..., Cn)

1xn

x=

xm

nx1

xn

A=

A=

a11
a21
...

a12
a22
...

...
...
...

a1n
a2n
...

mxn

am1

am2

...

amn

m<n

[ P1

P2

Pn ]

b=

b1
b2
...

mx1

bm

Pj =

a1j
a2j

amj

mx1
j = 1, ..., n

Definicin. Se llama matriz bsica B a una submatriz B de A, formada por m columnas linealmente
independientes.
La idea fundamental del mtodo del simplex revisado se basa en lo siguiente: Supongamos que tenemos una solucin
factible con variables bsicas xi1 ... xim. Asociadas a estas variables, se construye una matriz bsica B como

B = (Pi1 ... Pim)

X b b

= siendo
y la solucin factible bsica asociada como X =
XN 0

matrix m x m

Programacin lineal avanzada - 1

y b pudindose calcular como b = B b y cualquier columna de la tabla del simplex Pj = B Pj


Para saber si la solucin es ptima:
Se llama vector de multiplicadores al vector = (1, 2, ..., m)
= CB B-1
(mxm)
(1xm)
Se calculan los beneficios relativos

c j = c j cB Pj = c j Pj

Programacin lineal avanzada - 2

Ejemplo:
Min Z = -3x1 + x2 + x3
sujeto a x1 2x2 + x3 11
-4x1 + x2 + 2x3 3
2x1
- x3 = -1
xi 0
Min Z = -3x1 + x2 + x3 + Mx6 + Mx7
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3
x5 + x 6
=3
-2x1
+ x3
+ x7 = 1
xi 0
A=

[ P1

P2

P7]

P1 =

1
-4
0

P2 =

-2
1
1

P3 =

P7 =

0
0
1

b=

11
3
1

1
2
0

P4 =

1
0
0

Base inicial { x4, x6, x7} B = (P4 P6 P7 ) =

P5 =

0
-1
0

P6 =

0
0

1
0

0
1

B-1 = I
La tabla 1 del mtodo del simplex revisado ser:
Base
x4
x6
x7

1
0
0

B-1
0
1
0

0
0
1

_
b
11
3
1

A completar ms
adelante

= (1, 2, 3) = CBB-1= (C4, C6, C7) B-1 = (0, M, M)I = (0, M, M)


Los beneficios relativos de las variables no bsicas:
_
Cj = Cj - Pj
j = 1, 2, 3, 5

Programacin lineal avanzada - 3

0
1
0

_
C1 = -3 (0, M, M)

1
-4
-2

= -3 + 6M

_
C2 = 1 (0, M, M)

-2
1
0

=1M

_
C3 = 1 (0, M, M)

1
2
1

= 1 3M

_
C5 = 0 (0, M, M)

0
-1
0

=M

Entra x3 en la base. La columna pivote es:


1

P3 = B P3 = 0

1
=

2
1

Tabla 1.
_
b
11
3
1

B-1

Base
x4
x6
x7

1
0
0

0
1
0

0
0
1

_
Columna pivote P3
1
2
1

Var. que entra


x3

Regla mnima proporcin min{11/1, 3/2, 1/1} sale x7


1
0
0

Nueva base {x4, x6, x3} B = [P4 P6 P3] =

B-1 =
_
b = B-1b = B-1

11
3
1

1
0
0

0
1
0

10
1
1

-1
-2
1

B-1

Base
x4
x6
x3

0
1
0

1
0
0

0
1
0

-1
-2
1

_
b
10
1
1

= CBB-1 = (C4, C6, C3)B-1 = (0, M, 1)B-1 = (0, M, -2M+1)


Programacin lineal avanzada - 4

1
2
1

_
C1 = -3 - (0, M, -2M+1)

1
-4
-2

= -1

_
C2 = 1 M
_
C5 = M

_
entra x2 en la base P2 = B-1 P2 = B-1

-2
1
0

-2
1
0

Tabla 2.
B-1

Base
x4
x6
x3

1
0
0

0
1
0

0
0
1

_
b
10
1
1

_
P2
-2
1
0

var que entra


x2

Regla mnima proporcin min{10/-2, 1/1, 1/0} sale x6


1
0
0

Nueva base {x4, x2, x3} B = [P4 P2 P3] B-1 =


_
b = B-1b =

-5
-2
1

12
1
1

B-1

Base
x4
x2
x3
= (0, 0, 1)

2
1
0

1
0
0

_
C1 = -1 entra x1

1
0
0

2
1
0

-5
-2
1

_
b
12
1
1

2
1
0

-5
-2
1

= (0, 1, -1)

_
P1 =

1
0
0

2
1
0

-5
-2
1

1
-4
-2

_
C5 = 1

Tabla 3.

Programacin lineal avanzada - 5

3
0
-2

B-1

Base
x4
x2
x3

1
0
0

2
1
0

-5
-2
1

_
b
12
1
1

Var que entra


x1

_
P1
3
0
-2

Nueva base {x1, x2, x3}

Tabla 4.
B-1

Base
1

x1
x2
x3
1

= (-3, 1, 1)
_
C4 = 1/3
_
C5 = 1/3

/3
0
2
/3
/3
0
2
/3

/3
1
4
/3
2

/3
1
4
/3

-5/3
-2
-7/3
-5/3
-2
-7/3

_
b
4
1
9
= [-1/3, 1/3, 2/3]

Por lo tanto, la tabla 4 es ptima y la solucin ptima es:


x1 = 4
x2 = 1
x3 = 9
x4 = x5 = 0
_
4
Z = CBb = (-3, 1, 1)
1 = -2
9

Ventajas del mtodo revisado del Simplex sobre el mtodo del Simplex regular.

1. El simplex revisado trabaja sobre una tabla cuyo tamao lo determina el nmero de restricciones.
2.
3.

Si se calcula B-1 en cada iteracin directamente de los datos del principio, no se acumulan errores de
redondeo.
Los conceptos tericos del mtodo ayudan a entender conceptos de teora de la dualidad y anlisis de
sensibilidad.

Programacin lineal avanzada - 6

Tema 4: Teora de la Dualidad.

2x1
La teora de la dualidad se centra en el hecho de que, asociado a cualquier problema de programacin lineal,
existe otro problema de programacin lineal que se llama su dual, de manera que al resolver el primero se resuelve
tambin el segundo sin coste computacional adicional.
Problemas primal-dual simtrico. Propiedades y relaciones de los problemas primal y dual.
Un problema de programacin lineal est escrito en forma simtrica si todas las variables son no
negativas, y todas las restricciones son desigualdades (si el problema es de maximizar, con , y si es de minimizar,
con ).
PRIMAL
Max Z = Cx
Ax b
x0

Min Z = Cx
Ax b
x0

Max Z = (C1, C2, , Cn)

a11
a21
...
am1

x1
x2

xn

a12
a22
...
am2

...
...
...
...

a1n
a2n
...
amn

x1
xn
x1
x2

xn

b1
b2
...
bm

DUAL
Min W = by
yA C
y = (y1, y2, , ym)
y0

Min W = b1y1 + b2y2 + + bmym


Programacin lineal avanzada - 7

a11y1 + a21y2 + ... + am1ym C1


a12y1 + a22y2 + ... + am2ym C2
...
...
...
...
a1ny1 + a2ny2 + ... + amnym Cn

y1, y2, , ym 0

1.
2.
3.
4.
5.
6.

Reglas generales de construccin del problema dual.


Definir una variable dual no negativa por cada restriccin del problema primal.
Hacer que el vector de costes del problema primal pase a ser el vector de las constantes de la derecha del
problema dual.
Hacer que el vector de constantes de la derecha del primal sea el vector de costes del dual.
La traspuesta de la matriz de coeficientes del primal es la matriz de coeficientes del dual.
Invertir la direccin de las desigualdades de las restricciones.
Invertir Maximizar por Minimizar (y viceversa).
Problema Primal
Max Z = Cx
Ax b
x0

Problema Dual
Min W = by
yA C siendo A la matriz
y 0 traspuesta de la matriz A
del problema primal (yA Atyt)

Amxn
x n variables
b m restricciones

y m variables
C n restricciones

Teoremas de la dualidad.
Teorema 1 (Teorema dbil de la dualidad).
Consideremos los problemas de programacin lineal primal-dual simtricos:
Max Z = Cx
Ax b
x0

Min W = yb
yA C
y0

Se tiene que el valor de la funcin del objetivo del problema dual (para toda solucin factible del dual) es
siempre mayor o igual que el valor de la funcin del objetivo primal (en cualquier solucin factible del problema
primal).
Demostracin.
Sean x0 e y0 solucin factible del primal y dual, respectivamente
x0 solucin factible del problema primal Ax0 b
x0 0
(1)
y0 solucin factible del problema dual y0A C
y0 0
(2)
(la solucin factible cumple las restricciones)
(1) y0Ax0 y0b
(2) y0Ax0 Cx0
Entonces

(pues y0 0)
(pues x0 0)
Cx0 y0Ax0 y0b
Z0 (primal)

W0 (dual)

(Z y W funciones objetivo)

Programacin lineal avanzada - 8

Corolarios.
1) El valor de la funcin del objetivo Z del problema primal para cualquier solucin factible del primal es
una cota inferior para el valor mnimo de la funcin del objetivo dual.
2) Anlogamente, el valor de la funcin del objetivo del problema dual para cualquier solucin factible es
una cota superior para el valor mximo de la funcin del objetivo primal.
3) Si el problema primal tiene solucin no acotada entonces el problema dual no tiene ninguna solucin
factible.
4) Anlogamente, si el problema dual tiene solucin no acotada entonces el primal no tiene ninguna
solucin factible.
5) Si el problema primal tiene solucin, y el dual no, entonces el primal es no acotado.
6) Si el problema dual tiene solucin, y el primal no, entonces el dual es no acotado.
7) Si el primal no tiene solucin el problema dual no tiene solucin o es no acotado.
8) Si el problema dual no tiene solucin el problema primal no tiene solucin o es no acotado.

Ejemplo 1.
Primal

Dual

Max Z = x1 + 2x2 + 3x3 + 4 x4


Sujeto a
x1 + 2x2 + 2x3 + 3x4 20
2x1 + x2 + 3x3 + 2x4 20
xi 0
Min W = 20y1 + 20y2
Sujeto a
y1 + 2y2 1
2y1 + y2 2
2y1 + 3y2 3
3y1 + 2y2 4
yi 0

ej.

x0 = (x10, x20, x30, x40)


(1, 1, 1, 1)
Z (x0) = 10
cualquier solucin factible del problema dual verifica W 10 Wopt 10

Ejemplo 2.
Primal

Dual

Max Z = x1 + x2
- x 1 + x2 + x3 2
-2x1 + x2 - x3 1
xi 0
Min W = 2y1 + y2
- y1 - 2y2 1
y1 + y2 1
y1 - y2 0
yi 0

El primal tiene solucin (por ejemplo x0 = (0, 0, 0) es una solucin factible del primal).
Pero el dual no tiene ninguna solucin factible (si yi 0, - y1 - 2y2 siempre 0).
Por el corolario 5, el primal tiene solucin no acotada.
Programacin lineal avanzada - 9

Ejemplo 3.
Primal

Dual

Min Z = -2x1 3x2


x1 - x2 2
- x 1 + x2 1
x1, x2 0
Max W = 2y1 + y2
y1 - y2 -2
- y1 + y2 -3
yi 0

Ambos, primal y dual, no tienen soluciones factibles (corolarios 7 y 8).


Teorema 2 (Criterio de optimalidad).
Si existen soluciones factibles x0 e y0 para el problema primal y dual, respectivamente, tales que Cx0 = y0b
x0 e y0 son soluciones ptimas del problema primal y dual, respectivamente.
Demostracin (ejercicio)

Primal

En el Ejemplo 1
Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a
x1 + 2x2 + 2x3 + 3x4 20
2x1 + x2 + 3x3 + 2x4 20
xi 0

Dual

Min W = 20y1 + 20y2


Sujeto a
y1 + 2y2 1
2y1 + y2 2
2y1 + 3y2 3
3y1 + 2y2 4
yi 0

si tomamos:
x0 = (0, 0, 4, 4)
y0 = (12, 02)

Z0 = 28
W0 = 28

x0 e y0 ptimas del primal y dual respectivamente

Teorema 3 (Teorema fundamental de la dualidad).


Si el problema primal y el dual tienen soluciones factibles, entonces los dos tienen soluciones ptimas cuyos
valores de la funcin objetivo coinciden.
Teorema 4 (Teorema de las holguras complementarias).
Sean x0 e y0 soluciones factibles del problema primal y dual:
Max Z = Cx
Min W = yb
Ax b
yA C
x0
y0
x0 e y0 son soluciones ptimas (y0A C)x0 + y0(b Ax0) = 0
Demostracin.
(y0A - C)x0 + y0(b - Ax0) = 0 y0Ax0 Cx0 + y0b y0Ax0 = 0 - Cx0 + y0b = 0 Cx0 = y0b
Programacin lineal avanzada - 10

Entonces x0 e y0 ptimas Cx0 = y0b


por el teorema 3 de la dualidad
por el teorema 2
Condiciones de holguras complementarias.
Supongamos x0 solucin factible del problema primal e y0 solucin factible del problema dual:
Ax0 b n variables
y0A C m variables
x0 0 m ecuaciones
y0 0
n ecuaciones

x10
x20

xn0

b1
b2

bm

(y10, y20 , , ym0)A (C1, C2, , Cn)

Si lo escribimos con holguras:

x10
x20

xn0

U1 0
U2 0

Um 0

b1
b2

bm

(*)

siendo Ui0 0 i = 1, 2, , m el vector de holguras


(y10, y20 , , ym0)A (V10, V20, , Vn0) = (C1, C2, , Cn)
siendo Vi0 0 i = 1, 2, , n el vector de holguras

(**)

Ax0 + U0 = b U0 = b - Ax0
y0A V0 = C V0 = y0A - C

(*)
(**)

El teorema 4 dice:
x0 e y0 son soluciones ptimas ptimas (y0A - C)x0 + y0(b - Ax0) = 0 V0x0 + y0U0 = 0
x1 0
x2 0

xn 0

(V10, V20, , Vn0)

Vj xj + yj Uj = 0
j=1

j=1

Vj 0 xj 0 = 0

v. primal j-sima

holgura dual j-sima

(y10, y20 , , ym0)


Vj 0xj 0 = 0
yj 0Uj 0 = 0

U1 0
U2 0

=0

Um 0

j=1n
j=1m

yj 0Uj 0 = 0

sistema o condiciones
de holguras
complementarias

holgura primal

v. dual j-sima

Se obtiene:
1) Si xj 0 > 0 Vj 0 = 0
2) Si Vj 0 > 0 xj 0 = 0
3) Si yj 0 > 0 Uj 0 = 0
Programacin lineal avanzada - 11

4) Si Uj 0 > 0 yj 0 = 0
Ejemplo 1:
Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a

x1 + 2x2 + 2x3 + 3x4 20


2x1 + x2 + 3x3 + 2x4 20
xi 0

x + 2x + 2x + 3x + U = 20
2x + x + 3x + 2x + U = 20
1

xi, Ui 0

Min W = 20y1 + 20y2


Sujeto a

y1 + 2y2 1
2y1 + y2 2
2y1 + 3y2 3
3y1 + 2y2 3
yi 0

y + 2y - V = 1
2y + y - V = 2
2y + 3y - V = 3
3y + 2y - V = 4
1

1
1
1

yi, Vi 0

La solucin ptima del dual es:

y10 = 12
y20 = 02
W0 = 28

Condiciones de holgura complementarias:


U1 0 y10 = 0
U2 0 y20 = 0
x1 0 V10 = 0
x2 0 V20 = 0
x3 0 V30 = 0
x4 0 V40 = 0
y10 = 12 > 0 U1 0 = 0
y20 = 02 > 0 U2 0 = 0
y10 + y20 = 16 > 1 V10 > 0 x1 0 = 0
2y10 + y20 = 26 > 2 V20 > 0 x2 0 = 0
2y10 + 3y20 = 3 V30 = 0 x3 0 0
3y10 + 2y20 = 4 V40 = 0 x4 0 0
Y nos queda del sistema de ecuaciones del problema primal:
2x3 0 + 3x4 0 = 20
x3 0 = 4
0
0
3x3 + 2x4 = 20
x4 0 = 4
x0 = (0, 0, 4, 4)

Zopt = 28

(que tiene que coincidir con el valor ptimo de la


funcin objetivo dual)

Problemas asimtricos primal-dual.


Consideremos un problema de programacin lineal no simtrico, por ejemplo:
Primal
Max Z = 2x1 3x2
Sujeto a
6x1 3x2 15
2x1 + 3x2 5
- x1 + 4x2 = -1
Programacin lineal avanzada - 12

x1 cq signo, x2 0
Cualquier problema no simtrico puede convertirse en uno equivalente que s lo sea
Max Z = Cx
Ax b
x0
x1 = x1' x2'
x2 = - x3'
- x1 + 4x2 = -1

x3' 0

x1', x2' 0

- x1 + 4x2 -1 x1 - 4x2 1
- x1 + 4x2 -1

2x1 + 3x2 5 - 2x1 3x2 -5


Max Z = 2x1' 2x2' 3x3'
Sujeto a 6x1' 6x2' + 3x3' 15
-2x1' + 2x2' + 3x3' -5
x1' - x2' + 4x3' 1
- x1' + x2' - 4 x3' -1
xi' 0
Dual
Min W = 15w1 - 5w2 w3 + w4
Sujeto a 6w1 2w2 + w3 - w4 2
-6w1 + 2w2 - w3 + w4 -2
3w1 + 3w2 + 4w3 4w4 3
wi 0
Min W = wb
wA C
w0
Llamamos

y1 = w1 0
y2 = - w2 0
y3 = w3 - w4 0

Min W = 15y1 + 5y2 y3


Sujeto a 6y1 + 2y2 + y3 2
-6y1 2y2 - y3 -2
3y1 3y2 + 4y3 3
Min W = 15y1 + 5y2 y3
6y1 + 2y2 + y3 = 2
3y1 3y2 + 4y3 3
y1 0, y2 0, y3 cq signo

6y1 + 2y2 + y3 = 2
3y1 3y2 + 4y3 3

Max Z = 2x1 3x2


6x1 3x2 15
2x1 + 3x2 5
- x1 + 4x2 = -1
x1 cq signo, x2 0

Programacin lineal avanzada - 13

PRIMAL (Maximizar)
DUAL (Minimizar)
A matriz de coeficientes
Traspuesta
Vector de constantes de Vector de coeficientes
la derecha
de la f. objetivo
Vector de coeficientes Vector de constantes de
de la f. objetivo
la derecha
i-sima restriccin con
Variable i-sima de
=
cualquier signo
i-sima restriccin con Variable i-sima 0

i-sima restriccin con Variable i-sima 0

Variable j de cualquier Restriccin j con =


signo
Variable j 0
Restriccin j con
Variable j 0
Restriccin j con

Programacin lineal avanzada - 14

Ejercicio 1.
Primal
Max Z = x1 + 4x2 + 3x3
2x1 + 3x2 5x3 2
3x1 - x2 + 6x3 1
x1 + x2 + x3 = 4
x1 0, x2 0, x3 cq signo
Dual
Min W = 2y1 + y2 + 4y3
2y1 + 3y2 + y3 1
3y1 - y2 + y3 4
-5y1 + 6y2 + y3 = 3
y1 0, y2 0, y3 cq signo

Ejercicio 2.
Primal
Min Z = 2x1 + x2 - x3
x1 + x2 - x3 = 1
x 1 - x 2 + x3 2
x2 + x3 3
x1 0, x2 0, x3 cq signo
Dual
Max W = y1 + 2y2 + 3 y3
y1 + y2 2
y1 - y2 + y3 1
-y1 + y2 + y3 = -1
y1 cq signo, y2 0, y3 0
Los teorema del 1 al 4 de la teora de la dualidad tambin se aplican a los problemas asimtricos, con las
modificaciones correspondientes.
En el Ejercicio 2:
x1 0 = 2
x2 0 = 0
solucin factible primal
x3 0 = 1
y10 = 1
y20 = 0
y30 = 0

solucin factible dual

Por el teorema 1 de la dualidad Z0 W0 Cx0 = 3 > y0b = 1


En el Ejercicio 1:
x1 0 = 0
x2 0 = 0
x3 0 = 4
Z0 = 12

W0 = 12

solucin factible primal

y10 = 0
y20 = 0
y30 = 3

Programacin lineal avanzada - 15

Por el teorema 2 ambas son soluciones ptimas.


Si el problema viene en forma estndar:
Max Z = Cx
(Min) su dual es
Ax = b
x0

Min W = yb
yA C
y cq signo
Max W = yb
yA C
y cq signo

Programacin lineal avanzada - 16

Clculo de la solucin ptima del problema dual a partir de la tabla ptima del problema primal.
Consideremos el problema de programacin lineal en forma estndar:
Min Z = Cx
(dual) Max W = yb
Ax = b
yA C
x0
y cq signo
xB
Sea x0 =
la solucin ptima del primal.
xN
xB = B-1b, siendo B la base ptima
_
Cj = Cj Pj 0 j por ser solucin ptima donde = CBB-1
En notacin matricial C A 0 A C el vector es una solucin factible del problema dual.
Adems W() = b = CBB-1b = CBxB = Zptimo es ptima del problema dual.
Ejemplo:
Primal
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 11
-4x1 + x2 + 2x3 3
-2x1 + x3 = 1
xi 0
Dual
Max W = 11y1 + 3y2 + y3
y1 - 4y2 2 y3 - 3
-2y1 + y2
1
y1 + 2y2 + y3 1
y1 0, y2 0, y3 cq signo
Resolvemos el problema primal: la solucin ptima es B = [P1 P2 P3]
x1 = 4
x2 = 1
x3 = 9
Z0 = -2
-1
1
1
-2
1
/3 2/3
-1
-4
1
2
= (-3, 1, 1)
0 1
= CBB = (-3, 1, 1)
2
-2
0
1
/3 4/3
Se comprueba que es solucin factible del problema dual y que
W() = 11(-1/3) + 3(1/3) + 1(2/3) = -2

Programacin lineal avanzada - 17

-5/3
-2 = [-1/3, 1/3, 2/3]
-7/3

Cmo ver la solucin dual ptima en la tabla ptima del simplex del problema primal.
Base
Solucin ( b )

_
Cj

Sean {i1, i2, , im} los ndices de las variables bsicas de la primera tabla del Simplex:
1 tabla
Base

x1

x2

xi1

xi2

xi1
xi2

xim

1
0

0
1

xim

xn

0
0

En cualquier tabla, B-1 aparece en las columnas de las variables bsicas iniciales.

En particular, en la ltima tabla:


Base

xi1

xi2

xim

Ci1

Ci2

_ _
_
(Ci1, Ci2, , Cim) = (Ci1, Ci2, , Cim) [Pi1 Pim] =

Programacin lineal avanzada - 18

Cim

1
0

= (Ci1, Ci2, , Cim)

0
1

0
0

_ _
_
= (Ci1, Ci2, , Cim) (Ci1, Ci2, , Cim)

Tema 5: Mtodo del Simplex Dual.

Conceptos fundamentales. Bases factibles dual y primal.


Consideremos un problema de programacin lineal estndar:
Min Z = Cx
Ax = b
x0

Amxn

x=
b=

b1

bm

A = (P1 Pn)
C = (C1, , Cn)
x1

xn

m<n

Sea B A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es
una base factible primal (o base factible del problema primal) si B-1b 0.
Sea B A una submatriz de A formada por m columnas de A linealmente independientes. Se dice que B es
una base factible dual (o base factible del problema dual) si:
C CBB-1A 0 (C CBB-1A 0 si el p. primal fuese de maximizar)
Consecuencias de las definiciones.
Que B sea factible primal significa que se le puede asociar una solucin:
x=

xB
xN

con xB = B-1b 0

Que B sea factible dual significa que C CBB-1A 0 C CBB-1A.


Llamando yB = CBB-1 C yBA yBA C yB as definida es una solucin factible del problema dual.
Adems C yBA 0 .
Como los beneficios relativos del problema primal se calculan como
_
C = C A, = C CBB-1A = C yBA 0 xB = B-1b es una solucin factible y ptima del problema primal.
Luego como Wo = yBb = CBB-1 = CBxB = Zopt
Programacin lineal avanzada - 19

yB y xB son soluciones ptimas del primal y dual.


Resumiendo, si una matriz B es a la vez una base factible primal y dual, sus soluciones asociadas xB = B-1b e
yB = CBB-1 son ptimas del primal y dual, respectivamente.
Desarrollo del mtodo dual del Simplex.
Consideremos el ejemplo
Min Z = x1 + 4x2 + 3x4
Sujeto a:x1 + 2x2 x3 + x4 3
-2x1 - x2 + 4 x3 + x4 2
xi 0
Introducimos variables de holgura x5 y x6:
x1 + 2x2 x3 + x4 - x5 = 3
-2x1 - x2 + 4 x3 + x4 - x6 = 2
xi 0
Multiplicamos por -1:
-x1 - 2x2 + x3 - x4 + x5 = -3
2x1 + x2 - 4 x3 - x4 + x6 = -2
xi 0
Cj

CB

base

x1

x2

x3

x4

x5

x6

0
0

x5
x6

-1
2

-2
1

1
-4

-1
-1

1
0

0
1

-3
-2

cj

B = [P5 P6] = I B-1 = I b = B-1 b 0 pero C - CBB-1A= C = (1,4,0,3,0,0) 0


Luego B no es factible primal (porque 0), pero s factible dual.
_
_
Si tenemos, por tanto, una tabla del Simplex Dual donde Cj 0 y b 0 estaramos ante la solucin ptima.

Programacin lineal avanzada - 20

Situacin general.
Base

x1

x1

xr

xm

xm+1

xs

xn

y1,m+1

y1s

y1n

b1

xr

yr,m+1

yrs

yr n

Alguno
menor
que
cero

xm

1
0

br

yn,m+1

yns

ymn

bm

cn

cj

cm +1

cs

(min)

El mtodo del simplex dual va a calcular una solucin factible bsica dual adyacente, reemplazando una
variable bsica por una variable no bsica.
1. Seleccin de la variable bsica que deja la base.
_
Se elige la variable bsica con el mayor valor negativo bi.
Sea br = min {bi} xr deja la base, y la fila r es la fila pivote.
bi < 0
2. Seleccin de la variable no bsica que entra en la base (Regla de la mxima proporcin).

Entra en la base xs tal que

c
cs
= max j
yrs y rj < 0 yrj

y el valor yrs es el pivote para construir la nueva tabla.


En nuestro ejemplo:
_
1) El mayor valor negativo de los bi es -3 x5 deja la base
_
_
2) Variable no bsica
yij
Cj
Cj/yij
x1
-1
1
-1
x2
-2
4
-2
x4
-1
3
-3
max {-1, -2, -3} = -1 x1 entra en la base y el pivote es -1. Aqu el pivote es negativo.

Programacin lineal avanzada - 21

Tabla 2 del m.s.d.


Cj

CB

base

x1

x2

x3

x4

x5

x6

1
0

x1
x6

1
0

2
-3

-1
-2

1
-3

-1
2

0
1

3
-8

cj

sale x6
proporciones:

_
Cj
2
1
2

yij
-3
-2
-3

x2
x3
x4

-2/3 = -066
-1/2 = -05
-2/3 = -066

max {-066, -05} = -05 entra x3 y el pivote es -2.


Tabla 3 del m.s.d.
CB

base

x1

x2

x3

x4

x5

x6

1
0

x1
x3

1
0

/2
3
/2

0
1

-2
-1

-1/2
-1/2

cj

/2

/2
3
/2
/2

/2

b
7
4

0
0

Z=7

_ _
Tabla ptima Cj y b 0
Solucin ptima del problema de programacin lineal.
OBSERVACIONES.
1.-) Resolucin de problemas de maximizacin por el mtodo del simplex dual.
*La regla de salida es igual
* Cambia la regla de entrada, que ahora va a ser de la mnima proporcin

Entra en la base xs tal que

cj
cs
= min
yrs yrj <0 yrj

2.-) Qu sucede si falla el criterio de entrada? Es decir, todos los yij de la fila de la variable que sale son 0.
Entonces el problema no tiene solucin. Por qu? ejercicio
3.-)
Cmo se puede saber, utilizando el mtodo del simplex dual, que el problema original tiene solucin no
acotada? Ejercicio: pensarlo usando los corolarios 1-8 del teorema 1 de la dualidad

Programacin lineal avanzada - 22

Tema 6: Anlisis de Sensibilidad y Programacin Paramtrica


1. Anlisis de sensibilidad.
Se refiere al estudio de los cambios en la solucin ptima y en el valor ptimo de Z debido a cambios en los
datos del problema inicial, pero sin resolver el problema de nuevo desde el principio.
Ejemplo.
Una compaa fabrica 3 productos A, B y C. Los beneficios por unidad de estos productos son 2, 3 y 1
respectivamente, y para su fabricacin son necesarios 2 recursos: trabajo y material. Supongamos que los valores
ptimos a fabricar de los productos A, B y C se obtienen resolviendo el problema:
Max Z = 2x1 + 3x2 + x3
1
Sujeto a:
/3x1 + 1/3x2 + 1/3x3 1
1
/3x1 + 4/3x2 + 7/3x3 3
xi 0

(trabajo)
(material)

xi unidades a fabricar del producto i


Tabla1

Cj

CB

base

x1

x2

x3

x4

x5

x4
x5

0
0

/3
7
/3

1
0

0
1

1
3

Z=0

0
1

-1/4
7
/4

1
0

-1/4
3
/4

/4

-17/4

-9/4

Z=

x1
x2

1
0

0
1

-1
2

4
-1

-1
1

1
2

cj

-3

-5

-1

Z=8

cj
Tabla2
0
3

/3
1
/3
2

x4
x2

cj

/4
/4

/3
4
/3

/4
/4

27

/4

Tabla3
2
3

x1 = 1

x2 = 2

Zopt = 8 Solucin ptima

Programacin lineal avanzada - 23

P1 =

/3

/3

P2 =

/3

/3

P3 =

/3

1
P4 =

/3

0
P5 =

C = (2,3,1,0,0)
1
b=
3

Max Z = Cx
Ax = b
x0
x1
...
C = (C1, C2, ..., Cn)

1xn

x=

xm

nx1

xn

A=

A=

a11
a21
...

a12
a22
...

...
...
...

a1n
a2n
...

mxn

am1

am2

...

amn

m<n

[ P1

P2

Pn ]

b=

b1
b2
...

mx1

bm

Pi =

a1i
a2i

ami

Supongamos que tenemos una solucin factible obtenida a partir de una base B
La solucin bsica

xB = b = B 1b

Z = CBb

cualquier columna:

Pj = B 1Pj

j de las variables no bsicas

Programacin lineal avanzada - 24

mx1
i = 1, ..., n

= CB B-1
Los beneficios relativos:

c j = c j Pj = c j cB B 1Pj = c j cB Pj

j de variables no bsicas

Programacin lineal avanzada - 25

1. Modificaciones en los coeficientes de la funcin del objetivo.


1.1 Cambio en el Cj de una variable no bsica.
Variable no bsica de inters x3 (forma parte del problema pero no est en la base)
c3 = 3 . Mientras c3 < 0 la solucin actual (x1 y x2 en la base) sigue siendo ptima

1
c3 = c3 c B P3 = c3 (2,3) = c3 4
2

c3 = c3 4 0 c3 4 si c3 > 4 entra x3 en la base


Si, por ejemplo, c3=6 c3 = 2 y haramos una tabla ms:

CB
2
6

base

x1

x2

x3

x4

x5

x1
x3

1
0

/2
/2

0
1

/2
- /2

-1/2
1
/2

2
1

cj

-1

-4

-2

Z = 10

ptima
1.2 Cambio en el Cj de una variable bsica.
Analicemos, por ejemplo, como se altera la tabla ptima modificando C1:
_
_
x1 y x2 estn en la base C1 = C2 = 0
_
_
C3 = C3 - CBP3 = 1 (C1,3)
_
C4 = 0 (C1,3)
_
C5 = 0 (C1,3)

-1
2

= C1 - 5

4
-1

= -4C1 + 3

-1
1

= C1 - 3

_ _ _
La tabla 3 seguir siendo ptima mientras C3, C4 y C5 0 (estamos maximizando).
_
C3 0 C1 - 5 0 C1 5
_
C4 0 -4C1 + 3 0 C1 3/4
_
C5 0 C1 - 3 0 C1 3

si C1 [3/4,3] la tabla 3 sigue siendo ptima, si


nos salimos del intervalo [3/4,3] la tabla ya
no es ptima

Programacin lineal avanzada - 26

3/4
3

/4 3

Si, por ejemplo C1 = 1 la solucin de la tabla 3 (x1 = 1, x2 = 2) sigue valiendo,

1
2

pero cambia Z opt = c B b = (1,3) = 7

Cambio en Cj tanto de variables bsicas como no bsicas.


Hagamos, por ejemplo, C1=1, C2=4, C3=2
En la tabla 3 hay que cambiar
_
_
_
C1 = C2 = 0 (el Ci de las variables bsicas siempre es 0)
_
-1
C3 = 2 (1,4)
= -5 < 0
_
C4 = 0 (1,4)

_
C5 = 0 (1,4)

2
4
=0
-1
-1
= -3 < 0
1

La solucin de la tabla 3 sigue siendo ptima. Ahora Zopt=9 y tendramos una solucin ptima alternativa
haciendo entrar a x4. Si alguno de los ci fuese > 0 la tabla no sera ptima y habra que seguir calculando tablas.
En general, hay que recalcular la fila de los ci . Si la tabla deja de ser ptima, habra que continuar con el
simplex.

Programacin lineal avanzada - 27

2. Modificaciones en las constantes de la derecha de las restricciones.


Como, en cada tabla del simplex:
Base = { xi1, xi2, , xim } B = [Pi1, Pi2, , Pim]

xB = b = B 1b

es el vector solucin

Supongamos que en el problema del ejemplo se puede realizar 1 hora ms de trabajo (b1 crece una unidad).

b 2
b = 1 =
b2 3

b1 = 1 b1 = 2

En la tabla ptima, B = (P1 P2) y B

Luego

4 1

=
1 1

4 1 2 5
=
b = B 1b =
1 1 3 1

As, la nueva solucin ptima es:


x1 = 5
x2 = 1
x3 = 0
Zopt = 13
Entonces, por unidad aumentada en la disponibilidad del recurso 1, el beneficio que se obtiene es: 13-8 = 5 unidades.
Definicin- Se llama precio sombra, marginal o de equilibrio de la restriccin (recurso) i al cambio que se produce
en el valor de la funcin del objetivo por unidad aumentada en la disponibilidad del recurso i.
Se prueba que los precios sombra de los recursos i = 1, , m son la solucin ptima yiopt del dual i = 1, , m
En nuestro caso:
(y1opt,y2opt) =

4 1
= (5,1)
1 1

=CBB-1 = (2,3)

Ahora bien, para que los precios sombra no den informacin errnea, debemos calcular cul es el campo de
variacin de los bi en el que la solucin sigue siendo ptima.
Lo calculamos, por ejemplo, para b1:
b1
b* =
3
Para que la tabla 3 siga siendo ptima, es preciso que B-1b* 0
4
-1
b1
4b1 3
4b1 3 0 b1 3/4
-1
=
0
B b* =
-b1 + 3 0 b1 3
-1
1
3
-b1 + 3
Si b1 [3/4,3] la solucin seguir siendo ptima
Programacin lineal avanzada - 28

x1 = 4b1 3

x2 = -b1 + 3

x3 = 0

Zopt = 2(4b1 3) + 3(-b1 + 3) = 5b1 + 3

13

Sea, por ejemplo b1 = 4, ahora B-1b =

-1

La tabla 3 queda:
base

x1

x2

x3

x4

x5

x1
x2

1
0

0
1

-1
2

4
-1

-1
1

13
-1

cj

-3

-5

-1

Esta tabla no es factible primal, pero s factible dual aplicamos el Mtodo del Simplex Dual:
x2 deja la base y entra x4
base

x1

x2

x3

x4

x5

x1
x4

b
9
1
Zopt = 18

0
0

3. Modificaciones en la matriz de coeficientes de las restricciones.


3.1Adicin de una nueva actividad (variable).
Supongamos que la compaa puede sacar a la venta un nuevo producto D, que requiere 1 unidad de trabajo y
1 unidad de material, con beneficio/unidad = 3.
1
Esto equivale a aadir una variable x6 y una columna en la tabla 1.
_
1
La tabla 3 seguir siendo ptima si es C6 0:

1
c6 = c6 P6 = 3 (5,1) = 3
1
_
Luego la solucin de la tabla 3 sigue siendo ptima. Si C6 > 0 se aplicara el simplex. .
3.2 Variaciones en las condiciones de las variables existentes.
3.2.1 Cambios correspondientes a una variable no bsica.
Se hace como en 3.1
3.2.2 Cambios correspondientes a variables bsicas.
Mejor resolver el problema de nuevo, porque al cambiar la matriz bsica B se cambian todas las
columnas de la tabla.
3.3 Adicin de nuevas restricciones.
Supongamos que se aade una restriccin referente a los servicios administrativos, de tal modo que los
productos A, B y C requieren 1, 2 y 1 hora de servicios respectivamente, mientras las horas totales disponibles son 10.
x1 + 2x2 + x3 10

Programacin lineal avanzada - 29

Si la solucin ptima de la tabla 3 satisface la restriccin, sigue siendo ptima:


11 + 22 + 10 10, cumple la restriccin
Si la restriccin fuese x1 + 2x2 + x3 4:
11 + 22 + 10 4
Aadimos la nueva restriccin a la tabla 3:
CB

base

x1

x2

x3

x4

x5

x6

2
3
0

x1
x2
x6

1
0
1

0
1
2

-1
2
1

4
-1
0

-1
1
0

0
0
1

1
2
4

cj

-3

-5

-1

(3F 1F - 2(2F))
CB

base

x1

x2

x3

x4

x5

x6

x1
x2
x6

1
0
0

0
1
0

-1
2
-2

4
-1
-2

-1
1
-1

0
0
1

1
2
-1

cj

-3

-5

-1

x1
x2
x5

2
1
1
Zopt = 7

En la tabla 3, Zopt = 8 Zopt = -1


Esto siempre es cierto: al aadir una restriccin a un problema de programacin lineal el nuevo valor de la
funcin del objetivo es igual o peor que el anterior.

Observaciones.
Tiempo de resolucin de un p.p.l f(m3), siendo m el nmero de restricciones
A) Quitar restricciones inactivas o secundarias.
B) Resolver
C) Aadir y comprobar si las restricciones de A) son verificadas por la solucin ptima.

Programacin paramtrica.
1.

Costes (Beneficios) paramtricos


Z = [C + C*] x
Ax = b
Programacin lineal avanzada - 30

x0
C = (C1, C2, , Cn)

C = (C1*, C2*, , Cn*)
Primero se resuelve el problema para = 0. Sea B la base ptima:
_
_
_
Cj 0 (Maximizando)
Cj = Cj - CBPj
_
_
_
_ _
_
Cj() = (Cj + Cj*) (CB + CB*)Pj = (Cj - CBPj) + (Cj* - CB* Pj) = Cj + Cj*

Programacin lineal avanzada - 31

Ejemplo:
Max Z = (2 + )x1 + (3 - )x2 + (1 + )x3
1
/3x1 + 1/3x2 + 1/3x3 1
1
/3x1 + 4/3x2 + 7/3x3 3
xi 0
Cj*
Cj

1
2

-1
3

1
1

0
0

0
0

CB*

CB

base

x1

x2

x3

x4

x5

1
-1

2
3

x1
x2

1
0

0
1

-1
2

4
-1

-1
1

1
2

cj

-3

-5

-1

-5

cj

Z = 8 = CBb
Z * = 1 = C B* b

1
= 4
2

Por ejemplo, c3 = c3 c B P3 = 1 (1,1)


*

Z() = Z + Z* = 8 -
_
C3() = -3 + 4 0 3/4
_
C4() = -5 -5 0 -1
_
C5() = -1 + 2 0 1/2
La solucin sigue siendo ptima si [-1, 1/2].
Si > 1/2 c5 () > 0 ( entra x5 y sale x2)
base

x1

x2

x3

x4

x5

x1
x5

1
0

1
1

1
2

3
-1

0
1

3
2

cj

-1

-6

Z=6

-2

-3

Z* = 3

cj

La solucin es ptima si c2 ( ), c3 ( ), c4 ( ) 0 ocurre si 1/2

Programacin lineal avanzada - 32

y Z = 6 + 3

Para < -1 c4 ( ) > 0


base

( sale x1 y entra x4)


x1

x2

x3

x4

x5

x4
x2

0
1

-1/4
7
/4

1
0

-1/4
3
/4

cj

-17/4

-9/4

Z=

cj

/4
/4

/4

/4

11

/4

Z() = 27/4 - 9/4


Solucin ptima si c1 ( ), c3 ( ), c5 ( ) 0

-1

Programacin lineal avanzada - 33

/4

b
/4
/4

27

/4

Z* = -9/4

2.

Variacin paramtrica del vector de recursos.


Z = Cx
Ax = b + b*
x0

b=

b1

bm

b* =

b1*

bm*

Primero resolvemos para = 0. Sea B la base ptima:


_
xB = b = B-1b
_
_ _
Para b + b*, xB = b = B-1(b + b*) = B-1b + B-1b* = b + b*
_
_
Si b + b* 0 la base B seguir siendo ptima.
Ejemplo:
Hagamos b* =

1+
b + b* =

-1

3-

Resolver para = 0:
base

x1

x2

x3

x4

x5

b*

x1
x2

1
0

0
1

-1
2

4
-1

-1
1

1
2

5
-2

cj

-3

-5

-1

Z = 8 = CBb

Z * = 4 = CBb *

_
b = B-1b =

-1

1
=

_
b* = B-1b =

-1

-1

5
=

-1
x1 = 1 + 5
x2 = 2 - 2
Zopt = 8 + 4

-1

-2

0 - 1/5
01
[- 1/5,1]

Si > 1 x2 < 0 y la solucin actual no es factible, pero s factible dual. Usando el Mtodo del Simplex Dual
obtenemos:

CB

base

x1

x2

x3

x4

x5

b*

2
0

x1
x4

1
0

4
-1

7
-2

0
1

3
-1

9
-2

-3
2

cj

-5

-13

-6

Z = 18

Z* = -6

Programacin lineal avanzada - 34

x1 = 9 - 3
x2 = -2 + 2
Z = 18 -6

0 si 3
0 si 1
[1,3]

Si > 3 x1 < 0 y la solucin actual no factible. Como en la fila de x1 no hay coeficientes negativos, el problema es
NO FACTIBLE.
Si < - 1/5 x1 < 0 ( y usamos Mtodo del Simplex Dual: sale x1 y entra x5)
base

x1

x2

x3

x4

x5

b*

x5
x2

-1
1

0
1

1
1

-4
3

1
0

-1
3

-5
3

cj

-1

-2

-9

Z=9

Z* = 9

x2 = 3 + 3

x5 = -1 - 5

si -1 < - 1/5

Z = 9 + 9
Si < -1 x2 < 0 problema NO FACTIBLE

Programacin lineal avanzada - 35

Programacin lineal avanzada - 36

Programacin lineal avanzada - 37

Tema 7. Programacin lineal entera.


Un p.p.l. entera es aquel en el que todas las variables de decisin (programacin entera pura) o algunas de
ellas (programacin entera mixta) toman exclusivamente valores enteros.
Una forma de tratar este problema es el redondeo (quedarse con la parte entera por arriba abajo teniendo
cuidado de que la solucin que as se obtenga sea factible)
Algoritmo de ramificacin y acotacin (Branch and Bound Algorithm).
Maximizar Z

= 3x1+2x2
Sujeto a
x1 2
x2 2
x1+ x2 3.5
x1,x2 0 y enteros.
Soluciones enteras

Z=3x1+2x2

Z(0,0)=0
Z(0,1)=2
Z(0,2)=4
Z(1,0)=3
Z(1,1)=5
Z(1,2)=7
Z(2,0)=6
Z(2,1)=8 ptimo

Algoritmo.
P.entera, transporte y asignacin 1

Primero resolvemos el problema olvidndonos de la restriccin de variables enteras


(PL-1)

Regin factible ABCDE


ptimo

x1 =2, x2=1.5 ZOptimo=9

Sabemos que aadir las restricciones de que las variables sean enteras no puede mejorar la funcin del objetivo.
Tenemos as que Z0=9 es una cota superior para el valor ptimo del problema inicial.
Creamos ahora 2 nuevos problemas

x2=1.5

x21
x22

P.entera, transporte y asignacin 2

PL-2
Maximizar Z

= 3x1+2x2
x1 2
x2 2
x1+ x2 3.5
x2 1
x1,x2 0

PL-3
Maximizar Z

= 3x1+2x2
x1 2
x2 2
x1+ x2 3.5
x2 2
x1,x2 0

PL-2

P.entera, transporte y asignacin 3

PL-3
Regin factible = segmento AB

La solucin ptima de PL-2 es


x1 =2,

x2=1 ZOptimo=8

As tenemos una s.f. entera de PL-1 (Fijarse que cada solucin entera
factible de PL-1 est contenida en PL-2 en PL-3). Aunque PL-2 pueda
contener otras soluciones enteras, sus valores de la funcin objetivo no
pueden ser ms grandes que 8, Z=8 es una cota inferior del valor mximo
de Z en el PL-1.
Luego 8 Zoptimo9
En PL-3 la solucin ptima es
x1 =1.5, x2=2 ZOptimo=8.5

x1 no es factible (no es entero) para PL-1 pero Z=8.5>8, hay que construir 2 nuevos problemas

PL-4
PL-3 + restriccin x1 1

PL-5
PL-3 + restriccin x1 2

P.entera, transporte y asignacin 4

PL-5

No tiene regin factible.

PL-4

Solucin ptima entera:


x1 =1,

x2=2 ZOptimo=7

pero es peor que 8.

Por tanto la solucin ptima es la de PL-2 x1 =2, x2=1 ZOptimo=8


El rbol obtenido es el siguiente:

P.entera, transporte y asignacin 5

DETALLES GENERALES
MIP (Mixed Integer Program)
Maximizar Z = CX
Sujeto a
AX = b

0
X
Xj entera para j perteneciente a I = {ndices de las variables enteras}
Se resuelve el MIP sin condiciones enteras. A este problema le llamamos PL-1 con solucin ptima Z1.
Supongamos que la solucin ptima toma valores no enteros en alguna variable entera, y por lo tanto no es
solucin del MIP. S es, en cambio, una cota superior del valor ptimo de Z en el MIP.
Se elige una variable entera Xj que dio no entera. Si Xj = j, se construyen 2 nuevos problemas:

P.entera, transporte y asignacin 6

PL-2:
Maximizar Z = CX
AX = b
Xj jX0

PL3:
Maximizar Z = CX
AX = b
Xj j+
X0

Para elegir la variable Xj en la que hacer la bifurcacin hay las siguientes reglas:
1). A ojo o al azar.
2). Por prioridades, segn...
La variable representa una decisin importante en el problema.
Su coste (o beneficio) es ms grande que en las dems variables.
Decisin segn resolucin anterior del problema.
Como PL-2 y PL-3 son PL-1 con una nueva restriccin aadida, podemos usar el MSD (Mtodo del Simplex
Dual) para encontrar sus soluciones ptimas.
Supongamos que las soluciones ptimas de PL-2 y de PL-3 siguen siendo fraccionarias. El siguiente paso
consiste en seleccionar PL-2 o PL-3 para hacer una nueva ramificacin. Para ello:
a). Se elige aquel problema cuyo valor ptimo sea el mejor.
b). Se selecciona el problema resuelto ms recientemente (Last-in-First-out rule, LIFO)
Continuamos as la sucesin de ramificaciones y resolucin de p.p.l hasta resolver uno que tenga solucin
entera. El valor de la funcin objetivo en este caso ser una cota inferior del valor ptimo del MIP original. En
este momento podemos dejar de considerar todos aquellos nodos cuyos valores de Z no sean mejores que la
cota inferior. Se dice que esos nodos han sido saturados.
DEFINICIN: un nodo intermedio est explcita o implcitamente saturado siempre que se satisfaga una de
las siguientes condiciones:
1). La solucin ptima del p.p.l correspondiente es entera.
2). El p.p.l correspondiente es no factible.
3). El valor ptimo de Z para el p.p.l correspondiente no es mejor que la cota inferior actual.

P.entera, transporte y asignacin 7

Del rbol mostrado en la figura superior:


El Nodo 4 est saturado. Cualquier solucin del problema MIP no puede ser mejor que esta.
El Nodo 5 est saturado por ser no factible.
Supongamos que Z6 < Z4, el Nodo 6 est saturado implcitamente.
En el caso de que Z7 > Z4, habra que ramificar a partir del Nodo7.
Notas
- La eficacia del mtodo radica en la rapidez con que se saturen los nodos.
- Es importante mantener el nmero de variables enteras lo menor posible.
- Proporcionar cotas ajustadas superiores e inferiores de Zoptimo.
- Al contrario que un p.p.l general, la adicin de nuevas restricciones a un MIP generalmente reducir el
tiempo de computacin, especialmente cuando las nuevas restricciones contengan variables enteras.
- A veces llega con que:
[(CotaSuperior Z - CotaInferior Z) / CotaSuperior Z] < [% pequeo del ptimo continuo]

P.entera, transporte y asignacin 8

Tema 8: Problemas Especiales de Programacin Lineal.

Problemas de Transporte.
Consideremos:
M almacenes con existencias a1, a2, , aM
N mercados con demandas b1, b2, , bN
Sea Cij coste por unidad enviada del almacn i al mercado j
i = 1M
j = 1N
Se trata de calcular la cantidad a enviar desde cada almacn hasta cada mercado minimizando el coste total
del transporte.
ALMACN
MERCADO

Sea xij = n de unidades o cantidad enviada desde el almacn i al mercado j


M N

Funcin objetivo: Min Z = Cij xij


i=1 j=1

Sujeto a:
Las restricciones vienen dadas por las capacidades de los almacenes y las exigencias de los mercados.
1

xij

xi1

xi1 + xi2 + + xij + + xiN


cantidad total
enviada desde el
almacn i-simo

j
ai

i=1,2,,M

existencia
en el almacn
i-simo

P.entera, transporte y asignacin 9

xiN

x1j

xij

x1j + x2j + + xij + + xMj

xMj

j=1,2,,N

bj

cantidad total
que recibe el
mercado j

cantidad
demandada por
el mercado j

M N

Queda Min Z = Cij xij


i=1 j=1

sujeto a: xij ai

i=1M

j=1

xij bj

j=1N

i=1

xij 0

i,j

M+N restricciones

MxN variables

Es evidente que el problema es factible (tiene solucin) si:


M

i=1

j=1

ai bj

almacenado demandado
M

i=1

j=1

Si ai = bj se tiene un problema de transporte estndar:


M N

Min Z = Cij xij


i=1 j=1

sujeto a:

xij = ai
j=1
M

xij = bj
i=1

i=1M
j=1N

xij 0 i,j

Desarrollaremos tcnicas de resolucin para problemas de este tipo, por ello, si no se cumple que:
ai = bj

P.entera, transporte y asignacin 10

por ejemplo si:

i=1

j=1

ai > bj

(I)

(La cantidad enviada es mayor que la cantidad demandada. Habr una cierta cantidad que no se enviar. Se crea
entonces un mercado ficticio, llamado N+1, con demanda precisamente igual a esa cantidad).
1

b1

b2

bN

bN+1
mercado
ficticio

El problema se reescribe:

xi,N+1

i=1

j=1

= ai - bj con Ci,N+1 = 0 i=1N


exceso de mercanca

i=1,,M
lo que sobra en el almacn i

M N+1

Min Z = Cij xij


i=1 j=1

sujeto a:

N+1

xij = ai

i=1M

j=1
M

xij = bj
i=1

i,j

xij 0
Si:

j=1N+1

i=1

j=1

ai < bj

( II )

(La cantidad enviada es menor que la demandada. No se cumplirn todas las demandas y habr una cierta prdida en
algn mercado. Se crea entonces un almacn ficticio, llamado M+1, con la cantidad que falta).

P.entera, transporte y asignacin 11

almacn
ficticio

a1

a2

b1

b2

aM

aM+1

= bj - ai con CM+1,j = 0 y xM+1,j es la


j=1
i=1
la prdida en el mercado j

bN

El problema se reescribe:
M+1 N

Min Z = Cij xij


i=1 j=1

sujeto a:

xij = ai

i=1M+1

j=1

M+1

xij = bj

j=1N

i=1

xij 0

i,j

El problema de Transporte estndar puede expresarse en forma de tabla con los datos (ai, bj, Cij).
1

Almacenes
1

x11

x21

2
x12
C11

C12
x22

C21

C22

Mercados
3
x13
C13
x23
C23

Existencias

x1N
C1N
x12N
C2N

Demandas

a2

xi1

xi2

xi1

Ci1

xiN

Ci2

Ci3

CiN

a1

ai

xM1

xM2
CM1
b1

xMN

xM3
CM2
b2

CM3
b3

CMN

Sumas xij por filas = existencias RESTRICCIONES DE ALMACENAJE


Sumas xij por columnas = demandas RESTRICCIONES DE DEMANDAS

P.entera, transporte y asignacin 12

bN

aM

Obtencin de una solucin factible bsica inicial:


El problema de transporte tiene M+N restricciones una solucin factible bsica necesita, en principio,
M+N variables bsicas.
M N

i=1 j=1

i=1

Ahora bien, dado que xij = ai


M

(sumamos todas las ecuaciones xij = ai)


j=1

j=1N

xij = bj
i=1

N M

j=1 i=1

j=1

xij = bj

= ai
i=1

Sistema de ecuaciones / suma de las M primeras filas = suma de las N restantes


1 ecuacin es linealmente dependiente de las dems El problema de transporte estndar tiene M+N-1
restricciones linealmente independientes Una solucin factible bsica necesita M+N-1 variables bsicas.
Hay diferentes mtodos para resolver la solucin factible bsica inicial, nosotros slo vemos 2.

(1)

Obtencin de una
solucin
factible bsica inicial

(2)

Comprobar si es
ptima
NO

SI

FIN

Se mejora
obteniendo
otra solucin
factible bsica

(3)

(1) Hay varios mtodos: esquina noroeste, coste mnimo, de Vogel, de aproximacin de Russell
(2) Mtodo U-V
(3) Algoritmo de Steeping-Stone
Mtodo de la esquina noroeste.
Consiste en elegir como variables bsicas (>0) aquellas que ocupen la esquina noroeste en la tabla de
transporte estndar.
M1

M2

M3

M4

P.entera, transporte y asignacin 13

capacidades

A1

A2

10

A3

5
15

demandas

b1

b2

b3

b4

= a1
+
= a2
+
= a3

Elegimos x11 = min{3,4} = 3


A1
A2
A3

M1
3

M2
0

M3
0

M4
0

4-3=1

M2
0

M3
0

M4
0

M2
0
3
0
0

M3
0

M4
0

M2
0
3
0
0

M3
0
3

M4
0
0

4-3=1

M2
0
3
0

M3
0
3
1

M4
0
0
4

3-3=0
7
5

Elegimos x21 = min{a2, b1} = min{7,1} = 1


b1 es el b1 despus de restarle lo que enviamos
A1
A2
A3

M1
3
1
0
1-1=0

0
7-1=6
5

Elegimos x22 = min{a2, b2} = min{6,3} = 3


A1
A2
A3

M1
3
1
0
0

0
6-3=3
5

Elegimos x23 = min{b2, a3} = min{3,4} = 3


A1
A2
A3

M1
3
1
0
0

0
0
5

Elegimos x33 = min{a3, b3} = min{1,5} = 1


A1
A2
A3

M1
3
1
0

P.entera, transporte y asignacin 14

0
0
5-1=4

M+N-1 = 4+3-1 = 6 variables bsicas > 0.


Z = 32 + 110 + 38 + 35 + 16 + 48 = 93

Mtodo del coste mnimo.


Consiste en ir eligiendo como variables bsicas (>0) aquellas que tengan menor coste.
A1
A2
A3

M1
2
10
7
4

Menor coste C14 = 1

A1
A2
A3

M2
2
8
6
3

A1
A2
A3

A1
A2
A3

M4
3

M1
0

M2
0

M3
0

3
7
5

M2
0

M3
0

M1
0

M2
0

M3
0
4
0

M1
0

M2
0
0
3

M1
0
2
2
4

0
7
5

x24 = min{7,1} = 1

M1
0

A1
A2
A3

M4
1
4
8
4

x14 = min{3,4} = 3

Menor coste de celdas sin ocupar C24 = 4

A1
A2
A3

M3
2
5
6
4

0
M2
0
0
3
0

M4
3
1
0
1

6
5

0
M4
3
1
0
0

M3
0
4
0
0

M4
3
1
0
0

M3
0
4
0
0

M4
3
1
0
0

P.entera, transporte y asignacin 15

0
7

0
6

2
5

0
2
5

0
2
2

Z = 79

Mtodo de Steeping-Stone (Mejora de la solucin factible bsica inicial).


Primero es preciso saber si la solucin factible bsica inicial es ptima o no. En el ejemplo anterior:
M1

M2

A1

4
5

7
4

1
1

A3

0
10

M4
3

A2

M3

4
0

6
3

6
4

8
4

3
7
5

Actualmente x11 = 0, si hacemos x11 = 1


M1
+1
-1

A1
A2

M4
-1
+1

_
C11 = C11(cambio en x11) + C14(cambio en x14) + C21(cambio en x21) + C24(cambio en x24) = 2(1) + 1(-1) + 10(-1)
+ 4(+1) = -5
beneficio
relativo
de x11
Se pueden calcular todos los beneficios relativos de las variables no bsicas simultneamente, mediante el
mtodo U-V o MODI (Modified Distribution Method).

Mtodo U-V.
Se calculan nmeros:
Ui
i=1M
j=1N
tales que: Cij = Ui + Vj para cada variable bsica
Vj
_
Se tendr que Cij = Cij - (Ui + Vj) para cada variable no bsica.
M1

A3

M3

M4

A1
A2

M2

10

Hacemos
U1 = 0 V4 = 1 U2 = 3 V1 =7 y V3 = 2
_
C11 - (U1 + V1) = 2 (0+7) = -5
_

A1

M4

U1 + V4 = 1
U2 + V1 = 10
U2 + V3 = 5
U2 + V4 = 4
U3 + V1 = 7
U3 + V2 = 6

U3 = 0 V2 = 6

P.entera, transporte y asignacin 16

C12 = 2 - (0 + 6) = -4
_
C13 = 2 (0 + 2) = 0
_
C22 = 8 (3 + 6) = -1
_
C33 = 6 (0 + 2) = 4
_
C34 = 8 (0 + 1) = 7

V1 = 7

V2 = 6

V3 = 2

V4 = 1

U1 = 0

U2 = 3

10

U3 = 0

Las casillas sin marca sern las variables no bsicas.

2-7-0 = -5

2-6-0 = -4

V1 = 7

V2 = 6

-5

U1 = 0

-4
2

-1

U3 = 0

0
2

10

V4 = 1

U2 = 3

V3 = 2

5
4

1
0

4
7

Menor beneficio relativo negativo -5 x11 entra en la base:

+
2-
2
4

3
3

3-
1+

Mximo valor para = 2, porque


sino en x21 pasara a ser negativo
y no puede ser.

3
7
5

(Steeping-Stone)
Nueva solucin factible bsica:
2
0
2

4
3

1
3

Z = 69

P.entera, transporte y asignacin 17

Miramos si es ptima (mtodo U-V)


V1 = 2

V2 = 1
1

U1 = 0

4
10

U3 = 5

V4 = 1

0
2

U2 = 3

V3 = 2

-1

1
4

2
6

Solucin no ptima; entra x33 en la base:


2+
2-

4-
+

3
1

Mximo valor posible para = 1

1-
3+

3
1

Z = 68

y se comprueba que es la ptima.

Problemas de Asignacin.
Formulacin general de un problema de asignacin estndar:
Se tienen N mquinas y N trabajos diferentes. Cada mquina puede realizar un nico trabajo y cada trabajo
slo puede efectuarlo una mquina. Se supone que el coste de realizacin de cada trabajo por cada mquina vara. El
problema consiste en resolver qu trabajo realiza cada mquina de manera que el coste total de realizacin de los N
trabajos sea mnimo.
M1

M2

MN

N mquinas

T1

T2

TN

N trabajos

Mij la mquina i realiza el trabajo j con coste Cij, i = 1N, j=1,N


Si la mquina i no puede realizar el trabajo j se escribir Cij = M con M
Una manera intuitiva de resolver este problema es enumerar todas las posibilidades y calcular Z en ellas.
Cuntas asignaciones posibles hay?
Ej//
Para 2 mquinas y 2 trabajos:
T1

T2

M1

C11

C12

P.entera, transporte y asignacin 18

C21
C22
1 asignacin: M1 T1
M2 T1
M2 T1
Coste = C11 + C22
Coste = C21 + C12
M2

2 asignacin: M1 T2

Formulamos el problema de asignacin como un problema de programacin lineal.


Sea xij =

si la mquina i realiza el trabajo j

no

Dado que cada mquina realiza un nico trabajo:


N

xij = 1 i = 1N
j=1

suma de trabajos que realiza la mquina i


Dado que cada trabajo se le asigna a una nica mquina:
N

xij = 1 j = 1N
i=1

cantidad de mquinas que realizan el trabajo j


Funcin objetivo:

M1
M2

MN

N N

Min

Cij xij

T1
C11
C21

T2
C12
C22

CN1
1

CN2
1

i=1 j=1

TN
C1N
C2N
CNN
1

1
1

Tabla de costes
de asignacin
estndar

En general en un problema de transporte necesitaramos 2N-1 variables bsicas > 0, cuando en los problemas
de asignacin slo habr N variables > 0. No usaremos ni transporte ni simplex porque trabajaramos con soluciones
degeneradas.

Formulacin general de un problema de asignacin no estndar:


a) Hay ms mquinas que trabajos creamos trabajos ficticios con coste de realizacin cero.
b) Hay ms trabajos que mquinas creamos mquinas ficticias con coste de realizacin trabajo/mquina
ficticia = 0.

Mtodo o Algoritmo Hngaro (Knig).


El principio bsico radica en que la asignacin ptima no cambia si se suma o se resta una constante a una
fila o columna de la tabla de costes de asignacin estndar.
P.entera, transporte y asignacin 19

El mtodo consiste en restar una cantidad a las filas y/o columnas de manera que se encuentre una asignacin
ptima a simple vista. Iniciamos el algoritmo examinando cada fila (columna) de la matriz de costes para identificar el
elemento ms pequeo. Esa cantidad se le resta a todos los elementos de dicha fila (columna). Esto origina una tabla
que contiene al menos un cero en cada fila (columna).
Ahora se intenta realizar una asignacin factible usando las celdas con coste cero. Si es posible, se tendr una
asignacin ptima.
Ejemplo:
M1
M2
M3
M4

T1
10
3
2
4

T2
9
4
1
3

T3
8
5
1
5

T4
7
6
2
6

T2
2
1
0
0

T3
1
2
0
2

mnimo = 7
mnimo = 3
mnimo = 1
mnimo = 3

A cada xij le restamos el mnimo de su fila:


T1
3
0
1
1

M1
M2
M3
M4

T4
0
3
1
3

Utilizando los ceros intentamos realizar una asignacin factible:


M1
M2
M3

M4

T4
T1
T2
T3
T2

M3
M4

T3
T2

y sta es la asignacin ptima.


Ejemplo:
4 mquinas, 4 trabajos
M1
M2
M3
M4

T1
10
5
5
2

T2
9
8
4
3

T3
7
7
6
4

T4
8
7
5
5

mnimo = 7
mnimo = 5
mnimo = 4
mnimo = 2

Cogemos el mnimo por filas y se lo restamos:


T1
T2
T3
T4
M1
3
2
0
1
M4
M2 T1
M2
0
3
2
2
T1
M3
1
0
2
1
M4
0
1
2
3
Como dos mquinas estaran realizando el mismo trabajo no sera una asignacin ptima. Cogemos el
mnimo por columnas:
M1 T3
T1
T2
T3
T4
M1
3
2
0
0
M2
0
3
2
1
M3
1
0
2
0
P.entera, transporte y asignacin 20

M4
M2 T1
M3 T2
T4
M4 T1

T4

Lo que se hace ahora es trazar lneas de modo que se cubran todas las celdas con ceros. El teorema de Knig
establece que el nmero mnimo de lneas necesario es igual al nmero mximo de trabajos que pueden asignarse
usando dichas celdas.
M1
M2
M3
M4

T1
3
0
1
0

T2
2
3
0
1

T3
0
2
2
2

T4
0
1
0
2

Ahora se selecciona el elemento ms pequeo no cubierto por las lneas, que en este ejemplo es el 1. Se resta
este nmero de todos los elementos no cubiertos, y se le suma a los cubiertos que sean interseccin de dos lneas.
Es equivalente a
restar 1 de la 2 y 4 fila y sumar 1 a la
T1
T2
T3
T4
1 columna, por lo que la asignacin
M1
4
2
0
0
ptima no vara.
M2
0
2
1
0
M3
2
0
2
0
M4
0
0
1
1
M1

T3
T4

M2

T1
T4

M3

T2
T4

M4

T1
T2

Las asignaciones seran:


M1
M2
M3
M4

T3
T1
T4
T2

M1
M2
M3
M4

T3
T4
T2
T1

Zopt = 20

P.entera, transporte y asignacin 21

También podría gustarte