LocalSolver快速入门指南(连载二十九) ---外部函数实例LSP

外部函数的实例 LSP建模语言

在本例中,我们将反余弦函数(也称为arccosine)应用于我们的模型,并试图基于这个新的运算符最小化一个简单的表达式。

LSP建模语言:

LSP中,虚拟机为您完成了大部分工作。实际上,任何函数都可以通过特殊的方法intexteralfunctiondoubleExternalFunction转换为新的操作符(取决于函数的返回类型)

此外,O_Call表达式中提供的参数只是作为LSP函数的参数公开。因此,在下面的示例中,参数x + y的值被简单地传递给了lsAcos函数。

你可以通过处理函数表达式的字段上下文来获取函数的上下文,如下代码:

use math;
 
 
function model() {
     
     
    x <- float(-0.5, 0.5);
    y <- float(-0.5, 0.5);
    func <- doubleExternalFunction(lsAcos);
    func.context.lowerBound = 0.0;
    func.context.upperBound = math.pi;
    func.context.nanable = true;
    minimize call(func, x + y);
    constraint x + 3*y >= 0.75;
}
 
 
function lsAcos(val) {
     
     
    // math.acos is a function provided in the math module.
    return math.acos(val);
}

下一章:外部函数的示例:PYTHON代码 。Local Solver超大规模数学求解器: 无锡迅合信息科技有限公司LocalSolver中国独家代理商 2020-2023。

Guess you like

Origin blog.csdn.net/qq_31243247/article/details/121024369