Added non-overlapping ("l, m") constraint, as well as automatically adding one hard constraint every 10 iterations