Veda2.0 Released!


COM_BNDPRD attribute
#1
Dear all, 
I have a question regarding the use of the attribute COM_BNDPRD~FX in a ~TFM_INS-TS table. I am using this to calibrate the use of power and gas in end use sectors between 2010 and 2020. 

In the case where dummy imports ae disabled in the model (which is the case here), could the FX bound be violated?


Thank you in advance!

Mahmoud


Attached Files Thumbnail(s)
   
Reply
#2
The bound cannot be violated even if dummy imports are active.

In general, please share screenshots of the Browse screen rather than Excel, to show input assumptions.
Reply
#3
With respect to the TIMES formulation, COM_BNDPRD(FX) defines a fixed bound on the total commodity production variable VAR_COMPRD, or a constraint on the sum of these variables over some timeslices if the bound is defined on a coarser timeslice level than the variables. Neither variable bounds or constraints can be violated, unless the solver is buggy. Thus, I think you should see in the results the VAR_COMPRD levels (or the sum of them over timeslices) respecting the bound values.

In the case where dummy imports are enabled, dummy flows may of course contribute to the VAR_COMPRD aggregate if the supply  is otherwise insufficient, but there is still no way the constraint bounding the VAR_COMPRD variable to the COM_BNDPRD value could be violated, unless your solver is buggy.  Good solvers always do respect the rules of mathematics (within small tolerances), meaning that constrains cannot be violated if a feasible solution is found.

However, if you nonetheless see some issue with it, please provide some more information. For example, fixing the first periods to a previous solution may cause some surprises, if you assume that COM_BNDPRD should be able to change the previous fixed solution (which would be inconsistent).
Reply
#4
I have similar questions regarding the COM_BNDPRD attribute. Sad


Q1. How do I set the TimeSlice resolution for COM_BNDPRD?
When I tried to use custom timeslice (TFM_DINS-TS_ELCNUC_NG.png),
Only the last row was recognized as Annual level constraints (ItemDetail_ELCNUC_LO_CustomTimeslice.png).
I’d like to use finer timeslice resolution… 


Q2. Why are some of the results not within the range specified? 
When I set minimum  ELCNUC production to be 68.78 (ItemDetail_ELCNUC_LO.png),
The result was 63.55 (Results_ELCplantsProduction_ELCNUC.png).
Only ELCNUC are out of range and other fuel types are within range.  


Thank you in advance.
Tomomi


Attached Files Thumbnail(s)
               

.zip   TM_2022-02-09.zip (Size: 440.34 KB / Downloads: 2)
Reply
#5
Welcome to the Forum.

I appreciate the fact that you supplemented your question with the model files, so that the issue can easily be reproduced.

However, my test run with the model immediately revealed that you are just looking at the wrong results.  As far as I can see, your COM_BNDPRD parameters, which are all defined on the ANNUAL level, work just fine.  That can be seen by looking at the VAR_COMPRD results. But you are instead looking at the VAR_ACT results of a group of processes consuming ELCNUC.

Please note that the commodity balance is ≥ (production ≥ consumption) and the price of ELCNUC is zero in your model.  Therefore, putting a lower bound on VAR_COMPRD may easily just increase the zero-cost production of ELCNUC, and not the consumption at all (which does have a cost). And that is exactly what is happening in the test run, in some timeslices. In other words, the VAR_COMPRD results for ELCNUC are indeed within the range specified, as expected, even though ELCNUC is not getting consumed by the full amount.  If you want, you could force it to be fully consumed by defining also COM_BNDNET(ELCNUC)=0.

[My answer to Q1 is to remove typo from your column header.]
Reply
#6
Dear Antti-L,
Thank you for your instruction.

> [My answer to Q1 is to remove typo from your column header.]
When I replace Timeslices → TimeSlice (TFM_DINS-TS_ELCNUC_TimeSlice.png),
The constraints are recognized correctly (ItemsDetail_TimeSlice_OK.png) Smile ,
However, an Execution error occurred at runtime. Sad 
In the Log file(Test_014a_run_log.txt): Model structure has 1 data errors
I’d like to know which setting I should correct. 


> Q2 looking at the VAR_COMPRD results
I confirmed, thank you(Result_VAR_Comprd_NUC_OK.png).  Smile


> you could force it to be fully consumed by defining also COM_BNDNET(ELCNUC)=0.
I confirmed, thank you(Result_NUC_FullyConsumed_OK.png). Smile 


Best regards,
Tomomi


Attached Files Thumbnail(s)
               

.zip   TM_2022-02-10.zip (Size: 618.74 KB / Downloads: 1)
Reply
#7
(10-02-2022, 08:28 AM)tomomi Wrote: However, an Execution error occurred at runtime. Sad 
In the Log file(Test_014a_run_log.txt): Model structure has 1 data errors
I’d like to know which setting I should correct. 

TimeSlice works! 
The error reported above was my mistake to set the constraint LO > UP  Tongue


Attached Files Thumbnail(s)
   
Reply
#8
Thumbs Up 
Great!  Smile
Thanks for the good news, and also thanks again for being so kind and helpful by providing a reproducible test case demonstrating your problem.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  detection multiple declaration attribute VictorG 8 1,921 10-04-2024, 09:52 PM
Last Post: Antti-L

Forum Jump:


Users browsing this thread: 1 Guest(s)