You are on page 1of 14

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ТАВРІЙСЬКИЙ ДЕРЖАВНИЙ АГРОТЕХНОЛОГІНИЙ НІВЕРСИТЕТ


ФАКУЛЬТЕТ ІНЖЕНЕРІЇ ТА КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ

Кафедра Комп’ютерних наук

ГРАФІЧНИЙ МЕТОД РОЗВ’ЯЗАННЯ


ЗАДАЧІ ЛІНІЙНОГО ПРОГРАМУВАННЯ

Методичні вказівки до лабораторної роботи з дисципліни


«Дослідження операцій»
для здобувачів

Мелітополь
2016
Графічний метод розв’язання задачі лінійного програмування. Методичні
вказівки до лабораторної роботи – Таврійський державний
агротехнологічний університет, 2014 – 61 с.

Розробили: д.т.н., проф. Малкіна В.М., ст. викл. Зінов’єва О.Г.

Рецензент: к.т.н., доц. Щербіна В.М.

Розглянуто і схвалено на засіданні кафедри


«_____» ___________________20___р. Протокол № _____

Затверджено методичною комісією факультету ІКТ


«_____» __________________ 20___р. Протокол № _____
ЗМІСТ

Вступ ......................................................................................................................... 4
Лабораторна робота №2 ......................................................................................... 5
2.1 Теоретичні відомості ........................................................................................ 5
2.2 Практична частина ............................................................................................ 6
2.2.1 Контрольний приклад .................................................................................... 6
2.2.2 Варіанти завдань для самостійної роботи ................................................. 12
2.2.3 Контрольні питання ........................ ….........................................................61
Список літератури ................................................................................................. 62
ЛАБОРАТОРНА РОБОТА № 2

Тема: Графічний метод розв’язання задачі лінійного програмування


Мета: 1) Навчити розв’язувати графічним методом задачу лінійного
програмування.
2) Навчити будувати область припустимих значень (ОПЗ) для ЗЛП, а
також вектор-градієнт, лінію рівня.
Час: 2 год.

2.1 Порядок виконання роботи

- Представити викладачу виконане домашнє завдання. Умову завдання


наведено у п. 2.3
- Проробити практичну частину.
- Виконати домашнє завдання.

2.2 Завдання для самопідготовки


У процесі підготовки до заняття студент в обов’язковому порядку повинен
виконати наступні завдання:
а) вивчити конспект лекцій;
б) опрацювати рекомендовану літературу: [1] с. 16-26;
в) занести у зошит для практичних робіт такі матеріали:
1) формулу для визначення координат вектора-градієнта;
2) правило побудови лінії рівня;
3) правила визначення максимального і мінімального значень
цільової функції.

2.3 Теоретичні відомості

Задача лінійного програмування складається у визначенні максимального


(мінімального) значення функції
n
F cjxj (2.1)
j 1
при умовах
n
  aij x j  bi , i  1, m ,
 j 1 (2.2)
 x  0 , j  1, n
 j
Геометричне тлумачення цієї задачі міститься у визначенні такої точки
багатокутника розв’язків, що обумовлюється системою (2.2), у якій цільова
функція F приймає максимальне (мінімальне) значення. У випадку j  2
ЗЛП можна розв’язати на площині за допомогою графічного методу.
Пошук розв’язку задачі лінійного програмування (2.1) – (2.2) на основі
її геометричної інтерпретації включає наступні етапи:
1) Побудова прямих, рівняння яких отримують у результаті заміни в
обмеженнях (2) знаків нерівностей на знак рівності.
2) Пошук напівплощин, що задаються кожним обмеженням задачі.
3) Пошук багатокутника розв’язків (області допущених значень).
 F F 
4) Побудова вектора c  qrad F   ,   ( c1 ,c2 ) .

 1x x2
