Кто-нибудь видел симплексную библиотеку для javascript / nodejs - PullRequest
5 голосов
/ 22 июня 2011

Я написал много своих сценариев в NodeJ, но мне нужно использовать что-то вроде библиотек GLPK для обработки некоторых оптимизаций в моих сценариях.Кто-нибудь слышал о драйвере JavaScript?Интересно, как трудно было бы перенести монету в библиотеку V8 ... возможно, выше моей зарплаты.

Ответы [ 4 ]

6 голосов
/ 21 ноября 2012

Библиотеки Javascript Simplex

YASMIJ Пример:

var input = {
    type: "maximize",
    objective : "x1 + 2x2 - x3",
    constraints : [
        "2x1 + x2 + x3 <= 14",
        "4x1 + 2x2 + 3x3 <= 28",
        "2x1 + 5x2 + 5x3 <= 30"
    ]
};
YASMIJ.solve( input ).toString();
// returns
"{"result":{"slack1":0,"slack2":0,"slack3":0,"x1":5,"x2":4,"x3":0,"z":13}}"
4 голосов
/ 27 августа 2013

Не уверен, что это то, что ищет ОП, но я работаю над чем-то здесь , которое может работать.Вы могли бы использовать это так:

var solver = new Solver,
    results,
    model = {
    optimize: "profit",
    opType: "max",
    constraints: {
        "Costa Rican" : {max: 200},
        "Etheopian": {max: 330}
    },
    variables: {
        "Yusip": {"Costa Rican" : 0.5, "Etheopian": 0.5, profit: 3.5},
        "Exotic": {"Costa Rican" : 0.25, "Etheopian": 0.75, profit: 4}
    }
};

results = solver.solve(model);
console.log(results);

Где результаты в итоге будут:

{feasible: true, Yusip: 270, Exotic: 260, result: 1985}

Это, вероятно, не самый быстрый решатель в мире, но его достаточно легко работать с.

3 голосов
/ 22 сентября 2011

Не знаю, поможет ли это, но, пожалуйста, взгляните на numericjs.com . Я работаю над библиотекой числового анализа javascript, которая имеет элементарную реализацию алгоритма линейного программирования.

1 голос
/ 31 августа 2018

GLPK фактически был портирован на JavaScript с использованием emScripten .В результате js будет уменьшен до 1 МБ, а сжатый - 230 КБ.

По состоянию на сегодня август 2018

1) Последнее совершено в декабре 2015: https://github.com/hgourvest/node-glpk

2) Последнее совершено в декабре 2017: https://github.com/jvail/glpk.js

Попробуйтеих!

...