You are on page 1of 157

# OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF

## ENERGY CONSUMPTION IN A MANUFACTURING ENVIRONMENT

A Dissertation by

Gilles Mouzon

## Master in Engineering Management, Wichita State University, 2006

Bachelor of Science, Universite Catholique de Louvain, 2005

## Submitted to the Department of Industrial and Manufacturing Engineering

and the faculty of the Graduate School of
Wichita State University
in partial fulfilment of
the requirements for the degree of
Doctor of Philosophy

May 2008

c Copyright 2008 by Gilles Mouzon,

OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY
CONSUMPTION IN A MANUFACTURING ENVIRONMENT

The following faculty members have examined the final copy of this dissertation for form and
content, and recommend that it be accepted in partial fulfillment of the requirements for the
degree of Doctor of Philosophy with a major in Industrial and Manufacturing Engineering.

## Susan K. Kovar, Dean

iii
ACKNOWLEDGMENTS

I would like to thank my dissertation chair, Bayram Yildirim, for his professionalism,
technical advice, suggestions, and motivation throughout my dissertation research.

I acknowledge my committee members, Abu Masud, Janet Twomey, Haitao Liao and
Coskun Cetinkaya, for their comments to the material of this dissertation.

I would like to give my heartfelt appreciation to my parents, Jose and Brigitte, who have
always supported me and encouraged me to study and get advanced degrees.

iv
ABSTRACT

## This dissertation develops operational methods for minimization of energy consumption of

manufacturing equipments. Using the frameworks developed, a significant amount of energy
can be saved when non-bottleneck and/or underutilized machines/equipment are turned off
during a long idle time.
In this dissertation, mathematical models are developed for multiobjective problems (on
single or parallel machines) with minimization of a scheduling criteria and minimization
of total energy consumption. Metaheuristics approaches have been developed to solve the
resulting mathematical models. Genetic algorithm, greedy randomized adaptive search pro-
cedure, and hybrid metaheuristic based approaches are utilized to obtain good approximate
sets of non-dominated solutions in reasonable amount of time for different optimization
problems. The decision-maker can use the results from these frameworks to plan for energy
efficient production. The methods to obtain an approximate pareto front is combined with
a selection method such as the Analytic Hierarchy Process to obtain a full schedule that
minimizes other secondary objectives.
Further research includes studying the reliability of the machine under repeated turned-
off and turned-on. Also a maintenance model could be developed to include the energy
minimization framework. This additional model would be useful in scheduling a maintenance
team with the objective of decreasing the costs associated with breakdowns including the
energy-related cost. Another area of interest might be on developing a model to minimize
energy consumption and scheduling objectives for machines with multi-state sleep modes.

v

Chapter Page

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Scope, Goals, and Objective of the Dissertation . . . . . . . . . . . . . . . . 5
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Summary of Modeling Contributions . . . . . . . . . . . . . . . . . . 6
1.3.2 Algorithmic Contributions . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 LITERATURE REVIEW . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Single-Objective and Single-Machine Scheduling . . . . . . . . . . . . . . . . 11
2.2.1 Minimization of Total Completion Time . . . . . . . . . . . . . . . . 12
2.2.2 Minimization of Total Tardiness . . . . . . . . . . . . . . . . . . . . . 14
2.2.3 Minimization of Energy Consumption . . . . . . . . . . . . . . . . . . 15
2.3 Single-Objective Parallel-Machine Scheduling . . . . . . . . . . . . . . . . . . 16
2.3.1 Minimization of Completion Time Objectives . . . . . . . . . . . . . 16
2.3.2 Minimization of Deviation from Load Balancing . . . . . . . . . . . . 18
2.4 Single-Objective Solution Methods . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 Exact-Solution Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Heuristics Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Multiobjective Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.2 Multiobjective Single-Machine Scheduling Optimization . . . . . . . 23
2.5.3 Multiobjective Parallel-Machine Scheduling . . . . . . . . . . . . . . . 23
2.6 Multiobjective Optimization Solution Methods . . . . . . . . . . . . . . . . . 24
2.7 Dispatching Rules for Minimization of Energy Consumption of Manufacturing
Equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8 Application in Different Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

## 3 MINIMIZATION OF TOTAL ENERGY CONSUMPTION AND TOTAL

COMPLETION TIME ON A SINGLE MACHINE USING A
MULTIOBJECTIVE GENETIC ALGORITHM . . . . . . . . . . . . 29

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Mathematical Model for Minimization of Energy Consumption and Total
Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

vi

Chapter Page

## 3.4 Solution to MOTETC or MOTETCMILP Using a Genetic Algorithm . . . . 34

3.4.1 Representation of Solutions . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.2 Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.3 Obtaining Approximate Pareto Front of a Chromosome Using Linear
Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.6 Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.7 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.8 Stopping Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Choosing Best Crossover Rate . . . . . . . . . . . . . . . . . . . . . 43
3.5.2 Choosing Generation Size . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.3 Choosing Optimal Number of Generations . . . . . . . . . . . . . . . 44
3.5.4 Choosing Radius σ in Fitness Function that Uses Niches . . . . . . . 46
3.5.5 Comparing Fitness Functions . . . . . . . . . . . . . . . . . . . . . . 46
3.6 Increasing the Speed of MOGATETC . . . . . . . . . . . . . . . . . . . . . . 47
3.6.1 Heuristic to Obtain Pareto Front for Each Chromosome . . . . . . . . 48
3.6.2 Utilizing Dominance Rules to Eliminate Some Chromosomes . . . . . 49
3.7 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.7.1 Comparison of Methods for Solving MOTETCLP . . . . . . . . . . . 54
3.7.2 Selection of an Alternative Using Analytic Hierarchy Process . . . . . 56
3.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

## 4 A FRAMEWORK TO MINIMIZE TOTAL ENERGY CONSUMPTION

AND TOTAL TARDINESS ON A SINGLE MACHINE USING A
GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURE . . 60

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3 Mathematical Model for Minimization of Total Energy Consumption and To-
tal Tardiness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 Solution to MOTETT via a Greedy Randomized Adaptive Search Procedure 66
4.4.1 Evaluation of Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4.2 Construction Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.4.3 Local Search Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.5 Analytic Hierarchy Process to Select Best Alternative from Approximate Pareto
Front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.6 GRASPTETT Parameter Tuning . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

vii

Chapter Page
5 A COMPARISON OF MULTIOBJECTIVE GENETIC ALGORITHMS
AND GRASP ON SINGLE-MACHINE SCHEDULING PROBLEMS . 82

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.1.1 Multiobjective GRASP to Solve TECTC . . . . . . . . . . . . . . . . 83
5.1.2 Multiobjective Genetic Algorithm to Solve TECTT . . . . . . . . . . 83
5.1.3 Multiobjective Optimization Using the Combined MOGA and MO-
GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Computational Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 Measure of Performance . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.2 Determining Number of LPs to be Solved in MOGA and GRASP . . 86
5.2.3 Experimental Design for TECTCT . . . . . . . . . . . . . . . . . . . 86
5.2.4 Experimental Design for TECTT . . . . . . . . . . . . . . . . . . . . 90
5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

## 6 A MULTICRITERIA APPROACH FOR PARALLEL-MACHINE

SCHEDULING WITH LOAD BALANCING, TOTAL ENERGY
CONSUMPTION, AND TOTAL COMPLETION TIME OBJECTIVES 94

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.3 Mathematical Model for Minimization of Energy Consumption, Total Com-
pletion Time, and Deviation from Load Balancing on Parallel Machines . . . 98
6.4 Solution Procedure to MOPMS . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.4.1 Chromosome Representation . . . . . . . . . . . . . . . . . . . . . . . 103
6.4.2 Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.4.3 Selection Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.4.4 Crossover Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.4.5 Mutation Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.4.6 Evaluation of a Chromosome . . . . . . . . . . . . . . . . . . . . . . . 106
6.4.7 Initial Population Fine-Tunning . . . . . . . . . . . . . . . . . . . . . 108
6.5 Computational Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.5.1 Performance Measure . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.6 Comparison of Performance of GAPMS with Random Initial Population and
Specific Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.7 Forming Pareto Front with Dispatching Rules . . . . . . . . . . . . . . . . . 114
6.8 Performance of GAPMS-I . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

viii

Chapter Page
7 CONCLUSIONS AND FUTURE RESEARCH . . . . . . . . . . . . 122

## 7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.1 Reliability Study with Machine Setup . . . . . . . . . . . . . . . . . . 124
7.2.2 Maintenance Scheduling with Energy Concerns . . . . . . . . . . . . 124
7.2.3 Simple Heuristics to Generate Approximate Pareto Solutions . . . . . 125
7.2.4 Multi-Machine, Multiobjective Scheduling with Energy Concerns . . . 126
7.2.5 Multiple Sleep-Mode States . . . . . . . . . . . . . . . . . . . . . . . 127

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

APPENDIX

ix
LIST OF TABLES

## 1.1 Data on machine utilizations in a small-sized industry (the given data is a

lower bound on % of an eight-hour shift for potential energy savings over all
machines) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 Experimental setting for obtaining the solutions for one chromosome using
the weight method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

## 3.3 Performance depending on number of individuals in a generation and number

of jobs n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

## 5.1 Performance of GRASPTECTC depending on the parameter α and the num-

ber of jobs n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2 Performance depending on the crossover rates, the number of jobs n and β . 84

x
LIST OF TABLES (CONT.)

## 5.3 Performance depending on the number of individuals in a generation, the

number of jobs n and β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

## 5.4 Performance depending on the number of generations, the number of jobs n

and β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

## 5.8 Experimental design for TECTCT . . . . . . . . . . . . . . . . . . . . . . . . 89

5.9 Pairwise comparison of the four algorithms for the TECTCT problem exper-
imental design (A1=MOGA, A2=MOGA-GRASP, A3=MOGRASP,
A4=MOGRASP-MOGA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

## 5.10 Experimental design for TECTT . . . . . . . . . . . . . . . . . . . . . . . . 91

5.11 Pairwise comparisons of four algorithms using the experimental design for the
TECTT problem(A1=MOGA, A2=MOGA-GRASP, A3=MOGRASP,
A4=MOGRASP-MOGA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

6.1 Objective values for the feasible solutions to the 4 jobs with 2 machines
problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.2 Experimental design for comparison between each version of the algorithm . 113

## 6.4 Pairwise performance measure of dispatching rules for problem 1 . . . . . . . 116

6.5 Number of non-dominated solutions in the pareto front issued from dispatch-
ing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

## 6.8 ANOVA for 23 factorial design and M2 . . . . . . . . . . . . . . . . . . . . . 120

xi
LIST OF FIGURES

1.1 U.S. energy consumption by market segment from 1950 to 2000  . . . . . 1

## 1.2 Usable electrical energy as a percentage of total energy consumed by conven-

tional generation and delivery via the utility grid . . . . . . . . . . . . . . . 2

## 3.2 Non-dominated and dominated solutions to the three-jobs problem (non-

dominated solutions are pointed by an arrow) . . . . . . . . . . . . . . . . . 32

3.3 General steps in determining a pareto front for the mutiobjective MOTETC
problem using a genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . 35

## 3.7 Measure of performance of a set of non-dominated solutions . . . . . . . . . 43

3.8 Measure of performance of two sets of solutions representing the same pareto
front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

## 3.9 Illustration of heuristic to solve LP . . . . . . . . . . . . . . . . . . . . . . . 49

3.10 Illustration for forward and backward pass with four jobs . . . . . . . . . . . 51

3.11 Pareto front for 50 random jobs with optimized parameters (Best AHP alter-
native is pointed by an arrow) . . . . . . . . . . . . . . . . . . . . . . . . . . 54

nodom
3.12 Pareto fronts for a 50-random-jobs problem from GAT ET CLP (blue +)
nodom
and GAT ET Cheur (red ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

## 4.2 Non-dominated and dominated solutions to the two-job problem

(non-dominated solutions are pointed by an arrow) . . . . . . . . . . . . . . 64

xii
LIST OF FIGURES (CONT.)

## 4.4 Illustration of the distance between a solution and the non-dominated

solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.5 Illustration of the neighborhood of a job (2): a) initial solution, b) first neigh-
bor of job 2, c) second neighbor of job 2. . . . . . . . . . . . . . . . . . . . . 73

## 4.7 Measure of performance of a set of non-dominated solutions . . . . . . . . . 77

