investigacion de operaciones no. 2 - r. campillo

37
Investigación de Operaciones Investigación de Operaciones Método Simplex Método Simplex MC. Ing. Rafael Campillo Rodríguez MC. Ing. Rafael Campillo Rodríguez [email protected] [email protected] Facultad de Ingeniería Mecánica Eléctrica, U.V., zona Xalapa Otras Formas Ejemplo Tabular El Algoritmo Simplex La Forma General

Upload: rafael-campillo-rodriguez

Post on 08-Jul-2015

9.677 views

Category:

Education


2 download

DESCRIPTION

Investigación de Operaciones - Presentación No. 2 - Método Simplex

TRANSCRIPT

Page 1: Investigacion de Operaciones No. 2 - R. Campillo

Investigación de OperacionesInvestigación de OperacionesMétodo SimplexMétodo Simplex

MC. Ing. Rafael Campillo RodríguezMC. Ing. Rafael Campillo Rodrí[email protected]@prodigy.net.mx

Facultad de Ingeniería Mecánica Eléctrica, U.V., zona Xalapa

Otras Formas Ejemplo Tabular

El Algoritmo SimplexLa Forma General

Page 2: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

La representación matemática de un modelo de programación lineal (llamada Forma General de representación) es:

l Max (ó Min) Z = C1 X1 + C2 X2 + . . . + Cj Xj

l sa: a11 x1 + a12 x2 + . . . + a1j xj <= (>= ó =) b1

a21 x1 + a22 x2 + . . . + a2j xj <= (>= ó =) b2

. . . . . . . .

. . . . . . . .

. . . . . . . .

ai1 x1 + ai2 x2 + . . . + aij xj <= (>= ó =) bi

12. X1 , X2 , … , Xj >= 0 j = 1, 2, 3, ... n∀

Page 3: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

Como podemos ver, el Modelo consta de las TRES partes fundamentales que son:

l Función Objetivo (FO).l Matriz de Restricciones Funcionales ó Tecnológicas.l Restricción de Factibilidad o de No-Negatividad.

Para en el que:

Z = valor de la medida global de efectividad (objetivo por lograr).Xj = nivel de la actividad j (para j = 1,2,...,n).Cj = incremento (o decremento) en Z que resulta al aumentar (o

disminuir) una unidad en el nivel de la actividad j.bi = cantidad de recurso i disponible para asignar a las actividades (para

i = 1,2,...,m).aij =cantidad del recurso i consumido por cada unidad de la actividad j.

Page 4: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

Vale la pena mencionar que existen otras variantes a nuestro Modelo de PL visto anteriormente, por ejemplo:

l Minimizar (Min) en lugar de Maximizar (Max).l Restricciones Funcionales con desigualdad del tipo mayor o igual

que ( >= ).l Restricciones en forma directa del “Tipo Ecuación” ( = ).l Variables de Decisión no-negativas pero de tipo “restringida”, las

cuáles solo pueden tomar ciertos valores.l Variables de Decisión de tipo “libre”, a las que se les permite

tomar cualquier valor positivo o negativo.*

* (El estudio de la negatividad no se considera en los problemas del área de conocimiento de la Ingeniería debido a la propia naturaleza de los casos en los que se aplica: producción, mano de obra, recursos, tiempo, velocidad, distancia, etc.).

Page 5: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

Con el objetivo de que, posteriormente, apliquemos el Método Simplex para la solución de problemas de PL, los planteamientos de los modelos en Forma General, deben ser representados en lo que se conoce como Forma Estándar.

En dicha Forma Estándar, todas las restricciones deben ser expresadas en la forma de “Tipo Ecuación” ( con = ) para lo que se tienen que re-plantear las desigualdades introduciendo Variables Ficticias.

Las variables ficticias que se introducen en la matriz de las ecuaciones de las restricciones tendrán la misión de “compensar” la escasez o la abundancia de las variables de decisión para el objetivo de utilizar el recurso por el cual compiten en cada una de dichas ecuaciones ( bi ).

