Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

Метод градиента   Найти похожие ветки 

 
Kair   (2004-01-09 12:05) [0]

Метод градиента

Чета не знаю как программу сделать по описанному ниже алгоритму.
Помогите... Если возможно, то дайте программу по данному методу...
Вот теория:

(dF/dXj)^2 < eps (1)
F(X(k+1))<F(X(k)) (2)

МЕТОД ГРАДИЕНТА

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

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

Алгоритм градиентного метода может быть записан следующим образом

Xj(k+1) = Xj(k) - h(0)*[dF(X(k))/dXj] (3)

В этом случае величина шага vXj(k) при постоянном значении пара-
метра h(0) изменяется автоматически в соответствии с изменением аб-
солютной величины градиента. Длина шага определяется выражением:

vXj(k) = - h(0)*[dF(X(k))/dXj] (4)

Алгоритм (3) обладает тем достоинством, что при приближении к опти-
муму длина шага vXj(k) автоматически уменьшается.

Момент окончания поиска определяется по выполнению некоторых
предварительно заданных условий. Один из вариантов окончания поиска
заключается в проверке на каждом шаге соотношения (1).

Алгоритм поиска оптимума целевой функции методом градиента при
выполнении лабораторной работы следующий:

1.Задаются координаты начальной точки: X1, X2.
2.Определяются частные производные в начальной точке:
dX10 = F"X1(X10, X20), dX20 = F"X2(X10, X20)
3.Определяется направление градиента и находятся координаты сле-
дующей точки X11, X21 по (3-4). Величину шага можно принять
равной h(0) = 1.
4.Определяются частные производные в следующей точке:
dX11 = F"X1(X11,X21), dX22 = F"X2(X11,X21)
5.Проверяется условие окончания поиска по (1). Точность поиска
принять равной 0.05. Если это условие выполняется для каждой
частной производной в найденной точке, то поиск прекращается,
если нет, то вычисления продолжаются с пункта 3.

Че за координаты начальной точки X1, X2? В других методах задавался интервал на прямой [A,B]. А тут - координаты.
Не понимаю как решать эту часть: dX10 = F"X1(X10, X20), dX20 = F"X2(X10, X20)
И че за X10, X20, откуда они взялись-то?


 
Nikolay M.   (2004-01-09 12:23) [1]


> че за X10, X20, откуда они взялись-то

Думаю, в п.1. вкралась неточность: не X1, X2, а X10, X20 - начальные условия.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
4-93744
Sergei
2003-11-22 11:29
2004.01.29
StdIn и StdOut


4-93735
Иван
2003-11-20 14:40
2004.01.29
Восстановление иконки в трее.


3-93390
pashtet
2003-12-30 14:13
2004.01.29
TtreeView


14-93699
Amigo Sv
2004-01-08 09:29
2004.01.29
Поиск записи в таблице


14-93665
mike_kanaev
2004-01-07 22:06
2004.01.29
d8





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский