Veda2.0 Released!


UC_Growth seed value violated
#1
Hello,

Facing issues similar to the ones mentioned in this thread: http://forum.kanors-emr.org/showthread.php?tid=354&highlight=UC_RHSRTS, I checked the capacity deployment associated with a rapidly growing technology that should be restricted. I found that the model, whenever it deploys one of the new technologies that have an existing capacity of zero, will deploy a large amount said technology. The seed value UC_RHSRTS is set to 1 but I'm seeing numbers as high as 60,100... I tried disabling the interpolation by setting UC_RHSRTS~0 to -1, but to no avail.

Could you please suggest a way to restrict the first capacity deployment?

Thanks.
Reply
#2
Dynamic constraints on capacity only constrain the difference of the capacity between two successive periods. As you are specifically using (T, T+1) constraints, you would obviously also need to make sure your capacity is bounded in the first year for each of the dynamic constraints. Have you done that? (Cannot see any such in your scenario file).

But of course, if you can provide a reproducible case actually showing evidence for the alleged violation of the dynamic constraint, I would be very interested to see that. If possible, please provide the *.DD and *.RUN files and also the listing file for such a reproducible case. Thus far, I have never seen any such violation myself, but it would indeed be very good to know and see if and how it could be in some way be happening.
Reply
#3
Thanks. I have not done that for all technologies. So it's not a real violation but an error on my part. I thought the seed value was an absolute value for the capacity deployed in the first year.

Now, my problem is that I don't know how to define MaxCAP for the first year that the technology is *deployed*. For instance, PEMFC is available from 2022 but can be deployed at any time in the future (I'm seeing in 2048 in one case, for instance). Could you please suggest how to do that?
Reply
#4
Or does the interpolation rule "15" take that into account?
Reply
#5
I am sorry but I don't know what exactly you are trying to do. Could you perhaps first formulate your constraint mathematically, then one would probably be able to help. However, I think you could well use the (T, T–1) alternative, which will allow investing just the UC_RHSRTS amount if no capacity has been installed thus far.  I see you call that a "seed value".  So, why not let at most the "seed value" be installed in the first place?

The difference between (T, T+1) and (T, T–1) has been described to you earlier, see: http://forum.kanors-emr.org/showthread.php?tid=801

I can also see that all the dynamic constraints in your Scen_UC_Growth are capacity growth constraints for individual technologies, and so you could also consider using UC_DYNBND for utilizing the somewhat easier way of defining dynamic process-wise capacity bounds (with only UC_CAP needed).
Reply
#6
(21-03-2020, 07:51 PM)Antti-L Wrote: I am sorry but I don't know what exactly you are trying to do. 

My approach is based on the documentation (part 4). The relevant screenshot is attached. I'm basically trying to mimic the same approach - if it's an existing technology, I want the "seed value" (mentioned in part 4) i.e. "column UC_RHSRTS" to be 5-10. If it's something novel, 0.5-1 perhaps (in the above file, I have specified just -1 for a test case).

And that is not what the model is doing - it's deploying a capacity greater than the one specified in UC_RHSRTS in the first year. This is what I was attempting to describe in my first post.

I hope that clarifies my approach a little bit.

Thanks for your reply. I'm gonna take some time to try and understand it/implement it. But if it's the same constraint with just the sign reversed, I'm not sure if my problem will go away. And if I can't have a "seed value" with UC_DYNBND, that's perhaps more complex?


Attached Files Thumbnail(s)
   
Reply
#7
(21-03-2020, 07:31 AM)ach Wrote: Or does the interpolation rule "15" take that into account?

Just to clarify this, if I have a MaxCAP file for LNGCCS22, and the MaxCAP value is 1 GW for 2022... if the model decides to deploy LNGCCS22 in 2050, will it still start with deploying 1 GW in 2050, because of the the interpolation rule "15" for UC_RHSRTS~0? Thanks.
Reply
#8
Additionally, I ran the attached model, and I am noticing that the constraints in UC_Growth are not showing in VEDA BE under UserConstraints. I'm not sure what's happening.
Reply
#9
(22-03-2020, 04:09 AM)ach Wrote: Thanks for your reply. I'm gonna take some time to try and understand it/implement it. But if it's the same constraint with just the sign reversed, I'm not sure if my problem will go away. And if I can't have a "seed value" with UC_DYNBND, that's perhaps more complex?
No, it is not exactly the same, because with (T, T−1) you will have an implicit bound in the first period, while with (T, T+1) you will not have any bound in the first period.  I think that should be obvious. So, you have chosen the variant where you will not have the capacity bounded in the first period, and I am only suggesting that you should consider changing that.
Reply
#10
(22-03-2020, 07:15 PM)Antti-L Wrote:
(22-03-2020, 04:09 AM)ach Wrote: Thanks for your reply. I'm gonna take some time to try and understand it/implement it. But if it's the same constraint with just the sign reversed, I'm not sure if my problem will go away. And if I can't have a "seed value" with UC_DYNBND, that's perhaps more complex?
No, it is not exactly the same, because with (T, T−1) you will have an implicit bound in the first period, while with (T, T+1) you will not have any bound in the first period.  I think that should be obvious. So, you have chosen the variant where you will not have the capacity bounded in the first period, and I am only suggesting that you should consider changing that.

