Tasks-to-Workstations Assignment in Assembly Systems Using a Stochastic Algorithm

Tasks-to-Workstations Assignment in Assembly Systems Using a Stochastic Algorithm

Copyright © IFAC Control of Industrial Systems, Belfort, France, 1997 TASKS-TO-WORKSTATIONS ASSIGNMENT IN ASSEMBLY SYSTEMS USING A STOCHASTIC ALGORIT...

1MB Sizes 0 Downloads 19 Views

Copyright © IFAC Control of Industrial Systems, Belfort, France, 1997

TASKS-TO-WORKSTATIONS ASSIGNMENT IN ASSEMBLY SYSTEMS USING A STOCHASTIC ALGORITHM

Viorel Minzu and Jean-Michel Henrioud

Laboratoire d'Automatique de BesaJl<;on ENSA1M - UFC - UMR 6596 25, Rue A/ain Savary, 25000 Besanfon, France

Abstract: In this paper, the authors propose a stochastic algorithm for tasks to workstation assignment in assembly systems, that minimizes the line's cycle time, This kind of optimization problem, as like the assembly line balancing, leads to a graph partitioning problem meeting precedence constraints. The algorithm uses a stochastic search technique, which considers, as possible solutions, only partitions of the task set. It converges with probability 1 to a global minimum. Keywords Manufacturing processes, Computer Integrated Manufacturing, Scheduling algorithms, Search methods, Optimal search techniques

1. INTRODUCTION

Whatever the structure of the scheduling system one have adopted, it contains a tasks-to-workstations assignment module.

Actually, the ability to react to the occurrences of unpredictable perturbations, during the fabrication, by changing the schedule, is considered as a fundamental capacity of the assembly systems.

This assignment problem is NP-hard and the search algorithms has an exponential computational complexity.

The flexibility at the control level embodies the different available task assignments for the same type of products or different type of products. But, because of the complexity of system configuration and the variety of system states, it is difficult to achieve the optimal scheduling solution in real time control.

A heuristic approach has been proposed in (Donath and Graves, 1988). In the paper (Van Brussel, 1990) the author has developed a rule-based reactive assembly task scheduling, which contains a task scheduling level and a real time control system level. The assignment problem is treated like an adaptive line balancing problem in (Yin and Henrioud, 1994).

To simplify the computation, and in the same time to keep some optimality, one tend to use multiple levels scheduling. For example, in (Roubellat and Thomas,1988) two levels scheduling decision maker is presented. Another short-term hierarchical scheduling policy, with three levels, has been proposed in (Gershwin et al., 1985).

The authors have proposed a searching technique based on a specific assembly model in (Minzu and Henrioud,1995) This paper proposes a particular implementation of the stochastic algorithm "Kangaroo", for solving the tasks-to-workstations assignment problem. This algorithm can be used in a short-term scheduling module for a single-model assembly line. Emphasize is placed on the "neighbourhood" definition, which is crucial for this kind of algorithms.

For the flexible assembly systems, the high sequencing flexibility, as well as the need of great robustness of decision, complicates the control problem.

1403

2 PROBLEM STATEMENT AND SIG1\TIFICANCE

3. STOCHASTIC DESCENT METHOD "KANGAROO"

Let's consider an assembly line formed by M operational workstations Wj, i=I, ... ,M. The assembly process for a given product is characterized by a task set T={tl, t2, ... ,tN} made up ofN assembly tasks. Some precedence constraints between tasks are involved by the assembly process. So, the task set is partially ordered by a precedence relation described by a digraph G=(T, lJl, UcTxT.

For solving the tasks-to-workstations assignment problem, one may use a stochastic descent method, called "Kangaroo" (Fleury 1993), inspired by the simulated annealing method, but having a quite different search strategy. As in the case of simulated annealing, the "Kangaroo" method is implemented by an iterative procedure which minimizes an objective function f(u). A current solution u of the considered problem is replaced by a better one situated in its neighbourhood N(u), using a random selection. If a new improvement is no longer possible, a "jump" procedure is performed, in order to escape from the attraction of a local minima. This procedure can use a different neighbourhood definition N'(u) for a random jumping.

