Skip to main content
Added info
Source Link
Gilead
  • 611
  • 1
  • 4
  • 9

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$.

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 linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

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$.

Omission - nonnegativity of m_i
Source Link
Gilead
  • 611
  • 1
  • 4
  • 9

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 linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

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 $$

where $C, c_{i}, r_{i}, \delta_{i}, t, t_{i}$ are parameters.

So, if $m_{i} \in \mathbb{R}$, this would be linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

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 linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

Formatting
Source Link
Gilead
  • 611
  • 1
  • 4
  • 9

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$: $$m_{i} r_{i} \text{ if } t \geq t_{i}$$

To model this logical condition, we can write: $$ 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$.

  • 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 (R - Q)$$$$ \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 $$

where $C, c_{i}, r_{i}, \delta_{i}, t, t_{i}$ are parameters.

So, if $m_{i} \in \mathbb{R}$, this would be linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

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$: $$m_{i} r_{i} \text{ if } t \geq t_{i}$$

To model this logical condition, we can write: $$ 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 (R - Q)$$ s.t. $$ Q = \sum_{i} m_{i} c_{i}$$ $$ R = \sum_{i} \delta_{i} m_{i} r_{i}$$ $$ Q \leq C $$

So, if $m_{i} \in \mathbb{R}$, this would be linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

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 $$

where $C, c_{i}, r_{i}, \delta_{i}, t, t_{i}$ are parameters.

So, if $m_{i} \in \mathbb{R}$, this would be linear program. If $m_{i} \in \mathbb{N}$, this becomes a mixed-integer linear program. For $t \rightarrow \infty$, simply set all $\delta_{i} = 1$.

Source Link
Gilead
  • 611
  • 1
  • 4
  • 9
Loading