如何在AMPL中创建自定义功能?

时间:2016-06-20 01:29:37

标签: function ampl

在python中,我可以定义一个函数,比如在x中添加一个函数,如下所示:

def add_one(x):
    return x + 1

如何在AMPL语言中定义任意函数?

1 个答案:

答案 0 :(得分:1)

this AMPL Google Group post已经回答了这个问题:

  

AMPL语言没有与Fortran子程序相当的功能   C功能。最多,您可以使用"命令"指定一个的执行   另一个AMPL脚本中的循环内的AMPL脚本。

     

你也可以使用AMPL" shell"循环中的命令,以调用可执行文件   已用其他语言编写和编译的函数的二进制文件。   AMPL和外部功能之间的通信必须是通过文件,   虽然。

     

第三种可能性是编写C程序   可以编译成可执行的二进制文件 - Windows dll或Unix共享   库 - 可以作为"用户定义的函数访问"在AMPL内。该   用户定义函数的最详细描述可以在" Hooking中找到   你的解决方案是AMPL",www.ampl.com/REFS/abstracts.html#hooking2,18-19页。   在后面的页面中还有一些关于此工具的进一步评论   对www.netlib.org/ampl/solvers/examples上提供的示例文件的引用。   Bob提供了另一个实现用户定义函数的例子   范德贝在www.sor.princeton.edu/~rvdb/ampl/nlmodels。