programacion Lineal y Metodo simplex alvaro espinoza

53
Tema: Programación Lineal y Método Simplex aplicado a la Informática. Álvaro Andrey Espinoza Mena Profesor: Agustín R. Monge Piedra UNIVERSIDAD TÉCNICA NACIONAL INGENIERÍA EN TECNOLOGÍAS DE INFORMACIÓN ÁLGEBRA LINEAL

Transcript of programacion Lineal y Metodo simplex alvaro espinoza

Page 1: programacion Lineal y Metodo simplex alvaro espinoza

Tema: Programación Lineal y Método Simplex aplicado a la Informática.

Álvaro Andrey Espinoza Mena

Profesor: Agustín R. Monge Piedra

UNIVERSIDAD TÉCNICA NACIONAL

INGENIERÍA EN TECNOLOGÍAS DE INFORMACIÓN

ÁLGEBRA LINEAL

Page 2: programacion Lineal y Metodo simplex alvaro espinoza

PROGRAMACIÓN LINEAL Y MÉTODO SIMPLEX

• Historia de la Programación Lineal y sus principales elementos.

• Modelo de programación lineal general• Métodos de solución del modelo de programación

lineal• Método Simplex

Page 3: programacion Lineal y Metodo simplex alvaro espinoza
Page 4: programacion Lineal y Metodo simplex alvaro espinoza

HISTORIA DE LA PROGRAMACIÓN LINEAL• A pesar de que la programación lineal se empezó a estudiar desde

finales del S.XIX no fue hasta mediados del presente siglo en que tuvo auge como técnica matemática aplicable a los problemas de la empresa.

• El Dr. G. Damtzing desarrolló el método simplex y con ello hizo posible la solución de grandes problemas modelados con programación lineal que solo quedaban en la situación de estudios. Paralelamente a la invención de este método a partir de mediados del siglo se desarrolló la computación digital y se pudo tener resultados óptimos a los problemas estudiados que se quedaron como modelos.

• La programación lineal es actualmente la técnica matemática utilizada más actualmente gracias a que el algoritmo simplex es muy eficiente y al desarrollo de la computación.

Page 5: programacion Lineal y Metodo simplex alvaro espinoza

HISTORIA DE LA PROGRAMACIÓN LINEAL

Dr. G. Damtzing

Page 6: programacion Lineal y Metodo simplex alvaro espinoza

PROGRAMACIÓN LINEAL

• Lo que se busca con la aplicación de la programación lineal es resolver problemas comunes y a la vez muy variados de la empresa en donde en general se tienen necesidades por satisfacer con cierto número de recursos limitados o escasos y con el objetivo de lograrlo en forma óptima. Esto significa la búsqueda de un valor máximo cuando se trata de beneficios; o bien la búsqueda de un mínimo cuando se trata de esfuerzos a desarrollar.

Page 7: programacion Lineal y Metodo simplex alvaro espinoza

PROGRAMACIÓN LINEAL Y SUS PRINCIPALES ELEMENTOS

• Un modelo de programación lineal es un conjunto de expresiones matemáticas las cuales deben cumplir la característica de linealidad que puede cumplirse siempre y cuando las variables utilizadas sean de primer grado. Además un modelo de P.L debe tener las propiedades de:• Proporcionalidad• Aditividad (adición)• Divisibilidad• Certidumbre (certeza)

Page 8: programacion Lineal y Metodo simplex alvaro espinoza

PROGRAMACIÓN LINEAL Y SUS PRINCIPALES ELEMENTOS

• Proporcionalidad: En el modelo de programación lineal los pagos deben ser proporcionales.

El modelo de programación lineal es estático, plantea una situación del momento.

x = progreso de la actividad

• Aditividad: Siempre los pagos se suman en requerimientos, costos y Utilidades.

• Divisibilidad: Las variables involucradas en el modelo de programación lineal pueden no ser un número entero.

Si los valores son muy pequeños no importa el redondeo.

Si son muy altos afecta el redondeo.

• Certidumbre: Todos los parámetros que se manejan deben ser pasados con certeza.

Page 9: programacion Lineal y Metodo simplex alvaro espinoza

MODELO DE PROGRAMACIÓN LINEAL GENERAL• Definición de variables:

Sea xj = #.... ; j = 1, 2, 3....n

• Función objetivo: Términos del primer grado que se sumen.

Max. o Min. z = C1x1 + C2x2 + ... + Cjxj + ... + Cnxn

