سورس کد الگوریتم زنبور عسل در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. الگوریتم کلونی زنبور عسل مصنوعی (Artificial bee colony algorithm) یا ABC یک الگوریتم بهینه سازی بر اساس هوش جمعی و رفتار هوشمندانه جمعیت زنبور عسل است.
الگوریتم کلونی زنبور عسل مصنوعی یا به اختصار ABC، یک راهکار بهینهسازی است که رفتار یک کلونی زنبور عسل را شبیهسازی میکند و برای اولین بار در سال 2005 توسط Dervis Karaboga، برای بهینهسازی ارائه شد. در این مدل، کلونی زنبور عسل مصنوعی دارای سه نوع زنبورهای کارگر، ناظر و دیده بان است. زنبورهای کارگر روی گردآوری غذا و آوردن آن به کندو از یک منبع غذایی خاص کار میکنند.
زنبورهای ناظر در میان کارگرها گشت میزنند تا تشخیص دهند یک منبع غذایی همچنان ارزش استفاده دارد یا خیر و در نهایت زنبورهای دیدهبان که بهدنبال کشف منابع غذایی جدید هستند.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم زنبور عسل Bee Algorithm
الگوریتم زنبور عسل هر نقطه را در فضای پارامتری متشکل از پاسخهای ممکن به عنوان منبع غذا تحت بررسی قرار میدهد. زنبورهای دیدهبان به صورت تصادفی فضای پاسخ ها را ساده می کنند و به وسیله ی تابع شایستگی کیفیت موقعیت های بازدید شده را گزارش می دهند.
جوابهای ساده شده رتبه بندی میشوند و دیگر زنبورها نیروهای تازهای هستند که فضای پاسخها را در پیرامون خود برای یافتن بالاترین رتبه محلها جستجو میکنند که گلزار نامیده میشود. الگوریتم به صورت گزینشی دیگر گلزارها را برای یافتن نقطه ی بیشینه ی تابع شایستگی جستجو میکند.
رفتار هوشمند ناپایدار زنبورهای عسل را میتوان در چند گام زیر خلاصه کرد:
- زنبورها تلاش میکنند تا به صورت تصادفی در محیط بهدنبال منابع غذایی خوب بگردند (مقدار تناسب).
- پس از یافتن یک منبع غذایی، آنها تبدیل به زنبورهای کارگر میشوند و شروع به استخراج غذا از منبع یافت شده میکنند.
- زنبور کارگر با شهد به کندو باز میگردد و بار شهد خود را خالی میکند. پس از خالی کردن آن، میتواند مستقیما به منبع کشف شده خود باز گردد یا اطلاعاتی که درباره منبع غذاییش دارد را با اجرای یک رقص گردون در ناحیه رقص به اشتراک بگذارد.
- اگر یک منبع غذایی خالی شد، زنبوران کارگر به دیدهبان مبدل شده و به جست و جوی تصادفی برای منابع غذایی میپردازند.
- زنبورهای ناظر در کندو منتظر مانده و زنبورهای کارگر را در منابع غذایی گردآوری کردهشان مورد نظارت قرار میدهند و از میان منابع غذایی موجود با بیشترین سود، یک منبع را انتخاب میکنند.
- انتخاب منابع غذایی متناسب با کیفیت آن منبع (مقدار تناسب) است.
برای درک الگوریتم زنبور عسل در متلب توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی زنبور عسل Artificial Bee Colony Algorithm مطالعه فرمایید.
سورس کد الگوریتم زنبور عسل در متلب
سورس کد الگوریتم زنبور عسل مصنوعی در GUI Matlab شامل سه الگوریتم زنبور عسل (Artificial Bee Colony, Standard Bees Algorithm, Probabilistic Bees Algorithm) است.
- Artificial Bee Colony
- Standard Bees Algorithm
- Probabilistic Bees Algorithm
تابع Main در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. سه الگوریتم Artificial Bee Colony, Standard Bees Algorithm, Probabilistic Bees Algorithm نیز در نموداری طبق شکل و ویدئوی معرفی محصول از لحاظ کارایی باهم مقایسه شده اند. همچنین این برنامه با 6 تابع تست ارائه شده است.
توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 6 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم زنبور عسل در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.
قسمتی از سورس کد
for it=1:MaxIt % Recruited Bees for i=1:nPop % Choose k randomly, not equal to i K=[1:i-1 i+1:nPop]; k=K(randi([1 numel(K)])); % Define Acceleration Coeff. phi=a*unifrnd(-1,+1,VarSize); % New Bee Position newbee.Position=pop(i).Position+phi.*(pop(i).Position-pop(k).Position); % Evaluation newbee.Cost=CostFunction(newbee.Position); % Comparision if newbee.Cost<=pop(i).Cost pop(i)=newbee; else C(i)=C(i)+1; end end % Calculate Fitness Values and Selection Probabilities F=zeros(nPop,1); MeanCost = mean([pop.Cost]); for i=1:nPop F(i) = exp(-pop(i).Cost/MeanCost); % Convert Cost to Fitness end P=F/sum(F); % Onlooker Bees for m=1:nOnlooker % Select Source Site i=RouletteWheelSelection(P); % Choose k randomly, not equal to i K=[1:i-1 i+1:nPop]; k=K(randi([1 numel(K)])); % Define Acceleration Coeff. phi=a*unifrnd(-1,+1,VarSize); % New Bee Position newbee.Position=pop(i).Position+phi.*(pop(i).Position-pop(k).Position); % Evaluation newbee.Cost=CostFunction(newbee.Position); % Comparision if newbee.Cost<=pop(i).Cost pop(i)=newbee; else C(i)=C(i)+1; end end % Scout Bees for i=1:nPop if C(i)>=L pop(i).Position=unifrnd(VarMin,VarMax,VarSize); pop(i).Cost=CostFunction(pop(i).Position); C(i)=0; end end % Update Best Solution Ever Found for i=1:nPop if pop(i).Cost<=BestSol.Cost BestSol=pop(i); end end % Store Best Cost Ever Found BestCost(it)=BestSol.Cost; % Display Iteration Information disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]); end
تصاویر خروجی محصول
ویدئوی معرفی محصول
درباره سورس کد الگوریتم کلونی زنبور عسل
سورس کد الگوریتم زنبور عسل در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
تضمین کیفیت و گارانتی بازگشت هزینه
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
- ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ میشود.
- و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده میشود.
مباحث مرتبط با الگوریتم Bee
سورس کد الگوریتم های بهینه سازی در متلب
تاریخ انتشار: | 10 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 30 شهریور 1398 |
حجم فایل: | 0.1 مگابایت |
فرمت فایل | m. در قالب متلب |
مدت زمان: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
تاکنون 609 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
هزینه سفارش: 69,000 تومان
تاریخ انتشار: | 10 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 30 شهریور 1398 |
حجم فایل: | 0.1 مگابایت |
فرمت فایل | m. در قالب متلب |
مدت زمان: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
1 بازخورد (مشاهده نظرات)
هزینه سفارش: 69,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.