How does 'ramsey_constraints' work

Hi everyone,

I have succesfully implemented optimal policy to my DSGE model using the ramsey_policy command. The model features unemployment and the instrument of the planner is a labour income tax. In some occasions, unemployment can turn negative (depending on the shock size), which of course does not make so much sense. Otherwise and under non-optimal policy, the model behaves well. I now tried the command-block
’ramsey_constraints’ to avoid negative values, which I used as follows:

utot > 0;

utot denotes unemployment. The inclusion of this block, however, does not seem to change anything. I can still obtain negative values for utot.

Is it important at which position in the code I include the block? Right now I have it directly before ramsey_policy(…);

Is there anything else I need to consider when using ramsey_constraints?

Out of curiosity for a better understanding: What is the technical background of this command? Does it include kind of an occasionally binding constraint to the model block?

Many thanks for your help!


Could you please provide me with the files?

I sent you some code to you in a PM.

Thanks a lot for your help. Please let me know if anything is unclear in it.


As far as I can see, that command only works with the lmmcp perfect foresight solver. So it will only work in a perfect foresight context.

I see, thank you for clarifying!