4.8 Pareto front for 50 random jobs with β=0.05 (Best AHP alternative is pointed
by an arrow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.1 Pareto front for problem TECTCT type 1 using MOGA (+),
MOGA-MOGRASP (∗), MOGRASP (×), and MOGRASP-MOGA () . . . 90

5.2 Pareto front for problem TECTT type 2 using MOGA (+),
MOGA-MOGRASP (∗), MOGRASP (×), and MOGRASP-MOGA () . . . 91

## 6.1 Feasible and non-dominated solutions to the 4 jobs with 2 machines

problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.2 General steps in determining a pareto front for the mutiobjective MOPMS
problem using a genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . 104

## 6.3 Chromosomes representing assignment to machines, order of jobs, and

setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

## 6.4 Performance of having/not having a good initial population depending on the

number of iterations for problem 2 . . . . . . . . . . . . . . . . . . . . . . . 114

6.5 Pareto front for problem 2 using GAPMS-R (∗) and GAPMS-I () . . . . . 115

## 6.8 Interaction plots for the model and M2 . . . . . . . . . . . . . . . . . . . . . 120

xiii
LIST OF NOTATIONS

## cj Completion time of job j

Cj Completion time of job at position j
cmax Maximum completion time
dj Due date of job j
Dj Due date of job at position j
pj Processing time of job j
Pj Processing time of job at position j
rj Release date of job j
Rj Release date of job at position j
Rj0 Modified release date of job at position j
tj Tardiness of job j
K Number of chromosome in a generation
n Number of job
Poweridle Idle power of the machine
Powerprocessing Processing power of the machine
Energysetup Setup energy of the machine
Powertip Tip power of the machine
Tsetup Minimum setup duration of the machine
TB Break-even duration
Pm Parallel machine
N Number of solutions in a generation
P Number of generations
β Slack time parameter
α Greedy parameter for GRASP

xiv
LIST OF ABBREVIATIONS

## AHP Analytic Hierarchy Process

B&B Branch and Bound
DM Decision-Maker
EDD Earliest Due Date
GA Genetic Algorithm
GAPMS Genetic Algorithm Parallel-Machine Scheduling
GAPMS-I Genetic Algorithm Parallel-Machine Scheduling - Initial
GAPMS-R Genetic Algorithm Parallel-Machine Scheduling - Random
GRASP Greedy Randomized Search Procedure
GRASPTETT Greedy Randomized Search Procedure Total Energy Total Tardiness
IP Integer Programming
LPT Longest Processing Time
MCDM Multi Criteria Decision Making
MIP Mixed-Integer Programming
MOGA Multiobjective Genetic Algorithms
MOGATETC Multiobjective Genetic Algorithm Total Energy Total Completion
MOGRASP Multiobjective Greedy Randomized Search Procedure
MOPMS Multiobjective Parallel-Machine Scheduling
MOPMSLP Multiobjective Parallel-Machine Scheduling Linear Program
MOTETC Multiobjective Total Energy Total Completion
MOTETCLP Multiobjective Total Energy Total Completion time Linear Program
MOTETCMILP Multiobjective Total Energy Total Completion time Mixed-Integer
Linear Program
MOTETT Multiobjective Total Energy Total Tardiness
MOTETTLP Multiobjective Total Energy Total Tardiness Linear Program
NP-hard Non-Polynomial-hard

xv
LIST OF ABBREVIATIONS (CONT.)

## PMS Parallel-Machine Scheduling

SA Simulated Annealing
SPT Shortest Processing Time
VEGA Vector-Evaluated Genetic Algorithm
WSPT Weighted Shortest Processing Time

xvi
CHAPTER 1

INTRODUCTION

1.1 Background

In the last 50 years, the consumption of energy by the industrial sector has more than
doubled (Figure 1.1). Worldwide industry consumes about half of the world’s energy .
In the United States, the industrial sector consumes approximately 34% of all energy, 3.4%
of which is electricity.

Figure 1.1: U.S. energy consumption by market segment from 1950 to 2000 

Energy costs for U.S. manufacturers is \$100 billion annually , which today is even
higher as a result of the increase in fuel costs. In the U.S., the manufacturing sector consumes
about one-third of the energy used and contributes to about 28% of greenhouse gas emissions.
Mass consumption has increased energy usage by 300% in the last fifty years . The
concern over energy consumption is heightened by the fact that the majority of sources are
nonrenewable , and only approximately 30% of the energy produced actually reaches the
customer (Figure 1.2).
Beyond the increasing cost of energy, there are also significant environmental effects: to
produce one kilowatt-hour of electricity, two pounds of carbon dioxide is released into the
atmosphere, thus contributing to global warming .

1
Figure 1.2: Usable electrical energy as a percentage of total energy consumed by conventional
generation and delivery via the utility grid

The increase in price and demand for petroleum and other fossil fuels, together with the
reduction in reserves of energy commodities, and the growing concern over global warming,
have resulted in greater efforts toward the minimization of energy consumption. Many so-
lutions for a reduction of energy usage have been proposed, but such reduction is difficult
to achieve since consumption does not appear to be managed in a structured way. The
ities history of energy use can impact the bottom line . The research presented in this
dissertation takes an operational approach to minimizing energy consumption within a man-
ufacturing facility while considering multiple objectives including total energy consumption
and scheduling criteria at the same time.
The goal of many modern manufacturers is to decrease the cost of production by any
means possible while satisfying environmental regulations and ensuring quality and customer
satisfaction . Gutowski et al.  notes that in the Toyota Motor Corporation (a mass
production environment), 85.2% of the energy is used in non-machining operations which
are not directly related to the production of parts. Kordonowy  characterizes the power
consumption of a mill, lathe, and injection molding machine by analyzing the background
runtime operations of machining (i.e., spindle, jog, coolant pump, computers, fans, etc.). It
is observed that over 30% of the energy input into the system during machining is consumed
by these background processes. Dahmus and Gutowski  and Drake et al.  observe

2
that the total energy requirement for the active removal of material (tip energy) can be quite
small compared to the background process needed for operating a machine. Furthermore,
Drake et al.  show that whenever a machine or a component is turned on, there is a
significant amount of start up energy consumption, and confirm that when a machine is idle,
a significant amount of energy is consumed.
In many facilities, it is common to see that some of the non-bottleneck machines are left
running idle. For example, in a Wichita, Kansas, aircraft supplier of small parts, manufac-
turing equipment energy and time data was collected at a machine shop having four CNC
machines. Although the production planning department considers this machine shop to be
the bottleneck, it was observed that in an eight-hour shift, on average a machine stays idle
(i.e., not actively processing a part, or a setup is not performed) 16% of the time (Table
1.1). This corresponds to a 13% energy savings. Leaving the non-bottleneck machines idle
is considered a normal operating practice . In this company, different parts arrived at
the CNC lathe or CNC mill to be processed. Most of the parts are released to the machine
at a deterministic point in time (they are part of an order, and it is known when the com-
pany will receive the parts to be processed). The shop utilizes about 3,500 different CNC
programs depending on the part and the requirement, meaning that the processing time for
each job is known. Also, the characteristics of the machine, such as the setup time, idle
power, processing power, and setup energy, can be determined using the framework of Drake
et al. . Using the frameworks developed in this dissertation to schedule the machines
could lead to a significant reduction in energy consumption while keeping a good level of
performance according to other scheduling objectives (total completion time, total tardiness,
etc.).

Table 1.1: Data on machine utilizations in a small-sized industry (the given data is a lower
bound on % of an eight-hour shift for potential energy savings over all machines)
Machine 1 Machine 2 Machine 3 Machine 4
Idle + Break Time 23% 16% 28% 28%
Idle + Break Energy Savings 23% 9% 14% 6%

3
Energy sources on earth are limited. Consequently, it is very important to utilize resources
in such a way that total energy consumption is minimized. Scarcity of energy resources and
increasing population lead to higher energy prices. In the long term, this trend is expected
to continue as a result of growing demand in China and India and instabilities in the Middle
East. As a result, companies try to minimize their energy costs as much as possible.
In environmental-conscious manufacturing, methods like life cycle analysis , reverse
logistics, and end-of-life decisions [46, 54] are utilized to minimize the deterioration of envi-
ronment. The objective of this dissertation is to develop operational methods for machine
scheduling to reduce energy consumption and from that to design a machine controller that
will optimize energy usage. The controller will make basically two types of decisions: ei-
ther leave the machine idle, or turn off the machine for a predetermined amount of time.
The controller will make decisions to minimize energy usage while meeting other scheduling
criteria. The decision to leave the machine idle or shut it down will utilize multiobjective
optimization.
For all these reasons, methods solving multiobjective scheduling problem with energy
consumption as one of the objectives is a new solution for any industry who wants to look at
an innovative way to save money and help the environment by energy-conscious scheduling
techniques. Some scheduling objectives that may be considered are total completion time
(defined as the sum of the completion time of each part or job), maximum completion time,
total tardiness (defined as the sum of the amount of time each job is tardy according to its
due date), load balancing (for multi-machine problems), etc.
Most machines utilized in manufacturing have known characteristics, for example, the
time needed to start or stop the machine, the energy needed to start or stop the machine,
and the energy consumed when the machine is idle is known. This dissertation addresses
multiobjective scheduling problems on single or multiple machines where one of the objectives
is energy consumption. The problem is to determine on WHICH machine the job should be
scheduled (in the multi-machine case), WHEN to start a job on the machine, and WHEN to

4
schedule a setup (which involves stopping and starting the machine) to minimize the energy
consumption and scheduling criteria at the same time.
In scheduling research, energy is usually considered a fixed cost. In other words, when
a schedule is prepared, the energy consumption for that schedule is assumed to be constant
or a cost that can be ignored. In an environment where energy is a constraint (such as in a
portable device), energy is sometimes considered and added to the scheduling objective. In
many manufacturing environments where energy is not a constraint, it is rarely taken into
consideration. The problem addressed in this dissertation focuses on including the energy
objective into the scheduling problem, or more precisely in developing methods that consider
energy as an objective to minimize in the schedule.

## The main objective of this dissertation is to develop multiobjective solution frameworks

to minimize energy consumption in a manufacturing environment under different constraints
and scheduling preferences. The frameworks will be useful in minimizing energy in a single
or multiple machines environment where jobs have unequal release dates.
The methods which are developed use multiobjective theory to minimize energy usage as
well as other scheduling objectives. The goals of these frameworks are to provide production
managers with new energy-efficient methods that they can apply with their usual scheduling
objectives to plan jobs on machines and a framework on how to apply them into their actual
environment. The methods could also be applied to a computer, where processes must be
run to maximize the battery life. Virtually, these methods can be used with any equipment
that processes tasks with different release dates.
The proposed research includes extending the framework to machines with multiple sleep-
mode states and developing a maintenance program to minimize energy consumption under
resource constraints.

5
1.3 Contributions

The objective of this dissertation is to develop and solve multiobjective problem with
scheduling objectives and a energy consumption objective. The contributions of this disser-
tation are as follows:

## 1. Mathematical models for multiobjective optimization problems to minimize energy

consumption and a scheduling criteria:

## (c) Total completion time and load balancing on parallel machine.

(d) Total completion time on a single machine with multiple sleep-mode states (pro-
posed research).

2. Algorithms

(a) Multiobjective genetic algorithm or MOGA (for models 1.a, 1.b, and 1.c).

(b) Multiobjective greedy randomized adaptive search procedure or GRASP (for mod-
els 1.a and 1.b).

## The consideration of energy consumption together with a scheduling objective while

planning jobs on a machine is the main contribution of this dissertation. The proposed
models include two or three objectives. The first model minimizes total completion time
and energy consumption under a set of constraints on a single machine. The second model

6
minimizes total tardiness and energy consumption on a single machine. The last model
minimizes total energy consumption, total completion time, and load balancing on parallel
non-identical machines. All models are NP-hard. These models are useful in any industry
with machines that work beyond their capacity (i.e., they are not a bottleneck).

## 1.3.2 Algorithmic Contributions

When the models are developed, methods to solve those models need to be proposed in
order to find solutions belonging to the optimal pareto front. The multiobjective models
defined in this dissertation are NP-hard, complex, and time-consuming to solve. In order to
obtain quick, near-optimal solutions, metaheuristics are proposed for each model.
First, a genetic algorithm approximates the optimal pareto front when the scheduling ob-
jective is total completion time. Second, a multiobjective GRASP approach solves the model
with a total tardiness objective. In both cases, a framework to choose the right alternative
among the set of non-dominated solutions based on the decision-maker (DM) preferences
was designed based on the Analytic Hierarchy Process (AHP) . Then, metaheuristics
combining the genetic algorithm and GRASP in two different ways is proposed to solve both
problems. Also, a genetic algorithm solving the problem with the total tardiness schedul-
ing criteria and a GRASP algorithm solving the problem with the total completion time
scheduling objective are optimized. The four algorithms are compared for both problems
with different factor levels. Finally, a genetic algorithm is developed to obtain an approxi-
mate pareto front to the parallel non-identical machines scheduling problem minimizing total
energy consumption, total completion time, and load balancing.

## The organization of this dissertation is as follows: Chapter 2 provides the literature on

scheduling, energy scheduling and multiobjective optimization. Single and multiobjective
scheduling models related to the problems solved in this dissertation are summarized. In

7
addition, solution procedures and algorithms developed for single-objective or multiobjective
scheduling problems are reviewed along with some of their applications. Note that the work
in this dissertation is a first attempt to develop metaheuristics to solve this new important
class of problems.
In Chapter 3, a multiobjective problem involving the total completion time and the total
energy consumption is developed. First, the problem is defined, and then a genetic algorithm
is proposed to solve the problem. The method approximates the optimal pareto front and
leaves the decision-maker with a set of non-dominated solutions from which to choose from.
Then, a method using the Analytic Hierarchy Process is developed to obtain a single solution
based on different criteria. Also the algorithm is tested on a case study and its parameters
are optimized.
Chapter 4 presents another multiobjective scheduling problem with the objective of mini-
mization of total energy and total tardiness. A new method based on the principle of GRASP
is developed to solve the problem and obtain an approximate pareto front.
New algorithms based on the combination of genetic algorithm and GRASP are proposed
in Chapter 5. Four algorithms solving the problems defined in Chapters 3 and 4 are com-
pared together. For each problem, instances with different factor levels are analyzed. The
performance of those algorithm is assessed for each problem and for the different combination
of factors.
Chapter 6 presents a mathematical model to solve the scheduling problem with parallel
non-identical machines minimizing total energy consumption, total completion time, and
load balancing with non-zero jobs release dates. The problem is solved with a multiobjective
genetic algorithm using a random-weight technique and dispatching rules are proposed to
obtain an approximate pareto front.
The proposed research is presented in Chapter 7. This includes the development of
a reliability model of the machine considering the frequent turn off/on and maintenance
framework with energy concerns, extending the framework to machines with multiple sleep
mode states, and finally including maintenance into the models.

8
1.5 Summary

This chapter provides the motivation for the proposed dissertation work. After the prob-
lem is defined, the main contributions of this dissertation work are listed. Finally, an outline
of the dissertation is presented.

9
CHAPTER 2

LITERATURE REVIEW

2.1 Introduction

According to Graves , as early as the 1950s, the first papers were published on single-
machine scheduling to minimize the mean flow time, and maximum tardiness [45, 88]. The
single-machine single-objective scheduling problem is a very well-studied problem in the
scheduling literature. Scheduling problems are usually very complex. With the advance of
computers, even more complex problems can be solved now in a reasonable amount of time
to obtain either exact or near-optimal solutions. Some exact algorithms, such as the integer
programming approach, or branch and bound (B&B) , or metaheuristics, such as the
genetic algorithm (GA) , the greedy randomized adaptive search procedure (GRASP)
, simulated annealing (SA) , or tabu search , have been utilized to solve single-
objective problem whether or not it is NP-hard.
Although there have been significant advances in solving single-objective optimization
problems since 1950, it was not until the 1980s that researchers started to investigate mul-
tiobjective scheduling using multiple criteria decision making (MCDM) methods. MCDM
methods find solutions that optimize more than one, usually conflicting, objectives.
MCDM includes selection problems, in which a choice has to be made between a set of
finite possible solutions, and optimization problems, where the solutions belonging to the
optimal pareto front have to be identified among a set of infinite possible solutions.
At the early stage of production and until ten years ago, energy was inexpensive and
not considered a parameter to minimize. Today, carbon dioxide emissions in a production
environment are regulated by the government and cannot exceed a certain defined level.
Moreover, the increasing price of energy has been another step in the will of minimizing
energy consumption. Energy scheduling was first considered in embedded equipment such
as portable computers where energy quantity was a constraint, but the objective in this case

10
was to increase the life of the battery. In a manufacturing environment, the objective is
related to cost savings since energy is usually a virtually unlimited resource.
The remainder of this chapter is organized as follows: The next section reviews the
single-objective scheduling literature and surveys total completion time, total tardiness, and
energy consumption objectives. Parallel-machine scheduling (PMS) is reviewed in section 3.
In section 4, methods to solve single-objective scheduling problems are presented. Section
5 defines multiobjective scheduling and its applications. Several methods to solve multiob-
jective optimization problems are reviewed in section 6. Section 7 summarizes dispatching
rules to minimize energy consumption in a manufacturing environment. Finally, energy
optimization applications in other fields are presented.

## 2.2 Single-Objective and Single-Machine Scheduling

Single-machine, single-objective problems have been studied in depth for various objec-
tives. In a single-machine setting, Mellor  listed 27 different objectives that can be used
in scheduling. The most common of these are:

• Total completion time: sum of the completion time of all the jobs.

## • Maximum completion time: completion time of the last job.

• Total tardiness: sum of the tardiness of all jobs where the tardiness is defined as the
maximum of 0 and the lateness (due date minus release date).

## • Weighted total tardiness: weighted sum of the tardiness of all jobs.

• Number of tardy job: number of jobs completed after their due dates.

## • A job can only be processed after it has been released.

11
• A setup might be needed between certain type of jobs.

## • Preemption may not be allowed.

Each job may have a release date, a processing time, and a due date. Some of those param-
eters might be stochastic.
Many of the scheduling problems, such as minimization of total completion time on a
single machine with release dates or minimization of total tardiness on a single machine
with release dates, etc., are not solvable in polynomial time (i.e., they are NP-hard). The
following sections provide a more detailed review on total completion time, total tardiness,
and total energy consumption objectives.

## 2.2.1 Minimization of Total Completion Time

One scheduling problem that is widely discussed in the literature is the minimization of
total completion time. Completion time of job i (ci ) is when a machine finishes processing
that job. Total completion time is a measure of the total inventory holding cost for a given
schedule  and also a measure of the total cycle time. Also, according to Little’s law,
reducing the total completion time will reduce the work in process level. Let pi be the
processing time. When the release dates (ri ) are equal, the shortest processing time (SPT)
rule minimizes the total completion time problem . Very simply stated, all jobs should
be processed in the order of increasing processing time in a single batch. When all jobs are
P
not available at the same time, the total completion time problem, 1|ri | ci , is NP-hard
[2, 58]. In other words, no known algorithm can solve this problem in polynomial time.
For very difficult problems, sometimes dispatching rules, which provide quick and dirty
solutions using the information on available jobs, are used to select the next job to process.
However, this practice might lead to poor performance because the information known about
the future (release dates and processing times of jobs to come) are ignored. Those rules are
usually believed to perform well since the machine is always busy whenever there are jobs

12
in the queue, but in reality, the insertion of idle time might lead to better performance in
terms of the total completion time objective .
According to Chand et al. , research has taken two main direction in order to solve
P
the 1|ri | ci problem. The first is the development of the B&B algorithm to find the exact
solution. However, B&B procedures become very time consuming when the number of jobs
to be scheduled is over 40. The best known B&B algorithms have been developed by Chu
, and by Hariri et al. . The research continues on refining the upper and lower bounds
to improve the speed of the algorithm.
The second direction of research is in designing and developing heuristics, such as GA,
GRASP, SA, tabu search, etc., to find good near-optimal solutions. The advantage of these
methods is that they can provide a good solution much faster than the exact methods.
These heuristics are also very efficient when rescheduling is needed due to changes in the
manufacturing environment. Note that if there is enough time, the exact methods may
provide better quality solutions.
Many different variants of the total completion time with release dates on a single ma-
P
chine problem with additional constraints (1|ri , additional constraints| ci ) have been in-
vestigated. For example, preemption (stop processing a job to start processing another job)
can be allowed. Sequence-dependent setups might exist (i.e., the duration of setup times
depends on the processing order of the jobs). Crauwels et al.  study the minimization of
total weighted completion time with family change setup times. In this problem, each job
belongs to a family and the processing of a job might require a setup time depending on
the family of the job and the previous job. Another variant of the problem involves online
scheduling, whereby the problem consists of minimizing total completion time on a single
machine when information on release dates and/or the processing time are unknown. Fiat
and Woeginger  and Montoya-Torres  develop an algorithm for this specific problem.

13
2.2.2 Minimization of Total Tardiness

The total tardiness (lateness of the tasks) objective is a widely used measure of perfor-
mance in the manufacturing environment. This objective can be defined as

Pn
min j=1 max(cj − dj , 0),

where dj is the due date of job j, and cj is the completion time of job j. Total tardiness is the
sum of all jobs’ lateness over the scheduling horizon. If the job is on time or early, then the
associated tardiness is zero. It is also assumed that jobs are processed without preemption.
Furthermore, the jobs may have non-zero release dates (i.e., rj ≥ 0).
According to Koulamas , until the 1990’s, most research on the total tardiness problem
focused on single-machine problems with equal job release dates, but this has been extended
to unequal release dates on a single machine and multiple machines as well. Also, much of
the research has concentrated on the total weighted tardiness problem in which a weight is
associated to each job depending on its importance [3, 4].
The total tardiness problem with equal release dates is NP-hard . Some of the exact
P
solution algorithms to solve 1|| ti include dynamic programming  and B&B methods
. Precedence relations or dominance rules have been developed to accelerate heuristics
[25, 26, 55, 71]. Construction heuristics, local search heuristics, and decomposition heuristics
are utilized to obtain good solutions in a reasonable amount of time. Construction heuristics
generate a solution by picking a job according to certain rules in a set of jobs that have
not been picked yet. Examples of construction heuristics are the SPT rules explained above
P
(when applied to other problems than the 1|| ci problem) or the earliest due dates (EDD)
rules, in which the job having the earliest due date is scheduled next . Local search
heuristics begins with a solution and tries to improve it by modifying it locally to obtain a
better solution. GA, tabu search, and SA are local search heuristics. Finally, the last class,
decomposition heuristics break the problem into several smaller problems which are easier
to solve, and later construct the overall solution from the sub-solutions.

14
P
The total tardiness problem with non-zero release dates on a single machine, 1|ri | ti , is
considered an NP-hard problem [58, 85]. In other words, there is no algorithm to solve this
problem in polynomial time. Contrary to the problem involving equal release dates, in this
case, idle time may be inserted between jobs in an optimal schedule. The main methods to
solve this problem were developed by Chu , and Chu and Portmann  using a B&B
algorithm and a heuristic approach, respectively. The B&B algorithm described by Chu 
can solve problems with 30 to 230 jobs, depending on the tightness of the due dates and the
range of the release dates.

## Minimization of energy consumption has been an area of interest, especially in computer

and embedded electronic systems. For example, Swaminathan and Chakrabarty  propose
a control system to reduce energy consumption to extend the life of batteries. By simply
changing the state of the devices (e.g., on/off, etc.), they show that there can be a significant
reduction in energy consumption. Simunic et al. [86, 87] observe that energy savings up to
42% for the hard disk, 50% for the SmartBadge, and 67% for the WLAN card can be achieved
when compared to the usual controls. Tiwari et al.  show that when proper power
minimization software is utilized, a 40% energy savings can be achieved in microprocessor
power consumption.
Algorithms have also been developed for task scheduling on a single processor with mul-
tiple voltage by Rakhmatov and Vrudhula . The authors use a “battery aware” cost
function that has to be minimized and design a scheduling problem for tasks ordering and
voltage assignment. Previous results are usually for reducing energy consumption of differ-
ent parts of the mobile device . However, Wu et al.  implement a heuristic for
real-time scheduling under time and resource constraints considering the mobile device as
a whole. Chiasserini and Rao  develop a model of the behavior of a battery and show
that an efficient energy management can extend the battery life with no delay in satisfying

15
the energy demand. They also observe that an efficient schedule of energy demand lead to
a maximum capacity usage with a small delay in the power supply.
The recent development of wireless communication has enforced the need for developing
protocols to reduce energy usage of mobile equipment. Jones et al.  summarize different
protocols that have been implemented in wireless networking. The methods are classified,
depending on which layer of the protocol stack for which they are developed. Detailed pro-
tocols for wireless network designed and implemented in different areas such as surveillance
can be found in the literature [13, 42, 77]. Recently, Tiwari et al.  propose the implemen-
tation of an energy efficient wireless sensor network protocol used in maintenance to increase
battery life of sensors that monitor machines in order to reduce energy consumption via an
efficient use of the network and sleep times of the sensors.

## Single-machine models became a limitation for scheduling in industries. As industries

grew, parallel machines were installed so that jobs could be processed faster to meet the
demand. Parallel-machine scheduling involves two types of decisions (assignment and se-
quencing), whereas single-machine scheduling only involves sequencing (i.e., finding the op-
timal sequence to process the jobs). Therefore, new scheduling methods and models have
been developed to solve the parallel-machine scheduling problems. Below, a summary of the
literature on parallel-machine scheduling problems, completion times objectives, and load
balancing is provided.

## 2.3.1 Minimization of Completion Time Objectives

In the literature, completion time objectives, such as makespan, are considered more
than any other criteria. In the case where preemption is allowed, the optimal makespan
is given by the maximum between the sum of the processing times divided by the number
of machines and the maximum processing time. However in the non-preemptive case, even

16
when all release dates are zero, Pm ||cmax is an NP-hard problem. Fatemi Ghomi and Jolai
Ghazvini  developed an algorithm based on pairwise interchanges to approximately solve
Pm ||cmax in quadratic times. Tan and He  studied and analyzed the performance of three
linear-time threshold algorithm classes to solve the same problem. Also, a local search, based
on cyclic exchange, which can find the optimal solution 83 percent of the time was developed
to solve Pm ||cmax .
The parallel-machine makespan problem with sequence-dependent setup times, Pm |sds|cmax ,
is also NP-hard. This problem can be solved using a memetic algorithm , which combines
a genetic algorithm with a local search procedure.
Another widely used criterion for multi-machine scheduling problems is the total comple-
tion time objective. For example, Lee and Yu  provide a pseudo-polynomial algorithm to
solve the problem under different scenarios of disruption with the objective of minimizing the
expected total weighted completion time. They assume that when a disruption (caused by
internal or external factors) occurs, all machines will become unavailable for a certain period
of time and a certain probability is attached to each disruption. Yildirim et al.  studied
the total completion time problem with sequence-dependent setup times. They included
load balancing constraints to only allow a machine workload to be, at most, the maximum
deviation from the average workload. A genetic algorithm was used to solve the model in
different instances, and they proved that the performance can be significantly improved with
the algorithm in comparison with dispatching rules such as Longest Processing Time (LPT).
However, the maximum deviation parameter needs to be determined in advance. If the pa-
rameter is too large, the solution might not be the best, and if the parameter is too small, the
algorithm might not find a solution at all. Following the same idea of adding load balancing
as a constraint, Duman and Yildirim  developed a four-phase solution procedure to solve
Pm |sds|Ctot and analyze a large aluminium casting and processing factory where their model
could be applied to find a near-optimal schedule.

17
2.3.2 Minimization of Deviation from Load Balancing

Workflow, or load balancing, helps to accelerate the movement of jobs on the floor by
removing bottlenecks and reducing idle time. When all jobs are available at time zero,
the bottleneck is the machine with the maximum workload. Thus, balancing the workload
might prevent bottlenecks, which affects throughput. Also, load balancing tends to equal
the utilization of each resource (machine). Different measures of load balancing are defined
in the literature : Rajakumar et al.  defined the average Relative Percentage of
Imbalance (RPI) measure to be the average percentage of deviation from the machine with
the maximum workload. The authors minimized the average RPI using a genetic algorithm
to schedule n jobs on m identical machines with precedence constraints when all jobs are
available at time zero. However, in the calculation of the workflow of a machine, the idle time
was not considered, which might lead to large deviation in the maximum completion time
on each machine. Yildirim et al.  define load balancing to be the difference between the
total processing times on one machine and the average processing time per machine.

## 2.4 Single-Objective Solution Methods

As early as the 50s, Operation Research practitioners started to apply optimization theory
and methods to scheduling problems . At first, they were trying to find the exact solution
to the scheduling problems by applying optimization methods such as pure and mixed-integer
programming methods or dynamic programming or B&B methods. Those methods were
able to solve small problems since many of the scheduling problems are NP-hard. Although
computational power increased significantly, determining the optimal solution is still taking
a significant amount of time. As a result, for larger problems, heuristics were developed in
order to obtain good solutions in a reasonable amount of time. In single-objective scheduling,
heuristics such as GA, SA, GRASP, tabu search, and dispatching rules are utilized.

18
2.4.1 Exact-Solution Algorithms

According to MacCarthy and Liu , exact algorithms can be classified into two classes:
efficient optimal methods and enumerative optimal methods. The efficient optimal methods
only applies to a few specific scheduling problems and can find the optimal solution in
a polynomial time. They are useful for easy scheduling problems that are not NP-hard,
involving mostly single machine or a simple flow shop. Examples of exact algorithms are
the Shortest Processing Time (SPT) rule for minimizing total completion time on a single
machine with equal release dates or the weighted SPT rule under the same constraints
when minimizing total weighted completion time. The EDD rule, referred to earlier, is also
an efficient optimal method for the problem of minimizing maximum tardiness on a single
machine with equal release dates.
Enumerative optimal methods include a partial enumeration of all possible solutions to
the problem. Mixed-integer programming can be used to model a scheduling problem. The
model can then be solved by optimization software such as CPLEX  and MATLAB .
Another enumerative method is the B&B method, which divides the problem into smaller
sets and finds a lower bound for each set in the minimization case. If the lower bound is
greater than a previously found feasible solution, then the set is no longer explored. The
algorithm continues to divide into smaller and smaller subsets until the optimal solution is
found. The lower-bound definition usually depends specifically on the problem. The total
weighted tardiness problem has been solved with a branch and bound algorithm by Shwimer
. A survey and more details on B&B can be found in Lawler and Wood’s work .
Dynamic programming also belongs to this class of methods. It uses the divide and conquer
principle and solves many subproblems in which solutions are combined together to form the
final solution .
Finally, elimination methods are designed for specific problems and solve them by apply-
ing search strategies and reducing the possible solution space.

19
2.4.2 Heuristics Algorithms

Development of complexity analysis and proofs that most of the scheduling problems are
NP-hard has emphasized the need for heuristics capable of finding a good near-optimal solu-
tion in a reasonable amount of time. There are three different types of heuristics: dispatching
rules  decide which job to be scheduled next when a job is completed or arrives, local
search heuristics and decomposition. The second type of heuristics are the most common. In
those, a specific neighborhood is defined and searched in order to obtain either the optimal
solution in the neighborhood or a solution that satisfies certain criteria. Examples of this
kind of heuristics are tabu search, GA, GRASP, and SA. A GA is utilized in Chapters 3 and
6, and a GRASP is utilized in Chapter 4 to solve different scheduling problems.
The concept of genetic algorithm is based on the concept of genetics in biology. Basi-
cally, a genetic algorithm tries to make the solution as close as possible to the optimal one
using an evoluative process similar to what Darwin has theorized. A solution to the prob-
lem is represented as a chromosome, which itself is composed of genes. Each chromosome
can be evaluated using the objective function. A set of chromosomes is called a generation,
and chromosomes evolute from generation to generation using crossovers and mutations. A
crossover implies two chromosomes whose genes are mixed together to form a new chromo-
some. A mutation is simply a transformation of one or more genes of a chromosome. The
next generation of chromosomes is composed using the previous generation and operations
of crossover and mutation (only the best ones are kept). The evolution process stops when
a stopping criterion, such as the maximum number of iterations, is reached. The GA has
been widely used to solve many kinds of optimization problems. Especially in scheduling
problems, GAs are proven to be very efficient compared to other heuristics (a detailed survey
done by Srinivas and Patnaik ).
Another powerful search technique is greedy randomized adaptive search procedure.
GRASP is composed of two phases. In the first phase, a solution is constructed by randomly
adding a piece of the solution that meets certain criteria to the solution in construction. In

20
the second phase, the newly constructed solution is locally searched to find a better solution
according to the objective in a defined neighborhood. Those two phases are repeated until
the algorithm reaches a stopping criteria. The neighborhood definition is important in the
design of GRASP to ensure the convergence of the local search to a local optimum. Also,
over the iterations the best solution is kept. An extensive review of the GRASP heuristic
was done by Resende and Ribeiro .
The job shop scheduling problem has been solved using GRASP to minimize the total
completion time, and the authors have proven that the algorithm is competitive compared
to other heuristics solving the same problem [1, 8]. The flow shop scheduling problem is
solved in  and GRASP shows generally better results on benchmark problems than the
Nawaz-Enscore heuristic , which is well known for providing a good solution to the flow
shop scheduling problem. Another paper considers the minimization of total tardiness on a
single machine with setup times . Here, a variant of the GRASP heuristic was proposed
to solve a problem with up to 150 jobs. In another application, GRASP is used to obtain a
quick upper bound and utilized in the B&B algorithm . GRASP is also used in airline
scheduling  to minimize flight cancelation or delay cost due to a schedule disruptions. It
is important in this case to use an heuristic because a solution is needed quickly to avoid
other disruptions, and GRASP can explore a wide range of solutions quickly in order to find
an optimal or near-optimal solution. Another objective used in industry with an increasing
interest in just-in-time is related to the earliness of the jobs. The minimization of total
earliness using a GRASP and tabu search hybrid, and a B&B post optimization has been
studied . Even outside the scheduling range of problem, GRASP has been used to solve
many kinds of combinatorial optimization problems such as assignment problems .
Finally the last class of heuristics are called decomposition heuristics in which the problem
is divided into smaller, easier-to-solve problems. The solutions of each newly created problem
are combined together according to certain rules to form the final solution .

21
2.5 Multiobjective Scheduling

## Multiobjective optimization is developed to help decision-makers find the best or most

suitable solution to a specific problem in which more than one objective is considered. Mul-
tiobjective optimization is an emerging area where no common techniques can be applied
to all applications such as in single-objective optimization. Note that in multiobjective op-
timization, there is not only one solution to the problem but a set of solutions, a pareto
optimal set.

2.5.1 Definitions

Marler and Arora  define multiobjective optimization as the process of optimizing
systematically and simultaneously a collection of objective functions. There are two types of
multiobjective problems: selection problems and optimization problems. Selection problems,
which consist of selecting a solution among a finite set of solutions according to the preference
of the decision-maker are easier than the optimization problem. Methods like AHP 
can be utilized to obtain the most preferred solution. On the other hand, multiobjective
optimization problems are more complex and do not require the preference of the DM. The
general mathematical representation of a multiobjective optimization problem is as follows:

x

## hj (x) = 0, ∀j = 1...p (2.3)

In this definition, m, n, and p are the number of objective functions, the number of inequality
constraints and the number of equality constraints, respectively. The goal is to find the set
of non-dominated solutions optimizing the m objectives over the constraint set. Usually in
multiobjective optimization, there is not a single optimal solution but a set of non-dominated
solutions. A feasible solution x is called a non-dominated solution if there is no other feasible

22
solution y such that fk (y) ≤ fk (x), for all k with at least one fl (y) < fl (x). If such a feasible
solution y exists, then x is called a dominated solution. The set of non-dominated solutions
forms the pareto front. When solving a multiobjective optimization problem, the goal is to
determine the pareto front.

## In a manufacturing company, one or more criteria, such as completion time, lateness,

tardiness, and throughput, may be considered simultaneously important when a scheduling
decision needs to be made. When more than one criterion is considered, usually, a multiob-
jective scheduling approach is utilized . Many of these multicriteria scheduling problems
are NP-hard, and finding the optimal pareto front is a difficult problem, at least for opti-
mization problems. Tamaki et al.  study the parallel-machine scheduling problem to
minimize both earliness and tardiness using a genetic algorithm. Tavakkoli-Moghaddam et
al.  analyze the minimization of weighted mean completion time and weighted mean
tardiness in a flow shop environment. Gupta and Sivakumar  study the single machine
problem of scheduling jobs with family-dependent setups to minimize average tardiness and
average completion time and to maximize machine utilization. They use a compromised
optimization technique to obtain the pareto front and show improvement in the objectives
compare to the results obtained using the usual EDD or SPT rules. However, the multiob-
jective problem of minimizing energy consumption and other scheduling objectives has not
been studied in the manufacturing environment.

## 2.5.3 Multiobjective Parallel-Machine Scheduling

The parallel-machine scheduling problem with multiple objectives has not been widely
studied in the literature. Murata et al.  proposed a multiobjective genetic algorithm,
where at each iteration, the population is evaluated based on a set of weights that are ran-
domly generated for this iteration instead of a the fitness function to solve the multiobjective

23
flow shop scheduling problem. Cochran et al.  proposed a two-stage multi-population
genetic algorithm to minimize total weighted completion time, total weighted tardiness, and
maximum completion time, simultaneously. The first stage consists of a genetic algorithm
with all objectives combined into one to obtain quick solutions (at each generation new
weights are randomly generated to obtain a single objective). The second stage consists of
a vector-evaluated genetic algorithm (VEGA), where N sub-populations (one for each ob-
jective) grow separately. The authors show that in the case of parallel-machine scheduling,
the two-stage procedure performs better than the MOGA developed by Murata et al. 
for the same problem. However, the VEGA tends to provide solutions that are superior in
one objective and poor in other objectives.

## 2.6 Multiobjective Optimization Solution Methods

The methods based on evolutionary algorithms are the most popular for solving multi-
objective optimization problems. The genetic algorithm is part of the evolutionary family
methods. Many authors have studied the applications of the multiobjective genetic algo-
rithm in order to obtain an approximate pareto front in reasonable amount of time .
Van Veldhuizen and Lamont  provide a detailed literature review on MOGA. Turkcan
and Akturk  study The MOGA application to solve a bicriteria tool management and
scheduling problem related to tardiness in flexible manufacturing systems and adapt a new
fitness assignment scheme. Ceciliano Meza et al.  apply the MOGA to a power gener-
ation expansion problem with multiple objectives using a special fitness function to obtain
a well-distributed near-optimal pareto front. Botros and Sennhauser  analyze the effects
of dynamic penalty parameters on the convergence of MOGA in a large pipeline network
optimization problem. Special performance measures are developed to evaluate and compare
the set of non-dominated solutions of the problem, such as the area covered by the solutions
which first appeared in the study by Zitzler and Thiele . More performance measures
are presented in . All of these articles illustrate that the MOGA can be applied to

24
almost any kind of multiobjective optimization problem, but in many of these cases, the
choice of algorithm parameters is critical and problem-dependent.
Another method that works well for solving scheduling problem is the GRASP. In each
iteration of the algorithm, a solution to the problem is created in the construction phase, and
then this solution is locally searched in the local search phase to improve it. It is important
to define a suitable neighborhood for the local search in order to converge to a good near-
optimal solution. The best solution is kept over the iterations. Most of the optimization
problems solved using the GRASP have a single objective. As of 2002, the GRASP had still
not be implemented to solve multiobjective optimization problems . After 2002, a few
multiobjective problems have been solved using GRASP such as the multiobjective knapsack
problem .

## 2.7 Dispatching Rules for Minimization of Energy Consumption of Manufac-

turing Equipment

Mouzon et al.  address the energy consumption of a production facility by minimizing
the expended energy of manufacturing equipment through operational methods. Since a
large quantity of energy is consumed by non-bottleneck machines as they lay idle, machine
controllers are developed to reduce energy consumption while meeting production schedules.
In the first step, they developed different algorithms for a machine controller using the
given information about the schedule based on the following observations. Based on the
ratio of shut-down/start-up energy to idle energy, a dispatching rule that tells the oper-
ator/machine controller if the machine should be turned off for a certain amount of time
(i.e., before the next arrival happens) can be developed. Note that the shut-down/start-up
energy and idle energy can be calculated, using for example, the framework developed by
Drake et al.  (Figure 2.1). From Figure 2.1, the energy consumed by each subsystem of
the machine can be identified. It is also observed that the start of the machine is energy
consuming (pike at the beginning). Idle energy can be calculated as well using the same
equipment.

25
Figure 2.1: Power plot for CNC mill machine 

Let S be the break-even duration for which turn OFF/turn ON is economically justifiable
instead of running the machine at idle, i.e.,

## Turn ON/OFF energy

S= .
Idle Power Consumption per unit time

Let γ be the interarrival time between jobs and tOF F be the time required to turn off and
then turn on the machine. If γ ≥ max (S, tOF F ), then the machine can be turned off for
a particular length of time and then turned on to process some other jobs. Mouzon et
al. use this logic to design several dispatching rules and compare the performance of these
dispatching rules to a production plan where the energy savings is not considered (i.e., the no-
controller case where the machine simply starts, then is either idle or processing a part, and
finally shuts down). The controller along with its dispatching rules has proven to efficiently
decrease energy consumption. The dispatching rules provide an effective means to minimize
total energy consumption. The savings in energy consumption depends on the interarrival
time, processing time of jobs, and break-even time of the machine. If the warm-up time is
longer than the inter-arrival time, or if the turn-on/turn-off energy is high, the controller

26
using the dispatching rules will provide similar results with the no-controller case, i.e., it is
better to never turn the machine off until the last job is processed. The less warm-up time,
stop time, turn-on/turn-off energy, and machine utilization rate, the larger the potential
savings in energy consumption is. This is also true when the idle energy is relatively high.
There are some cases where the controller will be inefficient (i.e., will not provide significant
savings in total energy consumption). For example, a machine with a large warm-up time
and warm-up energy (such as an industrial oven) will not take advantage of a controller.
Thus, to decide whether the dispatching rules would be useful or not, one should determine
the characteristics of the machine by using the energy data collection framework proposed
by Drake et al. .
The following results were observed for the dispatching rules proposed by Mouzon et al.
:

• Batching increases the total completion time, and decreases the number of setups and
idle time, thus the total setup energy and the idle energy are decreased.

## • When production is postponed, the energy consumption may decrease.

• When the machine is not a bottleneck i.e., the machine utilization rate is not high
and the machine is not always processing a job, dispatching rules have the potential
to decrease energy usage significantly. Dispatching rules decreases the idle time sig-
nificantly at the expense of increasing the total number of setups. However, the total
idle and setup energy is decreased significantly when the machine is not a bottleneck.

• If the interarrival time until the next job is longer than the break-even duration, then
turning off the machine until the arrival of next job provides significant savings in
energy consumption.

Also, Mouzon et al.  constructed an artificial neural network to forecast interarrivals
(non-stationary arrivals with unknown distributions) and combined it with dispatching rules.
This combination resulted in an efficient controller for “unusual” schedules.

27
2.8 Application in Different Fields

The minimization of energy consumption is very well studied in the electrical and com-
puter engineering field, especially for embedded mobile systems [86, 87, 91, 100]. Authors
have proposed hardware as well as software methods to reduce the energy usage of portable
devices [14, 78, 107, 105]. To decrease energy consumption of devices, several wireless pro-
tocols are developed especially for portable devices [13, 42, 47, 77, 99]. In order to achieve
this, different layers or protocols of the communication function are developed, including the
MAC protocol.

2.9 Summary

This chapter provided a brief literature review on single- and parallel-machine scheduling
problems with single and multiple objectives and also presented solution methods for solving
scheduling problems. Interest here focused on total completion time, total tardiness, total
energy consumption objectives, and load balancing in scheduling. The application of these
objectives in different fields was summarized.

28
CHAPTER 3

## MINIMIZATION OF TOTAL ENERGY CONSUMPTION AND TOTAL

COMPLETION TIME ON A SINGLE MACHINE USING A
MULTIOBJECTIVE GENETIC ALGORITHM

## This chapter proposes a mathematical model for minimization of energy consumption

and total completion time on a single machine. This problem has several applications in-
cluding scheduling in the manufacturing industry, and energy minimization in computers,
cell phones, sensors, etc. The mathematical model is solved via a multiobjective genetic
algorithm to obtain an approximate set of non-dominated alternatives since the resulting
problem is NP-hard. A decision-maker can select one of these solutions using the Analytic
Hierarchy Process. Different fitness functions and parameters depending on the problem’s
characteristics were tested using a design of experiment approach.

3.1 Introduction

The goal outlined in this chapter is to investigate the effect of the total completion time
objective on the total energy consumption objective in a singe-machine environment. This
problem is modeled as a multiobjective mixed-integer program. It is observed that this prob-
lem is extremely difficult to solve. As a result, a meta-heuristic approach, a multiobjective
genetic algorithm (Multiobjective Genetic Algorithm Total Energy Total Completion time
or MOGATETC) is utilized to obtain a set of alternative solutions-a pareto front, which can
be used by a manager to determine the most suitable solution that can be implemented. It
is assumed that the genetic algorithm solves a deterministic scheduling problem, i.e., release
dates and processing times of each job are known. Furthermore, energy consumption of the
machine when it is idle and turn-off/turn-on energy is known, as well as the duration of
setup.
MOGATETC will provide a solution for when to start each job and when to turn off/turn
on the machine. In the implementation of MOGA, a chromosome may represent more than

29
one solution. In order to avoid considering all solutions related to a chromosome, some
heuristics are proposed to avoid unnecessary calculations to accelerate the algorithm.
First, a mathematical model is formulated as a multiobjective optimization problem
with corresponding constraints. The problem is then transformed to a linear mixed-integer
optimization problem. Next, the problem is solved using a MOGA. Performance measures are
developed to compare the set of non-dominated solutions from MOGATETC with different
parameters and fitness functions. Using these performance measures will determine the best
set of parameters and the fitness function for a given set of number of jobs, inter-arrival
time, and service time. Finally, an AHP technique is utilized for choosing the most suitable
solution among the solutions on the approximate pareto front obtained by MOGATETC.

## 3.2 Problem Definition

The single-machine scheduling problem with energy and total completion time objectives
has deterministic jobs arrival and service time. Also, preemption is not allowed, release dates
can be different from 0, and there is no precedence constraint. Note that this multiobjective
problem is NP-hard because one of the sub-problems that it solves (i.e., the scheduling
problem of minimizing total completion time with release dates) is NP-hard .
To fully define the problem, it is necessary to obtain or determine the characteristics of
the machine. The machine consumes idle power (Poweridle ) when not processing a part, and
processing power (Powerprocessing ) when processing a part. The tip power is the marginal
power utilized to process a part. That is,

## Powertip = Powerprocessing − Poweridle .

Furthermore, when machines are turned on or turned off, there is a fixed amount of energy
consumed (Energysetup ). A turn-off and then turn-on operation sequence is defined as a
“setup.” Setups take at least a pre-defined amount of time (Tsetup ). The break-even duration
(TB ) is defined as the least amount of duration required for a turn-off/turn-on operation (i.e.,

30
time required for a setup), and the amount of time for which a turn-off/turn-on operation
is logical instead of running the machine at idle, i.e.,

 
Energysetup
TB = max , Tsetup .
Poweridle

To identify solutions to the multiobjective problem that minimizes the total energy con-
sumption and total completion time, several factors are considered in making the scheduling
decisions: First, the order of the jobs and their starting times (or completion times) must be
determined. Second, whether there will or will not be a setup between two consecutive jobs
must be decided. Finally, length of the setup or length of the idle time has to be determined.
The complexity of the problem can be illustrated on a three-job example. Assume that
jobs 1 and 3 have a processing time of 1 second, and job 2 has a processing time of 2 seconds.
Also, assume that jobs 1 and 2 have a zero release date, while job 3 has a release date of 4
seconds. The processing power and idle power consumptions are 2 hp and 1 hp, respectively.
The setup energy is 1.5 hp.sec and the setup time is 1 second. As a result, TB is 1.5 seconds.
Figure 3.1 illustrates a few feasible solutions to the problem by considering different job
sequences. First, the solution that minimizes total energy consumption (solution 6) is not
the solution that minimizes total completion time (solution 3), thus indicating that the two
objectives are conflicting. In addition, the example illustrates that when two jobs do not
directly follow each other (i.e., there is an idle period between jobs), one needs to decide if
leaving the machine idle or performing a setup would be more beneficial. This decision is
based on the time between the end of a job and the start of the following job, and the energy
consumption characteristics of the machine.
In this instance, there are two non-dominated solutions, both of which have objectives
between the ideal and upper-bound solutions. The ideal solution contains the objectives
value when optimizing each objective by itself ((8, 9) in this example) and the upper-bound
solution is the value of objective 2 when optimizing objective 1 ((9, 19) in this example).

31
Even the pareto front of an instance of the problem with three jobs is complex to identify.
The feasible solutions are represented in Figure 3.2 and the pareto front is highlighted.

## Figure 3.1: Feasible and non-dominated solutions to the three-job problem

Figure 3.2: Non-dominated and dominated solutions to the three-jobs problem (non-
dominated solutions are pointed by an arrow)

This chapter proposes a framework to select the most appropriate solution from a set of
non-dominated solutions for minimization of total energy consumption and total completion
time. This framework involves two phases: a set of all efficient (non-dominated) solutions are
identified via a multiobjective genetic algorithm, and then a decision-maker must determine
the most appropriate solution to implement using a method like the Analytic Hierarchy
Process .

32
3.3 Mathematical Model for Minimization of Energy Consumption and Total
Completion Time

The multiobjective mathematical model to minimize total energy consumption and total
completion time on a single machine (MOTETC) can be summarized as:

n
X n
X
min (max cj − min cj ) ∗ Poweridle − yjk (3.1)
j j
j=1 k=16=j
n
X
min cj (3.2)
j=1

cj − pj ≥ rj ∀j = 1...n (3.3)

## ck − pk ≥ cj or ck ≤ cj − pj , ∀j = 1...n, ∀k = 1...n 6= j (3.5)

cj , yjk ≥ 0 (3.6)

where yjk is the total idle energy consumption between jobs j and k when there is a setup.
The total completion time objective is nj=1 cj , and the total energy consumption can be
P

modeled as (maxj cj − minj cj ) ∗ Poweridle − nj=1 nk=16=j yjk . In this formulation, the start
P P

energy and stop energy at the very beginning and at the end after all jobs are completed, and
the tip energy (Energytip = Powertip nj=1 pj ) are ignored, since all of these events consume
P

the same amount of energy regardless of solution. In this formulation, equation (3.3) states
that a job cannot be processed before it is released. Equation (3.4) states that if a job j
precedes a job k and if a setup is performed then yjk is equal to the corresponding idle energy
minus the setup energy Energysetup . Finally, equation (3.5) ensures that two jobs cannot be
processed at the same time.

33
When this MIP is transformed into a linear mixed-integer program (see Appendix A),
the Multiobjective Total Energy Total Completion time Mixed-Integer Linear Program
(MOTETCMILP) has n + n(n − 1) + 2 continuous variables, 3n(n − 1) + 5n(n − 1)(n − 2)
integer variables, and 3n + 5n(n − 1) + 8n(n − 1)(n − 2) constraints, when the number of
jobs is n.
As noted, this multiobjective problem is NP-hard. As a result, an optimal solution
for MOTETCMILP cannot be found quickly. Thus, a multiobjective genetic algorithm
(MOGATETC) will be utilized to solve the MOTETCMILP. The advantage of metaheuristic
methods is that they may provide a good solution in a reasonable amount of time. Also, these
heuristics are very efficient when rescheduling is needed due to changes in the manufacturing
environment.

## 3.4 Solution to MOTETC or MOTETCMILP Using a Genetic Algorithm

The proposed multiobjective genetic algorithm provides a solution that has information
on when to start each job and when to turn off/turn on the machine. For solving the multi-
objective optimization problems, evolutionary methods have been utilized in the literature.
Van Veldhuizen and Lamont  provide a detailed literature review on MOGA. Turkcan
and Akturk  study a MOGA application to solve a bicriteria tool management and
scheduling problem related to tardiness in flexible manufacturing systems and adapt a new
fitness assignment scheme. Ceciliano Meza et al.  apply MOGA to the power genera-
tion expansion problem with multiple objectives using a special fitness function to obtain a
well-distributed near-optimal pareto front. Special performance measures are developed to
evaluate and compare the set of non-dominated solutions of the problem such as the area cov-
ered by the solutions that were first studied by Zitzler and Thiele . Other performance
measures are presented in .
The pseudo code for the proposed MOGATETC is given in Figure 3.3. An initial popula-
tion of size K is randomly generated. Since each chromosome may represent more than one

34
solution, a series of linear programs is used to determine the set of pareto optimal solutions
corresponding to that chromosome. A new generation of K individuals is generated using
genetic operators such as crossover and mutation. Only the K best individuals from the two
populations will survive and continue the evolution process to reach a set of near-optimal
solutions. The non-dominated solutions set is updated from generation to generation. When
the algorithm reaches its stopping criteria, the solutions contained in the non-dominated set
form the near-optimal pareto front, which will be used in the selection of the “best” solution
using the Analytic Hierarchy Process.

Figure 3.3: General steps in determining a pareto front for the mutiobjective MOTETC
problem using a genetic algorithm

## Below, the components of MOGATETC are described in detail.

35
3.4.1 Representation of Solutions

## A chromosome that represents MOGATETC solutions is an array with 2 ∗ n − 1 cells

(Figure 3.4). The first n cells represent the order of the jobs, and the last n − 1 cells show
whether there is a setup between two successive jobs; these cells have a value of 1 if there
is a setup, and 0 otherwise. For example, with four jobs, the chromosome [2 3 4 1]+[0 1
0] means that the jobs are processed in the order 2, 3, 4, and 1 and that there is a setup
between job 3 and job 4.

## Figure 3.4: Chromosomes representing order of jobs and setups

Note that each chromosome may represent an infinite number of solutions: the inserted
idle time between successive jobs and the length of the setup (which is at least equal to the
“break-even setup duration” but can be longer) provide an infinite number of alternatives.

## 3.4.2 Initial Population

The initial population is randomly generated using the following procedure: the first part
of the chromosome containing the job’s number is a random permutation of the number from
1 to n. The second part, which contains the setups, is generated by first generating n − 1
numbers between 0 and 1, and then assigning a value of 0 if the generated number is below
0.5, and 1 if otherwise.

36
3.4.3 Obtaining Approximate Pareto Front of a Chromosome Using Linear Pro-
gramming

Given a chromosome, the order of jobs and whether or not there is a setup between two
consecutive jobs are known. If this information is known, the multiobjective mixed-integer
program reduces to a linear program. To determine the set of non-dominated solutions cor-
responding to this chromosome, the following multiobjective linear program (MOTETCLP)
can be utilized:

X
min ((Cj+1 − Pj+1 ) − Cj ) ∗ Poweridle + Ω ∗ Energysetup (3.7)
X
n
X
min Cj (3.8)
j=1

Cj − Pj ≥ Rj , ∀j = 1...n (3.9)

## Cj+1 − Pj+1 − Cj ≥ TB , ∀j ∈ X (3.11)

Cj ≥ 0 (3.12)

where Ω is the number of setups in the current solution, and X (X̄) is a set that contains i
if there is no (a) setup between the job at position i and the job at position i + 1. Note that
in this formulation, Cj , Pj , and Rj indicate completion time, processing time, and release
date of the job in position j in the sequence defining the order of the jobs. Also, note that
equation (3.7) minimizes the total idle and setup energy. MOTETCLP can be solved by
combining the two objectives into a single objective by adding the weighted sum of both
objectives, i.e., the objective function for the weighted problem is

f (w1 , w2 ) = w1 f1 + w2 f2 (3.13)
n
!
X X
= w1 Cj + w 2 ((Cj+1 − Pj+1 ) − Cj ) ∗ Poweridle + Ω ∗ Energysetup
j=1 X

37
This mathematical program is a linear problem. For any pair of weight combinations, a
non-dominated solution can be obtained . To obtain a set of non-dominated solutions,
the following procedure can be utilized:
Step 1: Generate random values for w1 and w2 where w1 + w2 = 1.
Step 2: Solve MOTETCLP.
Step 3: Add the solution to the set of non-dominated solutions (if different
from the solutions in the set).
Step 4: If stopping criterion (maximum number of weight generation) is
not satisfied, go to Step 1.

After solving the linear program with different sets of weights, each chromosome will have a
set of non-dominated solutions for that particular chromosome.
Consider the example represented in Table 3.1. For chromosome [2 4 3 1 5] + [0 0 1 0],
the MOTETCLP provides (12, 52), (10, 54), and (7, 60) as the non-dominated front. The
completion time of the jobs for each of the solutions are (3, 6, 10, 16, 17), (5, 6, 10, 16, 17),
and (8, 9, 10, 16, 17).

Table 3.1: Experimental setting for obtaining the solutions for one chromosome using the
weight method
job 1 2 3 4 5 idle power 1
release date 1 2 9 5 7 setup time 5
processing time 1 1 1 1 1 setup energy 4

3.4.4 Crossover

In this representation, the first part of the chromosome is an ordered set. As a result,
a direct swap might introduce duplicates and remove necessary candidates from the list.
As a result, the following scheme is utilized to obtain feasible children using the crossover
operation (Figure 3.5):

1. Define a random crossover point in the part of the chromosome defining the order of
the jobs.

38
2. Retain the chromosome up to the crossover point for each parent. The other part after
the crossover point of the chromosome is ordered as it is ordered in the other parent.

3. Define a random point in the part of the chromosome defining the setups.

4. Perform a one-point crossover in which part of the chromosome after the crossover
points is swapped to obtain the child chromosomes.

## For example, in a four-job problem, the children of chromosomes [2 3 1 4]+[0 0 1] and [3 1

4 2]+[0 1 0] with breakpoints 2 and 2 are [2 3 1 4]+[0 0 0] and [3 1 2 4]+[0 0 1].

