20 JIT characteristics are observed via the workflow, which is dependent on the completion of the prior operation; fixtures are not buffered, but idle time is minimised for improved utilisation of both fixture and workstations instead.
21 2.7.2 Solution Techniques
The solution techniques for optimisation problems can be divided into: exact methods; heuristics; and metaheuristics [55].
Exact methods are used to obtain the optimal solution to an optimisation problem. These techniques are computationally expensive due to the analysis required to find the global optimum for a given problem.
Therefore, exact methods are applied to Non-Deterministic Polynomial-Time (NP) complete problems and problems of minimal size. Exact methods include the Branch and Bound (B&B) method and Dynamic Programming (DP) [56].
Branch and bound is an enumeration technique. The method involves partitioning the solution search space into separate segments via branching, and then evaluating the solution generated at the partition against the bounded solution. For integer programming, the optimistic bound (or lower bound for a minimisation problem) is generally produced from the linear programming relaxation of the IP problem.
The pessimistic bound (or upper bound for a minimisation problem) is generally produced from the first integer-feasible solution found, and successively updated for superior integer solutions thereafter.
Branches are pruned (or fathomed) when either no solution is found at a node, or the solution is inferior to the pessimistic bound. The solution search at a branch is also fathomed when an integer-feasible solution is found at a node, thus implying that no superior solution is obtainable for that partition. The algorithm terminates the search at that partition when the branch is pruned, and backtracks to another node to continue. New branches are created when a favourable (superior to the current optimistic bound) non-integer solution is found, from which two branches are created to explore the integer values either side of that non-integer. Promising non-integer solutions also form the updated optimistic bounds. The algorithm is terminated when all nodes of the tree have produced solutions that are either: integer solutions; or a fractional solution inferior to any integer-feasible solutions found elsewhere. The optimal solution is the best integer-feasible solution obtained during the search [57].
Figure 2.10: Branch and Bound tree representation [58]
Lagrangian relaxation is an alternative method of finding the pessimistic bound. Modifications to B&B include the branch-and-cut, and branch-and-price algorithms; these both combine the B&B algorithm described, with other techniques for fathoming nodes [57].
22 Dynamic programming is also an enumeration technique. The method divides the main problem into a series of sub-problems. The sub-problems are solved to optimality, then related to a larger sub-problem via a recursive relation. The sub-problems continue to expand in size until enough information is obtained from the sub-problem solutions to ascertain the optimal solution of the main problem [59].
Heuristics in the scheduling field include priority rules (or dispatching rules), and algorithms designed for specific problem types [60]. Heuristics place emphasis on minimal implementation time and computational expense, at the expense of solution quality. The solutions found are good, feasible solutions that are not guaranteed to be optimal, i.e. near-optimal [55]. The degree of closeness to the optimal value may vary significantly [61]. The dispatching rules implemented for scheduling problems include First-In First-Out (FIFO), Earliest Due Date (EDD) and Shortest Processing Time (SPT) [62].
Problem-specific heuristics include the bottleneck shifting method used for the Job Shop Scheduling Problem (JSSP) [63].
Metaheuristics include Simulated Annealing (SA), Tabu Search (TS), Genetic Algorithm (GA), Ant Colony Optimisation (ACO), and Particle Swarm Optimisation (PSO). Metaheuristics are advanced heuristics that search the solution space for the global optimum, while escaping from local minima [64].
Simulated annealing is derived from the physical annealing process for solid materials [65]. The temperature variable is initially set to a high value (simulating a high temperature) and is gradually decreased (cooled) at a specified the rate. The high temperature corresponds to a high probability of acceptance for the solutions explored, before the cooling gradually decreases that probability until only good solutions fulfil the criterion [60].
Tabu search is a search method similar to SA. However, TS searches the solutions space by creating a tabu list of undesirable search directions, to avoid being restricted from exploring solutions outside the local optima. However, this does not guarantee that TS can always escape local minima [66].
Genetic algorithm has proven to be a prevalent metaheuristic in the scheduling field [67]. GA is an evolutionary algorithm that evaluates a population of solutions simultaneously [68]. A fitness function is formulated to assess the quality of the solutions in a population against the objective function value.
Low quality solutions are deleted and the remaining solutions are used to produce new solutions for the next generation. The new solutions are created by either crossover (combining the attributes of two current solutions) or mutation (editing a current solution). Several rules for crossover and mutation may be chosen for implementation, which affect the effectiveness of the algorithm for the particular problem.
The procedure continues until the termination criterion is reached [65]. GA is advantageous for vaguely structured problems, but the computation time required may be relatively high in comparison to problem-specific methods when these exist [66].
Ant colony optimisation mimics the behaviour of ants, by creating artificial ants that explore the solution space and leave pheromones that draw other ants to a promising solution [69].
Particle swarm optimisation is another algorithm inspired by nature. The initial solutions are generated at random and represented by particles moving at some velocity. New solutions are gained based on the movements of the particles, with consideration given to past experience of the particles. The method
23 has displayed quick convergence and simple implementation, but it is relatively new to scheduling problems [70].
Other metaheuristics are problem-specific, and so are not defined under a distinct category [65].
Heuristics and metaheuristics have generally outperformed exact methods for classical scheduling problems (such as shifting bottleneck heuristic and GA, respectively, for the JSSP) [71]. These methods produced optimal to near-optimal solutions in reduced time, and for larger problem sizes. The early formulations of classical scheduling problems were solved with exact methods (such as B&B for the aforementioned JSSP) [72]. The classical formulation was essential to understanding the problem structure and providing a benchmark optimal solution upon which the performance of subsequent methods could be compared [73]. This was a pertinent observation for the research undertaken.
The problem investigated in the research represented a novel undertaking. The structure of the manufacturing system (Section 3.6) was formulated specifically for the on-demand FxMC in relation to a MC production system. Thus, it was decided that an exact method approach would be appropriate for the initial formulation of the problem. The formulation led to a MILP model that was solved with a B&B algorithm (see Section 6.9). The research also provided a heuristic (Section 6.10) that was developed from the problem structure identified through the exact method formulation.