0 views

Uploaded by Wilson Nieves

.

- How to work with Look.doc
- 11_ModB_LinearProg
- IJET-V3I6P9
- 06_25_Ersilio Tushaj _ Full Paper _ NRA CSIT 2017
- 1-s2.0-S036054421730049X-main
- Freight Transportation
- 16.Mech - IJMPERD - Prediction -Full
- Hybrid Approch to Improve Performance
- Automate Trade-Off Between Time and Cost in Planning Repetitive Construction Projects
- CIM paper
- Darshan Singh Thakur
- A Multi-Stage Supply Chain Network Optimization Using Genetic Algorithms
- load shedding
- Ice Cream Manufacturing
- Algoritmos Genéticos
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The requested URL could not be retrieved</TITLE> <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE> </HEAD><BODY> <H1>ERROR</H1> <H2>The requested URL could not be retrieved</H2> <HR noshade size="1px"> <P> While trying to process the request: <PRE> TEXT http://www.scribd.com/titlecleaner?title=Air-Bearing+Design+Based+on+Global.pdf HTTP/1.1 Host: www.scribd.com Proxy-Connection: keep-alive Accept: */* Origin: http://www.scribd.com X-CSRF-Token: 27e69068026b811de98773874f57d25f7309ebb2 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 X-Requested-With: XMLHttpRequest Referer: http://www.scribd.com/upload-document?archive_doc=572934
- 01338525
- Optimizing the Architecture of Artificial Neural Networks in Predicting Indian Stock Prices
- 2_1_35-46
- Production Planning & Control

You are on page 1of 157

A Dissertation by

Gilles Mouzon

Bachelor of Science, Universite Catholique de Louvain, 2005

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.

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

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

TABLE OF CONTENTS

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

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

TABLE OF CONTENTS (CONT.)

Chapter Page

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

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

TABLE OF CONTENTS (CONT.)

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

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

TABLE OF CONTENTS (CONT.)

Chapter Page

7 CONCLUSIONS AND FUTURE RESEARCH . . . . . . . . . . . . 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

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

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

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.)

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

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

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.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.5 Number of non-dominated solutions in the pareto front issued from dispatch-

ing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

xi

LIST OF FIGURES

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

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

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.8 Measure of performance of two sets of solutions representing the same pareto

front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

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

xii

LIST OF FIGURES (CONT.)

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.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

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

6.2 General steps in determining a pareto front for the mutiobjective MOPMS

problem using a genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . 104

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

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

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

xiii

LIST OF NOTATIONS

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

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.)

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 [82].

In the United States, the industrial sector consumes approximately 34% of all energy, 3.4%

of which is electricity[28].

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

Energy costs for U.S. manufacturers is $100 billion annually [27], 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 [33]. The

concern over energy consumption is heightened by the fact that the majority of sources are

nonrenewable [92], 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 [98].

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

leading trade publication for manufacturing engineering states that understanding the facil-

ities history of energy use can impact the bottom line [29]. 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 [38]. Gutowski et al. [40] 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 [50] 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 [21] and Drake et al. [22] 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. [22] 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 [102]. 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. [22]. 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 [7], 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.

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:

consumption and a scheduling criteria:

(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).

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).

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) [83]. 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.

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 [37], 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) [56], or metaheuristics, such as the

genetic algorithm (GA) [89], the greedy randomized adaptive search procedure (GRASP)

[79], simulated annealing (SA) [49], or tabu search [35], 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.

Single-machine, single-objective problems have been studied in depth for various objec-

tives. In a single-machine setting, Mellor [63] 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.

• 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).

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

11

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

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.

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 [18] 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 [70]. 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 [51].

According to Chand et al. [12], 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

[15], and by Hariri et al. [41]. 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. [20] 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 [31] and Montoya-Torres [66] 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 [51], 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 [23]. Some of the exact

P

solution algorithms to solve 1|| ti include dynamic programming [73] and B&B methods

[72]. 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 [45]. 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 [16], and Chu and Portmann [17] using a B&B

algorithm and a heuristic approach, respectively. The B&B algorithm described by Chu [16]

