МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра автоматизованих систем управління
/
Лабораторна робота  №10 
з дисципліни “Математичні методи дослідження операцій”
на тему
 «НЕЛІНІЙНЕ ПРОГРАМУВАННЯ. ГРАФІЧНИЙ МЕТОД.»
Мета роботи: ознайомлення з задачами нелінійного програмування, набуття навиків їх розв’язку та аналізу графічним методом, вивчення та оволодіння навичками адресації та роботи з формулами в таблицях в Еxcel, вивчення та оволодіння навиками розв’язання оптимізаційних задач в середовищі MathCad. 
Порядок роботи:
Короткі теоретичні відомості. 
Розв’язати графічно задану задачу нелінійного програмування. 
Використовуючи засоби роботи з адресацією Еxcel та роботу з формулами, заповнити таблиці, що відповідають ітераціям графічного методу нелінійного програмування.
Використовуючи засоби MathCad , розв’язати задану нелінійного програмування. 
Змінити умову задачі таким чином, щоб центр функції мети знаходився в області визначення і повторити пп. 2-4.   
Проінтерпретувати отримані результати для вихідної задачі.
Хід Роботи
Короткі теоретичні відомості
Неліні́йне програмува́ння (NLP, англ. NonLinear Programming) — випадок математичного програмування, у якому цільовою функцією чи обмеженнями є нелінійна функція.
Задача нелінійного програмування ставиться як задача знаходження оптимуму певної цільової функції / при виконанні умов
/,
де / — параметри, / — обмеження, n — кількість параметрів, s — кількість обмежень.
На відміну від задачі лінійного програмування в задачі нелінійного програмування оптимум не обов'язково лежить на границі області, визначеної обмеженнями.
Методи розв'язування задачі
Одним із методів, які дозволяють звести задачу нелінійного програмування до розв'язування системи рівнянь є метод невизначених множників Лагранжа.
Якщо цільова функція F є лінійною, а обмеженим простором є політоп, то задача є задачею лінійного програмування, яка може бути розв'язана за допомогою добре відомих рішень лінійного програмування.
Якщо цільова функція є угнутою (задача максимізації), або опуклою (задача мінімізації) і множина обмежень є опуклою, то задачу називають опуклою і в більшості випадків можуть бути використані загальні методи опуклої оптимізації.
Якщо цільова функція є відношенням увігнутих і опуклих функцій (у разі максимізації) і обмеження опуклі, то задача може бути перетворена в задачу опуклої оптимізації використанням технікдробового програмування.
Існують декілька методів для розв'язування неопуклих задач. Один підхід полягає у використанні спеціальних формулювань задач лінійного програмування. Інший метод передбачає використання методів гілок і меж, де задача поділяється на підкласи, щоби бути розв'язаною з опуклими (задача мінімізації) або лінійними апроксимаціями, які утворюють нижню межу загальної вартості у межах поділу. При наступних поділах у певний момент буде отримано фактичний розв'язок, вартість якого дорівнює найкращій нижній межі, отриманій для будь-якого з наближених рішень. Цей розв'язок є оптимальним, хоча, можливо, не єдиним. Алгоритм можна також припинити на ранній стадії, з упевненістю, що оптимальний розв'язок знаходиться в межах допустимого відхилення від знайденої кращої точки; такі точки називаються ε-оптимальними. Завершення біля ε-оптимальних точок, як правило, необхідне для забезпечення скінченності завершення. Це особливо корисно для великих, складних задач і задач з невизначеними витратами або значеннями, де невизначеність може бути оцінена з відповідної оцінки надійності.
Графічний метод рішення задач нелінійного програмування
Графічний метод можна використовувати для вирішення задачі НЛП, яка містить дві змінні х1 і х2, наприклад завдання такого вигляду:
Z = f(x1, x2) → min (max);
gi(x1, x2) ≤ bi, /.
Щоб знайти її оптимальне рішення, потрібно виконати наступні дії:
1. Знайти ОДЗ, яка визначається обмеженнями завдання. Якщо виявиться, що ця область порожня, то це означає, що задача не має рішення.
2. Побудувати сімейство ліній рівня цільової функції f (х1, х2) = C  при різних значеннях числового параметра С.
3. При виконанні завдання на мінімум визначити напрямок зменшення, а для задачі на максимум - напрям зростання ліній рівня ЦФ.
4. Знайти точку ОДЗ, через яку проходить лінія рівня з найменшим в задачі на мінімум (відповідно, найбільшим в завдання на максимум) значенням параметра С. Ця точка буде оптимальним рішенням. Якщо ЦФ не обмежена знизу в задачі на мінімум (зверху - в задачі на максимум), то це означає, що задача не має оптимального рішення.
5. Знайти координати точки оптимуму і визначити в ній значення ЦФ.
Відзначимо, що на відміну від завдання ЛП точка оптимуму в задачі НП не обов'язково знаходиться на границі ОДЗ. Нею також може бути внутрішня точка цієї множини.
Постановка задачі
Розв’язати задачу дробово-лінійного програмування графічно і симплексним методом.
Варіант 48
F(x1, x2) = 4 (x1 - 5 )2 + 2 (x2 - 7)2 min, max ;
3x1 +  2x2    6,
x1 + x2  7,
11x1 + 5x2  55,
x1  0, x2  0.
2. Розв’язати графічно задану задачу нелінійного програмування. 
2.1
Областю допустимих значень є багатокутник ABCDE , який обмежений відрізками прямих.
		L1- 	3x1 +  2x2  = 6,
