Giter Club home page Giter Club logo

dm_optimizer's People

Contributors

tsani avatar

Watchers

 avatar  avatar  avatar

dm_optimizer's Issues

Implement fixed-point "escaping"

When fixed-points are encountered, rather than abort, we should force a target adjustment and press on. Perhaps we should abort if the new target is insufficiently different from the current one.

Improve consistency in number of function evaluations across builtin optimization methods.

DM appears to produce a number of function evaluations comparable to DifferentialEvolution if their number of iterations are adjusted.

DM makes 20k evaluations over 100 iterations whereas DE makes 20k evaluations over 1000 iterations.

The RandomSearch method seems to not care so much about the number of iterations; past about 15 iterations, it consistently produces the same number of function evalutions in one of my tests. Perhaps the MaxIterations option passed to RandomSearch is simply passed on to its local optimizer; past a certain number of iterations required for convergeance, the local search stops. Perhaps adjusting the RandomSearch's SearchPoints option will produce higher numbers of function evaluations and should be prioritized.

Simulated Annealing also produces a very small number of function evaluations, even after boosting MaxIterations considerably. It turns out that if the iterate doesn't move for a certain number of iterations (50 by default), then the optimization is aborted. Hence, Simulated Annealing can get caught in local minima if its step scaling factor isn't large enough.

NelderMead also produces fewer function evaluations, since it presumably converges and then bails out.

In the case of SimulatedAnnealing and NelderMead we can implement a random-restart process that will repeat itself until some maximum number of function evaluations is reached. For RandomSearch, we can play with ways of adjusting MaxIterations and SearchPoints to get a high enough number of function evaluations, and otherwise use a random-restart process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.