• Nem Talált Eredményt

2.1 Background

Heuristic methods (see Denition 29) usually only approximate the optimal solu-tion, but they do it far quicker than exact solvers nd the optimum. Moreover, often only small or moderately-sized problems can be practically solved to provable opti-mality by exact solvers. This property makes heuristics especially useful when time and cost are critical factors for decision making, like, e.g., in production planning [126]. A heuristic approach creates solutions by applying rules determined during the conscious exploitation of the problem's specialities. The initial solution is often improved progressively by the application of a series of modications.

The evaluation of the eciency of a heuristic algorithm considers both the qual-ity of the solution and the way how it was obtained. If the optimal solution of the problem is known, the distance between the optimum and the solution of the heuristic gives a measure for the quality. Heuristic search is based on the problem space hypothesis - dened by Newell and Simon [127] -, which states that every possible state of the problem can occur in the problem space. Thus the eciency of a heuristic search algorithm is usually measured by the number of the visited states.

However, because of the dierence in the state expansion overheads, CPU time is also considered during the comparison of heuristic algorithms [128]. In his Ph.D.

thesis [128], Dillenburg proposes dierent techniques that improve the eciency of a heuristic search algorithm, including an ecient data structure, cycle checking that prevents the generation of duplicate states caused by cycles in the search space, and improved search algorithms.

Both heuristics and exact optimization techniques have specic advantages that complement each other. By combining them, higher performance can be reached.

A survey of Puchinger and Raidl classies the combinations of exact methods and metaheuristics and justies its usefulness [129]. Figure 2.1 shows the major classes.

In collaborative combinations, the algorithms exchange information but are not part of each other, unlike the algorithms of integrative combinations. In the case of sequential execution of the collaborative algorithms, two dierent approaches exist.

In the rst one, the exact solver is used before the heuristic method, e.g., rst, a

Figure 2.1. Main classes of the combination of an exact solver and a heuristic algo-rithm.

relaxation of the original problem is solved to optimality, and this optimum helps in the construction of the starting solution of the heuristic that is applied to nd solutions for the complex problem. The other approach is applied to obtain the optimal solution in a shorter time, e.g., by using the near-optimal solution obtained by a heuristic to narrow the time horizon of an exact solver in its search for the optimum. I followed the second approach and developed a specic heuristic for a complex scheduling problem - the problem is presented in subsection 2.2 - and investigated how much the heuristic algorithm's result can support the operation of an exact solver. The essence of this chapter is published in [124].

2.2 The model of the problem

The problem that is the subject of the multi-level heuristic scheduler is presented in this section. This problem contains two types of production processes and four types of machines. To dene processes, process models are adequate tools. Process models are used in various elds, e.g., to describe business processes, production pro-cesses, communication protocols, or software's operation. Contrary to state-based models (like state machines), in the case of process models, state transitions have a temporal dimension - so, they are not instantaneous. A process model emphasizes the activities of its processes and their relation [130]. As one of the ve process modeling paradigms presented by Conradi et al. [131], task net is used to present the model of the scheduling problem of this chapter.

Figure 2.2 shows the process models of the two types of production processes of the considered problem, represented by UML activity diagrams. Both process types are executed several times; the number of their execution is n(p1) and n(p2), respec-tively. The gure contains the resource set and illustrates - by dierent patterns on the operations - the allowed resource assignments. E.g., a tC-type operation can be performed either by aD1-type resource or by a D2-type resource.

D1-type andD2-type resources can perform bothtB-type andtC-type operations;

however, the operation time depends on both the resource type and the operation type. Switching between operations with dierent types on a machine requires setup

Figure 2.2. The production processes, the resource set, and the resource allocation possibilities of the scheduling problem.

time. This setup time depends on the machine type and the operation sequence.

The objective is to nd the schedule with minimum makespan.

Denition 54. Makespan: The distance in time between the start and end time of a schedule. It is the dierence between the nish time of the latest operation and the start time of the earliest one.

The formal description of this problem can be found in Appendix C, using the notations introduced in Appendix B. The notations presented in Appendix B covers the scheduling problem of both Chapter 2 and Chapter 3.

I developed a heuristic algorithm that eciently solves this scheduling problem. Its eciency is analyzed on dierent problem sizes, where the numbers of the products, the operation times, and the setup times are varied. Then the eect of the result of the heuristic algorithm on an exact solver's performance is analyzed.

This production problem includes several special features of a huge class of industrial-type automated manufacturing problems. It realizes mass production; both process models are executed several times. The problem belongs to FJSP (see Denition 25) since an operation's operation time depends on the performing machine. More-over, the problem includes multi-purpose machines. On the other hand, both pro-cess models include an assembly operation. These - tD-type - operations can be found directly after the join notations in the UML activity diagrams. They result in and-subgraphs (see job-shop scheduling problems with processing alternatives in Denition 28). The two joint branches of any process can be executed parallel. It

means that there is only a partial ordering of the operations of the parallel branches.

E.g., a process of the second process type can be executed in3dierent ways, where the sequence of the operations is (regarding their type): tA,tB,tC,tD or tB,tA,tC,tD or tB,tC,tA,tD. Moreover, some of the operations may be performed at the same time or partially covered in time. Then, the two parallel branches are synchronized at the join (before the assembly operation).

Although both [132] and [133] deal with unrelated machines, no of them considers the same model that is treated here. Papers that consider scheduling problems with unrelated machines in the presence of precedence constraints discuss mainly pro-cesses that are chains. In the production propro-cesses of this thesis, some components are assembled. It means that there are nodes in the precedence graph with more than one predecessor. Kumar et al. [134] consider a similar problem; however, in their paper, approximation algorithms are proposed with approximation guarantee.

My thesis proposes a complex heuristic algorithm and also provides the optimal solution by an exact solver. Kis [51] developed a GA and a TS algorithm for job-shop scheduling problems with processing alternatives. His algorithms can handle problems where precedence constraints include and-subgraphs and/or or-subgraphs.

Contrary to this thesis, he assumes that no two operations of the same job may be processed in parallel. In [135], an eective priority rule-based heuristic algorithm is provided for aRm|prec|Cmax problem (the three-eld notation is based on [54], and it means that there are m unrelated parallel machines, there are precedence con-straints on the operations, and the objective is to minimize the makespan). In [136]

its variant is considered, where each job has to be assigned to a unique machine.

However, the problem of this thesis is an extended FJSP problem and contains multi-purpose machines.

2.3 The specic heuristic algorithm

I created a heuristic algorithm that eciently solves the introduced problem. It pro-duces a "good enough" solution quickly for any input. The algorithm was designed for the specic problem; however, the basic ideas of the algorithm's construction can be applied to schedule other production processes, too.

The main idea was to separate the master problem into subproblems that can be han-dled individually. The separation was based both on the structure of the processes that have to be scheduled and the resources' characteristics. The initial scheduling problem was cut into three subproblems; the concept "room" was introduced for these subproblems. They are illustrated in Figure 2.3.

When separating the initial problem into subproblems, those operations got into the same room that

• has a common machine that can perform them (e.g., both tB-type and tC -type operations can be performed by a D1-type resource - and it is valid to a D2-type resource, too),

• and there is no operation from other room that is inserted between them in the operation sequence of their process.

Figure 2.3. The subproblems of the initial problem are handled in separate "rooms".

Based on it, when separating a set of general process models into subproblems, necessary conditions could be that (1) the operations that can be performed by machines that can substitute each other have to belong to the same subproblem and (2) in the process graph there can not be two nodes of the same room that are connected through a node of another room. Here, only two - possible - necessary conditions are noted; the general problem separation can be the topic of future research.

Every room can be handled individually by a scheduling technique that ts the best for that. There can be, of course, some dependencies between the dierent rooms that have to be cared for. The details are presented in the following.