Минимизация функций нескольких переменных. Метод спуска

Автор: Пользователь скрыл имя, 01 Декабря 2010 в 00:31, реферат

Краткое описание

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

Оглавление

1. Методы спуска (Общая схема) _________________________ 3
2. Метод покоординатного спуска._____________________ 4
3. Метод градиентного спуска.________________________________ 7
4. Метод наискорейшего спуска.______________________________ 9
5. Описание программы._____________________________________10
6. Общая блок схема.________________________________________ 11
7. Руководство для пользования.______________________________12
8. Приложение А (Листинг программы)__________________________13
IX. Приложение B
(Исследование функции U=A*x1^3+B*x2^2-C*x1-D*x2 (изменение шага))_____ 25

Файлы: 1 файл

Методы спуска.doc

— 248.00 Кб (Скачать)

Министерство  путей сообщения  РФ

Дальневосточный государственный  университет

путей сообщения 
 
 
 

Кафедра «Прикладная математика»

    Курсовая  работа

по  численным методам 

«Минимизация  функций нескольких переменных.

Метод спуска.» 
 
 
 

Выполнили: Косолапов А.Г.  Терехов А.А.

                          Проверил: Смагин  С.И. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Хабаровск 2003 
 
 
 
 
 

Содержание: 

    1. Методы  спуска (Общая схема) _________________________ 3
    2. Метод покоординатного спуска._____________________ 4
    1. Метод градиентного спуска.________________________________ 7
    1. Метод наискорейшего спуска.______________________________  9
    2. Описание программы._____________________________________10
    1. Общая блок схема.________________________________________ 11
    1. Руководство для пользования.______________________________12
    1. Приложение  А  (Листинг программы)__________________________13

     IX.      Приложение B

    (Исследование  функции U=A*x1^3+B*x2^2-C*x1-D*x2 (изменение шага))_____ 25 
 

  

                                            

                                            

                                              
Методы спуска

                                                 Общая схема

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

    Решается  задача минимизации функции j(x) на всём пространстве En. Методы спуска состоят в следующей процедуре построения последовательности {xk}. В качестве начального приближения выбирается любая точка x0ÎEn. Последовательные приближения x1, x2, … строятся по следующей схеме:

  1. в точке xk выбирают направление спуска - Sk;
  2. находят (k+1)-е приближение по формуле xk+1=xk-hkSk.

    Направление Sk выбирают таким образом, чтобы обеспечить неравенство f(xk+1)<f(xk) по крайней мере для малых значений величины hk. На вопрос, какому из способов выбора направления спуска следует отдать предпочтение при решении конкретной задачи, однозначного ответа нет.

    Число hk определяет расстояние от точки xk до точки хk+1. Это число называется длиной шага или просто шагом. Основная задача при выборе величины hk - это обеспечить выполнение неравенства j(xk+1)<j(xk).

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

            xk+1=xk-hk cos  

       где - cos =

    В этом случаи величина рабочего шага не зависит от величины модуля градиента, и ею легче управлять изменением h . В районе оптимума может возникать значительное «рыскание», поэтому используют различные алгоритмы коррекции h.

    Наибольшее  распространение получили следующие  алгоритмы:

    1. (без коррекции);

    2. если ; если

    3. , если ; , если ; ,если ,

    где –угол между градиентами на предыдущем и текущем шаге;

      и – заданные пороговые значения выбираются субъективно

    (например, ).

    Вдали от оптимума направление градиента  меняется мало, поэтому шаг можно  увеличить (второе выражение), вблизи от оптимума направление резко меняется (угол между градиентами R(x) большой), поэтому h сокращается (третье выражение).  

                        Метод покоординатного спуска. 

Пусть нужно  найти наименьшее значение целевой  функции

 u=f(M)=f(x1, x2, . . . ,xn). Здесь через М обозначена точка n-мерного пространства с координатами x1, x2, . . . ,xn: M=(x1, x2, . . . ,xn). Выберем какую-нибудь начальную точку М0=(x10, x20, . . . ,xn0) и рассмотрим функцию f при фиксированных значениях всех переменных, кроме первой: f(x1, x20,x30, . . . ,xn0 ). Тогда она превратится в функцию одной переменной  x1 . Изменяя эту переменную, будем двигаться от начальной точки x1=x10  в сторону убывания функции, пока не дойдем до ее минимума при x1=x11, после которого она начинает возрастать. Точку с координатами ( x11, x20,x30, . . . ,xn0) обозначим через М1, при

 этом f(M0) >= f(M1).

Фиксируем теперь переменные: x1=x11, x3= x30, . . . ,xn=xn0 и рассмотрим функцию f как функцию одной переменной  x2: f(x11, x22, x30 . . . ,xn0). Изменяя  x2 , будем опять двигаться от начального значения x2=x20   в сторону убывания функции, пока не дойдем до минимума при x2=x21 .Точку с координатами

{x11, x21, x30 . . . xn0} обозначим через М2, при этом  f(M1) >=f(M2).

Проведем такую  же минимизацию целевой функции  по переменным  

 x3, x4,  . . . ,xn. Дойдя до переменной xn, снова вернемся к x1 и продолжим процесс. Эта процедура вполне оправдывает название метода. С ее помощью мы построим последовательность точек М0,М1,М2, . . . , которой соответствует монотонная последовательность значений функции

f(M0) >= f (M1)>= f(M2) >= Обрывая ее на некотором шаге k можно приближенно принять  значение функции f(Mk) за ее наименьшее значение в рассматриваемой области. 

    

    Проведем  такую же минимизацию целевой  функции по переменным   x3, x4,  . . . ,xn. Дойдя до переменной xn, снова вернемся к x1 и продолжим процесс. Эта процедура вполне оправдывает название метода. С ее помощью мы построим последовательность точек М0,М1,М2, . . . , которой соответствует монотонная последовательность значений функции

    f(M0)>= f(M1)>= f(M2) >= ... Обрывая      ее на некотором шаге k можно приближенно принять  значение функции f(Mk) за ее наименьшее значение в рассматриваемой области. Отметим , что данный метод сводит задачу поиска наименьшего значения функции нескольких переменных к многократному решению одномерных задач оптимизации. Если целевая функция   f(x1, x2, ... ,xn задана явной формулой и является дифференцируемой, то мы можем вычислить ее частные производные и использовать их для определения направления убывания функции по каждой переменной и поиска соответствующих одномерных минимумов. В противном случае, когда явной формулы для целевой функции нет, одномерные задачи следует решать с помощью одномерных методов

    На  рис.изображены линии уровня некоторой  функции двух переменных             u= f (х, у). Вдоль этих линий функция сохраняет постоянные значения, равные 1, 3, 5, 7, 9. Показана траектория поиска ее наименьшего значения, которое достигается в точке О, с помощью метода покоординатного спуска. При этом нужно ясно понимать, что рисунок служит только для иллюстрации метода.

Пусть требуется  решить задачу (2):

f(x)

min,  х ÎRn.                                      (2)

    В двумерном пространстве R2. Решение задачи (2) методом покоординатного спуска, иначе называемого методом Гаусса - Зейделя, производят по следующей общей схеме.  
Выбирают произвольно начальную точку х(0)   из   области определения функции f(х). Приближения х(k) определяются соотношениями

Информация о работе Минимизация функций нескольких переменных. Метод спуска