GAMS - Экономическая диспетчеризация - QCP и NLP
У меня есть этот код:
Если я использую НЛП, я получаю результаты, но использую QCP, как меня просили, я не могу получить результаты
Кто-нибудь может помочь мне найти причину?
код:
sets g generators / P1*P5 /
properties generator properties / a,b,c,max,min /
cc(properties) cost categories / a,b,c /
table data(g,properties) generator cost characteristics and limits
a b c max min
P1 0.19 58.3 1800 155 35
P2 0.13 39.3 3250 195 60
P3 0.08 11.5 4600 165 95
P4 0.07 42.6 5100 305 170
P5 0.14 8.9 3850 280 130
parameter exp(cc) exponent for cost function / a 2, b 1, c 0 /;
scalar demand total power demand in MW / 730 / ;
variables
p(g) power generation level in MW
cost total generation cost - the objective function ;
positive variables p;
p.up(g) = data(g,"max") ;
p.lo(g) = data(g,"min") ;
equations
Q_Eq1 total cost calculation
Q_Eq2 constraint - total generation must equal demand ;
Q_Eq1 .. cost =e= sum((g,cc), data(g,cc)*power(p(g),exp(cc)));
Q_Eq2 .. sum(g,p(g)) =g= demand ;
model problem /all/ ;
решить проблему с помощью QCP, минимизируя затраты;
1 ответ
Похоже, что функция "power" в общем случае рассматривается как нелинейная без анализа значения "exp", поэтому она не допускается для QCP. Вы можете переформулировать Q_Eq1 следующим образом, чтобы он работал:
Q_Eq1 .. cost =e= sum((g,cc), data(g,cc)*(1 $(exp(cc)=0) +
p(g) $(exp(cc)=1) +
sqr(p(g))$(exp(cc)=2)));
Бест, Лутц