Técnicas de búsqueda
multivariable
Sea f(x1, x2,…, xn) donde x1, x2, ... y xn son variables de decisión, la técnica de búsqueda multivariable hace lo siguiente:
1. Se le asignan valores iniciales
(x1, x2,..., xn) a las variables de decisión, configurando el punto inicial de salida.
Configurandose (x10, x20,…, xn0) como puntos
iniciales.
2. Buscar por medio de un tanteo o aleatoriamente,
valores desde el punto de partida hasta llegar a valores que optimicen la
función objetivo.
3. Dependiendo del objetivo el cual puede ser: maximizar, minimizar, encontrar los ceros de la función, se asignan nuevos valores y se comparan
las funciones objetivo, así:
Sí:
f(x10, x20, x30)<=
f(x11,x21,x31)
f(x10, x20,
x30)>= f(x11,x21,x31)
Se tiene el siguiente ejemplo en VBA:
Se quiere encontrar los puntos y el valor de la FO que maximizan la siguiente función:
f(x1,x2,x3)= (10 / 3) * x1 - (3 * x1 * x2) + (5 * x3 ^ 2) + (4 * x2)
Se puede programar el código VBA para hallar un basto conjunto de puntos en el espacio de la función de la siguiente manera:
La plantilla de EXCEL a utilizar estaría construida de la siguiente manera:
En este caso, bajo las condiciones del programa VBA, se generarían un total de 218 registros.
Este método analiza un rango amplio de datos que dependen de los intervalos de las variables en los ciclos FOR_NEXT.
En caso que se requiera encontrar el mínimo se debe programar la línea de reemplazo:
Application.WorksheetFunction.Min(Range("A3:D1000000"))
Este método analiza un rango amplio de datos que dependen de los intervalos de las variables en los ciclos FOR_NEXT.
En caso que se requiera encontrar el mínimo se debe programar la línea de reemplazo:
Application.WorksheetFunction.Min(Range("A3:D1000000"))
No hay comentarios:
Publicar un comentario