Fundamentos Matemáticos del Método Simplex

download Fundamentos Matemáticos del Método Simplex

of 56

description

Se presentan algunos resultados de la teoría matemática de la programación lineal y se exponen algunas consecuencias de estos resultados, que generalmente no aparecen en la literatura que más se utiliza para enseñar estos temas. Se proponen además, modificaciones al algoritmo de penalización, con el fin de simplificar su utilización.

Transcript of Fundamentos Matemáticos del Método Simplex

Fundamentos matemticos del mtodo smplexOscar Eduardo Gomez Roiasoegroias(yahoo.comTrabaio de Grado para Optar por el Titulo de MatematicoDirector: Pervis RengiIo RengiIoIngeniero Universidad Nacional de ColombiaFundacion Universitaria Konrad LorenzFacultad de Matematicas22 de noviembre de 2004Tabla de contenidoTabla de contenido .................................................................................................................2 Resumen ............................................................................................................................ 3 ........................................................................................................................................ 3 Introduccin..................................................................................................................... 4 Primera Parte................................................................................................................... 5 1.2 Conjuntos convexos..........................................................................................................8 1.3 Soluciones Bsicas Factibles..........................................................................................18 1.4 Teorema de representacin ...........................................................................................23 Segunda Parte................................................................................................................. 27 2.2 El mtodo smplex en formato de tabla........................................................................35 2.3 Problemas con solucin bsica factible inmediata .......................................................39 2.4 Problemas sin solucin bsica factible inmediata........................................................46 Conclusiones................................................................................................................... 55 ResumenSe presentan algunos resultados de la teoria matematica de Programacion Lineal y se exponen algunas consecuencia de estos resultados. que generalmente no aparecen en la literatura que mas se utiliza para ensear estos temas. Se proponen. ademas. modiIicaciones al algoritmo de penalizacion. con el Iin de simpliIicar su uso.AbstractSome results oI the Mathematical theory oI LinearProgramming is presented and so me oI the consequences oI these results are exposed; results included are the one that do not appear in the kind oI literature they used most to teach other topics. Besides. some modiIication to big M algorithm in order to simpliIy its use. IntroduccinEste trabaio trata sobre los Iundamentos teoricos de la Programacion Lineal. La Programacion Lineal esta comprendida dentro de un campo mas amplio de la matematica aplicada conocido como Investigacion de Operaciones. Por lo tanto. antes deintroducir laProgramacionLineal. mereIerireal campoquelacontiene. Delas deIiniciones de Investigaciones de Operaciones que conozco. la que meior la describe. a mi parecer. es la de Churchman. AckoII y ArnoII. que aparece en la pagina 20 del libro de Prawday que transcribo a continuacion:La Investigacin de Operaciones es la aplicacin, por grupos interdisciplinarios, del mtodo cientfico a problemasrelacionados con el control de las organizaciones o sistemas (hombre-mquina) a fin deque se produzcan soluciones que mejor sirvan a los objetivos de toda la organizacin. De esta deIinicion seconcluye que la naturaleza de los problemas a tratar es tal que hace necesario recurrir a practicas que son propias de la ciencia. asi como la conIluencia de miradas de diversa Iormacion teorica sobre un mismo hecho. Esta ultima aIirmacion coincide con lo que dice Taha en la pagina 2 de su libro. donde aIirma que: La Investigacin de Operaciones debe visualizarse como una ciencia y como un arte. sin embargo. probablemente por nuestra condicion de consumidores no creadores- de Ciencia y Tecnologia. nuestro trabaio en la parte matematicase limita a la aplicacion de algoritmos ya existentes y se abandona el estudio de sus Iundamentos teoricos. Esta ha sidounaconstanteenel pasado: unospocossededicanaproducir algoritmos. yla mayoria. luego de una recibir una exposicion teorica superIicial. aprende a emplearlos enaplicacionespracticas. Sinembargo.lallegadade loscomputadores ha libradoal hombre de tener que emplearse en el desarrollo mecanico de algoritmos. Existen paquetes de soItware que desarrollan este trabaio algoritmico. por lo tanto. la parte que nos corresponde a los matematicos del trabaio interdisciplinario. consiste en comprender los Iundamentos a Iin de estar en capacidad de producir soluciones nuevas a problemas que no hayan sido considerados con anterioridad. o a meiorar las existentes. EscaracteristicodelosmodelosmatematicosdelosproblemasdeInvestigacionde Operaciones la existencia de una. o unas. Iunciones obietivo que se desea optimizar en presencia de restricciones sobre las variables.La Programacion Lineal se ocupa de los problemasenloscualestantola Iuncionobietivocomolasrestricciones sonde tipo lineal. Este trabaio esta dirigido mas al porque. que al como. de los algoritmos. por lo tanto es adecuado. sobre todo. para quienes ya han tenido contacto con el tema y desean conocer los resultados en los cuales se basa el algoritmo simplex.Aunqueestetrabaioesesencialmentedetipoexploratorio. laaplicacionliteraldela teoriamepermitiollegar adesarrollar eiemplosquevanmas alladelousual ya proponer dos cambios que simpliIican la eiecucion del algoritmo de penalizacion.

Este texto y los otros que aparecen citados en la introduccion. se encuentran completamente reIerenciados en la bibliograIia que aparece al Iinal del trabaio. Primera Parte

1.1 Una motivacinEl trabaio que se desarrolla en seguida. es una presentacion matematica Iormal de las tecnicas generales delaProgramacionLineal ydel metodosimplexenparticular. Por lotanto. se comienza ilustrando el metodo graIico. con un eiemplo particular. para ir asi introduciendo unos conceptos intuitivos que. a continuacion. seran rigurosamente deIinidos.Consideremos el siguiente problema de optimizacion lineal:Una compaia Iabrica sillas y mesas. Cada silla necesita 5 horas de ensamblado y 2 horas de acabado. mientras que cada mesa requiere 3 horas de ensamblado y 4 de acabado. Semanalmentelaempresadisponede105horasenlalineadeensambladoy70enlade acabado. La ganancia por cada silla es de $200 y de $160 por cada mesa. Determine el numero de sillas y mesas que deben Iabricarse con el Iin de maximizar la utilidad total.Se plantea el problema en Iorma matematica:Primero deIinimos claramente el signiIicado de las variables que se emplearan.Seanx: numero de sillas que se Iabricaran.y: numero de mesas que se Iabricaran.El problema se expresa entonces de la Iorma:Maximizar la utilidad200x160y satisIaciendo las restricciones:1) 5x 3y 1052) 2x 4y 70Las restricciones 1) y 2) corresponden. respectivamente. a las horas de ensamblado y acabado disponibles. Existenademasotrasdosrestriccionestacitasenesteproblema: comonotiene sentido pensar en construir cantidades negativas de ningun producto. exigiremos ademas: x 0 e y 0.Si damos un valor a la utilidad de u. se tiene: 200x160yu. despeiando y queda160200 x uy asignando diversos valores a u. obtenemos diIerentes rectas paralelas.Se despeia y en las dos primeras restricciones y se graIica:1)35 105 xy2)42 70 xy3) 0 x 4)0 yEl punto (o los puntos) solucion debe(n) satisIacer simultaneamente todas las restricciones. por lo tanto se encontrara(n) en la interseccion de todas las restricciones.En la graIica la region sombreadacorrespondeaestainterseccion(regionIactible). por lotantodebebuscarsela solucionenella. ParataleIectoseasignandiversosvaloresauysegraIicanlasrectasque corresponden a cada una de estas asignaciones. Se puede ver lo que ocurre cuando u pasa de 0 a 2000: larectacorrespondientealaIunciondeutilidadsetrasladaparalelaenunadireccion noreste aproximadamente. incrementandose su valor.Por lo tanto se debe continuar el traslado en tal direccion mientras se mantenga dentro de la region Iactible. El punto maximo al cual se puede llegar siguiendo este procedimiento es el que sehasealadocomopuntosolucion. Estepuntocorrespondealaintersecciondelasrectas y(105-5x)/3 e y(70-2x)/4. resolviendo este sistema de ecuaciones se encuentra que la solucion es x 15 e y10. Con estos valores se tiene una utilidad de 4600.En general. para los problemas de programacion lineal en dos variables la region Iactible tendra la Iorma de un poligono en el plano xy. Al igualar la Iuncion obietivo (z) a una constante c. su graIica sera una linea recta. cambiando el valor de c la recta se desplazara en Iorma paralela sobre el plano. existiendo dos posibles sentidos de desplazamiento (uno cuando c se incrementa y el contrario para decrementos de c). Es intuitivamente obvio que el valor extremo (maximo o minimo) de la Iuncion obietivo dentro de la region Iactible se obtendra cuando esta recta pase porunvertice(puntoextremo)delpoligono. puestoqueelultimopuntodecontactoconla region Iactible. al moverse en el sentido de crecimiento o decrecimiento. debe ocurrir en uno de los vertices.La Iigura ilustra las aIirmaciones anterioresEn la Iigura (b) las lineas con z constante son paralelas a un lado del poligono Iactible. en este caso el valor maximo de z ocurre cuando la linea con z constante coincide con tal lado. En este caso se tienen inIinitas soluciones. todas las cuales se encuentran en el segmento de recta que une dos de los puntos extremos (vertices). Aunque no se ilustra en la Iigura. puede ocurrir que la region Iactible no sea acotada. en tal caso z puede no tener un valor maximo o minimo Iinito.Resumiendo. se tienen ya algunos hechos importantes acerca de los problemas de programacion lineal: laregionIactibleeslaintersecciondelasregionesquedeterminancadaunadelas restricciones del problema;elpuntooptimo se localizaen unode lospuntosextremosde la region Iactible; pueden existir inIinitas soluciones; la region Iactible puede no ser acotada y por lo tanto el problema puede no tener una solucion Iinita; y por ultimo. aunque no lo mencionamos. la region Iactible puede ser vacia. esto es. puede ocurrir que no exista ningun punto que satisIaga simultaneamente todas las restricciones.Los resultados anteriores han sido establecidos de manera intuitiva y han sido motivados con una graIica bidimensional. Sin embargo. como ocurre en el calculo. los resultados insinuados por lageometriadebenser establecidos deIormarigurosa. detal maneraquepuedanser extendidos a mas de tres dimensiones donde no tiene sentido pensar en hacer un dibuio o una maqueta.Lo anteriorno quieredecir que las interpretaciones geometricas carezcandevalor. pues generalmente son ellas las que insinuan los resultados que posteriormente se establecen de Iorma rigurosa. simplemente no constituyen una demostracion en el sentido estricto del termino. Por lo tanto seguiremos empleando graIicas para ilustrar las deIiniciones y los resultados que se vayan estableciendo. pero unas y otros se desarrollaran con independencia de la geometria.1.2 Conjuntos convexosLa recta que pasa por los puntos 2 1 x , xde nse deIine como el coniunto de puntos } . ) 1 ( / + 2 1x x x xnXEl segmento de recta que une 2 1 x , xen nse deIine como el coniunto de puntos } 1 0 . ) 1 ( / + 2 1x x x xnXUn hiperplano en nse deIine como el coniunto de puntos } / z cx xnXdonde0 c es un vector Iila de n componentes y z es un escalar.Los coniuntos } / z cx xnXy} / z cx xnXse llaman semiespacios cerrados.Un coniunto X es convexo si para dos puntos cualesquiera del coniunto 2 1 x , x . el segmento de recta que los une esta tambien dentro del coniunto. En otras palabras. si 2 1 x , xX entonces cada punto 1 0 . ) 1 ( + 2 1x x xdebe pertenecer tambien al coniunto.La expresion 1 0 . ) 1 ( + 2 1x x (para un dado) se llama unacombinacin convexa de 2 1 x , x .Teorema 1.1: un semiespacio cerrado es un conjunto convexo.Demostracin: supongamos que 2 1 x , x estan en el semiespacio cerradoz cxsi1 0 . ) 1 ( + 2 1x x xentonces) 1 0 ( . ) 1 ( ) 1 ( + + z z z2 1cx cx cx y por lo tanto x esta en el semiespacio.Un argumento casi identico demuestra que un hiperplano tambien es un coniunto convexo. Teorema 1.2: la interseccin de dos conjuntos convexos tambin es convexa. Demostracin:sean2 1. X Xconiuntosconvexos. ysean2 1 x , x2 1X X dospuntos diIerentes (si 2 1X X tiene un unico elemento. automaticamente es convexo). entonces1 0 . ) 1 (1 + X2 1x x y1 0 . ) 1 (2 + X2 1x x por lo tanto 1 0 . ) 1 (2 1 + X X2 1x x .LasrestriccionesenunproblemadeProgramacionLineal (incluidaslasdenonegatividad) tienen la Iorma de lo que hemos deIinido como hiperplanos o como semiespacios cerrados. (los cuales son coniuntos convexos) y la region Iactible consiste en la interseccion de un numero Iinitodetaleshiperplanososemiespacios. YcomolaintersecciondeunnumeroIinitode coniuntos convexos es convexa. se puede concluir que: el coniunto de las soluciones Iactibles para un problema de Programacion Lineal es un coniunto cerrado y convexo.Introduciendo variables de holgura o de superavit (holguras que se restan) las restricciones de las Iormas . se transIorman en restricciones de la Iorma . De lo anterior se concluye que en los algoritmos de Programacion Lineal se trabaia con sistemas de ecuaciones. Por lo tanto necesitaremos del siguiente resultado: el coniunto de soluciones de un sistema de m ecuaciones lineales en n incognitas.Ax=b. es un coniunto convexo y cerrado. Para ver esto. observemos que el coniunto de ecuaciones de puede escribir i ib x a . i1. . . . .m.donde ai es la i-esima Iila de A y cada una representa un hiperplano. El coniunto de los puntos que satisIacen simultaneamente todas las ecuaciones es la interseccion de los m hiperplanos; es por lo tanto. como ya vimos. un coniunto convexo y cerrado. Unpuntoxesunpuntoextremodeunconiuntoconvexo. si. ysolosi. noexistenenel coniunto puntos 2 1 x , x(2 1x x ) tales que1 0 . ) 1 ( < < + 2 1x x xLadeIinicionimplicaqueunpuntoextremonopuedeestar entreotrosdospuntosdel coniunto. esto es. que no puede estar en el segmento de recta que los une. Teorema 1.3: un punto extremo es a su vez un punto frontera.Demostracin:supongamos quexes un punto interior de X. por lo tanto existe una vecindad de x completamente contenida en X. Sea x1 un punto de la vecindad diIerente de x. hagamosx2x(x-x1). setieneentoncesx2-xx-x1dedonde'x2-x''x-x1' ypor lotantox2 tambien esta en la vecindad y ademas para 1/2 se tiene x1(1- )x2(x1x2)/2xpor lo tanto xno puede ser un punto extremo. Sin embargo. el reciproco no es cierto. no todo punto Irontera es punto extremo. como se ilustra en la siguiente IiguraEl siguiente graIico permite visualizar un resultado que lleva a la deIinicion de combinacion convexa de m puntos. Al prolongar cualquier recta que pase por el punto y esta necesariamente se encontrara con puntos de la Irontera. en este caso los puntos de corte son xay xby. por lo tanto. setienequey xa(1- )xb. 0 1. pero. asuvezlos puntosxayxbse encuentran entre x5.x6 y x3.x4 respectivamente. por lo tantoxa x5(1- )x6. 0 1yxb x3(1- )x4. 0 1de dondese tieney xa (1- )xb [ x5 (1- )x6| (1- )| x3 (1- )x4| x5 (1- )x6 (1- ) x3 (1- ) (1- )x4sumando los coeIicientes de la combinacion lineal se tiene (1- ) (1- ) +(1- ) (1- ) + + + 1 + 1 Lo anterior es una motivacion para la siguiente deIinicion: una combinacin convexa de un numero Iinito de puntos x1. . . . .xm se deIine como el punto

mii1i,x x . 0 i

. ..... 1 m i . 11miiLa graIica tambien motiva el hecho de que cualquier punto de un coniunto convexo acotado se puede escribir como combinacion convexa de los puntos extremos del coniunto.Teorema 1.4: el conjunto de todas las combinaciones convexas de un nmero finito de puntos x1. . . . .xm.es un conjunto convexo.Es decir. el coniunto Xmii1i,x x x / para todos los . 0 i

. ..... 1 m i . 11mii }

es convexo. Demostracin: tomemos u y v en X. entonces mii1'i,x u . 0 'i

. ..... 1 m i . 1 '1mii mii1' 'i,x v . 0 ' ' i

. ..... 1 m i . 1 ' '1mii y hagamos la combinacion convexa u(1- )vmii1'ix +mii1' ' ) 1 (ix +mii i1) ' ' ) 1 ( ' (ix pero 0 ) ' ' ) 1 ( ' ( +i i y ademas1 ' ' ) 1 ( ' ) ' ' ) 1 ( ' (1 1 1 + + miimii i imi asi que u(1- )v tambien es una combinacion convexa de los xi y por lo tanto el coniunto X es convexo.Dado un coniunto A. se deIina la envolvente convexade A como el coniunto convexo mas pequeo que contiene a A. Precisando: la envolvente convexa de un coniuntoAes la interseccion de todos los coniuntos convexos que contienen a A. Teorema 1.5: la envolvente convexa de un nmero finito de puntos x1. . . . . xm es el conjunto de todas las combinaciones convexas de x1. . . . . xm. Este teorema aIirma que la envolvente convexa de x1. . . . . xm es el coniunto:Xmii1i,x x x / para todos los . 0 i

. ..... 1 m i . 11mii }Demostracin: ya se vio que el coniunto de todas las combinaciones convexas de x1. . . . . xm es un coniunto convexo. Falta demostrar que todo coniunto convexo que contiene a los puntos x1. . . . . xm tambien contiene X. Procedemos por induccion sobre m. Para m2 el resultado es inmediato. Supongamos el teorema cierto para m-1: esto es que la envolvente convexa de x1. . . . . xm-1 es el coniunto: X111mii i,x x x / para todos los . 0 i

. ..... 1 m i . 11mii }Sea X la envolvente convexa de x1. . . . . xm. Obviamente todo punto de X1 esta tambien en Xy ademas X debe contener tambien todos los segmentos de recta que unan puntos de X1 conxm. esto es. todos los puntos:x m ix x ) 1 (11 +miisi hacemos i i . i1. . . . . m-1 y ) 1 ( mentonces todo0 iy 1 ) 1 (11 1 + miimii Ademas. como i y varian entre 0 y 1 cada i puede tambien tomar cualquier valor entre 0 y 1. Asi X es el coniunto de todas las combinaciones convexas de x1. . . . . xm.La envolvente convexa de n puntos se denomina elpoliedro convexo engendrado por estos n puntos.La Iigura que siguemuestra que dado un coniunto convexo X. y un punto y Iuera de el. existe unhiperplanoquelossepara. estoes. unhiperplanotal queel puntoyestaenunodelos semiespacios que determina el hiperplano. y el coniunto X. en su totalidad. esta en el otro.Teorema 1.6 (o del hiperplano de separacin) : sea X un conjunto no vaco, cerrado y convexo y X y. Entonces existe un vector c distinto de cero, y un0 > tal que cy+ cx para todo xX.Demostracin: en primer lugar extraigamos de X un subconiunto cerrado y acotado. para ello tomemos cualquierx0X y sea r ''x0-y''. intersectamos la bola cerrada con centro en yy radiorconel coniuntoX. elconiuntoresultante. quellamaremosX. esconvexo. cerradoy acotado. pues es la interseccion de dos convexos y cerrados. uno de los cuales es acotado. En otras palabras X esta conIormado por lospuntos de Xcercanos a y en el sentido de que estan a una distancia de. a lo mas. r-. DeIinimos I(x) ''x-y''. para todox en X. esta Iuncion es continua y como Xes compacto entonces I asume un minimo en X . Sea w el punto donde la Iuncion asume el minimo. Veamos que este w es unico: supongamos que existen w1 y w2 (w1 w2)que estan a la misma distancia minima de y. entonces. por la desigualdad triangular se tiene: ''(w1w2) - y'' ''(w1-y) (w2-y)'' ( '' w1-y '' '' w2-y '') '' w1-y ''La desigualdad estricta vale si w1-y (w2-y)(*) y este es el caso pues siw1-y (w2-y) tendriamos''w1-y'' ''w2-y'' pero como ''w1-y'' ''w2-y''daria como resultado i . esto implicariaw1w2Lo cual es una contradiccion. (*Al lector que no conozca esta aIirmacion acerca de la desigualdad triangular le sugiero consultar. por eiemplo. la demostracion de la desigualdad de Cauchy-Schwartz queaparece en la pagina 17 de la segunda edicion del analisis de Apostol y la demostracion de la desigualdad triangular de la pagina 59 del mismo libro).Consideremos ahora cualquier punto x en X.Entonces elpunto(1- )w x. 0 1.esta en X y cumple ''(1- )w x - y'' ''w-y'' o sea'' (w - y x - w) '' ''w-y'' Aplicando''x'' xx se tiene''w-y'' 2 (w - y )(x - w) ''x-w'' ''w-y'' o sea 2 (w - y )(x - w) ''x-w'' 0tomamos > 0 y dividimos por a ambos lados2(w - y )(x - w) ''x-w'' 0tomamos el limite cuando tiende a cero (w - y )(x - w) 0empleamos el recurso x w x - y y w = x y (w - y) y reemplazamos(w - y )( x y (w - y)) (w - y )(x - y) -''w-y'' 0 o sea(w - y )(x - y)''w-y'' de donde(w - y )x -(w - y )y''w-y'' trasponiendo-(w - y )y -(w - y )x ''w-y''ahora bien. deIinamos c -(w - y ) y ''w-y''se tiene entonces cy cx del hecho de ser w y se sigue c 0 y ~ 0.Hastael momentoseahechoenIasis enlos resultados reIerentes alas regiones Iactibles acotadas. en las cuales intuimos que todo punto puede ser escrito como combinacion convexa de sus puntos extremos. Este hecho es muy importante porqueahora que se vean las regiones no acotadas se notara que estas se componen de una parte acotada. que puede ser generada por sus puntos extremos. y una no acotada que esta ligada al concepto de direccion extrema. el cual se introduce acontinuacion. Sinembargo. cuandounproblematiene solucionIinita. esta se encuentra en la region acotada. de ahi la importancia del trabaio desarrollado hasta ahora.Dado unconiunto convexo. un vector d. distinto de 0. se llama unadireccin del conjunto si. para cada x en el coniunto. el rayo x d / ~0} tambien pertenece al coniunto. Es claro que si el coniunto es acotado. entonces no tiene direcciones. Consideremos el coniunto X x / Axb,0 x} no vacio. Entonces un vector d distinto de 0 es una direccion de X si. y solo si. A(x+ d)b y0 d x + para cualquier ~0(Observacion: ennno existe orden. por lo tanto la notacion 0 xsigniIica que todas las componentes del vector x son mayores o iguales que 0) Como Axb si X x . la ecuacion se reduce a Ad0. Ademas como x d debe ser no negativo para arbitrariamente grande. entonces d debe ser no negativo. Resumiendo. d es una direccion de X si. y solo si. 0 d ,0 d , y Ad0(Nota:deacuerdoalaobservacionanteriordebeserclaroquelasdoscondiciones0 d , 0 dno son equivalentes a d ~ 0)Se sabe que. por eiemplo. dados dos vectores linealmente independientes en 2. el coniunto de todas sus combinaciones lineales coincide con2. se dice entonces que los dos vectores generan todo el espacio. pero si se limita a las combinaciones lineales de coeIicientes positivos seobtieneunicamentelaregiondel espaciocomprendidaentrelasdosrectasobtenidasal prolongar los vectores. En la siguiente Iigura ilustramos este hecho.Una direccin extrema de un coniunto convexo es una direccion del coniunto que no se puede representar como una combinacion lineal positiva de dos direcciones distintas del coniunto.Las direcciones extremas ayudanacompletar labase paralos coniuntos convexos enel sentido de que. para el caso de los coniuntos no acotados. se necesitan. ademas de los puntos extremos. para expresar cualquier elemento del coniunto. Se ilustra esto graIicamenteEn la Iigura el coniunto tiene 3 puntos extremos x1. x2 y x3. y dos direcciones extremas d1 y d2. El punto x se puede expresar como y mas una de las direcciones del coniunto. Pero y se puede expresarcomocombinacionconvexadex1.x2yx3ytodadirecciondel coniuntosepuede expresar como combinacion lineal no negativa de las direcciones extremas. Resumiendo. todo punto se puede expresar como combinacion convexa de los puntos extremos mas una combinacion lineal no negativa de las direcciones extremas. Si el coniunto es acotado no tiene direcciones ysetendraunicamentelacombinacionconvexadelos puntos extremos. Este resultado. queseenunciaraIormalmenteysedemostraramas adelante. es elteoremade representacin y se usara parademostrar que los optimos se localizan en los puntos extremos. Se pospone la demostracionpara cuandose hayanreunidotodos los elementos que esta requiere.Teorema 1.7: los ptimos locales de la funcin objetivo de un programa lineal, son globales. Demostracin: supongamos que xo es un maximo local de maximizar zcx suieto a Ax bx 0si xo no Iuese global. existiria x1 tal que cxo cx1. Entonces usando la notacionx( ) (1- ) xo x1 para 0 1 se tienec x( ) (1- ) cxo cx1 ~ (1- ) cxo cxo cxocomo0x x ) ( lim 0se tienen puntos meiores que xo en B(xo. )para cualquier~ 0. esto estaria en contradiccion con el hecho de ser xo un maximo local.Teorema 1.8:cuando la funcin objetivo de un programa lineal asume su valor mximo omnimo, lo hace en un punto extremo del conjunto de soluciones factibles.Demostracin: consideremos el problemamaximizar zcx suieto a Ax bx 0Sea x* un punto Iactible. entonces. por el teorema de representacion. x* se puede escribir como combinacionconvexadelospuntosextremosdel coniunto. masunacombinacionlineal no negativa de las direcciones extremas. o sea + ljjkii1j id x x* 1 donde1 kii1y ademask ii..... 2 . 1 . 0 yl jj..... 2 . 1 . 0 entonces el problema se transIorma en un problema de las variables i. i y se expresaria asi:maximizar zc + ljjkii1j icd cx x* 1 suieto a 1 kii1

k ii..... 2 . 1 . 0

l jj..... 2 . 1 . 0 como las i se pueden hacer arbitrariamente grandes. si cdj ~ 0 para alguna i. la Iuncion obietivo z puede tomar valores tan grandes como queramos. Si cdj 0 para toda i. entonces tomamos todas las i 0. Entonces. para maximizar kii1icx simplemente se determina el maximo cxi y se toma su correspondiente 1 y los restantes se igualan a cero. Si el maximo ocurre en mas de un punto extremo. entonces. cualquier combinacion convexa de ellos es una solucion optima. Esto es. si existen indices i1. i2. . . . . ip tales queptimoz p 2 1i i icx cx cx ...entonces cada combinacion convexa de estos puntos es solucion. pues si p 2 1i p i 2 i 1x x x x + + + ... entoncesp 2 1i p i 2 i 1cx cx cx cx + + + ...o seaptimo ptimo ptimo ptimoz z z z + + + p 2 1cx ...pues 1 2 . . . p 1. Los libros enIocados a ingenieria y administracion solamente mencionan el caso para p2. en la segunda parte muestro un eiemplo con p3.

1.3 Soluciones Bsicas FactiblesEl lector que ya conoce los algoritmos de Programacion Lineal sabe que estos se basan en el maneiode matrices ydebeestar extraadoporquehastael momentoel enIoquehasido esencialmente geometrico. Se ha demostrado ya que el punto optimo es un punto extremo. pues bien.el resultado que siguea continuacionrelacionalos puntosextremosconlas matricesy muestrauna manera de encontrarlos.Considereseelsistema Axb, 0 x ,endondeAesunamatriz n m ybesunvector. Supongase que rango(A,b) rango(A)m. Despues de un posible rearreglo de las columnas de A. sea A|B,N|. en donde B es una matriz invertiblen my N es una matriz) ( m n m . El punto ]]]

