Problem in my model solved by DICOPT

Hi, my model is listed below, it’s a MINLP problem of Unit Commitment
for Hydro plants. First, I had the problem: “52 Endogenous $-control
operations not allowed”. Then I discovered that I couldn’t put the
variable n(t) in the dollar condition. So I decided to take the
activity level of this variable, using n.l(t) in the dollar condition.
But even with this change, the model still not uses the value of this
variable, as I needed. I don’t know what to do, please help.


$title Alocação Ótima de Unidades Geradoras Hidrelétricas
$Ontext
Formulação e solução do problema de alocação ótima de unidades
geradoras
hidrelétricas (Unit Commitment de UHE’s) na programação da operação
energética
diária
$Offtext

sets t intervalos de tempo /14/
h indices das unidades hidrelétricas /1
4/
perd coeficientes função de perdas /a0,a1,a2/

table coefperd(h,perd)
a0 a1 a2
1 126.290609 -8.466142e-1 1.425030e-3
2 252.85 -8.514e-1 7.2605e-4
3 383.08 -8.6580e-1 5.00268e-4
4 521.42 -8.9244e-1 3.94286e-4

parameter demanda(t) carga do sistema(MW) /1 1000, 2 1100, 3 1300, 4
1000/ ;
parameter pexp(perd) expoentes do vetor auxiliar /a0 0, a1 1, a2
2/ ;
scalar meta meta energética da usina hidrel. p as 4h(MWh) /
4400/;
scalar custopp custo de paradas e partidas /
3/ ;
scalar custoperd custo das perdas /
25/ ;

variables
status(h,t) status ligado ou desligado da unidade geradora
hidrelétrica
n(t) numero de unidades geradoras em operação
ph(h,t) potencia gerada por cada unidade geradora hidrelétrica
pht(t) potencia gerada pela usina hidrelétrica
vp(perd,t)
perdas(h,t)
rperdas(t)
objetivo objetivo

binary variable status; positive variables ph,pht,perdas,rperdas;

n.lo(t)= 0;
n.up(t)= 4;

equations
phtfn(t) cálculo da potência total entregue pela usina
hidrelétrica para cada t
lowph(h,t) limite de potencia minimo
maxph(h,t) limite de potencia maxima
nfn(t) cálculo do número de unidades em operação para cada
t
metafn restrição de meta energética
demandafn(t) equação de balanço de potência
vpfn(perd,t)
perdasfn(h,t)
rperdasfn(t)
objfn função objetivo;

phtfn(t)… pht(t)=e=sum(h,ph(h,t));

lowph(h,t)… ph(h,t) =g= 200status(h,t);
maxph(h,t)… ph(h,t) =l= 419
status(h,t);

nfn(t)…n(t)=e=sum(h,status(h,t));

metafn… sum(t,pht(t))=e=meta;

demandafn(t)…pht(t)=e=demanda(t);

vpfn(perd,t)… vp(perd,t)=e= power(pht(t),pexp(perd));
perdasfn(h,t)…perdas(h,t)=e= sum(perd,coefperd(h,perd)*vp(perd,t));
rperdasfn(t)…rperdas(t) =e= sum(h$(ord(h) eq n.l(t)),perdas(h,t));

objfn… objetivo =e= sum(t,custopp*abs(n(t)-n(t-1)));;

model ucom /all/;
option minlp = dicopt;
solve ucom minimizing objetivo using minlp;

\

After run n values are below. What s Wrong?


---- VAR n numero de unidades geradoras em operação

LOWER LEVEL UPPER MARGINAL

1 . 3.000 4.000 EPS
2 . 3.000 4.000 EPS
3 . 4.000 4.000 EPS
4 . 4.000 4.000 .

2011/5/3 Nathalia Torchelsen Alves

Hi, my model is listed below, it’s a MINLP problem of Unit Commitment
for Hydro plants. First, I had the problem: “52 Endogenous $-control
operations not allowed”. Then I discovered that I couldn’t put the
variable n(t) in the dollar condition. So I decided to take the
activity level of this variable, using n.l(t) in the dollar condition.
But even with this change, the model still not uses the value of this
variable, as I needed. I don’t know what to do, please help.


$title Alocação Ótima de Unidades Geradoras Hidrelétricas
$Ontext
Formulação e solução do problema de alocação ótima de unidades
geradoras
hidrelétricas (Unit Commitment de UHE’s) na programação da operação
energética
diária
$Offtext

