Sei sulla pagina 1di 3

La OPTIMIZACIÓN NUMÉRICA de las funciones objetivas multivariables no lineales generales

requiere técnicas eficientes y robustas. La eficiencia es importante porque estos problemas


requieren un procedimiento de solución iterativo, y el ensayo y error se vuelve poco práctico
para más de tres o cuatro variables. La robustez (la capacidad de lograr una solución) es
deseable porque una función general no lineal es impredecible en su comportamiento; puede
haber máximos o mínimos relativos, puntos de silla de montar, regiones de convexidad,
concavidad, etc. En algunas regiones, el algoritmo de optimización puede progresar muy
lentamente hacia el óptimo, lo que requiere un tiempo de computadora excesivo.
Afortunadamente, podemos recurrir a una amplia experiencia en la prueba de algoritmos de
programación no lineal para funciones sin restricciones para evaluar varios enfoques
propuestos para la optimización de tales funciones. En este capítulo discutimos la solución del
problema de optimización sin restricciones:

Los procedimientos iterativos más efectivos alternan entre dos fases en la optimización. En la
iteración k, donde la x actual es x^k, hacen lo siguiente:

1. Elija una dirección de búsqueda sk

2. Minimice a lo largo de esa dirección (generalmente de manera inexacta) para encontrar un


nuevo punto

donde alphaki es un escalar positivo llamado el tamaño del paso. El tamaño del paso se
determina mediante un proceso de optimización llamado búsqueda de línea como se describe
en el Capítulo 5. Además de 1 y 2, un algoritmo debe especificar

3. El vector inicial inicial x0 = [x1^0 x2^0. . . n; l^T y

4. Los criterios de convergencia para la terminación.

Desde un punto de partida dado, se determina una dirección de búsqueda y se minimiza la


corrección) en esa dirección. La búsqueda se detiene según algunos criterios y luego se
determina una nueva dirección de búsqueda, seguida de otra búsqueda de línea. La búsqueda
de línea se puede llevar a cabo con diversos grados de precisión. Por ejemplo, podríamos usar
una duplicación sucesiva simple del tamaño del paso como método de detección hasta que
detectemos que el óptimo se ha colocado entre corchetes. En este punto, la búsqueda de
cribado puede finalizarse y emplearse un método más sofisticado para obtener un mayor
grado de precisión. En cualquier caso, consulte las técnicas analizadas en el Capítulo 5 para
conocer las formas de llevar a cabo la búsqueda de línea.

Los métodos de PNL (programación no lineal) que se analizarán en este capítulo difieren
principalmente en cómo generan las direcciones de búsqueda. Algunos métodos de
programación no lineal requieren información sobre valores derivados, mientras que otros no
usan derivados y se basan únicamente en evaluaciones de funciones. Además, los sustitutos de
diferencia finita se pueden usar en lugar de derivados como se explica en la Sección 8.10. Para
funciones diferenciables, los métodos que usan derivados analíticos casi siempre usan menos
tiempo de cálculo y son más precisos, incluso si se usan aproximaciones de diferencias finitas.
Se pueden emplear códigos simbólicos para obtener derivados analíticos, pero esto puede
requerir más tiempo de computadora que la diferenciación finita para obtener derivados. Para
las funciones que no son nothroth, un método de solo valores de función puede. ser más
exitoso que usar un método derivado. Primero describimos algunos métodos simples no
derivados y luego presentamos una serie de métodos que usan información derivada. También
mostramos cómo la naturaleza de la función objetivo influye en la efectividad del algoritmo de
optimización particular.

6.1 MÉTODOS UTILIZANDO SOLO VALORES DE FUNCIÓN

Algunos métodos no requieren el uso de derivados para determinar la dirección de búsqueda.


En algunas circunstancias, los métodos descritos en esta sección pueden usarse de manera
efectiva, pero pueden ser ineficientes en comparación con los métodos discutidos en las
secciones posteriores. Tienen la ventaja de ser simples de entender y ejecutar.

6.1.1 Búsqueda aleatoria

Un método de búsqueda aleatorio simplemente selecciona un vector inicial x^O, evalúa f(x) en
x^O, y luego selecciona aleatoriamente otro vector x^1 y evalúa f(x) en x^1. En efecto, tanto la
dirección de búsqueda como la longitud del paso se eligen simultáneamente. Después de una
o más etapas, el valor de f(x^k) se compara con el mejor valor anterior de f(x) entre las etapas
anteriores, y se toma la decisión de continuar o finalizar el procedimiento. Las variaciones de
esta forma de búsqueda aleatoria implican seleccionar aleatoriamente una dirección de
búsqueda y luego minimizar (posiblemente por pasos aleatorios) en esa dirección de búsqueda
como una serie de ciclos. Claramente, la solución óptima se puede obtener con una
probabilidad de 1 solo como k -> oo, pero como cuestión práctica, si la función objetivo es
bastante plana, una solución subóptima puede ser bastante aceptable. Aunque el método es
ineficiente en lo que respecta a las evaluaciones de funciones, puede proporcionar un buen
punto de partida para otro método. Puede ver la búsqueda aleatoria como una extensión del
método de estudio de caso. Consulte Dixon y James (1980) para ver algunos algoritmos
prácticos.

6.1.2 Búsqueda de cuadrícula

Los métodos de diseño experimental discutidos en la mayoría de los libros de estadísticas


básicas se pueden aplicar igualmente bien para minimizar el flujo (ver Capítulo 2). Usted
evalúa una serie de puntos sobre un punto de referencia seleccionado de acuerdo con algún
tipo de diseño, como los que se muestran en la Figura 6.1 (para una función objetiva de dos
variables). Luego, te mueves al punto que mejora más la función objetivo y repites.

…….

For n = 30, we must examine 330 - 1 = 2.0588 X 1014 values of f(x) if a threelevel factorial
design is to be used, obviously a prohibitive number of function evaluations.
6.1.3 Búsqueda univariante

Otra técnica de optimización simple es seleccionar n direcciones de búsqueda fijas


(generalmente los ejes de coordenadas) para una función objetivo de n variables. Thenflx) se
minimiza en cada dirección de búsqueda secuencialmente usando una búsqueda
unidimensional. Este método es efectivo para una función cuadrática de la forma

porque las direcciones de búsqueda se alinean con los ejes principales como se indica en la
Figura 6.2a. Sin embargo, no funciona satisfactoriamente para funciones objetivas cuadráticas
más generales de la forma

Como se ilustra en la figura 6.2b. Para el último caso, los cambios en x disminuyen a medida
que se acerca el óptimo, por lo que se necesitarán muchas iteraciones para lograr una alta
precisión.

Potrebbero piacerti anche