GAMS中fx的位置 固定变量数值
问题描述
有三个节点bus,分别命名为1,2,3
在计算直流潮流时,需要确定这个三个节点的相角angle(bus),相角的取值范围为-π~π
将3节点设置为参考节点,则angle(‘3’)=0。
解决方法
fx,用于固定一个变量的值
将base_bus设置为bus的子集
Parameters
bus /1,2,3/
base_bus(bus) /3/
;
变量取值范围写为:
angle.up(bus) = pi;
angle.lo(bus) = -pi;
angle.V(base_base) = 0;
需要注意的是,angle.V必须在后面,不能在前面:
angle.V(base_base) = 0;
angle.up(bus) = pi;
angle.lo(bus) = -pi;
结果
对应上面第一种代码:
对应上面第二种代码:
虽然这两种情况,目标函数的值并不会不同。(因为直流潮流计算相角差,两种情况下相角差是相同的)
但可能只是因为这个问题自身的特殊性,在其他问题中可能就有不同了,需要特别注意。