سخنی با اساتید محترم دانشگاه پیرامون انتخاب موضوعات پایان نامه مرتبط با الگوریتم های هیورستیک

در سالیان اخیر، شاهد اقبال روز افزون اساتید و دانشجویان دانشگاه های ایران به موضوعات مرتبط با الگوریتم های بهینه سازی هیورستیک بوده ایم.

الگوریتم های بیهنیه سازی هیورستیک یا اکتشافی، به این علت که در مینمم های نسبی گرفتار نمی شوند و تقریبا هر مسئله ای را می توانند حل کنند بسیار پر کاربرد و پر استفاده هستند.

 

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

واژه مخفف

نام انگلیسی

ترجمه فارسی

GA

Genetic Algorithm

الگوریتم ژنتیک

PSO

Partial Swarm Optimization

الگوریتم ازدحام ذرات

TS

Tabu Search

الگوریتم جستجوی ممنوعه

SA

Simulated Annealing

الگوریتم تبرید یا باز پخت فراوری شده

ACO

Ant Colony Optimization

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

ACO

Artificial Bee Colony Optimization

الگوریتم کلونی زنبور عسل

ICA

Imperialist Competitive Algorithm

الگوریتم رقابت استعماری

COA

Cukoo Optimization Algorithm

الگوریتم بهینه سازی فاخته

 

هر یک از این الگوریتم ها نقاط قوت و ضعف خود را دارا می باشند. پر استفاده ترین الگوریتم در این لیست الگوریتم ژنتیک می باشد. که سال 1965 توسط جان هلند ابداع گردید. از آن زمان الگوریتم های دیگر به تدریج با رهیافتی شبیه الگوریتم ژنتیک پا به میدان رقابت بهینه سازی نهادند.

تمامی این الگوریتم ها از دو بخش اصلی تشکیل شده اند:

1-     بخش جستجوی تصادفی

2-     بخش بهبود دهنده و جستجوی همسایگی

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

در دنیای واقعی به کار گیری این الگوریتم ها، بر مینای مسئله ای که مورد حل واقع می شود متفاوت است. به عنوان مثال، الگوریتم کلونی زنبور عسل کارایی بسیار بالایی در حل مسائل پیوسته دارد و الگوریتم ژنتیک و ازدحام ذرات مسائل باینری را به خوبی حل می کنند و الگوریتم کلونی مورچه مسائلی که در زمینه راهیابی و حمل و نقل و در کل یافتن توالی می باشند را به خوبی حل می کنند.

پس در زمان تعریف پایان نامه ها چنان چه هدف مسئله یافتن توالی می باشد، الگوریتم کلونی مورچه گزینه مناسبی است . کلونی مورچه همچنین در زمان هایی که اطلاعاتی ارزشمند قبل از حل مسئله از ازتباط بین متغیر ها در اختیار داریم می تواند مفید بوده و دانش طراح را به راحتی می توان با استفاده از ماتریس هیورستیک آن وارد مسئله کرد. منظور از اطلاعات قبل از حل، اطلاعاتی است که با محاسبات ساده قابل دستیابی بوده و در جریان حل مسئله، می تواند مفید واقع شود. مثل اطلاعات مربوط به فاصله شهرها در مسئله فرشنده دوره گرد که به راحتی در کلونی مورچه قابل استفاده است ولی در الگوریتم ژنتیک با روش های معمول قابل استفاده نمی باشد.

نقطه ضعف بزرگ الگوریتم کلونی مورچه، بهینه سازی پیوسته می باشد. منظور از بهینه سازی پیوسته این است که در مسائلی که یافتن یک عددی حقیقی مد نظر می باشد، نه یک توالی یا یک رشته باینری، الگوریتم کلونی مورچه انتخاب خوبی نیست. چرا که ساختار این الگوریتم برای بهینه سازی پیوسته به هیچ عنوان مناسب نیست. البته مقالاتی در این زمینه موجود می باشد و اینجانب نیز کد الگوریتم کلونی مورچه پیوسته را با زحمت بسیار نوشته ام ولی با تمام این زحمات این کد به خوبی الگوریتم ژنتیک در مسائل پیوسته جواب نمی دهد.

الگوریتم کلونی زنبور عسل و رقابت استعماری و همچنین فاخته برای حل مسائل پیوسته بسیار مناسب هستند و کارایی بهتری از الگوریتم ژنتیک دارند. کدهای مربوط به این الگوریتم ها همگی موجود است و محقق تنها باید تابع هدف خود را در متلب نوشته و وارد این کد ها نماید. بنابراین محقق و دانشجوی شما هیچ زمانی را صرف کد نویسی این الگوریتم ها نخواهد کرد و تنها تخصص مورد نیاز تخصص نگارش تابع هدفی است که اگر نوشته شود در تمامی این الگوریتم ها قابل استفاده است. و مسئله ای که با الگوریتم ژنتیک حل شده است را می توان در کمتر از یک ساعت کار کد نویسی نیمه حرفه ای در الگوریتم کلونی زنبور عسل نیز حل کرد.

اما الگوریتم ژنتیک به علت حضور در تولباکس بهینه سازی متلب بهترین گزینه برای حل مسائل بهینه سازی می باشد. چرا که در رشته هایی غیر از رشته های هوش مصنوعی که هدف از پایان نامه باید بهبود و تکامل این الگوریتم ها باشد، در بقیه ی رشته ها، صرفا به کارگیری و استفاده از این الگوریتم ها در مسائلی مربوط به همان رشته مد نظر می باشد نه بهبود و تکامل الگوریتم های هیورستیک. بنابراین پایان نامه هایی که تعریف می شوند بهتر است به جای تاکید بر الگوریتم بهینه سازی و ترکیب های مختلف و پیچیده بر روی زیبایی مسئله و کاربردی کردن آن تاکید داشته باشند. زیرا مسئله ای که به سختی با استفاده از کد نویسی یک الگوریتم بهینه سازی پیچیده حل می شود. به سادگی و با یک دستور متلب با استفاده از الگوریتم ژنتیک قابل حل است.

مجبور کردن دانشجویان به پرداختن به الگوریتم های جدید و عجیب و غریبی که این روزها اسمشان شنیده می شود، چیزی جز هدر دادن نیرو و زمان دانشجو نیست و چیزی به علم دانشجو و دانشگاه اضافه نمی کند.

بهتر است وزنه ی یک پایان نامه، مسئله ای باشد که در همان رشته توسط الگوریتم بهینه سازی قرار است حل شود، نه خود الگوریتم بهینه سازی! این روزها عنواین پایان نامه هایی به گوش می رسد که نشان از عدم شناخت اساتید محترم از الگوریتم های بهینه سازی و صرفا تقلید از رویه ی موجود در دادن عنوان های سخت و ثقیل به پایان نامه ها می باشد. 

 

 

آخرین ویرایش در شنبه, 19 بهمن 1392 11:52