help-glpk
[Top][All Lists]

## Re: [Help-glpk] IRR (Internal Rate of Return) using MathProg

 From: Jeffrey Kantor Subject: Re: [Help-glpk] IRR (Internal Rate of Return) using MathProg Date: Sun, 16 Sep 2012 09:26:19 -0400

```Given a set of cashflows (including negative ones denoting
investment), IRR is found by finding a real root to a high order
polynomial f(x) = c0 + c1*x + c2*x^2 + ... + cN*x^N in a single
variable where the cashflows are coefficients and the unknown is x =
1/(1+r).  This is pretty routine calculation, but it isn't a linear
program.

There is at least one special cases, optimizing IRR for a series of
bonds with bounded coupon rates, where a direct MILP formulation has
been proposed, but otherwise optimizing IRR is going to involve some
iteration.

There are some other issues with IRR as well. One is that changing the
sign of the cash flows leaves  IRR unchanged, and a highly volatile
cash flow can result in multiple real roots, so you have to be sure
you're getting a meaningful one. The other issues relate to whether
it's appropriate to a particular problem. IRR is not sensitive to the
scale or utility of an investment, or to a mutually exclusive
alternative investment.  So it's like a chainsaw -- lots of risk if
not used carefully.

On Fri, Sep 14, 2012 at 10:47 PM, Andrew Makhorin <address@hidden> wrote:
>> Erwin manage to implement IRR using GAMS (below).
>>
>> http://yetanothermathprogrammingconsultant.blogspot.com.au/2010/03/calculating-irr-internal-rate-of-return.html
>>
>> Any GAMS expert in the list who might be able to help translate this
>> GAMS IRR script into MathProg IRR script.
>>
>
> Literal translation is impossible, because Erwin's model finds a
> feasible solution of a non-linear program (that is, solves a system of
> non-linear equations defined by 'ecashflow' equality constraints).
>
>
>
> _______________________________________________
> Help-glpk mailing list