Ramsey model optimizer

Hello, I am sorry if my question is somewhat trivial, but I am doing my master’s and am new to dynare especially to problems minimizing a loss function of a planner. In the screenshot I provide my exercise (1 and 2 are the standard IS and NK Phillips Curve)

Here is my approach:

// Inflation Forecasting and Monetary Policy

// Practice Session 2

// https://www.dynare.org/manual/the-model-file.html#occasionally-binding-constraints-occbin

// List of variables

var

    x ihat pi

    y i

    rn upsilon vartheta;

varexo

    e_r e_upsilon e_vartheta;

// List of parameters

parameters

    sigma kappa beta phi_i phi_pi phi_y theta

    pitarget iss rss yss

    rho_r rho_upsilon rho_vartheta sigma_r sigma_upsilon sigma_vartheta;

// Calibration

sigma = 0.5;

kappa = 0.02;

beta = 0.99;

phi_i = 0.9;

phi_pi = 1.5;

phi_y = 0.5;

theta = 7.66;

pitarget = 0.005;

rho_r = 0.85;

rho_upsilon = 0.5;

rho_vartheta = 0.3;

sigma_r = -1;

sigma_upsilon = 0.005;

sigma_vartheta = 0.002;

rss = 0.0025;

iss = pitarget + rss;

yss = 0;

model;

    x = y - yss;

    ihat = log(1+i) - log(1+iss);

    x = x(+1) - sigma\*(ihat - (pi(+1)-pitarget) - rn);  // AD

    pi - pitarget = kappa\*x + upsilon + beta\*(pi(+1)-pitarget); // AS

    rn = rho_r\*rn(-1) + sigma_r\*e_r;

    upsilon = rho_upsilon\*upsilon(-1) + sigma_upsilon\*e_upsilon;

    vartheta = rho_vartheta\*vartheta(-1) + sigma_vartheta\*e_vartheta;

end;

planner_objective y^2 + (theta/kappa)\*(pi - pitarget)^2;

ramsey_model(planner_discount=beta, instruments=(i));

ramsey_constraints;

i >= 0;

end;

shocks;

var e_r; stderr 6;

end;

stoch_simul(order=1,irf=20) y pi i rn;

evaluate_planner_objective;

=> My problem: dynare seems to ignore the ZLB I tried to impose in ramsey_constraints; when I look at the IRF’s I see that the variable i goes to -6 and this would not work with a ZLB. I have solved another exercise with occbin but there I am confused how I would implement this in combination with a ramsey model. Does somebody see the issue?

One possibility is to use the perfect foresight approach outlined at DSGE_mod/Gali_2015/Gali_2015_chapter_5_commitment_ZLB.mod at master · JohannesPfeifer/DSGE_mod · GitHub

Thanks, I tried it with perfect foresight solver but I encountered similar issues, how do I get my ZLB to bind? Did i specify sth wrong?

That’s what the mcp tag is for.