پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

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

هفت سال پیش منتشر شده

تعداد بازدید: 1103

کد پروژه: 43457


شرح پروژه

تمرین 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 برای یک نفر

مهارت ها و تخصص های مورد نیاز


بودجه

5,000 تومان تا 100,000 تومان

مهلت برای انجام

7روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت نه سال پیش

219 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 14%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

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

با اطمینان دستمزد دریافت کنید

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

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار