La Programacion lineal en la WEB

Page 1










Método Algebraico En la necesidad de desarrollar un método para resolver problemas de programación lineal de más de dos variables, los matemáticos implementaron el método algebraico, el que más tarde se convertiría en el tan afamado método simplex. Como su nombre lo indica, el método usa como su principal herramienta, el álgebra, que ligada a un proceso de lógica matemática dio como resultado el método algebraico.

Pasos del Método 1. Encontrar una solución básica factible inicial expresando el modelo en forma estándar identificando las columnas de una matriz identidad de m x m. 2. Expresar las variables básicas y la función objetivo en función de las variables No básicas 3. Verificar Optimalidad: La solución es óptima si: La función objetivo no puede mejorar de valor al incrementar el valor de cualquiera de las Variables No Básicas. 4. Identificar Nuevas variables básica y No básica Nueva VB: la VNB que mejora más la función objetivo. Nueva VNB: la VB que se hace igual a 0 al tomar la nueva VB el máximo valor posible. 5. Regresar al paso 2.

Ventajas y Desventajas del método Ventajas Desventaja La mayor desventaja es que si el númerop de variables es mayor a tes, ya no es posibke ver el sistema de manera grafica, por lo que no se podrianb encontrar los puntos extremos del mismo. Para solucionar este problema, se representa el espaciuo de soluciones de forma estándar, es decir, se contierten todas las restricciones que estén en forma de desiguakdades.

EJEMPLO En forma original:


Máx Z = 10x1 + 14x2 sujeto a: 4x1 + 6x2 £ 24 2x1 + 6x2 £ 20 x1 , x2 ³ 0 En Forma estándar: Máx Z = 10x1 + 14x2 + 0s1 + 0s2 sujeto a: 4x1 + 6x2 + 1s1 + 0s2 = 24 2x1 + 6x2 + 0s1 + 1s2 = 20 x1 , x2 , s 1 , s 2 ³ 0 Inicio: Base (VB’s) VNB’s s1 = 24 x1 = 0 Z = 0 s2 = 20 x2 = 0 Expresar VB’s y Z en función de VNB (del modelo en forma estándar ) S1 = 24 - 4x1 - 6x2 S2 = 20 - 2x1 - 6x2 (1) Z = 0 + 10x1 + 14x2 No estamos sobre el vértice óptimo ! Variable que entra a la base es x2 Variable que sale de la base es: S1 = 24 - 6x2 ³ 0 x2 £ 4 S2 = 20 - 6x2 ³ 0 x2 £ 3.33 x2 entra a la base con valor x2 =3. 33 ( s2 = 0 es la variable que sale ) 1ra iteración: Base (VB’s) s1 = 4

VNB’s x1 = 0

Z = 46.66


x2 = 3.33

s2 = 0

Expresar VB’s y Z en función de VNB (comenzar de (1) ) X2 = (20 - 2x1 - s2 ) / 6 = 3.33 - 0.33x1 - 0.166s2 S1 = 24 - 4x1 - 6 (1/6 (20 - 2x1 - s2 )) = 4 - 2x1 + s2 Z = 0 + 10 x1 + 14 (1/6 (20 - 2x1 - s2 )) = 46.6 + 5.33 x1 - 2.33 s2 No estamos sobre el vértice óptimo ! Variable que entra a la base es x1 Variable que sale de la base es: X2 = 3.33 - 0.33x1 ³ 0 X1 £ 10 S1 = 4 - 2x1 ³ 0 X1 £ 2 x1 entra a la base con valor x1 = 2 ( s1 = 0 es la variable que sale ) 2da iteración: Base (VB’s) x1 = 2 x2 = 2.66

VNB’s s1 = 0

Z = 57.33 s2 = 0

