MATLAB Answers


fmincon works but GA won't work

Asked by RAHUL KUMAR on 4 Sep 2019
Latest activity Commented on by 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
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] = ga(Fitnessfun,nvars,[],[],[],[],lb,ub,nonlincon,options)

  1 Comment

I cannot seem to see where you have posted the code for your objective or constraint function?

Sign in to comment.


1 Answer

Answer by Alan Weiss
on 4 Sep 2019
 Accepted Answer

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


Sign in to comment.