can solve problems with 30 to 230 jobs, depending on the tightness of the due dates and the

range of the release dates.

and embedded electronic systems. For example, Swaminathan and Chakrabarty [91] 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. [100] 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 [78]. 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 [107]. However, Wu et al. [105] implement a heuristic for

real-time scheduling under time and resource constraints considering the mobile device as

a whole. Chiasserini and Rao [14] 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. [47] 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. [99] 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.

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.

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 [30] developed an algorithm based on pairwise interchanges to approximately solve

Pm ||cmax in quadratic times. Tan and He [95] 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 [96].

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 [64], 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 [57] 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. [106] 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 [24] 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 [75]: Rajakumar et al. [76] 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. [106] define load balancing to be the difference between the

total processing times on one machine and the average processing time per machine.

As early as the 50s, Operation Research practitioners started to apply optimization theory

and methods to scheduling problems [59]. 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 [59], 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 [19] and MATLAB [62].

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

[84]. A survey and more details on B&B can be found in Lawler and Wood’s work [56].

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 [70].

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 [67] 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 [89]).

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 [79].

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 [74] and GRASP shows generally better results on benchmark problems than the

Nawaz-Enscore heuristic [69], 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 [6]. 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 [81]. GRASP is also used in airline

scheduling [5] 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 [53]. Even outside the scheduling range of problem, GRASP has been used to solve

many kinds of combinatorial optimization problems such as assignment problems [80].

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 [11].

21

2.5 Multiobjective Scheduling

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 [60] 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 [83]

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

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.

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 [43]. 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. [94] study the parallel-machine scheduling problem to

minimize both earliness and tardiness using a genetic algorithm. Tavakkoli-Moghaddam et

al. [97] analyze the minimization of weighted mean completion time and weighted mean

tardiness in a flow shop environment. Gupta and Sivakumar [39] 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.

The parallel-machine scheduling problem with multiple objectives has not been widely

studied in the literature. Murata et al. [68] 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. [18] 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. [68]

for the same problem. However, the VEGA tends to provide solutions that are superior in

one objective and poor in other objectives.

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 [61].

Van Veldhuizen and Lamont [103] provide a detailed literature review on MOGA. Turkcan

and Akturk [101] 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. [65] 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 [9] 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 [109]. More performance measures

are presented in [108]. 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 [48]. After 2002, a few

multiobjective problems have been solved using GRASP such as the multiobjective knapsack

problem [104].

turing Equipment

Mouzon et al. [67] 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. [22] (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 [22]

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.,

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. [22].

The following results were observed for the dispatching rules proposed by Mouzon et al.

[67]:

• 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 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. [67] 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

COMPLETION TIME ON A SINGLE MACHINE USING A

MULTIOBJECTIVE GENETIC ALGORITHM

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.

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 [58].

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,

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.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 [83].

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)

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.

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 [103] provide a detailed literature review on MOGA. Turkcan

and Akturk [101] 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. [65] 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 [109]. Other performance

measures are presented in [108].

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

35

3.4.1 Representation of Solutions

(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.

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.

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 ≥ 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 [90]. 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.

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

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):

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.

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 [34]. 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 )

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.

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.

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 [109]. 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.

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.

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

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.

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.

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

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

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.

In this section, two methods to decrease the computational time of MOGATETC are

presented. A heuristic and some dominance rules are presented below.

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.

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.

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 [70], 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.

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

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)

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.

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 )

In the 1970s, Saaty developed the Analytic Hierarchy Process [83] 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 [83].

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.75Ŝ11 + 0.25Ŝ12 i

) + 0.14Ŝ2i + 0.57 ∗ (0.66Ŝ31 i

+ 0.33Ŝ32 ) (3.14)

where

max(S2i ) − S i

0≤ Ŝ2i = ≤1

max(S2i ) − min(S2i )

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

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

TOTAL TARDINESS ON A SINGLE MACHINE USING A GREEDY

RANDOMIZED ADAPTIVE SEARCH PROCEDURE

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

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 [58]. 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.

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 [58].

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 [83].

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)

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

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 [53]. It is also applied to

