GAMS 转换的非线性目标函数看起来与定义的目标不同

时间:2021-04-21 07:00:47

标签: pyomo nonlinear-optimization mixed-integer-programming gams-math

我正在研究 GAMS 库中 MINLP 模型批次的 batchdes.lst 文件。目标函数为

定义目标函数obj.. cost =g= sum(j, alpha(j)*(exp(n(j) + beta(j)*v(j)))); 但是,在 .lst 文件中的方程列表中显示为 ---- obj =G= 目标函数定义

obj.. - (25141.1498186984)*v(mixer) - (64131.2769053431)*v(reactor) - (49066.7923833869)*v(centrifuge) - (41901.9163364)-(41901.9163)*85065064n(4) ) - (81777.9873056449)*n(离心机)+成本=G=0; (LHS = -230565.365179047, INFES = 230565.365179047 ****)

这里应用了什么样的操作? exp() 如何翻译?这是 GAMS 的功能还是选择的求解器?

我为 Pyomo 实现了相同的模型,并使用来自 GAMS 的相同求解器进行求解,但是 Obj 在 .lst 文件中看起来并不相同。

谢谢!

1 个答案:

答案 0 :(得分:1)

您在此处看到的是每个变量以其当前级别值计算的偏导数。这来自GAMS documentation

<块引用>

非线性方程的处理方式不同。如果方程列表中变量的系数用括号括起来,则相应的约束是非线性的,系数的值取决于一个或多个变量的活动水平。该列表不是代数的,但显示了每个变量在其当前水平值下评估的偏导数。

相关问题