سه تمرین متلب-کوله پشتی و فروشنده دوره گرد

تا الان برای این درخواست   5   پیشنهاد توسط فریلنسرهای سایت ارسال شده است.
اگر شما هم نیازمند چنین پروژه ای هستید کافی است عضو شوید و درخواست دهید.


در پارسکدرز کارفرمایان سفارش پروژه می دهند تا توسط متخصصین عضو با قیمتی رقابتی انجام شود.


شرح پروژه:

تمرین 1 :

کد زیر بیانگر یک الگوریتم ژنتیک بصورت نمادین می باشد. خواهشمند است ضمن بررسی کد و اجرای آن در نرم افزار مطلب، در قالب یک گزارش دو الی سه صفحه ای به نحوه عمکرد الگوریتم بپردازید و نمودارهای خروجی را نمایش دهید. در مورد نحوه کارکرد الگوریتم بحث نمایید و چنانچه فکر می کنید تغییری در الگوریتم ارائه شده باعث افزایش کارایی آن می شود ضمن بیان استدلال خود آن تغییر را اعمال و نتیجه را ذکر نمایید.

function [C1, C2]=Crossover(P1, P2)

X1=P1.Chromosome;

X2=P2.Chromosome;

nVar=numel(X1);

c=randi([1 nVar ]);

Y1=[X1(1:c) X2(c+1:end)];

Y2=[X2(1:c) X1(c+1:end)];

C1.Chromosome=Y1;

C2.Chromosome=Y2;

C1.Value=[];

C2.Value=[];

end

function C=Evaluation_Function(Chromosome)

C=sum(Chromosome.^2);

end

function [C]=Mutation(P)

X=P.Chromosome;

nVar=numel(X);

m=randi([1 nVar ]);

Y=X;

if(X(m)==1) Y(m)=0; else Y(m)=1; end;

C.Chromosome=Y;

C.Value=[];

end

clc;

clear;

close all;

nVal=30;

Chromosome_size=[1 nVal];

Population_size=20;

Max_Iteration=50;

pCrossover=0.89;

nCrossover=round(pCrossover*Population_size/2)*2;

pMutation=0.1;

nMutation=round(pMutation*Population_size);

Individual.Chromosome=[];

Individual.Value=[];

Population=repmat(Individual, Population_size, 1);

for i=1:Population_size

Population(i).Chromosome=randi([0 1], Chromosome_size);

Population(i).Value=Evaluation_Function(Population(i).Chromosome);

end;

Best_Solutiont=[];

Best_Value=zeros(Max_Iteration, 1);

Mean_Value=zeros(Max_Iteration, 1);

for i=1:Max_Iteration

Population2=repmat(Individual, nCrossover/2, 2);

for j=1: nCrossover/2

l1=randi([1 Population_size]);

l2=randi([1 Population_size]);

X1=Population(l1);

X2=Population(l2);

[C1 C2]=Crossover(X1, X2);

C1.Value=Evaluation_Function(C1.Chromosome);

C2.Value=Evaluation_Function(C2.Chromosome);

Population2(j, 1)=C1;

Population2(j, 2)=C2;

end;

Population3=repmat(Individual, nMutation, 1);

for j=1:nMutation

l1=randi([1 Population_size]);

X1=Population(l1);

[C1]=Mutation(X1);

C1.Value=Evaluation_Function(C1.Chromosome);

Population3(j, 1)=C1;

end;

Population=[ Population' Population2(:,1)' Population2(:,2)' Population3']';

Values=[Population.Value];

[Values Sorted_index]=sort(Values );

Population=Population(Sorted_index);

Population=Population(1:Population_size);

%BestSol=pop(1);

Best_Value(i)=Population(1).Value;

Mean_Value(i)=mean([Population.Value]);

pause(0.2);

disp(['Iteration ' num2str(i) ' : Best Cost = ' num2str(Best_Value(i)) ' Mean Cost = ' num2str(Mean_Value(i))]);

end;

Best_Solutiont=Population(20).Chromosome

figure;

plot(Best_Value,'r','lineWidth',2);

Hold on;

plot(Mean_Value,'b','lineWidth',2);

Legend('Best Costs','Mean Costs');

Xlabel('Generation');

تمرین 2 :

کد تمرین 1 را با الگوریتم کوله پشتی پیاده سازی کنید؟

تمرین 3 : 

مسئله فروشنده دوره گرد را با استفاده از الگوریتم ژنتیک حل نمایید و کد حاصله را به همراه گزارش دو تا سه صفحه ای از نحوه عملکرد الگوریتم به همراه نمودارهای آن در متلب ارسال دارید؟

1و2و3 برای یک نفر

2 و 3 برای یک نفر


+8500
+25892

پارسکدرز چی هست و چه کارهایی در اون انجام میشه؟

ما رابط تقاضا و اجرا هستیم. در پارسکدرز خریداران درخواست خود را به صورت عمومی یا خصوصی مطرح می کنند تا توسط مجریان انجام شود. هر کاری که بتوان در بستر اینترنت انجامش داد. کارهایی از قبیل:

فعالیت به عنوان مجری یا فریلنسر

اگر توانایی انجام کارهای سفارش داده شده از جانب خریداران رو داری می تونی اقدام به کسب در آمد از پارسکدرز کنی. از تایپ و ترجمه گرفته تا طراحی گرافیکی، برنامه نویسی و پیاده سازی سیستم های بزرگ.

پارسکدرز با استفاده از سیستم مالی گروگذاری وجه امنیت مالی طرفین را تضمین می کند. این به این معنی است که شما پس از اطمینان از انجام صحیح پروژه حتما هزینه انجام کار را دریافت می کنید.

فعالیت به عنوان کارفرما یا خریدار

اگر پروژه ای برای انجام داری و قصد داری انجام اون رو به افراد حرفه ای بسپاری کافیه که در پارسکدرز عضو بشی و درخواست خودت رو ثبت کنی تا مجری ها اون رو ببیند و برات پیشنهاد ارسال کنند.

پارسکدرز علاوه بر داشتن نماد اعتماد دو ستاره با استفاده از سیستم مالی گروگذاری وجه، امنیت مالی طرفین را تضمین می کند. این به این معنی است که شما پس از اطمینان از انجام صحیح پروژه خود وجه را آزاد خواهید کرد. همچنین شما می توانید جهت اطمینان بیشتر از مجری بخواهید تا ضمانتی بابت تخصص خود گرو بگذارد.