Variable Neighbourhood Search and Mathematical Programming for Just-in-Time Job-Shop Scheduling Problem