• No se han encontrado resultados

Capítulo III: Validación de la propuesta de solución

3.5 Resultados de la evaluación

3.5.3 Resultados Generales

In literature, many techniques have been used to solve scheduling problems. But there is still a need for developing an efficient algorithm in order to solve scheduling problems optimally in shorter time [33]. Several algorithms have showed that a lot of improvement in their results have been made. In this section, some of these techniques which have used to solve different scheduling problems are illustrated.

4.10.1 Dispatching Rules

The dispatching rules can be defined as choosing the operation from a set of jobs to be processing using specific rules where operations and jobs can be scheduled on resources taking into consideration certain rules, depending on the final objective or purpose for which a schedule is being generated. This technique was developed in the early 1960‘s [42] [43] [9]. Later, using dispatch rules became very common and large varieties of different rules have been applied to a range of different scheduling problems. The common dispatching rules are listed in the following:

 earliest due date.

 first come, first served.

 smallest number of remaining operations.

 largest number of remaining operations.

 shortest processing time.

 largest processing time.

 job of identical setup.

 critical ratio scheduling.

Recently, researchers have been employed composite of different rules to improve dispatching rules techniques. This concept is known as composite dispatching rules.

58 4.10.2 Mathematical Programming

In this section, several mathematical programming techniques are illustrated. These techniques have been used to solve various scheduling problems [107].

4.10.2.1 Integer Programming

Integer programming [63] is an optimisation technique which used mathematical programming for solving optimisation problems and it has three common types:

 Linear Integer programming

 Nonlinear Integer programming

 Mixed Integer programming

The linear integer programming refers to mathematical programming with various different variables in the objective function and constraints while nonlinear integer programming deals with mathematical programming with continuous and discrete variables and nonlinearities in the objective function and constraints. Mixed integer programming is using both linear and nonlinear integer programming for solving optimisation problems.

4.10.2.2 Branch and Bound

Branch and bound has been developed by Land and Doig [75] in 1960 for the purpose of optimisation of problems which could be formulated as linear programming problems with additional constraints. This technique works based on determining a feasible region in which the solution exists in order to reduce the search to find the exact value within that region. The feasible region is divided to several braches in order to improve the search performance. In this technique, there are upper bound and lower bound for each braches where the upper bound refers to the fittest result in the region and lower bound refers to less fitness result in the region.

4.10.2.3 Dynamic Programming

It can be defined as a mathematical optimisation technique which is considered more complex than linear programming. In this technique, the problem is spilt to single stage order and each stage has only one variable (state-structured models) [6].

59 4.10.3 Heuristic Algorithm

Heuristic algorithm generally in optimisation problems aims to produce an acceptable solution to a problem using some optimisation techniques such as a campsite between different two optimisation algorithms. However, heuristic algorithm should be capable to solve optimisation problems which are known to be computationally difficult.

Scheduling is one of hardest optimisation problems. This difficulty has been discussed in previous sections. This is lead to introduce many heuristic proposals [79] [85] [38]

[23]. Several heuristic algorithms can be applied to scheduling problems such as:

 Composite dispatching rule.

 Beam search.

 Genetic algorithm with local search.

4.10.4 Artificial Intelligence

During the last two decades AI techniques have been applied to various types of scheduling problems which clearly illustrates the increasing interest of researchers in this domain. This is largely due to advantages of AI over classic techniques such as traditional operations research techniques or dispatching rules in tackling the complexity of scheduling problems. Examples of AI techniques as illustrated in the following subsection:

4.10.4.1 Simulated Annealing

Simulated annealing method is taken from simulation of the physical process of annealing. Annealing can be described as the process of the cooling molten metal after heating this metal to reach the specific crystallite. This process of cooling is used to produce a more optimal solution [107].

60 4.10.4.2 Ant Colony Optimisation

Ant colony optimisation is a metaheuristic approach which developed to deal with hard optimisation problems. It has been introduced in the early 1990s by Dorigo et al [27]

[28]. After that a number of ACO algorithms which has the same characteristic idea have been developed [56] [128].

Ant colony optimisation ACO takes inspiration from the foraging behaviour of some ants or agents. These ants put pheromone on the ground in order to distinguish the shortest favourable path that should be followed by other members of the colony. By this procedure, ants able to adjust any change in the environment such as discovering a new shortest path when the old one is no longer available due to a new obstacle. Ant colony optimisation exploits a similar procedure for solving optimisation problems.

Although the artificial ants are used to mimic the behaviour of real ants, there are some differences such as the ―artificial ants are not completely blind, they have some memory and they live in an environment where time is discrete‖ [27].

4.10.4.3 Tabu Search

Tabu search has been first presented by Glover in 1986 [47]. The basic ideas of TS are taken from a meta-heuristic superimposed on another heuristic. This set of concepts has also been introduced by Hansen in 1986 [57]. TS are used set of concepts or algorithms which lead to different types of TS algorithms. In other words, there is no single algorithm called tabu [134]. ―The overall approach is to avoid entrainment in cycles by prevent or penalising moves which take the solution, in the next iteration, to points in the solution space previously visited ( hence "tabu")‖ [107]

TS are designed to solve hard optimisation problem. Therefore, several proposal of TS has been applied to different various scheduling problems such as job shop scheduling problems [112] [84].

61

GA as illustrated in chapter 3 is classified as a global search technique used in computing to solve an optimisation problem and search problem such as scheduling problems. It has been shown that GA cable to deal with hard various scheduling problems [79] [85] [89].

4.10.4.5 Particle Swarm Optimisation

One of the suitable methods to optimise the scheduling problem is Particle Swarm Optimisation (PSO). PSO was developed by Kennedy and Eberhart [68] in 1995 using the concept of social behaviour of bird flocking or fish schooling to invent PSO optimiser model. For more details see Chapter 3 where PSO has been illustrated.

Documento similar