Orbiter-Forum  

Go Back   Orbiter-Forum > Blogs > Enjo
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Rate this Entry

Auto-Min TransX' function behind the scenes

Posted 12-08-2013 at 04:33 PM by Enjo
Updated 12-09-2013 at 01:36 PM by Enjo

In my recent , we now have the Auto-Min functionality, available as variables' adjustment setting.

If anybody is interested how the optimal velocities are found - it's thanks to an self invented (reinvented?) algorithm, based on the , or more precisely the , applied for Optimisation task (finding minimum), instead of finding roots, as for the case of raw bisection method.
My implementations of these methods are available below:
Bisection Method
Binary Search Optimiser
They are abstract classes, requiring only a function to perform the search on. The function is a , whom an algorithm provides an argument and checks for the output value from the Box. No analytic function luxury here!
For example:
Direct Ascent root finding
TransX minimum finding function
Algorithm preparation


The basis of these methods - the binary search - is by its nature a fast search algorithm, whose time of calculation goes up with linear increase of required precision. (Remember me making this case here?). It does slow down Orbiter a bit when looking for an optimal solution, but remember that an entire numerical calculation is being performed in each MFD refresh, while you keep the Ejection Date changing. Also another reason is, that for TransX' black box to converge, it's not enough to recalculate the TransX' state once on each optimiser's iteration, but 10 times. I had a similar problem with PEG in the Direct Ascent program, where I have to call the PEG's recalculation function multiple times on each iteration, but 3 times was enough, and PEG is somewhat easier on CPU than TransX. Perhaps some code optimisations could be made there?

Anyway, have fun with your new solution finder!
Views 3677 Comments 0
« Prev     Main     Next »
Total Comments 0

Comments

 

All times are GMT. The time now is 07:27 AM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.