Hi I’m new to JuMP and i’m currently struggling to generate a working constraint for the Minimum Up/Down Time.

Indeed these are the “mathematical” formulation of what I wanna write:

**Σv(i) <= u(t)** for **i** in range **[t-UpTime+1 ; t]**

**Σw(i) <= 1 - u(t)** for **i** in range **[t-DownTime+1 ; t]**

To implement these constraints, this is how I proceeded :

```
@variable(uc_m, u[g in gen_names, t in time_periods], Bin)
@variable(uc_m, v[g in gen_names, t in time_periods], Bin)
@variable(uc_m, w[g in gen_names, t in time_periods], Bin)
# MinUpTime
if t <= UpT
@constraint(uc_m, sum(v[name, i] for i in t-1:-1:1) <= u[t] )
else
@constraint(uc_m, sum(v[name, i] for i in (t-1):-1:(t-UpT+1)) <= u[t] )
end
# MinDownTime
if t <= DownT
@constraint(uc_m, sum(w[name, i] for i in t-1:-1:1) <= 1 - u[t] )
else
@constraint(uc_m, sum(w[name, i] for i in (t-1):-1:(t-DownT+1)) <= 1 - u[t] )
end
```

The error I get is “Key 2.0 not found”. But my intuition was that the values below instant “t” would have already been computed by the optimization algorithm.

I would really be thankfull if someone could give me hints on how to write such constraints.

Thankss