5) Побудова лінії рівня F  h перпендикулярно до вектора-
градієнта, (лінію рівня можна провести через точки ( 0; c1 ) и ( c2 ;0 ) ,
h підбирається таким чином, щоб лінія рівня проходила через багатокутник
розв’язків).
6) Якщо необхідно знайти максимальне значення цільової функції,
лінія рівня пересувається в напрямку вектора c до останньої загальної точки з
багатокутником розв’язків.
Якщо необхідно знайти мінімальне значення цільової функції, лінія
рівня пересувається в напрямку, протилежному напрямкові вектора c до
останньої загальної точки з багатокутником розв’язків.

2.4 Практична частина

Задача 1.
Знайти мінімальне і максимальне значення функції F  x1  3x 2 при
заданих обмеженнях:

4 x1  2 x2  12
 x  3 x  6
 1 2
2 x1  4 x2  16
x  0
 1
 x2  0

Розв’язання
1) Кожному з нерівностей (1) відповідає напівплощина, границею якої є
пряма. Для побудови прямих, заміняємо знаки нерівностей на знаки
рівностей і знаходимо для кожної прямої координати двох точок.
Координати Координати
1-й точки 1-й точки
x1 x2 x1 x2
4 x1  2 x2  12 (1) 0 6 3 0
 x  3 x  6
 1 2 ( 2) 0 2 6 0
2 x1  4 x2  16 ( 3) 0 4 8 0
x  0 ( 4) 0 0 0 4
 1
 x2  0 (5) 0 0 4 0

2) Будуємо прямі.
3) Знаходимо напівплощини, що задані кожною нерівністю.
4) Знаходимо багатокутник розв’язків (трикутник ABC).

5) Будуємо вектор c{1;3} .

X2

8 Багатокутник
розв’язків
6

4
A Лінія рівня
B
2
(5) C

2 4 6 8 10
X1
(2)
(3)

Вектор С (1,3)
(1)

(4)
Рисунок 2.1 – Багатокутник розв’язків задачі

6) Будуємо пряму x1  3 x2  h . h підбираємо так, щоб пряма проходила через


багатокутник рішень.

7) Пересуваємо пряму x1  3 x2  h в напрямку вектора c . Остання загальна
точка з багатокутником рішень (точка B) є точкою, в якій цільова функція
приймає максимальне значення.

8) Пересуваємо пряму x1  3 x2  h в напрямку протилежному вектору c .
Остання загальна точка з багатокутником рішень (точка C) є точкою, в якій
цільова функція приймає мінімальне значення.
9) Знаходимо координати точок B і C.
4x1  2x 2  12 4x1  2x 2  12 10x 2  36 x1  4,8
B :   
 x1  3x 2  6  4x1  12x 2  24  x1  3x 2  6 x 2  3,6
4 x  2 x2  12 8 x1  4 x2  24 10 x1  40  x1  4
C : 1   
2 x1  4 x2  16 2 x1  4 x2  16  x1  2 x2  8  x2  2
10) Підставляючи значення координат у цільову функцію, одержуємо максимальне
значення, яке дорівнює 13,2 і мінімальне значення, яке дорівнює 10.
Відповідь: Цільова функція F приймає максимальне значення, яке
дорівнює 13,2 при x1  3,6; x2  3,2, а мінімальне значення, яке дорівнює 10
при x1  4, x2  2.

Задача 2.
Знайти мінімальне значення функції F  4 x1  7 x2  2 x3 при заданих
обмеженнях:
 2 x1  6 x2  x3  9,

6 x1  7 x2  x3  6,

 7 x1  14 x2  2 x3  4, (2.3)
3x  5 x  x  0,
 1 2 3
 xi  0, i  1,3.
Розв’язання
1. Виражаємо з рівняння 3 x1  5 x2  x3  0 одну із змінних (наприклад x3 )
x3  3x1  5x2 і підставляємо її в цільову функцію і в усі нерівності.
F  4 x1  7 x2  2  (3x1  5 x2 ) ;
 2 x1  6 x2  (3x1  5 x2 )  9;
