Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ и принятие решений / LabRab_МатМет_РИО_часть2.doc
Скачиваний:
392
Добавлен:
27.02.2016
Размер:
487.42 Кб
Скачать

5. Метод тяжелого шарика

Метод базируется на аналогии с движением "тяжелого" материального шарика по наклонной поверхности. Скорость шарика при движении вниз будет возрастать, и он будет стремиться занять нижнее положение, т.е. точку минимума. При выводе дифференциального уравнения движения шарика учитывается его масса и вязкость среды, которые влияют на характер его движения, т.е. поиска min R(x).

В дискретном варианте траектория поиска описывается следующим алгоритмом:

xi+1 = xi – α (xixi–1) – h grad R(xi)

При α =0 метод превращается в обыкновенный градиентный. При α = 1 поиск не затухает, следовательно, при 0 < α < 1 можно получать различную эффективность метода, которая будет зависеть и от h.

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

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

Одна из возможных траекторий поиска минимума двумерной функции методом тяжелого шарика приведена на рис. 1.

Алгоритм метода тяжёлого шарика для поиска минимума.

Начальный этап. Выполнение градиентного метода.

Задаём начальное приближение x10, х20. Определяем значение критерия R(x10, х20). Положить k = 0 и перейти к шагу 1 начального этапа.

Шаг 1. Вычислить R(x1k + g, x2k), R(x1k – g, x2k), R(x1k, x2k + g), R(x1k, x2k). В соответствии с алгоритмом с центральной или парной пробы вычислить значение частных производных и . Вычислить значение модуля градиента .

Шаг 2. Если модуль градиента , то расчёт остановить, а точкой оптимума считать точку (x1k, x2k). В противном случае перейти к шагу 3.

Шаг 3. Выполнить рабочий шаг, рассчитав по формуле

xk+1 = xkh grad R(xk)).

Шаг 4. Определить значение критерия R(x1k+1, х2k+1). Если R(x1k+1, х2k+1) < R(x1k, х2k), то положить k = k+1 и перейти к шагу 3. Если R(x1k+1, х2k+1) ≥ R(x1k, х2k), то перейти к основному этапу.

Основной этап.

Шаг 1. Вычислить R(x1k + g, x2k), R(x1k – g, x2k), R(x1k, x2k + g), R(x1k, x2k). В соответствии с алгоритмом с центральной или парной пробы вычислить значение частных производных и . Вычислить значение модуля градиента .

Шаг 2. Если модуль градиента , то расчёт остановить, а точкой оптимума считать точку (x1k, x2k). В противном случае перейти к шагу 3.

Шаг 3. Выполнить рабочий шаг, рассчитав по формуле

xk+1 = xk – α (xkxk–1) – h grad R(xk)

Шаг 4. Определить значение критерия R(x1k+1, х2k+1). Положить k = k+1 и перейти к шагу 1.

Пример.

Для сравнения методов рассмотрим решение предыдущего примера. Результаты вычислений при α =0,5 и h =0,1 приведены ниже в кратком изложении, так как никаких принципиально новых элементов здесь нет, кроме формулы для вычисления рабочего шага. Обратим внимание на то, что первый шаг делается обычным методом градиента (результаты полностью совпадают с результатами метода градиента), так как мы еще не имеем предыдущей точки (табл. 7).

Таблица 7

x1

x2

dR/dx1

dR/dx2

|grad R|

R

0

–0,500

–1,000

–2,2499

–8,0000

8,3100

7,3750

1

–0,275

–0,200

–2,7730

–4,8000

5,5430

1,6842

2

–0,110

–0,120

–2,9635

–4,4800

5,3710

0,8381

3

0,104

0,288

–2,9676

–2,8480

–6,1130

–1,2962

4

0,294

–0,369

–2,7414

–2,5248

0,7269

–2,0585

5

0,473

–0,581

–2,3293

–1,6765

0,8699

–2,9613

6

0,616

–0,642

–1,8612

–1,4300

0,3472

–3,3588

7

0,731

0,755

–1,3988

–0,9812

0,7086

–3,6814

8

0,813

0,797

–1,0160

–0,8131

0,3014

–3,8192

9

0,873

0,857

–0,7110

–0,5719

0,9125

–3,9131

10

0,914

0,884

–0,4913

–0,4638

0,6756

–3,9518

11

0,943

0,917

–0,3316

–0,3323

0,4695

–3,9767

12

0,962

0,934

–0,2240

–0,2651

0,3471

–3,9869

13

0,975

0,952

-0,1486

-0,1927

0,2433

-3,9935

14

0,983

0,962

-0,0994

-0,1518

0,1815

-3,9963

15

0,989

0,972

-0,0653

-0,1115

0,1293

-3,9981 "

Метод не оказался более эффективным по сравнению с другими. Это обусловлено проблемами с подбором параметров поиска α и h.

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

Соседние файлы в папке Системный анализ и принятие решений