Page 6: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

Conversión de Restricciones de tipo Menor o Igual ( <= ):

Por ejemplo, si se tiene: x + y <= 8 y se desea convertir la desigualdad a: x + y = 8 ; para que esto se cumpla, los rangos posibles de valores tanto para x como para yson desde 0 hasta 8 en una combinación de ambas que resulte igual con 8.

Esto nos lleva a múltiples soluciones para la desigualdad. Por otro lado, si ahora suponemos que x e y tienen dado un solo valor, y que su suma es menor que 8, necesariamente tenemos que introducir una variable ficticia denominada “Slack” o de “Holgura” ( S ) que compense la escasez de las variables x e y:

x + y + S = 8

Cada restricción i de este tipo necesitará una Si sumada a ella.

Page 7: Investigacion de Operaciones No. 2 - R. Campillo

La Forma General …La Forma General …

Conversiones de Restricciones de tipo Mayor o Igual ( >= ):

Por ejemplo, si se tiene: x + y >= 5 y se desea convertir la desigualdad a: x + y = 5 ; para que esto se cumpla, los rangos posibles de valores tanto para x como para yson desde 0 hasta 5 en una combinación de ambas que resulte igual con 5.

También se tienen múltiples soluciones para la desigualdad. Si suponemos ahora que x e y tienen dado un solo valor, y que su suma es mayor que 5, necesariamente tenemos que introducir una variable ficticia denominada “Surplus” o de “Superávit” ( S ) que compense la abundancia de las variables x e y:

x + y – S = 5

Cada restricción i de este tipo necesitará una Si restada a ella.* * Como se verá mas adelante, una restricción de este tipo también implica el uso de otra variable ficticia llamada “Artificial”.

Page 8: Investigacion de Operaciones No. 2 - R. Campillo

La Forma GeneralLa Forma General

Conversiones de Restricciones “Tipo Ecuación” ( = ):

Por ejemplo, si se tiene: 2x – 3y = 7 podríamos pensar que ya no se tiene que cambiar algo, pero no es así. Como veremos mas adelante en el método Simplex, los coeficientes de x e y podrían ser cualesquiera; pero como requisito del método, tenemos que asegurarnos de que haya un coeficiente de valor unitario positivo en la restricción .

Por lo que se introduce una variable ficticia denominada “Artificial” ( A ) (optimísticamente de valor cero) que nos proporcione el coeficiente unitario requerido en la restricción:

2x – 3y + A = 7

Cada restricción i de este tipo necesitará una Ai sumada a ella.

Page 9: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

Forma Canónica

Esta forma considera la negatividad de las variables de decisión y por lo tanto queda fuera del alcance de este curso. Sin embargo, muchas veces es importante conocer el planteamiento canónico de un problema aunque no se vaya a resolver porque permite obtener la Forma Dual del planteamiento.

La Forma Dual de un problema es como si fuera una especie de planteamiento del “problema inverso” del original.

Es decir, si el problema original es minimizar Z, podemos obtener la misma respuesta si se maximiza Z en su representación Dualcorrespondiente.

Page 10: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

En la representación del Modelo Canónico se deben de cumplir las siguientes condiciones:

3. La Función Objetivo siempre deberá ser Maximizar.

5. Todas las Restricciones Tecnológicas son del tipo <= .

7. Todas las Variables de Decisión son no-negativas.

l Los valores de los Coeficientes del RHS (bi) pueden tomar cualquier valor (negativos, cero ó positivos).

Por ejemplo, si un problema original es Min Z = exp , el planteamiento canónico lo que haría sería Max – Z = – exp .

Page 11: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

En la representación del Modelo Canónico el tratamiento de las restricciones tecnológicas es el siguiente:

Si el problema original presenta restricciones de tipo:

x + y <= b queda igual x + y <= b

x + y >= b queda como – (x + y) <= – b

