The marginals are provided by the GAMS solver. They are merely undiscounted by TIMES (for user constraints, only those defined for each region and period are undiscounted, because only they can be considered to have an unambiguous discount factor).

GAMS gives the following explanations:

Marginal of equation: "The marginal value for an equation is also known as the shadow price for the equation and in general not defined before solution but if present it can help to provide a basis for the model."

"Roughly speaking, the marginal value .m of an equation is the amount by which the value of the objective variable would change if the equation level were moved one unit."

Level of equation: "Level of the equation in the current solution, equal to the level of all terms involving variables."

In the case of your dynamic equation, the marginals are undiscounted by the discount factor for period t if the equation is defined with UC_RHSRT(r,uc_n,t,bd) or UC_RHSRTS(r,uc_n,t,s,bd), and the marginal gives the amount by which the objective value would change per unit change of the equation slack. (As you must know, the equation slack has a value of zero if the marginal is non-zero.) So, with slack=1 you would have the LHS one unit smaller than the RHS:

Consequently, the level of the equation would also be changed by one unit (either the original LHS decreases or the RHS increases). However, the marginal is actually strictly valid only for an infinitesimally small change in the slack.

GAMS gives the following explanations:

Marginal of equation: "The marginal value for an equation is also known as the shadow price for the equation and in general not defined before solution but if present it can help to provide a basis for the model."

"Roughly speaking, the marginal value .m of an equation is the amount by which the value of the objective variable would change if the equation level were moved one unit."

Level of equation: "Level of the equation in the current solution, equal to the level of all terms involving variables."

In the case of your dynamic equation, the marginals are undiscounted by the discount factor for period t if the equation is defined with UC_RHSRT(r,uc_n,t,bd) or UC_RHSRTS(r,uc_n,t,s,bd), and the marginal gives the amount by which the objective value would change per unit change of the equation slack. (As you must know, the equation slack has a value of zero if the marginal is non-zero.) So, with slack=1 you would have the LHS one unit smaller than the RHS:

X(t) + slack(t) = a × X(t−1) + b

Consequently, the level of the equation would also be changed by one unit (either the original LHS decreases or the RHS increases). However, the marginal is actually strictly valid only for an infinitesimally small change in the slack.