MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm interested in the solution to the following problem:

I have initial capital $C$ which I can invest into $M$ classes of resources, each unit of a class $m_i$ matures at time $t_i$, has a return of $r_i$ and a cost $c_i$. After the asset matures it the proceeds can be re-invested. What is the optimal strategy to invest $C$ in terms of profit at time $t$ and for $t\rightarrow\infty$?

I am interested in both cases where $m_i$ is in the non-negative reals and the case when $m_i$ is a member of the non-negative integers.

What is the field that studies this type of continual optimization problem?

share|cite|improve this question
Forgive my ignorance, but what is $\mathbb{R}^{*}$? – Gilead Aug 19 '10 at 15:32
Also to answer your question as to what is the field that studies this topic, I'm not sure what kind of answer you are are looking for, but these types of problems are routinely handled in mathematical programming, operations research, financial mathematics, etc. – Gilead Aug 19 '10 at 15:53
Gilead: with the way things are on these sorts of problems, I suppose it means "the set of positive reals." – J. M. Aug 19 '10 at 15:58
@J. Mangaldan: I think that makes sense. I'm more used to $\mathbb{R}_{+}$ for positive reals. – Gilead Aug 19 '10 at 18:37
Non-negative reals (I allow zero investment in a particular class) – user3875 Aug 19 '10 at 22:09

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 if logical 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 0\quad \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$.

share|cite|improve this answer
I clarified in the post that re-investments of profits are permitted. This was clear original but it is this that posed the essential difficulty for me. – user3875 Aug 19 '10 at 22:16
This answer was valid under the assumption of no reinvestment. With reinvestment, a different approach is needed. – Gilead Aug 19 '10 at 22:38
Yes, obviously. Do you want the reputation points and me to re-post the edited question? – user3875 Aug 19 '10 at 22:59
No, it's okay, don't worry about it. I'm interested to see what the people at OR-Exchange come up with -- the problem is not as easy as it looks. – Gilead Aug 19 '10 at 23:56

Assuming $c_i$ is the cost for investment per unit till maturity. Then for a particular class $m_i$, the gain per unit investment per time is $$\frac{(1+r_i)-c_i}{t_i}$$

Consequently, minimize the quantity over all $i$ and invest all your money there.

share|cite|improve this answer
I'm thinking while this maximizes overall profit, but it doesn't account for the fact that a given time $t$, not all investments have reached maturity, hence the payout at time $t$ is not necessarily optimal. What do you think? – Gilead Aug 19 '10 at 18:37
Yes I agree with the problem raised by Gilead. Profits are only realized at discrete time intervals. – user3875 Aug 19 '10 at 22:15
Yes, but it won't matter as $t\rightarrow\infty$. That condition effectively means you don't know when the system will end, and you keep repeating your investments for ever. – KalEl Aug 20 '10 at 15:16
Also if the $t\rightarrow\infty$ condition is removed, the solution hardly changes - then at each repeat you will keep investing your money at the class given by the same formula. Only you need to be careful that at each repeat of the investment, you must not consider the classes which takes longer to mature than the time you have remaining. – KalEl Aug 20 '10 at 15:19
I think the latter condition makes the greedy approach non-optimal. Presumably there is some other strategy that may "fit" better into the timeline so that less time goes "unused" and consequently yield a higher total return (depending of the specific rates of return. I'm not sure if it is obvious that there exists a $T$ such that one strategy will dominate all others for all $t > T$. – user3875 Aug 20 '10 at 23:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.