Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
10.04.2015
Размер:
482.43 Кб
Скачать

Лабораторная работа №7 Построение моделей нелинейного программирования

7.1 Цель работы

Решение оптимизационных задач с использованием моделей нелиней-

ного программирования.

7.2 Задание на лабораторную работу

Построить модель нелинейного программирования, используя метод неопределенных множителей Лагранжа и найти решение задачи нелинейной оптимизации.

7.3 Порядок выполнения работы

Задачи нелинейной оптимизации с точки зрения методов решения делят-

ся на два класса:

задачи безусловной оптимизации;

задачи условной оптимизации.

Задача безусловной оптимизации представляет собой поиск оптимума целевой функции без всяких дополнительных условий, что записывается:

f ( x )

m ax(m in)

Такие задачи на практике встречаются крайне редко, но метод их решения служит основой для решения практических задач оптимизации.

Задача условной оптимизации в общем случае записывается в виде:

F

 

f ( x j )

 

max

g i ( x j )

bi

 

 

 

d j

 

x j

D j

 

 

 

 

 

 

 

 

 

 

 

i

1, m ;

j

1, n

Такая задача оптимизации кроме целевой функции включает дополни-

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

Наибольшее или наименьшее значение функции без учета того, где на-

ходится такое значение, – внутри заданного интервала или на его границе – называют оптимумом. Оптимум – более широкое понятие, чем экстремум.

Согласно определению признака экстремума, функция f ( x ) имеет мак-

симум (минимум) в точке x * , если в достаточной близости от этой точки всем значениям x соответствуют значения f ( x ) меньшие (большие), чем f ( x * ) .

Для случая максимума это показано на рис. 6.1.

Рис.6.1

Рис.6.2

Максимум и минимум функции объединяются понятием экстремум, ко-

торый может быть как локальным, так и глобальным. На рис. 6.2 функция f ( x ) принимает максимальные значения в вершинах В и D. При этом В > D.

В таком случае говорят, что точка В является глобальным максимумом, а

точка D – локальным. Аналогично функция f ( x ) принимает минимальные значения в точках А, С, Е, причем С < А < Е. В этом случае С будет глобаль-

ным минимумом, а А и Е – локальными минимумами. Из приведенных при-

меров видно, что глобальным максимумом (минимумом) называют такой максимум (минимум), который больше (меньше) всех остальных.

Достаточно часто при введении граничных условий типа x b , показан-

ных на рис. 6.3, наибольшее значение функции находится на границе в точ-

ке x b . При этом величина f ( x ) не удовлетворит приведенному выше при-

знаку экстремума.

Рис. 6.3

В таких случаях говорят, что в точке x b находится оптимум функ-

ции f (b ) B .

Если экстремум есть не у всех функций, то в практических задачах оп-

тимум, как правило, есть всегда. Так же как и экстремумы, оптимумы могут

быть локальными и глобальными.

Существующие методы дают возможность находить только локальные оп-

тимумы. Если же есть подозрение, что в заданном интервале a j x j b j целе-

вая функция f ( x j ) может иметь несколько оптимумов, то этот интервал сле-

дует разбить на n интервалов, в каждом интервале определить свои локаль-

ные оптимумы, а затем из всех локальных оптимумов выбрать глобальный. В

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

В дальнейшем мы будем рассматривать нахождение только локального оп-

тимума. Следует отметить, что в подавляющем большинстве практических экономических и технических задач оптимизации существует только один оптимум.

Решение задачи безусловной оптимизации

Задачи нелинейной оптимизации могут решаться различными методами.

Методы, реализованные в Excel, относятся к методам поиска. Метод поиска экстремума функции произвольного числа переменных производится сле-

дующим образом.

 

 

 

Прежде всего надо задаться координатами начальной точки поиска x j

0 ,

 

 

 

0 была как можно

j 1, n . Желательно, чтобы выбранная начальная точка x j

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

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

 

 

 

f ( x

0 ) 0 .

 

 

 

 

j

Это необходимо, чтобы не было деления на ноль при вычислении Fk .

 

 

 

 

Итак, x j

0 , j 1, n выбрана. Блок-схема алгоритма поиска приведена на рис.

6.4.

 

 

 

 

Рис. 6.4

Графическое изображение такого движения для случая поиска мак-

симума при j = 1,2 показано на рис. 6.5.

 

 

 

 

Рис.6.5

Идея поиска экстремума заключается в следующем:

 

 

 

 

 

1.

Задать начальную точку x

0 , j 1, n .

 

 

 

j

2.

В заданной точке x j

0 определить направление движения на первом шаге 1

3.Принять величину шага ti .

4.Определить координаты конца первого шага x j 0 .

5.Вычислить значения признака экстремума на первом шаге.

6.Проверить выполнение признака экстремума.

Если условие признака выполняется, то принимается, что экстремум находится в точке x j 0 , если нет – аналогично выполняется второй шаг и так далее до выполнения условия, характеризующего достижение экстремума.

Важный вопрос поиска – признак достижения экстремума, т. е. верши-

ны. В Excel таким признаком является величина относительного приращения функции на каждой итерации:

Fk

Fk 1 Fk

.

 

 

Fk

Экстремум считается достигнутым, если выполняется условие

Fk Fзад ,

где Fзад – точность, назначаемая при решении задачи.

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

ключительно важным, т. к. именно он определяет точность полученных ре-

зультатов и быстроту сходимости, т.е. число итераций, за которое будет дос-

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

личных типов. Рассмотрим некоторые из них, реализованные в Excel.

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

Градиентные методы или методы первого порядка – это такие методы,

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

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

Чем выше порядок методов, тем больше вычислений на каждой итера-

ции, но тем меньше требуется итераций. И, естественно, наоборот. Наиболее распространенными являются градиентные методы. Такое положение объяс-

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

т.е. они обеспечивают нахождение экстремума за небольшое число итераций.

Градиентные методы по способу определения направления и шага t име-

ют много разновидностей.

Таковы основные идеи поиска решения в задачах безусловной оптимизации.

Пример. Определить градиентным методом max функции:

f ( x1 , x 2 ) 4 x1 2 x 2 x12 x 22 5

Решить задачу методом градиентного спуска.

Решение. За начальную точку выберем x 0 (4,5) ; f(x)=-20.

C помощью соответствующих настроек меню ПАРАМЕТРЫ, процедуры ПОИСК РЕШЕНИЯ получим следующий результат.

Таким образом, точка (2,1) является стационарной и значение функции f(2,1)=0.

Правильность полученного результата предлагаем проверить Вам с помощью алгоритма метода градиентного спуска [ ].

Пример. Определить методом Ньютона минимум функции:

f ( x ) 2 x12 3 x 22 x1 x 2 3 x1

Решение. За начальную точку выберем x 0 (0,0).

Таким образом, точка (0,78;-0,13) является стационарной и значение мини-

мума функции f(x)= -1.17391.

Правильность полученного результата предлагаем проверить Вам с помощью алгоритма метода Ньютона [ ].

Решение задачи условной оптимизации

Общий случай задачи оптимизации

F

 

f ( x j )

 

max

g i ( x j )

bi

 

 

 

d j

 

x j

D j

 

 

 

 

 

 

 

 

 

 

 

i

1, m ;

j

1, n

является задачей условной оптимизации. Есть целый ряд методов решения таких задач. Рассмотрим реализованный в Excel метод множителей Лагран-

жа, идея которого заключается в преобразовании задачи условной оптимиза-

ции в задачу безусловной оптимизации, что производится следующим обра-

зом.

1. Преобразовать ограничения-неравенства в уравнения

bi g i ( xi )

0

 

 

 

 

 

 

 

 

 

i

1, m ;

j

1, n .

2. Составить функцию Лагранжа

 

 

 

 

 

 

 

 

 

 

m

 

 

 

L ( x j , j ) f ( x j

)

 

j

(bi g i ( x i )) max

 

 

 

i

1

 

 

 

j – множитель Лагранжа.

Физический смысл множителей Лагранжа поясним чуть позже при рас-

смотрении примера.

3. Определить частные производные и составить систему уравнений

L ( x j ,

i ) /

x j

0

L ( x j ,

i ) /

x j

0

i 1, m ; j 1, n

4. Решая систему, определить значения j .

5. Подставить значения j в функцию Лагранжа. Получим задачу безуслов-

ной оптимизации.

6. Полученную задачу безусловной оптимизации решить методами, рассмот-

ренными выше.

Проиллюстрируем метод множителей Лагранжа следующим примером:

F ( x1 , x2 )

 

x1

x2

min

(1)

x 2

 

 

2

 

 

 

 

x

1

 

 

 

1

 

 

2

 

 

 

 

 

1. Запишем систему (1) в следующем виде:

 

 

 

F ( x1 j )

x1

x 2

min

(2)

 

 

2

 

 

2

 

 

1

x1

 

x 2

0

 

 

Графическое решение задачи (2) представлено на рис. 6.6..

Рис.6.6

2. Составим функцию Лагранжа

L( x , )

x

 

x

 

 

(1 x 2

x 2 )

m in

(3)

j i

 

1

 

2

1

1

2

 

 

 

 

 

j 1, 2; i

1

 

 

 

 

 

 

 

В (3) видно, что множитель Лагранжа определяет, как изменится целевая функция при изменении правой части в данном ограничении на единицу.

Следовательно, множитель Лагранжа в нелинейной задаче - это аналог двой-

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

L /

x1

1

2

1 x1

0

 

L /

x 2

1

2

1 x 2

0

(4)

L /

1

 

( x1 2

x 2 2

1)

0

4. В результате решения системы (4) найдем

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