3.4.5 Mutation

## In genetic algorithms, the purpose of mutation is to avoid local minima by preventing

the population of chromosomes from becoming too similar to each other and slowing the
evolution process. The mutation operation is defined as follows (Figure 3.6):

## 3. Randomly select a setup/no-setup gene, and inverse it (from 1 to 0, or vice versa).

39
At each iteration, only a percentage of the population will have mutation. For example, the
chromosome [2 3 4 1]+[0 1 0] can be mutated into [1 3 4 2]+[1 1 0] where the order of jobs
2 and 1 are inverted, and the no-setup between the two first jobs is changed into a setup.

## 3.4.6 Fitness Function

Fitness functions are utilized to determine the quality of solutions in the current pop-
ulation. A solution determines the order of jobs, whether or not there is a setup between
jobs, the amount of idle period between jobs, and the completion time of all jobs. Since a
chromosome may represent one or more solutions, the best measure of the fitness function
over the set of solutions that a chromosome represents is kept to evaluate the chromosome.
Two types of fitness functions may be used in the MOGATETC algorithm . The first
fitness function evaluates the solution based on its rank. Let ]lk be the number of solutions
that dominates a solution l in generation k. The rank of a solution is equal to 1 + ]lk , i.e.,
the number of solutions that dominates this solution. If the solution is non-dominated, then
its rank is one. The higher the rank is, the poorer the solution is. The fitness function value
for Θlk , a solution l in generation k, is

1 1
f itness(Θlk ) = =
rank(Θlk ) 1 + ]lk

40
The second fitness function is based on the number of non-dominated solutions in the
neighborhood of a solution. The size of the neighborhood is related to the parameter σ,
which needs to be determined. The higher the number of solutions in the neighborhood,
the poorer the fitness function value. The definition of this fitness function is based on the
normalized distance between two solutions i and j, which is in the case of two objectives:

"2
# 21
X (fgi − fgj )2
dij =
f max − fgmin )
g=1 g

In this definition, fgmax and fgmin are the maximum and minimum values of the g th objectives
in the current generation, and fgi is the value of objective g of solution i. To evaluate the
fitness function of each solution, the distance dij is computed for each solution i and j having
the same rank. The sharing function is defined as:

 a
dij
sharing(dij ) = 1 − if dij ≤ σ, 0 otherwise
σ

Parameter a is a positive scaling factor (usually less than one), and σ determines the maxi-
mum distance from a solution for another solution to be considered part of the neighborhood
(also called niche). The fitness function is adjusted to:

f itness(Θli )
f itness(Θli ) = PN
j=1 sharing(dij )

## where N is the number of solutions.

41
3.4.7 Selection

The next generation of chromosomes is obtained using the previous generation and chro-
mosomes generated via mutation and crossover operations. The best solution of a chromo-
some is kept to compete with the solutions of other chromosomes (according to the fitness
function). Finally, solutions from each chromosome are compared, and the new generation
is made with the best chromosomes according to the fitness function.

## 3.4.8 Stopping Criteria

The stopping criteria used is the maximum number of generations. When the algorithm
reaches this stage, the algorithm stops, and the approximate pareto-front is contained in the
current set of non-dominated solutions.

## 3.5 Experimental Setup

This section explains how MOGATETC is applied to examples with 10, 30, and 50 jobs
with an exponential inter-arrival rate of 10 seconds and an exponential processing time with
a mean of 3 seconds. The idle power, setup energy and setup time are set to 1 hp, 3 hp.sec,
and 5 seconds, respectively. The population size K for MOGATETC is assumed to be 15,
the number of generations 20, the rate for crossover 70% and the mutation rate 30%. Each
test is run ten times with the same parameters and the average is taken as the measure of
performance. Based on these values, the goal is to optimize the parameters of MOGATETC
one at a time. Also, the results for the two fitness functions based on rank and niches were
compared.
Note that optimizing one parameter by fixing the others may not be the best way to
determine the combination of parameters leading the algorithm to find the best set of non-
dominated solutions according to the measure of performance, analysis is not performed
with all possible combinations of crossover rates, number of individuals in a generation, and

42
number of generations. However, considering all possible combinations may take a significant
amount of time.
In order to compare MOGATETC with different parameters and different fitness func-
tions, a measure of performance must be used. Here, the measure used is the area covered
by the non-dominated set of solutions. In the case, where only two objectives are evaluated,
the area covered by the non-dominated solutions is calculated by taking the union of the
area of the rectangles defined by the origin and a non-dominated solution. This measure of
performance was first developed by Zitzler and Thiele . For example, the area covered
by the three solutions in Figure 3.7 is the sum of the area of rectangles a, b, and c. Since
minimization objectives are considered, the performance of an algorithm is better when the
measure has smaller values.

## 3.5.1 Choosing Best Crossover Rate

Using the measure of performance explained above and MOGATETC with the fitness
function based on rank, results are compared using different rates of crossover from 0 to
1 by increasing the crossover rate by a step of 0.1 having 20 generations composed of 15
individuals. Since the optimal rates of crossover may vary with the number of jobs considered,
the experiment is run for a low, medium, and high (10, 30, and 50) number of jobs with a

43
machine having the same characteristics. Table 3.2 shows that a crossover rate of 0.7 leads
to good results for the problems with a different number of jobs.

## Table 3.2: Performance depending on crossover rates and number of jobs n

Crossover Rate n = 10 (×104 ) n = 30 (×106 ) n = 50 (×106 )
0 5.7010 1.1623 4.6111
0.1 6.9950 0.9220 3.2061
0.2 5.9536 0.8298 2.6380
0.3 6.1220 0.7591 3.6751
0.4 5.5373 0.8277 2.9887
0.5 5.4824 0.8530 3.2158
0.6 4.9475 0.8457 2.7729
0.7 4.5494 0.5250 2.2430
0.8 4.6399 0.5850 2.2396
0.9 4.9883 0.6562 3.0271
1 5.6492 0.7492 3.4624

## 3.5.2 Choosing Generation Size

The same type of experiment can be run to find the optimal number of individuals K
in a generation depending on the number of jobs to be processed. Again, the number of
generations is fixed at 20, and the rate of crossover found in the last section is utilized (0.7).
Table 3.3 shows that the best number of individuals is around 15 for the problems considered.

## Table 3.3: Performance depending on number of individuals in a generation and number of

jobs n
Number of Individuals n = 10 (×104 ) n = 30 (×106 ) n = 50 (×106 )
5 6.3961 1.3356 3.8426
10 5.7442 0.6180 3.7630
15 4.9387 0.5349 2.1405
20 5.3873 0.6358 2.1149
30 5.2640 0.7347 2.4305
40 5.4684 0.4853 2.4328
50 6.3059 0.6998 2.4506
60 7.3151 0.6361 2.5758
70 6.1843 0.4769 2.6148
80 7.0016 0.7210 2.7195
90 6.7124 0.7591 2.9670
100 7.2672 0.7778 3.0163

44
3.5.3 Choosing Optimal Number of Generations

Following the scheme to determine the best set of parameters, different experiments are
run on the algorithm with a varying number of generations P , while keeping the rate of
crossover and the number of individuals in a generation at their optimized numbers. Table
3.4 shows that the optimum number of generations is at the maximum number allowable, or
100. This result is logical because the more generations, the better the solution. However,
the number of generations is limited to 20 generations.

## Table 3.4: Performance depending on number of generations and number of jobs n

Number of Generations n = 10 (×104 ) n = 30 (×105 ) n = 50 (×106 )
5 8.3571 7.9401 4.7451
10 7.1347 6.5371 3.5768
15 5.3876 5.9738 3.0435
20 4.3810 5.3875 2.3787
30 4.2842 5.2490 2.2921
40 4.1465 5.0353 2.2048
50 4.1129 4.9745 2.1876
60 3.9935 4.9084 2.0910
70 3.9602 4.8859 2.0652
80 3.9148 4.6480 1.9978
90 3.8859 4.6298 1.9204
100 3.8434 4.5924 1.8410

## 3.5.4 Choosing Radius σ in Fitness Function that Uses Niches

The second fitness function developed with the niches used a parameter σ which is the
radius of the circle that covers the non-dominated solution in a given area. MOGATETC
is run using the second fitness function with various σ while fixing the other parameters
at their optimum value determined by other experimentations. Table 3.5 shows that there
seems to be an optimum radius (σ) around 200 according to the measure of performance
considered.

45
Table 3.5: Performance depending on σ and number of jobs n
σ n = 10 (×104 ) n = 30 (×105 ) n = 50 (×106 )
5 9.2008 7.0078 4.2731
25 8.6060 7.1092 3.1001
50 8.5035 6.7326 3.1446
75 7.4233 6.5814 4.2542
100 7.6722 7.8930 3.2007
125 5.9171 6.4495 2.9266
150 7.1113 6.1353 3.5455
175 6.4890 7.8460 2.5801
200 4.8158 5.3296 2.4676
225 5.6483 5.9829 2.7996
250 5.2183 6.7172 2.8539
275 6.9187 6.8130 2.9821
300 5.5861 7.3407 3.3704

## 3.5.5 Comparing Fitness Functions

Given the optimal set of parameters, two fitness functions are compared using the same
parameters while varying the number of jobs. As can be seen in Table 3.6, the niche-
based fitness function has a slightly higher measure of performance each time. However, the
difference is not significant according to a t-test for any α (the significance level) greater
than 0.2%, and another performance measure should be used to measure the distribution of
the front since the second fitness function was developed in order to obtain a well-dispersed
pareto front. Also, for the same final pareto front, a set of points representing the pareto
front, will have a higher measure of performance if the points are spread out. Consider the
example in Figure 3.8, where the two different sets of points representing the same pareto
front have different measures of performance. The more spread out the set, the higher the
measure of performance. The area covered by the three rectangle points is obviously bigger
that the one covered by the three circle points.
When the values for the first measure of performance are almost the same, another
measure should be used to determine which pareto front is better. To measure “spread” of
the set representing the same pareto front, the solution space can be divided in a grid and
the number of grids utilized to cover all pareto solutions can be counted. The more grid

46
Table 3.6: Performance depending on the fitness function
Number of jobs Rank based(×107 ) Niche based(×107 )
5 0.0002 0.0002
10 0.0016 0.0017
15 0.0018 0.0019
20 0.0335 0.0394
25 0.0368 0.0419
30 0.0555 0.0562
35 0.0490 0.0503
40 0.1683 0.1707
45 0.2036 0.2066
50 0.3120 0.3375
55 0.4509 0.4666
60 0.5718 0.5742
65 0.6187 0.6333
70 0.8653 0.8886
75 1.4426 1.4496
80 1.6695 1.6836
85 1.8637 1.8722
90 2.8077 2.8219
95 3.0312 3.0676
100 3.5796 3.6375

that is utilized, the more spread and the better the solution. In general, the solution should
represent a well-dispersed pareto front.

## 3.6 Increasing the Speed of MOGATETC

In this section, two methods to decrease the computational time of MOGATETC are
presented. A heuristic and some dominance rules are presented below.

## In utilizing MOGATETC to solve MOTETC, the most time-consuming operation is

solving the LPs (MOTETCLP) for each chromosome with different sets of weights in order
to obtain an approximate pareto front. The development of a heuristic to find the non-
dominated solutions for a particular chromosome would significantly improve the speed of
the algorithm. When the order of the jobs is fixed, processing the next job as soon as it

47
Figure 3.8: Measure of performance of two sets of solutions representing the same pareto
front

is available, if the machine is idle, or processing it as soon as the machine becomes idle,
minimizes the total completion time, since the order of jobs is known. This solution provides
an ideal total completion time and an upper bound in energy consumption for that partic-
ular solution. However, this is only one of the non-dominated solutions. It is possible to
obtain other non-dominated solutions by progressively decreasing the energy-consumption
level (although the total completion time may increase), starting with the solution minimiz-
ing total completion time and pushing back the jobs following a setup until their completion
times correspond to the starting time of the following job. Both jobs following a setup can
be pushed back until a third job is reached and so on until another setup is reached. This
procedure reduces the idle period, which consumes energy, and increases the setup period
which consumes the setup energy regardless of the length of the setup period.
Considering the chromosome [2 3 1 4 5]+[1 0 0 1] with jobs 1, 2, 3, 4, and 5 being released
after 5, 0, 2, 7, and 10 seconds having pi = 1 sec, Figure 3.9 shows how the procedure
works. The first non-dominated solution (the starting solution) is the one minimizing total
completion time. The second non-dominated solution shifts the job right after the first setup
(job 3) of one second. That job is shifted one more time until its completion time corresponds

48
to the starting point of job 1. Then both jobs are shifted by steps of one until the completion
time of job 1 corresponds to the starting point of job 4 since there is no setup between job 1
and job 4. Job shifting ends after that time because there is a setup between job 4 and job
5. The procedure continues until there are no more jobs to shift.

## Figure 3.9: Illustration of heuristic to solve LP

However, if the jobs are shifted only by  (an infinitesimal period of time), then there is
an infinity of non-dominated solutions. To avoid having to consider too many solutions, the
period of time that the jobs are shifted must be fixed. In the example above, this step is
fixed to one second.

## 3.6.2 Utilizing Dominance Rules to Eliminate Some Chromosomes

In this section, rules are developed eliminate some solutions (chromosomes). This can be
done by proving that all solutions represented by a chromosome are dominated by some other
chromosome. These are defined as the dominance rules. Note that although the dominance
rules might achieve a faster convergence to an approximate pareto front, an optimal pareto
front might not be reached because these dominated chromosomes may have led to a non-
dominated solution in the next generation.
It is possible to check if a chromosome is dominated via a forward or backward pass. To
describe these heuristics, the modified release date, Ri0 , is defined as max(Ri , Ri−1
0
). In order
to develop the dominance rules, the following theorem is proven:
Pk 0
− (Ri0 + Pi ) ∗ Poweridle < Energysetup , then no setup is needed

Theorem 1 If i=ϑ Ri+1
between the job at position k and the job at position k + 1.

49
In this theorem, ϑ is equal to the index j, where the last setup before the job at position
k occurs between the job at position j − 1 and the job at position j. If no such job exists,
then ϑ = 1. Basically, there is no need for a setup operation if the total idle energy, which
may be accounted for from the last setup to the job at position k, is less than the setup
energy.
Proof: (by induction):

• For k = ϑ + 1: If the idle energy between the earliest time the job at position ϑ + 1 can
be started and the earliest time the job at position ϑ + 2 can be started is less than a
setup operation energy, then there is no need for a setup.

• Suppose that the theorem is true for k = ϑ + j. Now, if the theorem holds for
k = ϑ + j + 1, then the theorem will be proved. If there is no need for a setup between
the job at position ϑ + j and the job at position ϑ + j + 1, when the idle energy between
the job at position ϑ+j +1 and the job at position ϑ+j +2 is added, if the setup energy
is still greater than the total idle energy, then there is no need for a setup operation.
Note that if there is a setup before job at position ϑ + j + 1, then only the possible idle
power between the jobs following the setup is accounted for in the condition stated in
the theorem.