Expresar VB’s y Z en función de VNB X1 = (4 + s2 - s1 ) / 2 = 2 + 0.50s2 - 0.5s1 X2 = 3.33 - 0.33 ( 2 +.50s2 - 0.5s1 )-0.16s2 = 2.66 - 0.33s2 + 0.16s1 Z = 46.66 + 5.33 (2 +0.50s2 - 0.5s1) -2.33s2 = 57.3 + 0.33s2 - 2.66 s1 No estamos sobre el vértice óptimo ! Variable que entra a la base es s2 Variable que sale de la base: X1 = 2 + 0.50s2 ³ 0 s2 ³ - 4 X2 = 2.66 - 0.33s2 ³ 0 s2 £ 8 s2 entra a la base con valor s2 = 8 ( X2 = 0 es la variable que sale ) 3ra iteración: Base (VB’s)

VNB’s


x1 = 6 s2 = 8

s1 = 0

Z = 60 x2 = 0

Expresar VB’s y Z en función de VNB S2 = (2.66 - x2 + 0.166s1 ) / 0.33 = 8 - 3x2 + 0.50 s1 X1 = 2 + 0.50 (8 - 3x2 + 0.5s1 ) - 0.5s1 = 6 - 1.5x2 - 0.25 s1 Z = 57.33 + 0.33 (8 - 3x2 + 0.5s1) - 2.66s1 = 60 - x2 - 2.50 s1 estamos sobre el vértice óptimo! Método Simplex Revisado i. Pasos del Método ii. Ventajas y Desventajas del método iii. Enunciado de cada ejercicio iv. Planteamiento: Explicar el modelo v. Método: Explicar paso a paso el método de solución. vi. Interpretación de resultados:considerando los resultados interpretar las variables, función objetivo y restricciones.







Método de la M Grande

Éste método añade variables artificiales, que no deben de aparecer en la solución óptima final.

Pasos del Método

“”Insertar imágenes de M Grande #1-#3”” Ventajas y Desventajas del método Ventaja: Muy útil para resolver problemas con diferentes clases de símbolos < = > y/o con muchas restricciones. Desventaja: La desventaja de la técnica M es el posible error de cómputo que podría resultar de asignar un valor muy grande a la constante M. Esta situación podría presentar errores de redondeo. Ejemplo Consideremos el siguiente modelo de Programación Lineal en 2 variables:

A continuación agregamos las variables no negativas (holgura restricción 1), (auxiliar restricción 2), (exceso restricción 3) y (auxiliar restricción 3). El modelo ahora es:


Donde el parámetro M es una constante positiva suficientemente grande para representar una penalización adecuada en la función objetivo. La tabla inicial del método esta dada por:

Antes de continuar con las iteraciones se debe procurar que el costo reducido de las variables y sean ceros. Para ello multiplicamos por -M la fila 2 y la fila 3 y luego sumamos a la fila 4, obteniendo lo siguiente:

Ahora debemos seleccionar que variable no básica ingresa a la base. El menor costo reducido corresponde a la variable en consecuencia dicha variable ingresa a la base. Luego calculamos el mínimo cuociente en dicha columna: , el cual se alcanza en la fila 1, por tanto la variable deja la base. Se actualiza la tabla:

Siguiendo con las iteraciones ahora la variable indica que: la variable en la fila 3). Actualizamos la tabla:

Una nueva iteración indica que

