Одномерная оптимизация функций методом золотого сечения

12745
знаков
0
таблиц
3
изображения

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное учреждение высшего профессионального образования

"Чувашский государственный университет им. И.Н. Ульянова"

Факультет Информатики и вычислительной техники

Кафедра Информационно-вычислительных систем

Специальность 230100

Тема курсовой работы:

Одномерная оптимизация функций методом золотого сечения

Выполнили:

студенты гр. ИВТ 12-08

Прокопьева О. В.,

Степанова Е. В.

Проверил: старший преподаватель

Н.Н.Иванова

Чебоксары – 2005


Аннотация

Курсовая работа разработана в среде программирования MatLab.

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

Программа дает навыки использования некоторых элементарных встроенных в MatLab функций таких как disp, plot…

Программа является наглядным примером для операций над матрицами.


Annotation

The course job is developed in environment(Wednesday) of programming MatLab.

Through this program it is possible to do a sum of a single-measure improvement (finding of minimum and maximum) by the method of golden section.

The program gives skills of use some elementary built - in MatLab of functions such as disp, plot…

The program is an evident example for operations above matrixes.


Оглавление

1.         Содержание задания

2.         Содержание расчетно-пояснительной записки

2.1      Теоретическая часть

2.2      Введение

2.3 Теоретическое описание

3          Программная часть

3.1      Текст программы в среде MatLab

3.2      Руководство программиста

3.3      Руководство пользователя

3.4      Распечатка серии тестов

3.5      Анализ полученных результатов

4          Список использованной литературы


1. Содержание задания

1.         Построить блок-схему алгоритма.

2.         Написать программу в среде MatLab.

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

4.         Провести серию тестов, используя написанную программу и встроенные функции. Построить графики исследованных функций. Проанализировать результаты решений.

Тестовые функции:

а) f(x) =

б) f(x) = arctg(sinx- cosx);

в) f(x) = +x2.


2. Содержание расчетно-пояснительной записки

2.1 Теоретическая часть

Целью данной курсовой работы является изучение и приобретения навыков работы в языке для технических расчетов MatLab.

Необходимо создать программу для решения задачи одномерной оптимизации (нахождение минимума и максимума функций) методом золотого сечения и построить графики исследованных функций. Так же необходимо изучить работу встроенных в MatLab функций.

Протестировать программу на серии тестов.

Теоретическое описание

Одномерная оптимизация функций методом золотого сечения

Метод золотого сечения состоит в построении последовательности отрезков [a0, b0], [a1, b1], …,стягивающихся к точке минимума функции f(x). На каждом шаге, за исключением первого, вычисление значения функции f(x) проводится лишь один раз. Эта точка, называемая золотым сечением, выбирается специальным образом.

На первом шаге процесса оптимизации внутри отрезка [a0, b0] выбираем две внутренние точки x1 и x2 и вычисляем значения целевой функции f(x1) и f(x2). Поскольку в данном случае f(x1) < f(x2), очевидно, что минимум расположен на одном из прилегающих к x1 отрезков [a0, x1] или [x1, x2]. Поэтому отрезок [x2, b0] можно отбросить, сузив тем самым первоначальный интервал неопределенности.

Второй шаг проводим на отрезке [a1, b1], где a1 = a0, b1 = x2. Нужно снова выбрать две внутренние точки, но одна из них (x1) осталась из предыдущего шага, поэтому достаточно выбрать лишь одну точку x3, вычислить значение f(x3) и провести сравнение. Поскольку здесь f(x3) > f(x1), ясно, что минимум находится на отрезке [x3, b1]. Обозначим этот отрезок [a2, b2], снова выберем одну внутреннюю точку и повторим процедуру сужения интервала неопределенности. Процесс оптимизации повторяется до тех пор, пока длина очередного отрезка [an, bn] не станет меньше заданной величины ε.

Теперь рассмотрим способ размещения внутренних точек на каждом от резке [ak, bk]. Пусть длина интервала неопределенности равна l, а точка деления делит его на части l1, l2: l1 > l2, l = l1 + l2. Золотое сечение интервала неопределенности выбирается так, чтобы отношение длины большего отрезк к длине всего интервала равнялось отношению длины меньшего отрезка к длине большего отрезка:  (1)

