الگوریتم شبیه ساز حرارتی SA برای حل مسئله فروشنده دوره گرد TSP در متلب

(دیدگاه کاربر 3)
امتیاز 4.00 از 5

برنامه‌نویس: 

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۴۸,۰۰۰ تومان بود.قیمت فعلی: ۹۶,۰۰۰ تومان.

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

در این پست سورس کد الگوریتم شبیه ساز حرارتی SA برای حل مسئله فروشنده دوره گرد TSP در متلب قرار داده شده است. این سورس کد با استفاده از ساز و کارهای الگوریتم شبیه ساز حرارتی SA برای حل مسئله فروشنده دوره گرد مورد استفاده قرار گرفته است. این سورس کد به صورت واضح و روان می‌تواند برای سایر مسائل استفاده گردد فقط بایستی تابع هزینه و مدل آن منطبق بر مسئله باشد. این سورس کد برای دانشجویان و محققان در زمینه الگوریتم‌های فرا اکتشافی و حل مسائل NP-Hard مفید و سودمند است. در ادامه به تشریح الگوریتم و حل مسئله می‌پردازیم.

الگوریتم شبیه ساز حرارتی SA

الگوریتم شبیه‌ساز حرارتی (Simulated Annealing) (SA) یا تبرید شبیه سازی شده، یک الگوریتم بهینه‌سازی فرا ابتکاری ساده و اثربخش در حل مسائل بهینه‌سازی است. منشأ الگوریتم تبرید شبیه‌سازی‌شده، کارهای کریک پاتریک و کرنی و همکارانشان در سال‌های ۱۹۸۳ و ۱۹۸۵ است.

این تکنیک شامل قرار دادن ماده در دمای بالا و سپس کم کردن تدریجی این دماست. در روش شبیه‌ساز حرارتی (SA)، هر نقطه s در فضای جستجو مشابه یک حالت از یک سیستم فیزیکی است و تابع (E(s که باید کمینه شود، مشابه با انرژی داخلی سیستم در آن حالت است.

در این روش، هدف انتقال سیستم از حالت اولیه دلخواه، به حالتی است که سیستم در آن کمترین انرژی را داشته باشد. برای حل یک مسئله بهینه‌سازی، الگوریتم SA ابتدا از یک جواب اولیه شروع می‌کند و سپس در یک حلقه تکرار به جواب‌های همسایه حرکت می‌کند. اگر جواب همسایه بهتر از جواب فعلی باشد، الگوریتم آن را به‌عنوان جواب فعلی قرار می‌دهد (به آن حرکت می‌کند)، در غیر این صورت، الگوریتم آن جواب را با احتمال exp(-ΔE/T) به‌عنوان جواب فعلی می‌پذیرد.

در این رابطه ΔE تفاوت بین تابع هدف جواب فعلی و جواب همسایه است و T یک پارامتر به نام دما است. در هر دما، چندین تکرار اجرا می‌شود و سپس دما به‌آرامی کاهش داده می‌شود. در گام‌های اولیه دما خیلی بالا قرار داده می‌شود تا احتمال بیشتری برای پذیرش جواب‌های بدتر وجود داشته باشد.

با کاهش تدریجی دما، در گام‌های پایانی احتمال کمتری برای پذیرش جواب‌های بدتر وجود خواهد داشت و بنابراین الگوریتم به سمت یک جواب خوب همگرا می‌شود. فلوچارت زیر نحوه اجرای الگوریتم شبیه ساز حرارتی را نشان می‌دهد.

شبیه ساز حرارتی تبرید

مسئله فروشنده دورگرد TSP

مساله فروشنده دوره گرد Travelling salesman problem یا به اختصار TSP مساله‌اي است که شرح آن خيلي آسان مي‌باشد. تعريف آن بدين صورت است که تعداد متناهي شهر با هزينه پيمايش بين هر جفت از آنها داده مي‌شود و هدف مساله اين است که يک فروشنده دوره گرد تمامي اين شهرها را به گونه‌اي ملاقات کند که هر يک از اين شهرها را فقط يک بارملاقات کرده و دوباره به شهر آغازين برگردد با اين شرط که با کمترين هزينه پيمايش اين کار را انجام دهد.

به طور کلي هدف پيدا کردن کم هزينه‌ترين تور براي ملاقات همه شهرها و بازگشت به شهر آغازين حرکت است. مساله فروشنده دوره گرد در شکل ساده و اختصاري با نام TSP شناخته مي‌شود. شکل  زیر يک نمونه جواب از مساله فروشنده دوره گرد که در سال 1591 براي 15 شهر از کشور آمريکا مطرح شد را نشان مي‌دهد که با روش شاخه وحد حل شد.

فروشنده دوره گرد TSP

سورس حل مسئله فروشنده دوره گرد TSP با الگوریتم SA در متلب

در این قسمت سورس برنامه حل مسئله فروشنده دوره گرد TSP با الگوریتم شبیه ساز حرارتی SA در متلب آماده شده است این سورس کد شامل 10 فایل می‌باشد که عبارتند از:

شبیه ساز حرارتی در متلب


درباره این سورس کد

سورس برنامه حل مسئله فروشنده دوره گرد TSP با الگوریتم شبیه ساز حرارتی SA در متلب عنوان اثری است که در این پست به آن پرداخته شده است. اثردر نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. اثر دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری کنید.

معرفی و نحوه اجرا

ویدئوی نحوه اجرا

مشخصات تکمیلی سورس کد

نام اثر: الگوریتم شبیه ساز حرارتی SA برای حل مسئله فروشنده دوره گرد TSP در متلب
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: Matlab
ویژگی: قابل دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

نظرات

3 نظر|4.00 (میانگین امتیاز کاربران)

  1. فاطمه

    روش نمایش جواب permutation هست؟

    • مدیریت و پشتیبانی

      سلام
      بله نمایش جواب (شهرها) در الگوریتم SA به صورت جایگشتی یا همان permutation هست.

  2. پرسپولیس

    من کد الگوریتم رو از چند سایت برداشته بودم ولی نمی دونم چرا اجرا نمی شد ولی بعد دانلود از سایت اجرا شد فقط کاش پولی نبود

  3. سحر

    خوب بود مرسی

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 4433 دسته‌بندی موضوعی: برچسب , ,

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۴۸,۰۰۰ تومان بود.قیمت فعلی: ۹۶,۰۰۰ تومان.