sets t intervalos de tempo /14/
h indices das unidades hidrelétricas /1
4/
perd coeficientes função de perdas /a0,a1,a2/

table coefperd(h,perd)
a0 a1 a2
1 126.290609 -8.466142e-1 1.425030e-3
2 252.85 -8.514e-1 7.2605e-4
3 383.08 -8.6580e-1 5.00268e-4
4 521.42 -8.9244e-1 3.94286e-4

parameter demanda(t) carga do sistema(MW) /1 1000, 2 1100, 3 1300, 4
1000/ ;
parameter pexp(perd) expoentes do vetor auxiliar /a0 0, a1 1, a2
2/ ;
scalar meta meta energética da usina hidrel. p as 4h(MWh) /
4400/;
scalar custopp custo de paradas e partidas /
3/ ;
scalar custoperd custo das perdas /
25/ ;

variables
status(h,t) status ligado ou desligado da unidade geradora
hidrelétrica
n(t) numero de unidades geradoras em operação
ph(h,t) potencia gerada por cada unidade geradora hidrelétrica
pht(t) potencia gerada pela usina hidrelétrica
vp(perd,t)
perdas(h,t)
rperdas(t)
objetivo objetivo

binary variable status; positive variables ph,pht,perdas,rperdas;

n.lo(t)= 0;
n.up(t)= 4;

equations
phtfn(t) cálculo da potência total entregue pela usina
hidrelétrica para cada t
lowph(h,t) limite de potencia minimo
maxph(h,t) limite de potencia maxima
nfn(t) cálculo do número de unidades em operação para cada
t
metafn restrição de meta energética
demandafn(t) equação de balanço de potência
vpfn(perd,t)
perdasfn(h,t)
rperdasfn(t)
objfn função objetivo;

phtfn(t)… pht(t)=e=sum(h,ph(h,t));

lowph(h,t)… ph(h,t) =g= 200status(h,t);
maxph(h,t)… ph(h,t) =l= 419
status(h,t);

nfn(t)…n(t)=e=sum(h,status(h,t));

metafn… sum(t,pht(t))=e=meta;

demandafn(t)…pht(t)=e=demanda(t);

vpfn(perd,t)… vp(perd,t)=e= power(pht(t),pexp(perd));
perdasfn(h,t)…perdas(h,t)=e= sum(perd,coefperd(h,perd)*vp(perd,t));
rperdasfn(t)…rperdas(t) =e= sum(h$(ord(h) eq n.l(t)),perdas(h,t));

objfn… objetivo =e= sum(t,custopp*abs(n(t)-n(t-1)));;

model ucom /all/;
option minlp = dicopt;
solve ucom minimizing objetivo using minlp;


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Should I use another solver or this kind of problem will happen with anyone because it’s a GAMS problem?

Thanks!
A.S.A.P.
Nathalia.

Nathalia Torchelsen Alves
GSP - Depto. de Engenharia Elétrica - UFSC


2011/5/3 Nathalia Torchelsen Alves

Hi, my model is listed below, it’s a MINLP problem of Unit Commitment
for Hydro plants. First, I had the problem: “52 Endogenous $-control
operations not allowed”. Then I discovered that I couldn’t put the
variable n(t) in the dollar condition. So I decided to take the
activity level of this variable, using n.l(t) in the dollar condition.
But even with this change, the model still not uses the value of this
variable, as I needed. I don’t know what to do, please help.


$title Alocação Ótima de Unidades Geradoras Hidrelétricas
$Ontext
Formulação e solução do problema de alocação ótima de unidades
geradoras
hidrelétricas (Unit Commitment de UHE’s) na programação da operação
energética
diária
$Offtext

sets t intervalos de tempo /14/
h indices das unidades hidrelétricas /1
4/
perd coeficientes função de perdas /a0,a1,a2/

table coefperd(h,perd)
a0 a1 a2
1 126.290609 -8.466142e-1 1.425030e-3
2 252.85 -8.514e-1 7.2605e-4
3 383.08 -8.6580e-1 5.00268e-4
4 521.42 -8.9244e-1 3.94286e-4

parameter demanda(t) carga do sistema(MW) /1 1000, 2 1100, 3 1300, 4
1000/ ;
parameter pexp(perd) expoentes do vetor auxiliar /a0 0, a1 1, a2
2/ ;
scalar meta meta energética da usina hidrel. p as 4h(MWh) /
4400/;
scalar custopp custo de paradas e partidas /
3/ ;
scalar custoperd custo das perdas /
25/ ;

variables
status(h,t) status ligado ou desligado da unidade geradora
hidrelétrica
n(t) numero de unidades geradoras em operação
ph(h,t) potencia gerada por cada unidade geradora hidrelétrica
pht(t) potencia gerada pela usina hidrelétrica
vp(perd,t)
perdas(h,t)
rperdas(t)
objetivo objetivo

binary variable status; positive variables ph,pht,perdas,rperdas;

n.lo(t)= 0;
n.up(t)= 4;

equations
phtfn(t) cálculo da potência total entregue pela usina
hidrelétrica para cada t
lowph(h,t) limite de potencia minimo
maxph(h,t) limite de potencia maxima
nfn(t) cálculo do número de unidades em operação para cada
t
metafn restrição de meta energética
demandafn(t) equação de balanço de potência
vpfn(perd,t)
perdasfn(h,t)
rperdasfn(t)
objfn função objetivo;

phtfn(t)… pht(t)=e=sum(h,ph(h,t));

lowph(h,t)… ph(h,t) =g= 200status(h,t);
maxph(h,t)… ph(h,t) =l= 419
status(h,t);

nfn(t)…n(t)=e=sum(h,status(h,t));

metafn… sum(t,pht(t))=e=meta;

demandafn(t)…pht(t)=e=demanda(t);

vpfn(perd,t)… vp(perd,t)=e= power(pht(t),pexp(perd));
perdasfn(h,t)…perdas(h,t)=e= sum(perd,coefperd(h,perd)*vp(perd,t));
rperdasfn(t)…rperdas(t) =e= sum(h$(ord(h) eq n.l(t)),perdas(h,t));

objfn… objetivo =e= sum(t,custopp*abs(n(t)-n(t-1)));;

model ucom /all/;
option minlp = dicopt;
solve ucom minimizing objetivo using minlp;

\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Hi Alves,

Your model seems correct. It runs. I run it and found following results:

Please check. There are some compilation errors . You may counter check with this file pasted below:


GAMS Rev 230 WIN-VIS 23.0.2 x86/MS Windows 05/07/11 17:00:19 Page 1
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
C o m p i l a t i o n


1
2
3 sets t intervalos de tempo /14/
4 h indices das unidades hidrelétricas /1
4/
5 perd coeficientes função de perdas /a0,a1,a2/ ;
6
7 table coefperd(h,perd)
8 a0 a1 a2
9 1 126.290609 -8.466142e-1 1.425030e-3
10 2 252.85 -8.514e-1 7.2605e-4
11 3 383.08 -8.6580e-1 5.00268e-4
12 4 521.42 -8.9244e-1 3.94286e-4 ;
13
14 parameter demanda(t) carga do sistema(MW) /1 1000, 2 1100, 3 1300, 4 100
0/ ;
15 parameter pexp(perd) expoentes do vetor auxiliar /a0 0, a1 1, a2 2/ ;
16 scalar meta meta energética da usina hidrel. p as 4h(MWh) /4400/
;
17 scalar custopp custo de paradas e partidas /3/ ;
18 scalar custoperd custo das perdas /25/ ;
19
20 variables
21 status(h,t) status ligado ou desligado da unidade geradora hidrel étric
a
22 n(t) numero de unidades geradoras em operação
23 ph(h,t) potencia gerada por cada unidade geradora hidrelétrica
24 pht(t) potencia gerada pela usina hidrelétrica
25 vp(perd,t)
26 perdas(h,t)
27 rperdas(t)
28 objetivo objetivo ;
29
30 binary variable status; positive variables ph,pht,perdas,rperdas;
31
32 n.lo(t)= 0;
33 n.up(t)= 4;
34
35 equations
36 phtfn(t) cálculo da potência total entregue pela usina hidrelétri
ca para cada t
37 lowph(h,t) limite de potencia minimo
38 maxph(h,t) limite de potencia maxima
39 nfn(t) cálculo do número de unidades em operação para cada t
40 metafn restrição de meta energética
41 demandafn(t) equação de balanço de potência
42 vpfn(perd,t)
43 perdasfn(h,t)
44 rperdasfn(t)
45 objfn função objetivo;
46
47 phtfn(t)… pht(t)=e=sum(h,ph(h,t));
48
49 lowph(h,t)… ph(h,t) =g= 200status(h,t);
50 maxph(h,t)… ph(h,t) =l= 419
status(h,t);
51
52 nfn(t)…n(t)=e=sum(h,status(h,t));
53
54 metafn… sum(t,pht(t))=e=meta;
55
56 demandafn(t)…pht(t)=e=demanda(t);
57
58 vpfn(perd,t)… vp(perd,t)=e= power(pht(t),pexp(perd));
59 perdasfn(h,t)…perdas(h,t)=e= sum(perd,coefperd(h,perd)vp(perd,t));
60 rperdasfn(t)…rperdas(t) =e= sum(h$(ord(h) eq n.l(t)),perdas(h,t));
61
62 objfn… objetivo =e= sum(t,custopp
abs(n(t)-n(t-1)));;
63
64 model ucom /all/;
65 option minlp = dicopt;
66 solve ucom minimizing objetivo using minlp;
67
68
69
70
71
72
73
74
75
76
77


