operational methods and models for minimization of energy

157
OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY CONSUMPTION IN A MANUFACTURING ENVIRONMENT A Dissertation by Gilles Mouzon Master in Engineering Management, Wichita State University, 2006 Bachelor of Science, Universite Catholique de Louvain, 2005 Submitted to the Department of Industrial and Manufacturing Engineering and the faculty of the Graduate School of Wichita State University in partial fulfilment of the requirements for the degree of Doctor of Philosophy May 2008

Upload: others

Post on 03-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OFENERGY CONSUMPTION IN A MANUFACTURING ENVIRONMENT

A Dissertation by

Gilles Mouzon

Master in Engineering Management, Wichita State University, 2006

Bachelor of Science, Universite Catholique de Louvain, 2005

Submitted to the Department of Industrial and Manufacturing Engineeringand the faculty of the Graduate School of

Wichita State Universityin partial fulfilment of

the requirements for the degree ofDoctor of Philosophy

May 2008

Page 2: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

c© Copyright 2008 by Gilles Mouzon,

All Rights Reserved

Page 3: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGYCONSUMPTION IN A MANUFACTURING ENVIRONMENT

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

Mehmet Bayram Yildirim, Committee Chair

We have read this thesis and recommend its acceptance:

Abu Masud, Committee Member

Janet Twomey, Committee Member

Haitao Liao, Committee Member

Coskun Cetinkaya, Committee Member

Accepted for the College of Engineering

Zulma Toro-Ramos, Dean

Accepted for the Graduate School

Susan K. Kovar, Dean

iii

Page 4: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 5: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

ABSTRACT

This dissertation develops operational methods for minimization of energy consumption of

manufacturing equipments. Using the frameworks developed, a significant amount of energy

can be saved when non-bottleneck and/or underutilized machines/equipment are turned off

during a long idle time.

In this dissertation, mathematical models are developed for multiobjective problems (on

single or parallel machines) with minimization of a scheduling criteria and minimization

of total energy consumption. Metaheuristics approaches have been developed to solve the

resulting mathematical models. Genetic algorithm, greedy randomized adaptive search pro-

cedure, and hybrid metaheuristic based approaches are utilized to obtain good approximate

sets of non-dominated solutions in reasonable amount of time for different optimization

problems. The decision-maker can use the results from these frameworks to plan for energy

efficient production. The methods to obtain an approximate pareto front is combined with

a selection method such as the Analytic Hierarchy Process to obtain a full schedule that

minimizes other secondary objectives.

Further research includes studying the reliability of the machine under repeated turned-

off and turned-on. Also a maintenance model could be developed to include the energy

minimization framework. This additional model would be useful in scheduling a maintenance

team with the objective of decreasing the costs associated with breakdowns including the

energy-related cost. Another area of interest might be on developing a model to minimize

energy consumption and scheduling objectives for machines with multi-state sleep modes.

v

Page 6: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

TABLE OF CONTENTS

Chapter Page

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

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Scope, Goals, and Objective of the Dissertation . . . . . . . . . . . . . . . . 51.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 Summary of Modeling Contributions . . . . . . . . . . . . . . . . . . 61.3.2 Algorithmic Contributions . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

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

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Single-Objective and Single-Machine Scheduling . . . . . . . . . . . . . . . . 11

2.2.1 Minimization of Total Completion Time . . . . . . . . . . . . . . . . 122.2.2 Minimization of Total Tardiness . . . . . . . . . . . . . . . . . . . . . 142.2.3 Minimization of Energy Consumption . . . . . . . . . . . . . . . . . . 15

2.3 Single-Objective Parallel-Machine Scheduling . . . . . . . . . . . . . . . . . . 162.3.1 Minimization of Completion Time Objectives . . . . . . . . . . . . . 162.3.2 Minimization of Deviation from Load Balancing . . . . . . . . . . . . 18

2.4 Single-Objective Solution Methods . . . . . . . . . . . . . . . . . . . . . . . 182.4.1 Exact-Solution Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 192.4.2 Heuristics Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5 Multiobjective Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.2 Multiobjective Single-Machine Scheduling Optimization . . . . . . . 232.5.3 Multiobjective Parallel-Machine Scheduling . . . . . . . . . . . . . . . 23

2.6 Multiobjective Optimization Solution Methods . . . . . . . . . . . . . . . . . 242.7 Dispatching Rules for Minimization of Energy Consumption of Manufacturing

Equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.8 Application in Different Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 282.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 MINIMIZATION OF TOTAL ENERGY CONSUMPTION AND TOTALCOMPLETION TIME ON A SINGLE MACHINE USING AMULTIOBJECTIVE GENETIC ALGORITHM . . . . . . . . . . . . 29

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Mathematical Model for Minimization of Energy Consumption and Total

Completion Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

vi

Page 7: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

TABLE OF CONTENTS (CONT.)

Chapter Page

3.4 Solution to MOTETC or MOTETCMILP Using a Genetic Algorithm . . . . 343.4.1 Representation of Solutions . . . . . . . . . . . . . . . . . . . . . . . 363.4.2 Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.3 Obtaining Approximate Pareto Front of a Chromosome Using Linear

Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4.6 Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.7 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.8 Stopping Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.5.1 Choosing Best Crossover Rate . . . . . . . . . . . . . . . . . . . . . 433.5.2 Choosing Generation Size . . . . . . . . . . . . . . . . . . . . . . . . 443.5.3 Choosing Optimal Number of Generations . . . . . . . . . . . . . . . 443.5.4 Choosing Radius σ in Fitness Function that Uses Niches . . . . . . . 463.5.5 Comparing Fitness Functions . . . . . . . . . . . . . . . . . . . . . . 46

3.6 Increasing the Speed of MOGATETC . . . . . . . . . . . . . . . . . . . . . . 473.6.1 Heuristic to Obtain Pareto Front for Each Chromosome . . . . . . . . 483.6.2 Utilizing Dominance Rules to Eliminate Some Chromosomes . . . . . 49

3.7 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.7.1 Comparison of Methods for Solving MOTETCLP . . . . . . . . . . . 543.7.2 Selection of an Alternative Using Analytic Hierarchy Process . . . . . 56

3.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4 A FRAMEWORK TO MINIMIZE TOTAL ENERGY CONSUMPTIONAND TOTAL TARDINESS ON A SINGLE MACHINE USING AGREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURE . . 60

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.3 Mathematical Model for Minimization of Total Energy Consumption and To-

tal Tardiness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.4 Solution to MOTETT via a Greedy Randomized Adaptive Search Procedure 66

4.4.1 Evaluation of Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 674.4.2 Construction Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.4.3 Local Search Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.5 Analytic Hierarchy Process to Select Best Alternative from Approximate ParetoFront . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.6 GRASPTETT Parameter Tuning . . . . . . . . . . . . . . . . . . . . . . . . 764.7 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

vii

Page 8: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

TABLE OF CONTENTS (CONT.)

Chapter Page

5 A COMPARISON OF MULTIOBJECTIVE GENETIC ALGORITHMSAND GRASP ON SINGLE-MACHINE SCHEDULING PROBLEMS . 82

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.1.1 Multiobjective GRASP to Solve TECTC . . . . . . . . . . . . . . . . 835.1.2 Multiobjective Genetic Algorithm to Solve TECTT . . . . . . . . . . 835.1.3 Multiobjective Optimization Using the Combined MOGA and MO-

GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.2 Computational Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . 85

5.2.1 Measure of Performance . . . . . . . . . . . . . . . . . . . . . . . . . 855.2.2 Determining Number of LPs to be Solved in MOGA and GRASP . . 865.2.3 Experimental Design for TECTCT . . . . . . . . . . . . . . . . . . . 865.2.4 Experimental Design for TECTT . . . . . . . . . . . . . . . . . . . . 90

5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6 A MULTICRITERIA APPROACH FOR PARALLEL-MACHINESCHEDULING WITH LOAD BALANCING, TOTAL ENERGYCONSUMPTION, AND TOTAL COMPLETION TIME OBJECTIVES 94

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.3 Mathematical Model for Minimization of Energy Consumption, Total Com-

pletion Time, and Deviation from Load Balancing on Parallel Machines . . . 986.4 Solution Procedure to MOPMS . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.4.1 Chromosome Representation . . . . . . . . . . . . . . . . . . . . . . . 1036.4.2 Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.4.3 Selection Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.4 Crossover Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.5 Mutation Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.4.6 Evaluation of a Chromosome . . . . . . . . . . . . . . . . . . . . . . . 1066.4.7 Initial Population Fine-Tunning . . . . . . . . . . . . . . . . . . . . . 108

6.5 Computational Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.5.1 Performance Measure . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.6 Comparison of Performance of GAPMS with Random Initial Population andSpecific Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6.7 Forming Pareto Front with Dispatching Rules . . . . . . . . . . . . . . . . . 1146.8 Performance of GAPMS-I . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

viii

Page 9: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

TABLE OF CONTENTS (CONT.)

Chapter Page

7 CONCLUSIONS AND FUTURE RESEARCH . . . . . . . . . . . . 122

7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.2.1 Reliability Study with Machine Setup . . . . . . . . . . . . . . . . . . 1247.2.2 Maintenance Scheduling with Energy Concerns . . . . . . . . . . . . 1247.2.3 Simple Heuristics to Generate Approximate Pareto Solutions . . . . . 1257.2.4 Multi-Machine, Multiobjective Scheduling with Energy Concerns . . . 1267.2.5 Multiple Sleep-Mode States . . . . . . . . . . . . . . . . . . . . . . . 127

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

APPENDIX

A. MATHEMATICAL MODEL . . . . . . . . . . . . . . . . . . . . 140

ix

Page 10: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF TABLES

1.1 Data on machine utilizations in a small-sized industry (the given data is alower bound on % of an eight-hour shift for potential energy savings over allmachines) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

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

3.2 Performance depending on crossover rates and number of jobs n . . . . . . . 44

3.3 Performance depending on number of individuals in a generation and numberof jobs n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4 Performance depending on number of generations and number of jobs n . . 45

3.5 Performance depending on σ and number of jobs n . . . . . . . . . . . . . . 46

3.6 Performance depending on the fitness function . . . . . . . . . . . . . . . . . 47

3.7 CPU time with and without dominance rules . . . . . . . . . . . . . . . . . 53

3.8 Comparison of different algorithms in the proposed MOGA . . . . . . . . . . 55

3.9 AHP scaling parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.10 Ten best alternatives and their criteria value . . . . . . . . . . . . . . . . . . 58

4.1 Saaty scale used for pairwise comparisons of criteria . . . . . . . . . . . . . . 74

4.2 AHP parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.3 Performance depending on parameter α and number of jobs n with β=0.05 . 78

4.4 Performance depending on parameter α and number of jobs n with β=0.25 . 78

4.5 Performance depending on parameter α and number of jobs n with β=0.5 . . 78

4.6 Case study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1 Performance of GRASPTECTC depending on the parameter α and the num-ber of jobs n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

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

x

Page 11: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF TABLES (CONT.)

5.3 Performance depending on the number of individuals in a generation, thenumber of jobs n and β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.4 Performance depending on the number of generations, the number of jobs nand β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.5 Performance depending on σ, the number of jobs n and β . . . . . . . . . . . 85

5.6 Optimization of the number of LPs in MOGA . . . . . . . . . . . . . . . . . 87

5.7 Optimization of the number of LPs in GRASP . . . . . . . . . . . . . . . . . 87

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

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

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

5.11 Pairwise comparisons of four algorithms using the experimental design for theTECTT 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 machinesproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

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

6.3 Comparison between GAPMS-I (1) and GAPMS-R (2) . . . . . . . . . . . . 114

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

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

6.6 Experimental design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

6.7 ANOVA for 23 factorial design and M1 . . . . . . . . . . . . . . . . . . . . . 118

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

xi

Page 12: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF FIGURES

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

1.2 Usable electrical energy as a percentage of total energy consumed by conven-tional generation and delivery via the utility grid . . . . . . . . . . . . . . . 2

2.1 Power plot for CNC mill machine [22] . . . . . . . . . . . . . . . . . . . . . . 26

3.1 Feasible and non-dominated solutions to the three-job problem . . . . . . . . 32

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

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

3.4 Chromosomes representing order of jobs and setups . . . . . . . . . . . . . . 36

3.5 Crossover Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.6 Mutation Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

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

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

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

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

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

3.12 Pareto fronts for a 50-random-jobs problem from GATETCnodomLP (blue +)

and GATETCnodomheur (red ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.13 AHP hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1 Feasible and non-dominated solutions to the two-job problem . . . . . . . . . 64

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

xii

Page 13: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF FIGURES (CONT.)

4.3 Multiobjective GRASP algorithm (GRASPTETT) . . . . . . . . . . . . . . . 68

4.4 Illustration of the distance between a solution and the non-dominatedsolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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.6 AHP hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

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

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

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

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

6.1 Feasible and non-dominated solutions to the 4 jobs with 2 machinesproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

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

6.3 Chromosomes representing assignment to machines, order of jobs, andsetups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6.4 Performance of having/not having a good initial population depending on thenumber of iterations for problem 2 . . . . . . . . . . . . . . . . . . . . . . . 114

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

6.6 Half-normal plot for 23 factorial design and M1 output . . . . . . . . . . . . 118

6.7 Interaction plots for model and M1 . . . . . . . . . . . . . . . . . . . . . . . 119

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

xiii

Page 14: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF NOTATIONS

cj Completion time of job j

Cj Completion time of job at position j

cmax Maximum completion time

dj Due date of job j

Dj Due date of job at position j

pj Processing time of job j

Pj Processing time of job at position j

rj Release date of job j

Rj Release date of job at position j

R′j 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

Page 15: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF ABBREVIATIONS

AHP Analytic Hierarchy Process

B&B Branch and Bound

DM Decision-Maker

EDD Earliest Due Date

GA Genetic Algorithm

GAPMS Genetic Algorithm Parallel-Machine Scheduling

GAPMS-I Genetic Algorithm Parallel-Machine Scheduling - Initial

GAPMS-R Genetic Algorithm Parallel-Machine Scheduling - Random

GRASP Greedy Randomized Search Procedure

GRASPTETT Greedy Randomized Search Procedure Total Energy Total Tardiness

IP Integer Programming

LPT Longest Processing Time

MCDM Multi Criteria Decision Making

MIP Mixed-Integer Programming

MOGA Multiobjective Genetic Algorithms

MOGATETC Multiobjective Genetic Algorithm Total Energy Total Completion

MOGRASP Multiobjective Greedy Randomized Search Procedure

MOPMS Multiobjective Parallel-Machine Scheduling

MOPMSLP Multiobjective Parallel-Machine Scheduling Linear Program

MOTETC Multiobjective Total Energy Total Completion

MOTETCLP Multiobjective Total Energy Total Completion time Linear Program

MOTETCMILP Multiobjective Total Energy Total Completion time Mixed-IntegerLinear Program

MOTETT Multiobjective Total Energy Total Tardiness

MOTETTLP Multiobjective Total Energy Total Tardiness Linear Program

NP-hard Non-Polynomial-hard

xv

Page 16: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

LIST OF ABBREVIATIONS (CONT.)

PMS Parallel-Machine Scheduling

SA Simulated Annealing

SPT Shortest Processing Time

VEGA Vector-Evaluated Genetic Algorithm

WSPT Weighted Shortest Processing Time

xvi

Page 17: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 18: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Figure 1.2: Usable electrical energy as a percentage of total energy consumed by conventionalgeneration 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

Page 19: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 lowerbound on % of an eight-hour shift for potential energy savings over all machines)

