- •1 Застосування методів лінійного і нелінійного програмування для дослідження процесів обслуговування повітряного руху 1.1 Основні відомості про математичне програмування
- •1.2 Основні способи формування цільової функції задачі
- •1.3 Загальне формулювання і приклади задач лінійного програмування
- •1.5 Основні положення, на яких базується симплекс-метод розв’язання задач лінійного програмування
- •1.6 Узагальнений алгоритм і приклад розв’язання задачі лінійного програмування симплекс-методом
- •Приклад задачі
- •1.7 Основні відомості про способи розв’язання задач нелінійного програмування
- •1.8 Основні відомості про дискретне математичне програмування
- •Запитання для самоконтролю
- •2 Основні відомості про розв’язання задач обслуговування повітряного руху методом динамічного програмування
- •2.2 Узагальнений алгоритм розв’язання задачі динамічного програмування
- •Запитання для самоконтролю
- •3.1 Основні відомості про метод імітаційного моделювання
- •3.2 Приклад розв’язання задачі методом статистичного моделювання
- •3.3 Узагальнений алгоритм розв’язання задачі методом статистичного моделювання
- •3.4 Рівномірний розподіл випадкових змінних
- •4.1 Надійність і показники її оцінки
- •4.2 Забезпечення надійності систем шляхом резервування їх складових
- •4.3 Ефективність об’єднання резервів
- •4.4 Забезпечення “рівноміцності” підсистем
- •Запитання для самоконтролю
- •5.1 Основні положення і означення
- •5.2 Основні закономірності прийому і оброблення інформації людиною-оператором
- •5.3 Основні характеристики надійності людини-оператора
- •Запитання для самоконтролю
- •14. Наведіть (приблизно) і поясніть графік залежності ймовірності своєчасного і безпомилкового розв’язання функціональних задач людиною-оператором від наявного часу.
- •6 Розв’язування задач обслуговування повітряного руху методами теорії графів
- •6.1 Основні відомості і приклад задачі
- •7 Застосування методів теорії систем масового обслуговування для дослідження системи обслуговування повітряного руху
- •7.2 Основні поняття теорії систем масового обслуговування
- •7.3 Основні різновиди систем масового обслуговування
- •7.4 Основні закони розподілу ймовірності в системах і процесах обслуговування повітряного руху
- •7.5 Рівняння для ймовірностей станів системи масового обслуговування
- •7.6 Аналіз функціонування системи управління повітряним рухом в районі аеродрому
- •Запитання для самоконтролю
2 Основні відомості про розв’язання задач обслуговування повітряного руху методом динамічного програмування
2.1 Основні положення і приклад задачі
динамічного програмування
Методом динамічного програмування розв’язують задачі оптимізації, в яких процес, що досліджується, можна розглядати як такий, що складається з ряду послідовних кроків, результат кожного з яких залежить від результату попереднього кроку. Зокрема, такими є задачі вибору оптимальної траєкторії набору висоти літальним апаратом, задачі вибору оптимальної конфігурації лінії комунікацій, наприклад, в аеропорту тощо. Розглянемо таку задачу.
Допустимо, треба визначити таку траєкторію руху з точки А в точку В (рис. 2.1), яка забезпечує мінімум витрат. Зрозуміло, що при цьому кількість допустимих траєкторій є необмеженою. А порядок розв’язання задачі може бути наступним.
y
9
10
8
10
P
L
E
D
B
2
11
10
10
12
11
10
12
9
8
1
C
F
M
R
Q
10
15
11
13
10
12
10
13
7
T
S
O
K
x
A
4
3
2
1
0
Рис. 2.1
Вибираємо прямокутну систему координат, в якій розміщені точки А і В. На рис. 2.1 точка А є початком системи координат, а сам малюнок у випадку розгляду руху літального апарату відображатиме його траєкторію у профіль. Звичайно, допустимою можна вважати навіть таку траєкторію, коли апарат, рухаючись, досягає висоти, що більше висоти (тобто значення координати у) точки В, а потім, знижуючись, рухається в точку В. Зокрема, це буває дійсним по відношенню до балістичної ракети. Але з метою спрощення задачі будемо вважати, що значення координати у будь-якої точки допустимої траєкторії не може бути більшим, ніж значення координати y точки В, тобто вважаємо, що розглядується рух повітряного судна. Враховуючи це, на рис. 2.1 площу між точками А і В ділимо на “елементарні” квадрати, одні сторони яких паралельні осі координат х, інші - осі у. Далі розраховуємо витрати палива при переміщенні літального апарата між сусідніми точками. Результати розрахунку записуємо біля відповідної сторони згаданих квадратів. Після цього ми маємо можливість розрахувати витрати палива при переміщенні літального апарата між будь-якими точками перетину сторін квадратів.
Прийнявши за одиницю виміру сторону “елементарного” квадрата, а точку А за початок відліку координат, можемо визначити координати інших вузлових точок.
Задачі динамічного програмування розв’язують, як правило, способом зворотного прогону, який базується на так званому принципі оптимальності. Цей принцип полягає у наступному: незалежно від того, яким шляхом процес рухався з початкової точки в дану точку, далі рух до кінцевої точки повинен виконуватись так, щоб забезпечувався оптимум цільової функції на частині траєкторії, яку залишилося пройти. Стосовно рис. 2.1 це означає, що оптимальна траєкторія руху, наприклад, з точки з координатами х=3, у=1 до кінцевої точки В проходить через вузлову точку з координатами х=3, у=2 і вартість руху за цією траєкторією складає 18 умовних одиниць, тоді як вартість руху через точку з координатами х=4, у=1 дорівнює 21 такій одиниці.
Для подальшого скорочення записів означимо вузлові точки допустимих траєкторій буквами латинського алфавіту, як показано на рис. 2.1. Далі розв’яжемо задачу способом зворотного прогону. При цьому у кожній вузловій точці записуватимемо вартість руху з даної точки до кінцевої точки В за оптимальною траєкторією.
В точку В можна прийти з точки Р або Q, у першому випадку вартість руху складає 8, в другому - 11 одиниць. В точку Р можна прийти з точки L або R, вартість руху до точки В в обох випадках дорівнює 18. В точку Q можна вийти з точки R або T, в обох випадках вартість руху до точки В складає 21 одиницю, що більше, ніж вартість руху з точки R в точку В через точку Р, тобто більше 18. Отже, з точки R в точку В доцільно рухатися через точку Р, тому лінію, що з’єднує точки R i Q, перекреслюємо як неоптимальну траєкторію. Діючи таким чином далі, одержимо оптимальну траєкторію руху з точки А в точку В, яка на рис. 2.1 означена широкою лінією, вартість цієї траєкторії складає 55 умовних одиниць.
Аналогічно можна сформулювати і розв’язати задачу вибору оптимальної траєкторії лінії комунікацій, яка будується в складній за рельєфом або забудовою місцевості, наприклад, в аеропорту тощо. При цьому мається на увазі оптимізація за вартістю такої лінії.
Вище наведені приклади найпростіших задач динамічного програмування. В більш складних задачах результат кожного наступного кроку (у процесі розв’язку задачі) може бути складною функцією результатів попередніх кроків.