x + y = b se “rompe” en dos:

x + y = b x + y <= b

x + y >= b – (x + y) <= – b

Page 12: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

Forma Estándar

Esta forma es la más utilizada para la solución de problemas en el área de conocimiento de la Ingeniería.

Esto se debe a que NO considera la negatividad de las variables de decisión y esto es una de las características fundamentales de la naturaleza de los problemas que se van a resolver.

Todo problema de PL puede ser “convertido” hacia su correspondiente representación en Forma Estándar, de acuerdo con los criterios de conversión de restricciones estudiados anteriormente.

Page 13: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

En la representación del Modelo Estándar se deben de cumplir las siguientes condiciones:

4. La Función Objetivo puede ser Maximizar ó Minimizar.

6. Todas las Restricciones son del Tipo Ecuación ( = ).

8. Todas las Variables de Decisión son no-negativas.

l Los valores de los Coeficientes del RHS (bi) deben ser obligatoriamente no-negativos.

Page 14: Investigacion de Operaciones No. 2 - R. Campillo

Otras Formas …Otras Formas …

En la representación de ambos Modelos, Canónico y Estándar, hay que hacer notar que los coeficientes de la función objetivo cambiarán de signo pues dicha función se iguala con cero antes de proceder a su solución por medio del método Simplex, es decir, de su representación clásica en Forma General:

Max (ó Min) Z = C1 X1 + C2 X2 + . . . + Cj Xj

Pasaríamos a su representación en Canónico o Estándar de la siguiente manera:

Max (ó Min) Z – C1 X1 – C2 X2 – . . . – Cj Xj = 0

Page 15: Investigacion de Operaciones No. 2 - R. Campillo

Otras FormasOtras Formas

En la representación del Modelo Estándar se utiliza una Representación Tabular a manera de una “preparación” para proceder a la solución manual por método Simplex, y esta es:

x1 x2 … xj S1 S2 … Sj RHS

Z

–c1 –c2 … –cj 0 0 … 0 0

a11 a12 … a1j 1 0 … 0 b1

a21 a22 … a2j 0 1 … 0 b2 . . .

. . .

. . .

ai1 ai2 … aij 0 0 … 1 bi

Page 16: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Los pasos del Algoritmo Simplex para la solución manual de un problema de PL son los siguientes:

3. Elaborar la “Forma Tabular Inicial”.

l Escoger la “Variable Entrante” de la columna correspondiente de acuerdo con el denominado “Criterio de Optimicidad”, según:

l Para MAX: Tomar el coef. cj de la FO en la forma tabular MAS NEGATIVO. Si ya no existe ninguno: Terminamos !!!!!

l Para MIN: Tomar el coef. cj de la FO en la forma tabular MAS POSITIVO. Si ya no existe ninguno: Terminamos !!!!!

Page 17: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

l Escoger la “Variable Saliente” de la fila correspondiente de acuerdo con el denominado “Criterio de Factibilidad”, según:

Para ambos MAX y MIN: El criterio de factibilidad es el mismo y consiste en

Tomar el Valor Menor No-Negativo del cociente siguiente:

( bi / aij ) >= 0 , en la columna seleccionada en el Criterio de Optimicidad.

l Una vez seleccionadas la columna y la fila, se tiene el “Elemento Pivote” que se tendrá que transformar en unitario con ceros por arriba y debajo de él (todo esto haciendo las conocidas transformaciones de fila para matrices que nos enseña el álgebra).

Page 18: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

l Cada vez que se termina totalmente una iteración, procederemos a escribir debajo de la “Z”, en la fila de la forma tabular que se escogió como base para la iteración, el nombre de la Variable Entrante que se consideró al hacer dicha iteración (la que está en la columna seleccionada) y se escribe su nombre en la posición que le corresponda. Esto termina una “iteración completa”. Regresamos al punto No.2.

