تاپيک: سوال ژنتیک
نمايش پست تنها
قديمي ۰۴-۱۱-۱۳۹۰, ۰۱:۴۲ بعد از ظهر   #2 (لینک دائم)
HojjatJafary Male
عضو فوق فعال
 
آواتار HojjatJafary
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: Teh
پست ها: 31
تشكرها: 1
29 تشكر در 14 پست
My Mood: Nafaskesh
پيش فرض بیشینه کردن تابع با الگوریتم ژنتیک

سلام
اصولا از این که جواب رو حاضر و آماده به کسی بدم نفرت دارم. ولی گفتم شاید این موضوع بعدا به دردم بخوره بره همین یه سرچ کوچولو زدم.( راجع به این سوال شما هیچ اطلاعی نداشتم)
چند نکته:
۱- چرا نگفتی کدش رو با چه زبونی می خوایی؟
۲- منظورت از این که a =1-2 یعنی چی؟ یعنی این بازه اعداد حقیقی رو شامل می شه یا فقط اعداد صحیح؟
چون اگه اعداد صحیح باشه کلا ۲۵۲ حالت هست و به راحتی می شه جواب رو بدست آورد.

این هم کد MATLAB:


function GaMaximization

clc; clear;

nvars = 3; % Number of variables
LB = [1 24 7]; % Lower bound
UB = [2 32 20]; % Upper bound

x = ga(@FitnessFunction, nvars, [], [], [], [], LB, UB);

fprintf( 'a = %f, b = %f, c = %f .\n', x(1), x(2), x(3) );

end

function y = FitnessFunction(x)
y = 102.44 * (x(1)^0.56) * (x(2)^-0.38) * (x(3)^0.09);
end


Optimization terminated: average change in the fitness value less than options.TolFun.
a = 1.000000, b = 30.883943, c = 7.000000 .
]
HojjatJafary آفلاين است   پاسخ با نقل قول
از HojjatJafary تشكر كرده است:
mr.sina (۰۵-۲۴-۱۳۹۰)