NBxxxen dondeb B x1By0 xN se llama una solucin bsica del sistema. Si0 xB , entonces x se llama una solucin bsica factible del sistema. Lascomponentes de Bxse llaman variables bsicas. y las componentes deNx sellamanvariablesnobsicas. Si 0 xB > ,entoncesxsellamasolucinbsica factible no degenerada. y si al menos una componente de Bx es cero. entonces xse llama solucinbsicafactibledegenerada.Dehecho. lamatrizBesunamatrizcuadradaquese IormatomandomcolumnasdelamatrizrectangularA. si seencuentraqueestamatrizes invertible se le puede asociar una solucion basica. Por cada matriz B invertible que se extraiga de A se tiene una solucion basica.Ahora se demostrara uno de los resultados mas importantes de esta parte del trabaio. Teorema 1.9: un punto x es una solucin bsica factible si, y solo si. x es un punto extremo.Demostracin: dado el sistema Axb.0 x , donde A es una matriz n m de rango m,sea x un punto extremo de la region Iactible. Despues de un posible rearreglo de las componentes de x y de las columnas de A. supongamos que x1.x2. . . . .xp son positivos y que xp1. . . . .xn son cero. Veamos que a1.a2. . . . .ap son linealmente independientes. procedemos por contradiccion: supongamos que no son linealmente independientes. entonces deben existir escalares c1. c2. . . . . cp no todos cero. tales que0 apii ic1. A partir de este ultimo resultado se construyen otras dos soluciones Iactibles x y x asi:

'+ +p p jp j c xxj jj. . . . . 1 . 0. . . . . 2 . 1 .' y

'+ p p jp j c xxj jj. . . . . 1 . 0. . . . . 2 . 1 .' 'Como 0 >jx para i1.2. . . . .p. entonces. independientemente de los valores de c1. c2. . . . . cp se puede escoger ~0 tal que 0 ' >jx y 0 ' ' >jx para i1.2.... .p.Como. ademas. los ci no son todos cero entonces xx. Ademas:b a a a a Ax'j j j j + + p1 jp1 jp1 jp1 jj j j j jc x c x x ) ( 'De manera analoga Axb. Por lo tanto. x y x son soluciones Iactibles diIerentes y x21x 21xestocontradiceel hechodequexesunpuntoextremo. Por lotanto a1.a2. . . . .apson linealmente independientes. Ahora bien. como A es de rango m entonces p m. si pm ya se tiene el resultado. Si p m extraemos m p vectores de ap+1.ap+2. . . . .an tales que iunto con a1.a2. . . . .ap Iormen un coniunto linealmente independiente. Despues de un posible rearreglo de columnas de A,supongamos que son ap+1.ap+2. . . . .am. Entonces se tiene B| a1.a2. . . . .ap, ap+1.ap+2. . . . .am| y con esto concluye la demostracion.Reciprocamente. supongamos que xes una solucion basica Iactible del sistema Axb.0 x . Sea B la base correspondiente a x. por lo tanto]]]

0xxBsupongamos que x x(1- )x. en donde 0 1 y x y x son Iactibles. Sean ]]]

NBx 'x 'x ' y]]]

NB' x '' x '' x ' sabemos que 0 x'Ny0 ' x'Ny como ]]]

+]]]

]]]

NBNB B' x '' x 'x 'x '0x) 1 ( 0 1entonces 0 ' x' x'N N . Por otra parte. bAxBxBNxNBxB de donde.b B x'1BPor lo tanto se concluye que xB xB y como0 ' x' x'N N . entonces xx. Analogamente xx y. por lo tanto. se tiene que x es un punto extremo.El Teorema 1.8dice que el punto optimo se encuentra en uno (o unos) de los puntos extremos y el Teorema 1.9 dice como encontrarlo(s). Por lo tanto. se esta ya en condiciones de resolver problemas de Programacion Lineal.DelamatrizmxnA sedebenextraertodaslassubmatricesmxmB (existen

,`

.|mndetales submatrices) y veriIicar si son invertibles. en caso de serlo se resuelve el sistema Bxby si todos los elementos de la solucion son no negativos entonces se ha encontrado una solucion basica Iactible. y por lo tanto. un punto extremo. Se evalua la Iuncion obietivo en cada uno de estos puntos y se escoge el optimo. En el caso de que el punto optimo se encuentre en mas de un punto extremo tendremos. como ya diiimos. multiples soluciones. las cuales coinciden con el coniunto de todas las combinaciones convexas de tales puntos extremos.Para ilustrar todo esto se resolvera nuevamente el problema con el cual se hizo la introduccion en el tema:maximizar z 200x1160x2 suieto a5x 1 3x2 1052x 1 4x270si se introducen las variables de holgura x3y x4 se tiene 5x1 3x2 x 3 1052x1 4x2 x 4 70Por lo tanto la matriz Ay el vector b serian 4 3 2 11 0 4 20 1 3 5x x x xA]]]]

]]]]

70105b se deben por lo tanto extraer las 624

,`

.| submatrices de 2x2 y veriIicar si son invertibles2 14 23 5x x]]]

1B.310 21 5x x]]]

2B. 4 11 20 5x x]]]

3B.3 20 41 3x x]]]

4B.4 21 40 3x x]]]

5B. 431 00 1x x]]]

