Genetic Algorithm using ga command is giving solutions out of defined bounds.

2 views (last 30 days)
I am using ga command to find optimal values for a pd controller for a plant. I have defined the contraints an dthe lower and upper bounds, however each time it is giving me negative solutions for Kd(Second parameter of PD controller). Kindly help.
clear all, close all, clc
dt = 0.001;
PopSize = 25;
MaxGenerations = 10;
s = tf('s');
G = 1/ (s^2 + 2.813*s + 1.768);
lb=1;
ub=100;
options = optimoptions(@ga,'PopulationSize',PopSize,'MaxGenerations',MaxGenerations);
[x,fval] = ga(@(K)pidtest1(G,dt,K),2,-eye(2),zeros(2,1),[],[],lb,ub,[],options);

Accepted Answer

Matt J
Matt J on 4 Mar 2022
[x,fval] = ga(@(K)pidtest1(G,dt,K),2,[],[],[],[],[1,1],[100,100],[],options);

More Answers (0)

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!