有关UnboundLocalError-非线性优化的问题

时间:2019-06-24 15:29:48

标签: pyomo

我正在尝试使用下面的代码来解决非线性优化问题,并且遇到如上所述的未绑定局部错误。请告知我如何使它工作。

目标是通过同时考虑稀释风险来优化收入。如果我在客观方程式中考虑稀释风险,我会得到一个错误,否则我不会。 ipopt,bonmin和couenne求解器也是如此。

如果删除风险方程式,我看不到错误。我发现术语(Price_New [week-1]-min(Price_New [15:week-1])引起了问题。

我的一位同事可以使用CVXPY创建相同的目标函数,而我无法使用PYOMO。

与模型实例有关吗?它是局部作用域的,因此我看到了错误。要使其全球化或克服它,需要做些什么。

我尝试在目标函数中引入模型实例,变量和约束,然后根据范围将模型局部化。

使用了诸如global_option之类的东西,但由于无法识别目标函数obj_rule而失败了。

错误:

错误:为目标obj生成表达式时,规则失败:     UnboundLocalError:赋值之前引用了局部变量“ p” 错误:从data = None构造组件'obj'失败:UnboundLocalError:     赋值之前引用的本地变量“ p”

0 个答案:

没有答案