Job Shop Scheduling With Due Dates And Variable Processing Times