Адаптивная оптимизация размера транзакции в django - PullRequest
0 голосов
/ 25 февраля 2010

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

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

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

1 Ответ

1 голос
/ 25 февраля 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...