...donde n = # total de valores

j = ocurrencia.

• Sujeto a restricciones: i = 1, 2, 3, ... , m

a11x1 + a12x2 + ... + a1jxj + ... + a1nxn " = " b1

a21x1 + a22x2 + ... + a2jxj + ... + a2nxn " = " b2

ai1x1 + ai2x2 + ... + aijxj + ... + ainxn " = " bi

am1x1 + am2x2 + ... + amjxj + ... + amnxn " = " bm

Page 10: programacion Lineal y Metodo simplex alvaro espinoza

MODELO DE PROGRAMACIÓN LINEAL GENERAL• Condiciones de signo para variables:

• toda xj " 0

• Modelo general de programación lineal resumido en:

Sumatorias.

• Definición de variables: sea xj = # ; j = 1, 2, 3, ... , n

• Función objetivo: (Max./Min.) z = " cjxj

• ... sujeta a:

"aijxj " = " bi i = 1, 2, 3, ... , m

• ... condiciones de signo: " xj " 0

Con vectores.

(Max./Min.) z = Cx

• .. sujeto a: Ax " = " b

x " 0

Page 11: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODOS DE SOLUCIÓN DEL MODELO DE PROGRAMACIÓN LINEAL

Page 12: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODOS DE SOLUCIÓN DEL MODELO DE PROGRAMACIÓN LINEAL

• El modelo de programación lineal se puede resolver tanto gráfica como analíticamente, pero para problemas de tamaño común que se encuentran como aplicaciones, la solución gráfica no es útil. En cambio, la solución analítica utilizando el algoritmo SIMPLEX que se verá posteriormente es el procedimiento normal para la búsqueda de la solución óptima de un problema.

Page 13: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

• El método grafico de solución de problemas de programación lineal (PL) solo aplica a problemas con dos variables de decisión; sin embargo, ilustra adecuadamente los conceptos que nos permitirán entender la naturaleza del problema PL y de allí entender los métodos de solución algebraicos.

• Primeramente graficaremos la región factible. Después ilustraremos el comportamiento de funciones lineales para entender como determinar los puntos óptimos.  

Page 14: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 15: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA• Nuestra primera meta es graficar en el plano la región factible; es decir,

graficar la totalidad de puntos del plano que satisfacen las restricciones. Notemos que las restricciones se deben cumplir simultáneamente. Es decir, que los puntos deben cumplir la restricción R1, la restricción R2, y así sucesivamente hasta la restricción R5. Desde el punto de vista de teoría básica de conjuntos, la región factible es la intersección de los conjuntos que satisfacen por separado cada una de las restricciones. Para avanzar en nuestra meta, debemos saber cómo determinar los puntos del plano que satisfacen una desigualdad lineal. Distinguimos dos casos:

• cuando en la desigualdad solo aparece una variable de decisión (es decir, la otra variable tiene coeficiente cero)

• cuando en la desigualdad aparecen las dos variables de decisión (es decir, ambas tienen coeficientes diferentes de cero en tal desigualdad)

Page 16: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

• Cuando solo aparece una variable:• En este caso, cuando cambiamos el símbolo de

desigualdad por el símbolo de igualdad lo que obtenemos es el conjunto frontera del conjunto de puntos que cumple la desigualdad. En este caso, dicha frontera es una línea horizontal o vertical: por inspección, es fácil determinar el lado de dicha frontera que cumple la desigualdad.  

Page 17: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 18: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA• Cuando aparecen las dos variables: • Nuevamente, cambiamos el símbolo de desigualdad por el

símbolo de igualdad y lo que obtenemos es una línea recta. Esta recta es fácil de graficar usando la técnica de intersección con los ejes: hacemos cero una de las variables y despejamos para la otra variable. De nuevo, la recta es la frontera de nuestro conjunto: por inspección, es fácil determinar el lado de dicha frontera que cumple la desigualdad.

Page 19: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 20: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

• Región factible:• Se forma haciendo una intersección de los

conjuntos de puntos que hemos encontrado (El punto S (20, 60) se determina resolviendo el sistema 2 x + y = 100 y x + y = 80; el punto R (20, 60) se determina resolviendo el sistema 2 x + y = 100 y x = 40).

Page 21: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 22: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

• Crecimiento de z = 3 x + 2 y:• De momento, nos olvidamos de la región

