ارائه ی یک الگوریتم جستجوی مبتنی بر روشهای مبنی برجمعیت در بهینه سازی ترکیبی

 
 
مقدمه
در ریاضیات و علوم رایانه یک مسأله بهینه سازی، مسأله یافتن بهترین راه حل از میان همه راه حل های عملی می باشد. مسأله های بهینه سازی می تواند به دو دسته تقسیم شود که متغیرها پیوسته یا گسسته باشند. یک مسأله بهینه سازی با متغیرهای گسسته به عنوان یک مسأله بهینه سازی ترکیبی یا ترکیبیاتی شناخته می شوند. در یک مسأله بهینه سازی ترکیبی، ما به دنبال مجموعه ای از اشیاء از قبیل عدد صحیح، جایگشت و یا گرافی می گردیم که تعداد اعضایش محدود (و یا به طور قابل شمارش نامحدود) باشند.
 

مسأله بهینه سازی ترکیبی

بطور رسمی یک بهینه سازی ترکیبی A یک چهارتایی (I, f, m, g) است به طوری که:

  • I مجموعه نمونه هاست.
  • برای یک نمونه x \in I داده شده، f(x) مجموعه راه حل های امکان پذیر است.
  • برای یک مورد داده شده x و راه حل ممکن y برای x، m(x, y) اندازه y را مشخص می کند که معمولاً یک عدد حقیقی مثبت است.
  • g هدف تابع است که یا برابر کمینه و یا بیشینه است.

هدف این است که برای یک نمونه x، یک راه حل بهینه پیدا کنیم که یک راه حل ممکن y است با این شرط که


m(x, y) = g \{ m(x, y') \mid y' \in f(x) \} .

برای هر مسأله بهینه سازی ترکیبی، یک مسأله تصمیم متناظر وجود دارد که می پرسد ببیند آیا یک راه حل ممکن برای مقدار خاص m_0 وجود دارد یا نه. به عنوان مثال یک گراف Gوجود دارد که شامل رئوس u و v یک مسأله بهینه سازی ممکن است «یافتن یک مسیر از G به G که از کمترین یال ها بگذرد» باشد. این مسأله ممکن است یک جواب مثلاً ۴ داشته باشد. یک مسأله تصمیم متناظر این خواهد بود که «آیا یک مسیر از G به G با استفاده از ۱۰ یال یا کمتر وجود دارد؟» این مسأله با یک «بله» یا «خیر» ساده جواب داده می شود. در زمینه الگوریتم های تخمین، الگوریتم ها برای مسائل سخت برای یافتن راه حل های نزدیک بهینه طراحی می شوند. بنابراین یک نسخه معمول تصمیم، یک توصیف ناکافی از مسأله است زیرا فقط راه حل های قابل قبول را مشخص می کند. اگرچه می توانیم مسائل تصمیم مناسبی مطرح کنیم، این مسائل دیگر بیشتر به طور طبیعی، یک مسأله بهینه سازی می شوند.

 
 
کلمات کلیدی:

مدلهای ACO

 

الگوریتم مورچه

الگوریتم جستجو

درخت پوشای كمینه

روشهای مبنی برجمعیت

بهینه‌سازی تركیبی (Combinational Optimization)

مساله مسیریابی وسایل نقلیه(Vehicle Routing Problem)

 

 
 
 
فهرست مطالب

تعریف مسایل بهینه سازی ترکیبی

مدلهای ACO 

کاربردهای الگوریتم مورچه

مساله مسیریابی وسایل نقلیه
طبقه بندی الگوریتم های حل مسایل بهینه سازی تركیبی
طبقه بندی فرااكتشافات
الگوریتمهای تكاملی
مسایل مهم در حوزه هوش گروهی

الگوریتم های مورچه

 (اثر autocatalytic).
رکود: اكثر مورچه ها كوتاهترین شاخه را انتخاب می كنند 
تبخیر: مکانیزم اجتناب از همگرایی سریع به مسیرهای زیربهینه 
پارامترهای ارزیابی
مدلهای ACO

مساله مسیریابی وسایل نقلیه (Vehicle Routing Problem)

تعریف فرمال مساله CVRP
یک نمونه مساله ساده از CVRP
ساخت درخت پوشای می نیمم 
استفاده از روش پریم برای ساخت درخت تعریف شده روی گراف مساله 
روش پریم
ساخت راه حلها توسط مورچه ها
ساختار طراحی شده برای هر مورچه 
انتخاب بهترین شاخه مجاور
بررسی شاخه های سمت چپ و راست
مطابقت درخواست گره با ظرفیت وسیله
انتخاب بیشترین صرفه جویی
انتقال به شاخه جدید
انتخاب شبه تصادفی گره بعدی بجز انبار (از شاخه جاری)
انتخاب احتمالی براساس تابع احتمال تجمعی
جستجوی محلی برای بهبود مسیرها
جایگزینی گره ها در یک تور
جابه جایی گره در یک تور
به روزرسانی وزن یالهای شرکت کننده در درخت
بررسی محدودیت مرزی برای وزنها
دریافت ورودیهای مساله
انجام محاسبات اولیه و مقداردهی به پارامترها
شروع حلقه اصلی الگوریتم 
    ساخت درخت پوشای کمینه
    تولید جوابهای مساله توسط مورچه ها
انحراف معیار استاندارد

ساخت درخت پوشای كمینه برای انجام خوشه بندی مناسب روی گره های گراف مساله

تعریف وزن برای یالهای گراف جهت ساخت درخت پوشای كمینه
نحوه به روزرسانی وزن یالها
تعریف پارامترهای مناسب در بخشهای تغییریافته
مکانیزم شروع مجدد
جلوگیری از رکود و گرفتار شدن در کمینه محلی
مختصات انبار
مختصات گره ها
نتایج ارزیابی مجموعه داده های اول و سوم
به روزرسانی وزن یالهای درخت
تصمیمات احتمالی مورچه ها
ترکیب با سایر روشهای حل مساله مثل الگوریتم ژنتیک

بهینه سازی ترکیبی

منابع