• 沒有找到結果。

Tecnomatix Plant Simulation

3.2 The buffer allocation problem

Production systems are often organised with machines connected in series and separated by buffers. This arrangement is often called a flow line or a production line (Gershwin

& Schor, 2000). The buffer allocation problem is a well-known problem in the design of production lines.

The basic setting of the BAP is the following (Bekker (2012), Alon et al. (2005)).

Consider a production line consisting of m machines in series, numbered 1, 2, ..., m.

Jobs are processed by all machines in sequential order. The processing time at machine i has, generally, a fixed distribution with rate µi, i = 1, 2, ..., m. The machines are assumed to be unreliable and their failures are operation dependent failures (ODFs) with Poisson distributions having parameters λiwhile their repair times are exponential with parameters βi, i = 1, 2, ..., m. All processing, failure and repair times are assumed to be independent of each other.

The machines are separated by m−1 storage areas or niches in which jobs i.e. work-in-progress (WIP) can be stored (Figure 3.3). The total number of storage spaces, or buffer spaces, is unknown and must be minimised and the required number of buffer spaces can be determined by estimating the WIP.

Figure 3.3: A typical series of m machines with m − 1 niches.

When a machine breaks down, this can have consequences for other machines up-stream or downup-stream in the production line. Particularly, an upup-stream machine can become blocked when its successor has failed, while a downstream machine can even-tually become starved if its predecessor has failed.

The objective functions in this case are the throughput rate TR(x, ξ) (to be max-imised) and WIP (to be minmax-imised), denoted by WP(x, ξ). The values of the objective functions are estimated by means of simulation models of the BAPs as the system is subject to the stochastic element, ξ, caused by the machines’ failures as well as repair and processing times. Also, because these objectives are conflicting, the problem is a multi-objective simulation-optimisation problem and can be formulated as

Minimise (E[−TR(x, ξ)], E[WP(x, ξ)])T Subject to

x ∈ N.

x = (x1, ..., xm−1) is the decision vector, where xi is the number of buffer spaces at niche i. Because xi is a discrete number and there are potentially an infinite number of alternatives for x, this BAP is a combinatorial optimisation problem and thus has a large solution space, so it is a large-scale SO problem.

3.2.1 Solving a large-scale SO problem with Tecnomatix

TPS uses a built-in optimisation suite/solver that enables SO. The suite uses a genetic algorithm metaheuristic for the task. Though there are many variants of the GA in the literature, their core principle is similar. The author briefly explains how GAs work fromKonak et al. (2006).

GAs are inspired by the biological principle of evolution with the survival of the fittest being a fundamental property. In nature, weak and unfit members of species within their environment are faced with extinction by natural selection while stronger ones have greater chances of surviving by passing their genes on to future generations via reproduction. GAs base their search mechanism on these principles.

In the GA terminology, x ∈ N is called a chromosome (Konak et al., 2006). Chro-mosomes are made of units called genes. In many variants of the GA, genes are binary

digits and chromosomes correspond to unique x ∈ N. Thus, the actual values of x are encoded in binary form during the search process and decoded again to evaluate the fitness of the results found (e.g. T R(x, ξ)). GAs operate iteratively with a collection of chromosomes, called population. In every iteration, fitter chromosomes exchange their genes with one another to form new chromosomes that are carried in the following iteration. In this way, future populations have progressively fitter chromosomes as the search progresses. When the search is carried out for long enough, convergence usually occurs, meaning that one chromosome has achieved a level of fitness that can hardly be improved. An iteration in GA terms is also referred to as a generation.

When making use of the optimisation suite, the analyst must specify the desired number of generations as well as the size of a population via the suite user-interface (the GAWizard ). Also, the analyst specifies the objective functions of interest, the optimisation direction (min or max), the solution space to be searched and the desired number of observations r to be applied to each chromosome that must be evaluated.

Note that unlike in the previous problem, here r is selected “blindly”.

For multi-objective problems, TPS GA does not use the Pareto approach. Instead, MOO problems are treated as single-objective problems by using the weighting sum approach (a scalarisation method) (seeMarler & Arora(2004)). The solution found by the optimisation suite is therefore a single solution and not a Pareto set.

3.2.2 Specifics of the BAP solved

In the BAP that was solved with TPS, the number of machines was m = 5. All repair and processing times were assumed to be exponentially distributed whereas machine failures followed a Poisson distribution. Table 3.3 summarises the information about all machines.

Table 3.3: Machines information for the BAP.

Machine 1 2 3 4 5

Processing times (µi) 60 min 55 min 50 min 46 min 43 min

ODFs (λi) 20 20 20 20 20