minimize total tardiness on a single machine with setup times [6]. 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 [48]. An

example of a multiobjective GRASP involves the multiobjective knapsack problem [104].

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:

CONSTRUCT a candidate solution s

Do a LOCAL SEARCH around the candidate solution s.

maximum CPU time, and it converges to a near-optimal pareto front. The details of the

GRASPTETT algorithm are discussed below.

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

( 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 , α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

[90].

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.

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:

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 [6] 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

“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 [83]. 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.

The decision-maker needs to provide pairwise comparisons between the criteria and sub-

criteria using a scale such as the one defined by Saaty [83] 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.

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

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.75Ŝ11 + 0.25Ŝ12 ) + 0.08Ŝ2i

i i i i i

+ 0.14 ∗ (0.67Ŝ31 + 0.33Ŝ32 ) + 0.39 ∗ (0.54Ŝ41 + 0.30Ŝ42 + 0.16Ŝ43 ) (4.15)

where

max(S2i ) − S i

0 ≤ Ŝ2i = ≤1

max(S2i ) − min(S2i )

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 [16]. 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.

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 [108]. 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

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

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

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

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

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.

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.

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.

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

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

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 ()

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.

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

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 [58].

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 [83]. 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.

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. [36]. 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:

98

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

k

• Tsetup : setup time of machine k (sec)

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

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

Minimize deviation from load balancing:

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 [75]. 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

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:

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

n

X

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

i=1

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

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)

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.

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

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.

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 )]

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.

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

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

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

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 [18].

In the genetic algorithm literature, it has been observed that good initial solutions may

lead to better solutions faster [32]. 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:

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

In this procedure, an assignment rule and an ordering rule are utilized in two different

strategies, P1 and P2:

1. P1

(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.

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:

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.

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.

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. [44].

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

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.

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

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 ()

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).

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.

Factor Level Description

IAT

p High 5

Low 2

TB

p High 4

Low 2

Number of jobs High 100

Low 30

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.

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.

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.

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

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

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:

proposed for single and multi-machine scheduling problems.

• A multiobjective genetic algorithm based on fitness function and one based on random

weights is proposed to solve multiobjective scheduling problems.

solve multiobjective problems.

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.

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.

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.

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. [93] 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 [10] 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 [52] 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.

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.

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.

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 [91] 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:

• 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)

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

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

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

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

[1] 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.

[2] 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.

[3] 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.

[4] 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.

[5] 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.

[6] 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.

[7] 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.

[8] 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.

[9] 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.

[10] 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.

[11] 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.

[12] 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.

[13] 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.

[14] Chiasserini, C. F., and Rao, R. R. (2001). Energy efficient battery management. IEEE

Journal on Selected Areas in Communications, 19(7), pp. 1235-1245.

[15] 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

[16] Chu, C. (1992). A branch-and-bound algorithm to minimize total tardiness with dif-

ferent release dates. Naval Research Logistics, 39, pp. 265-283.

[17] 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.

[18] 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.

[19] CPLEX, http://www.ilog.com/products/cplex, 2007.

[20] 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.

[21] 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.

[22] 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.

[23] 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.

[24] Duman, E., and Yildirim, M. B. (2007). Scheduling continuous aluminium casting

lines. International Journal of Production Research, accepted for publication.

[25] Elmaghraby, S. E. (1968). The one machine sequencing problem with delay costs.

Journal of Industrial Engineering, 19, pp. 105-108.

[26] Emmons, H. (1969). One-machine sequencing to minimize certain functions of job

tardiness. Operation Research, 17, pp. 701-715.

[27] Energy Facts, retrieved from http://www.solarenergy.org/resources/energyfacts.html,

2005.

[28] Energy Information Administration - Annual Energy Review 2004, retrieved May 2,

2006, from http://www.eia.doe.gov/emeu/aer/consump.html.

[29] Fallek, M. (2004). Energy management strategies strengthen the bottom line. Manu-

facturing Engineering , 133(4), pp. 14-19.

