Professional Documents
Culture Documents
МУ ЛР - ММДО - 2018
МУ ЛР - ММДО - 2018
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторних робіт
для студентів спеціальності – 122 –
«КОМП’ЮТЕРНІ НАУКИ»
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторних робіт
для студентів спеціальності – 122 –
«КОМП’ЮТЕРНІ НАУКИ»
Затверджено
на засіданні кафедри
інформаційних систем
Протокол № 1 від 30.08.18
2
Методичні вказівки до лабораторних робіт з дисципліни «Математичні методи
дослідження операцій» для студентів спеціальності – 122 – «КОМП’ЮТЕРНІ НАУКИ» /
Укл.: В.О. Болтьонков, В.І. Куваєва – Одеса: ОНПУ, 2018 — 81 с.
3
Зміст
Лабораторна робота №1................................................................................................................4
Лабораторна робота №2................................................................................................................9
Лабораторна робота №3..............................................................................................................12
Лабораторна робота №4..............................................................................................................16
Лабораторна робота №5..............................................................................................................20
Лабораторна робота №6..............................................................................................................25
Лабораторна робота №7..............................................................................................................32
Лабораторна робота №8..............................................................................................................42
Лабораторна робота №9..............................................................................................................56
Лабораторна робота №10............................................................................................................62
Лабораторна робота №11............................................................................................................66
Лабораторна робота №12............................................................................................................79
ЛІТЕРАТУРА................................................................................................................................80
Лабораторна робота №1
Тема. Графічне рішення задачі лінійного програмування
Мета роботи – вивчення графічних методів вирішення задачі лінійного
програмування.
Лінійне програмування (ЛП) – це метод оптимізації моделей, в яких цільові функції
і обмеження строго лінійні. ЛП успішно застосовується у військовій області,
промисловості, сільському господарстві, транспортній галузі, економіці, системі охорони
здоров'я і навіть в соціальних науках. Широке використання цього методу також
підкріплюється високоефективними комп'ютерними алгоритмами, що реалізують даний
метод. На алгоритмах лінійного програмування (враховуючи їх комп'ютерну ефективність)
базуються оптимізаційні алгоритми для інших, більш складних типів моделей і завдань
дослідження операцій
У цій роботі на простому прикладі з двома змінними показані основні елементи
моделі ЛП. Далі цей приклад буде узагальнено в загальну задачу лінійного програмування.
1. Приклад рішення задачі ЛП графічним методом.
Компанія Reddy Mikks виготовляє два види фарб: для внутрішніх (1) і зовнішніх (2)
робіт. Продукція обох видів надходить у продаж. Для виробництва фарб використовується
два вихідних продукту - А і В. Максимально можливі добові запаси цих продуктів
складають 6 і 8 тон відповідно. Витрати А і В на 1 тонну відповідних фарб наведені нижче
в таблиці.
Таблиця 1.1.
витрата сировини
(в тонах на тону фарби) Максимально
Вихідний
можлива добова
продукт
Фарба 1 для Фарба 2 для витрата сировини, т
зовнішніх робіт внутрішніх робіт
Сировина А 6 4 24
Сировина В 1 2 6
Дохід в тис. дол.
5 4
на 1 т фарби
4
виробництво фарби для внутрішніх робіт не перевищувала більш ніж на тонну
аналогічний показник виробництва фарби для зовнішніх робіт. Компанія хоче визначити
оптимальне (найкраще) співвідношення між видами продукції, що випускається для
максимізації загального щоденного доходу.
Завдання (модель) лінійного програмування, як і будь-яке завдання дослідження
операцій, включає три основних елементи.
1. Змінні, які слід визначити.
2. Цільова функція, що підлягає оптимізації.
3. Обмеження, яким повинні задовольняти змінні.
Визначення змінних – перший крок у створенні моделі. Після визначення змінних
побудова обмежень і цільової функції зазвичай не викликає труднощів.
У нашому прикладі необхідно визначити щоденні обсяги виробництва фарби для
внутрішніх і зовнішніх робіт. Позначимо ці обсяги як змінні моделі:
х1 — щоденний обсяг виробництва фарби 1 для зовнішніх робіт;
х2 — щоденний обсяг виробництва фарби 2 для внутрішніх робіт.
Використовуючи ці змінні, далі будуємо цільову функцію. Логічно припустити, що
цільова функція, як сумарний щоденний дохід, повинна зростати при збільшенні
щоденних обсягів виробництва фарб. Позначимо цю функцію через z (вона вимірюється в
тисячах доларів) і покладемо, що в відповідності з цілями компанії отримуємо задачу:
максимізувати z = 5х1 + 4х2.
Залишився невизначеним останній елемент моделі – умови (обмеження), які
повинні враховувати можливість щоденного споживання сировини і обмеженість попиту
на готову продукцію. Іншими словами, обмеження на сировину можна записати в такий
спосіб.
6
лінію, треба знайти дві різні точки, що лежать на цій прямій. Якщо х1 = 0, то х2 = 24/4 = 6.
Аналогічно для х2 = 0 знаходимо х1= 24/6 = 4. Итак, наша прямая проходит через две точки
(0, 6) и (4, 0). Отже, наш прямий проходить через дві точки (0, 6) і (4, 0). Ця пряма
позначена на рис. 1.1 як лінія (1).
Тепер розглянемо, як графічно інтерпретуються нерівності. Кожні нерівність ділить
площину (х1 , х2) на два півпростору, які розташовуються по обидва боки прямий, яка, як
показано вище, відповідає даним нерівності. Точки площині, розташовані по одну сторону
прямої, задовольняють нерівності (допустиме полупространство), а точки, що лежать по
інший бік, - немає. "Тестової" точкою, яка перевіряє, точки якого полупространства
задовольняють нерівності, а якого - ні, може служити точка (0, 0). Наприклад, ця точка
задовольняє першому нерівності 6х1 + 4хг ≤ 24 (здесь 6×0 + 4×0 = 0 ≤ 24). Це означає, що
точки півпростору, що містить початкову точку (0, 0), задовольняють цьому нерівності. На
рис. 1.1 допустимі півпростору показані стрілками.
Якщо точка (0, 0) не задовольняє нерівності, допустимим півпростором буде те, яке
не містить цю точку. Якщо ж пряма проходить через цю точку, слід як "тестової" взяти
будь-яку іншу точку.
Етап 2. Пошук оптимального рішення.
Точки простору допустимих рішень, показаного на рис. 1.1, задовольняють
одночасно всім обмеженням. Це простір обмежений відрізками прямих, які з'єднуються в
кутових точках А, В, С, D, Е і F. Будь-яка точка, розміщена всередині або на кордоні
області, обмеженою ламаної ABCDEF, є допустимим рішенням, тобто задовольняє всім
обмеженням. Оскільки простір допустимих рішень містить нескінченне число точок,
необхідна якась процедура пошуку оптимального рішення.
Для того щоб знайти оптимальне рішення, необхідно визначити напрям зростання
цільової функції z = 5х1 + 4х2 (нагадаємо, що функцію z слід максимізувати). Ми можемо
прирівняти z до кількох зростаючим значенням, наприклад 10 і 15. Ці значення,
підставлені замість z в вираз цільової функції, породжують рівняння прямих; для значень
10 і 15 отримуємо рівняння прямих 5х1 + 4х2 = 10 і 5х1 + 4х2 = 15. На рис. 2.2 ці прямі
показані штриховими лініями, а напрям зростання цільової функції – жирної
стрілкою. Цільова функція може зростати до тих пір, поки прямі, відповідні зростаючому
значенням цієї функції, перетинають область допустимих рішень. Точка перетину області
допустимих рішень і прямий, відповідної максимально можливого значення цільової
функції, і буде точкою оптимуму.
Таблиця 1.2.
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання.
5. Висновки по роботі.
Лабораторна робота №2
9
(Перегляд/Зміна вхідних даних). Потім можна знову вирішити задачу з новими вихідними
значеннями.
2. Завдання.
2.1. Режим навчання в програмі TORA. У програмі TORA введіть наступні умови
задачі ЛП і вкажіть, що рішення слід отримати в графічному режимі.
10
2.2. Вирішити в програмі TORA всі завдання лабораторної роботи №1.
2.3. Вирішити такі завдання.
2.3.1. Розглянемо модель Reddy Mikks (файл ch2ToraReddyMikks.txt). За допомогою
TORA покажіть, що оптимальне рішення задачі ЛП завжди пов'язане з кутовий точкою
простору рішень. Спочатку введіть (або завантажте) вихідну модель ЛП. Знайдіть її
графічне рішення. Потім, клацнувши на кнопці View / Modify Input Data (Перегляд / Зміна
вихідних даних), поверніться у вікно введення даних і введіть представлені нижче
рівняння цільових функцій. У результаті ви повинні побачити, що при зміні кута нахилу
цільової функції оптимальне рішення будуть перебувати в різних кутових точках. Мета
цієї вправи - показати, що для того, щоб знайти оптимальне рішення завдання ЛП, досить
знати кутові точки простору рішень.
a) z = 5x1 + x2.
b) z = 5x1 + 4x2.
c) z = x1 + 3x2.
d) z = - x1 + 2x2.
e) z = - 2x1 + x2.
f) z = - x1 - x2.
2.3.2. У моделі "дієти" (файл ch2ToraDiet.txt) замінити цільову функцію наступною:
мінімізувати z = 0,8х1 + 0,8х2.
Використовуючи графічні можливості системи TORA, покажіть, що оптимальне рішення
пов'язане з двома різними кутовими точками, причому в обох точках оптимальне рішення
буде однаковим. В цьому випадку говорять, що завдання має альтернативний
оптимум. Поясніть, які умови призвели до такої ситуації, і покажіть, що насправді
завдання має безліч альтернативних оптимумів. Потім напишіть формулу для визначення
всіх таких рішень
2.3.3.Рассмотрім наступну модель ЛП:
максимізуватиz = 5х1 + 4x2
при виконанні умов
11
Ринок накладає обмеження на виробництво капелюхів: не більше 150 капелюхів
першого і 200 капелюхів другого типу. Дохід від виробництва капелюхів становить 8 дол.
На одиницю першого типу і 5 дол. – другого типу. Застосуйте графічний метод для
визначення щоденного оптимального виробництва капелюхів обох типів.
2.3.7. Компанія Show & Sell має можливість рекламувати свою продукцію по
місцевому радіо і телебаченню. Бюджет на рекламу обмежений сумою 10 000 дол. На
місяць. Одна хвилина рекламного часу на радіо коштує 15, а на телебаченні – 300 дол.
Компанія припускає, що реклама на радіо за часом повинна перевищувати рекламу на
телебаченні не менше ніж в два рази. Разом з тим, відомо, що нераціонально
використовувати більше 400 хвилин реклами на радіо в місяць. Останні дослідження
показали, що реклама на телебаченні в 25 разів ефективніше реклами на радіо.
Розробіть оптимальний бюджет для реклами на радіо і телебаченні.
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
Лабораторна робота №3
2. Завдання.
2.1. Вирішити завдання застосувавши М-метод:
12
мінімізувати
при виконанні умов
13
Для кожної з таких завдань знайти коефіцієнти z-рядки симплекс-таблиці після
введення штучних змінних.
а) Максимізувати при обмеженнях (1), (3) и (4).
b) Максимізувати при обмеженнях (1), (2), (4) и (5).
c) Мінімізувати при обмеженнях (3), (4) и (5).
d) Мінімізувати при обмеженнях (1), (2) и (5).
e) Мінімізувати при обмеженнях (1) и (5).
2.4. Дано таке множина обмежень:
1.
2.
3.
При цих обмеженнях вирішите завдання ЛП для наступних цільових функцій:
а) Максимізувати ,
b) Мінімізувати ,
c) Мінімізувати ,
d) Мінімізувати .
2.5. Дана наступна задача,
Максимізувати
при обмеженнях
14
У першому рівність змінна x_3 може увійти в базисне рішення замість штучної
змінної. Однак у другому рівність штучна змінна необхідна. Використовуючи
початкова базисне рішення, що складається з змінних , знайти
оптимального рішення цього завдання.
2.8 Покажіть, як за допомогою М-методу можна показати, що наступне завдання не
має допустимого рішення.
Максимізувати
а) Максимізувати
b) Мінімізувати
c) Максимізувати
d) Мінімізувати
2.10. Показати, що наступне завдання не має допустимого значення. Записати задачу ЛП
для першого етапу і потім застосувати програму ТОРА для пошуку її рішення:
Максимізувати
при виконанні умов
15
з ) Показати, що нульові штучні змінні можна видалити з базисного рішення на першому
етапі (до початку другого) шляхом вибору введеної перемінної за допомогою ненульового
провідного елементу в рядку штучної змінної.
2.12. Розглянути задачу.
Максимізувати
при виконанні умов
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі..
Лабораторна робота №4
16
Передбачається , що кожен затверджений проект буде реалізований за трирічний
період. Необхідно визначити сукупність проектів, якій відповідає максимум сумарного
прибутку.
Задача зводиться до вирішення типу так-ні щодо кожного проекту. Визначимо виконавчі
змінні
2.3. Вирішити завдання про завантаження літака вантажами п'яти типів. Вага , об’єм
Таблиця 4.2.
Максимальна вантажопідйомність і обсяг літака рівні 112 тонн і 109 куб. ярдів
відповідно. Сформулювати у вигляді моделі ЦЛП завдання визначення набору вантажів,
що забезпечує максимальну вартість вантажу і знайти рішення за допомогою програми
ТОРА.
2.4. Нехай є 7 пляшок вина, 7 пляшок, заповнених наполовину, і 7 порожніх
пляшок. Необхідно розподілити 21 пляшку між трьома персонами так, щоб кожен отримав
7 пляшок. У той же час кожен повинен отримати однакову кількість
вина. Сформулювати цю задачу у вигляді завдання ЦЛП з обмеженнями у вигляді
рівностей і знайти рішення, використовуючи програму ТОРА.
17
2.5.Капітан торгового судна, який хотів нагородити трьох членів команди за їх
героїчні зусилля з порятунку вантажу корабля під час несподіваного шторму, взяв деяку
суму грошей у скарбника і віддав наказ старшому помічнику розподілити їх порівну
між трьома матросами після того, як корабель досягне берега. Одного разу вночі один з
матросів вирішив взяти свою третю частину заздалегідь. Після поділу на три рівні частини
залишилася одна монета, яку матрос вирішив залишити собі (на додаток до третини
грошей). На слідуючу ніч другий матрос вирішив здійснити такий же план і, повторивши
розподіл на три частини суми, що залишилася, привласнив собі ще й монету, яка
залишалася після розподілу. На третю ніч третій матрос взяв третю частину того, що
залишилося і одну додаткову монетку. Коли корабель досяг берега, старший помічник
капітана розподілив залишок грошей порівну між трьома матросами, і знову залишилася
одна монета. Старший помічник відклав монету в сторону і вручив матросам призначені
їм рівні частини. Скільки грошей було на самому початку?
2.6.Решіть завдання про покриття. Для забезпечення безпеки студентів відділ безпеки
американського університету встановлює телефони екстреного виклику на території
студентського містечка. Відділу бажано встановити мінімальну кількість
телефонів таким чином, щоб на кожній з основних вулиць цього міста був розташований
по крайній мере один телефон. На рис. 4.1 представлені основні вулиці (від А до К)
студентського містечка.
18
достатню для доставки вантажів лише споживачам 1, 2, 3 і 4. Наступна таблиця містить
відстані (в милях) між терміналом компанії ABC і споживачами.
19
Рис . 4.2. План музею.
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
Лабораторна робота №5
Тема. Транспортні задачі.
Споживачі
Склади
В1 В2 В3
А1 8 5 6
А2 4 9 7
ТЗ являє собою завдання лінійного програмування, яку можна вирішувати
симплекс-методом або методом потенціалів. Скористаємося найпростішим способом
вирішення – графічним методом, щоб показати на цьому прикладі, як можна
використовувати графічний мето д при вирішенні будь-якої задачі лінійного
програмування в разі двох невідомих.
Позначимо xij через кількість тон, яке буде перевезено з i-го складу до j-му
споживачеві.
Перевіримо завдання на збалансованість:
сумарне наявність на складах = 120 + 180 = 300 т;
20
сумарна потреба в продукції = 70 + 140 + 90 = 300 т.
З цього випливає, що дана ТЗ збалансована.
Збалансована транспортна матриця представлена в таблиці 5.2.
Таблиця
5.2
Транспортна матриця задачі
Споживачі
Склади Запас, т
В1 В2 В3
А1 8 5 6 120
А2 4 9 7 180
z 8 x11 5 x12 6 x13 4 x21 9 x22 7 x23 min ( тыс. грн. мес.). (5)
21
120 u v 0
70 u 0
140 v 0
(8)
u v 30 0
u 0
v 0
Для того щоб знайти в першій чверті площини Оuv безліч точок, координати яких
задовольняють зазначеним вище нерівностей, необхідно спочатку побудувати такі прямі:
120 u v 0,
70 u 0,
140 v 0,
u v 30 0.
Нерівності (8) визначають на площині (v, u) п'ятикутник з вершинами: (0, 30), (0,
70), (50, 70), (120, 0), (30, 0) (див. Лаб. роботу №1). Лінійна функція F = f(u, v) досягає
найменшого значення в одній з вершин цього п'ятикутника. Неважко переконатися в тому,
що F = Fmin = 1690 при u = 0, v = 120. Отже, ми знайшли оптимальний план перевезень:
x11 0,
x12 120,
x13 0,
x21 70,
x22 20,
x23 90.
2. Рішення транспортних задач в системі TORA.
Щоб отримати в програмі TORA рішення транспортної задачі, в меню Main Menu
виберіть команду Transportation Model (Транспортна модель). Потім в меню
SOLVE / MODIFY виберіть команду Solve> Final solution.
Навчальний режим програми TORA. З меню Solve / Modify виберіть команду
Solve> lterations. Щоб приступити до вирішення транспортної задачі, з появи підміню
виберіть один з трьох методів вирішення (північно-західного кута, найменшою вартістю
або Фогеля). У цьому режимі можна використовувати два корисних інтерактивних кошти.
1. Будь-які значення потенціалів u і v можна прирівняти до нуля перед
обчисленням другої ітерації (за замовчуванням u1 0 ). Якщо ви прирівняли до нуля будь-
якої потенціал, відмінний від u1 , то помітите, що, незважаючи на те, що значення u i і v j
змінилися, значення в небазисних ( ui v j cij ) залишилися незмінними. Це означає, що
спочатку будь-які u і v можуть прирівнюватися до нуля (в дійсності можуть приймати
будь-яке значення), що не впливає на застосування умови оптимальності.
2. Можна самостійно вибрати замкнутий цикл, клацнувши (в будь-якому порядку)
на осередках, які складуть цей цикл. Якщо був зроблений правильний вибір, колір
осередків зміниться (зелений для вводяться змінних, червоний для виключаються змінних
і сірий для інших ). На рис. 5.1 представлено вирішення завдання з лекційної завдання "3
елеватора - 4 млини", отримане в системі TORA із застосуванням методу північно-
західного кута.
3. Завдання.
3.1. Вирішити в системі TORA наступні транспортні завдання. Допустиме
початкове рішення для всіх завдань вибирати трьома можливими методами.
3.1.1. Три нафтопереробні заводи з максимальною щоденної продуктивністю в
6, 5 і 8 млн. Галонів постачають три бензосховищами, щоденна потреба яких складає
22
4, 8 і 7 мільйонів галонів бензину відповідно. Бензин транспортується в
бензосховищами по трубопроводу. Вартість перекачування бензину на одну милю,
розрахована з урахуванням довжини трубопроводу, становить 1 цент на 100
галонів. У таблиці відстаней, наведеної нижче, показано, що завод 1 цієї статті
не пов'язаний зі сховищем 3. Сформулюйте відповідну транспортну задачу.
Бензосховища
1 2 3
1 120 180 -
Заводи 2 300 100 80
3 200 250 120
Продавці Обсяги
1 2 3 4 5 поставок
Центри 1 100 150 200 140 35 400
розподілу 2 50 70 60 65 80 200
3 40 90 100 150 130 150
100 200 150 160 140
3.1.5. (Лекційна транспортна модель.) Заводи автомобільної фірми MG
розташовані в Лос-Анджелесі, Детройті та Новому Орлеані. Основні центри розподілу
продукції зосереджені в Денвері і Майамі. Обсяги виробництва зазначених трьох заводів
дорівнюють 1000, 1500 і 1200 автомобілів щоквартально. Величини квартального попиту в
центрах розподілу становить 2300 і 1400 автомобілів відповідно. Вартість перевезення по
залізниці одного автомобіля на одну милю дорівнює приблизно 8 центам. Відстані в милях
між заводами і центрами розподілу наведені в таблиці.
Денвер Майамі
Лос-Анджелес 1000 2690
Детройт 1250 1350
Новий Орлеан 1275 850
23
Відстані можна перевести в вартість перевезення одного автомобіля (перекладної
коефіцієнт, що дорівнює 0.88 дол./миля). В результаті виходить наступна таблиця
вартостей (округлених до долара), яка містить коефіцієнти сij загальної моделі.
Денвер Майамі
(1) (2)
Лос-Анджелес (1) 80 215
Детройт (2) 100 108
Новий Орлеан (3) 102 68
Тип робіт
1 2 3 4 5
1 10 2 3 15 9
Тип 2 5 10 15 2 4
верстатів 3 15 5 14 7 15
4 20 15 13 - 8
n
�xij 1, j 1, n;
i 1
25
Обмеження першого виду означають, що на кожну i-ю роботу повинен бути призначений
тільки один виконавець. Обмеження другого виду означають, що кожен j-й виконавець
повинен бути призначений для виконання тільки однієї роботи.
Дана задача про призначення відноситься до транспортної за умови ai b j 1. Як і в
транспортній, можна говорити про відкриту (незбалансованої) задачі про призначення,
якщо число робіт відмінно від числа виконавців. Якщо число робіт менше числа
виконавців (m < n) , вводять n m фіктивні роботи (стовпці) з нульовими коефіцієнтами
матриці витрат, cim 1 0, ..., cin 0, i 1, n. В разі ж (m > n) вводять m n фіктивних
виконавців (рядки), які не в змозі виконати запропоновані роботи, а значить, відповідні
елементи матриці витрат можна вважати дуже великими (штрафами М).
Таблиця 6.2.
З1 З2 З3 З4 З5
Р1 10 5 9 18 11
Р2 13 19 6 12 14
Р3 3 2 4 4 5
Р4 18 9 12 17 15
Р5 11 6 14 19 10
26
Аналогічно будується система обмежень по стовпцях:
де bi – підкреслений елемент
Таблиця 6.4
9–5=4 10 5 9 18 11 b1=5
13 19 6 12 14
3–2=1 3 2 4 4 5 b3=2
12–9=3 18 9 12 17 15 b4=9
10–6=4 11 6 14 19 10 b5=6
27
Таблиця 6.5.
10 6 9 18 11
13 20 6 12 14
3
18
3
10
4
12
4
17
5
15
11 7 14 19 10
Таблиця 6.6
10 6 9 18 11
13 20 6 12 14
3 3 4 4 5
18 10 12 17 15
11 7 14 19 10
Таблиця 6.7
9–6=3 10 6 9 18 11 b1=6
13 20 6 12 14
3 3 4 4 5
12 12–10=2 18
10–7=3 11
10
7 14
17
19
15
10
b4=10
b5=7
А С
Так як в стовпці С є ще підкреслений елемент «6», то видалимо три точки,
переводимо стовпець С в множині А (табл. 6.8) і повернемося до кроку 4 (табл. 6.9).
Таблиця 6.8
9–6=3 10 8 9 18 11 b1=6
28
13 22 6 12 14
3 5 4 4 5
12– 18 12 12 17 15 b4=10
10=2
10–7=3 11 9 14 19 10 b5=7
Таблиця 6.9
10–8=2 10 8 9 18 11 b1=8
12–6=6 13 22 6 12 14 b2=6
3 5 4 4 5
15–12=3 18 12 12 17 15 b4=12
10–9=1 11 9 14 19 10 b5=9
А А
Таблиця 6.10
10 9 10 18 11
13 23 7 12 14
3 6 5 4 5
18 13 13 17 15
10 11 10 15 19
Таблиця 6.11
10–9=1 10 9 10 18 11 b1=9
13 23 7 12 14
3 6 5 4 5
13
13
13=0
18
11
13
10 15
17
19
15
10
b4=13
Таблиця 6.12
10–9=1 10 9 10 18 11 b1=9
12–7=5 13 23 7 12 14 b2=7
3 6 5 4 5
13 15–13=2
18
11
13
10 15
17
19
15
10
b4=13
Таблиця 6.13
11–10=1 10 10 11 18 11 b1=10
12–8=4 13 24 8 12 14 b2=8
4–3=1 3 7 6 4 5 b3=3
15–
18 14 14 17 15 b4=14
14=1
11 11 16 19 10
Маємо три однакові мінімальні різниці, рівні 1. Виберемо ту, яка допоможе
29
«заповнити» підкресленим елементом четвертий стовпець (табл. 6.14, 6.15).
Таблиця 6.14
10 10 11 18 11
13 24 8 12 14
4 3
18
7
14
6
14 17
5
15
11 11 16 19 10
Таблиця 6.15
10
10–10=0
– 13
10
24
11
8
18
12
11
14
– 3 7 6 4 5
14–14=0 18 14 14 17 15
– 11 11 16 19 10
Т=10+9+6+4+10=39.
3. Завдання.
Вирішіть наведені нижче задачі про призначення:
a) Вирішіть завдання угорським методом.
b) За допомогою програми TORA вирішите завдання як транспортні.
з ) Вирішіть завдання методом Мака.
3.1.Трое дітей Джоя Кліні – Джон, Карен і Террі – бажають підзаробити трохи
грошей на шкільну екскурсію в місцевий зоопарк. М-р Кліні вибрав три види робіт, які
діти виконати можуть за певну плату: стрижка газону, прибирання гаража і
мийка сімейного автомобіля. Щоб уникнути непотрібних суперечок між дітьми, він
попросив кожного (звичайно, по секрету), скільки за кожен вид робіт вони хочуть
отримати. Результати опитування (в дол.) представлені в табл.6.17.
Таблиця 6.17
30
Як ґрунтуючись на цій інформації, розподілити роботи між дітьми з
мінімальними (грошовими) втратами для м-ра Кліні?
3.2. Дана наступна задача розподілу чотирьох робочих за чотирма видами
робіт. Різна кваліфікація робітників обумовлює різну вартість виконання робіт. Вартість
робіт (дол.) Приведена в табл. 6.18. Відзначимо, що перший робітник не може
виконувати роботу 3, а третій – роботу №4. Знайдіть оптимальне рішення.
Таблиця 6.18.
3.3. Нехай в задачі з попередньої вправи можна ввести нового (п'ятого) робітника,
здатного виконати будь-який вид робіт з вартістю відповідно 60, 45, 30 і 80 дол. Чи буде
економічно вигідним замінити одного з "працюють" робочих новим?
3.4. Нехай в задачі з вправи 3.2. необхідно ввести новий вид роботи, який може
виконати будь-який з чотирьох робітників, з вартістю відповідно 20, 10, 20 і 80 дол. Чи
буде нова робота більш вигідною в порівнянні з наявними?
3.5. Бізнесмен повинен зробити чотири поїздки туди і назад зі свого головного
офісу в Далласі в філію в Атланті (дані про поїздки наведені в табл. 6.19). Квиток туди і
назад, тобто Даллас-Атланта-Даллас, коштує 400 дол. Знижка 25% надається тоді, коли
дати відправлення і прибуття збігаються з вихідними днями (субота та неділя). Якщо в
квитку між датами прибуття в Атланту і відправлення з неї не менше 21 дня, то знижка
збільшується до 30%. Квиток в одну сторону (в обидва напрямки) коштує 250 дол. Яку
мінімальну суму може витратити на квитки бізнесмен?
Таблиця 6.19
4. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
Лабораторна робота №7
C1 1 и С1 2,3,4,5,6 .
Послідовні ітерації виконання алгоритму представлені на рис. 2. Тут тонкими
лініями показані ребра, що з'єднують вузли, що належали множинам C k і C k , серед яких
шукається ребро з мінімальною вартістю (довжиною). Це знайдене ребро показано
пункт ірной лінією. Товстими суцільними лініями позначені ребра, що з'єднують вузли
множини C k (і які раніше позначалися пунктирними лініями).
Ітерація 1 Ітерація 2
32
Ітерація 3 Ітерація 4
Ітерація 5 Ітерація 6
(Мінімальне остовне дерево)
Наприклад , на першій ітерації ребро (1, 2) має найменшу вартість (тобто найменша
відстань між пунктами мережі) серед всіх інших ребер, що з'єднують вузол 1 з вузлами
множини C k (відзначимо, що вузол 6 не має ребра, безпосередньо з'єднує його з
у злом 1). Тому j = 2 і C 2 1,2 , C 2 3,4,5,6 .
Програма TORA може знаходити мінімальне остовне дерево. Для цього з меню
Main menu виберете команду Network model => Minimal spanning tree (Мережеві моделі =>
Мінімальне остовне дерево). Далі меню SOLVE / MODIFY виберіть команду Solve problem
=> Go to output screen (Вирішити завдання => Перейти до вихідного вікна). У вихідному
вікні клацніть на кнопці Starting node (Початковий вузол) і потім отримання рішення. Щоб
отримати рішення з новим початковим вузлом, клацніть на кнопці Starting node.
2.2. Завдання по розділу 1.
2.2.1. Вирішити в програмі TORA з прикладу 2.1.
2.2.2. Вирішити задачу з прикладу 2.1, починаючи з вузла 5 (замість вузла 1), і
переконатися, що отримано те ж саме рішення.
2.2.3. Знайти мінімальне остовне дерево для мережі з прикладу 6.2.1 при виконанні
кожного з наступних умов окремо:
вузли 5 і 6 пов'язані 2-мильним кабелем;
вузли 2 і 5 не пов'язані;
вузли 2 і 6 пов'язані 4-мильним кабелем;
вузли 1 і 2 пов'язані кабелем довжиною 8 миль;
вузли 3 і 5 пов'язані кабелем довжиною 2 миль;
вузол 2 не пов'язаний безпосередньо з вузлами 3 і 5.
33
2.2.4. У модульних перевезеннях навантажені трейлерні платформи перевозяться
залізницею між спеціальними перевалочними залізничними терміналами, де платформи
знову приєднуються до трейлерам і далі йдуть до споживачів по автомобільним дорогам.
На рис. 4 показані основні залізничні термінали Сполучених Штатів і існуючі залізничні
колії між ними. Виділіть сегменти залізниць так, щоб зв'язати всі залізничні термінали і
мінімізувати сумарну вартість перевезень трейлерних платформ (вартість перевезень
пропорційна довжині залізничних колій).
2.2.5. На рис. 5 показані відстані між платформами, видобувними газ у відкритому
морі, і прийомним пунктом, розташованим на березі. Оскільки платформа 1 ближчі до
берега, вона оснащена необхідним обладнанням для перекачування газу від інших
платформ до приймального пункту. Спроектуйте мережу трубопроводів мінімальної
довжини, що з'єднує приймальний пункт з усіма видобувними платформами.
34
Рис. 4. Мережа для задачі 2.2.4.
36
3.2.4. Знайдіть найкоротші шляхи між вузлом 1 та усіма іншими вузлами мережі,
представленої на рис. 9.
3.2.5. У задачі з рис. 10 визначте найкоротші шляхи між наступними парами вузлів.
a) Від вузла 5 до вузла 1.
b) Від вузла 3 до вузла 5.
c) Від вузла 5 до вузла 3.
d) Від вузла 5 до вузла 2.
3.2.6. Застосуйте алгоритм Флойда до мережі, показаної на рис. 11. Зауважте, що ребра (7,
6) і (6, 4) орієнтовані. Визначте найкоротші шляхи між наступними парами вузлів:
a) Від вузла 1 до вузла 7.
b) Від вузла 7 до вузла 1.
c) Від вузла 6 до вузла 7.
3.2.7. Телефонна компанія обслуговує шість віддалених один від одного районів, які
пов'язані мережею, показаної на рис. 12. Відстані на схемі мережі вказані в
милях. Компанії необхідно визначити найбільш ефективні маршрути пересилання
повідомлень між будь-якими двома районами.
37
Рис. 12 Мережа для задачі 3.2.7.
Рис.13. Дві ітерації програми TORA в рішенні задачі про максимальний потік.
38
Рис. 14. Мережа для пошуку максимального потоку.
39
Рис.16. Нафтопровідна мережа для задачі 4.2.3.
Ферми
1 2 3 4
1 30 5 0 40 20
Зерносховища 2 0 0 5 90 20
3 100 40 30 40 200
200 10 60 20
40
4.2.6. Нехай в задачі з попередньої вправи можливе транспортування зерна між
зерносховищ 1 і 2, а також 2 і 3. Крім того, можливе транспортування між фермами 1 і 2, 2
і 3, 3 і 4. Максимальна пропускна спроможність в обох напрямках у здавалося маршрутів
складає 50 тисяч фунтів. Як дані припущення позначаться на забезпеченні поки
незадоволеного попиту птахівничих ферм?
4.2.7. Батьки мають п'ять дітей підліткового віку, яких щодня залучають до п'яти
видів домашньої роботи. Досвід трудового виховання дітей показав, що примусове
(силове) призначення на роботу здатна породжувати конфлікти. Тому діти самі
склав і список своїх переваг, котрі наведено в таблиці нижче.
Ребенок Предпочтительные работы
Ральф 3,4 или 5
Мэй 1
Бен 1 или 2
Ким 1, 2 или 5
Кен 2
Кожен студент може бути прийнятий тільки в одну секцію. Чи можуть бути
представлені в раді всі чотири студентських суспільства?
5. Зміст звіту.
41
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
Лабораторна робота №8
xij 1, xij
j
1, xij
i , jA
A 1,
()
i
0
xij 0 xij .
1
В обмеженні () А – власні підмножини безлічі міст; |А| - кількість елементів такого
підмножини. Фактично умова () забороняє «передчасні цикли».
Маючи деяку матрицю відстаней, ми можемо з якого-небудь рядка (стовпчика)
відняти довільне позитивне число. Рішення завдання про комівояжера з цієї зміненої
42
матрицею відстаней збігається з рішенням без зміни, а довжина маршруту зменшується на
від’ємне число.
Якщо цю операцію виконати і для інших рядків і стовпців, то довжина маршруту
буде відрізнятися на суму всіх чисел, що віднімаються з рядків і стовпців. Сам процес
називається приведенням матриці.
Шлях - послідовність дуг, в якій кінець кожного попереднього дуги є початком
наступної. Шлях, в якому ніяка вершина не зустрічається двічі, називається
елементарним. Елементарний шлях, що проходить через всі вершини називається
Гамільтона.
Контур - кінцевий шлях, початкова вершина якого збігається з кінцевою.
Граф називається повним, якщо будь-які дві його вершини з'єднані хоча б в одному
напрямку.
Задача про комівояжера – задача відшукання гамільтонового контуру найкоротшої
довжини в повному графі.
Обмеження (), узяте для кожного підмножини безлічі дуг, забороняє утворення
«мікроконтурів», єдиний одержуваний контур – гамільтонів.
Метод гілок і меж для задачі про комівояжера. Для вирішення завдання про
комівояжера застосовується метод гілок і меж, що відноситься до методів дискретної
оптимізації. По суті, це майже повний перебір маршрутів, який оптимізується за рахунок
того, що при переборі варіантів за певними ознаками відсікаються з великою часткою
ймовірності неоптимальні безлічі перебору. Так як кількість вершин від рівня до рівня
зростає в факторіальною прогресії, то відсікання вершин верхніх рівнів значно
скорочує загальне число перебираються варіантів.
Загальна схема методу:
Вся множина розбивається на n-1 підмножин, кожне з яких характеризується
верхньої та нижньої оцінками.
Виробляється відсів неоптимальні множин з такого критерію: якщо нижня оцінка
(рішення релаксованої задачі) більше мінімальної з верхніх оцінок (рішень нерелаксованої
завдання), то множина вважається очевидно неоптимальною і відсікається, в
іншому випадку залишається до наступної ітерації.
Знаходиться безліч з кращого нижньої оцінкою (прогнозом) і дробиться на кількість
рівне розмірність вихідної матриці мінус кількість вже пройдених (фіксованих для даного
безлічі) міст.
Знаходяться мінімальні верхня і нижня оцінка. Якщо вони рівні і досягнуті на
одному й тому самому безлічі, то це означає, що отримано оптимальне рішення і алгоритм
закінчує роботу, інакше повернення до кроку 2.
Нехай задана матриця відстаней задачі про комівояжера (табл. 8.1). В осередку (i, j)
представлено відстань з міста i в місто j.
Таблиця 8.1
i j
1 27 43 16 30 26
2 7 16 1 30 25
3 20 13 35 5 0
4 21 16 25 18 18
5 12 46 27 48 5
6 23 5 5 9 5
43
Значення відстаней беремо з вихідної таблиці (див. табл. 13.1): L = 43 + 13 + 30 + 5
+ 9 + 21 = 121.
Розглянемо алгоритм методу гілок і меж в його найпростішій реалізації.
Приведення матриці:
по рядках - шукаємо мінімальний елемент рядка (табл. 8.2) і віднімаємо його з усіх
її елементів (табл. 8.3).
Таблиця 8.2.
mi
j
i n
1 2 3 4 5 6
1 27 43 16 30 26 16
2 7 16 1 30 25 1
3 20 13 35 5 0 0
4 21 16 25 18 18 16
5 12 46 27 48 5 5
6 23 5 5 9 5 5
43
Таблиця 8.3.
j min
i
1 2 3 4 5 6
1 11 27 0 14 10
2 6 15 0 29 24
3 20 13 35 5 0
4 5 0 9 2 2
5 7 41 22 43 0
6 18 0 0 4 0
по стовпчиках (табл. 8.4, 8.5). У нижньому рядку табл. 8.4 стоять мінімальні
елементи стовпців.
Константа приведення дорівнює 5.
Таблиця 8.4
j
i
1 2 3 4 5 6
1 – 11 27 0 14 10
2 6 – 15 0 29 24
3 20 13 – 35 5 0
4 5 0 9 – 2 2
5 7 41 22 43 – 0
6 18 0 0 4 0 –
mi 5 0 0 0 0 0 5
n
Таблиця 8.5
j
i
1 2 3 4 5 6
1 11 27 0 14 10
2 1 15 0 29 24
44
3 15 13 35 5 0
4 0 0 9 2 2
5 2 41 22 43 0
6 13 0 0 4 0
Таблиця 8.7
j
i
1 2 3 5 6
2 1 – 15 29 24
3 15 13 – 5 0
4 0 0 9 2 2
5 2 41 22 – 0
6 13 0 0 0 –
все цициклы
Все клы
i, j i, j
k,l k,
i, lj
… …
Рис.8.1
Початок розгалуження - перша сума констант приведення (рис. 8.2). Далі зліва
додається , праворуч - h, де h - сума констант приведення такої таблиці.
3. Формування шуканого маршруту (рис. 8.3).
45
4
8
+
10
Рис.8.3
5
81,4 ,1
14,…
4
5
8
Рис. 8.2
Таблиця 8.8
j
i
1 2 3 5 6
2 1 15 29 24
3 15 13 5 0
4 ∞ 0 9 2 2
5 2 41 22 0
6 13 0 0 0
Таблиця 8.10
j
i
1 2 3 5 6
2 0 – 14 28 23
3 15 13 – 5 0
4 ∞ 0 9 2 2
5 2 41 22 – 0
6 13 0 0 0 –
min 0 0 0 0 0 0
46
48
+10 +1
58 1,4 1,4 49
58
… …
Рис.8.4
Таблиця 8.11
j
i θ
1 2 3 5 6
14+2=θ=1
2 0 – 14 28 23
6
3 15 13 – 5 0 5+0=5
4 ∞ 0 9 2 2 0+2=2
5 2 41 22 – 0 2+0=2
0+0=0
6 13 0 0 0 – 0+9=9
0+2=2
5
81,4 ,4 4
1 9
58 +
16
6
52,1 2
,1
…
Рис. 8.5
4
Рис.8.6.
47
Таблиця 8.12
j
i min
2 3 5 6
3 13 – 5 0 0
4 ∞ 9 2 2 2
5 41 22 – 0 0
6 0 0 0 – 0
2
48
+10 +1
58 1,4 ,4 49
1
58 +16 +2
65 2,1 2,1 51
…
… …
Рис.8.7
Таблица 8.13
i j θ
2 3 5 6
3 13 – 5 0 5+0=5
4 ∞ 7 0 0 5+0=5
0+0=0
5 22+0=θ=
41 22 – 0 22
13+0=1
3
6 0 0 0 – 7+0=7
0+0=0
48
+10 +1
58 1,4 1,4 49
58 +16 +2
65 2,1 2,1 51
+22 …
73 5,6 5,6
… …
48
Рис. 8.8.
2 6
1 5
Рис. 8.9.
Таблиця 8.24
i j min
2 3 5
3 13 – 5 5
4 ∞ 7 0 0
6 0 0 0
5
48
+10 +1
58 1,4 1,4 49
58 +16 +2
65 2,1 2,1 51
+22 … +5
73 5,6 5,6 56
… …
… …
Рис.8.10
Знайдемо значення θ (табл. 8.15).
Таблиця 8.15
i j
θ
2 3 5
8+0=θ=
3 8 0 8
4 ∞ 7 0 7+0=7
0+8=8
6 0 0 ∞
0+7=7
49
Розбиття множини (5,6) на два підмножини – що не містить і містить дугу (3,5) -
представлено на рис. 8.11.
48
+10 +1
58 1,4 1,4 49
58 +16 +2
65 2,1 2,1 51
…
+22 +5
73 5,6 5,6 56
… …
+8
64 3,5 3,5
…
Рис. 8.11.
2 6
1 5
4 3
Рис. 8.12
Матриця для вершини (3,5) приведена в табл. 8.16.
Таблиця 8.16
j
i
2 3
4 ∞ 7
6 0 ∞
50
48
+10 +1
58 1,4 1,4 49
58 +16 +2
65 2,1 2,1 51
+22 … +5
73 5,6 5,6 56
… …
+8 +7
64 3,5 3,5 63
Рис. 8.13
2 6
1 5
4 3
Рис. 8.14
4. Оптимальний маршрут:
51
Рис. 8.15
Таблиця 8.17
i j
1 2 3 4 5 6
1 11 27 14 10
2 1 15 0 29 24
3 15 13 35 5 0
4 0 0 9 2 2
5 2 41 22 43 0
6 13 0 0 4 0
При цьому необхідно «привести» відповідні рядок і стовпець: в нашому прикладі
це (1 і 4). Матриця представлена в табл.8.18
Таблиця 8.18
j
i
1 2 3 4 5 6
1 1 17 4 0
2 1 15 0 29 24
3 15 13 35 5 0
4 0 0 9 2 2
5 2 41 22 43 0
6 13 0 0 4 0
52
Рис. 8.16
53
Рис. 8.17. Вхідна форма рішення задачі про комівояжера.
54
3. Завдання. Вирішити завдання, сформулювавши їх як завдання комівояжера,
методом гілок і меж в програмі TORA.
3.1. Денний графік роботи підприємства, що виробляє фарби, включає
виготовлення партій білої (Б), жовтої (Ж), червоною (К) і чорної (Ч) фарб. Так як
підприємство використовує один і той же обладнання для виготовлення всіх чотирьох
типів фарби, необхідна його належна чистка між виготовленням різних партій фарби.
Наведена нижче таблиця містить час чищення обладнання в хвилинах, якщо за
виготовленням фарби, зазначеної в рядку, слід виготовлення фарби, зазначеної в стовпці.
Наприклад, якщо за білою фарбою слід жовта, то час чищення дорівнює 10
хвилин. Оскільки за певним кольором фарби не може йти за такою ж колір, то відповідний
час чистки вважається рівним нескінченності. Необхідно визначити оптимальну
послідовність денного виробництва чотирьох типів фарби, яка мінімізує сумарний час
чищення обладнання.
55
Необхідно скласти маршрут руху продавця книг, що мінімізують сумарне
відстань. Сформулюйте задачу у вигляді задачі про призначення ЦЛП і вирішите методом
гілок і меж.
4. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
Лабораторна робота №9
Тема: Динамічне програмування.
Мета: знайомство з завданнями динамічного програмування, вивчення різних
методів вирішення.
1. Короткі теоретичні відомості
1.1 Загальна схема розв'язання задач динамічного програмування.
Для вирішення завдань динамічного програмування необхідно виконати наступні
дії:
1. Визначити етапи.
2. Визначити на кожному етапі варіантів рішення (альтернатив).
3. Визначити стану на кожному етапі.
З перерахованих вище елементів поняття стану, як правило, є досить складним для
сприйняття. Розглянуті в цьому розділі програми послідовно показують, що визначення
стану змінюється в залежності від модельованої ситуації. При розгляді кожного додатка
корисно відповісти на наступні питання.
1. Які співвідношення пов'язують етапи разом?
2. Яка інформація необхідна для того, щоб отримати допустимі рішення на
поточному етапі без повторної перевірки рішень, прийнятих на попередніх етапах?
1.2. Задача про завантаження
Задача про завантаження – це завдання про раціональну завантаженні судна (літака,
автомашини тощо), яке має обмеження за обсягом або вантажопідйомності. Кожен
поміщений на судно вантаж приносить певний прибуток. Завдання полягає у визначенні
завантаження судна такими вантажами, які приносять найбільшу сумарну прибуток.
Перед тим як представити співвідношення динамічного програмування, зауважимо,
що розглянута тут завдання відома також як задача про спорядженні, де пілот реактивного
літака повинен визначити найбільш цінні (необхідні) предмети, які слід взяти на борт
літака, або як завдання про рюкзаку, в якій солдат (або турист) повинен визначити
найбільш цінні предмети, що підлягають завантаженню в ранець (рюкзак), Здається, що
три згаданих назви для однієї і тієї ж задачі були обрані для того, щоб гарантувати рівне
представництво військово-морського флоту, повітряних сил і армії!
Рекурентне співвідношення процедури зворотного прогону виводиться для
загальної задачі завантаження судна вантажопідйомністю W предметів (вантажів) n
найменувань. Нехай mi — кількість предметів i-го найменування, що підлягають
завантаженню, ri — прибуток, яку приносить один завантажений предмет i-го
найменування, wi — вага одного предмета i-го найменування. Загальна задача має вигляд
наступної цілочисельної задачі лінійного програмування.
Максимізувати z=r1m1+r2m2+...+rnmn за умови, що
w1m1+w2m2+...+wnmn W,
m1,m2,...,mn 0 и целые.
Три елемента моделі динамічного програмування визначаються в такий спосіб.
56
1. Етап i ставиться у відповідність предмету i-го найменування, i = 1, 2, ..., n.
2. Варіанти вирішення на етапі i описуються кількістю mi, предметів i-го
найменування, що підлягають завантаженню. Відповідний прибуток дорівнює
rimi. Значення mi укладено в межах від 0 до [W/wi], где [W/wi] — ціла частина числа W/wi.
3. Стан xi на етапі i висловлює сумарна вага предметів, рішення про завантаження
яких прийняті на етапах i, i+1, ..., n. Це визначення відображає той факт, що обмеження по
вазі є єдиним, яке пов'язує п етапів разом.
Нехай fi(xi) — максимальна сумарна прибуток від етапів i, i+1, ..., n при заданому
стані xi. Найпростіше рекурентне співвідношення визначається за допомогою наступної
двокрокової процедури.
Шаг 1. Виразимо fi(xi) як функцію fi+1(xi+1) в вигляді
f i ( xi ) max {ri mi f i 1 ( xi 1 )}, i 1,2..n
mi 0 ,1..[ w / wn ]
xi 0 ,1..,W
де fn+1(xn+1) = 0.
Шаг 2. Виразимо xi+1 як функцію хi для гарантії того, що ліва частина останнього
рівняння є функцією лише xi. За визначенням хi—xi+1 представляє собою вага,
завантажений на етапі i, тобто xi+xi+1=wimi або xi+1=xi–wimi. Отже, рекурентне
співвідношення набуває такого вигляду.
f i ( xi ) max {ri mi f i 1 ( xi wi mi )}, i 1,2..n
mi 0 ,1..[ w / wn ]
xi 0 ,1..,W
3. Варіанти завдань
1. У 6-тонний літак завантажуються предмети трьох найменувань. Наведена нижче
таблиця містить дані про вагу одного предмета wi (в тонах) і прибутку ri (в тисячах
доларів), одержуваної від одного завантаженого предмета. Як необхідно завантажити
літак, щоб отримати максимальний прибуток?
Предмет i wi r i
1 4 70
2 1 20
3 2 40
Так як вага одного предмета wi для всіх найменувань і максимальна вага W
приймають цілочисельні значення, стан xi може приймати лише цілочисельні значення.
2. Вирішіть попередню задачу про завантаження. Загальна вантажопідйомність – 4 тон.
Предмет i wi ri
1 1 30
2 2 60
3 3 80
60
механізму, який знаходиться в експлуатації 6 років. Вартість нового механізму дорівнює
100000 доларів..
Вартість обслуговування c(t) Залишкова вартість s(t)
Вік t (роки) Прибуток r(t) ($)
($) ($)
0 20000 200 —
1 19000 600 80000
2 18500 1200 60000
3 17200 1500 50000
4 15500 1700 30000
5 14000 1800 10000
6 12200 2200 5000
Побудуйте мережу і знайдіть оптимальне рішення в задачі в кожному з наступних
випадків.
a) На початку першого року є механізм, що знаходиться в експлуатації 2 роки.
b) На початку першого року є механізм, що знаходиться в експлуатації 1 рік.
c) На початку першого року куплений новий механізм.
14. Хлопчик займається власним бізнесом- косить газони десяти клієнтам. Кожному
клієнту він косить траву три рази в рік, отримуючи за один скошений газон 50 доларів. Він
купив косарку за 200 доларів. Протягом першого року витрати на утримання та
використання косарки рівні 120 доларів, і через рік вони збільшуються на 20%. Однорічна
косарка може бути продана за 150 доларів, і з кожним роком її вартість зменшується на
10%. Мій син планує продовжити свій бізнес, поки їй не виповниться 16 років, і вважає,
що більш вигідно змінювати косарку через кожні два роки. Він пояснює це тим, що ціна
нової косарки збільшується за рік лише на 10%. Чи справедливо його рішення?
15. Група ферм володіє трактором дворічної давності і планує розробити стратегію його
заміни на наступні п'ять років. Трактор повинен експлуатуватися не менше двох і не
більше п'яти років. В даний час новий трактор коштує 40 000 доларів, і ця ціна за рік
збільшується на 10%. Поточна річна вартість експлуатації трактора становить 1300 доларів
і, як очікується, буде збільшуватися на 10% в рік.
a) Сформулюйте задачу у вигляді завдання про найкоротшому шляху.
b) Побудуйте відповідне рекурентне співвідношення.
c) Визначте оптимальну стратегію заміни трактора на наступні п'ять років.
16. Розглянемо задачу заміни обладнання на протязі n років. Ціна нової одиниці
обладнання дорівнює з доларів, а вартість продажу після t років експлуатації дорівнює
s(t)=2(n–1) при n>t t і нулю – в іншому випадку. Річна прибуток від експлуатації є
функцією віку обладнання t і дорівнює r(i)=n2–12 при n>t і нулю – в іншому випадку.
a) Сформулюйте задачу як модель динамічного програмування.
b) Визначте оптимальну стратегію заміни обладнання дворічної давності при с = 10000
доларів, вважаючи, що n = 5.
4. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
.
61
Мета роботи: придбання практичних навичок в знаходженні ейлерових і
гамільтонових циклів в неорієнтованих графах, рішення задач «китайського листоноші» і
комівояжера
1. Теоретична довідка.
Ейлерові цикли
Ейлерів цикл – цикл, що містить всі ребра вихідного графа (кожне ребро
використовується рівно 1 раз).
Ейлерів граф – зв'язний граф, що містить Ейлерів цикл.
Наприклад:
G2:
G1:
2рази
62
V1
9 1
V6 V2
8 5 2
7 3
6 4
V5 V3
V4
Теорема Дирака
Якщо число вершин графа p 3 і для будь-якої вершини виконується умова vi, i =
p
1, p ; deg vi , то граф G – гамільтонів
2
Теорема Оре
Якщо число вершин графа p 3 і для будь-яких двох несуміжних вершин u і v
виконується нерівність: deg u + deg v p, то граф G – гамільтонів
Наприклад:
4. Контрольні питання
1.Визначення ейлерева циклу, графа.
2.Сформуліровать критерій існування в графі ейлерового циклу.
3.Какой граф називається Гамільтона? Дати визначення Гамільтона циклу.
4. Сформулювати теореми Оре і Дірака
5. Що знаходять завдання китайського листоноші, завдання комівояжера?
GV ( p,X ) : A[1:p,1:p],где
p - кількість вершин в графі;
X - параметр генерації (множина цілих);
А - матриця суміжності неорієнтованого графа.
S = <прізвище> <ім'я> <по батькові>
n (c) - функція – номер букви в алфавіті (1..32)
N(si) 19 10 5 16 18 3 1 15 17 6 20 25
19 10 5 16 18 3 1
19 0 9 14 3 1 16 18
10 9 0 5 6 8 7 9
5 14 5 0 11 13 2 4
Y= 16 3 6 11 0 2 13 15
18 1 8 13 2 0 15 17
3 16 7 2 13 15 0 2
1 18 9 4 15 17 2 0
1 2 3 4 5 6 7
1 0 1 1 1 0 1 1
2 1 0 0 1 1 0 1
3 1 0 0 0 0 1 1
4 1 1 0 0 1 0 1
A= 5 0 1 0 1 0 1 0
6 1 0 1 0 1 0 1
7 1 1 1 1 0 1 0
G1 :
2
1
4
6
65
6. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання.
5. Висновки по роботі.
дійсні значення.
Безкоаліційна гра називається грою з постійною сумою, якщо існує таке постійне C,
что H
iI
i ( s ) C для всіх ситуацій s S .
Ситуація s в грі називається прийнятною для гравця i, якщо цей гравець, змінюючи в
ситуації s свою стратегію si на будь-яку іншу si', не може збільшити свого виграшу.
Ситуація s, прийнятна для всіх гравців, називається ситуацією рівноваги.
Процес знаходження ситуації рівноваги в безкоаліційній грі є процес вирішення гри.
Матричні ігри
Гра називається парною, якщо в ній стикаються інтереси двох супротивників. Гра
називається з нульовою сумою, якщо один гравець виграє стільки, скільки другий програє
в тій же партії.
Кожна фіксована стратегія, яку може вибрати гравець, називається його чистою
стратегією.
Матричної називають парну гру з нульовою сумою за умови, що кожен гравець має
кінцеве число чистих стратегій.
Нехай перший гравець має m чистих стратегій, а другий – n.
66
Парна гра з нульовою сумою задається 'формально системою чисел - матрицею a ij mn ,
елементи якої визначають виграш першого гравця (і відповідно програш другого), якщо
перший гравець вибере i-й рядок (i-ю стратегію), а другий гравець j-й стовпець (j-у
стратегію). Матриця a ij називається платіжною матрицею або матрицею гри.
m n
Чисті стратегії
Гарантований виграш першого гравця, що застосовує чисту i-ю стратегію,
ij min aij
1 j n
67
Змішані стратегії
Якщо позначити через x1, x2, …, xm ймовірності (частоти), з якими перший гравець
вибирає відповідно першу, другу,. . ., m-ю чисту стратегію, так що через
m
xi 0, i 1,2,..., m, xi 1 ; через y1, y2, …, yn ймовірності, з якими другий гравець
i 1
n
вибирає першу, другу, ,.., n-ю свою чисту стратегію, причому yi 0, i 1,2,..., n, y i 1 ,
i 1
то набори чисел x=( x1, x2, …, xm) і y=(y1, y2, …, yn) називаються змішаними стратегіями
першого і другого гравців відповідно. Кожен гравець має безліч змішаних стратегій. Безліч
змішаних стратегій першого гравця позначимо через s1 і безліч змішаних стратегій другого
гравця – через s2.
Завдання першого гравця полягає у виборі такої стратегії x* s1 щоб при відсутності
інформації про вибір іншого максимізувати свій виграш. Завдання другого гравця полягає
у виборі такої стратегії y* s2 , щоб при відсутності інформації про поведінку першого
гравця мінімізувати виграш першого.
Якщо перший гравець застосовує стратегію x s1 , а другий - стратегію y s 2 то
середній виграш M(x, y) першого гравця дорівнює
m n
M ( x, y ) aij xi y j
i 1 j 1
стратегій, таких, як y
(5)
( 1 ,0, 1 , 1 ), y ( 6) ( 1 , 1 , 1 , 1 ), y ( 7 ) ( 1 , 1 , 1 , 1 ) ,
4 4 2 3 5 4 4 20 5 2 4
що є елементами множини
s 2 { y : y ( y1 , y 2 , y3 , y 4 ), y1 0, y 2 0, y3 0, y 4 0, y1 y 2 y3 y 4 1}
Стратегія х*, при якій гарантований виграш першого гравця досягає максимального
значення, називається оптимальною стратегією першого гравця:
a ij xi v, j 1,2,..., n a j 1
ij y j u , j 1,2,..., m
i 1
m n
xi 1 y j 1
j 1
i 1
xi 0, i 1,2,..., m y j 0, j 1,2,..., n
69
m n
f i (min), f j (max),
i 1 j 1
m n
a ij i 1, j 1,2,..., n a
j 1
ij j 1, i 1,2,..., m
i 1
i 0, i 1,2,..., m j 0, j 1,2,..., n
70
Стратегія j 0 для другого гравця є домінуючою, якщо існує така стратегія j 1 другого
гравця, що
aij1 aij0 , i 1,2,..., m
3 7 2 1 5 8
A 4 9 3 6 2 1
2 3 1 4 9 20
У чистих стратегіях рішення гри немає, так як
v max min aij 1
i j
v<v
Спростимо матрицю A, помітивши, що
ai 2 ai1 , i 1,2,3
ai1 ai 3 , i 1,2,3
1 1
a1 j a2 j a3 j , j 3,4,5
2 2
ai 4 ai 3 , i 2,3
2 x 1 7 x 9,
9 x 8,
x8 ;
9
x * ( 8 , 1 ); y * ( 7 , 2 ), v * 25
9 9 9 9 9
Вихідна задача з матрицею А має наступне рішення:
v* 25 ; x* (0, 8 , 1 ); y* (0,0, 7 ,0, 2 ,0) .
9 9 9 9 9
71
3) Якщо завдання теорії ігор не має рішення в чистих стратегіях і не може бути
вирішена графічно, то для отримання точного рішення гри використовують методи
лінійного програмування. Доцільно завдання другого гравця вирішувати симплекс-
методом. У останній симплекс-таблиці, що містить оптимальне рішення задачі другого
гравця, можна знайти і оптимальне рішення двоїстої задачі – задачу першого гравця.
Приклад 3. Отримати рішення задачі теорії ігор, якщо матриця виграшів першого
гравця відома:
0 2 7 4
A 1 1 4 2
2 0 1 1
Очевидно, що матриця А не має сідлової точки і що графічний спосіб вирішення
неприйнятний.
Побудуємо пару взаємно двоїстих задач лінійного програмування, еквівалентну
~
грі з матрицею A A 2 . Маємо:
f 1 2 3 4 (max) 1 2 3 (min)
21 9 3 6 4 1 21 2 4 3 1
3 6 1 3 2 1
1 2 3 2 3
41 2 2 3 3 4 1 91 6 2 3 1
j 0, j 1,2,3,4 i 0, i 1,2,3
Зведемо задачу другого гравця до канонічної задачі мінімізації
f ' 1 2 3 4 (min)
21 93 6 4 5 1
3 6 1
1 2 3 6
41 2 2 3 3 4 7 1
j 0, j 1,2,...,7
і складемо симплекс-таблицю, яка наведена до базису A5 , A6 , A7 опорного
рішення (0,0,0,0,1,1,1) :
72
1 2 3 4 5 6 7 1 2 3 4 5 6 7
2 0 9 6 1 0 0 1 2 0 9 6 1 0 0 1
1 3 6 0 0 1 0 1 1/3 1 2 0 0 1/3 0 1/3
4 2 1 3 0 0 1 1 10/3 0 -3 3 0 -2/3 1 1/3
1 1 1 1 0 0 0 0 2/3 0 -1 1 0 -1/3 0 -1/3
1 2 3 4 5 6 7
-14/3 0 15 0 1 4/3 -2 1/3
1/3 1 2 0 0 1/3 0 1/3
10/3 0 -1 1 0 -2/9 1/3 1/9
-4/9 0 0 0 0 -1/9 -1/3 -4/9
73
Рис. 10.1. Умова завдання гри з нульовою сумою
3. Завдання.
Вирішити такі задачі теорії ігор.
74
Рис. 10.3. Рішення гри з нульовою сумою як завдання ЛП.
3.1. Дві компанії А і В продають два види ліків проти грипу. Компанія А рекламує
продукцію на радіо (А1), телебаченні (А2) і в газетах (А3). Компанія В, на додаток до
використання радіо (B1), телебачення (В2) і газет (В3), розсилає також поштою брошури
(В4). Залежно від уміння і інтенсивності проведення рекламної кампанії, кожна з компаній
може залучити на свою сторону частину клієнтів конкуруючої компанії. Наведена нижче
матриця характеризує відсоток клієнтів, залучених або втрачених компанією А.
3.2. Дві фірми виробляють два конкуруючих товару. Кожен товар в даний час
контролює 50% ринку. Поліпшивши якість товарів, обидві фірми збираються розгорнути
рекламні кампанії. Якщо вони не будуть цього робити, то існуючий стан ринку не
зміниться. Однак якщо яка-небудь фірма буде більш активно рекламувати свої товари, то
інша фірма втратить відповідний відсоток своїх споживачів. Дослідження ринку показує,
що 50% потенційних споживачів отримують інформацію за допомогою телебачення, 30% -
через газети і 20% - по радіо. Сформулюйте задачу у вигляді гри двох осіб з нульовою
сумою і виберіть відповідні кошти реклами для кожної фірми.
3.3. На заміському пікніку дві команди, по дві особи в кожній, грають в хованки. Є
чотири місця, де можна сховатися (А, Б, В і Г), і два члени ховається команди можуть
сховатися кожен окремо в будь-яких двох з чотирьох місць. Потім інша команда має
можливість перевірити будь-які два місця. Команда, яка шукає, отримує премію, якщо
будуть виявлені обидва учасники ховається команди, коли ота жінка не виявлено жоден
учасник, то вона виплачує премію. Інакше гра закінчується внічию. Сформулюйте задачу у
вигляді гри двох осіб з нульовою сумою. Визначте оптимальні стратегії і ціну гри.
3.4. Університетські команди UA і DU визначають свої стратегії гри в
національному чемпіонаті з баскетболу для коледжів. Оцінюючи можливості своїх
"запасних лавок", кожен тренер розробив по чотири Варіант заміни гравців протягом
75
гри. Здатність кожної команди виконувати дво-, триочкові і штрафні кидки є основним
чинником, що визначає результат гри. Наведена нижче таблиця містить окуляри чистого
виграшу команди UA протягом одного володіння м'ячем в залежності від стратегій,
планованих кожною командою.
76
Позначивши виграш, програш і нічию відповідно як 1, -1 і 0, побудуйте платіжну
матрицю і визначте оптимальні стратегії гравців і ціну гри.
3.8. Відомий актор обмірковує, де б йому провести в поточному році відпустка. Він
розглядає 6 можливих варіантів: Монте-Карло (МК), Гавайські острови (Г), Багамські
острови (Б), Канарські острови (К), Сочі (С), озеро Байкал (ПРО). Єдиний критерій для
вибору місця відпочинку - прагнення уникнути журналістів, які можуть зіпсувати йому
відпочинок. Якщо вони його «вистежать», відпочинок буде зіпсований (корисність
дорівнює 0). В іншому випадку, все буде, як заплановано (корисність дорівнює 1).
Внаслідок різних географічних умов, журналісти можуть виявити актора з певною
(відомої) ймовірністю: в Монте-Карло з ймовірністю 0,34; на Гавайських островах з
ймовірністю 0,12; на Багамських островах з ймовірністю 0,16; на Канарських островах з
ймовірністю 0,4; в Сочі з ймовірністю 0,5; на озері Байкал з ймовірністю 0,2.
Опишіть дану ситуацію, як гру двох осіб з нульовою сумою (актор - гравець 1,
журналісти - гравець 2). Обчисліть ціну гри та визначте мінімаксні стратегії обох гравців.
Чому дорівнює максимальна очікувана корисність відпустки актора? З якою ймовірністю
актор поїде у відпустку на Байкал? Чому дорівнює верхня ціна гри? В якому з місць
найбільш ймовірно буде відпочивати актор?
3.9.Однажди на «Дикому Заході» стався такий випадок. Група з п'яти індіанців
обложила табір, що охороняється чотирма білими. У табори два входи Е1 і Е2. Білий
розвідник встановив, що перед входом Е1 знаходиться як мінімум один індіанець, а перед
входом Е2 як мінімум два індіанця. Розташування інших індіанців невідомо. Командир
обложених може розташувати себе і трьох солдатів біля входів Е1 і Е2. Причому, у
кожного входу повинен бути як мінімум одна людина. Передбачається, що чисельно
переважаюча (у кожного входу) група бере в полон всю групу супротивника без власних
втрат, в той час як при рівності сил перед будь-яким входом втрат з обох сторін немає. Як
платежу (виграшу) виступає різниця числа полонених.
а) Визначте всі чисті стратегії обох супротивників.
б) Побудуйте платіжну матрицю, вважаючи гравцем 1 обороняється сторону.
в) Спростіть матрицю наскільки це можливо і знайдіть оптимальні стратегії сторін.
г) як часто слід білим використовувати стратегію: розташувати по дві людини у
кожного входу?
д) Хто найбільший у середньому захопить полонених, білі або індіанці? (1 - білі, 2 -
індіанці)
е) яка абсолютна величина різниці числа захоплених обома сторонами полонених?
ж) з якою частотою слід білим використовувати стратегію: розташувати у першого
входу одного, а у другого трьох людини?
з) з якою частотою слід індіанцям використовувати стратегію: розташувати у
першого входу трьох, а у другого двох воїнів?
3.10.В нашому розпорядженні є три види озброєння: A1, A2, А3; у супротивника -
три види літаків: B1, В2, В3. Наше завдання - вразити літак; задача противника- зберегти
його неураженим. Літаки В1, В2 і В3 уражаються при використанні озброєння А1
77
відповідно з можливостями 0,9, 0,4 і 0,2; при використанні А2 - з вірогідністю 0,3, 0,6 і
0,8; при використанні А3 - з вірогідністю 0,5, 0,7 і 0,2.
3.11.Сельскохозяйственное підприємство виробляє картопля. Посівна площа
картоплі становить 100 га. Господарство має договір з магазином, який гарантовано
закупить весь вироблений картопля за ціною 4 у.г.о. за 1 кг. При вирощуванні картоплі
господарство може прийняти одне з трьох рішень, що розрізняються за сумою витрат на
виробництво продукції:
A1. Провести комплексну обробку рослин для запобігання ураження бур'янами,
шкідниками і хворобами (витрати - 6 млн. у.г.о.).
A2. Провести часткову обробку рослин (витрати - 4 млн. у.г.о.).
A3. Чи не проводити обробку рослин (витрати - 2.5 млн. у.г.о.).
Залежно від погодних умов, наявності та розвитку бур'янів, шкідників і хвороб
можливі наступні ситуації:
S1. Умови для розвитку бур'янів, шкідників і хвороб несприятливі.
S2. Умови для розвитку бур'янів, шкідників і хвороб звичайні.
S3. Умови для розвитку бур'янів, шкідників і хвороб сприятливі.
Значення врожайності картоплі (ц / га) залежно від рішень сільськогосподарського
підприємства і розвитку бур'янів, шкідників і хвороб наведені в таблиці
Стратегії Розвиток бур'янів, шкідників і хвороб
господарства
S1 S2 S3
A1 260 260 260
A2 255 200 1450
A3 250 100 40
Визначте найбільш оптимальну стратегію підприємства і ціну гри. Дайте
економічну інтерпретацію результатів рішення задачі.
3.12. Сторона В засилає підводний човен в один з двох районів. Сторона A, маючи в
своєму розпорядженні трьома протичовновими кораблями, прагне виявити човен
противника. Сторона В прагне цього уникнути. Ймовірність виявлення підводного човна в
1-му районі одним протичовневим кораблем дорівнює p1 = 0,4, у другому - p2 = 0,6.
Передбачається, що виявлення човна кожним кораблем є незалежною подією. Сторона А
може посилати в різні райони різну кількість кораблів (розподіл кораблів по районам і є її
стратегія). Вважаючи сторону А гравцем 1, побудувати гру і знайти оптимальний розподіл
протичовнових кораблів по регіонах.Яка ціна гри? З якою частотою стороні А слід
посилати в регіон 2 три протичовнові кораблі? З якою частотою стороні А слід посилати в
регіон 1 один протичовновий корабель? З якою частотою стороні В слід посилати
підводний човен в регіон 2?
3.13.В одному сільськогосподарському районі погода протягом вегетаційного
періоду в середньому може бути холодною або теплою. На фермі з площею в 1500 акрів
планується посів двох культур. Якщо вегетаційний період холодний, то очікуваний
прибуток від урожаю становить 20 доларів на акр для культури I і 10 доларів на акр для
культури II. Якщо ж вегетаційний період теплий, то очікуваний прибуток оцінюється в 10
доларів за акр для культури I і 30 доларів за акр для культури II. Опишіть конкуренцію між
фермером і погодою як матричну гру. Яка оптимальна стратегія фермера, коли немає ніякої
інформації щодо ймовірностей теплої або холодної погоди? Якщо погода з однаковою
ймовірністю може бути теплою чи холодною, то скільки акрів слід відвести фермеру під
кожну культуру?
3.14.В експериментах ворон і папужок навчають розпізнаванню чисел до семи.
Використовується така схема експерименту. Раціон ворони R і папужки З повинен
визначатися матричної грою. Кожній птиці показують три картки з нанесеними на них
двома, чотирма і сім'ю точками. Якщо обидві птахи вибирають одну і ту ж картку, то R
78
отримує з раціону З кількість черв'яків, рівне подвоєному числу точок на картці. Якщо
вони вибирають різні картки, то С отримує з раціону R кількість черв'яків, рівне різниці в
числі точок на картках. У припущенні, що ходи робляться незалежно (наприклад, за
допомогою двох наборів карток), потрібно описати цей експеримент як матричну гру.
Знайти оптимальні чисті стратегії гравців. Чиї шанси на виграш краще в разі чистих
стратегій? Знайти оптимальні змішані стратегії.Чиї шанси краще в цьому випадку?
3.15. Джек часто їздить між двома містами. При цьому є можливість вибрати один з
двох маршрутів: маршрут А являє собою швидкісне шосе в чотири смуги, маршрут В -
вузьку об'їзну дорогу. Патрулювання доріг здійснюється обмеженим числом поліцейських.
Якщо все поліцейські розташовані на одному маршруті, то Джек, зазвичай їде «на грані
фолу», безсумнівно, отримає штраф у 100 дол. За перевищення швидкості. Якщо
поліцейські патрулюють на двох маршрутах в співвідношенні 50 на 50, то є 50% -ва
ймовірність, що Джек отримає штраф у 100 дол. На маршруті А і 30% -ва ймовірність, що
він отримає такий же штраф на маршруті В. Крім того , маршрут У довше, тому бензину
витрачається на 15 дол. більше, ніж на маршруті А. Визначте найкращу стратегію для
Джека.
3.16. У магазині працює охоронна служба - двоє поліцейських в
штатському. Торговий зал магазину ділиться на дві умовні зони - в зоні А майже
завжди відвідувачів значно більше, ніж в зоні В. Є деяка позиція Т поза торгової
площі, в T встановлена телекамера. У кожній з двох умовних зон може перебувати
злодій. Поліцейські ж можуть перебувати в А, в В або в Т. Передбачається, що
відомі ймовірності виявлення злодія в певній зоні за умови, що поліцейський
знаходиться в фіксованому місці. Так, злодія, що знаходиться в А, поліцейський на
тому ж місці помітить з ймовірністю 0.4; із зони Т він помітить його в зоні А з
ймовірністю 0.3; і т.д. відповідно до таблиці
T A B
A 0.3 0.4 0.1
B 0.5 0.2 0.7
Так як поліцейських двоє, то вони можуть перебувати разом або в різних
місцях. Для кожної з ситуацій необхідно підрахувати ймовірність виявлення злодія в
кожній зоні і побудувати на її основі матрицю гри (назва рядка - місце злодія, стовпці -
охорони). Визначити, чи існує в грі сідлова точка. Знайти оптимальні стратегії гравців і
ціну гри.
4. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
.
79
Графоаналізатор – візуальне середовище для роботи з графами. Графоаналізатор
надає можливість створювати і обробляти графи, і візуально відображати результати
роботи алгоритмів на мережах і графах. Середовище підтримує роботу з орієнтованими і
простими графами, навантаженими і ненавантаженими. Програма реалізує багато
алгоритми для вирішення задач на графах. починаючи від пошуку шляху і закінчуючи
перевіркою на планарність. Основні особливості:
1. 20 алгоритмів для обробки графа.
2. Можливість візуальної всього процесу роботи з графом.
3. Підтримка допоміжних функцій по створенню графа по карті.
4. Довідка містить опис основних завдань що вирішуються за допомогою
програмного продукту.
5. Детальна довідка, підтримка і зворотний зв'язок з автором. Програма вже існує
близько 5 років. 9 березня 2012 проект Графоаналізатор став проектом з відкритим
вихідним кодом. Вихідні файли можна завантажити зі сторінки програми на SourceForge.
1.2. Програма Grin (GRaph INterface) (http://graph-software.narod.ru/main.html).
Програма Grin також призначена для візуалізації графів і рішення задач про шляхи
на графах.
1.3. Завдання про максимальний парасочетаніі на графі вирішена в книзі: Іглін
С.П. Математичні розрахунки на базі MATLAB. БХВ, СП-б., 2005, розділ 29.1, стор. 508-
520 в системі програмування Matlab і реалізована у вигляді функції MaxMatch.
2. Завдання.
2.1. Вивчити методи роботи з програмами Графоаналізатор і Grin.
2.2. Вирішити всі демонстраційні завдання, пропоновані в цих програмах за
темами, що вивчалися в курсі.
2.3. Вирішити всі завдання по темі "Оптимізація на мережах і графах", вирішені
вами в процесі виконання лабораторних робіт 6,7,8,10 за допомогою програм
Графоаналізатор і Grin і перевірити правильність отриманих результатів.
2.4. Адаптувати програму для вирішення задачі про максимальний паросполучення
для системи Scilab.
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання, включаючи екранні форми і коментарі їх вмісту.
5. Висновки по роботі.
.
ЛІТЕРАТУРА
1. Дослідження операцій. Конспект лекцій / Уклад.: О.І. Лисенко, І.В. Алєксєєва –
К: НТУУ «КПИ», 2016. – 196 с.
2. Hamdy A. Taha. Operations Research. An Introduction. Tenth Edition. – Pearson
Education Limited, 2017. – 843 p. [Електронний ресурс]: http:// bok.cc/book/3607157/b21177.
3. Великодний С. С. Математичні методи дослідження операцій: конспект
лекцій.Одеський державний екологічний університет, 2014.
– 162 с.
5. Кутковецький В. Я. Дослідження операцій: Навчальний посібник. / В. Я.
Кутковецький. – [2-ге видання, виправлене]. – К.: ВД «Професіонал», 2005. – 264 с.
80
6. Катренко А.В. Дослідження операцій: Підручник.– Львів: Магнолія Плюс, 2004.–
549 с.
7. Сікора Я. Б. Дослідження операцій. Навчально-методичний посібник для
студентів напряму 6.040302 Інформатика. – Житомир: Вид-во ЖДУ ім. Івана Франка, 2012.
– 78 с.
8. Дякон В. М. Моделі і методи теорії прийняття рішень: Підручник. / В.М. Дякон,
Л.Є. Ковальов – К.: АНФ ГРУП, 2013. – 604 с.
9. Зайченко Ю.П. Дослідження операцій / Ю.П. Зайченко – Київ : ЗАТ “Віпол”,
2007. – 688 с.
10. Математичні методи дослідження операцій: підручник / Є. А. Лавров, Л. П.
Перхун, В. В. Шендрик та ін. – Суми : Сумський державний університет, 2017. – 212 с.
81