simulated-annealing

    1.0.2 • Public • Published

    Simulated Annealing for node.js

    NPM version

    Simulated Annealing optimization algorithm for node.js.

    Simulated annealing searching for a maximum

    Install

    npm install --save simulated-annealing

    Usage

    var simulatedAnnealing = require('simulated-annealing');
    var result = simulatedAnnealing(params);

    Params

    • initialState - first state value
    • tempMax - initial temperature
    • tempMin - min temperature when algorithm will stop
    • newState - function for generating new state from current state newState(state)
    • getTemp - function for generating new temperature based on previous temperature getTemp(temperature)
    • getEnergy - function for calculating energy for state getEnergy(state) (less is better)

    Example

    Find solution for x^2=16

    var simulatedAnnealing = require('simulated-annealing');
     
    function getEnergy(v) {
        return Math.abs(* v - 16);
    }
     
    function newState(x) {
        return x + (Math.random() - 0.5);
    }
     
    // linear temperature decreasing
    function getTemp(prevTemperature) {
        return prevTemperature - 0.001;
    }
     
    var result = simulatedAnnealing({
        initialState: Math.random() * 16,
        tempMax: 15,
        tempMin: 0.001,
        newState: newState,
        getTemp: getTemp,
        getEnergy: getEnergy,
    });
     

    Testing

    npm test

    Install

    npm i simulated-annealing

    DownloadsWeekly Downloads

    44

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    7.49 kB

    Total Files

    6

    Last publish

    Collaborators

    • saveryanov