factible y vemos en qué dirección crece la función z: siendo el gradiente de la función

z =< ∂z ∂x = 3, ∂z ∂y = 2 > determinamos ∇que en tal dirección crece z; direcciones perpendiculares a z (< 2, −3 >) dan las ∇curvas de nivel.

Page 23: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 24: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

• Localización del Óptimo:• Ahora graficamos las curvas de nivel de z

encima de la región factible y determinamos aquel punto de la región factible que queda en la curva de nivel de mayor valor (caso de maximización).

Page 25: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO DE SOLUCIÓN GRÁFICA

Page 26: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO SIMPLEX

Page 27: programacion Lineal y Metodo simplex alvaro espinoza

HISTORIA DEL MÉTODO SIMPLEX• En el año 1947 el doctor George Dantzig presentó el algoritmo

que desarrolló y que denominó SIMPLEX. A partir de este logro se pudieron resolver problemas que por más de un siglo permanecieron en calidad de estudio e investigación con modelos formulados pero no resueltos. El desarrollo paralelo de la computación digital, hizo posible su rápido desarrollo y aplicación empresarial a todo tipo de problemas

Page 28: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO SIMPLEX• El método simplex disminuye sistemáticamente un número

infinito de soluciones hasta un número finito de soluciones básicas factibles. El algoritmo simplex utiliza el conocido procedimiento de eliminación en la solución de ecuaciones lineales de Gauss- Jordan y, además aplica los llamados criterios del simplex con los cuales se asegura mantener la búsqueda dentro de un conjunto de soluciones factibles al problema; así valora una función económica Z, exclusivamente en vértices FACTIBLES (posibles). También se consigue con eficiencia, debido a que se dirige la búsqueda haciendo cambios a una solución básica factible adyacente, que se distingue al tener m-1 variables básicas iguales; es decir, dos vértices adyacentes sólo difieren en una variable básica; seleccionando la ruta de mayor pendiente, para mejorar el valor de Z, o por lo menos conservarlo.

Page 29: programacion Lineal y Metodo simplex alvaro espinoza

MÉTODO SIMPLEX

Page 30: programacion Lineal y Metodo simplex alvaro espinoza

CONSTRUCCIÓN DE LA PRIMERA TABLA SIMPLEX

• Las columnas de la tabla están dispuestas de la siguiente forma: la primera columna de la tabla contiene las variables que se encuentran en la base (o variables básicas), esto es, aquellas que toman valor para proporcionar una solución; la segunda columna recoge los coeficientes que dichas variables básicas tienen en la función objetivo (esta columna es llamada Cb); la tercera muestra el término independiente de cada restricción (P0); a partir de ésta aparece una columna por cada una de las variables de decisión y holgura presentes en la función objetivo (Pj). Para tener una visión más clara de la tabla, se incluye una fila que contiene los títulos de cada una de las columnas.

• Sobre esta tabla se agregan dos nuevas filas: una de ellas, que lidera la tabla, donde aparecen los coeficientes de las variables de la función objetivo, y una última fila que recoge el valor la función objetivo y los costes reducidos Zj - Cj.

• Los costes reducidos muestran la posibilidad de mejora en la solución Z0. Por este motivo también son llamados valores indicadores.

• Se muestra a continuación el aspecto general de la tabla del método Simplex:

Page 31: programacion Lineal y Metodo simplex alvaro espinoza
Page 32: programacion Lineal y Metodo simplex alvaro espinoza

CONSTRUCCIÓN DE LA PRIMERA TABLA SIMPLEX

• Todos los valores incluidos en la tabla vendrán dados por el modelo del problema salvo los valores de la fila Z (o fila indicadora). Estos se obtienen de la siguiente forma: Zj = Σ(Cbi·Pj) para i = 1..m, donde si j = 0, P0 = bi y C0 = 0, y en caso contrario Pj = aij.

• Se observa, al realizar el método Simplex, que en esta primera tabla ocupan la base todas las variables de holgura y por ello (todos los coeficientes de las variables de holgura son 0 en la función objetivo) el valor inicial de Z es cero.

• Por este mismo motivo tampoco es necesario realizar los cálculos de los costes reducidos en la primera tabla, pudiéndose determinar directamente como el cambio de signo de los coeficientes de cada variable en la función objetivo, esto es, -Cj.

Page 33: programacion Lineal y Metodo simplex alvaro espinoza

CONDICIÓN DE PARADA:

• Se cumple la condición de parada cuando la fila indicadora no contiene ningún valor negativo entre los costes reducidos (cuando el objetivo es la maximización), esto es, no existe posibilidad de mejora.

• Si no se cumple la condición de parada es necesario realizar una iteración más del algoritmo, esto es, determinar la variable que se vuelve básica y la que deja de serlo, encontrar el elemento pivote, actualizar los valores de la tabla y comprobar si se cumple nuevamente la condición de parada.

• Es también posible determinar que el problema no se encuentra acotado y su solución siempre resultará mejorable. En tal caso no es necesario continuar iterando indefinidamente y se puede finalizar el algoritmo. Esta situación ocurre cuando en la columna de la variable entrante a la base todos los valores son negativos o nulos.

Page 34: programacion Lineal y Metodo simplex alvaro espinoza

ELECCIÓN DE LA VARIABLE QUE ENTRA A LA BASE:

• Cuando una variable se vuelve básica, es decir, entra en la base, comienza a formar parte de la solución. Observando los costes reducidos en la fila Z, se decide que entra a la base la variable de la columna en la que éste sea el de menor valor (o de mayor valor absoluto) entre los negativos.

Page 35: programacion Lineal y Metodo simplex alvaro espinoza

ELECCIÓN DE LA VARIABLE QUE SALE DE LA BASE:

• Una vez obtenida la variable entrante, se determina que sale de la base la variable que se encuentre en aquella fila

cuyo cociente P0/Pj sea el menor de los estrictamente positivos (teniendo en cuenta que esta operación se hará

únicamente cuando Pj sea superior a 0).

Page 36: programacion Lineal y Metodo simplex alvaro espinoza

ELEMENTO PIVOTE Y ACTUALIZACIÓN DE LA TABLA

• Elemento pivote:• El elemento pivote de la tabla queda marcado por la intersección entre la

columna de la variable entrante y la fila de la variable saliente.

• Actualización de la tabla:• Las filas correspondientes a la función objetivo y a los títulos permanecerán

inalteradas en la nueva tabla. El resto de valores deberán calcularse como se explica a continuación:

• En la fila del elemento pivote cada nuevo elemento se calcula como:

• Nuevo Elemento Fila Pivote = Anterior Elemento Fila Pivote / Pivote.

• En el resto de las filas cada elemento se calcula:

• Nuevo Elemento Fila = Anterior Elemento Fila - (Anterior Elemento Fila en Columna Pivote * Nuevo Elemento Fila Pivote).

• De esta forma se consigue que todos los elementos de la columna de la variable entrante sean nulos salvo el de la fila de la variable saliente cuyo valor será 1. (Es análogo a utilizar el método de Gauss-Jordan para resolver sistemas de ecuaciones lineales).

Page 37: programacion Lineal y Metodo simplex alvaro espinoza

EJEMPLO DEL MÉTODO SIMPLEX:

• Resolver mediante el método simplex el siguiente problema:

Maximizar Z = f(x,y) = 3x + 2y

sujeto a: 2x + y ≤ 18

2x + 3y ≤ 42

3x + y ≤ 24

x ≥ 0 , y ≥ 0

Page 38: programacion Lineal y Metodo simplex alvaro espinoza

REALIZAR UN CAMBIO DE VARIABLES Y NORMALIZAR EL SIGNO DE LOS TÉRMINOS

INDEPENDIENTES.

• Se realiza un cambio en la nomenclatura de las variables. Estableciéndose la correspondencia siguiente:• x pasa a ser X1• y pasa a ser X2

• Como los términos independientes de todas las restricciones son positivos no es necesario hacer nada. En caso contrario habría que multiplicar por "-1" en ambos lados de la inecuación (teniendo en cuenta que esta operación también afecta al tipo de restricción).

Page 39: programacion Lineal y Metodo simplex alvaro espinoza

NORMALIZAR LAS RESTRICCIONES• Se convierten las inecuaciones en ecuaciones

agregando variables de holgura, exceso y artificiales según la tabla siguiente:

Page 40: programacion Lineal y Metodo simplex alvaro espinoza

NORMALIZAR LAS RESTRICCIONES• En este caso se introduce una variable de holgura (X3,

X4 y X5) en cada una de las restricciones del tipo ≤, para convertirlas en igualdades, resultando el sistema de ecuaciones lineales:

2·X1 + X2 + X3 = 18