6B .en este caso las 6 matrices son invertibles y se tiene por lo tanto. por eiemplo. que el sistema B1xb tiene como solucion xB11 b. que en este caso da como resultado x115. x210 para un x1 |15.10.0.0| . y similarmente para los otros sistemas se obtiene:x135. x3-70 paraun x2 |35. 0.-70. 0|x121. x428 para unx3 |21.0.0.28|x21721. x35221 para unx4 |0. 1721 . 5221.0|x235. x4-70 para unx5 |0.35.0.-70|x3105. x470 para unx6 |0.0.105.70|en este caso son soluciones basicas Iactibles no degeneradas x1, x3, x4y x6. Tomando las dos primeras componentes de los vectores se obtienen los puntos extremosen 2 |15.10|.|21.0|. |0.1721| y |0.0|. se pueden veriIicar estos resultados en la graIica que se hizo para resolver el problema. Ahora. se evalua la Iuncion obietivo en cada uno de los puntos extremos y se tiene:z|x1.x2 | 200x1160x2 z|0.0| 0z|0.1721| 2800 z |21.0| 4200 z|15.10| 4600entonces el punto optimo es |15.10|. esto coincide con el resultado obtenido mediante el metodo graIico.El Teorema 1.9 da un metodo para encontrar los puntos extremos (soluciones basicas Iactibles) sinembargo. aunIaltagarantizarlaexistenciadetalespuntosextremos. estoseharaenel siguiente teorema.Teorema 1.10:El conjunto X =x/Axb.x 0} en donde rango(A)m y X es no vaco,tiene al menos una solucin bsica factible.Demostracin: Sea x una solucion Iactible de la Iorma x(x1. . . . .xp.xp1. . . . .xn) en donde x1. . . . .xp ~ 0 y xp1 . . . xn0. Si a1. . . . .ap son linealmente independientes entonces se les pueden agregar m-p vectores columna deAtales que los mvectores sean linealmente independientes ytener asi quexes unasolucionbasicaIactible. Delocontrario. existen escalares c1. . . . .cp no todos cero. tales que c1a1 . . . cpap 0. Como hay por lo menos un ci diIerente de cero si es positivo ya esta. si es negativo multiplicamos la ecuacion por -1 para asegurarnos de que hay al menos un ci positivo. Consideremos el siguiente punto x:'+ n p jp j c xxj jj. . . . . 1 . 0. . . . . 1 .'en donde minimo kkjjjcxccx''> 0 / para algun k.de lo anterior concluimos que x 0 y ademas xk 0. por lo xtanto tiene a lo mas p - 1 componentes positivas. Ademasb a c - a a c - a Ax'j j j j j j pjpjjpjjpjjx x x1 1 1 1( ' )por lo tanto se ha construido un punto Iactible x que tiene a lo mas p - 1 componentes positivas. Si las columnas correspondientes a estas componentes positivas son linealmente independientes. entonces x es una solucion basica Iactible. En caso contrario. el proceso se repite. Finalmente se obtendra una solucion basica Iactible.El metodo simplex. que se desarrollara en la segunda parte del trabaio. busca el optimo yendo de una solucion basica Iactible a otra. En cada paso. a la matriz B correspondiente a la solucion actual se le reemplaza una de sus columnas por alguna de las de la matriz N. obteniendo asi una nueva matriz B. Sin embargo. se debe garantizar que B es. a su vez. invertible. El teorema que se presenta a continuacion da una condicion necesaria y suIiciente para que esto ocurra. Teorema 1.11: sean a1. a2. . . . .anuna base de ny sea aai. i1.2. . . . .n. por lo tantonii1ia a entonces a1.a2. . . . .aj-1.a.aj+1. . . .anson linealmente independientes si y solo si. i 0.Demostracin: supongamos que a1.a2. . . . .aj-1.a.aj+1. . . .anson linealmente independientes y que. sinembargo. i0. Setendria. portanto.nj iii1ia a dedonde01a - ainj iiilocual contradice que a1.a2. . . . .aj-1.a.aj+1. . . .ansean linealmente independientes.Reciprocamente. supongamos que i 0 y que01a - ai nj iii entonces 0 (1 1 1 j i i ia ) a - a - ajnj iii iniinj iii como los a1. a2. . . . .anson una base y como i 0. se tiene 0 y i- i0 para i i. entonces i0 para i i y esto termina la demostracion.Se Iinaliza esta parte con la demostracion del teorema de representacion. que Iue empleado en la demostracion del Teorema 1.8 el cual.iunto con el Teorema 1.9. constituyen los dos resultados mas importantes de esta primera parte.1.4 Teorema de representacinTeorema 1.12 (Teorema de representacin): Dadoel conjunto no vaco X x / Axb. x 0}.seanx1.x2. . . . .xklos puntos extremos yd1.d2. . . . .dllas direcciones extremas. EntoncesxX si y slo si.xse puede representar como una combinacin convexa de los puntos extremos ms una combinacin lineal no negativa de las direcciones extremas, es decir, + ljjkjj1 1j jd x x donde kjj11 . i 0i 1.2. ....ky i 0 i1.2.....l(*)Demostracin:supongamos primero que x se puede representar segun la expresion anterior. entonces: b Ad Ax Axj j + ljjkjj1 1 por lo tanto x X.Reciprocamente. supongamos que el rango(A) rango(A.B) m. en caso contrario podemos eliminar todas las restricciones redundantes. Supongamos ahora que x Xy que sin embargo. no puede expresarse segun (*). Consideremos el siguiente coniuntoS + ljjkjj1 1j jd x x con kjj11 . i 0i 1.2. ....kyi 0 i1.2.....l}Como X es no vacio. por el teorema anterior. tiene al menos un punto extremo. por lo tanto S es no vacio. Veamos que S es un coniunto convexo. Sean u y w que pertenecen a S. Esto es: + ljjkjj1 1j jd x u donde kjj11 . i 0i 1.2. ....ky i 0 i1.2.....l + ljjkjj1 1j jd x w donde kjj11 . i 0i 1.2. ....ky i 0 i1.2.....lentonces u (1- )w +ljjkjj1 1j jd x + ljjkjj1 1) 1 ( ) 1 (j jd x + + +ljj jkjj j1 1) ) 1 ( ( ) ) 1 ( (j jd x donde se tiene

+kjj j11 ) ) 1 ( ( pues kjj11 y kjj11 . 0 ) 1 ( +j j i1. . . ..k y ademas 0 ) ) 1 ( ( +j j para i1. . . ..l. Por lo tanto S es convexo. S es ademas cerrado. y por hipotesis x S. Por el teorema del hiperplano de separacion existe un vector c 0 y un ~ 0 tales que +

,`

.|+ ljjkjj1 1j jd x c cx (1)Como i puede hacerse arbitrariamente grande se debe tenercdj 0. i 1. . . . .l. (2) Consideremos ahora el punto extremo xp deIinido porCxp k jmximo 1jcx (3)Tomando p 1. i 0 para ip. i 0 para todo i. la desigualdad (1) se transIorma encx cxp ( 4)Puesto que xpes un punto extremo. entonces. por el Teorema 1.9. se puede representar como

,`

.|0b B 1 en donde B es una submatriz de A de tamao mxn invertible y0 b B 1. Sin perdida de generalidad. supongamos que0 b B 1>. Descomponiendo x en

,`

.|NBxx se tiene Ax BxB NxN b. de donde xB =b B 1 -1B NxN. Descomponiendo c en cB y cN. se tiene entonces que cx cBxB cNxN cB b B 1 (cN - cB 1B N) xN y cxp cB b B 1 . Sustituyendo en (4) se tienecB b B 1 (cN- cB 1B N) xN cB b B 1 o sea (cN- cB 1B N) xN > 0como cada componente de xNes no negativa debe existir al menos una componente i del vector cN- cB 1B N que es positiva y para la cual x i ~ 0. Haciendo y j 1Ba j se tiene entonces que x i ~ 0 y ci - cB y j ~ 0(5)Veamos que y j 0. Supongamos que y j 0. sea d |-y jt.0.0. . . . .1. . . . .0|t.en donde el 1 aparece en la i-esima posicion. Entonces [ ]j jj1a aa BN B, Ad + ]]]]]]]]]]

]]]]]]]]

010* | | 0 ademas d 0. d0Por lo tanto d es una direccion de X y ademascd |cB.cN| |-y jt.0.0. . . . .1. . . . .0|t -cB y jt ci ~ 0 por (5)Nota: en esta parte hemos empleado multiplicacion de matrices por bloques. el lector no Iamiliarizado puede consultar. por eiemplo. el algebra lineal de Seymour Lipschutz de la serie Schaum. pagina 45.pero este ultimo resultado se contradice con (2). Por lo tanto y j 0.Construyamos ahora el punto x xp d. esto esx

,`

.|0b B 1 d haciendo b 1Bb se tiene x ]]]]]]]]]]]]]

+]]]]]]]]]]]]]

01000''1 1mjjmyybbentonces Ax Axp Ad b 0 b por lo tanto x es Iactible. Ademas x tiene a lo mas m componentes positivas pues xr 0. Hagamos que en la submatriz Bde A.ajreemplace a ar. Como yri 0. entonces. por el teorema 1.12. las columnas deBson linealmente independientes. Por lo tanto x es un punto extremo de X. Notemos tambien quecx cxp cdpuestoque > ycd~0. entoncescx~cxplocual esta encontradiccioncon(3). Esta contradiccion demuestra que x se puede representar como una combinacion convexa de puntos extremos mas una combinacion lineal no negativa de las direcciones extremas. Como deseamos que x i 0 y que tambien > 0; para los y i j positivos se debe tener bi - y i j 0, para todo i. por lo tanto bi / y i j . Tomamos entonces minimo { bi / y i jtal que y i j> 0, 1 i m}. Sea br / y r jSegunda Parte

2.1 El mtodo smplexEn la parte 1 se vio un metodo de solucion para el problema maximizar z cx suieto aAxb,0 xendondeAesunamatriz n m .besunvectorm-dimensional ycyxsonvectoresn-dimensionales. El metodo consiste en extraer todas las submatrices B m mde A y veriIicar si son invertibles. En caso de serlo se resuelve el sistema Bxby si todos los elementos de la solucion son no negativos entonces se ha encontrado una solucion basica Iactible. Se evalua la Iuncion obietivo encadauna de talessolucionesbasicasIactibles yseescogelaoptima.La diIicultad para emplear este procedimiento con problemas de la vida real radica en la cantidad de submatrices que hay que revisar. Como ya se indico. el numero de tales submatrices es

,`

.|mn. Por lo tanto. si se enIrenta un problema en el cual n 50 y m 30. el cual es. sin embargo. bastante moderado. se tendrianque revisar

,`

.|3 05 0 47129.212243.960(donde representa billones) de matrices de tamao 30x30. lo cual constituye. obviamente. una labor irrealizable. El metodo simplex. que se desarrolla a continuacion. y que Iue expuesto por primera vez. por su creadorGeorgeDantzig.en1948. optimizalabusquedadelasolucionreduciendolaaunas dimensiones razonables. El metodo es iterativo y consiste. en cada iteracion. en pasar de una solucion basica Iactible. asociada a una matriz B. a otra. asociada a una matriz B. en la cual la Iuncion obietivo presenta una meiora con respecto a la anterior. Ademaslas matrices B y B diIieren unicamente en una columna. Antes de abordar el desarrollo del metodo simplex se llamara la atencion acerca de un resultado. o meior de su presentacion. del algebra lineal: en n . n vectores linealmente independientes (LI) constituyenuna base. estoes. cualquier otrovector den puedeexpresarsecomo combinacion lineal de los elementos de la base. por eiemplo. para 3 se tiene que si ]]]]]

312111bbb1b . ]]]]]

322212bbb2by ]]]]]

332313bbb3bson LI y ]]]]]

321aaaaentonces existen escalares c1, c2yc3tales quea= c1b1+ c2b2+ c3b3.Sinembargo. sib1,b2yb3sonlabase canonica. entoncesc1 = a1, c2 = a2y c3 = a3. Este hecho es importante porque en el trabaio con el metodo simplex siempre se tendra B I. donde I es la matriz identidad cuyas columnas coincidenconlabasecanonicaden . Conesteresultadoenmente. el desarrolloquese presenta a continuacion es constructivo. esto es. da una iustiIicacion y al mismo tiempo muestra la manera de realizar los calculos.Dado el problemamaximizar z cx suieto a(1) Axb,0 xLascolumnasdeAsedenotarancomoa1,a2, . . . ,am.SeconsideralamatrizAmxn |Bmxm.Nmx(n-m)|. donde Besta constituida por columnas linealmente independientes y esta asociada a una solucion basica Iactible. esto es.0 b B x1B (mas adelante se muestra como obtener esta solucion basica Iactible inicial). La idea consiste en reemplazar una columna de B por alguna de las de Ny obtener asi una meiora en la Iuncion obietivo. Por su independencia lineal lascolumnasdeBconstituyenunabaseparan yestaeslarazonporlacual se denomina base a B. Que B sea invertible es equivalente a que puede convertirse en l mediante operacioneselementales. porlotanto. comoprimerpaso. seeIectuansobretodoel sistema Axbtales operaciones elementales de manera que se obtiene el sistema equivalenteAxb donde A |I.N|. Como este nuevo sistema es equivalente a (1). por comodidad de notacion. se seguiran empleando A. B. N y b para reIerirse a A.I. N y b respectivamente. Es importante notar tambienqueai=eiparai1. . . ..mdondeeieslai-esimacomponentedelabase canonica de n .Como las columnas de I constituyen una base de n . cualquier columna ae de N (la e es porque las columnas de N son las candidatas para entrar a reemplazar a alguna de las de B) puede escribirse como ae = a1ea1+ a2ea2+ . . . + ameam = miiea1ia(2)tambien debe ser claro que x = b (3)que. como ya se diio. en adelante se notara simplemente b. sin embargo en (3) escribimos b para resaltar que esta igualdad se cumple cuando se ha hecho B I.Si se supone que el vector que se va a sacar de B es el as. entonces (2) se puede reescribir ae = s ia asems iiiea a +1(4)como aereemplazara a as. por el teorema 1.11 necesitamos que la componente ase de ae sea diIerente de cero para que el coniuntoa1,a2, . . . ,as-1,ae,as+1, . . ,amsealinealmenteindependiente. Ademas(4) insinuacomohacer el reemplazo: simplemente despeiando asas =