entra a la base. El criterio de factibilidad abandona la base (el pivote se encuentra

ingresa a la base. El mínimo cuociente en la respectiva

columna es: (recordar que se omiten denominadores menores a cero). Ahora el pivote se encuentra en la fila 2 y en consecuencia deja la base. Se actualiza la tabla:


Se ha alcanzado la solución óptima con y . Notar que las variables auxiliares (r1 y r2) son no básicas en el óptimo. El valor óptimo es 21/4 (notar que el signo esta cambiado). El dominio de soluciones factibles corresponde a la recta que une los vértices A y B. Adicionalmente se muestra la curva de nivel que pasa por la solución óptima (vértice B).

Teóricamente se espera que en la aplicación del Método de la M Grande las variables auxiliares sean no básicas en el óptimo. Si el modelo de Programación Lineal es


infactible (es decir, si las restricciones no son consistentes), la iteración del Método Simplex final incluirá al menos una variable artificial como básica. Adicionalmente la aplicación de la técnica de la M Grande implica teóricamente que M tiende a infinito. Sin embargo al usar la computadora M debe ser finito, pero suficientemente grande. En específico M debe ser lo bastante grande como para funcionar como penalización, al mismo tiempo no debe ser tan grande como para perjudicar la exactitud de los cálculos del Método Simplex, al manipular una mezcla de números muy grandes y muy pequeños.




EJEMPLO

MÉTODO DE LAS DOS FASES

- Minimización - Todo tipo de restricción - Optimo en vértice degenerado Modelo Original: Min 4X1 + X2 sa. 3X1 + X2 = 3 4X1 + 3X2 ³6 X1 +2X2 £3

X1,X2 ³ 0

Modelo en forma estándar para la primera fase Min A1+A2 sa. 3X1 + X2 + A1 4X1 + 3X2 - S1 + A2 X1 + 2X2 + S2 X1,

X2 , S1,

S2, A1, A2

= 3 =6 = 3 ³0

Modelo en forma estándar para la segunda fase Min 4X1 sa. 3X1 4X1 X1 X1,

+ X2

+ 0S1 + 0S2

+ X2 + 3X2 - S1 + 2X2 + S2 X2 , S1,

S2 ,

= 3 =6 = 3 ³0


EJEMPLO 2

MÉTODO DE LAS DOS FASES

Modelo Original: Min 2X1 + X2 sa. X1 + 2X2 £ 2 X2 £ 2 3X1 +X2 =6

X1,X2 ³ 0

Modelo en forma estándar para la primera fase Min 0X1 + 0X2 +0S3+0S4+0S5+A6 sa. X1 + 2X2 + S3 X2 + S4 3X1 + X2 - S5 +A6 X1,

X2 , S3,

S4, S5 , A6

= 2 =2 = 6 ³0

Modelo en forma estándar para la segunda fase Min 2X1 + X2 + 0S3 + 0S4 + 0S5 sa. X1 + 2X2 + S3 X2 + S4 3X1 + X2 - S5 X1,

X2 , S3,

S4, S5

= 2 =2 = 6 ³0


Primera Fase: CB 0 0 1

CB 0 0 0

Cj base S3 S4 A Zj Cj - Zj 6

Cj base S3 S4 X Zj Cj - Zj 1

b 2 2 6 6

b 0 2 2 0

j

j

0 X1 1 0 3 3 -3

0 X2 2 1 1 1 -1

0 S5 0 0 -1 -1 1

1 A6 -1 /3 0

0 X2

0 S5

5

1

1

0

1/ 3

1/ 3

-1/ 3

0 1

0 0

0 0

1 X2

0 S5

5/

1/

/3

2 2

/3

tabla optima!

Segunda Fase:

CB 0 0 2

Cj base S3 S4 X Zj C -Z 1

j

j

b 0 2 2 4

j

3

1 1/ 3

3

0 -1/ 3

2/ 3

-2/ 3

1/

2/

3

tabla optima! 3


MĂŠtodo Simplex Revisado


El método simplex revisado conserva las mismas características que el método simplex: 1) Las variables de decisión tienen que ser mayor a cero 2) Las restricciones tienen que tener la forma <= La diferencia entre el método simplex normal y el revisado es que la mayoría de los números que aparecen en la tabla del método normal no se usan realmente en las iteraciones, por lo cual en el método revisado solo se calculan los valores necesarios para encontrar la solución óptima a través de matrices. Sin embargo, este método requiere muchas operaciones de matrices y deja de estar tan estructurado como el método simplex, por lo cual es muy posible confundirse durante las iteraciones Antes de aplicar el método es necesario pasar el modelo planteado a su forma estándar matricial: max z=Cx Ax=b x>=0 Donde: C es una vector de n filas cuyos elementos son todos los valores de la función objetivo. x, que es un vector de n columnas cuyos valores son todas las variables de x que aparecen en la función objetivo A es una matriz que representa a todos los coeficientes que se encuentran del lado izquierdo de las igualdades, incluyendo a las variables de holgura. b es un vector que tiene todas las equivalencias de las igualdades en el lado izquierdo, por lo cual el número de columnas de A y son iguales Los pasos para hallar la solución óptima son los mismos que en el método simplex. pero ahora se usan diferentes fórmulas: 1) Comenzamos por ubicar la solución inicial y los vectores de las matrices:

Donde B es es una matriz que tiene los coeficientes correspondientes a las variables de decisión en las restricciones


2)Calculamos la variable de entrada con lo que seria la fila Zj-Cj, pero aplicamos esta formula: Zj-Ch=(Cb)(B^-1)(aj)-Cj Donde Cb son los valores de las variables no básicas en la función objetivo aj es una matriz que corresponde a los valores en las restricciones que corresponden a las variables no básicas Cj son los valores de las variables no básica que en la función objetivo Se utiliza el mismo criterio que en el método simplex: elegimos al valor mas pequeño si tenemos que maximizar la función o bien el mas grande si hay que minimizar. 3)Primero hay que calcular el nuevo valor de las variables básicas: Para calcular la variable de salida utilizamos la siguiente formula: Yi=(B^-1)(ai) Donde ai es un vector que corresponde a los valores de las restricciones de la variable de entrada Entonces hay que utilizar el mismo criterio para elegir a la variable de salida que ene le método simplex:

Donde Xb e el vector con las soluciones actuales de las igualdades 4) Por último hay que calcular el nuevo valor de las variables básicas, para eso hay que cambiar la matriz B, pues el vector de las variables básicas cambio, por lo tanto hay que cambiar los elementos de la matriz B para que correspondan a lo valores de las restricciones en su correspondiente variable básica. Como cambio la matriz B, hay que cambiar la matriz B^-1 Tenemos que calcular el nuevo valor de Xb con la siguiente formula: Xb=B^-1(b)


Donde b tiene que ser el valor que tenia el vector Xb anterior. Se regresa al paso 2 hasta que ya no exista un variable de entrada. EJERCICIO ¡ En un taller se fabrican dos tipos de piezas A y B que deben seguir los siguientes procesos: estampado, soldado y pintado. Los insumos de tiempo de equipo son los siguientes para la realización de cada una de las operaciones: OPERACIONES Estampado de c/parte Soldado Pintado

A(seg/pieza) 3

B(Seg/pieza) 8

Tiempo disponible 48000

12 9

6 9

42000 36000

El beneficio es de $4 por pieza A y $3 por pieza B, se desea establecer un plan de producción semanal que maximize la utilidad. Tenemos que decir al cliente cuantas piezas A y B son necesarias producir para obtener la máxima ganancia. Definimos nuestras variables de decisión: x1=Numero de piezas A a producir x2=Numero de piezas B a producir SI multiplicamos el numero de piezas A y B por sus respectivas ganancias obtenidas por pieza entonces obtendremos la ganancia máxima Planteamos el modelo: Max z=4x1+3x2 3x1+8x2<=48000 (Tiempo disponible en estampado)

12x1+6x2<=42000 (Tiempo disponible en

soldado) 9x1+9x2<=36000 (Tiempo disponible en Pintado) xi,x2>=0

Primero hay que plantear el modelo en su forma estándar matricial.


Antes de empezar, acomodamos nuestros vectores con los que trabajaremos

Como es la soluciรณn inicial, z=0 ITERACION 1 Ahora comenzamos el proceso, primero calculamos la variable de entrada:

Esto nos da el vector (-4,-3) por lo cual elegiremos a la variable x1 como variable de entrada Para elegir a la variable de salida usamos la formula: Yi=B^-1(ai)


Elegimos a la variable x4 como variable de salida. Realizamos los cambios correspondientes:

Hay que calcular la nueva matriz B^-1:

Ahora buscamos la nueva soluciรณn de las variables bรกsicas:

Para saber si el proceso termino, buscamos otra vez si existe una variable de entrada:


INTERACION 2 Como todavia existe una variable de entrada, continuamos el proceso, y elegimos a x2 para entrar a la base Ahora calculamos a la variable de salida: Yi=B-1(a2)

Elegimos a X5 como variable de salida. Realizamos los cambios necesarios y tenemos:

Ahora calculamos el nuevo valor de las variables bรกsicas:


Ahora buscamos si existe otra variable de entrada:

Como ya no existe variable de entrada, decimos que llegamos a la solución optima, pero antes tenemos que calcular el valor de z con la formula CB*Xb

Concluimos que la ganancia máxima del taller serán 15000, produciendo 3000 piezas de A y 1000 piezas de B, además, están sobrando 31000 en tiempo de estampado. EJERCICIO 2 Pedrito es un pequeño fabricante de camisas para caballero y blusas de dama para las tiendas de descuento Waldos, corporación que aceptara toda la producción surtida por Pedrito. El proceso de producción incluye el corte, la costura y el empaque. Se ha empleado a 25 trabajadores en el departamento de corte, 35 en el de costura y en empaque. La fabrica trabaja un turno de 8 horas, 5 días a la semana, la siguiente tabla muestra los requerimientos: Producto Camisas Blusas

Corte 20 60

Tiempo de producción (minutos*unidad) Costura Empaque Unidad unitaria 70 12 $8 60 4 $12

Tenemos que dar a Pedrito el numero de camisas y blusas que darán el mejor ingreso, para eso utilizaremos un modelo de maximizacion, pero primero plantearemos las variables de decisión.


x1=Numero de camisas por producir x2=Numero de Blusas para producir Ahora planteamos la funciรณn objetivo y las restricciones: Max z=8x1+12x2 20x1+60x2<=25(2400) (Tiempo en corte) 70x1+60x2<=35(2400) (Tiempo en costura) 12x1+4x2<=5(2400) (Tiempo en Empaque) xi>=0 Ahora planteamos el modelo en su forma estรกndar matricial

xi>=0 Antes de empezar, acomodamos nuestros vectores con los que trabajaremos

Y B es la matriz identidad de 3x3 La soluciรณn inicial es z=0 ITERACION 1 Ahora comenzamos el proceso, primero calculamos la variable de entrada:


Esto nos da el vector (-8,-12) por lo cual elegiremos a la variable x2 como variable de entrada Para elegir a la variable de salida usamos la formula: Yi=B^-1(ai)

Elegimos a X3 como variable de salida. Realizamos los cambios correspondientes:

Ahora buscamos la nueva soluciรณn de las variables bรกsicas:

Para saber si el proceso termino, buscamos otra vez si existe una variable de entrada:


INTERACION 2 Como todavĂ­a existe una variable de entrada, continuamos el proceso, y elegimos a x1 para entrar a la base Ahora calculamos a la variable de salida: Yi=B-1(a1)

Entonces elegimos a x4 como variable de salida. Realizamos los cambios correspondientes:

Ahora calculamos el nuevo valor de las variables bĂĄsicas:

Ahora buscamos si existe otra variable de entrada:


Como ya no hay variable de entrada, decimos que llegamos a la solución optima, pero antes tenemos que calcular el valor de z con la formula CB*Xb

Concluimos que la ganancia máxima de pedrito sera de 13920, produciendo 480 playeras y 840 blusas, además, están sobrando 2880 en minutos de empaque.

Si de Métodos hablamos… A continuación, una tabla con el resumen de las características, ventajas y desventajas de todos los métodos MÉTODO GRÁFICO

ALGEBRAICO

