Методические указания к заданию 1

Рассмотрим пример графического и аналитического решения задачи НПР.

Пусть дана целевая функция (ЦФ):

Z = (х1-7)2 + (х2-4)2, (4.1)

а также ограничения:

х12 ≤ 10,

12 ≥ 12,

х12 ≥ 2,

х12 ≤ 4

х1≥ 0, х2≥ 0

Требуется максимизировать ЦФ.

Чтобы найти решение графически, вначале следует изобразить многоугольник (полигон) допустимых решений. Построение области допустимых решений (ОДР) осуществляется так же, как в задачах линейного программирования [1].

Для построения ОДР вначале следует записать уравнение х1 + х2 = 10. Оно получается из первого неравенства заменой знака «≤» на знак «=». Для построения прямой линии х1 + х2 = 10 достаточно иметь две точки. Первую точку удобно взять при х1 = 0, а вторую точку при х2 = 0. Используя остальные ограничения, аналогично строят другие прямые линии.

Нетрудно заметить, что прямые х1 = 0 и х2 = 0 (пятое и шестое ограничения) являются осями координат х1 и х2.

Затем следует отметить стрелками полуплоскости, которые удовлетворяют заданным неравенствам. Направление стрелок определяют знаки неравенств [1]. Область, удовлетворяющая всем четырем неравенствам, будет областью допустимых решений (трапеция ABCD). На рис. 4. 1 ОДР выделена серым цветом.

.

Рисунок 4.1- Полигон допустимых решений


Теперь необходимо построить график ЦФ. Для этого с помощью уравнения (4.1) следует отметить центр окружности. В данном примере х1 = 7 и х2 = 4. Затем с помощью циркуля нужно построить несколько окружностей, увеличивая радиус до тех пор, пока окружность не коснется какой либо точки ОДР. В этой точке будет минимум ЦФ. За тем с помощью циркуля следует найти наиболее удаленную от центра окружности точку ОДР. В этой точке будет максимум ЦФ.

Из рисунка 4.1 видно, что минимум ЦФ находится в точке F, а максимум – в точке D. Определим приблизительно координаты точки F: х1 = 6,5, х2 = 3,5. Значение целевой функции в этой точке Z = 0,5. Приблизительные значения координат точки D: х1 = 5,3, х2 = 1,4. Приблизительное значение ЦФ в этой точке Z = 9,65.

На основании приближенного графического решения задачи НПР найдём аналитически точный ответ. Для этого, из уравнения целевой функции Z = (х1-7)2+(х2-4)2 найдем производные по х1 и х2

Производная по х1:

Z| = 2(х1-7) + 2(х2-4)2* х2| =0 (1)

Z| =0

Выразим из уравнения (1) производную х2|

х2| = -(х1-7/ х2-4)

Определим тангенс угла наклона (производную) для прямой х1+ х2 = 10

х2| = -1

-(х1-7/ х2-4) = - 1

х1-7 = х2-4

Решим систему уравнений

1+ х2 = 3

х1+ х2 = 10

2 х1= 13,

х1= 6,5

х2 = 3,5

Полученные значения х1 и х2 подставляем в ЦФ

Z = (х1-7)2+(х2-4)2

Таким образом, максимальное значение ЦФ Z=0,5.

4.2 Методические указания к лабораторной работе № 2

Пример решения задачи НПР с помощью системы Mathcad

Пусть дана целевая функция (ЦФ)

Z = х12 - 20х1 - 20х2 + x22,

а также ограничения:

х1 + х2 = 11

х1 ≥ 0, х2 ≥ 0

Требуется минимизировать ЦФ.

Чтобы найти решение методом множителей Лагранжа, вначале следует сформировать функцию Лагранжа:

F(х1, х2, λ) = х12 - 20х1-20х2 + x22+λ (11- х1 - х2 )

Затем найдем производные по х1, х2, λ:

dF/ dх1=2х1-20

dF/ dх2=2х2-20

dF/ dλ =11- х1 - х2

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

1-20 = 2х2-20

1-2х2= 0

Решим систему уравнений

х12= 0

х1 + х2 = 11

х1= 5.5

х2= 5.5

В ответ записываем значения х1 = 5.5, х2 = 5.5

4.3 Методические указания к лабораторной работе № 3

Задачи математического программирования можно решать с помощью системы Mathcad. Ниже приведен текст программы с комментариями (полужирный шрифт).

Зададим ЦФ:

Z(x1, x2):= (х1-7)2+ (х2-4)2

Зададим произвольные начальные значения переменным:

x1:= 0

x2:= 0

Начало блока вычислений

Given

Опишем ограничения:

х12 ≤ 10

12 ≥ 12

х12 ≥ 2

х12 ≤ 4

х1≥ 0

х2≥ 0

Выполним операцию минимизации:

P: = Minimize (Z, x1, x2)

Выведем на экран значения найденных переменных:

Вычислим целевую функцию:

Z (P0, P1) = 0.5

Итак, оптимальные значения переменных:

х1 = 6,5, х2 = 3,5. Значение ЦФ Z = 0,5

4.4 Методические указания к заданию 4

Задачи математического программирования можно решать с помощью системы Mathcad. Ниже приведен пример программы с комментариями (полужирный шрифт).

Зададим ЦФ:

Z(x1,x2, x3):= 3x1 + 4 х22 + 2x3

Зададим произвольные начальные значения переменным:

x1:= 0

x2:= 0

x3:= 0

Начало блока вычислений

Given

Опишем ограничения:

x1 ≥ 0

x2 ≥ 0

x3 ≥ 0

15 х12 + 16 х22-17 x3 ≤ 120

18 х12 - 19 х22+20 x3 ≤ 130

-21 х12 + 22 х22+23 x3 ≤ 140

Выполним операцию максимизации:

P: = Maximize(Z,x1,x2,x3)

Выведем на экран значения найденных переменных:

Вычислим целевую функцию:

Z(P0, P1,P2) = 14.25

Итак, оптимальные значения переменных: х1 = 0.835, х2 = 0, x3 = 5,873. Максимальное значение ЦФ Z = 14.25

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

Присвоим значение ЦФ переменной R:

R:= Z(P0, P1,P2)

Создадим циклы для изменения переменных х1 и х2:

x1:=0..P0 + 5

x2:=0..P1 + 5

Выразим переменную х3 из трех ограничений и целевой функции:

Графическая иллюстрация полученного решения

Рисунок 4.2 - Трехмерный график

4.5 Методические указания к заданию 5

Пример решения двухмерной задачи градиентным методом

Требуется методом градиента найти минимум функции

при ограничениях

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

=

=

Находим частные производные функции по переменным , , т.е.

, . Составим градиент заданной функции в заданной точке

Поскольку = 0, то не является точкой экстремума.

Вычислим координаты новой точки. Для определения координат точки

необходимо определить значение параметра

= = = 0

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

= = =

Точка принадлежит допустимой области

=

=

В точке антиградиент .

Значит никакими перемещениями из точки функцию уменьшить нельзя и - искомая точка минимума.

Ответ: , ,

Заключение

В данной работе разработано пять лабораторных работ по нелинейному программированию (НПР):

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

2) Решение двухмерных задач НПР с помощью системы Mathcad.

3) Решение двухмерных задач НПР методом множителей Лагранжа.

4) Решение трехмерных задач НПР с помощью системы Mathcad.

5) Решение задач НПР градиентным методом.

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

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

Расчёт сравнительной экономической эффективности разработки лабораторных работ показывает высокие экономические показатели.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: