Раздел 3. Оптимизация показателей качества с использованием нелинейного программирования
3.1. Графоаналитический метод решения задач нелинейного программирования.
Рассмотрим задачу нелинейного программирования, которая заключается в том, чтобы определить максимальное (минимальное) значение функции n переменных
F(х1,х2,….,хn) (3.1)
при ограничениях вида
fi (х1,х2,….,хn) = ai (i = 1,2, …p) (3.2)
fi (х1,х2,….,хn) ≤ ai (i = p+1,…m) (3.3)
где F(х1,х2,….,хn) и fi (х1,х2,….,хn) известные функции, по крайней мере одна из которых является нелинейной, ai – заданные числа.
Решением задачи являются координаты точки Х* =(х*1,х*2,… х*n), при которых достигается экстремальное значение функции F(х1,х2,….,хn) и выполняются ограничения задачи (3.2), (3.3).
Если на переменные наложены условия неотрицательности, то эти условия также включаются в ограничения (3.2), (3.3).
Для решения задачи (3.1), (3.2), (3.3) необходимо определить область допустимых решений и найти точку внутри или на границе этой области, через которую проходит гиперповерхность экстремального уровня F(х1,х2,….,хn) = dэкстр.
Графоаналитическое решение задач нелинейного программирования осуществляется в следующей последовательности:
1. Исходя из ограничений (3.2), (3.3) определяется область допустимых решений задачи.
2. На основе (3.1) придавая различные постоянные значения функции F(х1,х2,….,хn) = dстроятся гиперповерхности разных уровней.
3. Находят гиперповерхность экстремального уровня, которая имеет dmaxили dminи определяется координата точки из области допустимых значений, через которую проходит эта гиперповерхность.
4. Подставляя координаты этой точки в (1) получают решение задачи – максимальное или минимальное значение целевой функции.
Пример 1. Найти максимальное значение функции
F = х1 – ( х2 )2 + 4 х2 (3.4)
при условиях: 2х1 + 3 х2 ≤ 30 (3.5)
х1 + 2 х2 ≤ 18 (3.6)
3 х1 + 2 х2 ≤ 30 (3.7)
х1 ≤ 7 , х1 , х2 ≥ 0 (3.8)
Решение. Задача (3.4)…(3.8) является задачей нелинейного программирования, так как целевая функция (1) является нелинейной.
1. Выделяем область допустимых решений задачи. . Строим прямые, определяя точки пересечения с осями координат:
2 х1 + 3 х2 = 30; → [(х1=0; х2 =10); (х1=15; х2=0)]
х1 + 2 х2 = 18; → [(х1=0; х2=9); (х1=18; х2=0)]
3 х1 + 2 х2 = 30; → [(х1=0;, х2=15); (х1=10; х2=0)]
х2 = 7; → [(х1=7; х2=0) ]
Этой областью в плоскости х1 , х2 является многоугольник ОАВСД (Рис.3.1).
2. Исходя из (3.4) придавая различные постоянные значения функции
F =х1– ( х2 )2 + 4 х2 = d строим линии уровня для различных значений d:
d = 5, х1 = 1; d = 4, х1 = 0; d = 8, х1 = 4.
3. Находим линию уровня, которая имеет максимальное значение d и определяем координаты точки Е из области допустимых значений, через которую проходит эта линия: х1 = 7; х2 = 2.
4. Подставляем координаты точки Е в (3.4) и вычисляем максимальное значение целевой функции Fmax = 11 (Рис.3.1).
Пример 2.Найти максимальное и минимальное значение функции
F = (X1 – 3)2 + (X2 – 4)2 (3.9)
при условиях: 3 X1 – 2 X2 ≤ 24; (3.10)
3 X1 + 2 X2 ≥ 6; (3.11)
- X1 + 3 X2 ≤ 12; (3.12)
X1 ,X2 ≥ 0 (3.13)
Решение. Задача (3.9)…(3.13) является задачей нелинейного программирования, так как целевая функция (3.9) является нелинейной.
1. Выделяем область допустимых решений задачи. . Строим прямые, определяя точки пересечения с осями координат:
3 х1 - 2 х2 = 24; → [(х1=0; х2 = -12); (х1= 8; х2=0)]
х1 + 2 х2 = 18; → [(х1=0; х2=3); (х1= 2; х2=0)]
3 х1 + 2 х2 = 30; → [(х1=0;, х2= 4); (х1= - 12; х2=0)]
Этой областью в плоскости х1,х2 является четырехугольник АВСД (Рис.3.2).
Рис. 3.1. Область допустимых решений (к примеру 1).
2. Исходя из (3.9) придавая различные постоянные значения функции
F =(X1 – 3)2 + (X2 – 4)2 = d строим линии уровня (окружности с центром в точке X1 = 3, X2 = 4 и радиусом R = (d)2 ) для различных значений d (Рис. 3.2).
3. Находим линию уровня, которая имеет максимальное значение d, т. е. окружность максимального радиуса, проходящую через точку С. Координаты точки С, как точки пересечения прямых (3.10) и (3.12), находим решая систему уравнений (3.10), (3.12): С(13,7; 8,6).
4. Подставляем координаты точки С в (3.9) и вычисляем максимальное значения целевой функции Fmax = 135,7. Минимальное значение целевой функции Fmin = 0 достигается в центре окружности. (Рис. 3.2).
Рис. 3.2. Область допустимых решений (к примеру 2).
Пример 3.Найти максимальное и минимальное значение функции
F = (X1 – 3)2 + (X2 – 4)2 (3,14)
при условиях: 3 X1 + 3 X2 ≥ 10; (3.15)
5 X1 + 2 X2 ≤ 14; (3.16)
- 3 X1 + 3 X2 ≤ 10; (3.17)
X1 ,X2 ≥ 0 (3.18)
Решение. Задача (3.14)…(3.18) является задачей нелинейного программирования, так как целевая функция (3.14) является нелинейной.
1. Выделяем область допустимых решений задачи. . Строим прямые, определяя точки пересечения с осями координат:
3 X1 + 3 X2 ≥ 10; → [(х1=0; х2 = 3,3); (х1= 3,3; х2=0)]
5 X1 + 2 X2 ≤ 14; → [(х1=0; х2=7); (х1= 2; х2=2,8)]
- 3 X1 + 3 X2 ≤ 10; → [(х1=0;, х2= 3,3); (х1= - 3,3; х2=0)]
Этой областью в плоскости х1,х2 является треугольник АВС (Рис.3.3).
2. Исходя из (3.14) придавая различные постоянные значения функции
F =(X1 – 4)2 + (X2 – 5)2 = d строим линии уровня (окружности с центром в точке X1 = 4, X2 = 5 и R = (d)1/2 ) для различных значений d (Рис. 3.3).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.