Veda2.0 Released!


input share constraint
#1
I have a process (ELCAGG) and it has two input commodities (FELC and RELC) and one output (ELC). I would like to set an input share constraint on ELCAGG in a way that it should take at least some percentage of its input from RELC in different regions (annually). I use the attached file to do that but it seems it doesn't work, is there anything wrong with that?


Attached Files Thumbnail(s)
   
Reply
#2
Yes, I cannot see the commodity group (cg) specified anywhere.   Confused
The parameter syntax is FLO_SHAR(r,y,p,c,cg,ts,bd).
Reply
#3
(11-12-2017, 04:38 AM)Antti-L Wrote: Yes, I cannot see the commodity group (cg) specified anywhere.   Confused
The parameter syntax is FLO_SHAR(r,y,p,c,cg,ts,bd).

Sorry, I have not worked with commodity groups before. The attached file shows VEDA generates commodity group itself (I haven't defined that anywhere), however, it seems it's not sufficient and the constraint doesn't work, would you please let me know where and how I should define it in a way that it works?

Thanks!


Attached Files Thumbnail(s)
   
Reply
#4
Ok, after seeing VEDA doing that service, I don't see anything wrong with the constrains. I'd say they would work for me. Shy

Maybe you could then explain what you mean by "the constraint doesn't work"? Are you seeing no RELC input in the results? Have you checked the DD files and the resulting equations? Is it that the constraints are not generated at all, or are they wrongly formulated?
Reply
#5
(11-12-2017, 05:08 AM)Antti-L Wrote: Ok, after seeing VEDA doing that service, I don't see anything wrong with the constrains. I'd say they would work for me.  Shy

Maybe you could then explain what you mean by "the constraint doesn't work"? Are you seeing no RELC input in the results? Have you checked the DD files and the resulting equations? Is it that the constraints are not generated at all, or are they wrongly formulated?

I think DD file is fine (pls see the follwoing). 
I mean the defined input shares are violated, I have attached the results for CA, e.g. FELC is larger than RELC in 2030 but it should have been the other way.



$ONEMPTY
$ONEPS
$ONWARNING
$SET RUN_NAME 'Deep10'
$SET SCENARIO_NAME 'rps_33pct_electricity'
SET TOP_IRE
/
/

SET UC_N
/
/

PARAMETER
FLO_SHAR ' '/
AZ.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
CA.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.1
CO.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
MT.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
NM.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
NV.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
OR.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
WA.2012.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.001
CA.2017.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
CA.2020.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.33
MT.2020.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2020.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
WA.2020.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
MT.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2025.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2030.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2035.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2040.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2045.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2050.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
AZ.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
CA.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.5
CO.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.2
MT.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NM.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15
NV.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
OR.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.25
WA.2055.ELCAGG.RELC.ELCAGG_NRGI.ANNUAL.LO 0.15

/


Attached Files Thumbnail(s)
   
Reply
#6
I don't think it is possible for Cplex (or whichever solver you have) to produce an optimal (or feasible) solution that violates the constraints. Therefore, I think you just most probably have a modelling error somewhere, but I am afraid I cannot see your model. If I had the model, I would quickly be able to give an answer...

You can produce a listing file with the model equations, and check them yourself.  If the equations seem wrong, please post them here.

But check at least that FELC is in fact defined to be of type NRG, and check the QA_check.log for any messages related to that ELCAGG process. Sorry, but I find it a bit difficult to see the problem without seeing the model.
Reply
#7
I want to model renewable portfolio standard, RELC represents the electricity output of renewable power plants (it is DAYNITE and NRG) and FELC is the electricity output of fossil fuel based plants (it is also DAYNITE and NRG), ELCAGG is a dummy process that aggregates RELC and FELC in each region and produce ELC, this process is ELE and DAYNITE. I want to have a minimum share of RELC in each year in different regions and that's how I modeled it, I don't see anything that seems to be wrong, I appreciate your thoughts. Can I send my model to you if my explanation doesn't help? Thanks!
Reply
#8
Yes, sure I can look at your model, if you provide it to me in the following way:

For the model run that you have solved (the one from which you showed the VAR_FIN / VAR_FOUT results for ELCAGG), please pack all the *.DD files and the *.RUN file and the *.opt file into a ZIP or RAR or 7zip archive. All these files are in the VEDA-FE work folder.

Then upload this ZIP / RAR package to your Dropbox or Google drive account (I hope you have either one) and send me the download link by the Private Message facility of the Forum.
Reply
#9
Ok, thanks for providing me with the full *.vd file, which revealed the cause of the issue.

You have defined the process ELCAGG to be vintaged, which you didn't mention earlier, and which I didn't think about myself (sorry). For vintaged processes, FLO_SHAR is also vintaged, which of course explains the issue quite well.

If you really need to have this dummy process (which aggregates RELC and FELC) as a vintaged process (although I am not sure why it should be such), but you want to define non-vintaged input share constraints for it, then you should resort to user constraints.  But as such constraints can be quite easily formulated, I don't think it should cause too much trouble for you. You can then also easily decide whether the share should be defined as an ANNUAL average or by timeslice.
Reply
#10
Thank you! It works now.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  SHARE-I/O for all process and all time horizon ejin 7 3,951 08-03-2023, 10:55 AM
Last Post: AKanudia
  Using Share-I kushagra 2 1,965 12-10-2022, 03:02 PM
Last Post: kushagra
  user constraint on subset of emissions Stefan 2 2,672 10-11-2021, 08:26 PM
Last Post: Stefan
  DACCS Emissions Constraint not working UKTM User 10 8,970 07-10-2021, 03:30 PM
Last Post: UKTM User
  Functionality of the RPS constraint xavier 3 4,115 02-05-2021, 07:07 PM
Last Post: Antti-L
  User constraint for minimum storage activity Anjali 4 4,349 15-01-2021, 07:38 PM
Last Post: Anjali
  Issue with constraint: Error Code 172 NeilGrant 5 7,225 28-05-2020, 02:08 PM
Last Post: NeilGrant
  Technology share guozhi1305 0 2,006 07-03-2020, 07:36 PM
Last Post: guozhi1305
  Source code for the commodity input/output for each process Shibo.liu 3 6,540 13-01-2020, 04:30 PM
Last Post: Antti-L
  auxiliary input of time commodity ignored Anita Prajapati 5 8,723 25-10-2019, 07:42 PM
Last Post: Anita Prajapati

Forum Jump:


Users browsing this thread: 1 Guest(s)