6 x1  7 x2  (3x1  5 x2 )  6;
 7 x1  14 x2  2  (3x1  5 x2 )  4.
Тому що за умовою x3  0 , те x3  3x1  5x2 заміняємо на 3x1  5 x2  0
.
У підсумку після приведення подібних, маємо задачу лінійного
програмування:
Знайти мінімальне значення функції F  2 x1  3x2 при заданих
обмеженнях:
 x1  x2  9
3 x  2 x  6
 1 2
 x1  4 x2  4
3 x  5 x  0
 1 2
 x1  0, x2  0
Далі розв’язуємо цю задачу графічним методом.
2. Кожній з нерівностей відповідає напівплощина, границею якої є пряма.
Для побудови прямих, заміняємо знаки нерівностей на знаки рівностей і
знаходимо для кожної прямої координати двох точок.
Таблиця 2 – Координати точок прямих (1) - (6)
Координати Координати
Рівняння прямих 1-й точки 1-й точки
x1 x2 x1 x2
x1  x2  9 (1) 0 9 9 0
3x1  2 x2  6 (2) 0 3 2 0
 x1  4 x2  4 (3) 0 1 4 0
3x1  5 x2  0 (4) 0 0 5 3
x1  0, (5) 0 0 0 4
x2  0 (6) 0 0 4 0
3. Будуємо прямі (1)-(6).
4. Знаходимо напівплощини, що задані кожною нерівністю.
5. Знаходимо багатокутник розв’язків (трикутник ABC)(рис.3.3.1).

6. Будуємо вектор c{2;3}.
7. Будуємо пряму  2 x1  3 x2  h . Підбираємо h так, щоб пряма проходила
через багатокутник рішень.
8. Пересуваємо пряму  2 x1  3 x2  h в напрямку протилежному напрямку

вектора c . Остання загальна точка з багатокутником рішень (точка C) є
точкою, у якій цільова функція приймає мінімальне значення.
9

C
3 B D

1 A

-4 -3 0 2 3 5 9
-2
-3
Лінія рівня

Рисунок 2.2 – Багатокутник розв’язків задачі.

9. Знаходимо координати точки D, розв’язуючи відповідну систему рівнянь.


 x1  x2  9  x1  x2  9  x1  6,4
  
 x1  4 x2  4 5 x2  13  x2  2,6
10. Підставляючи x1 та x2 у x3  3x1  5x2 , одержуємо x3  6,2 .
11. Підставляючи значення координат у цільову функцію, одержуємо
мінімальне значення цільової функції, яке дорівнює -5.
Fmin  F (6,4;2,6;6,2)  5
Відповідь: Цільова функція F приймає мінімальне значення, яке
дорівнює -5 при x1  6,4, x2  2,6 і x3  6,2.
Варіанти завдань до самостійної роботи

Варіант №1 Варіант №2
 x2  8  x1  3
2 x  x  6  x  x  2
 1 2  1 2
 x1  x2  10  x1  x2  1
 
 x1  x2  1  x1  2 x2  10
 x  0, x  0  x  0, x  0
 1 2  1 2
 min  min
 F  x1  2 x 2   F  x1  2 x 2 
 max  max
Варіант №3 Варіант №4
 x1  6  x1  2 x2  4
2 x  3 x  6 2 x  x  2
 1 2
 1 2
 x1  2 x2  4  x1  x2  1
 
 x1  x2  4 2 x1  2 x2  0
 x  0, x  0  x  0, x  0
 1 2
 min  1 2

 F  2 x  x   min

1 2
max  F  x1  x 2 
 max
Варіант №5 Варіант №6
 x1  6 2 x1  3 x2  18
3 x  x  9 2 x  x  12
 1 2  1 2
 x1  2 x2  8  x1  x2  1
 
 x1  2 x2  12  x1  x2  1
 x  0, x  0 x  0 x  0
 1 2  1 2

 min  min
    F   7 x  5 x 
 F 4 x1 6 x 2