,`

.| ms iiieseaa11i ea aoas = ms ii s ei es eaaa11i ea a.(5)Veamos quea1,a2, . . . ,as-1,ae,as+1, . . ,an eIectivamente estan asociados a una solucion basica: la solucion basica Iactible BxB bpuede escribirse comob ai miix1que puede. a su vez. reescribirse b a as i +sms iiix x1y teniendo en cuenta (5) b a a ai e i + )1(1 1ms ii s ei es esms iiiaaax xreagrupandob a )a (e i + sesseiesms iiiaxaax x1(6)si se deIinenseseaxx '(7)yie e iseies i ia x xaax x x ' ' para 1 i m.i s (8) se tieneb a ae i +ems iiix x ' '1deIiniendo ademas el vectorx = (x1,x2, . . . ,xs-1,0,xs+1, . . . ,xm,0, . . . ,xe, . . . ,0)vemos que (6) es equivalente a Ax b. por lo tanto x eIectivamente es una solucion basica que reordenando estaasociada a la submatriz de A [a1,a2, . . . ,as-1,ae,as+1, . . ,an]. Ahora bien. esta permitido hacer operaciones elementales en la matriz A. pues estas generan sistemas equivalentes. Noteseque[a1,a2, . . . ,as-1,ae,as+1, . . ,an]diIieredeIunicamenteenla columnasqueahoraestaocupadaporaeysegun(7)el valordelavariableasociadaala columna que entra es igual al valor que tenia la variable asociada a la columna que sale dividido entre ase que como ya vimos debe ser diIerente de cero. por (3) sabemos que esto se obtiene automaticamente dividiendo toda la Iila s entrease. Se obtiene asi un 1 en la posicion se. De (8) y de (3) vemos que para i s el valor de xi se obtiene automaticamente restando a la Iila i la Iila s multiplicada poraie, esto es equivalente a hacer ceros arriba y abaio del 1 ubicado en la posicion se. Lo anterior iustiIica la aplicacion que se hace de la eliminacion de Gauss-Jordan en la matriz ampliada del sistema. Por otra parte debe notarse que. luego de la realizacion de estas operaciones elementales. la columna que entro ha quedado igual a la columna que reemplazo (o sea con un 1 en la posicion sy ceros en las otras posiciones) pues al ser el algoritmo de tipo iterativo las condiciones iniciales para cada iteracion deben ser siempre las mismas y en este caso se ha supuesto que. despues de un posible rearreglo de las columnas de A. BI al comienzo de cualquier iteracion.Sin embargo. aun es necesario establecer las condiciones para que xsea una solucion basica Iactible. esto es para que x 0. Se requiere. por lo tanto. que xe 0y que xi 0 para 1 i m.i s. o lo que es lo mismo 0 sesax(9) lo cual implica que 0 >sea pues 0 sx. y0 seies iaax x para 1 i m.i s (10)este ultimo resultado se tiene automaticamente si a i e < 0. Sin embargo. para losaie 0se requiere 0 seies iaax x para1 i m.i s. Lo cual es equivalente a ieisesaxaxpara 1 i m. i s (11)En este punto es conveniente recordar que se han empleado los subindices s y e para indicar quese reemplazarala columna s de Bpor la e de N. pero hasta el momento no se han Iiiado. estoes. puedensercualesquiera. Sinembargo. al llegara(11)apareceel primercriteriode decisionquesedebeemplear. enprimer lugar debeversequelacondicioni ssehace redundante y por lo tanto se puede omitir. En segundo lugarindica que una vez Iiiado e (mas adelante veremos con que criterio) sno puede ser cualquiera. debe ser tal que satisIaga (11) y esto se tiene unicamente si se escoge s de acuerdo a la siguiente regla: s debe ser tal que cumpla ''> 0 /ieieisesaaxmnimoaxpara 1 i m(12)Se tiene. por lo tanto. una regla que garantiza que x sea una solucion basica Iactible. De (12) y de (3) se ve que la regla (12) equivale a dividir los elementos de b entre los correspondientes de ae, siempre y cuando estos ultimos sean positivos. y elegir el mas pequeo de estos cocientes. Esta solucion esta asociada a la matriz B la cual diIiere de B en tan solo una columna. Ahora se debe Iiiar el criterio que garantice que xes una meior solucion que x. El metodo para ello es obviamente estudiar el valor de la Iuncion obietivo z en x.Si en(1) se considera la particionx=[xB,xN| correspondiente a la particionAmxn= [Bmxm,Nmx(n-m)] se obtiene para Ax = b[B,N]bxxBB]]]

(13) desarrollandoBxB + NxN = b(14)pero como xB 0 y xN = 0 tenemosBxB= boxB = 1B b (15)que es una solucion basica de Ax b. El vector xB se denomina vector bsico y xN, vector no bsico. Se parte el vector c en [cB,cN] y la Iuncion obietivo z cx puede escribirse z =[cB,cN] bxxBB]]]

z =cB xB + cN xNz =cB xB(16)porque xN = 0. Analogamente para x se tiene. despues de un rearreglo (en el cual x pasa de (7) a x = (x1, . . . ,xs-1, xs =xe ,xs+1, . . . ,xm,0, . . . ,0))z =cB xBPero. cB ycB diIieren unicamente en la s-esima componente. esto es cB= (c1,c2, . . . , cs, . . . , cm)cB = (c1,c2, . . . , cs, . . . , cm) donde ci = ci parai s ycs = ceentoncesz =cB xB= mii ix c1' '= s sms iii ix c x c ' ' ' '1+= e ems iii ix c x c ' '1+teniendo en cuenta (7) y (8) queda= s esems iis ei es i iaxcaax x c + 1) ( (17)en la sumatoria de (17) Ialta el termino ) (seses s saax x c que es igual a cero. por lo tanto puede agregarse sin aIectar la expresion. (17) queda entonces sesemi seies i iaxcaax x c + 1) ( sesemimiie isesi iaxc a caxx c + 1 1 sesmimie ie i i iaxc a c x c 1 1) ( (18)como z cx y si se deIine el escalar ze = cBae= miie ia c1para m e n(19)entonces (18) quedaz =sese eaxc z z ) ( (20)por(9)sabemosque0 sesax. porlotantoparaquezseamayorquezesnecesarioque e ec z 0 y como el obietivo es obtener el mayor incremento debe escogerse e de tal manera que e ec z sea el mas negativo. Se tiene por lo tanto la regla para escoger el vector que entra a la base.De esta regla se deduce que siempre que exista algun i tal que i ic z 0 la solucion actual es susceptible de ser meiorada. Por lo tanto el proceso se detendra cuando. para todo i. i ic z 0yestoindicaraquesehaencontradolasolucionoptima. establecer esteresultadoesel proposito del siguiente teorema.Antes de enunciarlo se extendera la deIinicion(19) para i1. . . . . m z i = cB a i = cB e i = c iy. por lo tantoz i c i = 0 para i1. . . . . mTeorema 2.1: Se ha llegado a lasolucin ptima de (1) cuando i ic z 0 para todo i.Demostracin:seanxuna solucion Iactible yxuna solucion basica Iactible de (1) respectivamente. x asociada a B. entoncesAx=bque puede expandirse comox1a1+ x2a2+ . . .+ xnan = b (21)y se tiene entonces z = c1x1+ c2x2+ . . .+ cnxn (22) extendiendo (2) a todas las columnas de A se tienea j= miija1iareemplazando esto ultimo en (21) quedax1miia11 ia+ x2miia12 ia+ . . .+ xn miina1ia= breagrupandoa 1 nii ia x11'+ a 2 nii ia x12'+ . . . + a m nimi ia x1'= b (23)estaultimaigualdadexpresabcomocombinacionlineal dea1,a2, . . . ,am,queson linealmente independientes y por lo tanto tal representacion es unica. y como ademas tenemos BxB = b, entonces x j =niji ia x1', j=1,2, . . . ,m (24).Si se supone que i ic z 0 para todo i. se tiene i ic z y esto implica i i i ix c x z ' ' para todo i. sumando todas estas desigualdades se obtienez1x1+ z2x2+ . . . + znxn c1x1+ c2x2+ . . . + cnxn= zutilizando (19) extendido se tiene' ' ... ' '1 12 211 1z a c x a c x a c xmiin i nmii imii i + + + reagrupando' ' ... ' '1 12 211 1z a x c a x c a x cnimi i mnii inii i + + + (25)teniendo en cuenta (24) se puedeexpresar (25)como' ...2 2 1 1z z x c x c x cm m + + +porlotanto. lasolucionbasicaIactiblex.paralacuali ic z paratodoi. daalaIuncion obietivo un valor mayor o igual que cualquier otra solucion Iactible. Esto era lo que se queria demostrar.Hasta este momento. la idea central de la exposicion ha sido expresar las columnas deNen terminos de las de de la baseB y aplicar los conceptos y operaciones del algebra lineal.sin embargo. algunosdeestosresultadospuedenserreinterpretadosdesdeunaperspectivamas intuitiva. Se hara esta exposicion a continuacion.Retomando (8)ie e iseies i ia x xaax x x ' ' para 1 i m.i sse ve que por cada unidad en que se incremente xe la variable xi suIre un decremento igual a aie(siaiees negativa. el eIectoseraenrealidadunincremento). El eIectonetodeestos decrementos (incrementos) sobre la Iuncion obietivo z cx sera. por tanto. igual a -miie ia c1que. por (19). es igual a-ze.Falta. sinembargo. tener encuentael eIectosobrezdel incremento de una unidad de xe que vendria a ser igual a ce. Por lo tanto. el eIecto neto total sobre z. por cada unidad en que se incremente a xe (desdesu actual valor de 0) sera ce -ze = (ze - ce)enotraspalabras. por cadaunidadenqueseincrementelavariabledeentradalaIuncion obietivotendra unincremento(decremento) de(ze- ce)unidades. Comose trata de maximizarsetoma. comoya se diio. la eque tengaelze cemasnegativocon el Iinde meiorar el valor de z. Por otra parte. si todos los ze ce son mayores o iguales a cero y existe algune talqueze ce sea iguala cero el incremento dexedesdesu valoractualde cero conduce a otra solucion que tendra. sin embargo. el mismo valor obietivo. Supongase que se incrementara una variable no basica xe tal que ze ce es negativo. Por (8) paralasi. 1 i m. talesqueaie>0cadaunidaddeincrementodexeimplicaun decremento de xi igual a aie. entonces xe podra incrementarse hasta que para alguna i. x i = 0, puesincrementossuperioresaesteimplicarianquexiasumiriavaloresnegativos. locual constituiria una violacion a la Iactibilidad de las soluciones. La primera variable basica que se hace 0 al incrementarse xe se llama variable de bloqueo pues bloquea un incremento adicional de xe. Entonces se tiene que xe entra a la base y la variable de bloqueo sale de ella.Supongase. como en el caso anterior. que se tiene una solucion Iactible con valor obietivo z0 y que hay una variable no basica xe con ze ce < 0, pero queai 0 para 1 i m. por lo tanto. no existe variable de bloqueo pues el incremento de xe se reIleia en incrementos en los valores de las variables basicas o en que estas conserven su valor actual (en el caso ai = 0). Al no existir restriccion para el crecimiento de xe esta puede hacerlo sin limites. sin abandonar la region Iactible. por lo tanto. se tendria que la solucion x. en dondee ex x .e1Ba b B x es arbitrariamente grande y todas las otras componentes no basicas son cero. es Iactible y su valor obietivo es z = z0 (ze ce)xe que tiende a inIinito cuando xe tiende a inIinito.2.2 El mtodo smplex en formato de tablaSe han visto algunos resultados reIerentes al metodo simplex y se ha insinuado en su momento laIormanatural comotalesresultadosserelacionanconlasoperacioneselementalesquese pueden hacera la matriz ampliada del sistema. Sin embargo. hasta el momentolos resultados reIerentes a losze ceno se han relacionado con operaciones elementales. se ha llegado el momento de hacer todas estas relaciones.SupongasequesetieneunasolucionbasicaIactibleinicialxrelacionadaconlabaseB. El problema de programacion lineal(1) puede reescribirse como Maximizar zSuieto a z cBxB cNxN= 0 (26) BxB + NxN= b (27)xB, xN 0de 26 se tiene xB + B-1NxN= B-1b(28)multiplicando (28) por y sumando con (26) se obtienez + (cBB-1N cN)xN = cB B-1b(29)como xN = 0de (28) y de (29) se ve que xB = B-1b = b(30)yz = cB B-1b = cB b (31)si se piensa en z como una variable basica mas y en (29) como como una restriccion adicional. se puede tabular el problema de la siguiente manera. en donde el lado derecho (LD) contendra los valores de las variables basicas. incluyendo z. Las variables basicas se identiIicaran en la columna de la extrema izquierda (VB).VB z xBxN LDz 1 0 cBB-1N cN cB B-1b Rengln 0xB 0 I B-1N B-1b Renglones 1 a mTabla 1Se muestra el contenido de esta tabla con reIerencias en el trabaio realizado Funcion obietivo cB B-1b= cBbvease (31) Valor de las variables basicasB-1b = b vease(30) z j c j en el renglon 0 debaio dexB yxNvease(19)y tengase en cuenta que z j c j = 0 para i1.2. . . . m.Es deseable tener un procedimiento que haga lo siguiente1. Actualizar las variables basicas y sus valores2. Actualizar los valores z j c j 3. Actualizar las columnas a jPara ello eiecutamos el siguiente algoritmo1. Se escoge en el renglon 0 la columna e tal que z e c e sea el mas negativo. 2. Siae0 xepuede crecer indeIinidamente y por lo tanto el obietivo optimo es no acotado y se detiene el algoritmo. En caso contrario. segun (12). se dividen las entradas delosrenglones1amdel ladoderechoentrelascorrespondientesdeaequesean positivasyseescogeel menordeestosresultados. deestamanerasedeterminala variable de bloqueo xs.(Los pasos que siguen consisten en hacer un pivoteo sobrease. este es el procedimiento que se realiza al hacer la eliminacion de Gauss-Jordan)3. Se divide el renglon s por ase4. Para i1.2. . . . .m. is. se suma al i-esimo renglon el nuevo renglon s multiplicado por - aie.5. Se suma al renglon 0 el nuevo renglon s multiplicado por ( z e c e)Las dos tablas siguientes representan la situacion inmediatamente antes y despues del pivoteo.Antes de pivotear zXB1 XBs XBmX j X e LD z 1 0 . . . 0. . . 0. . . z j c j. . . z e c e ... cBbXB1

XBsXBm0001 . . . 0. . . 0 0 . . . 1. . . 0 0. . .0. . .1. . .a1j . . .a1e. . . . . .asj . . .a se. . . . . .amj. . . ame . . .b1bs bmDespues de pivotearzXB1XBs XBmX jX eLD z 10 . . see eac z . . .0 . . . z j c j . ..0.. .- ( z e c e) sesjaa cBb- (zece)sesab' XB1

Xe

XBm0001 . . . seeaa1 . . . 0 0. .sea1 . . . 0 . . .a1j - a1esesjaa. . . 0 . . . . . . sesjaa . . .1 . . .

b1- bsseeaa1

sesab' bm- bssemeaa0 . . . semeaa . . . 0. . .amj- amesesjaa. . .0 . . .Se examinaran las implicaciones del pivoteo1. La variable Xe entro a la base y XBs salio de la base. Este cambio queda registrado en la columna de la izquierda en la cual Xe reemplazo a XBs.2. El lado derecho (LD) contiene los valores actualizados de las variables basicas. Tenganse en cuenta (30). (31).(7). (8) y (20). Hay que recordar que z se esta considerando como una variable basica adicional.3. El valor deze cees cero como corresponde a las variables basicas.Hacer evidentequeloszjcjdelasvariablesnobasicastambienIueronactualizados requiere un poco mas de trabaio. De (19) se tiene zj = cBaj= miij ia c1para m i naplicando esta deIinicion a la tabla resultante despues del pivoteo se obtiene. para las variables que siguieron por Iuera de la base.z j c j=s es jems iis es ji e i j iaacaaa a c + ) (1- c j(32)El apostroIe es para diIerenciar al z j c jactual delz j c janterior. Por otra parte. en la entrada correspondiente a z j c j de la tabla nueva aparecez j c j- ( z e c e) sesjaaque aplicando (19) queda

sesjemiie i jmiij iaac a c c a c ,`

.| 1 1= sesjjmi sesjie ij iaace caaa a c +

,`

.|1=s es jjms ii s es ji e i j iaac e caaa a c +

,`

.| 1esta ultima expresion. salvo el orden. es identica a (32). Resta veriIicar el resultado para la variable que abandono la base. Se tiene por (19)z s c s -sseems iiseieicacaac +11 (33)y tambien que en la entrada correspondiente a z s c saparecesee eac z (34)aplicando (19) a (34) se tieneseemiie iac a c 1=see se sms iiie iac a c a c +1=see sms iis eieiac caac11+ que es identico a (33) salvo por el orden.Sehademostrado. porlotanto. quesi setieneunasolucionbasicaIactibleysedisponela inIormacion segun aparece en la tabla 1. escogiendo las variables de entrada y de salida segun los criterios dados (si no hay variable de entrada es porque la solucion que se tiene es la optima y si no hay variable de salida es porque no existe variable de bloqueo y por lo tanto el obietivo se puede hacer tan grande como queramos) se determina ase. Haciendo un pivoteo sobre el se llega a una nueva tabla en la cual la inIormacion esta dispuesta nuevamente segun la tabla 1. Esta nueva tabla contiene . por lo tanto. una nueva solucion basica Iactible y su valor para z es igual al valor para z en la solucion anterior incrementado en una cantidad igual a( z j c j ) multiplicadoporel valorqueasumiolavariablequeentroalabase. Comolasituaciones equivalente a la inicial el proceso puede repetirse hasta que no existan variables que entren a la base y en ese momento. segun el teorema 2.1. se habra encontrado la solucion optima.En todo el desarrollo anterior se ha partido del supuesto de que se conoce una solucion basica Iactible y con ella de toda la inIormacion que requiere la tabla 1.Se vera que existe una clase de problemas para los cuales la obtencion de una solucion basica Iactibleinicial esinmediata. Lamaneradeencontrar unasolucionbasicaIactibleparalos problemas que no pertenecen a esta clase se vera mas adelante.2.3 Problemas con solucin bsica factible inmediataUnproblema de la Iorma maximizar z cxsuieto a(35)Ax b,0 xTiene una expresion expandida asi

maximizar z = c1x1+ c2x2+ . . . + cpxp. suieto a

m p mp m mp pp pb x a x a x ab x a x a x ab x a x a x a + + + + + + + + +.........2 2 1 12 2 2 22 1 211 1 2 12 1 11 Se transIorma mediante la introduccion de las variables de holgura xp+1, . . . ,xn en maximizar z = c1x1+ c2x2+ . . . + cpxp+0xp+1+ . . . +0xn (36) suieto a

m n p p p mp m mn p p p pn p p p pb x x x x a x a x ab x x x x a x a x ab x x x x a x a x a + + + + + + + + + + + + + + + + + + + + ++ ++ ++ + 2 1 2 2 1 12 2 1 2 2 22 1 211 2 1 1 2 12 1 110 0 ...0 0 ...0 0 ...(37)setieneportantoquex=[xp+1, ... ,xn]=[b1, ... ,bm]esunasolucionbasicaIactible asociada a la matriz B I para la cual se tiene cB 0 y z 0. Las variables x1, . . . ,xp al no ser basicas tienen todas valor cero y cumplen las condiciones para ser solucion de (35). En otras palabras. un problema que tenga la Iorma de (35) permite siempre que el vector x 0 sea una solucion. No es este el caso de los problemas que presentan en sus restricciones o .estos casos se discutiran posteriormente.Se reproduce la tabla 1 para ver como se tabula la solucion basica Iactible que permite iniciar el ciclo de iteraciones (en esta tabla se han intercambiado las columnas que estan debaio de y pues esto se acostumbra en la mayoria de los libros y es probable que el lector se sienta mas comodo con esta presentacion)VB zxN xBLDz 1 cBB-1N cN 0 cB B-1b Rengln 0xB 0 B-1N I B-1b Renglones 1 a mTabla 1si en (36) trasponemos terminos quedaz - c1x1- c2x2- . . . - cpxp-0xp+1- . . . -0xn = 0que expresado unicamente en terminos de coeIicientes queda1 cN +0 = 0(37)como cB = 0 en el renglon 0 la expresion cBB-1N cN se reduce a cN. Ademas se tiene que cB B-1b = 0. por lo tanto la parte 1 cBB-1N cN 0 cB B-1bdel renglon 0 se reduce a 1 cN0 0que coincide exactamente con (37). Ademas como se tiene que como B I entonces B-1N N y B-1b b. Entonces la parteB-1N I B-1b de los renglones 1 a m se reduce a N I bque coincide exactamente con los coeIicientes de (37). La columna VB almacena el nombre de la variable basica correspondiente a cada Iila. Reuniendo todas estas conclusiones. se tiene que la tabla 1 para el problema (36). (37) queda VBzxN xBLDz 1 -c1 -c2 - ...-cp 00. . .0 0xp+1xp+2xn000a11 a12 ...a1pa21 a22 ...a2p . . . am1 am2 ... amp10.. . 001.. . 0 . . . 0 0. . . 1b1b2bmEn este estado de cosas se puede comenzar a eiecutar el algoritmo iterativo.Ejemplo 1: resuelvase por medio del metodo simplex el siguiente problemamaximizar z 5x1 3x2 suieto a3x1 5x2 155x1 2x2 10x1.x20trasponiendo terminos y agregando variables de holgura se tienez - 5x1 - 3x2 03x1 5x2 x3 155x1 2x2 x4 10x1.x2 x3.x40se tabula la inIormacion anterior (se omite la columna z pues las operaciones que se hacen en el pivoteo no la modiIican. se agrega la columna xi/aie para almacenar las razones que se emplean en la regla (12))VBx1x2x3x4LDz -5 -3000 xi/aiex3x43 5 5 210 01151052En este momento se tiene: Variables basicas x3 15. x4 1 0. Variables no basicas x1 0.x2 0. z 0.Como -5 es el mas negativo de los z j c j de las variables no basicas (x1, x2) x1 entra a la base y por lo tanto se tiene e2. Se calcula entonces la columnaxi/aie.15/35 y 10/52 el valor minimo es 2 por lo tantox4es la variable de bloqueo que sale de la base y 2 es el valor que asumira x1. Como x4 esta en la Iila 2 s2 (esto se hace asi para evitar los reordenamientos de los que se habla en el desarrollo de la teoria y en los cuales se reservan los subindices 1 a m para las variables basicas. en este caso m2 y se tendria. reordenando. que XB1 = x3 y que XB2 = x4). Por lo tanto se realiza el pivoteo sobre a12. Se tieneVBx1 x2 x3x4 LDz 0-10 110xi/aiex3x1 019/51 -3/5 1 2/5 0 1/592Se llama la atencion acerca de los siguientes hechos: Se ha eliminado la linea que separaba las variables basicas de las no basicas. pues en la practica. comoyasediio. nosereordenanlas columnas. Las variables basicas se identiIican en la columna VB. Variables basicas x3 = 9, x1=2. Notese que sus respectivos z j-c j = 0. Variables no basicas x2 = 0, x4 = 0. z 10. Este valor es igual al valor anterior de z (0) menos el z j-c j de la variable que entro a la base (-5) multiplicado por el valor que asumio esta variable (2). o sea 10 0 (-5)*2. Otra Iorma de veriIicar este resultado es reemplazar los valores actuales de las variables en la Iuncion obietivo z = 5x1 + 3x2 + 0x3 + 0x4 = 5*2 3*0 0*9 0*0 10.Como el proceso es iterativo. el proceso se repite siguiendo las mismas reglas.Ejemplo 2: resolver por el metodo simplex Maximizar z 4x1 4x2 Suieto a -2x1 2x2 2-x1 2x2 4 x1. x2 0trasponiendo terminos. agregando variables de holguray tabulando se tieneVB x1x2 x3x4 LDz -4 -4 0 00 xi/aiex3x4 -2 2 1 0 -12 0 12412se puede escoger entre x1 y x2 para entrar a la base. escogemos x2. al calcular los xi/aie se tiene 2/21. 4/2 2.Por lo tanto la variable de bloqueo es x3. Se pivotea sobre a12.y se tiene VBx1x2x3x4 LDz -8020 4 xi/aiex2x4 -1 1 1/2 0 10 -1112*2y para la siguiente iteracion VBx1 x2 x3x4LDz 00-68 20xi/aiex2x1 0 1 -1/2 1 10-1 132**Para esta ultima tabla se tiene que x3 es candidato para entrar a la base. sin embargo a3 0 y por lo tanto no existe variable de bloqueo para x3. En otras palabra x3 puede hacerse tan grande como se quiera. Segun la teoria expuesta se tiene como solucionx. en dondee ex x .e1Ba b B x es arbitrariamente grande y todas las otras componentes no basicas son ceroy su valor obietivo esz = z0 (ze ce)xequetiendea inIinitocuandoxe tiendea inIinito. Para este caso sea x3 = M (en donde M puede ser arbitrariamente grande) entonces232Mx + y M x + 21Se vera que la solucion