The forward pass heuristic is based on Theorem 1, and the condition stated in the theorem
is checked for all k = 1, ..., n − 1. If the condition is met and if there is a setup between the
job at position k and the job at position k + 1, then the chromosome does not belong to the
optimal pareto front and is thus dominated by the solutions in the optimal pareto front.
Looking at the example in Figure 3.10, the following inequalities must be checked:

• (R20 − (R10 + P1 )) ∗ Poweridle < Energysetup ; the index ϑ is equal to 1 in this case.

• (R20 − (R10 + P1 )) ∗ Poweridle + (R30 − (R20 + P2 )) ∗ Poweridle < Energysetup ; the index ϑ
is equal to 1 in this case.

• (R40 − (R30 + P3 )) ∗ Poweridle < Energysetup ; the index ϑ is equal to 3 in this case.

50
Figure 3.10: Illustration for forward and backward pass with four jobs

Similarly one can utilize the same logic using a backward pass:

Pk 0 0
Theorem 2 If i=ϑ (Rn−i − (Rn−i−1 + Pn−i−1 )) ∗ Poweridle < Energysetup , then no setup
needed between the job at position n − k − 1 and the job at position n − k.

In this theorem, ϑ is equal to n minus the index j, where the last setup after the job at
position n − k occurs between the job at position j and the job at position j + 1. If no such
job exists, then ϑ = 0.
Proof:

• Start by proving the theorem for k = 0: If the idle energy between the earliest time
that the job at position n can be started and the earliest time that the job at position
n − 1 can be started is less, than a setup operation energy, then there is no need for a
setup.

• Now, suppose that the theorem is true for k = j and prove that it is also true for
k = j + 1: If there is no need for a setup between the job at position n − j − 1 and the
job at position n − j, then if with the idle energy added between the job at position
n − j − 2 and the job at position n − j − 1, the setup energy for turning off/on operation
is still greater, then there is no need for a setup operation. Note that if there is a setup
after the job at position n − j, then only the possible idle energy between the jobs
preceding the setup accounts for the condition stated in the theorem.

In the backward pass, the condition stated in the theorem is checked for all k = 0, ..., n−2.
If the condition is met and if there is a setup between the job at position n − k − 1 and
the job at position n − k, then the chromosome does not belong to the optimal pareto front

51
and is thus dominated by the solutions in the optimal pareto front. In other words, this rule
indicates that there is no need for a setup operation, since the total idle energy accounted for
from the job at position n − k to the first setup after the job at position k is less than a the
energy required for a setup operation. Looking at the example in Figure 3.10, the following
inequalities must be checked:

• (R40 − (R30 + P3 )) ∗ Poweridle < Energysetup ; the index ϑ is equal to 0 in this case.

• (R40 − (R30 + P3 )) ∗ Poweridle + (R30 − (R20 + P2 )) ∗ Poweridle < Energysetup ; the index ϑ
is equal to 0 in this case.

• (R20 − (R10 + P1 )) ∗ Poweridle < Energysetup ; the index ϑ is equal to 2 in this case.

Some other simple rules can be added to the forward and backward passes. For example,
a chromosome starting with the job having the latest release date can be said to be dominated
if the jobs are not ordered according to the SPT rule , or if there is a setup. Formally,

Proposition 1 If the job at position 1 is the job with max(ri ) and the jobs are not ordered
according to the SPT rule, then the chromosome is dominated.

Proposition 2 If the job at position 1 is the job with max(ri ) and if the setup genes are 6=
0, then the chromosome is dominated.

In fact, in this case, the chromosomes will all be dominated if the first job with the
maximum release date is not the one with the shortest processing time. Note that the
solution to this chromosome has the lowest energy consumption.
It is also possible to tell if a chromosome is dominated by comparing two chromosomes.
For a given chromosome (i.e., given order of jobs), let h1 indicate the minimum energy
consumption and u1 be the completion time corresponding to this solution. Furthermore,
let h2 be the minimum completion time and u2 be the energy consumption related to this
solution. Note that (h1 , h2 ) is a lower bound/ ideal/best solution, and (u1 , u2 ) is an upper
bound (extreme solution).

52
Proposition 3 If the upper bound of a chromosome is better than the lower bound of the
second chromosome, the second chromosome is dominated by the first chromosome.

In other words, if the best solution of chromosome 2 has both total energy consumption
and total completion time higher than the extreme solution from chromosome 1, all other
solutions from chromosome 2 are also dominated by all solutions from chromosome 1.
Table 3.7 shows that the time to run the MOGA algorithm with dominance rules takes
less CPU time than the MOGA, which does not utilize the dominance rules. Moreover, the
gain in time increases when the number of jobs increases.

## Table 3.7: CPU time with and without dominance rules

Number of Jobs Not Using Dominance Rules Using Dominance Rules
5 24 45
10 33 53
20 41 70
50 128 88
100 296 100

## 3.7 Case Study

The algorithm is run on a case study using the best fitness function and optimized
parameters. Figure 3.11 shows the pareto front obtained with the algorithm on a 50-job
problem (MOTETCMILP) with optimized parameters. As can be seen, the second fitness
function does its job perfectly by spreading the solution on the pareto front and avoiding a
cluster of solutions. Each solution represents a full schedule of jobs with their completion
times as well as the setup sequence. The total completion time objective and the total energy
objective vary from 0 (when all of the jobs are scheduled after the job with the maximum
release date) to 350 hp.sec and from 13,500 to 21,000 seconds, respectively (Figure 3.11).
In an environment where 50 jobs need to be scheduled or rescheduled in a short amount of
time, this algorithm is able to find the approximate pareto front in less than three minutes.
The wide range of solutions provides more options for the production manager. The set

53
of non-dominated solutions can be an input to a selection method (AHP) by taking into
account the decision-maker’s preferences.

Figure 3.11: Pareto front for 50 random jobs with optimized parameters (Best AHP alter-
native is pointed by an arrow)

## 3.7.1 Comparison of Methods for Solving MOTETCLP

This problem can be solved using four types of algorithms consisting of a combina-
tion of LP with and without dominance rules and heuristic with and without dominance
nodom dom nodom dom
rules, GAT ET CLP , GAT ET CLP , GAT ET Cheur , and GAT ET Cheur , respectively. The
comparison of these different algorithms is based on the following measure: For the same
problem, a set of non-dominated solutions is obtained from each algorithm. To compare the
two solution approaches, a new pareto front is built based on the two solution sets. The
performance measure of one algorithm is the percentage of solutions in the new pareto front
formed from the set of non-dominated solutions of that algorithm. For example, if algorithm
1 and algorithm 2 result in the set of non-dominated solutions [(1 2), (1.5 1), (2 0.5)] and
[(0.5 2), (2 1)], then the combined pareto front is [(0.5 2), (1.5 1), (2 0.5)], respectively.

54
The performance measure is 66.6% for algorithm 1 and 33.3% for algorithm 2, implying that
66.6% of the final pareto front comes from algorithm 1.
Table 3.8 represents a pairwise comparison between different algorithms using the per-
formance measure described above. To avoid misleading results due to randomness, each
of the pairwise comparisons is run ten times, and the mean is presented in the table. The
percentage columns contain the percentage of solutions issued from the first algorithm (left
column) as well as the percentage of solutions issued from the second algorithm (first line).
The time columns work the same way with time instead of percentage.

## Table 3.8: Comparison of different algorithms in the proposed MOGA

nodom dom dom
GAT ET Cheur GAT ET CLP GAT ET Cheur
CPU Time % CPU Time % CPU Time %
nodom
GAT ET CLP 221/69 71/30 213/18 88/13 209/17 94/9
nodom
GAT ET Cheur 76/17 81/20 80/18 93/10
dom
GAT ET CLP 17/17 75/30

nodom
GAT ET CLP gives the best result in terms of the pairwise comparisons, but it is also the
nodom
most time-consuming algorithm. The percentage of solutions coming from GAT ET CLP
nodom
seems high compared to GAT ET Cheur , but when looking at the pareto fronts issued from
nodom
each algorithm (ten for each algorithm) in Figure 3.12, the solutions from GAT ET Cheur
nodom nodom
(+) are very close to the solutions from GAT ET CLP (). However, GAT ET Cheur takes
nodom
considerably less time than GAT ET CLP . It seems that the algorithm using the dominance
rules gives poor results compared to the other algorithms. However, they are also the fastest
algorithms.
nodom
In conclusion, GAT ET CLP can be used to obtain the first schedule of jobs on the
nodom
machine and GAT ET Cheur can be used to get a new schedule quickly in case of a disruption
or change in the parameters. If the new schedule needs to be determined quickly, then
dom
GAT ET CLP should be used.

55
nodom
Figure 3.12: Pareto fronts for a 50-random-jobs problem from GAT ET CLP (blue +) and
nodom
GAT ET Cheur (red )

## 3.7.2 Selection of an Alternative Using Analytic Hierarchy Process

In the 1970s, Saaty developed the Analytic Hierarchy Process  to choose the best
alternative among a set of non-dominated solutions according to different criteria and sub-
criteria. The decision-maker has to structure the problem in a hierarchy of criteria and
sub-criteria. S/He also has to provide pairwise comparisons of the criteria to determine the
value of the weight that will allow the evaluation of each alternative. Those values can be
obtained using either measurement or pairwise comparison. The pairwise comparison has to
be done using a ratio scale as defined by Saaty .
This problem hierarchy considers criteria that are energy related, completion time related
and the number of jobs which are not processed immediately when released. In the second
level of hierarchy, total energy consumption, total number of setups, total completion time,
and maximum completion time are considered. The AHP hierarchy is presented in Figure
3.13. The pairwise judgment matrices for the first and second level of the hierarchy is
presented in Tables 3.9.a, 3.9.b, and 3.9.c. Note that there is no inconsistency in the decision

56
maker pairwise judgements. In this example, the decision-maker assumes that energy-related
objectives are more important than the number of jobs not started when released, and less
important than the completion time related criteria. In the second level, the total completion
time is more important than the maximum completion time, and total energy consumption is
preferred to the number of setups criterion. The next step is to normalize all of the second-
level hierarchy to calculate one measure for each of the alternatives. Using the criteria
matrices, the value judgment (priority) 4i for alternative i is calculated as:

i i
4i = 0.29 ∗ (0.75Ŝ11 + 0.25Ŝ12 i
) + 0.14Ŝ2i + 0.57 ∗ (0.66Ŝ31 i
+ 0.33Ŝ32 ) (3.14)

where
max(S2i ) − S i
0≤ Ŝ2i = ≤1
max(S2i ) − min(S2i )

## Table 3.9: AHP scaling parameters

S1 S2 S3
S11 S12 S31 S32
S1 1 2 0.5
S11 1 3 S31 1 2
S2 0.5 1 0.25
S12 1/3 1 S32 0.5 1
S3 2 4 1
a. Judgment Criteria Matrix (JCM) b. Energy-related JCM c. Completion time JCM

57
Table 3.10: Ten best alternatives and their criteria value
Alternative S11 S12 S2 S31 S32 4i
1 240.6 11 19 1363.5 475.8 0.738
2 168.3 11 23 1370.7 475.8 0.768
3 145.1 11 27 1375.4 475.8 0.767
4 122.1 11 29 1382.3 475.8 0.771
5 108.1 11 33 1389.8 475.8 0.762
6 33.0 11 42 1516.8 475.8 0.721
7 311.3 4 13 1357.0 471.8 0.769
8 269.1 9 15 1360.2 477.9 0.731
9 234.8 9 18 1367.7 477.9 0.739
10 6.0 2 47 1649.2 471.8 0.721

Using the 50-job problem, the production manager can select the best solution among the
105 non-dominated solutions based on his/her preference. He can also input his preference
and let AHP choose the best solution. According to the decision-maker preferences and
AHP, the best alternative is alternative four, shown in Table 3.10 and highlighted in Figure
3.11.

3.8 Summary

## The multiobjective optimization problem MOTETCMILP is an NP-hard problem. Find-

ing the exact solutions takes a considerable time. As a result, a MOGA (MOGATETC)
was developed to solve this problem in a reasonable amount of time. The description of
the MOGA includes the definition of all steps present in Figure 3.3, such as mutations,
crossovers, fitness function, etc. It has been illustrated how to get a set of non-dominated
solutions using the developed heuristic combined with the LP and how the algorithm is dif-
ferent from the one usually implemented in multiobjective optimization. MOGATETC is the
first algorithm to solve the total energy-total completion time problem (MOTETCMILP)
and the first algorithm with a chromosome that can represent more than one solution. The
parameters of MOGATETC (i.e., the size of a generation, the rate of crossover, the number
of generations, and the parameter sigma) are optimized depending on the number of jobs n
using a specific performance measure in the experimental setup. Also, the two different fit-

58
ness functions were compared. A heuristic and dominance rules were developed to accelerate
MOGATETC. Finally, a case study with 50 jobs was presented and analyzed.

59
CHAPTER 4

## A FRAMEWORK TO MINIMIZE TOTAL ENERGY CONSUMPTION AND

TOTAL TARDINESS ON A SINGLE MACHINE USING A GREEDY

## This chapter proposes a framework to solve a multiobjective optimization that minimizes

total energy consumption and total tardiness. After modeling the multiobjective problem,
a greedy randomized adaptive search metaheuristic is proposed to obtain an approximate
pareto front (non-dominated solutions). Next, the Analytic Hierarchy Process is utilized to
determine the “best” alternative.

4.1 Introduction

## Research in minimization of energy in a manufacturing environment using operational

methods might provide significant benefits in both reduced costs and environmental impacts.
The proposed framework can be applied to any production setting and may save a significant
amount of energy while keeping a good service level in terms of scheduling and energy
consumption objectives. In addition, using this algorithm, the industry may leave a smaller
signature on the environment, thus, leading to more environmentally friendly production
planning.
Many customers ask for a delivery date or due date of their products when ordering. The
percentage of time an industry is on time according to the due dates is called the service
level. If the parts or products are due on time, the service level is high. In order to reach a
high service level, many industries are planning with a performance measure related to the
lateness of the tasks or jobs. That is why lateness of a job (which is also defined as tardiness)
is a scheduling criteria, which is utilized in several industries. Minimizing total tardiness
in a manufacturing environment has become a widely used measure of performance. Total
tardiness is defined as the sum over all the jobs in the scheduling horizon of all the tardiness

60
associated with a job, which is simply the amount of time that the job is late compared to
its due date. If the job is on time or early, the tardiness associated with the job is zero.
The problem that is considered in this chapter is a single-machine scheduling problem
where jobs have to be processed without preemption in order to minimize total tardiness
and total energy consumption. Only one job can be processed at a time. It is assumed that
all release dates are known and different from zero. Also, each job has a due date, and there
is no penalty for early jobs. Note that the total tardiness problem with non-zero release
dates on a single machine is considered an NP-hard problem . In other words, there is
no algorithm to solve this problem in polynomial time. As a result, this problem which has
the total tardiness problem as one of the sub-problems, is also NP-hard.
A good quality solution in a reasonable amount of time may be necessary to plan for
operations when there are disruptions on the shop floor or a plan is needed to schedule
jobs/operations. As a result, heuristics must be designed instead of exact algorithms. A
heuristic tries to reach the optimal solution or a near-optimal solution in a small fraction of
the time necessary to find the optimal solution by an exact algorithm. The goal of a heuristic
in multiobjective optimization is to obtain an estimation of the pareto optimal front, which
represents the non-dominated solutions to the problem.
It is well known that metaheuristics such as tabu search, genetic algorithm, simulated
annealing, etc., work well with combinatorial optimization problems. The method used
in this chapter to solve the scheduling problem is the greedy randomized adaptive search
procedure. In GRASP, in each iteration of the algorithm, a solution to the problem is
created in the construction phase, and then this solution is locally searched to obtain better
solutions in the local-search phase. The best solution is kept over the iterations. In GRASP,
it is important to define a “suitable” neighborhood for the local search in order to converge
to a good near-optimal solution quickly. The problem solved in this chapter has never
been analyzed to the best of the author’s knowledge, and will be interesting for industries
that plan their schedules based on minimizing total tardiness and total energy consumption

61
simultaneously. This algorithm may be able to save a significant amount of energy while
keeping a good service level.
The goal in this chapter is to devise an algorithm that is capable of finding a well-spread
near-optimal pareto front in a reasonable amount of time and of providing the scheduling
manager with a set of non-dominated solutions to choose from in order to minimize total tar-
diness and total energy consumption objectives simultaneously. This algorithm will provide
alternative solutions that may save a significant amount of energy cost while maintaining a
good scheduling service level.
This chapter is organized as follows: First, the problem definition is presented. Then, the
mathematical model of minimizing total energy consumption and total tardiness on a single
machine with unequal release dates is developed. Next, a multiobjective greedy random
adaptive search procedure is proposed. After developing the Analytic Hierarchy Process to
select the best solution from the pareto front, the framework is illustrated via computational
experimentation and a case study.

## The multiobjective optimization problem of minimization of total tardiness and total

energy consumption on a single machine with unequal release dates is NP-hard, since mini-
mization of total tardiness on a single machine with unequal release dates is NP-hard .
To fully define the problem, the characteristics of the machine must be determined: Assume
that when the machine stands idle, it consumes Poweridle . Furthermore, the power consumed
while processing a part is Powerprocessing . When the machine is turned off and then turned
on (i.e., a setup occurs), it consumes Energysetup . This setup operation takes at least Tsetup
duration.
The tip power, which is the marginal power utilized to process a part must also be
ddetermined. That is,
Powertip = Powerprocessing − Poweridle .

62
Finally, the break-even duration (TB ) is defined as the least amount of duration required
for a turn-off/turn-on operation (i.e., time required for a setup) and the amount of time
for which a turn-off/turn-on operation is logical instead of running the machine at idle.
Mathematically,
 
Energysetup
TB = max , Tsetup .
Poweridle

To identify solutions to the multiobjective problem that minimizes total energy consump-
tion and total tardiness, several factors must be considered in making scheduling decisions:
First, the order of jobs and their starting times (or completion times) must be determined.
Second, whether or not there will be a setup between two consecutive jobs must be decided.
Finally, the length of the setup or length of the idle time must be determined.
The complexity of this problem can be illustrated on a two-job example. Assume that
job 1 has a processing time of 2 seconds, and job 2 has a processing time of 1 second. Also,
assume that job 1 has a zero release date, while job 2 has a release date of 4 seconds. Finally,
job 1 and 2 have a due dates of 3 seconds and 6 seconds, respectively. The processing power
and idle power consumptions are 2 hp and 1 hp, respectively. The setup energy is 1.5 hp.sec
and the setup time is 2 seconds. As a result, TB is 2 seconds.
Figure 4.1 illustrates a few feasible solutions to the multiobjective problem by considering
the two possible job sequences and whether or not there is a setup between them. The first
observation is that the solution that minimizes the total energy consumption (solution 4) is
not the solution that minimizes total tardiness (solution 2). Therefore, the two objectives
are conflicting. In addition, the example illustrates that when two jobs do not directly follow
each other (i.e., there is an idle period between jobs), a decision relative to whether leaving
the machine idle or performing a setup would be more beneficial is necessary. This decision
is based on the time between completion time of a job and the start time of the following
job, and the energy consumption characteristics of the machine.
In this instance of the problem, there are two non-dominated solutions. The feasible
solutions are represented in Figure 4.2 and the pareto front is highlighted.

63
Figure 4.1: Feasible and non-dominated solutions to the two-job problem

Figure 4.2: Non-dominated and dominated solutions to the two-job problem (non-dominated
solutions are pointed by an arrow)

This chapter proposes a framework to select the most appropriate solution from a set of
non-dominated solutions for the problem of minimization of total energy consumption and
total tardiness on a single machine. This framework involves two phases: Once the set of
all efficient (non-dominated) solutions are identified via a multiobjective greedy randomized
adaptive search procedure, a decision-maker must determine the most appropriate solution
to implement using a method like the Analytic Hierarchy Process .

## 4.3 Mathematical Model for Minimization of Total Energy Consumption and

Total Tardiness

The Multiobjective Total Energy Total Tardiness (MOTETT) optimization problem can
be defined as:

64
n
X n
X
min (max cj − min cj ) ∗ Poweridle − yjk (4.1)
j j
j=1 k=16=j
n
X
min max(cj − dj , 0) (4.2)
j=1

cj − pj ≥ rj ∀j = 1...n (4.3)

## then yjk = ((ck − pk ) − cj ) ∗ Poweridle − Energysetup

cj ≥ 0 ∀j = 1...n (4.6)

The energy consumption objective, equation (4.1), is the sum of the total idle energy (i.e.,
energy consumed when the machine is not processing any job) and total setup energy (i.e.,
the energy necessary to turn on and off the machine). Note that the total processing energy
(Powerprocessing ∗ nj=1 pj ) is not included in the optimization problem, since it is a fixed con-
P

stant regardless of the sequence. The second objective involves the total tardiness objective,
equation (4.2). In the mathematical formulation, equation (4.3) states that a job cannot be
processed before it is released. Equation (4.4) ensures that two jobs cannot be processed at
the same time. Finally, equation (4.5) states that if a job j precedes a job k and if a setup
will be performed (since the idle duration is longer than the break-even duration), then yjk
is equal to the corresponding idle energy minus the setup energy.
By solving this mathematical model, the goal is to obtain a pareto front that will have
solutions containing information about when each job should start (or finish), when to turn
off and on the machine, and when to leave the machine idle.
MOTETT is not linear but can be transformed into a linear mixed-integer optimization
problem. Since the total tardiness problem with release dates is an NP-hard problem, it is
not practical to solve the multiobjective model using optimization software to determine the

65
optimal pareto front. In the next section, a multiobjective greedy random adaptive search
heuristic is proposed to solve MOTETT. The advantage of metaheuristic methods is that they
may provide a good solution in a reasonable amount of time. Also, these heuristics are very
efficient when rescheduling is needed because of changes in the manufacturing environment.

dure

## The Greedy Randomized Adaptive Search Procedure is a two-phase iterative metaheuris-

tic. First, a solution is created in the construction phase, and then the neighborhood of this
solution is locally searched in order to obtain a better solution. In GRASP, it is very
important to define a “suitable” neighborhood in the local-search phase to converge to a
near-optimal solution quickly.
The GRASP has been applied to several scheduling problems: for example, it can solve
a job shop scheduling problem to minimize the total completion time effectively [1, 8]. In
another application, it is utilized to minimize total earliness . It is also applied to
minimize total tardiness on a single machine with setup times . Although there are a
significant number of GRASP applications to solve combinatorial optimization problems,
utilizing this procedure in a multiobjective programming is not very common . An
example of a multiobjective GRASP involves the multiobjective knapsack problem .
In order to solve MOTETT, the single-objective GRASP algorithm is adapted to the
multiobjective case. The multiobjective GRASP to minimize total energy total tardiness
(GRASPTETT) considers a pareto front to evaluate the objectives instead of a single-
objective function value. The proposed GRASPTETT algorithm can be seen in Figure
4.3.

66
Figure 4.3: Multiobjective GRASP algorithm (GRASPTETT)

67
The pseudo code below represents the GRASPTETT algorithm:

## While stopping criteria not satisfied

CONSTRUCT a candidate solution s
Do a LOCAL SEARCH around the candidate solution s.

## The GRASPTETT algorithm runs for a predetermined number of iterations or for a

maximum CPU time, and it converges to a near-optimal pareto front. The details of the
GRASPTETT algorithm are discussed below.

## 4.4.1 Evaluation of Solution

Before describing the details of the GRASPTETT algorithm, first, how to evaluate solu-
tions generated either at the construction phase or at the local-search phase will be presented.
Input to evaluating the solution procedure is a partial solution that provides the order of
jobs and the setup vector, which indicates if there is a setup between consecutive jobs.
Before providing details on how to evaluate a partial solution, the total tardiness objective
min nj=1 max(cj − dj , 0) which is not linear has to be linearized. In order to linearize this
P

## objective, the following transformation is used:

( n )
X
min αj ; |αj ≥ cj − dj , αj ≥ 0, ∀j = 1...n
j=1

When a partial solution is given, the order of jobs and the setup sequence is known. As
a result, MOTETT can be written as a multiobjective linear problem (MOTETTLP) as:

68
X
min ((Cj+1 − Pj+1 ) − Cj ) ∗ Poweridle + Ω ∗ Energysetup (4.7)
X
n
X
min αj (4.8)
j=1

αj ≥ Cj − Dj , ∀j = 1...n (4.9)

Cj − Pj ≥ Rj , ∀j = 1...n (4.10)

## Cj+1 − Pj+1 − Cj ≥ Tsetup , ∀j ∈ X (4.12)

Cj , αj ≥ 0 (4.13)

where Ω is the number of setups, and X (X̄) is a set that contains j if there is no (a) setup
between the job at position j and the job at position j + 1. In this formulation, Rj , Dj , Pj ,
and Cj denote the release date, due date, processing time and completion time, respectively,
of the job scheduled at the j th position. The MOTETTLP can be solved by combining the
two objectives into a single objective by adding the weighted sum of both objectives, i.e.,
the objective function for the weighted problem is

f (w1 , w2 ) = w1 f1 + w2 f2 (4.14)
! n
X X
= w1 ((Cj+1 − Pj+1 ) − Cj ) ∗ Poweridle + Ω ∗ Energysetup + w2 αj
X j=1

This mathematical program is a linear problem. For any pair of weight combinations, a set
of non-dominated solutions for that particular job sequence and setup vector can be obtained
.

69
4.4.2 Construction Phase

The construction phase has the objective of building a solution by adding one element at
a time from a candidate list. At each iteration of the first phase, a candidate job is added to
the current solution by selecting randomly a job from a restricted candidates list (RCL). The
elements of the RCL are obtained from a list of non-dominated jobs. In addition, some of
the dominated jobs are also added to RCL to provide some randomness in the construction
phase. The construction phase can be summarized as follows:

CONSTRUCTION Procedure
Φ = Current solution = ∅
Υ = Candidate List ={1, . . . , n}
Non-dominated candidate list = ∅
Dominated candidate list = ∅
While Υ 6= ∅
Evaluate all ι ∈ Υ with /without setup
If ι with /without is setup non-dominated
then ι with /without setup ∈ CONSTRUCTION Non-dominated candidate list
else ι with /without setup ∈ CONSTRUCTION dominated candidate list
Find distance between members of CONSTRUCTION Dominated & Non-dominated sets
Normalize the distance
RCL = CONSTRUCTION Non-dominated List ∪{Dominated solutions with distance ≤ α}
Select randomly a from RCL
Υ = Υ\{a}
Φ = Φ ∪ {a}

The distance of a solution from the non-dominated set of solutions is defined by the
smallest distance from a non-dominated solution. In Figure 4.4, the distance between a
candidate solution s and a non-dominated pareto (a, b, c) front is the distance between s

70
and b. The relative distance of each dominated candidate solution is divided by the maximum
distance.

Figure 4.4: Illustration of the distance between a solution and the non-dominated solutions

In the construction phase, first, each candidate job must be evaluated by adding this job
to the sequence with or without setup. In this evaluation, the MOTETTLP may lead to more
than one solution with different lengths of idle periods or setup durations. The solutions
for each candidate job are compared, and the non-dominated ones are separated from the
dominated ones. In a greedy algorithm, a candidate job leading to a non-dominated solution
would be chosen to be added to the current solution. But to include some randomness into
the algorithm, it is important to have the opportunity to add a candidate job from the
dominated solution which is “α percent” distant from the non-dominated solutions. The
parameter α is used to control the randomness of the algorithm: If α is equal to one, then
the construction phase is totally random, and if α is equal to zero, then the construction
phase is totally greedy.
The restricted candidates list is composed of the candidates leading to a non-dominated
solution as well as the one leading to solutions that are at a maximum “relative distance” of
α from the non-dominated solutions. Then, a candidate job is randomly selected from the
restricted candidates list to enter the current solution. These steps are repeated until the

71
current solution forms a complete solution with the order of the jobs as well as the setup
vector.

## 4.4.3 Local Search Phase

In the second phase of the GRASPTETT algorithm, a local search is performed. Here,
all of the solutions in the defined neighborhood (N (s)), of the constructed solution s are
evaluated. If the new solution is a non-dominated solution, then it is added to the pareto
set. As a result, after each iteration of the local search an approximate pareto front is
obtained. This procedure can be summarized as follows:

