在python中,我可以定义一个函数,比如在x中添加一个函数,如下所示:
def add_one(x):
return x + 1
如何在AMPL语言中定义任意函数?
答案 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。