2·X1 + 3·X2 + X4 = 42

3·X1 + X2 + X5 = 24

Page 41: programacion Lineal y Metodo simplex alvaro espinoza

ESCRIBIR LA TABLA INICIAL DEL MÉTODO SIMPLEX.

• Z - 3·X1 - X2 - 0·X3 - 0·X4 - 0·X5 = 0IGUALAR LA FUNCIÓN OBJETIVO A CERO.

• La tabla inicial del método Simplex está compuesta por todos los coeficientes de las variables de decisión del problema original y las de holgura, exceso y artificiales agregadas en el paso 2 (en las columnas, siendo P0 el término independiente y el resto de variables Pi coinciden con Xi), y las restricciones (en las filas). La columna Cb contiene los coeficientes de las variables que se encuentran en la base.

• La primera fila está formada por los coeficientes de la función objetivo, mientras que la última fila contiene el valor la función objetivo y los costes reducidos Zj - Cj.

• La última fila se calcula como sigue: Zj = Σ(Cbi·Pj) para i = 1..m, donde si j = 0, P0 = bi y C0 = 0, y en caso contrario Pj = aij. Aunque al tratarse de la primera tabla del método Simplex y ser todos los Cb nulos se puede simplificar el cálculo, y por esta vez disponer Zj = -Cj.

Page 42: programacion Lineal y Metodo simplex alvaro espinoza

ESCRIBIR LA TABLA INICIAL DEL MÉTODO SIMPLEX.

Page 43: programacion Lineal y Metodo simplex alvaro espinoza

CONDICIÓN DE PARADA• Si el objetivo es la maximización, cuando en la última fila (fila

indicadora) no existe ningún valor negativo entre los costes reducidos (columnas P1 en adelante) se alcanza la condición de parada.

• En tal caso se llega al final del algoritmo ya que no existe posibilidad de mejora. El valor de Z (columna P0) es la solución óptima del problema.

• Otro caso posible es que en la columna de la variable entrante a la base todos los valores son negativos o nulos. Esto indica que el problema no se encuentra acotado y su solución siempre resultará mejorable. Ante esta situación no es necesario continuar iterando indefinidamente y también se puede dar por finalizado el algoritmo.

• De no ser así, se ejecutan los siguientes pasos de forma iterativa.

Page 44: programacion Lineal y Metodo simplex alvaro espinoza

ELECCIÓN DE LA VARIABLE ENTRANTE Y SALIENTE DE LA BASE

• Se determina en primer lugar la variable que entra en la base. Para ello se escoge la columna cuyo valor en la fila Z sea el menor de entre todos los negativos. En este caso sería la variable X1 (P1) de coeficiente -3.

• Si existiesen dos o más coeficientes iguales que cumplan la condición anterior (caso de empate), entonces se optará por aquella variable que sea básica.

• La columna de la variable que entra en la base se llama columna pivote.

• Una vez obtenida la variable que entra en la base, se procede a determina cual será la variable que sale de la misma. La decisión se toma en base a un sencillo cálculo: dividir cada término independiente (columna P0) entre el elemento correspondiente de la columna pivote, siempre que ambos elementos sean estrictamente positivos (mayores que cero). Se escoge la fila cuyo resultado haya resultado mínimo.

• Si hubiera algún elemento menor o igual a cero no se realiza dicho cociente. En caso de que todos los elementos de la columna pivote fueran de ésta condición se habría cumplido la condición de parada y el problema tendría una solución no acotada.

• En este ejemplo: 18/2 [=9] , 42/2 [=21] y 24/3 [=8]

• El término de la columna pivote que en la división anterior dio lugar al menor cociente positivo indica la fila de la variable de holgura que sale de la base. En este caso resulta ser X5 (P5), de coeficiente 3. Esta fila se llama fila pivote.

• Si al calcular los cocientes, dos o más resultados cumplen la condición para elegir el elemento saliente de la base (caso de empate), se escoge aquella que no sea variable básica (siempre que sea es posible).

• La intersección de la fila pivote y columna pivote marca el elemento pivote, en este caso el 3

Page 45: programacion Lineal y Metodo simplex alvaro espinoza

ACTUALIZAR LA TABLA• Los nuevos coeficientes de la tabla se calculan de la

siguiente manera:• En la fila del elemento pivote cada nuevo elemento se calcula

como:• Nuevo Elemento Fila Pivote = Anterior Elemento Fila Pivote /

