Added more detailed calculation to the cost function in order to discourage back to back duty scheduling. Also added even more data validation and console input options.