mate 3012 simplex max

Post on 13-Dec-2014

76 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Método Simplex – maximización estándar

MATE 3012

Programación Lineal - vocabulario

1. Función objetivo - una función que expresa la cantidad a ser maximizada o minimizada en términos de las otras variables.

2. Restricción - una condición o limitación que se aplica a la elección de valores para las variables.

3. Problema de maximización estándar - un problema de programación lineal para la cual la función objetiva función debe ser maximizada y todas las restricciones son desigualdades de la forma “menor-o-igual-a (≤)

4. Variable de holgura (slack variable) - una variable que se utiliza para convertir un " menor-o-igual-a” en una ecuación.

5. Matriz aumentada - una matriz que representa un sistema de ecuaciones lineales.

Programación Lineal – vocabulario (continuación).

6. Solución óptima - el conjunto de variables con valores distintos de cero que maximizan o minimizan la función objetiva.

7. Variable básica - una variable que forma parte de la solución óptima del problema .

8. Columna pivote - la columna de la tabla simplex que representa una variable que entrará en la solución óptima.

9. Fila pivote - la fila de una tabla simplex que representa la variable que sale de la solución óptima

10. elemento pivote o pivote- el elemento que se encuentra en la intersección de la columna pivote y la fila pivote.

Problema de maximización estándar Un problema de maximización de programación lineal está en la forma estándar, si la función objetiva

𝑤 = 𝑐1𝑥1 + 𝑐2𝑥2 + 𝑐3𝑥3 +⋯+ 𝑐𝑛𝑥𝑛 debe ser minimizada, sujeto a las restricciones

El procedimiento básico utilizado para resolver este tipo de problema es aplicar el método Simplex.

Problema de Programación Lineal

La empresa Cannon Hill produce muebles: sillas y mesas. • Cada mesa toma 4 horas de

mano de obra y 2 horas de acabado. • Cada silla requiere 3horas de carpintería y 1

hora de terminaciones. • Hasta ahora se tienen disponibles 240 horas de

tiempo de carpintería y 100 horas de tiempo de acabado.

• Cada mesa producida da una ganancia de $70 y cada silla una ganancia de $50.

• ¿Cuántas sillas y mesas debe hacer para maximizar ganancias?

Construcción del Modelo

• Variables de decisión • x: cantidad de mesas construidas en Cannon Hill

• y: cantidad de sillas construidas en Cannon Hill

• Función-objetiva • El objetivo es maximizar el ganancia.

50y 70x P

• Conjunto de restricciones

4 x + 3 y ≤ 240 (restricción de mano de obra para carpintería)

2 x + y ≤ 100 (restricción de mano de obra para acabado)

x ≥ 0 , y ≥ 0 (restricción de mano de no-negatividad)

4𝑥 + 3𝑦 + 𝑠1 = 2402𝑥 + 𝑦 + 𝑠2 = 100

𝑥 ≥ 0, 𝑦 ≥ 0, 𝑠1 ≥ 0, 𝑠2 ≥ 0

Procedimento de Método Simplex

Paso 1: cada desigualdad (≤) se convierte en un ecuación

introduciendo una variable de holgura (slack variable). Las variables de holgura representan las horas que sobran para carpintería y acabado sino se utilizan todas.

Armar la tabla simplex

• Paso 2: Despejar la función objetiva(todas las variables al lado izquierdo).

4𝑥 + 3𝑦 + 𝑠1 = 2402𝑥 + 𝑦 + 𝑠2 = 100𝑃 − 70𝑥 − 50𝑦 = 0

𝑥 ≥ 0, 𝑦 ≥ 0, 𝑠1 ≥ 0, 𝑠2 ≥ 0

• Paso 3: Tabla para cálculos.

Variables que

entran a

la

solución x y s1 s2 constantes

s1

s2

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

En las columnas aparecerán todas las variables del problema y en las filas, los coeficientes de las ecuaciones obtenidas.

4𝑥 + 3𝑦 + 𝑠1 = 2402𝑥 + 𝑦 + 𝑠2 = 100𝑃 − 70𝑥 − 50𝑦 = 0

1ra Iteración:

Paso 1: Deteminar cuál variable debe entrar a la solución

Para escoger la variable de decisión que entra a la solución óptima, observamos la fila que muestra los coeficientes de la función objetiva y escogemos la variable con el coeficiente más negativo. (Esta es la variable que aporta más a las ganancias.) columna pivote

Variables que

entran a

la

solución x y s1 s2 constantes

s1

s2

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

Paso 2: Deteminar cuál variable debe salir de la solución

Para encontrar la variable de holgura que tiene que salir de la solución , se divide cada término de la última columna (valores constante) entre el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero .

Variables que

entran a

la

solución x y s1 s2 constantes

s1

s2

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

Pivote

Paso 2: Deteminar cuál variable debe salir de la solución (continuación).

El término de la columna pivote que en la división anterior dé lugar al menor cociente positivo, indica la fila de la variable de holgura que sale de la base, s2. Esta fila se llama fila pivote.

502/100

604/240

Variables que

entran a

la

solución x y s1 s2 constantes

s1

s2

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

• Paso 3: 1ra operación sobre las fila pivote

Los nuevos coeficientes de la fila pivote se obtienen dividiendo todos los coeficientes de la fila pivote entre el elemento pivote, “2”.

Pivote

Variables que

entran a

la

solución x y s1 s2 constantes

s1

s2

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

1 0.5 0 0.5 50 x

• Paso 4: Usar operaciones sobre las filas para que todos los elementos de la columna pivote sean 0, excepto el pivote.

Lograr ceros en estas posiciones usando fila pivote.

Variables que

entran a

la

solución x y s1 s2 constantes

s1

x

P

4 3 1 0 240

2 1 0 1 100

-70 -50 0 0 0

1 0.5 0 0.5 50

124 RR

3270 RR

Asi, obtenemos el siguiente cuadro:

• Fin de la primera iteración. • Hasta aquí se sabe que 50 mesas van a

contribuir $3500 de ganancia. • Sobran 40 horas de carpintería , por lo

tanto debe haber una solución mejor. • Repetimos el proceso.

Variables que

entran a

la

solución x y s1 s2 constantes

s1

x

P

0 1 1 -2 40

2 1 0 1 100

0 -15 0 35 3500

1 0.5 0 0.5 50

La solución hasta ahora es:

2da iteración:

Paso 1: Nuevamente, para escoger la variable de decisión que entra a la solución, observamos la fila que muestra los coeficientes de la función objetiva y escogemos la variable con el coeficiente más negativo.

Variables que

entran a

la

solución x y s1 s2 constantes

s1

x

P

0 1 1 -2 40

2 1 0 1 100

0 -15 0 35 3500

1 0.5 0 0.5 50

2da iteración:

Variables que

entran a

la

solución x y s1 s2 constantes

s1

x

P

0 1 1 -2 40

2 1 0 1 100

0 -15 0 35 3500

1 0.5 0 0.5 50

Paso 2: Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores constantes) entre el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero . Sale la variable que da la razón menor.

1005.0/50

401/40

2da iteración:

Variables que

entran a

la

solución x y s1 s2 constantes

y

x

P

0 1 1 -2 40

2 1 0 1 100

0 -15 0 35 3500

1 0.5 0 0.5 50

Paso 3: 1ra operación sobre filas: dividir cada elemento de la fila pivote entre el elemento pivote. En este caso como el pivote es 1, brincamos este paso.

2da iteración:

Variables que

entran a

la

solución x y s1 s2 constantes

y

x

P

0 1 1 -2 40

2 1 0 1 100

0 -15 0 35 3500

1 0.5 0 0.5 50

Paso 4: Operaciones sobre filas para lograr ceros en la columna pivote.

Lograr ceros en estas posiciones usando fila pivote.

215.0 RR

3115 RR

2da iteración:

Variables que

entran a

la

solución x y s1 s2 constantes

y

x

P

0 1 1 -2 40

2 1 0 1 100

0 0 15 5 4100

1 0 -0.5 1.5 30

Como ya las entradas de la última fila son positivas, hemos terminado.

La solución ahora es:

Solución óptima

Se deben construir:

30 mesas

40 sillas

Ganancia máxima = $4100

No sobran horas de carpintería ni de acabado

Método simplex para problemas de maximización estándar (resumen)

Para solucionar un problema de maximización estándar por el método simplex, seguimos los siguientes pasos:

1. Seleccione la columna pivote (la columna con el elemento "más negativo" en la fila de la función objetivo).

2. (Esta variable ENTRA a la solución.)

3. Seleccione la fila pivote (la fila con el resultado no negativo más pequeño, cuando el último elemento de la fila se divide entre el elemento correspondiente en la columna pivote).

(Esta variable SALE de la solución.)

4. Calcular los nuevos valores de la fila pivote (dividir cada valor en la fila entre el pivote).

5. Utilice operaciones de fila para que todos los números en la columna pivote sean igual a 0, excepto el pivote.

6. Repetir el proceso hasta que todos los valores en la última fila sean positivos.

Método simplex para problemas de maximización estándar (aclaraciones)

1. Cuando se determina el valor más negativo en el último renglón no considere la entrada más hacia la derecha.

2. Si hay más que un candidato para la columna pivote (empate), escoja cualquiera.

3. Para determinar la fila pivote, use solamente entradas positivas en la columna pivote (no considere negativos.)

4. Si NO hay números negativos en el último renglón (excluyendo la entrada más hacia la derecha), entonces está terminado el proceso.

