2017-10-11 15 views
0

私はこのコードを持っている:私はNLPを使用する場合、私は結果を得る

が、それは私に頼まれたとしてQCPを使用して、私は誰もができる結果GAMS - 経済派遣 - QCPとNLP

を取得することはできません理由を見つけるのを手助けしますか?

コード:

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を使用して問題を解決します。

答えて

0

関数 "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))); 

ベスト、 ルッツ

関連する問題