COMPILATION TIME = 0.015 SECONDS 3 Mb WIN230-230 Feb 12, 2009
GAMS Rev 230 WIN-VIS 23.0.2 x86/MS Windows 05/07/11 17:00:19 Page 2
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Equation Listing SOLVE ucom Using MINLP From line 66


---- phtfn =E= cálculo da potência total entregue pela usina hidrelétrica para
cada t

phtfn(1)… - ph(1,1) - ph(2,1) - ph(3,1) - ph(4,1) + pht(1) =E= 0 ; (LHS = 0)

phtfn(2)… - ph(1,2) - ph(2,2) - ph(3,2) - ph(4,2) + pht(2) =E= 0 ; (LHS = 0)

phtfn(3)… - ph(1,3) - ph(2,3) - ph(3,3) - ph(4,3) + pht(3) =E= 0 ; (LHS = 0)

REMAINING ENTRY SKIPPED


---- lowph =G= limite de potencia minimo

lowph(1,1)… - 200*status(1,1) + ph(1,1) =G= 0 ; (LHS = 0)

lowph(1,2)… - 200*status(1,2) + ph(1,2) =G= 0 ; (LHS = 0)

lowph(1,3)… - 200*status(1,3) + ph(1,3) =G= 0 ; (LHS = 0)

REMAINING 13 ENTRIES SKIPPED


---- maxph =L= limite de potencia maxima

maxph(1,1)… - 419*status(1,1) + ph(1,1) =L= 0 ; (LHS = 0)

maxph(1,2)… - 419*status(1,2) + ph(1,2) =L= 0 ; (LHS = 0)

maxph(1,3)… - 419*status(1,3) + ph(1,3) =L= 0 ; (LHS = 0)

REMAINING 13 ENTRIES SKIPPED


---- nfn =E= cálculo do número de unidades em operação para cada t

nfn(1)… - status(1,1) - status(2,1) - status(3,1) - status(4,1) + n(1) =E= 0 ;

(LHS = 0)

nfn(2)… - status(1,2) - status(2,2) - status(3,2) - status(4,2) + n(2) =E= 0 ;

(LHS = 0)

nfn(3)… - status(1,3) - status(2,3) - status(3,3) - status(4,3) + n(3) =E= 0 ;

(LHS = 0)

REMAINING ENTRY SKIPPED


---- metafn =E= restrição de meta energética

metafn… pht(1) + pht(2) + pht(3) + pht(4) =E= 4400 ;

(LHS = 0, INFES = 4400 ****)


---- demandafn =E= equação de balanço de potência

demandafn(1)… pht(1) =E= 1000 ; (LHS = 0, INFES = 1000 ****)

demandafn(2)… pht(2) =E= 1100 ; (LHS = 0, INFES = 1100 ****)

demandafn(3)… pht(3) =E= 1300 ; (LHS = 0, INFES = 1300 ****)

REMAINING ENTRY SKIPPED


---- vpfn =E=

vpfn(a0,1)… (0)*pht(1) + vp(a0,1) =E= 0 ; (LHS = -1, INFES = 1 ****)

vpfn(a0,2)… (0)*pht(2) + vp(a0,2) =E= 0 ; (LHS = -1, INFES = 1 ****)

vpfn(a0,3)… (0)*pht(3) + vp(a0,3) =E= 0 ; (LHS = -1, INFES = 1 ****)

REMAINING 9 ENTRIES SKIPPED


---- perdasfn =E=

perdasfn(1,1)… - 126.290609vp(a0,1) + 0.8466142vp(a1,1)

  • 0.00142503*vp(a2,1) + perdas(1,1) =E= 0 ; (LHS = 0)

perdasfn(1,2)… - 126.290609vp(a0,2) + 0.8466142vp(a1,2)

  • 0.00142503*vp(a2,2) + perdas(1,2) =E= 0 ; (LHS = 0)

