MATLAB Answers


Optimizing FLC with GA

Asked by Michael
on 11 Apr 2012
Latest activity Edited by Seth DeLand
on 22 Aug 2014

I was hoping somebody would be kind enough to point me in the right direction...

I have a Fuzzy Logic Controller that I've programmed and simulated with an m-script file. I need to optimize it using the Genetic Algorithms toolbox. This is my first time working with GA's and I am stumped.

I've searched on-line, read articles, journals, and even a thesis about the very topic however nothing quite answers my question.

I primarily need to know where the fitness function comes from (for FLCs) and how I program the membership functions into the GA.

I don't have any code to display as I can't even get a GA started but any advise or documentation would be greatly appreciated.



No products are associated with this question.

1 Answer

Answer by Seth DeLand
on 11 Apr 2012
Edited by Seth DeLand
on 22 Aug 2014

Hi Michael,

Here's an example for getting started with the GA. My guess is that you're trying to find the optimal parameters for your FLC that result in the system's response being as close as possible to a target response. If that's the case, you will need to write a fitness function that computes the difference between the response of your system and the desired response.

The input to the fitness function will be the vector of the different parameters for your FLC. The fitness function will then simulate the system with these parameters, and calculate how close the simulation was to the desired response. There's an example along those lines in this video, where the goal is to find the set of parameters that minimizes the difference between the simulated response and the desired response.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!