Zmaksymalizuj funkcję z wieloma parametrami (python)

Po pierwsze, pozwólcie, że powiem, że brakuje mi doświadczeń z naukową matematyką lub statystykami - więc może to być bardzo dobrze znany problem, ale nie wiem od czego zacząć.

Mam funkcjęf(x1, x2, ..., xn) gdzie muszę odgadnąć x'ses i znaleźć najwyższą wartość dlaf. Funkcja ma następujące właściwości:

całkowita liczba lub parametry wynoszą zwykle od 40 do 60, więc podejście „brutalnej siły” jest niemożliwe.

możliwe wartości dla każdego zakresu x od 0,01 do 2,99

funkcja jest stała, co oznacza, że ​​wyższa wartość f oznacza, że ​​zgadywanie parametrów jest lepsze i odwrotnie.

Do tej pory zaimplementowałem dość podstawową metodę w Pythonie. Początkowo ustawia wszystkie parametry na 1, losowo zgaduje nowe wartości i sprawdza, czy f jest wyższe niż wcześniej. Jeśli nie, przywróć poprzednie wartości. W pętli z 10 000 iteracji wydaje się, że działa jakoś, ale wynik jest prawdopodobnie daleki od doskonałości.

Wszelkie sugestie dotyczące poprawy wyszukiwania optymalnych parametrów zostaną docenione. Kiedy wyszukałem to zagadnienie, pojawiło się łącze MCMC, ale wydaje się, że jest to bardzo zaawansowana metoda i potrzebuję dużo czasu, aby zrozumieć tę metodę. Podstawowe wskazówki lub koncepcje pomogłyby mi bardziej niż opracowane metody i algorytmy.

questionAnswers(3)

yourAnswerToTheQuestion