Табу-пошук (ТП) — метод локального пошуку для математичної оптимізації. Створений Фредом У. Гловером в 1986 році і формалізований в 1989.
Визначення
Табу-пошук (ТП) є мета-евристичним алгоритмом, який веде локальний пошук, щоб запобігти його від попадання в пастку в передчасних локальних оптимумах, забороняючи ті переміщення, які змушують повертатися до попередніх рішень і циклічної роботи. ТП починається з вихідного рішення. На кожній ітерації генерується окіл рішень, і найкраще з цього околу вибирається як нове рішення. Певні атрибути попередніх рішень зберігаються в табу-списку, який оновлюється в кінці кожної ітерації. Вибір найкращого рішення в околі відбувається таким чином, що він не приймає жодного з заборонених атрибутів. Найкраще допустиме рішення в даний час, оновлюється, якщо нове поточне рішення краще і допустиме. Процедура триває, поки не виконається будь-який з двох критеріїв зупину, якими є максимальне число виконуваних ітерацій і максимальне число ітерацій, під час яких чинне рішення не поліпшується.
Фред У. Гловер запропонував наступну схему локального пошуку:
нехай для задачі дискретної оптимізації
вдалося знайти деяке допустиме рішення . Розглянемо окіл точки і знайдемо рішення задачі
Позначимо його через . Розглянемо тепер окіл , знайдемо точку і т. д. до тих пір, поки . Якщо , то точка є локальним оптимумом.
Ідея алгоритму «Пошуку з Заборонами» полягає в тому, щоб не зупинятися у локальному оптимумі, як це запропоновано в алгоритмах локального спуску, а продовжити пошук, керуючись тими ж правилами, забороняючи відвідування вже пройдених точок.
На -му кроці алгоритму точка знаходиться з рішення задачі
Множина виступає як список заборон, що і послужило приводом для назви алгоритму. Цей список поповнюється на кожному кроці новою точкою. Очевидно, що якщо стара інформація не буде видалятися зі списку, то працездатність алгоритму буде падати з ростом числа ітерацій. Тому довжина списку обмежується зверху деякою константою , і список заборон містить тільки останні точок. Перевірка і поповнення списку може виявитися досить трудомісткою операцією. Тому, іноді доцільно зберігати не самі рішення , , а або функції від них (наприклад, значення цільової функції), або номера змінюваних координат, атрибути переходу від до . Позначимо через частину околу , взяту випадковим чином. Тоді алгоритм пошуку із заборонами можна представити в наступному вигляді.
Алгоритм ТП
1. Обираємо початкове рішення , вважаємо . Формуємо порожній список заборон.
2. Знаходимо нове рішення таке, що
а) б) ; в) перехід не є забороненим або .
3. Переходимо в нову точку .
Змінюємо список заборон.
Якщо , то змінюємо рекорд .
4. Якщо виконаний критерій зупинки, то STOP, інакше йти на п.2.
Як критерій зупинки використовується або зупинка по числу ітерацій, або необхідна точність по відношенню до заданої нижньої межі. Початкове рішення вибирається за допомогою якогось простого алгоритму. Змінюючи довжину списку заборон, можна керувати процесом пошуку. При зменшенні довжини, інтенсифікується пошук в поточній області, збільшення довжини сприяє переходу до іншої області. Як околиці можна розглядати безліч всіх рішень, які виходять з поточного рішення зміною однією з координат. У 1992 році Файгл і Керн запропонували імовірнісну версію методу TS, який при кількості ітерацій прагнучих до нескінченності, сходиться до глобального оптимуму, що, втім, властива більшості імовірнісних алгоритмів. Так рандомізація околиці скорочує трудомісткість алгоритму на кроці 2 і вносить елемент випадковості при виборі напрямку спуску. Якщо рандомізована околиця становить від 1 до 10 відсотків від початкової, то алгоритм не зациклюється навіть без списку заборон. Алгоритм TS застосовувався до широкого кола завдань дискретної оптимізації, показав високу працездатність і на сьогодні є однією з найпопулярніших імовірнісних евристик. Одне з можливих застосувань методу «Пошук з заборонами» для вирішення задач нерегулярного розкрою — упаковки (Р-У) запропоновано в роботі польськими авторами Блазевічем, Хаврулюком і Валковяком.
Псевдокод
Псевдокод алгоритму табу-пошуку для мінімізації функції витрат. Псевдокод показаує простий алгоритм табу-пошуку з використанням короткочасної пам'яті, без проміжних і довгострокових управлінь пам'яттю.
Input: Output: ConstructInitialSolution() TabuList While ( StopCondition()) CandidateList For ( ) If ( ContainsAnyFeatures(, TabuList)) CandidateList End End LocateBestCandidate(CandidateList) If (Cost() Cost()) TabuList FeatureDifferences(, ) While (TabuList > ) DeleteFeature(TabuList) End End End Return ()
Приклад
Задача комівояжера часто використовується, щоб показати функціональність табу-пошуку.
Зада́ча комівояже́ра (комівояжер — бродячий торговець; англ. Travelling Salesman Problem, TSP; нім. Problem des Handlungsreisenden) полягає у знаходженні найвигіднішого маршруту, що проходить через вказані міста хоча б по одному разу. В умовах завдання вказуються критерій вигідності маршруту (найкоротший, найдешевший, сукупний критерій тощо) і відповідні матриці відстаней, вартості тощо. Зазвичай задано, що маршрут повинен проходити через кожне місто тільки один раз, в такому випадку розв'язок знаходиться серед гамільтонових циклів.
Наприклад, якщо місто A і місто B розташовані поруч одне з одним, в той час як місто C розташоване далі, загальна пройдена відстань, буде коротшою, якщо міста А і Б відвідали одне за одним перед приїздом до міста С. Оскільки знаходження оптимального рішення до задачі комівояжера є NP-повним завданням, евристичні наближені методи (наприклад, локальний пошук) корисні для розробки близьких до оптимальних рішень.
Табу-пошук може бути використаний для пошуку задовільного рішення для задачі комівояжера (тобто, рішення, яке задовольняє критерію адекватності, а не абсолютно оптимальне рішення). По-перше, пошук із заборонами починається з початкового рішення, яке може бути згенероване випадково, або за допомогою якогось алгоритму найближчого сусіда. Для створення нового рішення, два міста, які відвідують в потенційному рішення, змінюються місцями. Загальна відстань подорожі між усіма містами використовується для оцінки ідеального рішення, в порівнянні з іншим. Для запобігання циклів і, щоб не застрягти в локальних оптимумах, рішення буде додано до списку табу, якщо воно буде задовольняти рішення в околиці.
Нові рішення продовжують створюватися до появи деяких стоп-критеріїв, таких як довільне число ітерацій. Коли табу-пошук припиняється, повертається краще рішенням — рішення з найкоротшою відстанню, під час відвідування всіх міст.
Посилання
- F. Glover and C. McMillan (1986). «The general employee scheduling problem: an integration of MS and AI». Computers and Operations Research.
- Fred Glover (1989). «Tabu Search». ORSA Journal on Computing 1 (2).
- Faigle U., Kern W. Some convergence results for probabilistic tabu search. ORSA Journal on Computing 4(1), pp.32-37,1992.
- Glover F., Laguna M. Tabu search in modern heuristic techniques for combinatorial problems, Blackwell Publishing, 1992.
- Blazewicz J., Hawryluk P., Walkowiak R. Using a tabu search approach for solving the two-dimensional irregular cutting problem. — Annals of OR, 41(1-4), pp.313-325, 1993.
Джерела
Zeynep Özyurt, Deniz Aksen, Necati Aras. Открытая задача маршрутизации транспортного средства с временными сроками: методы решения и применения. (перевод Александрова О. А.)
Це незавершена стаття про алгоритми. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Tabu poshuk TP metod lokalnogo poshuku dlya matematichnoyi optimizaciyi Stvorenij Fredom U Gloverom v 1986 roci i formalizovanij v 1989 ViznachennyaTabu poshuk TP ye meta evristichnim algoritmom yakij vede lokalnij poshuk shob zapobigti jogo vid popadannya v pastku v peredchasnih lokalnih optimumah zaboronyayuchi ti peremishennya yaki zmushuyut povertatisya do poperednih rishen i ciklichnoyi roboti TP pochinayetsya z vihidnogo rishennya Na kozhnij iteraciyi generuyetsya okil rishen i najkrashe z cogo okolu vibirayetsya yak nove rishennya Pevni atributi poperednih rishen zberigayutsya v tabu spisku yakij onovlyuyetsya v kinci kozhnoyi iteraciyi Vibir najkrashogo rishennya v okoli vidbuvayetsya takim chinom sho vin ne prijmaye zhodnogo z zaboronenih atributiv Najkrashe dopustime rishennya v danij chas onovlyuyetsya yaksho nove potochne rishennya krashe i dopustime Procedura trivaye poki ne vikonayetsya bud yakij z dvoh kriteriyiv zupinu yakimi ye maksimalne chislo vikonuvanih iteracij i maksimalne chislo iteracij pid chas yakih chinne rishennya ne polipshuyetsya Fred U Glover zaproponuvav nastupnu shemu lokalnogo poshuku nehaj dlya zadachi diskretnoyi optimizaciyi min F x x D displaystyle min F x x in D vdalosya znajti deyake dopustime rishennya x 0 displaystyle x 0 Rozglyanemo okil N x 0 D displaystyle N x 0 subset D tochki x 0 displaystyle x 0 i znajdemo rishennya zadachi min F x x N x 0 U displaystyle min F x x in N x 0 U Poznachimo jogo cherez x 1 displaystyle x 1 Rozglyanemo teper okil N x 1 displaystyle N x 1 znajdemo tochku x 2 displaystyle x 2 i t d do tih pir poki x k x k 1 displaystyle x k neq x k 1 Yaksho x k x k 1 displaystyle x k x k 1 to tochka x k displaystyle x k ye lokalnim optimumom Ideya algoritmu Poshuku z Zaboronami polyagaye v tomu shob ne zupinyatisya u lokalnomu optimumi yak ce zaproponovano v algoritmah lokalnogo spusku a prodovzhiti poshuk keruyuchis timi zh pravilami zaboronyayuchi vidviduvannya vzhe projdenih tochok Na k displaystyle k mu kroci algoritmu tochka x k 1 displaystyle x k 1 znahoditsya z rishennya zadachi min F x x N x k i 0 k x i displaystyle min F x x in N x k bigcup i 0 k x i Mnozhina i 0 k x i displaystyle bigcup i 0 k x i vistupaye yak spisok zaboron sho i posluzhilo privodom dlya nazvi algoritmu Cej spisok popovnyuyetsya na kozhnomu kroci novoyu tochkoyu Ochevidno sho yaksho stara informaciya ne bude vidalyatisya zi spisku to pracezdatnist algoritmu bude padati z rostom chisla iteracij Tomu dovzhina spisku obmezhuyetsya zverhu deyakoyu konstantoyu l displaystyle l i spisok zaboron mistit tilki ostanni l displaystyle l tochok Perevirka i popovnennya spisku mozhe viyavitisya dosit trudomistkoyu operaciyeyu Tomu inodi docilno zberigati ne sami rishennya x i displaystyle x i i k l 1 k displaystyle i k l 1 dotsi k a abo funkciyi vid nih napriklad znachennya cilovoyi funkciyi abo nomera zminyuvanih koordinat atributi perehodu vid x k displaystyle x k do x k 1 displaystyle x k 1 Poznachimo cherez N x displaystyle N x chastinu okolu N x displaystyle N x vzyatu vipadkovim chinom Todi algoritm poshuku iz zaboronami mozhna predstaviti v nastupnomu viglyadi Algoritm TP1 Obirayemo pochatkove rishennya x displaystyle x vvazhayemo F P Z F x displaystyle F PZ F x Formuyemo porozhnij spisok zaboron 2 Znahodimo nove rishennya z displaystyle z take sho a z N x displaystyle z in N x b F z min F y y N x displaystyle F z min F y y in N x v perehid x z displaystyle x to z ne ye zaboronenim abo F z lt F P Z displaystyle F z lt F PZ 3 Perehodimo v novu tochku x z displaystyle x z Zminyuyemo spisok zaboron Yaksho F x lt F P Z displaystyle F x lt F PZ to zminyuyemo rekord F P Z F x displaystyle F PZ F x 4 Yaksho vikonanij kriterij zupinki to STOP inakshe jti na p 2 Yak kriterij zupinki vikoristovuyetsya abo zupinka po chislu iteracij abo neobhidna tochnist po vidnoshennyu do zadanoyi nizhnoyi mezhi Pochatkove rishennya vibirayetsya za dopomogoyu yakogos prostogo algoritmu Zminyuyuchi dovzhinu spisku zaboron mozhna keruvati procesom poshuku Pri zmenshenni dovzhini intensifikuyetsya poshuk v potochnij oblasti zbilshennya dovzhini spriyaye perehodu do inshoyi oblasti Yak okolici mozhna rozglyadati bezlich vsih rishen yaki vihodyat z potochnogo rishennya zminoyu odniyeyu z koordinat U 1992 roci Fajgl i Kern zaproponuvali imovirnisnu versiyu metodu TS yakij pri kilkosti iteracij pragnuchih do neskinchennosti shoditsya do globalnogo optimumu sho vtim vlastiva bilshosti imovirnisnih algoritmiv Tak randomizaciya okolici skorochuye trudomistkist algoritmu na kroci 2 i vnosit element vipadkovosti pri vibori napryamku spusku Yaksho randomizovana okolicya stanovit vid 1 do 10 vidsotkiv vid pochatkovoyi to algoritm ne zaciklyuyetsya navit bez spisku zaboron Algoritm TS zastosovuvavsya do shirokogo kola zavdan diskretnoyi optimizaciyi pokazav visoku pracezdatnist i na sogodni ye odniyeyu z najpopulyarnishih imovirnisnih evristik Odne z mozhlivih zastosuvan metodu Poshuk z zaboronami dlya virishennya zadach neregulyarnogo rozkroyu upakovki R U zaproponovano v roboti polskimi avtorami Blazevichem Havrulyukom i Valkovyakom PsevdokodPsevdokod algoritmu tabu poshuku dlya minimizaciyi funkciyi vitrat Psevdokod pokazauye prostij algoritm tabu poshuku z vikoristannyam korotkochasnoyi pam yati bez promizhnih i dovgostrokovih upravlin pam yattyu Input Output ConstructInitialSolution TabuList While StopCondition CandidateList For If ContainsAnyFeatures TabuList CandidateList End End LocateBestCandidate CandidateList If Cost Cost TabuList FeatureDifferences While TabuList gt DeleteFeature TabuList End End End Return PrikladZadacha komivoyazhera Zadacha komivoyazhera chasto vikoristovuyetsya shob pokazati funkcionalnist tabu poshuku Zada cha komivoyazhe ra komivoyazher brodyachij torgovec angl Travelling Salesman Problem TSP nim Problem des Handlungsreisenden polyagaye u znahodzhenni najvigidnishogo marshrutu sho prohodit cherez vkazani mista hocha b po odnomu razu V umovah zavdannya vkazuyutsya kriterij vigidnosti marshrutu najkorotshij najdeshevshij sukupnij kriterij tosho i vidpovidni matrici vidstanej vartosti tosho Zazvichaj zadano sho marshrut povinen prohoditi cherez kozhne misto tilki odin raz v takomu vipadku rozv yazok znahoditsya sered gamiltonovih cikliv Napriklad yaksho misto A i misto B roztashovani poruch odne z odnim v toj chas yak misto C roztashovane dali zagalna projdena vidstan bude korotshoyu yaksho mista A i B vidvidali odne za odnim pered priyizdom do mista S Oskilki znahodzhennya optimalnogo rishennya do zadachi komivoyazhera ye NP povnim zavdannyam evristichni nablizheni metodi napriklad lokalnij poshuk korisni dlya rozrobki blizkih do optimalnih rishen Tabu poshuk mozhe buti vikoristanij dlya poshuku zadovilnogo rishennya dlya zadachi komivoyazhera tobto rishennya yake zadovolnyaye kriteriyu adekvatnosti a ne absolyutno optimalne rishennya Po pershe poshuk iz zaboronami pochinayetsya z pochatkovogo rishennya yake mozhe buti zgenerovane vipadkovo abo za dopomogoyu yakogos algoritmu najblizhchogo susida Dlya stvorennya novogo rishennya dva mista yaki vidviduyut v potencijnomu rishennya zminyuyutsya miscyami Zagalna vidstan podorozhi mizh usima mistami vikoristovuyetsya dlya ocinki idealnogo rishennya v porivnyanni z inshim Dlya zapobigannya cikliv i shob ne zastryagti v lokalnih optimumah rishennya bude dodano do spisku tabu yaksho vono bude zadovolnyati rishennya v okolici Novi rishennya prodovzhuyut stvoryuvatisya do poyavi deyakih stop kriteriyiv takih yak dovilne chislo iteracij Koli tabu poshuk pripinyayetsya povertayetsya krashe rishennyam rishennya z najkorotshoyu vidstannyu pid chas vidviduvannya vsih mist PosilannyaF Glover and C McMillan 1986 The general employee scheduling problem an integration of MS and AI Computers and Operations Research Fred Glover 1989 Tabu Search ORSA Journal on Computing 1 2 Faigle U Kern W Some convergence results for probabilistic tabu search ORSA Journal on Computing 4 1 pp 32 37 1992 Glover F Laguna M Tabu search in modern heuristic techniques for combinatorial problems Blackwell Publishing 1992 Blazewicz J Hawryluk P Walkowiak R Using a tabu search approach for solving the two dimensional irregular cutting problem Annals of OR 41 1 4 pp 313 325 1993 DzherelaZeynep Ozyurt Deniz Aksen Necati Aras Otkrytaya zadacha marshrutizacii transportnogo sredstva s vremennymi srokami metody resheniya i primeneniya perevod Aleksandrova O A Ce nezavershena stattya pro algoritmi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi