توضیحات
پروژه شبیه سازی تجزیه تحلیل عملکرد الگوریتم ژنتیک تطبیقی با منطق فازی با متلب :
فایلهای شبیه سازی شامل سه فایل با نامهای ga، ga_f و fuzzy_f می باشد. فایل ga حاوی الگوریتم ژنتیک معمولیست که برای بهینه سازی تابع تست زیر مورد استفاده قرار گرفته است.
فایل ga_f حاوی الگوریتم ژنتیک فازی است که برای بهینه سازی همین تابع مورد استفاده قرار گرفته است. و در نهایت فایل fuzzy_f حاوی تابع فازی است که بعنوان تابع کمکی برای تعیین پارامترهای الگوریتم ژنتیک با استفاده از قواعد فازی بکار می رود. لازم به ذکر است جهت بکارگیری قواعد فازی از مقاله ضمیمه شده استفاده شده است. در ادامه روند انجام کار در ضمن تشریح برنامه های ام فایل بیان می گردد.
1- ga.m
در این فایل الگوریتم ژنتیک معمولی برای یافتن مقدار مینیمم تابع مورد اشاره در قبل استفاده شده است. توضیحات این ام فایل به شرح ذیل است.
%Parameters
size=20;
G=100;
codel=10;
umax=2.048;
umin=-2.048;
اندازه جمعیت 20 در نظر گرفته شده و تعداد تکرار الگوریتم ژنتیک 100 می باشد. متغیر codel نشاندهنده تعداد بیتهای متغیرهای مسئله می باشد. چون ژنهای مورد استفاده در الگوریتم ژنتیک بصورت باینری می باشد از این متغیر برای تعیین طول کروموزومها استفاده شده است. دو پارامتر umax و umin هم مقدار حد با لا و پایین متغیر مسئله را نشان می دهد.
E=round(rand(size,2*codel)); %Initial Code
جمعیت اولیه الگوریتم ژنتیک برای دو متغیر مسئله و به تعداد جمعیت مسئله بصورت تصادفی تولید می شود.
%main program
for k=1:1:G
time(k)=k;
for s=1:1:size
m=E(s,:);
y1=0;y2=0;
%uncoding
m1=m(1:1:codel);
for i=1:1:codel
y1=y1+m1(i)*2^(i-1);
end
x1=(umax-umin)*y1/1023+umin;
m2=m(codel+1:1:2*codel);
for i=1:1:codel
y2=y2+m2(i)*2^(i-1);
end
x2=(umax-umin)*y2/1023+umin;
F(s)=100*(x1^2-x2)^2+(1-x1)^2; %Fitness Function
end
شروع حلقه تکرار الگوریتم ژنتیک از اینجا می باشد. در ابتدای حلقه و در هر تکرار مقدار تابع هدف برای همه کروموزوم محاسبه می گردد. با توجه به اینکه مقدار ژنها باینری می باشد در قسمت %unicoding مقدار رشته های مختلف که مربوط به متغیرهای مسئله می باشد از باینری به عدد صحیح تبدیل می گردد. سپس دو متغیر x1 و x2 برای تعیین تابع هدف مسئله مورد استفاده می گردد.
Ji=1./F;
هدف مسئله مینیمم کردن تابع هدف است. از متغیر Ji بعنوان تابع برازندگی استفاده می شود که بصورت عکس تابع هدف F تعریف می گردد.
%———-step 1
BestJ(k)=min(Ji);
fi=F;
[oderfi,indexfi]=sort(fi);%Arranging fi small to bigger
Bestfi=oderfi(size); %Let Bestfi=max(fi)
BestS=E(indexfi(size),:);%Let BestS=E(m),m is the Indexfi belong to max(fi)
bfi(k)=Bestfi;
نکات قابل ذکر:
- شبیه سازی عملکرد الگوریتم ژنتیک تطبیقی با منطق فازی با متلب توسط کارشناسان گروه ۱.۲.۳ پروژه پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.
- فایل های پروژه به صورت کامل به همراه گزارش پس از خرید فایل بلافاصله در اختیار شما قرار خواهد گرفت، و شما به راحتی قادر به استفاده از پروژه خواهید بود.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.