Explicacion Del Simplex

download Explicacion Del Simplex

of 23

Transcript of Explicacion Del Simplex

  • 8/18/2019 Explicacion Del Simplex

    1/23

    121

    Unidad 4Método Simplex 

    S (PL) tienen una estructurabien definida, se trata de optimizar una función pero respetando una serie de restriccio-nes que están dadas por un sistema de ecuaciones, casi todas desigualdades. Encontrar lasolución de tales problemas implica encontrar las soluciones posibles de este sistema de

    ecuaciones. En los cursos de álgebra lineal se establece que cuando un sistema tiene me-nos ecuaciones que incógnitas, generalmente tiene un número infinito de soluciones.

    En la unidad 2 se mostró cómo encontrar la solución a problemas de solamente dosincógnitas que incluyen desigualdades, ya que en ese caso se puede trabajar en el espa-cio R 2. En estos casos se vio que las restricciones determinan una región factible que esel lugar geométrico de los puntos solución del sistema de ecuaciones (desigualdades)correspondientes a las restricciones. También se vio que de esas infinitas soluciones, lasolución óptima, o sea, la que optimiza a la función objetivo (FO), tiene que estar enuno de los vértices de la región factible, y estos vértices corresponden a la intersección

    de un par de ecuaciones de restricción.Como se trata de sistemas lineales, se pueden encontrar analíticamente los “vérti-

    ces” intersección, ver cuáles quedan dentro de la región factible –y que por lo tantoson una solución básica factible– y ver cual de ellos da el mejor valor a la FO. Pero losproblemas reales suelen tener mucho más que dos variables; en muchos problemas nomuy complicados, se trata de decenas y hasta cientos de variables sujetas a decenas derestricciones. Si se piensa en un problema pequeño de 2 variables y 6 restricciones,habrá que encontrar todas las intersecciones de cada par de rectas, que en este casoserían 15. En general en R 2, el número de intersecciones entre n rectas será el número

    de combinaciones de n tomados de a 2, o sea, C n 2 . A estos vértices hay que agregar lasintersecciones de cada recta con los ejes coordenados, otros 2n vértices. Pero no todosestos 2n + C n 2 puntos pertenecen a la frontera de la región factible; habrá que ver cuá-les de ellos son soluciones factibles; en el caso de seis restricciones se reducen comomáximo a siete, y determinar en cuál de ellos se encuentra la solución óptima.

    En los problemas reales, el número de puntos que se han de analizar es tan grandeque se necesita contar con una estrategia eficiente de búsqueda que permita encontrarsolamente aquellos puntos que se encuentran en la frontera, o sea, que corresponden auna solución posible.

  • 8/18/2019 Explicacion Del Simplex

    2/23

    PROGRAMACIÓN LINEAL

    122

    Para solucionar estos problemas en el año de 1947 George Dantzig desarrolló un mé-todo extraordinariamente eficiente conocido como Simplex, que es capaz de encontrar lasolución óptima de entre las muchas soluciones posibles analizando sólo algunas de lassoluciones básica (o sea, vértices): parte de una solución básica inicial y continúa inspec-cionando las soluciones adyacentes que permitan mejorar el objetivo del problema. El

    cálculo de problemas reales fue posible gracias a que simultáneamente ocurrió el desarro-llo de las computadoras digitales en que estaban trabajando Eckert, Wilkes y finalmentevon Neumann, lo que permitió que las operaciones aritméticas se realizarán en pocossegundos y posibilitaron así la computación de miles de operaciones en poco tiempo.

    Dantzig fue un doctor en matemáticas de la Universidad de California que durantela Segunda Guerra Mundial tuvo que trabajar en el ejército en la planificación de lalogística para el abastecimiento. Esta visión de los problemas reales lo llevó al desarrollodel método Simplex. Eckert junto con Mauchly fabricaron, en la Universidad de Pen-sylvania, la primera computadora de propósito general, la ; esta computadora in-tegró a la electrónica el concepto de  programa   resultado de la teoría de autómatasdesarrollada por von Newmman, científico húngaro radicado en Estados Unidos. VonNewman hizo notables aportaciones a la física cuántica, contribuyó al desarrollo de lalógica y para la economía propuso la teoría de juegos y la del equilibrio general comoherramientas fundamentales para su análisis. El trabajo de estos brillantes científicosdurante la década de 1940 hizo posible que se desarrollara el método Simplex, quepermite la solución de una variadísima gama de problemas de manera muy eficientedando una herramienta fundamental para la investigación de operaciones.

    El método Simplex  es un algoritmo iterativo, esto es, un procedimiento que a partirde un paso inicial realiza un cálculo para encontrar una solución posible; verifica si estasolución es mejorable y, si lo es, vuelve a calcular una nueva solución mejor que la an-terior, esto es, realiza una iteración; cuando ya no la pueda mejorar, es que llegó a lasolución óptima. El procedimiento de iteración es similar a un paso del método deGauss con pivote. Sin embargo, el método de Gauss se aplica a sistemas de ecuaciones(igualdades) y no a desigualdades; este inconveniente es subsanado agregando una va-riable a cada restricción que representa la holgura o sobrante de ese recurso.

     Aunque no se verá la demostración formal del método Simplex, es importante des-

    tacar las premisas o teoremas en que se basa:

    1)  Todo sistema de la forma A x = b, o no tiene solución o el conjunto de las solucionesfactibles forman un conjunto convexo (polígono convexo en R 2).

     2)  Si un problema de PL tiene solución óptima, ésta es un punto extremo o de la fron-tera del conjunto de soluciones del sistema de restricciones del problema. Si más deun punto es óptimo, entonces lo son todos los puntos en combinación lineal de losdos anteriores.

  • 8/18/2019 Explicacion Del Simplex

    3/23

    MÉTODO SIMPLEX 

    123

    En esta unidad se explicará el método Simplex para el caso canónico, esto es, unproblema en que se quiere maximizar la utilidad sujeta a restricciones debido a recursoslimitados como materias primas y horas de trabajo, representadas por relaciones demenor o igual.

    Para facilitar la explicación del método se utilizará un ejemplo típico: la producción

    de dos artículos sujeta a restricciones de mano de obra, materias primas y demanda. Seresolverá primero por el método gráfico para luego resolverlo con el método Simplex . 

    Ejemplo 4.1

    Una empresa produce dos tipos de artículos, el y el . La utilidad que se obtiene porunidad es de $150 por el y $200 por el . El gerente de producción quiere realizar laplaneación semanal sabiendo que solamente cuenta con 64 horas para la elaboración y24 unidades de materia prima. De semanas anteriores sabe que la demanda máxima delartículo es de 6 unidades. En el cuadro se indican los requisitos para realizar cada unode los artículos.

    Cuadro 4.1

     

    Mano de obra (h) 8 8

    Materia prima 4 2

     Variables de decisión:

    x 1: cantidad del artículo a producirx 2: cantidad del artículo a producir

    Función objetivo:

    Máx U = 150x 1 + 200x 2  (4.1a)

    Restricciones: Mano de obra: 8x 1 + 8x 2 ≤ 64 horas (4.1b) Materias primas:  4x 1 + 2x 2 ≤ 24 unidades (4.1c)Demanda:  x 2 ≤ 6 artículos (4.1d)

    La solución del problema se muestra en la gráfica 4.1:

  • 8/18/2019 Explicacion Del Simplex

    4/23

    PROGRAMACIÓN LINEAL

    124

    Gráfica 4.1

    14

    12

    10

    8

    0

    6

    4

    2

    0 42 6 108 12 14

    8x 1 + 8x 

    2 = 64

    Optimal Decisions (x 1, x 

    2) : (2, 6)

    : 8x 1 + 8x 

    2 ≤ 64

    : 4x 1 + 2x 

    2 ≤ 24

    : 0x 1 + 1x 

    2 ≤ 6

     4x 1 + 2x 

    2 = 24

    : 0x 1 + 1x 

    2 = 6

    Payoff: 150x 1 + 200x 

    2 = 1 500

     A 

    D C

    B

    En la gráfica 4.1 aparecen como vértices de la región factible los puntos B = (4, 4)intersección entre la recta de la restricción de mano de obra y la correspondiente a lasmaterias primas; el vértice C = (2, 6) en el que se agotan las horas de mano de obra yse satisface totalmente la demanda, y las intersecciones con los ejes debido a las condi-ciones de no negatividad D = (0, 6) y A = (6, 0). Todos los anteriores son solucionesfactibles, que en el método Simplex se les llama soluciones básicas factibles . Hay otrospuntos de intersección de las restricciones en la gráfica 4.1 como el (3, 6), pero estánfuera de la región de soluciones posibles del problema, en este punto se exceden las

    horas disponibles.Para poder trabajar analíticamente es más conveniente tener un sistema de ecuacio-nes lineales, por lo que el primer paso es transformar las desigualdades en igualdadesagregando variables que se denominan variables de holgura ; por ejemplo, la ecuación(4.1b) sobre las horas hombre utilizadas:

    8x 1 + 8x 2 ≤ 64

  • 8/18/2019 Explicacion Del Simplex

    5/23

    MÉTODO SIMPLEX 

    125

    se convierte en:

    8x 1 + 8x 2 + h1 = 64 (4.2b)

    donde h1 son las horas hombre no utilizadas.

    De la misma manera la ecuación correspondiente a las materias primas:4x 1 + 2x 2 ≤ 24

    se transforma en:

    4x 1 + 2x 2 + h2 = 24 (4.2c)

    donde h2 son las unidades de materia prima sobrantes.Por último la ecuación de la demanda:

    x 2 ≤ 6

    se convierte en:

    x 2 + h3 = 6 (4.2d)

    donde con x  2  será el número de artículos producidos y h 3 representa cuantos aúnse pueden producir sin superar la demanda máxima.

    El sistema queda entonces así:

    Máx U = 150x 1 + 200x 2s.a.  8x 1 + 8x 2 + h1  = 64  4x 1 + 2x 2  + h2  = 24

    x 2  + h3  = 6x 1, x 2, h1, h2, h3 ≥ 0

     A este sistema se le llama sistema aumentado, y cuenta con cinco variables y tres

    ecuaciones, por lo que se trata de un sistema con infinitas soluciones. Si las tres ecua-ciones son linealmente independientes, para obtener una de las soluciones es necesariodar un valor arbitrario a dos de las variables, y quedan entonces solo tres incógnitas quepodrán despejarse.

    8x 1 + 8x 2 + h1  = 64 (4.2b)4x 1 + 2x 2  + h2  = 24 (4.2c)  x 2  + h3  = 6 (4.2d)

  • 8/18/2019 Explicacion Del Simplex

    6/23

  • 8/18/2019 Explicacion Del Simplex

    7/23

    MÉTODO SIMPLEX 

    127

    Tercer paso

    Si la solución es mejorable, hay que calcular la nueva solución. Se deberá tratar deque x  2  tome el mayor valor posible. Las restricciones son las que limitan este valor;en las ecuaciones (4.3) se observa que se cuenta con 64 horas hombre y se necesitan

    8 horas para hacer cada artículo, por lo tanto el número máximo que se podría pro-ducir es x 2 = 64 / 8 = 8.

    En cuanto a materias primas, se requieren de 2 unidades por cada artículo , y sedispone de 24 unidades, por lo que sólo se podrían producir x 2 = 24 / 2 = 12.

     Además, por cuestiones de demanda del mercado, x 2 = 6; entonces el valor máximoque puede tomar x  2  es el menor de los anteriores:

    x 2 máximo = 6

    Si se produjeran más unidades, no podrían venderse en el mercado. Por lo tanto, h 3 ,que corresponde al número de artículos que aún se podrían fabricar, se hace igual acero:

    x 2 = 6 y h3 = 0

    Se dice que x  2  es la variable de entrada  y que h 3 es la variable de salida . Para deter-minar cuáles son los recursos aún disponibles, de (4.2d) se despeja la nueva variable

    básica y se sustituye en las ecuaciones de los otros recursos disponibles, (4.3b) y (4.3c):x 2 = 6 – h3h1 = 64 – 8x 1 – 8 (6 – h3) =h1 = 16 – 8x 1 + 8 h3h2 = 24 – 4x 1 – 2 (6 – h3) =h2 = 12 – 4x 1 + 2 h3

    Se llega entonces a una solución básica mejorada, nuevamente un sistema con cinco

    incógnitas y tres ecuaciones, por lo que es necesario asignar valor a dos de ellas, en estecaso x 1 = 0 y h3 = 0; en este sistema:

    x 2 = 6 – h3h1 = 16 – 8x 1 + 8 h3  (4.4b)h2 = 12 – 4x 1 + 2 h3  (4.4c)

  • 8/18/2019 Explicacion Del Simplex

    8/23

    PROGRAMACIÓN LINEAL

    128

    Esto indica que se deben producir 6 unidades del producto , pero que aún se dis-pone de 16 de las 64 horas hombre y de 12 unidades de materia prima de las 24 origi-nales. La utilidad en este caso será de $1 200, superior a la solución anterior:

    x 1 = (x 1, x 2, h1, h2, h3) = (0, 6, 16, 12, 0)

    U1 = 1 200

    Una vez obtenida la nueva solución es necesario regresar al paso 2. ¿Es posible me- jorar esta solución? Para esto hay que calcular el efecto neto sobre la función de utilidadde cada una de las variables. Ya que no es posible seguir incrementando el valor de x  2,las utilidades marginal o unitaria de cada una de las variables pueden no ser las queteníamos al comenzar. Para esto se sustituyen las ecuaciones de las variables básicas enla FO y se observa el valor de los coeficientes:

    U = 150x 1 + 200x 2 + 0 h1 + 0 h2 + 0 h3

    Como las variables de holgura tienen coeficiente cero, se anulan y queda así:

    U1 = 150x 1 + 200 (6 – h3) = 1 200 + 150x 1 – 200 h3

    Esta nueva expresión nos informa que por cada unidad del artículo que se pro-duzca la FO se incrementará en $150, y por cada unidad que se incremente h 3 , sedejarán de ganar $200. (Aquí es importante señalar que la utilidad incremental porcada artículo coincide con el valor original, pero esto no siempre es así, ya que enciertos casos habrá que dejar de producir parte de un artículo para poder hacer el otro,con lo que la utilidad será menor.) De la ecuación (4.4b) se obtiene x 1 = 2, y de la(4.4c), x 1= 3; o sea, las 16 horas hombre aún disponibles permiten producir 2 unida-des de , aunque se dispone de materia prima para 3 de ellas; por lo tanto se podránproducir sólo x 1 = 2; la nueva solución será ésta:

    x 1 = 2

    x 2 = 6h1 =16 –16 = 0h2 = 12 – 8 = 4h3 = 0

    La nueva solución tiene tres variables distintas de cero y dos igual a cero; en estepaso la variable entrante  fue x 1, y la saliente , h1 . Las tres primeras son las nuevas varia-bles básicas. Sustituyendo la variable entrante en la FO:

  • 8/18/2019 Explicacion Del Simplex

    9/23

    MÉTODO SIMPLEX 

    129

    U2 = 1 200 + 150x 1 – 200 h3 U2 = 1 200 + 150x 1 – 200 h3 = 1 200 +150 (2 – h3) – 200 h3U2 = 1 500 – 350 h3U2 = 1 500

    La nueva solución es ésta:

    x 2 = (x 1, x 2, h1, h2, h3) = (2, 6, 0, 4, 0)U2 = 1 500

    Esta solución es mejor que la anterior ya que la FO aumentó. La ecuación de la FOya no tiene variables con coeficientes positivos, por lo tanto ya no es posible incrementarla utilidad, pues si h 3 tomara un valor positivo, es decir, si se produjeran menos de seisunidades del producto , la utilidad disminuiría, por lo que se ha llegado a la soluciónóptima.

    El método Simplex en forma tabular 

    La resolución de estos problemas por el método analítico utilizado en la sección ante-rior facilita entender el significado físico de cada una de las variables y parámetros conel problema concreto que se está analizando. Pero así como se puede resolver un sistemade ecuaciones lineales por sustitución o por los métodos matriciales, lo realizado nodifiere mucho del método de Gauss con pivote, aunque tiene sus particularidades.

    Para poder aplicar el método matricial, es necesario contar con un sistema de ecua-ciones, no de desigualdades, por lo que el primer paso es reescribir el sistema; a partirde allí el método realiza una serie de iteraciones hasta encontrar la mejor solución. Cadaiteración es una transformación del sistema de ecuaciones que mejora la solución ante-rior. El método se puede bosquejar así:

    1)  Transformar las desigualdades del problema en un problema estándar introducien-

    do las variables de holgura. 2)  Construir la tabla inicial. 3)  Determinar la solución inicial, llamada solución básica inicial.4)  Determinar si se puede mejorar la solución dependiendo de los coeficientes de la

    función objetivo según el criterio de mejorabilidad:  Si sí , entonces hay que calcular la nueva solución:

    a) determinar cuál es la variable entrante  b) determinar cuál es la variable saliente

    c) modificar las restricciones por pivoteo

  • 8/18/2019 Explicacion Del Simplex

    10/23

    PROGRAMACIÓN LINEAL

    130

      d) calcular el valor de la FO  e) explicitar la nueva solución  f ) volver al inciso 4  Si no, entonces se termina y la última solución es la solución óptima.

    Para explicar el método se resolverá el problema planteado por las ecuaciones (4.1):

    Máx U = 150x 1 + 200x 2  (4.1a)  8x 1 + 8x 2 ≤ 64 (4.1b)  4x 1 + 2x 2 ≤ 24 (4.1c)

    x 2  ≤ 6 (4.1d)

    1) Se deben transformar las desigualdades de las restricciones como se hizo en (4.2):

    8x 1 + 8x 2 + h1  = 64 (4.2b)4x 1 + 2x 2  + h2  = 24 (4.2c)  x 2  + h3  = 6 (4.2d)

    Pero la FO también debe modificarse ya que en el método matricial todas las varia-bles deben estar del mismo lado e igualadas al término independiente; entonces (4.1a)se convierte en:

    U – 150x 1 – 200x 2 = 0 (4.2a)

    Hay que señalar que sólo en esta ecuación aparece la variable U y que las variablesde holgura no aparecen de manera explícita ya que representan el sobrante de recursos,y éstos no afectan a la utilidad; por lo tanto es equivalente a:

    U – 150x 1 – 200x 2 + 0 h1 + 0 h2 + 0 h3 = 0 (4.2a’)

     2) Construcción de la tabla inicial. La tabla inicial tiene una columna por cada una

    de las variables, una columna para los términos independientes y se agrega una colum-na especial que se utilizará para un cálculo auxiliar. Tiene una fila especial para la FO ya continuación una fila por restricción, en este caso tres restricciones. Se vacían en latabla los coeficientes de las ecuaciones (4.2).

  • 8/18/2019 Explicacion Del Simplex

    11/23

    MÉTODO SIMPLEX 

    131

    Cuadro 4.2Tabla inicial del método Simplex 

    U x 1   x  2    h1   h 2    h 3   b b/a  ij 

    1 -150 -200 0

    8 8 1 64

    4 2 1 24

    1 1 6

     3) Determinación de la solución inicial. La matriz correspondiente a las restriccionestiene cinco variables y tres ecuaciones, por lo que tendrá infinitas soluciones; para obteneralguna de las soluciones es necesario asignar un valor arbitrario a dos de ellas (5 – 3 = 2).

    El método Simplex asigna valor cero a aquellas variables a las que correspondan vectorescolumna diferentes de un vector unitario: en este caso x 1 = x 2 = 0, por lo tanto de la pri-mera restricción se obtiene h1 = 64, de la segunda, h2 = 24, y h3 = 6 de la tercera restric-ción. De la fila correspondiente a la FO se obtiene U = 0, que coincide con la solucióninicial obtenida analíticamente:

     X o = (x 1, x 2, h1, h2, h3) = (0, 0, 64, 24, 6)Uo = 0

    4) ¿Se puede mejorar esta solución? Para determinar si es mejorable la solución seanalizan los coeficientes de la FO. La ecuación (4.1a) indica que se quiere maximizar U,y dado que la utilidad marginal o contribución unitaria de x 1 es 150 y la de x  2  es 200, seescoge la mayor (si hay empates, cualquiera de ellas), en este caso es x  2 . Se dice que estaes la variable entrante , cuyo valor actual es cero, y pasará a tomar el mayor valor positivoposible cumpliendo todas las restricciones para con esto incrementar el valor de U.

    En la tabla del Simplex, si se trata de maximizar habrá que escoger la variable quetenga el coeficiente más negativo ya que al convertir la ecuación (4.1a) en la (4.2a) seinvierten los signos de los coeficientes de las variables originales.1

    Como en este caso sí hay una variable que actualmente no está en la solución (valecero) con un coeficiente en la FO que permita aumentar el valor de ésta, se puede me-

     jorar la solución y se debe calcular una nueva solución. Pero el método introduce unavariable a la solución y quita otra, por lo que es necesario determinar cuál es la variableque sale. El criterio es ver cuál es el recurso o restricción que se agota primero. Para estose divide el término independiente de cada restricción por el coeficiente de la columna

    1  Si se trata de minimizar se debe escoger el coeficiente positivo de mayor valor.

  • 8/18/2019 Explicacion Del Simplex

    12/23

    PROGRAMACIÓN LINEAL

    132

    correspondiente a la variable entrante: por cada unidad que aumente x  2 , se necesitan 8horas del recurso 1; 2 unidades del recurso 2, y 1 unidad del recurso 3. El cociente en-tre la disponibilidad del recurso y este requerimiento se anota en la columna auxiliar;el menor de estos cocientes determina cuál es la variable saliente . En este caso el recur-so 1 permite producir 8 unidades, con el recurso 2 se podrían producir 12, pero la

    demanda es solamente de 6, por lo que sólo se puede producir esta cantidad (véase elcuadro 4.3).2

    Una vez definida la variable entrante (columna) y la saliente (fila), se utiliza comopivote el elemento intersección, al que se debe hacer igual a 1; y con las operaciones derenglón utilizadas en el método de Gauss con pivote, se transforma la matriz como semuestra en la parte inferior del cuadro:

    i)  Para hacer 1 el pivote, se divide el renglón de la variable saliente por el coeficientepivote; en este caso se divide el tercer renglón entre a  32. Como el elemento a 32 = 1,

    la fila queda idéntica.ii)  Se deben transformar en 0 los elementos de la columna correspondiente a la varia-

    ble entrante, en este caso a 12  y a  22  así como el coeficiente de la FO c  2 . Para hacerlose debe utilizar el renglón pivote:

    (renglón i = renglón i – β renglón pivote)

    Cuadro 4.3

    Tabla de la primera iteración

    x 1   x 2   h1   h2   h3   b b/a  ij

    -150 -200 0

    8 8 1 64 8

    4 2 1 24 12

    1 1 6 6

    -150 0 0 0 200 1 200.00

    8 0 1 0 -8 164 0 0 1 -2 12

    1 0 0 1 6

    Una vez concluida la iteración se debe analizar cuál es la nueva solución. Nueva-mente se observa el sistema de restricciones de 3 x 5, para obtener una solución se debe

    2  La columna de U se suprime por simplicidad ya que esa variable no afecta las otras filas.

  • 8/18/2019 Explicacion Del Simplex

    13/23

    MÉTODO SIMPLEX 

    133

    dar un valor arbitrario a dos variables. El método indica asignar el valor cero a aquellasvariables cuyos vectores columna no sean un vector unitario; por lo tanto, si x 1 = h3 = 0,la solución del sistema es x 2 = 6, h1 = 16, h2 = 12, que coincide con la solución obteni-da en el apartado anterior:

    x 1 = (x 1, x 2, h1, h2, h3) = (0, 6, 16, 12, 0)U1 = 1 200

    En este momento hay que regresar al punto 4), ¿se puede mejorar esta solución?Observando el renglón de la FO se encuentra que aún hay un coeficiente negativo, portanto sí se puede mejorar la utilidad, por lo que debemos repetir el proceso.

    a) Determinar la variable entrante: x 1.b) Determinar la variable saliente: mín (16 / 8, 12 / 4, 6 / 0) = (2, 3, -) = 2, entonces

    variable saliente h1. Aquí no se pudo realizar el tercer cociente pues se trataba de unadivisión entre cero; no se toman en cuenta las variables a las que correspondan di-visiones entre cero o cocientes negativos.

    c) El pivote debe estar en la posición (1, 1), por lo que se divide el primer renglónentre 8 y luego se utiliza este renglón para hacer cero los demás elementos de lacolumna 1.

    d) Se lee la solución obtenida en la nueva tabla en la que escogiendo h1 = 0 y h3 = 0 seobtienen x 1 = 2, x 2 = 6 y h2 = 4, con una utilidad de 1 500, que corresponde con laobtenida en la sección anterior (cuadro 4.4).

    x 2 = (x 1, x 2, h1, h2, h3) = (2, 6, 0, 4, 0)U2 = 1 500

    Cuadro 4.4Tabla de la segunda iteración

    -150 0 0 0 200 1 200.00

    8 0 1 0 -8 164 0 0 1 -2 12

    1 0 0 1 6

    0 0 18.77 0 50 1 500.00

    1 0 1 / 8 0 -1 2

    0 0 -1 / 2 1 2 4

    0 1 0 1 6

  • 8/18/2019 Explicacion Del Simplex

    14/23

    PROGRAMACIÓN LINEAL

    134

    e) regresar al punto 4 : ¿se puede mejorar esta solución? Observando la fila de la FO dela segunda iteración, se encuentra que ya no hay un coeficiente negativo, por tantono se puede mejorar la utilidad; esta es la solución óptima .

    Cuadro 4.5. Tabla completa del Simplex 

     x 1   x  2    h1   h 2    h 3   b

    -150 -200 0

    8 8 1 64

    4 2 1 24

    1 1 6

    -150 0 0 0 200 1 200

    8 0 1 0 -8 164 0 0 1 -2 12

    1 0 0 1 6

    0 0 18.77 0 50 1 500

    1 0 1 / 8 0 -1 2

    0 0 -1 / 2 1 2 4

    0 1 0 0 1 6

    En el cuadro 4.5 se presentan todas las iteraciones. Se observa que al terminar lasegunda iteración no queda ningún coeficiente negativo en el renglón correspondientea la FO, por lo que ésta es la solución óptima. En la solución h1 = 0, por lo tanto, seutilizarán todas las horas disponibles: h3 = 0, lo que indica que se cubrirá exactamentela demanda del artículo ; se deben producir 2 unidades del artículo y 6 del artículo, y sobran 4 unidades de materia prima, con lo que se obtiene una utilidad de 1 500.

    x 2 = (x 1, x 2, h1, h2, h3) = (2, 6, 0, 4, 0)U2 = 1 500

    La adaptación del método Simplex a problemas no estándar 

    Restricciones “igual que” y “mayor o igual que” 

    En las secciones anteriores se analizó el caso estándar en el que se trata de maximizar unobjetivo, sujeto a restricciones de menor o igual. En esta sección se mostrarán las mo-

  • 8/18/2019 Explicacion Del Simplex

    15/23

    MÉTODO SIMPLEX 

    135

    dificaciones necesarias para llegar a la tabla inicial del Simplex cuando las restriccionesson “mayor o igual que” e “igual que”.

    Cuando se trata de una desigualdad de la forma,

    2x + 4y ≥ 20

    para poder escribirla como una igualdad, la ecuación quedará así:

    2x + 4y – h = 20

    Pero esto no es suficiente para poder utilizar el método Simplex. Cuando se tieneuna desigualdad ≥, se introduce una variable de holgura con coeficiente negativo y porlo tanto no generará el vector unitario correspondiente; para solucionar esto se agregaotra variable llamada variable artificial , que no tiene un sentido físico y por lo tanto esnecesario que no aparezca en la solución final. La ecuación anterior queda así:

    2x + 4y – h + A = 20

    Esto nos indica que una restricción del tipo mayor o igual genera dos variables au-xiliares, una de holgura o excedencia , en este caso, y una variable artificial.

    Cuando se trata de restricciones de igualdad, a pesar de que no se debería modificarla ecuación, como el método Simplex necesita que la matriz agrandada tenga una ma-triz unitaria, se necesita agregar una variable artificial:

    3x – 2y = 12 → 3x – 2y + A = 12

    En el caso de la igualdad, es muy claro que en la solución final A debe ser igual acero, lo mismo debe ocurrir en el caso de mayor o igual. Para poder anular las variablesartificiales, es necesario incluirlas en la FO. Mientras las variables de holgura no afectana la FO pues se trata de sobrantes de recursos, ya sea horas hombre o materias primaso de excedentes, las variables artificiales no tienen un significado físico, y para garanti-

    zar que éstas desaparezcan, el método Simplex les asigna un valor contrario al objetivo,que puede interpretarse como una multa.Para entender el proceso se resolverá el siguiente problema:

    Máx z = 30x + 70ys.a.  20x + 15y ≤ 300  10x + 4y ≥ 100  x, y ≥ 0

  • 8/18/2019 Explicacion Del Simplex

    16/23

    PROGRAMACIÓN LINEAL

    136

    La primera restricción se transforma en:

    20x + 15y + h1 = 300

    donde h1 es el sobrante de las 300 unidades del recurso y se mide en las mismas unidades.

    La segunda restricción es una desigualdad de ≥, por lo tanto la igualdad queda así:

    10x + 4y – h2 + A 2 = 100

    (Se utilizó A 2  aunque no exista A1 solamente para indicar que corresponde a la se-gunda restricción, pero puede ponérsele cualquier nombre.)

    La FO quiere maximizar:

    z = 30x + 70y

    Para que la variable artificial no aparezca en la solución del problema (A = 0), seintroduce en la FO con un coeficiente tal que se oponga al objetivo de maximizar:

    z = 30x + 70y – MA 2

     M  es el valor de la multa que se pagará por cada unidad que valga A. (Lo que se diráa continuación corresponde al método de la gran M  aunque hay otros como el métodode la doble fase.) Para poder introducirlo en la tabla del Simplex, primero debe rescri-birse la FO:

    z – 30x – 70y + MA 2 = 0

    El cuadro 4.6 muestra la resolución de este problema. Pero hay una diferencia en elcuadro inicial; en este caso, cuando hay variables artificiales, la fila de la FO aparece dosveces porque es necesario volver a calcularlo previamente. Si se observan las filas de lasrestricciones, se trata de un sistema de dos ecuaciones con cinco incógnitas, por lo que,

    para encontrar una solución, se le debe dar valor arbitrario a tres variables. Se puedeobservar que la columna 3 y 5 (h1 y A 2 , respectivamente) corresponden a vectores uni-tarios que conforman la matriz identidad de 2 x 2, y son las que inicialmente deben serdistintas de cero. Pero si las variables h1 = A 2 ≠ 0 son la solución básica inicial, es nece-sario que los coeficientes de estas variables en la FO sean cero. Por eso es necesariomodificar la FO restándole  M  veces la segunda restricción. El resultado es el que semuestra en la segunda fila. En este momento se puede empezar con el método tal comose utilizó anteriormente.

  • 8/18/2019 Explicacion Del Simplex

    17/23

    MÉTODO SIMPLEX 

    137

    La solución inicial es X o = (x, y, h1, h2, A 2) = (0, 0, 300, 0, 100)  Uo = – 100M

    En este caso como A = 100 la utilidad inicial es negativa igual a 100 multas. El valorde M  se considera mucho más grande que los otros coeficientes de la FO.

    El siguiente paso es elegir la variable entrante entre las que tengan coeficiente nega-tivo en la FO; entonces entra x  ya que -30 – 10 M < -70 – 4 M (M >> 30, 70) y lavariable saliente es la correspondiente a la segunda restricción ya que 10 < 15, entoncesserá la variable A 2 .

    Cuadro 4.6. Tabla del Simplex del problema 

    z x y h1   h2   A 2   b b/a  ij

    1 -30 -70 0 0 M 0

    -10M -30 -4M -70 0 M 0 -100M

    20 15 1 0 0 300 15

    10 4 0 -1 1 100 10

    0 -58 0 -3 M + 3 300.00

    0 7 1 2 -2 100 14.29

    1 0.4 0 -0.1 0.1 10 25

    0 0 8.29 12.86 M -12.85 528.000 1 0.14 0.29 -0.28 14.29

    1 0 -0.01 -0.21 0.21 4.29

    La solución después de realizar una iteración es:

    x 1 = (x, y, h1, h2, A 2) = (10, 0, 100, 0, 0)U1 = 300

    La solución no es óptima porque aún queda un coeficiente negativo en la FO; lavariable y  entra, y sale h1 por ser el recurso que se acaba antes.La solución después de realizar la segunda iteración es:

    x 2 = (x, y, h1, h2, A 2) = (4.28, 14.29, 0, 0, 0)U1 = 528

     Y se trata de la solución óptima porque no quedan coeficientes negativos en la FO,por lo tanto no se puede mejorar.

  • 8/18/2019 Explicacion Del Simplex

    18/23

    PROGRAMACIÓN LINEAL

    138

    Caso de minimización

    Por último hay que analizar el caso en que se quiera minimizar, por ejemplo, los costoso el tiempo. Se tiene una función como esta:

    Mín z = 3x – 2y +5w 

    Por cada unidad que aumente x , el valor de z  aumentará tres; por cada unidad queaumente y , el valor de z  disminuirá en dos unidades, y por cada unidad que aumentew , el valor de z  se incrementará en cinco unidades. Es claro que la variable que convie-ne aumentar es y , pues hace disminuir la FO, lo que coincide con el objetivo de mini-mizar. Cuando se reescribe la ecuación para introducirla en la tabla del Simplex, laecuación queda así:

    z – 3x + 2y – 5w = 0Para escoger cuál es la variable de entrada, se debe escoger la que más convenga; en

    este caso, como se invirtieron los signos, habrá que elegir de entre las variables que ten-gan coeficiente positivo en el renglón de la FO, la que tenga el mayor coeficiente.

    Si en un problema de minimización hay restricciones de igualdad o de “mayor que”,aparecerán las variables artificiales, y como ya se vio éstas deben afectar a la FO en sen-tido negativo; debe ser una penalización. Como se trata de minimizar, las variables ar-tificiales aparecerán en la FO como:

    Mín z = 3x – 2y + 5w + MA 1 + MA 2

    y en la función modificada:

    z – 3x + 2y – 5w – MA 1 – MA 2 = 0

    El resto del procedimiento es exactamente el mismo que para el caso de maximi-zación.

    El procedimiento se muestra en el siguiente ejemplo:

    Mín z = x – 2y s.a.  x + y > 2  y < 3  x, y > 0

  • 8/18/2019 Explicacion Del Simplex

    19/23

    MÉTODO SIMPLEX 

    139

    Después de modificar las ecuaciones, queda así:

    Mín z = x – 2 y + MA   x + y – h1 + A = 2  y + h2 = 3

    Cuadro 4.7

    z x y h1   h2   A 

    1 -1 2 -M 0

    -1 + M 2 + M -M 0 0 2M

    1 1 -1 0 1 2

    1 0 1 0 3

    -3 0 2 0 -2 -4

    1 1 -1 0 1 2

    -1 0 1 1 -1 1

    -1 0 0 -2 0 -6

    0 1 0 1 0 3

    -1 0 1 1 -1 1

    Del cuadro 4.7 se observa que la solución óptima es:

    z = -6, (x, y, h1, h2) = (0, 3, 1, 0)

    Casos especiales: empates, problemas inconsistentes 

    Hay que agregar unas palabras para considerar los casos especiales como empate en lasvariables de entrada o de salida, problemas con soluciones múltiples, degeneramiento

    y problemas sin solución.El método Simplex utiliza un criterio de mejorabilidad para determinar cuál es la va-riable entrante comparando los coeficientes en la FO; en algunos casos puede haber doscoeficientes iguales; en estos casos se debe escoger arbitrariamente cualquiera de ellos.

    Lo mismo puede ocurrir con la variable de salida, puede ser que simultáneamentese acaben dos recursos. También se escogerá como variable de salida cualquiera de ellas.Lo importante aquí es que el problema se vuelve degenerado, esto es, alguna de las va-riables básicas es igual a cero. En estos casos se puede llegar al ciclamiento de la solu-

  • 8/18/2019 Explicacion Del Simplex

    20/23

    PROGRAMACIÓN LINEAL

    140

    ción, y el Simplex queda como atrapado en una serie de vértices y no puede convergera la solución óptima. Este problema ocurre muy raramente y en modelos grandes. Elhecho de llegar a una solución degenerada no implica que no se pueda encontrar lasolución óptima, pero el problema es que la información que se obtiene con el análisisde sensibilidad a veces no es aceptable.

    Se había visto con el método gráfico que en ciertos casos la FO puede ser paralela auno de los lados de la solución factible, y entonces la función se optimiza en ambosvértices y en todos los puntos intermedios. En el Simplex se llega a un punto en que lasolución alterna entre dos puntos con igual valor en la función objetivo.

    Lecturas complementarias

     Arreola y Arreola (2003), especialmente los capítulos 7 y 9. Budnick (2007), las seccio-

    nes 11.2 y 11.3. Hillier (2003), el capítulo 4.

    Problemas de la unidad 4

    Para cada uno de los siguientes problemas agregue las variables de holgura, excedenciay las variables artificiales; construya la tabla inicial del Simplex cuando sea posible.

    Problema 4.1

    3x – 2y + 5z ≤ 1 2005x – 2y – 3z ≥ 0

    Problema 4.2

    120 M – 100 N – R ≥ 1/100

    20 M + R = 2/7N ≤ 30

  • 8/18/2019 Explicacion Del Simplex

    21/23

    MÉTODO SIMPLEX 

    141

    Problema 4.3

    Máx 10x 1 + 25x 2 + 30x 3 + 40x 4 + x 5s.a.

      5x 1 – 3x 3  ≤ 30  x 1  ≥ 5  x 1  ≤ 30

    x 2 + 3x 3 – 3x 5  ≥ 50  x 3 + x 4 + x 5  = 18  x 1, x 2, x 3, x 4, x 5 ≥ 0

    ¿Cuántas ecuaciones y cuántas incógnitas tiene este problema?, ¿cuántas variables de-

    ben igualarse a cero en la solución básica inicial?Para cada uno de los siguientes problemas plantee el sistema de ecuaciones modifi-

    cado, construya el cuadro y obtenga la solución del problema. En cada iteración señalecuál es la variable entrante y la saliente, y cuál es la solución alcanzada.

    Problema 4.4

    Máx 10x + 20ys.a.  2x + y ≤ 16  x + y ≤ 10  x, y ≥ 0

    Problema 4.5

    Máx z = 6x a  + 8x b + 10x c s.a.  x 

    a  + 2.5x 

    b  ≤ 1 200

      2x a  + 3x b + 4x c  ≤ 2 600  x a , x b, x c ≥ 0

  • 8/18/2019 Explicacion Del Simplex

    22/23

    PROGRAMACIÓN LINEAL

    142

    Problema 4.6

    Máx z = 25x a  + 25x b s.a.  x a  + x b  ≤ 12

      2x a  + 0.5x b  ≤ 12  x a   ≤ 5  x b  ≤ 10  x a , x b ≥ 0

    Problema 4.7.

    Máx 16x + 25ys.a.  2x + 4y ≤ 40  x + 2y ≤ 30  x, y ≥ 0

    Problema 4.8

    Máx z = 10x a  + 3x b + 4x c s.a.  8x a  + 2x b + 3x c ≤ 400  4x a  + 3x b  ≤ 200  x c  ≤ 40  x a , x b, x c ≥ 0

    Problema 4.9

    Máx 2 x – 3 y + 4 z

    s.a.  x + 2y ≥ 6  2x + z ≤ 12  y ≥ 5  z ≤ 1  x, y, z ≥ 0

  • 8/18/2019 Explicacion Del Simplex

    23/23

    MÉTODO SIMPLEX 

    Respuesta a los problemas de la unidad 4

    Problema 4.1.  3x – 2y + 5z + h1 = 1 200  5x – 2y – 3z – h2 + A = 0

    Problema 4.2.  120 M – 100 N – R – h1 + A 1  = 0.01

    20 M + R + A 2  = 2/7N + h3  = 30

    Problema 4.3. Cinco ecuaciones (restricciones) y doce variables, por lo tanto, siete va-riables deben igualarse a cero.

    Problema 4.4.  (x, y, h1, h2) = (6, 4, 0, 0), z = 140

    Problema 4.5.  (x a , x b, x c, h1, h2) = (1 200, 0, 50, 0, 0), z = 7700

    Problema 4.6.  (x a , x b, x c, h1, h2, h3, h4) = (2, 10, 0, 3, 3, 0), z = 300 o  (x a , x b, x c, h1, h2, h3, h4) = (4, 8, 0, 0, 1, 2), z = 300

    Problema 4.7.

      (x, y, h1, h2) = segmento (0, 12) a (12, 6), z = 96Problema 4.8.  (x a , x b, x c, h1, h2) = (0, 66.6, 88.88, 0, 0), z = 55.55

    Problema 4.9.  (x, y, z) = (0, 5, 1), mínimo -11