필터 지우기
필터 지우기

Using simulink as fitness function for GA

조회 수: 4 (최근 30일)
Hala
Hala 2012년 6월 16일
댓글: Sakshi Bhonsle 2019년 5월 2일
Hello, I built a PI fuzzy control system using simulink with 3 gains that need to be tuned. I want to tune these gains automatically using genetic algorithm based on minimizing the mean square error. I have a m-file that runs the GA and calls a fitness function in another m-file. The fitness function m-file receives the gains as suggetsed population from GA and it is supposed to run the simulink block after sending the gains to it. The problem is that how to send the population (gains) during the run of GA to simulink and run the simulink block every generation???
FYI I used the sim command to run simulink and to workspace block to get the system output to the m-file. I tried using set_param,assignin commands and it didn't work (I knew because the output gains I got are not optimal for the controller)...
Please help me it's for my master thesis and I need this to finish...
  댓글 수: 2
ashish
ashish 2012년 11월 7일
dear hala richard crozier i hv same problem if u read it kindly me also ashish19802005@gmail.com
Sakshi Bhonsle
Sakshi Bhonsle 2019년 5월 2일
Kindly mail me if your solution for the above mentioned solution was found : b.sakshi93@gmail.com

댓글을 달려면 로그인하십시오.

답변 (4개)

Richard Crozier
Richard Crozier 2012년 6월 16일

Muruganandham Subramanian
Muruganandham Subramanian 2012년 11월 7일
편집: Walter Roberson 2012년 11월 8일
Hi,
FYI,Genetic algorithm is a population based method, probably the gains for PID controller(i.e, Proportional gain, Integral gain, Derivative gain) are to be splitted into range b/w mininum to maximum (for e.g If you know the PID gains range approximately).For this you can use 'unifrnd' command.then by looping method, for every data of PID gains(i.e depends on population), give as i/p to .mdl, then by GA algorithm, you can choose best results

Sangeetha  Elumalai
Sangeetha Elumalai 2016년 2월 10일
I also want to tune PID controller in simulink by using GA... if anyone knows, pls help me
  댓글 수: 2
Hassan Yousef
Hassan Yousef 2018년 1월 4일
me also
Zhengyan Mao
Zhengyan Mao 2018년 1월 26일
Anyone of you figures this out?

댓글을 달려면 로그인하십시오.


Stephan Kurzawe
Stephan Kurzawe 2018년 5월 11일
Hej, I ran into the same issue today. On a matlab example for lsq-nonlin I found the solution:
You just have to add 'SrcWorkspace','Current' into your sim command. So that it looks:
sim('model.slx','SrcWorkspace','Current');
Hope it helps. Stephan

카테고리

Help CenterFile Exchange에서 PID Controller Tuning에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by