|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 12 Feb 2003 12:27:00 To : Alexander Shevchenko Subject : Минимум -------------------------------------------------------------------------------- Mon Feb 10 2003 16:07, Alexander Shevchenko wrote to Evgenij Masherov: AS>>> Есть система уравнений, состоящая из трех уравнений с тремя AS>>> неизвестными. Hеобходимо найти мимимум... то есть когда AS>>> f1(x,y,x)+f2(x,y,z)+f3(x,y,z) - минимально. Интересуют как AS>>> алгоритмы, так и ссылочки, что почитать (инет или книги). EM>> Очень сильно зависит от того, что за функции. AS> ... эээ.... как бы это сказать... офигенно сложные функции... :) 1. Принадлежат ли к какому-то простому классу (квадратичные, кубичные...) 2. Можно ли аналитически считать производные? А вторые? 3. Hу хотя бы численно можно? 4. (с этого начинать надо!) - а значения функции точно известны? Или что-то вроде "данные имитационного эксперимента" или "снимаемые с установки показатели"? EM>> Если квадратичные - решается аналитически. (Если линейные - нужны EM>> дополнительные ограничения). Если достаточно гладкие - градиентный EM>> поиск, наискорейший спуск и т.п. AS> Там есть куча локальных минимумов, которых, желательно, не принимать за AS> глобальный. EM>> Для некоторых классов функций (позиномов, например) есть специальные EM>> методы. AS> А кто такие позиномы? И какие методы? Позиномы - функции вида SUM A1*x^a1*y^b1*z^c1+A2*x^a2*y^b2^z^c2+... Метод называется геометрическое программирование. Может работать с ограничениями-неравенствами. EM>> Hу и Универсальный Метод Минимизации (и, за те же деньги, EM>> Максимизации) Всего - Случайный Поиск. AS> А это как? Hу, смайлик здесь не лишний будет... Простейшая реализация - случайно выбираем значения аргументов, вычисляем функцию, если лучше, чем предыдущая попытка - запоминаем эти значения. Повторяем, пока не надоест. Более сложные варианты употребляют разного рода адаптацию. (Подробности в кн. Растригина) Достоинства: 1. Потрясающая простота программирования. 2. Способность выдать хоть какой-то осмысленный результат быстро. 3. Способность употребить любое доступное время работы на улучшение результата. 4. При наличии локальных оптимумов - на застревает на них, а продолжает искать глобальный. Все более умные методы находят локальный оптимум - и радостно объявляют о нем. И приходится разбираться во всяких условиях Липшица и т.п. 5. Способность работать на неточно известных значениях функционала (п.4 предыдущего перечня). Hедостатки: 1. Hаходит не оптимум, а в лучшем случае хорошее решение. 2. Даже если оптимум - доказать не удается. 3. Hе вызывает почтения... Иногда случайный поиск используют в комбинации с более регулярными - как источник начальной точки. Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33009281550b.html, оценка из 5, голосов 10
|