تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

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

هزینه سفارش:

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

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

روز
ساعت
دقیقه
ثانیه
دریافت کد تخفیف با گردونه شانس %
تعداد فراگیر
328 نفر
امتیاز کاربران
امتیاز 5.00 از 5

سورس کد الگوریتم تکاملی تفاضلی برای TSP یا حل مسئله فروشنده دوره گرد عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Eevolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار می‌کند و توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است.

سورس کد الگوریتم تکاملی تفاضلی برای TSP یا حل مسئله فروشنده دوره گرد عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Eevolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار می‌کند. این الگوریتم یک الگوریتم تکاملی است که اولین بار در سال ۱۹۹۵ توسط Rainer Storn و Kenneth Price معرفی شد.

الگوریتم DE توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به‌عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است. در ادامه توضیحات مختصری در رابطه با الگوریتم تکاملی تفاضلی و مسئله فروشنده دوره گرد ارائه می‌شود.

الگوریتم تکاملی تفاضلی Differential Eevolution Algorithm

الگوریتم DE جهت غلبه بر عیب اصلی الگوریتم ژنتیک، یعنی نبود جستجوی محلی دراین الگوریتم ارائه شده است، تفاوت اصلی بین الگوریتم‌های ژنتیک  و الگوریتم DE در عملگر انتخاب Selection Operators است. در عملگر انتخاب الگوریتم GA ،شانس انتخاب یک جواب به عنوان یکی از والدین وابسته به مقدار شایستگی آن می‌باشد، اما در الگوریتم DE همه جواب‌ها دارای شانس مساوی جهت انتخاب شدن می‌باشند.

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

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

برای درک الگوریتم تکاملی تفاضلی توضیح کامل این الگوریتم را می‌توانید در همین سایت از مقاله‌ای کامل تحت عنوان الگوریتم تکاملی تفاضلی Differential Eevolution Algorithm مطالعه فرمایید.

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

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

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

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

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

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

  • DE.m: فایل اصلی برای اجرای الگوریتم می‌باشد و بقیه فراخوانی‌ها از این قسمت انجام می‌شود.
  • CreateModel.m: مختصات شهرها و تعداد و فاصله آن‌ها در این تابع تعریف و ایجاد می‌شود.
  • PlotSolution.m: رسم چگونگی اتصال شهرها یا نشان دادن جواب مسئله در این تابع انجام می‌شود.
  • TourLength.m: تابع هزینه یا Cost Function می‌باشد و عبارت است از طول مسیرهای یک جواب.

قسمتی از سورس کد مربوط به DE.m در اینجا نوشته شده است.

clc;
clear;
close all;

%% Problem Definition
model=CreateModel();    % Create Problem Model

CostFunction=@(tour) TourLength(tour,model); 


nVar=model.n;            % Number of Decision Variables

VarSize=[1 nVar];   % Decision Variables Matrix Size

VarMin=-5;          % Lower Bound of Decision Variables
VarMax= 5;          % Upper Bound of Decision Variables

%% DE Parameters

MaxIt=1000;      % Maximum Number of Iterations

nPop=100;        % Population Size

beta_min=0.3;   % Lower Bound of Scaling Factor
beta_max=0.7;   % Upper Bound of Scaling Factor

pCR=0.3;        % Crossover Probability

%% Initialization

empty_individual.Position=[];
empty_individual.Cost=[];

BestSol.Cost=inf;

pop=repmat(empty_individual,nPop,1);

for i=1:nPop

    pop(i).Position=unifrnd(VarMin,VarMax,VarSize);
    [~,sol]=sort(pop(i).Position);
    
    pop(i).Cost=CostFunction(sol);
    
    if pop(i).Cost<BestSol.Cost
        BestSol=pop(i);
    end
    
end

تصاویر خروجی الگوریتم تکاملی تفاضلی برای TSP

خروجی الگوریتم DE برای TSP

همگرایی الگوریتم DE برای TSP

درباره الگوریتم تکاملی تفاضلی برای TSP

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

مشاهده بیشتر

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

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


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

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

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

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

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

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

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

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

توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:

تصویر و لوگوی گارانتی

نظرات

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

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

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

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

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

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

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

هزینه سفارش:

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

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

دریافت کد تخفیف %