Vous êtes sur la page 1sur 8

METODO DE LA GRAN M ( Metodo penal) Pasos:

1) Expresar el modelo original en la forma estándar e igualar a cero la función objetivo.

2). Cada restricción debe ser convertida de inecuación a una igualdad, agregando variables como se requiera:

Con las restricciones de tipo <=, se agrega una variable denominada variable de holgura en cada restricción con coeficiente 1 positivo Con las restricciones de tipo >=, se agrega una variable de holgura en cada restricción con coeficiente 1 negativo y es necesario agregar una variable comodín, llamada variable artificial con coeficiente 1 positivo Con las restricciones de tipo = ,se agrega una variable artificial en cada restricción con coeficiente 1 positivo

3)Las variables artificiales causan una alteración a las restricciones correspondientes esta dificultad es superada garantizando que las variables artificiales serán igual a cero (Z=0) en la solución final. Esto es alcanzado asignando un valor de penalización muy grande, por unidad, a estas variables en la función objetivo. Tal valor de penalización será designado por +M, si es un problema de maximización y -M para un problema de minimización, para lograrlo usamos el procedimiento del método simplex.

4) Toda vez que se comprueba que se tiene una solución inicial básica-factible no- óptima se procede con los pasos normales del método simplex, hasta obtener (si existe), la solución óptima.

Ejemplo: Resolver el siguiente modelo de programación lineal por el método penal Min Z = 4x1 + x2

S.A.

3x1

+

x2

= 3

4x1

+

3 x2

>= 6

x1

+

2 x2

<= 3

x1,x2 >=0

A) Expresar el modelo original en la forma estándar e igualar a cero la función objetivo.

Z - 4x1-3x2+0x3-0x4+ =0 S.A.

3x1

+

x2

= 3

4x1

+

3 x2

-x3

= 6

x1

+

2 x2

+x4

= 3

x1,x2,x3,x4 >=0

 

B)Sumar del lado izquierdo de cada ecuación una variable artificial, identificada por W a cada una de las restricciones que en el modelo original sean del tipo = y >, así mismo penalizar la función objetivo.En el ejemplo en la primera y la segunda ecuación requieres de una variable artificial por lo que se identificarán por W1 y W2

respectivamente. La penalización en la función objetivo, es realizada restando un coeficiente M a cada una de las variables artificiales que se hayan sumado a las ecuaciones de restricción, para este ejemplo se penaliza la función objetivo dos veces, asignando un coeficiente –M para W1 y otro coeficiente –M para W2.

Min Z - 4x1 - x2 - MW1-MW2+ 0x3- 0x4=0 S.A.

3x1

+

x2

+

w1

= 3

4x1

+

3 x2

-

x3

+

w2

= 6

x1

+

2 x2

+

x4

= 3

x1,x2,x3,x4,w1,w2 >=0

La tabla inicial es:

respectivamente. La penalización en la función objetivo, es realizada restando un coeficiente M a cada una

C) Generando la solución inicial básica, haciendo ceros los coeficientes –M del renglón de la función objetivo de la tabla inicial simplex.

Haciendo cero coeficiente -M de la variable artificial w1 y w2; matemáticamente:

 

Ec. Z

( 1

-4

-1

0

0

-M

-M

0 )

+

ec. w1(M)

( 0

3M

M

0

0

0

M

3M)

+ ec. w2(M)

( 0

4M

3M

-M

0

M

0

6M)

1

7M-4

4M-1

-M

0

0

0

9M

Sustituyendo valores se tiene la siguiente tabla que corresponde a la solución inicial básica no-óptima.

respectivamente. La penalización en la función objetivo, es realizada restando un coeficiente M a cada una

D) Se comprueba que se tiene la solución inicial básica-factible no-óptima, por lo que procede a aplicar el método simplex hasta encontrar, si existe, la solución óptima.

Generamos una segunda tabla ( Primera ITERACION)

Aplicando el criterio de óptimalidad, la variable entrante será X1 por tener el coeficiente más positivo, 7M-4, en el renglón cero (renglón de la función objetivo) porque se trata de un problema de minimizar en este caso

Aplicando el criterio de factibilidad, la variable que sale de la base es W1 por tener el menor cociente, resultado de dividir cada elemento de la columna de ‘Solución’ entre cada elemento asociado con la variable entrante.

De la tabla inicial simplex identificar el elemento pivote, el cual será el número que está en la intersección de la columna relacionada con la variable entrante y la fila asociada con la variable saliente, para nuestro ejemplo, es el número 3

Para que X1 sea una variable básica, el elemento pivote debe ser uno, para ello debemos dividirlo entre si mismo pero para que no se altere la información de nuestro problema debemos dividir entre tres todo el renglón del elemento pivote y así una segunda tabla empieza a ser generada, es decir:

El Renglón Pivotal valido para esta segunda tabla es:

(Rp)

= ( 0

1

1/3

0

0

1/3

0

1 )

Todos los demás elementos de la columna asociada con la variable entrante (es decir X1) deben ser ceros con el fin de ir completando la segunda tabla simplex y de esta manera mejorar el valor de la función objetivo Z. Seguir los siguientes pasos:

Primero elegimos el elemento 7M-4 (valor de X1 en el renglón de la función objetivo) Al 7M-4 le cambiamos de signo a -7M+4, lo multiplicamos por el renglón pivotal y le sumamos el renglón al que pertenece el 7M-4, es decir, (-7M+4) Rp+ ec.z :

Rp (-7M+4)

(0

1

1/3

0

0

1/3

0

1)

+

ec. z

(1

7M-4

4M-1

-M

0

0

0

9M )

 

1

0

5M+1

-M

0

-7M+4

0

2M+4

 

3

3

Segundo elegimos el número 4(valor de X1en la ecuación número dos) Al 4 le cambiamos de signo a –4, lo multiplicamos por el renglón pivotal (Rp), y le sumamos el renglón al que pertenece el 4, es decir, -4Rp + ec.w2 :

 

Rp (-4)

(

0

1

1/3

0

0

1/3

0

1)

+

Ec. w1

(

0

4

3

-1

0

0

1

6)

 

0

0

5/3

-1

0

-4/3

1

2

Tercero elegimos el número 1(valor de X1en la ecuación número tres) Al 1 le cambiamos de signo a –1, lo multiplicamos por el renglón pivotal(Rp), y le sumamos el renglón al que pertenece el 1, es decir, -1Rp + ec. w1:

 

Rp (-1)

(

0

1

1/3

0

0

1/3

0

1)

+

ec. w1

(

0

1

2

0

1

0

0

3)

 

0

0

5/3

-0

1

-1/3

0

2

La segunda tabla (primera ITERACION) obtenida es :

Tercero elegimos el número 1(valor de X1en la ecuación número tres) Al 1 le cambiamos de

Se comprueba que la solución obtenida no es óptima por lo que se procede a generar otra solución, Construyéndose así la tercera tabla simplex.

Generando la tercera tabla simplex.(tercera ITERACION)

Como la solución es no-óptima (porque se tienen todavía valores positivos en el renglón de la función objetivo) lo que procede es nuevamente definir la variable no-básica que entrará a la base y también identificar la variable básica que deberá salir de la base. Para nuestro ejemplo la variable entrante es X2 y la variable saliente es W2.

Para que X2 sea una variable básica, el elemento pivote debe ser uno, para ello debemos dividirlo entre si mismo pero para que no se altere la información de nuestro problema debemos dividir entre 5/3 todo el renglón del elemento pivote y así una tercera tabla empieza a ser generada, es decir:

El Renglón Pivotal válido para esta tercera tabla es:

(Rp)

=

( 0

0

1

-3/5

0

-4/5

3/5

6/5 )

Como todos los demás elementos de la columna asociada con la variable entrante (es decir X2) deben ser ceros con el fin de completar la tercera tabla y de esta manera mejorar el valor de la función objetivo Z. haremos los siguientes pasos:

Primero elegimos el elemento 5M+1/3 (valor de X2 en el renglón de la función objetivo)

Al 5M+1/3 le cambiamos de signo a -5M-1/3, lo multiplicamos por el renglón pivotal y le sumamos el renglón al que pertenece el 5M+1/3 , es decir, (-5M-1/3)Rp + ec. z :

 

Rp (-5M-1/3)

(

0

0

1

-3/5

0

-4/5

3/5

6/5)

+

ec. z

