3. One of the oversimplifications made in our discussion of scheduling was that there were no “due dates” involved for the tasks making up a job. Develop an algorithm for solving a scheduling problem under the assumption that each task has a due date as well as a time length. You will probably want to decide on a penalty amount that will occur when a due date is exceeded.