主要的商业代数建模语言 (AML),如 GAMS 或 AMPL,有哪些开源 AML,如 Pyomo 或 JuMP,还没有(显然除了用户群和已建立模型的可用性)?
问问题
217 次
1 回答
1
用通用语言编写的建模库通常缺乏的 AMPL 的一个特征是声明性模型和数据之间的明确分离。一些系统(例如 Pyomo)试图以不同程度的成功来模仿它,但通常受到它们所用语言的限制。
例如,AMPL 目标
minimize OBJ: sum{j in J} c[j] * y[j];
可以用 Pyomo 写成
def obj_expression(model):
return summation(model.c, model.y)
model.OBJ = Objective(rule=obj_expression)
基于 AMPL 子集的 GNU MathProg 是一种没有这种限制的开源 AML。
于 2017-02-05T20:00:05.163 回答