Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программа нахождения минимума методом «золотого сечения» имеет вид.






 

DEF FNgs (x) = x ^ 2 + EXP(x)

a = -1

b = 0

E =.001

alfa =.38197

beta =.61803

x1 = a + alfa * (b - a)

x2 = a + beta * (b - a)

f1 = FNgs(x1)

f2 = FNgs(x2)

m2: IF f1 < f2 THEN

b = x2

x2 = x1

x1 = a + alfa * (b - a)

f2 = f1

f1 = FNgs(x1)

GOTO m1

END IF

a = x1

x1 = x2

x2 = a + beta * (b - a)

f1 = f2

f2 = FNgs(x2)

m1: IF ABS(b - a) > E GOTO m2

x0 = (a + b) / 2

WRITE " xmin=", x0

END

 

Ответ программы: xmin = -0.3517317.

Округляя с двумя дополнительными знаками, имеем xmin = -0.35173.

Находим минимум, используя пакет MathCAD.

 

 

Для нахождения минимума используется встроенная функция Minimize

 

Многомерная оптимизация.

 

Общая задача нелинейного программирования без ограничений состоит в нахождении минимума функции, зависящей от n переменных f(x) = f(x1, x2,..., xn). Функция f(x) называется целевой функцией, где(x – вектор {x1, x2,..., xn).

Как правило, численные методы отыскания экстремума состоят в построении последовательности векторов { x (k)}, удовлетворяющих условию f(x (0)) > f(x (1)) >... > f(x (n)). Методы построения таких последовательностей называются методами спуска. В этих методах элементы последовательности { x (k)} вычисляются по формулам

x (k + 1) = x (k) – α g (k), (k = 0, 1, 2,...,) (1)

Здесь g (k) – направление спуска, α – длина шага в этом направлении. Как известно, градиент функции в точке направлен в сторону наискорейшего возрастания функции в этой точке. Следовательно, спускаться надо в направлении, противоположном градиенту. Вектор. противоположный градиенту, называется антиградиентом. Выбирая антиградиент в качестве направления спуска, приходим к итерационному процессу вида (1), где

g (k) =

Мы будем рассматривать метод градиентного спуска с дроблением шага.

Алгоритм метода градиентного спуска с дроблением шага следующий

y

 

 


x

 

 

Шаг 1. Задать параметр точности Е, начальный шаг α > 0, выбирать начальное значение (начальную точку) х. Общих правил для нахождения х нет. Если есть какие-либо сведения об области существования минимума рассматриваемой функции, то выбираем х из этой области. Вычислить f (х )) и перейти к шагу 2.

Шаг 2. Вычислить и проверить условие достижения точности | < E. Если это условие выполняется, то вычисления закончить, полагая xmin = x, вычислить f(x). иначе перейти к шагу 3.

Шаг 3. Найти и f(x1). Если f(x 1) < f(x), то положить x = x1, f(x) = f(x1) и перейти к шагу 2, иначе к шагу 4.

Шаг 4. Положить α = α / 2 и перейти к шагу 3.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.