Pivote• En el resto de las filas cada elemento se calcula:• Nuevo Elemento Fila = Anterior Elemento Fila - (Anterior

Elemento Fila en Columna Pivote * Nuevo Elemento Fila Pivote)

• Con esto se normaliza el elemento pivote y su valor pasa a ser 1, mientras que el resto de elementos de la columna pivote se anulan (análogo al método de Gauss-Jordan).

• Se muestran a continuación los cálculos para la fila P4:

Page 46: programacion Lineal y Metodo simplex alvaro espinoza

ACTUALIZAR LA TABLA

Anterior fila P4 42 2 3 0 1 0

- - - - - -

Anterior Elemento Fila en Columna Pivote 2 2 2 2 2 2

x x x x x x

Nueva fila pivote 8 1 1/3 0 0 1/3

= = = = = =

Nueva fila P4 26 0 7/3 0 1 -2/3

Page 47: programacion Lineal y Metodo simplex alvaro espinoza

LA TABLA CORRESPONDIENTE A ESTA SEGUNDA ITERACIÓN ES:

Page 48: programacion Lineal y Metodo simplex alvaro espinoza

• Al comprobar la condición de parada se observa que no se cumple ya que entre los elementos de la última fila hay uno negativo, -1. Se continúa iterando nuevamente los pasos 6 y 7.

• La variable que entra en la base es X2 (P2), por ser la variable que corresponde a la columna donde se encuentra el coeficiente -1.

• Para calcular la variable que sale, se dividen los términos de la columna P0 entre los términos correspondientes de la nueva columna pivote: 2 / 1/3 [=6] , 26 / 7/3 [=78/7] y 8 / 1/3 [=24]. Como el menor cociente positivo es 6, la variable que sale de la base es X3 (P3).

• El elemento pivote es 1/3.• Actualizando nuevamente los valores de la tabla se obtiene:

Page 49: programacion Lineal y Metodo simplex alvaro espinoza

• Una nueva comprobación de la condición de parada revela que entre los elementos de la fila indicadora vuelve a haber uno negativo, -1. Significa que aun no se ha llegado a la solución óptima y hay que seguir iterando (pasos 6 y 7):

• La variable que entra en la base es X5 (P5), por ser la variable que corresponde al coeficiente -1.

• Se escoge la variable que sale calculando el cociente entre los términos de la columna de términos independientes y los términos correspondientes de la nueva columna pivote: 6/(-2) [=-3] , 12/4 [=3], y 6/1 [=6]. En esta ocasión es X4 (P4).

• El elemento pivote es 4.• Después de actualizar todas las filas, se obtiene la tabla

siguiente:

Page 50: programacion Lineal y Metodo simplex alvaro espinoza

FIN DEL ALGORITMO

• Se observa que en la última fila todos los coeficientes son positivos cumpliéndose, por tanto la condición de parada.

• La solución óptima viene dada por el valor de Z en la columna de los términos independientes (P0), en este ejemplo: 33. En la misma columna se puede ver el punto donde se alcanza, observando las filas correspondientes a las variables de decisión que han entrado en la base: X1 = 3 y X2 = 12.

• Deshaciendo el cambio de variables se obtiene x = 3 e y = 12.

Page 51: programacion Lineal y Metodo simplex alvaro espinoza

VIDEO DE LA RESOLUCIÓN DEL MÉTODO SIMPLEX EN EXCEL

• https://www.youtube.com/watch?v=6okA05Ktv2E

Aplicación para desarrollar el método simplex

• http://www.phpsimplex.com/simplex/simplex.htm?l=es

Page 52: programacion Lineal y Metodo simplex alvaro espinoza

CONCLUSIONES

• El método simplex es un algoritmo eficiente y confiable para resolver problemas de programación lineal. También proporciona la base para llevar a cabo, en forma muy eficiente, las distintas etapas del análisis pos óptimo.

Aunque tiene una interpretación geométrica útil, el método simplex es un procedimiento algebraico. En cada iteración se mueve de la solución básica factible actual a una adyacente mejor eligiendo tanto la variable básica entrante como la que sale y después usando la eliminación de Gauss para resolver el sistema de ecuaciones lineales. Cuando la solución actual no tiene una solución básica factible adyacente que sea mejor, la solución actual es óptima y el algoritmo se detiene.

Page 53: programacion Lineal y Metodo simplex alvaro espinoza

FIN