Machine 1 Machine 2 Machine 3 Machine 4Idle + Break Time 23% 16% 28% 28%Idle + Break Energy Savings 23% 9% 14% 6%

3

Page 20: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 21: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

1.2 Scope, Goals, and Objective of the Dissertation

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

to minimize energy consumption in a manufacturing environment under different constraints

and scheduling preferences. The frameworks will be useful in minimizing energy in a single

or multiple machines environment where jobs have unequal release dates.

The methods which are developed use multiobjective theory to minimize energy usage as

well as other scheduling objectives. The goals of these frameworks are to provide production

managers with new energy-efficient methods that they can apply with their usual scheduling

objectives to plan jobs on machines and a framework on how to apply them into their actual

environment. The methods could also be applied to a computer, where processes must be

run to maximize the battery life. Virtually, these methods can be used with any equipment

that processes tasks with different release dates.

The proposed research includes extending the framework to machines with multiple sleep-

mode states and developing a maintenance program to minimize energy consumption under

resource constraints.

5

Page 22: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

1.3 Contributions

The objective of this dissertation is to develop and solve multiobjective problem with

scheduling objectives and a energy consumption objective. The contributions of this disser-

tation are as follows:

1. Mathematical models for multiobjective optimization problems to minimize energy

consumption and a scheduling criteria:

(a) Total completion time on a single machine.

(b) Total tardiness on a single machine.

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

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

posed research).

2. Algorithms

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

(b) Multiobjective greedy randomized adaptive search procedure or GRASP (for mod-

els 1.a and 1.b).

(c) A combination of a and b (for models 1.a and 1.b).

(d) Heuristics/dispatching rules (for model 1.c).

The different contributions of this work are summarized next.

1.3.1 Summary of Modeling Contributions

The consideration of energy consumption together with a scheduling objective while

planning jobs on a machine is the main contribution of this dissertation. The proposed

models include two or three objectives. The first model minimizes total completion time

and energy consumption under a set of constraints on a single machine. The second model

6

Page 23: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

minimizes total tardiness and energy consumption on a single machine. The last model

minimizes total energy consumption, total completion time, and load balancing on parallel

non-identical machines. All models are NP-hard. These models are useful in any industry

with machines that work beyond their capacity (i.e., they are not a bottleneck).

1.3.2 Algorithmic Contributions

When the models are developed, methods to solve those models need to be proposed in

order to find solutions belonging to the optimal pareto front. The multiobjective models

defined in this dissertation are NP-hard, complex, and time-consuming to solve. In order to

obtain quick, near-optimal solutions, metaheuristics are proposed for each model.

First, a genetic algorithm approximates the optimal pareto front when the scheduling ob-

jective is total completion time. Second, a multiobjective GRASP approach solves the model

with a total tardiness objective. In both cases, a framework to choose the right alternative

among the set of non-dominated solutions based on the decision-maker (DM) preferences

