2010-02-25 2 views
0

Я загружаю данные в модель django и замечаю, что количество объектов, загружаемых в память до совершения фиксации, влияет на среднее время сохранения каждого объекта. Я понимаю, что это может быть связано с множеством разных факторов, поэтому лучше сосредоточиться на оптимизации этой переменной STEPSIZE.Адаптивная оптимизация размера транзакции django

Что было бы простым алгоритмом оптимизации этой переменной в реальном времени, учитывая при этом, что этот оптимум может также измениться во время процесса?

Я предполагаю, что это будет своего рода градиентный спуск, с небольшим джиттером, чтобы искать изменения в ландшафте? Существует ли формально определенный алгоритм для этого типа поиска?

ответ

1

Я бы предположил, что 1) Ваша функция монотонно увеличивается в обоих направлениях от оптимального 2) Вы примерно знаете размер пространства областей, в которых будет жить оптимальный.

Тогда я бы рекомендовал использовать скобку и подсечку следующим образом: Eval вы работаете наружу от предыдущего оптимума в обоих направлениях. Остановите поиск в каждом направлении, когда достигнуто значение, превышающее предыдущий оптимальный. В соответствии с вышеприведенными предположениями это даст вам промежуток в квадратных скобках, в котором живет новый оптимальный вариант. Разделите этот регион на две новые области слева и справа, оценив середину региона. Выберите слева или справа на основе того, кто имеет самые низкие значения, и повторяйте рекурсивно, пока ваш регион не станет достаточно маленьким по своему вкусу.

Смежные вопросы