Okay, thank you. I've attempted to modify it to the T,T-1 type constraint, with UC_CAP~RHS as the growth value. Does that look correct?
I'm facing another difficulty - these constraints are showing up in VEDA BE under UserConstraint. Could you please suggest what the problem is?


Attached Files Thumbnail(s)
       
Reply
#11
(23-03-2020, 04:33 AM)ach Wrote: Okay, thank you. I've attempted to modify it to the T,T-1 type constraint, with UC_CAP~RHS as the growth value. Does that look correct?
No, it does not look correct. You are not defining a (T, T−1) constraint here.  As mentioned earlier, you should define GROWTH on the RHS side in order to do so, but you are defining it on the LHS side (which is the default). Your UC_CAP~LHS is thus the growth value, and not UC_CAP~RHS.  Confused

(23-03-2020, 04:33 AM)ach Wrote: I'm facing another difficulty - these constraints are showing up in VEDA BE under UserConstraint. Could you please suggest what the problem is?
Not sure what you mean by a problem there. I think you are defining them as user constraints, no? What seems to be the problem when they show up under UserConstraint?
Reply
#12
(23-03-2020, 05:14 AM)Antti-L Wrote:
(23-03-2020, 04:33 AM)ach Wrote: Okay, thank you. I've attempted to modify it to the T,T-1 type constraint, with UC_CAP~RHS as the growth value. Does that look correct?
No, it does not look correct. You are not defining a (T, T−1) constraint here.  As mentioned earlier, you should define GROWTH on the RHS side in order to do so, but you are defining it on the LHS side (which is the default). Your UC_CAP~LHS is thus the growth value, and not UC_CAP~RHS.  Confused

(23-03-2020, 04:33 AM)ach Wrote: I'm facing another difficulty - these constraints are showing up in VEDA BE under UserConstraint. Could you please suggest what the problem is?
Not sure what you mean by a problem there. I think you are defining them as user constraints, no? What seems to be the problem when they show up under UserConstraint?

Thanks! Fixed. Sorry for misunderstanding.

So, not all of them show up in UserConstraint. Here, for instance, only 3/6 show up.
EDIT: Actually, a MaxCAP constraint is also missing.
Reply
#13
I guess VEDA-BE only shows items on the tabs if there are some results for those items. For example, you don't see Cost_Dam or Cost_Dec  showing up either on the Attribute Tab, if you don't have any damage costs or decommissioning costs in the results. In the same way, it may well be that if your constraint UC_example does not have any levels or marginals to report, it just does not show up in the VEDA-BE UserContraint Tab.  But you can always look at it in VEDA-FE (UC_N Master), and you can always check the DD files or even the equation listing if you suspect that they are not correctly passed to TIMES.

I have never considered that an issue, but you can of course tell the VEDA developers if you disagree.

Whenever there is the need to check the model equations, you can set LIMROW=9999999 (GAMS will write all the equations in the listing file), or you could use the Cplex writelp option.
Reply
#14
I see, thanks.

I'm still seeing violations of the seed value. My UC_Growth and some VEDA BE output screenshots are attached. Could you please suggest what's happening? Hopefully I've made all the suggested changes to UC_Growth. I'm not sure about my use of U_CAP~0 and interpolation rule 11.

EDIT: based on the post below, I realized I had posted the wrong file.


Attached Files Thumbnail(s)
   
Reply
#15
(23-03-2020, 10:30 PM)ach Wrote: I'm still seeing violations of the seed value. My UC_Growth and some VEDA BE output screenshots are attached. Could you please suggest what's happening? Hopefully I've made all the suggested changes to UC_Growth. I'm not sure about my use of U_CAP~0 and interpolation rule 11.
Well, for one thing, you are still deliberately choosing the (T, T+1) variant for the dynamic growth constraints, as I have tried to explain.  As mentioned several times earlier, you should define GROWTH on the RHS side if you would like to use the (T, T−1) variant, but it seems you don't want that. You are defining it on the LHS side (=default), and so your UC_CAP~LHS thus represents the growth value.  Confused   You are of course free to do it as you like...

So, I see no violation whatsoever. Your LimType=UP does not constrain growth (earlier you used LO, which made sense).

Your use of interpolation option 11 for UC_CAP does not make sense to me either.  I would not define any IE option for UC_CAP, while using genuine UC constraints, only for the RHS constant.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)