[30] 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.

[31] 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.

[32] 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

[33] Flexible Energy Inc., Energy Review Fall 2001, retrieved September 3, 2007, from

http://www.flexibleenergy.com/html/trends.html.

[34] 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.

[35] 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.

[36] 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.

[37] Graves, S. C. (1981). A review of production scheduling. Operation Research, 29(4),

pp. 646-675.

[38] 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.

[39] Gupta, A. K., Sivakumar, A. I. (2005). Multi-objective scheduling of two-job families

on a single machine. Omega, 33(5), pp. 399-405.

[40] 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.

[41] 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.

[42] 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.

[43] Hoogeveen, H. (2005). Multicriteria scheduling. European Journal of Operation Re-

search, 167, pp. 592-623.

[44] 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.

[45] Jackson, J. R. (1955). Scheduling a production line to minimize maximum tardiness.

Management Sciences Research Project, UCLA.

[46] 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.

[47] 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.

[48] 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

[49] Kirkpatrick, S., Gelatt Jr., C. D., and Vecchi, M. P. (1983). Optimization by Simulated

Annealing. Science, 220(4598), pp. 671-680.

[50] Kordonowy, D. N. (2002). A power assessment of machining tools. Bachelor of Science

Thesis in Mechanical Engineering, Massachusetts Institute of Technology, Cambridge,

Massachusetts.

[51] Koulamas, C. (1994). The total tardiness problem: review and extensions. Operation

Research, 42(6), pp. 1025-1041.

[52] Kubzin, M. A., and Strusevich, V. A. (2006). Planning machine maintenance in two-

machine shop scheduling. Operations Research, 54(4), pp. 789-800.

[53] 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.

[54] Lambert, A. J. D. (2003). Disassembly sequencing: A survey. International Journal of

Production Research, 41, pp. 3721-3759.

[55] Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimize

total tardiness. Annals of Discrete Mathematics, 1, pp. 331-342.

[56] Lawler, E. L., and Wood, D. E. (1966). Branch-and-bound methods: A survey. Oper-

ations Research, 14(4), pp. 699-719.

[57] Lee, C. Y., and Yu, G. (2007). Parallel-machine scheduling under potential disruption.

Optimization Letters, 2, pp. 27-37.

[58] 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.

[59] 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.

[60] Marler, R. T., and Arora, J. S. (2004). Survey of multi-objective optimization methods

for enginnering. Structural and Multidisciplinary Optimization, 26, pp. 369-395.

[61] Martin, E. T., and Crossley, W. A. (2002). Empirical study of selection method for

multiobjective genetic algorithm. American Institute of Aeronautics and Astronautics,

0177.

[62] Matlab, http://www.mathworks.com, 2002.

[63] Mellor, P. (1966). A review of job shop scheduling. Operational Research Quaterly, 17,

pp. 161-171.

[64] 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.

[65] 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.

[66] 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

[67] 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.

[68] 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.

[69] 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.

[70] Pinedo, M. (2005). Planning and Scheduling in Manufacturing and Services. Springer,

New York, USA.

[71] 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.

[72] 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.

[73] 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.

[74] 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.

[75] 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.

[76] 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.

[77] 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.

