سلام
اصولا از این که جواب رو حاضر و آماده به کسی بدم نفرت دارم. ولی گفتم شاید این موضوع بعدا به دردم بخوره بره همین یه سرچ کوچولو زدم.( راجع به این سوال شما هیچ اطلاعی نداشتم)
چند نکته:
۱- چرا نگفتی کدش رو با چه زبونی می خوایی؟
۲- منظورت از این که 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 .
]