En iteraciones posteriores, si ya hay alguna variable anotada en alguna fila debajo de Z y ahí le toca entrar a una nueva variable, aquella será desplazada, se le borra, se anota la nueva y el proceso se repite nuevamente.*

* Cualquiera de las variables podrá seguir entrando y saliendo varias veces durante las iteraciones, hasta que, finalmente, termine el método Simplex (según el punto No. 2).

Page 19: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Comportamientos especiales en Simplex:

l Empate para la variable entrante.

Se puede escoger cualquiera sin afectar la solución del modelo. La única repercusión será el efectuar un mayor o menor número de iteraciones al resolver el problema.

l Empate para la variable saliente (degeneración).

Si importa cual se escoge !!! y en forma crítica. Las variables que salen empatadas se van a cero a medida que entra otra en su lugar. Por lo que las que no se elijan para salir y permanecen valdrán cero y se les llama “variables degeneradas”, de ahí el nombre de “solución degenerada”.

Page 20: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Comportamientos especiales en Simplex (Continuación):

Si la variable degenerada que permaneció, manteniéndose en cero, sale después de algunas iteraciones y entra otra en su lugar, pero notamos que la Z no cambia, entonces, indica que la que acaba de entrar también vale cero !!!. Si Z no cambia en varias iteraciones estamos probablemente dentro de un ciclo infinito en las iteraciones.

Podríamos notar si estamos en un ciclo observando las formas tabulares y viendo si el último cuadro obtenido es copia idéntica de uno anterior.

La solución probable a esta degeneración sería regresar a la tabla donde comenzó y escoger la otra variable saliente.

Page 21: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Comportamientos especiales en Simplex (Continuación):

l Variable básica que no puede salir ( Z no acotada ).

Los coeficientes aij tienen valor cero o son negativos en toda la columna. Las restricciones no evitan que Z se incremente o disminuya indefinidamente.

Es posible que si se llega a esta situación también sea por un error de cálculo.

En cualquier caso (y si no hay error de cálculo), el método se detiene con la conclusión de que no existe solución óptima.

Page 22: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Comportamientos especiales en Simplex (Continuación):

l Solución óptima múltiple.

Cuando una variable no-básica tiene coeficiente de cero (que haya resultado del cálculo) en la Z final.

Se pueden obtener otras soluciones óptimas si se elige a dicha variable como variable entrante y se efectúa una nueva iteración.

Si realmente se tiene un caso de solución múltiple la Z no cambiará para diferentes valores de las variables básicas.

Page 23: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo Simplex …El Algoritmo Simplex …

Comportamientos especiales en Simplex (Continuación):

l Ninguna solución factible.

Cuando un problema no tiene una elección obvia para la “solución factible inicial” (primera forma tabular) e incluso se requiere del uso de variables artificiales se debe tener precaución pues es probable que el problema no tenga ninguna solución óptima.

Se recurre al método del uso de las variables artificiales para poder crear artificialmente la mencionada “solución factible inicial” (método de la Big M) y probablemente logremos llegar a una solución óptima.

Page 24: Investigacion de Operaciones No. 2 - R. Campillo

El Algoritmo SimplexEl Algoritmo Simplex

Comportamientos especiales en Simplex (Continuación):

Para verificar si una solución óptima encontrada mediante el método de la Big M es verdadera, todas las variables artificiales deberán tener un valor de cero para la Z final !!!.

Puede ser que una variable artificial quede registrada en la columna debajo de la Z en la forma tabular de la Z final, pero entonces en la columna de la derecha, correspondientes al RHS deberá de tener un valor cero. Si no es así, se cometió un error de cálculo.

Si cualquier variable artificial queda con un valor distinto de cero, se cometió un error al hacer los cálculos o bien el modelo original no tiene una solución óptima real !!!.

Page 25: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Sea el siguiente problema de ejemplo:

Forma General Forma Estándar

Max Z = 2x1 + 3x2 Max Z – 2x1 – 3x2 = 0

sa sa

x1 + 2x2 <= 60 x1 + 2x2 + s1 = 60

