
در این بخش سورس کد شبیه سازی الگوریتم TLBO در متلب قرار داده شده است. الگوریتم بهینه سازی مبتنی بر آموزش و یادگیری Teaching learning based optimization یا الگوریتم TLBO یک روش بهینه سازی می باشد که مشابه سایر روش های بهینه سازی موجود یک الگوریتم برگرفته از طبیعت و مبتنی بر جمعیت است و بر اساس تاثیر یک معلم بر روی یادگیری در کلاس درس کار می کند. این الگوریتم از یک جمعیتی از جواب ها برای دستیابی به جواب کلی استفاده می نماید.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم TLBO
قبل از پرداختن به سورس کد شبیه سازی الگوریتم TLBO در متلب توضیحات مختصری از الگوریتم ارائه می دهیم. الگوریتم بهینه سازی TLBO یا بهینه سازی مبتنی بر یادگیری و آموزش یک روش بهینه سازی می باشد. که برای اولین بار توسط آقای Rao و همکاران در ژورنال معروف Computer-Aided Design از انتشارات ELSEVIER در مقاله ای با عنوان Teaching–learning-based optimization: A novel method for constrained mechanical design optimization problems معرفی شد.
الگوریتم بهینه سازی TLBO براساس تاثیر یک معلم بر روی خروجی دانش آموزان در یک کلاس است و به طور کلی در یک کلاس معلم فردی تعیین می شود که دارای مقدار بهتری از لحاظ تابع تناسب است و سطحی بالاتری نسبت به دانش آموزان دارد و می تواند دانش آموزان را با دانش خود سهیم نماید. یک معلم خوب، یک میانگین بهتر برای دانش آموزان تولید می کند. در هر مرحله و تکرار معلم کسی است، که بهترین فرد کلاس باشند و بهترین تابع هدف را دارد. البته در هر مرحله ممکن است معلم تغییر نماید.
مراحل الگوریتم بهینه سازی مبتنی بر یادگیری و آموزش TLBO
الگوریتم بهینه سازی TLBO دارای دو مرحله یا دو فاز اصلی است که عبارتند از:
- مرحله معلم یا فاز آموزش
- مرحله دانش آموز یا فاز یادگیری
سورس کد شبیه سازی الگوریتم TLBO در متلب
سورس کد شبیه سازی الگوریتم TLBO در متلب شامل سه نوع پیاده سازی است که برای شما عزیزان آماده شده است. این پیاده سازی ها عبارتند از:
- کد الگوریتم TLBO استاندارد در متلب
- کد الگوریتم TLBO همراه با 23 تابع محک در متلب
- کد شبیه سازی الگوریتم TLBO برای یافتن یک نقطه دلخواه
کد الگوریتم TLBO استاندارد در متلب
این سورس کد شامل توابعی است که اسکریپت TLBO در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه داری 7 تابع تست می باشد که در زیر مشاهده می کنید.
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
- تابع Rastrigin
توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم و همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم TLBO در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
کد الگوریتم TLBO همراه با 23 تابع محک در متلب
این سورس کد شامل توابعی است که اسکریپت main در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. که بصورت استاندار شما می توانید 23 تابع تست را اجرا و نمودار های دوبعدی و سه بعدی آنها را ببینید. در main این 23 تابع با نام های F1 تا F23 مشخص است.
کد شبیه سازی الگوریتم TLBO برای یافتن یک نقطه دلخواه
بسیاری از کدهایی که در سایت های مختلف قرار دارد بر اساس توابع تست الگوریتم TLBO را توضیح و تشریح می دهند. برای اینکه مسئله الگوریتم TLBO واضح و بصورت گرافیکی در طول اجرای الگوریتم نحوه رسیدن به یک نقطه دلخواه بدرستی نشان داده شود از یک نقطه فرضی استفاده کردیم و در هر تکرار دانش آموزان به این نقطه نزدیک و نزدیکتر می شوند.
قسمتی از سورس کد الگوریتم TLBO در متلب
clc clear close all nPop=30; % Number of Population Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper) Max_iteration=500; % Maximum numbef of iterations % Load details of the selected benchmark function [lb,ub,dim,fobj]=Get_Functions_details(Function_name); [BestSol,cg_curve]=TLBO(nPop,Max_iteration,lb,ub,dim,fobj); figure('Position',[269 240 660 290]) %Draw search space subplot(1,2,1); func_plot(Function_name); title('Parameter space') xlabel('x_1'); ylabel('x_2'); zlabel([Function_name,'( x_1 , x_2 )']) %Draw objective space subplot(1,2,2); semilogy(cg_curve,'Color','r') title('Objective space') xlabel('Iteration'); ylabel('Best score obtained so far'); axis tight grid on box on legend('TLBO') display(['The best solution obtained by TLBO is : ', num2str(BestSol.Position)]); display(['The best optimal value of the objective funciton found by TLBO is : ', num2str(BestSol.Cost)]);
برای دانلود سورس کامل محصول را خریداری فرمایید.
تصویر خروجی محصول
درباره محصول
سورس کد شبیه سازی الگوریتم TLBO در متلب در محیط Matlab 2017b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم TLBO
مباحث پیشنهادی برای شما
تاریخ انتشار: | 26 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 15 بهمن 1399 |
حجم فایل: | 8.7 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 216 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 39,000 تومان
تاریخ انتشار: | 26 فروردین 1399 |
---|---|
تاریخ بروزرسانی: | 15 بهمن 1399 |
حجم فایل: | 8.7 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 39,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.