2. ¿Qué es la programación lineal?
La Programación Lineal es un procedimiento
o algoritmo matemático mediante el cual se
resuelve un problema indeterminado,
formulado a través de ecuaciones lineales,
optimizando la función objetivo, también
lineal.
3. Consiste en optimizar (minimizar o
maximizar) una función lineal, denominada
función objetivo, de tal forma que las
variables de dicha función estén sujetas a
una serie de restricciones que expresamos
mediante un sistema de inecuaciones
lineales.
4. Los modelos de Programación Lineal por su
sencillez son frecuentemente usados para
abordar una gran variedad de problemas de
naturaleza real en ingeniería y ciencias sociales,
lo que ha permitido a empresas y organizaciones
importantes beneficios y ahorros asociados a su
utilización.
5. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
6. 1. Definición
- Un problema de Programación Lineal se presenta en entornos
económicos en el que hay que gestionar una serie de recursos
para realizar una determinada actividad, utilizando para ello un
criterio de tipo económico.
- En un problema de Programación Lineal existen diferentes
soluciones y un criterio para discriminar entre ellas con el objetivo
de encontrar la mejor. A este proceso de búsqueda se le denomina
Optimización.
- Optimizar significa poco más que mejorar; en el contexto científico
la optimización es el proceso de tratar de encontrar la mejor
solución posible para un determinado problema. Los problemas de
Programación Lineal pueden considerarse o denominarse como
problemas de optimización, si bien, esta denominación recoge un
rango más amplio de problemas.
7. 1. Definición
- El criterio o función objetivo en un problema PL va referido a la
minimización de los costes de la actividad, o a la maximización de
beneficios.
- De forma más precisa, estos problemas se trata de calcular el
valor de unas variables que están sujetas a una serie de
restricciones y para las que una determinada función objetivo
alcanza su valor máximo o mínimo.
- Los problemas de Programación Lineal se expresan mediante un
conjunto de relaciones matemáticas que se conoce como modelo.
- El esfuerzo se centra tanto en la construcción del modelo como en
la resolución del mismo.
8. 1. Definición
Un problema de Programación 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.
Notación: x1, x2, x3, ….
Un conjunto de restricciones: Expresan la relación entre el
consumo de recursos y las limitaciones de los mismos, así como
toda clase de características que hay que imponer en el problema y
que están asociadas a la actividad que se realiza en el sistema.
Ejemplo: x1+ x2 £ 3
Una función objetivo: Criterio que se desea optimizar
Ejemplo: Maximizar x1 + 3x2
9. Los problemas de optimización dependen fundamentalmente para su
resolución del tipo de variables que forman parte del mismo y del carácter
lineal o no lineal de las restricciones.
Problemas
• Lineales
(Función Objetivo y
Restricciones lineales)
• Continuos (Vbles. continuas)
PROGRAMACIÓN LINEAL
[CONTINUA]
• Enteros (vbles. enteras)
[Entera mixta (vbles. enteras y continuas)]
PROGRAMACIÓN ENTERA
• No Lineales
(Función Objetivo y/o restricciones no lineales)
1. Definición
11. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
12. 2. Un primer ejemplo
Un fabricante de mantequilla desea optimizar la producción diaria de su factoría.
Fabrica dos tipos de mantequilla (Estándar y Media Sal). Un Kilo de mantequilla
Estándar proporciona un beneficio de 10 € y uno de MediaSal de 15 €. Para la
producción de mantequillas se usan tres procesos, pasterización, centrifugado, y
batido. La capacidad de pasterización es de 6horas/día, de centrifugado es de
3horas/día y de batido es de 3.5horas/día.
Los tiempos(en minutos) de proceso por cada kilo de mantequilla se recogen en
la siguiente tabla:
Estándar Media Sal
Pasterización 3 8
Centrifugado 3 2
Batido 3 4
13. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
14. 2. 1U. nC opnrismtreurc ecjieómnp dloel m odelo 2. Un primer ejemplo
Identificación de componentes
Variables asociadas a la actividad:
- Cantidad de mantequilla Estándar a producir por día: x1
- Cantidad de mantequilla Media Sal a producir por día: x2
Restricciones:
- Limitación de las horas de pasterización
- Limitación de las horas de centrifugado
- Limitación de las horas de batido
Recursos:
- Tiempo de pasterización
- Tiempo de centrifugado
- Tiempo de batido
Objetivo: Maximizar el beneficio
15. 2. 1U. nC opnrismtreurc ecjieómnp dloel m odelo 2. Un primer ejemplo
Restricciones: Expresión matemática
- Limitación de las horas de pasterización
Semántica de la restricción: Consumo £ Capacidad
1 Kg Estándar consume 3 minutos de pasterización
2 Kg Estándar consumen 6 minutos(3*2) de pasterización
.....
xKgs Estándar consumen 3*xminutos de pasterización
1 1Idéntico análisis para Kgs de Media Sal: 8*x2
Consumo Total = 3*x+ 8*xminutos
1 2 Misma Unidad
Capacidad = 6 horas = 360 minutos
Restricción completa: 3*x1 + 8*x2 £ 360
- Análisis equivalente para el resto de restricciones
16. 2. 1U. nC opnrismtreurc ecjieómnp dloel m odelo 2. Un primer ejemplo
Función Objetivo: Expresión matemática
Objetivo: Maximizar los beneficios:
1 Kg Estándar Þ Beneficio = 10
2 Kg Estándar Þ Beneficio = 10*2 = 20
.............
x1 Kg Estándar Þ Beneficio = 10*x1
Idéntico análisis para Media Sal: 15*x2
Beneficio Total = 10 * x1 + 15 * x2
Expresión: Max 10*x1 + 15*x2
17. 2. 1U. nC opnrismtreurc ecjieómnp dloel m odelo 2. Un primer ejemplo
Modelo:
x1 : Kilos de mantequilla Estándar
x2 : Kilos de mantequilla Media Sal
Función Objetivo:
Rest. Recurso pasterización:
Rest. Recurso centrifugado:
Rest. Recurso batido:
Signo de las variables:
Max x +
x
sujeto a
x x
x x
x x
x x
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
Variables:
Þ Variables continuas
Þ Expresiones Lineales
- Modelo lineal
- Programación lineal continua
18. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
19. 22.. 2U. nL ap rgimeoemr eetjeríma pdleol m odelo 2. Un primer ejemplo
100 1 2 3x + 8x £ 360
Representación de una restricción:
- Es un semiespacio del espacio de Â2
- El semiespacio se define por la recta que expresa la
restricción con signo de igualdad
SEMIESPACIO NO ADMISIBLE
SEMIESPACIO
ADMISIBLE
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
90
80
70
60
50
40
30
20
10
x1
x2
1 2 3x + 8x = 360
1 2 3x + 8x > 360
1 2 3x + 8x < 360
20. 22.. 2U. nL ap rgimeoemr eetjeríma pdleol m odelo 2. Un primer ejemplo
Max x +
x
s a
x x
x x
x x
x x
Región de
admisibilidad
convexa
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
100
90
80
70
60
50
40
30
20
10
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
x1
x2
R2 R3 R1
2 2 1 2 3x + 8x = 360 3x + 2x = 180 1 2 3x + 4x = 210
21. 22.. 2U. nL ap rgimeoemr eetjeríma pdleol m odelo 2. Un primer ejemplo
Max x +
x
s a
x x
x x
x x
x x
1 2
1 2
1 2
1 2
1 2
10 15
. .
3 + 8 £
360 ((R1)
R1)
3 + 2 £
180 (R2)
3 + 4 £
210 ((R3)
, ³
0
Dirección de
máxima mejora
10 20 30 40 50 60 70
50
40
30
20
10
x1
x2
(R2)
1 2 z = 10x +15x
z=100
z=0
22. 22.. 2U. nL ap rgimeoemr eetjeríma pdleol m odelo 2. Un primer ejemplo
10 20 30 40 50 60 70
50
40
30
20
10
x1
x2
Óptimo ¹ Punto interior
Siguiendo la dirección de máxima
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 región.
23. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
24. 22.. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
Max 10 x 15
x
s a
x x
x x
x x
x x
. .
3 8 360 ( )
3 2 180 ( )
3 4
10 20 30 40 50 60 70
50
40
30
20
10
R1
x1
x2
Max 10 x +
15
x
s a
x x h
x x h
x x h
x x h h h
. .
3 + 8 + =
360
3 + 2 + =
180
3 + 4 + =
210
, , , , 0
Variables de holgura
1 2
1 2
1 2
1 2
1 2
R2
210 ( )
0
R3
,
+
+ £
+ £
+ £
³
1 2
1 2 1
1 2 2
1 2 3
1 2 1 2 3
³
V2
V1
V3
V4
V5
m = Número de restricciones
n = Número de variables
25. 22.. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
Características generales de un vértice
Max 10 x 15
x
s a
x x
x x
x x
x x
. .
3 8 360 ( )
3 2 180 ( )
3 4
10 20 30 40 50 60 70
50
40
30
20
10
x1
x2
V2
V1
V3
V4
V5
x1Ý;
x2=0
- El número de variables (³0) es igual a m Þ
Þ Vbles BÁSICAS
- El número de variables = 0 es igual a (n-m) Þ
Þ Vbles NO BÁSICAS
- Se intercambian una a una desde un vértice a
otro adyacente
x2Ý
x1=0
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
R1
R2
210 ( )
0
R3
,
+
+ £
+ £
+ £
³
Variables: n=5
Restricciones: m=3
26. 2. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
Vértice 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:
• Cómo me desplazo hacia un vértice adyacente?
• Cómo averiguo si un vértice es el óptimo?
Max 10 x +
15
x
s a
x x h
x x h
x x h
x x h h h
1 2
. .
3 + 8 + =
360
3 + 2 + =
180
3 + 4 + =
210
, , , , 0
1 2 1
1 2 2
1 2 3
1 2 1 2 3
³
Variables: n=5
Restricciones: m=3
27. 2. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
Cómo me desplazo hacia un vértice adyacente?
Paso 1. Calcular el vértice destino
Paso 2. Preparar las restricciones para un desplazamiento posterior
• Paso 1: Calcular el vértice destino
EJEMPLO: V1 Þ V2
Me desplazo por la arista hasta topar con el siguiente vértice
x2Ý 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
x h
x h
x h
x x h h h
+ =
+ =
+ =
= ³
8 360
2 180
4 210
2 1
2 2
2 3
0, , , , 0
1 2 1 2 3
h x
h x
h x
x x h h h
= -
= -
= -
= ³
360 8
180 2
210 4
0, , , , 0
1 2
2 2
3 2
1 2 1 2 3
28. 22.. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
1
2
3
0
0
0
h
h
h
³
³
³
x
x
x
- ³
- ³
- ³
360 8 0
2
180 2 0
210 4 0
2
2
2
2
2
360 45
8
180 90
2
210 52.5
4
x
x
x
£ =
£ =
£ =
x2 £45 2 x =45
x
h x
h x
h x
x
=
= - =
= - =
= - =
=
2
1 2
2 2
3 2
1
45
360 8 0
180 2 90
210 4 30
0
Vértice V2
(x1 x2 h1 h2 h3) = (0 45 0 90 30)
Valor de la F.O. En V2 = 10x1 + 15x2 =
= 0 + 675 = 675
29. 2. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
• 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 básicas del vértice en el
que me encuentro.
Parto de las expresiones de las restricciones del vértice anterior
x x h
x x h
x x h
x x h h h
+ + =
+ + =
+ + =
3 8 360
1 2 1
3 2 180
1 2 2
3 4 210
1 2 3
, , , , 0
1 2 1 2 3
³
V1
V1 Þ V2
3 x + x + 1 h
=
45
8 1 2 8
1
18 x - 2 h + h
=
90
8 1 8
1 2
3 x - 1 h + h
=
30
2 1 2
1 3
x , x , h , h , h
0
1 2 1 2 3
³
30. 22.. 3U. nE lp árilmgeebrr eaj edmelp mloo d elo 2. Un primer ejemplo
El vértice al que he llegado es óptimo?
Para responder a esta pregunta tengo que expresar la F.O.en función
de las variables que valen 0 en el vértice.
. . 10 15 [ 45 3 1 ] . ( 2) 10 15(45 3 1 ) 675 35 15
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
1 2 2 1 1 1 1 1 1 1
8 8 8 8 8 8
x1Ý ®Mejoro con tasa 35/8
h1Ý ®Empeoro con tasa 15/8
Si en el vértice al que llego los índices de la expresión de la F.O. en ese
vértice son todos negativos (en un problema de maximizar), dicho vértice es
el óptimo del problema
31. ÍÍNNDDIICCEE
1. Definición
2. Un primer ejemplo
2.1. Construcción del modelo
2.2. La geometría del modelo
2.3. El álgebra del modelo
3. Ejercicios
32. 3. Ejercicios
Para los sistemas productivos que aparecen a continuación:
- Obtenga el modelo matemático del problema
- Represente gráficamente las restricciones
- Identifique geométricamente el vértice óptimo
- Realice el recorrido algebraico por los vértices hasta
alcanzar el vértice óptimo
33. 3. Ejercicios
Un artesano alfarero desea optimizar la producción diaria de su taller de
alfarería. Fabrica dos tipos de ánforas (Anforas1 y Anforas2). Para ello utiliza un
proceso de producción 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 día 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
34. 3. Ejercicios
Un fabricante de baldosas desea optimizar la producción semanal de su factoría.
Fabrica dos tipos de baldosas (Estándar y Lujo). Una baldosa Estándar
proporciona un beneficio de 10 € y una Lujo de 15 €. Para la producción 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. Además, cada baldosa Estándar 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:
Estándar Lujo
Apomazado 0.5 0.45
Pulido 0.3 0.2
Abrillantado 0.15 0.3
Ejercicio 2