[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.

[79] Resende, M. G. C., and Ribeiro, C. C. (2002). Greedy randomized adaptive search

procedures, in State of the Arts Handbook on Metaheuristics, Kluwer.

[80] 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.

[81] 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.

[82] Ross, M. (1992). Efficient energy use in manufacturing. Proceedings of the National

Academy of Sciences, USA, 89, pp. 827-831.

136

[83] Saaty, T. (1980). The Analytical Hierarchy Process. John Wiley, New York.

[84] 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.

[85] 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.

[86] Simunic, T., Benini, L., Glynn, P., and De Micheli, G. (2000). Dynamic power man-

agement for portable systems. MOBICOM.

[87] 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.

[88] Smith, W. E. (1956). Various optimizers for single-state production. Naval Research

Logistics Quarterly, 3, pp. 59-66.

[89] Srinivas, M., and Patnaik, L. M. (1994). Genetic algorithms: A survey. Computer,

27(6), pp. 17-26.

[90] Steur, R.E. (1986). Multiple Criteria Optimization: Theory, Computation, and Appli-

cation. Krieger Publishing Company.

[91] 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.

[92] 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.

[93] 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.

[94] 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.

[95] Tan, Z. Y., and He, Y. (2007). Linear time algorithms for parallel-machine scheduling.

Acta Mathematica Sinica, 23(1), pp. 137-146.

[96] Tang, L., and Luo, J. (2006). A new ILS algorithm for parallel-machine scheduling

problems. Journal of Intelligent Manufacturing, 17(5), pp. 609-619.

[97] 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.

[98] The Cadmus Group, (1998). Regional Electricity Emission Factors Final Report.

[99] 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

[100] 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.

[101] 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.

[102] 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.

[103] 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.

[104] 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.

[105] 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.

[106] 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.

[107] Yuan, W., and Nahrstedt, K. (2003). Energy-efficient soft real-time CPU scheduling

for mobile multimedia systems. ACM SOSP’03, pp. 149-163.

[108] Zitzler, E. (1999). Evolutionary Algorithms for Multiobjective Optimization. PhD the-

sis. Swiss Federal Institute of Technology, Zurich.

[109] 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

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:

140

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

set of constraints:

X X

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

l l

(A.10)

X X

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

l l

(A.11)

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

and continuous variables.

141

- How to work with Look.docUploaded bybhaveshkumar78
- 11_ModB_LinearProgUploaded byAkshay Jiremali
- IJET-V3I6P9Uploaded byInternational Journal of Engineering and Techniques
- 06_25_Ersilio Tushaj _ Full Paper _ NRA CSIT 2017Uploaded byErsilio Tushaj
- 1-s2.0-S036054421730049X-mainUploaded byteorikdeli
- Freight TransportationUploaded byHuong Thu Vuong
- 16.Mech - IJMPERD - Prediction -FullUploaded byTJPRC Publications
- Hybrid Approch to Improve PerformanceUploaded byRenuka
- Automate Trade-Off Between Time and Cost in Planning Repetitive Construction ProjectsUploaded byhyari2011
- CIM paperUploaded byDevarakonda Kondayya
- Darshan Singh ThakurUploaded byDarshan Singh Thakur
- A Multi-Stage Supply Chain Network Optimization Using Genetic AlgorithmsUploaded byAlexander Decker
- load sheddingUploaded byteja
- Ice Cream ManufacturingUploaded byMostafa Abd El Alem
- Algoritmos GenéticosUploaded byTony Walle
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The requested URL could not be retrieved</TITLE> <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE> </HEAD><BODY> <H1>ERROR</H1> <H2>The requested URL could not be retrieved</H2> <HR noshade size="1px"> <P> While trying to process the request: <PRE> TEXT http://www.scribd.com/titlecleaner?title=Air-Bearing+Design+Based+on+Global.pdf HTTP/1.1 Host: www.scribd.com Proxy-Connection: keep-alive Accept: */* Origin: http://www.scribd.com X-CSRF-Token: 27e69068026b811de98773874f57d25f7309ebb2 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 X-Requested-With: XMLHttpRequest Referer: http://www.scribd.com/upload-document?archive_doc=572934Uploaded byDeepak Sharma
- 01338525Uploaded byLakshmi Kumari
- Optimizing the Architecture of Artificial Neural Networks in Predicting Indian Stock PricesUploaded byIntegrated Intelligent Research
- 2_1_35-46Uploaded bysheetal taneja
- Production Planning & ControlUploaded bydrashti
- Opportunity CostUploaded byPrashant Bhardwaj
- GAUploaded byRiza Nindiana Valery
- Manufacturing Systems TutorialsUploaded byKUDZANAYI
- Studies in Chemical Process Design and Synthesis_PartII_Optimal Synthesis of Dynamic Process Systems with uncertainty.pdfUploaded byMarco Ravelo
- Krajewski Om9 Ppt SuppJUploaded byAsadChishti
- Activity TypeUploaded bySaumil Trivedi
- soal optimasiUploaded byJesica Elsi
- Geometric programming for circuit optimization.pdfUploaded byAnonymous rsGzBBiqk
- SchedulingUploaded byGlenPalmer
- JMF_2018021316201992Uploaded byryu alfaiz

- eficiencia 1Uploaded byWilson Nieves
- Prueba MetrologiaUploaded byWilson Nieves
- Formato de Inscripción FORUM 2018Uploaded byWilson Nieves
- 280083342-Calculo-de-Tiempos-de-Soldadura.pdfUploaded byMauricio Javier Pérez Torres
- PRUEBAS DE CORROSION.pdfUploaded byWilson Nieves
- DECANTER CENTRIFUGE HANDBOOK.docxUploaded byWilson Nieves
- Folleto Prototipos de EnergíaUploaded byWilson Nieves
- TanqueUploaded byWilson Nieves
- Lista de Documentos ISO 9001 ISO 14001 Paquete Documentacion Integrado ESUploaded byWilson Nieves
- EjemploUploaded byWilson Nieves
- Tabla de ProtocolosUploaded byWilson Nieves
- asrt9ugbw34uoUploaded byWilson Nieves
- Lista_de_Documentos_ISO_9001_ISO_14001_Paquete_Documentacion_Integrado_ES.pdfUploaded byEmmanuel Molina
- Alcance Del Sistema de Gestion de Calidad 2018Uploaded byWilson Nieves
- Alcance Del Sistema de Gestion de Calidad 2018Uploaded byWilson Nieves
- Alcance Del Sistema de Gestion de Calidad 2018Uploaded byWilson Nieves

- Cl AutopartsgarudaUploaded byGaruda Impex
- The Great U.S. Fiat Currency FRAUDUploaded byin1or
- The Simple Way to Build and Extend SAP Fiori and SAPUI5 ApplicationsUploaded bySawer
- Effect of Alloying Elements on Steel Properties [SubsTech]Uploaded byhguptabhel
- The Capital Asset Pricing Model (CAPM) the History of a Failed Revolutionary Idea in FinanceUploaded byBhuwan
- Muslim Holidays and Regular HolidayUploaded byyanyaners
- Attachment 2Uploaded byjoshibec
- e215c BrochureUploaded byPrueba
- Hastelloy C-276Uploaded byPankaj Rane
- IS 8536 - 1987Uploaded bylogonwheeler
- Nit InUploaded byraviroshan2talk
- Deidre Scott ResumeUploaded byDeidre Scott
- Director Imaging Healthcare Administrator in El Paso TX Resume Maria RamosUploaded byMariaRamos2
- X-Comp2013Uploaded byShung Tak Chan
- ButterflyventilermedaktuatorUploaded byLuca Dal Ben
- Standard Magnesium Corporation, Whose Principal Office is at Tulsa, Oklahoma v. Otto Fuchs, K. G. Metallwerke, Whose Principal Office is at Meinerzhagen(westfalen) Germany, 251 F.2d 455, 10th Cir. (1957)Uploaded byScribd Government Docs
- China’s cement industry towards sustainabilityUploaded byhijzain
- Introduction to computers.pptUploaded byta_1091
- Mark6006CRM Course Outline S12014 Ver 4-2Uploaded byechozhang
- Peza1Uploaded byJoan Plete-Ko
- Glossary of Business Terms CssUploaded byDanyal Dareshani
- Quality Manager, Quality Engineer, Operations ManagerUploaded byapi-121840891
- When Zero Ps Epa is Not EnoughUploaded bysmills9999
- 2011 04 Confined Space Entry Work Plan.docx GooodUploaded byabid
- IBE imnUploaded byVinay Prasad
- Accenture Payment Services v2Uploaded byPraveen
- Case Digest LaborUploaded byXtine CampuPot
- Advanced File Permission in LinuxUploaded byG.R.THIYAGU ; Oracle DBA
- How we build a carUploaded byvinu198500
- TDS - Masterseal 406Uploaded byVenkata Rao