Академический Документы
Профессиональный Документы
Культура Документы
Si la funcin objetivo f es lineal y el espacio restringido es un politopo, el problema es de Programacin lineal y puede resolverse utilizando alguno de los bien conocidos algoritmos de programacin lineal.
Si la funcin objetivo es cncava (problema de maximizacin), o convexa (problema de minimizacin) y el conjunto de restricciones es convexo, entonces se puede utilizar el mtodo general de Optimizacin convexa
Existe una variedad de mtodos para resolver problemas no convexos. Uno de ellos consiste en utilizar formulaciones especiales de problemas de programacin lineal. Otro mtodo implica el uso de tcnicas de Ramificacin y poda, cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que forman un lmite inferior del coste total en cada subdivisin. Mediante subdivisiones sucesivas, se obtendr una solucin cuyo coste es igual o inferior que el mejor lmite inferior obtenido por alguna de las soluciones aproximadas. Esta solucin es ptima, aunque posiblemente no sea nica. El algoritmo puede ser parado antes, con la garanta de que la mejor solucin ser mejor que la solucin encontrada en un porcentaje acotado. Ello se utiliza en concreto en problemas importantes y especialmente difciles y cuando el problema cuenta con costes inciertos o valores donde la incertidumbre puede ser estimada en un grado de fiabilidad apropiado.
Las condiciones de Karush-Kuhn-Tucker proporcionan las condiciones necesarias para que una solucin sea ptima.
Mtodo de bsqueda directa Los mtodos de bsqueda directa se aplican principalmente a funciones estrictamente unimo- dales de una variable. Aunque puede parecer trivial el caso, la seccin 21.1.2 muestra que la optimizacin de funciones de una variable juega un papel clave en el desarrollo de los algoritmos de varias variables, ms generales. La idea de los mtodos de bsqueda directa es identificar el intervalo de incertidum- bre que comprenda al punto de solucin ptima. El procedimiento localiza el ptimo estrechando en forma progresiva el intervalo de incertidumbre hasta cualquier grado de exactitud que se desee. En esta seccin se presentan dos algoritmos estrechamente relacionados: los mtodos de bsqueda dictomo y de seccin dorada (o urea). Ambos buscan la maximizacin de una funcin unimodal/(x) en el intervalo a ^ x < b, que se sabe que incluye el punto ptimo x*. Los dos mtodos comienzan con /0 = (a, b) que representa el intervalo inicial de incertidumbre. Paso general i. Sea /, _ , = (xD xR) el intervalo actual de incertidumbre (en la iteracin 0, xL = a y xR
1. 2. 3.
Si f(xx) > /(x2), entonces xL < x* < x2. Se definen xR = x2 e /, = (xL, x2) (vase la figura 21.2[a]). Si f(xx) < f(x2\ entonces xx < x* < xR. Se definen xL = xx e I = (xh xR) (vase la figura 21.1 [b]). . Si f{x\) = /(jc2), entonces xx < x* < x2. Se definen xL = x2 e /, = (xb x2).
La diferencia entre los mtodos dictomo y de seccin dorada estriba en la forma en que se calculan
En el mtodo dictomo los valores jc, y x2 se encuentran simtricos respecto del punto medio del actual intervalo de incertidumbre. Esto significa que
La aplicacin repetida del algoritmo garantiza que la longitud del intervalo de incertidumbre se acercar al nivel de exactitud deseado, A. En el mtodo de la seccin dorada la idea es de mayor involucramiento. Se puede apreciar que cada iteracin del mtodo dictomo requiere calcular los dos valores/(jc,) y f(x2), Pe ro termina por
descartar alguno de ellos. Lo que propone el mtodo de la seccin dorada es ahorrar clculos mediante el reuso del valor descartado en la iteracin inmediata siguiente. Para definir 0 < a < 1
Cuando el intervalo de incertidumbre /, en la iteracin i es igual a (jc, x2) o a (xu xR). Considere el caso en que /, = (jcl, x2), lo cual significa que xx est incluido en /,. En la iteracin /+1, seleccione
Comparado con el mtodo dictomo, el mtodo de la seccin dorada converge ms rpidamente hacia el nivel deseado de exactitud. Adicionalmente, cada iteracin en el mtodo de la seccin dorada requiere la mitad de los clculos, en virtud de que recicla siempre un conjunto de los clculos correspondientes a la iteracin inmediata anterior.
EJEMPLO
El mximo valor de f(x) ocurre en x = 2. La siguiente tabla muestra los clculos para las iteraciones 1 y 2, usando el mtodo dicotomo y el de la seccin dorada. Supondremos que A = 0.1.
Al continuar de la misma forma, el intervalo de incertidumbre terminar por estrecharse hasta la tolerancia A deseada.
La plantilla ch21DichotomousGoldenSection.xls de Excel est diseada para manejar cualquiera de estos dos mtodos en forma automtica. Los datos son/(*), a,b y A. La funcin f{x) se captura en la celda E3 como sigue: = IF(C3< = 2,3*C3, (-C3+20)/3)
OPTIMIZACIN NO RESTRINGIDA
Los problemas de optimizacin no restringida no tienen restricciones, por lo que la funcin objetivo es sencillamente Maximizar f(x)
sobre todos los valores x= (x1, x2,,xn). Segn el repaso del apndice 3, la condicin necesaria para que una solucin especfica x = x* sea ptima cuando f(x) es una funcin diferenciable es
Cuando f (x) es cncava, esta condicin tambin es suficiente, con lo que la obtencin de x* se reduce a resolver el sistema de las n ecuaciones obtenidas al establecer las n derivadas parciales iguales a cero. Por desgracia, cuando se trata de funciones no lineales f (x), estas ecuaciones suelen ser no lineales tambin, en cuyo caso es poco probable que se pueda obtener una solucin analtica simultnea. Qu se puede hacer en ese caso? Las secciones 13.4 y 13.5 describen procedimientos
algortmicos de bsqueda para encontrar x* primero para n = 1 y luego para n > 1. Estos
procedimientos tambin tienen un papel importante en la solucin de varios tipos de problemas con restricciones, que se describirn en seguida. La razn es que muchos algoritmos para problemas
restringidos estn construidos de forma que se adaptan a versiones no restringidas del problema en
una parte de cada iteracin. Cuando una variable Xj tiene una restriccin de no negatividad, x- > 0, la condicin necesaria (y tal vez) suficiente anterior cambia ligeramente a
para cada j de este tipo. Esta condicin se ilustra en la figura 13.11, donde la solucin ptima de un problema con una sola variable es x = 0 aun cuando la derivada ah es negativa y no cero. Como este ejemplo tiene una funcin cncava para maximizar sujeta a una restriccin de no negatividad, el que su derivada sea menor o igual a 0 en # = 0, es una condicin necesaria y suficiente para que
x= 0 sea ptima.
Un problema que tiene algunas restricciones de no negatividad y que no tiene restricciones funcionales es un caso especial (m = 0) de la siguiente clase de problemas.
Los problemas de optimizacin linealmente restringida se caracterizan por restricciones que se ajustan por completo a la programacin lineal, de manera que todas las funciones de restriccin g (x) son lineales, pero la funcin objetivo es no lineal. El problema se simplifica mucho si slo se tiene que tomar en cuenta una funcin no lineal junto con una regin factible de programacin lineal. Se han desarrollado varios algoritmos especiales basados en una extensin del mtodo smplex para analizar la funcin objetivo no lineal.
PROGRAMACIN CUADRTICA
De nuevo los problemas de programacin cuadrtica tienen restricciones lineales, pero ahora la funcin objetivo /(x) debe ser cuadrtica. Entonces, la nica diferencia entre stos y un
PROGRAMACIN CONVEXA
La programacin convexa abarca una amplia clase de problemas, entre ellos como casos especiales, estn todos los tipos anteriores cuando /(x) es cncava. Las suposiciones son
1. 2.
PROGRAMACIN SEPARABLE
La programacin separable es un caso especial de programacin convexa, en donde la suposicin adicional es Todas las funciones f(x) y g(x) son funciones separables. Una funcin separable es una funcin en la que cada trmino incluye una sola variable, por lo que la funcin se puede separar en una suma de funciones de variables individuales. Por ejemplo, si f(x) es una funcin separable, se puede expresar como
son cada tina funciones de una sola variable x1 y x2, respectivamente. Usando el mismo razonamiento, se puede verificar que la funcin considerada en la figura 13.7 tambin es una funcin separable.
Es importante distinguir estos problemas de otros de programacin convexa, pues cualquier problema de programacin separable se puede aproximar muy de cerca mediante uno de programacin lineal y, entonces, se puede aplicar el eficiente mtodo smplex.
son cada tina funciones de una sola variable x1 y x2, respectivamente. Usando el mismo razonamiento, se puede verificar que la funcin considerada en la figura 13.7 tambin es una funcin separable.
Es importante distinguir estos problemas de otros de programacin convexa, pues cualquier problema de programacin separable se puede aproximar muy de cerca mediante uno de programacin lineal y, entonces, se puede aplicar el eficiente mtodo smplex.
PROGRAMACIN NO CONVEXA
La programacin no convexa incluye todos los problemas de programacin no lineal que no satisfacen las suposiciones de programacin convexa. En este caso, aun cuando se tenga xito en encontrar un mximo local, no hay garanta de que sea tambin un mximo global. Por lo tanto, no se tiene un algoritmo que garantice encontrar una solucin ptima para todos estos problemas; pero s existen algunos algoritmos bastante adecuados para encontrar mximos locales, en especial cuando las formas de las funciones no lineales no se desvan demasiado de aquellas que se supusieron para programacin convexa. En la seccin 13.10 se presenta uno de estos algoritmos.
Ciertos tipos especficos de problemas de programacin no convexa se pueden resolver sin mucha dificultad mediante mtodos especiales. Dos de ellos, de gran importancia, se presentarn ms adelante.
PROGRAMACIN GEOMTRICA
Cuando se aplica programacin no lineal a problemas de diseo de ingeniera, muchas veces la funcin objetivo y las funciones de restriccin toman la forma
En tales casos, las ci y a ty representan las constantes fsicas y las x} son las variables de diseo. Estas funciones por lo general no son ni cncavas ni convexas, por lo que las tcnicas de programacin convexa no se pueden aplicar directamente a estos problemas de programacingeo-
mtrica. Sin embargo, existe un caso importante en el que el problema se puede transformar en un problema de programacin convexa equivalente. Este caso es aquel en el que todos los coeficientes c en cada funcin son estrictamente positivos, es decir, las funciones son polinomios positivos generalizados (ahora llamados posinomiales), y la funcin objetivo se tiene que minimizar. El problema equivalente de programacin convexa con variables de decisin y x, y2,, yn se obtiene
entonces al establecer
en todo el modelo original. Ahora se puede aplicar un algoritmo de programacin convexa. Se ha desarrollado otro procedimiento de solucin para resolver estos problemas de programacin
PROGRAMACIN FRACCIONAL
Suponga que la funcin objetivo se encuentra en la forma de una fraccin, esto es, la razn o cociente de dos funciones,
Estos problemas de programacin fraccional surgen, por ejemplo, cuando se maximiza la razn de la produccin entre las horas-hombre empleadas (productividad), o la ganancia entre el capital invertido (tasa de rendimiento), o el valor esperado dividido entre la desviacin estndar de alguna medida de desempeo para una cartera de inversiones (rendimiento/riesgo). Se han formulado algunos procedimientos de solucin especiales1 para ciertas formas de f1(x) y f2 (x)
Cuando se puede hacer, el enfoque ms directo para resolver un problema de programacin fraccional es transformarlo en un problema equivalente de algn tipo estndar que disponga de un procedimiento eficiente. Para ilustrar esto, suponga que f(x) es de la forma de programacin
fraccional lineal
donde c y d son vectores rengln, x es un vector columna y c0 y dQ son escalares. Tambin suponga que las funciones de restriccin g (x) son lineales, es decir, las restricciones en forma matricial son Ax < b y x > 0.
Con algunas suposiciones dbiles adicionales, el problema se puede transformar en un problema equivalente de programacin lineal si se establece
que se puede resolver con el mtodo smplex. En trminos generales, se puede usar el mismo tipo de transformacin para convertir un problema de programacin fraccional con /(x) cncava, f2 (x) convexa y g (x) convexas, en un problema equivalente de programacin convexa.