Sunteți pe pagina 1din 13

EL METODO SIMPLEX Formulacin general de un problema de P.L. Un problema de P.L. tiene la forma general : Max (o Min ) z = c1 x1 + c2 x2 + ...

+ cr xr s/a

a i1 x1 + a i1 x1 + ... + a i1 x1{, , =}bi , i = 1,..., m ...(2) j = 1,..., r ...(3) x j 0,

... (1 )

con aij , bi , cj constantes conocidas , i = 1,... , m , j = 1,... , r. Supongamos que en (2 ) las restricciones estn ordenadas en la forma :

a h1 x1 + ... + a hr x r b h , (2)...a k1 x1 + ... + a kr x r b k , a x + ... + a x = b , pr r p p1 1


(Esta condicin no altera el problema ).

h = 1,..., u k = u + 1,..., v p = v + 1,..., m

Def : 1.) El vector x = ( x1 ,... , xr ) se llama SOLUCION, si satisface (2). 2.) Si el vector x = ( x1 ,... , xr ) es una solucin y adems xj 0, j = 1,...,r , entonces x se llama SOLUCION FACTIBLE. 3.) Si x es una solucin factible que optimiza (1), entonces x se llama SOLUCION FACTIBLE OPTIMAL. 4.) Los nmeros cj , j =1,...,r se llaman COEFICIENTES DE COSTO O PRECIOS. 5.) El vector b = ( b1,...,bm ) se llama VECTOR DE DEMANDA. Para resolver el problema (P) transformamos todas las desigualdades de (2) en igualdades introduciendo la nocin de variables de holgura y variables de exceso. Supondremos que bi 0 , i = 1,...,m ( en las aplicaciones de P.L. es as ). Si existe i {1,...,m}, talque bi < 0, multiplicamos la restriccin por (-1), transformndola desde : ai1 x1 + ai2 x2 + ... + air xr { , =, } bi a: -ai1 x1 - ai2 x2 - ... - air xr { , =, }- bi 1 Restricciones tipo . Consideremos la h-sima restriccin de la forma :

a hj = a h1 x1 + a h 2 x 2 + ... + a hr x r b h ...(4)
j =1

Definimos una nueva variable xr+h, llamada VARIABLE DE HOLGURA por :

x r + h = b h a hj x j 0
j =1

xr+h se llama variable de holgura debido a que bh puede ser considerado como la mxima cantidad disponible del recurso h y como diferencia de ambos es la holgura.

a hj x j es la cantidad de recurso h realmente utilizado, la


j =1

Con sta definicin la ecuacin (4) se transforma en :

a hj x j + x r + h = b h
j =1

2 Restricciones tipo . Consideremos la restriccin k-sima de la forma

a kj = a k1 x1 + a k 2 x 2 + ... + a kr x r b k ...(5)
j =1

Definimos una nueva variable xr+k , llamada VARIABLE DE EXCESO por :

x r + k = a kj x j b k 0
j =1

As (5) se transforma en :

a kj x j x r + k = b k
j =1

y luego (2) queda :

a h1 x1 + ... + a hr x r + x r + h = b h , h = 1,..., u a k1 x1 + ... + a kr x r x r + k = b k , k = u + 1,..., v p = v + 1,..., m a p1 x1 + ... + a pr x r = b p ,


que podemos escribir tambin en forma matricial como : Ax = x1a 1 +... + xn a n = b ... (6) con: x = ( x1 , x2 , ..., xr , xr+1 , ..., xr+u , xr+u+1 , ..., xn ) n x 1

b1 b = b m mx1

a11 ... a1r 1 0 ... 0 0 ... 0 ......................................................... a ... a 0 0 ... 1 0 ... 0 u1 ur a u +1,1 ... a u +1, r 0 0 ... 0 1 ... 0 , A= ,y ......................................................... a v1 ... a vr 0 0 ... 0 0 ... 1 .......................................................... a m1 ... a mr 0 0 ... 0 0 ... 0

a1 j a2 j a j = , j=1,...n son los vectores columna de A llamados vectores actividad. a mj 2 x1 + 3 x 2 6 Ejemplo. Convertir x1 + 7 x 2 4 , en un conjunto de ecuaciones. x1 + x 2 = 3
Solucin : Introduciendo una variable de exceso x3 0 en la 1 restriccin obtenemos :
2

