A Genetic Algorithm Approach for the Scheduling in a Robotic-Centric Flexible Manufacturing System

Scheduling assumes a crucial importance in manufacturing systems, optimizing the allocation of operations to the right resources at the most appropriate time. Particularly in the Flexible Manufacturing System (FMS) topology, where the combination of possibilities for this association exponential increases, the scheduling task is even more critical. This paper presents a heuristic scheduling method based on genetic algorithm for a robotic-centric FMS. Real experiments show the effectiveness of the proposed algorithm, ensuring a reliable and optimized scheduling process.


Introduction
The manufacturing world is facing a set of constraints, either at an internal level, e.g., due to resource breakdowns or worker absences, or at an external level, e.g., due to rush orders or market fluctuations.In order to overcome these constraints, manufacturing companies must adapt their processes and system configurations, aiming to increase their flexibility and responsiveness.At this point, researchers are proposing new architectures where those topics are being addressed, guided by different governmental initiatives, e.g., Industrie 4.0 and Industrial Internet.Despite this, the proposed architectures must be firstly tested at laboratory environments, where methodologies, mechanisms and algorithms are developed and maturated before being at a mature state to be absorbed by industrial companies.
Particularly, the manufacturing scheduling is a complex problem that has a strong impact in the production efficiency.The scheduling problem consists of a finite set of jobs to be processed on a finite set of machines.Each job must be processed on a given machine and consists of a chain of complex of operations which have to be scheduled in a predetermined given order, a requirement called a precedence constraint [5].It is not an easy task to schedule a high number of operations in the manufacturing environment.There are several approaches to solve the problem and optimization is one of the most promising way.Examples are Tabu Search, Particle Swarm Optimization, Genetic Algorithm among others.
This paper addresses the scheduling of transfer operations in a robotic centric Flexible Manufacturing System (FMS), installed at a laboratory facility, supporting researchers with a working-bench for research topics.In particular, an optimization scheduling approach based on genetic algorithms is developed and tested in this production system.The achieved results show the effectiveness of the proposed algorithm, ensuring a reliable scheduling process of operations.
The paper is organized as follows.After this brief introduction, Section 2 presents some related work on the scheduling problem.Section 3 describes the flexible manufacturing cell case study.Optimization procedures are presented in Section 4 whereas Section 5 shows the achieved results.Finally, Section 6 rounds up the paper with conclusions and future work.

Related work
Generation of the robot program can be decomposed in three main sub-problems: Task Planning, Motion Planning, and Task Scheduling [7].
Task Planning defines and assigns the sequence of operations to be done in order to execute a manufacturing task.
The motion planning describes the desired movement task into discrete motions while avoiding collisions.As example picking several parts in a bin (binpicking) and planning the motion of the robot or arm.
On the other hand, scheduling, addressed in this paper, is the process of decide (while optimizing) the sequence of operations for each task in a production process or manufacturing process.Examples of scheduling are control air traffic control, airport gate management, allocate plant and machinery resources and plan production processes [8,12].
Nowadays, scheduling plays an important role in manufacturing.It is well addressed by many authors for several decades [2].
The task of scheduling a manipulator robot, one of the main objectives is to find the optimum sequence of the manipulators trip visiting a several points.This problem can be considered a variant of the well known traveling salesman problem (TSP) [10].Bringing the classical TSP to robotics the optimization focus on optimizing cycle time instead of distance, optimizing the path that ensures the execution of each task in the right order using the less amount of time.
There are several techniques applied to solve the scheduling problems, from deterministic approaches to heuristics procedures.Regarding the Heuristic meth-ods there are several approaches such as Artificial Intelligence, Simulated Annealing and Evolutionary algorithms [14].Classical optimization methods can also be applied to the scheduling problem such as the Genetic Algorithm (GA) or Tabu Search [1].

Flexible Manufacturing Cell Description
The experimental case study considered in this work is a real small-scale production system composed by one IRB 1400 ABB robot, two punching machines and two indexed lines, as illustrated in Figure 1.The machines are supplied by Fischertechnik and constitute a hardware platform that provides the necessary experimental environment.The indexed lines are composed of two workstations interconnected by several conveyors disposed in U shape, allowing to process four parts simultaneously.Each workstation, composed by the conveyors and machines, use eight 24V DC motors (four for the conveyors, 2 for the machines and 2 for the piston-like movement).Four switch sensors are used to determine the range of movement of the piston-like movement and five infrared sensors are used to detect the presence of the parts in the conveyors and in the processing positions.The indexed line A is controlled by an IEC 61313-3 program running in a Modicon M340 PLC (accessed by Modbus) while the indexed line B is controlled using a Omron CPM1 PLC (accessed by a RS232 asynchronous line).
The industrial manipulator robot executes the transfer operations between the machines using proper RAPID programs and is accessible through the ABB S4 DDE Server, wrapped in a OPC server.
Finally, a human operator performs visual inspection operations to verify if the processing operations are according with the specification.The human operator interacts with the system through a Human-Machine Interface (HMI) from Omron connected to the system using the Omron PLC C200HG PLC.
Two different parts types can circulate in the system, each one having a particular process plan as illustrated in Table 1.The circulation of parts within the flexible production system is tracked by a radio-frequency identification (RFiD) reader, which allows to uniquely identify each part.Each transportation task is executed using, the shared, the IRB 1400 robot.The available resources at the small-scale production system possess a set of skills as illustrated in Table 2. Having this, a control system manages the production in the system, comprising heterogeneous automation control devices by introducing agility and reactivity to the occurrence of unexpected disturbances, such as new products and machine failures, namely an ADACOR based holonic system is deployed in this small-scale system [11].
A crucial aspect, addressed in this paper, is the cell production scheduling that must address responsiveness issues, particularly allowing a swift (re)scheduling according to the system production needs and/or disturbances.

