Скачать

Сравнительный анализ методов оптимизации

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

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


1. Основы теории оптимизации

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

Для того чтобы использовать результаты и вычислительные процедуры теории оптимизации на практике, необходимо, прежде всего, сформулировать рассматриваемую задачу на математическом языке, т.е. построить математическую модель объекта оптимизации.

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

1. Определение границ объекта оптимизации. Необходимость этого этапа диктуется невозможностью учета и исчерпывающего описания всех сторон большинства реальных систем. Выделив главные переменные, параметры и ограничения, следует приближенно представить систему как некоторую изолированную часть реального мира и упростить ее внутреннюю структуру. Может оказаться, что первоначальные границы объекта оптимизации выбраны неудачно. Тогда в одних случаях границы системы следует расширить, а в других – сузить.

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

3. Формулировка математической задачи оптимизации. Объединяя результаты предыдущих этапов построения математической модели, ее записывают в виде математической задачи оптимизации, включающей построенную целевую функцию и найденные ограничения на управляемые переменные. При записи математических задач оптимизации в общем виде обычно используется следующая символика:

f(xi) ®min (max), хiÎ U

где f(xi) – целевая функция, а U – допустимое множество, заданное ограничениями на управляемые переменные. Значение параметров f(xi) ®min (max) при которых достигается min (max), называется оптимальным решением.


2. Численные методы одномерной безусловной оптимизации

Число х* Î U называется точкой глобального (абсолютного) минимума функции f (x) на множестве U, если f (x*) £ f (x) для всех хÎ U.

Значение f * = f (x*) =  называют глобальным (абсолютным) минимумом или просто минимумом функции f (x) на множестве U.

Множество всех точек минимума f (x) на U будем в дальнейшем обозначать через U*.

Число  ÎU называется точкой локального минимума функции f (x), если для всех xÎU, достаточно близких к , т.е. если существует e > 0 такое, что это неравенство выполняется для любого.

Глобальный минимум f (x) является и локальным минимумом, а обратное, неверно.

Если функция f(x) на множестве U имеет, кроме глобального, локальные минимумы, отличные от него, то минимизацияf(x),как правило, сильно затрудняется. В частности, многие методы поиска точки минимума f(x) приспособлены только для функций, у которых каждый локальный минимум является одновременно и глобальным. Этим свойством обладают унимодальные функции.

Функция f(x) называется унимодальной на отрезке (а; ), если она непрерывна на (а; ) и существуют числа a и b, , такие, что:

1) если а < a, то на отрезке (a; a) функция f(x) монотонно убывает;

2) если b < , то на отрезке (b; ) функция f(x) монотонно возрастает;

3) при х Î (a; b) f(x) =f* = .

Возможно вырождение в точку одного или двух отрезков из (a; a), (a; b) и (b; b). Некоторые варианты расположения и вырождения в точку отрезков монотонности и постоянства унимодальной функции показаны на.

Основные свойства унимодальных функций:

1. Любая из точек локального минимума унимодальной функции является и точкой ее глобального минимума на отрезке (а; b).

2. Функция, унимодальная на отрезке (а; b), является унимодальной и на любом меньшем отрезке (с; d)  (а; b).

3. Пусть f (x) Q (а; b) и . Тогда:

если , то x*  (a; x2);

если , то x*  (x1; b),

где х* – одна из точек минимума f (x) на отрезке (a; b).

Из численных методов одномерной безусловной оптимизации рассмотрим два:

1. метод дихотомии

2. метод золотого сечения

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

В этом методе точки x1 и х2располагаются близко к середине очередного отрезка (а; ), т.е:

 ,

где d > 0 – малое число. При этом отношение длин нового и исходного отрезков  близко к 1/2, этим и объясняется название метода.

Отметим, что для любых точек x1 и х2 величина t > 1/2, поэтому указанный выбор пробных точек объясняется стремлением обеспечить максимально возможное относительное уменьшение отрезка на каждой итерации поиска х*.

В конце вычислений по методу дихотомии в качестве приближенного значения х* берут середину последнего из найденных отрезков (а; ), убедившись предварительно, что достигнуто неравенство .

Опишем алгоритм метода деления отрезка пополам.

Шаг 1. Определить x1 и х2 по формулам (2.11). Вычислить f(x1) и f(x2).

Шаг 2. Сравнить f(x1) и f(x2). Если , то перейти к отрезку (а; x2), положив = x2 , иначе – к отрезку (x1; ), положив а = x1 .

Шаг 3. Найти достигнутую точность  Если , то перейти к следующей итерации, вернувшись к шагу 1. Если , то завершить поиск х*

2.2 Метод золотого сечения

Рассмотрим такое симметричное расположение точек x1 и х2 на отрезке (а; ), при котором одна из них становится пробной точкой и на новом отрезке, полученном после исключения части исходного отрезка. Использование таких точек позволяет на каждой итерации метода исключения отрезков, кроме первой, ограничиться определением только одного значения f(x),так как другое значение уже найдено на одной из предыдущих итераций.

Рассмотрим сначала отрезок (0; 1) и для определенности предположим, что при его уменьшении исключается правая часть этого отрезка. Пусть х2 = t, тогда симметрично расположенная точка х1 = 1–t (рис.2.2).

Рис. 2.2.-Определение пробных точек в методе золотого сечения


Пробная точка х1 отрезка (0; 1) перейдет в пробную точку х2¢ = 1–t нового отрезка (0; т). Чтобы точки х2 = t, и х2¢ = 1–t делили отрезки (0; 1) и (0; t) в одном и том же отношении, должно выполняться равенство  или , откуда находим положительное значение … Таким образом, х1 = 1–t = , .

Для произвольного отрезка (а; ) выражения для пробных точек примут вид

; .

1.Точки x1 и х2 обладают следующим свойством: каждая из них делит отрезок (а; ) на две неравные части так, что отношение длины всего отрезка к длине его большей части равно отношению длин большей и меньшей частей отрезка. Точки с таким свойством называются точками золотого сечения отрезка (а; ).

2. На каждой итерации исключения отрезков с пробными точками одна из них  переходит на следующий отрезок и значениеf(x) в этой точке вычислять не следует. Если новым отрезком становится (а; х2), то на него переходит пробная точка исходного отрезка, становясь его второй пробной точкой (х2= х1) (рис. 2.2). В случае перехода к отрезку (х1; ) пробная точка  исходного отрезка становится первой пробной точкой отрезка (х1; ).

3. Легко проверить, что х1=а+–х2 , и x2=а+–х1. Поэтому на каждой итерации метода золотого сечения недостающую пробную точку нового отрезка можно найти по перешедшей на него пробной точке с помощью сложения и вычитания.

4. В конце вычислений по методу золотого сечения в качестве приближенного значения х* можно взять середину последнего из полученных отрезков .

На каждой итерации отрезок поиска точки минимума уменьшается в одном и том же отношении , поэтому в результате п итераций его длина становится . Таким образом, точность en определения точки х* после п итераций находятиз равенства, а условием окончания поиска точки х* с точностью e служит неравенство en £ e.

2.3 Пример решения методами дихотомии и золотого сечения

Дана функция , где d=2, e=1

Необходимо найти минимум на отрезке (a,b), где , , т.е. на отрезке (7.23,8.21)

Составить программу, которая выдаст число итераций при точности ε=0,001

Решить двумя методами: дихотомии и золотого сечения


Решение методом дихотомии: