0
$\begingroup$

I have a demand curve represented by D. D has 48 discrete values across a day (every half hour), $d_t$, where $t\in [1..48]$. D is known and represents water demand of a customer at half hourly intervals. $d_t$ is measured in litres/hour

The problem has the following supply parameters:

  1. There are $N$ different sources of supply, $n\in N$. The supply of source $n$ at time $t$ is denoted $s_n^t$ and is measured in litre/hour. Each water source has a maximum supply rate per half hour. Therefore $s_n^t \leq s_n^{max/hh}$

  2. Water four source $n$ is supplied at a cost of $c_n$ litre/hour.

  3. For each day, there is a finite amount of water available to supply from each source denoted by $s_n^{max}$. Therefore the following constraint must hold within a day, $\sum\limits_{t=1}^{48} s_n^t \leq s_n^{max}$

  4. The total available water across all sources is given $s^{max}_{total}$. Therefore $\sum\limits_{n=1}^N s_n^{max} = s^{max}_{total}$

  5. The customer places different value on particular half hours of the day. So they will pay more per litre/hour in specific half-hours, than others, $p_t$.

So the solution I am trying to find is what is the optimum rate of supply for each water source, $s_n$, at each time $t$, given the cost of supply $c_n$ and the price paid for the total supply per hour, $p_t$. So $s_n^t$ is effectively a two dimensional matrix of dimension $n$ water sources by $t$ periods. Let's call this $S$, with the optimum solution being denoted by $S^*$

It occurs to me that the allocation problem is path dependent. That is, if the customer places a high value on half-hour demand periods towards the end of the day, and my supply is finite, I need to hold back supply to take advantage of that.

So far I have tried to solve this problem using a random-walk Monte Carlo approach. The problem is that this is a random walk and doesn't account for the path dependency. Also, the solution space is huge when there are several thousand sources of water supply - so simulation time is very long. I'd appreciate any help as to what type of class of problem this is and what types of viable algorithms would help solve this. Just to reiterate, it has high dimensionality - $n$ may be in the tens of thousands.

I have formulated the optimisation problem as follows, subject to the constraints above:


${\mathop{\mathrm{argmax}}\limits_{s_n^t}} \sum\limits_{t=1}^{48} \Big( d_t.p_t - \sum\limits_n^N c_n^t.s_n^t \Big)$

I'm struggling with how to define the above (maximise the net income each period) with the simultaneous need to minimise the difference between supply and demand for each period. That is, ${\mathop{\mathrm{argmin}}\limits_{s_n^t}} \sum\limits_t \Big(d_t - \sum\limits_n s_n^t \Big)$

Any ideas on as to whether I have described the problem correctly and secondly how to solve this, greatly appreciated.

  • 0
    There is one customer? Or else, how is demand per customer denoted? Have you tried linear optimization?2017-01-13
  • 0
    There is one customer - they set the demand curve. No I haven't tried Linear optimisation. I assumed it would not work for such high dimensionality - I am happy to give it ago if there is a suitable approach?2017-01-13
  • 0
    The problem is sparse, so it may work. Please try to formulate it, I can give hints if needed.2017-01-13
  • 0
    @LinAlg thanks. I have added a problem formulation. Does this make sense to you?2017-01-13
  • 0
    I'm not sure how to incorporate the need to refill ($r_i^j$) when the supply is empty, into the problem formulation2017-01-13
  • 1
    the available supply from a source is the previous supply, minus the demand, plus refill if possible, so something like min{s(t-1) - d(t-1) + r, capacity}?2017-01-13
  • 0
    I have removed the requirement to refill and just stated there is a maximum for per day and per half hour. I have also reformulated the problem as I think it was incorrect previously2017-01-14

0 Answers 0