,`

.|+ + 0 . .23 . 2 MMMes Iactible y se calculara z para ella. Esta solucion cumple las restricciones pues-2x1 + 2x2 = -2( M + 2 ) +2(23M+) =22y-x1 + 2x2 =-( M + 2 ) + 2(23M+)= 4 4Ademas se tienez = z0 (ze ce)xe =20(-6)M = 20 + 6Mque tambien puede ser calculada haciendo el reemplazo de la solucion en la Iuncion obietivoz = 4x1 + 4x2 = 4( M + 2 ) + 4(23M+) = 20 + 6MEjemplo 3: resolver por medio del metodo simplex Maximizar z = 3x1 + 2x2 + x3suieto a:2x1 + 3x2 + 5x3 173x1 + 2x2 + x3 10x1 + x2 + 7x314x1 0, x2 0, x3 0se tiene entonces VB x1 x2 x3 x4 x5 x6LDz -3 -2 -100 00 xi/aiex4x5x6235100 321010 117001 17101417/210/314pivoteando en a21VB x1 x2 x3 x4 x5 x6 LDz 000010 10 xi/aiex4x1x605/313/31-2/30 12/31/3 0 1/3 0 01/320/30-1/31 31/310/3 32/3 31/5532Al no existir en la Iila cero cantidades negativas el algoritmo deberia detenerse en este momento pues. segun el teorema 2.1. ya se ha encontrado una solucion optima (10/3. 0. 0. 31/3. 0. 32/3) sin embargo notese que en el renglon 0 las variables no basicas x2 y x3 tienen un 0. esto indica queal entraralabasenoaportarannadaazperoestosi permitiraencontrarunasolucion alternativa. por ello se hace una nueva iteracion en la cual se hace entrar a x2 a la base. Por lo tanto pivoteando en a22 se tieneVB x1 x2 x3 x4 x5 x6 LDz 0 00010 10xi/aiex4x2x6-5/207/21-3/20 3/211/2 0 1/2 0 -1/2013/20-1/21 259 4/71018/13En esta ultima tabla se tiene la solucion optima alternativa (0.5.0.2.0.9). Nuevamente hay dos variables no basicas con un cero en el renglon 0 x1 y x3 por lo tanto se realiza otra iteracion en la cual x3 entra a la base (si se hiciera entrar x1 se regresaria a la tabla anterior). Pivoteando en a13 se tieneVB x1 x2 x3 x4 x5 x6 LDz 0 00010 10 xi/aiex3x2x6-5/7012/7-3/70 13/710-1/7 5/7 0 29/700 -13/716/7 1 4/733/737/7 Setieneunasegundasolucionalternativa(0. 33/7. 4/7. 0. 0. 37/7). Siestas3solucionesse restringen a las variables originales del problema se tienen las siguientes soluciones(10/3, 0, 0), (0,5,0) y (0, 33/7, 4/7)Todas con un valor de z 10. Segun la teoria vista. todas las combinaciones convexas de estas 3 soluciones son. a su vez. soluciones. Por lo tanto se tiene que el vector x = (x1, x2, x3) tal que x = 1(10/3, 0, 0) + 2(0,5,0) + 3 (0, 33/7, 4/7) donde 1+ 2+ 3 = 1es tambien una solucion optima. O lo que es equivalente. la solucion general queda determinada porx1 = 1310,x2 = 3 27335 +,x3 = 374 donde 1 + 2 + 3 = 1se veriIicara el valor de z para esta solucion generalz = 3x1 + 2x2 + x3= 3*1310 + 2(3 27335 +) + 374 = 10 1 +10 2 + 10 3= 10( 1+ 2+ 3)= 10Ahora se hace la comprobacion de que la solucion general satisIace la primera restriccion2x1 + 3x2 + 5x3 17pues se tiene 2*1310 + 3*(3 27335 + ) + 5*374= 1320 + 3 217 15 +pero como 3 1- 2- 1. se tiene 17 17 2 ) 17320(2 1 la veriIicacion para las desigualdades restantes es similar.2.4 Problemas sin solucin bsica factible inmediataYa se vio que unproblema de la Iorma maximizar z cxsuieto aAx b,0 xtiene a x 0 como una solucion Iactible y que si ademas agregamos las variables de holgura la solucion [xB,xN] = [B,0] es una solucion basica Iactible asociada a la matriz I. la cual se Iorma con los coeIicientes de las variables de holgura. El valor que asumen estas variables tiene un signiIicado en los problemas que se resuelven. Puede signiIicar. por eiemplo. la cantidad de un recurso que se deia sin emplear. Sin embargo. en problemas como el siguientemaximizar z = x1 2x2 suieto a x1 + x2 2-x1 +x2 1x2 3 x1, x2 0 es evidente que (x1, x2) (0. 0) no es una solucion Iactible pues no satisIace las dos primeras restricciones. Por lo tanto debe encontrarse de alguna manera una solucion basica Iactible para poder comenzaraaplicar el metodosimplex. Enestaclasedeproblemasseprocededela siguientemanera: enlas dos primeras restricciones quesondelaIorma . restamoslas variables no negativas x3 y x4 las cuales conservan el nombre de holguras (en algunos textos se conocencomovariablesdesuperavit)yenlaultimasumamosx5,conloqueel problema quedaria maximizar z = x1 2x2 suieto a x1 + x2 x3 = 2 -x1 + x2- x4 = 1(38) x2 +x5= 3 x1, x2, x3, x4, x50como los coeIicientes de las variables de holgura no Iorman la matriz identidad se debe extraer una submatriz invertible. para ello debe veriIicarse que su determinante sea diIerente de cero. Luegosemultiplicael sistemaporlainversadeestasubmatrizysi el ladoderechoesno negativo se tiene una solucion basica Iactible. Se ensaya con las 3 primeras columnas. como|B| =0 1 00 1 11 1 1 = 1entonces B-1 existe y se tieneB-1 = ]]]]]

2 1 11 0 01 1 0Multiplicando la matriz aumentada del sistema por B-1 queda]]]]]

2 1 11 0 01 1 0*]]]]]

3 1 0 0 1 01 0 1 0 1 12 0 0 1 1 1 ]]]]]

3 2 1 1 0 03 1 0 0 1 02 1 1 0 0 1Como los terminos del lado derecho son no negativos se tiene una solucion basica Iactible en la cualx1=2, x2=3 yx3=6 (notese quex1=2, x2=3 si es una solucion Iactible del problema original) trasponiendo terminos para la Iuncion obietivo z (z - x1 + 2x2 = 0)el sistema quedaVB x1 x2 x3 x4 x5 LDz -1 20000 xi/aiex1x2x310011 0100100112233 Sinembargoloszi-ci delasvariablesbasicasx1yx2nosoncero. porlotantomediante operaciones elementales conlos unos delas Iilas 1y2sehacenceros enlaIilaceroy Iinalmente se tiene VB x1 x2 x3 x4 x5LDz 0 001-1-4 xi/aiex1x2x310011 0100100112233 231.5 Ahora si se estan cumpliendo las condiciones para eiecutar el metodo simplex. pivoteando en a35 quedaVB x1 x2x3x4 x5 LDz 0 01/21/20-5/2 xi/aiex1x2x310-1/21/20 01-1/2-1/200 0 1/21/211/23/23/2 y se ha llegado a la solucion. Estemetodo. sinembargo. resultabastanteengorroso. puesapesar dequeenestecasola submatrizqueseescogioresultonosingularyademasal resolverel sistemaseobtuvieron valores no negativos - por esto no Iue necesario hacer mas ensayos-. este no sera siempre el caso y por lo tanto el metodo empleado no resulta eIiciente.Un metodo mas eIiciente para encontrar una solucion basica Iactible inicial consiste en emplear el propiometodosimplexpara tal eIecto. Para ellose introducenlas llamadas variables artiIiciales. llamadasasi porque. adiIerenciadelasdeholgura. norepresentannadaenel problema que se esta resolviendo sino que simplemente se utilizan para encontrar la solucion basica Iactible inicial y luego se eliminan. Uno de los metodos empleados para hacer salir las variables artiIiciales de la base consiste en penalizarlas en la Iuncion obietivo con un coeIiciente que en valor absoluto tiende a inIinito y que sera negativo si el problema es de maximizacion y positivo en el caso de minimizacion. La solucion basica Iactible obtenida en la iteracion en la cual sale la ultima variable artiIicial queda en terminos de las variables originales y de las de holgura y por lo tanto es una solucion basica Iactible para el problema original. que era lo que se estaba buscando. Se ilustra esta teoria resolviendo nuevamente el eiercicio anterior.Si en (38) se agregan las variables artiIiciales para completar la base y se penalizan estas nuevas variables en la Iuncion obietivo se tiene maximizar z = x1 2x2 Mx5 Mx6 suieto a x1 + x2 x3 +x5= 2 -x1 + x2- x4+x6 = 1 x2 +x7 = 3 x1, x2,x3, x4, x5, x6, x70en donde por estetica se ha renombrado la variable de holgura x5 como x7.Trasponiendo terminos en la Iuncion obietivo y tabulando se tiene VB x1 x2x3 x4 x5 x6 x7 LDz -1 2 00 M M0 0 xi/aiex5x6x7 1 1-1 0 1 0 0-1 1 0-1 0 1 0 0 1 0 00 0 1213 Haciendo ceros en la Iila cero para las variables basicas x5 y x6 quedaVB x1 x2 x3 x4 x5 x6 x7 LDz -12-2M MM 0 00 -3M xi/aiex5x6x7 1 1-1 0 1 0 0-1 1 0-1 0 1 0 0 1 0 00 0 1213 213EnestemomentolasvariablesartiIicialesx5yx6estanenlabaseyporlotantoelpunto (x1,x2) (0.0) no pertenece a la region Iactible del problema original.Como 2-2M es el coeIiciente mas negativo de la Iila cero entra x2 y como 1 es la razon minima sale x6. Pivoteando en a22 se tiene VBx1 x2 x3x4 x5x6 x7 LDz 1-2M0M2 -M0 2M-2 0-3M xi/aiex5x2x7 2 0 -1 1 1 -10 -1 10-1 010 1 001 0 -1 111 21/2*2La variable artiIicial x5 aun permanece en la base y por lo tanto el punto (x1,x2) (0.1) no es Iactible en el problema original. (notese que no satisIace la restriccion 1).Como1-2Mesel coeIicientemasnegativodelaIilaceroentrax1ycomo1/2eslarazon minima sale x5. Por lo tanto pivoteando en a11 se tiene VBx1 x2 x3x4 x5x6x7LDz0 01/23/2M-1/2M-3/2 0-5/2xi/aiex1x2x710 -1/21/2 1/2-1/20 01 -1/2 -1/2 1/2 1/20 001/21/2-1/2-1/21 1/23/23/2 Eneste momentolasvariables artiIiciales x5 y x6 han abandonadola baseypor lotantoel punto(x1,x2) (1/2.3/2) pertenece a la regionIactible del problema original. Mas aun. (1/2.3/2.3/2)esunasolucionbasicaIactibleasociadaalamatrizIcuyascolumnasaparecen debaiodelasvariablesbasicasx1,x2yx7.Seesta. porlotanto. encondiciondeaplicarel metodo simplex para resolver el problema original. esto se consigue simplemente suprimiendo lascolumnascorrespondientesalasvariablesartiIicialesyaplicandoalatablaresultanteel algoritmosimplex. Entodosloslibrosqueconsultenoeliminanestascolumnas. sinoque continuanel procesoconlatablacompleta. cuandosedesarrollael algoritmoamanoesto obviamente implica realizar un trabaio superIluo. Supongo que la razon de obrar asi es que si se programael algoritmoenuncomputadornoesnecesariohacerqueestetengaencuentael momento en el cual salio la ultima variable artiIicial y simplemente continua iterando con la tabla completa.En el eiercicio que se esta desarrollando. coincidencialmente. todos los coeIicientes de la Iila cero son no negativos y por lo tanto el algoritmo se detiene aqui dando como solucion optima x1 = 1/2x2 3/2yz -5/2.En la graIica se ven los distintos valores que asumen x1 y x2 hasta alcanzar el punto IactibleSe ha reiterado que cuando en un problema de programacion lineal todas las restricciones son de la Iormaentonces 0es una solucion basica Iactible asociada a I. la cual queda constituida por las columnas que corresponden a las variables de holgura. Tambien se ilustro uno de los metodos queseempleanparaencontrar unasolucionbasicaIactiblecuandonotodas las desigualdadessondelaIorma . Apartirdel problemaoriginal seplanteaunproblema artiIicial en el cual a las restricciones originales que no son de la Iormase suman variables artiIiciales para tener asi una solucion basica Iactible del problema artiIicial asociado a la matriz Ila cual estara constituida por las columnas correspondientes a las holguras que se suman y a las variables artiIiciales. Estas variables artiIiciales se penalizan en la Iuncion obietivo de tal manera que el algoritmo simplex las obligue a salir de la base. Cuando en la base no queden variables artiIiciales la solucion basica Iactible que en ese momento se tenga para el problema artiIicial tambien lo sera del original.EstemetodobuscaunasolucionbasicaIactiblequeenparticular esunpuntoIactibleylo encuentra cuando ha salido la ultima variable artiIicial de la base. Pero que ocurre cuando el algoritmo se detiene antes de que hayan salido todas las variables artiIiciales de la base y estas tengan un valor positivo?. Lo que sucede es que no existen puntos Iactibles. esto es. no existe ningun punto que satisIaga simultaneamente todas las restricciones. Mas IormalmenteTeorema 2.2: Si [x,xa] donde xa es el vector de variables artificiales es solucin ptima delproblema artificial y si xa 0 entonces el problema original no tiene puntos factibles.Demostracin: Supongase que x es una solucion Iactible del problema original y por lo tanto [x,0] lo es del artiIicial. Por la optimalidad de [x,xa] se tiene que cx cx Mxapero como se puede tomar M tan grande como se quiera y como ademas xa0 y xa 0 esta desigualdad no tiene sentido y por lo tanto x no puede ser una solucion Iactible del problema original.El metodo de penalizacion tiene la ventaia de tener un Iundamento intuitivo y de consistir. luego de haber penalizado las variables artiIiciales y de hacer cero su correspondiente entrada en el renglon 0. esencialmente en la aplicacion delmetodo simplex ya conocido. Sin embargo. tiene su talon de Aquiles en el hecho de que para eiecutarse en un computador se asigna un valor grande a la M y este valor. al hacerse varias iteraciones. puede conducir a la acumulacion de errores de redondeo. Taha ilustra esta situacion con el siguiente eiemplo:maximizar z = 0.2x1 +0.5x2 suieto a 3x1 + 2x2 6 x1 + 2x2 4 x1, x2 0y aIirma que si se resuelve empleando un M 10 se obtiene la respuesta correcta x1 1, x2 1.5 con un z 0.95. Pero que para M 999 999da la respuesta incorrecta x1 4. x2 0 con unz 1.18.esteultimovalor ni siquiera es consistentecon los valores dex1yx2.Existe ademas otro inconveniente que se presenta cuando se eiecutan los algoritmos a mano. y es lo dispendiosa que se vuelve la manipulacion de la M. Por lo tanto se ha desarrollado otro metodo para la eliminacion de las variables artiIiciales de la base. Este metodo se conoce como el de las dos Iases y consiste. como su nombre lo indica. en realizar dos Iases. en la primera de las cuales seignoralaIuncionobietivodelproblemaoriginalyseminimizalasumadelasvariables artiIiciales. que en caso de que la region Iactible no sea vacia llegara a ser cero y conducira a la salida de lasvariablesartiIiciales dela base.este hecho implicaraque se haencontradouna solucion basica Iactible y por lo tanto ahora se puede entrar a resolver el problema original. Este metodotambienpresentadesventaias: por unaparte. comoenlaprimeraIaseseignorala Iuncion obietivo del problema original. el algoritmo busca una solucion basica Iactible cualquiera. no necesariamente una buena solucion. esto trae como consecuencia que. probablemente. con este metodo sea necesario hacer mas iteraciones que con el de la M. Por otra parte en la transicion de la Iase uno a la dos hay que cambiar de Iuncion obietivo y por lo tanto hacer los aiustes necesarios en el renglon 0 para tener los z j c j de las variables basicas iguales a cero. adicionalmente se suprimen las columnas de las variables artiIiciales. pero este paso. como ya se indico. tambien deberia llevarse a cabo al aplicar el metodo de la M.Paraeliminarlosinconvenientesquepresentael metododelaM. principalmenteel delos errores de redondeo que llevo a la concepcion del metodo de las dos Iases. he propuesto una Iorma de tabulacion alternativa que. por una parte. permite trabaiar sin la engorrosa manipulacionde lasM.y porotrapermiteprogramar un algoritmoenel cual no se asignan valores numericos grandes a la M. sino que opera exactamente igual a cuando se desarrolla el algoritmo de Iorma manual.La propuesta consiste en emplear dos Iilas para el renglon 0. la primera conteniendo los coeIicientes de las M. y la segunda para los terminos independientes. De esta manera al hacer el pivoteo cada Iila se trata de Iorma independiente. Para escoger la variable de entrada se sigue el siguiente procedimiento: mientras existan numeros negativos en la Iila de los coeIicientes de las M se toma el mas negativo de ellos. en caso de presentarse algun empate. se emplean los numeros de la Iila de terminos independientes. correspondientes a los coeIicientes empatados. para disolverlo. Si el empate continua. se escoge la variable entrante de Iorma arbitraria. Cuando ya no hayan cantidades negativas en la Iila de los coeIicientes de las M se busca el mas negativo en la Iila de los terminos independientes. JustiIico unicamente la equivalencia del pivoteo al descomponer la Iila 0 en dos Iilas. pues la regla de entrada. si se examina detenidamente. es identica a la que se sigue sin la descomposicion de la Iila 0.La tablaaM+b cM+d 1 erepresenta una situacion simpliIicada en la cual solo aparecen el pivote y una entrada cualquiera de la misma Iila del pivote. con sus correspondientes entradas en la Iila cero. Para hacer un 0 encima del pivote se multiplica su Iila por (aMb) y se la suma a la Iila cero para obtener(39)aM+b(aM+b) cM+de(aM+b)1 eque simpliIicando quedasi se aplica la descomposicion de la Iila 0 en lugar de (39) se tienea cb d1 eEn la cual la primera Iila corresponde a los coeIicientes de las M y la segunda a los terminos independientes. Se hacen ceros en las posiciones ocupadas por a y b. para obtenersi se compara esta ultima tabla con (40) se ve que los resultados son equivalentes.Esta nueva Iorma de tabulacion para el metodo de la M. como ya se diio. permite que el trabaio sea puramente numericoyevita los errores de redondeoprovenientes de asignar valores grandes a la M. Por lo tanto se tiene que. con la nueva tabulacion. el metodo de la M es mas eIiciente que el de las dos Iases y por esta razon. no tiene sentido dedicar esIuerzos a aprender este ultimo.2.5 DegeneracinSepresentadegeneracioncuandoalgunadelas variables basicas asumeel valor cero. La degeneracion indica la existencia de restricciones redundantes como ilustra el siguiente eiemplomaximizar z = 3x1 +9x2suieto a x1 + 4x2 8 x1 + 2x2 4x1, x2 0que tiene la siguiente graIica0 (c-ea)M+deb1 e0 c-ea0 d-eb1 e(40) Y la siguiente sucesion de tablas simplexVB x1x2 x3 x4 LDz -3 -9000 xi/aiex3x4 1 41 0 1 20 184 22

VB x1x2 x3 x4 LDz -3/409/4 018xi/aiex2x4 1/4 11/40 1/2 0 -1/2120 84VB x1 x2x3 x4 LDz0 0 3/2 3/218xi/aiex2x4 0 1 1/2-1/2 1 0-1220 esta ultima es la tabla optima.Se tienen las siguientes observaciones La degeneracion surge por la presencia de restricciones redundantes. esto es. restricciones que pueden eliminarse sin que cambie la region Iactible. De esto se deduce que puede replantearse el problema eliminando la restriccion redundante y con ello la degeneracion. sin embargo. en problemas de mas de tres dimensiones es diIicil determinar las restricciones redundantes. En (41) se ve que hay un empate entre las variables que entran. siempre que esto ocurre la tabla siguiente tiene una solucion basica Iactible degenerada. pues al existir al menos dos variables de bloqueo una sale de la base y la otra permanece pero con un valor de 0. (43)(42)(41) En(43) se llega a una solucionoptima degenerada despues de que apareciera la degeneracionen(42)sinembargoestonoesunaconstantepuesexistenproblemas como:

maximizar z = 3x1 + 2x2suieto a4x1 + 3x2 124x1 + x2 8 4x1 - x2 8x1,x2 0

el cual luego de pasar por una degeneracion temporal en la primera iteracion llega en la segunda a la solucion optima no degenerada:

x1 3/2,x2 2z = 17/2 Generalmente cada iteracion del simplex lleva a un nuevo valor de z meior que el anterior. sin embargo. este no es el caso cuando hay degeneracion. como se puede ver enlastablas(42) y(43). Estehecho. el dequenoexistamodiIicacionparazen sucesivas iteraciones. puede llegar al caso extremo del ciclado. el cual consiste en que luego de algunas iteraciones se llega a una tabla que ya se habia tenido en el proceso. lo cual. si se siguen los mismos pasos. llevaria a un ciclo inIinito. Aunque existen metodos paraevitarel ciclado(vease. poreiemploBazaraa)unaIormamenoscomplicadade hacerlo es elegir de manera diIerente la variable de entrada que llevo al ciclado.ConclusionesLa programacion lineal es la puerta de entrada al extenso campo de la Investigacion de Operaciones. que constituye una de las areas de la matematica aplicada mas interesantes y utiles del momento. El trabaio que he realizado ha sido gratiIicante y deseo que esto se vea reIleiado en el. Por alguna razon. en este momento los trabaios de grado de la FundacionseestanenIocandohaciaestaareayestomeparecebueno. porquela situacion Iutura del pais nos llevara a enIrentarnos con naciones que aplican este tipo de conocimientos a cada una de las empresas enlas cuales se comprometen. yhan demostrado que constituye una herramienta eIectiva.Soy consiente de las dimensiones minusculas del trabaio realizado. pero al hacerlo logre conquistar un pequeo territorio. en el cual ahora me siento mas seguro. y desde el cual se puede continuar la exploracion de los grandes espacios que aun Ialta conquistar. El matrimonio matematicas-inIormatica que esta en losas Iundamentos de la concepcion de la carrera de matematicas en la Fundacion. puede encontrar en rico Iilon en la InvestigaciondeOperaciones ypuedeconstituirseenel Iuertedel perIil del Iuturo proIesional. Ademas esto estaria en consonancia con el postgrado que oIrece la Fundacion en esta area.Bibliografa1. Apostol Tom. Anlisis matemtico. Barcelona Espaa: Reverte (1977).2. Arya Jagdish.Matemticas aplicadas a la administracin y a la economa. Naucalpan de Juarez. Edo. de Meiico: Pearson Educacion (1992).3. Bazaraa Mokhtar.Programacin lineal y flujo en redes. Meiico. D.F.: Limusa (1996).4. Goberna Miguel. Optimizacin Lineal. Madrid Espaa: McGraw-Hil (2004)5. Hillier Frederick. Investigacin de Operaciones. Meiico. D.F.: McGraw-Hill (2002).6. Lipschutz Seymour.lgebra lineal. Naucalpan de Juarez. Edo. de Meiico: McGraw-Hill (1985).7. Prawda Juan. Metodos y modelos de Investigacion de Operaciones. Meiico. D.F.: Limusa (2000).8. Taha Hamdy.Investigacin de Operaciones. Meiico. D.F.: AlIaomega (1995).