2x1+3x2 + x3 = 6 Introduciendo una variable de exceso en la 2 restriccin obtenemos x1+ 7x2 - x4 = 4 La 3 restriccin ya es una ecuacin. El conjunto de ecuaciones lineales puede ser escrito en la forma :

x1 2 3 1 0 6 x 2 1 7 0 1 = 4 1 1 0 0 x 3 3 x4
Recordemos que nuestra funcin objetivo original era z = c1x1 + ... + crxr. Si asignamos precio cero a todas las variables de holgura y exceso que hemos introducido al problema ,entonces la conversin de las inecuaciones en ecuaciones no cambia la funcin a optimizar: z = c1x1 + ... +crxr +0xr+1 + ... + 0xn Nuestro problema es ahora :

Max( Min) z = c j x j
j =1

( P )...

A x = x1 a1 + ... + x n a n = b ...(6) s / a x j 0 , j = 1,..., n ...(7)

Obs 1.) Resolver el problema (P) es completamente equivalente a resolver el problema (P) . Para probar sto notemos primero que si tenemos una solucin factible de (P), entonces podemos calcular variables de holgura y exceso de acuerdo a las definiciones entregadas antes y formar as el vector x = ( x1 ,x2 ,...,xn ) de componentes no negativas que satisface (6) (solucin factible de (P) ). Inversamente si tenemos una solucin factible x de (P), entonces las r primeras componentes de x forman una solucin factible de (P). Es decir , hay una correspondencia uno a uno entre las soluciones factibles de P y las de (P). Adems si x* = ( x1* , x2* , ..., xn* ) es una solucin ptima de (P), entonces el vector formado por las r primeras componentes de x* , ( x1* , x2* , ..., xr*) forman una solucin ptima de (P) con el mismo valor ptimo de z, z*. En efecto , supongamos por el contrario que existe una solucin de (P) , ( x 1 ,..., x r ) con * > z . Podemos calcular x valor objetivo z r +1 ,..., x n valores correspondientes a las variables de holgura y/o exceso asociados a la solucin ( x 1 ,..., x r ) de (P) , tales que ( x 1 ,..., x n) es solucin * * > z , luego x no es solucin ptima factible de (P) . Pero el valor objetivo de esta solucin es z de (P) . Similarmente agregando las variables de holgura y exceso a una solucin ptima de (P) obtenemos una solucin ptima de (P) Esto ha demostrado que un problema general de P.L. puede ser reformulado como : Encontrar un vector vector x = ( x1 , x2 , ..., xn ) 0 ,que satisfaga simultneamente las m ecuaciones lineales Ax = x1a 1 +... + xn a n = b , y maximice o minimice la f.o. : z = c1x1 + c2x2 + ... + cnxn = c x . 2.-Siempre supondremos que en el conjunto de restricciones (6) Ax = b , r (A) = r (A, b ) = r Si esto no ocurre , las ecuaciones restricciones son inconsistentes y el problema no tiene solucin. Supondremos adems que r = m : n de restricciones . Si en la formulacin original hay ms ecuaciones que variables , entonces algunas de ellas son redundantes y pueden ser eliminadas.

SOLUCIONES BASICAS DEF Consideremos el sistema Ax = b de m ecuaciones en n incgnitas y talque r (A, b ) = r (A) = m. Sea B cualquier submatriz cuadrada de A no singular de orden m (existe pues r (A) = m). Si hacemos igual a cero todas las variables no asociadas a las columnas de B , entonces la solucin del sistema resultante se llama SOLUCION BASICA , y las m variables se llaman VARIABLES BASICAS. Si adems , todas las variaables bsicas de la solucin bsica son no negativas, entonces sta solucin es BASICA FACTIBLE.
n OBS El nmero de soluciones bsicas es menor que : m DEF Una solucin bsica del sistema Ax = b se dice DEGENERADA si una ms variables bsicas son nulas.
Si denotamos por N la submatriz de A formada por las columnas de A que no estn en B, por xB las variables asociadas a las columnas de B y por xN las variables asociadas a las columnas de N , entonces el sistema Ax = b puede escribirse como BxB + NxN b xN = 0 BxB = b xB = B-1 b Ejemplo . Encontrar las soluciones bsicas del sistema x1 + 2x2 + x3 = 4 2x1 + x2 +5 x3 = 5

3 m = 2, n = 3. El no de soluciones bsicas es = 3 2 4 1 2 1 A= , b = , r (A ) = r (A, b ) = 2. 5 2 1 5 Si x3 = 0 , ent. x1 + 2x2 = 4 2x1 + x2 = 5 x1 = 2 , x2 = 1 Si x2 = 0 , ent. x1 + x3 = 4 2x1 +5 x3 = 5 x1 = 5 , x3 = -1 Si x1 = 0 , ent. 2x2 + x3 = 4 x2 +5 x3 = 5 x2 = 5/3 , x3 = 2/3 las tres soluciones bsicas son no degeneradas.

TEOR : Una condicin necesaria y suficiente para que existan soluciones bsicas del sistema Ax = b y sean no degeneradas es que cualquier conjunto formado por m vectores columna de (A, b ) sea l.i.

TEOR : Sea un sistema de m ecuaciones en n incgnitas ( m n ) Ax = b con r (A ) = m. Si existe una solucin factible x 0 , entonces existe una solucin bsica factible xB 0 .
Dem. Sup. que existe una sol. factible con p n variables positivas. Sean estas las p primeras variables. Se tiene entonces que :
x j a j = b y x j 0 , j = 1, , p.
j =1 p

Los vectores a j , j = 1, , p , asociados con las variables positivas pueden ser l.i. o l.d. 1 Supongamos que son l.i. Entonces p m , ( dim m = m ). -Si p = m , entonces la solucin dada es automticamente una solucin bsica factible. -Si p < m , entonces debido a que r( A ) = m , hay m-p columnas de A que junto a las p columnas forman una matriz no singular ( forman una base ). Luego podemos formar una solucin bsica degenerada con m-p variables bsicas nulas. 2 Supongamos que los a j asociados a las variables positivas son l.d. Luego existen escalares no todos nulos j , j = 1, , p , tales que :
j a j = 0
j =1 p

Supongamos que r 0 , 1 r p .

ar =
p

j aj j =1 r
p jr

Sustituyendo sta expresin en : x j a j = b , se tiene :


j =1

p p j x j a j + xr - a j = b . = 1 j j =1 j r r jr

Ordenando , se tiene :
p j x j xr aj =b , j =1 r jr

y obtenemos as una solucin con a lo ms p-1 variables no nulas.


5

Para que sta expresin represente una solucin bsica factible debe tenerse que :

j 0 , j = 1, , p , j r . r j - Si j = 0, entonces x j xr = xj > 0 r - Si j 0 , entonces dividiendo (i) por j se tiene : j x j xr 0 , si j > 0 r j y x j xr 0 , si j < 0 r xj x De (i) : r , si j > 0 r j
x j xr
Luego si elegimos r talque : que es lo que desebamos. Ejemplo.

(i)

(ii) (iii)

xr xj = Mn , j > 0 , se cumplir (ii) y (iii) y por ende (i) r j

Dada una solucin bsica factible, deseamos definir un mtodo para obtener una nueva solucin bsica factible con un valor objetivo mejor. Esto es la base del mtodo smplex. Consideremos el siguiente problema de P.L. Max c x

Ax = b s/a x 0
con A matriz de mxn y r (A ) = m. Supongamos que tenemos una solucin bsica factible
objetivo est dado por : B 1 b 0 , cuyo valor

B -1 b z 0 = c 0 = (c B

B -1 b -1 c N ) 0 = cBB b

(1)

xB Ahora sea x = x una solucin factible arbitraria. Entonces : N x B 0 , x B 0 y b = Ax = B x B + N x N Multiplicando por B-1 y reordenando los trminos obtenemos : x B = B -1 b - B -1 N x N

= B -1 b - B -1 a j x j
j R

(2)