## LOCAL SEARCH Procedure

s =Current Solution
While N (s), 6= ∅
Choose y ∈ N (s)
If y is a non-dominated solution
Add y to MOTETT pareto front
Eliminate dominated solutions in MOTETT pareto front
N (s) = N (s)\{y}

This local search for the multiobjective problem is considered similar to the single-
objective problem. The only difference is that instead of keeping the best solution, a set
of the non-dominated solutions is obtained. For the single-objective total tardiness problem,
Armentano and Araujo  used two different neighborhoods, the exchange of two jobs and
the insertion of a job between two consecutive jobs. As a result, the size of each neighbor-
hood is n ∗ (n − 1)/2 and (n − 1)2 . However, in this problem, each neighbor is evaluated using
a series of linear programs which is very time-consuming. In order to solve the problem in a
reasonable amount of time, a neighborhood with a smaller size has to be defined: New solu-
tions are obtained by swapping the positions of two consecutive jobs (size of (n − 1)), either

72
with or without a setup, thus yielding a neighborhood with a size of 2 ∗ (n − 1) possibilities
(Figure 4.5).

Figure 4.5: Illustration of the neighborhood of a job (2): a) initial solution, b) first neighbor
of job 2, c) second neighbor of job 2.

In Figure 4.5, two of the neighbors of solution a are represented in b and c. Job 2 and
3 are swapped, and a solution with and without setup is considered as a neighbor to obtain
solutions b and c. Note that solution a has six neighbors which consist of swapping jobs 1
and 2, jobs 2 and 3, and jobs 3 and 4, with and without setup.

Pareto Front

## The GRASPTETT algorithm provides an approximate pareto front. To identify the

“best” alternative among the non-dominated solutions on the pareto front, the decision-
maker can utilize his/her own preferences, which may be used as input to the analytic hier-
archy process . The AHP can choose the best alternative among a set of non-dominated
solutions. The objective is to maximize the overall purpose (top level). The decision-maker
must structure the problem in a hierarchy of criteria and sub-criteria to maximize the over-
all purpose (top level). S/he also has to provide a pairwise comparison of the criteria to
determine the value of the weight that will permit the evaluation of each alternative.

73
In addition to total tardiness and total energy consumption criteria, other criteria, such
as maximum tardiness, total number of setups, or maximum completion time can be added.
The hierarchy classification of criteria defined for this case study as an example is presented
in Figure 4.6. The overall objective is to select the best alternative from the non-dominated
pareto front A1 , A2 , ..., An . In the first level, there is energy-related criteria (S1 ), total
number of jobs not started as soon as they are released (S2 ), completion time-related criteria
(S3 ), and tardiness-related criteria (S4 ). The first criterion (S1 ) has total energy consumption
(S11 ) and total number of setups (S12 ) as sub-criteria. The third criterion (S3 ) has total
completion time (S31 ) and maximum completion time (S32 ) as sub-criteria. Finally, the last
criterion (S4 ) has total tardiness (S41 ), maximum tardiness (S42 ), and number of tardy jobs
(S43 ) as sub-criteria.

## Figure 4.6: AHP hierarchy

The decision-maker needs to provide pairwise comparisons between the criteria and sub-
criteria using a scale such as the one defined by Saaty  in Table 4.1. Assume the decision-
maker has defined the judgment matrix in Table 4.2 using Saaty’s scale. According to
the pairwise comparison in Table 4.2.a, the energy-related criterion (S1 ) is strongly more
preferred than the number of jobs not started as soon as they are released (S2 ), slightly
more preferred to the completion-time criterion (S3 ), and equally preferred to the tardiness
criterion (S4 ). The completion-time criterion is slightly more preferred to the number of jobs

74
not started as soon as they are released. Finally, the tardiness criterion is strongly preferred
to the number of jobs not started as soon as they are released and slightly more preferred
to the completion-time criterion. Note that Table 4.2.c have an inconsistency level of 0.021.

## Table 4.1: Saaty scale used for pairwise comparisons of criteria

Scale value Explanation
1 Equally preferred
3 Slightly more preferred
5 Strongly more preferred
7 Very strongly more preferred
9 Extremely more preferred
2,4,6,8 Used to reflect compromise between scale values

## Table 4.2: AHP parameters

S1 S2 S3 S4
S1 1 5 3 1 S11 S12
S2 0.2 1 0.5 0.2 S11 1 3
S3 0.33 2 1 0.33 S12 0.33 1
S4 1 5 3 1
a. Judgment Criteria Matrix (JCM) b. Energy-related JCM
S41 S42 S42
S31 S32
S41 1 2 3
S31 1 2
S42 0.5 1 2
S32 0.5 1
S43 0.33 0.5 1
c. Completion Time JCM d. Tardiness JCM

Tables 4.2.b and 4.2.c show that the total energy consumption is slightly more preferred
than the number of setups, and the maximum completion time is slightly more preferred
to the total completion time. According to Table 4.2.d, the total tardiness is slightly more
preferred to the maximum tardiness and to the number of tardy jobs. Also, maximum
tardiness is slightly preferred to the number of tardy jobs. Note that Table 4.2.d have an
inconsistency level of 0.064.

75
According to the preferences described above, the value judgment or priority (4i ) value
for each alternative Ai is calculated as:

i i
4i =0.39 ∗ (0.75Ŝ11 + 0.25Ŝ12 ) + 0.08Ŝ2i
i i i i i
+ 0.14 ∗ (0.67Ŝ31 + 0.33Ŝ32 ) + 0.39 ∗ (0.54Ŝ41 + 0.30Ŝ42 + 0.16Ŝ43 ) (4.15)

where
max(S2i ) − S i
0 ≤ Ŝ2i = ≤1
max(S2i ) − min(S2i )

## 4.6 GRASPTETT Parameter Tuning

In this section, extensive numerical experimentation is performed to fine tune the GRASPTETT
algorithm and make observations on the effect of different parameters on the performance
measure that will be utilized to compare the alternative pareto fronts. Each test is run with
the same parameters ten times, and the average is the measure of performance. Based on
these values, the goal is to optimize the α parameter (note that this α is a GRASP parameter
and different from the αi used in the model) of GRASPTETT. The parameters of the prob-
lem are generated as follows: Processing times are randomly generated from an exponential
distribution with a mean of 3 seconds. Release dates for each job are randomly generated
from an exponential distribution with a mean between arrivals of 10 seconds. Slack times
(sj ) are randomly generated from a uniform distribution with parameters 0 and β ∗ nj=1 pj ,
P

where β is a parameter between 0 and 1 . Finally, due dates are calculated based on the
generated slack times: dj = sj + rj + pj .
The parameter β determines how far the due dates are from the release dates. The higher
the β is, the larger the available time (dj − rj ) to process jobs without any tardiness is. Also,
as β increases, the due dates are more spread over time. Parameter α allows for the inclusion
of randomness into the algorithm. As noted before, when α is equal to zero, the algorithm is

76
totally greedy, and when α is equal to one, the algorithm is totally random. Values between
0 and 1 are a compromise between a totally greedy or a totally random algorithm. The
algorithm is tested with β values of 0.05, 0.25, and 0.5, α values of 0, 0.25, 0.5, 0.75, and
1, and problem sizes of 10, 30, and 50 jobs. The Poweridle , Energysetup , and Tsetup of the
machine are 1 hp.sec, 3 hp, and 5 seconds, respectively. All experiments run on a Pentium
core 2 Duo T7300 with 2 gigabits of RAM. The amount of time each experiment is run
depends on the number of iterations that GRASPTETT runs.

## Figure 4.7: Measure of performance of a set of non-dominated solutions

In order to assess and compare the GRASPTETT with different values of the parameter
α, we use a “measure of performance,” which is the area covered by the non-dominated set of
solutions . This area is determined by the convex union of all rectangles defined by the
origin and the non-dominated solutions. Since minimization objectives are considered, the
performance of an algorithm is better when the measure has smaller values. For example,
the pareto front defined by three solutions in Figure 4.7, yields the union of three rectangles
(a, b, and c) as the measure of performance.
As shown in Table 4.3, it seems that α is optimal at 0.5 when β = 0.05. However, as the
value of β increases to 0.25 and 0.5, the optimal value for α decreases, respectively, to 0.25
and 0 (Tables 4.4 and 4.5). It can be concluded that as the available time to process the jobs

77
(i.e., the slack time) increases, the optimal value for the parameter α decreases from 0.5 to
0. In other words, a totally greedy grasp algorithm will perform better when the due dates
are well spread, and available time between the release time and due date is large. When the
slack time is small (i.e., a β value around 0.05), a compromise between a random algorithm
and a greedy algorithm will perform better. When using the algorithm on real data sets, it
is helpful to first determine the average available time or slack time of the data to choose
the right α level to run the GRASP algorithm.

Table 4.3: Performance depending on parameter α and number of jobs n with β=0.05
α n = 10 (×103 ) n = 30 (×104 ) n = 50 (×105 )
0 2.0344 6.8216 1.6047
0.25 1.8930 6.1498 1.4384
0.5 1.6595 5.2714 1.3776
0.75 1.7346 5.7297 1.4197
1 2.0473 5.7261 1.3824

Table 4.4: Performance depending on parameter α and number of jobs n with β=0.25
α n = 10 (×103 ) n = 30 (×104 ) n = 50 (×105 )
0 2.3726 5.5736 1.8024
0.25 2.0328 4.0509 1.5366
0.5 2.1148 3.9589 1.1883
0.75 2.5790 4.6978 1.3428
1 2.5782 4.7974 1.5283

Table 4.5: Performance depending on parameter α and number of jobs n with β=0.5
α n = 10 (×103 ) n = 30 (×104 ) n = 50 (×105 )
0 0.7941 1.8725 0.4754
0.25 0.9609 3.1914 1.3963
0.5 1.1083 3.3974 1.4135
0.75 0.8635 2.8428 1.4888
1 1.0637 2.6075 1.3641

## 4.7 Case Study

This section presents a case study of 50-job problem with an exponential arrival time of 10
seconds and exponential processing times with a mean of 3 seconds. It can be observed that

78
the most difficult problems have a low β value where the due dates are close to the release
dates and tight. As a result, the parameter β is set to 0.05. The Poweridle , Energysetup , and
Tsetup of the machine are 1 hp.sec, 3 hp, and 5 seconds, respectively. The GRASPTETT
method is able to find the approximate pareto front in a reasonable amount of time (less than
1 CPU minute), whereas an exact method would have spent a considerable amount of time
to reach the optimal solution for a 50-job problem even for the single-objective one-machine
total tardiness problem with unequal release dates.
The pareto front for this case study is shown in Figure 4.8. Note that the processing
energy is not included in the total energy consumption. Each solution represents the schedule
of setups as well as the start time of each of the 50 jobs. As shown, if the total tardiness cost
decreases, the total energy consumption increases, which shows the trade-off between total
energy consumption and total tardiness. The set of solutions consists of an approximation
of the optimal pareto front. The decision-maker or the controller can then make a decision
on which schedule to choose depending on his/her preference.

Figure 4.8: Pareto front for 50 random jobs with β=0.05 (Best AHP alternative is pointed
by an arrow)

79
Table 4.6: Case study
Alternatives S11 S12 S2 S31 S32 S41 S42 S43 evaluation
1 56.4 6 37 11295.5 395.6 324.2 56.7 25.0 0.75644
2 15.0 5 44 11735.4 395.6 740.2 78.7 36.0 0.75645
3 9.0 3 46 11903.8 395.6 898.0 80.3 38.0 0.75940
4 82.9 8 31 11063.2 395.6 126.7 29.0 15.0 0.75978
5 24.0 8 42 11504.4 395.6 520.2 42.2 34.0 0.76381
6 12.0 4 45 11743.0 395.6 740.2 78.7 36.0 0.76437
7 96.7 4 30 11048.2 395.6 118.3 30.5 13.0 0.76812
8 72.8 8 31 11099.2 395.6 157.1 29.0 18.0 0.76973
9 40.3 8 38 11314.2 395.6 343.0 30.7 27.0 0.77591
10 50.4 4 38 11308.8 395.6 332.2 56.7 24.0 0.77634

The AHP is applied on the pareto front according to the priority and the ten best
alternatives are presented in Table 4.6. As shown, all best solutions have the same maximum
completion time (i.e., the last job in the sequence is completed at the same time in all
solutions). However, the total completion time objective varies from one solution to another
(approximately a range of 8% variation). The best solution (alternative 10 which is the
solution highlighted in Figure 4.8) has a total of four setups with a total energy consumption
of 50.4 hp.sec. Also, in this solution, 38 jobs are not started as soon as they are released,
and 24 jobs are tardy. However, the total tardiness is small, and on average, each tardy job
is 14 seconds late with a maximum lateness of 56.7 seconds.

4.8 Summary

Minimizing total tardiness and total energy consumption at the same time is a difficult
problem that can take a large amount of time if solved to optimality. The purpose of this
chapter is to develop a framework to obtain an optimal set of non-dominated solutions with
different levels of energy consumption and total tardiness. The GRASP metaheuristic is
used to obtain an approximate pareto front, and its parameter is optimized to obtain the
best results. The decision-maker can then make a choice among the set of solutions or input
preferences into an AHP procedure. To illustrate how the framework can be utilized, a case
study is analyzed.

80
The multiobjective optimization problem defined in this chapter has been solved using
a multiobjective GRASP (GRASPTETT). To the author’s best knowledge, GRASP has
not been extensively utilized in multiobjective optimization. As a result, the GRASPTETT
algorithm presented in this chapter is an algorithmic contribution. In addition, minimization
of total energy consumption and total tardiness at the same time is a new class of problem
that needs to be modeled and solved efficiently.
The problem of minimization of energy consumption and a scheduling objective at the
same time is quite challenging: Complexity results from the scheduling objective and also
from having setups between jobs, and deciding the length of the setups and idle duration.
Future work on this problem might be to extend it to a multi-machine environment. In
this environment, scheduling jobs at the same time on two machines may increase the total
energy bill significantly since the energy charges not only include the consumption charge
but also peak demand charge.

81
CHAPTER 5

## A COMPARISON OF MULTIOBJECTIVE GENETIC ALGORITHMS AND

GRASP ON SINGLE-MACHINE SCHEDULING PROBLEMS

This chapter addresses two energy-related scheduling problems: in both problems, mini-
mization of energy consumption is one of the objectives. The second objective is either the
total completion time or total tardiness. The resulting single-machine optimization problems
are solved via two algorithms, a multiobjective genetic algorithm and a multiobjective greedy
randomized adaptive search procedure (MOGRASP), to obtain a near-optimal pareto front
for each problem. In addition, two hybrid algorithms MOGA-MOGRASP and MOGRASP-
MOGA, which combine the two heuristics, are introduced. Pareto fronts provided by the
four algorithms are compared using a performance measure. It is observed that the hybrid
algorithm MOGA-MOGRASP performs better than the other algorithms, most of the time.

5.1 Introduction

The problem addressed in this chapter is how to schedule n jobs with different release
dates on a single machine to minimize both total energy consumption and either total comple-
tion time (TECTC) or total tardiness(TECTT). It is assumed that the machine can process
one job at a time without preemption. Each job j needs a certain amount of time pj to be
processed and is released at a certain point in time rj . Also, it is assumed that the machine
characteristics (i.e., the idle power, the processing power, the setup energy and the setup
time) are known. The two problems are presented in detail in Chapters 3 (TECTC) and 4
(TECTT). In Chapter 3, a multiobjective genetic algorithm is developed to solve TECTC. In
this chapter, a MOGA is developed to solve TECTT based on the same principle. Also, the
GRASP algorithm in Chapter 4 is extended to solve TECTC. Finally, two hybrid algorithms
MOGA-MOGRASP and MOGRASP-MOGA are proposed to solve both problems.

82
5.1.1 Multiobjective GRASP to Solve TECTC

A greedy randomized adaptive search procedure to solve the scheduling problem described
in Chapter 3 (minimizing total energy consumption and total completion time with release
dates) is implemented using the logic in Chapter 4 (GRASPTECTC). However, the LP is
replaced with the LP minimizing total energy consumption and total completion time when
the order of the jobs and the setup vector are known (this LP is described in Chapter 3).
In order to make comparisons, the greedy parameter α in the GRASP algorithm needs to
be optimized. In order to do this, the GRASPTECTC will be applied on examples with
10, 30, and 50 jobs, with an exponential inter-arrival rate of 10 seconds and an exponential
processing time with a mean of 3 seconds. The idle power, the setup Energy, and the setup
time are set to 1 hp, 3 hp.sec, and 5 seconds, respectively. The optimal level of the parameter
α for this scheduling problem is around 0.75, according to Table 5.1.

Table 5.1: Performance of GRASPTECTC depending on the parameter α and the number
of jobs n
α n = 10 (×104 ) n = 30 (×105 ) n = 50 (×106 )
0 1.9173 3.0555 1.3908
0.25 2.0336 2.0159 0.6298
0.5 1.8484 1.8182 0.4669
0.75 1.5020 1.5115 0.3540
1 1.8789 1.6314 0.4526

## 5.1.2 Multiobjective Genetic Algorithm to Solve TECTT

A genetic algorithm (Genetic Algorithm to minimize Total Energy and Total Tardiness
or GATETT) can be implemented using a similar implementation described in Chapter 3
with the fitness function based on the niches. Only the LP described in section 3.4.3 is
different. In this step, the LP described in Chapter 4 for GRASPTETT is solved. Finally,
the parameters of GATETT and its fitness function are optimized.

83
According to the measure of performance representing the area under the pareto front
and Table 5.2, a crossover rate of 0.5 seems to give the best results for any β level (β is the
parameter affecting the slack time between the release date and the due date of the jobs)
and number of jobs. Table 5.3 shows the performance measure of different problems with
a varying number of individuals in a generation. The measure of performance decreases as
the number of individuals increases. However, after 60 individuals, the performance measure
does not decrease significantly. Thus, 60 individuals is chosen in the comparison experiments.
The number of generations shows the same pattern: after 50 generations the improvements
are not significant (Table 5.4). Finally, the performance measure is minimized with a σ
parameter of 100 (Table 5.5). We also observe than the MOGA parameters do not depend
on the number of jobs or the parameter β.

Table 5.2: Performance depending on the crossover rates, the number of jobs n and β
n = 10 n = 30 (×104 ) n = 50 (×105 )
Crossover Rate β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5
0 1757 4437 240 8.7568 7.2809 3.6502 1.9674 1.8666 0.9302
0.1 1675 2707 230 6.3396 3.0452 1.8920 1.0548 0.9123 0.5140
0.2 1468 2053 237 5.5056 3.6535 1.9172 1.2159 0.9030 0.4385
0.3 1363 2088 235 4.6761 2.6896 1.7011 1.2020 0.8695 0.3524
0.4 1419 1802 246 4.4077 3.5537 1.8069 1.0052 0.7996 0.4066
0.5 1364 1813 268 3.8949 2.6726 1.3864 0.9451 0.6825 0.3626
0.6 1418 2194 250 5.3424 2.6669 1.5926 1.0207 0.6715 0.4240
0.7 1535 2161 264 4.5490 2.9545 1.7974 1.0207 0.7180 0.4035
0.8 1549 2556 259 4.8207 3.6746 1.9064 1.0342 0.7706 0.4598
0.9 1461 2442 266 6.5833 3.2685 1.9680 1.0697 0.8480 0.4682
1 1590 3294 310 4.5480 4.6089 2.8071 1.1240 0.6549 0.8882

Table 5.3: Performance depending on the number of individuals in a generation, the number
of jobs n and β
n = 10 n = 30 (×104 ) n = 50 (×105 )
Number of individuals β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5
5 1934 4027 365 6.3105 4.5691 2.9639 1.66524 1.17175 0.79013
10 1591 3283 304 5.2590 3.3881 2.0452 1.04515 1.01353 0.75176
15 1594 2408 247 4.5319 3.8148 1.7964 0.97496 0.88568 0.58037
20 1551 2229 319 4.1196 2.9815 1.6954 0.96703 0.78932 0.58425
30 1389 1917 258 3.9793 2.6919 1.3493 0.95781 0.69070 0.36299
40 1290 1778 232 3.1492 1.9913 1.0618 0.88736 0.57381 0.29094
50 1328 1711 227 3.1492 1.8328 1.2455 0.79834 0.52287 0.33997
60 1209 1724 206 2.6421 1.7322 1.0837 0.66759 0.55564 0.31724
70 1223 1878 181 2.6276 1.5359 0.9540 0.58165 0.47663 0.27381
80 1235 1762 196 2.5621 1.4582 0.9436 0.67152 0.56821 0.30878
90 1294 1675 201 2.5843 1.5742 1.1021 0.53843 0.49396 0.32492
100 1118 1721 259 2.7707 1.6433 1.0669 0.54348 0.49333 0.31975

84
Table 5.4: Performance depending on the number of generations, the number of jobs n and
β
n = 10 n = 30 (×104 ) n = 50 (×105 )
Number of generations β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5
5 2636 7297 432 10.6635 10.9397 3.6195 1.8137 2.7614 1.4692
10 1984 4411 381 7.7365 7.2695 3.3187 1.5867 1.3038 1.3962
15 1973 3411 324 5.0943 4.1797 3.1892 1.3698 1.2152 0.5587
20 1544 2662 309 6.0972 3.6080 2.0503 0.9718 1.0226 0.4847
30 1467 2091 276 2.9786 2.4102 1.2926 0.6741 0.8205 0.4310
40 1405 1958 235 2.7547 1.9245 1.2289 0.6676 0.6232 0.3922
50 1255 1840 209 2.6114 1.7148 1.0730 0.6605 0.5784 0.3240
60 1203 1798 189 2.5758 1.6413 1.0465 0.5541 0.4769 0.3119
70 1165 1776 172 2.4613 1.6282 1.0091 0.5054 0.4611 0.3012
80 1148 1596 170 2.3137 1.6069 0.9812 0.4850 0.4338 0.2965
90 1108 1536 168 2.2853 1.6037 0.9444 0.4795 0.4328 0.2894
100 1102 1527 165 2.2057 1.6003 0.9205 0.4744 0.4271 0.2749

## Table 5.5: Performance depending on σ, the number of jobs n and β

n = 10 n = 30 (×104 ) n = 50 (×104 )
σ β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5
5 1478 1882 295 3.6175 2.4194 1.5581 7.2462 5.7201 3.7251
10 1399 1860 291 3.4567 2.3933 1.5474 7.4750 6.9358 3.9903
15 1370 1826 282 3.7251 2.1401 1.5846 7.2195 6.8074 3.8401
20 1361 1803 293 3.6135 1.9895 1.4757 7.0131 6.2234 3.4010
25 1357 1785 272 3.5452 1.8301 1.2391 6.8542 5.9601 3.3793
30 1397 1814 233 3.1330 1.9194 1.1263 6.6474 5.8062 3.2632
50 1318 1826 221 2.8544 1.7987 1.0953 6.8871 5.4418 3.1516
80 1325 1771 216 2.5839 1.7536 1.0696 6.5344 5.2712 3.0570
100 1238 1734 201 2.6942 1.7381 1.0754 6.4651 5.1464 3.1651
150 1375 1796 224 3.3313 1.9243 1.4696 6.5990 5.3592 3.4971

## 5.1.3 Multiobjective Optimization Using the Combined MOGA and MOGRASP

It this section, two hybrid algorithms are presented based on MOGA and MOGRASP.
The first one (MOGRASP-MOGA) uses the non-dominated solutions obtained by MO-
GRASP as an initial population for MOGA. It has been shown in the genetic algorithm
literature that using “good” solutions instead of random solutions in the initial popula-
tion can lead to a better near-optimal pareto front faster. The second algorithm (MOGA-
MOGRASP) combines MOGA with the local search phase of MOGRASP. In other words, a
local search is performed on the non-dominated solutions obtained by MOGA to find better
solutions in a pre-defined neighborhood as defined in Chapter 4.

## 5.2 Computational Experimentation

The following sections present the experimental design and results for TECTC and
TECTT after the measure of performance used to compare the algorithms is described.

85
5.2.1 Measure of Performance

The comparison of the different algorithms is based on the following measure. For the
same problem, a set of non-dominated solutions from each algorithm is obtained and pairwise
comparison is performed. A new pareto front is built based on these two pareto fronts. The
performance measure of one algorithm is the percentage of solutions in the new pareto front
issued from the set of non-dominated solutions of that algorithm. For example, if algorithm
1 and algorithm 2 result in the set of non-dominated solutions [1 2, 1.5 1, 2 0.5] and [0.5
2, 2 1], respectively, then the combined pareto front is [0.5 2, 1.5 1, 2 0.5]. The measure of
performance is 66.6% for algorithm 1 and 33.3% for algorithm 2. In other words, 66.6% of
the final pareto front comes from algorithm 1, and 33.3% of the solutions are from pareto
front 2.

## 5.2.2 Determining Number of LPs to be Solved in MOGA and GRASP

The number of linear programs solved for the evaluation of each chromosome might
impact the performance of each algorithm. In order to determine the optimal number of
LPs to be solved at each evaluation, the pareto front obtained using 10 LP is compared to
the pareto front obtained with 1, 4, 6, 8, 12, 15, 20, 30, and 50 LPs using the performance
measure described above on a 50-job problem of the case study. In this comparison, the
scheduling problem is to minimize total completion time and total energy consumption.
Each algorithm with a different number of LPs to be solved is run for 100, 200, and 500
seconds. The results are presented in Table 5.6. Note that if solutions in the combined
pareto front come from both initial pareto front, the two percentages will exceed 100%. It
is observed that for any running time, the algorithm solving six linear programs to evaluate
each chromosome gives the best results compared to ten linear programs. It can be concluded
that solving six LP gives the best pareto front when using MOGA. Table 5.7 summarizes
the same experiment with the GRASP algorithm to solve the same scheduling problem. It

86
is observed that for the GRASP algorithm, there is an optimum by solving four LPs. Note
that in this experiment, a α value (the greedy parameter) of 0.5 is used in the algorithm.

## Table 5.6: Optimization of the number of LPs in MOGA

time = 100 sec time = 200 sec time = 500 sec
Number of LP (*) % for 10 % for * % for 10 % for * % for 10 % for *
1 50.8 51.7 42.8 57.2 50.7 50.2
4 43.2 58.8 62.3 39.5 46.4 53.5
6 46.3 62.6 33.2 70.1 40.6 65.2
8 49.7 52.6 58.0 50.8 49.6 50.4
12 63.2 52.2 52.0 53.0 58.7 41.3
15 58.1 51.4 52.2 51.0 46.2 53.8
20 59.8 49.5 56.0 50.8 48.5 51.5
30 55.0 50.9 65.1 37.5 60.8 39.2
50 69.0 39.2 73.1 32.3 75.3 24.7

## Table 5.7: Optimization of the number of LPs in GRASP

time = 100 sec time = 200 sec time = 500 sec
Number of LP (*) % for 10 % for * % for 10 % for * % for 10 % for *
1 54.4 45.6 39.2 60.8 47.1 52.9
4 36.8 63.2 28.9 71.1 35.9 64.1
6 49.8 50.2 52.8 47.2 49.8 50.2
8 39.1 60.9 49.4 50.6 43.9 56.1
12 42.8 57.2 49.8 50.3 42.7 57.3
15 52.9 47.1 38.8 61.2 44.6 55.4
20 62.2 37.8 60 40 62.9 37.1
30 57.7 42.3 41.1 58.9 60.0 40.0
50 64.2 35.8 76.2 23.8 63.7 36.3

## 5.2.3 Experimental Design for TECTCT

Table 5.8 represents different factors and their levels considered to compare the four algo-
rithms(MOGA, MOGRASP, MOGA-MOGRASP, MOGRASP-MOGA). The average inter-
arrival time (λ) is tested at two levels: low (2) and high (10). The break-even duration has
two values: low (1) and high (4). The average processing time (γ) takes either a high value
(4) or a low value (1). Finally, the number of jobs (n) to schedule are tested at two levels:
10 (low) and 50 (high). This experimental design results in 16 different problems. Each
problem is solved 10 times with each algorithm.

87
Table 5.8: Experimental design for TECTCT
Factors Levels Description
Inter-arrival time (λ) High 10
Low 2
Break-even duration (TB ) High 4
Low 1
Average processing time (γ) High 4
Low 1
Number of jobs (n) High 50
Low 10

