Смекни!
smekni.com

Линейное программирование 2 3 (стр. 1 из 6)

Задача 1 (16.88)

Минимизировать функцию f(x) на всей числовой оси методом Ньютона. Критерием достижения требуемой точности считать выполнение неравенства

.

Решение:

Найдем первую и вторую производные исходной функции:

Выберем начальное приближение

. И осуществим вычисления по формуле

Результаты запишем в таблице

n

0

0

2

1

1

-0,2

1,91

-0,1649

2

-0,175697

1,908525

-0,0032

3

-0,17520305

1,908524

-0,0000013

n=1

n=2

n=3

n=4

Далее мы заканчиваем вычисления, потому что данная точность

достигнута. В результате мы получаем:
и
.

Осуществим проверку при помощи встроенной функции Minimize:

,

Ответ:

и

Задача 2 (16.115)

Выписать матрицу Q квадратичной функции f(x), найти ее градиент

в точке
и убедиться в выпуклости f(x) в
.

,

Решение:

Запишем исходную функцию в следующем виде:

,

где

Тогда матрица Q примет вид:


Найдем градиент

в точке
по формуле
, где r – вектор-столбец и равен
:

Подставляя в полученную матрицу

, мы получаем следующее значение градиента в данной точке:

Теперь убедимся в выпуклости f(x) в

. Для того, чтобы исходная функция была выпуклой в
, достаточно, чтобы матрица Q была положительно определена. Для этого найдем угловые миноры
матрицы Q и если они будут больше нуля, то функция f(x) будет выпуклой в
.

,

Так как

,
,то функция f(x) выпукла в
.

Проверка в Mathcad:

Проверка на выпуклость и нахождение градиента в точке x0


Ответ: градиент равен

и функция f(x) будет выпуклой в
.

Задача 3 (16.136)

Минимизировать квадратичную функцию методом наискорейшего спуска, заканчивая вычисления при

,
.

Решение:


Тогда производные исходной функции будут иметь вид:

Выберем начальное приближение

. Тогда

Для нахождения точки минимума функции

найдем нули ее производной:

Зная

, мы определим
следующим образом:

И так далее по выше описанной цепочке.

Реализуем решение данной задачи в математическом пакете Mathcad.

Функция имеет вид:


Тогда коэффициенты будут равны

Возьмем следующие начальное приближение

и
:

Далее пишем программу