Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Ручна реалізація алгоритму розв'язання задачі

Реферат Ручна реалізація алгоритму розв'язання задачі





виконання програмного модуля в j-му варіанті;

- Процесор D i (за умовою задачі N) ставиться у відповідність складу М j;

Наявність цих відповідностей і дозволяє звести на концептуальному рівні вирішувати завдання до мінімаксної завданню оптимального розподілу програмних модулів між процесорами і застосувати для її вирішення алгоритми, розроблені для даної задачі.


1.3 Математична постановка задачі


Розглянемо математичну постановку мінімаксної задачі оптимального розподілу програмних модулів між процесорами. Для цього введемо змінні:

У поставленому завданню необхідно провести разрузочно-навантажувальні роботи на N - складах, час виконання всіх робіт - t ij (N), де N - кількість працівників.

У ході вирішення завдання зводиться до формування чисельності бригад, які проведуть всі роботи за мінімальну кількість часу. Рішення проводиться відповідно до алгоритмом прямий прогонки. Рівняння Беллмана буде виглядати наступним чином:



Рішення рівняння Беллмана дасть нам оптимальний розподіл чисельності працівників по бригадах і мінімальним витратам на виконання необхідних робіт.

2. Алгоритмізація вирішення задачі


2.1 Аналіз методів рішення задачі


Даний метод розв'язання задачі вирішується в m етапів, де m - кількість програмних модулів. Потім завдання вирішується відповідно до алгоритму зворотного прогону.

Ідея динамічного програмування, заснована на алгоритмі зворотного прогонки, полягає в тому, що в якості етапу, для якого на першому кроці знаходиться локальне оптимальне управління, розглядається останній етап прийняття рішень. Рішення, прийняті на цьому етапі не роблять впливу на подальший етап, оскільки цей етап є останнім. Однак при такому підході є невідомим стан, в якому буде знаходитися система перед початком виконання останнього етапу. Тому локальне оптимальне управління необхідно знайти для всіх можливих станів, у яких може перебувати система, перед виконанням останнього етапу. Після цього здійснюється перехід до оптимізації управління на передостанньому етапі. Оптимальне керування на цьому етапі перебуває з урахуванням того, що вже відомо оптимальне управління на останньому етапі. Таким чином, для кожного стану передостаннього етапу знаходиться локальне оптимальне управління. Така процедура повторюється для всіх наступних етапів: n - 2, n - 3, ..., i, ..., 2, аж до першого етапу, тобто, оптимальне рішення для першого етапу визначається з урахуванням раніше знайдених оптимальних рішень для подальших етапів.


2.2 Вибір і опис методу


Сучасне трактування методу динамічного програмування дозволяє знаходити оптимальне рішення не тільки для адитивних критеріїв, але й для мінімаксних.

В даному випадку для проектування інформаційної системи виділено безліч програмних модулів R={R 1,., R i,., R m}. Ці модулі є інформаційно-незалежними один від одного і можуть паралельно виконуватися на багатопроцесорної обчислювальної системі, яка містить D o процесорів.

Для кожного з програмних модулів визначені варіанти їх реалізації, які формально задаються змінної d ij, визначальною кількість процесорів, які можуть використовуватися для виконання R i -го програмного модуля в j-му варіанті. Необхідно розподілити наявні процесори по програмним модулям, щоб їх виконання було закінчено в найкоротший час, тобто слід зменшити відрізок часу, що починається з моменту початку виконання робіт і закінчується в момент виконання останнього модуля.

Враховуючи, що нам є відомим значення часу t (d ij (z)) виконання R i -го модуля в j (z) варіанті розподілу, то нехай T i (z) - час виконання i-го модуля в z-му варіанті - визначається наступним чином: T i (z)=t (d ij (z)).

Очевидно, що час закінчення реалізації всіх програмних модулів для z-го варіанта складе Т (z)=Ti (z).

Тоді з усього безлічі варіантів необхідно вибрати такий варіант, для якого T (l)=T (z)=Ti (z)=t (dij (z)).

Рівняння Беллмана для мінімаксної задачі при реалізації алгоритму прямої прогонки має наступний вигляд:


Wi (S)=max {wi (S, Ui), Wi - 1 (- 1 (S, Ui))},


де - 1 (S, Ui) - оператор, що задає номер стану, в якому перебувала система на попередньому (i - 1) етапі. Для розглянутої задачі рівняння Беллмана представляється як


Ti (D)=max {(t (dij), Ti - 1 (D-dij))}.


Інтерпретація основних компонент рівняння Беллмана:

- етапи - i=m, де m - кі...


Назад | сторінка 2 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Оптимальне рішення двоїстої задачі
  • Реферат на тему: Розробка моделі і рішення задачі лінійного програмування на прикладі задачі ...
  • Реферат на тему: Рішення змішаної крайової задачі для гіперболічного рівняння різницевим мет ...
  • Реферат на тему: Рішення крайової задачі для звичайного диференціального рівняння з заданою ...
  • Реферат на тему: Метод Фур'є розв'язання змішаної крайової задачі для нелокального х ...