help-glpk
[Top][All Lists]

## [Help-glpk] LP problem with variable coeffcients (parametric LP simplex)

 From: Paolo Rossi Subject: [Help-glpk] LP problem with variable coeffcients (parametric LP simplex) Date: Mon, 4 Apr 2011 18:47:31 +0100

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