Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основні відомості про розв’язання задач обслуговування повітряного руху методом динамічного програмування



2.1 Основні положення і приклад задачі

динамічного програмування

Методом динамічного програмування розв’язують задачі оптимізації, в яких процес, що досліджується, можна розглядати як такий, що складається з ряду послідовних кроків, результат кожного з яких залежить від результату попереднього кроку. Зокрема, такими є задачі вибору оптимальної траєкторії набору висоти літальним апаратом, задачі вибору оптимальної конфігурації лінії комунікацій, наприклад, в аеропорту тощо. Розглянемо таку задачу.

Допустимо, треба визначити таку траєкторію руху з точки А в точку В (рис. 2.1), яка забезпечує мінімум витрат. Зрозуміло, що при цьому кількість допустимих траєкторій є необмеженою. А порядок розв’язання задачі може бути наступним.

       
 
 
   
Рис. 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 умовних одиниць.

Аналогічно можна сформулювати і розв’язати задачу вибору оптимальної траєкторії лінії комунікацій, яка будується в складній за рельєфом або забудовою місцевості, наприклад, в аеропорту тощо. При цьому мається на увазі оптимізація за вартістю такої лінії.

Вище наведені приклади найпростіших задач динамічного програмування. В більш складних задачах результат кожного наступного кроку (у процесі розв’язку задачі) може бути складною функцією результатів попередніх кроків.





Дата публикования: 2014-11-28; Прочитано: 363 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...