Hi Jeff, thanks for that. I had figured it out in the meantime (while cradling my son to sleep!) that the first one could be solved by something like
INJi <= MaxInj * BInj Withi <= MaxWith * BWith BInj + BWith = 1 which is I think exactly what you mention. So thank you very much for your reply, as I was wondering if my reasoning was making sense! At the very beginning I thought I'd need to introduce BInj*INJi in the objective function - that is why I stopped due to the introduction of non-linearity in the objective function. I get the hint from your remark on my second question but I really have to think about how to implement it. Sorry my background is not in operations Research.. Paolo On 4 April 2011 19:23, Kelly, Jeff (ON0F) <[email protected]> wrote: > Paolo; > > > > Your first issue of INJi * WITHi = 0 complementarity is easily modeled by > adding two binary variables for each quantity i.e., yINJi and yWITHi then > you need three constraints: > > 1. INJi <= uINJi * yINJi > > 2. WITHi <= uWITHi * yWITHi > > 3. yINHi + yWITHi = 1 or <= 1 > > 4. yINJi, yWITHi are binary > > The first two constraints are semi-continuous and third is a SOS1/GUB where > the “u” prefix is the upper bound on the quantities. A lower bound is an > exercise for you. > > > > Your second issue requires piecewise linear approximation of the cost > curves due to most likely economizes/diseconomies-of-scale. You will need > to define regions of linearity and create extra binary variables for these > regions with either SOS1 or SOS2 constraints depending on how you implement > the “separable programming” aspects. > > > > I hope this helps - Jeff > > > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Paolo > Rossi > *Sent:* Monday, April 04, 2011 1:48 PM > *To:* [email protected] > *Subject:* [Help-glpk] LP problem with variable coeffcients (parametric > LPsimplex) > > > > Hi everyone, > > > > I am trying to replicate the modelling Byers, 2006. Commodity Storage > Valuation: A linear optimization based on Traded Instruments, Energy > Economics. The author is quite concise on how the model has been specified > but it says that he used LpSolve > > > > The paper assesses the value of a gas storage facility. The value is a > function of: > > - Injected quantity: INJ > > - Withdrawn quantity: WITH > > - Price paid for injections: Pi > > - Price paid for withdrawals: Pw > > - cost ofinjecting one unit of gas: ci > > - cost of withdrawing one unit of gas: cw > > > > If one takes two periods, > > > > Max -INJ1 x pi,1 + WITH1 x pw,1 – ci,1 x INJ1 – cw,1 x WITH1 > – INJ2 x pi,2 + WITH2 x pw,2 – ci,2 x INJ2– cw,2 x WITH2 > > > > Constraints > > - For each time period i, if INJi > 0 then WITHi = 0 and if WITHi > > 0 then INJi = 0 - you can either withdraw or inject. I thought of using a > binary variable but then I realised that it would need to multiply INJi and > WITHi so I got stuck as it would violate linearity of objective functions > > - > > - For each time period I, cw,I and ci,I (cost of withdrawing and > cost of injecting) are a function of the gas stored in the facility. The > right curve here would be something similar to an exponential function > through the origin for ci, i.e. the more gas you have in the facility the > more it costs to push an extra unit of gas in. If one works with strep > functions, the formulation would be something like > > ci = 1 if sum of (inj – with ) over the periods up to i is > <= 3 > > 2 if sum of (inj – with ) over the periods up to i > is > 3 and <= 6 > > 3 if sum of (inj – with ) over the periods up to i > is > 6 > > > > For cw, the curve would be symmetric to the one above. > > cw = 3 if sum of (inj – with ) over the periods up to i is > <= 3 > > 2 if sum of (inj – with ) over the periods up to i > is > 3 and <= 6 > > 1 if sum of (inj – with ) over the periods up to i > is > 6 > > > > I am pretty stuck here so thanks a lot for any help > > > > Paolo > > > > >
_______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
