problem in optimization by MATLAB using genetic algorithm

1 回表示 (過去 30 日間)
Ola Belal
Ola Belal 2019 年 11 月 25 日
コメント済み: Ola Belal 2019 年 12 月 5 日
the first picture is the fitness equation code
then I checked the function code and it works, after that I write the following codes in a new script called main
and after that i have save this script, but when I write ' main' in the command window it gives me such errors
can any one help please

採用された回答

Stephan
Stephan 2019 年 11 月 25 日
Change myFitness.m to:
function y = myFitness(x)
s = x(1)
z = x(3)
x = x(2)
y = ...YOUR EQUATION HERE
end
also change this line your main function to:
[x, fval] = ga(...)
Reason:
The optimizers in Matlab wil accept all the single optimization variables only as a vector. To pass additional vectors / values to the objective function see passing extra parameters.
BTW: Please post code intstead of pictures of code.
  3 件のコメント
Stephan
Stephan 2019 年 11 月 26 日
When i run this code it works fine:
%% main function - minimization
clc, clear, close all
FitFcn = @myFitness;
nvars = 3;
[x, fval] = ga(FitFcn,nvars)
%% Fitness function
function y = myFitness(x)
s = x(1);
z = x(3);
x = x(2);
y= -10.40046+(0.355400*s)+(0.544964*x)+(181.61679*z)-(0.002437*s*x)-(0.765260*s*z)-(0.224846*x*z)-(0.000453*(s^2))-(0.006994*(x^2))-(577.65313*(z^2));
end
ends with:
Optimization terminated: maximum number of generations exceeded.
x =
1.0e+03 *
-0.2452 -0.4133 -2.1707
fval =
-2.7229e+09
The message problably is a result of unconstrained optimization - but it works as it should.
Ola Belal
Ola Belal 2019 年 12 月 5 日
Thank you for your help.

サインインしてコメントする。

その他の回答 (1 件)

Philippe Lebel
Philippe Lebel 2019 年 11 月 25 日

カテゴリ

Help Center および File ExchangeGenetic Algorithm についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by