Principles of Sequencing and Scheduling