Из этого соотношения можно найти точку деления, определив отношение l2/l1. Преобразуем выражение (1), и найдем это значение:

 

l=l2l1, l=l2(l1 + l2),

l+l1l2 - l=0,

2 + - 1 =0,

=.

Поскольку нас интересует только положительное решение, то

.

Отсюда l1 k1l, l2k2l.

Поскольку заранее неизвестно, в какой последовательности делить интервал неопределенности, то рассматривают внутренние точки, соответствующие двум этим способам деления. Точки деления x1 и x2 выбираются с учетом полученных значений для частей отрезка. В данном случае имеем

x1 – a0 = b0 – x2 = k2d0,

b0 - x1 = x2 – a0 = k1d0,

d0 = b0 – a0.

После первого шага оптимизации получается новый интервал неопределенности – отрезок [a1, b1].

Можно показать, что точка x1 делит этот отрезок в требуемом отношении, при этом

b1 – x1 = k2d1, d1 = b1 – a1.

Для этого проведем очевидные преобразования:

b1 – x1 = x2 – x1 = (b0 – a0) – (x1 – a0) – (b0 – x2) = d0 – k2d0 - k2d0 = k3d0,

d1 = x2 – a0 = k1d0,

b1 – x1 = k3(d1/k1) = k2d1.

Вторая точка деления x3 выбирается на таком же расстоянии от левой границы отрезка, т.е. x3 – a1 = k2d1.

И снова интервал неопределенности уменьшается до размера

d2 = b2 – a2 = b1 – x3 = k1d1 = kd0.

Используя полученные соотношения, можно записать координаты точек деления y и z отрезка [ak, bk] на k +1 шаге оптимизации (y < z):

y = k1ak + k2bk,

z = k2ak + k1bk.

При этом длина интервала неопределенности равна

dk = bk – ak = kd0.

Процесс оптимизации заканчивается при выполнении условия dk < ε. При этом проектный параметр оптимизации составляет ak < x < bk. Можно в качестве оптимального значения принять x = ak (или x = bk, или x = (ak + bk)/2 и т.п.).

Блок-схема алгоритма



Информация о работе «Одномерная оптимизация функций методом золотого сечения»
Раздел: Информатика, программирование
Количество знаков с пробелами: 12745
Количество таблиц: 0
Количество изображений: 3

Похожие работы

Скачать
34366
0
16

... , Флетчера-Ривса). Методы второго порядка, использующие, кроме того, и информацию о вторых производных функции f (x) (метод Ньютона и его модификации). Метод конфигураций (Хука - Дживса) Следует выделить два этапа метода конфигураций: 1) исследование с циклическим изменением переменных и 2) ускорение поиска по образцам. Исследующий поиск начинается в точке х0, называемой старым базисом. ...

Скачать
13842
5
0

... , содержащего минимум. Задание. 1.Самостоятельно найти в литературе по “Методам оптимизации” определение унимодальной функции и разобраться с его смыслом. Это важно, так как вычислительный процесс в любом методе одномерной оптимизации опирается на предположение об унимодальности . 2. Программно реализовать на языке C++ метод Свенна (Программа должна обеспечить вывод на экран -   начальной ...

Скачать
48110
9
8

... Метод преобразования целевой функции, метод штрафных функций, табличный симплекс – метод. Список используемой литературы 1.  А.Г.Трифонов. Постановка задачи оптимизации и численные методы ее решения; 2.  Б. Банди. Методы оптимизации. Вводный курс., 1988; 3.  Мендикенов К.К. Лекции Приложение А using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

Скачать
41899
0
0

... от года-x и от номера месяца в году-y следующим образом: F(x)=50-x2+10x-y2+10y. Определите, в каком году и в каком месяце прибыль была максимальной. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету МЕТОДЫ ОПТИМИЗАЦИИ Билет № 22 1) Постановка вариационной задачи с ограничениями. Привести пример. 2) Дайте геометрическую ...

0 комментариев


Наверх