|
|
|
|
LOCAL SOLVER数学求解器两大新功能-JSON模块 、Modeler API。
随着LocalSolver 10.0的发布,我们想要推进的一个关键特性就是将LSP程序集成到完全生产性的应用程序中。JSON模块和Modeler API都是为了方便LSP程序对内对外的数据处理而引入的。在本文中,我们将通过一些小示例来展示这些特性。如果您不熟悉LSP,我们建议您查看LOCAL SOLVER的语言参考。
让我们以示例教程中的背包LSP程序为例,了解一下这些特性是如何帮助我们的。
// 背包问题的LSP模型
function model() {
// 0-1 decisions
x[i in 0..nbItems-1] <- bool();
// weight constraint
knapsackWeight <- sum[i in 0..nbItems-1](weights[i] * x[i]);
constraint knapsackWeight <= knapsackBound;
// maximize value
knapsackValue <- sum[i in 0..nbItems-1](prices[i] * x[i]);
maximize knapsackValue;
}
JSON模块
新添加的JSON模块允许将JSON数据解析为LSP值。它可以方便地读取某个问题的输入数据,然后导出其解决方案。看看我们的程序,我们可以看到model函数需要初始化一些变量才能执行。具体来说,需要设置变量nbItems、weights、prices和knapsackBound