Repair times (βi) 120 min 120 min 120 min 120 min 120 min

The input parameters in the optimisation suite were as follows. The optimisation direction was chosen to be maximisation and the objective functions were, consequently,

entered as TR(x, ξ) and −WP(x, ξ). For the purpose of the experiment, both objectives were given weights indicating that they were equally important to the analyst (i.e. 0.5).

(Note that the selected weights must add up to 1.) The number of generations was chosen to be 20 while the population size was made 20. To create the feasible solution space X, xi was constrained such that 1 ≤ xi≤ 20 and r was made, arbitrarily, 15.

3.2.3 Results and limitations

The single solution obtained by the suite was x = (6, 6, 4, 2) with TR = 85.77 and WP = 18.

To test the quality of the result obtained, the model was run further with more constrained feasible solution spaces while using the same weights. The results obtained are summarised in Table3.4.

Table 3.4: GA solutions for more constrained solution spaces.

Solution space Solution obtained TR WP

1 ≤ xi ≤ 15 x = (5, 5, 3, 2) 85.26 15 1 ≤ xi ≤ 10 x = (6, 8, 5, 3) 85.63 22 1 ≤ xi ≤ 8 x = (6, 7, 5, 3) 85.97 21 1 ≤ xi ≤ 5 x = (5, 5, 3, 2) 85.26 15

Comparing the first solution obtained to those in Table 3.4, one can easily observe that increases in total buffer spaces (WP) do not change, essentially, the throughput values. Thus, for practical purposes, it would be ideal for a decision-maker to know about the solutions in Table 3.4, especially those with better WP results then the original solution. Observe also that except for the solution at solution space 1 ≤ xi ≤ 10, every other solution in Table3.4is not dominated by the original solution obtained.

Moreover, because in the original run the solution space was the largest, it is possible that at some point during the search mechanism, the algorithm evaluated solutions in Table3.4. Assuming that it did, why output the original solution and not, for example, the solution at solution space 1 ≤ xi ≤ 15? which may arguably be a better option.

And assuming that it did not, then this is a problem that Branke et al. (2008) have predicted for MOO algorithms that use a weighting sum method when faced with a

“non-convex problem”. And it is not often easy to check for convexity in the case of SO problems (Branke et al.,2008).

Additionally, the author also ran the BAP model with different weight selections while keeping the solution space size unchanged (i.e. 1 ≤ xi ≤ 20). The experiment is summarised in Table3.5.

Table 3.5: BAP results for different weights selection.

.

TR weight WP weight Solution TR WP Note

0 1 NA NA NA Negative fitness value found

0.2 0.8 NA NA NA Negative fitness value found

0.4 0.6 (5, 5, 4, 2) 63.72 16

0.5 0.5 (6, 6, 4, 2) 85.77 18

0.6 0.4 (10, 8, 7, 4) 108.32 29

0.8 0.2 (13, 10, 9, 7) 155.93 39

1 0 (18, 11, 9, 12) 205.46 50

Note that all the solutions in Table 3.5 are non-dominated. Also note that the optimisation procedure was unable to handle negative fitness values while processing, in which case it returned an error message and, consequently, no results.

Assuming that the original solution obtained by the suite is Pareto-optimal (which it is supposed to be), using an MOO algorithm with the Pareto approach would, in principle, output all the non-dominated solutions in Tables 3.4 and 3.5; hence, giving insight to the decision-maker on the quality of potential solutions as well as a wider range to choose from. But as will be shown in Chapter7, the original solution obtained in this section is actually not Pareto-optimal; meaning that this BAP is probably a non-convex problem.

Furthermore, it can also be seen that there are no statistical considerations (R&S) involved when dealing with large-scale SO problems in TPS. This is another drawback.

InFu et al.(2000), the researchers state that statistics must come into play (when solv-ing large-scale SO problems) if any convergence results are to be rigorously established for search algorithms.

3.3 Chapter summary

In this chapter, the author demonstrated the current capabilities and limitations of TPS with respect to both small and large-scale SO problems in the MOO context.

The goal of this thesis is to develop a product that will allow TPS to deal with MOSO problems better than it currently does. As far as the author is aware (see Chapter 2), there is at present no optimisation suite that uses MOO algorithms with the Pareto approach and rigorous statistical techniques (R&S) in solving large-scale MOSO problems, not even OptQuest. ISC does have R&S, but ISC does not do MOO.

The product to be developed in this thesis (in the succeeding chapters), and its solution approach to MOSO problems, is thus a step forward towards achieving the ideal sought byFu et al. (2000) (Figure 2.4) in the MOO context.

Chapter 4

Solution architecture and