برنامهنویس:
هزینه سفارش:
۱۹۹,۰۰۰ تومان قیمت اصلی: ۱۹۹,۰۰۰ تومان بود.۰ تومانقیمت فعلی: ۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
الگوریتم کلونی مورچه پیوسته در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. این الگوریتم با نام Ant Colony Optimization Continuous یا الگوریتم ACOR نیز نامیده میشود. در این مجموعه سعی میکنیم تا جزئیات بهتری از سورس کد الگوریتم کلونی مورچه پیوسته ACOR در متلب ارائه دهیم.
الگوریتم کلونی مورچگان یا الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization الهام گرفته شده از مطالعات و مشاهدات روی کلونی مورچههاست. این مطالعات نشان داده که مورچهها حشراتی اجتماعی هستند که در کلونیها زندگی میکنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا درجهت بقاء یک جزء از آن. یکی از مهمترین و جالبترین رفتار مورچهها، رفتار آنها برای یافتن غذا است و به ویژه چگونگی پیدا کردن کوتاهترین مسیر میان منابع غذایی و آشیانه.
الگوریتم بهینه سازی کلونی مورچگان تحت عنوان الگوریتمهای هوش ازدحامی (هوش گروهی) شناخته شده و به مدل سازی رفتار مورچههای واقعی میپردازد. مورچهها حشراتی هستند که میتوانند گروهها (کلونیها) را شکل دهند. چنین رویکرد جمعیت محوری این امکان را برای الگوریتم ACO ایجاد میکند تا به حل مسائل بهینه سازی پویا به طور کاملا کارآمد بپردازد. مورچهها به عنوان مخلوقات خودسازمانده میباشند.
چنین ویژگی به عنوان هسته مسئله میباشد زیرا این ویژگی دقیقا همان چیزی است که باعث میشود حشرات به سرعت با شرایط متغیر محیطیشان به منظور دستیابی به اهداف از طریق تعامل سطح پایین، وفق یابند.
از آنجایی که مورچهها اصلا چشم ندارند، تعاملات آنها از طریق ماده شیمیایی فرومون Pheromone که از آن برای نشان گذاری مسیر استفاده میشود، انجام میگیرد. هرچه فرومنهای بیشتری در مسیر قرار گیرد مابقی مورچهها از این مسیر بیشتر استفاده میکنند؛ بنابراین، چنین کمیتی نشان میدهد که این مسیر به عنوان یکی از بهینهترین و کوتاهترین راه میباشد. اکنون نگاهی به یک نمونه عینی در شکل زیر میاندازیم.
هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) میباشد.
ممکن است این حدس زده شود که احتمال برای مورچهای که مسیر درست را میپیماید برابر با همان احتمالی میباشد که مسیر اشتباه را انتخاب کند. نکته در اینجا اینست که مورچهای که کوتاهترین مسیر را میپیماید، اولین مورچهای است که به نقطه مقصد رسیده و سپس به آشیانه ( نقطه مبدا حرکت) بر میگردد، بنابراین در این کوتاهترین مسیر فرمونهای بیشتری وجود دارد. از این رو فرمون دقیقا همان چیزی است که نشان میدهد که مورچه باید از چه مسیری برود و در پایان کوتاهترین راه، بهترین مسیر میباشد.
تبخیر شدن فرومون و احتمال-تصادفبه مورچهها امکان پیدا کردن کوتاهترین مسیر را میدهد. این دو ویژگی باعث ایجاد انعطاف در حل هرگونه مسئله بهینهسازی میشوند.
مراحل الگوریتم کلونی مورچگان بصورت زیر است.
سورس کد متلب الگوریتم مورچه شامل یک فایل با یک Script که در واقع کد اصلی برنامه میباشد و بقیه فراخوانیها از آنجا انجام میشود. همچنین این برنامه با ۶ تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتمهای بهینه سازی بکار میروند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتمهای بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :
توابع زیادی برای تست عملکرد الگوریتمهای بهینه سازی وجود دارد که در اینجا ما به این ۶ تابع اکتفا کردهایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا 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 نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین میشود و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
نام اثر: | سورس کد الگوریتم کلونی مورچه پیوسته در متلب |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | Matlab |
ویژگی: | قابل دانلود و ویرایش |
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
هزینه سفارش:
۱۹۹,۰۰۰ تومان قیمت اصلی: ۱۹۹,۰۰۰ تومان بود.۰ تومانقیمت فعلی: ۰ تومان.
نظرات
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما درمیان بگذارید.