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