(

1

0

5M+1/3

-M

0

-7M+4/3

0

2M+4

 

1

0

0

1/5

0

8/5-M

-1/5-M

18/5

Segundo, elegimos el elemento 1/3 (valor de X2 en la ecuación número uno) Al 1/3 le cambiamos de signo a –1/3, lo multiplicamos por el renglón pivotal, Rp, y le sumamos el renglón al que pertenece el 1/3, es decir, -1/3Rp + ec. x1:

 

Rp (-1/3)

(

0

0

1

-3/5

0

-4/5

3/5

6/5)

+

ec.x1

(

0

1

1/3

0

0

1/3

0

1 )

 

0

1

0

1/5

0

3/5

-1/5

3/5

Tercero, elegimos el elemento 5/3 (valor de X2 en la ecuación número tres) Al 5/3 le cambiamos de signo a –5/3, lo multiplicamos por el renglón pivotal, Rp, y le sumamos el renglón al que pertenece el 5/3, es decir, -5/3Rp + ec. x4:

 

Rp (-5/3)

(

0

0

1

-3/5

0

-4/5

3/5

6/5)

+

ec. x4

(

0

0

5/3

0

1

-1/3

0

2

)

 

0

0

0

1

1

1

-1

0

La tercera tabla simplex (segunda ITERACION) obtenida es:

Al 5M+1/3 le cambiamos de signo a -5M-1/3, lo multiplicamos por el renglón pivotal y le

Generando la cuarta tabla simplex.

Como la solución es no-óptima (porque se tienen todavía valores positivos en el renglón de la función objetivo) lo que procede es nuevamente definir la variable no-básica que entrará a la base y también identificar la variable básica que deberá salir de la base. Para nuestro ejemplo la variable entrante es X3 y la variable saliente es X4

Para que X3 sea una variable básica, el elemento pivote debe ser uno, si observamos, la tabla anterior, al elemento pivote que queda entre la intersección de la columna asociada con la variable entrante X3 y la fila relacionada con la variable saliente X4, ya es uno por lo tanto ese renglón sera el renglón pivotal y así una cuarta tabla empieza a ser generada, es decir:

El Renglón Pivotal válido para esta cuarta tabla es:

(Rp)

=

( 0

0

0

1

1

1

-1

0 )

Como todos los demás elementos de la columna asociada con la variable entrante (es decir X3) deben ser ceros con el fin de completar la cuarta tabla y de esta manera mejorar el valor de la función objetivo Z. Seguir los siguientes pasos:

Primero elegimos el elemento 1/5 (valor de X3 en el renglón de la función objetivo) A 1/5 le cambiamos de signo a -1/5, lo multiplicamos por el renglón pivotal y le sumamos el renglón al que pertenece el 1/5 , es decir, (-1/5)Rp + ec. z :

 

Rp (-1/5)

( 0

0

0

1

1

1

-1

0)

+

ec. z

( 1

0

0

1/5

0

8/5-M

-1/5-M

18/5)

 

1

0

0

0

-1/5

7/5-M

-M

18/5

Segundo, elegimos el elemento 1/5 (valor de X3 en la ecuación número uno) Al 1/5 le cambiamos de signo a –1/5, lo multiplicamos por el renglón pivotal, Rp, y le sumamos el renglón al que pertenece el 1/5, es decir, -1/5Rp + ec. x1:

 

Rp (-1/5)

( 0

0

0

1

1

1

-1

0)

+

ec.x1

( 0

1

0

1/5

0

3/5

-1/5

3/5)

 

0

1

0

0

-1/5

2/5

0

3/5

Tercero, elegimos el elemento –3/5 (valor de X3 en la ecuación número dos) Al –3/5 le cambiamos de signo a 3/5, lo multiplicamos por el renglón pivotal, Rp, y le sumamos el renglón al que pertenece el -5/3, es decir, 5/3Rp + ec. x2:

 

Rp (3/5)

(

0

0

0

1

1

1

-1

0)

+

ec. x2

( 0

0

1

-3/5

0

-4/5

3/5

6/5)

 

0

0

1

0

3/5

-1/5

0

6/5

La cuarta tabla simplex obtenida es:

Para que X3 sea una variable básica, el elemento pivote debe ser uno, si observamos, la

Aplicando el criterio de optimalidad, para el caso de minimizar, comprobamos que la tabla es óptima, cumpliéndose así el objetivo de aplicar el algoritmo del método simplex. En conclusión se presentan todas las tablas simplex generadas para este ejemplo y la solución óptima obtenida por el método penal:

Aplicando el criterio de optimalidad, para el caso de minimizar, comprobamos que la tabla es óptima,

Solución óptima:

X1 = 3/5 X2 = 6/5 Zóptima = 18/5

EJERCICIO: Resolver el siguiente problema utilizando el método de la GRAN M

Min Z= 18x1

+

10x2

s. a

2x1

+

4x2 >=4

3x1

+

2x2 >=3

X1,x2 >=0

GLOSARIO:

ITERACION.- Acto de repetir un proceso con el objetivo de alcanzar una meta deseada, objetivo o resultado

ALGORITMO.- conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad