An investigation of job shop scheduling for jobs with assembly constraints