x1 + x2 <= 40 x1 + x2 + s2 = 40

x1 , x2 >= 0 x1 , x2 >= 0

Page 26: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Forma Tabular Inicial :

Cuadro “Solución” Valor de “Z Max”

x1 x2 S1 S2 RHS

Z

–2 –3 0 0 0

s1 1 2 1 0 60

s2 1 1 0 1 40

Variables participantes en la “Solución Factible Inicial” *.* En esta “solución” se tiene que: x1 = 0 y x2 = 0 ( el Origen ).

Page 27: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Primera Iteración :

“Criterio de Optimicidad” ( el más negativo !!! )

x1 x2 S1 S2 RHS

Z “Criterio de

–2 –3 0 0 0 Factibilidad”( bi / aij , no negativo

mas pequeño !!! )

s1 1 2 1 0 60

s2 1 1 0 1 40

“Pivote”

Page 28: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Primera Iteración (continuación):

Hacemos unitario al pivote ( : 2)

x1 x2 S1 S2 RHS

Z

–2 –3 0 0 0

s1 1/2 1 1/2 0 30

s2 1 1 0 1 40

Page 29: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Primera Iteración (continuación):

Hacemos cero arriba ( factor –3 )

x1 x2 S1 S2 RHS

Z

–1/2 0 3/2 0 90

s1 1/2 1 1/2 0 30

s2 1 1 0 1 40

Page 30: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Primera Iteración (continuación):

Hacemos cero abajo ( factor 1 )

x1 x2 S1 S2 RHS

Z

–1/2 0 3/2 0 90

s1 1/2 1 1/2 0 30

s2 1/2 0 –1/2 1 10

Page 31: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Primera Iteración: Terminación de la Iteración !!!

Variables que “Entran a la Solución”

x1 x2 S1 S2 RHS

Z

–1/2 0 3/2 0 90

x2 1/2 1 1/2 0 30

s2 1/2 0 –1/2 1 10

La variable de la columna seleccionada participa !!!

Page 32: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Segunda Iteración :

Realizamos el mismo procedimiento nuevamente !!!

x1 x2 S1 S2 RHS

Z

–1/2 0 3/2 0 90

x2 1/2 1 1/2 0 30

s2 1/2 0 –1/2 1 10

Page 33: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Segunda Iteración (continuación):

x1 x2 S1 S2 RHS

Z

–1/2 0 3/2 0 90

x2 1/2 1 1/2 0 30

s2 1 0 –1 2 20

Page 34: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Segunda Iteración (continuación):

x1 x2 S1 S2 RHS

Z

0 0 1 1 100

x2 1/2 1 1/2 0 30

s2 1 0 –1 2 20

Page 35: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Segunda Iteración (continuación):

x1 x2 S1 S2 RHS

Z

0 0 1 1 100

x2 0 1 1 –1 20

s2 1 0 –1 2 20

Page 36: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo Tabular …Ejemplo Tabular …

Segunda Iteración: Fin de Problema !!!

Terminamos !!! NO hay coeficientes negativos !!! “Z Max”

x1 x2 S1 S2 RHS

Z

0 0 1 1 100

x2 0 1 1 –1 20

x1 1 0 –1 2 20

Variables finales en la solución y sus valores

Page 37: Investigacion de Operaciones No. 2 - R. Campillo

Ejemplo TabularEjemplo Tabular

Conclusión del problema :

En esta última forma tabular podemos notar que ya no existen variables con signo negativo en la fila de los coeficientes cij. Esto es la indicación de que hemos terminado el procedimiento Simplex para el problema ya que es un problema de MAX.

De la tabla, en la columna titulada RHS, obtenemos que las variables de decisión toman los valores de: x1 = 20 y también que x2 = 20. De igual forma, se tiene que el valor máximo para la función objetivo es: Z Max = 100.

Estos valores satisfacen plenamente a todas las restricciones del problema y la solución óptima es única.