Я работаю над улучшением процесса оптимизации некоторых программ для демографического моделирования, чтобы они лучше подходили демографическим моделям к данным. Мы хотели бы сократить время оптимизации.
Время, необходимое для оценки нашей целевой функции, сильно варьируется в зависимости от входных значений. Связь между временем для оценки целевой функции и входных данных известна. Мне интересно, существуют ли какие-либо методы оптимизации, которые учитывают относительную временную стоимость целевой функции при выборе того, какие точки оценивать.
Спасибо!
Обновить:
Как просил Павел, вот некоторые существенные особенности этой конкретной целевой функции:
- Количество параметров умеренное (~ 12ish)
- Наша проблема невыпуклая, или, по крайней мере, на поверхности целевой функции имеются узкие и плоские «гребни». Прямо сейчас мы имеем дело с этим, используя несколько оптимизаций из разных точек, но мы хотели бы добиться большего.
- Целевая функция довольно гладкая, хотя мы можем вычислять только разностные приближения к производным.
- Стоимость оценки также является гладкой функцией значений параметров, и она вполне предсказуема. грубо говоря, для каждого параметра стоимость оценки высока на одном конце диапазона и низкая на другом конце. Таким образом, у нас есть большие области дорогих для оценки наборов параметров, но мы знаем, где они находятся.