From J Wiki
Jump to navigation Jump to search
User Guide | Installation | Development | Categories | Git | Build Log

math/deoptim - Differential Evolution algorithm

The math/deoptim addon is a J implementation of the Differential Evolution algorithm developed by Kenneth Price and Rainer Storn.

Differential Evolution is a form of evolutionary algorithm. It is relatively robust, simple and fast. DE finds the global minimum of a multidimensional, multimodal (i.e. exhibiting more than one minimum) function with good probability.

Browse history, source and examples in SVN.

Verbs available

deoptim v Optimize using Differential Evolution
getDEoptim v Calls deoptim but allows 2-col table input & output


Use JAL/Package Manager.

Load deoptim addon with the following line

   load 'math/deoptim'

Examples of use


To see and interact with an example of using the algorithm to derive the coefficients of Chebychev polynomials load the example application shown on the right as follows:

   load 'math/deoptim/demo/eg_deoptim'

To see more (and simpler) examples of usage, open and inspect the test_deoptim.ijs script. The test script is also part of the addon so you can open it locally using one of the following:

   open 'math/deoptim/test/test_deoptim'       NB. except jconsole

The interface to the functions are documented within the deoptim.ijs script itself.

   open 'math/deoptim/deoptim'       NB. except jconsole


Contributed by Ric Sherlock

Suggestions and/or SVN improvements to the addon are welcome.

See Also

  • DE on Wikipedia - Wikipedia description of development of Differential Evolution.
  • DE home page - Differential Evolution home page with code examples in other languages.