model.Availability = Constraint(model.i, model.j, model.d, model.t, rule=Availability, doc='Availability') def GroupAvailability(model, i, j, d, t): return model.Sijdt[i, j, d, t] <= model.Adt[d, t] model.GroupAvailability = Constraint(model.i, model.j, model.d, model.t, rule=GroupAvailability, doc='Group Availability') def IsOpen(model, i, j, d, t): tmax = 95 if t + model.Cij[i, j] + model.Ti[i] >= 95 else t + model.Cij[ i, j] + model.Ti[i] return model.Sijdt[i, j, d, t] <= model.Oidt[j, d, tmax] model.IsOpen = Constraint(model.i, model.j, model.d, model.t, rule=IsOpen,