perdasfn(1,3)… - 126.290609vp(a0,3) + 0.8466142vp(a1,3)

  • 0.00142503*vp(a2,3) + perdas(1,3) =E= 0 ; (LHS = 0)

REMAINING 13 ENTRIES SKIPPED


---- rperdasfn =E=

rperdasfn(1)… rperdas(1) =E= 0 ; (LHS = 0)

rperdasfn(2)… rperdas(2) =E= 0 ; (LHS = 0)

rperdasfn(3)… rperdas(3) =E= 0 ; (LHS = 0)

REMAINING ENTRY SKIPPED


---- objfn =E= função objetivo

objfn… (0)*n(1) + (0)*n(2) + (0)*n(3) - (3)*n(4) + objetivo =E= 0 ; (LHS = 0)

GAMS Rev 230 WIN-VIS 23.0.2 x86/MS Windows 05/07/11 17:00:19 Page 3
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Column Listing SOLVE ucom Using MINLP From line 66


---- status status ligado ou desligado da unidade geradora hidrel étrica

status(1,1)
(.LO, .L, .UP, .M = 0, 0, 1, 0)
-200 lowph(1,1)
-419 maxph(1,1)
-1 nfn(1)

status(1,2)
(.LO, .L, .UP, .M = 0, 0, 1, 0)
-200 lowph(1,2)
-419 maxph(1,2)
-1 nfn(2)

status(1,3)
(.LO, .L, .UP, .M = 0, 0, 1, 0)
-200 lowph(1,3)
-419 maxph(1,3)
-1 nfn(3)

REMAINING 13 ENTRIES SKIPPED

---- n numero de unidades geradoras em operação

n(1)
(.LO, .L, .UP, .M = 0, 0, 4, 0)
1 nfn(1)
(0) objfn

n(2)
(.LO, .L, .UP, .M = 0, 0, 4, 0)
1 nfn(2)
(0) objfn

n(3)
(.LO, .L, .UP, .M = 0, 0, 4, 0)
1 nfn(3)
(0) objfn

REMAINING ENTRY SKIPPED

---- ph potencia gerada por cada unidade geradora hidrelétrica

ph(1,1)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
-1 phtfn(1)
1 lowph(1,1)
1 maxph(1,1)

ph(1,2)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
-1 phtfn(2)
1 lowph(1,2)
1 maxph(1,2)

ph(1,3)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
-1 phtfn(3)
1 lowph(1,3)
1 maxph(1,3)

REMAINING 13 ENTRIES SKIPPED

---- pht potencia gerada pela usina hidrelétrica

pht(1)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 phtfn(1)
1 metafn
1 demandafn(1)
(0) vpfn(a0,1)
(-1) vpfn(a1,1)
(0) vpfn(a2,1)

pht(2)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 phtfn(2)
1 metafn
1 demandafn(2)
(0) vpfn(a0,2)
(-1) vpfn(a1,2)
(0) vpfn(a2,2)

pht(3)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 phtfn(3)
1 metafn
1 demandafn(3)
(0) vpfn(a0,3)
(-1) vpfn(a1,3)
(0) vpfn(a2,3)

REMAINING ENTRY SKIPPED

---- vp

vp(a0,1)
(.LO, .L, .UP, .M = -INF, 0, +INF, 0)
1 vpfn(a0,1)
-126.2906 perdasfn(1,1)
-252.85 perdasfn(2,1)
-383.08 perdasfn(3,1)
-521.42 perdasfn(4,1)

vp(a0,2)
(.LO, .L, .UP, .M = -INF, 0, +INF, 0)
1 vpfn(a0,2)
-126.2906 perdasfn(1,2)
-252.85 perdasfn(2,2)
-383.08 perdasfn(3,2)
-521.42 perdasfn(4,2)

vp(a0,3)
(.LO, .L, .UP, .M = -INF, 0, +INF, 0)
1 vpfn(a0,3)
-126.2906 perdasfn(1,3)
-252.85 perdasfn(2,3)
-383.08 perdasfn(3,3)
-521.42 perdasfn(4,3)

REMAINING 9 ENTRIES SKIPPED

---- perdas

perdas(1,1)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 perdasfn(1,1)

perdas(1,2)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 perdasfn(1,2)

perdas(1,3)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 perdasfn(1,3)

REMAINING 13 ENTRIES SKIPPED

---- rperdas

rperdas(1)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 rperdasfn(1)

