Розглянемо цей метод на прикладі задачі ведення поїзда по дільниці.
Рух поїзда по дільниці завдяки дії різних факторів відбувається зі змінною швидкістю.
Операція розбивається на декілька кроків, на кожному з яких приймається рішення від якого залежить успіх даного кроку і всієї операції в цілому. Таке рішення називають управлінням на і-му кроці.
Управління операцією в цілому являє собою сукупність всіх покрокових управлінь.
де Uі – управління на і-му кроці.
Ефект операції залежить від управління операцією:
Виникає питання– як вибрати покрокові управління U1, U2, ..., Um, щоб ефект був максимальним.
При цьому ефект від операції:
де wі – ефект на і-му кроці.
Суть динамічного програмування в тому, що операція здійснюється поетапно (або покроково). Трудність полягає в тому, що результат управління на кожному кроці впливає на всі подальші кроки. Це слушно для всіх кроків, крім останнього.
Процес динамічного програмування здійснюється від кінця операції до її початку.
Трудність в тому, що при оптимізації останнього n-го кроку невідомо, як закінчився n-1 крок (невідомий стан системи перед останнім кроком).
Для того, щоб вийти з цього забруднення, робляться припущення по результатам n-1 кроку про стан системи. Таке припущення називають умовно-оптимальним.
Рухаючись від кінця до початку можна знайти умовно-оптимальне рішення, яке забезпече оптимальне продовження процесу відносно стану, який досягнуто в даний момент.
Після цього, якщо відомий початковий стан системи, можна знайти безумовно оптимальне рішення на першому кроці. Після першого кроку система перейде в другий стан, для якого нам вже також відомо оптимальне управління.
Таким чином, в процесі оптимізації управління методом динамічного програмування багатокроковий процес проходиться двічі. Перший раз – від початку до кінця, внаслідок чого визначаються умовно-оптимальні управління на кожному кроці, а також умовно-оптимальний ефект на етапі від даного кроку і до кінця операції.
Другий раз проходимо процес від начала до кінця, внаслідок чого визначаємо безумовні оптимальні крокові управління на всіх кроках операції.
Приклад
Умова
Треба провести поїзд по дільниці з мінімальними витратами палива або електроенергії.
Швидкості руху поїздів та таблиці витрат отримані на підставі тягових розрахунків.
Швидкість поїзду на початку та в кінці дільниці дорівнює 0. Швидкість поїзда в кінці кожного кроку може прийняти три різних значення.
Розв’язання
Перший етап.
1. Припустимо, що перед останнім кроком швидкість поїзда дорівнює V31. Режим єдиний і він же оптимальний; витрати складають 70 одиниць.
4 (четвертий) крок : V31®V4 – оптимально 70 одиниць
Аналогічно і для V32 та V33
V32®V4 – оптимально 60 одиниць
V33®V4 – оптимально 50 одиниць
2. Переходемо до передостаннього кроку.
Припустимо, що на початку цього кроку швидкість дорівнює V21. Можливі режими – V21®V31, V21®V32, V21®V33, при яких будуть різні витрати. Але на передостанньому кроці треба знайти таке управління, яке б забезпечувало максимальний ефект до кінця останнього кроку.
Знаходими витрати енергії на 3 + 4 кроках:
V21®V31®V4 – 70+70=140 одиниць
V21®V32®V4 – 50+60=110 одиниць
V21®V33®V4 – 30+50= 80 одиниць (min)
умовно-оптимальний режим
Аналогічно розглядаємо можливі режими і для V22 та V23.
Таким чином проходимо зворотнім ходом до початку дільниці.
Зручно розв’язувати цю задачу у табличному вигляді. При цьому, в знаменнику таблиці наводяться витрати до кінця дільниці. З них обирається найменше значення і цей режим є умовно оптимальним.
Другий етап.
Починаємо рух від першого кроку до останнього для вибору дійсно оптимального рішення. Воно буде при мінімальних сумарних витратах, які записані на першому кроці.
V11 | V12 | V13 | V21 | V22 | V23 | V31 | V32 | V33 | V4 | |||||||
V11 | V21 | V31 | ||||||||||||||
V0 | V12 | V22 | V32 | |||||||||||||
V13 | V23 | V33 |
V11 | V12 | V13 | V21 | V22 | V23 | V31 | V32 | V33 | V4 | |||||||
V11 | 90 | 70 | 60 | V21 | 70 | 50 | 30 | V31 | ||||||||
V0 | 120 | 110 | 90 | V12 | 110 | 90 | 60 | V22 | 80 | 60 | 40 90 | V32 | ||||
V13 | 110 | 90 | 80 | V23 | 90 | 70 | 60 | V33 | 50 |
Таким чином, оптимальний варіант руху поїзда V0® V13®V22®V33®V4, при якому витрати становлять 270 одиниць.
ЛЕКЦІЯ 8
СІТЬОВЕ ПЛАНУВАННЯ ТА УПРАВЛІННЯ
Загальні відомості
Сітьове планування та управління (СПУ) є одним з ефективних методів організації складних комплексів взаємопов’язаних робіт. В основі СПУ лежить сітьовий графік – модель виробничого процесу в вигляді мережі, тобто фігури, яка складається з вершин і ребер. Вершини – події, що визначають можливість початку чи закінчення різноманітних робіт, а ребра – технологічні операції (роботи), що складають виробничий процес. Події на графіку позначають кружками, а роботи – стрілками. Події нумерують послідовно. Кожну роботу позначають власним номером, чи номерами подій, що її обмежують. Цифри на стрілках означають номер роботи та її тривалість. Будь яка послідовність робіт складає шлях.
Перед побудовою сітьових графіків виконується аналіз технологічного процесу і встановлюється перелік робіт. Для кожної роботи визначають тривалість та попередні роботи, тобто ті роботи які повинні бути виконані до початку даної. На підставі цих даних складають структурно-часові таблиці.
Дата добавления: 2015-12-22; просмотров: 783;