donde R es el conjunto de ndices de las variables no bsicas . Sustituyendo (2) en (1) y denotando por z la f.o. calculada en x , obtenemos : z = c x = cB xB + cN xN = cB (B-1 b - B 1 a j x j ) + c j x j = z0 - ( z j c j ) x j
j R

j R

j R

.... (3)

donde zj = cB B-1 aj para cada variable no bsica. La ecuacin (3) puede guiarnos para mejorar la solucin bsica factible actual. Puesto que deseamos maximizar z , nos convendra incrementar xj , cada vez que Podemos adoptar la siguiente regla : zj - cj < 0. Fijemos en cero cada variable no bsica , excepto una variable no bsica xk con un zk - ck negativo (digamos con zk - ck ms negativo ). De (3) el nuevo valor objetivo es : z = z0 - (zk - ck ) xk .... (4) Como zk - ck < 0 , nos convendra incrementar xk tanto como sea posible . Como xk se incrementa, las variables bsicas actuales deben modificarse de acuerdo a (2) , y de aqu : xB = B-1 b - B-1 ak xk = b - yk - xk , donde yk = B-1 ak y b = B-1 b Denotando las componentes de xB por : x B , x B . , x B ,y las de b por b1 , b 2 , ... , b m , la ecuacin vectorial precedente queda como : x B b1 y 1 k x B b2 y2 k = x k ... (5) x B bi yik x B b m y mk Si yik 0 , entonces xBi crece tanto como xk crece y as x B contina siendo no negativo. Si yik > 0 , entonces x B decrecer tanto como xk crezca. Para satisfacer la no negatividad , xk se incrementa hasta el primer punto en el cual una variable bsica x B se haga cero. Examinando la ecuacin (5) es claro que la primera variable bsica que se Ms precisamente : hace cero corresponde al mnimo de bi para yik > 0. y ik
1 2 m

b r = Min bi : y > 0 ... (6) ik 1 i m y rk yik En ausencia de degeneracin b r > 0 y de aqu :

xk = b r > 0 . y rk De (4) y puesto que zk - ck < 0 , se sigue que z > z0 ( la f.o. es mejorada ).

Como xk crece de cero a b r , se obtiene una nueva solucin factible. y rk Sustituyendo xk = b r en (5) se tiene : y rk y ik x B = bi b r , i = 1, 2, ... , m y rk
i

xk = b r y rk
r

... (7)

y todos los otros xj son cero . De aqu vemos que x B = 0 y por lo tanto a lo ms m variables son positivas. Las columnas correspondientes son a B , a B ,., a B , a k , a B , , a B . Note que
1 2 r 1 r +1 m

estas columnas son l.i. puesto que yrk 0 ( recordemos que si a B , , a B , , a B son l.i. , y si ak reemplaza a a B entonces las nuevas columnas son l.i. si y solo si yrk 0 ). Por lo tanto el punto dado por (7) es una solucin bsica factible. En resumen se ha descrito un proceso que nos lleva de una solucin bsica factible a otra. Esto se realiza incrementando el valor de una variable no bsica xk con zk - ck < 0 y ajustando las variables bsicas actuales. En el proceso la variable x B se hace cero. Se En ausencia de dice que la variable xk entra a la base y que x B sale de la base. degeneracin la f.o. aumenta. Puesto que hay slo un nmero finito de soluciones bsicas factibles , el procedimiento terminar en un nmero finito de pasos.
1 2 m r r r

Ejemplos : Max x1 + x2 x1 + 2 x 2 4 s/a x2 1 x , x 0 1 2 Max 5x1 + 3x2 3 x1 + 5 x 2 15 s/a 5 x1 + 2 x 2 10 x , x 0 1 2

OPTIMALIDAD Consideremos el problema : Max c x Ax = b con Amxn y r (A) = m. s/a x 0 Supongamos que x* es una solucin bsica factible con base B ; es decir B 1 b x* = 0 Denotemos por z* el valor objetivo de x* es decir z* = cB B-1 b . Supongamos adems que zj - cj 0 para todas las variables no bsicas . Sea x una solucin factible con valor objetivo z. Entonces de (3) : z* - z = ( z j c j ) x j .... (8)
j R

