Unidad Uno parte 2 IO1

Anuncio
Programación Lineal
Unidad 1
Parte 2
• Para la mayoría de los problemas modelados con programación
lineal, el método gráfico es claramente inútil para resolverlos, pero
afortunadamente y gracias a la dedicación de varios científicos,
desde mediados del siglo XX se cuenta con el eficiente método
SIMPLEX. Pero como antecedente a la exposición del simplex,
conviene aclarar con definiciones algunos conceptos relacionados:
• SOLUCIÓN: es un conjunto de n + m variables “Xj” definidas
ordenadamente como un vector X= (X1, X2, …Xj…
Xn…Xn+1,…,Xn+m) que satisface el conjunto de ecuaciones que
constituyen el sistema del problema. En donde m= número de
restricciones y n= número de variables de decisión.
• SOLUCIÓN FACTIBLE: es un conjunto de
n+m variables “Xj”, definidas ordenadamente
como
vector
X=
(X1,
X2,
…Xj…
Xn…Xn+1,…,Xn+m) que satisface el conjunto de
ecuaciones que constituyen el sistema en el
problema
• Y además la condición, toda Xj ≥ 0
• SOLUCIÓN BÁSICA: se obtiene cuando en el
sistema de ecuaciones se hacen n variables iguales a
cero de total de (n+m) variables y resolviendo las
ecuaciones para las restantes “m” variables, siempre
que el determinante de los coeficientes de estas “m”
variables llamadas básicas, no sea cero.
• SOLUCIÓN BÁSICA FACTIBLE: es una solución
básica que cumple Xj ≥0, para toda j (j= 1,2,…,
n+m); es decir, todas las variables básicas son no
negativas. En una analogía geométrica con sólo dos
variables, se puede comparar con los vértices en el
área sombreada.
• SOLUCIÓN NO DEGENERADA:
es una solución
básica factible, con exactamente “m” variables
básicas Xj, estrictamente positivas.
• SOLUCIÓN DEGENERADA: es una solución
básica factible, con menos de “m” variables
básicas Xj positivas pues al menos, una de
ellas es de valor cero.
• SOLUCIÓN ÓPTIMA: es una solución básica
factible que optimiza la función
Teoremas de programación lineal
• El conjunto de soluciones factibles de la
programación lineal es convexo
• Un conjunto es convexo, si dados dos puntos
cualesquiera A y B del mismo, del segmento
de recta que los une, se incluye totalmente en
dicho conjunto; expresado matemáticamente,
un conjunto C es convexo si y sólo si, todos
los puntos “P” determinados por combinación
convexa entre dos puntos cualesquiera A y B
del mismo, están en el conjunto C
• Si tanto A como F son vértices factibles,
entonces P está en conjunto factible
• La función objetivo de un programa lineal
tiene su valor óptimo (máximo o mínimo), es
un punto extremo (vértice) del conjunto
convexo de soluciones factibles.
• Si alcanza este óptimo en más de un punto
extremo, entonces toma el mismo valor para
toda combinación convexa entre esos puntos
del problema (soluciones óptimas múltiples)
• Una condición necesaria y suficiente para que
un punto X ≥ 0 en el conjunto de soluciones
factibles sea punto extremo, es que X sea una
solución básica factible que satisfaga el
sistema: AX= b; o bien expresado así:
• Este teorema indica que cada punto extremo
corresponde, al menos, a una solución básica
y viceversa, cada solución básica significa un
punto extremo.
Así se concluye que el
número de puntos extremos del conjunto de
soluciones factibles es finito y no puede
exceder el de sus soluciones básicas.
• Entonces el número máximo de tales soluciones
supuestas únicas se calcula con el binomio:
• Es de anotar, que un punto extremo puede estar
definido con más de dos restricciones en cuyo caso se
dice no único y tener más de una solución básica;
además, si es extremo factible, se tiene degeneración
en tal vértice. El punto extremo factible único se dice es
solución básico no degenerada. Un punto extremo
(vértice) del conjunto factible se identifica porque no se
puede expresar como combinación convexa de
cualquier para de puntos del mismo conjunto,
Método Simplex
• En el año 1947 el doctor George Dantizg 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.
• 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
Guass-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.
• Primero se presenta el método simplex, específico
para un modelo de PL en forma canónica de máximo,
aplicado con la conocida tabla matricial, (también
identificada como la tabla u), lo cual se resume
mediante
el
diagrama
funcional
mostrado
anteriormente, que muestra los fundamentos del
algoritmo contenidos en niveles o bloques numerados
para la referencia en la descripción del mismo.
• Nivel 1, FORMA ESTÁNDAR: el modelo de PL en
forma canónica de máximo que se desea resolver,
tiene m ecuaciones obtenidas la convertir las
restricciones de desigualdad a igualdad, agregando m
variables de holgura, que sumadas a las n variables
de decisión, hacen un total de (m+n) incógnitas.
• Las m restricciones con las (m+n) variables, producen
un número infinito de soluciones, entre ellas, un
conjunto de factibles y también las no factibles.
• Nivel 2. CALCULE UNA PRIMERA SOLUCIÓN BÁSICA
FACTIBLE: del total, (m+n) variables, sólo n se
igualan con cero (n=0), lo cual produce, si existen, un
número finito de soluciones básicas con un límite
máximo de (m+n)!/m!n!.
• Estas pueden ser, factibles y no factibles; se
consideran sólo las primeras.
• Nivel 3.
SE TOMAN EN CUENTA SÓLO LAS
SOLUCIONES BÁSICAS FACTIBLES: esto es, las que
tienen todas las variables básicas ≥ cero; es decir,
con un número de iteraciones menor a (m+n)!/m!n!
se obtienen soluciones básicas factibles: no
degeneradas, si todas las incógnitas básicas son
positivas y soluciones degeneradas si al menos una
variable básica es igual a cero. Se aplican los criterios
del algoritmo en forma iterativa para evaluar la
función objetivo en puntos extremos adyacentes que
potencialmente puedan mejorar el valor Z
• Nivel 4 SE GENERAN NUEVAS SOLUCIONES
BÁSICAS FACTIBLES; tales que el valor de la
función objetivo Z mejore, se repite el procedimiento
(iteraciones) entre los niveles 3 y 4, hasta que
ninguna solución básica factible adyacente resulte
mejor, es decir, hasta que no haya incremento de
valor, si el problema es de máximo (hasta que no
haya decremento, para el problema no tratado ahora,
de mínimo)
Nivel 5: Se interpretan los resultados de la última
(iteración) tabla calculada, porque se identifican las
características de una solución óptima.
CRITERIOS DEL ALGORITMO SIMPLEX
El algoritmo simplex emplea los siguientes criterios
para asegurar que la búsqueda de la solución óptima
del problema en estudio sea rápida, limitando el
cálculo a soluciones básicas (puntos extremos) que
sean factibles.
Criterio de
optimalidad
• Se aplica en el simplex para determinar entre las
variables no básicas, una que entre (VE) a la base,
eligiendo en la columna que tenga el coeficiente más
negativo en el reglón “Z” de la tabla, si el problema es
maximizar.
• Por lo contrario, si el problema es minimizar se elige
para variable entrante (VE) a la base que cumpla con
el coeficiente más positivo en dicho reglón “Z”
Criterio de
factibilidad
• Se aplica en el simplex para determinar entre las
variables básicas, una que salga de la base (VS),
eligiéndola que cumpla en donde Xi es el valor de la
variable básica en el reglón i; a ik es un coeficiente en
el mismo renglón i ubicado en la columna k
correspondiente a la variable entrante elegida. Esto
es válido tanto para problemas de máximo como de
mínimo.
Elemento pivote
• En el cruce correspondiente a columna y renglón
elegidos con los dos criterios anteriores, se ubica un
coeficiente denominado pivote (P) que se utiliza
durante las iteraciones o etapas de cálculo del
simplex.
Aplicación método simplex
PL forma canónica máximo
• Nivel 1: se inicia en forma canónica, sumando una
variable de holgura a cada una de las restricciones de
desigualdad
≤,
que
contiene
el
modelo;
convirtiéndose todas ellas en igualdades. Las holgura
denotan como Xn+1, Xn+2,…,Xn+m.
• Otra conveniente notación es H1, H2,…Hm; en donde
1, 2, …, m son restricciones tipo ≤. Así se pasa a:
Ahora se tienen 3 ecuaciones con
(n+m)=
(2+3)=5
incógnitas,
ampliando
el
sistema
a
5
dimensiones para la solución del
mismo, lo cual implica un número
finito de soluciones.
No se puede mostrar una analogía
geométrica
para
el
espacio
ampliado de forma estándar en 5
dimensiones, pero sí se puede
observar el espacio factible OACFE
que se genera con sólo dos
dimensiones X1 y X2 en gráfica; en
ambos espacios existe un número
infinito de puntos tanto interiores
como en la frontera de la región
factible, aunque sólo existe un
número finito de puntos extremos
(vértices)
• En teoría, de acuerdo al segundo teorema ya
mencionado, la solución óptima se debe buscar en
uno de esos puntos extremos pero para la mayoría de
los problemas con suficiente tamaño significaría una
labor de cálculo excesiva y costosa e incluso
imposible.
• Para tener una idea de lo que esto significa,
supóngase por ejemplo un problema cuyo modelo de
PL contiene m=5 restricciones y n=4 incógnitas,
aplicando el conocido binomio ya mencionado se
tendría: (m+n)!/m!n!
» (5+4)!/5!4!= 126 vértices
• Los ejemplos dados en la clase de
investigación de operaciones 1, son pequeños,
pues lo común en el ámbito de empresa o
gobierno, es manejar magnitudes de decenas
o cientos, tanto en restricciones como en
variables.
• Pero el simplex salva esta circunstancia con
eficiencia, tal como se expresa enseguida.
• Nivel 2: una solución básica se obtiene estableciendo
que de las (m+n) incógnitas en el sistema de
ecuaciones en forma estándar, n variables tengan el
valor cero llamándolas no básicas y resolviendo (si
hay solución) para las restantes m variables que son
básicas, componen la base o solución básica.
• El sistema de restricciones de este ejemplo tiene 3
ecuaciones con 5 variables, se pueden expresar tres
cualesquiera de estas en función de las otras dos que
por ello se consideran independientes. Como cada
variable de holgura H1, H2, H3, se presenta sólo en
una de las 3 restricciones, conviene hacerla básicas.
De este modo, para la aplicación del algoritmo
simplex, se tiene la 1° solución básica factible
siguiente
La función objetivo Z sólo contiene a las variables de decisión
X1, X2, con valor actual cero, por lo tanto Z=3(0)+5(0)=0, no
satisface el objetivo de máximo. La comparación geométrica es
valorar la línea recta Z en el origen O, como Zo=0. Esta
evaluación en O, no puede ser el máximo valor porque aún no se
emplean los recursos de las tres restricciones los cuales son
asignados a las tres holguras.
•
Igualando a cero n variables, se reduce la búsqueda desde una
infinidad hasta un número finito de vértices, pero tal número, aún
puede ser grande.
• Nivel 3: con la tabla se inicia el algoritmo simplex,
muestra el arreglo matricial de los coeficiente de
acuerdo a la forma estándar de este ejemplo, con
excepción de la función objetivo que se arregla a su
forma equivalente: Máximo Z-3X1-5X2=0, con el
formato del sistema de ecuaciones lineales.
• Anote el coeficiente cero para las ausentes holguras
en el renglón Z, pero en cambio, el coeficiente 1 de
cada una de las variables de holgura en cada
restricción, forma la diagonal en la matriz unitaria I de
base, como conjunto de vectores linealmente
independientes que general la primera solución en el
punto extremo (X1, X2, H1, H2, H3) =(0,0,4,12,18),
vértice O de la analogía gráfica.
• Nivel 4: a partir de la solución inicial del algoritmo
simplex, se puede generar una nueva solución básica
factible; se aplica primero el criterio de optimalidad a
la solución básica factible actual, seleccionando entre
las variables no básicas, una variable que entre
a
la base y por lo tanto cambie a básica. La selección
de VE se hace con el criterio de conseguir la mayor
ganancia unitaria de la función objetivo en un vértice.
Se observa que un incremento unitario en X2,
aumenta en 5 el valor de Z, mientras que un
incremento unitario en X1, aumenta en 3 el valor de
Z; si se desea el máximo conviene aumentar a X2,
dejando a X1 en cero
• En el simplex, para este ejemplo con el objetivo de
maximizar, se aplica la optimalidad seleccionando la
variable no básica con el coeficiente más negativo en
el renglón Z de la tabla, señalando la columna elegida
con
• La solución básica del simplex, siempre debe tener m
(m=3 en el ejemplo), variables básicas, entonces la
VE del criterio de optimalidad debe reemplazar a una
de las variables básicas que al salir de la base se
convierte en no básica. Así en segundo lugar, se
aplica el criterio de factibilidad, para determinar entre
las variables básicas una que salga de la base
• CONDICION DE OPTIMIDAD: la variable que entra en
el proceso de maximización (minimización) es la
variable no básica con el coeficiente más negativo
(positivo) en la función Z. Una coincidencia se anual
en forma arbitraria. Cuando todos los coeficientes no
básicos de la ecuación z son no negativos (no
positivos), se llega al óptimo.
para
los
problemas de maximización y minimización, la
variable que sale es la variable básica que
tiene
la
razón
más
pequeña
(con
denominador positivo). Una coincidencia se
anula de forma arbitraria.
• CONDICIÓN
DE
FACTIBILIDAD:
• En la columna izquierda están las variables en la base y
en la columna derecha se tiene sus valores, los cuales
se dividen entre el coeficiente que sea positivo, en el
mismo renglón i de la columna k de la VE; es: Mínimo
(12/2=6; 18/2=9)=6; lo cual se cumple para la variable
básica H2, que debe señalarse como
• En el cruce de la columna que corresponde a
VE
y en el renglón de la
VS
, se localiza un
coeficiente identificado como pivote (P) que se utiliza
para iniciar el procedimiento de solución de
ecuaciones lineales conocido como Gauss-Jordan.
• Para este ejemplo el pivote es 2, en el renglón
saliente y columna entrante, procediendo al cálculo
de la siguiente tabla simplex que es la nueva solución
básica factible.
• La segunda solución básica factible se inicia con la
nueva base formada con variables básicas: H1 y H3,
que se conservan, pero sale H2 y se reemplaza con la
variable X2 como básica en el nuevo punto extremo a
evaluar.
• La tabla simplex se empieza con el renglón entrante
correspondiente a la variable X2; se calcula dividiendo
los coeficientes del renglón saliente
entre el
coeficiente pivote P de la tabla solución anterior,
RE=RS/P, para los resultados mostrados en la fila X2.
• Al convertir en básica la variable X2, se deben hacer
las operaciones fila necesarias para conseguir en su
columna, el vector unitario, característico de una
variable básica que forma parte de la matriz I.
• Tipo 1: (ecuación pivote)
Nueva ecuación pivote= ecuación pivote
anterior/elemento pivote
Tipo 2 (todas las otras ecuaciones, entre ellas Z)
Nueva ecuación = ecuación anterior*(-1)*(su
coeficiente de la columna de entrada) +
(nueva ecuación pivote)
• Por lo tanto se escriben, el coeficiente 1 en la posición
del pivote y el coeficiente 0 en el resto de la columna.
En las fórmulas a la izquierda, se usa la fila RE de la
nueva tabla y las filas necesarias de la tabla anterior,
la fila H, se copia igual porque ya existe el cero en la
columna X2
• Variables de decisión X1=2, X2=6, variable de holgura
H1=2. Las variables no presentes en la base, deben
valer cero: holguras H2=0,H3=0
• Las restricciones (2) y (3), se cumplen con valor cero
para las holguras H2 y H3, significa que en esos
recursos no existe sobrante. En cambio, el recurso
(1) que vale 4, tiene sobrante que representa la
variable básica de holgura H1=2
Descargar