>
T 2 * (D 3, (i - 1) z (2) + j)=max (t (d 3, i), T 2 (D 3, (i - 1) z (2) + j - d 2, i)).
Значення T 2 (D 3, (i - 1) z (2) + j - d 2, i) вибираються з третього стовпця остаточної таблиці для другого етапу. Аналогічно кроці 2 конструюється остаточна таблиця для третього етапу, що містить в першому стовпці перелік унікальних станів для третього етапу, у другому стовпці оптимальні управління для кожного стану і в третьому стовпці значення умовного оптимального часу виконання трьох програмних модулів: R 1, R 2, R 3. Виконання алгоритму прямої прогонки припиняється при i=m. Після цього в остаточній таблиці m-го етапу для стану, відповідного граничного кількості процесорів D 0, знаходиться оптимальний час T m (D m, N (m), z (m)) виконання всіх програмних модулів R 1., R m, а також оптимальну кількість процесорів, виділених для реалізації R m -го модуля. На підставі цього значення обчислюється оптимальна кількість процесорів, яке призначене для реалізації залишилися модулів: R 1, R 2,. R m - 1. Це число процесорів є входом в остаточну таблицю (m - 1) - го етапу, що дозволяє встановити оптимальну кількість процесорів для R m - 1 -го модуля. Процес послідовного зворотного перегляду остаточних таблиць дозволяє визначити оптимальне число процесорів для R m -го, R m - 1 -го, R m - 2 -го,., R 1 -го програмних модулів.
Виконання третього кроку
Управління U 3 Стан попереднього другого етапу D 2,1 D 2,2 ... D 2, j D 2, z (2) U 3= d 3,1... ... U 3= d 3, i ... ... U 3= d 3, N (3) ......... .........
3.4 Проектування сценарію діалогу
При створенні сценарію діалогу необхідно враховувати наступні можливості:
- Введення даних, їх коригування;
- Завдання умов
- Перегляд вихідних даних;
- Висновок результату і хід рішення задачі.
У ході реалізації програми був створений сценарій діалогу з користувачем, приклади яких будуть представлені на наступних малюнках.
При першому запуску програми перед користувачем з'явиться стартове вікно програми Оптимізація формування чисельності бригад raquo ;, на якій представлена ??вся інформація, що стосується цієї теми. На малюнку 2.1 представлено цю дію.
Рисунок 2.1 - Стартове вікно програми
Перед користувачем з'являється вибір. Він може задати таблицю часу виконання роботи за замовчуванням, при виборі пункту Приклад завдання raquo ;, в слідстві чого таблиця заповнився автоматично Або задати таблицю самостійно. Для цього йому необхідно вибрати з контекстного меню кількість необхідного йому елементів завдання: кількість складів, вантажників, варіантів розподілу вантажників. Після необхідно зберегти зміни таблиці і приступити до заповнення таблиці. Приклади цих дій представлені на малюнку 2.2.
Малюнок 2.2 - Реалізація самостійного заповнення таблиці
Значення в таблиці представлені кількістю вантажників і часом, витраченим на виконання робіт відповідно. Для отримання відповіді користувачу необхідно натиснути кнопку Вирішити і в правій частині програми буде представлений результат рішення. Все це представлено на малюнку 2.3
Малюнок 2.3 - Результат рішення програми
Також користувач має можливість переглянути покрокове рішення задачі, в цьому випадку йому необхідно вибрати з контекстного меню пункт Показати кроки рішення raquo ;. Результат покрокових рішень програма записує в блокнот, який і демонструє користувачеві підсумок рішень.
3.5 Опис структур даних
У таблиці 1 представлені функції, процедури використовуються в програмі.
Таблиця 2.1
numMЗадает кількість складовnumNЗадает кількість грузчіковnumStrЗадает кількість варіантів розподілу грузчіковbuttonRazmerСохраняет введені зміни таблиці часу виконання работbuttonDemoЗадает таблицю по умолчаніюbuttonReshПроізводіт решеніеbuttonStepsДемонстрірует покрокове рішення задачі
У таблиці 2 представлені структури і класи, використовувані в програмі
Таблиця 2.2
FormclassСоздает окноMintСтолбци StrIntСтрокі NIntКолічест...