The time needed by the workstation Wj to perform the task tj is Ljj. For some pairs (ij), it is possible that Lij=oo; that means the workstation Wj can not perform the task tj. The problem consists in finding a task-to-workstation assignment which minimizes the cycle time of the assembly line. In order to define the cycle time, let Pi be the task set assigned to the workstation Wj. Obviously, the sets Pi, i=I, ...,M determine a partition of the task set T. A such a partitions is denoted by u. The assembly line's cycle time t e is the maximum work content of a workstation : t e (u)

= . maxM 1=1,...,

j

LP, L"g

The strategy is to explore as much local minima as possible, in the available time. So, the chance to reach a global minimum increases asymptotically. The "Kangaroo" algorithm is described here after.

algorithm Kangaroo begin Initialize A; Choose an initial solution u; c ~ 1; u* ~ u; repeat ijc
(1)

E

A proper assignment is a partition u which meets the precedence constraint and the feasibility constraint (Lij
procedure descent(u, u*, c) begin Random generation ofv in N(u) ; lff(v) ~ f(u) then {Iff(v)
c ~ c +1 ; end descent; procedure jump(u, u*, c) Random generation ofv in N'(u); lff(u) :1' f(v) then {c ~ 0; iff(v) < f(u*) then u*~ v}

Notice that, if the processing time of a task tj do not depend on the assigned workstation Wi (Lij=Lj), our problem is equivalent to the assembly line balancing problem. It is easy to prove that the idle time is

c ~ C+l; u~v;

(3)

endjump;

Hence to minimize the idle time means to minimize

The parameter A is the maximum number of iterations without improvement of the current solution and u* is the best solution found until the current iteration.

!c(u).

1404

3

The variable c counts the iteration number between two improvements of the objective function.

3

2

3

The stop criterion is either a maximum iteration number or a bottom bound of the objective function f() It can be shown that, under several conditions fulfined in practice, this method converges with probability 1 to a global minimum off0 (Fleury, 1995).

3

2

5

3

Fig.l Precedence graph and a partition meeting the precedence constraint

The procedures "descent" and "jump" use, in principle, two different definitions for the neighbourhoods N(u) and N(u) But N(u) and N(u) may be the same in some implementations of the "Kangaroo" algorithm.

The partition suggested by this figure is u={{I, 2, 3, 5}, {4, 6, 8, 9},

Here after, a specific definition of the neighbourhood N(u), for the assignment problem, is proposed.

p,

10, ll}}.

(7)

It meets the precedence constraint. One can apply the shift left operator for the task 4 and it results the partition

Let u be the current solution in the iterative research. If u is a feasible assignment, it must be a partition of task set T meeting the precedence constraint described by the graph G. When one uses a deterministic optimization algorithm (like as exhaustive search, dynamic programming, ... ), the partition constraint is the reason of the exponential complexity. Families of task set, that are not partitions, are generated as intermediary states and final tests are necessary.

u'={ {l, 2, 3,4, 5}, {6, 8, 9},

p,

10, ll}}

(8)

For the task 6 the shift left operator is not well defined. In the same way, a shift right operator (9)

can be defined as below :

In the proposed algorithm, all the intermediary solutions are partitions, because N(u) contains only partitions of the task set T. With the notations of section 2, a partition is denoted by

tjEPio, io
(4)

If u meets the precedence constraint, u ' will also meet this constraint, if all the successors of the task tJ belong to the sets Pio+J, Pio+2, ...,PM·

One may consider a shift left operator (u, tj)

shl

--~)

, u,

(5)

From now on, a shift operator is either a shift left, or a shift right operator. To apply a such operator to a partition u for a task tj, one has to verify the constraints concerning the predecessors or the successors of tj_