1 2
max
 max
Варіант №7 Варіант №8
5 x1  2 x2  10 2 x1  x2  2
 x  2 x  5  x  3x  3
 1 2  1 2
 x  x2  4  x1  x2  6
 
 x1  x2  5  x1  6 x2  6
x  0 x  0 x  0 x  0
 1 2  1 2
 min  min
 F  x1  2 x 2   F  2 x1  x 2 
 max  max
Варіант №9 Варіант №10
 x1  2 x2  10 
x  5x  5 x  2x  1
 1 2  1 2

 x1  2 x2  0 2 x1  x2  1
 
 x1  x2  1  x1  x2  1
 x  0, x  0  x1  2 x  1
 1 2 2 x  x  1
 min  1 2

 F  x1  x 2   x1  0, x2  0
 max 
 F  x  2 x  min
 1 2
max
Варіант №11 Варіант №12
 x1  x2  1 
2 x  2 x  1  2 x  x  1
 1 2
 1 2
 x1  x2  2
2 x1  3 x2  2 
 3 x1  x2  8
3 x1  2 x2  3  2 x1  3 x2  9
x  0 x  0 4 x  3 x  0
 1 2  1 2

 min  x1  0, x2  0
   
 F x1 x 2  F  5 x  10 x  min
 max
 1 2
max
Варіант №13 Варіант №14
x1  2 x 2  4  x1  6 
 3 x1  x2  9 
2 x1  x 2  2 

x1  x 2  1  x1  2 x2  8 
 
2 x1  2 x 2  0  x1  2 x2  12 
 x1  0, x2  0 
x1  0, x 2  0 

min  min 
F  x1  x 2  F  4 x1  6 x2  
 max 
max 
Варіант №15 Варіант №16
2 x1  3 x 2  18  5 x1  2 x 2  10 
2 x1  x 2  12  
  x1  2 x 2  5

x1  x 2  1  
 x  x2  4
 x1  x 2  1  
 x1  x 2  5 
x1  0 x 2  0 
 x1  0 x 2  0
min  
F  7 x1  5 x 2   min 
max  F  x1  2 x 2  
max 
Варіант №17 Варіант №18
2 x1  x2  2  x1  2 x 2  10 
x1  3 x2  3  
 x1  5 x 2  5

x1  x2  6   x1  2 x 2  0 
 
x1  6 x2  6   x1  x 2  1 
x1  0 x2  0  
 x1  0, x 2  0
min  
F  2 x1  x2   min 
max  F  x1  x 2  
max 
Варіант №19 Варіант №20
x1  x 2  1  3x1  5 x 2  15 
x1  x 2  2  5 x1  2 x 2  10 
 
x1  2 x 2  0  x1  x 2  2 
 
2 x1  x 2  8  2 x1  x 2  1 
x1  0 x 2  0  x1  0 x 2  0 
 
min  min 
F  x1  2 x 2   F  x1  2 x 2  
max  max 
Варіант №21 Варіант №22

 2 x1  5 x 2  10 
x1  2 x 2  10 
 x1  6
x1  2 x 2  2  
 x2  5 
x1  2 x 2  2  
 2 x1  2 x 2  0 
x1  1 
 x1 , x 2  0 
2 x1  x 2  10 

x1  0 x 2  0  min 
F  7 x1  6 x 2  
min 

max 
F  x1  x 2 
max 

Варіант №23 Варіант №24
2 x1  x 2  15 
 3 x  2 x  10 3 x  2 x  7
 1 2  1 2

3 x1  4 x 2  20 2 x1  3 x 2  6
 
 x1  7 2 x1  x 2  4
x , x  0
x , x  0  1 2
 1 2  min
 min  F ( x)  5 x1  3 x 2  max
 F ( x )  3 x1  2 x 2  
 max

You might also like