Documentos de Académico
Documentos de Profesional
Documentos de Cultura
lineal, capaz de resolver modelos más complejos que los resueltos mediante el método
gráfico sin restricción en el número de variables.
El Método Simplex es un método iterativo que permite ir mejorando la solución en cada paso.
La razón matemática de esta mejora radica en que el método consiste en caminar del vértice
de un poliedro a un vértice vecino de manera que aumente o disminuya (según el contexto de
la función objetivo, sea maximizar o minimizar), dado que el número de vértices que presenta
un poliedro solución es finito siempre se hallará solución.
Será necesario tener en cuenta que el método Simplex únicamente trabaja con
restricciones del problema cuyas inecuaciones sean del tipo "≤" (menor o igual) y sus
coeficientes independientes sean mayores o iguales a 0. Por tanto habrá que estandarizar
las restricciones para que cumplan estos requisitos antes de iniciar el algoritmo del
Simplex. En caso de que después de éste proceso aparezcan restricciones del tipo "≥"
(mayor o igual) o "=" (igualdad), o no se puedan cambiar, será necesario emplear otros
métodos de resolución, siendo el más común el método de las Dos Fases.
3. Todas las variables (xi) deben tener valor positivo o nulo (condición de no
negatividad).
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).
Objetivo de maximización
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 entrada a la base: el mayor valor positivo en la fila Z indica la variable P j 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).
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.
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).
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.
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.
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.
≥ - exceso + artificial
= + artificial
≤ + holgura
A continuación se explican paso a paso los puntos de cada método, concretando los
aspectos a tener en cuenta.
Método Simplex
Construcción de la primera tabla:
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 Z 0. Por este motivo
también son llamados valores indicadores.
Tabla
C1 C2 ... Cn
Base Cb P0 P1 P2 ... Pn
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.
Condición de parada:
Una vez cumplida la condición de parada, el valor de cada variable que logra la
solución óptima se encuentra en la columna P0, indicándose en la base a qué
variable correnponde dicho valor. Si una variable no aparece en la base, significa
que su valor es cero. De la misma forma el valor óptimo de la función objetivo (Z)
se encuentra en la columna P0, fila Z.
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.
Una vez obtenida la variable entrante, se determina que sale de la base la variable
que se encuentre en aquella fila cuyo cociente P 0/Pj sea el menor de los
estrictamente positivos (teniendo en cuenta que esta operación se hará
únicamente cuando Pj sea superior a 0).
Elemento pivote:
Actualización de la tabla:
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).
FASE 1
Esta primera fase es muy similar al método Simplex, con la excepción de la construcción de
la primera tabla, además de la necesidad de estudiar el resultado obtenido para
determinar si se desarrolla la segunda fase. En tal caso, la última tabla de esta fase será,
con algunas modificaciones, la utilizada como tabla inicial para la segunda fase.
Se elabora de manera análoga a la tabla inicial del método Simplex, pero con
algunas diferencias.Como se ha comentado, en esta primera fase se resuelve un
problema auxiliar (la minimización de la suma de las variables artificiales) con una
función objetivo auxiliar. Por lo tanto en la primera fila de la tabla, donde se
muestran los coeficientes de las variables de la función objetivo, aparecerán todos
los términos a cero excepto los coeficientes de variables artificiales. El valor de
cada uno de estos coeficientes es "-1" debido a que se está minimizando la suma
de dichas variables (recuerde que minimizar Z' es igual que maximizar (-1)·Z').
La otra diferencia para la primera tabla radica en que ahora sí es necesario calcular
la fila Z (o fila indicadora).
Tabla
C0 C1 C2 ... Cn-k ... Cn
FASE 2
La segunda fase del método de las Dos Fases se desarrolla exactamente igual que el
método Simplex, con la salvedad de que antes de iniciar las iteraciones hay que eliminar
las columnas correspondientes a las variables artificiales, y reconstruir la tabla inicial.
La tabla inicial en este caso se mantiene casi igual a la última tabla de la primera
fase. Únicamente habrá que modificar la fila de la función objetivo por la del
problema original y calcular nuevamente la fila Z (de la misma forma que en la
primera tabla de la fase 1).
A partir de este punto, todas las iteraciones hasta llegar a la solución óptima del
problema no presentan ninguna diferencia con el método Simplex.
Solución ilimitada (no acotada): si toda la columna de la variable que entra a la base
tiene todos sus elementos negativos o nulos se trata de problema no acotado, es decir,
que tiene solución ilimitada. No hay valor óptimo concreto para la función objetivo sino
que a medida que se aumenta el valor de las variables también se incrementa el valor Z sin
violar ninguna restricción.
No existe solución: cuando ningún punto satisface todas las restricciones del
problema se produce la infactibilidad no existiendo ninguna solución posible para él. En
este caso, una vez terminadas todas las iteraciones del algoritmo, existen en la base
variables artificiales cuyo valor es superior a cero.
Empate de variable saliente: se puede nuevamente optar por cualquiera de ellas. Sin
embargo, a fin de no alargar el problema y evitar la entrada en un bucle infinito (caso
degenerado), se discrimina a favor de las variables de decisión haciendo que permanezcan
en la base. En el caso de estar en la primera fase del método de las Dos Fases, se optará
por sacar de la base las variables artificiales.
¿El elemento pivote puede ser nulo?: No, el elemento pivote siempre será
estrictamente positivo ya que únicamente se realizan los cocientes entre valores no
negativos y mayores que cero (ante un problema de maximización).
Esencia del Método Simplex.
El método Simplex es un procedimiento algebraico, Sin embargo, sus conceptos
fundamentales son geométricos, por lo que la comprensión de estos conceptos
geométricos nos proporciona una fuerte intuición sobre como opera el método Simplex y
porque es tan eficiente.
Para comprender los conceptos geométricos, volveremos a analizar el problema de la W
Glass, visto en la sección anterior. En la figura 1 se marcaron las cinco restricciones de
frontera y sus puntos de intersección ya que son puntos clave para el análisis. Una
frontera de restricción es una recta que marca el límite de lo que permite la restricción
correspondiente. Los puntos de intersección son las soluciones en los vértices para el
problema. Los cinco puntos que se encuentran en los vértices de la región factible son:
(0,0), (0,6), (2,6), (4,3) y (4,0), y corresponden a las soluciones factibles en los vértices
(soluciones FEV). Los otros tres: (0,9), (4,6) y (6,0) se llaman soluciones no factibles en un
vértice.
Figura 1:
Para cualquier problema de programación lineal con n variables de decisión, dos soluciones
FEV son adyacentes entre si, si comparten (n-1) fronteras de restricción. Como n = 2 en el
ejemplo, dos de sus soluciones FEV son adyacentes si comparten una frontera de restricción,
por ejemplo, (0,0) y (0,6) son adyacentes porque comparten la frontera
x1= 0. En la siguiente tabla se indican las soluciones FEV adyacentes para cada solución FEV.
Solución FEV Soluciones FEV adyacentes (0,0) (0,6) y (4,0) (0,6) (2,6) y (0,0) (2,6) (4,3) y (0,6)
(4,3) (4,0) y (2,6) (4,0) (0,0) y (4,3) Una razón para analizar las soluciones FEV adyacentes es la
siguiente propiedad general de las soluciones, que proporciona una manera muy útil de
verificar si una solución FEV es una solución óptima.
Prueba de optimalidad Considere cualquier problema de programación lineal que posea al
menos una solución óptima. Si una solución FEV no tiene soluciones FEV adyacentes que sean
mejores (según el valor de Z), entonces esa debe ser una solución óptima. De esta manera por
ejemplo (2,6) debe ser optima simplemente porque su valor correspondiente de Z = 36 es más
grande que Z = 30 para (0,6) y Z = 27 para (4,3). Esta prueba de optimalidad se usa en el
método Simplex para determinar cuándo se ha llegado a una solución óptima.
Forma aumentada
Es una solución para las variables originales n para las variables originales (variables de
decisión), que se ha aumentado n), que se ha aumentado con los valores correspondientes de
las con los valores correspondientes de las variables de holgura variables de holgura Ejemplo.
(3,2)
(3,2,1,8,5)
X3, X4, X5
Sistema Original
(4,6) (4,6,0,0,-6)
Forma original
X1≤4
2X 2 ≤ 12
3X 1 + 2X 2 ≤ 18
X1,X2≥0
Forma aumentada
Max Z = 3X 1 + 5X 2 Sujeto a
X 1 +X3 =4
2X 2 +X 4 = 1 2
3X 1 + 2X 2 +X 5 = 1 8
X 1 , X 2, X 3, X 4, X 5 ≥ 0
El método revisado o método del simplex
Se basa en los mismos principios que el simplex, pero en cada iteración no se calcula toda la
tabla, y la información que se necesita para pasar de una solución factible básica a otra se
obtiene directamente de las ecuaciones originales.
El método del simplex revisado trabaja con la idea fundamental de que cualquier tabla del
simplex correspondiente a una solución factible básica puede generarse directamente de las
ecuaciones originales por medio de operaciones matriciales.
Ventajas del método revisado del Simplex doble el método del Simplex.
1. El simplex revisado trabaja sobre una tabla cuyo tamaño lo determina el número de
restricciones.
2. Si se calcula B-1 en cada iteración directamente de los datos del principio, no se acumulan
errores de redondeo.
3. Los conceptos teóricos del método ayudan a entender conceptos de teoría de la dualidad y
análisis de sensibilidad.
Problema dual
Cada problema de programación lineal (Primal) está estrechamente relacionado con otro
problema simétrico a él, denominado problema dual.
El dualismo es una teoría que surge como consecuencia de una profundización en el estudio de
la programación lineal porque la distribución de los recursos y la formación de los precios son
dos aspectos del mismo problema. Entonces la doble formulación de la programación lineal no
se debe considerar como un simple ejercicio matemático, sino que una y otra versión del
problema vienen a explicar dos aspectos económicos distintos para una misma situación
problémica. Una propiedad fundamental de la relación entre el primal y el dual es que la
solución óptima de cualquiera de estos problemas proporciona la solución óptima para el otro.
Importancia
Puede ser utilizada para resolver el caso en que se debe considerar la introducción de una
nueva variable en el primal una vez que ha de sido obtenida la solución óptima, sin tener que
resolver completamente el problema.
Interpretación económica del problema dual
El problema primal y dual explican dos aspectos económicos distintos de un mismo problema.
Las variables duales nos vienen a medir el valor de los recursos imputados a la producción,
pero esta valoración tiene unas características peculiares, esta realizada en términos de costos
de oportunidad. Esto quiere decir que aquellos factores ( o restricciones ) cuyas existencias no
quedan agotadas en el programa óptimo establecido, tienen un costo nulo desde el anterior
punto de vista, pues bajo el prisma exclusivo del sistema empresarial es un bien libre al estar
en exceso.
Para la realización de este análisis vamos a partir del supuesto que se tiene un problema de
programación lineal donde se maximiza el valor de la función objetivo, por ejemplo, la
ganancia.
De lo anteriormente expuesto se puede deducir que existe una estrecha relación entre el
problema primal y dual que puede expresarse en lo siguiente:
Los términos independientes del conjunto de las restricciones del problema primal forman los
coeficientes de la función objetivo del dual.
Los coeficientes de la función objetivo del primal forman los términos independientes de las
restricciones del dual.
Las restricciones del dual cambian su sentido al igual que el criterio de optimización en
términos de mínimo o máximo.
A cada restricción del problema primal le corresponde una variable dual y análogamente a
cada restricción del dual le corresponde una variable del primal.
En la mayor parte de las presentaciones de programación lineal, el dual se define para varias
formas del primal, dependiendo del sentido de la optimización (maximización o minimización),
tipos de restricciones (o =), y la orientación de las variables (no negativa o no restringida). Este
tipo de tratamiento puede confundir. Por esta razón presentaremos una sola definición que
comprenda en forma automática a todas las formas del primal.
Nuestra definición del problema dual requiere expresar el problema primal en forma de
ecuaciones, todas las restricciones son ecuaciones, con lado derecho no negativo y todas las
variables son no negativos. Este requisito es consistente con el formato de la tabla de inicio
simplex. En consecuencia, todo resultado obtenido a partir de la solución primal-óptima se
aplican en forma directa al problema dual asociado.
Los coeficientes de la función objetivo del problema primal se convierten en los coeficientes
del vector de la disponibilidad en el problema dual.
Los coeficientes del vector de disponibilidad del problema original se convierten en los
coeficientes de la función objetivo (vector de costo o precio) en el problema dual.
Los coeficientes de las restricciones en el problema primal, será la matriz de los coeficientes
tecnológicos en el dual.
Los signos de desigualdad del problema dual son contrarios a los del primal.
1.Los coeficientes de la i-estima restricción para el problema primal pasan a ser los coeficientes
de las variables Si en las restricciones del problema dual. El problema dual tiene tantas
variables como restricciones hay en el primal.
2.Los coeficientes de las variables de decisión Xj en el problema primal pasan a ser los
coeficientes de la restricción j-estima en el problema dual. El problema dual tiene tantas
restricciones como variables hay en el primal.
3.Los coeficientes de la función objetivo en el problema primal pasan a ser los coeficientes del
segundo miembro de las restricciones en el problema dual.
4.Los coeficientes del segundo miembro de las restricciones del problema dual pasan a ser los
coeficientes de la función objetivo del dual.
El precio sombra, es el valor por una unidad extra del recurso, ya que el costo del recurso no es
incluido en el cálculo de los coeficientes de la función objetivo.
Cuando se tienen las dos soluciones, la solución dual se denomina de precios sombra.
Los valores de las variables duales en la optimización corresponden al valor de las tasas
marginales de variación del valor de la función objetivo ante las variaciones unitarias del lado
derecho de una restricción. Por este motivo se le llama precio sombra al vector de variables
duales en el valor óptimo.
Se podría incrementar la función objetivo en la magnitud del precio sombra si se tuviera una
unidad adicional de ese recurso, o sea, el fabricante puede aumentar su ganancia total en el
precio sombra de un recurso, si dispone de una unidad adicional de ese recurso. Los precios
sombra de un recurso es la cantidad máxima que debe pagar un fabricante por una unidad
adicional de ese recurso.
Son válidos dentro de ciertos límites de los valores del lado derecho de las restricciones
(análisis de sensibilidad)