We have a portfolio of possible future expenses, denoted by
- a due date
$d_i$ (in terms of days after starting day); - a priority
$p_i \in [1,3]$ ; - a minimum cost value
$\underline{g}_{i}$ ; - a maximum cost value
$\overline{g}_{i}$ ; - a target cost value
$\hat{g}_{i}$ ; - a binary flag,
$f_i$ , indicating whether the expense is mandatory or not.
We also have the following relevant information:
- a recurrent expected budget
$b$ ; - a expected recurrence to the budget,
$\delta$ , in days; - number of days since last recurrence
$\delta_0$ ; - a initial budget
$b_0$ ; - number of iterations
$M$ ;
Note that the due date and minimum and maximum cost information are optional. The priority is in descending order, that is, priority 1 is the highest priority. Obviously, mandatory expense has even higher priority. We also ask to $\underline{g}{i} \le \hat{g}{i} \le \overline{g}_{i}$.
Usually, a monthly recurrence is expected, thus
We have the following decision variables:
-
$x_{i,j}$ : partial spend relative to$E_i$ in iteration$j$ ; -
$y_i$ : binary variable, indicating wheater$E_i$ is going to be attended or not. -
$\epsilon_i$ : absolute error between total spend on$E_i$ and target cost.
Total spend can not exceed maximum cost:
Minumum cost must be respected: $$ \begin{align} \sum_{j=0}^M x_{i,j} \ge y_i \cdot \underline{g}_i \end{align} $$
One can not have partial spends after due date:
Total spends must respect budget in each iteration:
Next constraint define relative error: $$ \begin{align} -\epsilon_i \cdot \hat{g}i \le \sum{j=0}^M x_{i,j} - \hat{g}_i \le \epsilon_i \cdot \hat{g}_i \end{align} $$
All mandatory expenses must be attendend: $$ \begin{align} y_i \ge f_i \end{align} $$
where