jueves, 19 de septiembre de 2019

Metodo Simplex

Método Simplex
·    Construcción de la primera tabla:
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:
Tabla



C1
C2
...
Cn
Base
Cb
P0
P1
P2
...
Pn
P1
Cb1
b1
a11
a12
...
a1n
P2
Cb2
b2
a21
a22
...
a2n
...
...
...
...
...
...
...
Pm
Cbm
bm
am1
am2
...
amn
Z

Z0
Z1-C1
Z2-C2
...
Zn-Cn
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.
Preparando el modelo para adaptarlo al método Simplex
La forma estándar del modelo de problema consta de una función objetivo sujeta a determinadas restricciones:
Función objetivo:
c1·x1 + c2·x2 + ... + cn·xn
Sujeto a:
a11·x1 + a12·x2 + ... + a1n·xn = b1
a
21·x1 + a22·x2 + ... + a2n·xn = b2
...
a
m1·x1 + am2·x2 + ... + amn·xn = bm
x
1,..., xn ≥ 0
El modelo debe cumplir las siguientes condiciones:
1. El objetivo consistirá en maximizar o minimizar el valor de la función objetivo (por ejemplo, incrementar ganancias o reducir pérdidas, respectivamente).
2. Todas las restricciones deben ser ecuaciones de igualdad (identidades matemáticas).
3. Todas las variables (xi) deben tener valor positivo o nulo (condición de no negatividad).
4. Los términos independientes (bi) de cada ecuación deben ser no negativos.
Hay que adaptar el problema modelado a la forma estándar para poder aplicar el algoritmo del Simplex.
Tipo de optimización.
Como se ha comentado, el objetivo del método consistirá en optimizar el valor de la función objetivo. Sin embargo se presentan dos opciones: obtener el valor óptimo mayor (maximizar) u obtener el valor óptimo menor (minimizar).
Además existen diferencias en el algoritmo entre el objetivo de maximización y el de minimización en cuanto al criterio de condición de parada para finalizar las iteraciones y a las condiciones de entrada y salida de la base. Así:
·    Objetivo de maximización
Condición de parada: cuando en la fila Z no aparece ningún valor negativo.
Condición de entrada a la base: el menor valor negativo en la fila Z (o el de mayor valor absoluto entre los negativos) indica la variable Pj que entra a la base.
Condición de salida de la base: una vez obtenida la variable entrante, la variable que sale se determina mediante el menor cociente P0/Pj de los estrictamente positivos.
·    Objetivo de minimización
Condición de parada: cuando en la fila Z no aparece ningún valor positivo.
Condición de entrada a la base: el mayor valor positivo en la fila Z indica la variable Pj que entra a la base.
Condición de salida de la base: una vez obtenida la variable entrante, la variable que sale se determina mediante el menor cociente P0/Pj de los estrictamente negativos.
No obstante, es posible normalizar el objetivo del problema con el fin de aplicar siempre los mismos criterios en lo referente a la condición de parada del algoritmo y a las condiciones de entrada y salida de las variables de la base. De esta forma, si el objetivo es minimizar la solución, se puede cambiar el problema a otro equivalente de maximización simplemente multiplicando la función objetivo por "-1". Es decir, el problema de minimizar Z es equivalente al problema de maximizar (-1)·Z. Una vez obtenida la solución será necesario multiplicarla también por (-1).
Ventajas: No hay que preocuparse por nuevos criterios de parada, condición de entrada y salida de la base ya que se mantienen.
Inconvenientes: En el caso de que la función tenga todos los coeficientes de sus variables básicas positivos, y además las restricciones sean del tipo de desigualdad "≤", al hacer el cambio dichos coeficientes quedan negativos cumpliéndose la condición de parada en la primera iteración (en la fila del valor de la función objetivo todos los valores son positivos o cero). Obteniéndose en este caso por defecto un valor óptimo para la función igual a 0.
Solución: Realmente no existe este problema dado que para que la solución sea superior a 0 es necesario que alguna restricción tenga impuesta la condición "≥" (y se trataría de un modelo para el método de las Dos Fases). En el caso planteado, la solución real debe ser cero.
Normalización de las restricciones
Otra de las condiciones del modelo estándar del problema es que todas las restricciones sean ecuaciones de igualdad (también llamadas restricciones de igualdad), por lo que hay que convertir las restricciones de desigualdad o inecuaciones en dichas identidades matemáticas.
La condición de no negatividad de las variables (x1,..., xn ≥ 0) es la única excepción y se mantiene tal cual.
·    Restricción de tipo "≤"
Para normalizar una restricción con una desigualdad del tipo "≤", hay que añadir una nueva variable, llamada variable de holgura xs (con la condición de no negatividad: xs ≥ 0). Esta nueva variable aparece con coeficiente cero en la función objetivo, y sumando en la ecuación correspondiente (que ahora sí será una identidad matemática o ecuación de igualdad).
a11·x1 + a12·x2 ≤ b1 Flecha a11·x1 + a12·x2 + 1·xs = b1
·    Restricción de tipo "≥"
En caso de una desigualdad del tipo "≥", también hay que añadir una nueva variable llamada variable de exceso xs (con la condición de no negatividad: xs ≥ 0). Esta nueva variable aparece con coeficiente cero en la función objetivo, y restando en la ecuación correspondiente.
Surge ahora un problema con la condición de no negatividad con esta nueva variable del problema. Las inecuaciones que contengan una desigualdad de tipo "≥" quedarían:
a11·x1 + a12·x2 ≥ b1 Flecha a11·x1 + a12·x2 - 1·xs = b1
Al realizar la primera iteración con el método Simplex, las variables básicas no estarán en la base y tomarán valor cero. En este caso la nueva variable xs, tras hacer cero a x1 y x2, tomará el valor -b1 y no cumpliría la condición de no negatividad. Es necesario añadir otra nueva variable xr, llamada variable artificial, que también aparecerá con coeficiente cero en la función objetivo y sumando en la restricción correspondiente. Quedando entonces de la siguiente manera:
a11·x1 + a12·x2 ≥ b1 Flecha a11·x1 + a12·x2 - 1·xs + 1·xr = b1
·    Restricción de tipo "="
Al contrario de lo que cabría pensar, para las restricciones de tipo "=" (aunque ya son identidades) también es necesario agregar variables artificiales xr. Como en el caso anterior, su coeficiente será cero en la función objetivo y aparecerá sumando en la restricción correspondiente.
a11·x1 + a12·x2 = b1 Flecha a11·x1 + a12·x2 + 1·xr = b1
En el último caso se hace patente que las variables artificiales suponen una violación de las leyes del álgebra, por lo que será necesario asegurar que dichas variables artificiales tengan un valor 0 en la solución final. De esto se encarga el método de las Dos Fases y por ello siempre que aparezcan este tipo de variables habrá que realizarlo.
En la siguiente tabla se resume según la desigualdad el tipo de variable que aparece en la ecuación normalizada, así como su signo:

Tipo de desigualdad
Tipo de variable que aparece
- exceso + artificial
=
+ artificial
+ holgura

VÍDEO PARA UN MEJOR ENTENDIMIENTO DEL METODO


EJERCICIO CLASE



No hay comentarios.:

Publicar un comentario

Programacion No Lineal

3.1 Conceptos básicos de problemas de programación no lineal programación no lineal  ( PNL ) es el proceso de resolución de un sistema de ...