- •Федеральное агентство связи
- •Задачи линейного программирования
- •Пример построения математической модели задачи
- •Практическое занятие №2
- •Задачи линейного программирования
- •Пример выполнения задания 1
- •Пример выполнения задания 2
- •Практическое занятие №3
- •Пример выполнения задания
- •Практическое занятие №4
- •Практическое занятие № 5
- •Пример выполнения задания
- •Решение задачи линейного программирования в симплекс-таблицах
- •Практическое занятие № 6
- •Практическое занятие № 7
- •Практическое занятие № 8
- •Практическое занятие № 9
- •Практическое занятие № 10
- •Практическое занятие № 11
- •Практическое занятие № 12
- •Пример моделирования системы массового обслуживания с помощью Mathcad
Практическое занятие № 7
Наименование работы: Решение задач нелинейного программирования графическим методом
Цель работы: Научиться решать задачи нелинейного программирования
Подготовка к занятию: Повторить теоретический материал по теме «Нелинейное программирование»
Литература:
Лобачева М.Е. Конспект лекций «Математические методы», 2013г.
Агальцов В.П. Математические методы в программировании, 2010г.
Перечень необходимых приборов, инструментов, материалов:ПЭВМ
Задание на занятие:
Графически и аналитически решить задачу нелинейного программирования. Полученные результаты проверить с помощью математической системы Mathcad. Исходные данные необходимо выбрать из таблицы в соответствии со своим вариантом.
Вариант |
Целевая функция |
Ограничения |
1 |
Z = (x1 – 8)²+(х2 – 4)² |
х1 + х2 ≥ 4 2х1 + х2 ≤ 16 -х1 + х2 ≤ 2 0,25х1 + х2 ≥ 4 х1≥0, х2≥0 |
2 |
Z = (x1 – 16)²+(х2 – 8)² |
х1 + х2 ≤ 16 х1 - х2 ≥ 4 4х1 + х2 ≥ 32 х1≥0, х2≥0 |
3 |
Z = (x1 – 4)²+(х2 – 6)² |
х1 + х2 ≤ 16 х1 - х2 ≤ 4 4х1 + х2 ≥ 32 х1≥0, х2≥0 |
4 |
Z = (x1 – 10)²+(х2 – 12)² |
х1 + х2 ≤ 16 х1 - х2 ≤ 4 4х1 + х2 ≥ 32 х1≥0, х2≥0 |
5 |
Z = (x1 – 6)²+(х2 – 4)² |
х1 + х2 ≤ 8 х1 + х2 ≥ 2 - х1 + х2 ≤ 2 х1 - х2 ≤ 4 х1≥0, х2≥0 |
6 |
Z = (x1 – 1)²+(х2 – 4)² |
х1 + х2 ≤ 8 х1 + х2 ≥ 2 - х1 + х2 ≤ 2 х1 - х2 ≤ 4 х1≥0, х2≥0 |
7 |
Z = (x1 – 4)²+(х2 – 2)² |
х2≤4 2х1+х2 ≤ 8 х1+х2 ≥4 х1≥0, х2≥0 |
8 |
Z = (x1 – 10)²+(х2 – 2)² |
х1 - х2 ≥ 6 х1 + х2 ≤ 10 х1 + 2х2 ≥ 8 х1≥0, х2≥0 |
9 |
Z = (x1 – 4)²+(х2 – 2)² |
2х1+х2 ≥ 16 х1+2х2 ≤ 16 х1≥0, х2≥0 |
10 |
Z = (x1 – 4)²+(х2 – 6)² |
х1-х2 ≤ 2 х1+х2 ≤ 6 х1+2х2 ≥ 4 х1≥0, х2≥0 |
Порядок проведения занятия:
Получить допуск к работе.
Выполнить задание в соответствии со своим вариантом.
Ответить на контрольные вопросы.
Содержание отчета:
Наименование, цель работы, задание;
Выполненное задание;
Выводы по результатам выполненного задания;
Ответы на контрольные вопросы.
Контрольные вопросы для зачета:
Сформулируйте задачу нелинейного программирования в общем виде.
Чем отличаются задачи нелинейного программирования от задач линейного программирования?
Перечислите основные этапы решения задачи нелинейного программирования графическим способом.
Где может быть расположена точка экстремума в задачах нелинейного программирования?
ПРИЛОЖЕНИЕ
Требуется решить задачу нелинейного программирования тремя способами: графически, аналитически, с помощью математической системы Mathcad. При решении нужно найти максимум и минимум целевой функции.
Рассмотрим пример графического и аналитического решения задачи нелинейного программирования. Найдем минимум целевой функции: Z = (х1-7)2 + (х2-4)2 с ограничениями:
х1+х2 ≤ 10,
2х1+х2 ≥ 12,
х1-х2 ≥ 2,
х1-х2 ≤ 4
х1≥ 0, х2≥ 0
Графическое решение
Чтобы решить задачу графически, вначале следует изобразить многоугольник допустимых решений, построение которого осуществляется так же, как в задачах линейного программирования.
Область, удовлетворяющая всем четырем неравенствам, будет областью допустимых решений (трапеция ABCD).
.
Теперь необходимо построить график ЦФ. Для этого следует отметить центр окружности. В данном примерех1 = 7их2 = 4. Затем с помощью циркуля нужно построить несколько окружностей, увеличивая радиус до тех пор, пока окружность не коснется какой либо точки ОДР. В этой точке будет минимум ЦФ. Далее следует найти наиболее удаленную от центра окружности точку ОДР. В этой точке будет максимум ЦФ.
Из рисунка видно, что минимум ЦФ находится в точке 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| . Приравняем Z| =0. Затем выразим из этого уравнения производнуюх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.
Решение с помощью системы Mathcad
Зададим ЦФ:
Z(x1,x2):= (х1-7)2+ (х2-4)2
Зададим произвольные начальные значения переменным:
x1 := 0
x2 := 0
Начало блока вычислений
Given
Опишем ограничения:
х1 + х2 ≤ 10
2х1 + х2 ≥ 12
х1 – х2 ≥ 2
х1 – х2 ≤ 4
х1 ≥ 0
х2 ≥ 0
Выполним операцию минимизации:
P: = Minimize (Z, x1, x2)
Выведем на экран значения найденных переменных:
Вычислим целевую функцию:
Z(P0,P1) = 0.5
Итак, оптимальные значения переменных:
х1 = 6,5, х2 = 3,5. Значение ЦФ Z= 0,5