I. Introduction
Job-Shop Scheduling Problem (JSSP) describes a scenario in which a predefined number of manufacturing jobs are scheduled on a specific number of machines. Each job consists of a set of operations which runs in a sequenced order on predefined machine types. The schedule target is to sequence all operations in a certain order so that the production line make-span is optimized. The make-span denotes the time needed to finish all scheduled jobs [1],[2]. A Flexible Job-Shop Problem (FJSP) is a deterministic extension of the JSSP where operations [3]. FJSP is solved by selecting one available machine from a certain machine-set to perform an operation with the flexibility of performing the same operation by another machine from the same set, then the basic JSSP of sequencing the jobs operations takes place.