was designed based on the Analytic Hierarchy Process (AHP) [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.

1.4 Outline of Dissertation

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

scheduling, energy scheduling and multiobjective optimization. Single and multiobjective

scheduling models related to the problems solved in this dissertation are summarized. In

7

Page 24: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 25: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 26: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 27: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

was to increase the life of the battery. In a manufacturing environment, the objective is

related to cost savings since energy is usually a virtually unlimited resource.

The remainder of this chapter is organized as follows: The next section reviews the

single-objective scheduling literature and surveys total completion time, total tardiness, and

energy consumption objectives. Parallel-machine scheduling (PMS) is reviewed in section 3.

In section 4, methods to solve single-objective scheduling problems are presented. Section

5 defines multiobjective scheduling and its applications. Several methods to solve multiob-

jective optimization problems are reviewed in section 6. Section 7 summarizes dispatching

rules to minimize energy consumption in a manufacturing environment. Finally, energy

optimization applications in other fields are presented.

2.2 Single-Objective and Single-Machine Scheduling

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

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

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

• Total tardiness: sum of the tardiness of all jobs where the tardiness is defined as the

maximum of 0 and the lateness (due date minus release date).

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

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

The traditional constraints can be listed as:

• Two jobs cannot be processed at the same time.

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

11

Page 28: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

• Preemption may not be allowed.

Each job may have a release date, a processing time, and a due date. Some of those param-

eters might be stochastic.

Many of the scheduling problems, such as minimization of total completion time on a

single machine with release dates or minimization of total tardiness on a single machine

with release dates, etc., are not solvable in polynomial time (i.e., they are NP-hard). The

following sections provide a more detailed review on total completion time, total tardiness,

and total energy consumption objectives.

2.2.1 Minimization of Total Completion Time

One scheduling problem that is widely discussed in the literature is the minimization of

total completion time. Completion time of job i (ci) is when a machine finishes processing

that job. Total completion time is a measure of the total inventory holding cost for a given

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

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

Page 29: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

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-

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

Page 30: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

min∑n

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

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

(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

Page 31: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

2.2.3 Minimization of Energy Consumption

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

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

Page 32: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

2.3 Single-Objective Parallel-Machine Scheduling

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

grew, parallel machines were installed so that jobs could be processed faster to meet the

demand. Parallel-machine scheduling involves two types of decisions (assignment and se-

quencing), whereas single-machine scheduling only involves sequencing (i.e., finding the op-

timal sequence to process the jobs). Therefore, new scheduling methods and models have

been developed to solve the parallel-machine scheduling problems. Below, a summary of the

literature on parallel-machine scheduling problems, completion times objectives, and load

balancing is provided.

2.3.1 Minimization of Completion Time Objectives

In the literature, completion time objectives, such as makespan, are considered more

than any other criteria. In the case where preemption is allowed, the optimal makespan

is given by the maximum between the sum of the processing times divided by the number

of machines and the maximum processing time. However in the non-preemptive case, even

16

Page 33: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 34: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

2.4 Single-Objective Solution Methods

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

Page 35: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 36: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 37: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 38: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

2.5 Multiobjective Scheduling

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

suitable solution to a specific problem in which more than one objective is considered. Mul-

tiobjective optimization is an emerging area where no common techniques can be applied

to all applications such as in single-objective optimization. Note that in multiobjective op-

timization, there is not only one solution to the problem but a set of solutions, a pareto

optimal set.

2.5.1 Definitions

Marler and Arora [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:

minxf1(x), f2(x), ..., fm(x) (2.1)

gi(x) ≤ 0, ∀i = 1...n (2.2)

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

In this definition, m, n, and p are the number of objective functions, the number of inequality

constraints and the number of equality constraints, respectively. The goal is to find the set

of non-dominated solutions optimizing the m objectives over the constraint set. Usually in

multiobjective optimization, there is not a single optimal solution but a set of non-dominated

solutions. A feasible solution x is called a non-dominated solution if there is no other feasible

22

Page 39: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

2.5.2 Multiobjective Single-Machine Scheduling Optimization

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

tardiness, and throughput, may be considered simultaneously important when a scheduling

decision needs to be made. When more than one criterion is considered, usually, a multiob-

jective scheduling approach is utilized [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.

2.5.3 Multiobjective Parallel-Machine Scheduling

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

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

Page 40: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

2.6 Multiobjective Optimization Solution Methods

The methods based on evolutionary algorithms are the most popular for solving multi-

objective optimization problems. The genetic algorithm is part of the evolutionary family

methods. Many authors have studied the applications of the multiobjective genetic algo-

rithm in order to obtain an approximate pareto front in reasonable amount of time [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

Page 41: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

2.7 Dispatching Rules for Minimization of Energy Consumption of Manufac-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

Page 42: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 =Turn ON/OFF energy

Idle Power Consumption per unit time.

Let γ be the interarrival time between jobs and tOFF be the time required to turn off and

then turn on the machine. If γ ≥ max (S, tOFF ), 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

Page 43: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 production is postponed, the energy consumption may decrease.

• When the machine is not a bottleneck i.e., the machine utilization rate is not high

and the machine is not always processing a job, dispatching rules have the potential

to decrease energy usage significantly. Dispatching rules decreases the idle time sig-

nificantly at the expense of increasing the total number of setups. However, the total

idle and setup energy is decreased significantly when the machine is not a bottleneck.

• If the interarrival time until the next job is longer than the break-even duration, then

turning off the machine until the arrival of next job provides significant savings in

energy consumption.

Also, Mouzon et al. [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

Page 44: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 45: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

CHAPTER 3

MINIMIZATION OF TOTAL ENERGY CONSUMPTION AND TOTALCOMPLETION TIME ON A SINGLE MACHINE USING A

MULTIOBJECTIVE GENETIC ALGORITHM

This chapter proposes a mathematical model for minimization of energy consumption

and total completion time on a single machine. This problem has several applications in-

cluding scheduling in the manufacturing industry, and energy minimization in computers,

cell phones, sensors, etc. The mathematical model is solved via a multiobjective genetic

algorithm to obtain an approximate set of non-dominated alternatives since the resulting

problem is NP-hard. A decision-maker can select one of these solutions using the Analytic

Hierarchy Process. Different fitness functions and parameters depending on the problem’s

characteristics were tested using a design of experiment approach.

3.1 Introduction

The goal outlined in this chapter is to investigate the effect of the total completion time

objective on the total energy consumption objective in a singe-machine environment. This

problem is modeled as a multiobjective mixed-integer program. It is observed that this prob-

lem is extremely difficult to solve. As a result, a meta-heuristic approach, a multiobjective

genetic algorithm (Multiobjective Genetic Algorithm Total Energy Total Completion time

or MOGATETC) is utilized to obtain a set of alternative solutions-a pareto front, which can

be used by a manager to determine the most suitable solution that can be implemented. It

is assumed that the genetic algorithm solves a deterministic scheduling problem, i.e., release

dates and processing times of each job are known. Furthermore, energy consumption of the

machine when it is idle and turn-off/turn-on energy is known, as well as the duration of

setup.

MOGATETC will provide a solution for when to start each job and when to turn off/turn

on the machine. In the implementation of MOGA, a chromosome may represent more than

29

Page 46: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

one solution. In order to avoid considering all solutions related to a chromosome, some

heuristics are proposed to avoid unnecessary calculations to accelerate the algorithm.

First, a mathematical model is formulated as a multiobjective optimization problem

with corresponding constraints. The problem is then transformed to a linear mixed-integer

optimization problem. Next, the problem is solved using a MOGA. Performance measures are

developed to compare the set of non-dominated solutions from MOGATETC with different

parameters and fitness functions. Using these performance measures will determine the best

set of parameters and the fitness function for a given set of number of jobs, inter-arrival

time, and service time. Finally, an AHP technique is utilized for choosing the most suitable

solution among the solutions on the approximate pareto front obtained by MOGATETC.

3.2 Problem Definition

The single-machine scheduling problem with energy and total completion time objectives

has deterministic jobs arrival and service time. Also, preemption is not allowed, release dates

can be different from 0, and there is no precedence constraint. Note that this multiobjective

problem is NP-hard because one of the sub-problems that it solves (i.e., the scheduling

problem of minimizing total completion time with release dates) is NP-hard [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,

Powertip = Powerprocessing − Poweridle.

Furthermore, when machines are turned on or turned off, there is a fixed amount of energy

consumed (Energysetup). A turn-off and then turn-on operation sequence is defined as a

“setup.” Setups take at least a pre-defined amount of time (Tsetup). The break-even duration

(TB) is defined as the least amount of duration required for a turn-off/turn-on operation (i.e.,

30

Page 47: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

TB = max

(EnergysetupPoweridle

, Tsetup

).

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

Page 48: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Even the pareto front of an instance of the problem with three jobs is complex to identify.

The feasible solutions are represented in Figure 3.2 and the pareto front is highlighted.

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

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

This chapter proposes a framework to select the most appropriate solution from a set of

non-dominated solutions for minimization of total energy consumption and total completion

time. This framework involves two phases: a set of all efficient (non-dominated) solutions are

identified via a multiobjective genetic algorithm, and then a decision-maker must determine

the most appropriate solution to implement using a method like the Analytic Hierarchy

Process [83].

32

Page 49: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

3.3 Mathematical Model for Minimization of Energy Consumption and TotalCompletion Time

The multiobjective mathematical model to minimize total energy consumption and total

completion time on a single machine (MOTETC) can be summarized as:

min (maxjcj −min

jcj) ∗ Poweridle −

n∑j=1

n∑k=16=j

yjk (3.1)

minn∑j=1

cj (3.2)

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

If (((ck − pk)− cj) > TB and (job j precedes job k)) (3.4)

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

else yjk = 0, ∀j = 1...n, ∀k = 1...n 6= j

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

cj, yjk ≥ 0 (3.6)

where yjk is the total idle energy consumption between jobs j and k when there is a setup.

The total completion time objective is∑n

j=1 cj, and the total energy consumption can be

modeled as (maxj cj −minj cj) ∗Poweridle −∑n

j=1

∑nk=16=j yjk. In this formulation, the start

energy and stop energy at the very beginning and at the end after all jobs are completed, and

the tip energy (Energytip = Powertip∑n

j=1 pj) are ignored, since all of these events consume

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

Page 50: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

When this MIP is transformed into a linear mixed-integer program (see Appendix A),

the Multiobjective Total Energy Total Completion time Mixed-Integer Linear Program

(MOTETCMILP) has n + n(n− 1) + 2 continuous variables, 3n(n− 1) + 5n(n− 1)(n− 2)

integer variables, and 3n + 5n(n − 1) + 8n(n − 1)(n − 2) constraints, when the number of

jobs is n.

As noted, this multiobjective problem is NP-hard. As a result, an optimal solution

for MOTETCMILP cannot be found quickly. Thus, a multiobjective genetic algorithm

(MOGATETC) will be utilized to solve the MOTETCMILP. The advantage of metaheuristic

methods is that they may provide a good solution in a reasonable amount of time. Also, these

heuristics are very efficient when rescheduling is needed due to changes in the manufacturing

environment.

3.4 Solution to MOTETC or MOTETCMILP Using a Genetic Algorithm

The proposed multiobjective genetic algorithm provides a solution that has information

on when to start each job and when to turn off/turn on the machine. For solving the multi-

objective optimization problems, evolutionary methods have been utilized in the literature.

Van Veldhuizen and Lamont [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

Page 51: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 MOTETCproblem using a genetic algorithm

Below, the components of MOGATETC are described in detail.

35

Page 52: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

3.4.1 Representation of Solutions

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

(Figure 3.4). The first n cells represent the order of the jobs, and the last n − 1 cells show

whether there is a setup between two successive jobs; these cells have a value of 1 if there

is a setup, and 0 otherwise. For example, with four jobs, the chromosome [2 3 4 1]+[0 1

0] means that the jobs are processed in the order 2, 3, 4, and 1 and that there is a setup

between job 3 and job 4.

Figure 3.4: Chromosomes representing order of jobs and setups

Note that each chromosome may represent an infinite number of solutions: the inserted

idle time between successive jobs and the length of the setup (which is at least equal to the

“break-even setup duration” but can be longer) provide an infinite number of alternatives.

3.4.2 Initial Population

The initial population is randomly generated using the following procedure: the first part

of the chromosome containing the job’s number is a random permutation of the number from

1 to n. The second part, which contains the setups, is generated by first generating n − 1

numbers between 0 and 1, and then assigning a value of 0 if the generated number is below

0.5, and 1 if otherwise.

36

Page 53: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

min∑X

((Cj+1 − Pj+1)− Cj) ∗ Poweridle + Ω ∗ Energysetup (3.7)

minn∑j=1

Cj (3.8)

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

Cj+1 − Pj+1 ≥ Cj, ∀j = 1...n− 1 (3.10)

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

Cj ≥ 0 (3.12)

where Ω is the number of setups in the current solution, and X (X) is a set that contains i

if there is no (a) setup between the job at position i and the job at position i+ 1. Note that

in this formulation, Cj, Pj, and Rj indicate completion time, processing time, and release

date of the job in position j in the sequence defining the order of the jobs. Also, note that

equation (3.7) minimizes the total idle and setup energy. MOTETCLP can be solved by

combining the two objectives into a single objective by adding the weighted sum of both

objectives, i.e., the objective function for the weighted problem is

f(w1, w2) = w1f1 + w2f2 (3.13)

= w1

n∑j=1

Cj + w2

(∑X

((Cj+1 − Pj+1)− Cj) ∗ Poweridle + Ω ∗ Energysetup

)

37

Page 54: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 theweight method

job 1 2 3 4 5release date 1 2 9 5 7processing time 1 1 1 1 1

idle power 1setup time 5setup 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

Page 55: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

2. Retain the chromosome up to the crossover point for each parent. The other part after

the crossover point of the chromosome is ordered as it is ordered in the other parent.

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

4. Perform a one-point crossover in which part of the chromosome after the crossover

points is swapped to obtain the child chromosomes.

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

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

Figure 3.5: Crossover Operation

3.4.5 Mutation

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

the population of chromosomes from becoming too similar to each other and slowing the

evolution process. The mutation operation is defined as follows (Figure 3.6):

1. Randomly select two jobs.

2. Exchange the order of two jobs.

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

39

Page 56: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

Figure 3.6: Mutation Operation

3.4.6 Fitness Function

Fitness functions are utilized to determine the quality of solutions in the current pop-

ulation. A solution determines the order of jobs, whether or not there is a setup between

jobs, the amount of idle period between jobs, and the completion time of all jobs. Since a

chromosome may represent one or more solutions, the best measure of the fitness function

over the set of solutions that a chromosome represents is kept to evaluate the chromosome.

Two types of fitness functions may be used in the MOGATETC algorithm [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

fitness(Θlk) =1

rank(Θlk)=

1

1 + ]lk

40

Page 57: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

dij =

[2∑g=1

(f ig − f jg )2

fmaxg − fming )

] 12

In this definition, fmaxg and fming are the maximum and minimum values of the gth objectives

in the current generation, and f ig 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:

sharing(dij) = 1−(dijσ

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

fitness(Θli) =fitness(Θli)∑Nj=1 sharing(dij)

where N is the number of solutions.

41

Page 58: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

3.4.7 Selection

The next generation of chromosomes is obtained using the previous generation and chro-

mosomes generated via mutation and crossover operations. The best solution of a chromo-

some is kept to compete with the solutions of other chromosomes (according to the fitness

function). Finally, solutions from each chromosome are compared, and the new generation

is made with the best chromosomes according to the fitness function.

3.4.8 Stopping Criteria

The stopping criteria used is the maximum number of generations. When the algorithm

reaches this stage, the algorithm stops, and the approximate pareto-front is contained in the

current set of non-dominated solutions.

3.5 Experimental Setup

This section explains how MOGATETC is applied to examples with 10, 30, and 50 jobs

with an exponential inter-arrival rate of 10 seconds and an exponential processing time with

a mean of 3 seconds. The idle power, setup energy and setup time are set to 1 hp, 3 hp.sec,

and 5 seconds, respectively. The population size K for MOGATETC is assumed to be 15,

the number of generations 20, the rate for crossover 70% and the mutation rate 30%. Each

test is run ten times with the same parameters and the average is taken as the measure of

performance. Based on these values, the goal is to optimize the parameters of MOGATETC

one at a time. Also, the results for the two fitness functions based on rank and niches were

compared.

Note that optimizing one parameter by fixing the others may not be the best way to

determine the combination of parameters leading the algorithm to find the best set of non-

dominated solutions according to the measure of performance, analysis is not performed

with all possible combinations of crossover rates, number of individuals in a generation, and

42

Page 59: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

Figure 3.7: Measure of performance of a set of non-dominated solutions

3.5.1 Choosing Best Crossover Rate

Using the measure of performance explained above and MOGATETC with the fitness

function based on rank, results are compared using different rates of crossover from 0 to

1 by increasing the crossover rate by a step of 0.1 having 20 generations composed of 15

individuals. Since the optimal rates of crossover may vary with the number of jobs considered,

the experiment is run for a low, medium, and high (10, 30, and 50) number of jobs with a

43

Page 60: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

machine having the same characteristics. Table 3.2 shows that a crossover rate of 0.7 leads

to good results for the problems with a different number of jobs.

Table 3.2: Performance depending on crossover rates and number of jobs nCrossover Rate n = 10 (×104) n = 30 (×106) n = 50 (×106)

0 5.7010 1.1623 4.61110.1 6.9950 0.9220 3.20610.2 5.9536 0.8298 2.63800.3 6.1220 0.7591 3.67510.4 5.5373 0.8277 2.98870.5 5.4824 0.8530 3.21580.6 4.9475 0.8457 2.77290.7 4.5494 0.5250 2.24300.8 4.6399 0.5850 2.23960.9 4.9883 0.6562 3.02711 5.6492 0.7492 3.4624

3.5.2 Choosing Generation Size

The same type of experiment can be run to find the optimal number of individuals K

in a generation depending on the number of jobs to be processed. Again, the number of

generations is fixed at 20, and the rate of crossover found in the last section is utilized (0.7).

Table 3.3 shows that the best number of individuals is around 15 for the problems considered.

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

Number of Individuals n = 10 (×104) n = 30 (×106) n = 50 (×106)5 6.3961 1.3356 3.842610 5.7442 0.6180 3.763015 4.9387 0.5349 2.140520 5.3873 0.6358 2.114930 5.2640 0.7347 2.430540 5.4684 0.4853 2.432850 6.3059 0.6998 2.450660 7.3151 0.6361 2.575870 6.1843 0.4769 2.614880 7.0016 0.7210 2.719590 6.7124 0.7591 2.9670100 7.2672 0.7778 3.0163

44

Page 61: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

3.5.3 Choosing Optimal Number of Generations

Following the scheme to determine the best set of parameters, different experiments are

run on the algorithm with a varying number of generations P , while keeping the rate of

crossover and the number of individuals in a generation at their optimized numbers. Table

3.4 shows that the optimum number of generations is at the maximum number allowable, or

100. This result is logical because the more generations, the better the solution. However,

the number of generations is limited to 20 generations.

Table 3.4: Performance depending on number of generations and number of jobs nNumber of Generations n = 10 (×104) n = 30 (×105) n = 50 (×106)

5 8.3571 7.9401 4.745110 7.1347 6.5371 3.576815 5.3876 5.9738 3.043520 4.3810 5.3875 2.378730 4.2842 5.2490 2.292140 4.1465 5.0353 2.204850 4.1129 4.9745 2.187660 3.9935 4.9084 2.091070 3.9602 4.8859 2.065280 3.9148 4.6480 1.997890 3.8859 4.6298 1.9204100 3.8434 4.5924 1.8410

3.5.4 Choosing Radius σ in Fitness Function that Uses Niches

The second fitness function developed with the niches used a parameter σ which is the

radius of the circle that covers the non-dominated solution in a given area. MOGATETC

is run using the second fitness function with various σ while fixing the other parameters

at their optimum value determined by other experimentations. Table 3.5 shows that there

seems to be an optimum radius (σ) around 200 according to the measure of performance

considered.

45

Page 62: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.273125 8.6060 7.1092 3.100150 8.5035 6.7326 3.144675 7.4233 6.5814 4.2542100 7.6722 7.8930 3.2007125 5.9171 6.4495 2.9266150 7.1113 6.1353 3.5455175 6.4890 7.8460 2.5801200 4.8158 5.3296 2.4676225 5.6483 5.9829 2.7996250 5.2183 6.7172 2.8539275 6.9187 6.8130 2.9821300 5.5861 7.3407 3.3704

3.5.5 Comparing Fitness Functions

Given the optimal set of parameters, two fitness functions are compared using the same

parameters while varying the number of jobs. As can be seen in Table 3.6, the niche-

based fitness function has a slightly higher measure of performance each time. However, the

difference is not significant according to a t-test for any α (the significance level) greater

than 0.2%, and another performance measure should be used to measure the distribution of

the front since the second fitness function was developed in order to obtain a well-dispersed

pareto front. Also, for the same final pareto front, a set of points representing the pareto

front, will have a higher measure of performance if the points are spread out. Consider the

example in Figure 3.8, where the two different sets of points representing the same pareto

front have different measures of performance. The more spread out the set, the higher the

measure of performance. The area covered by the three rectangle points is obviously bigger

that the one covered by the three circle points.

When the values for the first measure of performance are almost the same, another

measure should be used to determine which pareto front is better. To measure “spread” of

the set representing the same pareto front, the solution space can be divided in a grid and

the number of grids utilized to cover all pareto solutions can be counted. The more grid

46

Page 63: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 3.6: Performance depending on the fitness functionNumber of jobs Rank based(×107) Niche based(×107)

5 0.0002 0.000210 0.0016 0.001715 0.0018 0.001920 0.0335 0.039425 0.0368 0.041930 0.0555 0.056235 0.0490 0.050340 0.1683 0.170745 0.2036 0.206650 0.3120 0.337555 0.4509 0.466660 0.5718 0.574265 0.6187 0.633370 0.8653 0.888675 1.4426 1.449680 1.6695 1.683685 1.8637 1.872290 2.8077 2.821995 3.0312 3.0676100 3.5796 3.6375

that is utilized, the more spread and the better the solution. In general, the solution should

represent a well-dispersed pareto front.

3.6 Increasing the Speed of MOGATETC

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

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

3.6.1 Heuristic to Obtain Pareto Front for Each Chromosome

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

solving the LPs (MOTETCLP) for each chromosome with different sets of weights in order

to obtain an approximate pareto front. The development of a heuristic to find the non-

dominated solutions for a particular chromosome would significantly improve the speed of

the algorithm. When the order of the jobs is fixed, processing the next job as soon as it

47

Page 64: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Figure 3.8: Measure of performance of two sets of solutions representing the same paretofront

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

Page 65: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

to the starting point of job 1. Then both jobs are shifted by steps of one until the completion

time of job 1 corresponds to the starting point of job 4 since there is no setup between job 1

and job 4. Job shifting ends after that time because there is a setup between job 4 and job

5. The procedure continues until there are no more jobs to shift.

Figure 3.9: Illustration of heuristic to solve LP

However, if the jobs are shifted only by ε (an infinitesimal period of time), then there is

an infinity of non-dominated solutions. To avoid having to consider too many solutions, the

period of time that the jobs are shifted must be fixed. In the example above, this step is

fixed to one second.

3.6.2 Utilizing Dominance Rules to Eliminate Some Chromosomes

In this section, rules are developed eliminate some solutions (chromosomes). This can be

done by proving that all solutions represented by a chromosome are dominated by some other

chromosome. These are defined as the dominance rules. Note that although the dominance

rules might achieve a faster convergence to an approximate pareto front, an optimal pareto

front might not be reached because these dominated chromosomes may have led to a non-

dominated solution in the next generation.

It is possible to check if a chromosome is dominated via a forward or backward pass. To

describe these heuristics, the modified release date, R′i, is defined as max(Ri, R′i−1). In order

to develop the dominance rules, the following theorem is proven:

Theorem 1 If∑k

i=ϑ

(R′i+1 − (R′i + Pi)

)∗ Poweridle < Energysetup, then no setup is needed

between the job at position k and the job at position k + 1.

49

Page 66: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

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

• (R′2 − (R′1 + P1)) ∗ Poweridle + (R′3 − (R′2 + P2)) ∗ Poweridle < Energysetup; the index ϑ

is equal to 1 in this case.

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

50

Page 67: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

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

Theorem 2 If∑k

i=ϑ(R′n−i − (R′n−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

Page 68: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

• (R′4 − (R′3 + P3)) ∗ Poweridle < Energysetup; the index ϑ is equal to 0 in this case.

• (R′4 − (R′3 + P3)) ∗ Poweridle + (R′3 − (R′2 + P2)) ∗ Poweridle < Energysetup; the index ϑ

is equal to 0 in this case.

• (R′2 − (R′1 + 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

Page 69: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Proposition 3 If the upper bound of a chromosome is better than the lower bound of the

second chromosome, the second chromosome is dominated by the first chromosome.

In other words, if the best solution of chromosome 2 has both total energy consumption

and total completion time higher than the extreme solution from chromosome 1, all other

solutions from chromosome 2 are also dominated by all solutions from chromosome 1.

Table 3.7 shows that the time to run the MOGA algorithm with dominance rules takes

less CPU time than the MOGA, which does not utilize the dominance rules. Moreover, the

gain in time increases when the number of jobs increases.

Table 3.7: CPU time with and without dominance rulesNumber of Jobs Not Using Dominance Rules Using Dominance Rules

5 24 4510 33 5320 41 7050 128 88100 296 100

3.7 Case Study

The algorithm is run on a case study using the best fitness function and optimized

parameters. Figure 3.11 shows the pareto front obtained with the algorithm on a 50-job

problem (MOTETCMILP) with optimized parameters. As can be seen, the second fitness

function does its job perfectly by spreading the solution on the pareto front and avoiding a

cluster of solutions. Each solution represents a full schedule of jobs with their completion

times as well as the setup sequence. The total completion time objective and the total energy

objective vary from 0 (when all of the jobs are scheduled after the job with the maximum

release date) to 350 hp.sec and from 13,500 to 21,000 seconds, respectively (Figure 3.11).

In an environment where 50 jobs need to be scheduled or rescheduled in a short amount of

time, this algorithm is able to find the approximate pareto front in less than three minutes.

The wide range of solutions provides more options for the production manager. The set

53

Page 70: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

of non-dominated solutions can be an input to a selection method (AHP) by taking into

account the decision-maker’s preferences.

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

3.7.1 Comparison of Methods for Solving MOTETCLP

This problem can be solved using four types of algorithms consisting of a combina-

tion of LP with and without dominance rules and heuristic with and without dominance

rules, GATETCnodomLP , GATETCdom

LP , GATETCnodomheur , and GATETCdom

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

Page 71: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

The performance measure is 66.6% for algorithm 1 and 33.3% for algorithm 2, implying that

66.6% of the final pareto front comes from algorithm 1.

Table 3.8 represents a pairwise comparison between different algorithms using the per-

formance measure described above. To avoid misleading results due to randomness, each

of the pairwise comparisons is run ten times, and the mean is presented in the table. The

percentage columns contain the percentage of solutions issued from the first algorithm (left

column) as well as the percentage of solutions issued from the second algorithm (first line).

The time columns work the same way with time instead of percentage.

Table 3.8: Comparison of different algorithms in the proposed MOGAGATETCnodom

heur GATETCdomLP GATETCdom

heur

CPU Time % CPU Time % CPU Time %GATETCnodom

LP 221/69 71/30 213/18 88/13 209/17 94/9GATETCnodom

heur 76/17 81/20 80/18 93/10GATETCdom

LP 17/17 75/30

GATETCnodomLP gives the best result in terms of the pairwise comparisons, but it is also the

most time-consuming algorithm. The percentage of solutions coming from GATETCnodomLP

seems high compared to GATETCnodomheur , but when looking at the pareto fronts issued from

each algorithm (ten for each algorithm) in Figure 3.12, the solutions from GATETCnodomheur

(+) are very close to the solutions from GATETCnodomLP (). However, GATETCnodom

heur takes

considerably less time than GATETCnodomLP . It seems that the algorithm using the dominance

rules gives poor results compared to the other algorithms. However, they are also the fastest

algorithms.

In conclusion, GATETCnodomLP can be used to obtain the first schedule of jobs on the

machine and GATETCnodomheur 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

GATETCdomLP should be used.

55

Page 72: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Figure 3.12: Pareto fronts for a 50-random-jobs problem from GATETCnodomLP (blue +) and

GATETCnodomheur (red )

3.7.2 Selection of an Alternative Using Analytic Hierarchy Process

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

Page 73: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

4i = 0.29 ∗ (0.75Si11 + 0.25Si12) + 0.14Si2 + 0.57 ∗ (0.66Si31 + 0.33Si32) (3.14)

where

0 ≤ Si2 =max(Si2)− Si

max(Si2)−min(Si2)≤ 1

is a scaled criterion value, and 2 is a criteria/subcriteria.

Figure 3.13: AHP hierarchy

Table 3.9: AHP scaling parametersS1 S2 S3

S1 1 2 0.5S2 0.5 1 0.25S3 2 4 1

S11 S12

S11 1 3S12 1/3 1

S31 S32

S31 1 2S32 0.5 1

a. Judgment Criteria Matrix (JCM) b. Energy-related JCM c. Completion time JCM

57

Page 74: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 3.10: Ten best alternatives and their criteria valueAlternative S11 S12 S2 S31 S32 4i

1 240.6 11 19 1363.5 475.8 0.7382 168.3 11 23 1370.7 475.8 0.7683 145.1 11 27 1375.4 475.8 0.7674 122.1 11 29 1382.3 475.8 0.7715 108.1 11 33 1389.8 475.8 0.7626 33.0 11 42 1516.8 475.8 0.7217 311.3 4 13 1357.0 471.8 0.7698 269.1 9 15 1360.2 477.9 0.7319 234.8 9 18 1367.7 477.9 0.739

10 6.0 2 47 1649.2 471.8 0.721

Using the 50-job problem, the production manager can select the best solution among the

105 non-dominated solutions based on his/her preference. He can also input his preference

and let AHP choose the best solution. According to the decision-maker preferences and

AHP, the best alternative is alternative four, shown in Table 3.10 and highlighted in Figure

3.11.

3.8 Summary

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

ing the exact solutions takes a considerable time. As a result, a MOGA (MOGATETC)

was developed to solve this problem in a reasonable amount of time. The description of

the MOGA includes the definition of all steps present in Figure 3.3, such as mutations,

crossovers, fitness function, etc. It has been illustrated how to get a set of non-dominated

solutions using the developed heuristic combined with the LP and how the algorithm is dif-

ferent from the one usually implemented in multiobjective optimization. MOGATETC is the

first algorithm to solve the total energy-total completion time problem (MOTETCMILP)

and the first algorithm with a chromosome that can represent more than one solution. The

parameters of MOGATETC (i.e., the size of a generation, the rate of crossover, the number

of generations, and the parameter sigma) are optimized depending on the number of jobs n

using a specific performance measure in the experimental setup. Also, the two different fit-

58

Page 75: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 76: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

CHAPTER 4

A FRAMEWORK TO MINIMIZE TOTAL ENERGY CONSUMPTION ANDTOTAL TARDINESS ON A SINGLE MACHINE USING A GREEDY

RANDOMIZED ADAPTIVE SEARCH PROCEDURE

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

total energy consumption and total tardiness. After modeling the multiobjective problem,

a greedy randomized adaptive search metaheuristic is proposed to obtain an approximate

pareto front (non-dominated solutions). Next, the Analytic Hierarchy Process is utilized to

determine the “best” alternative.

4.1 Introduction

Research in minimization of energy in a manufacturing environment using operational

methods might provide significant benefits in both reduced costs and environmental impacts.

The proposed framework can be applied to any production setting and may save a significant

amount of energy while keeping a good service level in terms of scheduling and energy

consumption objectives. In addition, using this algorithm, the industry may leave a smaller

signature on the environment, thus, leading to more environmentally friendly production

planning.

Many customers ask for a delivery date or due date of their products when ordering. The

percentage of time an industry is on time according to the due dates is called the service

level. If the parts or products are due on time, the service level is high. In order to reach a

high service level, many industries are planning with a performance measure related to the

lateness of the tasks or jobs. That is why lateness of a job (which is also defined as tardiness)

is a scheduling criteria, which is utilized in several industries. Minimizing total tardiness

in a manufacturing environment has become a widely used measure of performance. Total

tardiness is defined as the sum over all the jobs in the scheduling horizon of all the tardiness

60

Page 77: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 78: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

4.2 Problem Definition

The multiobjective optimization problem of minimization of total tardiness and total

energy consumption on a single machine with unequal release dates is NP-hard, since mini-

mization of total tardiness on a single machine with unequal release dates is NP-hard [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

Page 79: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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,

TB = max

(EnergysetupPoweridle

, Tsetup

).

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

Page 80: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

4.3 Mathematical Model for Minimization of Total Energy Consumption andTotal Tardiness

The Multiobjective Total Energy Total Tardiness (MOTETT) optimization problem can

be defined as:

64

Page 81: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

min (maxjcj −min

jcj) ∗ Poweridle −

n∑j=1

n∑k=16=j

yjk (4.1)

minn∑j=1

max(cj − dj, 0) (4.2)

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

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

If ck − pk − cj > TB and job j precedes job k (4.5)

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

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

The energy consumption objective, equation (4.1), is the sum of the total idle energy (i.e.,

energy consumed when the machine is not processing any job) and total setup energy (i.e.,

the energy necessary to turn on and off the machine). Note that the total processing energy

(Powerprocessing ∗∑n

j=1 pj) is not included in the optimization problem, since it is a fixed con-

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

Page 82: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

4.4 Solution to MOTETT via a Greedy Randomized Adaptive Search Proce-dure

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

tic. First, a solution is created in the construction phase, and then the neighborhood of this

solution is locally searched in order to obtain a better solution. In GRASP, it is very

important to define a “suitable” neighborhood in the local-search phase to converge to a

near-optimal solution quickly.

The GRASP has been applied to several scheduling problems: for example, it can solve

a job shop scheduling problem to minimize the total completion time effectively [1, 8]. In

another application, it is utilized to minimize total earliness [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

Page 83: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Figure 4.3: Multiobjective GRASP algorithm (GRASPTETT)

67

Page 84: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

The pseudo code below represents the GRASPTETT algorithm:

While stopping criteria not satisfied

CONSTRUCT a candidate solution s

Do a LOCAL SEARCH around the candidate solution s.

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

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

GRASPTETT algorithm are discussed below.

4.4.1 Evaluation of Solution

Before describing the details of the GRASPTETT algorithm, first, how to evaluate solu-

tions generated either at the construction phase or at the local-search phase will be presented.

Input to evaluating the solution procedure is a partial solution that provides the order of

jobs and the setup vector, which indicates if there is a setup between consecutive jobs.

Before providing details on how to evaluate a partial solution, the total tardiness objective

min∑n

j=1 max(cj − dj, 0) which is not linear has to be linearized. In order to linearize this

objective, the following transformation is used:

min

n∑j=1

αj; |αj ≥ cj − dj, αj ≥ 0,∀j = 1...n

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

Page 85: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

min∑X

((Cj+1 − Pj+1)− Cj) ∗ Poweridle + Ω ∗ Energysetup (4.7)

minn∑j=1

αj (4.8)

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

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

Cj+1 − Pj+1 ≥ Cj, ∀j = 1...n− 1 (4.11)

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

Cj, αj ≥ 0 (4.13)

where Ω is the number of setups, and X (X) is a set that contains j if there is no (a) setup

between the job at position j and the job at position j + 1. In this formulation, Rj, Dj, Pj,

and Cj denote the release date, due date, processing time and completion time, respectively,

of the job scheduled at the jth 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) = w1f1 + w2f2 (4.14)

= w1

(∑X

((Cj+1 − Pj+1)− Cj) ∗ Poweridle + Ω ∗ Energysetup

)+ w2

n∑j=1

αj

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

Page 86: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 87: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 88: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

vector.

4.4.3 Local Search Phase

In the second phase of the GRASPTETT algorithm, a local search is performed. Here,

all of the solutions in the defined neighborhood (N(s)), of the constructed solution s are

evaluated. If the new solution is a non-dominated solution, then it is added to the pareto

set. As a result, after each iteration of the local search an approximate pareto front is

obtained. This procedure can be summarized as follows:

LOCAL SEARCH Procedure

s =Current Solution

While N(s), 6= ∅

Choose y ∈ N(s)

If y is a non-dominated solution

Add y to MOTETT pareto front

Eliminate dominated solutions in MOTETT pareto front

N(s) = N(s)\y

This local search for the multiobjective problem is considered similar to the single-

objective problem. The only difference is that instead of keeping the best solution, a set

of the non-dominated solutions is obtained. For the single-objective total tardiness problem,

Armentano and Araujo [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

Page 89: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

4.5 Analytic Hierarchy Process to Select Best Alternative from ApproximatePareto Front

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

“best” alternative among the non-dominated solutions on the pareto front, the decision-

maker can utilize his/her own preferences, which may be used as input to the analytic hier-

archy process [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

Page 90: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

In addition to total tardiness and total energy consumption criteria, other criteria, such

as maximum tardiness, total number of setups, or maximum completion time can be added.

The hierarchy classification of criteria defined for this case study as an example is presented

in Figure 4.6. The overall objective is to select the best alternative from the non-dominated

pareto front A1, A2, ..., An. In the first level, there is energy-related criteria (S1), total

number of jobs not started as soon as they are released (S2), completion time-related criteria

(S3), and tardiness-related criteria (S4). The first criterion (S1) has total energy consumption

(S11) and total number of setups (S12) as sub-criteria. The third criterion (S3) has total

completion time (S31) and maximum completion time (S32) as sub-criteria. Finally, the last

criterion (S4) has total tardiness (S41), maximum tardiness (S42), and number of tardy jobs

(S43) as sub-criteria.

Figure 4.6: AHP hierarchy

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

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

Page 91: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

not started as soon as they are released. Finally, the tardiness criterion is strongly preferred

to the number of jobs not started as soon as they are released and slightly more preferred

to the completion-time criterion. Note that Table 4.2.c have an inconsistency level of 0.021.

Table 4.1: Saaty scale used for pairwise comparisons of criteriaScale value Explanation

1 Equally preferred3 Slightly more preferred5 Strongly more preferred7 Very strongly more preferred9 Extremely more preferred

2,4,6,8 Used to reflect compromise between scale values

Table 4.2: AHP parametersS1 S2 S3 S4

S1 1 5 3 1S2 0.2 1 0.5 0.2S3 0.33 2 1 0.33S4 1 5 3 1

S11 S12

S11 1 3S12 0.33 1

a. Judgment Criteria Matrix (JCM) b. Energy-related JCM

S31 S32

S31 1 2S32 0.5 1

S41 S42 S42

S41 1 2 3S42 0.5 1 2S43 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

Page 92: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

According to the preferences described above, the value judgment or priority (4i) value

for each alternative Ai is calculated as:

4i =0.39 ∗ (0.75Si11 + 0.25Si12) + 0.08Si2

+ 0.14 ∗ (0.67Si31 + 0.33Si32) + 0.39 ∗ (0.54Si41 + 0.30Si42 + 0.16Si43) (4.15)

where

0 ≤ Si2 =max(Si2)− Si

max(Si2)−min(Si2)≤ 1

is a scaled criterion value and 2 is a criteria/subcriteria.

4.6 GRASPTETT Parameter Tuning

In this section, extensive numerical experimentation is performed to fine tune the GRASPTETT

algorithm and make observations on the effect of different parameters on the performance

measure that will be utilized to compare the alternative pareto fronts. Each test is run with

the same parameters ten times, and the average is the measure of performance. Based on

these values, the goal is to optimize the α parameter (note that this α is a GRASP parameter

and different from the αi used in the model) of GRASPTETT. The parameters of the prob-

lem are generated as follows: Processing times are randomly generated from an exponential

distribution with a mean of 3 seconds. Release dates for each job are randomly generated

from an exponential distribution with a mean between arrivals of 10 seconds. Slack times

(sj) are randomly generated from a uniform distribution with parameters 0 and β ∗∑n

j=1 pj,

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

Page 93: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

totally greedy, and when α is equal to one, the algorithm is totally random. Values between

0 and 1 are a compromise between a totally greedy or a totally random algorithm. The

algorithm is tested with β values of 0.05, 0.25, and 0.5, α values of 0, 0.25, 0.5, 0.75, and

1, and problem sizes of 10, 30, and 50 jobs. The Poweridle, Energysetup, and Tsetup of the

machine are 1 hp.sec, 3 hp, and 5 seconds, respectively. All experiments run on a Pentium

core 2 Duo T7300 with 2 gigabits of RAM. The amount of time each experiment is run

depends on the number of iterations that GRASPTETT runs.

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

In order to assess and compare the GRASPTETT with different values of the parameter

α, we use a “measure of performance,” which is the area covered by the non-dominated set of

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

Page 94: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

(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.43840.5 1.6595 5.2714 1.37760.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.53660.5 2.1148 3.9589 1.18830.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.39630.5 1.1083 3.3974 1.41350.75 0.8635 2.8428 1.4888

1 1.0637 2.6075 1.3641

4.7 Case Study

This section presents a case study of 50-job problem with an exponential arrival time of 10

seconds and exponential processing times with a mean of 3 seconds. It can be observed that

78

Page 95: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 pointedby an arrow)

79

Page 96: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 4.6: Case studyAlternatives 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.756442 15.0 5 44 11735.4 395.6 740.2 78.7 36.0 0.756453 9.0 3 46 11903.8 395.6 898.0 80.3 38.0 0.759404 82.9 8 31 11063.2 395.6 126.7 29.0 15.0 0.759785 24.0 8 42 11504.4 395.6 520.2 42.2 34.0 0.763816 12.0 4 45 11743.0 395.6 740.2 78.7 36.0 0.764377 96.7 4 30 11048.2 395.6 118.3 30.5 13.0 0.768128 72.8 8 31 11099.2 395.6 157.1 29.0 18.0 0.769739 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

Page 97: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 98: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

CHAPTER 5

A COMPARISON OF MULTIOBJECTIVE GENETIC ALGORITHMS ANDGRASP 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

Page 99: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 numberof 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.62980.5 1.8484 1.8182 0.46690.75 1.5020 1.5115 0.3540

1 1.8789 1.6314 0.4526

5.1.2 Multiobjective Genetic Algorithm to Solve TECTT

A genetic algorithm (Genetic Algorithm to minimize Total Energy and Total Tardiness

or GATETT) can be implemented using a similar implementation described in Chapter 3

with the fitness function based on the niches. Only the LP described in section 3.4.3 is

different. In this step, the LP described in Chapter 4 for GRASPTETT is solved. Finally,

the parameters of GATETT and its fitness function are optimized.

83

Page 100: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.50 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.51400.2 1468 2053 237 5.5056 3.6535 1.9172 1.2159 0.9030 0.43850.3 1363 2088 235 4.6761 2.6896 1.7011 1.2020 0.8695 0.35240.4 1419 1802 246 4.4077 3.5537 1.8069 1.0052 0.7996 0.40660.5 1364 1813 268 3.8949 2.6726 1.3864 0.9451 0.6825 0.36260.6 1418 2194 250 5.3424 2.6669 1.5926 1.0207 0.6715 0.42400.7 1535 2161 264 4.5490 2.9545 1.7974 1.0207 0.7180 0.40350.8 1549 2556 259 4.8207 3.6746 1.9064 1.0342 0.7706 0.45980.9 1461 2442 266 6.5833 3.2685 1.9680 1.0697 0.8480 0.46821 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 numberof 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.7901310 1591 3283 304 5.2590 3.3881 2.0452 1.04515 1.01353 0.7517615 1594 2408 247 4.5319 3.8148 1.7964 0.97496 0.88568 0.5803720 1551 2229 319 4.1196 2.9815 1.6954 0.96703 0.78932 0.5842530 1389 1917 258 3.9793 2.6919 1.3493 0.95781 0.69070 0.3629940 1290 1778 232 3.1492 1.9913 1.0618 0.88736 0.57381 0.2909450 1328 1711 227 3.1492 1.8328 1.2455 0.79834 0.52287 0.3399760 1209 1724 206 2.6421 1.7322 1.0837 0.66759 0.55564 0.3172470 1223 1878 181 2.6276 1.5359 0.9540 0.58165 0.47663 0.2738180 1235 1762 196 2.5621 1.4582 0.9436 0.67152 0.56821 0.3087890 1294 1675 201 2.5843 1.5742 1.1021 0.53843 0.49396 0.32492100 1118 1721 259 2.7707 1.6433 1.0669 0.54348 0.49333 0.31975

84

Page 101: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.469210 1984 4411 381 7.7365 7.2695 3.3187 1.5867 1.3038 1.396215 1973 3411 324 5.0943 4.1797 3.1892 1.3698 1.2152 0.558720 1544 2662 309 6.0972 3.6080 2.0503 0.9718 1.0226 0.484730 1467 2091 276 2.9786 2.4102 1.2926 0.6741 0.8205 0.431040 1405 1958 235 2.7547 1.9245 1.2289 0.6676 0.6232 0.392250 1255 1840 209 2.6114 1.7148 1.0730 0.6605 0.5784 0.324060 1203 1798 189 2.5758 1.6413 1.0465 0.5541 0.4769 0.311970 1165 1776 172 2.4613 1.6282 1.0091 0.5054 0.4611 0.301280 1148 1596 170 2.3137 1.6069 0.9812 0.4850 0.4338 0.296590 1108 1536 168 2.2853 1.6037 0.9444 0.4795 0.4328 0.2894100 1102 1527 165 2.2057 1.6003 0.9205 0.4744 0.4271 0.2749

Table 5.5: Performance depending on σ, the number of jobs n and βn = 10 n = 30 (×104) n = 50 (×104)

σ β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.5 β = 0.05 β = 0.25 β = 0.55 1478 1882 295 3.6175 2.4194 1.5581 7.2462 5.7201 3.725110 1399 1860 291 3.4567 2.3933 1.5474 7.4750 6.9358 3.990315 1370 1826 282 3.7251 2.1401 1.5846 7.2195 6.8074 3.840120 1361 1803 293 3.6135 1.9895 1.4757 7.0131 6.2234 3.401025 1357 1785 272 3.5452 1.8301 1.2391 6.8542 5.9601 3.379330 1397 1814 233 3.1330 1.9194 1.1263 6.6474 5.8062 3.263250 1318 1826 221 2.8544 1.7987 1.0953 6.8871 5.4418 3.151680 1325 1771 216 2.5839 1.7536 1.0696 6.5344 5.2712 3.0570100 1238 1734 201 2.6942 1.7381 1.0754 6.4651 5.1464 3.1651150 1375 1796 224 3.3313 1.9243 1.4696 6.5990 5.3592 3.4971

5.1.3 Multiobjective Optimization Using the Combined MOGA and MOGRASP

It this section, two hybrid algorithms are presented based on MOGA and MOGRASP.

The first one (MOGRASP-MOGA) uses the non-dominated solutions obtained by MO-

GRASP as an initial population for MOGA. It has been shown in the genetic algorithm

literature that using “good” solutions instead of random solutions in the initial popula-

tion can lead to a better near-optimal pareto front faster. The second algorithm (MOGA-

MOGRASP) combines MOGA with the local search phase of MOGRASP. In other words, a

local search is performed on the non-dominated solutions obtained by MOGA to find better

solutions in a pre-defined neighborhood as defined in Chapter 4.

5.2 Computational Experimentation

The following sections present the experimental design and results for TECTC and

TECTT after the measure of performance used to compare the algorithms is described.

85

Page 102: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

5.2.1 Measure of Performance

The comparison of the different algorithms is based on the following measure. For the

same problem, a set of non-dominated solutions from each algorithm is obtained and pairwise

comparison is performed. A new pareto front is built based on these two pareto fronts. The

performance measure of one algorithm is the percentage of solutions in the new pareto front

issued from the set of non-dominated solutions of that algorithm. For example, if algorithm

1 and algorithm 2 result in the set of non-dominated solutions [1 2, 1.5 1, 2 0.5] and [0.5

2, 2 1], respectively, then the combined pareto front is [0.5 2, 1.5 1, 2 0.5]. The measure of

performance is 66.6% for algorithm 1 and 33.3% for algorithm 2. In other words, 66.6% of

the final pareto front comes from algorithm 1, and 33.3% of the solutions are from pareto

front 2.

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

The number of linear programs solved for the evaluation of each chromosome might

impact the performance of each algorithm. In order to determine the optimal number of

LPs to be solved at each evaluation, the pareto front obtained using 10 LP is compared to

the pareto front obtained with 1, 4, 6, 8, 12, 15, 20, 30, and 50 LPs using the performance

measure described above on a 50-job problem of the case study. In this comparison, the

scheduling problem is to minimize total completion time and total energy consumption.

Each algorithm with a different number of LPs to be solved is run for 100, 200, and 500

seconds. The results are presented in Table 5.6. Note that if solutions in the combined

pareto front come from both initial pareto front, the two percentages will exceed 100%. It

is observed that for any running time, the algorithm solving six linear programs to evaluate

each chromosome gives the best results compared to ten linear programs. It can be concluded

that solving six LP gives the best pareto front when using MOGA. Table 5.7 summarizes

the same experiment with the GRASP algorithm to solve the same scheduling problem. It

86

Page 103: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

is observed that for the GRASP algorithm, there is an optimum by solving four LPs. Note

that in this experiment, a α value (the greedy parameter) of 0.5 is used in the algorithm.

Table 5.6: Optimization of the number of LPs in MOGAtime = 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.24 43.2 58.8 62.3 39.5 46.4 53.56 46.3 62.6 33.2 70.1 40.6 65.28 49.7 52.6 58.0 50.8 49.6 50.412 63.2 52.2 52.0 53.0 58.7 41.315 58.1 51.4 52.2 51.0 46.2 53.820 59.8 49.5 56.0 50.8 48.5 51.530 55.0 50.9 65.1 37.5 60.8 39.250 69.0 39.2 73.1 32.3 75.3 24.7

Table 5.7: Optimization of the number of LPs in GRASPtime = 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.94 36.8 63.2 28.9 71.1 35.9 64.16 49.8 50.2 52.8 47.2 49.8 50.28 39.1 60.9 49.4 50.6 43.9 56.112 42.8 57.2 49.8 50.3 42.7 57.315 52.9 47.1 38.8 61.2 44.6 55.420 62.2 37.8 60 40 62.9 37.130 57.7 42.3 41.1 58.9 60.0 40.050 64.2 35.8 76.2 23.8 63.7 36.3

5.2.3 Experimental Design for TECTCT

Table 5.8 represents different factors and their levels considered to compare the four algo-

rithms(MOGA, MOGRASP, MOGA-MOGRASP, MOGRASP-MOGA). The average inter-

arrival time (λ) is tested at two levels: low (2) and high (10). The break-even duration has

two values: low (1) and high (4). The average processing time (γ) takes either a high value

(4) or a low value (1). Finally, the number of jobs (n) to schedule are tested at two levels:

10 (low) and 50 (high). This experimental design results in 16 different problems. Each

problem is solved 10 times with each algorithm.

87

Page 104: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 5.8: Experimental design for TECTCTFactors Levels DescriptionInter-arrival time (λ) High 10

Low 2Break-even duration (TB) High 4

Low 1Average processing time (γ) High 4

Low 1Number 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

Page 105: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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-A41 L L L L 7.7 85.1 54.9 96.6 61.3 2.82 L L L H 19.0 85.5 64.8 98.4 62.8 2.23 L L H L 16.8 83.3 59.5 98.9 87.4 0.64 L L H H 23.2 84.5 55.3 97.9 61.3 2.55 L H L L 8.1 96.8 56.6 100.0 94.5 0.06 L H L H 13.5 96.5 52.8 99.9 95.0 15.67 L H H L 5.4 93.0 80.0 100.0 100.0 3.38 L H H H 12.0 99.0 62.1 99.8 99.4 6.89 H L L L 1.3 92.5 2.5 100.0 76.3 0.110 H L L H 17.8 79.8 24.2 95.0 68.1 6.411 H L H L 6.8 55.8 14.9 98.1 56.5 10.012 H L H H 9.9 89.4 13.2 99.6 75.3 0.913 H H L L 7.2 86.0 67.1 100.0 100.0 19.014 H H L H 12.6 97.5 71.0 100.0 99.9 17.715 H H H L 2.6 90.0 76.7 100.0 100.0 10.016 H H H H 13.6 98.2 78.8 99.9 99.9 5.0Average 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

Page 106: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

the decision-maker is more interested in solutions with low total completion time and higher

energy levels (i.e., total completion time is the priority), then MOGA or MOGRASP-MOGA

should be used. Also, the number of solutions provided by MOGA-MOGRASP is less than

the other algorithms, but their quality is better since they dominate the others (at least for

higher total completion time level). Note that problem 1 is a 10-job problem, which explains

the small amount of solutions found by the algorithms. It is also evident that MOGA is the

second best performing algorithm followed by MOGRASP-MOGA and MOGRASP.

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

5.2.4 Experimental Design for TECTT

Table 5.10 represents different factors and their levels that were considered to compare the

four algorithms on single-machine scheduling problems optimizing total energy consumption

and total tardiness. The average inter-arrival time (λ) is tested at two levels: narrow (2)

and wide (10). The break-even duration has two values: low (1) and high (4). The average

processing time (γ) takes either a high value (4) or a low value (1). The number of jobs

(n) to schedule are tested at two levels: 10 (low) and 50 (high). Finally, the range of due

dates is generated using a uniform distribution (the slack time is generated using a uniform

90

Page 107: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

distribution) with two different levels of the parameter β in r + p + [0, β ∗∑p]. A low β

generates a due date that is close to the release date, and a high β creates a larger slack time

between the release date and the due date. β will be studied at two levels (0.5 and 0.05) to

generate high and low slack times. This experimental design results in 32 different types of

problem. Each problem is solved ten times with each algorithm.

Table 5.10: Experimental design for TECTTFactors Levels DescriptionInter-arrival time (λ) High 10

Low 2β high 0.5

low 0.05Break-even duration (TB) High 4

Low 1Average processing times (γ) High 4

Low 1Number 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

Page 108: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 5.11: Pairwise comparisons of four algorithms using the experimental design forthe 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-A41 L L L L L 11.3 96.7 10.4 100.0 55.8 0.02 L L L L H 22.1 94.6 21.5 98.3 64.2 2.03 L L L H L 14.6 93.3 17.7 99.5 76.6 0.04 L L L H H 15.0 90.3 18.6 99.6 77.5 0.45 L L H L L 9.4 93.8 13.7 100.0 69.9 1.96 L L H L H 23.0 91.3 27.0 99.7 65.9 0.37 L L H H L 0.0 53.3 3.3 100.0 67.6 4.08 L L H H H 16.0 86.2 23.8 98.9 66.8 0.09 L H L L L 8.4 100.0 58.4 100.0 100.0 0.010 L H L L H 17.3 95.5 75.7 100.0 100.0 20.811 L H L H L 5.9 68.3 61.7 100.0 100.0 0.012 L H L H H 35.5 95.1 74.3 100.0 100.0 2.913 L H H L L 12.0 89.4 63.0 99.7 99.4 7.514 L H H L H 30.8 100.0 82.4 100.0 100.0 15.315 L H H H L 7.2 93.3 54.0 100.0 100.0 6.716 L H H H H 1.5 100.0 64.8 100.0 100.0 2.917 H L L L L 7.1 73.3 19.1 99.5 78.1 1.718 H L L L H 26.4 89.8 27.7 98.0 75.2 0.619 H L L H L 3.1 93.3 20.8 100.0 65.1 0.020 H L L H H 17.4 83.9 20.4 98.7 72.7 3.221 H L H L L 4.9 74.6 9.7 100.0 71.2 0.522 H L H L H 8.2 79.9 18.7 99.7 79.1 1.723 H L H H L 4.8 80.0 5.6 96.9 51.5 4.724 H L H H H 18.6 87.2 24.5 98.5 54.9 2.925 H H L L L 4.9 91.3 60.3 100.0 99.9 12.026 H H L L H 21.6 96.4 78.7 100.0 100.0 4.027 H H L H L 0.0 76.7 80.0 99.6 100.0 20.028 H H L H H 19.8 96.1 71.2 99.5 99.5 4.029 H H H L L 1.2 100.0 48.3 100.0 100.0 0.030 H H H L H 24.3 96.1 78.7 99.6 99.6 25.531 H H H H L 0.0 93.3 73.3 100.0 100.0 20.032 H H H H H 7.5 100.0 64.5 100.0 100.0 0.0Average 12.5 89.2 42.9 99.6 84.1 5.2

92

Page 109: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 110: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

CHAPTER 6

A MULTICRITERIA APPROACH FOR PARALLEL-MACHINESCHEDULING 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

Page 111: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 112: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 T ksetup

duration. The break-even duration (T kB) 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.,

T kB = max

(Energyksetup

Powerkidle, T ksetup

).

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

Page 113: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 114: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 6.1: Objective values for the feasible solutions to the 4 jobs with 2 machines problemSolution Total Energy Total Completion Total deviation from

Consumption (hp.sec) Time (sec) balanced line (sec)1 14.5 11 12 12 13 53 13.5 16 64 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.

6.3 Mathematical Model for Minimization of Energy Consumption, Total Com-pletion Time, and Deviation from Load Balancing on Parallel Machines

The problem solved in this chapter is PMS, with the objectives of minimizing total com-

pletion time, total energy consumption, and deviation from load balancing, i.e., Pm||Ctot, Etot, LB

in the notation proposed by Graham et al. [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:

• pjk: processing time of job j on machine k

• rj: release date of job j

• Powerkprocessing: processing power of machine k (hp)

98

Page 115: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

• T ksetup: setup time of machine k (sec)

• Powerkidle: idle power of machine k (hp)

The variables used to model the problem are defined as follows:

• cj: completion time of job j

• xjk =

1 if job j is processed on machine k

0 otherwise

• yijk =

1 if job j follows job i on machine k

0 otherwise

• Sijk =

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

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:

minn∑j=1

cj (6.1)

Minimize total energy consumption:

minm∑k=1

n∑j=1

(cjxjk − pjkxjk −n∑i=1

cixikyijk) ∗ Powerkidle ∗ (1− Sijk)︸ ︷︷ ︸Idle energy

(6.2)

+m∑k=1

n∑i=1

n∑j=1

Sijk ∗ Energyksetup︸ ︷︷ ︸Setup energy

+m∑k=1

n∑j=1

pjkxjk ∗ Powerkprocessing︸ ︷︷ ︸Processing energy

99

Page 116: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Minimize deviation from load balancing:

minm∑k=1

|n∑j=1

cjxjk −∑n

i=1 cim

|︸ ︷︷ ︸deviation from balanced line

(6.3)

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

(∑m

k=1

∑nj=1 cjxjk −

∑ni=1 cim

) makes a compromise between those two measures.

The constraints are as follows:

A job can be processed only after it is released:

cj −m∑k=1

xjkpjk ≥ rj, ∀j = 1...n (6.4)

Each job is assigned to one machine:

m∑k=1

xjk = 1, ∀j = 1...n (6.5)

100

Page 117: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

cjxjk − pjkxjk ≥ cixik or cjxjk ≤ cixik − pikxik, (6.6)

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

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

yijk ≤ xjk, ∀j = 1...n, ∀i = 1...n (i 6= j), ∀k = 1...m (6.7)

Each job has to be processed before another job:

n∑i=1

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

Each job has to be processed after another job:

n∑j=1

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

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:

cjxjk − pjkxjk −n∑i=1

cixikyijk ≥ T kB

n∑i=1

Sijk, ∀k = 1...m, ∀j = 1...n (6.10)

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

n∑i=1

n∑j=1

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

101

Page 118: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

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

xjk ∈ 0, 1, ∀j = 1...n, ∀k = 1...m (6.13)

yijk ∈ 0, 1, ∀j = 1...n, ∀i = 1...n, ∀k = 1...m (6.14)

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

By solving this mathematical model, the goal is to obtain a tradeoff curve, which will

have solutions that will have information on when each job should start (or finish) on which

machine, when to turn off and on, and when to leave each machine idle.

MOPMS is not linear but can be transformed into a linear mixed-integer optimization

problem. As noted, this multiobjective problem is NP-hard. As a result, it is not practical to

solve the multiobjective model using optimization software to determine the optimal pareto

front since one cannot obtain an optimal pareto front quickly. Thus, a multiobjective genetic

algorithm (Genetic Algorithm Parallel-Machine Scheduling, or GAPMS) will be utilized to

solve the MOPMS. The advantage of metaheuristic methods like genetic algorithms is that

they may provide a good solution in a reasonable amount of time and also are very efficient

when rescheduling is needed due to changes in the manufacturing environment.

6.4 Solution Procedure to MOPMS

The proposed MOGA provides a solution that has information on when to start each job

on which machine and when to turn off/turn on the machines. For solving the multiobjective

optimization problem, MOPMS, an evolutionary method is utilized as follows (Figure 6.2):

An initial population of size K is randomly generated. Each chromosome is evaluated

using a linear program combining the objectives into a weighted sum. The weights are

randomly generated at each iteration. A new generation of K individuals is generated using

genetic operators such as crossover and mutation. Only the K best individuals from the two

102

Page 119: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 MOPMSproblem using a genetic algorithm

6.4.1 Chromosome Representation

A chromosome that represents MOPMS is an array with 3∗n cells (Figure 6.3). The first

set of n cells represents the assignment of n jobs to m machines (i.e., the number in position

103

Page 120: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

j is the machine number to which job j is assigned). The second set of n cells represents

the order of jobs on each machine, and the last set of n cells shows whether there is a setup

before a job (cells have a value of 1 if there is a setup, and 0 otherwise). For example, with

five jobs and two machines, the chromosome [1 1 2 1 2]+[2 5 1 4 3]+[1 0 1 0 1] shows that

jobs 1, 2, and 4 are processed on machine 1 in the order of 2, 1, and 4, and jobs 3 and 5 are

processed on machine 1 in the order of 5 and 3. Finally, the last set of n cells shows that

there is a setup between job 2 and job 1, and between job 5 and job 3. Whenever a job is

the first processed on a machine, the setup cell corresponding to it is ignored.

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

Note that each chromosome may represent an infinite number of solutions: the inserted

idle time between successive jobs and the length of the setup (which is at least equal to the

“break-even setup duration” but can be longer) provide an infinite number of alternatives.

6.4.2 Initial Population

The initial population of size K is either random or generated from heuristics. In the

first case, the first set of n genes of each chromosome are randomly selected from integers

between 1 and m. The following set of n genes is a random permutation of the integers

from 1 to n. Finally, the last set of n genes are either 0 with probability of 0.5, or 1 with

probability of 0.5. In the second case, heuristics or dispatching rules are used to build the

initial population.

104

Page 121: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

p(cit) =[f it −max(f it )]

2∑ki=1[f

it −max(f it )]

2, (6.16)

where f it is the evaluation of chromosome i in generation t.

6.4.4 Crossover Operation

A crossover operation is defined based on two parent chromosomes and results in two

children. Three crossover points are randomly selected. For example, the crossover of chro-

mosome [1 2 1 2]+[1 3 4 2]+[0 0 1 1] and chromosome [2 1 2 2]+[2 3 4 1]+[0 1 0 1] with

crossover points of 2, 2, and 1 results in chromosomes [1 2 2 2]+[1 3 2 4]+[0 1 0 1] and

[2 1 1 2]+[2 3 1 4]+[0 0 1 1]. Note that the genes representing the order of the job have

been rearranged in the second part (after the crossover point) as they appear in the second

chromosome.

6.4.5 Mutation Operation

A mutation operation is defined based on one chromosome and results in one chromosome.

Four numbers between 1 and n are randomly generated, namely n1, n2, n3, and n4, as well

as a number between 1 and m, m1. The nth1 job is now being processed on machine m1, and

there will be a setup (no setup) before the nth4 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

Page 122: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

minm∑k=1

nk∑j=1

Ckj (6.17)

minm∑k=1

∑Xk

((Ckj − Pkj)− Ck,j−1) ∗ Powerkidle (6.18)

+m∑k=1

Ωk ∗ Energyksetup +m∑k=1

nk∑j=1

Pjk ∗ Powerkprocessing

minm∑k=1

|nk∑j=1

Ckj −∑m

k=1

∑nki=1Ckj

m| (6.19)

Ckj − Pkj ≥ Rkj, ∀j = 1...nk ∀k = 1...m (6.20)

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

Ck,j+1 − Pk,j+1 − Ckj ≥ T ksetup, ∀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:

minm∑k=1

nk∑j=1

Ckj (6.24)

minm∑k=1

∑Xk

((Ckj − Pkj)− Ck,j−1) ∗ Powerkidle (6.25)

+m∑k=1

Ωk ∗ Energyksetup +m∑k=1

nk∑j=1

Pjk ∗ Powerkprocessing

106

Page 123: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

minm∑k=1

αk (6.26)

αk ≥nk∑j=1

Ckj −∑m

k=1

∑nki=1Ckj

m∀k = 1...m (6.27)

− αk ≤nk∑j=1

Ckj −∑m

k=1

∑nki=1Ckj

m∀k = 1...m (6.28)

Ckj − Pkj ≥ Rkj, ∀j = 1...nk ∀k = 1...m (6.29)

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

Ck,j+1 − Pk,j+1 − Ckj ≥ T ksetup, ∀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 (Xk) 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 jth job

on machine k, respectively. Rkj and Pkj can easily be determined using the chromosome and

rj and pjk. Random weights, namely wt1, wt2, and wt3, 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].

6.4.7 Initial Population Fine-Tunning

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

lead to better solutions faster [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

Page 124: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

in others), we also need to include some random solutions. This section presents different

heuristics and dispatching rules to obtain a solution that is strong in one objective, and near

or on the optimal pareto front. The general outline of the procedure that is utilized to obtain

solutions is as follows:

1. Input the problem data.

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

3. SELECT a job and ASSIGN the job to a machine using P1 or P2.

4. Remove the job from JOB.

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

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

strategies, P1 and P2:

1. P1

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

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

2. P2

(a) SELECT: When a machine becomes available, select the first job available (or

will become available the soonest) in JOB.

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

available machines).

If the first strategy is selected, the release dates of the jobs are not considered, and this

might lead to a bad solution, especially if job release dates are distant from each other. In

the second strategy, release dates are used to determine the next job to be processed on the

machine that become available.

In both strategies, the following ordering rules can be used:

108

Page 125: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

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

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

When all jobs are available at the same time, the shortest processing time rule gives the

optimal solution to 1||Ctot. When multiple machines or release dates are considered, a good

assignment heuristic combined with the SPT rule and procedure P1 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 P2 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:

1. Cumulative Completion Time (CCT)

2. Cumulative Processing Time (CPT)

Both CCT and CPT rules tend to minimize the deviation from load balancing. CPT works

better when all release dates are close to each other. Meanwhile, CCT performs better when

the range of release dates is broad.

Procedures can be combined with the ordering and assignment rules to create initial

solutions that tend to optimize one objective or a combination of them. This results in 12

heuristics/dispatching rules that will be utilized to obtain an initial population (P1-SPT-

CCT, P1-ERD-CCT, P1-LPT-CCT, P1-SPT-CPT, P1-ERD-CPT, P1-LPT-CPT, P2-SPT-

CCT, P2-ERD-CCT, P2-LPT-CCT, P2-SPT-CPT, P2-ERD-CPT, and P2-LPT-CPT).

These rules do not provide information about setups: there will be a setup if the idle time

between two jobs is greater than the break-even duration of the machine. This will completely

define 12 initial solutions. For example, P2-SPT-CPT will order the jobs according to their

109

Page 126: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

6.5 Computational Analysis

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

factors such as crossover rate, number of individuals in a population, and running time

(number of generations performed). After extensive initial experimentation and fine-tuning,

it is observed that using a crossover rate of 0.6 along with a population size of 20 gives the best

results. Also, the more iterations that are performed, the better the pareto front. However,

after a thousand iterations, the improvements are small. Therefore, in the computational

experimentation, the algorithm will be run for a thousand iterations, which corresponds to a

fixed amount of time to run the algorithms since only the initial population changes. In the

computational experimentation, the pareto front obtained using a random initial population

and the fine-tuned initial population will be compared. Also, the solutions obtained by the

110

Page 127: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

heuristics proposed in section 6.4.7 will be checked to see whether they belong to the pareto

front or not.

6.5.1 Performance Measure

The comparison between the different pareto fronts in this section is based on the fol-

lowing two measures. The first measure (PERF1) 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 (PERF2) 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

dC =

∑si=0(x

Ci + yCi + zCi )

s(6.33)

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

w =u−min(Au, Bu)

max(Au, Bu)−min(Au, Bu)(6.34)

111

Page 128: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

where min(Au, Bu) (max(Au, Bu)) represents the minimum (maximum) value of objective u

in front A and front B. Finally, PERF2 is defined as

PERF2 =|dB − dA|

dB(6.35)

6.6 Comparison of Performance of GAPMS with Random Initial Populationand 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 algorithmFactors Problem 1 Problem 2 Problem 3Average inter-arrival time (sec) 5 5 10Break-even duration (TB) (sec) 2,4 2,2,2,4,4 4,4,6,6,6Average processing times (sec) 1,2 1,1,1,2,2 2,2,4,4,4Number of machine 2 5 5Number 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

Page 129: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

that each version of the algorithm wins (i.e., have a higher percentage) is shown. The same

test is run using 1,000 and 10,000 iterations. The algorithm with the initial population based

on the dispatching rules performs better almost always. However, as the number of iterations

is increased, the difference in performance decreases. This implies that the effect of having

a good initial population fades away as the algorithm runs longer. However, the time cost

of generating the “good” initial population is near 0; therefore, the chromosome based on

the dispatching rules can be used in combination with a few random initial chromosomes to

form the initial population. Figure 6.4 represents the evolution of the percentage of solution

from GAPMS-I and GAPMS-R in the final combined pareto front for problem 2. It can

be seen that most of the solutions in the final pareto front come from GAPMS-I, although

that percentage slightly decreases with the number of iterations. However, the percentage of

solutions from GAPMS-I remains greater than the percentage of solutions from GAPMS-R.

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

Measure k=1,000 k=10,000 k=1,000 k=10,000 k=1,000 k=10,000% from (1) 95.1 84.1 92.9 54.8 99.9 85.8% from (2) 4.9 15.9 7.1 45.2 0.1 14.2

(1) wins 10 10 10 8 10 10(2) wins 0 0 0 2 0 0

# of solutions in (1) 72.7 105.3 104.7 134.4 270 462.6# of solutions in (2) 59 76.7 106.4 232.2 133.6 175.4final front size 75.9 115.3 111.7 237.8 270 510.7

# of solutions from (1) 72.2 97.1 103.7 131.1 269.7 438.2# of solutions from (2) 3.7 18.2 8 106.7 0.3 72.5

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

solutions obtained using GAPMS-R and GAPMS-I. The pareto front is a curve in three

dimensions. It can be clearly seen that the pareto front obtained with the algorithm using

the “good” initial solutions (GAPMS-I) provides better solutions (each objective is mini-

mized). It is observed that using a “good” initial population improves the convergence of

the algorithm and, for the same CPU time (40 seconds), lowers the value of each objective,

especially the total completion time and total energy consumption.

113

Page 130: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

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

6.7 Forming Pareto Front with Dispatching Rules

Each of the 15 chromosomes issued from the dispatching rules can generate one or more

solutions, which forms an approximate pareto front. The approximate pareto front issued

from each dispatching rules can be compared using the measure of performance described

above (that is obtained via pairwise comparisons). Note that the dispatching rules only

provide the assignment, order, and setups, to obtain the pareto front corresponding to the

current solution, it is necessary to solve a series of LPs with random weights (MOPMSLP). As

a case study, problem one is used to analyze the performance of each of the dispatching rules.

114

Page 131: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Tables 6.4 and 6.5 present the pairwise comparison of the pareto front of each dispatching

rule and the number of non-dominated solutions in each pareto front, respectively. The

first observation is that the batching dispatching rules provide more solutions than other

dispatching rules. They also perform well against other rules when observing their percentage

of contribution in the pairwise comparison. The three best performing rules are rules 14

(batching rules with size 4), 9 (P2-LPT-CCT), and 12 (P2-LPT-CPT). When release dates

are involved in the problem, procedure two (P2) clearly outperforms rules using procedure

one (P1), unless the ordering rule is ERD. Also, two of the best performing rules use LPT

as the ordering rule, and either CPT or CCT as the assigning rule. However, the two last

rules generate only a few solutions, especially compared with the batching rules. It can be

concluded that the best rules are the batching rules, according to their pairwise comparisons

and the number of solutions they generate. However, all rules will be kept to obtain initial

chromosomes to avoid a genetic drift (i.e., we need a variety of different chromosomes in the

initial population).

Table 6.4: Pairwise performance measure of dispatching rules for problem 1Dispatching 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 22 0 / 0 0 0 0 9 5 17 14 17 8 0 2 23 100 100 / 100 87 60 48 43 38 100 100 21 23 25 244 75 100 0 / 21 0 16 4 17 50 100 8 0 3 25 92 100 13 79 / 45 17 5 17 67 100 8 0 3 26 100 100 40 100 55 / 32 21 44 100 100 35 13 14 127 95 91 52 84 83 68 / 0 0 77 95 0 28 29 288 95 95 57 96 95 79 100 / 0 95 95 0 38 40 399 83 83 63 83 83 56 100 100 / 100 100 63 51 24 10010 75 86 0 50 33 0 23 5 0 / 86 0 0 0 011 50 83 0 0 0 0 5 5 0 14 / 8 0 3 212 92 92 79 92 92 65 100 100 38 100 92 / 73 48 9213 100 100 77 100 100 87 72 63 49 100 100 27 / 13 2314 97 98 75 97 98 86 71 60 76 100 97 52 87 / 2815 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 dispatchingrules

Dispatching Rules 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Number of Solutions 5 6 13 3 12 6 20 21 5 6 5 11 41 36 41

115

Page 132: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

and the setup time (T ksetup) determine the break-even duration (TB). The break-even duration

over average processing time factor (TB/p) takes two different values: 2 (low) and 4 (high).

Two machines are considered. Finally, two different levels of number of jobs are studied:

100 jobs (high) or 30 jobs (low). Since the processing times of the jobs and the break-even

duration can differ from one machine to another, different combinations of break-even dura-

tions over processing times levels can be considered. Either the two machines are identical,

or one has a high TB/p ratio while the other one has a low TB/p ratio. The total number of

test problems is 12 for three machine combinations, two levels of inter-arrival time, and two

levels of number of jobs.

Table 6.6: Experimental designFactor Level DescriptionIAT

p High 5Low 2

TB

p High 4Low 2

Number of jobs High 100Low 30

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

paring its pareto front (PGA) with the pareto front obtained using the dispatching rules (Pdr)

utilizing the normalized distance performance measure (PERF2). Note that the distance

from origin for Pdr will always be greater than the distance for PGA since the MOGA uses an

initial population that has dispatching rules. Basically, the measure PERF2 = |dPGA−dPdr |dPdr

(M1) 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 (M2) will be

analyzed depending on the problem characteristics.

116

Page 133: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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 M1 and M2. Observing the half-normal plot of the

experimental design for M1 in Figure 6.6, it can be concluded that the factors to consider

in the model are as follows: (a) the number of jobs, (b) the interaction between IAT/p and

the number of jobs and finally (c) the interaction between TB/p and the number of jobs. As

is, the model is not hierarchical; therefore, the factors IAT/p and TB/p are included in the

model.

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

The corresponding ANOVA in Table 6.7 shows that the model chosen is significant.

Also, it can be observed that the interaction between IAT/p and the number of jobs, and

the interaction between TB/p and the number of jobs have a significant effect on the output

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

Page 134: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Table 6.7: ANOVA for 23 factorial design and M1Source Sum of Squares df Mean Square F Value p-ValueModel 1.968 5 0.394 105.292 < 0.0001 significantA=IAT/p 0.022 1 0.022 5.812 0.0184B=TB/p 0.003 1 0.003 0.775 0.3814C=number of jobs 1.101 1 1.101 294.409 < 0.0001AC 0.115 1 0.115 30.777 < 0.0001BC 0.728 1 0.728 194.686 < 0.0001Residual 0.277 74 0.004Lack of Fit 0.013 2 0.007 1.824 0.1688 not significantPure Error 0.263 72 0.004Cor 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 M1. Since the output M1 is a measure of how well the MOGA

performs, at a low number of jobs, the algorithm performs better with a high level of IAT/p.

However, at a high number of jobs, the algorithm performs better with a low level of IAT/p.

Otherwise stated, the algorithm shows better results when the number of jobs and IAT/p

have opposite levels. On one hand, at a low number of jobs, the MOGA performs better

when the factor TB/p is low. On the other hand, at a high number of jobs, the algorithm

performs better at a high level of TB/p. In other words, the algorithm gives better results

when the number of jobs and TB/p are at the “same” level.

Figure 6.7: Interaction plots for model and M1

118

Page 135: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Based on the same analysis for M2 (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 M2 (Table 6.8). Figure 6.8 shows the interaction plot for the

significant effects. At a low level of TB/p, the size of the pareto front is larger than at a low

level of IAT/p. The opposite holds true with a high level of TB/p, that is, the size of the

pareto front is greater with a high level of IAT/p. At a low level of TB/p, the size of the

pareto front is not significantly different with either a high or low level of job numbers. As

the level of TB/p increases, the number of solutions in the pareto front increases, although

the increase is greater with a high number of jobs.

Table 6.8: ANOVA for 23 factorial design and M2Source Sum of Squares df Mean Square F Value p-ValueModel 84995.500 5 16999.100 99.756 < 0.0001 significantA-IAT/p 26.450 1 26.450 0.155 0.6947B-TB/p 44368.200 1 44368.200 260.367 < 0.0001C-number of jobs 9288.050 1 9288.050 54.505 < 0.0001AB 18000.000 1 18000.000 105.630 < 0.0001BC 13312.800 1 13312.800 78.124 < 0.0001Residual 12610.050 74 170.406Lack of Fit 1102.250 2 551.125 3.448 0.0371 significantPure Error 11507.800 72 159.831Cor Total 97605.550 79

Figure 6.8: Interaction plots for the model and M2

In the second design of experiment (22), only two factors (IAT/p and number of jobs) are

considered on two different machines (one for each level of TB/p). Using the same analysis

119

Page 136: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

for this design, it can be concluded that only the number of jobs has an effect on the output

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

Page 137: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 138: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

CHAPTER 7

CONCLUSIONS AND FUTURE RESEARCH

7.1 Conclusions

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

problems when one of the objectives is to minimize total energy consumption. In addition,

for each model, methods have been developed to provide a set of non-dominated solutions

belonging to the near-optimal approximate pareto front. The proposed solution frameworks

are based on multiobjective genetic algorithms or GRASP or a combination of them. The

proposed MOGA is based on existing concepts and is adapted to the problem described in

the dissertation in a new and innovative way. The developed multiobjective GRASP is one

of the first general multiobjective algorithm using GRASP concepts and can be adapted to

solve any multiobjective problem. The performance of four different algorithms are compared

on both single-machine total completion time and total tardiness scheduling problems. Also,

for each single-machine problem, an Analytic Hierarchic Process method is used to show how

to select the best alternative from the pareto front based on the decision-maker preferences.

A case study is analyzed for both single-machine problems. It is observed that the algo-

rithms are capable of finding a well-spread pareto front. Furthermore, using AHP with the

criteria hierarchy samples, how to choose a single solution from the pareto front is illustrated.

A comparison between four algorithms shows that the algorithm combining MOGA and a

local search (MOGA-MOGRASP) performs better. However, when the decision-maker is

interested in solutions with low level of the scheduling objectives, he/she should use either

MOGA or MOGRASP-MOGA depending on the problem parameters.

The non-identical parallel-machine scheduling problem is solved using a random-weight

multiobjective genetic algorithm. Also, efficient dispatching rules are proposed to obtain an

approximate pareto front, and it is shown that batching with different batch sizes provides

good solutions. The performance of the genetic algorithm using an initial population con-

122

Page 139: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

structed with the dispatching rules is assessed and compared to the solutions provided by the

dispatching rules depending on the problem factors. Among those factors are the break-even

duration, the inter-arrival time of jobs, the average processing time, and the number of jobs.

A design of experiment proves that some factors and their interactions have a significant

effect on the convergence of the algorithm and on the number of solutions it provides.

To the author’s best knowledge, the problems studied and models proposed in this disser-

tation examines, for the first time in the literature, the minimization of energy consumption

as one of the objectives while minimizing of some other scheduling objectives. The contri-

bution of this work can be summarized in the following points:

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

proposed for single and multi-machine scheduling problems.

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

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

weights is proposed to solve multiobjective scheduling problems.

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

solve multiobjective problems.

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

shows promising results and better performance.

The frameworks proposed in this dissertation may be utilized to solve a large set of

scheduling problems with different objectives. However, there are some limitations and

possible extensions that will define future research, which is presented in the next section.

7.2 Future Research

The methods developed in the previous chapters are useful to minimize energy con-

sumption and other scheduling objectives on a single machine or on parallel machines. The

123

Page 140: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

proposed mathematical models could be extended to more complex multi-machine environ-

ments, such as a complete production line. Also, a maintenance program could be designed to

include energy cost in the total cost to minimize when maintenance scheduling is performed.

A model of the reliability of machines under frequent turn-off/turn-on operation constraints

may be helpful in the design of an optimal maintenance framework. Simple heuristics can

be useful to obtain an approximate pareto front without complex calculations (such as the

SPT or EDD rule) for the single-machine problem. Finally, models and methods could be

developed for machines with multiple sleep-mode states. A more detailed description of

possible future research directions is provided below.

7.2.1 Reliability Study with Machine Setup

Turning on and off the machine might accelerate the decrease in reliability of a machine

resulting from mechanical shocks. Further research can be conducted to determine the trade

off between machine wear due to repeated on/off cycles and energy savings. A model could

be developed and included in the energy usage minimization framework to capture the effect

of turning on/off the machine on its reliability.

7.2.2 Maintenance Scheduling with Energy Concerns

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

age, due to wear and tear, they begin to consume more energy to perform the required tasks.

Either a reactive maintenance (i.e., machines are repaired when a breakdown occurs) or a

preventive maintenance is required. If there is more than one machine to be maintained when

a breakdown occurs, the machine with the highest expected cost is scheduled for preventative

maintenance. However, the cost function used in these problems are usually associated with

lost production and/or scheduling performance. Energy consumption, which is an increasing

function of the age of the machine, is usually not considered in the total cost. Moreover,

energy cost can be associated with machine breakdown to account for possible repair energy,

124

Page 141: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

7.2.3 Simple Heuristics to Generate Approximate Pareto Solutions

Dispatching rules are heuristics, which are easy to implement and fast to calculate, and

can be used in real time to schedule jobs. Moreover, dispatching rules are not as CPU

consuming as exact algorithms or metaheuristics. Two applications for dispatching rules

125

Page 142: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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.

7.2.4 Multi-Machine, Multiobjective Scheduling with Energy Concerns

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

consumption, and deviation from load balancing is proposed. However, this model only

applies to parallel machines which may be identical or non-identical. Another scheduling

model needs to be developed to solve scheduling problems with multiple machines in series.

A specific framework for minimizing energy usage as well as other scheduling objectives

needs to be designed for this problem. The single machine framework and the multi-machine

framework (parallel or serial machines) can eventually be used together in an environment

where some processes can be done on several machines (parallel or serial) and other processes

can only be executed on a specific machine.

126

Page 143: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

Even more energy savings could be achieved by considering the flow of the product from

machine to machine and considering the production of a part as a system. Thus, scheduling

in the whole system will be an opportunity for more energy savings.

7.2.5 Multiple Sleep-Mode States

Developing machines with multiple sleep-mode states and a specific controller for those

machines may result in significant energy savings. In this environment, the lower power

modes would have different warm-up times and warm-up energy, and would cancel out the

negative effects of turning on and off the machine. Mobile devices such as cell phones or

laptop computers are already equipped with different sleep-mode states (i.e., standby mode,

hibernate mode, screen off mode, etc.). The reason to have multiple sleep modes in embedded

systems is to extend the battery life by reducing energy consumption. The same principle

could be applied to manufacturing equipment to reduce energy usage. Each sleep mode

would have a different warm-up time, warm-up energy, and idle energy consumption, which

would eliminate the constraint of having no time for a setup between two jobs. The method

would have to be used with new machines that are equipped with multiple sleep-mode states.

Swaminathan and Chakrabarty [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

Page 144: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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:

• pk: processing time of job j

• rj: release date of job j

• Powerprocessing: processing power of the machine (hp)

• Energyssetup: setup energy of the machine to go and come back from sleep mode s

(hp.sec)

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

• Powersidle: idle power of the machine in sleep mode s (hp)

The variables used to model the problem are defined as follows:

• cj: completion time of job j

• yij =

1 if job j follows job i

0 otherwise

128

Page 145: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

• Sijs =

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

0 otherwise

The following model can be used to solve the multiple sleep-mode states scheduling problem

described above:

Minimize total completion time:

minn∑j=1

cj (7.1)

Minimize total energy consumption:

minn∑j=1

(cj − pj −n∑i=1

ciyij) ∗ Powersidle ∗ (1− Sijs)︸ ︷︷ ︸Idle energy

(7.2)

+n∑i=1

n∑j=1

m∑s=1

Sijs ∗ Energyssetup︸ ︷︷ ︸Setup energy

+n∑j=1

pj ∗ Powerprocessing︸ ︷︷ ︸Processing energy

The constraints are defined as follows:

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

((ck − pk)− cj) ≥ T sB ∗ Sjks, ∀j = 1...n, ∀k = 1...n 6= j, ∀s = 1...m (7.4)

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

cj, yij, Sijs ≥ 0 (7.6)

This model is not linear but could be linearized to obtain a mixed-integer linear program.

Also, the model could be extended to the multi-machine scheduling problem, either in series

or in parallel. This model could also be solved using a multiobjective genetic algorithm. The

chromosomes could be defined as a string for the job order and a string specifying the kind of

setup between two consecutive jobs. For example, [2 1 4 3]+[1 2 0] represents a chromosome

with 4 jobs. The jobs are processed in the order 2, 1, 4, and 3, and there is a setup of type

129

Page 146: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

Page 147: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

REFERENCES

131

Page 148: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

[2] Akturk, M. S., Ghosh, J. B., and Gunes, E. D. (2003). Scheduling with tool changesto minimize total completion time: a study of heuristics and their performance. NavalResearch Logistics, 50(1), pp. 15-30.

[3] Akturk, M. S., and Yildirim, M. B. (1998). A new lower bounding scheme for the totalweighted 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 weightedtardiness 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 togroundings and delays. Journal of Combinatorial Optimization, 5, pp. 211-228.

[6] Armentano, V. A., and Araujo, O. C. B. (2006). Grasp with memory-based mechanismsfor minimizing total tardiness in single machine scheduling with setup times. Journalof 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 greedyrandomized adaptive search procedure for job shop scheduling. Essays and Surveys inMetaheuristics, ATT Labs Research Technical Report.

[9] Botros, K. K., and Sennhauser, D. J. (2004). Effects of dynamic penalty parameters onthe convergence of MOGA in optimization of a large pipeline network. Proceedings otthe 10th American Institute of Aeronautics and Astronautics Multidisciplinary Analysisand 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). Dominanceand 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 singlemachine 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. IEEEJournal 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

Page 149: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[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., and Portmann, M. C. (1992). Some new efficient methods to solve then|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 searchheuristics for single machine scheduling with batch set-up times to minimize totalweighted 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&DExpo, 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 isNP-hard. Mathematics of Operations Research, 15(3), pp. 483-495.

[24] Duman, E., and Yildirim, M. B. (2007). Scheduling continuous aluminium castinglines. 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 jobtardiness. 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

Page 150: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[33] Flexible Energy Inc., Energy Review Fall 2001, retrieved September 3, 2007, fromhttp://www.flexibleenergy.com/html/trends.html.

[34] Fonseca, C. M., and Flemming, P. J. (1993). Genetic algorithms for multiobjectiveoptimization: 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. Annalsof 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 familieson 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 CleanerProduction, 13, pp. 1-17.

[41] Hariri, A. M. A., Potts, C. N., and Uzsoy, R. (1983). An algorithm for single machinesequencing with release dates to minimize total weighted completion times. DiscreteApplied 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 objectivesequencing 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 ProductionResearch, 44, pp. 981-998.

[47] Jones, C. E., Sivalingam, K. M., Agrawal, P., and Chen, J. C. (2001). A survey ofenergy 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

Page 151: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[49] Kirkpatrick, S., Gelatt Jr., C. D., and Vecchi, M. P. (1983). Optimization by SimulatedAnnealing. Science, 220(4598), pp. 671-680.

[50] Kordonowy, D. N. (2002). A power assessment of machining tools. Bachelor of ScienceThesis in Mechanical Engineering, Massachusetts Institute of Technology, Cambridge,Massachusetts.

[51] Koulamas, C. (1994). The total tardiness problem: review and extensions. OperationResearch, 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 schedulingin parallel machines. Journal of Intelligent Manufacturing, 2, pp. 253-260.

[54] Lambert, A. J. D. (2003). Disassembly sequencing: A survey. International Journal ofProduction Research, 41, pp. 3721-3759.

[55] Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimizetotal 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 machinescheduling problems. Annals of Discrete Mathematics, 1, pp. 343-362.

[59] MacCarthy, B. L., and Liu, J. (1993). Addressing the gap in scheduling research: Areview of optimization and heuristics methods in production scheduling. InternationalJournal of Production Research, 31(1), pp. 59-79.

[60] Marler, R. T., and Arora, J. S. (2004). Survey of multi-objective optimization methodsfor enginnering. Structural and Multidisciplinary Optimization, 26, pp. 369-395.

[61] Martin, E. T., and Crossley, W. A. (2002). Empirical study of selection method formultiobjective 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 Planningand Control, 13(2), pp. 143-154.

[65] Ceciliano Meza, J. L., Yildirim, M. B., and Masud, A. S. M. (2007). A model for themultiperiod multiobjective power generation expansion problem. IEEE Transactionson Power Systems, 22(2), pp. 871-878.

[66] Montoya-Torres, J. R. (2003). Competitive analysis of a better on-line algorithm tominimize total completion time on a single-machine. Journal of Global Optimization,27, pp. 97-103.

135

Page 152: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[67] Mouzon, G., Yildirim, M. B., and Twomey, J. (2007). Operational methods for theminimization 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 algorithmand 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-jobflow 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 thesingle 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 forthe 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 Journalof Operational Research, 32(3), pp. 405-414.

[74] Prabhaharan, G., Khan, B. S. H., and Rakesh, L. (2006). Implementation of GRASPin flow shop scheduling. International Journal of Advanced Manufacturing Technology,30, pp. 1126-1131.

[75] Rajakumar, S., Arunachalam, V. P., and Selladurai, V. (2006). Workflow balancingstrategies 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 balancingin 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-poweredembedded 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 searchprocedures, 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 GRASPas an upper bound for a branch and bound in a scheduling problem with non-relatedparallel machines and sequence-dependent setup times.

[82] Ross, M. (1992). Efficient energy use in manufacturing. Proceedings of the NationalAcademy of Sciences, USA, 89, pp. 827-831.

136

Page 153: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[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 minimizeweighted and unweighted tardiness: A state-of-the-art survey. International Journalof 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 ResearchLogistics 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/Odevice scheduling in hard real-time systems. IEEE Transactions on Computer-AidedDesign 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 PentonvilleRoad London N1 9JN UK. 254, USA.

[93] Tam, A. S. B., Chan, W. M., and Price, J. W. H. (2007). Maintenance scheduling tosupport the operation of manufacturing and production assets. International Journalof 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 ofthe 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 schedulingproblems. 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. InformationSciences, 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 networkdesign and implementation for condition-based maintenance. ACM Transactions onSensor Networks, 3(1), pp. 1-23.

137

Page 154: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

[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 LargeScale 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). Energyprofiles 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 EvolutionaryComputation, 1, pp. 204-211.

[104] Vianna, D. S., and Arroyo, J. E. C. (2004). A GRASP algorithm for the multi-objectiveknapsack problem. XXIV International Conference of the Chilean Computer ScienceSociety, pp. 69-75.

[105] Wu, H., Ravindran, B., Jensen, E. D., and Li, P. (2006). Energy-efficient, utility accrualscheduling under resource contraints for mobile embedded systems. ACM Transactionson Embedded Computing Systems, 5(3), pp. 513-542.

[106] Yildirim, M. B., Duman, E., Krishna, K., and Senniappan, K. (2007). Paralell machinescheduling with load balancing and sequence dependent setups. International Journalof Operations Research, 4(1), pp. 42-49.

[107] Yuan, W., and Nahrstedt, K. (2003). Energy-efficient soft real-time CPU schedulingfor 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 fromNature, 5th International Conference, Amsterdam, The Netherlands, pp. 292-310.

138

Page 155: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

APPENDIX

139

Page 156: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

APPENDIX A

MATHEMATICAL MODEL

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

ming model. In the first step, the first objective, equation (3.1), needs to be transformed

into a linear objective. This can be done by simply adding two sets of constraints, equa-

tions (A.3) and (A.4), and two new continuous variables, α and β. The constraints and the

minimization objective function will ensure that α = maxj cj and β = minj cj:

minc,y,α,β,z,a,x

(α− β) ∗ Poweridle −n∑j=1

n∑k=16=j

yjk (A.1)

minc,y,α,β,z,a,x

n∑j=1

cj (A.2)

α ≥ 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:

ck − cj ≥ pk −Mzkj, ∀j = 1...n ∀k = 1...n 6= j (A.5)

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

140

Page 157: OPERATIONAL METHODS AND MODELS FOR MINIMIZATION OF ENERGY

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

set of constraints:

((ck − pk)− cj)− TB ≤ Bx1jk, ∀j = 1...n ∀k = 1...n 6= j (A.7)

− cl + cj +Kaljk ≤ Bx2jkl, ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k (A.8)

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

(yjk − (((ck − pk)− cj) ∗ Poweridle − Energysetup)) ≤ B(2n− 3− x1jk −∑l

x2jkl −∑l

xjkl3),

(A.10)

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

(−yjk + (((ck − pk)− cj) ∗ Poweridle − Energysetup)) ≤ B(2n− 3− x1jk −∑l

x2jkl −∑l

x3jkl),

(A.11)

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

− (((ck − pk)− cj)− TB) ≤ Bx4jk, ∀j = 1...n ∀k = 1...n 6= j (A.12)

− (−cl + cj +Kaljk) ≤ Bx5jkl, ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k (A.13)

− (cl − ck −K(1− aljk)) ≤ Bx6jkl, (A.14)

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

yjk ≤ B(1− x4jk), ∀j = 1...n ∀k = 1...n 6= j (A.15)

yjk ≤ B(1− x5jkl), ∀j = 1...n ∀k = 1...n 6= j ∀ l = 1...n 6= j 6= k (A.16)

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

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

and continuous variables.

141