Puesto que zj - cj 0 , j R , y xj 0 para todas las variables , entonces z* z . Como esto se cumple para cualquier solucin factible x , entonces x* es la solucin bsica factible ptima. SOLUCIONES OPTIMALES ALTERNATIVAS Y UNICAS De (8) se tiene adems la siguiente informacin : si zj - cj > 0 , j R, entonces la solucin optimal x* es nica. En efecto : sea x cualquier solucin factible distinta de x* . Entonces hay por lo menos una componente no bsica xj estrictamente positiva , pues si no x sera igual a x* . De (8) se sigue que z* > z , y as x* es la nica solucin optimal. Supongamos ahora que zj - cj 0 , j R , pero que zk - ck = 0 , por lo menos para una variable no bsica xk . Si incrementamos xk , entonces obtenemos ( en ausencia de degeneracin ) otras soluciones factibles pero que tienen el mismo valor objetivo (pues de (8) z* - z = (zk - ck )xk = 0 xk = 0 ) , llamadas soluciones optimales alternativas. Ejemplo : Max 5x1 + 3x2 x1 + 2 x 2 4 s/a x2 1 x , x 0 1 2 SOLUCIONES NO ACOTADAS Supongamos que tenemos una solucin bsica factible del sistema Ax = b , x 0 , con valor objetivo z0 . Consideremos el caso en que tenemos una variable no bsica xk con zk - ck < 0 e yk 0 . Sabemos que si incrementamos esta variable la f.o. mejorar , puesto que : z = z0 - (zk - ck )xk

Adems habamos dicho que este incremento deba ser talque la nueva solucin fuera factible pues de (5) : xB = B-1 b - yk xk pero como yk 0 , entonces xB ser siempre factible no importa cunto crezca xk ; es decir podemos incrementar xk indefinidamente y por tanto aumentar indefinidamente tambin el valor de la f.o. En este caso el valor de la f.o. es no acotado (tiende a + si xk tiende a + ) Ejemplo :

EL METODO SIMPLEX EN FORMATO DE TABLA


Supongamos que tenemos una solucin bsica factible x con base B , de Max z = c x

Ax = b x0
Podemos representar la solucin bsica factible actual en la siguiente tabla :

xB z xB
0
I

xN c B B 1 N - c N
B 1 N

c B B 1 b B 1 b

La fila cero nos proporciona informacin sobre z j - c j , j IR , bajo x N , y en general toda la informacin necesaria para operar con el Mtodo Smplex. Enseguida presentaremos un esquema que nos permite actualizar la tabla actual de acuerdo a una iteracin con el Mtodo Smplex.
PIVOTEO

Todas las operaciones realizadas en una iteracin con el Mtodo Smplex pueden ejecutarse mediante una simple operacin de pivoteo como sigue : Supongamos que xk entra a la base y que xBr deja la base , entonces pivoteando sobre yrk se tiene : 1.- divida la fila r por yrk 2.- para i = 1 , , m , i r reemplace la fila i por la fila i sumada con yik veces la nueva fila r 3.- actualice la fila cero adicionndole ck - zk veces la nueva fila r.

10

Tabla antes del pivoteo

xB1
z

x Br
0 0 1 0

x Bm
0 0 0 1

xj
z j cj

xk zk ck
y1k y rk
y mk

0 1 0 0

cB b b1 br bm

xB1 x Br
xBm

y1 j yrj
ymj

Tabla despus del pivoteo

xB1 z xB1
0 1

xB r ck zk yrk

x Bm
0 0

xj

xk
0 0

(z

cj )
y rj y rk

yrj yrk

( zk ck )

c B b ( z k ck )

br y rk

y1k yrk

y1 j

y1 k

b1

y1k br yrk

xk

1 yrk

y rj y rk

br yrk

xB1

ymk yrk

y mj

y rj y rk

y mk

bm

ymk br yrk

11

SOLUCION BASICA INICIAL


Recordemos que el M.S. parte con una solucin bsica factible y se mueva a una solucin bsica factible mejorada. Luego para comenzar el algoritmo Smplex una base B debe estar disponible. Mostraremos que el M.S. siempre puede iniciarse con una base muy simple, a saber la identidad.