rperdas(2)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 rperdasfn(2)

rperdas(3)
(.LO, .L, .UP, .M = 0, 0, +INF, 0)
1 rperdasfn(3)

REMAINING ENTRY SKIPPED

---- objetivo objetivo

objetivo
(.LO, .L, .UP, .M = -INF, 0, +INF, 0)
1 objfn

GAMS Rev 230 WIN-VIS 23.0.2 x86/MS Windows 05/07/11 17:00:19 Page 4
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Model Statistics SOLVE ucom Using MINLP From line 66


MODEL STATISTICS

BLOCKS OF EQUATIONS 10 SINGLE EQUATIONS 78
BLOCKS OF VARIABLES 8 SINGLE VARIABLES 73
NON ZERO ELEMENTS 209 NON LINEAR N-Z 16
DERIVATIVE POOL 11 CONSTANT POOL 16
CODE LENGTH 158 DISCRETE VARIABLES 16


GENERATION TIME = 0.000 SECONDS 4 Mb WIN230-230 Feb 12, 2009


EXECUTION TIME = 0.000 SECONDS 4 Mb WIN230-230 Feb 12, 2009
GAMS Rev 230 WIN-VIS 23.0.2 x86/MS Windows 05/07/11 17:00:19 Page 5
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Solution Report SOLVE ucom Using MINLP From line 66


S O L V E S U M M A R Y

MODEL ucom OBJECTIVE objetivo
TYPE MINLP DIRECTION MINIMIZE
SOLVER DICOPT FROM LINE 66

**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 8 INTEGER SOLUTION
**** OBJECTIVE VALUE 12.0000

RESOURCE USAGE, LIMIT 0.560 1000.000
ITERATION COUNT, LIMIT 86 10000
EVALUATION ERRORS 0 0


Dicopt2x-C Feb 14, 2009 23.0.2 WIN 5247.9411 VIS x86/MS Windows

Aldo Vecchietti and Ignacio E. Grossmann
Engineering Design Research Center
Carnegie Mellon University
Pittsburgh, Pennsylvania 15213

— DICOPT: NLP Subproblem was non-optimal but feasible.

An NLP subproblem was not solved to optimality. The solution
was feasible however, so this solution was accepted.
You may want to rerun the model with a GAMS option
OPTION SYSOUT=ON; to display extra solver information.
The cycle in which this situation occurred is marked with
Nonopt.


— DICOPT: Stopped on NLP worsening

The search was stopped because the objective function
of the NLP subproblems started to deteriorate.


---- EQU phtfn cálculo da potência total entregue pela usina hidrelétrica para
cada t

LOWER LEVEL UPPER MARGINAL

1 . . . EPS
2 . . . EPS
3 . . . EPS
4 . . . EPS

---- EQU lowph limite de potencia minimo

LOWER LEVEL UPPER MARGINAL

1.1 . . +INF .
1.2 . . +INF .
1.3 . 219.000 +INF .
1.4 . 200.000 +INF .
2.1 . 181.000 +INF .
2.2 . 62.000 +INF .
2.3 . 62.000 +INF .
2.4 . . +INF EPS
3.1 . 219.000 +INF .
3.2 . 219.000 +INF .
3.3 . 219.000 +INF .
3.4 . . +INF EPS
4.1 . . +INF EPS
4.2 . 219.000 +INF .
4.3 . . +INF EPS
4.4 . . +INF EPS

---- EQU maxph limite de potencia maxima

LOWER LEVEL UPPER MARGINAL

1.1 -INF . . EPS
1.2 -INF . . EPS
1.3 -INF . . EPS
1.4 -INF -19.000 . .
2.1 -INF -38.000 . .
2.2 -INF -157.000 . .
2.3 -INF -157.000 . .
2.4 -INF -219.000 . .
3.1 -INF . . EPS
3.2 -INF . . EPS
3.3 -INF . . EPS
3.4 -INF -219.000 . .
4.1 -INF -219.000 . .
4.2 -INF . . EPS
4.3 -INF -219.000 . .
4.4 -INF -219.000 . .

---- EQU nfn cálculo do número de unidades em operação para cada t

LOWER LEVEL UPPER MARGINAL

1 . . . EPS
2 . . . EPS
3 . . . EPS
4 . . . 3.000

LOWER LEVEL UPPER MARGINAL

---- EQU metafn 4400.000 4400.000 4400.000 .

metafn restrição de meta energética

---- EQU demandafn equação de balanço de potência