The four algorithms are compared using a pairwise comparison by the measure of per-
formance defined in section 5.2.1. The four algorithms compared in the experiment are
MOGA, MOGRASP, MOGA-MOGRASP, and MOGRASP-MOGA. The algorithms are run
for the same amount of time, which is equal to the time it takes MOGA-MOGRASP to fin-
ish. MOGA-MOGRASP starts with 100 iterations using MOGA, and each non-dominated
solution found at the end of the 100 iterations are locally searched via GRASP. The time it
takes to execute this procedure serves as the baseline to run the other three algorithms for
the same problem.
Results are presented in Table 5.9 and show the pairwise comparisons between the four
algorithms. Columns two through five define the level of the factors considered in the exper-
imental design, and the last six columns represent the pairwise comparison. The measure of
performance for the pairwise comparisons is the percentage of the first algorithm solutions
in the final pareto front. Note that the performance of both algorithms may exceed 100%
(i.e., a solution can belong to both initial pareto fronts). The performance measure helps to
decide which algorithm is better based on the percentage presented in the table.
Based on the average pairwise comparisons (last line in Table 5.9), the algorithms can
be ranked. The best algorithm is the one combining MOGA and MOGRASP (MOGA-
MOGRASP) followed by MOGA, MOGRASP-MOGA, and GRASP. For any type of prob-
lems analyzed, the MOGA-MOGRASP performs the best. MOGA ranks second according
to the experiments on average; however, the average percentage of solutions issued from
MOGA is only 52.2 when combining MOGA and MOGRASP-MOGA solutions together.

88
Table 5.9: Pairwise comparison of the four algorithms for the TECTCT problem experimen-
tal design (A1=MOGA, A2=MOGA-GRASP, A3=MOGRASP, A4=MOGRASP-MOGA)
Problem TB n γ λ A1-A2 A1-A3 A1-A4 A2-A3 A2-A4 A3-A4
1 L L L L 7.7 85.1 54.9 96.6 61.3 2.8
2 L L L H 19.0 85.5 64.8 98.4 62.8 2.2
3 L L H L 16.8 83.3 59.5 98.9 87.4 0.6
4 L L H H 23.2 84.5 55.3 97.9 61.3 2.5
5 L H L L 8.1 96.8 56.6 100.0 94.5 0.0
6 L H L H 13.5 96.5 52.8 99.9 95.0 15.6
7 L H H L 5.4 93.0 80.0 100.0 100.0 3.3
8 L H H H 12.0 99.0 62.1 99.8 99.4 6.8
9 H L L L 1.3 92.5 2.5 100.0 76.3 0.1
10 H L L H 17.8 79.8 24.2 95.0 68.1 6.4
11 H L H L 6.8 55.8 14.9 98.1 56.5 10.0
12 H L H H 9.9 89.4 13.2 99.6 75.3 0.9
13 H H L L 7.2 86.0 67.1 100.0 100.0 19.0
14 H H L H 12.6 97.5 71.0 100.0 99.9 17.7
15 H H H L 2.6 90.0 76.7 100.0 100.0 10.0
16 H H H H 13.6 98.2 78.8 99.9 99.9 5.0
Average 11.1 88.3 52.2 99.0 83.6 6.4

The difference is not significant according to a hypothesis test since the average percentage
is in the interval [40.1,64.3] with a 95% confidence (i.e., 50% is in the interval).
The situations in which MOGRASP-MOGA clearly outperforms MOGA are character-
ized by a high break-even duration and a low number of jobs. When problems corresponding
to these factor levels are removed, the average percentage of non-dominated solutions from
MOGA climbs to 65% when compared with MOGRASP-MOGA. The true average per-
centage is in the interval [59.7,70.2], which means that for the other type of problems, the
difference is significant.
Figure 5.1 shows the pareto front obtained using the four algorithms on problem 1. As
can be seen, MOGA-MOGRASP provides solutions that dominate solutions from the other
algorithms. However, in this case, MOGA-MOGRASP only provides solutions with a total
completion time greater than 149 seconds. By observing other problems pareto fronts, it
was noticed that this observation is general and that MOGA-MOGRASP does not provide
solutions with low total completion time and high energy consumption. This implies that if

89
the decision-maker is more interested in solutions with low total completion time and higher
energy levels (i.e., total completion time is the priority), then MOGA or MOGRASP-MOGA
should be used. Also, the number of solutions provided by MOGA-MOGRASP is less than
the other algorithms, but their quality is better since they dominate the others (at least for
higher total completion time level). Note that problem 1 is a 10-job problem, which explains
the small amount of solutions found by the algorithms. It is also evident that MOGA is the
second best performing algorithm followed by MOGRASP-MOGA and MOGRASP.

Figure 5.1: Pareto front for problem TECTCT type 1 using MOGA (+), MOGA-MOGRASP
(∗), MOGRASP (×), and MOGRASP-MOGA ()

## 5.2.4 Experimental Design for TECTT

Table 5.10 represents different factors and their levels that were considered to compare the
four algorithms on single-machine scheduling problems optimizing total energy consumption
and total tardiness. The average inter-arrival time (λ) is tested at two levels: narrow (2)
and wide (10). The break-even duration has two values: low (1) and high (4). The average
processing time (γ) takes either a high value (4) or a low value (1). The number of jobs
(n) to schedule are tested at two levels: 10 (low) and 50 (high). Finally, the range of due
dates is generated using a uniform distribution (the slack time is generated using a uniform

90
P
distribution) with two different levels of the parameter β in r + p + [0, β ∗ p]. A low β
generates a due date that is close to the release date, and a high β creates a larger slack time
between the release date and the due date. β will be studied at two levels (0.5 and 0.05) to
generate high and low slack times. This experimental design results in 32 different types of
problem. Each problem is solved ten times with each algorithm.

## Table 5.10: Experimental design for TECTT

Factors Levels Description
Inter-arrival time (λ) High 10
Low 2
β high 0.5
low 0.05
Break-even duration (TB ) High 4
Low 1
Average processing times (γ) High 4
Low 1
Number of jobs (n) High 50
Low 10

The same experimental setup using the setup defined for the TECTCT problem in the
last section is performed. The results are presented in Table 5.11. The observations are
similar to the one for the TECTCT problem: the best performing algorithm is MOGA-
MOGRASP according to the pairwise comparisons. The second best performing algorithm
on average is MOGRASP-MOGA. However, it is observed that MOGRASP-MOGA performs
better only at a low level of number of jobs (10) (see A1-A4 columns in Table 5.11). At
a higher level of number of jobs, MOGA performs better than MOGRASP-MOGA. The
algorithm MOGRASP is again the worst-performing algorithm among the four algorithms
as it was the case in the last section. Figure 5.2 confirms these observations. Also, the same
remark applies to the total tardiness total energy consumption problem concerning the fact
that MOGA-MOGRASP does not provide solutions with a low scheduling objective function
value.

91
Table 5.11: Pairwise comparisons of four algorithms using the experimental design for
the TECTT problem(A1=MOGA, A2=MOGA-GRASP, A3=MOGRASP, A4=MOGRASP-
MOGA)
Problem TB n β γ λ A1-A2 A1-A3 A1-A4 A2-A3 A2-A4 A3-A4
1 L L L L L 11.3 96.7 10.4 100.0 55.8 0.0
2 L L L L H 22.1 94.6 21.5 98.3 64.2 2.0
3 L L L H L 14.6 93.3 17.7 99.5 76.6 0.0
4 L L L H H 15.0 90.3 18.6 99.6 77.5 0.4
5 L L H L L 9.4 93.8 13.7 100.0 69.9 1.9
6 L L H L H 23.0 91.3 27.0 99.7 65.9 0.3
7 L L H H L 0.0 53.3 3.3 100.0 67.6 4.0
8 L L H H H 16.0 86.2 23.8 98.9 66.8 0.0
9 L H L L L 8.4 100.0 58.4 100.0 100.0 0.0
10 L H L L H 17.3 95.5 75.7 100.0 100.0 20.8
11 L H L H L 5.9 68.3 61.7 100.0 100.0 0.0
12 L H L H H 35.5 95.1 74.3 100.0 100.0 2.9
13 L H H L L 12.0 89.4 63.0 99.7 99.4 7.5
14 L H H L H 30.8 100.0 82.4 100.0 100.0 15.3
15 L H H H L 7.2 93.3 54.0 100.0 100.0 6.7
16 L H H H H 1.5 100.0 64.8 100.0 100.0 2.9
17 H L L L L 7.1 73.3 19.1 99.5 78.1 1.7
18 H L L L H 26.4 89.8 27.7 98.0 75.2 0.6
19 H L L H L 3.1 93.3 20.8 100.0 65.1 0.0
20 H L L H H 17.4 83.9 20.4 98.7 72.7 3.2
21 H L H L L 4.9 74.6 9.7 100.0 71.2 0.5
22 H L H L H 8.2 79.9 18.7 99.7 79.1 1.7
23 H L H H L 4.8 80.0 5.6 96.9 51.5 4.7
24 H L H H H 18.6 87.2 24.5 98.5 54.9 2.9
25 H H L L L 4.9 91.3 60.3 100.0 99.9 12.0
26 H H L L H 21.6 96.4 78.7 100.0 100.0 4.0
27 H H L H L 0.0 76.7 80.0 99.6 100.0 20.0
28 H H L H H 19.8 96.1 71.2 99.5 99.5 4.0
29 H H H L L 1.2 100.0 48.3 100.0 100.0 0.0
30 H H H L H 24.3 96.1 78.7 99.6 99.6 25.5
31 H H H H L 0.0 93.3 73.3 100.0 100.0 20.0
32 H H H H H 7.5 100.0 64.5 100.0 100.0 0.0
Average 12.5 89.2 42.9 99.6 84.1 5.2

92
Figure 5.2: Pareto front for problem TECTT type 2 using MOGA (+), MOGA-MOGRASP
(∗), MOGRASP (×), and MOGRASP-MOGA ()

5.3 Summary

In this chapter, two new algorithms solving the multiobjective problems presented in
Chapters 3 and 4 are developed by combining the features of the multiobjective genetic
algorithm and the multiobjective GRASP. Also, the genetic algorithm developed in Chapter
3 is adapted to solve the problem when the scheduling objective is the total tardiness and
the GRASP algorithm of chapter 4 is adapted to solve the total completion time total energy
consumption scheduling problems. The four algorithms are compared for both problems, and
it is shown that the algorithm combining MOGA and the local search (MOGA-MOGRASP)
gives the best results. However, in the case where the decision-maker is interested in a
low level of the scheduling objective value with a higher level of energy consumption, the
multiobjective genetic algorithm or MOGRASP-MOGA will provide solutions that are more
in accordance with the decision-maker’s preferences.

93
CHAPTER 6

## A MULTICRITERIA APPROACH FOR PARALLEL-MACHINE

SCHEDULING WITH LOAD BALANCING, TOTAL ENERGY
CONSUMPTION, AND TOTAL COMPLETION TIME OBJECTIVES

In this chapter, minimization of energy consumption, total completion time, and load
balancing in a parallel-machine setting is discussed. It is assumed that jobs arrive over time,
and jobs have a different processing time on each machine. The proposed multiobjective
mathematical model is solved using a genetic algorithm. The performance of the genetic
algorithm with random solutions and initial solutions from some heuristic rules indicates that
when good initial solutions are available, a better pareto front approximation is obtained. A
design of experiment approach indicates that the number of jobs, the break-even duration,
the average inter-arrival time, and the average processing time are important factors.

6.1 Introduction

In this chapter, the goal is to minimize energy consumption and some scheduling objec-
tives in a parallel-machine setting using operational methods. The resulting problem is a
multicriteria optimization problem. By solving this problem, a pareto front that contains
the non-dominated solutions is obtained. A decision-maker can utilize a selection process
such as the Analytic Hierarchy Process to determine the most appropriate solution to be
implemented.
In industry, parallel machines are added to the lines to obtain adequate capacity, reduce
work in process, add flexibility, and eliminate bottlenecks. In the parallel-machine schedul-
ing problem, most of the time, the machines are identical and have the same characteristics.
However, sometimes the machines are purchased at different times and thus have different
characteristics as a result of new technology. Thus, the turn-off/turn-on energy and time,
as well as idle power are usually different for each machine. Also, the processing speed can
vary, so each job has a different processing time on each of the machines. It is important to

94
minimize the total completion time of a set of jobs on the machines because total completion
time is highly correlated to the cycle time of the jobs and is a good measure of the total
inventory holding cost. However, only minimizing the total completion time could lead to
different loads being processed on the machines. Workflow, or load balancing, helps to ac-
celerate the movement of jobs on the floor by removing bottlenecks. This procedure is used
to distribute the workload to the machines in order to reduce the idle time. Balancing the
workload might prevent bottlenecks, which in turn affects throughput. Also, load balancing
tends to equal the utilization of each resource (machine). Therefore, minimizing the total
deviation from having all machines balanced is also important. Finally, in order to mini-
mize the energy-related cost and in an effort to maintain a green industry, a total energy
objective is also considered. The solution of the problem will be a set of non-dominated so-
lutions (pareto front) representing different compromises between the three objectives. The
production manager will be able to choose a solution based on his/her preference.
The resulting problem is a multiobjective optimization problem. The single-objective
problem of minimizing total completion time on a single machine with release dates is an
NP-hard problem and thus cannot be solved to optimality in a reasonable amount of time
(polynomial time). As a result, the model developed in this chapter is also NP-hard since
it is multiobjective (one objective being total completion time) and multi-machine (i.e., a
complication of the single-objective problem). The problem can be solved in two different
ways. In the first way, a dispatching rule assigns jobs to the machines. Then, the jobs
schedule is determined on each machine, and finally, a procedure is developed to try to
improve the schedule. Another way to tackle the problem is to solve it globally in one step,
using either an exact method or a heuristic.
The organization of this chapter is as follows: First, a sample problem will show the
motivation for this study. A mathematical model for the multiobjective problem is followed
by a multiobjective genetic algorithm. Finally, extensive computational experimentation is
presented.

95
6.2 Problem Definition

The multi-machine scheduling problem studied in this chapter belongs to the wide class
of combinatorial optimization problems. The jobs arrival and service times are deterministic,
and the jobs must be processed on any of the m machines without preemption. The machines
are all available at time zero. However, the jobs are not all available at the very beginning
and are released at time rj . Each job j requires a processing time pjk on machine k, which
depends on the machine on which it is processed (i.e., machines are not identical). Note
that in this case, the processing energy is no longer a constant since the processing times
depend on the machines. Three objectives are considered simultaneously for optimization:
total energy consumption, total completion time and, deviation from the balanced line. Note
that this multiobjective problem is NP-hard because one of the sub-problems that it solves
(i.e., the scheduling problem of minimizing total completion time with release dates on a
single machine) is NP-hard .
The characteristics of the machines must also be determined. Assume that when a
machine k stands idle, it consumes Powerkidle . Furthermore, the power consumed while
processing a part is Powerkprocessing . When a machine k is turned off and then turned on
(i.e., a setup occurs), it consumes Energyksetup . This setup operation takes at least Tsetup
k

duration. The break-even duration (TBk ) is defined as the least amount of duration required
for a turn-off/turn-on operation (i.e., time required for a setup) and the amount of time for
which a turn-off/turn-on operation is logical instead of running machine k at idle, i.e.,

!
Energyksetup
TBk = max k
, Tsetup .
Powerkidle

To identify solutions to the multiobjective problem that minimize total energy consump-
tion, total completion time, and deviation from load balancing, several factors must be
considered in making the scheduling decision: First, each job needs to be assigned to one
machine. Second, the order of the jobs and their starting times (or completion times) must

96
be determined. Third, whether there will be a setup between two consecutive jobs on the
same machine must be decided. Finally, the length of the setup or length of the idle time
must be determined.
To illustrate the complexity of the problem, a four-job and two-machine problem is
presented. Assume that jobs 1 and 3 have a zero release date, while jobs 2 and 4 have a
release date of 2 and 3 seconds, respectively. Also, assume that jobs 1, 2, 3, and 4 have a
processing time of 1, 2, 2, and 1 seconds on machine 1, and processing time of 2, 2, 2, and 1
seconds on machine 2, respectively. The processing power and idle power consumptions are
2 hp and 1 hp on machine 1, and 2 hp and 1.5 hp on machine 2. The setup energy is 1.5
hp.sec on machine 1, and 2 hp.sec on machine 2. Finally, the setup time is at least 1 second
on machine 1, and 2 seconds on machine 2.
Figure 6.1 and Table 6.1 illustrate a few feasible solutions to the problem by assigning
jobs to different machines and by considering different job sequences on each machine. The
first observation is that the solution that minimizes any of the three objectives by itself does
not correspond to the one minimizing the other objectives. In fact, minimizing each objective
by itself will result in three different solutions ( i.e., the three objectives are conflicting). In
addition, the example illustrates that when two jobs do not directly follow each other on
the same machine (i.e., there is an idle period between jobs), it must be decided whether
leaving the machine idle or performing a setup would be more beneficial. This decision is
based on the time between the end of a job and the start of the following job, and the energy
consumption characteristics of the machine.

Figure 6.1: Feasible and non-dominated solutions to the 4 jobs with 2 machines problem

97
Table 6.1: Objective values for the feasible solutions to the 4 jobs with 2 machines problem
Solution Total Energy Total Completion Total deviation from
Consumption (hp.sec) Time (sec) balanced line (sec)
1 14.5 11 1
2 12 13 5
3 13.5 16 6
4 15.5 12 0

In this particular problem, there are three non-dominated solutions (1, 2, and 4). Even
the pareto front of the problem with four jobs and two machines is complex to identify.
This chapter proposes a framework to obtain a set of non-dominated solutions for min-
imizing total energy consumption, total completion time, and load balancing. The set of
all efficient (non-dominated) solutions are identified via a multiobjective genetic algorithm.
Then a decision-maker must determine the most appropriate solution to implement using a
method like the Analytic Hierarchy Process . Also, dispatching rules to obtain a quick
initial pareto front are developed and serve as an initial population to the genetic algorithm.
Finally, a set of factors leading to different type of problems are analyzed to determine their
effect on the performance of the algorithm.

## 6.3 Mathematical Model for Minimization of Energy Consumption, Total Com-

pletion Time, and Deviation from Load Balancing on Parallel Machines

The problem solved in this chapter is PMS, with the objectives of minimizing total com-
pletion time, total energy consumption, and deviation from load balancing, i.e., Pm ||Ctot , Etot , LB
in the notation proposed by Graham et al. . We formulate the problem as an integer
programming optimization model. The parameters of the model are known before, and
therefore the model is deterministic. The parameters are defined as follows:

## • Powerkprocessing : processing power of machine k (hp)

98
• Energyksetup : setup energy of machine k (hp.sec)

k
• Tsetup : setup time of machine k (sec)

## • cj : completion time of job j

 1 if job j is processed on machine k

• xjk =
 0 otherwise

 1 if job j follows job i on machine k

• yijk =
 0 otherwise

 1 if job j follows job i on machine k, and there is a setup between i and j

• Sijk =
 0 otherwise

Based on the variables and parameters defined above, the multiobjective mathematical
model to minimize total energy consumption, total completion time, and deviation from load
balancing on parallel non-identical machines (Multiobjective Parallel-Machine Scheduling or
MOPMS) can be summarized as follows:
Minimize total completion time:

n
X
min cj (6.1)
j=1

## Minimize total energy consumption:

m X
X n n
X
min (cj xjk − pjk xjk − ci xik yijk ) ∗ Powerkidle ∗ (1 − Sijk ) (6.2)
k=1 j=1 i=1
| {z }
Idle energy
m X
X n X
n Xm X n
k
+ Sijk ∗ Energysetup + pjk xjk ∗ Powerkprocessing
k=1 i=1 j=1 k=1 j=1
| {z } | {z }
Setup energy P rocessing energy

99

m n Pn
X X ci
min | cj xjk − i=1 | (6.3)
k=1 j=1
m
| {z }
deviation f rom balanced line

The deviation from a balanced line is defined as the gap between the total completion
time on a machine and the average total completion time on all machines (total completion
time divided by the number of machines). Another measure of deviation from a balanced line
on machine k is the gap between the average maximum completion time and the maximum
completion time on machine k. However, this will not balance the total processing time on
each machine: consider the example with two machines, with machine one processing one
job starting at time 9 until 10, and machine two processing ten jobs of one unit of processing
time from time 0 until 10 with no interruptions. The production line will be balanced
according to that measure, but most of the load is on machine two. The gap between the
average total processing time and the total processing time on machine k can also be used
to measure the load balancing . In this case, two machines that are processing jobs with
the same total processing time would be balanced, but there is a point in time when both
finished processing jobs could be different because of inserted idle time. The measure used
Pn
i=1 ci
( m
P Pn
k=1 c x
j=1 j jk − m
) makes a compromise between those two measures.
The constraints are as follows:
A job can be processed only after it is released:

m
X
cj − xjk pjk ≥ rj , ∀j = 1...n (6.4)
k=1

## Each job is assigned to one machine:

m
X
xjk = 1, ∀j = 1...n (6.5)
k=1

100
Two jobs cannot be processed at the same time on the same machine:

## ∀i = 1...n, ∀j = 1...n(j 6= i), ∀k = 1...m

A job can follow another job only if they are both processed on the same machine:

## Each job has to be processed before another job:

n
X
yijk ≤ xjk , ∀k = 1...m, ∀j = 1...n (6.8)
i=1

## Each job has to be processed after another job:

n
X
yijk ≤ xik , ∀k = 1...m, ∀i = 1...n (6.9)
j=1

If there is a setup between two jobs, then the time between the end of one job and the start
of the other has to be greater than the break-even time:

n
X n
X
cj xjk − pjk xjk − ci xik yijk ≥ TBk Sijk , ∀k = 1...m, ∀j = 1...n (6.10)
i=1 i=1

## One job cannot be processed before or after two or more jobs:

n X
X n
yijk ≤ n − 1, ∀k = 1...m (6.11)
i=1 j=1

101
The completion time is nonnegative, and other variables are binary:

cj ≥ 0, ∀j = 1...n (6.12)

## Sijk ∈ {0, 1}, ∀j = 1...n, ∀i = 1...n, ∀k = 1...m (6.15)

By solving this mathematical model, the goal is to obtain a tradeoff curve, which will
have solutions that will have information on when each job should start (or finish) on which
machine, when to turn off and on, and when to leave each machine idle.
MOPMS is not linear but can be transformed into a linear mixed-integer optimization
problem. As noted, this multiobjective problem is NP-hard. As a result, it is not practical to
solve the multiobjective model using optimization software to determine the optimal pareto
front since one cannot obtain an optimal pareto front quickly. Thus, a multiobjective genetic
algorithm (Genetic Algorithm Parallel-Machine Scheduling, or GAPMS) will be utilized to
solve the MOPMS. The advantage of metaheuristic methods like genetic algorithms is that
they may provide a good solution in a reasonable amount of time and also are very efficient
when rescheduling is needed due to changes in the manufacturing environment.

## 6.4 Solution Procedure to MOPMS

The proposed MOGA provides a solution that has information on when to start each job
on which machine and when to turn off/turn on the machines. For solving the multiobjective
optimization problem, MOPMS, an evolutionary method is utilized as follows (Figure 6.2):
An initial population of size K is randomly generated. Each chromosome is evaluated
using a linear program combining the objectives into a weighted sum. The weights are
randomly generated at each iteration. A new generation of K individuals is generated using
genetic operators such as crossover and mutation. Only the K best individuals from the two

102
populations will survive and continue the evolution process to reach a set of near-optimal
solutions. The non-dominated solutions set is updated from generation to generation. When
the algorithm reaches its stopping criteria, the solution contained in the non-dominated set
form the near-optimal approximate pareto front.
The components of GAPMS are described in detail below.

Figure 6.2: General steps in determining a pareto front for the mutiobjective MOPMS
problem using a genetic algorithm

## 6.4.1 Chromosome Representation

A chromosome that represents MOPMS is an array with 3 ∗ n cells (Figure 6.3). The first
set of n cells represents the assignment of n jobs to m machines (i.e., the number in position

103
j is the machine number to which job j is assigned). The second set of n cells represents
the order of jobs on each machine, and the last set of n cells shows whether there is a setup
before a job (cells have a value of 1 if there is a setup, and 0 otherwise). For example, with
five jobs and two machines, the chromosome [1 1 2 1 2]+[2 5 1 4 3]+[1 0 1 0 1] shows that
jobs 1, 2, and 4 are processed on machine 1 in the order of 2, 1, and 4, and jobs 3 and 5 are
processed on machine 1 in the order of 5 and 3. Finally, the last set of n cells shows that
there is a setup between job 2 and job 1, and between job 5 and job 3. Whenever a job is
the first processed on a machine, the setup cell corresponding to it is ignored.

Figure 6.3: Chromosomes representing assignment to machines, order of jobs, and setups

Note that each chromosome may represent an infinite number of solutions: the inserted
idle time between successive jobs and the length of the setup (which is at least equal to the
“break-even setup duration” but can be longer) provide an infinite number of alternatives.

## 6.4.2 Initial Population

The initial population of size K is either random or generated from heuristics. In the
first case, the first set of n genes of each chromosome are randomly selected from integers
between 1 and m. The following set of n genes is a random permutation of the integers
from 1 to n. Finally, the last set of n genes are either 0 with probability of 0.5, or 1 with
probability of 0.5. In the second case, heuristics or dispatching rules are used to build the
initial population.

104
6.4.3 Selection Method

At each iteration, a new generation of size K is created using the current population.
The chromosomes selected to crossover or mutate are randomly selected with the following
probabilities:

[f i − max(fti )]2
p(cit ) = Pk t i i 2
, (6.16)
i=1 [ft − max(ft )]

## 6.4.4 Crossover Operation

A crossover operation is defined based on two parent chromosomes and results in two
children. Three crossover points are randomly selected. For example, the crossover of chro-
mosome [1 2 1 2]+[1 3 4 2]+[0 0 1 1] and chromosome [2 1 2 2]+[2 3 4 1]+[0 1 0 1] with
crossover points of 2, 2, and 1 results in chromosomes [1 2 2 2]+[1 3 2 4]+[0 1 0 1] and
[2 1 1 2]+[2 3 1 4]+[0 0 1 1]. Note that the genes representing the order of the job have
been rearranged in the second part (after the crossover point) as they appear in the second
chromosome.

## 6.4.5 Mutation Operation

A mutation operation is defined based on one chromosome and results in one chromosome.
Four numbers between 1 and n are randomly generated, namely n1 , n2 , n3 , and n4 , as well
as a number between 1 and m, m1 . The nth
1 job is now being processed on machine m1 , and

## there will be a setup (no setup) before the nth

4 job, if there was no setup (a setup) before

that job. Also, the job order is modified, and the job in position n2 is exchanged with the
job in position n3 . For example, the mutation of chromosome [1 2 1 2]+[1 3 4 2]+[0 0 1 1]
with mutation points 2, 3, 2, and 4 results in chromosome [1 1 1 2]+[1 4 3 2]+[0 0 1 0].

105
6.4.6 Evaluation of a Chromosome

Given a chromosome, the information is provided on the assignment of the jobs to the
machines, the order of jobs on each machine, and whether there is a setup between two
consecutive jobs. If this information is known, the multiobjective program reduces to a
linear program:

nk
m X
X
min Ckj (6.17)
k=1 j=1
Xm X
min ((Ckj − Pkj ) − Ck,j−1 ) ∗ Powerkidle (6.18)
k=1 Xk
Xm nk
m X
X
+ Ωk ∗ Energyksetup + Pjk ∗ Powerkprocessing
k=1 k=1 j=1
m nk Pm Pnk
X X
k=1 i=1 Ckj
min | Ckj − | (6.19)
k=1 j=1
m

## Ck,j+1 − Pk,j+1 ≥ Ckj , ∀j = 1...nk − 1 ∀k = 1...m (6.21)

k
Ck,j+1 − Pk,j+1 − Ckj ≥ Tsetup , ∀j ∈ Xk ∀k = 1...m (6.22)

Ckj ≥ 0 (6.23)

However, this optimization program is not linear due to the absolute value. To evaluate a
chromosome, the following multiobjective linear program (MOPMSLP) can be utilized:

