Maximiza una función con muchos parámetros (python)

Primero, permítame decir que carezco de experiencias con matemáticas o estadísticas científicas, por lo que este podría ser un problema bien conocido, pero no sé por dónde empezar.

Tengo una funciónf(x1, x2, ..., xn) donde necesito adivinar las xes y encontrar el valor más alto paraf. La función tiene las siguientes propiedades:

el número total o los parámetros suelen ser de 40 a 60, por lo que es imposible un enfoque de fuerza bruta.

Los valores posibles para cada x varían de 0.01 a 2.99.

la función es estable, lo que significa que un valor f más alto significa que la conjetura de los parámetros es mejor y viceversa.

Hasta ahora, he implementado un método bastante básico en python. Inicialmente, establece todos los parámetros en 1, adivina al azar nuevos valores y verifica si la f es más alta que antes. Si no es así, retroceda a los valores anteriores. En un bucle con 10.000 iteraciones, esto parece funcionar de alguna manera, pero el resultado probablemente está lejos de ser perfecto.

Cualquier sugerencia sobre cómo mejorar la búsqueda de los parámetros óptimos será apreciada. Al buscar en Google este tema, surgió el vínculo MCMC, pero parece un método muy avanzado y necesitaría mucho tiempo para entenderlo. Las sugerencias o conceptos básicos me ayudarían más que los métodos y algoritmos elaborados.

Respuestas a la pregunta(3)

Su respuesta a la pregunta