
در این بخش حل مسئله TSP با الگوریتم TLBO با بهینه سازی مبتنی بر آموزش و یادگیری در متلب قرار داده شده است. الگوریتم بهینه سازی مبتنی بر آموزش و یادگیری یا همان الگوریتم TLBO یک روش بهینه سازی است که برای اولین بار توسط آقای Rao و همکاران در ژورنال معروف Computer-Aided Design از انتشارات ELSEVIER در مقاله ای با عنوان Teaching–learning-based optimization: A novel method for constrained mechanical design optimization problems معرفی شد.
در ادامه به تشریح مختصری از الگوریتم TLBO پرداخته خواهد شد و سپس حل مسئله فروشنده دوره گرد TSP با الگوریتم Teaching learning based optimization در متلب پرداخته خواهد شد.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم TLBO
قبل از پرداختن به سورس کد حل مسئله TSP با الگوریتم TLBO توضیحات مختصری از الگوریتم ارائه می دهیم. الگوریتم بهینه سازی TLBO یا بهینه سازی مبتنی بر یادگیری و آموزش برای اولین بار توسط آقای Rao و همکاران در سال 2011 معرفی شد. الگوریتم بهینه سازی TLBO براساس تاثیر یک معلم بر روی خروجی دانش آموزان در یک کلاس است.
به طور کلی در یک کلاس معلم فردی تعیین می شود که دارای مقدار بهتری از لحاظ تابع تناسب است و سطحی بالاتری نسبت به دانش آموزان دارد و می تواند دانش آموزان را با دانش خود سهیم نماید. یک معلم خوب، یک میانگین بهتر برای دانش آموزان تولید می کند. در هر مرحله و تکرار معلم کسی است، که بهترین فرد کلاس باشند و بهترین تابع هدف را دارد. البته در هر مرحله ممکن است معلم تغییر نماید.
مراحل الگوریتم بهینه سازی مبتنی بر یادگیری و آموزش TLBO
الگوریتم بهینه سازی TLBO دارای دو مرحله یا دو فاز اصلی است که عبارتند از:
- مرحله معلم یا فاز آموزش
- مرحله دانش آموز یا فاز یادگیری
برای مشاهده جزئیات این الگوریتم مقاله ی کاملی در این سایت با نام الگوریتم بهینه سازی TLBO (بهینه سازی مبتنی بر یادگیری و آموزش) آماده کرده ایم که می توانید آن را مطالعه فرمایید.
مسئله فروشنده دورگرد TSP
مساله فروشنده دوره گرد Travelling salesman problem یا به اختصار TSP مساله اي است که شرح آن خيلي آسان مي باشد. تعريف آن بدين صورت است که تعداد متناهي شهر با هزينه پيمايش بين هر جفت از آنها داده مي شود و هدف مساله اين است که يک فروشنده دوره گرد تمامي اين شهرها را به گونه اي ملاقات کند که هر يک از اين شهرها را فقط يک بارملاقات کرده و دوباره به شهر آغازين برگردد با اين شرط که با کمترين هزينه پيمايش اين کار را انجام دهد.
به طور کلي هدف پيدا کردن کم هزينه ترين تور براي ملاقات همه شهرها و بازگشت به شهر آغازين حرکت است. مساله فروشنده دوره گرد در شکل ساده و اختصاري با نام TSP شناخته مي شود. شکل زیر يک نمونه جواب از مساله فروشنده دوره گرد که در سال 1591 براي 15 شهر از کشور آمريکا مطرح شد را نشان مي دهد که با روش شاخه وحد حل شد.
سورس کد حل مسئله TSP با الگوریتم TLBO در متلب
حل مسئله TSP با الگوریتم TLBO در متلب شامل 4 فایل می باشد که عبارتند از:
- main.m: فایل اصلی برنامه است و فراخوانی دیگر توابع و مقادیر پارامتر ها و الگوریتم TLBO در داخل این فایل قرار دارد.
- 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
برای دریافت سورس کامل محصول لطفا آن را خریداری کنید.
تصاویر خروجی محصول
درباره محصول
سورس کد حل مسئله TSP با الگوریتم TLBO با الگوریتم بهینه سازی مبتنی بر آموزش و یادگیری در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
مباحث مرتبط با الگوریتم TLBO
مباحث مرتبط با مسئله فروشنده دوره گرد
تاریخ انتشار: | 27 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 26 شهریور 1399 |
حجم فایل: | 2 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 238 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 39,000 تومان
تاریخ انتشار: | 27 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 26 شهریور 1399 |
حجم فایل: | 2 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 39,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.