Cost Function in a Gas Market Model

I am trying to formulate the correct objective function for the following problem: Minimize the total cost in a gas market from the perspective of the consumer.

• There are storage from which you can withdraw and also inject to, with max. capacities (given).
• Injection as well as withdrawal to and from the storage are associated with costs (given).
• The futures gas prices are given.
• There is a matrix that tells us how much the gas price has to increase/decrease at time t to increase/decrease supply by x (given) amount.
• Supply and Demand has to balance at every timepoint t.

I have formulated the cost function as per below: $$\sum_{t=1}^Tc_WW_t+c_II_t+(W_t-I_t)P_t + MC_t$$ where $$MC_t$$ are the costs associated with the matrix. The matrix part in the objective function is a piecewise linear function defined as: $$MC_t = \sum_{i=1}^N\lambda_{i,t}Q_{i}(P_t + CPU_{i,t})$$ where $$P_t$$ are the given gas prices, $$Q_{i}$$ are the supply increase/decrease given by the matrix (can take negative values), $$CPU_{i,t}$$ are the price increase/decrease given by the matrix (can take negative values) and $$\lambda_{i,t}$$ is used for the linear interpolation between its breakpoints.

Also, $$I_t$$ is the injection quantity (positive) to the storage and $$W_t$$ is the withdrawal quantity (positive) from the storage at time t and $$c_I$$, $$c_W$$ are the injection and withdrawal costs, respectively.

Would you be able to say that my formulation is correct? Am I missing something obvious here? Would you do it any differently? Have you encountered similar problems? If you need more info/clarifications, please ask away!

• Is the objective to minimize the sum of costs of each purchase regardless of timing? "Cost" in this case being total money, or unit gas price? Commented Jul 5 at 12:25
• Is injection unit price paid to the consumer equal to the negative value of withdrawal price paid by the customer, or are these unit prices different? Commented Jul 5 at 12:28
• Is there only one storage facility? If not, how many? Commented Jul 5 at 12:30
• @Reinderien The objective is to minimize the total cost of the system, from the consumer's perspective, across all time points (the sum over all timepoints t). The consumer here is the agent that consumes the commodity, not the storage. The injection/withdrawal costs are paid for by the storage owner (in this case we assume it is just one storage). The storage does not have incetive to operate if the difference between the price at which it can sell (withdraw) gas and the price at which it can buy (inject) gas is less than the cost of injecting and withdrawing. Commented Jul 6 at 14:55
• So, here I guess the consumer has to pay for this implicitly by letting the storage buy $I_t$ units at price $P_t - c_I$ and sell $W_t$ units at price $P_t + c_W$. Commented Jul 6 at 14:56