programacion lineal

34
Introducción a la Programación Lineal

Upload: angel-cisneros-beatraxx

Post on 24-Jul-2015

88 views

Category:

Education


1 download

TRANSCRIPT

Introducción a la Programación Lineal

¿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.

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.

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.

ÍNDICEÍNDICE

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

- 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.

1. Definición

- 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.

1. Definición

- 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.

- 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.

- 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.

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

1. Definición

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)

• No Lineales

(Función Objetivo y/o restricciones no lineales)

• Continuos (Vbles. continuas)

• Enteros (vbles. enteras)

[Entera mixta (vbles. enteras y continuas)]

PROGRAMACIÓN LINEAL

[CONTINUA]

PROGRAMACIÓN ENTERA

1. Definición

Resolución

Programación Lineal Continua

(Métodos exactos)

• SIMPLEX• Primal-Dual• Método de Puntos Interiores

Programación Entera Método Exactos Método aproximados

1. Definición

ÍNDICEÍNDICE

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

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

ÍNDICEÍNDICE

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

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

Objetivo: Maximizar el beneficio

2. Un primer ejemplo 2. Un primer ejemplo2.1. Construcción del modelo

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

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(32) de pasterización

.....

x1 Kgs Estándar consumen 3x1minutos de pasterización

Idéntico análisis para Kgs de Media Sal: 8x2

Consumo Total = 3x1 + 8x2 minutos

Capacidad = 6 horas = 360 minutos

Restricción completa: 3x1 + 8x2 360

2. Un primer ejemplo 2. Un primer ejemplo2.1. Construcción del modelo

Restricciones: Expresión matemática

- Limitación de las horas de pasterización

Misma Unidad

- Análisis equivalente para el resto de restricciones

Objetivo: Maximizar los beneficios:

1 Kg Estándar Beneficio = 10

2 Kg Estándar Beneficio = 102 = 20

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

x1 Kg Estándar Beneficio = 10x1

Idéntico análisis para Media Sal: 15x2

Beneficio Total = 10 * x1 + 15 * x2

Función Objetivo: Expresión matemática

2. Un primer ejemplo 2. Un primer ejemplo2.1. Construcción del modelo

Expresión: Max 10x1 + 15x

2

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:

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

2. Un primer ejemplo 2. Un primer ejemplo2.1. Construcción del modelo

Variables:

Expresiones Lineales

Variables continuas

- Modelo lineal

- Programación lineal continua

ÍNDICEÍNDICE

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

20 30 40 50 60 70 80 90 100 110 120 130 140 15010

10

20

30

40

50

60

70

80

90

100 1 23 8 360x x

x1

x2

1 23 8 360x x

2. Un primer ejemplo 2. Un primer ejemplo2.2. La geometría del modelo

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

1 23 8 360x x

1 23 8 360x x

SEMIESPACIO NO ADMISIBLE

SEMIESPACIO ADMISIBLE

20 30 40 50 60 70 80 90 100 110 120 130 140 15010

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

x1

x2

R2R1R3

Región de admisibilidad

convexa

2 23 8 360x x 1 23 2 180x x 1 23 4 210x x

2. Un primer ejemplo 2. Un primer ejemplo2.2. La geometría del modelo

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

(R1)

(R3)

20 30 40 50 60 7010

10

20

30

40

50

x1

x2

(R2)

1 210 15z x x z=0

z=100

Dirección de máxima mejora

2. Un primer ejemplo 2. Un primer ejemplo2.2. La geometría del modelo

20 30 40 50 60 7010

10

20

30

40

50

x1

x2Óptimo Punto interior

2. Un primer ejemplo 2. Un primer ejemplo2.2. La geometría del modelo

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.

ÍNDICEÍNDICE

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

20 30 40 50 60 7010

10

20

30

40

50

x1

x2

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

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 ejemplo2.3. El álgebra del modelo

m = Número de restricciones

n = Número de variables

Características generales de un vértice

20 30 40 50 60 7010

10

20

30

40

50

x1

x2

V1

V2

V3

V4

V5

x1; x2=0

x2 x1=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

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

2. Un primer ejemplo 2. Un primer ejemplo2.3. El álgebra del modelo

Variables: n=5

Restricciones: m=3

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?

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 ejemplo2.3. El álgebra del modelo

Cómo me desplazo hacia un vértice adyacente?

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

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 vértice destino

Paso 2. Preparar las restricciones para un desplazamiento posterior

• Paso 1: Calcular el vértice 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 ejemplo2.3. El álgebra del modelo

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

36045

8180

902

21052.5

4

x

x

x

2 45x 2 45x

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)

Vértice V2

Valor de la F.O. En V2 = 10x1 + 15x2 = = 0 + 675 = 675

2. Un primer ejemplo 2. Un primer ejemplo2.3. El álgebra del modelo

• 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

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 V21 2 1

1 1 2

1 1 3

1 2 1 2 3

3 145

8 818 2

908 83 1

302 2

, , , , 0

x x h

x h h

x h h

x x h h h

2. Un primer ejemplo 2. Un primer ejemplo2.3. El álgebra del modelo

Para responder a esta pregunta tengo que expresar la F.O.en función de las variables que valen 0 en el vértice.

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 8F 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

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

El vértice al que he llegado es óptimo?

2. Un primer ejemplo 2. Un primer ejemplo2.3. El álgebra del modelo

ÍNDICEÍNDICE

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

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

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

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