Savings Model



    {  ramsey.mpl  }

    {  GAMS Model Library, http://www.gams.com/modlib/libhtml/ramsey.htm   }

    {  Savings Model,  NLP,  Size: 22x33  }




TITLE
    Ramsey;

OPTIONS
    ModelType=Nonlinear
    ParserType=Extended

INDEX
    t := 1990..2000;
    tfirst[t] := (1990);
    tlast[t]  := (2000);


DATA
    TOrd[t] := (1,2,3,4,5,6,7,8,9,10,11);
    Bet := 0.95;
    B   := 0.25;
    G   := 0.03;
    Ac  := 0.15;
    K0  := 3;
    I0  := 0.05;
    C0  := 0.95;
    A   := (C0+I0)/(K0^B);
    Beta[t] := Bet^ord(t);
    LBeta[t=2000] := FORMULA(Beta[t:=2000]/(1-Bet));
!    Al[t]   := A*(1+G)^((1-B)*(TOrd-1)); Error msg
 !   Al[t]   := A*((1+G)^((1-B)*(TOrd-1))); Error msg
    AAl[t]   := A * POWER((1+G),(1-B)*(TOrd-1));
!    UpperIBound[t] := I0*((1+Ac)^(TOrd-1));
    UpperIBound[t] := I0 * POWER((1+Ac),(TOrd-1));


VARIABLES
    K[t];
    C[t];
    I[t];

MODEL
    MAX Utility = SUM(t<2000: Beta * log(C)) + LBeta[t:=2000] * log(C[t:=2000]);

SUBJECT TO

    CC[t]: AAl*(K^B) = C + I;

    KK[t>first(t)]: K = K[t-1] + I[t-1];

    TC[t IN tlast]: G*K <= I;

BOUNDS
    K[t=1990] = K0;
    K0 <= K <= 10;
    C0 <= C <= 10;
    I0 <= I <= UpperIBound;

END



Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page