This is how I would develop the formulation (conceptually).
Investment costs, $Q$:
$$Q = sum_{i} m_{i} c_{i}$$Investment returns for $i$ at time $t$: we know that the return for $i$ is $m_{i} r_{i}$ if $t geq t_{i}$, otherwise it is 0. To model this
iflogical condition:
$$ R = sum_{i} delta_{i} m_{i} r_{i} $$
$$ delta_{i} = 1, text{ if } t geq t_{i} $$
$$ delta_{i} = 0, text{ if } t < t_{i} $$
where $R$ = overall returns. In this case, $t$ and $t_{i}$ are parameters, therefore $delta_{i}$ are parameters too, not binary variables. They can be pre-calculated for a specified $t$.
In summary, your problem can be represented as follows:
$$ max_{m_{i}} (R - Q)$$
s.t.
$$ Q = sum_{i} m_{i} c_{i}$$
$$ R = sum_{i} delta_{i} m_{i} r_{i}$$
$$ Q leq C $$
$$ m_{i} geq 0quad forall i$$
where $C, c_{i}, r_{i}, delta_{i}, t, t_{i}$ are parameters.
So, if $m_{i} in mathbb{R}$, this would be a linear program. If $m_{i} in mathbb{N}$, this becomes a mixed-integer linear program. (Note: for tractability in the integer case, you may need to specify a reasonably small upper-bound for $m_{i}$ or use partial integer variables)
For $t rightarrow infty$ (i.e. all the investments have reached maturity), simply set all $delta_{i} = 1$.
No comments:
Post a Comment