مسئله تخصیص مربعی (درجه 2) (Quadratic Assignment Problem – QAP) یکی از مسائل کلاسیک در بهینهسازی ترکیبیاتی (Combinatorial Optimization) است که به دلیل کاربردهای متنوع و پیچیدگی بالا، در بسیاری از زمینههای علمی و صنعتی مورد توجه قرار گرفته است. این مسئله نخستین بار در سال 1957 توسط Koopmans و Beckmann معرفی شد و از آن زمان به عنوان یکی از دشوارترین مسائل NP-hard شناخته میشود. یکی از بهترین روش های استفاده از الگوریتمهای فراابتکاری (Metaheuristic Algorithms) است.
تعریف مسئله QAP
در مسئله تخصیص درجه 2 QAP، هدف تخصیص مجموعهای از مراکز یا تسهیلات (Facilities) به مجموعهای از مکانها (Locations) است به گونهای که:
- هزینه جابهجایی (Flow Cost) بین مراکز با توجه به فاصله بین مکانها و شدت جریان بین مراکز کمینه شود.
- هر مرکز دقیقاً به یک مکان تخصیص یابد، و بالعکس.
مدل ریاضی مسئله تخصیص درجه دو QAP به صورت یک مسئله بهینهسازی ترکیبیاتی با استفاده از ماتریسهای جریان (Flow Matrix) و فاصله (Distance Matrix) تعریف میشود. تابع هدف به صورت یک ضرب داخلی ماتریسی محاسبه میشود که کل هزینه جابهجایی را تعیین میکند.
ویژگیها و دشواریهای QAP
- NP-Hard بودن: پیچیدگی مسئله به سرعت با افزایش تعداد مراکز و مکانها رشد میکند و فضای جستجو به شدت بزرگ میشود.
- کاربردهای متنوع: مسئله QAP در طراحی کارخانهها (Facility Layout Design)، تخصیص بیمارستانها (Hospital Layout), طراحی تراشههای الکترونیکی (VLSI Design)، و حتی در شبکههای ارتباطی (Telecommunication Networks) کاربرد دارد.
روشهای حل QAP
روشهای حل مسئله QAP نیز به دو دسته کلی تقسیم میشوند:
- روشهای دقیق (Exact Methods): شامل برنامهریزی خطی صحیح (Integer Linear Programming – ILP)، الگوریتم شاخه و حد (Branch and Bound)، و برنامهریزی پویا (Dynamic Programming) که به دلیل پیچیدگی محاسباتی، فقط برای مسائل کوچک قابل استفاده هستند.
- روشهای تقریبی (Approximation Methods): برای حل مسائل بزرگ، الگوریتمهای فراابتکاری به دلیل انعطافپذیری و سرعت مناسب، بهطور گسترده استفاده میشوند.
حل QAP با الگوریتمهای فراابتکاری
الگوریتمهای فراابتکاری (Metaheuristic Algorithms) برای حل QAP به دلیل توانایی بالا در یافتن جوابهای نزدیک به بهینه (Near-Optimal Solutions) در فضای جستجوی بزرگ و پیچیده، بسیار موثر هستند. برخی از الگوریتمهای معروف که برای حل QAP به کار میروند عبارتند از:
- الگوریتم ژنتیک (Genetic Algorithm – GA): شبیهسازی تکامل زیستی برای تخصیص بهینه.
- بهینهسازی ازدحام ذرات (Particle Swarm Optimization – PSO): جستجوی سراسری و محلی برای کاهش هزینهها.
- الگوریتم مورچگان (Ant Colony Optimization – ACO): الهامگرفته از رفتار مورچهها در بهینهسازی جریان تخصیص.
- جستجوی تابو (Tabu Search – TS): برای جلوگیری از جستجوی مکرر در نقاط مشابه.
- بهینهسازی کلونی زنبور عسل (Artificial Bee Colony – ABC): الهامگرفته از رفتار زنبورها برای یافتن تخصیص مناسب.
این الگوریتمها میتوانند در حل مسائل واقعی که شامل تخصیص منابع، طراحی سیستمها و بهینهسازی مکانیابی هستند، بسیار موثر باشند و کاربردهای عملی گستردهای در مهندسی و مدیریت دارند.
در ادامه لیستی از بهترین الگوریتم های فراابتکاری برای حل مسئله TSP بررسی نمودهایم.
نویسنده: حسن سعادتمند
- بیش از 250 دوره آموزشی در MATLAB و پایتون.
- بیش از 15 سال تجربه در زمینه یادگیری ماشین، الگوریتم های فراابتکاری، یادگیری عمیق، مهندسی کنترل.
- چاپ چندین مقاله Q1 در بهترین ژرنال های دنیا Google Scholar.
- مدرس فرادرس
اطلاعات تماس:
- تلگرام: t.me/matlabanyone
- ایمیل: h.saadatmand22@yahoo.com
- یوتیوب: matlablearning
- تلفن: 09155137038
لیست الگوریتمهای مهم فراابتکاری از ابتدا تا سال 2025:
- الگوریتم ژنتیک (Genetic Algorithm – GA) – 1975
- الگوریتم تبرید شبیهسازی (Simulated Annealing – SA) – 1983
- جستجوی تابو (Tabu Search – TS) – 1986
- الگوریتم فرهنگی (Cultural Algorithm – CA) – 1991
- بهینهسازی کلونی مورچهها (Ant Colony Optimization – ACO) – 1992
- بهینهسازی ازدحام ذرات (Particle Swarm Optimization – PSO) – 1995
- تکامل تفاضلی (Differential Evolution – DE) – 1997
- جستجوی هارمونی (Harmony Search – HS) – 2001
- الگوریتم ازدحام ماهی (Fish Swarm – FS) – 2002
- الگوریتم زنبورها (Bees Algorithms – BA) – 2005
- کلونی زنبور عسل مصنوعی (Artificial Bee Colony – ABC) – 2005
- الگوریتم قورباغه (Shuffled Frog Leaping Algorithm – SFLA) – 2006
- الگوریتم رقابت استعماری (Imperialist Competitive Algorithm – ICA) – 2007
- الگوریتم کرم شبتاب (Firefly Algorithm – FA) – 2008
- الگوریتم جغرافیای زیستی (Biogeography-based Optimization – BBO) – 2009
- الگوریتم جستجوی گرانشی (Gravitational Search Algorithm – GSA) – 2009
- جستجوی فاخته (Cuckoo Search – CS) – 2009
- الگوریتم خفاش (Bat Algorithm – BA) – 2010
- الگوریتم علف هرز (Invasive Weed Optimization – IWO) – 2011
- الگوریتم بهینهسازی ایده پردازی (Brain Storm Optimization – BSO) – 2011
- الگوریتم بهینهسازی فاخته (Cuckoo Optimization Algorithm – COA) – 2011
- الگوریتم آموزش و یادگیری (Teaching–Learning-Based Optimization – TLBO) – 2011
- الگوریتم سیاهچاله (Black Hole – BA) – 2013
- بهینهسازی گرگ خاکستری (Grey Wolf Optimizer – GWO) – 2014
- الگوریتم گردهافشانی گل (Flower Pollination Algorithm – FPA) – 2014
- الگوریتم جستجوی فراکتال تصادفی (Stochastic Fractal Search – SFS) – 2015
- الگوریتم شیر مورچه (Ant Lion Optimizer – ALO) – 2015
- الگوریتم سنجاقک (Dragonfly Algorithm – DA) – 2015
- الگوریتم شمع پروانه (Moth-Flame Optimization – MFO) – 2015
- الگوریتم بهینهسازی پروانه سلطنتی (Monarch Butterfly Optimization – MBO) – 2015
- الگوریتم ازدحام پرندگان (Bird Swarm Optimization Algorithm – BSOA) – 2015
- الگوریتم کلاغ (Crow Search Algorithm – CSA) – 2016
- الگوریتم سینوس کسینوس (Sine Cosine Algorithm – SCA) – 2016
- الگوریتم جستجوی پروانه (Moth Search Algorithm – MSA) – 2016
- الگوریتم جایا (Jaya Algorithm – JA) – 2016
- الگوریتم بهینهسازی کرم (Glowworm Swarm Optimization – GSO) – 2016
- الگوریتم بهینهساز چند-نظمی (Multi-Verse Optimizer – MVO) – 2016
- الگوریتم پشه (Mosquito Flying Optimization – MFO) – 2016
- الگوریتم وال (نهنگ) (Whale Optimization Algorithm – WOA) – 2016
- الگوریتم سالپ (Slap Swarm Algorithm – SSA) – 2017
- الگوریتم بهینهساز کفتار خالدار (Spotted Hyena Optimizer – SHO) – 2017
- الگوریتم بهینهسازی پروانه و زنبور (Butterfly Optimization Algorithm with Bee – BOAB) – 2017
- الگوریتم ملخ (Grasshopper Optimization Algorithm – GOA) – 2017
- الگوریتم رشد درخت (Tree Growth Algorithm – TGA) – 2018
- الگوریتم پنگوئن امپراتور (Emperor penguin optimizer – EPO) – 2018
- الگوریتم شاهین هریس (Harris Hawks Optimization – HHO) – 2019
- الگوریتم گوزن قرمز (Red Deer Algorithm – RDA) – 2019
- الگوریتم بهینهسازی فقیر و غنی (Poor and Rich Optimization – PRO) – 2019
- الگوریتم مسیریاب (Pathfinder Algorithm – PFA) – 2019
- الگوریتم بهینهسازی اتم (Atom Search Optimization – ASO) – 2019
- الگوریتم ازدحام دلفینها (Dolphin Swarm Algorithm – DSA) – 2019
- الگوریتم بهینهسازی ارشمیدس (Archimedes Optimization Algorithm – AOA) – 2020
- الگوریتم کپک لجن (Slime Mould Algorithm – SMA) – 2020
- الگوریتم اسب وحشی (Wild Horse Optimizer Algorithm – WHOA) – 2020
- الگوریتم سفره ماهی (Manta Ray Foraging Optimization – MRFO) – 2020
- الگوریتم عقاب طلایی (Golden Eagle Optimizer – GEO) – 2020
- الگوریتم کانگورو (Kangaroo Optimization – KO) – 2020
- الگوریتم بهینهسازی اکوسیستم مصنوعی (Artificial Ecosystem-Based Optimization – AEO) – 2020
- الگوریتم عنکبوت اجتماعی (Social Spider Optimization – SSO) – 2020
- الگوریتم شکارچیان دریایی (Marine Predators Algorithm – MPA) – 2020
- بهینهساز نقاشی تصادفی (Stochastic Paint Optimizer – SPO) – 2020
- الگوریتم بهینهسازی مبتنی بر روانشناسی دانشآموزان (Student Psychology Based Optimization Algorithm) – 2020
- الگوریتم مبتنی بر اشتراک و کسب دانش (Gaining-Sharing Knowledge Based Algorithm) – 2020
- الگوریتم فیل (Elephant Herding Optimization – EHO) – 2021
- الگوریتم گله اسب (Horse herd Optimization Algorithm – HOA) – 2021
- الگوریتم جستجوی اجتماعی (Social Network Search – SNS) – 2021
- الگوریتم عقاب (Bald Eagle Search Optimization – BES) – 2021
- الگوریتم بهینهسازی خروسها (Roosters Algorithm – RA) – 2021
- الگوریتم بهینهسازی کرکسهای آفریقایی (African Vultures Optimization Algorithm – AVOA) – 2021
- بهینهسازی بازی آشوب (Chaos Game Optimization – CGO) – 2021
- الگوریتم حسابی (The Arithmetic Optimization Algorithm – AOA) – 2021
- الگوریتم بهینهسازی گرادیان (Gradient Based Optimization – GBO) – 2021
- الگوریتم مار (Snake Optimizer – SO) – 2022
- الگوریتم غزال (Gazelle Optimization Algorithm – GOA) – 2022
- الگوریتم بهینهسازی خرگوشها (Artificial Rabbits Optimization – ARO) – 2022
- الگوریتم بهینهسازی ازدحام گربه شنی (Sand Cat Swarm Optimization – SCSO) – 2022
- الگوریتم بهینهسازی سوسک (Cockroach Swarm Optimization – CSO) – 2022
- الگوریتم بهینهسازی زنبور عسل مصنوعی بهبود یافته (Improved Artificial Bee Colony Algorithm – IABC) – 2022
- الگوریتم علی بابا و چهل دزد (Alibaba and the Forty Thieves – AFT) – 2022
- الگوریتم بهینهسازی سارها (Starling Murmuration Optimizer – SMO) – 2022
- الگوریتم بهینهسازی غزال کوهستان (Mountain Gazelle Optimizer – MGO) – 2022
- الگوریتم جستجوی بهینهسازی ابولا (Ebola Optimization Search – EOS) – 2022
- الگوریتم جستجوی طلایی (Golden Search Optimization Algorithm – GSA) – 2022
- الگوریتم بهینهسازی درخت (Tree Optimization Algorithm – TOA) – 2022
- الگوریتم گورکن عسل (Honey Badger Algorithm – HBA) – 2022
- الگوریتم جستجوی خزنده (Reptile Search Algorithm – RSA) – 2022
- الگوریتم بهینهسازی موشخرمای کوتوله (Dwarf Mongoose Optimization Algorithm) – 2022
- بهینهساز فندقشکن (Nutcracker Optimizer) – 2023
- الگوریتم قانون فیک (Fick’s Law Algorithm) – 2023
- الگوریتم نهنگ بهبود یافته (Improved Whale Optimization Algorithm – IWOA) – 2023
- الگوریتم بهینهسازی حافظه انسان (Human Memory Optimization Algorithm – HMOA) – 2023
- الگوریتم بهینهسازی تیرانوسور (Tyrannosaurus Optimization Algorithm – TOA) – 2023
- الگوریتم Coati Optimization Algorithm (COA) – 2023
- الگوریتم Crayfish Optimization Algorithm (COA) – 2023
- الگوریتم خواب عمیق (The Deep Sleep Optimizer – DSO) – 2023
- الگوریتم بهینهسازی شکار گوزنها (Deer Hunting Optimization Algorithm – DHOA) – 2024
- الگوریتم بهینهسازی اسب آبی (Hippopotamus Optimization Algorithm – HOA) – 2024
- بهینهسازی گروه جوجهها (Chickens Swarm Optimization – CSO) – 2024
- الگوریتم کروکدیل (Crocodile Optimization Algorithm – COA) – 2024
- الگوریتم یوزپلنگ (Puma Optimizer – PO) – 2024
- الگوریتم هایکینگ (Hiking Optimization Algorithm – HOA) – 2024
- الگوریتم بهینهسازی درونیابی درجه دوم (Quadratic Interpolation Optimization – QIO) – 2023
- الگوریتم پروتوزوای مصنوعی (Artificial Protozoa Optimizer – APO) – 2024
- الگوریتم مارماهی و هامور (Eel and Grouper Optimizer – EGO) – 2024
- الگوریتم خرگوش نیشکر بزرگ (Greater Cane Rat Algorithm – GCRA) – 2024
- الگوریتم کوید (COVIDOA) – 2024
- الگوریتم جستوجوی پنگوئن ها (Penguins Search Optimization Algorithm -PeSOA) – 2024
- الگوریتم نهنگ قاتل (Killer Whale Algorithm – KWA) – 2024
- الگوریتم ستاره دریایی (Starfish Optimization Algorithm – SFOA) – 2025
- الگوریتم روباه قطبی (Arctic Fox Optimization – AFO) – 2025
کپی با ذکر نام سایت (www.matlablearning.com) مجاز است.





نقد و بررسیها
هنوز بررسیای ثبت نشده است.