Even Blinder Optimization

I'm working on a Kalman filter application, with enough unknowns that the tuning process is very much seat of the pants.

I've been getting things close, then using gradient optimization to get better yet. I'm thinking of using a genetic algorithm (the one that's built-in to Scilab), because hey -- genetic = magic, so it's got to work, right?

Has anyone used genetic algorithms for optimization? Did they do any good?

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott
Loading thread data ...

It is strange to hear the things like that from you. By definition, Kalman solution is optimal. How could it be any better? Gradient optimization = LMS algorithm. Where is Kalman in this picture?

Genetic algorithms are intended for the discrete problems with unmanageable number of states. It is an attempt to solve every problem by brute force without thinking. Sometimes it works, but the intellectual approach is always better.

If you have a continuous dependence from your parameters, try optimization from random starting points; this will give the areas of attraction of the extremums.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

The Kalman solution is optimal when your model matches reality well. I'm working on a hybrid unscented/extended Kalman filter that would have Kalman hiding his eyes and muttering imprecations under his breath.

Add to that the fact that I'm using sensors that are made by the customer, and whose performance is not well defined, and GPS data that is both constantly changing has quality metrics that are both ever-changing and unknown.

So my model doesn't match reality very well. Hence, the seat-of-the-pants tuning.

I'm using blind optimization to find the best tuning parameters, to make the Kalman perform as best as it can. Or at least I'm using it to refine the tuning parameters.

The intellectual approach has been breaking down in the face of the complications, but I'd been kind of thinking that I'd go hit the books again and see what I could see.

I've got 26 parameters that I'm trying to optimize. I rarely try to do all of them in one go, but that's certainly getting close to an unmanageable number of states for me!

I may try that, just to map out where the local minima are. For now, I've got the computer chewing away on a genetic algorithm (it's low cost to me -- it only took about 30 minutes to get the wrapper written, so all I'm paying for is computer time).

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott

For the minimization of the continuous function in multidimensions, you may want to look at Powell's algorithm (see Numerical Recipies). If the function is well behaved, the algorithm makes for quadratic convergence to the nearest minimum. It doesn't take much effort from your side to employ the algorithm.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Whoops -- I meant this for the dsp group.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply to
Tim Wescott

Genetic optimization is intended for discrete functions. For the minimization of the continuous function in multidimensions, you may want to look at Powell's algorithm (see Numerical Recipies). If the function is well behaved, the algorithm makes for quadratic convergence to the nearest minimum.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

r application, with enough unknowns that

od?

GAs is the absolutely last resort, when you have tried

*everything* else but have not got anywhere near a usable result.

I'd got to any lengths to *avoid* using a GA. Try something like simulated annealing first. Far simpler, far faster, and far more likely to obtain a useful result.

Rune

Reply to
Rune Allnor

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.