1er caso. Supongamos que las restricciones son de la forma Ax b , x 0 con A matriz mxn y b un m-vector no negativo. Adicionando el vector de holgura xh las restricciones quedan en la forma estndar : Ax + xh = b , x 0 , xh 0 Note que la nueva matriz de restricciones ( A , I )es de rango m , y existe una solucin bsica factible de este sistema inmediata : x B = x h = b , xN = x = 0 con esta solucin de partida el M.S. puede ser aplicado. 2do caso. Supongamos que las restricciones son de la forma Ax b , x 0 , b 0 bien las restricciones son del tipo Ax b , x 0 , b 0 . Aqu la matriz de los coeficientes generalmente no contiene una submatriz de orden m identidad y luego no se puede extraer una base factible fcilmente. En este caso recurrimos a las variables artificiales para obtener una base factible de partida y luego usamos el Mtodo Smplex para eliminar las variables artificiales. Supongamos el sistema Ax = b , donde A no contiene la submatriz Im . Adicionando el vector xa m-dimensional tenemos Ax + xa = b , x 0 , xa 0 , con solucin inicial xa = b , x = 0 , pero hemos cambiado el problema. Para retomar el problema original debemos forzar estas variables a cero, porque Ax = b Ax + xa = b , con xa = 0 . En otras palabras las variables artificiales son slo una herramienta para obtener una solucin bsica de partida para el Smplex , pero debemos garantizar que estas variables finalmente se anulen. En este punto vale la pena notar la diferencia entre las variables de holgura y las variables artificiales. Una variable de holgura se introduce para poner el problema en forma de igualdad y la variable de holgura puede muy bien ser positiva , lo cual significa que la desigualdad es una desigualdad estricta. Las variables artificiales sin embargo no son variables legtimas y pueden introducirse para facilitar la iniciacin del Mtodo Smplex. Sin embargo estas variables artificiales deben finalmente hacerse cero para mantener la factibilidad en el problema original.

12

Ejemplo. Consideremos las siguientes restricciones : x1 + 2 x 2 4 3 + 4 5 x2 x1 2 x1 + x 2 6 x1 , x 2 0 Introduciendo las variables de exceso x3 , x4 y x5 obtenemos =4 x1 + 2 x 2 x 3 3 + 4 x4 = 5 x2 x1 + x5 = 6 2 x1 + x 2 x1 ,..., x5 0 La matriz de los coeficientes no contiene una submatriz idntica de orden 3. Podemos introducir 3 variables artificiales para obtener la identidad (una solucin bsica factible de partida ) . Notemos sin embargo que x5 aparece slo en la ltima fila y tiene coeficiente 1. As slo necesitamos introducir 2 variables artificiales x6 y x7 lo cual nos lleva al siguiente sistema : =4 x1 + 2 x 2 x 3 3 + 4 x4 = 5 x2 x1 + x5 = 6 2 x1 + x 2 x1 ,..., x5 0 La solucin bsica factible de partida inmediata del nuevo sistema es : x5 = 6 , x7 4 , x7 = 5 y el resto de las variables no bsicas iguales a cero.

METODO DE DOS FASES


Hay varios mtodos que pueden usarse para eliminar las variables artificiales. Uno de estos mtodos es minimizar la suma de las variables artificiales s/a las restricciones Ax + xa = b , x 0 , xa 0 . Si el problema original tiene solucin factible , entonces el valor ptimo de este problema es cero, donde todas las variables artificiales son cero. Es muy importante como las variables artificiales se anulan ellas dejan la base y las variables legtimas entran en su lugar, generalmente todas las variables artificiales dejan la base. En otras palabras obtenemos una solucin bsica factible del sistema Ax + b , x 0 . Si despus de resolver este problema tenemos variables artificiales positivas entonces el problema original no tiene solucin factible. En resumen en el mtodo de dos fases realizamos lo siguiente I FASE : Reducimos las variables artificiales a cero o concluimos que el problema original no tiene solucin factible. II FASE : Optimizamos la f.o. original comenzando con la solucin bsica factible obtenida al final de la fase I.

13

S-ar putea să vă placă și