nk
m X
X
min Ckj (6.24)
k=1 j=1
m X
X
min ((Ckj − Pkj ) − Ck,j−1 ) ∗ Powerkidle (6.25)
k=1 Xk
Xm nk
m X
X
+ Ωk ∗ Energyksetup + Pjk ∗ Powerkprocessing
k=1 k=1 j=1

106
m
X
min αk (6.26)
k=1
nk Pm Pnk
X
k=1 i=1 Ckj
αk ≥ Ckj − ∀k = 1...m (6.27)
j=1
m
nk Pm Pnk
X
k=1 i=1 Ckj
− αk ≤ Ckj − ∀k = 1...m (6.28)
j=1
m

## Ck,j+1 − Pk,j+1 ≥ Ckj , ∀j = 1...nk − 1 ∀k = 1...m (6.30)

k
Ck,j+1 − Pk,j+1 − Ckj ≥ Tsetup , ∀j ∈ Xk ∀k = 1...m (6.31)

Ckj ≥ 0 (6.32)

where Ωk is the number of setups on machine k in the current solution, and Xk (X̄k ) is
a set that contains i if there is no (a) setup between the job at position i and the job at
position i + 1 on machine k. Note that in this multiobjective linear program, Ckj , Rkj , and
Pkj represent the completion time, the release date, and the processing time of the j th job
on machine k, respectively. Rkj and Pkj can easily be determined using the chromosome and
rj and pjk . Random weights, namely w1t , w2t , and w3t , are generated at each iteration t. To
evaluate a chromosome, the three objectives are combined into one objective by taking the
weighted sum of the objectives and solving the linear program with the weighted objective
and the constraints defined in MOPMSLP. Generating random weights at each generation
has proven to be one of the best ways to evaluate a chromosome in a multiobjective genetic
algorithm .

## 6.4.7 Initial Population Fine-Tunning

In the genetic algorithm literature, it has been observed that good initial solutions may
lead to better solutions faster . In the multiobjective case, a “good” solution must be
defined. For this problem, good initial solutions are defined as those that minimize one of the
objectives. To avoid a genetic drift (i.e., having solutions strong in one objective and poor

107
in others), we also need to include some random solutions. This section presents different
heuristics and dispatching rules to obtain a solution that is strong in one objective, and near
or on the optimal pareto front. The general outline of the procedure that is utilized to obtain
solutions is as follows:

## 1. Input the problem data.

2. Form a vector (JOB) of the jobs ordered according to the ordering rule.

## 5. If JOB is empty, stop. Otherwise go to 3.

In this procedure, an assignment rule and an ordering rule are utilized in two different
strategies, P1 and P2:

1. P1

## (a) SELECT: Select the first job in JOB.

(b) ASSIGN: Assign the job to a machine according to the assignment rule.

2. P2

(a) SELECT: When a machine becomes available, select the first job available (or
will become available the soonest) in JOB.

(b) ASSIGN: Assign the job to the machine according to the assignment rule (between
available machines).

If the first strategy is selected, the release dates of the jobs are not considered, and this
might lead to a bad solution, especially if job release dates are distant from each other. In
the second strategy, release dates are used to determine the next job to be processed on the
machine that become available.
In both strategies, the following ordering rules can be used:

108
1. Shortest Processing Time (SPT) tends to minimize total completion time.

## 2. Earliest Release Date (ERD) tends to minimize total completion time.

3. Longest Processing Time (LPT) tends to minimize total deviation from load balancing.

When all jobs are available at the same time, the shortest processing time rule gives the
optimal solution to 1||Ctot . When multiple machines or release dates are considered, a good
assignment heuristic combined with the SPT rule and procedure P 1 may give a good solution
if all jobs are available at approximately the same time. When the release dates are spread
in the planning horizon, a better solution can be obtained by using procedure P 2 instead.
The ERD rule combined with an assignment rule will also give good results according to
the total completion time. The LPT rule will tend to minimize the deviation from load
balancing since the smallest jobs are left at the end to make it easy to balance the lines.
After the jobs are ordered, one of the following assignment rules can be used to determine
the machine assignment:

## 2. Cumulative Processing Time (CPT)

Both CCT and CPT rules tend to minimize the deviation from load balancing. CPT works
better when all release dates are close to each other. Meanwhile, CCT performs better when
the range of release dates is broad.
Procedures can be combined with the ordering and assignment rules to create initial
solutions that tend to optimize one objective or a combination of them. This results in 12
heuristics/dispatching rules that will be utilized to obtain an initial population (P1-SPT-
CCT, P1-ERD-CCT, P1-LPT-CCT, P1-SPT-CPT, P1-ERD-CPT, P1-LPT-CPT, P2-SPT-
CCT, P2-ERD-CCT, P2-LPT-CCT, P2-SPT-CPT, P2-ERD-CPT, and P2-LPT-CPT).
These rules do not provide information about setups: there will be a setup if the idle time
between two jobs is greater than the break-even duration of the machine. This will completely
define 12 initial solutions. For example, P2-SPT-CPT will order the jobs according to their

109
processing time in a queue, and when a machine is available, the first job in the queue is
assigned to be processed on that machine if it already has been released. Otherwise, the
second job is chosen, and so on until a job that has already been released is reached. If no
job is available, then the one available the sooner is chosen. If more than one machine is
available at this time, the machine that will process the job will be chosen according to the
CPT rule.
Note that the above rules may not optimize total energy consumption. To minimize
energy consumption, batching of size b can be utilized. We will have batch sizes varying from
2 to d. When b jobs are ready, they will be picked to be processed on one of the machines
available, according to one assignment rule. Note that in this case, there is no need for an
ordering rule, since the b next available jobs are picked to be processed. However, there
could be an ordering rule to decide on the order to process the b jobs in the batch. Also, if
more than one machine is available at a time to process the jobs, the CCT rule will be used
to select a machine. Finally, a setup will be performed if the time between two consecutive
batches on a machine is greater than the break-even duration on that machine.

## The performance of the multiobjective genetic algorithm (GAPMS) is affected by the

factors such as crossover rate, number of individuals in a population, and running time
(number of generations performed). After extensive initial experimentation and fine-tuning,
it is observed that using a crossover rate of 0.6 along with a population size of 20 gives the best
results. Also, the more iterations that are performed, the better the pareto front. However,
after a thousand iterations, the improvements are small. Therefore, in the computational
experimentation, the algorithm will be run for a thousand iterations, which corresponds to a
fixed amount of time to run the algorithms since only the initial population changes. In the
computational experimentation, the pareto front obtained using a random initial population
and the fine-tuned initial population will be compared. Also, the solutions obtained by the

110
heuristics proposed in section 6.4.7 will be checked to see whether they belong to the pareto
front or not.

## 6.5.1 Performance Measure

The comparison between the different pareto fronts in this section is based on the fol-
lowing two measures. The first measure (P ERF 1) was developed by Hyun et al. .
For the same problem, two sets of non-dominated solutions from each algorithm (one with
the random initial population and one with the fine-tuned initial population) are obtained.
Next, a new pareto front is built based on these two sets. Finally, the performance measure
is calculated as follows: the performance of one algorithm is the percentage of solutions in
the new pareto front issued from the set of non-dominated solutions of that algorithm. For
example, if algorithm 1 and algorithm 2 result in the non-dominated solutions [(1,2,3),
(1.5,1,2), (2,0.5,1)] and [(0.5,2,2), (2,1,3)], then the combined pareto front is [(0.5,2,2),
(1.5,1,2), (2,0.5,1)]. The measure of performance is 66.6% for algorithm 1 and 33.3% for
algorithm 2, meaning that 66.6% of the final pareto front comes from algorithm 1.
The second measure (P ERF 2) is the normalized distance between a pareto front A and
a pareto front B. The normalized distance from the origin for each front for a three-objective
case is defined as

Ps C
C i=0 (xi + yiC + ziC )
d = (6.33)
s

where x, y, and z are the values of the three normalized objectives for a non-dominated
solution in pareto front C, and s is the number of solutions in the front. The normalized
value w of the objective u is defined as

u − min(Au , Bu )
w= (6.34)
max(Au , Bu ) − min(Au , Bu )

111
where min(Au , Bu ) (max(Au , Bu )) represents the minimum (maximum) value of objective u
in front A and front B. Finally, P ERF 2 is defined as

|dB − dA |
P ERF 2 = (6.35)
dB

## 6.6 Comparison of Performance of GAPMS with Random Initial Population

and Specific Initial Population

The comparison of an algorithm with random initial population (GAPMS-R) and with
an initial population described above (GAPMS-I) is based on the described measure of
performance (PERF1). In GAPMS-I, 15 chromosomes come from the dispatching rules,
including three chromosomes issued from batching heuristics with batch sizes of two, four,
and six jobs. Five chromosomes randomly generated are also added to the initial population.
Three different problems will be compared to assess the performance of the two versions of the
algorithm. The characteristics of the problems are represented in Table 6.2. Problems with
50 and 100 jobs are considered on either two or five machines. In the table, the processing
times and break-even durations are given for each machine. Machines purchased at different
times have different processing speeds and different break-even durations. However, the
two factors are linked in a way that they both decrease or increase at the same time. The
problems factors have different values, which represent a variety of problems.

Table 6.2: Experimental design for comparison between each version of the algorithm
Factors Problem 1 Problem 2 Problem 3
Average inter-arrival time (sec) 5 5 10
Break-even duration (TB ) (sec) 2,4 2,2,2,4,4 4,4,6,6,6
Average processing times (sec) 1,2 1,1,1,2,2 2,2,4,4,4
Number of machine 2 5 5
Number of jobs 50 50 100

Table 6.3 presents a comparison between GAPMS-R and GAPMS-I, providing the average
percentage of solutions coming from each version of the algorithm in the final pareto front
over ten runs of the same problem. Also, among the ten runs, the sum of the number of times

112
that each version of the algorithm wins (i.e., have a higher percentage) is shown. The same
test is run using 1,000 and 10,000 iterations. The algorithm with the initial population based
on the dispatching rules performs better almost always. However, as the number of iterations
is increased, the difference in performance decreases. This implies that the effect of having
a good initial population fades away as the algorithm runs longer. However, the time cost
of generating the “good” initial population is near 0; therefore, the chromosome based on
the dispatching rules can be used in combination with a few random initial chromosomes to
form the initial population. Figure 6.4 represents the evolution of the percentage of solution
from GAPMS-I and GAPMS-R in the final combined pareto front for problem 2. It can
be seen that most of the solutions in the final pareto front come from GAPMS-I, although
that percentage slightly decreases with the number of iterations. However, the percentage of
solutions from GAPMS-I remains greater than the percentage of solutions from GAPMS-R.

## Table 6.3: Comparison between GAPMS-I (1) and GAPMS-R (2)

Problem 1 Problem 2 Problem 3
Measure k=1,000 k=10,000 k=1,000 k=10,000 k=1,000 k=10,000
% from (1) 95.1 84.1 92.9 54.8 99.9 85.8
% from (2) 4.9 15.9 7.1 45.2 0.1 14.2
(1) wins 10 10 10 8 10 10
(2) wins 0 0 0 2 0 0
# of solutions in (1) 72.7 105.3 104.7 134.4 270 462.6
# of solutions in (2) 59 76.7 106.4 232.2 133.6 175.4
f inal f ront size 75.9 115.3 111.7 237.8 270 510.7
# of solutions from (1) 72.2 97.1 103.7 131.1 269.7 438.2
# of solutions from (2) 3.7 18.2 8 106.7 0.3 72.5

## Figure 6.5 represents two three-dimensional pareto fronts representing non-dominated

solutions obtained using GAPMS-R and GAPMS-I. The pareto front is a curve in three
dimensions. It can be clearly seen that the pareto front obtained with the algorithm using
the “good” initial solutions (GAPMS-I) provides better solutions (each objective is mini-
mized). It is observed that using a “good” initial population improves the convergence of
the algorithm and, for the same CPU time (40 seconds), lowers the value of each objective,
especially the total completion time and total energy consumption.

113
Figure 6.4: Performance of having/not having a good initial population depending on the
number of iterations for problem 2

Figure 6.5: Pareto front for problem 2 using GAPMS-R (∗) and GAPMS-I ()

## 6.7 Forming Pareto Front with Dispatching Rules

Each of the 15 chromosomes issued from the dispatching rules can generate one or more
solutions, which forms an approximate pareto front. The approximate pareto front issued
from each dispatching rules can be compared using the measure of performance described
above (that is obtained via pairwise comparisons). Note that the dispatching rules only
provide the assignment, order, and setups, to obtain the pareto front corresponding to the
current solution, it is necessary to solve a series of LPs with random weights (MOPMSLP). As
a case study, problem one is used to analyze the performance of each of the dispatching rules.

114
Tables 6.4 and 6.5 present the pairwise comparison of the pareto front of each dispatching
rule and the number of non-dominated solutions in each pareto front, respectively. The
first observation is that the batching dispatching rules provide more solutions than other
dispatching rules. They also perform well against other rules when observing their percentage
of contribution in the pairwise comparison. The three best performing rules are rules 14
(batching rules with size 4), 9 (P2-LPT-CCT), and 12 (P2-LPT-CPT). When release dates
are involved in the problem, procedure two (P2) clearly outperforms rules using procedure
one (P1), unless the ordering rule is ERD. Also, two of the best performing rules use LPT
as the ordering rule, and either CPT or CCT as the assigning rule. However, the two last
rules generate only a few solutions, especially compared with the batching rules. It can be
concluded that the best rules are the batching rules, according to their pairwise comparisons
and the number of solutions they generate. However, all rules will be kept to obtain initial
chromosomes to avoid a genetic drift (i.e., we need a variety of different chromosomes in the
initial population).

## Table 6.4: Pairwise performance measure of dispatching rules for problem 1

Dispatching Rules 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 / 100 0 25 8 0 5 5 17 25 50 8 0 3 2
2 0 / 0 0 0 0 9 5 17 14 17 8 0 2 2
3 100 100 / 100 87 60 48 43 38 100 100 21 23 25 24
4 75 100 0 / 21 0 16 4 17 50 100 8 0 3 2
5 92 100 13 79 / 45 17 5 17 67 100 8 0 3 2
6 100 100 40 100 55 / 32 21 44 100 100 35 13 14 12
7 95 91 52 84 83 68 / 0 0 77 95 0 28 29 28
8 95 95 57 96 95 79 100 / 0 95 95 0 38 40 39
9 83 83 63 83 83 56 100 100 / 100 100 63 51 24 100
10 75 86 0 50 33 0 23 5 0 / 86 0 0 0 0
11 50 83 0 0 0 0 5 5 0 14 / 8 0 3 2
12 92 92 79 92 92 65 100 100 38 100 92 / 73 48 92
13 100 100 77 100 100 87 72 63 49 100 100 27 / 13 23
14 97 98 75 97 98 86 71 60 76 100 97 52 87 / 28
15 98 98 76 98 98 88 72 61 0 100 98 8 77 72 /

Table 6.5: Number of non-dominated solutions in the pareto front issued from dispatching
rules
Dispatching Rules 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Number of Solutions 5 6 13 3 12 6 20 21 5 6 5 11 41 36 41

115
6.8 Performance of GAPMS-I

Table 6.6 provides the characteristics of the test problems. The inter-arrival time (IAT),
which determines the release dates (r) and processing times (p) of the jobs, are randomly gen-
erated using an exponential distribution. The factor (IAT /p) is either equal to 2 (low) or 5
(high). The idle power consumption (Powerkidle ), the setup energy consumption (Energyksetup ),
k
and the setup time (Tsetup ) determine the break-even duration (TB ). The break-even duration
over average processing time factor (TB /p) takes two different values: 2 (low) and 4 (high).
Two machines are considered. Finally, two different levels of number of jobs are studied:
100 jobs (high) or 30 jobs (low). Since the processing times of the jobs and the break-even
duration can differ from one machine to another, different combinations of break-even dura-
tions over processing times levels can be considered. Either the two machines are identical,
or one has a high TB /p ratio while the other one has a low TB /p ratio. The total number of
test problems is 12 for three machine combinations, two levels of inter-arrival time, and two
levels of number of jobs.

## Table 6.6: Experimental design

Factor Level Description
IAT
p High 5
Low 2
TB
p High 4
Low 2
Number of jobs High 100
Low 30

## How GAPMS-I performs will be evaluated, depending on problem characteristics, by com-

paring its pareto front (PGA ) with the pareto front obtained using the dispatching rules (Pdr )
utilizing the normalized distance performance measure (PERF2). Note that the distance
from origin for Pdr will always be greater than the distance for PGA since the MOGA uses an
|dPGA −dPdr |
initial population that has dispatching rules. Basically, the measure P ERF2 = dPdr

(M 1) will evaluate how much the MOGA has improved the initial population depending on
the problem’s factors. Also, the number of non-dominated solutions in PGA (M 2) will be
analyzed depending on the problem characteristics.

116
Two designs of experiments are performed: a 23 factorial design and a 22 factorial design
with ten replicates. The first consists of the three factors described above (IAT /p, TB /p,
number of jobs), each at two levels with two identical machines. The second includes two
factors (IAT /p, number of jobs) with two different machines, one at each level of TB /p.
When machines are non-identical, it is assumed that one experiment can combine different
levels of TB /p.
The outputs of each experiment are M 1 and M 2. Observing the half-normal plot of the
experimental design for M 1 in Figure 6.6, it can be concluded that the factors to consider
in the model are as follows: (a) the number of jobs, (b) the interaction between IAT /p and
the number of jobs and finally (c) the interaction between TB /p and the number of jobs. As
is, the model is not hierarchical; therefore, the factors IAT /p and TB /p are included in the
model.

## Figure 6.6: Half-normal plot for 23 factorial design and M1 output

The corresponding ANOVA in Table 6.7 shows that the model chosen is significant.
Also, it can be observed that the interaction between IAT /p and the number of jobs, and
the interaction between TB /p and the number of jobs have a significant effect on the output
M 1. In other words, since there is a combined effect of two factors, it is impossible to
describe the effect of one factor without considering the other factor.

117
Table 6.7: ANOVA for 23 factorial design and M1
Source Sum of Squares df Mean Square F Value p-Value
Model 1.968 5 0.394 105.292 < 0.0001 significant
A=IAT/p 0.022 1 0.022 5.812 0.0184
B=TB/p 0.003 1 0.003 0.775 0.3814
C=number of jobs 1.101 1 1.101 294.409 < 0.0001
AC 0.115 1 0.115 30.777 < 0.0001
BC 0.728 1 0.728 194.686 < 0.0001
Residual 0.277 74 0.004
Lack of Fit 0.013 2 0.007 1.824 0.1688 not significant
Pure Error 0.263 72 0.004
Cor Total 2.245 79

Figure 6.7 shows the plots for the interaction IAT /p and the number of jobs, and the
interaction of TB /p and the number of jobs. The first conclusion is that no factor taken
alone can explain the output M 1. Since the output M 1 is a measure of how well the MOGA
performs, at a low number of jobs, the algorithm performs better with a high level of IAT /p.
However, at a high number of jobs, the algorithm performs better with a low level of IAT /p.
Otherwise stated, the algorithm shows better results when the number of jobs and IAT /p
have opposite levels. On one hand, at a low number of jobs, the MOGA performs better
when the factor TB /p is low. On the other hand, at a high number of jobs, the algorithm
performs better at a high level of TB /p. In other words, the algorithm gives better results
when the number of jobs and TB /p are at the “same” level.

## Figure 6.7: Interaction plots for model and M1

118
Based on the same analysis for M 2 (the number of solutions in the final pareto front), the
interaction between IAT /p and TB /p, and the interaction between TB /p and the number
of jobs have an effect on M 2 (Table 6.8). Figure 6.8 shows the interaction plot for the
significant effects. At a low level of TB /p, the size of the pareto front is larger than at a low
level of IAT /p. The opposite holds true with a high level of TB /p, that is, the size of the
pareto front is greater with a high level of IAT /p. At a low level of TB /p, the size of the
pareto front is not significantly different with either a high or low level of job numbers. As
the level of TB /p increases, the number of solutions in the pareto front increases, although
the increase is greater with a high number of jobs.

## Table 6.8: ANOVA for 23 factorial design and M2

Source Sum of Squares df Mean Square F Value p-Value
Model 84995.500 5 16999.100 99.756 < 0.0001 significant
A-IAT/p 26.450 1 26.450 0.155 0.6947
B-TB/p 44368.200 1 44368.200 260.367 < 0.0001
C-number of jobs 9288.050 1 9288.050 54.505 < 0.0001
AB 18000.000 1 18000.000 105.630 < 0.0001
BC 13312.800 1 13312.800 78.124 < 0.0001
Residual 12610.050 74 170.406
Lack of Fit 1102.250 2 551.125 3.448 0.0371 significant
Pure Error 11507.800 72 159.831
Cor Total 97605.550 79

## Figure 6.8: Interaction plots for the model and M2

In the second design of experiment (22 ), only two factors (IAT /p and number of jobs) are
considered on two different machines (one for each level of TB /p). Using the same analysis

119
for this design, it can be concluded that only the number of jobs has an effect on the output
M 1. As the number of jobs decreases, the algorithm performs better. This conclusion seems
logical since the algorithm is run for 1,000 iterations for both levels of jobs, and it is natural
that a more complicated problem (i.e., with more jobs) will take more time to reach the
same distance from the initial solution. In the case of M 2, both factors have an effect. The
same effect is observed for the number of jobs and IAT /p, that is, when the factor increases,
the number of solutions decreases.

6.9 Summary

Many scheduling problems are difficult to solve because they are NP-hard even when
a single objective is considered. As a result, metaheuristics are developed to obtain near-
optimal solutions. When multiple objectives are considered, the complexity of the problem
increases. This chapter addresses the problem of scheduling jobs on non-identical parallel-
machines to minimize total energy consumption, total completion time and, total deviation
from load balancing. This problem is extremely difficult to solve when only one objective is
considered. As a result, a metaheuristic is developed to find an approximate pareto front.
The metaheuristic, a multiobjetive genetic algorithm (GAPMS), provides the user with a set
of non-dominated solutions to the problem. The decision-maker can then use techniques such
as the Analytic Hierarchy Process to obtain a single solution according to his/her preferences.
The multiobjective genetic algorithm parameters are fine-tuned to give near-optimal so-
lutions to the problem. Dispatching rules are developed to give an approximate pareto front.
The pareto front from each dispatching heuristic is analyzed using a pairwise comparison.
Also, GAPMS with a random initial population and with an initial population based on
the dispatching rules are compared, and it was shown that the algorithm performs better
with a “good” initial population. Finally, the problem with different factors levels is solved,
and it was demonstrated, with a design of experiment, for what factor-level combination the

120
algorithm performs better and provides more solutions. The designs of experiments include
cases with identical and different machines.
Note that GAPMS is the first algorithm to solve a multi-machine scheduling problem
with energy-related and scheduling objectives. However, there is a need to investigate other
scheduling objectives. Although this model addresses multiple parallel-machine problems,
scheduling problems with machines in a series (i.e., a production line) or in a flexible machine
shop need to be studied.

121
CHAPTER 7

7.1 Conclusions

## In this dissertation, multiobjective models are proposed to solve different scheduling

problems when one of the objectives is to minimize total energy consumption. In addition,
for each model, methods have been developed to provide a set of non-dominated solutions
belonging to the near-optimal approximate pareto front. The proposed solution frameworks
are based on multiobjective genetic algorithms or GRASP or a combination of them. The
proposed MOGA is based on existing concepts and is adapted to the problem described in
the dissertation in a new and innovative way. The developed multiobjective GRASP is one
of the first general multiobjective algorithm using GRASP concepts and can be adapted to
solve any multiobjective problem. The performance of four different algorithms are compared
on both single-machine total completion time and total tardiness scheduling problems. Also,
for each single-machine problem, an Analytic Hierarchic Process method is used to show how
to select the best alternative from the pareto front based on the decision-maker preferences.
A case study is analyzed for both single-machine problems. It is observed that the algo-
rithms are capable of finding a well-spread pareto front. Furthermore, using AHP with the
criteria hierarchy samples, how to choose a single solution from the pareto front is illustrated.
A comparison between four algorithms shows that the algorithm combining MOGA and a
local search (MOGA-MOGRASP) performs better. However, when the decision-maker is
interested in solutions with low level of the scheduling objectives, he/she should use either
MOGA or MOGRASP-MOGA depending on the problem parameters.
The non-identical parallel-machine scheduling problem is solved using a random-weight
multiobjective genetic algorithm. Also, efficient dispatching rules are proposed to obtain an
approximate pareto front, and it is shown that batching with different batch sizes provides
good solutions. The performance of the genetic algorithm using an initial population con-

122
structed with the dispatching rules is assessed and compared to the solutions provided by the
dispatching rules depending on the problem factors. Among those factors are the break-even
duration, the inter-arrival time of jobs, the average processing time, and the number of jobs.
A design of experiment proves that some factors and their interactions have a significant
effect on the convergence of the algorithm and on the number of solutions it provides.
To the author’s best knowledge, the problems studied and models proposed in this disser-
tation examines, for the first time in the literature, the minimization of energy consumption
as one of the objectives while minimizing of some other scheduling objectives. The contri-
bution of this work can be summarized in the following points:

## • New optimization models including energy consumption as an objective have been

proposed for single and multi-machine scheduling problems.

## • A framework is developed to solve each model presented in this dissertation.

• A multiobjective genetic algorithm based on fitness function and one based on random
weights is proposed to solve multiobjective scheduling problems.

## • A new multiobjective greedy randomized adaptive search procedure is developed to

solve multiobjective problems.

## • A combination of MOGA and MOGRASP are developed. This combined metaheuristic

shows promising results and better performance.

The frameworks proposed in this dissertation may be utilized to solve a large set of
scheduling problems with different objectives. However, there are some limitations and
possible extensions that will define future research, which is presented in the next section.

## 7.2 Future Research

The methods developed in the previous chapters are useful to minimize energy con-
sumption and other scheduling objectives on a single machine or on parallel machines. The

123
proposed mathematical models could be extended to more complex multi-machine environ-
ments, such as a complete production line. Also, a maintenance program could be designed to
include energy cost in the total cost to minimize when maintenance scheduling is performed.
A model of the reliability of machines under frequent turn-off/turn-on operation constraints
may be helpful in the design of an optimal maintenance framework. Simple heuristics can
be useful to obtain an approximate pareto front without complex calculations (such as the
SPT or EDD rule) for the single-machine problem. Finally, models and methods could be
developed for machines with multiple sleep-mode states. A more detailed description of
possible future research directions is provided below.

## 7.2.1 Reliability Study with Machine Setup

Turning on and off the machine might accelerate the decrease in reliability of a machine
resulting from mechanical shocks. Further research can be conducted to determine the trade
off between machine wear due to repeated on/off cycles and energy savings. A model could
be developed and included in the energy usage minimization framework to capture the effect
of turning on/off the machine on its reliability.

## Maintenance is performed to increase the life of a machine/resource. Usually as machines

age, due to wear and tear, they begin to consume more energy to perform the required tasks.
Either a reactive maintenance (i.e., machines are repaired when a breakdown occurs) or a
preventive maintenance is required. If there is more than one machine to be maintained when
a breakdown occurs, the machine with the highest expected cost is scheduled for preventative
maintenance. However, the cost function used in these problems are usually associated with
lost production and/or scheduling performance. Energy consumption, which is an increasing
function of the age of the machine, is usually not considered in the total cost. Moreover,
energy cost can be associated with machine breakdown to account for possible repair energy,

124
energy lost in possible production of defects. Another model would then be needed to handle
this specific maintenance problem.
Another problem consists of scheduling a maintenance team to work on the preventive
maintenance of different machines in order to minimize both usual cost function and overall
energy consumption. This maintenance model could be included in the general framework
to schedule efficiently the maintenance team. The maintenance activity would be ordered
according to the model to minimize the total cost (i.e., production gains, energy cost, and
maintenance costs). Tam et al.  elaborate a maintenance scheduling model with the
objective of minimizing total cost associated with material replacement, production lost due
to breakdown, and maintenance cost on a single machine. The outcome of their evolutionary
algorithm is a schedule of the preventive maintenance and machine replacement.
Cassady and Kutanoglu  integrate maintenance scheduling and production scheduling
in a single model to minimize total weighted expected completion time on a single machine.
Their model is single objective and is based on the probability of failure and the effect of
preventive maintenance on the failure probability. Kubzin and Strusevich  also integrate
the preventive maintenance activity in the production scheduling for the two-machine open
shop and flow shop problems. However, they only consider a single preventive maintenance
action in which time interval depends on the start of the action.
To go further, a single model could be developed with objectives of minimizing total
expected completion time or total expected tardiness with total energy consumption for
scheduling as well as maintenance. The solution of the problem would be a schedule of jobs
as well as a schedule of the preventive maintenance actions on the machine.

