Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №24 / Доклад по МО №2 к3.doc
Скачиваний:
7
Добавлен:
01.05.2014
Размер:
231.42 Кб
Скачать

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ»

кафедра МОЭВМ

ОТЧЕТ

по лабораторной работе №2

«Исследование методов полиномиальной

интерполяции для поиска

минимума целевых функций»

Вариант 3

Выполнили Рыбаков М.

Миналенко С.

Куракин А.

Факультет КТИ

Группа № 6373

Преподаватель Тревгода М.А.

Санкт-Петербург, 2008

  1. ЦЕЛЬ РАБОТЫ И ТРЕБОВАНИЕ ЗАДАНИЯ

Цель работы – сравнение двух методов одномерной минимизации – прямого и интерполяционного; разработка программы, реализующей прямой метод на этапе установления границ начального интервала и метод полиномиальной интерполяции для локализации искомого минимума.

Задание (Вариант 3):

Метод дихотомии-Пауэлла.

Тестовая функция f(x)=x4-14x3+60x2-70x.

Точность локализации минимума ε=10-2.

Значение минимума x*=0,780884.

График рассматриваемой функции:

2. КРАТКОЕ ОПИСАНИЕ МЕТОДОВ

Метод дихотомии относится к последовательным стратегиям. Задается начальный интервал неопределенности и требуемая точность. Алгоритм опирается на анализ значений функции в двух точках. Для их нахождения текущий интервал неопределенности делится пополам и в обе стороны от середины откладывается по ε/2, где ε- малое положительное число (в нашей программе переменная с именем delta). Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины (переменная с именем eps).

Алгоритм:

Шаг 1. Задать начальный интервал неопределенности [a,b], ε>0 - малое число, L>0 – точность.

Шаг 2. Положить k=0.

Шаг 3. Вычислить ,,,.

Шаг 4. Сравнить с:

а) если , положить,и перейти к шагу 5;

б) если , положить,;

Шаг 5. Вычислить , и проверить условие окончания:

а) если , процесс поиска завершается и;

б) если , положитьk=k+1 и перейти к шагу 3.

Метод квадратичной интерполяции (метод Пауэла) относится к последовательным стратегиям. Задаётся начальная точка и с помощью пробного шага находятся три точки так, чтобы они были как можно ближе к искомой точке минимума. В полученных точках вычисляются значения функции. Затем строится интерполяционный полином второй степени, проходящий через имеющиеся три точки. В качестве приближения точки минимума берётся точка минимума полинома. Процесс поиска заканчивается, когда полученная точка отличается от наилучшей из трёх опорных точек не более чем на заданную величину.

Алгоритм:

Шаг 1. Задать начальную точку Х1, величина шага ΔХ>0, ε1 и ε2 – малые положительные числа, характеризующие точность.

Шаг 2. Вычислить Х2= Х1+ ΔХ.

Шаг 3. Вычислить f(Х1)=f1 и f(Х2)=f2.

Шаг 4. Сравнить f(Х1) с f(Х2):

  1. Если f(Х1)>f(Х2), положить Х3= Х1+2ΔХ.

  2. Если f(Х1)≤f(Х2), положить Х3= Х1-ΔХ.

Шаг 5. Вычислить f(Х3)=f3.

Шаг 6. Найти Fmin=min{ f1, f2, f3}, Хmini:f(Хmin)= Fmin.

Шаг 7. Вычислить точку минимума интерполяционного полинома, построенного по трём точкам:

,

и величину функции f().Если знаменатель в формуле дляна некоторой итерации обращается в нуль, то результатом интерполяции является прямая. В этом случае рекомендуется обозначить Х1= Хmin и перейти к шагу 2.

Шаг 8. Проверить условия окончания:

Тогда:

  1. Если оба условия выполнены, процедура закончена и Х*;

  2. Если хотя бы одно из условий не выполнено и [ Х1, Х3], выбрать наилучшую точку (Хmin или ) и две точки по обе стороны от неё. Обозначить эти точки в естественном порядке и перейти к шагу 6;

  3. Если хотя бы одно из условий не выполнено и [ Х1, Х3], то положить Х1=и перейти к шагу 2.

3. Блок-схема

4. Спецификация программы.

4.1. Исходные данные.

Исходными данными является начальная точка для алгоритма Swann, шаг для алгоритма Swann, шаг для Пауэлла, требуемая точность вычислений. (все перечисленные параметры вводятся перед компилированием, так что, по сути, исходными данными не являются, т.к. в задаче была указана одна функция и вся программа была оптимизирована под конкретные данные)

4.2. Выходные данные.

Выходными данными являются:

  1. Значение границ интервала, полученного Swann, корень и интервал, полученные методом дихотомии и количество итераций.

  2. Значение границ интервала, полученного Swann, корень полученный методом Пауэлла и количество итераций.

  3. Значение границ интервала, полученного Swann, приблизительный корень и интервал, полученный методом дихотомии к 5-ой итерации, результат работы метода Пауэлла и количество итераций для каждого из алгоритмов.

4.4. Назначение программы.

Программа находит минимум функции три раза. Методом дихотомии, методом Пауэлла и комбинацией этих двух методов.

4.4.1 Основные переменные;

  1. функция Swan

    Имя

    Тип

    Описание

    x1

    double

    Левая точка интервала

    x2

    double

    Правая точка интервала

    t

    double

    Шаг в Swan

    a

    double

    Левая граница интервала

    b

    double

    Правая граница интервала

    d

    double

    Вспомогательная переменная для шага

    k

    int

    Счетчик итераций

  2. функция Dixotomia

    Имя

    Тип

    Описание

    x1

    double

    Левая точка интервала

    x2

    double

    Правая точка интервала

    a

    double

    Левая граница интервала

    b

    double

    Правая граница интервала

    eps

    double

    Эпсилон – точность вычислений

    delta

    double

    Шаг для выбора соседних от x1 точек в дихотомии

    len

    double

    сокращение однотипных вычислений

    k

    int

    Счетчик итераций

  3. функция Pauell

Имя

Тип

Описание

x1

double

Левая точка интервала

x2

double

Средняя точка интервала

Х3

double

Правая точка интервала

a

double

Левая граница интервала

b

double

Правая граница интервала

eps

double

Эпсилон – точность вычислений

dx

double

Шаг для метода Пауэлла

f1,f2,f3,fd

double

Значение функции в соответствующих точках

d

double

значение точки минимума полинома

fmin

double

минимальное значение функции среди трех точек

xmin

double

аргумент при минимальном значении функции среди трех точек

k

int

Счетчик итераций

4.4.2 Процедуры и функции.

Имя

Параметры

Назначение

входные

выходные

транзитные

fun

const double x

Return double

Находит значение целевой функции

Swann

float start_point

Return bool,

double *a,double *b

алгоритм Свенна, выбирающий интервал неопределенности

abs

const double a

Return double

Модуль вещественного числа

Dixotomia

bool alone=false

double &a, double &b

Метод дихотомии

Pauell

bool alone=false

double &a,double &b

Метод Пауэлла

4.3. Место и форма представления данных.

Выходные данные выводятся на экран.

4.4. Сценарий диалога с пользователем

Работа программы предусматривает только одно место взаимодействия с пользователем: после вывода полученных результатов, программа ожидает нажатие любой клавиши и выполняет выход.

Соседние файлы в папке Лабораторная работа №24