# fmincon works but GA won't work

4 views (last 30 days)
RAHUL KUMAR on 4 Sep 2019
Commented: Walter Roberson on 4 Sep 2019
when i use fmincon it gives some optimized result but when i use GA it shows some like ''constraint not satisfied''.In both case i use same constraint and bounds.
why GA won't work on my same program
%xo=[0.2,0.015,100]
nvars=3;
A=[];
b=[];
Aeq=[];
beq=[];
lb=[0.1,0.012,10]; %lower bound
ub=[0.6,0.080,150]; %upper bound
nonlincon = @(x)constriant_press(x); % calling constraint function
Fitnessfun =@(x)objective_function(x); %calling objective function
options = optimoptions(@fmincon,'Display','iter-detailed','Algorithm','sqp','MaxFunctionEvaluations',5000,'TolFun',1e-5)
%options = optimset('Display','iter','TolFun',1e-6)
%options = optimset('PlotFcns',{@optimplotfval,@optimplotx});
%options = optimset('PlotFcns',{@optimplot
%[X,fval]=fmincon(Fitnessfun,xo,[],[],[],[],lb,ub,nonlincon,options)
[X,fval] = ga(Fitnessfun,nvars,[],[],[],[],lb,ub,nonlincon,options)

#### 1 Comment

Walter Roberson on 4 Sep 2019
I cannot seem to see where you have posted the code for your objective or constraint function?

Alan Weiss on 4 Sep 2019
In general, ga is not as reliable a solver as fmincon. So if you have smooth objective and constraints, you should use fmincon. See Table for Choosing a Solver.
Alan Weiss
MATLAB mathematical toolbox documentation