L2-	 x1 + x2 = 7
L3-	11x1 + 5x2 = 55
	
x1= 0;(вісь Оx2)	x2= 0;( вісь Оx1)
/ 
Для h>0 F=h визначає на площині  x1Ox2 еліпс.
Ln : F= 4 (x1 - 5 )2 + 2 (x2 - 7)2 = h
Центр еліпса знаходиться в точці Q(9,8) , а півосі дорівнюють √h/4 і √h/2 відповідно.Зі зростанням еліпс збільшується(розширюється) і значенн цільової функції збільшується .
Знайдемо hmin
F(x1, x2) = 4 (x1 - 5 )2 + 2 (x2 - 7)2  =h 	(1)
X1=7-x2 					(2)
Підставивши 2 рівність в 1 отримаєм :
4 ((7-x2) - 5 )2 + 2 (x2 - 7)2  =h
4 ((7-x2) 2 – 2(7-x2)*5+25 ) + 2 (x2 - 7)2  =h
4 (4+4x2+x22)+ 2 (x22   - 16x2+64)2  =h
	16+16x2+6x22 -32x2+128=h
142-16x2+6x2 =h
 x1=x1’ =3,596
x2=x2’ =3,088
отже  точка С має такі координати 	С(3,596; 3,088)
Звідси підставивши значення у цільову функцію можна побачити що 
hmin =165.052
Тепер можна знайти hmax підставивши всі інші значення в цільову функцію.
hmax= (81*4+50)=374 тобто максимум досягається у точці A(0,3).
Розв’язок даної задачі з роз’ясненнями в Exel і MatCad подані у розділах 3 , 4.
2.2 Змінюю  умову задачі таким чином, щоб центр функції мети знаходився в області визначення .
	
	
Для h>0 F=h визначає на площині  x1Ox2 еліпс.
Ln : F= 4 (x1 - 3 )2 + 2 (x2 - 2)2 = h
x1= 0;(вісь Оx2)	x2= 0;( вісь Оx1)
/
Центр еліпса знаходиться в точці Q(3,2) , а півосі дорівнюють √h/4 і √h/2 відповідно.Зі зростанням еліпс збільшується(розширюється) і значенн цільової функції збільшується .
Обчислюю по тому самому алгоритму що і  в 2.1
Знайдемо hmin 
  точка С має такі координати   С(3,596; 3,088)
Звідси підставивши значення у цільову функцію можна побачити що 
hmin =3.7883
Тепер можна знайти hmax підставивши всі інші значення в цільову функцію.
hmax= 4*(0-3)^2+ 2*(7-2)^2 = 86 тобто максимум досягається у точці A(0,7).
Розв’язок даної задачі з роз’ясненнями в Exel і MatCad подані у розділах 3 , 4.
3. Розв’язання за допомогою MS Exel.
3.1
Алгоритм розв’язку задачі в Exel 
Вписую в певні комірки свої рівняння. 
Відділяю певні комірки під певні точки перетину для наглядності.
Створюю графік за домогою майстра графіків у MS Office 2010
Знаходжу max I min значення підставивши у певні комірки точки перетину і висначаю значення по визначеній формулі наприклад (=4*(K9-3)^2+ 2*(L9-2)^2)
/
		Рис 1 Задача з еліпсом який знаходиться за границями ОДЗ
/
4. Розв’язання за допомогою математичного пакету програм  MathCad
4.1 Задача в якій центр функції мети знаходиться за границями ОДЗ.
Записуємо умову:
Умова: 
F(x1, x2) = 4 (x1 - 9 )2 + 2 (x2 - 8)2 min, max ;
3x1 +  2x2    6,
x1 + x2  7,
11x1 + 5x2  55,
x1  0, x2  0.
Перетворення: 
x2 = 2 – 3/2*x1
x2 = 7 – x1;
x2 = 11 –11/5*x1;			
Алгоритм розв’язку в MatCad
Cпочатку потрібно вести рівняння обмежуючих пямих в область розв’язку.
Далі на панелі інструментів вибрати інструмент graph.
Зробити межі по x і по y .
Вийти в область і натиснути Пробіл на клавіатурі.
За допомогою функцій обчислення задач НЛП які вбудовані в Matcad вписати цільову функцію .
За допомогою «given» в Matcad  і обмежуючих прямих знайти значення які потрібні (за допомогою функцій «minimize» або «maximize»).
Графіки обмежуючих прямих:
/
Рис 1 Задача з еліпсом який знаходиться за границями ОДЗ .
Отже, мінімальне значення цільова функція досягає в точці з координатами 
 min (3,596 ; 3,088), а максимальне – в точці  (0; 3)
4.2 Задача в якій центр функції мети знаходиться в ОДЗ.
/
Отже, мінімальне значення цільова функція досягає в точці з координатами (3;2), а максимальне – в точці (0; 7)
Висновок:  я ознайомився  з задачами нелінійного програмування, набув навиків їх розв’язку та аналізу графічним методом, вивчив  та оволодів навичками адресації та роботи з формулами в таблицях в Еxcel, вивчив та оволодіння навиками розв’язання оптимізаційних задач в середовищі MathCad.