حل مسئله فروشنده دوره گرد با شبکه عصبی در متلب

این مساله یکی از کلاسیک ترین مسائل بهینه­سازی ترکیبی در ادبیات است که به علت NP-Hard بودن آن، تاکنون روشهای دقیق نتوانسته­اند گسترش و توفیق چندانی در حل آن بیابند. هر روزه بر تعداد متاهیوریستیکهای بهبود یافته برای حل آن اضافه می شود. راه حلی که ارائه می‌شود حاصل تجربه شبکه­های عصبی در نرم­افزار مهندسی MATLAB نسخه R2010a است.

برای استفاده از شبکه­های عصبی طی نمودن مراحل ذیل ضروری است:

 

 

 

  1. طراحی معماری شبکه عصبی: در این شرایط می­بایست تعداد نورون­ها، تعداد لایه­ها، تعداد لایه­های پنهان و مابقی مشخصات معماری این شبکه و در صورت نیاز مقادیر پیش­فرض ارتباطات (کمانها) بین نورون­ها مشخص گردد.
  2. تمرین­دهی[1] : در این مرحله لازم است تا ابتدا نورون­ها به شرایط مسئله عادت کنند. برای این منظور ابتدا یک مسئله حل شده را به شبکه تزریق نموده و انها را چند بار تمرین می­دهیم تا به خوبی شرایط را درک نموده و ساختار خود را بر اساس آن تطبیق دهند. به عنوان مثال فرض کنید که یک فروشنده دوره گرد را در سه شهر (که مساله ساده­ای است) را به شبکه تزریق نماییم تا درک نماید که چگونه می­بایست کمترین و روابط را بیابد. نکته مهم آن است که نباید بسیار این عمل را تکرار نمود چرا که موجب اعتیاد نورون­ها به شرایط حاضر می­شود.
  3. تست نهایی. با آمادگی کامل نورن­ها می­توان به سهولت مسائل بزرگتر را در اختیار آن قرار داد و از آن انتظار تعیین خروجی، تعداد و وضعیت نورون­های فعال شده و نیز وزن کمان­های مورد استفاده را برآورد نمود. حال به کمک مثال تمرین داده شده، می­توان بسیاری از مسائل فروشنده دوره­گرد سه­شهری را حل نمود. شاید بتوان این محدودیت را که باید نمونه قبلی مسئله استفاده شده وجود داشته باشد تا بتوان مسائل دیگر را حل نمود، تنها محدودیت شبکه عصبی در حل مسائلی چون فروشنده دوره گرد باشد.

 

تشریح مراحل اجرا:

دریافت نسخه کامل فایل راهنما

 


[1] training

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید