Sei sulla pagina 1di 6

Sistema Nacional de Educación Superior Tecnológica

Educación a Distancia

MÉTODO DE DOS FASES


Debido al impacto potencial adverso del error de redondeo sobre la exactitud del método M, donde se
manipulan en forma simultánea coeficientes grandes y pequeños, el método de dos fases reduce el problema
eliminando por completo la constante M. Como su nombre indica, el método resuelve la programación lineal
en dos fases: la fase I trata de determinar una solución básica factible de inicio y, si se encuentra, se invoca la
fase II para resolver el problema original.

Fase I. El problema se pone en forma de ecuación y se agregan a las restricciones las variables artificiales
necesarias (exactamente como en el método M) para asegurar una solución básica de inicio. A continuación se
determina una solución básica de las ecuaciones resultantes, que minimice la suma de las variables artificiales.
Si el valor mínimo de la suma es positivo, el problema de programación lineal no tiene solución factible, y
termina el proceso (recuerde que una variable artificial positiva significa que no se satisface una restricción
original). En caso contrario, se prosigue a la fase II.

Fase II. Se usa la solución factible de la fase I como solución básica factible de inicio para el problema original.

Usaremos el siguiente problema como ejemplo:


Raúl está apunto de reprobar varias materias, por lo que necesita distribuir su tiempo disponible semanalmente
de manera que realice todo lo que tiene que hacer en 50 horas.
Las principales actividades de Raúl son estudiar y jugar, y gasta al menos 30 horas de su tiempo disponible en
estas.
Raúl dice que de acuerdo a su experiencia, tiene que estudiar al menos 20 horas y jugar 15 como máximo para
que le alcance el tiempo, Raúl dice que las horas de juego le dan el doble de satisfacción que las de estudio. El
objetivo de Raúl es tener mayor satisfacción, sin dejar de lado sus estudios, pero no sabe cuántas horas dedicar
al juego y al estudio.

Al querer maximizar la satisfacción teniendo en cuenta que el juego causa doble satisfacción la F.O. quedaría
F.O.
Max Z= 2X1 + X2
donde X1= hrs. de juego a la semana y X2=hrs de estudio a la semana
Sistema Nacional de Educación Superior Tecnológica
Educación a Distancia

S.A.
X1 + X2 ≤ 50
X1 + X2 ≥ 30
X1 ≤ 15
X2 ≥ 20
CNN
Pasando a su Forma Estándar
F.O.
Max Z= 2X1 + X2 + 0S1 - 0S2 + A1 + 0S3 + 0S4
Z - 2X1 - X2 + 0S1 + 0S2 - A1 + 0S3 + 0S4 = 0
S.A.
X1 + X2 + S1 = 50
X1 + X2 - S2 + A1 = 30
X1 + S3 = 15
X2 - S4 + A2 = 20
CNN

FASE 1: El objetivo de la fase 1 es minimizar la suma de las variables artificiales, formulando un nuevo problema
reemplazando la función objetivo por la suma de las variables artificiales sujeta a las restricciones del problema original.
Procedemos a resolver el modelo que tenemos planteado hasta que se dé uno de los siguientes casos:
las variables artificiales salen de la base o la función objetivo obtiene el valor de cero. Si no ocurre ninguno y el valor
óptimo de la función objetivo es positivo, entonces el modelo no tiene solución.

Cambiar la FO por la suma de variables artificiales minimizando los costos de las variables artificiales:
FO
Min Z= A1 + A2
Z – A1 – A2 = 0
S.A.
X1 + X2 + S1 = 50
X1 + X2 - S2 + A1 = 30
X1 + S3 = 15
Sistema Nacional de Educación Superior Tecnológica
Educación a Distancia

X2 - S4 + A2 = 20
CNN

La tabla asociada es la siguiente:


VB Z X1 X2 S1 S2 S3 S4 A1 A2 SOLUCION
Z 1 0 0 0 0 0 0 -1 -1 0
S1 0 1 1 1 0 0 0 0 0 50
A1 0 1 1 0 -1 0 0 1 0 30
S3 0 1 0 0 0 1 0 0 0 15
A2 0 0 1 0 0 0 -1 0 1 20

Eliminar las variables artificiales de la fila Z porque son una inconsistencia para que el valor de la función objetivo sea 0,
por lo que se suman la fila A1+A2 a la Fila Z, con lo que se resolvería y quedaría lista para empezar a minimizar
A1 0 1 1 0 -1 0 0 1 0 30
+A2 0 0 1 0 0 0 -1 0 1 20
+Z 1 0 0 0 0 0 0 -1 -1 0
NvaFila Z= 1 1 2 0 -1 0 -1 0 0 50

La tabla quedaría :
VB Z X1 X2 S1 S2 S3 S4 A1 A2 SOLUCION RAZON
Z 1 1 2 0 -1 0 -1 0 0 50
S1 0 1 1 1 0 0 0 0 0 50 50/1=50
A1 0 1 1 0 -1 0 0 1 0 30 30/1=30
S3 0 1 0 0 0 1 0 0 0 15 Se omite
A2 0 0 1 0 0 0 -1 0 1 20 20/1=20

Al ser un problema de minimización seleccionaríamos la variable más positiva para entrar a la base en este caso X2 y la
variable a salir seria A2, normalmente se dividiría toda la fila pivote por el elemento pivote, pero esta vez no es necesario,
puesto que tiene valor 1, y por ende cada división resultaría el mismo número, por lo que esos serían los valores para la
fila pivote.

El siguiente paso se basara en transformar los demás elementos columna pivote en cero. Para este procedimiento se usa
el método gauss, el cual se detallara a continuación:

Para transformar la columna pivote de Z en forma adecuada se usa la siguiente ecuación:

Nva fila Z= fila Z – coeficiente de la columna pivote * fila pivote


Sistema Nacional de Educación Superior Tecnológica
Educación a Distancia

1 1 2 0 -1 0 -1 0 0 50
-(2*0) -(2*0) -(2*1) -(2*0) -(2*0) -(2*0) -(2*-1) -(2*0) -(2*1) -(2*20)
Nva fila z= 1 1 0 0 -1 0 1 0 -2 10

Para trasformar las filas S1 y A1 se usara la siguiente ecuación porque tienen valor de 1

Fila = fila - fila pivote

0-0 1-0 1-1 1-0 0-0 0-0 0-(-1) 0-0 0-1 50-20
Nva fila S1= 0 1 0 1 0 0 1 0 -1 30

0-0 1-0 1-1 0-0 -1-0 0-0 0-(-1) 1-0 0-1 30-20
Nva fila A1= 0 1 0 0 -1 0 1 1 -1 10

Puesto que la fila S3 ya tiene valor de cero en su columna pivote, ya solo restaría pasar lo valores a un nuevo formato de
la Tabla
VB Z X1 X2 S1 S2 S3 S4 A1 A2 SOLUCION RAZON
Z 1 1 0 0 -1 0 1 0 -2 10
S1 0 1 0 1 0 0 1 0 -1 30 30/1=30
A1 0 1 0 0 -1 0 1 1 -1 10 10/1=10
S3 0 1 0 0 0 1 0 0 0 15 15/1=15
X2 0 0 1 0 0 0 -1 0 1 20 Se omite

Prueba de Optimidad
La prueba de optimidad se debe hacer cada vez que se evalúa si hay una variable que debe entrar a la base.
Hay alguna variable que al entrar mejora la solución, si al calcular esta fila Z aún hay valores positivos y estamos
minimizando, entonces es posible mejorar aún más la solución, aún no hemos llegado al óptimo.

En la nueva Tabla nos damos cuenta que habían todavía valores positivos en Z, por lo tanto no se había
terminado, aún quedan valores positivos, el más positivo de ellos está en la variable X1 por lo tanto debe entrar
y la que saldrá de la base será A1, porque es la de menor razón.

