Метод пауэлла программа скачать | |
![]() Одномерная оптимизация методом Пауэлла и онлайн-реализация метода на скриптовом языке php.Дата публикации : 03.04.2014 2014-04-03. Статья просмотрена: 4549 раз. Библиографическое описание: Зарипова А. А. Одномерная оптимизация методом Пауэлла и онлайн-реализация метода на скриптовом языке php // Молодой ученый. ? 2014. ? №4. ? С. 13-20. ? URL https://moluch.ru/archive/63/10106/ (дата обращения: 23.10.2019). В работе изложен алгоритм одного из методов одномерной оптимизации, который называется квадратичная интерполяция или метод Пауэлла. Представлен и подробно описан код на языке php, который позволяет выполнить одномерную оптимизацию методом Пауэлла любой введенной пользователем функции. Ключевые слова: одномерная оптимизация, квадратичная интерполяция, метод Пауэлла, квадратичная аппроксимация. Задачи одномерной или однопараметрической оптимизации являются наиболее простыми из оптимизационных задач, но все же имеют огромную практическую и теоретическую ценность. Они часто используются в инженерной практике, а также для решения более сложных и многомерных оптимизационных задач (например, градиентный метод наискорейшего спуска использует один из методов одномерной оптимизации, за счет чего является достаточно быстрым и точным). Задача одномерной оптимизации в общем случае заключается в поиске экстремума функции одной переменной либо в какой-то определенной окрестности, либо на всей оси абсцисс. В основе метода Пауэлла лежит идея аппроксимирования заданной функции квадратичным полиномом. Далее покажем вывод формулы аппроксимации точки минимума некоторой функции f(x). Если известны значения функции f(x) в трех различных точках , и , равные соответственно , и , то функция f(x) может быть аппроксимирована квадратичным полиномом g(x): где A, B и C определяются из уравнений, найденных постановкой , и в функцию f(x), После решения системы, состоящей из уравнений (2), (3) и (4), получаем. Очевидно, что функция g(x) будет иметь минимум в точке , если A>0. Значит, можно аппроксимировать точку минимума функции f(x) значением. Опишем краткий алгоритм метода Пауэлла: 1. Необходимо задать начальную точку , от которой будет начинаться поиск минимума, величину шага h и точность расчетов ?. 3. Вычислить и и сравнить их между собой для вычисления третьей точки . 4. Вычислить и выбрать минимальное значение из , и . Обозначить , которое находится из . 5. По формуле (8) вычислить и . Если знаменатель по формуле (8) равен нулю, то следует принять и перейти к шагу 2. 6. Проверить условие . Возможны три случая: - Условие выполнено, алгоритм закончен, окончательный ответ найден; - Условие не выполнено и , то следует выбрать наилучшую точку ( или ) и две точки по обе стороны от нее; - Условие не выполнено и , то следует принять, что и перейти на шаг 2. Опишем один из возможных вариантов реализации метода Пауэлла на языке php с применением html. Данная реализация будет состоять из двух php-страниц, на первой из которой будут вводиться непосредственно первоначальные данные задачи (функция, начальная точка, шаг и точность). Если начальные данные будут введены верно и без ошибок, то после нажатия на кнопку будет выведен результат решения задачи на второй странице. На первой странице для ввода первоначальных данных будет находиться 4 текстовых поля для ввода и кнопка, выполняющая функцию подсчета. Рис. 1. Вариант расположения элементов на странице для ввода начальных данных. Код страницы для ввода первоначальных данных выглядит следующим образом: | |
Скачать:
|
Похожие материалы: | |