الگوریتم کلونی مورچه پیوسته در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. این الگوریتم با نام Ant Colony Optimization Continuous یا الگوریتم ACOR نیز نامیده می شود. در این مجموعه سعی می کنیم تا جزئیات بهتری از سورس کد الگوریتم کلونی مورچه پیوسته ACOR در متلب ارائه دهیم.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم کلونی مورچگان یا الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچه هاست. این مطالعات نشان داده که مورچهها حشراتی اجتماعی هستند که در کلونیها زندگی میکنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا درجهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچهها، رفتار آنها برای یافتن غذا است و به ویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه.
الگوریتم کلونی مورچه (ACO)
الگوریتم بهینه سازی کلونی مورچگان تحت عنوان الگوریتم های هوش ازدحامی (هوش گروهی) شناخته شده و به مدل سازی رفتار مورچه های واقعی می پردازد. مورچه ها حشراتی هستند که می توانند گروه ها (کلونی ها) را شکل دهند. چنین رویکرد جمعیت محوری این امکان را برای الگوریتم ACO ایجاد می کند تا به حل مسائل بهینه سازی پویا به طور کاملا کارآمد بپردازد. مورچه ها به عنوان مخلوقات خودسازمانده می باشند.
چنین ویژگی به عنوان هسته مسئله می باشد زیرا این ویژگی دقیقا همان چیزی است که باعث می شود حشرات به سرعت با شرایط متغیر محیطی شان به منظور دستیابی به اهداف از طریق تعامل سطح پایین، وفق یابند.
از آنجایی که مورچه ها اصلا چشم ندارند، تعاملات آن ها از طریق ماده شیمیایی فرومون Pheromone که از آن برای نشان گذاری مسیر استفاده می شود، انجام می گیرد. هرچه فرومن های بیشتری در مسیر قرار گیرد مابقی مورچه ها از این مسیر بیشتر استفاده می کنند؛ بنابراین، چنین کمیتی نشان می دهد که این مسیر به عنوان یکی از بهینه ترین و کوتاه ترین راه می باشد. اکنون نگاهی به یک نمونه عینی در شکل زیر می اندازیم.
هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) می باشد.
ممکن است این حدس زده شود که احتمال برای مورچه ای که مسیر درست را می پیماید برابر با همان احتمالی می باشد که مسیر اشتباه را انتخاب کند. نکته در اینجا اینست که مورچه ای که کوتاه ترین مسیر را می پیماید، اولین مورچه ای است که به نقطه مقصد رسیده و سپس به آشیانه ( نقطه مبدا حرکت) بر می گردد، بنابراین در این کوتاه ترین مسیر فرمون های بیشتری وجود دارد. از این رو فرمون دقیقا همان چیزی است که نشان می دهد که مورچه باید از چه مسیری برود و در پایان کوتاه ترین راه، بهترین مسیر می باشد.
تبخیر شدن فرومون و احتمال-تصادفبه مورچهها امکان پیدا کردن کوتاهترین مسیر را میدهد. این دو ویژگی باعث ایجاد انعطاف در حل هرگونه مسئله بهینهسازی میشوند.
مراحل الگوریتم کلونی مورچگان
مراحل الگوریتم کلونی مورچگان بصورت زیر است.
- ارزش دهی مورچه ها (مقداردهی اولیه)
- یافتن راه حل
- بروز رسانی فررمون ها
توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم کلونی مورچگان مطالعه فرمایید.
سورس کد الگوریتم کلونی مورچه پیوسته در متلب
سورس کد متلب الگوریتم مورچه شامل یک فایل با یک Script که در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه با 6 تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :
- تابع SPHERE
- تابع ACKLEY
- تابع SUM SQUARES
- تابع ROSENBROCK
- تابع SUM OF DIFFERENT POWERS
- تابع ZAKHAROV
توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 6 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم مورچه در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید. در ادامه قسمت هایی از سورس کد الگوریتم کلونی مورچه پیوسته در Matlab آورده شده است.
for it=1:MaxIt % Means s=zeros(nPop,nVar); for l=1:nPop s(l,:)=pop(l).Position; end % Standard Deviations sigma=zeros(nPop,nVar); for l=1:nPop D=0; for r=1:nPop D=D+abs(s(l,:)-s(r,:)); end sigma(l,:)=zeta*D/(nPop-1); end % Create New Population Array newpop=repmat(empty_individual,nSample,1); for t=1:nSample % Initialize Position Matrix newpop(t).Position=zeros(VarSize); % Solution Construction for i=1:nVar % Select Gaussian Kernel l=RouletteWheelSelection(p); % Generate Gaussian Random Variable newpop(t).Position(i)=s(l,i)+sigma(l,i)*randn; end % Evaluation newpop(t).Cost=CostFunction(newpop(t).Position); end % Merge Main Population (Archive) and New Population (Samples) pop=[pop newpop]; %#ok % Sort Population [~, SortOrder]=sort([pop.Cost]); pop=pop(SortOrder); % Delete Extra Members pop=pop(1:nPop); % Update Best Solution Ever Found BestSol=pop(1); % Store Best Cost BestCost(it)=BestSol.Cost; % Show Iteration Information disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]); end
ویدئوی معرفی محصول
درباره کد الگوریتم مورچه
سورس کد الگوریتم کلونی مورچه پیوسته در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم کلونی مورچه
مباحث پیشنهادی بیشتر
تاریخ انتشار: | 8 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 3.2 کیلوبایت |
فرمت فایل | m. در قالب متلب |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
تاکنون 340 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 8 فروردین 1398 |
---|---|
تاریخ بروزرسانی: | 25 شهریور 1398 |
حجم فایل: | 3.2 کیلوبایت |
فرمت فایل | m. در قالب متلب |
نسخه: | 1.0 |
شناسه اثر: | ندارد |
هماهنگی با: | Matlab 2014b |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما درمیان بگذارید.