CARACTERÍSTICAS *Solo trabaja con dos o tres variables * Gráfica la función objetivo y las restricciones *Ubica en la región factible solución óptima, no factible, múltiple o no acotada *Se trabaja directamente en la forma canónica *Encuentra la solución en la gráfica directamente *Es parecido al método simplex *Se mueve entre puntos extremos empezando en el origen *Se trabaja en la forma estándar. *Encuentra la solución cuando z ya no puede o empeora

VENTAJAS *Es relativamente fácil de hacer y entender *Ubica todos los puntos extremos que son una solución factible *No hay que pasar a la forma estándar.

DESVENTAJAS *Solo funciona con 2 ó 3 variables *Puede ser inexacto al tener muchas restricciones

*Trabaja rápido en modelos sencillos * Describe en cada iteración como se comportan las variables y que valor tiene z *Funciona par modelos de n variables

*Requiere revisar constantemente que se esta moviendo correctamente. *El álgebra o como elegir las variables de entrada puede llegar a ser confuso * Realizar todo el proceso puede ser mucho mas tardado que el método simplex


SIMPLEX

DE LA GRAN M

DE LAS DOS FASES

en una siguiente iteración *Trabaja en la forma estándar *El origen tiene que ser una solución factible *Se mueve a través de los puntos extremos *Describe cómo aumenta o disminuye z y dice que ocurre con las variables *A través de los coeficientes describe si se llega a una solución óptima, no factible, no restringida o múltiple *Trabaja con el modelo ampliado *Tiene variables artificiales que están multiplicadas por un valor muy grande denominado por M *Las variables artificiales son poco atractivas para elegirlas como variable de entrada *Trabaja con modelos donde la solución inicial no tiene que ser el origen. *Si no se puede eliminar a M, entonces no hay solución factible *Se considera primera al factor multiplicativo más negativo para maximización y después al aditivo *Trabaja con la forma ampliada *Trabaja con cualquier modelo. *Tiene dos fases: en la primera se plantea

*Trabaja muy rápido para encontrar la solución óptima *Funciona para modelos de n variables

*Requiere un cuidado muy grande del álgebra *No funciona si el origen no es parte del conjunto de soluciones factibles *Puede caer en un ciclo si no se tienen consideraciones, pero es muy raro

*Funciona con cualquier tipo de modelo lineal donde las variables son reales. *Facilita distinguir a las variables duales en el análisis de decisiones

*El álgebra llega a complicarse demasiado con las M. *Es difícil de introducir en una computadora

*Evita muchos problemas del método de la gran M *Se pasa fácilmente del modelo ampliado a la forma estándar

*Resulta confuso el momento en el cual hay que cambiar de la función objetivo modificada a la función original.


SIMPLEX REVISADO

una función de minimización donde las variables son las v. artificiales y las restricciones son las mismas que en el modelo ampliado para ubicar la solución inicial *En la segunda fase se continua el método quitando las v. artificiales y retomando la función objetivo original pero con los valores ya dados en las restricciones de la anterior fase *Si existe una v. artificial en la base al final de la primera fase, entonces se fuerza a esta a salir de la base. *Es una diferente forma de realizar el método simplex *Se realiza tomando solamente los cálculos necesarios que se ocupan en toda la tabla del método simplex y expresándolo en forma de matrices *Requiere el uso de matrices inversas y multiplicación de matrices *Puede aplicarse ciertos criterios a este método para hacerlo parecido al método de las dos fases.

*Requiere realizar dos tablas simplex por separado o una donde se juntan las dos funciones objetivo *Es complicado o imposible visualizar lo que esta pasando en este modelo de una forma gráfica durante la primera fase

*Encuentra soluciones mas rápido porque no requiere tantos cálculos *Es mas sencillo de programar *Puede aceptar cualquier tipo de modelo bajo ciertos criterios especiales

*Tiene los mismo inconvenientes que el método simplex: normalmente no acepta funciones que no tengan solución en el origen. *Puede complicarse el calculo de la inversa o la multiplicación entre matrices *Requiere demasiadas tablas a comparación del método de la M grande












Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.