我正在研究 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 文件中看起来并不相同。
谢谢!
答案 0 :(得分:1)
您在此处看到的是每个变量以其当前级别值计算的偏导数。这来自GAMS documentation:
<块引用>非线性方程的处理方式不同。如果方程列表中变量的系数用括号括起来,则相应的约束是非线性的,系数的值取决于一个或多个变量的活动水平。该列表不是代数的,但显示了每个变量在其当前水平值下评估的偏导数。