تخفیف نوروزی پی استور
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
سورس کد الگوریتم تکاملی تفاضلی برای TSP یا حل مسئله فروشنده دوره گرد عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Eevolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار میکند و توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که به عنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است.
سورس کد الگوریتم تکاملی تفاضلی برای TSP یا حل مسئله فروشنده دوره گرد عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم تکاملی تفاضلی (Differential Eevolution Algorithm) یا الگوریتم DE یک الگوریتم بهینه سازی است و مشابه اساس الگوی الگوریتم ژنتیک کار میکند. این الگوریتم یک الگوریتم تکاملی است که اولین بار در سال ۱۹۹۵ توسط Rainer Storn و Kenneth Price معرفی شد.
الگوریتم DE توانایی خوبی در بهینه سازی توابع غیرخطی مشتق ناپذیر دارد که بهعنوان روشی قدرتمند و سریع برای مسائل بهینه سازی در فضاهای پیوسته معرفی شده است. در ادامه توضیحات مختصری در رابطه با الگوریتم تکاملی تفاضلی و مسئله فروشنده دوره گرد ارائه میشود.
الگوریتم DE جهت غلبه بر عیب اصلی الگوریتم ژنتیک، یعنی نبود جستجوی محلی دراین الگوریتم ارائه شده است، تفاوت اصلی بین الگوریتمهای ژنتیک و الگوریتم DE در عملگر انتخاب Selection Operators است. در عملگر انتخاب الگوریتم GA ،شانس انتخاب یک جواب به عنوان یکی از والدین وابسته به مقدار شایستگی آن میباشد، اما در الگوریتم DE همه جوابها دارای شانس مساوی جهت انتخاب شدن میباشند.
یعنی شانس انتخاب شدن، وابسته به مقدار شایستگی آنها نمیباشد، پس از این که یک جواب جدید با استفاده از یک عملگر جهش mutation و عملگر crossover تولید شد، جواب جدید با مقدار قبلی مقایسه میشود و در صورت بهتر بودن جایگزین میگردد.
در الگوریتم تکاملی تفاضلی بر خلاف دیگر الگورتیمها که اول عملگر crossover و سپس عملگر mutation انجام میشود به گونهای که ابتدا عملگر جهش اعمال شده و سپس عملگر crossover اعمال میشود تا بدین وسیله نسل جدید ایجاد گردد. برای اعمال عملگر mutation از توزیع خاصی استفاده نمیشود بلکه طول گام جهش برابر با مقدار از فاصله میان اعضای فعلی تعیین میشود.
برای درک الگوریتم تکاملی تفاضلی توضیح کامل این الگوریتم را میتوانید در همین سایت از مقالهای کامل تحت عنوان الگوریتم تکاملی تفاضلی Differential Eevolution Algorithm مطالعه فرمایید.
مساله فروشنده دوره گرد Travelling salesman problem یا به اختصار TSP مسالهای است که شرح آن خیلی آسان میباشد. تعریف آن بدین صورت است که تعداد متناهی شهر با هزینه پیمایش بین هر جفت از آنها داده میشود و هدف مساله این است که یک فروشنده دوره گرد تمامی این شهرها را به گونهای ملاقات کند که هر یک از این شهرها را فقط یک بارملاقات کرده و دوباره به شهر آغازین برگردد با این شرط که با کمترین هزینه پیمایش این کار را انجام دهد.
به طور کلی هدف پیدا کردن کم هزینهترین تور برای ملاقات همه شهرها و بازگشت به شهر آغازین حرکت است. مساله فروشنده دوره گرد در شکل ساده و اختصاری با نام TSP شناخته میشود. شکل زیر یک نمونه جواب از مساله فروشنده دوره گرد که در سال ۱۵۹۱ برای ۱۵ شهر از کشور آمریکا مطرح شد را نشان میدهد که با روش شاخه و حد حل شد.
در این قسمت سورس برنامه حل مسئله فروشنده دوره گرد TSP با الگوریتم تکاملی تفاضلی DE در متلب آماده شده است این سورس کد شامل ۴ فایل میباشد که عبارتند از:
قسمتی از سورس کد مربوط به 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 در متلب عنوان اثری است که در این پست به آن پرداخته شده است. این سورس کد در نرم افزار Matlab نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. این اثر دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری کنید بلافاصله پس از خرید لینک دانلود در دسترس خواهد بود.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | الگوریتم تکاملی تفاضلی برای TSP – سورس کد الگوریتم تکاملی تفاضلی برای حل مسئله فروشنده دوره گرد TSP در متلب |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | متلب MATLAB |
ویژگی: | قابلیت ویرایش و دانلود سریع |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
نظرات
مدیریت و پشتیبانی
نظرات و دیدگاه های خود را با ما در میان بگذارید.