Results 1 to 5 of 5

Thread: optimization algorithm

  1. #1

    Thread Starter
    PowerPoster
    Join Date
    Feb 2001
    Location
    Crossroads
    Posts
    3,046

    optimization algorithm

    I need an API that would allow me to find the inputs to any function that minimize (or maximize) that particular function. It would have to be used as follows:

    1) initial function inputs are a guess (this is my software)
    2) function is calculated (this is my software)
    3) result from #2 above is fed to optimization engine that suggests the next set of inputs to try (this is the software I need)
    4) loop back to #2 above. (this is my software)


    Does anyone know of any vendors for such software?

  2. #2
    Member Jared's Avatar
    Join Date
    Nov 2002
    Posts
    58
    Well, I am just throwing some ideas in.... maybe it will take you somewhere, maybe not.....

    Instead of Vendor or Third Party solutions, implement your own:

    If you're domain, or input into the function is known, and is not to incredibly large, you could start at the lowest value X which gives the function's output Y. Depending on the size of your domain, if it is rather small, and the computation won't take to long, run all the X's through your function, then take the max/min of Y. If you're domain is large, then you could use algebraic methods to find "turning points", then use that as narrowed domains, to home in on all local max and mins, then compare those.

    Anyway, just some abstract ways at approaching the problem, as I understand it.....
    "It is preoccupation with possessions, more than anything else, that prevents us from living freely and nobly." -Bertrand Russell

  3. #3

    Thread Starter
    PowerPoster
    Join Date
    Feb 2001
    Location
    Crossroads
    Posts
    3,046
    actually the domain is huge, the function isnt continuous, and there are many local maximums and local minimums (i want the global minimum of course) making this a nasty problem better suited to those with abilities far greater than mine. This is the reason I am looking for a third party solution.

    Thanks for the input though!

  4. #4
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    40,104
    Actually, this doesn't sound all that difficult. Look into a steepest climb algorithm. I would suggest an evolutionary algorithm, but from what you said, I thought the steepest climb might get you there faster, you've almost done it already.

    Guessed at set of inputs
    alter each one in turn looking to see whether you move closer to your goal.
    Take the one with the most change as your new set of inputs.
    Repeat until no further optimization can be done.

    Is that along the right lines?

  5. #5
    Fanatic Member Matt_T_hat's Avatar
    Join Date
    Dec 2001
    Location
    '76 Male Body Evil-Errors: 666
    Posts
    774
    Perhaps I have misunderstood the problem but would not a method not disimiler to a binary chop work well.

    For those who don't know the binary chop (shame on you as it is very fast) you find the mid point of the range and ask higher(T/F) given 22K possibilities you now have 11K, 5.5K, 2.75K, in just 3 tries we have illiminated 19250 of the 22000 possibilities. repeat untill fully satisfied.
    ?
    'What's this bit for anyway?
    For Jono

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width