Sei sulla pagina 1di 33

1.

INTRODUCCIN A LA PROGRAMACIN LINEAL


1
CAPITULO 1
Introduccin a la Programacin Lineal
Sistemas de Produccin Integrados
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
2
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios

1. INTRODUCCIN A LA PROGRAMACIN LINEAL
3
- Un problema de Programacin Lineal se presenta en entornos
econmicos en el que hay que gestionar una serie de recursos
para realizar una determinada actividad, utilizando para ello un
criterio de tipo econmico.
1. Definicin
- En un problema de Programacin Lineal existen diferentes
soluciones y un criterio para discriminar entre ellas con el objetivo
de encontrar la mejor. A este proceso de bsqueda se le denomina
Optimizacin.
- Optimizar significa poco ms que mejorar; en el contexto cientfico
la optimizacin es el proceso de tratar de encontrar la mejor
solucin posible para un determinado problema. Los problemas de
Programacin Lineal pueden considerarse o denominarse como
problemas de optimizacin, si bien, esta denominacin recoge un
rango ms amplio de problemas.
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
4
1. Definicin
- De forma ms precisa, estos problemas se trata de calcular el
valor de unas variables que estn sujetas a una serie de
restricciones y para las que una determinada funcin objetivo
alcanza su valor mximo o mnimo.
- El criterio o funcin objetivo en un problema PL va referido a la
minimizacin de los costes de la actividad, o a la maximizacin de
beneficios.
- Los problemas de Programacin Lineal se expresan mediante un
conjunto de relaciones matemticas que se conoce como modelo.
- El esfuerzo se centra tanto en la construccin del modelo como en
la resolucin del mismo.
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
5
Un problema de Programacin Lineal est formado por tres
componentes principales:
Un conjunto de variables: Referidas a la actividad que se
desarrolla en el sistema que se quiere optimizar.
Notacin: x
1
, x
2
, x
3
, .
Un conjunto de restricciones: Expresan la relacin entre el
consumo de recursos y las limitaciones de los mismos, as como
toda clase de caractersticas que hay que imponer en el problema y
que estn asociadas a la actividad que se realiza en el sistema.
Ejemplo: x
1
+ x
2
s 3
Una funcin objetivo: Criterio que se desea optimizar
Ejemplo: Maximizar x
1
+ 3x
2

1. Definicin
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
6
Los problemas de optimizacin dependen fundamentalmente para su
resolucin del tipo de variables que forman parte del mismo y del carcter
lineal o no lineal de las restricciones.
Problemas
Lineales
(Funcin Objetivo y
Restricciones lineales)
No Lineales
(Funcin Objetivo y/o restricciones no lineales)
Continuos (Vbles. continuas)
Enteros (vbles. enteras)
[Entera mixta (vbles. enteras y continuas)]
PROGRAMACIN LINEAL
[CONTINUA]
PROGRAMACIN ENTERA
1. Definicin
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
7
Resolucin
Programacin Lineal
Continua
(Mtodos exactos)
SIMPLEX
Primal-Dual
Mtodo de Puntos Interiores
Programacin Entera
Mtodo Exactos
Mtodo aproximados
1. Definicin
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
8
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios

1. INTRODUCCIN A LA PROGRAMACIN LINEAL
9
2. Un primer ejemplo
Un fabricante de mantequilla desea optimizar la produccin diaria de su factora.
Fabrica dos tipos de mantequilla (Estndar y Media Sal). Un Kilo de mantequilla
Estndar proporciona un beneficio de 10 y uno de MediaSal de 15 . Para la
produccin de mantequillas se usan tres procesos, pasterizacin, centrifugado, y
batido. La capacidad de pasterizacin es de 6horas/da, de centrifugado es de
3horas/da y de batido es de 3.5horas/da.
Los tiempos(en minutos) de proceso por cada kilo de mantequilla se recogen en
la siguiente tabla:
Estndar Media Sal
Pasterizacin 3 8
Centrifugado 3 2
Batido 3 4
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
10
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios


1. INTRODUCCIN A LA PROGRAMACIN LINEAL
11
Identificacin de componentes
Variables asociadas a la actividad:
- Cantidad de mantequilla Estndar a producir por da: x
1
- Cantidad de mantequilla Media Sal a producir por da: x
2
Objetivo: Maximizar el beneficio
2. Un primer ejemplo 2. Un primer ejemplo 2.1. Construccin del modelo
Restricciones:
- Limitacin de las horas de pasterizacin
- Limitacin de las horas de centrifugado
- Limitacin de las horas de batido
Recursos:
- Tiempo de pasterizacin
- Tiempo de centrifugado
- Tiempo de batido
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
12
Semntica de la restriccin: Consumo s Capacidad
1 Kg Estndar consume 3 minutos de pasterizacin
2 Kg Estndar consumen 6 minutos(32) de pasterizacin
.....
x
1
Kgs Estndar consumen 3x
1
minutos de pasterizacin
Idntico anlisis para Kgs de Media Sal: 8x
2
Consumo Total = 3x
1
+ 8x
2
minutos
Capacidad = 6 horas = 360 minutos
Restriccin completa: 3x
1
+ 8x
2
s 360
2. Un primer ejemplo 2. Un primer ejemplo 2.1. Construccin del modelo
Restricciones: Expresin matemtica
- Limitacin de las horas de pasterizacin
Misma Unidad
- Anlisis equivalente para el resto de restricciones
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
13
Objetivo: Maximizar los beneficios:
1 Kg Estndar Beneficio = 10
2 Kg Estndar Beneficio = 102 = 20
.............
x
1
Kg Estndar Beneficio = 10x
1

Idntico anlisis para Media Sal: 15x
2
Beneficio Total = 10 * x
1
+ 15 * x
2


Funcin Objetivo: Expresin matemtica
2. Un primer ejemplo 2. Un primer ejemplo 2.1. Construccin del modelo
Expresin: Max 10x1 + 15x2
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
14
Modelo:
x
1
: Kilos de mantequilla Estndar
x
2
: Kilos de mantequilla Media Sal

Funcin Objetivo:
Rest. Recurso pasterizacin:
Rest. Recurso centrifugado:
Rest. Recurso batido:
Signo de las variables:
1 2
1 2
1 2
1 2
1 2
10 15
3 8 360 (R1)
3 2 180 (R2)
3 4 210 (R3)
, 0
Max x x
sujeto a
x x
x x
x x
x x
+
+ s
+ s
+ s
>
2. Un primer ejemplo 2. Un primer ejemplo 2.1. Construccin del modelo
Variables:
Expresiones Lineales
Variables continuas
- Modelo lineal
- Programacin lineal continua
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
15
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios


1. INTRODUCCIN A LA PROGRAMACIN LINEAL
16
20 30 40 50 60 70 80 90 100 110 120 130 140 150 10
10
20
30
40
50
60
70
80
90
100
1 2
3 8 360 x x + s
x
1
x
2
1 2
3 8 360 x x + =
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
Representacin de una restriccin:
- Es un semiespacio del espacio de
2

- El semiespacio se define por la recta que expresa la
restriccin con signo de igualdad
1 2
3 8 360 x x + >
1 2
3 8 360 x x + <
SEMIESPACIO NO ADMISIBLE
SEMIESPACIO
ADMISIBLE
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
17
20 30 40 50 60 70 80 90 100 110 120 130 140 150 10
10
20
30
40
50
60
70
80
90
100
1 2
1 2
1 2
1 2
1 2
10 15
. .
3 8 360 (R1)
3 2 180 (R2)
3 4 210 (R3)
, 0
Max x x
s a
x x
x x
x x
x x
+
+ s
+ s
+ s
>
x
1
x
2
R2
R1 R3
Regin de
admisibilidad
convexa
2 2
3 8 360 x x + = 1 2
3 2 180 x x + =
1 2
3 4 210 x x + =
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
18
1 2
1 2
1 2
1 2
1 2
10 15
. .
3 8 360 (R1)
3 2 180 (R2)
3 4 210 (R3)
, 0
Max x x
s a
x x
x x
x x
x x
+
+ s
+ s
+ s
>
(R1)
(R3)
20 30 40 50 60 70 10
10
20
30
40
50
x
1
x
2
(R2)
1 2
10 15 z x x = +
z=0
z=100
Direccin de
mxima mejora
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
19
20 30 40 50 60 70 10
10
20
30
40
50
x
1
x
2
ptimo = Punto interior
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
Siguiendo la direccin de mxima
mejora desde cualquier punto interior
podr ir a otro punto con mejor valor de
la F.O.
Por tanto, el ptimo debe estar en la
frontera de la regin.
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
20
X
1
V1
V2
V3 V4
o
|
o: ngulo agudo = Mejora
|: ngulo obtuso = Empeoramiento
ptimo e Vrtice
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
ptimo = Punto interior de una arista
*
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
21
X
1
V1
V2
V3
V4
agudo
agudo
agudo
agudo
obtuso
obtuso
obtuso
obtuso
Vrtice ptimo
2. Un primer ejemplo 2. Un primer ejemplo 2.2. La geometra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
22
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
23
20 30 40 50 60 70 10
10
20
30
40
50
x
1
x
2
Variables de holgura
1 2
1 2
1 2
1 2
1 2
10 15
. .
3 8 360 ( )
3 2 180 ( )
3 4
R2
R1
210 ( )
0
R3
,
Max x x
s a
x x
x x
x x
x x
+
+ s
+ s
+ s
>
1 2
1 2 1
1 2 2
1 2 3
1 2 1 2 3
10 15
. .
3 8 360
3 2 180
3 4 210
, , , , 0
Max x x
s a
x x h
x x h
x x h
x x h h h
+
+ + =
+ + =
+ + =
>
V1
V2
V3
V4
V5
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
m = Nmero de restricciones
n = Nmero de variables
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
24
Caractersticas generales de un vrtice
20 30 40 50 60 70 10
10
20
30
40
50
x
1
x
2
V1
V2
V3
V4
V5
x1l;
x2=0
x2l
x1=0
- El nmero de variables (>0) es igual a m
Vbles BSICAS
- El nmero de variables = 0 es igual a (n-m)
Vbles NO BSICAS
- Se intercambian una a una desde un vrtice a
otro adyacente
V1 (x1=0; x2=0; h1>0;h2>0;h3>0)
V2 (x1=0; x2>0; h1=0;h2>0;h3>0)
V3 (x1>0; x2>0; h1=0;h2>0;h3=0)
V4 (x1>0; x2>0; h1>0;h2=0;h3=0)
V5 (x1>0; x2=0; h1>0;h2=0;h3>0)
1 2
1 2
1 2
1 2
1 2
10 15
. .
3 8 360 ( )
3 2 180 ( )
3 4
R2
R1
210 ( )
0
R3
,
Max x x
s a
x x
x x
x x
x x
+
+ s
+ s
+ s
>
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
Variables: n=5
Restricciones: m=3
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
25
Vrtice V1:
x1=x2=0 (n-m)
h1>0; h2>0;h3>0 (m)
Restricciones:
h1=360
h2=180
h3=210
(x1 x2 h1 h2 h3)
(0 0 360 180 210)
Valor de la F.O. en V1 = 0 + 0 = 0
Dos cuestiones:
Cmo me desplazo hacia un vrtice adyacente?
Cmo averiguo si un vrtice es el ptimo?
1 2
1 2 1
1 2 2
1 2 3
1 2 1 2 3
10 15
. .
3 8 360
3 2 180
3 4 210
, , , , 0
Max x x
s a
x x h
x x h
x x h
x x h h h
+
+ + =
+ + =
+ + =
>
Variables: n=5
Restricciones: m=3
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
26
Cmo me desplazo hacia un vrtice adyacente?
EJEMPLO: V1 V2
Me desplazo por la arista hasta topar con el siguiente vrtice
x2l hasta que alguna de las variables que son >0 en V1 se haga = 0
Durante el desplazamiento la otra variable que es = 0 en V1 permanece a 0
en toda la arista
2 1
2 2
2 3
1 2 1 2 3
8 360
2 180
4 210
0, , , , 0
x h
x h
x h
x x h h h
+ =
+ =
+ =
= >
Paso 1. Calcular el vrtice destino
Paso 2. Preparar las restricciones para un desplazamiento posterior
Paso 1: Calcular el vrtice destino
1 2
2 2
3 2
1 2 1 2 3
360 8
180 2
210 4
0, , , , 0
h x
h x
h x
x x h h h
=
=
=
= >
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
27
1
2
3
0
0
0
h
h
h
>
>
>
2
2
2
360 8 0
180 2 0
210 4 0
x
x
x
>
>
>
2
2
2
360
45
8
180
90
2
210
52.5
4
x
x
x
s =
s =
s =
2
45 x s
2
45 x =
2
1 2
2 2
3 2
1
45
360 8 0
180 2 90
210 4 30
0
x
h x
h x
h x
x
=
= =
= =
= =
=
(x1 x2 h1 h2 h3) = (0 45 0 90 30)
Vrtice V2
Valor de la F.O. En V2 = 10x1 + 15x2 =
= 0 + 675 = 675
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
28
Paso 2. Preparar las restricciones para un nuevo desplazamiento:
Hay que realizar transformaciones lineales en las restricciones hasta conseguir
la matriz identidad en las columnas de las variables bsicas del vrtice en el
que me encuentro.
Parto de las expresiones de las restricciones del vrtice anterior
1 2 1
1 2 2
1 2 3
1 2 1 2 3
3 8 360
3 2 180
3 4 210
, , , , 0
x x h
x x h
x x h
x x h h h
+ + =
+ + =
+ + =
>
V1
V1 V2
1 2 1
1 1 2
1 1 3
1 2 1 2 3
3 1
45
8 8
18 2
90
8 8
3 1
30
2 2
, , , , 0
x x h
x h h
x h h
x x h h h
+ + =
+ =
+ =
>
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
29
Para responder a esta pregunta tengo que expresar la F.O.en funcin
de las variables que valen 0 en el vrtice.
1 2 2 1 1 1 1 1 1 1
3 1 3 1 35 15
. . 10 15 [ 45 ] . ( 2) 10 15(45 ) 675
8 8 8 8 8 8
F O x x x x h F O V x x h x h = + = = + = +
Coste relativo = ndice que me indica si el incremento
de esa variable produce mejora en la F.O.
Si ndice > 0 Mejoro si me desplazo por esa arista
Si ndice < 0 Empeoro
x1l Mejoro con tasa 35/8
h1l Empeoro con tasa 15/8
Si en el vrtice al que llego los ndices de la expresin de la F.O. en ese
vrtice son todos negativos (en un problema de maximizar), dicho vrtice es
el ptimo del problema
El vrtice al que he llegado es ptimo?
2. Un primer ejemplo 2. Un primer ejemplo 2.3. El lgebra del modelo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
30
NDICE
1. Definicin
2. Un primer ejemplo
2.1. Construccin del modelo
2.2. La geometra del modelo
2.3. El lgebra del modelo
3. Ejercicios
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
31
3. Ejercicios
Para los sistemas productivos que aparecen a continuacin:
- Obtenga el modelo matemtico del problema
- Represente grficamente las restricciones
- Identifique geomtricamente el vrtice ptimo
- Realice el recorrido algebraico por los vrtices hasta
alcanzar el vrtice ptimo
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
32
3. Ejercicios
Un artesano alfarero desea optimizar la produccin diaria de su taller de
alfarera. Fabrica dos tipos de nforas (Anforas1 y Anforas2). Para ello utiliza un
proceso de produccin simple. Emplea dos tipos de arcilla (arcilla A y arcilla B)
que mezcla en las proporciones adecuadas, les da forma durante un cierto
tiempo y las pone a secar en el horno que posee hasta el da siguiente. El
alfarero vende posteriormente las nforas1 a 100u.m. Y las nforas2 a 250u.m.
El horno posee una capacidad para 144 nforas. Diariamente, dispone de 300
Kg de arcilla A y 16 Kg de arcilla B, y 15 horas de trabajo (l y su hijo).
Las proporciones de arcilla A y B y el tiempo que necesita cada nfora se
recogen en la siguiente tabla:
nforas 1 nforas 2
Arcilla A 1.5 3
Arcilla B 0 0.2
Tiempo 0.1 0.12
Ejercicio 1
1. INTRODUCCIN A LA PROGRAMACIN LINEAL
33
3. Ejercicios
Un fabricante de baldosas desea optimizar la produccin semanal de su factora.
Fabrica dos tipos de baldosas (Estndar y Lujo). Una baldosa Estndar
proporciona un beneficio de 10 y una Lujo de 15 . Para la produccin de
baldosas se usan tres procesos, apomozado, pulido y abrillantado. La capacidad
de apomazado es de 200horas/semana, de pulido es de 80horas/semana y la
de abrillantado de 60horas/semana. Adems, cada baldosa Estndar emplea
25mg de una sustancia para su limpieza por 10 de la baldosa Lujo. Se disponen
de 1,2Kg por semana de esa sustancia.
Los tiempos de pulido y abrillantado(en horas) por cada unidad se recogen en la
siguiente tabla:
Estndar Lujo
Apomazado 0.5 0.45
Pulido 0.3 0.2
Abrillantado 0.15 0.3
Ejercicio 2