Life Cycle Consumption Problem with Assets

Problem Statement

In the Life Cycle Consumption Problem, the lifetime budget constraint restricted consumption in equating the present value of consumption to the present value of wage income. The Life Cycle Consumption Problem with Assets extends the Life Cycle Consumption Problem in that the consumer is allowed to have assets, i.e., the consumer can borrow money and repay it in future periods or save money and spend it in other periods. The objective of the life cycle consumption problem with assets is to determine how much one can consume in each period so as to maximize utility. The model includes a constraint on the minimum asset level; if the minimum asset level is zero, the consumer is not allowed to borrow.

Mathematical Model

To formulate the life cycle problem with assets, we start with the same notation as the formulation for the life cycle consumption problem and add notation for assets.

P = set of periods = {1..\(n\)}

\(w(p,n)\) = wage income function
\(r\) = interest rate
\(\beta\) = discount factor
\(a_{min}\) = minimum asset level

Decision Variables
\(c_p\) = consumption in period \(p\), \(\forall p \in P\)
\(a_p\) = assets available at the beginning of period \(p\), \(\forall p \in P\)

Objective Function
Let \(c_p\) be consumption in period \(p\), where “life” begins at \(p=1\) and continues to \(p=n\). Let \(u()\) be the utility function and let \(u(c_p)\) be the utility value associated with consuming \(c_p\). Utility in future periods is discounted by a factor of \(\beta\). Then, the objective function is to maximize the total discounted utility:

maximize \(\sum_{p \in P} \beta^{p-1} u(c_p)\)

The life cycle consumption model with assets tracks the assets available at the beginning of each period. The constraint on consumption now is defined in terms of assets (wealth) and consumption. The wealth at the beginning of period \(p+1\) equals the wealth at the beginning of period \(p\) plus the net savings in period \(p\) (wage income minus consumption), multiplied by the return \(R\) on savings (where \(R = 1 + r\)). There is one constraint for each period:

\[a_{p+1} \leq R(a_p + w(p,n) – c_p), \forall p \in P.\]

The model assumption is that initial wealth is zero \((a_1 = 0)\) and that terminal wealth is non-negative \((a_{n+1} \geq 0)\).

There is a minimum asset level, \(a_{min} \leq 0\). If \(a_{min} = 0\), then no borrowing is allowed. Otherwise, an individual can borrow as long as s/he can repay the amount before period \(n\). Therefore, there is one lower bound constraint for each period:

\(a_p \geq a_{min}\)

Also, the amount consumed in each period should be non-negative:

\(c_p \geq \epsilon, \forall p \in P.\)

Demo and Examples

  • Enter a planning horizon (max=15), a discount factor, and an interest rate.
  • Enter a minimum asset level.
  • Select a utility function.
  • Click “Submit” to solve the problem using the NEOS Server.
  • Wait for the results to show up in the solution section at the bottom. The solution section will display the
    objective value, the optimal amount to consume in each period, and the corresponding asset value for each period.


  1. No Borrowing Allowed (\(a_{min} = 0\)): If we run the applet for a 15 period problem with the exponential utility function, the default wage function, the default values of 0.96 for beta and 0.10 for the interest rate, and a minimum asset value of 0 (no borrowing) using KNITRO, we obtain a solution in which consumption increases over the planning horizon, starting at 0.93 in period 1, increasing at a higher rate through period 4 (to 2.71), and then increasing at a slower rate to a peak of 3.31 in period 15. The assets have zero accumulation until period 4, then a steady increase to period 12 followed by a steady decrease to period 15.
  2. Borrowing Allowed (\(a_{min} < 0\)): If we run the applet again with the same inputs except we set the minimum asset value to -5 (borrowing allowed) using KNITRO, we obtain a solution in which consumption increases at the same rate over the planning period, starting at 2.24 in period 1 and peaking at 2.99 in period 15. In this scenario, the consumer can consume more in the earlier periods because he can borrow. The assets decrease from 0 in period 1 to -2.35 in period 4, then have a steady increase to period 13 followed by a decrease to period 15.

Input Parameters

Planning Horizon (T)
Discount Factor
Interest Rate
Minimum Asset Level
Utility Function
Wage Function w(p,T)



Objective Value
Consumption  Assets Period 1   
Period 2   
Period 3   
Period 4   
Period 5   
Period 6   
Period 7   
Period 8   
Period 9   
Period 10   
Period 11   
Period 12   
Period 13   
Period 14   
Period 15   

GAMS Model

$Title Life Cycle Consumption - with explicit modeling of savings

Set   p   period   /1*15/ ;

Scalar B discount factor /0.96/;

Scalar i interest rate /0.10/ ; 
Scalar R gross interest rate ;

R = 1+i ;

Scalar amin minimum asset level /0/ ; 

$macro u(c) (-exp(-c)) 

Parameter w(p) wage income in period p ;
w(p) = ((15 - p.val)*p.val) / 15 ; 

Parameter lbnds(p) lower bounds of consumption
              / 1*15 0.0001 / ;

Positive Variable c(p) consumption expenditure in period p ;

Variable a(p) assets (or savings) at the beginning of period p ; 

Variable Z objective ;

          budget(p) lifetime budget constraint ,  
          obj objective function ; 

budget(p) ..
        a(p+1) - R*(a(p) + w(p) - c(p)) =l= 0 ;

obj ..
        Z =e= sum(p, power(B, p.val - 1)*u(c(p))) ;

Model LifeCycleConsumptionSavings /budget, obj/ ;

c.lo(p) = lbnds(p) ;

a.lo(p) = amin ;

a.fx('1') = 0 ;

Solve LifeCycleConsumptionSavings using nlp maximizing Z ;