which generates a partitions u' when it is applied to a partition u for a task tj This operator moves the task tjEPio, io>1 from the set Pio to the set Pio-] If we denote u'={P'J, P'2,.·,P'M} it holds P'io-J=Pio-J v{tj} ; P'io=Pio -{tj} P\ =P j , i :t: io-l ; i :t: io ;

The main idea of the proposed algorithm is that the next solution is obtained from the current solution by a shift operator. Hence, it generates only partitions which moreover meet the precedence constraint, if the initial partition also verifies this constraint.

(6)

If u meets the precedence constraint, u ' win also meet this constraint if all the predecessors of the task tj belong to the sets PJ, P2, ... ,Pio-I' If this condition is not verified, one considers that the shift operator is not wen defined, because u' does not meet the precedence constraint.

In the current partition, there are several tasks which can be shifted. The proposed algorithm forms a list L composed by these tasks. A task may be present two times in L, when the same task can be shifted left and right (both operators are wen defined).

For example, an assembly line having 3 workstations performs 11 tasks. The precedence constraints between tasks are described by the precedence graph shown in fig. 1. For any task, the processing time is also indicated near the associated vertex.

The algorithm constructs also the list D, which contains the corresponding destination workstation's index.

1405

For example, ifu is the partition illustrated in fig. 1., it holds L=[3, 5, 4, 6, 8, 9, 7] ; D=[2, 2, 1,3, 1,3,2] (11) The neighbourhood N(u) is the set of partitions u' obtained by shifting all tasks tj belonging to L. So, to generate a partition u'EN(u) is equivalent to choose a task in the list L. The random generation of the task, that will be shifted, is done in accordance with a uniform distribution law. The neighbourhood's definition allows, obviously, to have acces to any partition, by a sequence of shift operators, whatever the initial partition is. This is a necessary condition for the convergence to an optimal solution. With the elements described above, the "descent" procedure becomes:

procedure descent(u, u*, c) begin

- Construct the list L of tasks which can be shifte and the corresponding D list; - Random generation ofa task lj in L; - Construction of the partition v by shifting tj in u; lftc(v):=:;tc(u) then {Ifte(v)
Only the tasks belonging to the maximum work content workstations and which can be shifted have been considered. Intuitively, to decrease the line's cycle time, one have to shift a task belonging to a such workstation. For example, the second variant of the proposed algorithm constructs the lists L=[4, 6,8,9] and D=[I, 3, 1,3]

(12)

in the current state suggested by fig. I (W 2 is the maximum work content workstation). Sometimes, the partitions obtained in the iterative process are not feasible assignments because tij= oc for some pairs (~j). In this case tc(u)=oc. One must to consider such partitions, in order to assure the accessibility of any partition by the neighbourhood structure. An important advantage of the "Kangaroo" algorithm is the fact it works even for objective function with infinite values. This is not the case with simulated annealing algorithm The main point, in a real implementation of the "Kangaroo" algorithm, is the choice of the iteration number A without improvement of the objective function.

{c+--O ; iftc(v)
4. APPLICATION

u +-- v; For the school example illustrated in fig. 1, the iterative process which minimizes the line's cycle time is presented in fig. 2. The initial partition considered is the worst one :

}

c+-- c+ I ; end descent; In a second variant of the proposed algorithm, the efficiency have been improved by reducing the number of tasks of the list L.

(13) Obviously, for the large assembly systems, one may choose an initial solution that corresponds to a real tasks-to-workstations assignment. So, the proposed algorithm will find faster a "good" or an optimal solution, depending on the available run time.

cycle time

37

A summary of the best solutions obtained in the iterative process is presented in Table I and Table IT. Table I presents the best solutions for A=5 and A=10, using the first variant of the algorithm CL is made up of all the tasks which can be shifted).

13

lOO

200 iteration

Fig.2 Evolution of the minimum cycle time in 250 iterations

1406

The global minimum for the considered problem is t c*= 13. The processing times, indicated in fig. I, are workstation independent. For A=5, an optimal solution is found in less than 150 iterations. For A=lO, the algorithm has a better behaviour. An optimal partition is found in less than 50 iterations.

(implemented in C language) has found 3 optimal solutions.

Table 1. Solutions obtained using the first variant of the algorithrnfor the problem described in fig. 1

iteration number 50 100 150 200 250

te * 14 14 13 13 13

A=5 solution number 2 2 1 3

te *

4

13 13 13 13 13

For real problems, the algorithm has found some optimal solutions in few seconds (1000 -10000 iterations), using a 486 Pc.

A=10 solution number 1 2 4 4 5

All the tests have proved that the algorithm may be used in real time scheduling module.

5. CONCLUSION Generally, A has the same size order as card(N(u)). In practice, a tuning of parameter A is necessary, for each assembly line and each product type.

The proposed algorithm uses a stochastic search technique, which generates, as possible solutions, only partitions of the task set, which, moreover, meet the precedence constraint.

The second variant of the proposed algoritlun is faster than the first one. That means the global minimum is found in a smaller iteration number.

The test of partition and precedence constraints is no longer necessary. Hence, the algorithm's complexity is not so big as in the case of enumerative methods (dynamic programming and branch and bound).

The Table 11 shows a better behaviour of the iterative process in comparison with the first column (A=5) of the Table 1.

The neighbourhood definition guarantees the accessibilty of the optimal solutions, for any initial solution.

Table 11. Solutions obtained using the second variant of the algoritlun

iteration number 50 100 150 200 250

t e* 13 13

13 13 13

Moreover, the Kangaroo algorithm manages with objective functions having infinite values. If the current solution does not meet a certain natural constraint of the problem, the objective function may take an infinite value, in order to penalize this fact. The next state of the iterative process may be set up by a current solution, whose value of the objective function is infinite. So, the accessibility constraints are weaker than in the case of simulated annealing method.

A=5 solution number 1 2 2 2 4

The algoritlun converges with probability 1 to a global minimum. This is not the case with other heuristic search methods.

The both variants of the algorithm have been used to solve tasks-to-workstations assignment problem for large assembly systems (N=40-60).

The parameter A must be tuned by simulation, for each assembly line and for each precedence graph.

In Table Ill, the evolution of the objective function is presented for an assembly system with 60 tasks and 10 workstations. The global minimum solution is le *=29. In 4600 iterations, the algoritlun

This approach is realistic and may be improved by adding some deterministic elements in the descent procedure.

Table III Cvcle time evolution in the iterative process for a large assemblv system (N=60) iteration number te iteration number te iteration number te iteration number te

50

100

200

REFERENCES

46 500

39 1000

37 1100

36 1750

34 2000

35 2150

32 2500

31 3500

30 4000

41 4500

33

33

4574

4589

Donath, M. and Graves, R. Flexible Assembly Systems : an approach for near real-time scheduling and routing of multiple products, Int. 1 Prod. Res., Vo1.26, No.12,1988, P1903-1919. Fleury, G. (1995). Applications des methodes stochastiques inspirees du recuit simule it des problemes d'ordonnancement. In : Automatique Productique Informatique Industrielle, Vol 29 no 4-5/1995, p445-470.

31

32

29

29

1407

Gershwin, S. et al. Short-tenn production scheduling of an automated manufacturing facility. In IBM l RES. DEVELOP, Vo1.29, NoA, 1985, p392-400. Minzu, V. and Henrioud, lM. (1995) Algorithm for Reactive Scheduling in Flexible Assembly Systems. Proc. of the 3rd IFAC Workshop Intelligent Manufacturing Systems IMS'95, Bucharest, October 24-26 1995, vo1.2, p395-399.

Roubellat, R. and Thomas, V. Une methode et un logiciel pour l'ordonnancement en temps reel d'ateIiers. In : APll, 1988/05 p419-438. Van Brussel, H. Planning and scheduling of assembly systems, Annals of the CIRP, VoI.39/2, 1990. Yin, B. anh Henrioud, lM. Adaptive Line Balancing for Flexible Assembly Systems, Proc. of IEEE Int. Conference on Robotics and Automation, 1994, San-Diego, p 1980-1985

1408