حل فروشنده دوره گرد با الگوریتم جغرافیای زیستی BBO در متلب

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

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

هزینه سفارش:

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

قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.قیمت فعلی: ۱۲۸,۰۰۰ تومان.

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

در این پست حل فروشنده دوره گرد با الگوریتم جغرافیای زیستی BBO در متلب قرار داده شده است. الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی یا همان الگوریتم BBO در سال 2008 توسط Dan Simon در ژورنال IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 12, NO. 6, DECEMBER 2008 مطرح شد. در این الگوریتم، از چگونگی انتشار گونه‌های جانداران در زیستگاه‌های متعدد الهام گرفته شده است. در ادامه به تشریح حل مسئله فروشنده دوره گرد TSP با الگوریتم Biogeography Based Optimization به اختصار BBO در متلب پرداخته خواهد شد.

الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی BBO

الگوریتم BBO یک الگوریتم مبتنی بر جمعیت است و جزو الگوریتم های بهینه سازی و فرا ابتکاری که از چگونگی انتشار گونه‌های جانداران در زیست گاه‌های متعدد الهام گرفته شده است. با ارائه مدلی احتمالی برای چگونگی مهاجرت گونه‌های مختلف در زیستگاه‌ها، مدل ریاضی استخراج شده است که نهایتا منجر به ایجاد مدل بهینه سازی جدیدی می‌شود که در الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی استفاده شده است. در ادامه توضیحاتی درباره الگوریتم داده می‌شود. الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی یا همان الگوریتم BBO در سال 2008 توسط Dan Simon مطرح شد.

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

الگوریتم جغرافیای زیستی یک روش تکاملی مبتنی بر جمعیت یا population based می‌باشد که از پدیده مهاجرت حیوانات و پرندگان بین مکان‎های مختلف الهام گرفته شده است. در حقیقت، جغرافیای زیستی مطالعه نحوه توزیع جغرافیایی گونه‌های مختلف جانوری می‌‍باشد. در این روش جزایری که مکان مناسبی برای زیست باشند دارای شایستگی بالا برای اسکان هستند که از ویژگی‌های بارندگی، تنوع گیاهی، خاک منطقه، دما و … تبعیت می‌کنند. در این روش هر زیستگاه دارای نرخ مهاجرت به داخل و نرخ مهاجرت به خارج متفاوت می‌باشند که فرآیند جستجو برای جواب بهینه را کنترل می‌کنند.

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

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

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

مسئله TSP با الگوریتم BBO

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

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

  • main.m: فایل اصلی برنامه است و فراخوانی دیگر توابع و مقادیر پارامترها و الگوریتم BBO در داخل این فایل قرار دارد.
  • CreateModel.m: برای ایجاد شهرهای فاصله و مختصات هر یک از شهرها از این تابع استفاده می‌شود.
function model=CreateModel()

    x=[82 91 12 92 63 9 28 55 96 97 15 98 96 49 12 92 63 9 28 55 96 97 15 98 80 14 42 92 80 96];
    
    y=[12 92 63 9 28 55 96 97 15 98 66 3 85 94 68 76 75 39 66 17 71 3 27 4 9 83 70 32 95 3];
    
    n=numel(x);
    
    D=zeros(n,n);
    
    for i=1:n-1
        for j=i+1:n
            
            D(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);
            
            D(j,i)=D(i,j);
            
        end
    end
    
    model.n=n;
    model.x=x;
    model.y=y;
    model.D=D;

end
  • PlotSolution.m: برای رسم مسیرهای بین شهرها از این تابع استفاده می‌شود.
function PlotSolution(tour,model)

    tour=[tour tour(1)];
    
    plot(model.x(tour),model.y(tour),'k-s',...
        'MarkerSize',12,...
        'MarkerFaceColor','y',...
        'LineWidth',2);

end
  • TourLength.m: این تابع برای محاسبه طول مسیرهای یک تور یا یک پیمایش کامل شهرها بکار می‌رود.
function [z sol]=MyCost(s,model) 
 
    d=model.d; 
 
    [~, tour]=sort(s); 
    sol.tour=tour; 
     
    n=numel(tour); 
     
    tour=[tour tour(1)]; 
     
    L=0; 
    for i=1:n 
        L=L+d(tour(i),tour(i+1)); 
    end 
     
    sol.L=L; 
     
    z=L; 
 
end
  • RouletteWheelSelection.m: این تابع برای انتخاب احتمال مهاجرت با استفاده از چرخه رولت استفاده می‌شود.

برای دریافت کامل سورس کد حل مسئله فروشنده دوره گرد TSP با الگوریتم BBO در متلب لطفا آن را خریداری کنید.

تصاویر خروجی حل فروشنده دوره گرد با الگوریتم BBO

تصاویر خروجی حل فروشنده دوره گرد با الگوریتم BBO

مسئله TSP با الگوریتم BBO

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

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

ویدئوی معرفی اثر

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

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

نام اثر: حل فروشنده دوره گرد با الگوریتم جغرافیای زیستی BBO در متلب
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: متلب
ویژگی: قابل دانلود و ویرایش

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

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

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

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

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

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

نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. مدیریت و پشتیبانی

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

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

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

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

هزینه سفارش:

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

قیمت اصلی: ۳۱۲,۰۰۰ تومان بود.قیمت فعلی: ۱۲۸,۰۰۰ تومان.