Problema de PL - maximización

Un empresario dedicado a vender barcos hizo las siguientes observaciones: • un modelo común produce una ganancia de $520 • un modelo llamado rápido produce un beneficio

de $ 450. • el modelo común requiere 40 horas para

construir y 24 horas para terminaciones. • cada modelo rápido requiere de 25 horas para la

construcción y 30 horas para terminaciones. • Este empresario cuenta con 400 horas de trabajo

al mes para la construcción y 360 horas para terminaciones.

• ¿De qué forma se podrá producir cada uno de los modelos con el fin de maximizar el beneficio?

Construcción del Modelo

• Variables de decisión • x1: cantidad de barcos del Modelo Común

• x2: cantidad de barcos del Modelo Rápido

• Función-objetiva • El objetivo es maximizar el lucro.

21 450520 xxZ

• Conjunto de restricciones

1 240x 25x 400

1 224x 30x 360

Modelo

Restricciones de

no-negatividad

Maximizar Z= 520𝑥1 + 450𝑥2

sujeto a: 40𝑥1 + 25𝑥2 ≤ 40024𝑥1 + 30𝑥2 ≤ 360𝑥1 ≥ 0, 𝑥2 ≥ 0

Z= 520𝑥1 + 450𝑥2 + 0𝑠1 + 0𝑠2

40𝑥1 + 25𝑥2 + 𝑠1 = 40024𝑥1 + 30𝑥2 + 𝑠2 = 360

𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑠1 ≥ 0, 𝑠2 ≥ 0

Procedimento de Método Simplex

Paso 1: Introducir una variables de holgura para cada restricción en el sistema y para la función objetiva.

Preparar la tabla simplex:

Paso 2: Despejar la función objetiva(todas las variables al lado izquierdo).

Z−520𝑥1 − 450𝑥2 − 0𝑠1 − 0𝑠2 = 0

40𝑥1 + 25𝑥2 + 𝑠1 = 40024𝑥1 + 30𝑥2 + 𝑠2 = 360

𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑠1 ≥ 0, 𝑠2 ≥ 0

• Paso 3: Tabla para cálculos.

Solución x1 x2 s1 s2 Constantes

s1

s2

Z

40 25 1 0 400

24 30 0 1 360

-520 -450 0 0 0

En las columnas aparecerán todas las variables del problema y en las filas, los coeficientes de las ecuaciones obtenidas. Se coloca una fila para cada restricción y la una fila con los coeficientes de la función objetivo:

40𝑥1 + 25𝑥2 + 𝑠1 = 40024𝑥1 + 30𝑥2 + 𝑠2 = 360

Z−520𝑥1 − 450𝑥2 − 0𝑠1 − 0𝑠2 = 0

Solución x1 x2 s1 s2 Constantes

s1 40 25 1 0 400

s2 24 30 0 1 360

Z -520 -450 0 0 0

1ra Iteración:

Paso 1: Determinar cuál variable debe en la solución

Para escoger la variable de decisión que entra en la base, observamos la fila que muestra los coeficientes de la función objetiva y escogemos la variable con el coeficiente más negativo.

Solución x1 x2 s1 s2 Constantes

s1 40 25 1 0 400

s2 24 30 0 1 360

Z -520 -450 0 0 0

Paso 2: Determinar cuál variable debe salir de la solución

Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores solución) por el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero .

1040/400

1524/360

Solución x1 x2 s1 x4

x1 40 25 1 0 400

s2 24 30 0 1 360

Z -520 -450 0 0 0

Pivote

Paso 3: Operaciones sobre filas

Los nuevos coeficientes de la fila pivote se obtienen dividiendo todos los coeficientes de la fila entre el pivote operacional “40”, ya que este se debe convertir en 1.

140

1R

1ª operación: Dividir a 1ª fila entre 40.

Solución x1 x2 s1 s2 Constantes

x1

s2

Z

1 0.625 0.025 0 10

24 30 0 1 360

-520 -450 0 0 0

Lograr ceros en estas posiciones usando fila pivote.

2124 RR

31520 RR

Asi, obtenemos el siguiente cuadro:

Solución x1 x2 s1 s2 Constantes

x1

s2

Z

1 0.625 0.025 0 10

0 15 -0.6 1 120

0 -125 13 0 5200

• Fin de la primera iteración. • Hasta aquí se sabe que 10 botes del

modelo común van a contribuir $5200 de

ganancia.

• Sobran 120 horas de acabado, por lo

tanto debe haber una solución mejor.

• Repetimos el proceso.

𝑥1𝑥2𝑠1𝑠2𝑍

=

10001205200

La solución ahora es:

2da Iteración:

Solución x1 x2 s1 s2 Constantes

x1

s2

Z

1 0.625 0.025 0 10

0 15 -0.6 1 120

0 -125 13 0 5200

Nuevamente, para escoger la variable de decisión que entra en la base, observamos la fila que muestra los coeficientes de la función objetiva y escogemos la variable con el coeficiente más negativo.

Solución x1 x2 s1 s2 Constantes

x1 1 0.625 0.025 0 10

s2 0 15 -0.6 1 120

Z 0 -125 13 0 5200

Pivote

Decidir variables que entran y salen a la solución:

16625.0/10

815/120

Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores solución) entre el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero .

• 1ª operación: Dividir la 2ª fila entre 15.

Solución x1 x2 s1 s2 Constantes

x1

x2

Z

1 0.625 0.025 0 10

0 1 -0.04 1/15 8

0 -125 13 0 5200

Lograr ceros en estas posiciones usando fila pivote.

12625.0 RR

32125 RR

Solución x1 x2 s1 s2 Constantes

x1

x2

Z

Asi, obtenemos el siguiente cuadro:

1 0 0.05 -0.042 5

0 1 -0.04 1/15 8

0 0 8 125/15 6200

Como todos los coeficientes de la fila de la función objetiva son positivos, hemos llegado a la solución óptima.

𝑥1𝑥2𝑠1𝑠2𝑍

=

5800

6200

La solución ahora es:

• Solución óptima

5 barcos modelo común

8 barcos modelo rápido

Lucro = $6200

Ejemplo: Simplex con más de dos

iteraciones

Resolver el siguiente problema de programacion lineal:

Maximizar

Z = 3x1 + 2x2

Sujeto a:

2x1 + x2 ≤ 18

2x1 + 3x2 ≤ 42

3x1 + x2 ≤ 24

x1 ≥ 0 , x2 ≥ 0

FORMA ESTANDAR:

2x1 + x2 + s1 = 18

2x1 + 3x2 + s2 = 42

3x1 + x2 + s3 = 24

Variables de holgura

Tablero Inicial

Base Variable de

decisión

Variable de holgura Solución

X1 X2 S1 S2 S3

S1 2 1 1 0 0 18

S2 2 3 0 1 0 42

S3 3 1 0 0 1 24

Z -3 -2 0 0 0 0

Iteración No. 1

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

S1 2 1 1 0 0 18 18/2 = 9

S2 2 3 0 1 0 42 42/2 = 21

S3 3 1 0 0 1 24 24/3 = 8

Z -3 -2 0 0 0 0

Resultado de Iteración No. 1

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

S1 0 1/3 1 0 -2/3 2 f(S1) – 2 f(X1)

S2 0 7/3 0 1 -2/3 26 f(S2) – 2 f(X1)

X1 1 1/3 0 0 -1/3 8 (1/3) X1

Z 0 -1 0 0 1 24 f(Z) + 3 f(X1)

Iteración No. 2

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

S1 0 1/3 1 0 -2/3 2 2/(1/3) = 6

S2 0 7/3 0 1 -2/3 26 26/(7/3) = 78/7

X1 1 1/3 0 0 -1/3 8 8/(1/3) = 24

Z 0 -1 0 0 1 24

Resultado de Iteración No. 2

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

X2 0 1 3 0 -2 6 3X2

S2 0 0 -7 1 4 12 f(S2) – (7/3) f(X2)

X1 1 0 -1 0 1 6 f(X1) – (1/3) f(X2)

Z 0 0 3 0 -1 30 f(Z) + f(X2)

Iteración No. 3

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

X2 0 1 3 0 -2 6 No se toma por

ser negativo

S2 0 0 -7 0 4 12 12/4 = 3

X1 1 0 -1 0 1 6 6/1 = 6

Z 0 0 3 0 -1 30

Resultado de Iteración No. 3

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

X2 0 1 -1/2 0 0 12 f(X2) + 2 f(S3)

S3 0 0 -7/4 0 1 3 (1/4) S3

X1 1 0 -3/4 0 0 3 f(X1) – f(S3)

Z 0 0 5/4 0 0 33 f(Z) + f(S3)

Tablero Final

Base Variable de

decisión

Variable de holgura Solución

X1 X2 S1 S2 S3

X2 0 1 -1/2 0 0 12

S3 0 0 -7/4 0 1 3

X1 1 0 -3/4 0 0 3

Z 0 0 5/4 0 0 33

Como todos los coeficientes de la fila de la función objetivo son

positivos, hemos llegado a la solución óptima.

Tablero Final

Base Variable de

decisión

Variable de holgura Solución

X1 X2 S1 S2 S3

X2 0 1 -1/2 0 0 12

S3 0 0 -7/4 0 1 3

X1 1 0 -3/4 0 0 3

Z 0 0 5/4 0 0 33

Los solución óptima viene dada por la columna Solución, X1 = 3,

X2 = 12 y Z = 33.

top related