我想解决一个用Prolog实现得分函数的问题。在优化函数是用另一种语言定义的情况下,是否可以从MiniZinc脚本调用Prolog (或另一种语言)?
例如,可以很容易地通过MiniZinc Python包从python中调用MiniZinc。有没有一个接口可以做相反的事情(从MiniZinc调用Python )?
发布于 2020-05-06 08:23:50
目前在MiniZinc中没有外部函数接口。因此,目前还不能在MiniZinc中使用其他语言的功能,如Prolog。
与将MiniZinc暴露给一种编程语言不同,将其他语言集成到MiniZinc中可能并不容易。问题在于,MiniZinc实例的所有部分要么需要由编译器解决,要么需要转换为求解器级别的构造。这意味着在另一种语言中计算参数值可能相对容易: MiniZinc可以只调用计算的编译版本。另一方面,变量的转换需要严格的MiniZinc应用程序接口来执行。您可以将这样的接口与如何在C中使用CPython进行比较:它更像是用另一种语言编写MiniZinc模块。
https://stackoverflow.com/questions/61621626
复制相似问题