1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do optymalizacji w Pythonie

Connected

ćwiczenie

Używanie funkcji zwrotnej (callback)

Chcesz znaleźć dwa najwyższe maksima funkcji zysku i postanawiasz użyć callback do zbierania znalezionych optimów, a następnie wybrania dwóch najwyższych wartości.

Na początku uzupełnisz funkcję callback. Sprawdzisz, czy wartość celu aktualnie badana przez basinhopping jest akceptowana jako optimum – jeśli tak, dodasz ją do listy opt_values. Następnie uruchomisz basinhopping z właśnie zdefiniowaną funkcją zwrotną.

Funkcja basinhopping została już zaimportowana. Punkt startowy x0, kwargs oraz funkcja profit są już zdefiniowane.

Instrukcje

100 XP
  • Uzupełnij funkcję callback tak, aby sprawdzała, czy kandydat x badany w bieżącej iteracji został uznany za optimum.
  • Dodaj wartość zminimalizowanego celu do listy opt_values.
  • Uruchom basinhopping z odpowiednią funkcją zwrotną i znajdź dwa najwyższe maksima.