Puesto que tiene el elemento pivote tiene ya valor 1, y por ende cada división resultaría el mismo número, por lo que esos
serían los valores para la fila pivote.

El siguiente paso se basara en transformar los demás elementos columna pivote en cero.

Para trasformar las filas Z, S1 y S3 de la forma adecuada se usara la siguiente ecuación porque tienen valor de 1
Sistema Nacional de Educación Superior Tecnológica
Educación a Distancia

Fila = fila - fila pivote

1-0 1-1 0-0 0-0 -1-(-1) 0-0 1-1 0-1 -2-(-1) 10-10
Nva fila Z= 1 0 0 0 0 0 0 -1 -1 0

0-0 1-1 0-0 1-0 0-(-1) 0-0 1-1 0-1 -1-(-1) 30-10
Nva fila S1= 0 0 0 1 1 0 0 -1 0 20

0-0 1-1 0-0 0-0 0-(-1) 1-0 0-1 0-1 0-(-1) 15-10
Nva fila S3= 0 0 0 0 1 1 -1 -1 1 5

Puesto que la fila X2 ya tiene valor de cero en su columna pivote, ya solo restaría pasar lo valores a un nuevo formato de
la Tabla
VB Z X1 X2 S1 S2 S3 S4 A1 A2 SOLUCION
Z 1 0 0 0 0 0 0 -1 -1 0
S1 0 0 0 1 1 0 0 -1 0 20
X1 0 1 0 0 -1 0 1 1 -1 10
S3 0 0 0 0 1 1 -1 -1 1 5
X2 0 0 1 0 0 0 -1 0 1 20

Como vemos que las variables artificiales salieron de la base y la función objetivo obtiene el valor de cero, por lo tanto
podemos pasar a la Fase 2.

FASE 2: Se elimina la columna asociada a la variable artificial "y" y se actualiza el vector de costos reducidos considerando
la función objetivo original. De esta forma se obtiene la tabla inicial de la Fase 2.
Se utiliza la solución óptima obtenida en la fase 1, como solución de inicio para el problema original, cambiando
únicamente los valores de la función objetivo, por la función original:

FO
Max Z= 2X1+ X2 +0S1 + 0S2 + 0S3 + 0S4
Z- 2X1 - X2 - 0S1 - 0S2 - 0S3 - 0S4 = 0
S.A.
S1 + S2 = 20
X1 - S2 +S4 = 10
S2 + S3 - S4 = 5
X2 - S4 = 20
Sistema Nacional de Educación Superior Tecnológica
Educación a Distancia

Iniciaremos habiendo ya eliminado las variables artificiales, los valores en la nueva tabla quedarían de la siguiente manera:

VB Z X1 X2 S1 S2 S3 S4 SOLUCION
Z 1 -2 -1 0 0 0 0 0
S1 0 0 0 1 1 0 0 20
X1 0 1 0 0 -1 0 1 10
S3 0 0 0 0 1 1 -1 5
X2 0 0 1 0 0 0 -1 20

Definir la Variable que entra

En este momento nos hacemos la siguiente pregunta: cuál variable al entrar a la base hace que la función objetivo
aumente más (porque estamos maximizando)? o en otras palabras, cuál es el valor más negativo de Z?, observamos que
es X1, por lo que sería la variable que entra y sale de la base seria X1 , realizando la siguientes operaciones por el método
de Gauss Jordan correspondiente hasta encontrar los valores donde Z no pueda maximizarse más o bien que ya no halla
valores negativos en la fila Z, con lo que terminaríamos de resolver el modelo (realizando las iteraciones necesarias para
hallar la solución).

VB Z X1 X2 S1 S2 S3 S4 SOLUCION
Z 1 -2 -1 0 0 0 0 0
S1 0 0 0 1 1 0 0 20
X1 0 1 0 0 -1 0 1 10
S3 0 0 0 0 1 1 -1 5
X2 0 0 1 0 0 0 -1 20

Practica: Continuar resolviendo, como lo hemos venido haciendo con el método simplex.

Potrebbero piacerti anche