русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритм метода Пауэлла


Дата добавления: 2015-07-23; просмотров: 9052; Нарушение авторских прав


Начальный этап. Выбрать x1 - начальную точку, Dx - величину шага по оси x. Задать точность поиска по х и f(x) e1=0,01 и e2=0,1. Перейти к основному этапу.

Основной этап. Шаг 1. Вычислить x2 = x1 + Dx.

Шаг 2. Вычислить f(x1), f(x2).

Шаг 3. Если f(x1) > f(x2), положить x3 = x1 + 2Dx. Если f(x1) £ f(x2), положить x3 = x1 - Dx.

Шаг 4. Вычислить f(x3) и найти Fмин = min{f1, f2, f3}.

Xмин = (×) xi, которая соответствует Fмин.

Шаг 5. По трем точкам x1, x2, x3 вычислить используя формулу для оценивания с помощью квадратичной аппроксимации.

Шаг 6. Проверка на окончание поиска:

- является ли разность Xмин - достаточно малой(/Xмин - /<e1)?

- является ли разность Fмин - f( ) достаточно малой (/Fмин - f( )/<e2)?

Если оба условия выполняются, закончить поиск. В противном случае перейти к шагу 7.

Шаг 7. Выбрать “наилучшую” точку (Xмин или ) и две точки по обе стороны от нее. Обозначить эти точки в естественном порядке и перейти к шагу 4.

Необходимо отметить, что за счет последовательных приближений, совмещенных с квадратичной аппроксимацией, метод имеет высокую эффективность.

Пример расчета экстремума функции методом Пауэлла.

Постановка задачи. Рассчитать минимум функции f(x) = (3-x)2 + 2x-1 методом Паулла. Выбираем начальную точку x1=0 и Dx=1 - величину шага по оси x, а также точность поиска по х и f(x) e1=0,01 и e2=0,1.

Результаты расчета минимума функции f(x) = (3-x)2 + 2x-1 представлены в таблице 2.8.

Таблица 2.8

Результаты расчета минимума функции f(x) = (3-x)2 + 2x-1 методом Пауэлла

x1 x2 x3 f(x1) f(x2) f(x3) a0 a1 a2 xmin f(xmin) xопт f(xопт) xmin-xопт f(xmin)-f(xопт)
0,00 4,00 8,00 8,00 8,00 40,00 8,00 0,00 3,00 0,00 8,00 2,00 4,00 2,00 4,00
0,00 2,00 4,00 8,00 4,00 8,00 8,00 -2,00 1,00 2,00 4,00 2,00 4,00 0,00 0,00

Из расчетов видно, что экстремум найден за одну итерацию, что говорит о высокой эффективности метода.





<== предыдущая лекция | следующая лекция ==>
Алгоритм метода обратного переменного шага. | МЕТОДЫ С ИСПОЛЬЗОВАНИЕМ ПРОИЗВОДНЫХ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.