Зворотний зв'язок

ПЕРЕБИРАННЯ ВАРІАНТІВ В ПРОГРАМУВАННІ

додати до черги лише тих із них, чия оцінка не більше Cmin

end

Уточнення цього алгоритму залишаємо вправою.

Розглянемо приклад обчислення мінімальної вартості розподілу за наведеним алгоритмом. Нехай задано час виконання п'яти завдань 9, 8, 7, 5, 4. Очевидно, що найкращий розподіл (9, 8+4, 7+5) має вартість 12. Значення Cmin та зміст черги, що виникають за наведеним алгоритмом, подамо таблицею:

CminЧерга

 <9,0,0; 1; 9>

 <9,8,0; 2; 9> <17,0,0; 2; 17>

 <9,8,7; 3; 12> <9,15,0; 3; 15> <16,8,0; 3; 16> <17,0,0; 2; 17>

 <9,8,12; 4; 12> <9,13,7; 4; 13> <9,8,11; 4; 13> <9,15,0; 3; 15>

<16,8,0; 3; 16> <17,0,0; 2; 17>

12<9,13,7; 4; 13> <9,8,11; 4; 13> <9,15,0; 3; 15> <16,8,0; 3; 16>

<17,0,0; 2; 17>

Як бачимо, перший елемент черги має оцінку вартості, гіршу за Cmin, тому подальше дослідження дерева варіантів не відбувається. За виконання алгоритму до черги додається 9 проміжних вузлів, а вилучається 4. Між тим, неважко підрахувати, що з урахуванням симетричних варіантів дерево містить 19 проміжних вузлів. Фактично, ми одержали потрібний розподіл взагалі без перебирання варіантів.

У загальному випадку метод розгалужень і меж не позбавляє перебирання. У цьому неважко переконатися, імітувавши наведений алгоритм на прикладі часів виконання завдань (12, 8, 7, 5, 4, 2).

Задача про розподіл завдань представляє чималу групу задач, які розв'язуються методом розгалужень і меж. Подивимося на цю задачу більш узагальнено. Розподіл (повний чи частковий) v(i)=<(1; k1), … , (i; ki)> подамо як послідовність , де aj позначає пару (j; kj). Очевидно, що v(i) одержується з v(i-1) додаванням компонента ai. Вартість розподілу при цьому не зменшується, тобто

C(v(i-1)) C(v(i)). (19.1)Існує чимало задач, в яких розв'язок-послідовність будується шляхом "нарощування" часткових розв'язків новими компонентами ai. Умова (19.1) дозволяє відкидати ті часткові розв'язки та всіх їх нащадків, якщо їх вартість не може бути меншою вартості Cmin уже побудованого повного розв'язку. Таким чином, Cmin виступає верхньою межею для вартості розв'язків, які є сенс будувати. Але, як правило, обчислити вартість повного розв'язку можна лише після його побудови. Для запобігання побудови всіх повних розв'язків треба мати можливість оцінювати знизу їх вартість за вартістю побудованих часткових. Чим точнішою буде така оцінка, тим ефективнішим буде скорочення перебору.

Отже, алгоритм розв'язання багатьох задач за методом розгалужень і меж має таку загальну структуру:

Для кожного можливого a1 занести до черги частковий розв'язок

;


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат