如何在浏览器中本地使用 jsLPSolver 库?

How can I use the jsLPSolver library locally in a browser?

我想在浏览器中本地使用 jsLPSolver 库,而不是通过 Node.js,用于 运行 线性规划优化。

在 README 的 'Install' 部分之后,我从 unpkg.com.

加载 solver.js 脚本

我尝试了 README 的“使用”部分中的确切示例,但出现错误 Uncaught ReferenceError: require is not defined。看起来 require.js 库可能会为那些不使用 Node.js 的人提供解决方法。但后来我发现 JWally 的例子 here,没有使用 require()。但是,当我在下面显示的脚本中 运行 时,我在控制台中收到错误 Uncaught ReferenceError: Solver is not defined

如何解决这个问题,以便我可以在浏览器中 运行 jsLPSolver?感觉我可能遗漏了一些基本的东西,这不是 jsLPSolver 特有的。

<script src="https://unpkg.com/javascript-lp-solver/prod/solver.js"></script>
<script>
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);
</script>

<script src="https://unpkg.com/javascript-lp-solver/prod/solver.js"></script>
<script>
  const 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
      },
    },
  };

  // We don't need to declare 'solver', it is already exported via the script we load
  const results = solver.Solve(model); // Note the capital '.Solve'
  console.log("Results", results);
</script>


请试试这个。我相信您的困惑来自使用通过 Node.js 解释的示例的文档。您无需声明求解器变量,它已通过导入的脚本为您导出。