SCHEDULING WITH CONSTRAINTS