Optimization procedures
In the present work, the genetic algorithm (GA) was used, which is an optimization procedure based on the biological analogy of "survival of the fittest", oriented to solve constrained or unconstrained optimization problems [4].
The GA works with a population of individual, where each individual represents a given solution.The GA repeatedly modifies the population trying to improve the quality of the population over several generations.At each generation (iteration), it selects, randomly, individuals from the previous population to apply crossover and mutation procedures.In crossover procedure two random individuals are selected and exchange genes to obtain a different individual, whereas in mutation procedure only one individual is randomly selected and new genes are introduced [3].
The GA can be applied to solve a variety of optimization problems, including problems in which the objective function is discontinuous, non-differentiable, stochastic, or highly nonlinear [9].
The genetic algorithm applied in this work is summarized by the following algorithm.The initial population, P consists of N individuals, where each of one represents a feasible schedule (all constraints are satisfied).
The iterative procedure terminates after a maximum number of iterations (number of generations) or after a maximum number of function evaluations.

Numerical Results
The case study considers different scenarios, constructing different amounts of both parts A (n A ) and B (n B ), considering four scenarios namely: 10 parts of A and 5 parts of B; 5 parts of A and 10 parts of B; 10 parts of A and 10 parts of B; 20 parts of A and 10 parts of B.
In this work, it was consider x = (x 1 , ..., x n A +n B ) where x i represents the part to construct ("A" or "B") and each part needs four jobs, defined in Table 1, so x i j represents the machine that do the job j of the part x i , for j = 1, ..., 4 and i = 1, ..., n A + n B .For each x is possible to define the schedule of the n A parts of "A" and n B parts of "B", defined as S(x).The optimization problem is defined as min S(x).
The GA algorithm described in the previous section was used perform the identification of the best possible scheduled for the presented case studies.For the maximum number of iterations it was considered the value 100 and 5000 for the maximum number of function evaluations.
Since the genetic algorithm is a stochastic procedure the algorithm has performed 100 runs, from which was retrieved the minimum value in all runs, resulting in the sequence "BBBBAAAAAAAAAAB", which needs 137.4 seconds to construct all parts.The allocation sequence is represented in the gantt chart presented in Figure 2, where the colored columns represent the parts to be executed (one color per part) and in each line is the corresponding machines that the part has to visit in order to be built.

Jobs B B B B A A A A A A A
Due to the fact that there is no dependency between the parts, the algorithm leads to many global solutions to solve this flexible manufacturing problem.This means that the execution order of the parts order can be different and still have an optimal minimum value to performed all different parts "A" and "B".
The table 4 presents the results for the four scenarios, illustrating the minimum value of the objective function S(x), S min ; the average value of the found minimum, S avg ; the number of possibles results found with the minimum value, Nxmin; and the time, in seconds, that the GA needs to solve the problem Time.Notice that in each scenario the genetic algorithm has (n A + n B )! possible schedules to solve the problem.Is possible to verify that the time needed to solve the problem does not increases proportionally with the increase in the number of parts to be built.

Conclusion and Future work
This paper has presented a flexible manufacturing system (FMS) composed by a set of resources that is able to produce two product types, having each one a given production sequence.The paper addresses the problem of selecting the most appropriate product production sequence.This topic assumes a crucial importance in the way that the transportation of the parts to be produced in the FMS is accomplished by a shared robot, making its usage critical.
A genetic algorithm approach was developed to, having a given production batch, select the most appropriate production sequence.Results have shown that the used algorithm is able to successfully reach an optimized solution.
Future work will be devoted to further enhance the GA algorithm, making it more efficient, particularly in computation time.Additionally, the algorithm will be embedded into the control layer existent in the FMS, namely the multi-agent system where the IRB 1400 robot tasks are managed by a dedicated agent.

Algorithm 1 : Genetic Algorithm 1 :
Generates a randomly population of individuals, P , with dimension N 2: while Stopping criterion is not met do 3: BP = Best 50% individuals from population P 4: BP = Apply crossover procedure in population BP 5: BP = Apply mutation procedure in population BP 6: P= N best individuals of {P ∪ BP ∪ BP }

Table 1 .
Process plan for the catalog of parts

Table 2 .
Process plan for the catalog of parts

Table 3 .
Schedule obtained using genetic algorithm.