## 7.2.3 Simple Heuristics to Generate Approximate Pareto Solutions

Dispatching rules are heuristics, which are easy to implement and fast to calculate, and
can be used in real time to schedule jobs. Moreover, dispatching rules are not as CPU
consuming as exact algorithms or metaheuristics. Two applications for dispatching rules

125
generating a pareto front for multiple objectives can be listed: The first application is in
embedded wireless systems. Dispatching rules can quickly provide a pareto front while con-
suming less computational power compared to metaheuristics. The second application is for
companies who do not have either expertise or software to implement complex metaheuris-
tics. On the shop floor, easy-to-implement dispatching rules could be utilized to obtain an
approximation of the pareto front of a multiobjective problem. The set of solutions in the
approximate pareto front could then be reduced to one or two solutions based on the decision-
maker’s preferences using multiobjective selection methods. In the last chapter, dispatching
rules were developed to obtain an approximate pareto front to the parallel multi-machine
scheduling problem. However, dispatching rules need to be developed and analyzed for the
single-machine problem and other types of scheduling problem, including energy as an ob-
jective to minimize when orders come over time. The performance of these dispatching rules
against metaheuristics such as MOGA needs to be tested in order to find “good” dispatching
rules. In summary, these methods might be very beneficial to obtain a pareto front in real
time for multiobjective online scheduling problems.

## In Chapter 6, a multi-machine model to minimize total completion time, total energy

consumption, and deviation from load balancing is proposed. However, this model only
applies to parallel machines which may be identical or non-identical. Another scheduling
model needs to be developed to solve scheduling problems with multiple machines in series.
A specific framework for minimizing energy usage as well as other scheduling objectives
needs to be designed for this problem. The single machine framework and the multi-machine
framework (parallel or serial machines) can eventually be used together in an environment
where some processes can be done on several machines (parallel or serial) and other processes
can only be executed on a specific machine.

126
Even more energy savings could be achieved by considering the flow of the product from
machine to machine and considering the production of a part as a system. Thus, scheduling
in the whole system will be an opportunity for more energy savings.

## 7.2.5 Multiple Sleep-Mode States

Developing machines with multiple sleep-mode states and a specific controller for those
machines may result in significant energy savings. In this environment, the lower power
modes would have different warm-up times and warm-up energy, and would cancel out the
negative effects of turning on and off the machine. Mobile devices such as cell phones or
laptop computers are already equipped with different sleep-mode states (i.e., standby mode,
hibernate mode, screen off mode, etc.). The reason to have multiple sleep modes in embedded
systems is to extend the battery life by reducing energy consumption. The same principle
could be applied to manufacturing equipment to reduce energy usage. Each sleep mode
would have a different warm-up time, warm-up energy, and idle energy consumption, which
would eliminate the constraint of having no time for a setup between two jobs. The method
would have to be used with new machines that are equipped with multiple sleep-mode states.
Swaminathan and Chakrabarty  developed algorithms for saving energy on embedded
and portable systems. They compared those algorithms on an existing production system. In
their work, tasks on embedded systems use more than one device of the system and generally
cannot be delayed and have deadlines. The algorithms take as input a list of I/O devices for
each task and generate the states of the devices. Usually, the device can stand in more than
one energy state. In the first algorithm they develop, only two states are considered, working
or sleeping. The second algorithm considers multiple states in which more than one sleeping
mode exists, each consuming less energy than the previous one. Transitions between states
take a certain amount of time that is smaller than the time to perform a task. In the first
algorithm, whenever a task starts, all the devices that are not used by this task and the next
one are shut down. The devices that are not used by the current tasks, but may be used by

127
the next one, are turned off, only if the switch energy is lower than the idle energy. When
a task is completed, the same decision has to be made knowing the release date of the next
task. The multi-state algorithm uses the same logic with multiple power states. It generates
a set of states for the devices that are more efficient but the difference in savings compared
to the other algorithm is not large. Since release dates and processing times are known, the
problem can be solved on a computer and the set of states loaded in the embedded system.
The authors illustrate that the battery life on those systems can be doubled by the use of
such algorithms.
For example, the single-machine scheduling problem with m multiple state modes with re-
lease dates can be studied. Suppose the objectives are to minimize total energy consumption
and total completion time. Suppose also that the machine can go only from a sleep-mode
state to the active mode, not from a sleep-mode state to another sleep-mode state. The
parameters of this problem are as follows:

## • Powerprocessing : processing power of the machine (hp)

• Energyssetup : setup energy of the machine to go and come back from sleep mode s
(hp.sec)

s
• Tsetup : setup time of the machine to go and come back from sleep mode s (sec)

## • cj : completion time of job j

 1 if job j follows job i

• yij =
 0 otherwise

128

 1 if job j follows job i and there is a setup of type s between i and j

• Sijs =
 0 otherwise

The following model can be used to solve the multiple sleep-mode states scheduling problem
described above:
Minimize total completion time:

n
X
min cj (7.1)
j=1

## Minimize total energy consumption:

n
X n
X
min (cj − pj − ci yij ) ∗ Powersidle ∗ (1 − Sijs ) (7.2)
j=1 i=1
| {z }
Idle energy
n X
X n X
m n
X
+ Sijs ∗ Energyssetup + pj ∗ Powerprocessing
i=1 j=1 s=1 j=1
| {z } | {z }
Setup energy P rocessing energy

## The constraints are defined as follows:

cj − pj ≥ rj ∀j = 1...n (7.3)

## cj , yij , Sijs ≥ 0 (7.6)

This model is not linear but could be linearized to obtain a mixed-integer linear program.
Also, the model could be extended to the multi-machine scheduling problem, either in series
or in parallel. This model could also be solved using a multiobjective genetic algorithm. The
chromosomes could be defined as a string for the job order and a string specifying the kind of
setup between two consecutive jobs. For example, [2 1 4 3]+[1 2 0] represents a chromosome
with 4 jobs. The jobs are processed in the order 2, 1, 4, and 3, and there is a setup of type

129
1 (to sleep mode state 1) between job 2 and job 1. There is also a setup of type 2 (to sleep
mode state 2) between job 1 and job 4. Finally, there is no setup between job 4 and job 3.
With the information contained in the chromosome, the model would be reduced to a simple
multiobjective linear program that could be solved quickly.

130
REFERENCES

131
REFERENCES

 Aiex, R. M., Binato, S., and Resende, M. G. C. (2001). Parallel GRASP with path-
relinking for job shop scheduling. Parallel Computing, ATT Labs Research Technical
Report.
 Akturk, M. S., Ghosh, J. B., and Gunes, E. D. (2003). Scheduling with tool changes
to minimize total completion time: a study of heuristics and their performance. Naval
Research Logistics, 50(1), pp. 15-30.
 Akturk, M. S., and Yildirim, M. B. (1998). A new lower bounding scheme for the total
weighted tardiness problem. Computers and Operations Research, 25(4), pp. 265-278.
 Akturk, M. S., and Yildirim, M. B. (1999). A new dominance rule for the total weighted
tardiness problem. Production Planning and Control, 10(2), pp. 138-149.
 Arguello, M. F., and Bard, J. F. (1997). A GRASP for aircraft routing in response to
groundings and delays. Journal of Combinatorial Optimization, 5, pp. 211-228.
 Armentano, V. A., and Araujo, O. C. B. (2006). Grasp with memory-based mechanisms
for minimizing total tardiness in single machine scheduling with setup times. Journal
of Heuristics, 12(6), pp. 427-446.
 Asiedu, Y., and Gu, P. (1998). Product life cycle cost analysis: state of the art review.
International Journal of Production Research, 36, pp. 883-908.
 Binato, S., Hery, W. J., Loewenstern, D. M., and Resende, M. G. C. (2000). A greedy
randomized adaptive search procedure for job shop scheduling. Essays and Surveys in
Metaheuristics, ATT Labs Research Technical Report.
 Botros, K. K., and Sennhauser, D. J. (2004). Effects of dynamic penalty parameters on
the convergence of MOGA in optimization of a large pipeline network. Proceedings ot
the 10th American Institute of Aeronautics and Astronautics Multidisciplinary Analysis
and Optimization Conference.
 Cassady, C. R., and Kutanoglu, E. (2005). Integrating preventive maintenance plan-
ning and production scheduling for a single machine. IEEE Transactions on Reliability,
54(2), pp. 304-309.
 Chambers, R. J., Carraway, R. L., Lowe, T. J., and Morin, T. L. (1991). Dominance
and decomposition heuristics for single machine scheduling. Operations Research, 39(4),
pp. 639-647.
 Chand, S., Traub, R., and Uzsoy, R. (1997). Rolling horizon procedures for the single
machine deterministic total completion time scheduling problem with release dates.
Annals of Operations Research, 70, pp. 115-125.
 Chen, B., Jamieson, K., Balakrishnan, H., and Morris, R. (2002). Span: An energy-
efficient coordination algorithm for topology maintenance in ad hoc wireless networks.
Wireless Networks, 8, pp. 481-494.
 Chiasserini, C. F., and Rao, R. R. (2001). Energy efficient battery management. IEEE
Journal on Selected Areas in Communications, 19(7), pp. 1235-1245.
 Chu, C. (1992). A branch-and-bound algorithm to minimize total flow time with un-
equal release dates. Naval Research Logistics, 39, pp. 859-875.

132
 Chu, C. (1992). A branch-and-bound algorithm to minimize total tardiness with dif-
ferent release dates. Naval Research Logistics, 39, pp. 265-283.
 Chu, C.,P and Portmann, M. C. (1992). Some new efficient methods to solve the
n|1|ri | Ti scheduling problem. European journal of operational research, 58, pp. 404-
413.
 Cochran, T. K., Horng, S. M., and Fowler, J. W. (2003). A multi-population genetic al-
gorithm to solve multi-objective scheduling problems for parallel machines. Computers
& Operations Research, 30, pp. 1087-1102.
 CPLEX, http://www.ilog.com/products/cplex, 2007.
 Crauwels, H. A. J., Potts, C. N., and Van Wassenhove, L. N. (1997). Local search
heuristics for single machine scheduling with batch set-up times to minimize total
weighted completion time. Annals of Operations Research, 70, pp. 261-279.
 Dahmus J. B., and Gutowski, T. C. (2004). An environmental analysis of machining.
Proceedings of 2004 ASME International Mechanical Engineering Congress and RD&D
Expo, November 13-19, Anaheim, CA.
 Drake, R., Yildirim, M. B., Twomey, J., Whitman, L., Ahmad, J., and Lod-
hia, P. (2006). Data collection framework on energy consumption in manufactur-
ing.Proceedings of 2006 IERC, Orlando, FL.
 Du, J., and Leung, J. Y. T. (1990). Minimizing total tardiness on one machine is
NP-hard. Mathematics of Operations Research, 15(3), pp. 483-495.
 Duman, E., and Yildirim, M. B. (2007). Scheduling continuous aluminium casting
lines. International Journal of Production Research, accepted for publication.
 Elmaghraby, S. E. (1968). The one machine sequencing problem with delay costs.
Journal of Industrial Engineering, 19, pp. 105-108.
 Emmons, H. (1969). One-machine sequencing to minimize certain functions of job
tardiness. Operation Research, 17, pp. 701-715.
2005.
 Energy Information Administration - Annual Energy Review 2004, retrieved May 2,
2006, from http://www.eia.doe.gov/emeu/aer/consump.html.
 Fallek, M. (2004). Energy management strategies strengthen the bottom line. Manu-
facturing Engineering , 133(4), pp. 14-19.
 Fatemi Ghomi, S. M. T., and Jolai Ghazvini, F. (1998). A pairwise interchange al-
gorithm for parallel-machine scheduling. Production Planning amd Control, 9(7), pp.
685-689.
 Fiat, A., and Woeginger, G. J. (1999). On-line scheduling on a single machine: Mini-
mizing the total completion time. Acta Informatica, 36, pp. 287-293.
 Fowler, J. W., Horng, S. M., and Cochran, J. K. (2003). A hybridized genetic algo-
rithm to solve parallel-machine scheduling problems with sequence dependent setups.
International Journal of Industrial Engineering, 10(3), pp. 232-243.

133
 Flexible Energy Inc., Energy Review Fall 2001, retrieved September 3, 2007, from
http://www.flexibleenergy.com/html/trends.html.
 Fonseca, C. M., and Flemming, P. J. (1993). Genetic algorithms for multiobjective
optimization: formulation, discussion and generalization. Proceedings of the Fifth In-
ternational Conference on Genetic Algorithms, pp. 416-423.
 Glover, F., Taillard, E., and de Werra, D. (1993). A user’s guide to tabu search. Annals
of Operations Research, 41(1-4), pp. 3-28.
 Graham, R. L., Lawler, E. L., Lenstra, J. K., and Rinnooy Kan, A. H. G. (1979).
Optimization and approximation in deterministic sequencing and scheduling: a survey.
Annals of Discrete Mathematics, 5, pp. 287-326.
 Graves, S. C. (1981). A review of production scheduling. Operation Research, 29(4),
pp. 646-675.
 Gungor, A., and Gupta, S. M (1999). Issues in environmentally conscious manufac-
turing and product recover: A survey. Computers and Industrial Engineering , 36, pp.
811-853.
 Gupta, A. K., Sivakumar, A. I. (2005). Multi-objective scheduling of two-job families
on a single machine. Omega, 33(5), pp. 399-405.
 Gutowski, T., Murphy, C., Allen, D., Bauer, D., Bras, B., Piwonka, T., Sheng, P.,
Sutherland, J., Thurston, D., and Wolff, E. (2005). Environmentally benign manufac-
turing: observations from Japan, Europe and the United States. Journal of Cleaner
Production, 13, pp. 1-17.
 Hariri, A. M. A., Potts, C. N., and Uzsoy, R. (1983). An algorithm for single machine
sequencing with release dates to minimize total weighted completion times. Discrete
Applied Mathematics, 5, pp. 99-109.
 He, T., Krishnamurthy, S., Stankovic, J. A., Abdelzaher, T., Luo, L., Stoleru, R.,
and Gu, L. (2004). Energy-efficient surveillance system using wireless sensor networks.
ACM MobiSys, pp. 270-283.
 Hoogeveen, H. (2005). Multicriteria scheduling. European Journal of Operation Re-
search, 167, pp. 592-623.
 Hyun, C. J., Kim, Y., and Kin, Y. K. (1998). A genetic algorithm for multiple objective
sequencing problems in mixed model assembly. Computers & Operations Research, 25,
pp. 675-690.
 Jackson, J. R. (1955). Scheduling a production line to minimize maximum tardiness.
Management Sciences Research Project, UCLA.
 Jayaraman, V. (2006). Production planning for closed-loop supply chains with prod-
uct recovery and reuse: An analytical approach.International Journal of Production
Research, 44, pp. 981-998.
 Jones, C. E., Sivalingam, K. M., Agrawal, P., and Chen, J. C. (2001). A survey of
energy efficient networks protocols for wireless networks. Wireless Networks, 7, pp.
343-358.
 Jones, D. F., Mirrazavi, S. K., and Tamiz, M. (2002). Multi-objective meta-heuristics:
an overview of the current state-of-the-art. European Journal of Operational Research,
137(1), pp. 1-9.

134
 Kirkpatrick, S., Gelatt Jr., C. D., and Vecchi, M. P. (1983). Optimization by Simulated
Annealing. Science, 220(4598), pp. 671-680.
 Kordonowy, D. N. (2002). A power assessment of machining tools. Bachelor of Science
Thesis in Mechanical Engineering, Massachusetts Institute of Technology, Cambridge,
Massachusetts.
 Koulamas, C. (1994). The total tardiness problem: review and extensions. Operation
Research, 42(6), pp. 1025-1041.
 Kubzin, M. A., and Strusevich, V. A. (2006). Planning machine maintenance in two-
machine shop scheduling. Operations Research, 54(4), pp. 789-800.
 Laguna, M., and Velarde, J. L. G. (1971). A search heuristic for just-in-time scheduling
in parallel machines. Journal of Intelligent Manufacturing, 2, pp. 253-260.
 Lambert, A. J. D. (2003). Disassembly sequencing: A survey. International Journal of
Production Research, 41, pp. 3721-3759.
 Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimize
total tardiness. Annals of Discrete Mathematics, 1, pp. 331-342.
 Lawler, E. L., and Wood, D. E. (1966). Branch-and-bound methods: A survey. Oper-
ations Research, 14(4), pp. 699-719.
 Lee, C. Y., and Yu, G. (2007). Parallel-machine scheduling under potential disruption.
Optimization Letters, 2, pp. 27-37.
 Lenstra, J.K., Rinnooy Kan, A. H. G., and Brucker, P. (1977). Complexity of machine
scheduling problems. Annals of Discrete Mathematics, 1, pp. 343-362.
 MacCarthy, B. L., and Liu, J. (1993). Addressing the gap in scheduling research: A
review of optimization and heuristics methods in production scheduling. International
Journal of Production Research, 31(1), pp. 59-79.
 Marler, R. T., and Arora, J. S. (2004). Survey of multi-objective optimization methods
for enginnering. Structural and Multidisciplinary Optimization, 26, pp. 369-395.
 Martin, E. T., and Crossley, W. A. (2002). Empirical study of selection method for
multiobjective genetic algorithm. American Institute of Aeronautics and Astronautics,
0177.
 Matlab, http://www.mathworks.com, 2002.
 Mellor, P. (1966). A review of job shop scheduling. Operational Research Quaterly, 17,
pp. 161-171.
 Mendes, A. S., Muller, F. M., Frana, P. M., and Moscato, P. (2002). Comparing meta-
heuristic approaches for parallel-machine scheduling problems. Production Planning
and Control, 13(2), pp. 143-154.
 Ceciliano Meza, J. L., Yildirim, M. B., and Masud, A. S. M. (2007). A model for the
multiperiod multiobjective power generation expansion problem. IEEE Transactions
on Power Systems, 22(2), pp. 871-878.
 Montoya-Torres, J. R. (2003). Competitive analysis of a better on-line algorithm to
minimize total completion time on a single-machine. Journal of Global Optimization,
27, pp. 97-103.

135
 Mouzon, G., Yildirim, M. B., and Twomey, J. (2007). Operational methods for the
minimization of energy consumption of manufacturing equipment. International Jour-
nal of Production Research, 45(18-19), pp. 4247-4271.
 Murata, T., Ishibuchi, H., and Tanaka, H. (1996). Multi-objective genetic algorithm
and its application to flowshop scheduling. Computers and Industrial Engineering, 30,
pp. 957-68.
 Nawaz, M., and Enscore, E. E. (1983). A heuristic algorithm for the m-machine, n-job
flow shop sequencing problem. Omega, 11, pp. 91-95.
 Pinedo, M. (2005). Planning and Scheduling in Manufacturing and Services. Springer,
New York, USA.
 Potts, C. N., and Van Wassenhove, L. N. (1982). A decomposition algorithm for the
single machine total tardiness problem. Operations Research Letters, 1, pp. 177-181.
 Potts, C. N., and Van Wassenhove, L. N. (1985). A branch and bound algorithm for
the total weighted tardiness problem. Operations Research, 33(2), pp. 363-377.
 Potts, C. N., and Van Wassenhove, L. N. (1987). Dynamic programming and decom-
position approaches for the single machine total tardiness problem. European Journal
of Operational Research, 32(3), pp. 405-414.
 Prabhaharan, G., Khan, B. S. H., and Rakesh, L. (2006). Implementation of GRASP
in flow shop scheduling. International Journal of Advanced Manufacturing Technology,
30, pp. 1126-1131.
 Rajakumar, S., Arunachalam, V. P., and Selladurai, V. (2006). Workflow balancing
strategies in parallel-machine scheduling. International Journal of Advanced Manufac-
turing Technology, 23, pp. 366-374.
 Rajakumar, S., Arunachalam, V. P., and Selladurai, V. (2006). Workflow balancing
in parallel-machine scheduling with precedence constraints using genetic algorithm.
Journal of Manufacturing Technology Management, 17(2), pp. 239-254.
 Rajendran, V., Obraczka, K., and Garcia-Luna-Aceves, J. J. (2006). Energy-efficient,
collision-free medium access control for wireless sensor networks. Wireless Networks,
12, pp. 63-78.
 Rakhmatov, D., and Vrudhula, S. (2003). Energy management for battery-powered
embedded systems. ACM Transactions on Embedded Computing Systems, 2(3), pp.
277-324.
 Resende, M. G. C., and Ribeiro, C. C. (2002). Greedy randomized adaptive search
procedures, in State of the Arts Handbook on Metaheuristics, Kluwer.
 Robertson, A. J. (2001). A set of greedy randomized adaptive local search procedure
(GRASP) implementations for the multidimensional assignment problem. Computa-
tional Optimization and Applications, 19, pp. 145-164.
 Rocha, P. L., Ravetti, M. G., and Mateus, G. R. (2004). The metaheuristic GRASP
as an upper bound for a branch and bound in a scheduling problem with non-related
parallel machines and sequence-dependent setup times.
 Ross, M. (1992). Efficient energy use in manufacturing. Proceedings of the National
Academy of Sciences, USA, 89, pp. 827-831.

136
 Saaty, T. (1980). The Analytical Hierarchy Process. John Wiley, New York.
 Shwimer, J. (1972). On the n-job, m-machine, sequence-independent scheduling prob-
lem with tardiness penalties: A branch and bound solution. Management Science,
18(B), pp. 301-313.
 Sen, T., Sulek, J. M., and Dileepan, P. (2003). Static scheduling research to minimize
weighted and unweighted tardiness: A state-of-the-art survey. International Journal
of Production Economics, 83(1), pp. 1-12.
 Simunic, T., Benini, L., Glynn, P., and De Micheli, G. (2000). Dynamic power man-
agement for portable systems. MOBICOM.
 Simunic, T., Benini, L., and De Micheli, G. (2001). Energy-efficient design of battery-
powered embedded systems. IEEE Transactions on Very Large Scale Integration
(VLSI) Systems, 9(1), pp. 15-28.
 Smith, W. E. (1956). Various optimizers for single-state production. Naval Research
Logistics Quarterly, 3, pp. 59-66.
 Srinivas, M., and Patnaik, L. M. (1994). Genetic algorithms: A survey. Computer,
27(6), pp. 17-26.
 Steur, R.E. (1986). Multiple Criteria Optimization: Theory, Computation, and Appli-
cation. Krieger Publishing Company.
 Swaminathan, V., and Chakrabarty, K. (2003). Energy-conscious, deterministic I/O
device scheduling in hard real-time systems. IEEE Transactions on Computer-Aided
Design of Integrated Circuits and Systems, 22, pp. 847-858.
 Tacconi, L., and Rodwell, L. (2000). Biodiversity and Ecological Economics - Participa-
tion, Values and Resource Management. Earthscan Publications Ltd, 120 Pentonville
Road London N1 9JN UK. 254, USA.
 Tam, A. S. B., Chan, W. M., and Price, J. W. H. (2007). Maintenance scheduling to
support the operation of manufacturing and production assets. International Journal
of Advanced Manufacturing Technology, 34, pp. 399-405.
 Tamaki, H., Nishino, E., and Abe, S. (1999). A genetic algorithm approach to multi-
objective scheduling problems with earliness and tardiness penalties. Proceedings of
the 1999 Congress on Evolutionary Computation, 1.
 Tan, Z. Y., and He, Y. (2007). Linear time algorithms for parallel-machine scheduling.
Acta Mathematica Sinica, 23(1), pp. 137-146.
 Tang, L., and Luo, J. (2006). A new ILS algorithm for parallel-machine scheduling
problems. Journal of Intelligent Manufacturing, 17(5), pp. 609-619.
 Tavakkoli-Moghaddama, R., Rahimi-Vaheda, A., and Mirzaeib, A. H. (2007). A hy-
brid multi-objective immune algorithm for a flow shop scheduling problem with bi-
objectives: weighted mean completion time and weighted mean tardiness. Information
Sciences, 177(22), pp. 5072-5090.
 The Cadmus Group, (1998). Regional Electricity Emission Factors Final Report.
 Tiwari, A., Ballal, P., and Lewis, F. L. (2007). Energy-efficient wireless sensor network
design and implementation for condition-based maintenance. ACM Transactions on
Sensor Networks, 3(1), pp. 1-23.

137
 Tiwari, V., Malik, S., and Wolfe, A. (1994). Power analysis of embedded software:
a first step towards software power minimization. IEEE Transactions on Very Large
Scale Integration (VLSI) Systems, 2(4), pp. 437-445.
 Turkcan, A., and Akturk, M. S. (2003). A problem space genetic algorithm in multi-
objective optimization. Journal of Intelligent Manufacturing, 14(3-4), pp. 363-378.
 Twomey, J., Yildirim, M. B., Whitman, L., Liao, H., and Ahmad, J. (2007). Energy
profiles of manufacturing equipment for reducing consumption in a production setting.
Working paper, Wichita State University.
 Van Veldhuizen, D. A., and Lamont, G.B. (2000). On measuring multiobjective evo-
lutionary algorithm performance. Proceedings of the 2000 Congress on Evolutionary
Computation, 1, pp. 204-211.
 Vianna, D. S., and Arroyo, J. E. C. (2004). A GRASP algorithm for the multi-objective
knapsack problem. XXIV International Conference of the Chilean Computer Science
Society, pp. 69-75.
 Wu, H., Ravindran, B., Jensen, E. D., and Li, P. (2006). Energy-efficient, utility accrual
scheduling under resource contraints for mobile embedded systems. ACM Transactions
on Embedded Computing Systems, 5(3), pp. 513-542.
 Yildirim, M. B., Duman, E., Krishna, K., and Senniappan, K. (2007). Paralell machine
scheduling with load balancing and sequence dependent setups. International Journal
of Operations Research, 4(1), pp. 42-49.
 Yuan, W., and Nahrstedt, K. (2003). Energy-efficient soft real-time CPU scheduling
for mobile multimedia systems. ACM SOSP’03, pp. 149-163.
 Zitzler, E. (1999). Evolutionary Algorithms for Multiobjective Optimization. PhD the-
sis. Swiss Federal Institute of Technology, Zurich.
 Zitzler, E., and Thiele, L. (1998). Multiobjective optimization using evolutionary al-
gorithms - a comparative case study. Proceedings of Parallel Problem Solving from
Nature, 5th International Conference, Amsterdam, The Netherlands, pp. 292-310.

138
APPENDIX

139
APPENDIX A

MATHEMATICAL MODEL

## MOTETC, described in Chapter 3, needs a transformation to become a linear program-

ming model. In the first step, the first objective, equation (3.1), needs to be transformed
into a linear objective. This can be done by simply adding two sets of constraints, equa-
tions (A.3) and (A.4), and two new continuous variables, α and β. The constraints and the
minimization objective function will ensure that α = maxj cj and β = minj cj :

n
X n
X
min (α − β) ∗ Poweridle − yjk (A.1)
c,y,α,β,z,a,x
j=1 k=16=j
n
X
min cj (A.2)
c,y,α,β,z,a,x
j=1

α ≥ cj ∀j = 1...n (A.3)

β ≤ cj ∀j = 1...n (A.4)

In the second step, the last set of constraints, equation (3.5), is transformed using mixed-
integer programming tricks, where M is a big constant:

## cj − ck ≥ pj − M (1 − zkj ), ∀j = 1...n ∀k = 1...n 6= j (A.6)

140
In a third step, the if constraints, equation (3.4), can be rewritten to obtain the following
set of constraints:

## cl − ck − K(1 − aljk ) ≤ Bx3jkl , ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k (A.9)

X X
(yjk − (((ck − pk ) − cj ) ∗ Poweridle − Energysetup )) ≤ B(2n − 3 − x1jk − x2jkl − xjkl3 ),
l l

(A.10)

## ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k

X X
(−yjk + (((ck − pk ) − cj ) ∗ Poweridle − Energysetup )) ≤ B(2n − 3 − x1jk − x2jkl − x3jkl ),
l l

(A.11)

## yjk ≤ B(1 − x6jkl ), ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k (A.17)

Finally, b1j , b2j , zkj , aljk , x1jk , x2jkl , x3jkl , x4jk , x5jkl , x6jkl , α, and β are added as integers
and continuous variables.

141