دانلود کد الگوریتم شبیه سازی تبرید برای مسأله فروشنده دوره گرد

دانلود کد الگوریتم شبیه سازی تبرید برای مسأله فروشنده دوره گرد

الگوریتم شبیه سازی تبرید یا Simulated Annealing و یا به اختصار SA، یکی از قوی ترین الگوریتم های در زمینه بهینه سازی ترکیباتی یا Combinatorial Optimization است. این الگوریتم در سال ۱۹۸۳ توسط کیرکپاتریک و همکارانش ارائه گردید و در همان مقاله اصلی، بر روی مسأله فروشنده دوره گرد یا TSP اعمال شد. متلب سایت در این پست، کد آماده متلب را که در آن مسأله TSP بااستفاده از الگوریتم SA حل شده است، در اختیار خوانندگان و مراجعین محترم متلب سایت قرار داده است.

لینک دانلود در ادامه آمده است:

دانلود

مطالب پیشنهادی‎

10 پاسخ
  1. محمد
    محمد says:

    کارتون خوبه
    اما فکر میکنم اگه کدهای الگوریتم های ابتکاری در مسئله زمانبندی گرید را هم به سایتتون اضافه کنید خیلی بهتر بشه

  2. سید علی نوری
    سید علی نوری says:

    سلام ، خسته نباشید و سایت بسیار جالبی دارید
    من فایل برنامه TSP را که با استفاده از الگوریتم SA نوشته بودید دانلود کردم ، و فکر کنم یک مشکل در برنامه وجود دارد و آن این است که در الگوریتم SA ،چون یک الگوریتم local search است باید از یک جواب شروع کنیم که در این برنامه از سه جواب شرع کرده و مثل الگوریتم population با آن برخورد شده است،و در هر بار بهترین جواب را قبول کرده است . از طرف دیگر در این الگوریتم و ما ابتدا یک همسایه می سازیم و بعد چک کنیم که همسایه تولید شده مورد قبول است و اگر نبود همسایه دیگری را تولید کنیم . که در این برنامه اول تمام همسایگان را انتخاب کرده و بعد از بین آنها سه تا از بهترین آنها را که تابع هزینه بهینه داشته انتخاب کرده و شرط را بروی این سه جواب اعمال کرده است که این به نظر من اشتباه است . ولی اگر قصد شما ایجاد تعادل در هر تکرار بوده باشد باید ابتدا در هر بار تولید همسایه شرط SA را چک کرده و بعد در آخر مرحله تکرار(move=20) بهترین جواب را انتخاب کنید . امیدوارم توانسته باشم منظورم را رسانده باشم. ( این موضوع برداشت من است ، اگر اشتباه می کنم لطفاً مرا رهنمایی بفرمایید . مرسی موفق باشید)

    • smk
      smk says:

      در پاسخ: سیدعلی نوری

      با سلام،
      این برنامه یک حالت تعمیم یافته از الگوریتم SA است که با جمعیتی از نقاط کار می کند و هر نقطه چندین همسایکی ایجاد می کند. برای تبدیل این برنامه به SA استاندارد کافی است nPop و nMove (هر دو) را برابر با یک قرار دهید. این تفاوت اشکال نیست، بلکه قدرت الگوریتم SA را به طرز قابل توجهی افزایش می دهد. کافی است در اینترنت، به دنبال Parallel Simulated Annealing و Multi-point Simulated Annealing بگردید. حتما نتایج جالبی را خواهید یافت.
      موفق باشید.

  3. گلی
    گلی says:

    دمتوووووووووووون گرم ان شاء الله هرچی از خدا میخواید بهتون بده خیلی دنبال کد بودم.مرسی

  4. leili
    leili says:

    سلام
    آیا این الگوریتم امکان اجرای موازی در پارالل مطلب دارد ؟؟ من سعی کنم موازی کنم کد رو ولی خطاها رو نمیتونم رفع کنم

    • (روابط عمومی)
      (روابط عمومی) says:

      در پاسخ به majid:

      با سلام.

      متاسفانه در مورد، موارد آموزشی مورد اشاره شما، هنوز هیچ محصول آموزشی تهیه نشده است. امیدواریم در آینده نزدیک، این موضوع نیز به لیست موارد آموزشی ما وارد شود. همچنین، برای آگاهی از عرضه موارد آموزشی جدید ما، حتماً در گروه ایمیلی ما عضو شوید. در ادامه راهنمایی در این مورد صورت گرفته است.

      موفق باشید.

بخش دیدگاه ها غیر فعال است.