Robust job-shop scheduling under deterministic and stochastic unavailability constraints due to preventive and corrective maintenance