From the documentation:
PRC_MARK(r,t,p,grp,c,l) – Market share of a group grp of processes in total production of commodity c.
PRC_MARK thus defines a share bound for a group of processes, identified by a user-specified group identifier, for the total commodity production/consumption of commodity c. Using PRC_MARK can thus be a more convenient way of defining market share bounds for groups of technologies than formulating user constraints. For PRC_MARK, you just need to put the group identifier in the grp position.
For example, let's say you want to define an upper bound for the market share of two processes PRC1 and PRC2, and you choose to name the group as 'TESTGRP':
PRC_MARK(r,t,'PRC1','TESTGRP',c,'UP') = 0.6;
PRC_MARK(r,t,'PRC2','TESTGRP',c,'UP') = 0.6;
As you can see, at first glance the two values may seem mutually redundant, but they actually aren't, because the constraint is formulated in the following way:
sum(s, VAR_FLO(r,v,t,'PRC1',c,s) / 0.6 + VAR_FLO(r,v,t,'PRC2',c,s) / 0.6 ) =L= sum(s, VAR_COMPRD(r,t,c,s) )
You can thus also define a sort of trade-off relation for the combined market share bound:
PRC_MARK(r,t,'PRC1','TESTGRP',c,'UP') = 0.6;
PRC_MARK(r,t,'PRC2','TESTGRP',c,'UP') = 0.3;
sum(s, VAR_FLO(r,v,t,'PRC1',c,s) / 0.6 + VAR_FLO(r,v,t,'PRC2',c,s) / 0.3 ) =L= sum(s, VAR_COMPRD(r,t,c,s) )
As mentioned in the doc, PRC_MARK is by default interpolated according to option 11.
PRC_MARK(r,t,p,grp,c,l) – Market share of a group grp of processes in total production of commodity c.
PRC_MARK thus defines a share bound for a group of processes, identified by a user-specified group identifier, for the total commodity production/consumption of commodity c. Using PRC_MARK can thus be a more convenient way of defining market share bounds for groups of technologies than formulating user constraints. For PRC_MARK, you just need to put the group identifier in the grp position.
For example, let's say you want to define an upper bound for the market share of two processes PRC1 and PRC2, and you choose to name the group as 'TESTGRP':
PRC_MARK(r,t,'PRC1','TESTGRP',c,'UP') = 0.6;
PRC_MARK(r,t,'PRC2','TESTGRP',c,'UP') = 0.6;
As you can see, at first glance the two values may seem mutually redundant, but they actually aren't, because the constraint is formulated in the following way:
sum(s, VAR_FLO(r,v,t,'PRC1',c,s) / 0.6 + VAR_FLO(r,v,t,'PRC2',c,s) / 0.6 ) =L= sum(s, VAR_COMPRD(r,t,c,s) )
You can thus also define a sort of trade-off relation for the combined market share bound:
PRC_MARK(r,t,'PRC1','TESTGRP',c,'UP') = 0.6;
PRC_MARK(r,t,'PRC2','TESTGRP',c,'UP') = 0.3;
sum(s, VAR_FLO(r,v,t,'PRC1',c,s) / 0.6 + VAR_FLO(r,v,t,'PRC2',c,s) / 0.3 ) =L= sum(s, VAR_COMPRD(r,t,c,s) )
As mentioned in the doc, PRC_MARK is by default interpolated according to option 11.
