HELP request for UC problem !!!!!!!!!!!!

hi friends,
i am trying to write one unit commitment program with use of GAMS,
for implementation of minimum up/down time constraint i have wrote
following
code in gams:

M_OFF_C1(i,t)(ord(t)0).. -1000*U(i,t)+(XOFF(i,t-1)- T_off(i))*U(i,t) =g= -1000; M_ON_C1(i,t)(ord(t)0)… -1000*(1-U(i,t))+(XON(i,t-1)-
T_on(i))*(1-U
(i,t))=g= -1000;

where U(i,t) is binary variable for generation unit status, XOFF and
XON are
counters for calculating continuous off or on status time.
in order to updating XOFF and XON, after two above line in my program,
following code is used:

Xoff_C1(i,t)(ord(t)0).. XOFF(i,t)=e= XOFF(i,t-1)*(1- U(i,t)) + (1- U(i,t)); Xon_C1(i,t)(ord(t)0)… XON(i,t)=e= XON(i,t-1)*(U(i,t)) +
(U(i,t))
;

with above lines i want when U(i,t) is 1 , amount of XON increases to
XON+1
and XOFF should be reset to 0 and when U(i,t) is 0 , amount of XOFF
increases
to XOFF+1 and XON should be reset to 0.

but after running,this warning is seen:

“** an equation is inconsistent with other equations in the pre-
triangular
part of the model”
how i can implement min up/down constraints in Unit Commitment and
dispel
this warning,

best wishes for you.

\

hi,
one way to get around is to use the following formulation:

alias(t,tt);

min_on_time(i,t,tt) ((ord(tt) gt ord(t)-t_on(i)) (ord(tt) lt
ord(t)) …
U(i,t) =g= U(i,tt)-U(i,tt-1);

min_off_time(i,t,tt) ((ord(tt) gt ord(t)-t_off(i)) (ord(tt) lt
ord(t)) …
1-U(i,t) =g= U(i,tt-1)- U(i,tt) ;

whenever U(i,tt)=1 and U(i,tt-1)=0, the first constraint will ensure
that the variables U(i,t) will be forced to one for the next t_on(i)
hours.

conversely, whenever U(i,tt-1)=1 and U(i,tt)=0, the second constraint
will force U(i,t) to zero for the next t_off(i) time steps.

Hope this helps,
cheers
dax


On Dec 15, 3:28 am, gh moghimi wrote:

hi friends,
i am trying to write one unit commitment program with use of GAMS,
for implementation of minimum up/down time constraint i have wrote
following
code in gams:

M_OFF_C1(i,t)(ord(t)0).. -1000*U(i,t)+(XOFF(i,t-1)- T_off(i))*U(i,t) =g= -1000; M_ON_C1(i,t)(ord(t)0)… -1000*(1-U(i,t))+(XON(i,t-1)-
T_on(i))*(1-U
(i,t))=g= -1000;

where U(i,t) is binary variable for generation unit status, XOFF and
XON are
counters for calculating continuous off or on status time.
in order to updating XOFF and XON, after two above line in my program,
following code is used:

Xoff_C1(i,t)(ord(t)0).. XOFF(i,t)=e= XOFF(i,t-1)*(1- U(i,t)) + (1- U(i,t)); Xon_C1(i,t)(ord(t)0)… XON(i,t)=e= XON(i,t-1)*(U(i,t)) +
(U(i,t))
;

with above lines i want when U(i,t) is 1 , amount of XON increases to
XON+1
and XOFF should be reset to 0 and when U(i,t) is 0 , amount of XOFF
increases
to XOFF+1 and XON should be reset to 0.

but after running,this warning is seen:

“** an equation is inconsistent with other equations in the pre-
triangular
part of the model”
how i can implement min up/down constraints in Unit Commitment and
dispel
this warning,

best wishes for you.

\

Thanks Dear Dax
I will try to implement the code is given in your hint and will give a review of its results.
regards.


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.