# problem in optimization by MATLAB using genetic algorithm

2 visualizzazioni (ultimi 30 giorni)
Ola Belal il 25 Nov 2019
Commentato: Ola Belal il 5 Dic 2019
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
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Stephan il 25 Nov 2019
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 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
Stephan il 26 Nov 2019
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 il 5 Dic 2019
Thank you for your help.

Accedi per commentare.

### Più risposte (1)

Philippe Lebel il 25 Nov 2019
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Ola Belal il 5 Dic 2019
Thanks

Accedi per commentare.

### Categorie

Scopri di più su Genetic Algorithm in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by