From: Santiago Remolina <santiagoremolina@ho...>  20080315 14:14:26
Attachments:
Message as HTML

Hello GPLAB users, This semester I am working on by bachelor's thesis on the Hamburg University of Technology. My project is to find a stabilizing and swing up controller for a double inverted pendulum, which consists basically on a pendulum hanging from a rotating arm using Genetic Programming. After researching a little, I found out that GPLAB is the best or maybe the only matlab tool to use GP. Unfortunately after two months, in which most of my time was spent in getting to understand GPLAB and to know the different options, I haven't been able to find any usable controller. I have tried changing almos every parameter, and even using some "techniques" that I have come up with. Like changing the methods used in the sampling, elitism and expected parameters. I have also tried combining the best individuals of different runs, and starting GPLAB with them (to have a larger variety in my population). I changed the way GPLAB calculates the fitness of an individual, by integrating the error signal of the two angles describing the position of the arm and pedulum that a simulink model gives as an output. The definition of the fitness function has been one of the biggest problems that I have had. Since I have been giving unstable functions a very bad fitness (e.a. 10^10), GPLAB thinks that controllers whose final value is zero ( cos(u[1]  cos(u[1]) ), and therefore don't make my system unstable, are good controllers. This problem not only happens with "zero" controllers but also with controller whose output isvery small, and therefore act almost like "zero" controllers. Anyway, my question would be if anyone has also used GPLAB interacting with simulink, if they had any recomendations. And if anyone had some suggestions of how I could play with the different parameters that GPLAB offers to get better results, or other techniques. I have many other questions but these would be the ones at the top of my list, so I hope I could explain the problem that I have, and would appreciate it if I got any answers. Santiago _________________________________________________________________ Shed those extra pounds with MSN and The Biggest Loser! http://biggestloser.msn.com/ 
From: Sara Silva <sara@de...>  20080317 16:29:52

Dear Santiago, I read you email twice and I still don't understand one thing: are these problems specifically related to GPLAB, or is it GP in general? It seems to me that the fitness function may be what's preventing GPLAB from finding usable solutions. I am not familiar with the pendulum application, but if you give a high fitness (10^10) to unacceptable (unstable) solutions, then you must guarantee that a low fitness is only given to good solutions. The fitness function is what drives the evolution  it tells the search process where to go. If you believe your problems are not directly related to GPLAB, but to the search process in general, may I suggest you ask for suggestions in the GP mailing list: http://tech.groups.yahoo.com/group/genetic_programming/ Having said so, I may also suggest that you try several different depth/size limits for bloat control in GPLAB. I believe you may already be familiar with them. I wonder if you are using very low limits that are not allowing GP to move to better searching areas? Just an idea. I am not familiar with simulink or your application, so there is not much else I can do to help... Good luck! Sara Santiago Remolina wrote: > Hello GPLAB users, > > This semester I am working on by bachelor's thesis on the Hamburg > University of Technology. My project is to find a stabilizing and swing > up controller for a double inverted pendulum, which consists basically > on a pendulum hanging from a rotating arm using Genetic Programming. > After researching a little, I found out that GPLAB is the best or maybe > the only matlab tool to use GP. Unfortunately after two months, in which > most of my time was spent in getting to understand GPLAB and to know the > different options, I haven't been able to find any usable controller. I > have tried changing almos every parameter, and even using some > "techniques" that I have come up with. Like changing the methods used in > the sampling, elitism and expected parameters. I have also tried > combining the best individuals of different runs, and starting GPLAB > with them (to have a larger variety in my population). I changed the way > GPLAB calculates the fitness of an individual, by integrating the error > signal of the two angles describing the position of the arm and pedulum > that a simulink model gives as an output. The definition of the fitness > function has been one of the biggest problems that I have had. Since I > have been giving unstable functions a very bad fitness (e.a. 10^10), > GPLAB thinks that controllers whose final value is zero ( cos(u[1]  > cos(u[1]) ), and therefore don't make my system unstable, are good > controllers. This problem not only happens with "zero" controllers but > also with controller whose output isvery small, and therefore act almost > like "zero" controllers. > > Anyway, my question would be if anyone has also used GPLAB interacting > with simulink, if they had any recomendations. And if anyone had some > suggestions of how I could play with the different parameters that > GPLAB offers to get better results, or other techniques. I have many > other questions but these would be the ones at the top of my list, so I > hope I could explain the problem that I have, and would appreciate it if > I got any answers. > > Santiago > >  > Shed those extra pounds with MSN and The Biggest Loser! Learn more. > <http://biggestloser.msn.com/>; > > >  > >  > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > >  > > _______________________________________________ > gplabusers mailing list > gplabusers@... > https://lists.sourceforge.net/lists/listinfo/gplabusers 