Professional Documents
Culture Documents
Кузьмичов А. І.
АНАЛІТИКА
МЕРЕЖЕВИХ СТРУКТУР
Київ
Видавництво Ліра-К
2017
1
УДК 338.45(078.5) Копіювання, сканування, запис на
ББК 65.301 електронні носії, а також будь-яке
К-89 відтворення будь-якої частини
практикуму без дозволу видавництва
заборонено
Рецензенти:
В. В. Васильєв – чл.-кор. НАН України, д. т. н., професор, зав. відділенням
гібридних моделюючих та керуючих систем в енергетиці Інституту проблем
моделювання в енергетиці ім. Г. Є. Пухова НАН України
А. В. Матвійчук – д. е. н., професор кафедри ЕММ, директор Інституту
моделювання та інформаційних технологій в економіці ДВНЗ «Київський
національний економічний університет ім. Вадима Гетьмана»
Рекомендовано до друку
Вченою радою Інституту проблем реєстрації інформації НАН України
(Протокол № ??? від ??? 2017 р.)
Кузьмичов А. І.
Аналітика мережевих структур. Моделювання засобами WinQSB та MS Excel:
Практикум. – К.: Видавництво Ліра-К, 2017. – 215 с.
ISBN 978-617-7320-60-8
2
70 років тому Дж. Данциг розв’язанням задач
транспортного типу винайденим ним симплекс-
методом започаткував аналіз оптимальних
рішень, отриманих комп'ютерним моделюванням
потоків у мережах
ЗМІСТ
Передмова 6
Вступ 7
Додатки 184
Д1: Імпорт даних WinQSB → MS Excel 184
Д2: Формування таблиці даних 186
Д3. Аналіз рішень 191
Д3.1. Параметричний аналіз 191
Д3.2. Аналіз «Що-Якщо» 200
Д4. Вимірювання відстаней 202
Д5. Редагування робочого документу 203
Д6. Форми і формати робочих документів 204
Д7. Про WinQSB 212
Д8. WinQSB: завантаження та встановлення 222
Використані джерела 214
Передмова
5
Багато важливих оптимізаційних
задач мають природне представлення у
вигляді мережевих моделей типу
географічних карт, організаційних
діаграм чи структурних схем. Є кілька
причин для виокремлення мережевих
оптимізаційних моделей, формування та
аналізу рішень на їх основі. Мережева
структура наочна і інтуїтивно зрозуміла
для користувачів, в першу чергу, на рівні
постановки та обговорення проблеми.
Це графічне представлення надалі
використовується на наступних рівнях
при визначеності структур даних,
розробці математичної і комп'ютерної
моделей. Отриманий на моделі Рішення знову знаходить відповідне відображення
на мережі.
Кращі історії успіху з організаційного планування і управління пов'язані з
крупними мережевими моделями, у першу чергу, в сфері комунікацій і логістики.
Відомі успішні проекти стосуються управлінських процесів і об’єктів, структури
яких явно не є мережевими, зате їх успіх забезпечений завдяки застосуванню
мережевого представлення, це: структури і аналітика відкритих та «великих»
даних, алгоритми, структурне і машинне програмування, планування та управління
виробничими операціями, моделі біологічних чи хімічних структур тощо. Для
реалізації мережевих моделей розроблені спеціалізовані методи і алгоритми, більш
економні й швидкі, на відміну від точних математико-орієнтованих методів (типу
симплекс-методу), вони евристичні, базуються на ідеях здорового глузду,
дискретизації і комбінаторики, прискореного перебору варіантів, характерний
приклад – генетичний алгоритм.
Цілком зрозумілою й розповсюдженою є задача транспортного типу як
характерний приклад і модель реальних комунікацій, це, зокрема, типова задача
про потоки у мережах, адже кожен з нас є частинкою потоку: пасажиром або
адресатом, відправником чи отримувачем, клієнтом і користувачем мережевих
послуг, що надаються у відповідних мережах. У них ми ставимо завдання чи
запитання, отримуючи відповіді: «звідки», «куди», «скільки», як здійснити щось
найскоріше, найдешевше чи найзручніше, за реальних умов і обмежень, неявно
формулюючи задачу мережевої оптимізації.
Тож не дивно, що винайдений Джорджем Данцигом симплекс-метод лінійного
програмування був вперше і успішно застосований саме для розв’язання задачі
транспортного типу, її мережева постановка на географічній карті, математична
модель і машинний алгоритм заснували надзвичайно широкий клас
оптимізаційних задач і моделей про потоки мінімальної вартості (minimal cost flow
problem).
6
Вступ
7
Мережа – граф, дугам якого приписані вагові коефіцієнти, один, наприклад,
довжина, чи декілька: тривалість, вартість, пропускна здатність тощо, тут вершини
називають вузлами, як в реальних мережах, вони мають вагові коефіцієнти –
потенціали (пропозиція, попит).
Два вузли суміжні, якщо є дуга, що їх з’єднує.
Матриця суміжності розміром m × m містить вагові коефіцієнти усіх дуг мережі.
В мережі, де m1 та m2 – дві групи специфічних вузлів (джерел і стоків), m1 + m2 = m,
матриця суміжності розміром m1 × m2 містить дуги направленої мережі.
Потік – фундаментальне поняття в теорії мереж, вперше уведено в [24]. Якщо s та
t – стартовий (джерело, start) і кінцевий (стік, terminal) вузли мережі, а усі інші
вузли проміжні, потік величиною v із вузла s до вузла t є функцією f (flow), яка
відображає множину дуг A в множину невід’ємних чисел F.
Позначення: f(x, y) = v – це потік величиною v, що тече від вузла х до вузла y,
наприклад, f(Луцьк, Київ) = 100. Так абстрактна дуга мережі, маючи «вагу»
(довжину, тариф, пропускну здатність), отримує матеріальне наповнення,
відповідаючи наповненим потоками води чи нафти трубопроводам, потокам
пасажирів чи транспортних засобів на дорогах [1].
Ланцюг – послідовність дуг (arc) а1, а2, …, an, така, що кінцями дуги ai є вузли xi та
xi+1, дугу ai позначають (xi, xi+1), за напрямком xi → xi+1 або (xi+1, xi), якщо xi+1→ xі, і
= 1, …n. Параметр дуги, наприклад, її довжину (distance), позначають d(xi, xi+1),
наприклад, d(2,5). Довжина ланцюга – кількість дуг у ньому. Цикл – ланцюг, його
початок співпадає із кінцем: а1, а2, …, a1.
Шлях – ланцюг із зважених дуг відповідної довжини.
Контур – шлях, його початок співпадає із кінцем.
Покривне дерево – сукупність n - 1 дуг, де усі n вузли з’єднані і нема циклів чи
контурів.
8
призначення та паросполучення (assignment and matching)
найкоротший шлях (shortest path),
максимальний потік (maximum flow),
мінімальні покривні дерева (minimum spanning trees),
узагальнені потоки (generalized flows),
багатопродуктові потоки (multicommodity flows).
Класи потокових оптимізаційних моделей: лінійні, дискретні (цілочислові,
бінарні), динамічні, цільові (багатокритеріальні), нелінійні, імітаційні
(ймовірнісні).
Області застосування:
дослідження операцій
наука управління
операційний менеджмент
проектний менеджмент
виробництво, суміші
управління запасами, логістика, ланцюги постачання
розміщення, переміщення, локація
транспортування, призначення, маршрутизація
черги, масове обслуговування
динамічні потоки тощо.
Структури даних: матриці (прямокутні, квадратні); списки.
Типи даних: числові/текстові; числові: неперервні, цілочислові, бінарні.
9
імпортувати збережені дані і результати, зберігати їх у форматі електронних
таблиць
обробляти і представляти отримані результати (діаграми, статистика, графіка).
10
Глава 1. Лінійна оптимізація
Лінійне програмування (ЛП) – апарат лінійної оптимізації (досягнення
найкращого рішення, наприклад, максимального прибутку або мінімальної
вартості) в математичній моделі із лінійними властивостями складових, де цільова
функція (ЦФ) n шуканих невідомих лінійна, m обмежень на значення невідомих є
лінійними нерівностями і рівняннями, фундаментальна основа – лінійна алгебра.
Задача ЛП (max)
І. Знайти план1 Х = {xj}, j = 1, …, n, такий, щоб
ІІ. Цільова функція Р = СХ → max
III. За обмежень: АХ ≤ В
та граничних умов: Х ≥ 0.
Тут:
Х – вектор n невідомих (шукане рішення, розв’язок задачі), X = {xj}
A – матриця коефіцієнтів розміром m × n, A = {aij}, i = 1, …, m
В – вектор правих частин m обмежень, B = {bi}
С – вектор вагових коефіцієнтів (цін) n невідомих, C = {cj}
P – загальний ефект (прибуток, користь), цільова функція (ЦФ).
.
Невизначена система рівнянь, де рівнянь більше, ніж невідомих (прямокутна
матриця коефіцієнтів розміром m × (n+m), має безліч розв’язків, кожен із них це
розв’язок визначеної системи рівнянь (квадратна матриця коефіцієнтів розміром m
× m), утвореної перестановками стовпців розширеної матриці, наприклад,
перестановки системи рівнянь 2 2:
1
в англомовних джерелах – linear program
11
.
Тож шлях до оптимуму досягається послідовними перестановками стовпців і
розв’язанням визначених систем лінійних рівнянь розміром n × n на кожному кроці
ітераційного процесу із поступовим покращенням значення ЦФ, де n змінних –
базисні (basic), інші m – n вільні (at bound).
Кінцеве управлінське рішення (decision) базується на розв’язанні задачі ЛП
пошуку екстремуму ЦФ, де n шуканих (базисних) змінних мають невід’ємні
значення.
Графічний метод
Якщо шуканих невідомих дві, х1 та х2, розв’язок можна отримати наочним
геометричним способом, який найкраще пояснює початківцям суть симплекс-
методу розв’язання задачі лінійного програмування.
12
Рис. 1.1. Задача на максимум ЦФ, Х = (18, 48)
13
Пряма і двоїста задачі лінійного програмування
І. Знайти план Х = (х1, х2), щоб І. Знайти план T = (t1, t2), щоб
ІІ. ЦФ P = 50х1 + 60х2 → min ІІ. ЦФ W = 180t1 + 150t2 → min
ІІІ. За обмежень: ІІІ. За обмежень:
2х1 + 3х2 180 2t1 + 3t2 ≥ 50
3х1 + 2х2 150 3t1 + 2t2 ≥ 60
та граничних умов: х1, х2 ≥ 0. та граничних умов: t1, t2 ≥ 0.
Рішення Рішення
І. Х = (18, 48) І. T = (16, 6)
ІІ. P = 50×18 + 60×48 = 3780 ІІ. W = 180×16 + 150×6 = 3780
ІІI. 2×18 + 3×48 = 180 ІІI. 2×16 + 3×6 = 50
3×18 + 2×48 = 150 3×16 + 2×6 = 60
2
підприємства зацікавлені у збереженні асортименту продукції, що виготовляється, аби
зменшити витрати на переналаштування обладнання та зміну відповідного ресурсного
забезпечення
14
а) якщо виробник вирішить виготовити 1 од. 2-го продукту, загальний прибуток
(значення ЦФ) зменшиться на 5 гр. од.;
б) продукт буде вигідно випускати, якщо його продажну ціну збільшити на 5.
Тож оцінки Shadow Price та Reduced Cost – цінні показники для прийняття рішення
на майбутнє.
У склад готового продукту входять два види продуктів-компонентів (П1, П2), для
їх виготовлення використовують 2 види ресурсів (R1, R2).
Задано:
запаси ресурсів (r1 = 180, r2 =150 од.)
ціни продуктів (c1 =50, c2 = 60 гр. од.)
питомі норми витрат ресурсів для продуктів (матриця: 2, 3; 3, 2).
Треба визначити:
оптимальну суміш (композицію) цих двох продуктів з урахуванням обмежень
на наявні ресурси, інакше,
оптимальний план розподілу наявних ресурсів для виготовлення продуктів,
за критерієм максимуму очікуваного прибутку D від реалізації продукції (ЦФ) за
визначеними цінами.
Мережева модель задачі
Задача оптимізації
І. Знайти план Х = (Х1, Х2), де Х1, Х2 – шукані кількості продуктів П1 та П2, щоби
ІІ. ЦФ D = 50X1 + 60X2 → max
ІІІ. За обмежень:
C1: 2X1 + 3X2 180 (ресурс R1)
15
C2: 3X1 + 2X2 150 (ресурс R2)
та граничних умов:
0 Х1, Х2 (М)
Х1, Х2 – неперервного типу (continuous).
Дії
1) WINQSB → Linear and Integer Programming
2) File → Load Problem → LP.LPP
ЦФ
17
Рис. 1.7. Графічний розв’язок
Аналіз
Пряма задача
І. План Х = (18, 48)
ІІ. Максимальне значення ЦФ: D = 3780 = 50×18 + 60×48 = 900 + 2880 (гр. од.)
ІІІ. Обмеження:
2×18 + 3×48 = 180
3×18 + 2×48 = 150, тобто, запаси ресурсів використані повністю.
Двоїста задача
Оцінки:
для ПЧО (запасів ресурсів): Shadow Price (16, 6)
для коефіцієнтів ЦФ (цін продуктів): Reduced Cost (0, 0)
18
Зауваження: «Тіньова» ціна узгоджена із ціною продуктів і не має зв’язку із
реальною ціною ресурсів, тому остаточне рішення за ОПР – запас якого ресурсу
краще поповнити.
Параметричний аналіз
19
Аналіз
20
Рис. 1.10. Оцінка запасу ресурсу R1
Зі зростанням r1 в діапазоні:
0 ÷100 ЦФ зростає в діапазоні 0 ÷ 2500 зі швидкістю 25 гр. од./од.,
100 ÷ 180 ЦФ зростає в діапазоні 2500 ÷ 3780 зі швидкістю 16 гр. од./од.,
180 ÷ 225 од. ЦФ зростає в діапазоні 3780 ÷ 4500 зі швидкістю 16 гр. од./од.,
подальше зростання запасу не впливає на зростання ЦФ, рис. 1.11.
ОПР робить висновок, що утворювати запас більше за 225 од. не слід.
Модифікація моделі
21
,
і отримуємо нове рішення:
Пряма задача
І. Х = (0; 57,7), змінилася структура плану – продукт П1 невигідно випускати, бо
вартість ресурсів дорожча за ціну продукту, який його споживає.
ІІ. Максимальне значення ЦФ D = 3461,5 гр. од.
ІІІ. Обмеження:
2×0 + 3×57,7 = 173,1 залишок 6,9 од.
3×0 + 2×57,7 = 150.
Двоїста задача:
для коефіцієнтів ЦФ: Reduced Cost (-19,28; 0). Вимушений випуск одиниці
«невигідного» продукту П1 за заданою ціною (50 гр. од.) погіршить значення
ЦФ на 19,28 гр. од. Якщо на П1 є попит, його випуск буде вигідним за ціною,
більшою за 50 + 19,28 = 69,28 гр. од. хоча на копійку (за ціною 69,28 випуск
вигідний, але без прибутку);
для ПЧО: Shadow Price (0; 23,1). Збільшення запасу ресурсу R2 на 1 од. приведе
до збільшення ЦФ на 23,1 гр. од. Збільшувати цей запас можна до 150 + 156 =
306 од., щоб не змінилася ця структура плану (коли 1-ий продукт не треба
випускати).
Пряма задача
І. Х = (34,6; 23,1)
ІІ. Максимальне значення ЦФ D = 3115,4 гр. од.
ІІІ. Обмеження:
2×34,6 + 3×23,1 = 138,5, залишок 41,5 од.
3×34,6 + 2×23,1 = 150.
Двоїста задача
для коефіцієнтів ЦФ: Reduced Cost (0; 0).
для ПЧО: Shadow Price (41,5; 0; 0).
Зауваження
Математична і комп’ютерна моделі й отримане рішення із неперервними
невідомими є задовільними для користування, якщо продукти П1 та П2 ділимі
(подільні) типу сипучих будівельних матеріалів, борошна чи рідини.
Якщо ж це неподільна (вимірюється в штуках, комплектах, упаковках) продукція,
відповідна задача розв’язується методами цілочислового лінійного програмування
(ЦЛП, Integer Linear Programming, ILP).
Наведений приклад з двома шуканими невідомими є простою ілюстрацією апарату
математичної оптимізації, лінійної чи нелінійної, адже для такої задачі можна
знайти наочний геометричний розв’язок графічним методом, що є цінним для
розуміння складових задачі лінійної оптимізації та, зокрема, симплекс-методу для
розв’язання задачі ЛП.
Реальні задачі, зрозуміло, мають досить солідні розміри, що визначаються
кількостями шуканих невідомих (m) та обмежень на їх значення (n), тобто,
розміром m × n. Якщо n < m, відповідну табличну форму рекомендують
представляти прямокутною матрицею розміром n × m.
23
Приклад 1.3. Нова виробнича програма
розпочинається із аналізу поточного стану ресурсного
забезпечення. Для виготовлення 20-ти видів продуктів
використовують наявні запаси 14 видів ресурсів,
маємо задачу ЛП розміром 14 × 20.
Задано: запаси ресурсів (стовпець із 14 значень), ціни
продуктів (рядок із 20 значень) та питомі норми витрат
ресурсів для продуктів (матриця розміром 14 × 20).
Треба визначити оптимальну композицію продуктів,
інакше, оптимальний план розподілу наявних ресурсів
для виготовлення продуктів, за критерієм максимуму
очікуваного прибутку D від реалізації продуктів.
Рис. Мережа «Ресурси - Продукти», показано не всі
дуги.
Якщо мова йде про реальну задачу, треба вводити ці 314 (14 + 20 + 280) чисел з
клавіатури у робоче поле Розв’язувача (чи «копіпастом» – копіюванням-вставкою
з Excel). Якщо ж це модельна задача, то можна скоротити час на уведення даних,
попередньо сформувавши їх в Excel за допомогою ГВЧ (генератора випадкових
чисел), наприклад, функцією СЛУЧМЕЖДУ (a, b), а потім вставити у робоче поле
увесь числовий масив.
24
Вікно налаштування: розмір задачі (20 змінних і 14 обмежень), критерій ЦФ
максимум, табличний формат даних, неперервний тип шуканих змінних:
25
Рис. 1.16. Робоча таблиця
26
Рис. 1.17. Звіт 1
3) Звіт щодо обмежень, команда: Results Constraint Summary for for LP Sample
Problem
27
4) Звіт з аналізу чутливості ЦФ, команда: Results Sensitivity Analysis for OBJ
Порівняння звітів
Комбінований звіт містить усі результати для прямої і двоїстої задачі, усі інші звіти
– це скорочені версії двох складових (ЦФ і обмежень) комбінованого звіту, яким
надалі рекомендується користуватися.
Аналіз
Аналогічний ефект спостерігається при зміні коефіцієнтів ЦФ, коли зміна ціни
продукту прямо впливає структуру плану, відповідно, на ЦФ і непрямо, на розподіл
ресурсів (ЛЧО). Наприклад, ціна 1-го продукту (коефіцієнт с1 змінної х1) зростаючи
від заданої ціни у 130 гр. од. до 287, «вибила» з плану змінну х20, їй на заміну
увійшла змінна х1. Із подальшим зростанням ця ціна продовжує змінювати
структуру плану – наочна ілюстрація конкурентної боротьби на ринку. Відповідно,
відбуваються зміни у ресурсному забезпеченні.
При фантастичній ціні у 3216 гр. од. випуск продукту П1 склав 5 од., він
монополіст із доходом більше 16000 гр. од., зупинив цю вулканічну діяльність
запас ресурсу R12 у 61 од.
Приклад 1.4. У склад раціону відгодівлі худоби входять 6 продуктів: сіно, силос,
концентрати, зерно, овочі і відходи з виробництва молокопродуктів, що містять 3
споживні речовини: білок, кальцій та вітаміни. Задані мінімальні норми
споживання цих речовин та ціни продуктів. Треба визначити склад раціону (що і
скільки змішати) мінімальної вартості за умови дотримання норм споживання.
Задача оптимізації
3
Перший постановник Дж. Стіглер (1911-1991), перша публікація: Stigler G. J. The cost of
subsistence. J. Farm. Econ., 1945. На початку своєї кар’єри він сформулював цю задачу й
відшукав, як виявилося пізніше, близький до оптимального найдешевший раціон, що мав
задовольнити 9 дієтичних вимог у наборі із 77 видів продуктів, здійснивши вручну перебір
500 варіантів наближеними методами. Тоді ж зробив невтішний висновок про
неможливість точного розв’язку цієї задачі математичними методами й змінив тематику,
ставши Нобелівським лауреатом з економіки за 1982 р. Винахід симплекс-методу
спростував його висновок. Данциг згадував: у 1947 р. Stigler’s Minimum cost diet problem
була першою тестовою задачею ЛП із 9 нерівностей-обмежень із 77 невідомими для
перевірки результатів симплекс-методу, яку 10 працівників протягом 12 днів розв’язували
за допомогою калькуляторів, вартість дієти Стіглера вдалося покращити лише на 20 центів
30
Рис. 1.25. Рішення
Аналіз
Пряма задача
Знайдено структуру, вміст і вартість «ідеального» раціону, це: Концентрати та
М/продукти, х3 7,3 од. та х6 7 од., відповідно, мінімальна вартість раціону 58,9
гр. од. Щоб утворити такий раціон прийшлося перевищити вміст вітамінів на 381
од.
Двоїста задача
Тіньові ціни правих частин обмежень (норм споживання) вказують на можливе
зменшення загальної вартості раціону (ЦФ) при зменшенні норм на 1, це: білок
(0,0272), кальцій (0,039), або навпаки, збільшення цих норм це збільшення витрат
(«вузькі місця»). Наприклад, при зниженій нормі білка 1999 од. ЦФ = 58,9039 -
0,0272 = 58,8767 гр. од.
Нормовані вартості шуканих невідомих (цін продуктів) вказують на збільшення
загальної вартості раціону (ЦФ) при вимушеному використанні у раціоні одиниці
«невигідного» продукту (сіно, силос, зерно, овочі). Найдорожчим виявилося зерно
(6,94 гр. од. за одиницю), найдешевшим – силос (1,3 гр. од.) – якщо так треба,
готуйтеся до здорожчення раціону.
Зауваження
31
Існує хибна думка, що розв’язок у цілих числах можна отримати округленням до
найближчого цілого значення змінної неперервного типу. Але так може статися
лише для дуже простої задачі із «вдалим» набором початкових даних і отриманих
рішень, однак у загальному випадку на це розраховувати не варто, саме тому ЦЛП
є окремим класом моделей оптимізації, до того ж, далеко не простим, коли
виявилася неспроможність симплекс-методу для розв’язання лінійних задач
оптимізації у цілих числах.
І. Х = (22, 23)
ІІ. D = 101
III. Обмеження C1: 201 > 200
C2: 181 > 180.
Пряма задача
І. Х = (21,9048; 22,8571)
ІІ. D = 100,4762
III. C1: 200 = 200
C2: 180 = 180.
Двоїста задача
Для С1 та С2 тіньові ціни: 0,3095; 0,2143.
Порівняльна таблиця
ЛП ціни для ЦЛП
Висновок
Для задач ЦЛП на відміну від аналітичного (математично обґрунтованого,
«формульного») алгоритму симплекс-методу застосовують алгоритми
переборного типу, де порівнюються суто цілі числа. Тому, щоби оцінити
обмежуючі фактори (ПЧО) чи коефіцієнти ЦФ, цілочислові задачі розв’язують у 2
етапи, послідовно отримуючи неперервний й цілочисловий варіант, як було
зроблено вище. Наприклад, неперервний варіант цієї задачі має тіньові ціни для
ПЧО (0,3095; 0,2143), чого не існує в ЦЛП, відповідно, видно, що ПЧО обмеження
С1 впливовіша за ПЧО С1. Також для задач ЦЛП відсутній параметричний аналіз.
Приклад 1.7. Отримати для порівняння розв’язки задач ЛП/ЦЛП про оптимальний
розподіл ресурсів розміром 14×20.
Задача ЛП
Задача ЦЛП
34
Рис. 1.32. Робоча таблиця
Рішення
35
Аналіз
Висновок
Моделі ЛП та ЦЛП найкращим чином доповнюють одна одну: засоби ЛП
дозволяють здійснити аналіз чутливості, або точно визначити потенційні «вузькі
місця», зате засоби ЦЛП враховують цілочисловий тип шуканих невідомих.
Отримання цілочислового рішення округленням рішення дійсного типу є
принципово помилковим способом.
Позначення
i – поточний номер кімнати (Кi), i = 1, …, 17
j – поточний номер двері (Дj), j = 1, …, 21
A = {aij}– матриця опису приміщення «кімнати-двері» розміром 17 21, де aij = 1,
якщо і-та кімната видна із j-ої двері.
Х = {хj}– план розміщення наглядачів, хj = 1, якщо j-ті двері під наглядом, інакше
хj = 0.
Задача оптимізації
a x
j 1
ij j 1 для i = 1, …, 17 (Кількість наглядачів для кожної кімнати 1)
та граничних умов: усі хj = 1/0 (бінарного типу).
І. Х = (х1, х2, х3, х4, х8, х12, х13, х16, х17, х18)
II. K = 10
III. Стан нагляду: Д1 → К1 + К3; Д2 → К1 + К4; Д3 → К2 + К5; Д4 → К5 + К6;
Д8 → К7 + К8; Д12 → К10 + К14; Д13 → К9 + К12;
Д16 → К11 + К15; Д17 → К11 + К16; Д18 → К13 + К17.
Кімнати 1, 5, 11 під подвійним контролем.
38
Глава 2. Мережеве моделювання
Мережеві моделі – моделі математичного програмування зі спеціальною
структурою, які використовуються при побудові ефективних алгоритмів з-за
необхідності розв’язання великих за розмірами практичних задач. Історично
склалося, що першою задачею зі спеціальною структурою була транспортна
задача.
Мережеве моделювання – підхід і технологія дослідження певного явища, процесу
чи об’єкту шляхом їх відображення у вигляді мережі, його основа – апарат
математичної теорії графів і мереж. Вдала композиція методологій математичного
програмування та теорії графів і мереж визначила досконалий обчислювальний
апарат комбінаторної оптимізації для розв’язання задач про потоки у мережах
неперервного і дискретного типів.
Розглянуто 7 типових задач цього класу у матричній постановці із застосуванням
обчислювальних інструментів модулю Network Modeling, побудованих на
комбінованому алгоритмі network simplex.
Приклад 2.1.
Постачальники – 3 консервні заводи, розміщені у Портланді (шт. Мейн), Сіеттлі та
Сан-Дієго, їх пропозиції: 250, 500 та 750 банок рибних консервів.
Споживачі – 5 складів, які розміщені в Нью-Йорку, Чикаго, Канзасі, Далласі та
Сан-Франциско, їх попит – по 300 банок (рис. 2.1).
Задані питомі витрати на транспортування (матриця 3×5) між парами
«постачальник → споживач». Треба визначити оптимальний план перевезень –
кількості банок постачання від трьох заводів до п’яти складів, щоби мінімізувати
загальні транспортні витрати5.
Це перша оптимізаційна задача, яка за своєю природою має мережеву
організаційну структуру, де відшукуються продуктові потоки мінімальної
загальної вартості. Вона під назвою Transportation Problem прародителькою
увійшла в сучасну історію математичної оптимізації, ставши класичною з-за
матричну постановку, що базується на апараті лінійної алгебри, машинні методи
4
G. B. Dantzig. Application of the Simplex Method to a Transportation Problem, in T. Koopmans
(ed.) “Activity Analysis of Production and Allocation”, NY, 1951, pp. 359-373 (перша відкрита
публікація про симплекс-метод, 1949 р.)
5
До 1960 р. Данциг займався плануванням авіаційних перевезень для ВПС США, тож ця
задача прозоро натякає на реальні «консервні банки» та про поставки в межах держави;
його колега, лауреат Нобелівської премії з економіки (за винахід ЛП, разом і Л. В.
Канторовичем, СРСР, 1975 р.) Т. Купманс під час війни планував міждержавні морські
торгівельні перевезення; у післявоєнний період транспортним проблемам сприяв
інтенсивний розвиток економіки. Звідси актуальність і першочерговість розв’язання
симплекс-методом саме транспортних задач, для розв’язання яких була створена перша
програма для ЕОМ (1950 р.)
39
отримання рішень та їх аналіз, визначивши технологію мережевого моделювання
задач планування та управління, розв’язок (Приклад 2.4).
6
«Приголомшуюча сила симплекс-методу завжди вражала мене». Дж. Данциг
7
такий граф називають двочастковим чи дводольним (bipartite), позначається:
G = (N1N2, A), де: N1 – множина m1 вузлів, N2 – множина m2 вузлів, A – множина дуг
40
З теорії лінійного програмування відомо, що у задачі із m1 постачальниками та m2
споживачами число ненульових потоків дорівнює m1 + m2 –1. Наприклад, при m1 =
21, m2 = 13 (приклад 2.4) ненульових потоків буде 33.
Математична модель
Позначення:
i, j – поточні індекси постачальника та споживача, i = 1, 2, 3; j = 1, 2, 3, 4
С = {cij}, cij або c(i,j) – питомі витрати доставки від i-го постачальника до j-го
споживача,
S = {si}, si – пропозиція i-го постачальника,
D = {dj}, dj – попит j-го споживача,
X = {xij}, xij або x(i,j) – величина шуканого потоку від i-го постачальника до j-го
споживача,
Z – загальні витрати (ЦФ).
Задача оптимізації
І. Знайти матрицю потоків X = {xij}, щоби
ІІ. ЦФ Z = СХ → min
III. За обмежень:
4
x
j 1
ij si експорт і-го постачальника не перевищує його пропозиції
3
x
i 1
ij d j імпорт j-го споживача дорівнює його попиту
та граничних умов: Х ≥ 0, дійсного типу.
42
Рішення
Команди і складові:
Results → Solution Table – All (повна таблиця)
Results → Graphic Solution (графічний розв’язок)
Results → Range of Optimality (отримання Reduced Cost)
Results → Range of Feasibility (отримання Shadow Price).
Аналіз
43
Пряма задача
І. Знайдено матрицю перевезень Х
Двоїста задача
Для правої частини обмежень (ПЧО) визначені тіньові ціни (Shadow Price):
для пропозицій – це від’ємні числа чи нулі (-2, -2, 0), які означають, що
збільшення на 1 відповідної пропозиції зменшить значення ЦФ на відповідну
величину, видно, це вигідно для постачальників у Бостоні та Денвері, правда,
збільшення запасів обмежені максимально допустимими значеннями (150, 300)
відповідно
для попиту – це додатні числа (2, 5, 7, 8), які означають, що збільшення попиту
на 1 відповідного споживача збільшить значення ЦФ на цю величину, а
зменшення на 1, відповідно, зменшить значення ЦФ на цю ж величину. Видно,
що найдорожчим для транспортної компанії є споживач у Майямі (8), а у
Далласі – найдешевший (2).
Для матриці питомих витрат (коефіцієнтів ЦФ) визначена матриця редукованих
вартостей (Reduced Cost):
44
Рис. 2.6. Оцінки
Таким чином, для транспортної компанії тіньові ціни пропозицій (-2, -2) є
надзвичайно корисними показниками, бо лише вони спроможні виявити «вузьке
місце» у системі: саме наявні пропозиції постачальників із Бостона і Денвера
стримують досягнення нижчих транспортних витрат. Тож лише розширенням
виявленого «вузького місця» – збільшенням вказаних пропозицій Бостона і
Денвера у визначеному діапазоні допустимих значень, можна покращити кінцеве
рішення, зменшивши загальні транспортні витрати для задоволення попиту.
Інший припустимий шлях до зменшення транспортних витрат – скористатися
тіньовими цінами попиту (2, 5, 7, 8), щоби порадити споживачам переглянути свої
замовлення, зробивши їх скромнішими, – у першу чергу, споживачу у Майамі (з
найвищою тіньовою ціною 8 гр. од. за 1 продукту).
Висновок
Постачальник у Бостоні, маючи запас на збільшення у 150 од., може взагалі
витиснути із системи постачання невигідний Остин (з нульовою тіньовою ціною)
– приклад успішної бізнес-ситуації, коли є підстави для обґрунтованої
конкурентної боротьби. Таким же вигідним для транспортної компанії
постачальником є Денвер (з оцінкою -2), так що Остин точно не втримається з
такими конкурентами, якщо вони збільшать свої пропозиції, але до того він
покриває дефіцит пропозицій.
Зауваження 1.
Ліві частини системи обмежень – суми шуканих невідомих, тож, якщо праві
частини обмежень задати цілими числами, тоді й шукані невідомі будуть цілими
числами. Це дуже позитивна властивість моделі транспортної задачі ЛП, коли
маємо цілочисловий розв’язок і одночасно двоїсті оцінки ПЧО.
45
Зауваження 2.
Для незбалансованої (відкритої) транспортної задачі, коли є залишки чи дефіцит
пропозицій, NM-Розв’язувач, не змінюючи розмір матриці, приписує різницю із
відповідним знаком постачальнику чи споживачу із нульовим тарифом, що не
впливає на значення ЦФ. Це зручно, бо не треба слідкувати за балансом і, в разі
дисбалансу, додавати фіктивних постачальників чи споживачів (це робить
розв’язувач).
46
Рис. 2.8. Нові початкові дані
Задача оптимізації
І. Знайти матрицю X = {xij}, щоб
ІІ. ЦФ Z = СХ → min
III. За обмежень:
3
x
j 1
ij si ,
5
x
i 1
ij dj
та граничних умов: Х ≥ 0, дійсного типу.
Рішення
48
Рис. 2.13. Пункти заготовки та переробки
Пряма задача
І. NM-Розв’язувач автоматично створює 13-ий стоковий вузол (Unused
Destination), куди направлено залишкові потоки від 4-ох джерел (5, 6, 9, 17).
ІІ. ЦФ Z = 18593 гр. од.
III. Усі обмеження задоволені.
Двоїста задача
Тіньові ціни і допустиме збільшення для пропозицій постачальників:
,
лідери: Первомайськ (-11), Кривий Ріг та Вінниця (-8).
.
Рис. 2.16. Двоїсті оцінки
50
Рис. 2.17. Схема перевезень
Дуги мають (для джерел та стоків) чи можуть не мати (між проміжними пунктами)
орієнтацію, таку мережу називають змішаною.
Загальна сума вузлів m = mo + mt + md визначає розмір мережевої транспортної
задачі, яку представляють квадратною (на відміну від прямокутної для класичної
транспортної задачі) матрицею розміром m × m. (Приклад 2.7).
51
Рис. 2.19. Задана транспортна мережа
Аналіз
Пряма задача
І. В матриці транспортних потоків Х розміром 9 × 9 має бути 9 + 9 – 1 = 17 зайнятих
клітинок, з них 8 ненульових значень потоків:
52
x(S1,T1) = 200, x(S1,T2) = 400, x(S2,T3) = 800, x(T2,D1) = 500, x(T2,D2) = 250,
x(T3,T4) = 100, x(T3,D3) = 900, х(Ф, D2) = -100, Ф – фіктивний постачальник,
інші – «потокові» нулі.
ІІ. Мінімальні транспортні витрати склали величину 7900 гр. од.
ІІІ. Усі обмеження задоволені.
Двоїста задача
І. Тіньові ціни вузлів-постачальників (від’ємні числа):
53
Рис. 2.23. Вузол Т2
Різке збільшення пропозиції від Т2 (1250 од., рис. 2.24) серйозно зменшить загальні
витрати (до 6700 гр. од. проти 7900 гр. од.), монопольно забезпечить попит
кінцевих споживачів D1, D2, D3, постачальник S2 із пропозицією у 800 од. буде
відтиснутий з системи постачання.
54
Рис. 2.24. Нове рішення
55
Рис. 2.26. Рішення. Пряма і двоїста задача
Задача оптимізації
І. Знайти матрицю призначення Х = {xij}, i, j = 1, …, 4, щоб
4 4
ІІ. ЦФ P с x
i 1 j 1
ij ij min
4 4
ІІІ. За обмежень: xij 1 ,
j 1
x
i 1
ij 1
57
та граничних умов: Х{0,1}.
Рішення:
Рис.2.30. Рішення
Аналіз
58
Рис. 2.31. Задача про призначення як транспортна задача (min ЦФ)
Нас тут цікавлять лише отримані тіньові ціни (Shadow Price), бо усі інші результати
отримані раніше. Задача невеличка за розмірами, тому є єдина цікава оцінка –
число -1, приємне для Петера. Смисл цієї оцінки у контексті задачі – якщо б
претендентів з таким набором оцінок тестування було двоє, загальні витрати
скоротилися б на одну годину, тобто, серед усіх претендентів (у інших нульові
оцінки) Петер найкраще підготовлений для виконання усіх робіт.
Тіньові оцінки для вакансій (2, 6, 4, 9) оцінюють вплив збільшення на 1 числа
вакансій на загальні витрати часу, робота D з оцінкою 9 найдорожча, бо потребує
більше часу для претендентів, А – найдешевша.
Приклад 2.9. Ті самі чотири претенденти (John, Peter, Toshi, Rudy) на зайняття
вакансій (A, B, C, D) після тестування отримали наступні оцінки ефективності
(професійної підготовки) для виконання відповідної роботи. Треба призначити цих
претендентів на вакансії, щоби максимізувати загальну ефективність виконання
відповідних робіт.
Оскільки початкові дані не змінювалися, командою Edit → Objective Function
Criterion змінюємо лише критерій цільової функції з мінімуму на максимум:
59
Рис. 2.33. Призначення на максимум ефективності
Аналіз
Тіньові ціни для претендентів (18, 14, 16, 17) вказують на можливе збільшення
значення ЦФ при збільшенні числа претендентів на одиницю, тут лідером з
найвищою оцінкою 18 є Джон, найгірший – Петер з оцінкою 14.
Тіньові оцінки для вакансій (-9, -8, -11, 0) оцінюють негативний вплив на ЦФ
збільшення числа вакансій на 1, робота С з оцінкою -11 найгірша серед них.
8
у них шукана величина потоку дорівнює заданій пропускній здатності дуги
60
Данциг в [3] показав зв’язок цієї задачі із мережевою транспортною задачею.
Якщо (i,j)-та дуга має пропускну здатність в обох напрямках πij та πji, тоді
шуканим потокам xij та xji відповідає система обмежень 0 ≤ xij ≤ πij та 0 ≤ xji ≤ πji.
Окрім них, діють обмеження у формі рівняння нерозривності потоку для
проміжних k-их вузлів: i
xik xkj 0 – сума вхідних потоків в і-ий вузол Fвх(i)
j
дорівнює сумі вихідних із нього потоків Fвих(i), це принцип балансу потоків у вузлі
– скільки увійшло, стільки й вийшло.
61
Будь-який вузол із заданих семи може бути джерелом чи стоком, тож відшукується
максимальний потік мережею F(Start, End) за маршрутом від відповідного вузла-
джерела (Start) до відповідного вузла-стоку (End), разом існує 49 маршрутів, з них
7 контурів (потік тече сам до себе, вони неприпустимі).
Варіант 1.
Start = 1, End = 5, Fвих(1) = x12 + x13 + x14; Fвх(5) = x35 + x45 + x75.
Задача оптимізації
62
Є 3 насичених дуги, які входять у 5-ий вузол дуги: (3-5)/8, (4-5)/10 та (7-5)/6, тож
мінімальним перетином («вузьким місцем») є саме ця підмножина дуг із сумарною
пропускною здатністю у 24 од., видалення цих трьох дуг розділяє усі зв’язки між
джерелом 1 та стоком 5.
Інші дуги потоку від 1-го до 5-го вузла мають резерви ПЗ.
Таким чином, аби збільшити пропускну здатність усієї мережі, треба збільшувати
пропускну здатність дуг, що належать визначеному «вузькому місцю».
63
Рис. 2.41. Рішення: максимальний потік (1 → 34)
Аналіз
Із порівняння отриманих потоків і пропускних здатностей дуг
виявлено мінімальний перетин мережі із пропускною здатністю 4
од., це дуги: (11, 34)/2, (37,34)/1, (33, 34)/1, що входять у вузол 34.
Задача про найкоротший шлях (НШ, Shortest Path Problem), розглянута Дж.
Данцигом як транспортна задача з проміжними пунктами, для розв'язання якої
апарат ЛП доповнений економними способами представлення мережі та
спеціальними алгоритмами. Її розв’язання завершується побудовою дерева НШ,
що містить найкоротші шляхи від вузла-джерела до усіх інших вузлів.
64
Задача оптимізації
І. Знайти матрицю потоків Х = {xij}, i, j = 10, щоб
10 10
ІІ. ЦФ c x
i 1 j 1
ij ij min
ІІІ. За обмежень:
9 9
x x
j 2
ij
i 2
ij для проміжних вузлів
10 10
Покриття – частина мережі G(m, n) у вигляді дерева, що містить усі m вузлів й лише
m-1 із наявних n дуг, які з’єднують ці вузли, ненаправлені дуги враховуються двічі.
Дерево мінімального покриття (ДМП, minimal spanning tree, MST) – покриття із
мінімальною сумою вагових коефіцієнтів (довжин, питомих витрат) дуг.
Приклади з практики: з’єднати між собою комунікаціями загальної мінімальної
довжини чи вартості населені пункти, точки видобутку корисних копалин чи
зберігання та переробки корисних речовин (питної води, нафти чи газу), елементів
інформаційної системи (серверів, маршрутизаторів, робочих станцій) чи
електронної схеми на платі, командних пунктів, побудувати системи водо-, газо-,
електропостачання тощо, де вартість прокладки зв’язків критична (пустелі, вічна
мерзлота і болота, гори, ліси, водоймища, охоронні зони, підземні комунікації).
65
10
8 9
6
5
2
4
3
66
Рішення
І. Х = (х1,2, х1,3 ,х1,4 ,х2,5 ,х4,6 ,х4,7 ,х7,8 ,х5,9 ,х9,10)
ІІ. ЦФ D = (2, 9, 6, 7, 7, 9, 8, 11, 9) = 68 од.
67
Рис. 2.47. Задана мережа
68
Задача комівояжера
Це знаменита задача комівояжера (Traveling Salesman Problem, TSP), яка має багато
застосувань й, з-за надвисокої складності отримати точний розв’язок,
використовується для тестування нових обчислювальних алгоритмів та технічних
засобів їх реалізації.
Задача оптимізації
І. Знайти матрицю потоків Х = {xij}, i, j = 6, щоби
6 6
ІІ. ЦФ d x
i 1 j 1
ij ij min
ІІІ. За обмежень:
6
x j 1
ij 1
6
i xij 1
i 1
та граничних умов: xij ≥ {0, 1}.
9
у файлі вважається, що відсутні зв’язки DEV-NY та LA-DAL мають нескінченну довжину
69
Це задача бінарного програмування у геометричній постановці, у прикладі
розв’язується наближеними алгоритмами (евристиками) скороченого перебору (їх
пропонується 4) й тому рішення не має двоїстих оцінок.
Для n міст існує (n-1)!/2 допустимих обходів, серед яких треба знайти
оптимальний.
Приклад 2.16. Задана мережа із 37 міст України, вважається, що усі з’єднані між
собою шляхами, знайти маршрут обходу мінімальної довжини.
D
e
n
70
Рис. 2.52. Початкові дані (Excel, QSB)
71
Рішення
72
Рис. 2.55. Результат (за алгоритмом поліпшеного обміну)
Обхід:
Бердичів → Хмельницький → Тернопіль →Львів → Ужгород → Мукачево →
Ів.-Франківськ → Чернівці →Вінниця → Умань→ Первомайськ → Вознесенськ
→ Кропивницький→ Кр. Ріг→ Нікополь → Дніпро → Гор. Плавні → Полтава
→ Миргород → Сміла → Черкаси → Пер.-Хмельн.→ Київ → Ніжин → Ромни→
Суми→ Конотоп → Чернігів → Прип'ять→ Коростень →Ковель → Луцьк →
Рівне → Н.-Волинський → Житомир → Фастів → Б. Церква →Бердичів
.
73
Рис. 2.57. Одна зі схем обходу 37 міст
74
Глава 3.
Мережеве моделювання проектної
діяльності
Загальні відомості Мережева модель задач транспортного типу стала основою
новітньої управлінської технології і культури – проектного менеджменту,
визначивши досконалий обчислювальний інструментар в управлінні проектами.
Лише тепер є можливість у єдиному проекту, портфелі чи проектній програмі
узгодити часто несумісні вимоги щодо тривалостей та ресурсного забезпечення
робіт для своєчасного і економного здійснення проектних рішень. Саме завдяки
мережевим моделям проектів вдалося реалізувати унікальні й складні проекти у
науковій сфері (типу космічних програм), в машинобудуванні, будівництві,
соціально-економічній області, державному управлінні тощо.
Проектний менеджмент – неодмінна складова операційного менеджменту,
дослідження операцій та науки управління (Management science).
Мережеві математичні моделі – ядро спеціалізованих програмних продуктів
різного призначення із різними вимогами до професійного рівня користувачів.
Модуль PERT/CPM – зручний інструмент розрахунку календарного плану проекту
без будь-яких строгих вимог щодо математичної чи програмістської підготовки
користувача, єдина вимога – коректно задати початкові дані, визначити тип моделі
й із розумінням зробити аналіз отриманого Рішенняу.
Проект (project) – тимчасова (тобто, в межах строго визначеного часового періоду,
за важливими часовими віхами) строго документована за міжнародними
стандартами організаційна структура, спрямована на створення унікальних
продуктів, послуг чи інших Рішенняів різного рівня важливості і відповідальності,
від розробки звіту з навчально-наукової роботи аж до державних чи міжнародних
програм стратегічного значення.
Їх характерна властивість – високий рівень організації різних дій, можливість
оперативно приймати зважені рішення для реагування на непередбачені події, які
виникають з-за унікальності здійснюваних робіт та зовнішніх умов їх здійснення.
Тож як ніде внесення змін у розроблені плани має здійснюватися швидко й
обгрунтовано за допомогою відповідних комп'ютерних моделей.
Проектна дільність – взаємопов’язаний комплекс заходів з:
постановки проблеми,
визначення необхідних видів активної діяльності (робіт, операцій, процедур,
activity),
організації, планування, ресурсного забезпечення та керування ними,
розробки календарного плану (розкладу, schedule) і
супроводження процесу реалізації проекту шляхом своєчасного корегування
розрахованих планів,
це – базова складова сучасного проектно-орієнтованого управління.
75
Мережева модель проекту – представлення робіт проекту у вигляді направленої
зваженої мережі у форматі «робота-вузол» (Activity-On-Node, AON)10. Таке
представлення дозволяє скористатися розвиненим математичним апаратом теорії
графів і мереж, розробити потужні і досконалі програмні продукти для розробки
та корегування календарних планів.
CPM (Critical Path Method) – метод критичного шляху (КШ), у цій назві
поєднуються: принцип побудови детермінованої мережевої моделі проекту та
математичний апарат на основі лінійного програмування, розроблений 60 років
тому математиком і програмістом Дж. Келі (Kelley), який реалізується нормальною
(normal) часовою й прискореною (crash) час-вартісною моделями. За цим апаратом
критичним (як характерне «вузьке місце») був названий шлях максимальної
довжини у проектній мережі від старту початкових робіт до завершення кінцевих.
Шуканий критичний шлях утворений критичними роботами, знайти його –
сутність задачі з оптимального планування і управління проектом (project
scheduling problem).
Слово «критичний» у назві методу не випадкове, критичність роботи – тривожний
сигнал керівництву проекту безумовно забезпечити виконання такої роботи
протягом вказаної тривалості і не пізніше, щоби проект був здійснений у
розрахований момент часу. Множина критичних робіт проектної мережі,
фактично, «вузьке місце» проекту – затримка критичної роботи неминуче призведе
до затримки усього проекту. І якщо поточний проект мав би завершитися сьогодні,
а завтра стартує наступний проект, один чи декілька, затримка приведе до «ефекту
доміно», коли детально розрахована система зв’язаних між собою проектів (типу
будівництва «з колес» чи переходу від однієї стадії процесу до наступної) може
мати катастрофічні наслідки.
Прототипом цієї оптимізаційної задачі є раніше розглянута задача про НШ – про
пошук конфігурації і обчислення шляху мінімальної довжини у мережі.
10
ранній формат «робота-дуга» (Activity-On-Arc, AOA) тут не розглядається
76
та початковими даними (рис. 3.1), таблиця із нормальною тривалістю робіт.
Зазвичай мережа проектного процесу зображується зліва направо, між усіма
зваженими (ваговий коефіцієнт – нормальна11 тривалість, normal time) роботами-
вузлами стрілками-дугами вказані зв’язки згідно заданих відносин передування
(precedence relations), тож кожна робота має «сусідів»:
зліва, від початку, – попередників (predecessor), їх не має стартова робота, одна
чи декілька, і
зправа, з кінця, – наступників (follower), їх не має завершальна робота, одна чи
декілька.
Роботи:
A, B, C – стартові, розпочинаються одночасно, мають лише наступників,
K, L – завершальні, мають лише попередників,
усі інші 7 – проміжні, мають попередників і наступників.
Уявно (не показані, але застосовуються) є дві фіктивні роботи:
Старт, з’єднана фіктивними зв’язками із входами робіт A, B, C, і
Фініш, з’єднана фіктивними зв’язками із виходами робіт K, L,
відповідно, найдовший шлях відшукується саме від роботи Старт до роботи
Фініш, якому після розрахунків буде належати якась одна робота з початкових A,
B, C і якась одна робота із завершальних K, L.
11
визначена на етапі розробки календарного плану згідно технологічних норм ресурсного
забезпечення
77
Рис. 3.2. D(H) = 3; P(Н) = {D, B}; Q(Н) = {I, J}
ES(i): ранній старт (earliest start) i-ої роботи, ES(i) = max{EF(j), j P(i)}
EF(i): ранній фініш (earliest finish) i-ої роботи, EF(i) = ES(i) + D(i).
LF(i): пізній фініш (latest finish) i-ої роботи, LF(i) = min{LS(j), j Q(i)}.
LS(i): пізній старт (latest start) i-ої роботи, LS (i) = LF(i)-D(i).
S(i): загальний резерв (slack) i-ої роботи, S(i) = LF(i) - EF(i) = LS(i) - ES(i).
F: довжина КШ, тривалість проекту (completion time).
Зворотний прохід мережі (Backward pass): L(i) = 0, LF(i) = F для усіх робіт.
(a) Серед робіт із L(i) = 0 вибрати довільну і-ту роботу, яка є кінцевою (яка не має
наступників), або ж її наступники мають L(i) = 1, тобто, j Q(i), L(j)=1.
(b) LS(i) = LF(i) - D(i), L(i)=1, для кожного попередника k P(i), якщо
LF(j) > LS(i), тоді LF(j) = LS(i).
(c) Якщо ще є робота із L(i) = 0, перейти до (a), інакше Cтоп.
Обчислити резерви S(i) = LS(i) - ES(i) для усіх робіт. Роботи із S(i) = 0 – критичні.
Розв'язок задачі:
прямий прохід мережі – пошук ранніх початків робіт, визначення довжини КШ,
зворотний прохід мережі – пошук пізніх завершень робіт,
обчислення усіх часових параметрів проекту: EF(i), EF(i), S(i), F.
79
Кожен вузол на схемі результатів
зображений кружечком із 5-ти
частин: 0 – ES(A), 5 – EF(A), А –
назва роботи, 2 – LS(A), 7 – LF(A):
81
Приклад 3.2. Проект складається із 44 робіт та зв’язків між ними
82
Рис. 3.9. Початкові дані
84
Рис. 3.12. Критичний шлях
85
дні. «Винуватці» цієї ситуації – критичні роботи із їх плановими тривалостями: C
(8), F (5), J (11), L (10).
Вихід із такої ситуації – процедура скорочення тривалості проекту (Crashing), у
першу чергу, скороченням тривалостей визначених критичних робіт, починаючи із
найдешевшої з них, залученням додаткових коштів (cost) за принципом: робота
«дорожча, бо коротша» (якщо це припустимо технологією).
Ця процедура – розв’язання оптимізаційної задачі, де треба точно визначити, яку
роботу і на скільки скоротити, аби мінімізувати суму додаткових витрат коштів.
Мова йде про багатокроковий пошук зваженого компромісу («золотої середини»),
бо скорочення тривалості роботи і скорочення вартості – суперечливі поняття, чим
коротше робота, тим вона дорожча, бо потребує більше ресурсів. При цьому не
треба робити якусь роботу гранично короткою, треба вчасно зупинитись, бо
захопившись скороченням, витрачаючи на це кошти, можна не побачити, як
новому КШ буде належати до того некритична робота.
Скорочення тривалості проекту за рахунок скорочення тривалостей робіт
зводиться до розв’язання задач лінійного програмування і отримання відповідного
рішення – які роботи і на скільки скоротити їх тривалості за критерієм мінімізації
додаткових витрат ресурсів.
Основні поняття
n: кількість робіт
D(i): нормальна (максимальна) тривалість і-ої роботи, за якою виконання роботи
потребує найменше ресурсів
T(i): скорочена (мінімальна) тривалість і-ої роботи, за якою виконання роботи
потребує найбільше ресурсів
N(i): мінімальна (нормальна) вартість і-ої роботи, відповідає її нормальній
тривалості
C(i): максимальна (скорочена) вартість і-ої роботи, відповідає її скороченій
тривалості
u(i): питома вартість і-ої роботи. Вважається, що функція С = f(t) лінійна, за якою
u(i) = [C(i)-N(i)]/[D(i)-T(i)]
x(i): шукана змінна – термін скорочення і-ої роботи
y(i): шукана змінна – старт і-ої роботи
e: шукана змінна – скорочення завершення проекту щодо моменту F
g: шукана змінна – затримка завершення проекту щодо моменту F.
Режими здійснення проекту:
A: використовуються нормальні тривалості робіт.
B: використовуються скорочені тривалості робіт.
F: враховується бажана тривалість проекту.
P: штраф за затримку пізніше моменту F.
R: премія за випередження моменту F.
Алгоритм
Використовуються дві моделі лінійного програмування.
86
Модель 1. Мета: скорочення задля задоволення бажаної тривалості проекту (F)
Задача оптимізації
І. Знайти X = {xi}, Y = {yi}, щоби
n
ІІ. ЦФ u x min
i 1
i i
ІІІ. За обмежень:
y(i) + D(i) - x(i) ≤ y(j) для (i,j)-их відносин передування
y(k) + D(k) - x(k) ≤ F для k-их кінцевих робіт
x(i) ≤ D(i)-T(i) для усіх і-их робіт
та граничних умов: X, Y≥ 0
Задача оптимізації
І. Знайти X = {xi}, Y = {yi}, щоб
n
ІІ. ЦФ Pg Re u x
i 1
i i min
ІІІ. За обмежень
y(i) +D(i) - x(i) ≤ y(j) для (i,j)-их відносин передування
y(k) + D(k) - x(k) ≤ F – e + g для k-их кінцевих робіт
x(i) ≤ D(i)-T(i) для усіх і-их робіт.
g ≤ A - F, e ≤ F- B
та граничних умов: g, e, X, Y ≥ 0
88
Рис. 3.15. Початкові дані
89
Рис. 3.17. Результат: вартість проекту за прискореними тривалостями
Аналіз
90
Рис. 3.18. Вікно налаштування Crashing Analysis (СА)
Варіанти
1) Бажана тривалість проекту 30 днів (проти 34), треба скоротити певні роботи,
мінімізуючи загальні додаткові витрати.
Рішення: скорочення КШ з 34 до 30 днів зводиться до скорочення двох робіт: J з
11 до 8 (min = 7) та L з 10 до 9 (min) днів. Згідно їх «цін»: u(J) = 125, u(L) = 50, це
потребує додатково: 125×3 = 375 (J) + 50 (L) = 425 гр. од., разом 30425 гр. од.
91
Рішення: за ці кошти вдасться виконати проект за мінімально можливу тривалість
у 28 днів за рахунок скорочення 4-ох робіт: С з 8 до 7 (min), І з 9 до 8 (min = 6), J з
11 до 7 (min), L з 10 до 9 (min) днів, додаткові витрати складуть величину 1850 гр.
од.
92
Рис. 3.21. Рішення 3
Якщо б штраф складав 500 гр. од. за затримку на 1 день, це скорочення обійшлося
б без штрафів із додатковими витратами у 850 гр. од. лише за рахунок скорочення
тривалості робіт: I (9 → 8) = 300, J (11 → 7) = 500, L (10 → 9) = 50 гр. од.
93
Приклад 3.4. Проектна таблиця з 13 робіт й 19 зв’язків (Фініш-Старт) між ними
представлена у мережевому форматі «роботи-вузли»:
Позначення:
m, n – кількість робіт і зв’язків між роботами. У прикладі: m = 13, n = 19;
i – поточний номер роботи в списку m робіт;
di, Di – тривалість роботи: прискорена, нормальна;
ci, Ci – пряма вартість роботи: прискорена, нормальна;
пi, нi – попередня (старт) і наступна (фініш) роботи, суміжні з і-ою роботою;
s(пi), s(нi) – часткові критичні шляхи до суміжних робіт;
j – поточний номер зв’язку у списку n зв’язків;
rj – ранній старт і-ої роботи;
Vпр – сума прямих витрат.
Задача оптимізації
І. Знайти вектор R = {ri}, i = 1, …, 13, щоб
ІІ. ЦФ Vпр → min
ІІІ. за обмежень:
s(нi) – s(пi) ≥ Di
та граничних умов: усі rі ≥ 0.
94
Рис. 3.24. Початкові дані
95
Рис. 3.26. Рішення: критичний шлях
96
Рис. 3.28. Рішення: критичний шлях
PERT
97
Рис. 3.29. Початкові дані
Таблиця початкових даних для тривалості кожної роботи визначає три часових
оцінки, це:
a (optimistic time) – мінімальна, оптимістична, малоймовірна, але можлива, якщо
все йде дуже добре, без збоїв і відхилень,
m (most likely time) – «середина» між границями а та b, в статистиці «мода»,
найбільш вірогідна, якою буває найчастіше чи скоріше за все
b (pessimistic time) – максимальна, песимістична, малоймовірна, але можлива,
якщо все йде не так, як передбачалося.
98
Рис. 3.30. Рішення
Ймовірнісний аналіз
99
Рис. 3.27. Вікно налаштування. Результати ймовірнісного аналізу
Зауваження
Повідомлення про
незалежність робіт одна від одної, що навряд чи реально, «охолоджує» підвищений
оптимізм тих керівників проектів, хто беззаперечно вірить в достовірність цього
прогнозу.
Аби довіряти методу PERT (як методу оцінювання проектного плану), необхідно,
щоб:
роботи були незалежними, тобто, коли їх тривалості не залежать одна від одної
або на ці тривалості не впливають якісь умови, скажімо, різка зміна погоди чи
проблеми із ресурсним забезпеченням, що на практиці малоймовірно
проект складався із досить великої кількості робіт, не менше кількох десятків,
кожна із своїм розподілом тривалості, аби в цілому якось «усереднити» чи
узагальнити взаємозв’язки різних розподілів,
лише тоді кінцеве рішення – ймовірність завершення проекту на задану бажану
тривалість – буде близьким до нормальному розподілу, природа і формули якого
використані при обчисленні оцінок та кінцевого результату.
Модель PERT-Cost оцінює очікувану вартість проекту за обчисленими середніми
тривалостями робіт, щоби оцінити вимоги до бюджету, і реалізується за методикою
СРМ-Cost, де до початкових даних слід додати нормальні вартості робіт.
PERT-Simulation
100
Методика трьох оцінок (3-Time estimate) була запропована й реалізована у
1960-ті роки на перших ЕОМ із вкрай обмеженими системними ресурсами.
Фактично, це був варіант СРМ, де – головне – тривалість роботи отримувала одне
числове значення. Тож справедлива критика PERT стосувалася саме отримання
«середньої» тривалості за формулою (a + 4m + b)/6, яка наче враховує випадковість,
але ж у розрахунках є константою, яка в принципі не відтворює статистичний
характер випадкової величини із нескінченним спектром допустимих значень й,
відповідно, випадковість усього проектного заходу. Уявімо, в реальних умовах
може зламатися інструмент, зникнути живлення, змінитися професійний рівень
виконавців, пішли дощі і пошкодили виконані земляні роботи тощо, а робота А як
була, так і залишається із розрахованою для нормальних умов тривалістю у 5 днів,
і за такими даними має обчислюватися кінцеве рішення. Чи можна йому довіряти?
На щастя інтенсивний розвиток комп'ютерної техніки дав можливість
змінити методику обчислення середньої тривалості роботи шляхом застосування
методології імітаційного моделювання (ІМ, Simulation), яка для своєї реалізації
висуває серйозні вимоги до швидкодії й пам’яті комп'ютера.
Техніка ІМ базується на імітації поведінки реальних динамічних процесів,
параметри яких є випадковими, шляхом штучної генерації множини випадкових
даних за певним розподілом як входів, фіксації виходів й наступним їх
статистичним аналізом, аби сформувати об’єктивну оцінку досліджуваної системи
чи процесу.
Модуль PERT/CPM здійснює цю процедуру (Results → Perform Simulation →
Simulate), генеруючи від 1000 (миттєве рішення) до 10000 (здійснюється протягом
хвилини) спроб (observations) для кожної роботи у сеансі, використовуючи на вибір
дослідника один із запропонованих 18 розподілів ймовірностей:
1. Beta Distribution
2. Binomial Distribution
3. Discrete Distribution
101
4. Erlang Distribution
5. Exponential Distribution
6. Gamma Distribution
7. Geometric Distribution
8. Hypergeometric Distribution
9. Laplace Distribution
10. Lognormal Distribution
11. Normal Distribution
12. Pareto Distribution
13. Poisson Distribution
14. Power Function Distribution
15. Triangular Distribution
16. Uniform Distribution
17. Weibull Distribution
18. 3-Time estimate.
12
у цьому випадку усі результати реалізації імітаційного процесу однакові, ця властивість
застосовується для налаштування моделі, щоби отримувати кожного разу різні ресультати,
треба увести інший код (enter seed)
102
Рис. 3.27. Рішення імітаційного моделювання
103
Рис. 3.28 Частотний аналіз (Excel)
Аналіз
Шанси завершити проект за 30 днів нульові. Середня тривалість проекту 33,9 днів,
реально можна розраховувати не раніше, ніж на 34,2 дня.
104
Основний висновок: якщо модель PERT-Time з фіксованими середніми
тривалостями робіт повертає одне значення тривалості проекту (33,83 дня), модель
PERT-Simulation повертає 1000 чи 10000 таких значень, статистичним аналізом
яких формується більш обгрунтоване кінцеве рішення.
Інші розподіли ймовірностей застосовують при розв’язанні нових задач.
105
106
Рис. 3.31. Рішення
Аналіз
107
Глава 4. Реконфігурація мережі: локація і
розташування вузлів
Загальні відомості Люди споконвіку приймають рішення про найкраще
місцезнаходження того, ДЕ: жити, купувати, працювати, вчитися, зберігати кошти,
лікуватися або відпочивати, щоби зі знайденого місця була ефективною,
безпечною і зручною взаємодія із відповідним оточенням. Наприклад, ще первісні
люди займалися пошуком зручної та безпечної печери для розміщення у ній свого
сімейства, інвентаря і запасів продуктів, оточенням служили джерела води, місця
полювання, випасу худоби або землеробства та сусіди, відносини з якими могли б
бути дружніми (до них треба бути ближче) або небезпечними чи ворожими (від
них треба було триматися як подалі, як це можливо).
Щодо до того, ЩО розміщується в шуканому місці, в зарубіжній літературі
використовується універсальний термін facility, це усе те, що у зручній формі надає
будь-які послуги, приміром, це: транспортні вузли, підприємства, склади,
магазини, школи, лікарні, СТО та заправки, пости ДАІ, зупинки міського
транспорту, електронні та комп'ютерні комунікатори, концентратори і термінали,
засоби автоматичного контролю за рухом пасажирів чи транспорту; у шуканому
місці передбачається розміщення адміністративного центру, пункту збору нафти
або газу від свердловин, екстрених служб (пожежного депо, поліцейського посту,
клініки швидкої допомоги, стоянки таксі), засобів життєзабезпечення
(енергетичного агрегату, телефонної станції, теплоцентралі, насосної станції
водопроводу або антени колективного користування ТБ) та забезпечення безпеки
(командний пункт військової бази, засоби спостереження, місця зосередження
техніки і армійських підрозділів).
Спираючись на ключове слово «послуги» чи сервіс, для шуканого місця все
частіше використовують термін «сервер», який розміщується для обслуговування
оточення –«клієнтів».
Тож будь-яку задачу про визначення найкращого місцезнаходження і подальшого
розміщення там одного або декількох центрів умовно і коротко називають facility
location problem, яка є надзвичайно розповсюдженою: Google на запит «location
problem» повертає майже 600 млн. відгуків!
Рішення – де має бути місце найкращого розміщення «сервера» для
обслуговування «клієнтів», приймаються на всіх рівнях людської діяльності,
починаючи від окремих осіб та їх сімей до фірм, корпорацій, урядових установ та
міжнародних організацій. Часто такі рішення є стратегічними за своєю природою
і наслідками, бо вони базуються на тривалому використанні великих обсягів
природних ресурсів і тому їх соціально-економічні ефекти довгострокові. Ці
рішення мають бути всебічно обґрунтованими й зваженими, раціональними чи
оптимальними. На жаль, іноді прийняті рішення засновуються виключно на
досягненні суто економічного ефекту, при проектуванні не враховується можливий
негативний вплив на екологію навколишнього середовища місцевого,
регіонального, а, іноді, планетарного характеру, приклади: розміщення у
108
густонаселених місцевостях крупних атомних електростанцій (ЧАЕС), складів для
зберігання озброєнь (Новобогданівка), Грибовицька свалка у Львові тощо.
Отже, завжди і скрізь виникає ряд важливих задач прийняття рішень, де потрібно
найкращим чином визначити місця розміщення одного чи кількох серверів для
колективного обслуговування оточуючих їх «клієнтів». На рішення щодо
розміщення істотно впливає характер взаємодії «клієнт-сервер», який може бути
різним. Наприклад, у випадку зручного розміщення корисного сервера – фабрики,
магазину чи школи – клієнти «притягують» сервер, щоб бути до нього ближче. Зате
при визначенні місця для розміщення шкідливого сервера – тваринницької ферми,
хімічного заводу, пункту збору, зберігання та утилізації твердих або радіоактивних
відходів, – клієнти «відштовхують» сервер, намагаючись бути подалі від нього.
Але ж ці «притягування» чи «відштовхування» досить умовні, бо ж розташування
того ж хімзаводу чи вокзалу має свої плюси і мінуси й раціональна взаємодія
«клієнт-сервер» вимушено будується за умови: «не ближче, ніж» або «не далі,
ніж». Ясно, що існує незліченна кількість допустимих місць для розміщення того
чи іншого сервера, значить, треба розмістити сервер оптимально – з урахуванням
обмежень на його місцезнаходження.
Це надзвичайно широкий клас типових задач умовної оптимізації з різними
вхідними даними, критеріями оптимізації (максимум, мінімум, максмін, мінмакс) і
обмеженнями на шукані невідомі, що має свою історію.
Для розв’язання важливих практичних завдань про розміщення центрів у
математиці сформувався самостійний «локалізаційний» науковий напрям (Location
Theory, Location Analysis, Location Science, [4]) у складі оптимізаційного
моделювання, де вивчаються різні постановки задач, розробляються їх
математичні моделі, обчислювальні методи і алгоритми та відповідні програмні
продукти.
Початок цьому напряму покладено в XVII ст. П’єром де Ферма (1601-1665),
французьким юристом, поетом і знавцем стародавніх, в першу чергу,
давньогрецької, й сучасних мов. Саме читаючи в оригіналі праці великих греків
(Евкліда, Діофанта та ін.), він захопився математикою, в чому і проявився його
геній – адже Ферма світові відомий саме як великий математик, бо є засновником
алгебраїчної теорії чисел, аналітичної геометрії, яку називають «декартовою»
(визначеної раніше і незалежно від Декарта), теорії ймовірностей (разом з
Паскалем) і принципів математичного аналізу, розвинених пізніше Ньютоном і
Лейбніцем.
У Європі XVII ст. стало початком «нового часу», коли в окремих розвинених
країнах зміцнюється новий суспільний лад – капіталізм, супроводжений технічною
та науковою революцією. Саме тому нові наукові відкриття цього періоду, зроблені
в першу чергу, у фізиці та математиці, диктувалися практичними міркуваннями.
Зокрема, створення перших мануфактур неявно висувало проблему їх
раціонального розміщення з позицій скорочення транспортних витрат щодо
джерел енергії, робочої сили, сировини і ринків збуту.
109
Тож як часто було в історії науки, Ферма придумав просту, як здавалося,
геометричну задачу як розвагу про знаходження центру трикутника, сума
відстаней з якого до вершин мінімальна13, тепер це – «точка Ферма».
При збільшенні числа точок, що відповідає практиці, ця задача стає надто
складною, для якої буває неможливо тримати точний розв’язок.
Природно, що ця локаційна проблематика найбільш популярна у галузі
математичної економіки та економічної географії, в транспортній логістиці та
регіональній економіці, в організаційному управлінні та операційному маркетингу,
а також в різних технічних областях, де мова йде про раціональне розміщення
обладнання, елементів конструкцій чи електронних схем і при прокладанні певних
комунікацій.
Ця сама по собі непроста математична задача оптимального розміщення центрів є
складовою логістичних та організаційних задач, де узагальнена цільова функція з
комплексом різноманітних обмежень на шукані невідомі поєднується із задачами
планування виробництва, призначення та транспортування, це комбіновані моделі
під назвами: location-allocation problem, transportation-location problem або
transportation-location-allocation problem.
З позиції теорії обчислень на графах і у мережах ці задачі відносяться до класу NP-
hard задач, тому для розв’язання практичних задач застосовують наближені методи
і алгоритми.
Класифікація задач про розташування центрів та їх математичних моделей:
початкові дані детерміновані/ ймовірнісні; потенційні місця задані/не задані;
відшукується центр один/декілька; відстані задані/обчислюються; потенціали
вузлів-клієнтів задані/не задані тощо.
В залежності від постановки задачі про розташування центрів відповідна
математична модель може бути лінійною чи нелінійною, знайдений оптимум буде
глобальним чи локальним, комп'ютерна реалізація моделі буде простою і швидкою
чи надзвичайно складною й тривалою (суттєво для нелінійних задач), Рішення буде
точним чи наближеним.
13
Given three points in a plane, find a fourth point such that the sum of its distances to the three
given points is as small as possible – задача зі 100 великих задач елементарної математики
110
бажано, одночасно за кількома критеріями, аби зважено і обґрунтовано узгодити
конфлікти інтересів.
Типовий клас оптимізаційних задач цієї проблематики – про найкращу локацію і
розміщення вузлів (location and layout problem), де вузол – концентроване
уособлення будь-чого (facility), що має зв’язки з такими іншими. Ці задачі цілком
природні й тому надзвичайно розповсюджені, їх постановка і розв’язання –
складова математичної теорії графів і мереж та її застосувань у сфері
організаційного управління мережевими структурами.
14
з-за такої колись умовної «прив’язки» будівельного майданчику на вибраній місцевості
місто Комсомольск обласного підпорядкування на Полтавщині став Горішніми Плавнями
за історичною назвою найближчого села
15
у 3-вимірному просторі – трійками координат
112
Рис. 4.1. Початкові дані
Вагові коефіцієнти дуг мережі Flow/Unit Cost (Потік/Питомі витрати) мають різну
природу, це:
потоки (Flow): матеріальні, фінансові, інформаційні, людські
o «клієнти ↔ клієнти»16,
o «центри → клієнти» (із нового центру NF1 клієнтам F1, …, F5 буде направлено
замовлених послуг/ресурсу на 52 гр. од.), наприклад, працівники чи школярі їдуть
по домівках, товар з бази розвозять по магазинам та
o «клієнти → центри» (у прикладі відсутні), наприклад, діти їдуть у школу чи
працівники на роботу, або
питомі витрати (Unit Cost)
у грошовому чи іншому вимірі.
Задача оптимізації
Треба визначити координати розміщення центру (xс, yс), одного чи кількох, заданих
кількістю, як джерел(а) певних послуг чи ресурсів існуючим вузлам-споживачам
за критерієм мінімізації/максимізації сумарних витрат потоків «центри→клієнти»
+ «клієнти→центри».
Для кожного центру (с) витрати щодо задоволення замовлень і-го клієнта
обчислюються як f(c, i) × d(c, i), де потік «центр→клієнт» f(c, i) вимірюється,
скажімо, в тоннах (т), відстань d(c, i) – в км, виходить, витрати вимірюються в
(ткм). В прикладі, за умовчуванням, ціна 1 ткм = 1 гр. од., тож витрати між
центрами та клієнтами обчислюються в гр. од., аналогічно оцінюються потоки
«клієнти → центри».
Вікна налаштування (рис. 4.2)
Вікно Facility Location Solution пропонує: розв’язати задачу про оптимальну
локацію нових вузлів чи оцінити власну локацію, це, фактично, аналіз «Що-якщо»,
із застосуванням трьох метрик (способів розрахунку відстаней).
16
які не впливають на шуканий результат – координати центру, тож матрицю потоків
«клієнти-клієнти» можна не задавати
113
Рис. 4.2. Вікна налаштування
Вікно Problem Specification для цієї задачі припускає два можливих критеріїв
оптимізації:
мінімум ЦФ для «добрих» центрів, які бажано розташувати як найближче
до клієнтів (робочі місця, школи, магазини, місця відпочинку), та
максимум ЦФ для «поганих» центрів, які бажано розташувати як
найдальше від клієнтів (полігони для складування та переробки шкідливих
речовин і відходів, ферми для відгодівлі худоби, електростанції, хімічні та
металургійні підприємства).
Рішення
114
Рис. 4.3. Рішення: с(3; 10)
Аналіз
І. Центр розташовано у 4-му вузлі (3, 10), відстані «центр → клієнти»: (5; 8; 13; 0;
17).
II. Вартість потоків – мінімальні витрати доставки замовлень на суму 52 гр. од. –
334 гр. од.: (5; 8; 13; 0; 17) × (8; 6; 15; 20; 3) = 40 + 48 + 195 + 0 + 51 = 334 гр. од.
Зауваження: так співпало, що центр опинився в одному із вузлів, клієнт F4 має
солідне замовлення, чим сам став центром, у загальному випадку центр
розташовується «на чистому місці» – так, з-за зменшення замовлення клієнта F4,
центр розташувався поміж вузлів-клієнтів (рис. 4.4.)
115
Модифікація моделі. Врахування потоків «клієнти → центри»
Початкові дані:
сума потоків «центр → клієнти» 52 од.
сума потоків «клієнти → центр» 124 од., разом 176 од.
Аналіз
Потужний потік f(1, c) = 80 од. «стягнув» центр з позиції (3; 10) у бік вузла-клієнта
F1, вже при f(1, c) = 81 од. центр взагалі розташується у вузлі-клієнті F1 з
координатами (0; 12):
116
Рис. 4.7. Варіант: f(1, c) = 81, с(0; 12)
Рішення
117
Рис. 4.9. Рішення
Аналіз
Приклад 4.2. 23 дачних ділянки розділені дорогою на дві частини, ліву і праву.
Ліва частина – старі дачі, віддалені від річки, де вже є електрика, але немає
централізованого постачання води з річки для поливу, права – нові дачі біля річки,
118
де вже є вода, але немає електрики. Власники замовили проект, за яким треба
економно визначити місцеположення розподільчих пунктів води та електрики для
направлених потоків «пункти → ділянки» за прямокутною метрикою (вздовж
вулиць).
Замовники визначили для розробників проекту координати точок підводу
труби/кабелю до кожної ділянки та відповідні замовлення (рис. 4.10):
119
Рис. 4.11. Рішення
120
Рис. 4.12. Початкові дані
Рішення
121
Рис. 4.14. Географічний центр України м. Шпола Черкаської області
Приклад 4.4. На плані нового цеху розміром 10×10 цифрами позначено місця
початкового розміщення 8 верстатів, за заданими координатами за прямокутною
метрикою обчислюється матриця D відстаней. Задана матриця технологічних
потоків F між верстатами, рис. 4.15.
Треба так призначити верстати на вказані місця, щоби мінімізувати сумарні
переміщення деталей між верстатами.
17
E. Buffa. A Heuristic Algorithm and Simulation Approach to Relative Location of Facilities,
Man. Sci., 1963
123
Окрім типового застосування при розміщенні виробничих потужностей чи споруд,
розв’язком квадратичної задачі про призначення є розміщення зв’язаних
електронних компонентів на друкованих платах чи інтегральних схемах, що
здійснюється системами автоматизованого проектування в електронній індустрії.
Рішення (рис. 4.16)
Постановка задачі
Мережа складається з n вузлів та n2 зважених дуг, у прикладі n = 17, вузлами є
складові об’єкти певного операційного середовища: верстати цеху, підрозділи
організації, джерела та споживачі ресурсів, замовники і виконавці робіт, вузли
реальних комунікацій тощо. З-за наявності функціональних відносин між вузлами,
124
ефективність мережевої структури залежить від розташування вузлів у
відповідному просторі, врахування цих відносин при розташуванні вузлів є ціллю
задачі.
План офісного приміщення – координатна (клітинна) сітка прямокутної форми
розміром 9×13, де кожна клітинка (Cell) має координати (рядок, стовпець). У цій
сітці утворено 17 місць (позицій) у вигляді діапазонів клітинок (Cell Location), з
них 16 позицій – матриці 2×3, одна позиція має складену форму із двох діапазонів
(рядок і стовпець, зафарбовані), усі позиції пронумеровані від 1 до 17.
Вузли – це 17 об’єктів, підрозділів (функціональних департаментів) із
аналогічними формами, тимчасово розмістили (initial layout) у цих же позиціях й у
тому порядку (їх номери аналогічні), вузлам ще присвоєні імена-символи: 1, …, 9,
A, …, H18. Перші 16 підрозділів (від 1 до G) у вигляді прямокутної клітинної форми
розміром 2×3 можна переміщувати, зате допоміжний підрозділ, позначений
буквою Н, розташований у діапазонах (5,1)-(5,3) та (1,7)-(9,7), має там залишатися
(рис. 4. 17).
Приклад розміщення 10-го підрозділу (з іменем А) у діапазоні (8,11)-(9,13),
8 9 11 13
координати центру цього прямокутника , = (8,5; 12). Координати
2 2
клітинних форм усіх підрозділів використовуються для розрахунку відстаней між
ними. Разом із відстанями між підрозділами існують також потоки взаємодії –
функціональні і технічні стосунки різного рівня, бо зрозуміло, що якість
функціонування офісу залежить від їх вдалого взаємного розміщення із
врахуванням інтенсивності потоків19. Ставиться задача розташувати підрозділи
переміщенням позиціях, і щоби знайти завершальне розміщення (final layout) для
покращення ефективності виробничого процесу мінімізацією суми добутків
відстаней і потоків між підрозділами.
Ідея алгоритму
Початкове розміщення «підрозділи → позиції», де їх номери співпадають, це (0,1)-
матриця:
18
усього імен 61: 1 …9, A(10) … Z(35), a(36) …z(61), звідси максимальний розмір задачі 61
× 61
19
задача раціональної розкладки товару/пропозицій послуг в маркетингу
125
відповідних пар чи трійок підрозділів із покроковою фіксацією і покращенням
поточного значення ЦФ.
126
Формат табличної моделі (.FLL)
n – кількість підрозділів
квадратна матриця потоків між підрозділами розміром n × n
стовпець Location Fixed з n значеннями no/yes визначає фіксацію (yes) позиції
підрозділу
стовпець Initial Layout in Cell Locations з n значень містить координати
початкового розташування підрозділів (одночасно це координати позицій), за
якими автоматично обчислюються відстані між клітинними формами об’єктів.
127
Рис. 4.20. Рішення: потоки, витрати, відстані, розташування
Аналіз
128
Приклад 4.6. Розміщення 32 об’єктів різної (прямокутної, як необхідно) форми
на початковому кроці розміщено (рис. 4.21)
129
Рис. 4.23. Початкові дані
Рішення
130
Рис. 4.25. Плани початкового і завершального розміщення
Аналіз
Усі об’єкти повністю розмістилися у визначених позиціях, однак із 32 об’єктів 4
об’єкти: 9, О(24), С(12) та D(13) змінили свою форму.
131
Рис. 4.26. Початкове розташування 61 вузла
132
Рис. 4.27. Завершальне розташування
133
складових, та винаходу складального конвеєра (рис. 4.29), де із готових блоків
компонується кінцевий продукт, за рахунок чого досягаються висока
оперативність процесу, масове виробництво зі зниженими питомими витратами,
що забезпечується складною і досконалою організаційною роботою.
У цій роботі присутня важлива і складна обчислювальна задача із прийняття
організаційного та управлінського рішення під назвою «балансування лінії» (line
balancing problem), де визначається раціональна (оптимальна) структура лінійного
операційного процесу у вигляді зв’язаної послідовності робочих станцій, утвореної
із розгалуженої мережевої моделі. Балансування лінії – це специфічна задача
призначення чи розміщення (layout) елементарних завдань, яких буває сотні і
тисячі, по робочих станціях – «що - куди розмістити», кількість яких залежить від
параметрів процесу: тривалості робочого часу і виробничого плану. Це треба
зробити так, щоби збалансовані робочі станції були синхронізовані, маючи
приблизно рівні проміжки операційного часу, аби звести до мінімуму час простою
уздовж лінії (чи паралельних ліній) та найкраще використати кадровий і технічний
потенціал робочих станцій.
Визначальним показником для розв’язання цієї задачі є тривалість циклу лінії
(Cycle time, C), яка визначається заданими: тривалістю відведеного робочого часу,
скажімо, протягом зміни (operating time, T) та запланованим (бажаним) виходом
готового продукту (desired output rate, Р): С = T/D. Це максимальний час,
відведений кожній робочій станції для здійснення призначених їй завдань, і,
фактично, вихідна швидкість і продуктивність (potential rate) збиральної лінії.
Якщо якась робоча станція використає менше виділеного максимального часу, у
неї з’являться залишки (потенційні резерви) операційного часу, що свідчить про
неефективність отриманого балансу – протягом цього залишкового часу
працівники і обладнання робочої станції в очікуванні чергового завдання від
станцій-попередників.
Шукана кількість робочих станцій – N, це функція тривалості циклу, залежить від
плану Р та Результативності вибраного алгоритму щодо комбінування
елементарних завдань в робочі станції.
20
для кожної дуги-зв’язку номер вузла-попередника менше номера вузла-наступника,
інакше повідомлення про помилку Subscript out of range і припинення роботи (порада:
зберігати файл документа)
134
евристики, розділи налаштування: Primary Heuristic, Tie Breaker
оптимізації
імітаційного моделювання та евристики (COMSOAL), налаштування
генератора випадкових чисел (Random seed number, Number of random generation).
135
Рис.4.29. Початкові дані: мережа, таблиця
136
137
Рис. 4.30. Рішення
138
Аналіз
Модифікація моделі
За оновленими технологічними нормами зменшено тривалості операцій (хв.):
Task 2: 9 6
Task 7: 10 8
Task 8: 12 10,
збільшено для:
Task 11: 3 4
Task 16: 3 5.
Знайти новий баланс.
Рішення (рис. 4.31)
21
алегоричний приклад: у часи, коли диліжанс був єдиним транспортним засобом для
дальніх подорожей, мандрівник має визначити найкоротший (найдешевший) маршрут від
старту до фінішу шляхами, які пролягають через певні населені пункти чи території й
складаються із дуг з певними ваговими коефіцієнтами (довжиною, поточними витратами)
140
Приклад 5.1. (файл STAGE.DPP)
.
У цьому – принцип ДП, коли процес у просторі «показник - час» можна
представити структурою із «шматків»-станів. Обчислювальний процес спочатку
йде у напрямку 10 → 1 за станами С1 → С2 → С3 → С4, де діють етапи, які
охоплюють сусідні стани:
141
(10) → (8, 9)
(8, 9) → (5, 6, 7)
(5, 6, 7) → (2, 3, 4)
(2, 3, 4) → (1),
на кожному з яких обчислюються мінімальні шляхи від джерела 10 до вузлів
поточного стану. Наприклад, на 3-му етапі (5, 6, 7) → (2, 3, 4) на вхід вузла 3 подано
числа 16, 23, 26, отримані за даними попереднього і поточного етапу, і, згідно
поставленої задачі мінімізації, обчислюється Рішення: f(3,3) = min(16, 23, 26) = 16,
забезпечений дугою (3 - 5) із довжиною 6.
Відповідно, на кожному кроці запам'ятовуються: номер поточного вузла-стоку (j),
номер вузла-джерела (i) і довжина дуги (i - j), що забезпечили мінімум, тобто, (3,
5, 6) для вузла 3:
Рішення цього проходу – збережений числовий масив проміжних рішень (рис. 5.3).
Зворотним проходом 1 → 10 етапами
(1) → (2, 3, 4)
(2, 3, 4) → (5, 6, 7)
(5, 6, 7) → (8, 9)
(8, 9) → (10)
за даними цього масиву послідовною фіксацією аргументів мінімізації формується
кінцевий Рішення – найкоротший шлях 1 → 3 → 5 → 8 → 10 довжиною (19):
142
Рис. 5.4. Результати обчислень за рекурентною формулою
Рішення
143
Після додавання (на вимогу програми) фіктивних полюсів – джерела (0) з 3 дугами
та стоку (19) з 5 дугами, із нульовими оцінками дуг, мережа має такий вигляд:
144
Рис. 5.9. Вікно налаштування, Рішення (фрагмент)
Рис.5.10. Результати
145
Рис. 5. 11. Рішення
22
за алегоричним прикладом, коли турист(ка) має найцінніше за вмістом спакувати рюкзак
із врахуванням його місткості й своєї «вантажопідйомності»
146
xd 2
та граничних умов: усі шукані змінні цілого типу.
147
Рис. 5.14. Субоптимальні плани: Х = (2, 0, 0, 0) та Х = (0, 1, 3, 1)
148
Рис. 5.16. Типові ситуації поточного часового періоду
Рішення
149
Рис. 5.19. Рішення (схема)
150
Глава 6. Багатоцільові мережеві моделі
Загальні відомості Усі попередні оптимізаційні задачі та їх математичні моделі
мали одну цільову функцію із відповідним критерієм. Класу моделей цільового
програмування (Goal Programming, GP23) або багатокритеріальної оптимізації
відповідає рішення «і вовки ситі, і вівці цілі», тобто, відшукується компромісне
рішення із задоволенням суперечливих умов, коли, наприклад, одночасно хочеться
як найдешевше купити товар чи отримати послугу високої якості або ж за малих
запасів ресурсів розраховувати на високий дохід. Тож зрозуміло, що обіцянки
«максимальна якість за мінімальною ціною» сумнівні (не кажучи вже, що мінімум
ціни як додатного числа це 0).
Багатокритеріальних задач у реальній практиці набагато більше, ніж «ідеальних»
однокритеріальних, де мають разом досягатися несумісні цільові функції (їх не
менше двох) типу: одночасна мінімізація вартості й максимізація якості або
мінімізація/максимізація різних комбінацій шуканих змінних, звідси – висока
популярність цих моделей.
Як і в задачах ЛП, взаємодія об’єктів у цьому класі моделей зображується у вигляді
мережі.
Зважений і обґрунтований компроміс (trade-off) досягається вимушеним
однобічним чи взаємним послабленням граничних вимог із неодмінною
«розплатою» – втратами однієї чи обох сторін. Наприклад, коли запасів треба трохи
прикупити, аби задовольнити очікуваний дохід, або ж очікуваний дохід буде дещо
меншим за бажаний з-за фіксованих ресурсних обмежень, й це має влаштувати усі
сторони конфліктної ситуації.
Оптимум GP, зокрема реалізований в WinQSB, це пошук компромісу за критерієм
мінімізації суми змін значень правих частин обмежень (ПЧО).
Ідея
В задачі ЛП є обмеження-нерівності, наприклад,
х1 + 2х2 12
3х1 + х2 ≥ 10.
23
A. Charnes, W. Cooper (1955). Optimal estimation of executive compensation by linear pro-
gramming
151
де: у1 – «негативний» (n), а у2 – «позитивний» (p) доданки, мінімальна сума
відхилень у1 + у2 – це ЦФ, зате тут відшукуються вже 4 змінні: х1, x2, y1, y2, зв’язані
між собою обмеженнями.
В задачах ЦЛП це дещо інакше.
Систему нерівностей
х1 + 2х2 12
3х1 + х2 ≥ 10
Приклад 6.1. Визначити виробничу програму – що (А, В, С) і скільки (хА, хВ, хС)
виготовити, аби задовольнити дві суперечливі вимоги: мінімізувати витрати
ресурсів і, одночасно, максимізувати очікувану ефективність виробничого процесу
(дохід), маємо компроміс «витрати проти доходу».
Обмеження ЦФ1 (G1) відповідає задачі про дієту мінімальної вартості, а ЦФ2
(G2) – про план виробництва із отримання максимального доходу.
На початку цю задачу розв’яжемо як дві однокритеріальні задачі ЛП на min/max
ЦФ, відшукуючи окремо оптимальний план для кожної ЦФ, щоби мати орієнтовні
границі області допустимих рішень.
24
на честь Діофанта Олександрійського, 3 ст. н. е.
152
Рішення ЛП-1 (min), рис. 6.1.
Min ЦФ1 = 114, план (16, 14, 36), тоді ЦФ2 = 1016 + 914 + 368 = 574; ресурсне
обмеження C3 зменшено із 80 до 66, це ліва гранична точка (114, 574) на графіку
(рис. 6.3)
Аналіз
Max ЦФ2 = 750, план (30, 50, 0), тоді ЦФ1 = 150 (проти 114); обмеження С1
збільшено із 30 до 80; ресурсне обмеження С4 зменшено із 120 до 90, це права
гранична точка (150, 750) на графіку (рис. 6.3), між ними – варіанти компромісу
(наче кінці канату, який перетягують).
153
Рис. 6.2. Рішення ЛП-2
Висновок
Якщо запаси ресурсів фіксовані і не можуть змінюватися (80, 120), максимальний
ефект буде 574 од., якщо ж запаси можна збільшити (114 150) відповідними
витратами на їх поповнення, тоді максимальний ефект буде 750 од.:
Модуль Linear and Integer Goal Programming розв’язує задачу ЛП, де ЦФ є сумою
втрат (відхилень) ПЧО (правих частин обмежень), вирази обох ЦФ переходять до
групи обмежень.
154
Позначення: p1, p2, n3, n4 – шукані додаткові втрати, це: додатні чи позитивні (р) та
від’ємні чи негативні (n) додаткові шукані змінні, які додаються чи віднімаються
від значень ПЧО для перетворення системи нерівностей у систему рівнянь.
155
Рис. 6.5. Стандартна форма початкових даних GP
Рішення (GP)
Аналіз
Модифікація моделі
Умова: запас ресурсу С3 (80) не можна змінювати, маємо строге обмеження:
хA + хB + хС = 80.
Рішення (рис. 6.8).
План Х = (30, 35, 15), ЦФ: збільшена сума змін до 35 з-за зміни обмеження С1 (30
65), дохід збільшився до 735 од. за рахунок збільшення витрат на ресурсне
забезпечення (114 135), точка (135, 735) на графіку.
156
Рис. 6.7. Рішення
Параметричний аналіз
Праві частини обмежень (ПЧО) – параметри управління ефективністю
виробничого процесу, її підвищують (якість продукції, дохід) збільшенням
граничних значень цих параметрів, тож треба оцінити їх сукупний вплив на
показник ефективності (G2) й додаткові вимоги до необхідного ресурсного
забезпечення (G1), щоби надалі приймати відповідне рішення: який параметр й
наскільки збільшити.
157
При зменшенні ПЧО С3 від 80 до 66 од. ресурсна складова дорівнює 114 од., ефект
має значення у 574 од. (як у варіанті ЛП-1 на мінімум ЦФ).
При зростанні ПЧО С1 від 30 до 80 од. ресурсна складова слабко зростає з 114 до
150 од., зате ефект стрімко досягає максимуму у 750 од. (співпало із варіантом з
ЛП-2 на максимум ЦФ).
158
Рис. 6.10. Рішення з С1
Перевірка
159
Рис. 6.12. Рішення для С2
При зростанні ПЧО С4 від 120 до 190 од. ресурсні витрати спадають з 114 до 100
од., зате ефект досягає 700 од. проти 574 од.
160
Рис. 6.13. Рішення для С4
У цій задачі ліва і права частини обмежень приблизно дорівнюють одна одній:
-х1 + 3x2 6
7x1 + x2 35
7x1 + 9x2 350.
Задача оптимізації
І. Знайти план Х = (х1, х2) та p1, p2, р3, n1, n2, n3, щоби
II. ЦФ1: p1 + p2 → min
ЦФ2: n3 → min
III. За обмежень:
-х1 + 3х2 - n1 + p1 =6
7х1 + х2 - n2 + p2 = 35
7х1 + 9х2 - n3 + p3 = 350
та граничних умов: шукані змінні цілого типу.
Початкові дані (С1 не видно)
Рішення
162
Задача цілочислової оптимізації
І. Знайти план Х = (х1, …, х8), щоби
II. ЦФ1: x4 + x6 → min
ЦФ2: x7 → min
III. За обмежень:
-х1 + 3х2 - x3 + x4 =6
7х1 + х2 - x5 + x6 = 35
7х1 + 9х2 - x7 + x8 = 350
та граничних умов: шукані змінні цілого типу.
163
С1: X1 = 5 (малі)
С2: X2 = 10 (середні)
С3: X3 = 15 (великі)
та граничних умов: усі змінні додатні і цілого типу.
164
Рис. 6.18. Початкові дані
Перевірка: 1000000 - (18000 + 2*45150) = 11050, тобто, відмова від одного малого
та двох великих приміщень дозволила зекономити 11050 грн. бюджету.
Модифікація моделі 1
Строга умова: Х1 = 5, відповідно, n1, p1 = 0
165
Рис. 6.20. Початкові дані і рішення
Аналіз
Модифікація моделі 2
Строга умова: Х1 = 5, Х2 ≥ 10.
166
Рис. 6.21. Початкові дані і рішення: Х = (5, 18, 7)
167
Глава 7. Аналіз рішень в умовах
невизначеності і ризику
Загальні відомості Аналіз рішень – це бажання здійснити найкращий вибір
одного із визначеного набору варіантів (альтернатив) з невизначеними наслідками,
складові:
1. Альтернативні рішення (A1, A2, …, Am), одне з яких має бути вибране.
Приклади: прийняти участь/не приймати участь; привезти на продаж 1, 2 …
одиниць товару; купити 1, 2, … одиниць акцій/валюти чи не купувати тощо. За
кожним рішенням є наступне: з рішень узяти/не брати відпустку, є «узяти», тоді
новий вибір: куди їхати відпочивати (варіанти).
2. Події (S1, S2, …, Sn) випадкової природи, які враховуються після прийняття
рішення, їх називають станами природи, знаючи, якою непередбачуваною
природа буває, у вигляді фіксованих варіантів типу: високий, середній, низький.
Приклади: попит на продукцію, явка виборців, період року, вік клієнтів, ґатунок
товару, час доби, тип транспортного засобу тощо.
Вибране рішення і певна подія (стан природи), що може статися, – це входи.
3. Виходи – відповідні визначені розрахунками оцінки чи Рішення як наслідок
вибраного i-го рішення і визначеного j-го стану природи, їх зазвичай виражають у
вигляді платежів (Пij), які можуть бути кількісними (додатними чи від’ємними
числами: прибуток чи витрати, температура повітря) чи якісними, нагадує Рішення
аналізу «Що-якщо»: якщо вибрати рішення А3, тоді при стані S2 отримаємо платіж
П3,2.
Продавець збирається продати на ринку свій товар (фрукти, овочі, видану книжку
чи якусь послугу), припущення і платежі: вартість одиниці 10 грн., втрата покупця
(попит не задоволено) -4 грн., непродана одиниця -2 грн.
Рішення: продати 1, 2 чи 3 одиниці, попит (стани природи): купити 1, 2, 3 чи 4
одиниці.
168
Й, за аналогією із транспортною задачею матричного типу, платіжну таблицю
можна представити в наочній формі як направлену мережу, яку називають деревом
рішень (decision tree), де ваговим коефіцієнтом дуги є, зокрема, величина Пij (рис.
7. 1).
Задача (на прикладі даних файла PAYOFF.DAA). Продавець (він же ОПР) певної
продукції (товару, послуги) в Рішенняі поверхневого ознайомлення із невідомим
йому ринком припустив, що попит (стан природи, State) може бути високим (High),
середнім (Medium) чи низьким (Low).
Не маючи аніяких кількісних (статистичних, ймовірнісних) оцінок – рішення має
прийняти у повній невизначеності, як кажуть, «на страх і ризик».
Явно ризикуючи, він визначив три альтернативних рішення щодо своїх дій:
А1: Провести активну (не безкоштовну) рекламну компанію (Advertise)
А2: Розраховувати на везіння (Do Nothing) чи
А3: Керуватися гнучкою ціновою політикою (Pricing).
Здійснення рішень супроводжується витратами, для кожного рішення різні,
скажімо, для А2 вони відсутні, в разі успіху слід розраховувати на виграш,
прибуток (платіж з +), інакше – програш, втрати (платіж з –).
Для цих станів та рішень ОПР склала таку уявну платіжну матрицю для оцінки
наслідків:
169
Рис. 7.2. Матриця платежів
170
Оскільки усі розрахунки у модулі виконуються автоматично, покажемо їх в Excel.
,
щоби приймати рішення в умовах ризику, маючи «теоретичні», не підтверджені
досвідом (апріорні) ймовірності (Prior probability), без будь-якої додаткової
інформації щодо реальних станів (попиту).
Мережева модель (дерево рішень), де дуги мають два вагових коефіцієнта (рис.
7.4).
172
Рис. 7.4. Дерево рішень
Задані апріорні ймовірності (prior probability) станів природи: (0,2; 0,5; 0,3) в
реальній практиці повинні корегуватися. Адже процес, де приймають рішення,
змінюється зі змінами умов його протікання, з’являється нова інформація, за якою,
скоріше за все, змінюються ймовірності станів природи, за якими приймають
рішення в умовах ризику.
Тож виникає потреба визначити оновлені, побудовані на отриманому досвіді,
апостеріорні ймовірності, з врахуванням діючих умов, які представлені умовними
(conditional) ймовірностями, їх отримання базується на теоремі і формулах Байєса.
Запис: Р(А|Б) – умовна ймовірність, це: ймовірність події Б за умови, що
здійснилася подія А.
Нехай А і Б – дві довільних і незалежних події, тоді:
Р(А), Р(Б) – відомі безумовні ( апріорні) ймовірності.
Р(А|Б), Р(Б|А) – відомі «пряма» та відповідна «зворотна» умовні ймовірності.
174
P A | B PB
PB | A – обчислення «зворотної» ймовірності через відому
P A
«пряму» ймовірність.
Р(А та Б) = Р(Б та А) – рівнозначність позначень сумісних ймовірностей.
Р(А та Б) = Р(А|Б) Р(Б) або Р(Б та А) = Р(Б|А) Р(А) – сумісні ймовірності появи
обох рівнозначних подій А та Б.
Алгоритм
Початкові дані:
апріорні ймовірності рішень 2-го рівня
умовні ймовірності рішень 1-го рівня, де визначена нова інформація:
Послідовно обчислюються:
сумісні (Joint) ймовірності (B9:D11), транспоновані значення (B18:D20)
безумовні (Marginal) ймовірності (E9:E11)
апостеріорні (Posterior) ймовірності (B13:D20)
175
Рис. 7.6. Результати обчислень в Excel
176
Рис. 7.7. Контрольні значення
Результати
177
Рис. 7.9. Апостеріорні, безумовні та сумісні ймовірності
178
Приклад 7.2. (файл PAYOFF.DAA) Платіжна матриця
179
Рис. 7.13. Результати аналізу платіжної таблиці
180
Рис. 7.14. Перевірка розрахунків
25
їх отримують із файла аналізу Байєса
181
Рис. 7.15. Дерево рішень
182
Приклад 7.3. (файл DTREE.DAA) Дерево рішень
26
дещо відрізняється від попереднього (56245 проти 57170) з-за використання
ймовірностей лише з 2 знаками після коми, їх сума 0,99
183
Рис. 7.17. Рішення
Аналіз
184
Додатки
Д1: Імпорт даних WinQSB → MS Excel
Табличні продукти програм WinQSB зберігаються в текстовому (.txt) форматі.
Способи імпорту табличних даних, представлених у вигляді текстових файлів, в
Excel.
В Блокноті:
відкрити текстовий файл,
виділити все чи необхідний фрагмент, скопіювати і вставити в Excel:
186
Рис. Д1.3. Робота з Майстром імпорту тексту
187
Рис. Д2.1. Карта
188
Рис. Д2.3. Таблиця відстаней
189
Рис. Д2.4. Початкові дані
190
Рис. Д2.6. Дерево мінімального покриття
191
Рис. Д2.7. Об’їзд Житомир-Бердичів-Фастів (3 + 4 = 7)
192
Рис. Д3.1. Вікно налаштування
Приклад 1.
У базовій задачі (вузли якої можна й перейменувати), рис. Д3.2, аналізується
залежність значення ЦФ від числового значення (Node Value) вузла Boston, його
поточне значення (пропозиція, база відліку) С = 100 од., шляхом отримання
табличної функції D = f(sBoston), де аргумент функції – пропозиція sBoston –
змінюється в діапазоні зліва від С:
від значення 50: uС’= ustarting (-50), С + uС’ = 50
до значення 75: uС’ = uending (-25), С + uС’ = 75
з кроком ustep = 5.
193
Рис. Д3.2. Початкові дані
Рішення:
Приклад 2.
Аргумент функції, пропозиція sBoston, змінюється в діапазоні зправа від С:
194
від значення 140: uС’= ustarting (+40), С + uС’ = 140
до значення 210: uС’ = uending (+110), С + uС’ = 210
з кроком ustep = 5.
Рішення:
Приклад 3.
Аргумент функції, пропозиція sBoston, змінюється по обидва боки від С:
зліва від значення 0: uС’= ustarting (-100), С + uС’ = 0
до значення зправа 190: uС’ = uending (+90), С + uС’ = 190
з кроком ustep = 20.
Рішення:
195
Рис. Д3.6. Таблиця рішень
Приклад 4.
Досліджується функція D = F(cBoston-Tampa), її аргумент, питома вартість cBoston-Tampa
завантаженої дуги Boston-Tampa, якою (тут найдешевша питома вартість до
Тампи) поставляється 100 од. продукту, змінються по обидва боки від С = 5:
зліва від значення 0: uС’= ustarting (-5), С + uС’ = 0
до значення зправа 10: uС’ = uending (+5), С + uС’ = 10
з кроком ustep = 1.
Рішення (рис. Д3.7), за яким:
зменшення вартості поставки цим маршрутом гарантовано привело б до
зменшення загальних транспортних витрат – це турбота транспортної компанії, яка
замовила цей аналіз,
збільшення вище 5 гр. од., навіть до 5,01 гр. од., не приведе до збільшення значення
ЦФ, бо Тампу забезпечать інші постачальники.
196
Рис. Д3.7. Рішення: таблиця і графік
197
Рис. Д3.8. Результати прямої і двоїстої задач ЛП
198
Рис. Д3.9. Графік для Бостона
Прийняття рішення
Остаточне рішення приймається транспортною компанією (за згодою
постачальників) згідно рекомендованих двоїстих оцінок:
,
за яким постачальники у Бостоні і Денвері збільшують свої пропозиції до 250 та
550 од. відповідно. Ці зміни вносяться в таблицю початкових даних:
,
отримується нове оптимальне рішення (рис. Д3.12), за яким:
значення ЦФ вдалося зменшити до 3150 проти 3350 гр. од. за рахунок
зменшуваних властивостей функцій D = f(s) цих постачальників
постачальник з Остину вибув
тіньові ціни нульові, тобто, зменшити значення ЦФ неможливо
у постачальника з Денвера 100 од. продукту виявилися зайвими, що дозволяє
йому послабити власну пропозицію до 450 проти 550 од. без змін у плані.
Рішення
200
Рис. Д3.12. Рішення
201
За цією програмою трохи (на великих діапазонах значення ЦФ може змінюватися)
змінивши певне початкове значення («Якщо») можна миттєво отримати Рішення –
відповідний повний розв’язок оптимізаційної задачі («Що»), початкові дані
зберігаються.
Отримавши відповідь, повернутися до початкових даних.
Дії:
вибрати об’єкт (дугу, вузол)
вибрати назву (позначення) об’єкту
задати бажане значення параметру об’єкту (пропозиція, попит, питома
вартість):
Приклад 1.
Яким буде рішення, якщо питомі витрати за маршрутом Boston-Tampa складуть
величину 4,2 гр. од. проти 5?
202
Приклад 2.
Яким буде Рішення, якщо питомі витрати за маршрутом Boston-Tampa складуть
величину 5,01 гр. од. проти 5?
Приклад 3.
Яким буде Рішення, якщо попит Майамі складе величину 200 од. проти 250?
Прямокутна («манхеттенська») метрика: d(a,b) = |xa - xb| + |ya - yb|, |х| – функція
abs(х):
203
x – функція sqrt(х), КОРЕНЬ(х).
Приклад:
Складові:
назва задачі
назви вузлів
критерій ЦФ (min, max)
тип задачі (у складі модуля)
204
Рис. Д5.1. Вікно налаштування, зразок
205
Графічну та нормальну форми зручно використовувати для демонстрації процесу
розв’язання задач невеликого розміру із суто навчальними цілями, таблична форма
розрахована на швидкий спосіб підготовки даних і розв’язання реальних задач.
Краще всього на початку використати табличну форму для швидкого формування
(в Excel) і наступного уведення початкових даних, а відповідні їй графічну та/чи
нормальну форми, за бажання, відкоригувати.
Формат табличного документа повністю визначається класом задачі оптимізації,
що розв’язується у відповідному програмному модулі.
Початкові дані
207
Рис. Д6.3. Початкові дані
208
Рис. Д6.5. Розташування вузла Суми
209
Рис. Д6.7. Рішення
Постановка задачі
3 види ресурсів (Р1, Р2, Р3) використовуються для виготовлення 5 продуктів (П1,
…, П5). Задано: запаси ресурсів, іх питомі витрати та ціни продуктів. Треба
визначити оптимальний план випуску продукції за критерієм максимізації
прибутку від її реалізації.
Початкові дані
Дії
Крок 1. Визначення типів задачі і шуканих даних, форми, імені і розміру моделі
У цій задачі передбачено табличну і нормальну форми початкових даних.
210
Рис. Д6.8. Форма документа
Рядки:
перший фіксований рядок відведено для коефіцієнтів цільової функції
наступні 3 рядки відповідають обмеженням (змінювана частина)
наступні 2 фіксованих рядки (Lower/Upper Bound) – граничні умови значень
невідомих
останній фіксований рядок (Variable Type) – тип невідомих, один із 4-ох
можливих
Стовпці:
перші 5 стовпців відповідають шуканим невідомим, їх імена за
умовчуванням: Х1, …, Х5 (змінювана частина)
наступний стовпець містить знаки відношень, їх можна змінювати
подвійним кліком
останній стовпець містить значення правої частини обмежень (R.H.S.)
Крок 3. Нормальна форма
Команда: Format→ Switch to Normal Model Form
211
Рис. Д1.9. Нормальна форма
Крок 4. Двоїста форма
Задача лінійного програмування має дві моделі:
пряма задача (крок 3) та
двоїста задача, її шукані змінні (Р1, Р2, Р3) є вартісними оцінками запасів
ресурсів, заданих у певному вимірі (тонни, кубометри, години), називаються
«тіньовими цінами» (Shadow Price). Двоїстими оцінками цін продуктів є
«зменшувана вартість» (Reduced Cost) – це різниця між ціною продукту й вартістю
ресурсів (обчисленої за тіньовими цінами), витрачених на виготовлення одиниці
продукту.
Команда: Format→ Switch to Dual Form
Крок 5. Розв’язок
Пряма задача: Х = (0; 0; 7,333; 0; 0), ЦФ (максимум) = 190,6667.
Двоїста задача: тіньові ціни ресурсів Р = (0; 0; 8,6667), ЦФ (мінімум) = 190,6667.
212
Рис. Д6.11. Рішення
Для продукту П1 з ціною 15 гр. од. за одиницю вартість ресурсів дорівнює: 2×0 +
5×0 + 3×8,6667 = 26, значить, його зменшувана вартість дорівнює 15 – 26 = -11,
виготовляти його невигідно, бо витрати на ресурси перевищують його продажну
ціну на 11 гр. од. Якщо цей продукт потрібний, його ціна повинна бути вищою за
15 + 11 = 26 гр. од. хоча б на копійку.
Перевірка і Рішення: Х = (7,3333; 0; 0; 0; 0)
213
Освіта:
PhD, Operations Management, The University of Texas at Austin, 1985
MS, MIS, The National Chiao-Tung University, Taiwan, 1977
BS, Electrical and Computer Engineering, The National Taiwan University, Taiwan,
1975.
Його наукові інтереси: управління якістю, управління технологіями, виробничі
інформаційні системи, операційне планування і управління, операційний
менеджмент, бізнес-аналітика.
Розробник програмних пакетів QSB, QSOM та QS для вивчення науки управління
(Management science, MS), операційного менеджменту (OM) та кількісних методів
(Quantitative methods).
Пакет WinQSB був визначений кращим серед аналогічних програмних засобів в
рейтингах, проведених відомими софтверними журналами OR/MS Today (1986) та
Interface (1988).
Пізніше у своїй роботі став застосовувати Excel.
Автор підручника: WinQSB: Decision software for MS/OM, 1998. – 471 p.
Фрагмент:
Користувачу WinQSB:
достатньо орієнтуватися в моделях і методах, розуміти суть задачі, підготувати
початкові дані згідно шаблону робочої таблиці, отримати Результати і виконати
їх аналіз
не треба уводити формули як в Excel
швидко будує мережеві моделі, там, де вони передбачені
працює досить швидко.
214
Крок 2. Витяг архіву і розміщення папки WinQSB2.0
215
Крок 5. Розташування папки WinQSB з ярликами програмних модулів
216
Використані джерела
1. Ahuja R., Magnanti T. Network flows. Theory, algorithms, and applications. – Prentice-
Hall, 1993. – 846 p.
2. Burkard R. et al. Assignment Problems. – SIAM, 2009. – 402 p.
3. Dantzig G. Linear Programming and Extensions. – Princeton Univ. Press, 1963. – 635 p.
(Пер. Дж. Данциг. Линейное программирование, его обобщения и применения,
Прогресс, 1966. – 602 с.)
4. Daskin M. Network and Discrete Location. Models, Algorithms, and Application, 2-ed.
–Wiley, 2013. – 535 p.
5. Eiselt, V. Marianov. H. Foundation of Location Analysis. – Springer, 2011. – 524 p.
6. Fletcher R. Practical Methods of Optimization, 2nd ed. – Waley, 2000. – 437 p.
7. Flouras C., Pardalos P. (eds.). Encyclopedia of Optimization, 2nd ed., Springer, 2009. –
4626 p.
8. Hillier F., Lieberman G. Introduction to Operations Research. – 10-ed., 2015. – Wiley. –
1050 p.
9. Kumar S. Production and Operations Management, 2-ed. – New Age, 2008. – 284 p.
10. Moder J., Phillips C. Project Management with CPM and PERT, NY, 1964 (Пер. Дж.
Модер, С. Филлипс. Метод сетевого планирования в организации работ (ПЕРТ).
М.: Энергия, 1966. – 304 с.
11. Render B. et al. Quantitative Analysis for Management, 11-ed. – Pearson, 2012. – 68 p.
12. Stevenson W. Operations Management, 13-ed. – McGraw-Hill Ed., 2018. – 929 p.
13. Taylor B. Introduction to Management Science, 11-ed. – Pearson, 2013. – 841 p.
14. Winston W., Albright C. Practical Management Science, 4 ed. – Cengage Learn., 2011.
– 1025 p.
15. Вагнер Г. Основы исследования операций: в 3-х т. Пер. с англ.– М.: Мир, 1972-
1973, Т 1. 335 с., Т 2. 487 с., Т 3. 501 с.
16. Васильев В.В., Додонов А.Г. Гибридные модели задач оптимизации. – К. : Наук.
думка, 1974. – 215 с.
17. Вітлінський В. В. та ін. Економіко-математичне моделювання. – К.: КНЕУ, 2008. –
536 с.
18. Кельтон Д., Лоу А. Имитационное моделирование. Классика CS. – 3-е изд. Пер. с
англ. – СПб. : Питер, 2004. – 847 с.
19. Кузьмичов А. І. Оптимізаційні методи і моделі. Моделювання засобами MS Excel.
– К.: Ліра-К, 2015. – 215 с.
20. Кузьмичов А. І. Планування та управління проектами. Моделювання засобами MS
Excel. – К.: Ліра-К, 2016. – 180 с.
21. Майника Э. Алгоритмы оптимизации на сетях и графах. Пер. с англ. – М. : Мир,
1981. – 323 с.
22. Таха Х. Введение в исследование операций. Пер. с англ. – 7-е изд. – М.: Вильямс,
2005. –901 с.
23. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей. Пер. с англ. – М. : Мир, 1984.
– 496 с.
24. Форд Л., Фалкерсон Д. Потоки в сетях. Пер. с англ. – М.: Мир, 1966. – 275 с.
25. Фрэнк Г., Фриш И. Сети, связи и потоки. Пер. с англ. – М.: Связь, 1978. – 448 с.
217