LOWER LEVEL UPPER MARGINAL

1 1000.000 1000.000 1000.000 EPS
2 1100.000 1100.000 1100.000 EPS
3 1300.000 1300.000 1300.000 EPS
4 1000.000 1000.000 1000.000 EPS

---- EQU vpfn

LOWER LEVEL UPPER MARGINAL

a0.1 . . . EPS
a0.2 . . . EPS
a0.3 . . . EPS
a0.4 . . . EPS
a1.1 . . . EPS
a1.2 . . . EPS
a1.3 . . . EPS
a1.4 . . . EPS
a2.1 . . . EPS
a2.2 . . . EPS
a2.3 . . . EPS
a2.4 . . . EPS

---- EQU perdasfn

LOWER LEVEL UPPER MARGINAL

1.1 . . . EPS
1.2 . . . EPS
1.3 . . . EPS
1.4 . . . EPS
2.1 . . . EPS
2.2 . . . EPS
2.3 . . . EPS
2.4 . . . EPS
3.1 . . . EPS
3.2 . . . EPS
3.3 . . . EPS
3.4 . . . EPS
4.1 . . . EPS
4.2 . . . EPS
4.3 . . . EPS
4.4 . . . EPS

---- EQU rperdasfn

LOWER LEVEL UPPER MARGINAL

1 . . . EPS
2 . . . EPS
3 . . . EPS
4 . . . EPS

LOWER LEVEL UPPER MARGINAL

---- EQU objfn . . . 1.000

objfn função objetivo

---- VAR status status ligado ou desligado da unidade geradora hidrel étrica

LOWER LEVEL UPPER MARGINAL

1.1 . . 1.000 EPS
1.2 . . 1.000 EPS
1.3 . 1.000 1.000 EPS
1.4 . 1.000 1.000 3.000
2.1 . 1.000 1.000 EPS
2.2 . 1.000 1.000 EPS
2.3 . 1.000 1.000 EPS
2.4 . 1.000 1.000 3.000
3.1 . 1.000 1.000 EPS
3.2 . 1.000 1.000 EPS
3.3 . 1.000 1.000 EPS
3.4 . 1.000 1.000 3.000
4.1 . 1.000 1.000 EPS
4.2 . 1.000 1.000 EPS
4.3 . 1.000 1.000 EPS
4.4 . 1.000 1.000 3.000

---- VAR n numero de unidades geradoras em operação

LOWER LEVEL UPPER MARGINAL

1 . 3.000 4.000 .
2 . 3.000 4.000 .
3 . 4.000 4.000 .
4 . 4.000 4.000 .

---- VAR ph potencia gerada por cada unidade geradora hidrelétrica

LOWER LEVEL UPPER MARGINAL

1.1 . . +INF .
1.2 . . +INF .
1.3 . 419.000 +INF .
1.4 . 400.000 +INF .
2.1 . 381.000 +INF .
2.2 . 262.000 +INF .
2.3 . 262.000 +INF .
2.4 . 200.000 +INF .
3.1 . 419.000 +INF .
3.2 . 419.000 +INF .
3.3 . 419.000 +INF .
3.4 . 200.000 +INF .
4.1 . 200.000 +INF .
4.2 . 419.000 +INF .
4.3 . 200.000 +INF .
4.4 . 200.000 +INF .

---- VAR pht potencia gerada pela usina hidrelétrica

LOWER LEVEL UPPER MARGINAL

1 . 1000.000 +INF .
2 . 1100.000 +INF .
3 . 1300.000 +INF .
4 . 1000.000 +INF .

---- VAR vp

LOWER LEVEL UPPER MARGINAL

a0.1 -INF 1.000 +INF .
a0.2 -INF 1.000 +INF .
a0.3 -INF 1.000 +INF .
a0.4 -INF 1.000 +INF .
a1.1 -INF 1000.000 +INF .
a1.2 -INF 1100.000 +INF .
a1.3 -INF 1300.000 +INF .
a1.4 -INF 1000.000 +INF .
a2.1 -INF 1.0000E+6 +INF .
a2.2 -INF 1.2100E+6 +INF .
a2.3 -INF 1.6900E+6 +INF .
a2.4 -INF 1.0000E+6 +INF .

---- VAR perdas

LOWER LEVEL UPPER MARGINAL

