2017-09-13 181 views
0

是否有一个合理的简单方法(在很少的代码行中)请求对Pyomo中的AbstractModel进行灵敏度分析,而不考虑求解器和问题?如果是这样,这个灵敏度分析的结果是可以通过Pyomo或Python对象访问的吗?Pyomo灵敏度分析

我怀疑它可能有一些做的opt.solve(model)代码行(其中optSolverFactory实例,model是一个预先定义的AbstractModel)。

回答

2

Pyomo目前不包含灵敏度分析工具,尽管我们正处于开发灵敏度分析扩展的初始阶段。这个扩展至少要一年才能被发布。有几个可供选择的方案需要进行一些编码工作来实现您的目标。首先,您可以使用gjh“求解器”从您的模型中获取衍生产品。请参阅讨论herehere。您还可以使用SIPOPT获取here示例后的一些敏感信息。最后,使用Sympy在Pyomo中进行了符号分化原型。此功能目前尚未记录,可能会有所变化,但您可以查看如何使用它的示例here

所有这些的一个警告是,他们不会在AbstractModel工作,他们必须适用于ConcreteModel。这是因为抽象模型没有被构造,并且不包含可以提取衍生物的任何表达式。

+1

感谢您提供有用的提示,这可能证明它本身非常有用。我期待着这个新功能,Pyomo一直是一个非常好的工具,从现在起! –