Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ml-direct

mljs7kMIT1.0.0TypeScript support: included

Direct - DIviding RECTangles optimization algorithm

readme

ml-direct

NPM version build status npm download

Direct - DIviding RECTangles algorithm.

The algorithm is intended to minimize real valued multivariate scalar fields over a hyper-rectangular region of N, theoretically the only prerequisite to achieve convergence is that the function must be continuous in the domain or at least continuous over a neighborhood of the global minimum.

Advanced example

import direct from 'ml-direct';

const options = {
  iterations: 50,
};

const lowerBoundaries = [-1, -1.5];
const upperBoundaries = [2, 6];

const predicted = direct(griewank, lowerBoundaries, upperBoundaries, options);

function griewank(x) {
  let d = x.length;
  let s = 0;
  let p = 1;
  for (let i = 0; i < d; i++) {
    s += Math.pow(x[i], 2) / Math.sqrt(4000);
    p *= Math.cos(x[i] / Math.sqrt(i + 1));
  }
  let result = s - p + 1;
  return result;
}

// predicted.minFunctionValue = 0;
// predicted.optima[0] = [0, 0]; This are the points where the function has minimum value

A tool for global optimization of real valued functions .

Installation

$ npm i ml-direct

Usage

import direct from 'ml-direct';

const options = {
  iterations: 25,
};

// for x we explore values between -5 and 4
// for y we explore values between -2 and 3

const lowerBoundaries = [-5, -2];
const upperBoundaries = [4, 3];

const quadratic = function (parameters) {
  let [x, y] = parameters;
  return Math.pow(x, 2) + Math.pow(y, 2);
};

const predicted = direct(quadratic, lowerBoundaries, upperBoundaries, options);

// predicted.minFunctionValue = 0;
// predicted.optima[0] = [0, 0];

API Documentation

References

  • Jones, D. R., Perttunen, C. D., & Stuckman, B. E. (1993). Lipschitzian optimization without the Lipschitz constant. Journal of optimization Theory and Applications, 79(1), 157-181.

  • Björkman, M., & Holmström, K. (1999). Global optimization using the DIRECT algorithm in Matlab.

  • Preparata, F. P., & Shamos, M. I. (2012). Computational geometry: an introduction. Springer Science & Business Media.

License

MIT

changelog

Changelog

1.0.0 (2024-03-07)

release-as

Bug Fixes

0.1.3 (2023-03-24)

Bug Fixes

  • rollup extension for new version (d3cea4c)

0.1.2 (2023-03-24)

Bug Fixes

0.1.1 (2022-09-22)

Bug Fixes

0.1.0 (2020-11-06)

Features

Bug Fixes

  • add griewank in the README (92a1023)
  • antiLowerConvexHull testcase close #15 (0b55f74)
  • finding minimum indices function (07ae913)

0.0.1 (2020-10-31)

Features

  • add build script for lactame release (7d26933)
  • first release (f2b3ead)

Bug Fixes