1.1 . 704.706 +INF .
1.2 . 919.301 +INF .
1.3 . 1433.993 +INF .
1.4 . 704.706 +INF .
2.1 . 127.500 +INF .
2.2 . 194.830 +INF .
2.3 . 373.054 +INF .
2.4 . 127.500 +INF .
3.1 . 17.548 +INF .
3.2 . 36.024 +INF .
3.3 . 102.993 +INF .
3.4 . 17.548 +INF .
4.1 . 23.266 +INF .
4.2 . 16.822 +INF .
4.3 . 27.591 +INF .
4.4 . 23.266 +INF .

---- VAR rperdas

LOWER LEVEL UPPER MARGINAL

1 . . +INF .
2 . . +INF .
3 . . +INF .
4 . . +INF .

LOWER LEVEL UPPER MARGINAL

---- VAR objetivo -INF 12.000 +INF .

objetivo objetivo


**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
0 ERRORS


EXECUTION TIME = 0.016 SECONDS 2 Mb WIN230-230 Feb 12, 2009

On Thu, May 5, 2011 at 8:44 AM, 胡辉 wrote:

It seems that your model can run. I run the model and get the results.


At 2011-05-03 21:05:42,"Nathalia Torchelsen Alves" wrote:

Hi, my model is listed below, it’s a MINLP problem of Unit Commitment
for Hydro plants. First, I had the problem: “52 Endogenous $-control
operations not allowed”. Then I discovered that I couldn’t put the
variable n(t) in the dollar condition. So I decided to take the
activity level of this variable, using n.l(t) in the dollar condition.
But even with this change, the model still not uses the value of this
variable, as I needed. I don’t know what to do, please help.

$title Alocação Ótima de Unidades Geradoras Hidrelétricas
$Ontext
Formulação e solução do problema de alocação ótima de unidades
geradoras
hidrelétricas (Unit Commitment de UHE’s) na programação da operação
energética
diária
$Offtext

sets t intervalos de tempo /14/
h indices das unidades hidrelétricas /1
4/
perd coeficientes função de perdas /a0,a1,a2/

table coefperd(h,perd)
a0 a1 a2
1 126.290609 -8.466142e-1 1.425030e-3
2 252.85 -8.514e-1 7.2605e-4
3 383.08 -8.6580e-1 5.00268e-4
4 521.42 -8.9244e-1 3.94286e-4

parameter demanda(t) carga do sistema(MW) /1 1000, 2 1100, 3 1300, 4
1000/ ;
parameter pexp(perd) expoentes do vetor auxiliar /a0 0, a1 1, a2
2/ ;
scalar meta meta energética da usina hidrel. p as 4h(MWh) /
4400/;
scalar custopp custo de paradas e partidas /
3/ ;
scalar custoperd custo das perdas /
25/ ;

variables
status(h,t) status ligado ou desligado da unidade geradora
hidrelétrica
n(t) numero de unidades geradoras em operação
ph(h,t) potencia gerada por cada unidade geradora hidrelétrica
pht(t) potencia gerada pela usina hidrelétrica
vp(perd,t)
perdas(h,t)
rperdas(t)
objetivo objetivo

binary variable status; positive variables ph,pht,perdas,rperdas;

n.lo(t)= 0;
n.up(t)= 4;

equations
phtfn(t) cálculo da potência total entregue pela usina
hidrelétrica para cada t
lowph(h,t) limite de potencia minimo
maxph(h,t) limite de potencia maxima
nfn(t) cálculo do número de unidades em operação para cada
t
metafn restrição de meta energética
demandafn(t) equação de balanço de potência
vpfn(perd,t)
perdasfn(h,t)
rperdasfn(t)
objfn função objetivo;

phtfn(t)… pht(t)=e=sum(h,ph(h,t));

lowph(h,t)… ph(h,t) =g= 200status(h,t);
maxph(h,t)… ph(h,t) =l= 419
status(h,t);

nfn(t)…n(t)=e=sum(h,status(h,t));

metafn… sum(t,pht(t))=e=meta;

demandafn(t)…pht(t)=e=demanda(t);

vpfn(perd,t)… vp(perd,t)=e= power(pht(t),pexp(perd));
perdasfn(h,t)…perdas(h,t)=e= sum(perd,coefperd(h,perd)*vp(perd,t));
rperdasfn(t)…rperdas(t) =e= sum(h$(ord(h) eq n.l(t)),perdas(h,t));

objfn… objetivo =e= sum(t,custopp*abs(n(t)-n(t-1)));;

model ucom /all/;
option minlp = dicopt;
solve ucom minimizing objetivo using minlp;


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.



\

To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.



\

Engr.AQEEL.A.BAZMI


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.