I declare that I have read this thesis and in my opinion this thesis has satisfied the scope and quality for the award of the degree of Doctor of Philosophy in Computer Science”.

Signature :

Name of Supervisor : PM. Dr. Rose Alinda Alias

Date : 17 Februari 2003

Signature :

Name of Supervisor : PM. Dr. Siti Mariyam Shamsuddin

Date : 17 Februari 2003

Signature :

Name of Supervisor : PM. Dr. Md. Noor Md. Sap

Date : 17 Februari 2003

BAHAGIAN A – Pengesahan Kerjasama*

Adalah disahkan bahawa projek penyelidikan tesis ini telah dilaksanakan melalui kerjasama antara ______dengan ______

Disahkan oleh: Tandatangan : Tarikh : Nama : Jawatan : (Cop rasmi)

* Jika penyediaan tesis/projek melibatkan kerjasama.

BAHAGIAN B – Untuk Kegunaan Pejabat Sekolah Pengajian Siswazah

Tesis ini telah diperiksa dan diakui oleh:

Nama dan Alamat Pemeriksa Luar : Prof. Dr. Zainodin Jubok Pusat Pengajian Pascasiswazah Universiti Malaysia Sabah Malaysia

Nama dan Alamat Pemeriksa Dalam : PM. Dr. Safaai Deris Fakulti Sains Komputer dan Sistem Maklumat UTM Skudai, Johor Bahru Malaysia

Nama Penyelia Lain (jika ada) : 1. PM. Dr. Siti Mariyam Shamsuddin 2. PM. Dr. Md. Noor Md. Sap

Disahkan oleh Peno long Pendaftar di SPS: Tandatangan : Tarikh : Nama : Hj. Dahari bin Hj. Derani

MODIFIED SWEEP ALGORITHM WITH FUZZY-BASED PARAMETERS FOR PUBLIC BUS ROUTE SELECTION

GUNADI WIDI NURCAHYO

A thesis is submitted in fulfilment of the requirements for the award of the Degree of Doctor of Philosophy

Faculty of Computer Science and Information System Universiti Teknologi Malaysia

APRIL, 2003

To my parents and especially, My beloved wife, Retno Ngesti Rahayuningsih and My beloved son, Raihan Widi Ekoprabowo

ACKNOWLEDGEMENTS

I would first and foremost like to extend my deepest gratitude and appreciation to my supervisors Dr. Siti Mariyam Shamsuddin, Associate Professor Dr. Rose Alinda Alias, and Associate Professor Dr. Mohammad Noor Md. Sap for their support and encouragement throughout the study.

I would also like to thank H. Herman Nawas and Hj. Zerni Melmusi, Akt., MM. for their financial support and, most of all, their invaluable help and motivation towards the completion of my study.

I would like to thank my colleagues, staff, and lecturers in the Faculty of Computer Science and Information System for their help, facilities, and conducive working environment.

Finally, above all, I would like to praise and thank almighty Allah SWT for giving me the determination and will to complete this study.

v

ABSTRACT

This research investigates route selection for a public bus routing problem. Route selection in many vehicle routing problems is based on distance because the purpose is mainly for goods delivery. For a public bus transportation company, route selection is mainly based on demand. However, in the case being investigated in this study, demand could not be determined because the routes considered for selection were new routes which have never been used before. This research developed a technique for public bus route selection based on unknown demand. This research consists of three phases. In the first phase, existing sweep algorithm was tested using the routes currently used by the company. Then, in the second phase, sweep algorithm was modified with an extension of weighted-directed (WIDI) graph technique to replace the Travelling Salesman Problem (TSP) technique. In the third phase, this research incorporated a fuzzy system which fuzzified the three parameters of demand, distance and type of road. The initial experiment demonstrated that the existing algorithm did not solve the public bus route selection because it was based on TSP technique, where distance is the main criteria. The modified sweep algorithm implemented in the second phase generated routes based on demand. However, this experiment used known demand, whereas the problem considered in this research is based on unknown demand. Therefore, in the third phase, the modified sweep algorithm was implemented using fuzzy-based parameters consisting of three stages. The route identification stage identified all new nodes and links. The route evaluation stage converted fuzzy data using the fuzzy system into crisp values which were assigned as the weights of links. Finally, route selection stage implemented the proposed WIDI graph search technique to select new links. It was demonstrated that the modified sweep algorithm using fuzzy-based parameters was able to select new routes with unknown demand. The fuzzy-based technique had successfully represented the unknown demand. Therefore, the technique was able to generate the same route as that which was generated by the modified sweep algorithm with known demand. However, the fuzzy-based technique had an advantage of being able to represent the unknown demand in linguistic value. vi

ABSTRAK

Penyelidikan ini mengkaji pemilihan laluan bagi masalah menentukan laluan bas awam. Pemilihan laluan bagi kebanyakan masalah menentukan laluan kenderaan adalah berdasarkan kepada jarak kerana tujuan utamanya adalah untuk penghantaran barang. Bagi syarikat pengangkutan bas awam, pemilihan laluan adalah lazimnya berdasarkan permintaan. Walau bagaimanapun, dalam kes yang disiasat dalam kajian ini, permintaan tidak dapat ditentukan kerana laluan yang dipertimbangkan untuk pemilihan adalah laluan-laluan baru yang tidak pernah digunakan. Kajian ini telah manghasilkan suatu teknik pemilihan laluan bagi bas awam berdasarkan permintaan yang tidak diketahui. Penyelidikan ini terdiri daripada tiga fasa. Dalam fasa pertama, algoritma sweep sedia ada telah diuji menggunakan laluan-laluan yang sedang digunakan oleh syarikat tersebut. Di dalam fasa kedua pula, algoritma sweep diubahsuai dengan meluaskan teknik graf terarah untuk menggantikan teknik Travelling Salesman Problem (TSP). Di dalam fasa ketiga, kajian ini menggunakan sistem kabur di mana ketiga-tiga parameter permintaan, jarak dan jenis jalan telah dikaburkan. Eksperimen awalan menunjukkan algoritma sedia ada tidak dapat menyelesaikan masalah pemilihan laluan bas awam kerana ia berasaskan teknik TSP, di mana keriteria utama ialah jarak. Algoritma modified sweep yang digunakan dalam fasa kedua menjanakan laluan berdasarkan permintaan. Walau bagamanapun, eksperimen ini menggunakan permintaan yang diketahui, sedangkan masalah yang dipertimbangkan dalam penyelidikan ini berdasarkan permintaan yang tidak diketahui. Oleh itu, dalam fasa ketiga, modified sweep telah dilasanakan menggunakan parameter-parameter berteraskan system kabur yang terdiri daripada tiga peringkat. Peringkat pengecaman laluan mengenalpasti semua nod dan pautan baru. Peringkat penilaian laluan menukar data kabur kepada nilai jelas menggunakansistem kabur yang ditetapkan sebagai pemberat pautan. Akhir sekali, peringkat pemilihan laluan melaksanakan teknik carian graf WIDI yang dicadangkan untuk memilih pautan-pautan baru. Kajian ini menunjukkan bahawa algoritma modified sweep menggunakan parameter berasaskan sistem kabur boleh memilih laluan-laluan baru di mana permintaan tidak diketahui. Teknik berasaskan sistem kabur telah berjaya mewakilkan permintaan yang tidak diketahui. Oleh itu, teknik tersebut boleh menjana laluan yang sama seperti laluan yang dijana oleh modified sweep dengan permintaan yang diketahui. Walau bagaimanapun, teknik berasaskan system kabur ini mempunyai kelebihan untuk mewakili permintaan yang tidak diketahui dalam bentuk nilai linguistik. vii

LIST OF CONTENTS

CHAPTER TITLE PAGE

ABSTRACT v ABSTRAK vi LIST OF CONTENTS vii LIST OF TABLES xiii LIST OF FIGURES xv LIST OF ABBREVIATIONS xviii LIST OF APPENDICES xx

I INTRODUCTION 1 1.1 Introduction to Vehicle Routing Problem 1 1.2 Background of the Problem 4 1.3 Problem Statement 6 1.4 Objectives of the Study 7 1.5 Importance of the Study 7 1.6 Scope of the Study 8 1.7 Assumptions 9 1.8 Organization of the Thesis 9

II LITERATURE REVIEW 12 2.1 Introduction 12 2.2 Vehicle Routing Problem (VRP) 12 2.2.1 Definition 12 2.2.2 Current Problems in Vehicle Routing Problem 14 viii

2.2.2.1 Vehicle Dispatch Problem (VDP) 14 2.2.2.2 Travelling Salesman Problem (TSP) 15 2.2.2.3 Vehicle Routing Problem with Time Windows (VRPTW) 16 2.2.2.4 Vehicle Fleet Planning (VFP) 17 2.2.2.5 Route Selection Problem (RSP) 17 2.2.3 Current Problems in Public Bus Routing Problem (PBRP) 19 2.2.4 Solutions in VRP and PBRP 20 2.3 Selected Solutions and Direction of the Solutions 26 2.3.1 Sweep Algorithm 26 2.3.2 Fuzzy System 27 2.4 Fuzzy Systems in Vehicle Routing Problem 28 2.5 Summary 29

III RESEARCH METHODOLOGY 30 3.1 Introduction 30 3.2 Operational Framework 30 3.2.1 Case Study 32 3.2.1.1 Profile of the Company 32 3.2.1.2 Route Selection of the Company 35 3.2.1.3 Bus Routing of the Company 39 3.2.1.4 Route Profile 45

ix

3.2.2 Analysis and Description of the Problem 46 3.2.2.1 Input Data 46 3.2.2.2 Data Collection 47 3.2.2.3 Data Analysis 47 3.2.3 Problem Formulation 48 3.2.4 Design and Development 48 3.2.4.1 Model Formulation 48 3.2.4.2 Testing and Validation 49 3.3 Summary 51

IV PROBLEM DESCRIPTION AND MODEL FORMULATION 52 4.1 Introduction 52 4.2 Problem Definition 52 4.2.1 VRP and Public Bus Route Selection 53 4.2.2 Characteristics of the Problems 54 4.3 Model Formulation 56 4.3.1 Sweep Formulation 56 4.3.2 TSP Formulation 58 4.3.3 Graph 60 4.4 Summary 61

V SWEEP ALGORITHM 62 5.1 Introduction 62 5.2 Sweep Algorithm 62 5.3 Sweep Algorithm for Public Bus Routing Problem 65 5.3.1 Definition 65 5.3.2 Results of Original Sweep Algorithm 67

x

5.3.3 Evaluation of the Original Sweep Algorithm 70 5.4 Summary 71

VI MODIFIED SWEEP ALGORITHM 73 6.1 Introduction 73 6.2 The Modification of Sweep Algorithm 74 6.2.1 Definition 74 6.2.2 Proposed Model 76 6.2.2.1 Components 76 6.2.2.2 Design of the Modified Sweep Algorithm 81 6.3 Implementation of the Modified Sweep Algorithm 87

6.3.1 Results of Modified Sweep Algorithm 88 6.3.2 Evaluation of the Modified Sweep Algorithm 95 6.4 Comparison between Sweep Algorithm and Modified Sweep Algorithm 97 6.4.1 Comparison 98 6.4.2 Conclusions 103 6.5 Summary 104

VII MODIFIED SWEEP ALGORITHM WITH FUZZY-BASED PARAMETERS 106 7.1 Introduction 106 7.2 Proposed Model 108 7.2.1 Route Identification 109 7.2.2 Route Evaluation 109 7.2.3 Route Searching 111 7.3 Algorithm for Fuzzy System Design 112 7.4 The Use of Fuzzy System 112 xi

7.4.1 Fuzzification 114 7.4.2 Input Parameters 115 7.4.2.1 Demand (D) 115 7.4.2.2 Link Distance (LD) 118 7.4.2.3 Type of Road (TR) 120 7.4.3 Inference Rules and Output Parameter 121 7.4.4 Defuzzification 125 7.5 Combining Fuzzy System with the Modified Sweep Algorithm 128 7.6 Implementation of the MSA with Fuzzy- based Parameters 130 7.6.1 Definition 130 7.6.2 Results of MSA using Fuzzy- based Parameters 133 7.7 Summary 140

VIII RESULTS AND DISCUSSIONS 141 8.1 Introduction 141 8.2 Discussion on the Results of the Research 141 8.2.1 Sweep Method 141 8.2.2 WIDI Graph Search 143 8.2.3 Fuzzy-based Parameters 144 8.2.4 Defuzzification Technique 145 8.3 Summary 147

IX CONCLUSIONS 148 9.1 Strengths and Weaknesses 148 9.2 Contributions 149 9.3 Conclusions 150 9.4 Future Works 151

xii

9.4.1 Capacitated Vehicle Routing Problem 151 9.4.2 Multiple Depots Vehicle Routing Problem 153 9.4.3 Vehicle Routing Problem with Time Windows 155

REFERENCES 157 APPENDIX A - I 170-223

xiii

LIST OF TABLES

NUMBER TITLE PAGE

2.1 Summary of Solutions to Vehicle Routing Problems 24 3.1 Distribution of DAMRI Offices 32 3.2 Number of Employee 33 3.3 Bus Composition 35 3.4 Routes Maintained by DAMRI 43 3.5 Tools and Equipments of the Research 50 4.1 Characteristics of VRP Solutions and Public Bus Route Selection Problem 55 4.2 Characteristics of Models 56 5.1 Nodes Coordinates 66 5.2 Route Performance of Constraint 200 68 5.3 Routes Performance of Constraint 600 68 5.4 Results of Sweep Algorithm 69 6.1 Data of a Directed Graph 83 6.2 Clustering using Forward Sweep 88 6.3 Results based on Forward Sweep 89 6.4 Clustering using Backward Sweep 90 6.5 Result based on Backward Sweep 91 6.6 Node Coordinates 99 6.7 Route Selection using Sweep Algorithm 99 6.8 Characteristics of the Algorithms 102 7.1 Link Distance 118 7.2 Type of Road 120 7.3 Connected Links 131 xiv

7.4 Fuzzy Results using Three Parameters 139 8.1 Comparison of Centroid and MOM 146

xv

LIST OF FIGURES

NUMBER TITLE PAGE

1.1 Types of Problems in VRP 3 3.1 Operational Framework 31 3.2 Routes Maintained by the Company 37 3.3 Route Selection Procedure of the Company 39 3.4 Bus Routes in Crow-fly Mode 41 3.5 Route Patterns of 20 Buses 44 4.1 Directed and Undirected Graphs 60 4.2 Graph G(V, E) 61 5.1 Polar Coordinate Angles 63 5.2 Clustering Process 64 5.5 Current Routes 67 5.6 Forward and Backward Sweep Performances 71 6.1 Modification of Sweep Algorithm 75 6.2 Two Connected Nodes 77 6.3 Weight 78 6.4 Adjacent Array 79 6.5 Queue Data Structure 80 6.6 Conceptual and Physical Stack Implementation 81 6.7 A Directed Graph 81 6.8 82 6.9 Adjacent Determination 84 6.10 Algorithm for Traversing Process 85 6.11 Algorithm for Tracking Process 86 6.12 Algorithm for Searching Process 87 xvi

6.13 Result of Forward Sweep Algorithm 89 6.14 Result of Backward Sweep 91 6.15 Route I-A (Forward and Backward Sweep) 92 6.16 Routes I-B, I-C, I-D (Forward Sweep) and I-C (Backward Sweep) 92 6.17 Routes II-A, II-C (Forward) and II-C, II-D (Backward) 93 6.18 Routes II-B, II-D (Forward) and II-A, II-B (Backward) 93 6.19 Route I-B (Backward Sweep) 94 6.20 Route I-D (Backward Sweep) 94 6.21 Generated Routes Performance based on Distance 95 6.22 Generated Routes Performance based on Demand 96 6.23 Average Demands of Routes 96 6.24 Comparisons on Route Distance 100 6.25 Comparisons on Demand 101 6.26 Comparison of SA and MSA 103 7.1 The Task of Fuzzy System 107 7.2 Modified Sweep Algorithm with Fuzzy-based Parameters 108 7.3 Current Links and Additional Links 109 7.4 A Selection Case 111 7.5 Fuzzy Parameters Shown in Matlab 113 7.6 Fuzzy System Definition in Matlab 114 7.7 Triangular Fuzzy Number D Representing Demand 116 7.8 Fuzzy Sets of Demand 116 7.9 Definition of Demand Membership Function in Matlab 117 7.10 Fuzzy Sets of Link Distance 119 7.11 Definition of Link Distance Membership Function in Matlab 119 7.12 Fuzzy Sets of Type of Road 121

xvii

7.13 Definition of Type of Road Membership Function in Matlab 121 7.14 Link Membership Function 122 7.15 Definition of Link Membership Function in Matlab 123 7.16 Fuzzy Relations 124 7.17 Combined Membership Functions 127 7.18 Example of Combined Membership Functions 128 7.19 The Combination of Fuzzy System and the MSA 129 7.20 Demand Patterns 134 7.21 Fuzzy Associative Matrix 135 7.22 Fuzzy Results for Demand=1 136 7.23 Fuzzy Results for Demand=12 136 7.24 Fuzzy Results for Demand=0 and Distance=10 138 7.25 Fuzzy Results for Demand=10 and Distance=10 138 9.1 Single Depot CVRP 152 9.2 Phases of MDCVRP Algorithm 154 9.3 Vehicle Routing Problem with Time Windows 156

xviii

LIST OF ABBREVIATIONS

ABBREVIATION DESCRIPTION

BADD Basic Defuzzification Distribution BDARP Bimodal Dial-A-Ride Problem COA Centre of Area COG Centre of Gravity CVRP Capacitated Vehicle Routing Problem DRG Dynamic Route Guidance DSS Decision Support System GA Genetic Algorithms MBSA Matching Based Savings Algorithm MDCVRP Multiple Depots Capacitated Vehicle Routing Problems MOM Mean of Maxima MSA Modified Sweep Algorithm PBRP Public Bus Routing Problem PBRS Public Bus Route Selection RSP Route Selection Problem SA Sweep Algorithm SDCVRP Single Depot Capacitated Vehicle Routing Problem SIS Spatial Information System TSP Travelling Salesman Problems UPT Unit Pelaksana Teknis (Technical Operation Unit) VDP Vehicle Dispatching Problem VFP Vehicle Fleet Planning VRP Vehicle Routing Problem VRPTW Vehicle Routing Problem with Time Windows xix

WIDI Graph Weighted-Directed Graph XCOA Extended Centre of Area

CHAPTER I

INTRODUCTION

1.1 Introduction to Public Bus Routing Problem

Many transport problems facing Asian cities are typically those that have arisen because of the application of inappropriate transport policy, planning and design measures. These measures are often the result of policy and planning responses which were originally evolved in industrialized countries but are unsuitable in a Third World context. Such responses fail to take into consideration the different character of urban settlements in Third World countries and, furthermore, the different and broader range of transport technologies available. This insensitive mismatch has led to all kinds of anomalies in the implementation of transport policies and plans. One striking example is the use of public bus mode in Third World cities.

The development of transportation technology in Indonesia has improved significantly. However, this development has not been supported by appropriate transportation policy and plans. There is an unbalanced development between transportation technology and transportation policy. This can be seen through the fast growth of the number of transportation companies but the limited use of technology.

The term “technology” here includes not only the technology which the vehicles use but also the technology that supports the overall operations of the transportation companies. To be more specific, the role of technology should exist in several aspects such as operation, maintenance, repair, routing, and scheduling of the 2 vehicles. An aspect that this research deals with specifically is route selection for public transportation network which is an important part of routing problem in a transportation company.

In order to represent a real world vehicle routing problem particularly in Indonesia, a branch office of DAMRI for city bus located in Semarang, the capital of Central Java, was chosen as the case study for collection of field data. It is assumed that these data represent data of transportation companies in Indonesia.

An important transportation area that this research focuses on is the Vehicle Routing Problem (VRP) that was originally posed by Dantzig and Ramser (1959). There are several types of problems in VRP, as illustrated in Figure 1.1. Figure 1.1 illustrates the relationships of the types of problems in VRP domain and the focus of each problem. This research highlights the most common types of problems, namely the Travelling Salesman Problem (TSP), Vehicle Fleet Planning (VFP), Vehicle Dispatch Problem (VDP), Vehicle Routing Problem with Time Windows (VRPTW) and Route Selection Problem (RSP).

Various techniques and algorithms have been used to solve these problems. TSP has been widely used to select routes based on shortest path (Chatterjee et al., 1996; Cowling and Maffioli, 1995; Gendreau et al., 1998; Mosheiov, 1994; Rego, 1998). VFP relates to the distribution of vehicles in serving customers (Couillard, 1993; Desrochers and Verhoog, 1991; Salhi and Sari, 1997; Tsubakitani and Evans, 1998). VFP concerns the selection of routes based on time, distance and demand (Couillard, 1993; Salhi and Rand, 1993; Salhi and Sari, 1997). VDP focuses on dispatching vehicles to reach certain locations based on customer’s request with time constraint (Forbes et al., 1994; Rego and Roucariol, 1995). VRPTW addresses VRP with time constraint (Desrochers, 1992; Thangiah et al., 1991; Savelsbergh, 1992; Koskosidis et al., 1992; Potvin and Rousseau, 1993). RSP includes two problem domains i.e. dynamic routing and static routing. The examples of dynamic routing are school bus routing, taxi routing and dynamic route guidance for in-vehicle routing (Akiyama and Uchida, 1992; Watling and van Vuren, 1993; Psaraftis and Tsitsiklis, 1993). An example of static routing is public bus routing that is the domain of the public bus route selection problem addressed in this research. Public 3 bus route selection problem in this research is defined as a selection of a set of links with unknown demand to generate new routes.

Scheduling

Call-a-service Distribution of VRPTW vehicles Vehicles

VDP VRP VFP

TSP RSP

Static Dynamic

Goods delivery PBRP In-vehicle route guidance PBRS Research area

Types of problems Generating Focus of the new routes problem

VRP = Vehicle Routing Problem, TSP = Travelling Salesman Problem, VDP = Vehicle Dispatch Problem, VRPTW = Vehicle Routing Problem with Time

Windows, VFP = Vehicle Fleet Planning, RSP = Route Selection Problem, PBRP = Public Bus Routing Problem, PBRS = Public Bus Route Selection.

Figure 1.1: Types of Problems in VRP

4

1.2 Background of the Problem

There are two types of routes in a transportation network, i.e. static and dynamic route. Each type is usually followed by different types of transportation services. Routes followed by public bus are static because the bus is not allowed to change links for several constraints, such as: regulations, type of roads, and competitors. In generating routes, a transportation company must follow the regulations which are given by local government. The regulation is usually related to the other constraints, e.g. narrow path. This type of road is not suitable for public bus and is usually provided for transportation services which use smaller vehicles. Public buses are also not allowed to use links when competitors have already existed at the given links unless the service given by competitors is not enough to satisfy demand. Concerning the constraints in determining routes, identification of links is required in generating static routes.

Dynamic route, on the other hand, is followed by transportation service for goods delivery or dial-a-ride vehicles. These types of vehicles are allowed to change their links in order to visit customers quickly. The generation of dynamic routes can be performed by concerning route distance. The vehicle searches for shortest path to minimize cost.

Public bus route selection problem as a class of PBRP is a problem in generating new routes where demand is not known meaning that it is difficult to determine the number of passengers carried by the buses in searching for new routes. However, the number of passengers can be calculated by using estimation in a route where public transports have existed. This solution has not fully covered the public bus routing problem since it is feasible only if historical data are available. In other words, estimation can be used only for maintaining or evaluating routes where public transport services are available. An extensive solution is required for solving public bus route selection problem where public transports have not existed. In generating new routes, demand is unknown and a particular method is required to solve this kind of problem.

5

As explained in Section 2.2.2, several algorithms have been used for solving VRP based on different types of problems. This section highlights the most common heuristic algorithms used to address the VRP consisting of Dijkstra Algorithm, Tabu Search, Sweep Algorithm, and fuzzy route choice. This section also briefly describes current issues in PBRP which is the focus of this research.

Dijkstra’s algorithm is a well-known algorithm in route selections for VRP where the selection is based on shortest-path (Dijkstra, 1959). Tabu search is another well-known heuristic algorithm introduced by Glover (1989). However, both algorithms are only appropriate for solving VRP with known demand or customers. In searching for best routes, these algorithms compute the shortest distance by determining the nearest neighbour of a customer. Sweep Algorithm (Gillet and Miller, 1974) solved Vehicle Dispatch Problem concerning shortest distance by using a technique called Travelling Salesman Problem. The disadvantage of Sweep Algorithm is the use of Travelling Salesman Problem in the route selection process that is based on shortest path. Therefore, Sweep Algorithm is implemented for searching routes with shortest distance. More description on this algorithm is given in Section 2.3.

Solutions to VRP which incorporate fuzzy system also exist. Many of the solutions addressed VRP focusing on dynamic route guidance, such as Shaout et al. (1993) and Pang et al. (1995). A route guidance system is a routing system that provides instructions to drivers based upon optimum route solutions. Other solutions have been proposed for solving VRP assuming that the quantities to be served at the nodes are deterministic as introduced by Dror et al. (1989), Dror and Trudeu (1986), and Teodorovic et al. (1992). A different solution offers a technique to cover VRP with uncertain demand (Teodorovic and Pavkovic, 1996). This technique can be used to solve public bus routing problem where demand are uncertain but a further improvement is required since it concerns short distance in searching for the best route.

There are several studies conducted in the PBRP domain. Tamin (1997) proposed an approach for estimation of public transport demand. Although related to public bus routing, this research focuses only on demand estimation where public 6 transport are already available. Soehodho and Nahry (2000) developed a strategic approach for optimizing the operation of public transport system. Passengers of public transport are assumed to seek a minimum waiting time to conduct the trip. Another research that is similar to the problem addressed in this research is the design of public transit network that analyze and optimize routes and frequencies of transit (Soehodho and Koshi, 1999). The analysis is based on elastic demand. Another research by Liu and Wirasinghe (2001) describes a simulation model for a fixed transit route that focuses on scheduling.

Based on the description above, it is found that common solutions to route selection in VRP focuses on finding shortest path. Extensive solution using fuzzy is appropriate for dynamic route guidance. Studies in PBRP focus on the estimation of demand, operation optimization, scheduling and route optimization that is based on elastic demand. It is concluded that there are two common problems addressed by the existing solutions in VRP and, particularly in PBRP i.e. route selection based on shortest path and public bus routing for known demand. Therefore, an interesting problem addressed in this research is solving route selection problem for public transport based on unknown demand using fuzzy system as an estimation technique.

1.3 Problem Statement

This research focuses on the development of a technique for route selection in public bus routing problem based on links with unknown demand. Links with unknown demand are new links that are connected to generate new routes and have not been serviced by any public bus. The following research questions are addressed to solve the problem:

a) How can the existing heuristic algorithm be modified for route selection in public bus routing problem based on links with unknown demand?

b) How can fuzzy technique be used to generate parameters for links with unknown demand? 7

1.4 Objectives of the Study

The main objective of this research is to develop a route selection technique in public bus routing problem based on links with unknown demand. This research also aims to achieve the following objectives:

a) To analyze and determine the characteristics of the public routing problem.

b) To test and evaluate the existing sweep algorithm in solving the public bus routing problem with known demand.

c) To modify the existing sweep algorithm for route selection in public bus routing problem with known demand.

d) To develop a fuzzy-based model and to generate fuzzy-based parameters for links with unknown demand.

e) To evaluate the feasibility of the proposed algorithm using real data from the case study.

1.5 Importance of the Study

This study is conducted particularly to construct a fuzzy-based model for solving bus routing problem. In general, this study introduces a rule-based fuzzy model in vehicle routing problem, particularly in public bus routing problem. The model is designed to perform two important tasks in a public bus company. The first task is analyzing currently-maintained routes of the company for optimization. This task gives suggestion of new combinations of routes that may have better performance than the original routes. Consequently, a decision whether to use the original routes or to replace with new routes can be drawn. The second task is to search for potential routes which are currently unavailable. This task is performed 8 when more demand requires transportation service and there are no public transport serving the area. In this task, demand data are represented as linguistic form as exact data are not known.

Result of this study can be used for conducting a comparative study in the future in order to discover whether the proposed system is suitable for different problems in the area of vehicle routing problem. In addition, the model can also be used in other cities in Indonesia because it was designed as a general solution to public bus routing in Indonesia.

1.6 Scope of the Study

The study focuses on exploring methods for public bus route selection as an important part of route selection processes in deciding appropriate route. This research is conducted in the following areas:

a. Reviews and comparisons of the existing solutions in the area of Vehicle Routing Problems and other related areas.

b. Implementation and evaluation of the existing algorithms in solving public bus routing problem.

c. Design and coding of the proposed algorithm.

d. Implementation and evaluation of the proposed algorithm in solving public bus routing problem.

e. Designing the fuzzy-based parameters and combining the fuzzy system with the proposed algorithm.

f. Implementation and evaluation of the proposed algorithm with fuzzy- based parameters in solving public bus routing problem. 9

g. Case study on the vehicle routing problem to find real world problems faced by a transportation company i.e. DAMRI that operates city bus in several big cities.

h. Analysis and evaluation on a public bus routing located in Semarang to represent public buses that exist in Indonesia.

1.7 Assumptions

This research is conducted under the following assumptions:

a) The data collected from the company and observation, are error free and data are collected under normal conditions of road networks.

b) The computation time is not considered in the implementation of both existing and proposed algorithms.

c) All calculations are made based on data at the time data collection is performed.

1.8 Organization of the Thesis

This section presents how this thesis is organized. The main structure of the thesis consists of introduction, literature review, methodology, design, results, discussions and conclusions in chapters described as follow:

Chapter I: Introduction This chapter introduces the research topic consisting of eight sections i.e. Introduction to Vehicle Routing Problem, Background of the Problem, Problem Statement, Objective of the Research, Importance of the Study, Scope of the Study, 10

Assumptions, and Organization of the Thesis.

Chapter II: Literature Review This chapter presents current studies in the area of vehicle routing problems and evaluate the advantages and disadvantages of the existing solutions.

Chapter III: Research Methodology This chapter describes the operational framework of the study consisting of the case study that introduces the profile of the company and illustrates the real conditions of a public transport service. This chapter also describes the steps in which this research is conducted i.e. data collection, data analysis, design and development, and also testing and validation of the models.

Chapter IV: Problem Description and Model Formulation Definition of the problem addressed in this research and the model formulation are presented in this chapter

Chapter V: Sweep Algorithm This chapter presents the initial experiment using Sweep Algorithm. The original sweep algorithm is implemented and evaluated using public bus routing problem domain. The implementation uses data from the case study.

Chapter VI: Modified Sweep Algorithm Based on the results of the original sweep algorithm, a modified sweep algorithm is designed and an extended experiment is presented and evaluated using data from the case study with additional nodes and links.

Chapter VII: Modified Sweep Algorithm with Fuzzy-based Parameters The fuzzy-based parameters are introduced and designed in this chapter. The results of the experiment are also presented and evaluated.

Chapter VIII: Results and Discussions The results of the experiments are summarized and discussed in this chapter.

11

Chapter IX: Conclusions This final chapter discusses the strengths and weaknesses of the thesis. This chapter also suggests the future works that can be done for the extension of the proposed technique. Finally, this chapter concludes the work of this research.

CHAPTER II

LITERATURE REVIEW

2.1 Introduction

Vehicle Routing Problem is one of the important issues that exist in transportation system. Many researchers have been working in this area to discover new methodologies in selecting the best routes in order to find better techniques. In this chapter, a review of works relating to Vehicle Routing Problem is presented.

2.2 Vehicle Routing Problem

Review on Vehicle Routing Problem (VRP) in this section consists of definitions of VRP, current problems in VRP and the existing solutions to Vehicle Routing Problem.

2.2.1 Definition

VRP is defined in many ways according to the particular problems addressed by the researchers. The VRP which was originally posed by Dantzig and Ramser (1959) may be defined as a number of customers at known locations are to be supplied with a commodity which is delivered from a single depot by vehicles with 13 both capacity and distance restrictions. The focus of this research is how to deliver goods or commodity to known customers with capacity and distance constraints. This means that the vehicle is assigned to the route for goods movement to different locations. Fahrion and Wrede (1990) defined a basic VRP as how to route the vehicles in such a way that each vehicle is assigned exactly one route, which has its source and sink node in the depot node.

Most VRP research are intended to minimize operational cost as the focus of the research as defined by the following researchers. The vehicle routing problem involves the running of a vehicle from one warehouse picking up or delivering shipments to a set of customers, and strives to minimize costs (Uchimura and Sakaguchi, 1995). A different definition is also given by Ahn and Shin (1991), saying that vehicle routing problem is to find the routes of customers to be visited that minimizes total routing costs, satisfying some constraints. Nygard and Kadaba (1991) stated that vehicle routing problem involves a known collection of stop points that have demands for service, and a fixed fleet of limited capacity vehicles to serve the stops. Vehicle routing problem is concerned with the design of routes for a fleet for vehicles servicing a set of customers with known demand. The objective is to construct routes that service all customers at minimum cost and do not exceed the capacity of each vehicle (Potvin and Rousseau, 1995).

Vehicle routing problems involve the movement of a given set of objects from their original positions to their respective destinations (Muslea and Rey, 1997). This research addressed VRP that is similar to the problems addressed by Dantzig and Ramser (1959) in which the vehicle is assigned for goods movement to different locations or destinations. A specific definition on Multiple Depot Capacitated VRP is given. The Multiple Depot Capacitated VRP is an extension of well-known vehicle routing problem that involves routing a fleet of homogenous vehicles, originating and terminating at different depots with limited capacities and reach to service a set of customers with known demands (Filipec et al., 1997). Furthermore, Filipec et al. (1998) defined that vehicle routing problem consists of deciding which vehicles should deliver to which customers, and in what order, such that all customer demands are met, no constraints are violated, and to solve distribution problems faced by transportation companies.

14

Based on the definitions given by researchers, it is concluded that VRP has been studied extensively resulting different solutions with different objective and intention. Many of the solutions focus on solving VRP for goods delivery with known demand. It is found that there is no definition on VRP that focuses on route selection for public bus that put demand as consideration rather than short distance.

2.2.2 Current Problems in Vehicle Routing Problem

There are several issues found in the past research related to the Vehicle Routing Problem. The most common solutions are presented in the following sections.

2.2.2.1 Vehicle Dispatch Problem (VDP)

Basically there are two types of algorithms that can be used to solve the vehicle dispatch problem, i.e. exact and heuristic. Exact algorithms are ones that will yield an exact solution in a finite number of steps. Christofides and Eilon (1969) developed an exact algorithm based on a branch-and-bound approach that was limited to problems involving relatively few locations because of computer time involved.

Heuristic method developed by Tillman and Cochran (1968) was limited with no more than 100 locations. The one developed by Gillet and Miller (1974) is capable for bigger problems. Sweep algorithm that is used in this method divides the locations into a number of routes and then operates on the individual routes until an optimum or near-optimum solution is obtained.

15

2.2.2.2 Travelling Salesman Problem (TSP)

Travelling Salesman Problem (TSP) that focuses on finding shortest path is one of the most fundamental problems applicable in various fields. A large amount of works has been done on finding shortest paths. Moret and Shapiro (1991) define Shortest-Path Problem as a collection of simple paths from the initial vertex to all other vertices such that:

1. The set of arcs used in these paths forms a directed tree rooted at initial vertex. 2. The path from the initial vertex to any other vertex is a shortest path to that vertex.

The main objective of Shortest-Path Problem is searching the best route with minimum distance travelled by a vehicle. This section presents several algorithms which are familiar in Shortest-Path finding as follow:

1. Dijkstra’s Algorithm Dijkstra’s algorithm solves the following problem. Let G(V, E) be a weighted graph in which all weights are positive, and let x and y be a pair of vertices in G. Find the shortest path from x to y in G and its length, or show there is none. The algorithm uses a search tree technique and is based on the observation that the kth nearest vertex to a given vertex x is the neighbour of one of the jth nearest vertices to x, for some j

2. Floyd’s Algorithm Dijkstra’s algorithm requires the edge weight of a graph to be positive. Floyd’s algorithm allows negative weights as well, but requires the graph to be free of any cycle whose total edge weight is negative. The algorithm finds shortest path between every pair of vertices in G and detects negative cycles if they occur. It also provides a compact matrix representation for the |V|2 shortest paths found.

16

3. Ford’s Algorithm Ford’s algorithm finds the shortest paths from a given vertex v to every vertex reachable from v in a weighted graph G(V, E) with real edge weights and containing no negative cycles. When applied to a graph containing negative cycles, the algorithm will fail to terminate within |V| - 1 iterations, confirming the presence of a negative cycle. Ford’s algorithm solves the original problem by effectively embedding it in a sequence of sub problems. The embedding parameter is the number of edges on the path, and the algorithm finds successively longer shortest paths, i.e. shortest paths emanating from v with increasing numbers of edges. By the end of its kth iteration, the algorithm finds all the shortest paths emanating from v that have at most k edges.

4. Euclidean Shortest Paths: Sedgewick-Vitter Heuristic A Euclidean graph G(V, E) is a weighted graph embedded in Euclidean n-space whose vertices correspond to points in n-space and in which the weight of an edge (u, v) is equal to the Euclidean distance between the points u and v. The Sedgewick- Vitter algorithm adaptation of Dijkstra’s algorithm is as follows. For each vertex w, a lower bound denoted by Heur_Dist(w) on the distance through G from x to y on a shortest path through w is maintained. Heur_Dist(w) is defined as the length of the path from x to w through the search tree plus the Euclidean distance from w to y. While Dijkstra’s algorithm uses the distance through the search tree Dist(u) to determine which vertex u to select as the next vertex to enter subtree S; the Sedgewick-Vitter algorithm selects as the next vertex u to enter S that minimizes Heur_Dist(u). When the search reaches y, the algorithm terminates with the shortest path to y.

2.2.2.3 Vehicle Routing Problem with Time Windows (VRPTW)

As defined by Desrochers et al. (1992), VRPTW is a generalization of the vehicle routing problem where the service of a customer can begin with the time window defined by the earliest and the latest times when the customer will permit the start of service. In Vehicle Routing Problems with Time Windows, a set of vehicles

17 with limits on capacity and travel time are available to service a set of customers with demands and earliest and latest time for servicing (Thangiah et al., 1991). VRPTW addresses vehicle routing problem with time constraint. No vehicle is allowed to arrive too late at a customer location. On the other hand, a waiting time is introduced in the route if the vehicle arrives too early. Each route must then start and end within the bounds of this window.

The time windows are two-sided, meaning a customer must be served at or after its earliest time and before its latest time. If a vehicle reaches a customer before the earliest time, it results in idle or waiting time. A vehicle that reaches a customer after the latest time is tardy. A service time is also associated with servicing each customer. The route cost of a vehicle is the total of the travelling time (proportional to the distance), waiting time and service time taken to visit a set of customers. A Genetic Algorithm system known as GIDEON has been introduced to solve the problem. More heuristics in VRPTW are namely: 2-opt*, Or-opt, and Or-opt exchange heuristics.

2.2.2.4 Vehicle Fleet Planning (VFP)

Vehicle fleet planning (VFP) is different from the classical VRP. VFP deals with a heterogeneous fleet of vehicles. The objective is to find the fleet composition and a set of routes with minimum total cost, which includes routing cost and vehicle cost (Desrochers and Verhoog, 1991). There are several studies this type of problem in the area of Decision Support System and Operational Research (Couillard, 1993; Salhi and Sari, 1997; Salhi and Rand, 1993).

2.2.2.5 Route Selection Problem (RSP)

There are several solutions highlighted in this section. As stated in Section 1.1 (page 2), RSP is divided into two main categories i.e. static and dynamic routing.

18

The problems in dynamic routing discussed in this section are namely: single and multi depot routing and fuzzy route choice.

Skrlec et al. (1997) defines Single Depot Capacitated Vehicle Routing Problem (SDCVRP) as a problem where assignment of supply vehicle to each customer node in a way to achieve minimal overall cost satisfying the problems constraints like capacity of vehicle and the maximum reach at the same time is needed. Number of vehicles in SDCVRP definition is not limited, but part from the fact the solutions with fewer vehicles used usually being better (closer to the optimum), the application of the algorithm to real-life problems usually bring the requirement of limiting it.

Multiple Depots Capacitated Vehicle Routing Problems (MDCVRP) is an extension of Vehicle Routing Problem that involves routing a fleet of homogenous vehicles, originating and terminating at different depots with limited capacities and reach to service a set of customers with known demands (Filipec et al., 1997). The limited reach of vehicle stands for the constraint of maximum number of customers per vehicle’s route in order to ensure high reliability of customer’s supply bearing in mind the possible breakdown of vehicle.

Fuzzy route choice is a route selection that uses route attributes as input. The attributes are presented in fuzzy numbers. The task of fuzzy system is evaluating each alternative before the selection takes place. Recently, fuzzy system is used to support decision making for in-car guidance system as introduced by Shaout et al. (1993) and Pang et al. (1995). A fuzzy set theory approach to the vehicle routing problem was introduced by Teodorovic and Pavkovic (1996). The proposed system solves vehicle routing problem when demand at nodes is unknown and route length is variable. In this case, a vehicle may not serve the next route and return to the depot due to insufficient capacity.

Many of the models presented above assume that the quantities to be served at the nodes are deterministic. In recent years, research in which demand at node are treated as a random variable have started to be conducted as introduced by Dror et al. (1989), Dror and Trudeu (1986), and Teodorovic et al. (1992). The problem of

19 routing vehicles when stochastic demand at the nodes is known is referred to in the literature as the stochastic vehicle routing problem. The basic input data to solve such a problem are the probability density functions of the random variables representing demand at the nodes (Teodorovic and Pavkovic, 1996).

A Bimodal Dial-A-Ride Problem (BDARP) is a dial-a-ride problem that includes two transportation modes: paratransit vehicles and fixed route buses (Liaw et al., 1996). Riders in such a system might be transferred between different transportation modes during the service process. Dial-a-ride system is concerned with routing and scheduling paratransit vehicles in order to satisfy requests from customers for transportation. Another research on this problem presented a local search for Dial-A-Ride Problem (Healy and Moll, 1995). More problems in public bus routing as a part of RSP are discussed in Section 2.2.3.

2.2.3 Current Problems in Public Bus Routing Problem

Public transport concerns with many tasks ranging from policy, planning, operation and evaluation. Bus routes are among those data needed by both transport planners and operational managers (Zhengdong and Masser, 2002). Transit demand modelling has to rely on the transit stop, segment and route to integrate data from different sources so that the level of detail is suitable to the modelling purpose (Peng and Dueker, 1995).

Many of research in PBRP address dynamic routing problem. Studies in PBRP for school bus routing and scheduling can easily be found in the literature (Clark and Wright, 1964; Bodin and Berman, 1979; Nagurney, 1990; Forbes et al., 1991; Corber et al., 2002). School bus routing problems select routes based on shortest path and demand is known. In a paper relating to minimizing the number of school buses to be used, the aspect of assigning bus stops to individual routes in urban settings was addressed by Chapleau et al. (1985).

20

A different approach was proposed by Cohen and Crawford (1978) that studies the dependence of bus stop times on numbers of passengers boarding and alighting. Different models were suggested for one-door and two-door buses. A study is concerned with the effect of linking innovative bus-control systems with real-time passenger information, with the overall aim of improving conditions for bus operation and passengers in central urban corridors (Nelson, 1995). Murugesan and Moorthy (1998) used a fuzzy set approach that focused on the quality of services for public transport service evaluation. A research was aimed at elaborating a new methodology of shortest path finding by uitlizing the methods of taxonomy and genetic algorithm (Soehodho, 1998). A system was developed to create, analyze and optimize routes and frequencies of transit system in the network level (Soehodho and Koshi, 1999). The analysis is based on elastic demand; therefore, the shift of demand between modes in network due to different service level is of prime consideration. Zhengdong and Masser (2002) studied an extended bus line representation for public bus route selection. This study proposed a guidance to transit passengers for their pre-trip route searching for public bus services and was implemented in a heavily bus oriented city.

It is concluded that PBRP is an interesting and important problem to address considering that research in this area are still limited in finding shortest path, scheduling, and demand estimation. An interesting quote is taken from Wang and Po (2001), in several private firms compete in route-based or area-based market, routing becomes one of the means for higher returns rather than only for cost saving.

2.2.4 Solutions in VRP and PBRP

Many researchers had proposed solutions to vehicle routing problem in different areas such as: Operational Research, Artificial Intelligence, and Decision Support System. Each area may contribute a different algorithm that is specific for a certain problem. The works of researchers and their issues are presented in this section.

21

Gillet and Miller (1974) introduced and illustrated an efficient algorithm, called the sweep algorithm, for solving vehicle dispatch problems with load and distance constraints for each vehicle. The objective of sweep algorithm is to generate route with minimum total distance. The sweep technique of Gillet and Miller was modified by Nygard et al. (1986) for routing school buses in rural areas utilizing the computer systems. Desrochers and Verhoog (1991) proposed an algorithm called Matching Based Savings Algorithm (MBSA) for solving fleet size and mix vehicle routing problem. The major concerns in searching the routes in this research are minimum routing and vehicle cost, number of customers, and route distance. Fahrion and Wrede (1990) used Chain-exchange Principle for the basic one-depot vehicle routing problem. The Chain-exchange Principle represents a generalization of the improvement procedures removing just one or two customers. The number of customers is known. The shorter the chains and the more customers supplied within a route, the more exchanges of chains are feasible. A branch and bound algorithm for a general class of asymmetrical vehicle routing problems was described by Laporte et al. (1992). In this algorithm, vehicle routes start and end at a central depot. The research focuses on the minimum number of visit, number of vehicles, and route distance for goods delivery. An exchange heuristic known as k-opt exchange heuristic (Lin, 1965) has been expanded to a new 2-opt* exchange heuristic (Potvin and Rousseau, 1995) because the previously mentioned heuristic is not well adapted to problems with time windows. The problem solved in this research is concerned with the design of routes for a fleet of vehicles servicing a set of customers with known demands and minimum cost. The algorithm is best implemented for Travelling Salesman Problem.

Several researchers does not have proposed a new algorithm in solving vehicle routing problem but they only modify and extend the existing algorithm to suit with a particular problem. Ahn and Shin (1991) observed that most algorithms deal with vehicle routing problem with time windows and none of them deals with both time windows and time-varying congestion simultaneously. In this research, traffic congestion is concerned in the vehicle routing problem with time windows. Tabu Search is a well-known algorithm in vehicle routing problem and has been developed several times. One of them is a Tabu Search developed for vehicle routing problem with multiple uses of vehicles (Taillard et al., 1996). The problem

22 concerned in this research is vehicle routes with minimum total length, one visit by each vehicle, and limited total demand.

The next research area that will be described is Artificial Intelligence. Thangiah et al. (1991) introduced a genetic algorithm for solving vehicle routing problem with time windows called GIDEON. The problem involves routing a fleet of vehicles with limited capacity and travel time and known demands. This algorithm has been implemented supported by C language programming. A software system called XVRP-GA was developed that showed integrated framework for the system synergism in the domain of computer-aided vehicle routing and scheduling problems (Nygard and Kadaba, 1991). The system assists researchers and decision makers in applying mathematical algorithm to a specific routing problem instance by intelligently adapting the algorithm to the problem description. The objective is to find the minimum distance way to assign the stops to vehicles and specify the orders in which each of the vehicles visits its stops.

In another applied Artificial Intelligence (AI) research, GENESIS was used as the model genetic algorithm (Thangiah and Gubbi, 1993). This research deals with a set of vehicles to be routed from a central depot with limited capacity and travel time and also with known demand. Ikeda et al. (1994) proposed bidirectional A* algorithm based on the technique translating A* algorithm into the Dijkstra method. This algorithm is suitable for finding not only the shortest path but also better routes. A development of existing crossover method to a new crossover operator in AI was also proposed and compared the genetic algorithm using the partially matched crossover or a branch-and-bound method (Uchimura and Sakaguchi, 1995). The result of the proposed algorithm is the shortest round trip tour. Pang et al. (1995) used a fuzzy-neural approach to represent the correlation of the attributes with driver’s route selection. The research focuses on an optimum route search function in a typical in-car navigation system. The system used in this method is called Dynamic Route Guidance (DRG).

A modification of Dijkstra method was performed by Eklund et al. (1996) obtaining an algorithm that is applied in a 3D Spatial Information (SIS) for routing emergency service vehicles. Finding shortest path is the main concern in the

23 proposed algorithm. A parallel branch and bound algorithm was proposed and designed for solving the vehicle routing problem on networks of workstations (Lau and Kumar, 1997). The objective is to determine delivery routes with minimum total distance travelled by all vehicles for goods delivery. A genetic algorithm was proposed to solve single depot capacitated vehicle routing problem (Skrlec et al., 1997). The GA was developed in the basis of Travelling Salesman Problem. The genetic algorithm for solving multiple depots capacitated vehicle routing problem was proposed by Filipec et al. (1997). This research is also developed on the basis of experiences in solving the Travelling Salesman Problem. A more recent research of Filipec et al. (1998) proposed a genetic algorithm based heuristic for solving the problem of constrained vehicle routing problem. The objectives are to minimize total distance travelled by all vehicles, number of vehicles, and combination of vehicle costs and distance travelled for goods delivery. Pedroso and Saitama (1998) proposed an application in vehicle routing problem for newspaper distribution using Niche Search.

Research on vehicle routing problem in the area of Decision Support System is not as extensive as that in Operational Research and Artificial Intelligence. Research concerning in Vehicle Routing Problem in DSS is described in this section.

Potvin et al., (1994) introduced a microcomputer vehicle routing and scheduling system called Micro-ALTO. The overall objective is to minimize operational costs, maximize service quality and service time for goods delivery. This system allows interactive display and editing of transportation networks, as well as interactive specification of vehicle routing problems and problem solving strategies. A development of DSS for the automatic construction of paratransit vehicle routes and schedules for a Bimodal Dial-a-ride Problem was presented by Liaw et al. (1996). This is the only research that deals with bus route described in this chapter. The objective is to seek routes and schedules for the vehicles that minimize the total travel distance. Dial-a-ride system in the proposed DSS is concerned with routing and scheduling paratransit vehicles in order to satisfy requests from customers for transportation. Another research deals with development of a model and algorithm management system that provides support in modelling problem situations and in suggesting algorithms that might be applicable to the resulting models (Desrochers et

24 al., 1999). The proposed system will represent and manipulate information at three different levels i.e. real-life problem situation, abstract problem type, and algorithms.

Table 2.1: Summary of Solutions to Vehicle Routing Problems Solutions & Authors Application Characteristics of Existing Solutions Sweep Algorithm - goods delivery vehicle - Minimum total length of (Gillet & Miller, 1974) - public bus with route is a major concern capacity constraint - Additional distance may occur - Demand is unknown Matching Base Savings - Goods delivery vehicle - Solving fleet size and mix Algorithm (Desrochers vehicle & Verhoog, 1991) - Short distance is a major concern Exchange Heuristic - Goods delivery vehicle - Number of customer is (Lin, 1965) known - Short distance is major concern Chain Exchange - Goods delivery vehicle - Number of customer is Principle (Fahrion & - Vehicle routing known Wrede, 1990) problem with time - Time constraint is major windows concern Branch and Bound Shortest Path Problem and - Short distance is major Algorithm goods delivery concern (Laporte et al., 1992) - focuses on the minimum number of visit New Crossover shortest round trip tour - short distance and time (Uchimura & constraint Sakaguchi, 1995) Parallel Branch and vehicle routing problem on - minimum total distance Bound Algorithm Networks of Workstation for goods delivery (Lau & Kumar, 1997) Dijkstra Method Shortest-Path Problem - Short distance is major (Dijkstra, 1959) concern - all-directional approach Modified Dijkstra emergency service - Shortest path is the main Method (Eklund et al., vehicles routing concern 1996)

Tabu Search - Shortest-Path Problem - Short distance is major (Taillard et al., 1996) - One depot VRP concern - number of customer is known

25

Solutions & Authors Application Characteristics of Existing Solutions Tabu Search VRP with time windows - Solving VRP with time (Garcia et al., 1994; constraint windows constraint Brandao & Mercer, - Demand is known. 1997) Tabu Search - Shortest-path problem - Short distance is major (Renaud et al., 1996) - Multi depot VRP concern. - Demand is known. A* Algorithm Shortest-Path Problem - Shortest distance is major (Ikeda et al., 1994) concern 2-opt* exchange - VRP with time - time constraint is a major (Potvin & Rousseau, windows concern 1995) - best implemented for travelling salesman problem Or-opt-1 & Or-opt goods delivery vehicle - focus on node exchange exchange (Garcia et al., - number of customer is 1994) known GENESIS (Thangiah goods delivery vehicle - demand is known & Gubbi, 1993) Niche Search goods delivery vehicle - Route is selected based on (Pedroso & Saitama, time average 1998) Bimodal Dial-A-Ride paratransit vehicle routing - Involves transit between (Liaw et al., 1996) paratransit vehicle and fixed bus route Micro-ALTO goods delivery vehicle - Concerns on minimum (Potvin et al., 1994) operational cost, service quality and service time Extended bus line - guidance to transit - Route is selected for representation passengers demand transit (Zhengdong and - pre trip route searching - Implemented in a heavily Masser, 2002) bus oriented city Fuzzy-neural approach In-vehicle route guidance - Route selection based on (Pang et al., 1995) system driver’s preference Fuzzy Route Choice Automotive Navigation - Route selection based on (Shaout et al., 1993) System driver behaviour Fuzzy Route Choice Dynamic Route Guidance - Route selection based on (Pang et al., 1995; driver behaviour Watling & van Vuren, 1993)

There is a tool that is currently used by researchers to perform selection process that is an important part of a route selection process. The tool is known as fuzzy system that is used for route selection process. Fuzzy route choice for Automotive Navigation Systems was introduced by Shaout et al. (1993) to develop

26 accurate route choice and guidance in all over-the-road vehicles. Pang et al. (1995) developed an adaptive route selection that focuses on an optimum route search function in a typical in-car navigation system or dynamic route guidance (DRG) system.

Table 2.1 shows the characteristics of the existing solutions. The first column lists the existed solutions that have been discussed previously. The second column lists the applications that implement the solution. In the last column, the characteristics of the solutions are presented.

2.3 Selected Solutions and Direction of the Solutions

Based on the review of the existing solutions presented in Section 2.2 and summarized in Table 2.1, this section selects the best solutions for solving public bus route selection problem. The selection is made by considering the characteristics of the solutions as they are used for solving current problems.

2.3.1 Sweep Algorithm

Sweep Algorithm is a heuristic method for solving vehicle routing problem that divides the locations into a number of routes and incorporates TSP for generating routes based on shortest path. The Sweep Algorithm is selected in this research to solve public bus route selection problem because of the following advantages:

1. It is very useful for problems that have only a few locations per route on the average (Gillet and Miller, 1974). The Sweep Algorithm is tested for solving public bus route selection where there are few locations involve in the road network.

27

2. The algorithm enabled a quick determination of the set of vehicle routes, even for larger problems (Teodorovic and Pavkovic, 1996).

3. The algorithm implements clustering technique that is suitable for the case of public bus route selection. This clustering technique divides the locations into several areas and, therefore, a simple route selection process can be performed.

The Sweep Algorithm is implemented using real data of road network. This experiment is performed to identify the feasibility of the algorithm in solving public bus route selection problem.

2.3.2 Fuzzy System

In this research, fuzzy system does not directly solve the route selection problem. Fuzzy system is required in identifying unknown demand to provide data for the proposed algorithm. Fuzzy system is selected to support the proposed algorithm by considering the following advantages:

1. The ability of fuzzy system in representing data in linguistic form rather than in numerical form. In case of generating new routes, demand that is concerned in public bus route selection is unknown.

2. Its simplicity in estimating unknown data. The public bus route selection involves three parameters that are considered in the route selection process. The fuzzy system can simply convert the three parameters into a value as new consideration in the selection process.

The fuzzy system is used in the last phase of this research where a proposed model is tested and evaluated. The feasibility of the proposed model is justified by comparing the results of the experiments. The feasibility of the fuzzy-based

28 parameters is measured by comparing the data of road network in both numerical and linguistic representation.

2.4 Fuzzy Systems in Vehicle Routing Problem

Fuzzy logic has been widely used in control system development. Since the first introduction of “Fuzzy Set Theory” by Zadeh (1965) of University of California, Berkeley, there has been rapid development of the theory and application of fuzzy logic to control systems. This section describes the use of fuzzy logic in vehicle routing problem discovered by past researchers.

Fuzzy route choice for Automotive Navigation Systems introduced by Shaout et al. (1993) is performed based on two input parameters i.e. Road Type and Average Congestion. Both parameters vary between zero and one. In Road Type, there are six possible values: Interstates, Freeways, Tollways, Divided Highways, US and State Highways, County Roads, and Other Roads. Average Congestion consists of values namely: Normal, Slow, Urban, and Urban-Slow. For each possible combination of Road Type and Average Congestion, a value for Average Speed is stored in a two dimensional matrix. This Average Speed value is then multiplied by the link distance to give a link time. All of the link times are summed for each route and the path with the lowest total time is chosen to be passed to the route guidance sub-system.

Pang et al. (1995) developed an adaptive route selection that focuses on an optimum route search function in a typical in-car navigation system or dynamic route guidance (DRG) system. The route selection is performed based on route attributes namely: travel distance, travel time, degree of congestion, toll, difficulty of travel, and scenery (for long distance trip). The objective is to design an optimum route search function in a typical in-car navigation system in sequence that it will have the following characteristics:

1. It has a decision making assistant to the driver in route selection. In other words, it embodies a route selection algorithm.

29

2. It can model the behaviour of the driver by storing his preference and previous decisions or choices.

3. It can adapt and learn from the recent decisions of the driver.

Both fuzzy systems presented above share the same characteristics. Both systems are developed based on driver behaviour and typical for in-vehicle guidance. The system is used to support decision making in selecting a route based on driver’s preference. However, both systems may have different outcome since, in the first fuzzy system, the route is selected based on lowest total time resulted by the fuzzy system. In contrast, although travel time is one of the attributes, the result of the second fuzzy system may not have lowest total time.

2.5 Summary

Several models are presented and evaluated in this chapter. It is found that most of the VRP and PBRP solved by the models focus on finding shortest path and cover goods delivery with known demand. Sweep algorithm is the selected model for the case of public bus route selection problem. Several models that solve vehicle routing problems using fuzzy system are also presented. Fuzzy system is also selected to support the proposed model in capturing unknown demand.

CHAPTER III

RESEARCH METHODOLOGY

3.1 Introduction

In this chapter, the operational framework of this research and the methodology for conducting the research are presented. The case study is first presented and is followed by the definition of problem in the company that is addressed in this research. Data collection method required for the route evaluation is then specified. Sweep algorithm is chosen and evaluated based on the specified problem to identify the characteristics of the techniques provided in the literature. Based on the evaluation, the sweep algorithm is modified and implemented for solving public bus route selection problem. Design and development of the proposed model is introduced.

3.2 Operational Framework

This section describes operational framework of the research that consists of case study, definition of the problem, data collection, design and development, testing and validation. Case study consists of information related to the public transport company such as profile of the company, current routes, and current policy in selecting public bus routes. Definition of the problem describes how to solve the problem and what strategy to use. In data collection, data required in the route selection are defined. Description of how the data are collected and analyzed is also 31 given. Design and development present the construction and development of the proposed model. The final part is testing and validation describing how the model is tested to investigate the accuracy of the route selection process, and how the result of the route selection is validated. Figure 3.1 illustrates the operational framework of this research.

Analysis and Description of the

proble m

Problem Formulation

Sweep Algorithm Model

Formulation

Modified Sweep Testing Case Study Algorithm

Validation Modified Sweep Algorithm with Fuzzy- based parameters

Final Result

Figure 3.1: Operational Framework

32

3.2.1 Case Study

A case study on vehicle routing is conducted at DAMRI branch Semarang. Semarang is the capital of Central Java that has approximately 3,000,000 of population and 400 km2 wide. Geographically, Semarang has two types of land i.e. flat land, where the centre of the city takes place, and hilly land, located in the south of Semarang.

3.2.1.1 Profile of the Company

DAMRI is a company owned by government to provide transportation service throughout Indonesia. This is the first transportation company that has been existed since Japan conquered Indonesia in 1945. DAMRI has branch offices called Unit Pelaksana Teknis (UPT) that spread all over the provinces of Indonesia. These branch offices are under the monitoring of main office located in Jakarta.

Since the area that DAMRI serves is wide, DAMRI has to group the branch offices (UPT) into 5 different areas as shown in Table 3.1:

Table 3.1: Distribution of DAMRI Offices GROUP LOCATION NUMBER OF OFFICES Area 1 West Java 5 Area 2 Central Java 6 Area 3 East Java 7 Area 4 Sumatera 7 Area 5 Middle & East Indonesia 20 Total 45 Source: DAMRI (1998a).

33

The number of staff and other employees that are allocated to all branch offices are shown in Table 3.2:

Table 3.2: Number of Employee POSITION NUMBER Top Level Staff 361 Administration 2,052 Technician 1,056 Driver 3,246 Conductor 2,177 Total 8,892 Source: DAMRI (1998b).

The objective of DAMRI is to maintain and develop transportation service and to support development of isolated places in Indonesia. In achieving this objective, DAMRI has several policies:

a. Public service is the best priority b. Quality of service is always increased c. Good and efficient management d. Support national development e. Friendly fare (relatively cheap ticket price)

DAMRI deals with several services that are grouped into seven segments:

1. Inter-city Service This service is provided to support the development of economic activities among cities within provinces. This service exists in all provinces of Indonesia.

2. Inter-state Service Recently, this service exists to serve transportation from Pontianak (Indonesia) to Kuching (Malaysia).

34

3. City Bus Service This segment provides a regular service in a city. DAMRI provides this service for 14 cities in Indonesia, namely: Medan, Batam, Padang, Bandar Lampung, Bandung, Semarang, Surakarta, Yogyakarta, Surabaya, Jember, Denpasar, Kendari, Ujung Pandang, and Menado.

4. Airport Service This service is collaboration between DAMRI and Air Service that takes passengers from city bus station to the airport. Recently, this service exists in Soekarno-Hatta (Jakarta) and Djuanda (Surabaya) airports.

5. Package Service This segment serves merchandise transportation to increase productivity of industrial activities.

6. Tour Service Tour Service is provided to support the increasing of National Tourism Industry. This service exists in Jakarta, Yogyakarta, and Denpasar.

7. Isolated-city Service This segment provides transportation service to isolated regions in Indonesia, especially East of Indonesia suited to Government’s policies.

Table 3.3 shows the number of buses and trucks for each segment since 1989 until 1996.

35

Table 3.3: Bus Composition No Segment Des. 1989 1990 1991 1992 1993 1994 1995 1996 1. Isolated-city Bus 116 93 80 74 101 64 100 92 2. Inter-city Bus 239 253 287 280 231 275 281 292 3. Tour Bus 52 50 44 42 29 33 31 42 4. City Bus Bus 694 700 777 754 805 803 830 963 5. Airport Bus 58 56 47 41 39 66 50 113 6. Package Truck 8 8 12 10 8 9 14 12 7. Inter-state Bus - - - - 4 4 5 7 Total 1167 1160 1247 1201 1217 1254 1311 1521 Source: DAMRI (1996).

DAMRI uses buses that are grouped based on the company that made the buses, namely: Mitsubishi, Hino, and Mercedes Benz. These buses vary in age. There are many old buses that are still in use especially for city bus.

In common, the number of buses increases for every type of service except isolated-city service. This indicates that the number of service provided by DAMRI increases as well along with the increasing of urban number. In the case of isolated- city service, the decreasing of the number of bus shows that DAMRI has successfully participated in social and economic development because an isolated area is no longer isolated.

3.2.1.2 Route Selection of the Company

One of the seven sectors that exist in DAMRI was chosen in this research, i.e. city bus. An important part of city bus operation is bus routing, that is determined through a decision making process. Before a route is selected, different action and analysis process are performed to a group of alternatives.

36

There are four routes maintained by DAMRI for city bus operation as seen on Figure 3.2. All those routes are determined based upon the experience and knowledge of decision maker. The route selection process applied by DAMRI to involves the following:

1. DAMRI makes a survey for collecting data. The survey is intended to identify public requirements of transportation service. In this survey particular locations with the possible demand are noted.

2. Observation of flows is conducted to identify flow pattern. Flow pattern is required to determine origin and destination of certain route.

3. Survey on individual behaviour to learn the behaviour of passenger along the route. This includes identification of certain nodes that are frequently visited, travel distance most passengers take, and the longest distance that a passenger may travel.

There is no doubt that all those steps described above are very time consuming. Consequently, DAMRI does not have much time to find alternative route and compare the routes to obtain a best one. In addition, DAMRI has no rules or policies to perform the route selection process. This system certainly has drawbacks by which route determination is limited depending on the experience and knowledge of the decision maker in decision making process. Consequently, searching process to explore new routes and to select a route with minimum cost is hard to maintain. Furthermore, there are no tools available to support the search task.

a) Johar-Perumnas b) Ngalian-Pucang Gading

Figure 3.2: Routes Maintained by the Company c) Terboyo-Banyumanik d) Mangkang-Terboyo

Figure 3.2: Routes Maintained by the Company (continued) 39

Figure 3.3 shows the overall procedure of route selection conducted by the company.

Figure 3.3: Route Selection Procedure of the Company

It is found in the literature that there are many models provided to conduct a search task for route selection. The models are specific for searching shortest path. It is obvious that shortest path can be used as criteria to select a route but it is not a major concern in bus routing problem. In selecting the route, a user has to define all attributes of the candidate routes to be selected as the first step. The next step of the route selection is conducted by using one of the provided models.

3.2.1.3 Bus Routing of the Company

DAMRI maintain four routes in Semarang as shown in Figure 3.1 based on the company’s annual report (1998). The routes shown in Figure 3.1 are determined based on surveys conducted by DAMRI and requirement of the citizen of Semarang. The survey is required to discover market situation. Market situation is potential number of passenger in some nodes. The most potential nodes to be visited are 40 namely: markets, schools, hospitals, offices, and some crossroads. Therefore, a route is formed based on the number of potential nodes along the route. Major concerns of route selection for public transport of the company are namely:

1. Demand Demand is the main priority of the company in selecting routes. The company is expected to provide transport service to public and therefore it has to maintain several routes to satisfy demand.

2. Distance Distance is used in most vehicle routing problems where shortest path is a major concern. In case of public bus routing problem, distance is still concerned in selecting routes but it is not the major concern. A public bus route does not have to be short as long as it serves more demand and, in sequence, contributes more revenue to the company.

3. Type of Road Type of road consists of data which represent the physical condition road along the selected routes. There are certain conditions of road which are avoided by the transport company to minimize travel time and operational cost. Such conditions are namely: bad congested, bad surface, narrow path, and also certain roads where city buses do not allow travelling along because of government’s obligation.

Figure 3.4 shows the existing routes maintained by the company in a “crow- fly” mode where the paths are shown as straight lines. Note that the length of the lines does not represent the real distance of the paths. Each bus in its route uses exactly the same paths to go to the destination and return to the same terminal. As seen in the figure, the existing routes are connected by a centre node (square). The centre node is concerned by DAMRI to enable passengers to change bus for different destination. The passengers do not have to change bus in the bus station to save time travel. All bus stations in Semarang are located near the city border. Therefore, it will lengthen the time travel if the passengers have to change bus in the bus station.

41

a) Mangkang-Terboyo

b) Ngalian-Pucang Gading

Figure 3.4: Bus Routes in Crow-fly Mode

42

c) Terboyo-Banyumanik

d) Johar-Perumnas

Figure 3.4: Bus Routes in Crow-fly Mode (continued) 43

As seen on the Table 3.4, the number of buses for each route is at least 13 buses. Table 3.4 also shows that the average travel time for each route is 80 minutes. This travel time is determined based on the time required by a bus for completing a trip in the longest route.

Table 3.4: Routes Maintained by DAMRI Quantity of Number of Average Route Distance (Km) Trips Buses Time per trip (minutes) Mangkang – 20.5 10 24 80 Terboyo Ngalian – 24.2 10 15 80 Pucang Gading Johar – 17.5 10 13 80 Perumnas Terboyo – 16 10 13 80 Banyumanik Source: DAMRI (1998c).

The number of buses is determined based on the distance of the given route. The ideal distance of a route that DAMRI maintained, from start to end terminal, is 25 Km. Assume that there is one bus serving every 2 Km, the minimum number of buses serving the route is 20 buses. When 10 buses are on the way to the end terminal, ten other buses will be on the way to start terminal. Therefore, the last bus on the route will leave right after the first bus arrived at the same terminal. By using this strategy, it is expected that there will be at least one bus in every terminal waiting for passengers. It is assumed that a bus requires 5 minutes for every kilometre. Consequently, waiting time from the last bus visited in one node to the next bus is 10 minutes. Figure 3.5 illustrates a route pattern consisting of 20 buses.

44

Bus 20 Bus 19 Bus 12 Bus 11

Start End Term inal Terminal

Bus 1 Bus 2 Bus 9 Bus 10

Figure 3.5: Route Patterns of 20 Buses

It is a fact that cost is a crucial factor to be concerned because it is one of variables that is used to decide whether a route is profitable or not. The cost for a bus is collected from some costs needed to operate the bus. The first cost is operational cost of a bus that is calculated daily per kilometre. The second one is maintenance cost that is calculated in average for a certain period per kilometre. The third is salary for bus crews, i.e. bus driver and conductor. Each crew has basic salary and daily income. By subtracting the operational cost for a period from total income for the same period, the status whether it is profit or loss will be known. In brief, the profit calculation is:

Cost = operational cost + maintenance + salary (3.1) Profit = Revenue – Cost (3.2)

Revenue is collected from daily income of a route in a period. The revenue can be various for all routes. Number of passenger is the basic variable to get the total income. The capacity of each bus is 40 sheets in average. The basic fare for a passenger is Rp 700. It is assumed that there are no empty sheets in a trip. Therefore, the income for one trip is Rp 700 x 40 = Rp 28,000. If the bus has 12 trips in a route then the total income for the bus is Rp 28,000 x 12 = Rp 336,000. This number is ideal for DAMRI meaning that the minimum income of the transport service is not lower than Rp 336,000 daily for all trips.

45

In case the income per period for a route is greater than 0, it said that the route is profitable and feasible to be implemented. Otherwise, other alternatives are calculated and evaluated in the same way. Table A (see Appendix A) shows monthly budget and realization of basic cost and maintenance cost during 1999. It is shown in the table that the realization of operational and maintenance cost in a month is greater than the budget. The realization is 44.3% greater than the budget.

The bus operation in each route consists of 2 shifts. The first shift that is the same for all routes is started at 5.30 and the second shift is started normally between 12.48 and 12.50. The complete time tables for each route are shown in Appendix B.

3.2.1.4 Route Profile

This section presents the profile of both current routes and alternative routes including links, length of each link, junctions, traffic lights, and conditions of the related links. Normally, time travel for every route is 80 minutes per trip but due to congested conditions, especially at peak hours, a bus may travel up to 90 minutes per trip. Most of links in each route currently maintained by DAMRI are used in both directions, i.e. from origin to destination and reverse, except links Tantular, Tawang, Pengapon, Raden, and Suprapto. Unlike the other links, the four mentioned links are one way roads. The current route profiles are shown in the appendices.

Some links are used by more than one route such as links Pemuda, Sugiopranoto, Sudirman, and Siliwangi. Pemuda is used for Terboyo-Mangkang, and Terboyo-Banyumanik routes, while Sugiopranoto, Sudirman, and Siliwangi are used for Terboyo-Mangkang and Pucang Gading-Ngaliyan routes. Most links in the Johar-Perumnas route is the same as links used for Terboyo-Banyumanik route. The only difference is the Perumnas link that is headed to different direction. On the other hand, there are links that have not been used for the same destination such as: Pahlawan, Sriwijaya, and Wahidin links that can be used for Johar-Perumnas or Terboyo-Banyumanik route.

46

3.2.2 Analysis and Description of the Problem

This section firstly describes data required for the route selection and the relation between one data to another. Secondly, description of how data are collected is presented and finally, a technique of data analysis is also described.

3.2.2.1 Input Data

Data required for the route selection is the attributes of all links in the routes. There are three data inputs that will be presented in linguistic form as described below.

1. Demand Demand is data that indicates whether or not the route satisfies the requirement. A route is satisfactory for the company when the number of demand is high. Demand is determined for every link in a route. A link may consist of several nodes or locations where demands require a transport service to travel to certain locations in the given city.

2. Travel distance The linguistic number of demand is relative to travel distance. A certain number of demands at a link may be presented as “High” but it may be presented as “Medium” or even “Low” at the other link because the link has shorter travel distance. This data is important in order to avoid a very long route.

3. Type of road This data is required in the route selection to avoid or minimize bad links. Bad links are caused by bad condition of road, high populated road, different types of vehicles in the same path and too many hilly roads. These types of road will be avoided when there is alternative links that have a better type.

47

3.2.2.2 Data Collection

This research uses multiple-sources approach to give more complete and accurate data. Data are collected in 1999/2000 from the company by studying documents such as administrative reports, budgets, maps, files, time schedules, etc. It is essential to remember that these documents may not be accurate or bias. In fact, many are deliberately edited before issue, but they are important as a way to corroborate evidence derived from other sources. They may specify events and issues in grater detail than interviewees can.

Observation is also conducted to observe the attributes of links in the routes. Observation can be used to obtain the most recent data of the related attribute. The data is useful for comparison study with data captured from the documents. Observation is best used for collecting data in new links where public transports, particularly DAMRI, do not recently exist.

3.2.2.3 Data Analysis

Demand data change more frequently than the other input data. Hence, in order to easily show the pattern, demand data will be presented using frequency distribution. Having analysed the pattern, the decision maker can decide what linguistic data is best for the given attribute. For example, when the distribution is negatively skewed, it can be said that demand is “High” or “Very High”, and when it is positively skewed, demand is “Low” or “Very Low”. Difficulty of travel may be presented in the same way.

Linguistic data of travel distance and type of road are determined based on maximum limit a bus may travel. The maximum limit is determined by the decision maker. Travel time linguistic data, on the other hand, is determined relatively to travel distance. A travel time t for a travel distance s may be presented in linguistic form as “Short” but it may be presented as “Long” for a travel distance that is n Km shorter (s-n) than the former distance. 48

3.2.3 Problem Formulation

Problem formulation presents the formulations used by the sweep algorithm in solving the problems addressed in the previous research. The problem formulation includes formulations in clustering, calculations of angles and distance of nodes in the polar coordinate and also formulations in TSP used by the sweep algorithm.

3.2.4 Design and Development

Design and development of the techniques used in this research are conducted in three steps, namely: model formulation, testing and validation as explained in the following sub sections.

3.2.4.1 Model Formulation

The route selection model consists of three stages, i.e. route identification, route evaluation, and route selection. The route identification is performed based on the profiles of the road networks by the user. In this stage, the routes are identified based on number of nodes and their profiles route determined by the user. In the second stage where the routes will be evaluated, fuzzy system is used to convert the linguistic input to numeric data called crisp value. The crisp values will be the weight of each link in the generated routes. In the last stage, sweep algorithm is used to select the best route. The route selection is performed using weighted link approach used in the modified algorithm.

Fuzzy system obtains a weight through three steps of processing, namely: fuzzification, inference engine, and defuzzification. The fuzzification step uses triangular membership function to represent fuzzy numbers of the attributes. Triangular membership functions show a boundary of a linguistic data clearly and easily. The inference engine is developed by constructing rules to convert fuzzy 49 numbers to fuzzified values. The fuzzified values will be converted back to numbers called crisp values that will be the weight of the links using defuzzification method. Various defuzzification methods are found in the literatures and the most common methods are presented in Chapter II Section 2.5.3.2. A study to determine a better method is required in the final step by comparing two most common used defuzzification methods, i.e. Centroid and Maxima. Centroid defuzzification consists of Centre of Area, Centre of Gravity, and DECADE. Centre of Area is used to represent the Centroid defuzzification method. Maxima method consists of First of Maxima, Mean of Maxima, and Last of Maxima. Mean of Maxima is chosen to represent defuzzification techniques which belong to Maxima Methods. This method also belongs to fast defuzzification method.

The route selection model is developed using modified sweep algorithm supported by development tool called Matlab for conducting fuzzification and defuzzification process. Matlab can also be used to visualize fuzzy numbers of the input attributes. Table 3.5 lists the tools consisting of hardware and software used in each activity of the research.

3.2.4.2 Testing and Validation

The modified sweep algorithm is tested using real data of a road network and there are three main two steps of testing. In the first step, the original sweep algorithm is implemented for solving the public bus route selection problem. The results of this initial experiment are then evaluated and characterized. In the second step, the modified sweep algorithm is implemented for solving the same problem using the same data. In the last step, an extensive implementation of the modified sweep algorithm is performed using the same road network but with unknown demand. In this step, the modified sweep algorithm is combined with fuzzy system as a data provider. The use of fuzzy-based parameters for unknown demand and two additional parameters i.e. distance and type of road, are evaluated. The data patterns of the fuzzy-based parameters are compared to the pattern of numeric data.

50

Table 3.5: Tools and Equipments of the Research Activity Phase Hardware/Tool Software Route Scaling Case Study - City map - Scale sheet Data analysis Case Study Acer - Windows XP - MS Excel XP TSP programming Initial experiment Fujitsu Pascal v4 Implementation of Initial experiment Fujitsu Pascal v4 Sweep Algorithm WIDI Graph Modification of programming Sweep Algorithm Fujitsu Pascal v4 Implementation of Implementation of the Modified the Modified Fujitsu Pascal v4 Sweep Algorithm Sweep Algorithm Fuzzy system Implementation of design the Modified Acer Fuzzy Toolbox Sweep Algorithm (Matlab 6.1) Fuzzification and Implementation of Defuzzification the Modified Acer Fuzzy Toolbox Sweep Algorithm (Matlab 6.1) Implementation of Implementation of the Modified the Modified - Pascal Sweep Algorithm Sweep Algorithm Acer - Matlab 6.1 with fuzzy-based with fuzzy-based parameters parameters

The proposed sweep model is supported by fuzzy system in determining the weight of each link. The weight of a link is actually a crisp value that is converted by fuzzy system from the route attributes presented in linguistic forms. Fuzzy system is used because the attributes concerned in the selection process cannot be represented as exact numbers. In addition, there are subjective criteria that are considered such as difficulty of travel and type of road. These two attributes cannot be presented in numbers but they can be presented easily as one linguistic form. In brief, fuzzy 51 system is used to simplify the probabilistic or uncertain numbers of input attributes of each link that will be used in the modified sweep algorithm.

3.3 Summary

This chapter describes the case study that was conducted to identify current problems faced by a transportation company. During the case study, the required data are collected consisting of current and alternative road links, current routes, demand of current routes, and route profiles.

This chapter also presents the operational framework that describes how this research is conducted. The research begins with implementing the existing heuristic algorithm for solving the public bus routing problem. Based on the evaluation of the experiment, design and implementation of the modified heuristic algorithm are then carried out using the same data. Finally, the proposed model is combined with the fuzzy system and is tested to search for new routes where data are uncertain.

CHAPTER IV

PROBLEM DESCRIPTION AND MODEL FORMULATION

4.1 Introduction

In this chapter, the public bus route selection problem is described and the model formulation for solving the problem is presented. As shown previously in Figure 3.1 Section 3.2, this research involves three phases of experiments i.e. initial experiment for testing the original Sweep Algorithm, implementation of the Modified Sweep Algorithm and implementation of the Modified Sweep Algorithm with fuzzy-based parameters. Each step involves model formulation as presented in the following sections.

4.2 Problem Definition

This section describes the problem addressed in this research consisting of general description on public bus route selection as VRP and characteristics of the problems.

53

4.2.1 VRP and Public Bus Route Selection

As previously presented in Chapter II Section 2.2.2, VRP consists of several types of problems with different characteristics. For example, the vehicle dispatch problem concentrates on the distribution of vehicles rather than scheduling as it is the main focus on the VRP with time windows. The route selection has also been addressed in such types of problems and the solutions are based on the shortest distance. VRP in this research is defined as follows.

Definition 1: VRP is a problem in assigning different types of vehicles to certain locations to satisfy demand or customers.

This research addresses a public bus route selection problem as an alternative way in generating routes where demand is the major concern. The objective of the public bus route selection is to obtain a set of new routes in which demand is uncertain. Public bus route selection in the context of this research is defined as follows.

Definition 2: PBRS is a sub domain of VRP that focuses on generating new routes for public bus based on links where demand is unknown.

The generated routes are expected to satisfy as many demands as possible. In order to verify the proposed solution, a set of data collected from current routes maintained by a transport company is used. Evaluations on the existing solution and the proposed solution are made through phases of experiments. In general, this research involves three main phases of experiments as follow.

Phase 1: An existing solution is selected and implemented for solving public bus route selection problem. This experiment uses real data of a road network. In this phase, the existing algorithm is evaluated to discover the disadvantages in solving the problem. 54

Phase 2: A modification is made to the existing algorithm in order to solve the problem. Data form a real road network with additional nodes and links are used to test the modified algorithm. Note that this experiment uses data of real routes where demand is known. In this phase, the modified algorithm is implemented for solving public bus route selection problem using existing data of road network in Semarang, Indonesia.

Phase 3: The final experiment implements the modified algorithm for generating new routes with uncertain data. This phase includes the evaluations of fuzzy-based parameters as a proposed technique to provide the uncertain demand. In order to verify the feasibility of this technique, the parameters represented in linguistic values are tested step by step and the data patterns are studied and compared to the pattern of the numeric data.

4.2.2 Characteristics of the Problems

In solving route selection problem, the existing models use shortest distance as the major concern. Shortest distance is best suited to vehicle routing problems for goods delivery or travelling salesman problem. In the case of public bus route selection, shortest distance may not be selected when demands are not as many as required. Type of service is the other limitation of the existing models in which vehicles operated in the routes deliver goods from depot to destination nodes. Different type of service requires different approach in selecting the best route.

As reviewed in Chapter II, it is shown that most of the available solutions cover vehicle routing problems for goods delivery service. Some solutions that cover bus routing are limited for capacity constraint and known demand VRP such as: school bus and inter city bus. The solutions do not cover the public bus route selection problem that have different characteristics compared with problems addressed by the available solutions as shown in Table 4.1. 55

The sweep algorithm is the most appropriate method for solving public bus route selection problem because of the use of sweep method in clustering the locations and other advantages as previously presented in Section 2.3.1. The problem solved by the sweep algorithm and of the existing solutions shares common characteristics:

1. Demand at nodes are uncertain 2. A vehicle serves and picks demand at n nodes 3. There may be r alternatives of route 4. The number of nodes in each route is 1, 2, ..., n 5. Locations of the depot and nodes are known

Table 4.1: Characteristics of VRP Solutions and Public Bus Route Selection Problem Existing VRP Solutions Public Bus Route Selection Problem Major concerns: Short distance, capacity Demand is major concern constraint, time windows Route selection for goods delivery Route selection for public service Focuses on the minimum number of visit Focuses on revenue Additional distance is allowed No additional distance Demand is known Demand is not known (probabilistic) Route is selected based on time average Route is selected based on demand, and driver’s preference distance, time, degree of difficulty, and type of road. Drivers do not affect the route selection.

A model called sweep algorithm is adopted to perform the route generation and selection. Detail description on this algorithm is presented in Chapter V. This algorithm is chosen because of similar characteristics listed above. A modification to sweep algorithm, as presented in Chapter VI, is required because there are some characteristics that make the actual algorithm does not fully solve the problem of the company, as shown in Table 4.2.

56

Table 4.2: Characteristics of Models SWEEP ALGORITHM PROPOSED MODEL Objective To obtain minimum total length of To obtain route based on route demand Major concern Length of route Demand Fuzzy input Capacity, Preference, Distance Demand, Travel distance, Type of road Other issues A vehicle might not complete the All routes must be route and back to depot due to completed insufficient capacity Additional length of route may No additional length of occur route

4.3 Model Formulation

This section presents the general model formulation of public bus route selection consisting of Sweep formulation for generating clusters, TSP formulation for generating routes and Graph formulation for representing a road network.

4.3.1 Sweep Formulation

The model formulation for each step of the public bus route selection process is presented using the following notations (Gillet and Miller, 1974):

N = number of locations including the depot (location 1). Q(i) = demand at location i x(i), y(i) = rectangular coordinates of ith location C = capacity of each bus 57

A(i,j) = distance between location i and j An(i) = polar coordinate angle of location i R(i) = radius from location 1 to location i W(i, j) = weight of link from node i to node j.

The model formulation is as follows:

Step 1: Evaluate the polar coordinates for each location. Let An(i) represents the angle and R(i) the radius for location i. Radius is calculated by

R(i) = ((y(i) – y(1)) / (x(i) – x(1)) (4.1)

Therefore, the polar coordinate angle is

An(i) = arctan (R(i)), (4.2) where, -π < An(i) < 0 if y(i) – y(1) < 0 0 ≤ An(i) ≤ π if y(i) – y(1) ≥ 0 i = 1, 2, 3, …, N.

The constraints on the problem are Q(i) ≤ C, for all i (4.3) A(i, j) > 0, for all i ≠ j (4.4) A(i, i) = 0, (4.5) A(i, 1) + A(1, i) ≤ D, for all i. (4.6)

Step 2: Determine a location with the smallest angle Node(i) using equation

58

An(Node(i)) ≤ An(Node(i+1)), (4.7) where, i = 2,3,4, …, N.

Step 3: Check capacity constraint. If the capacity constraint is not exceeded then attach Node(i) to the same cluster. Otherwise, continue to the next cluster. Capacity constraint is checked by using equation

N ∑ Q(Node(i)) ≤ C, (4.8) i=1 where, i = 1,2,3, …, N.

Step 4: Calculate the minimum distance by means of a TSP algorithm. The TSP formulation is presented in Section 4.3.2. In implementing the Sweep Algorithm for solving public bus route selection, demand is considered in the selection process. In this step, demand is calculated by

T K Dt = ∑ ∑ Dij, (4.9) j=1 i=1 where, i is number of links in a route (i = 1,2,…,K), j is the number of routes (j = 1,2,…,T).

4.3.2 TSP Formulation

The Travelling Salesman Problem (TSP) is one of the most widely studied problems in vehicle routing problems (Tsubakitani et al., 1998). The Sweep Algorithm uses TSP in generating routes considering the shortest path. The simplest 59

TSP involves finding an optimal route for visiting n cities and returning to the point of origin, where the intercity distances are symmetric and known. Other variations of TSP have also aroused interest. This section presents TSP as the second stage of the Sweep Algorithm where nodes are linked based on the shortest distance. The formulation for standard TSP is as follows (Mosheiov, 1994):

N N Min ∑ ∑ d(i,j)Xij, (4.10) i=0 j=0 where, d(i,j) = distance between node i and j. i = 0, 1, 2,…, N j = 0, 1, 2,…, N

Xij is a decision variable where Xij=1 if the vehicle travels along arc (i,j) and Xij=0 otherwise.

The TSP may be asymmetric or symmetric depending on whether it is formulated on a directed or undirected graph. These types of TSP are indicated by their . A TSP is asymmetric when the distance of nodes in column A to B is not equal to the distance of nodes in column B to A. In symmetric TSP, on the other hand, the distance of nodes in column A to B is equal to that in column B to A. The asymmetric TSP is represented as a directed graph and the symmetric TSP is represented as an undirected graph.

Suppose that a salesman is required to make a round trip through a given collection of p cities. TSP has a natural graphical interpretation. Let G (see Section

4.3.3) be the connected weighted graph whose vertices vi (1 ≤ i ≤ p) represent the cities to be visited, and let the weight w(vi vj) if the edge vi vj denote the distance to travel directly between vi and vj. It may be assumed that G is complete, for if there is no direct route between vi and vj, w(vi vj) = d(vi, vj) can always be defined.

60

4.3.3 Graph

A graph is a collection of nodes, called vertices, and a collection of line segments, called lines, connecting pairs of vertices (Gilberg and Forouzan, 2001). In other words, a graph consists of two sets, a set of vertices and a set of lines. Graphs may be either directed or undirected. A directed graph, or digraph, is a graph in which each line has a direction to its successor. The lines in a directed graph are known as arcs. The flow along the arcs between two vertices can follow only the indicated direction. An undirected, on the other hand, is a graph in which there is no direction on any of the lines which are known as edges. In an undirected graph, the flow between two vertices can go in either direction. Figure 4.1 shows the example of both directed and undirected graphs.

a. Directed Graph b. Undirected Graph

Figure 4.1: Directed and Undirected Graphs

Two vertices in a graph are said to be adjacent vertices (or neighbours) if an edge directly connects them. In Figure 4.1a, A and B are adjacent, whereas A and D are not. A path is a sequence of vertices in which each vertex is adjacent to the next one. In Figure 4.1b, {A, B, D} is one path and {A, C, B} is another. Note that both directed and undirected graphs have paths. In an undirected graph, travel may be made in either direction.

As previously mentioned, graph is used to represent the road network consisting of nodes and lines connecting the nodes. In this research, a directed graph is considered to represent nodes, links, and directions. The notation of a directed graph is:

61

G = (V, E), (4.11) where, V = source node, E = destination node,

E ⊆ V × V.

Nodes in graph G, as shown in Figure 4.2, are connected by using lines which are known as paths. The connection of an origin node to destination node is denoted as: Ver[i,j] where ver is a label given to the path connecting node i and node j.

V E

Node

Directed link

Figure 4.2: Graph G(V, E)

In this graph, V is the source node and E is the destination node and is also known as the adjacent of node V.

4.4 Summary

This chapter presents the problem description of the research and the model formulation consisting of sweep formulation and TSP formulation. These model formulations are used in the implementation of both existing and proposed algorithms.

CHAPTER V

SWEEP ALGORITHM

5.1 Introduction

This chapter implements the original sweep algorithm for solving public bus routing problem using the data of routes currently maintained by DAMRI. The objectives of this experiment are:

a) To test the capability of the algorithm of solving public bus route selection problem.

b) To study the characteristics of the algorithm and discover the advantages and disadvantages in solving the problem.

The experiment is performed several times using different capacity constraint of the vehicle. The results are then evaluated and summarized in the final section.

5.2 Sweep Algorithm

Sweep algorithm is applied to polar coordinates and the depot is considered to be the center of the coordinate. The depot is joined with an arbitrarily chosen point called node. All other nodes are joined to the depot and then aligned by increasing angles that are formed by the segments that connect the nodes to the depot; the 63 segment that connects the depot to a node is assumed to be the first node. Figure 5.1 illustrate the angle of nodes in the polar coordinate. Polar coordinate angle αi for node i is defined as:

αi = arctan((yi - y1) / (xi - x1)) (5.1)

where:

-π<αi <0, if yi-y1<0,

0≤αi ≤π, if yi–y1≥0, i = 2, 3, 4, …, N.

Assume the locations are renumbered according to the size of their polar coordinate angle, i.e. αi<αi+1 for all i. If there exist an i and j such that αi=αj then i

Figure 5.1: Polar Coordinate Angles

64

Sweep Algorithm consists of two stages:

Stage 1: Clustering Figure 5.2 illustrates a clustering process of several nodes. The black dots represent the nodes and the straight lines represent the sweep hand that moves anti-clockwise. Clustering is performed by joining nodes beginning from the closest node to any node that is chosen to be the first node. The closest node is one which has smallest angle. This process is repeated by joining the second closest, the third, and so forth until it satisfies the constraint. When node[i+1] will be joined with node[i] in the first cluster, demand[i+1] is added to demand[i] and then check the capacity constraint. Node[i+1] is joined with node[i] if the total demand is less than the capacity constraint. When a node cannot be included in the first cluster since this would violate the constraint, this node becomes the first node of the second cluster. The process is completed when all nodes are included in the clusters.

Figure 5.2: Clustering Process

Stage 2: Route Generation Route generation is aimed to link all nodes in every cluster starting from and ending to the same depot. The result of this process is a shortest path connecting all nodes in the cluster. At this stage, a solution to travelling salesman problem (TSP) is required 65 to conduct the route generation. The idea of TSP is to find an optimal tour. A tour for TSP is a circuit on a graph containing each node exactly once (Rosenkrantz et. al., 1977). An optimal tour of graph G is a tour of minimal length. The TSP is to take a travelling salesman graph and find an optimal tour. The algorithm used in this TSP stage is the nearest neighbour algorithm (Bellmore and Nemhauser, 1968).

The Sweep algorithm can be implemented using two different methods, forward sweep and backward sweep (Gillet and Miller, 1974). In the forward sweep algorithm, the locations are clustered from the first node and continued to the next nodes in a clockwise manner. The process in the backward sweep is exactly like the forward sweep algorithm except it forms the clusters in reverse order. Both methods are also compared to each other in order to determine which method gives better results.

5.3 Sweep Algorithm for Public Bus Routing Problem

Results of the experiment on using the original Sweep Algorithm (SA) for solving public bus routing problem are presented in this section. The objective is to observe the feasibility of SA for solving public bus routing problem. The disadvantages found in this experiment become the foundation of the modification of the SA.

5.3.1 Definition

The original Sweep Algorithm is applied to perform route selection in the public bus routing problem. This experiment involves 18 nodes currently served by the company and no additional links or nodes included as shown in Table 5.1. Different values of constraints are given in the clustering process to obtain different sets of nodes. The constraint of the clustering process is the maximum capacity of a bus carrying passengers during the operation. 66

Table 5.1: Nodes Coordinates Node Node X Y Demand 1 Mangkang 20 96 46 2 Ngalian 152 164 43 3 Jrakah 192 136 51 4 Sudirman 252 128 25 5 Bulu 304 136 105 6 Tugu 324 124 113 7 Johar 360 84 126 8 Pengapon 404 56 6 9 Terboyo 448 36 47 10 Simpang Lima 356 140 18 11 Pedurungan 532 208 101 12 P. Gading 548 224 70 13 Sutomo 320 156 124 14 S.Parman 340 188 52 15 S.Agung 352 228 60 16 Jatingaleh 348 248 115 17 Banyumanik 328 364 103 18 Perumnas 396 364 55

Figure 5.5 visualizes the nodes and links listed in Table 5.1 in crow-fly mode. Nodes are located based on their coordinate in the polar coordinate. The lines connecting the nodes represent current links existed in the road network. Tugu is assigned as the depot considering that this node is the central of the road network. It is expected that this node is attached in all generated routes as a transit point and this can be done by assigning the node as the central of the polar coordinate. It is common that a public bus cannot serve all locations in a road network because of time and distance constraints. Hence, when a passenger has to change bus to reach a location in a different route, node Tugu is used as a transit point to change bus to the desired location. 67

Figure 5.5: Current Routes

5.3.2 Results of the Original Sweep Algorithm

The public bus routing application is tested several times using both forward and backward sweep methods. Several different constraints are given to obtain as many results as possible in order to support accurate information.

Based on the testing, it is found that forward and backward sweeps obtain different routes with different performance. In capacity constraint of 200, the sweep algorithm generates eight routes and several routes consist of only one link in which the value of average revenue is no longer valid. Therefore, the revenue for such a route is set to zero. Table 5.2 shows the performance of a route with capacity constraint of 200 passengers.

68

Table 5.2: Route Performance of Constraint 200 Capacity: 200 Sweep method: Forward Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Bulu-Tugu 1.00 0.00 6,413.70 Total per route: 1.00 0.00 6,413.70

The value of revenue increases as higher constraints are given to the route selection. When constraint of 600 is given, the routes generated by both forward and backward methods are the same except the order of links. Table 5.3 shows other results obtained by forward sweep algorithm with capacity constraint of 600. The complete results of this experiment are shown in Appendix F.

Table 5.3: Routes Performance of Constraint 600 Capacity: 600 Sweep method: Forward Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo-Tugu 1.50 86,800 9,620.55 Tugu-Bulu 1.00 73,500 6,413.70 Ngalian-Jrakah 3.00 30,100 19,241.00 Jrakah-Sudirman 2.50 35,700 16,034.25 Sudirman-Bulu 3.00 17,500 19,241.10 Mangkang-Jrakah 7.00 32,200 44,895.90 Tugu-Johar 3.00 88,200 19,241.10 Johar-Pengapon 1.00 4,200 6,413.70 Pengapon-Terboyo 3.00 32,900 19,241.10 Total per route: 25.00 401,100 160,342.50

Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Tugu-Simpang 5 2.50 12,600 16,034.25 Simpang 5-Pedurungan 9.20 70,700 59,006.04 Pedurungan-P.Gading 3.00 49,000 19,241.00 Sutomo-S.Parman 2.50 42,000 16,034.25 S.Parman-S.Agung 2.00 36,400 12,827.40 S.Agung-Jatingaleh 1.50 80,500 9,620.55 Jatingaleh-Banyumanik 3.00 72,100 19,241.10 Banyumanik-Perumnas 2.50 38,500 16,034.25 Total per route: 26.20 401,800 168,038.94 Total all routes: 51.20 802,900 328,381.44

69

Revenue in Table 5.3 is calculated by

N R = ∑ F x Di, (5.2) i=1 where, F = bus fare

Di = demand at link i i = 1, 2, 3, …, N.

Cost per bus for route i is calculated by

Costi = Costkm x di, (5.3) where, Costkm = cost per Kilometer,

di = distance of link i, i = 1, 2, 3, …, N.

More information referring to the results of the Sweep Algorithm are shown in Table 5.4. Note that total distance and daily cost of the generated routes are not listed in the table. Both attributes in all routes and constraints are exactly the same.

Table 5.4: Results of Sweep Algorithm Capacity Number Daily Revenue (Rp) of Routes Forward Backward 200 8 278,600 263,375 300 5 572,075 543,375 400 4 790,300 775,075 500 3 802,900 740,250 600 2 802,900 802,900

70

5.3.3 Evaluation of the Original Sweep Algorithm

The results presented in the previous section are obtained assuming that demand at nodes is known. In order to fit the algorithm, demand is also assumed as belongs to node and not belongs to link. The results of the experiments presented in Section 5.3.2 show that sweep algorithm can be implemented for solving route selection problem for public transport but the sweep algorithm has not contributed a significant improvement in generating public bus routes except in improving distance that is shorter than the current routes of the company. However, the result proves the capability of the algorithm in searching shortest routes.

There are two comparisons that can be evaluated based on the experiment. The first one is the comparison of current routes and the routes resulted by sweep algorithm. As stated previously, the routes obtained by sweep algorithm are better in which route distance (51.2 Km) is more than 34% shorter than the current routes (78.2 Km). See Tables 3.4 and 5.3.

The second is comparison between forward and backward sweep algorithm as presented in Figure 5.6. In general, forward sweep algorithm contributes better performance of routes. It is clearly shown that the value of daily revenue of routes obtained by forward sweep is greater than that of routes obtained by backward sweep.

Both sweep methods show an extreme change of revenue for constraint less than 400. When constraint is more than 400 the revenue changes for forward and backward sweep move to different patterns. The revenue in forward sweep remains stable while the revenue in backward sweep, on the other hand, decreases when constraint equals to 500 and then rises back in constraint 600. The graph indicates that in the case of public bus routing problem, forward sweep is a better implementation in generating routes compared to backward sweep.

71

Daily Revenue

900,000 800,000 700,000 600,000 500,000 400,000

Revenue (Rp) 300,000 200,000 100,000 - 200 300 400 500 600 Daily Revenue Forward SwCapaeepcity Daily Revenue Backward Sweep

Figure 5.6: Forward and Backward Sweep Performances

5.4 Summary

Sweep algorithm used in generating public bus routes in this experiment is able to obtain routes which are shorter than the distance of current routes maintained by the company. The most applicable result of the experiment is one that consists of two routes with constraint 600. In this level of constraint, both forward and backward sweeps generate two similar routes that have exactly the same links with different order. These results also show that forward sweep may contribute better result than backward sweep in the case of public bus routing problem.

However, there are several drawbacks found from the result mentioned above. The TSP procedure in the route selection process generates shortest routes but it does not consider demand that is a major concern in the public bus route selection. Furthermore, crossroads are important cases to consider in the bus routing problem. TSP cannot detect crossroads to select the best link. The final drawback is the 72 connected links in the generated routes do not represent the actual links in the bus routing problem.

CHAPTER VI

MODIFIED SWEEP ALGORITHM

6.1 Introduction

This chapter describes how the original sweep algorithm is modified for the proposed route selection. The background of the modification of sweep algorithm is presented by evaluating the result of the implementation of sweep algorithm in public bus routing problem. Description of the proposed route selection is given at the beginning. Route generation approach required for the route evaluation is then specified. The whole structure of the proposed model is also presented.

Several algorithms have been developed based on the use of graphs. The most common algorithms in graphs are introduced by Floyd (1962) and Dijkstra (1959) to solve shortest path problems. Mc Hugh (1990) defines that a simple graph G[V, E] consists of a set V elements called vertices or nodes and a set E of unordered pairs of V called edges or links. The vertices of the graph are shown as points while the edges are shown as lines connecting pairs of points.

WIDI Graph search is developed by expanding common directed graph methods available in literature. This search technique consists of four main stages: adjacent determination, traversing, tracking, and searching which are described in this chapter. WIDI Graph search uses a traversing algorithm called Breadth First Search. The tracking and searching procedures using queue and stack data structures are created. The implementation the modified sweep algorithm is presented in 74

Section 6.3. The objective is to test the feasibility of the modified algorithm in solving public bus route selection problem using known demand.

6.2 The Modification of Sweep Algorithm

The modification of the original SA is described in this section based on the result of the experiment presented in Chapter V.

6.2.1 Definition

Modified Sweep Algorithm (MSA) is a heuristic algorithm for solving public bus route selection problem that replaces the previously-used TSP algorithm with WIDI graph search technique where demand is the major concern instead of short distance. The nodes to be clustered by the MSA are connected by directed links. Most links are bi-directed and some links are only one directed carrying certain weight. Therefore, the proposed model uses a weighted and directed graph to facilitate the route selection process. Directed graph is applicable for solving the problem because it enables the route selection result to represent actual links in the generated routes.

Figure 6.1 shows how the original Sweep Algorithm is modified. The figure illustrates the main processes of the route selection. Sweep Algorithm consists of two main stages. As seen in Figure 6.1, the modification is made to the second stage of the Sweep Algorithm i.e. route searching stage where A TSP procedure is assigned to perform the route searching process. In the MSA, the TSP is replaced by WIDI Graph search consisting of four proposed steps i.e. Adjacent Determination, Traversing, Tracking, and Route Selection. These proposed steps are described extensively in Section 6.2.2.2.

75

Traveling

Salesman Problem

Modification Clustering Route

Adjacent Route Determination Selection

Traversing Tracking

WIDI Graph Search

Figure 6.1: Modification of Sweep Algorithm

In this experiment, there are several terms used in the evaluation of the results of the experiment i.e.:

1. Demand Demand is the major concern in the route selection process in the modified algorithm. Demand in terms of public bus route selection problem is the number of passengers served by the buses for all routes (see equation 4.9).

2. Average demand Average demand is the weight that is given to every link in the road network and is considered by the algorithm in the route selection process. Average demand is the 76 total of demand in all links of all routes in a period of time the data collected and is formulated as

P T K DAVG = ∑ ∑ ∑ Dijt, (6.1) t=1 j=1 i=1 P where, i = number of links in a route (i = 1,2,…,K), j = the number of trips in a route (j = 1,2,…,T), t = number of days (t = 1,2,…,P).

3. Distance Note that distance in this experiment is different from the distance in formula (4.10) presented in Section 4.3.2. The distance in formula (4.10) is calculated based on the location of node in the polar coordinate. In this experiment, distance is the length of connection or link from one node to the next node stated in kilometres.

6.2.2 Proposed Model

This section describes the technique used in the route selection process of the Modified Sweep Algorithm. Four steps of route selection in the proposed sweep algorithm are explained. The modified heuristic algorithm used in the route generation and selection is also introduced.

6.2.2.1 Components

There are some new components used in the route searching stage of the modified sweep algorithm:

77

1. Nodes There are n numbers of nodes in the graph G (see Figure 4.2), denoted as node[i] where i=0, 1, 2, …, n. Node[0] is the central node of the polar coordinate. A node is a location where a link is started or ended. The term node here may also represent an element of linked list data structure because this data structure is used to connect all nodes in the network. A node, as an element of linked list, is a structure that consists of two fields i.e. data and address of the next node in the sequence. The nodes in linked list are self-referential structure where each instance of the structure contains a pointer to another instance of the same structural type.

2. Weighted and directed links

Directed link Li(A,B) connects nodes A and B in a graph carrying a weight Wi(A,B).

Note that Wi(A,B) ≠ Wi(B,A). As mentioned previously, the linked list data structure is used to represent the connection between one node and another. A linked list is an ordered collection of node data in which each element contains the location of the next element. One of the attributes of a linked list is that there is not a physical relationship between the nodes i.e. they are not stored contiguously. When a linear list is stored in an array, the beginning of the list is known from the array structure. The successor to each element is simply the next element in the array. Without a physical relationship between the nodes, a pointer is needed to distinguish the beginning of the list i.e. to identify the first logical node in the list and the location of any given node’s immediate successor. The pointer to the beginning of the list is a head pointer. Figure 6.2 illustrates the logical connection of nodes in a linked list.

Head A B

Wi

Figure 6.2: Two Connected Nodes

Notice that the weight of link A-B is not the same as that of link B-A. For example, node[3] and node[4] (see Figure 6.13). Link 3-4 is a link that connect node[1] to node[8], while 4-3 connects the reverse direction (from node[8] to node[1]). The 78 weight of link 3-4 represents a number of passengers that requires transport service to a node between node[4] and node[8] and the weight of link 4-3 represents demand that requires service to no node[1] or node[2]. Therefore, the weight of link 3-4 is different from the weight of link 4-3.

3. Weight matrix Mc Hugh (1990) defines an adjacency matrix A of a graph G[V, E], as shown in Figure 4.2 Section 4.3.3, as the |V| × |V| matrix:

A[i,j] = 1 if [i,j] ∈ E[G]

0 if [i,j] ∉ E[G] (6.2)

Based on notation (6.1) a weight matrix W[i,j] is denoted that stores weight of links of the adjacent nodes. A pair of nodes i and j are adjacent when the W[i,j]≠0. The weight matrix is determined based on following equation:

A[i,j] = W[i,j] if W[i,j]≠0

0 if W[i,j]= 0 or i=j (6.3)

Figure 6.3 shows the example of a weight matrix.

W 0 1 2 3 4 5

0 0 8 11 0 0 0 1 4 0 7 7 0 0 2 9 6 0 15 0 0 3 0 0 13 0 10 0 4 0 0 0 16 0 6 5 0 0 0 17 12 0

Figure 6.3: Weight Matrix 79

4. Adjacent array. Adjacent array is used to connect the nodes being traversed to their adjacent nodes. Adjacent node is denoted by

A[i,j] where 0≤i≤ MaxNode and 1≤j≤5, (6.4) where, i= node being traversed, j= adjacent node of node i.

The adjacency array uses a two-dimensional ragged array to store the links. An adjacency array is shown in Figure 6.4. The list of nodes is stored in an array. Depending on the application, it could also be implemented using doubly linked lists or circularly linked list. The pointer of each value in the array is a head pointer to a linked list of node entries.

Figure 6.4: Adjacent Array

5. Queue of unvisited nodes Each time a node is visited, all its adjacent nodes queue. The node visit is completed when there are no more nodes in the queue. Queue in this system uses linked list data structure consisting of two components i.e. Queue Head and Queue Node. A standard head node structure is used for the queue. It contains two node pointers, front and rear, and a count of the number of elements currently in the queue. The queue node contains only two elements i.e. data segment and next node pointer. The data 80 segment stores current node that queue. Next node pointer connect current node to the next node. Figure 6.5 shows the queue data structure.

Front Count Rear

Head

Data Next

Node

Figure 6.5: Queue Data Structure

6. Stack of links A stack of links is used to store all links that have the same direction either from start node to end or reverse. The stack is used in deciding which link is best to reach the direction. Several data structures could be used to implement a stack. This section implements the stack as a linked list. To implement the linked list stack, two different structures are needed i.e. head and a data node. The head structure contains metadata and a pointer to the top of the stack. The data structure contains data and a next pointer to the next node in the stack. The conceptual and physical stack implementations are shown in Figure 6.6.

Generally the head for a stack requires only two attributes i.e. a top pointer and a count of the number of elements in the stack. These two elements are placed in a structure. Other stack attributes can be placed here also. For example, it is possible to record the time the stack was created and the total number of items that have ever been placed in the stack. These two metadata items would allow the user to determine the average number of items processed through the stack in a given period. The rest of the data structure is a typical linked list data node. Although the application determines the data that are stored in the stack, the stack data node looks 81 like any linked list node. In addition to the data, it contains a next pointer to other data nodes, making it a self-referential data structure.

Top Top

Head

Data nodes

a) Conceptual b) Physical

Figure 6.6: Conceptual and Physical Stack Implementation

6.2.2.2 Design of the Modified Sweep Algorithm

The route selection stage consists of four steps, i.e. adjacent determination, traversing, tracking, and route selection. The process in this stage is described in this section using the graph shown in Figure 6.7.

1 3

55 0

2 4 Node

Link

Figure 6.7: A Directed Graph 82

Step 1: Adjacent determination Adjacent nodes are determined using adjacent matrix as stated earlier. The adjacency matrix of the graph uses a vector (one-dimensional array) for the nodes and a matrix (two-dimensional array) to store the links as shown in Figure 6.8 using data in Table 6.1. If two nodes are adjacent, i.e. if there is a link between them, the intersection has a value; if there is no link between them, the intersection is set to 0. In a directed graph, the intersection in the adjacency matrix indicates the direction. For example, in Figure 6.7, there is a link between node 0 to destination node 1. In the adjacency matrix, the intersection of node 0 and 1 has a value of 41 meaning that there is a link from node 1 to node 2 with distance 41. As seen in Figure 6.7, both nodes also have a reverse link i.e. from node 1 to destination node 0. In the adjacency matrix, the intersection between node 1 and node 0 has a value of 20. This indicates that although both links involve the same nodes i.e. 0 and 1, the distance of both links is different. This situation happens when the bus leaving node 0 for destination node 1 uses different link to go in reverse direction.

Destination

W 0 1 2 3 4 5

0 0 41 17 0 0 0 1 20 0 12 58 0 0 2 13 16 0 0 0 0 Origin 3 0 0 0 0 8 11 4 0 0 34 30 0 4 5 0 0 0 24 17 0

Figure 6.8: Adjacency Matrix

83

Table 6.1: Data of a Directed Graph Link Weight Length Origin Destination 0 1 41 2.5 0 2 17 1 1 0 20 2.5 1 2 12 2 1 3 58 4 2 0 13 1.5 2 1 16 1 3 4 8 2 3 5 11 2 4 2 34 5 4 3 30 4 4 5 4 3.5 5 3 24 4 5 4 17 3.5

Figure 6.9 illustrates the data structure of adjacency determination based on the case in Figure 6.7. Firstly, the first node stored in the node array i.e. node 0 is processed. Secondly, a searching process is performed to find all nodes adjacent to node 0 in the adjacent matrix. Thirdly, the adjacent node is linked to node stored in the array. In this example, the first adjacent node found in the adjacent array is node 1. Therefore, node 1 is linked to node 0. Finally, if the adjacent node has never been linked to any node in the node array then it queues. The second to the final processes are repeated until there are no adjacent nodes found in the adjacent matrix. This is the end of adjacent determination for the first node in the node array. There are five more nodes to go and the same process is performed to the rest of the nodes.

84

Adjacent Nodes Queue

empty

Figure 6.9: Adjacent Determination

The next process is performed based on the top stack of queue data structure. Since node 1 is the top stack, this node is stored in array and the adjacent determination is performed as explained. The adjacent determination is repeated until queue is empty. The following algorithm describes the adjacent determination as shown in Figure 6.9:

1. Assign Node[i] as the first node in the list. 2. Search the adjacent nodes of Node[i], in the Weight matrix using equation 5.2. Put the adjacent nodes in the adjacent list. 3. Check the nodes in the adjacent list. If the adjacent nodes are not assigned in the list and are not in the Queue, push the nodes in the Queue. 4. Pop the top node in the Queue and assign Node[i+1] as the next node in the list. 5. Repeat step 2 to determine the adjacent nodes of Node[i+1] until Queue is empty.

Step 2: Traversing In traversing stage, the common breadth first search is used to visit all nodes in the graph. The use of breadth first search aims to identify all adjacent nodes before the 85 route selection proceeds. Figure 6.10 shows the algorithm for traversing process. The breadth first traversal processes a node and then processes all of its adjacent nodes. This process uses queue data structure to traverse the graph. The code in breadth first traversal begins as the depth first algorithm does by setting all of the processed flags to 0. If the node has not been processed, the flag is set to 0. If it has been placed in the queue but is not yet processed, the flag is set to 1. This prevents a node from being placed in the queue more than once. When it is processed, the flag is set to 2. After setting the processed flags to 0, a queue is created using the standard algorithm.

Procedure BreadthFirst(Graph G, Visit, Node); Queue(Q); Visited[MaxNode]; Node v, w; For all v in G do Visited[v]=FALSE; CreateQueue(Q); For all v in G do If not visited[v] then Append(v,Q); Serve(v,Q); If not visited[v] then Visited[v]=TRUE; Visit[v]; For all w adjacent to v If not visited[w] then Append(w,Q); While (not QueueEmpty(Q));

Figure 6.10: Algorithm for Traversing Process

Step 3: Tracking The tracking procedure is created to perform two functions: to identify all nodes which are located in the same path and to determine that the links connecting the nodes can lead to the destination. After all adjacent nodes are identified, the MSA 86 searches for links where demands are high connecting the origin to the destination nodes. The origin and destination nodes are chosen by the user in the beginning of route selection process. Before a node is selected, the tracking procedure determines that it is located in the correct path to reach the destination. The result of tracking process is a set of connected links. Each link is represented as a pair of nodes and denoted by:

T={node[i],node[j]}, (6.5) where, 0≤i≤MaxNode, 0≤j≤MaxNode.

The algorithm for tracking process is shown in Figure 6.11.

Procedure Tracking(Graph G,Node,T); List:=nil For i:=1 to MaxNode do N:=node[i]; For j:=1 to number of adjacent node[i] If List=nil then Front->List:=n Else R:=Rear While List<>nil do If (n<>R->Adjacent) then Push(Top,Bottom,n);

Figure 6.11: Algorithm for Tracking Process

Step 4: Route searching The searching process is the last stage of WIDI graph search that completes the overall route selection. This process is performed based on the result of tracking process in the previous stage. The algorithm of this process is shown in Figure 6.12. 87

This process also uses pointer data structure in which the sequence of nodes stored in the stack represents the selected routes.

Procedure Searching(Graph G, Node,T); s:=top->Node; w=top->Weight; n:=s; maxweight:=0; While n<>nil do If n is in T then If maxweightNode; w:=Next->Weight;

Figure 6.12: Algorithm for Searching Process

6.3 Implementation of the Modified Sweep Algorithm

The modified sweep algorithm is tested using exact demand data for both forward and backward sweep method. The experiment is performed based on the facts, as summarized in Chapter V, that the travelling salesman (TSP) method used in the original sweep algorithm has problem in identifying potential links in which number of demand is high. Another problem which occurs in the previous experiment is the identification of crossroads. In public bus routing, crossroads are identified to select a better link. The route selection found in the original sweep algorithm also does not represent actual links of the public bus routing problem. Results of the modified sweep algorithm are presented in this chapter using both current and additional links.

88

6.3.1 Results of Modified Sweep Algorithm

The experiment is performed using both sweeping methods, i.e. forward and backward sweep. For each sweeping method, the route selection process is performed in two ways. Firstly, the route selection is performed without any change of links which are obtained from the previous steps. Secondly, several changes are made by insertion or deletion process. Clustering process is performed using a capacity constraint of 600 passengers. The results are then compared and studied. a. Forward Sweep By using clustering process as illustrated in Figures 5.1 and 5.2 Section 5.2, there are three clusters obtained from forward sweep as shown in Table 6.2. Most of the available links are attached in cluster 1 which is ready for the next process. On the other hand, cluster 3 consists of few links which produce a very short route. Therefore, cluster 3 and cluster 2 are combined before these clusters come into the next process. Figure 6.13 illustrates the clusters obtained by forward sweep algorithm.

Table 6.2: Clustering using Forward Sweep Cluster Links Number of Links 8-7, 7-8, 7-6, 7-22, 22-23, 22-25, 6-0, 0-6, 6- 7, 6-21, 6-9, 21-6, 21-7, 20-6, 20-19, 19-20, Cluster 1 19-21, 1-3, 1-18, 4-3, 4-5, 4-12, 4-19, 3-1, 3- 35 2, 3-4, 3-15, 2-3, 2-18, 5-4, 5-0, 0-5, 5-12, 18- 1, 18-2 12-0, 0-12, 12-13, 12-4, 12-5, 17-16, 16-26, Cluster 2 16-17, 11-10, 27-25, 27-26, 26-15, 26-16, 26- 26 27, 15-14, 15-26, 15-3, 15-24, 13-12, 13-14, 14-13, 14-15, 9-0, 0-9, 9-23, 9-13 Cluster 3 10-25, 10-11, 23-9, 23-24, 23-14, 24-23, 24- 11 25, 24-15, 25-24, 25-10, 25-27

The next process is route selection consisting of four steps as described in Section 6.2.2.2. In determining start and end nodes, it is considered to performing the 89 selection twice using different start and end nodes for each cluster. The first selection uses node 1 as start node and node 8 as end node for cluster 1. Node[17] is the start node and node[11] is the end node for cluster 2 and 3 (after they are combined). In the second selection, both start and end nodes in each cluster are swapped in order for the route selection process to start from the opposite direction. The results of the route selection are shown in Table 6.3. The graphical forms of these results are shown in Figures 6.15, 6.16, 6.17, and 6.18.

Cluster 1

Cluster 3

Cluster 2

Figure 6.13: Result of Forward Sweep Algorithm

Table 6.3: Results based on Forward Sweep a) Without Insertion Route Links Length Average (Km) Demand I-A 1-3-4-19-21-7-8-7-6-0-5-4-3-1 43 298.7 I-B 8-7-6-0-5-4-3-1-3-4-5-0-6-7-8 41 463 II-A 17-16-26-15-14-13-12-0-9-23-24-25-10-11- 10-25-24-23-9-0-12-13-14-15-26-16-17 75.6 819.9 II-B 11-10-25-24-23-9-0-12-13-14-15-26-16-17- 16-26-27-25-10-11 47 519.3 90

b) With Insertion Route Links Length Average (Km) Demand I-C 1-3-4-5-0-6-7-8-7-6-0-5-4-3-1 41 699.7 I-D 8-7-6-0-5-4-3-1-3-4-5-0-6-7-8 41 463 II-C 17-16-26-15-14-13-12-0-9-23-24-25-10-11- 10-25-24-23-9-0-12-13-14-15-26-16-17 75.6 819.9 II-D 11-10-25-24-23-9-0-12-13-14-15-26-16-17- 16-26-27-25-10-11 47 519.3 b. Backward Sweep Backward sweep is performed in the same way as forward sweep. By using the same clustering process as experiment (a) above, there are also three clusters obtained by backward sweep and cluster 2 has less links than the others. Since most nodes of cluster 2 are also attached in cluster 1 and concerning that cluster 2 produces a short route, it is decided to combine cluster 1 and 2. Therefore, there are two clusters left to come into the next process. Table 6.4 shows the result of backward sweep clustering as illustrated in graph in Figure 6.14.

Table 6.4: Clustering using Backward Sweep Cluster Links Number of Links 25-24, 25-10, 25-27, 24-23, 24-25, 24-15, 23-9, 23- Cluster 24, 23-14, 9-0, 0-9, 9-23, 9-13, 10-25, 10-11, 14- 21 1 13, 14-15, 27-25, 27-26, 11-10, 17-16 15-14, 15-26, 15-3, 15-24, 26-15, 26-16, 26-27, 16- Cluster 26, 16-17, 18-1, 18-2, 13-12, 13-14, 12-0, 0-12, 12- 24 2 13, 12-4, 12-5, 5-4, 5-0, 0-5, 5-12, 2-3, 2-18 3-1, 3-2, 3-4, 3-15, 4-3, 4-5, 4-12, 4-19, 1-3, 1-18, Cluster 19-20, 19-21, 20-6, 20-19, 21-6, 21-7, 6-0, 0-6, 6-7, 27 3 6-21, 6-9, 22-23, 22-25, 7-8, 7-6, 7-22, 8-7

91

The route selection based on backward sweep uses the same start and end node as they are used in that based on forward sweep. The complete results of route selection using backward sweep are shown in Table 6.5 and illustrated in Figures 6.15, 6.16, 6.17, 6.18, 6.19, and 6.20.

Cluster 3

Cluster 2 Cluster 1

Figure 6.14: Result of Backward Sweep

Table 6.5: Result based on Backward Sweep a) Without Insertion Route Links Length Average (Km) Demand I-A 1-3-4-19-21-7-8-7-6-0-5-4-3-1 43 298.7 I-B 8-7-6-0-5-4-3-2-18-1-18-2-3-4-19-21-7-8 67 323.7 17-16-26-15-14-13-12-0-9-23-24-25-10-11- II-A 10-25-27-26-16-17 47 523.2 11-10-25-24-23-9-0-12-13-14-15-26-16-17- II-B 16-26-27-25-10-11 47 519.3

92 b) With Insertion Route Links Length Average (Km) Demand I-C 1-3-4-5-0-6-7-8-7-6-0-5-4-3-1 41 699.7 I-D 8-7-6-0-5-4-3-2-18-1-3-4-5-0-6-7-8 54.5 483.6 17-16-26-15-14-13-12-0-9-23-24-25-10-11- II-C 10-25-24-23-9-0-12-13-14-15-26-16-17 75.6 819.9 11-10-25-24-23-9-0-12-13-14-15-26-16-17- II-D 16-26-15-14-13-12-0-9-23-24-25-10-11 75.6 819.9

Figure 6.15: Route I-A (Forward and Backward Sweep)

Figure 6.16: Routes I-B, I-C, I-D (Forward Sweep) and I-C (Backward Sweep) 93

Figure 6.17: Routes II-A, II-C (Forward) and II-C, II-D (Backward)

Figure 6.18: Routes II-B, II-D (Forward) and II-A, II-B (Backward)

94

Figure 6.19: Route I-B (Backward Sweep)

Figure 6.20: Route I-D (Backward Sweep)

95

6.3.2 Evaluation of the Modified Sweep Algorithm

Based on the experiment, there are 16 combinations of routes which can be considered to be the best route. As shown in Table 6.3 and 6.5 of Section 6.3.1, there are two routes generated by the MSA i.e. route I and II. Route I-A,C and II-A,C are the results of route selection at the first try, while route I-B,D and II-B,D are obtained from the second try with opposite direction. Routes C and D are obtained after inserting more links in the selection process. The insertion is made to gain more alternatives of routes.

In general, forward sweep has a better performance than backward sweep in terms of route distance. As seen in Figure 6.21, backward sweep produces three alternatives (i.e. I-B, I-D, and II-D) which have longer distance than the alternatives produced by forward sweep. Although route distance is not the major concern in selecting best routes, it is required to determine the average demand of the generated routes. In terms of demand, forward sweep also has better performance than backward sweep.

80

60

Forward 40 Backward 20 Route Distance 0 I-A I-B II-A II-B I-C I-D II-C II-D

Alternatives

Figure 6.21: Generated Routes Performance based on Distance

96

Figure 6.22 shows that half the alternatives produced by both forward and backward sweep have the same number of demand. Two alternatives (i.e. I-D and II- D) which are produced by backward sweep, have higher demand than that produced by forward sweep but there is only a slight difference of demand between both sweep method in alternative I-D. The average number of demand of the generated routes is shown in Figure 6.23.

1000

800

600 Forward

Demand 400 Backward

200

0 I-A I-B II-A II-B I-C I-D II-C II-D

Alternatives

Figure 6.22: Generated Routes Performance based on Demand

20

15 Forward 10 Backward 5 Average Demand

0 I-A I-B II-A II-B I-C I-D II-C II-D

Alternatives

Figure 6.23: Average Demand of Routes 97

It is clearly shown in Figure 6.23 that the number of demand reaches its peak on alternative I-C for both forward and backward methods. Therefore, I-C is chosen to be the first route which is started from node[1], headed to node[8] and ended to node[1] again using the same links. On the other hand, there is no significant change of average demand of the alternatives for route II. Almost all of the alternatives have the same average demand. However, there are four alternatives of route II which can be chosen, i.e. II-A and II-C for forward sweep or II-C and II-D for backward sweep. These alternatives actually have the same combination of links. Therefore, the final results of the route selection are:

Route I: 1-3-4-5-0-6-7-8-7-6-0-5-4-3-1 Route II: 11-10-25-24-23-9-0-12-13-14-15-26-16-17-16-26-15-14-13-12-0-9- 23-24-25-10-11

Although the results consist of only two routes, both routes generated by the MSA have included all links which exist in current routes. As mentioned previously, demand data for alternatives links are assumed in order for the MSA to obtain similar routes to the current routes. The modified sweep also has been tested by inserting new links with higher demand to certain routes. The insertion may cause a change in the route selection process.

6.4 Comparison between Sweep Algorithm and Modified Sweep Algorithm

Comparisons between the Modified Sweep Algorithm (MSA) with the original Sweep Algorithm (SA) are presented using the same data and concerning two attributes, i.e. distance and demand. Further comparison on the characteristics of the algorithms is also presented. The objective is to discover the feasibility of the MSA in solving Vehicle Routing Problem and to evaluate the differences of the characteristics of both MSA and SA. Further research activities are based on the result of these comparisons.

98

The comparisons are based on the results of the previous experiments on MSA and SA. There are four set of routes obtained by the MSA, denoted by A, B, C, D, and a set of routes obtained by the SA, denoted by E. The parameters distance and demand which are compared in this chapter are presented in average. The performance of forward and backward sweep methods is also compared to identify the best method in solving the problem.

6.4.1 Comparison

More data are provided to compare the results of the SA and MSA. The results of the MSA using these data have been presented previously (see Figure 6.15 to Figure 6.20). In current routes, there is a node which intersects all existing routes. This node is assumed as the depot in the Sweep-based application that is tested in this paper. The other nodes are located based on their coordinates after they are scaled from the actual location. The complete location of the nodes is shown in Table 5.6. The depot is located at coordinate 324,124 and denoted by Node(0).

If C is the capacity of a vehicle then node[i] is attached to a cluster when

∑Di≤C. Table 6.7 shows the result of the route generation in the second stage of SA based on the graph shown in Figure 6.14 of Section 6.3.1. The graph G consists of 27 nodes and node[0] is the depot that represents the centre polar coordinate. The routes are clustered by using both forward and backward sweep with a constraint of 600. Each cluster obtained by the algorithm represents a route. Therefore, there are three routes generated by the SA. Note that the results are presented as a set of nodes instead of links. The set S is denoted by:

S={node[i]}, (6.6) where , i = 1,2,…,N.

99

Table 6.6: Node Coordinates Node Node Name X Y Node Node Name X Y 1 Mangkang 20 96 15 Jatingaleh 348 248 2 Ngalian 152 164 16 Banyumanik 328 364 3 Jrakah 192 136 17 Perumnas 396 364 4 Sudirman 252 128 18 Mijen 96 300 5 Bulu 304 136 19 Tanjung Mas 322 40 6 Johar 360 84 20 Imam Bonjol 330 94 7 Pengapon 404 56 21 Tantular 360 48 8 Terboyo 448 36 22 Suprapto 376 74 9 Simpang 5 356 140 23 Katamso 382 150 10 Pedurungan 532 208 24 Sudiarto 432 170 11 P. Gading 548 224 25 Majapahit 490 192 12 Sutomo 320 156 26 Srondol 340 292 13 S.Parman 340 188 27 Tembalang 402 320 14 S.Agung 352 228

Table 6.7: Route Selection using Sweep Algorithm (a) Method : Forward Sweep Route Set of Nodes Length (Km) Average Demand I 0,5,20,6,4,19,21,7,3,8,2,1,18 38.5 256.8 II 0,9,12,,13,14,15,26,27,16,17 21.5 260.5 III 23,24,25,10,11 11 62.1 Total 71 579.4

100

(b) Method: Backward Sweep Route Set of Nodes Length (Km) Average Demand I 0,9,23,13,24,14,25,10,11,27 30 199.4 II 0,5,12,2,3,15,26,16,18 18.5 - III 0,20,6,19,21,7,8,4,1 21.5 170.3 Total 70 369.7

As seen in the previous chapter, three routes are generated by SA for both forward and backward methods. In the SA, forward sweep method also obtains better performance of routes than the backward sweep. Further comparisons concerning distance and demand are described as follow. a. Distance Figure 6.24 illustrates the comparison of routes based on distance. A, B, C, and D represent routes which are generated by the MSA. Each of these consists of two routes as shown in Figures 6.22 and 6.23 of Section 6.3.2. Therefore, the distance of routes A, B, C, and D represents the total distance of routes I-A and II-A, I-B and II- B, I-C and II-C and I-D and II-D respectively. E represents the total distance of routes generated by the SA (see Table 5.3 Section 5.3.2). It is obvious that the route generated by SA has the shortest distance.

150 ) m

K 100 ce (

an 50 st i D 0 ABCDE

Forw ard Route s Backw ard

Figure 6.24: Comparisons on Route Distance 101

b. Demand In Figure 6.25, A, B, C, and D also represent the results of route selection using MSA and E represents the results of SA. In this comparison, the SA is only represented by forward sweep method. As seen on Table 6.7b, demand of route II resulted by backward sweep is not included because this route consists of three unconnected links, i.e. 3-2-18, 5-0-12, and 15-26-16. These unconnected links make the number of demand of the given links no longer valid. Demand is valid only if the links connect start nodes and end nodes. Demand of routes generated by SA is lower than that generated by MSA.

1600

1400

1200

1000 nd a 800 m

De 600

400

200

0 ABCDE Routes Forw ard Backw ard

Figure 6.25: Comparisons on Demand

Table 6.8 lists the characteristics of both SA and MSA. In the first component, the SA and MSA use the same parameters. However, they have a slight difference on the use of clusters. The clusters in SA represent the number of routes generated by the algorithm. A cluster is actually a route candidate where the nodes are still unconnected. The TSP procedure is performed to connect the nodes for generating a route. On the other hand, the clusters in MSA are used to help the users in creating alternative routes. The alternative routes are required for capturing route combinations with highest demand. The selection process in the SA is performed based on shortest distance in which a node is connected to the nearest node. This 102 process is performed repeatedly until all nodes are attached in the route. The results of the selection process are presented as a set of nodes (see notation 6.6).

Table 6.8: Characteristics of the Algorithms Component Sweep Algorithm (SA) Modified Sweep Algorithm (MSA) Clustering parameters Capacity of vehicle Capacity of vehicle Polar angle Polar angle Selection approach Node-oriented Link-oriented Search heuristic Travelling Salesman Weighted-directed graph Problem search Nodes Location of customers Location where a link begins or ends Directed Links Opposite direction is not Opposite direction is allowed allowed

On the other hand, the selection process in the MSA is performed by connecting all links based on the weight of the given links. All links must be connected to obtain a sequence of links connecting start node and end node. The results are presented as a set of connected links. The search heuristic is used for selecting routes. The SA uses a well-known algorithm for solving TSP and the MSA uses WIDI graph search. The nodes in SA and MSA have a bit of difference, i.e. SA treated nodes as locations of customers to be visited and MSA defines a node as the location where a link starts and ends. Customers are presented as the weights of the connected links. In using the last component, the SA only allows one-directed links because a node is only attached to a route once. In other words, the nodes in the SA are visited by the vehicle only once. In the MSA, a node is allowed to be attached twice to represent a two-way traffic. In the first attachment; the node is in the position as the origin, while in the second attachment, the node is in the position as the destination of a link. Therefore, two-directed links are required. Figure 5.26 summarizes the differences between SA and MSA based on average demand and average distance. In general, the routes obtained by MSA have more demand than 103 those obtained by SA. This result satisfies the requirement of a public bus routing problem where demand is the major concern. a)

1520

1500 age 1480 Forward Sweep

Aver 1460 Backward Sweep

1440

1420 Demand b)

84.4 84.2

84 r e 83.8 Forward Sweep met 83.6 83.4

Kilo Backward Sweep 83.2 83 82.8 82.6 Distance

Figure 6.26: Comparison of SA and MSA

6.4.2 Conclusions

It is demonstrated that the SA does not satisfy the requirement of the public bus route selection problem for selecting links with high demand. It is demonstrated that the algorithm minimizes route distance (see Table 3.4 and Table 5.3) but several 104 links which have high number of demand are not attached in the selected routes. Therefore, the routes produce low demand. Another drawback of the public bus route selection using SA is the generation of unconnected links in a cluster as found in cluster 2 of backward sweep, i.e. 3-2-18, 5-0-12, and 15-26-16 (see Table 6.7 Section 6.4.1). The unconnected links occur because nodes are connected to the closest neighbour based on their distance in the polar coordinate and not based on the distance of real node locations in the road network. Notice that there are two nodes that cannot be connected to the other nodes in the cluster, i.e. node[1] and node[17]. The only adjacent nodes of node[1] and node[17], i.e. node[2] and node[16] respectively, are attached in different clusters.

The SA produces routes which have shortest distance. When the algorithm is implemented to public bus routing problem, it may lose several links which have high number of demand. The SA is also subject to obtain unconnected links which cannot be maintained by a public bus company. There are several advantages found in the use of MSA. Firstly, this algorithm enables route searching process to identify links and crossroads. In sequence, links which have high demand can be selected to generate a route that satisfies both public and transport company. Secondly, MSA produces alternatives of routes that represent actual road network. This enables user to make more alternatives by inserting or deleting certain links at the selected links. Finally, the clustering process used in MSA may help user to easily group the available nodes in the network and determine the number of cluster.

6.5 Summary

A modified sweep algorithm is proposed to address the problem in applying sweep algorithm for solving public bus routing problem. The MSA is able to represent the real condition of the road network to deal with unknown demand. The modification is made to the second stage of sweep algorithm i.e. route generation by replacing TSP procedure with an extended procedure using directed-graph search technique. The WIDI graph search technique is developed to cover the problems found in the use of the original sweep algorithm. This technique is an expansion of 105 available graph technique consisting of graph structure combined with several data structures i.e. array, queue, and pointer. The modification of the original sweep algorithm is made by replacing TSP with WIDI graph search as a new route selection procedure. In the next chapter, the modified sweep algorithm is implemented using the same data as the data used in this chapter.

It is found that MSA possesses several advantages in solving public bus routing problem. This algorithm enables route searching process to identify links and crossroads. In sequence, links which have high demand can be selected to generate a route that satisfies both public and transport company. MSA also produces alternatives of routes that represent actual road network. This enables user to make more alternatives by inserting or deleting certain links at the selected links. Furthermore, the clustering process used in MSA may help user to easily group the available nodes in the network and determine the number of cluster.

However, there is a problem left in this experiment. The MSA covers the public bus routing problem only in a condition where demand is known. In the case of public bus routing problem of DAMRI, there is a condition in the process of route selection where demand is not known i.e. route selection for new routes which have never been used before by any transportation company. Therefore, a technique is required to estimate the demand of the candidate routes. Fuzzy system is proposed in this research to perform a simple estimation of data presented in Chapter VII.

CHAPTER VII

MODIFIED SWEEP ALGORITHM WITH FUZZY-BASED PARAMETERS

7.1 Introduction

The initial experiment on the SA in Section 5.3 and an extended experiment on the MSA in Section 6.3 have led to the evidence that a more extended experiment is required for solving the public bus routing problem with unknown demand. It is shown in Section 5.3 that the SA does not solve the problem. In Section 6.3, on the other hand, the experiment proves that the MSA solves the problem in case data are known. This chapter presents the last experiment by implementing the MSA with fuzzy-based parameters.

This chapter discusses the three parameters required in a route selection process where demand is unknown or, in other words, the data cannot be represented as exact numbers. This experiment leads to the following objectives:

a) To solve the public bus route selection problem when demand is unknown.

b) To test the feasibility of the MSA in solving the problem.

107

c) To test the feasibility of the fuzzy system in providing unknown demand used by the MSA for solving public bus route selection.

For known locations of nodes and links in which public bus service does not exist, three conditions of links must be identified approximately and represented as linguistic value such as: very low, low, medium, high, bad, good, etc. The linguistic values are determined based on the user’s preference. The conditions of links which become the parameters are namely: Demand, Travel Distance, and Type of Road. Fuzzy inference rules are assigned to convert linguistic values of data into crisp values. The crisp values which represent three parameters are used as the weights of the candidate links. By using the fuzzy-based parameters, the proposed system is designed to be capable of capturing unknown demand and use them in the route selection process. Figure 7.1 illustrates the task of Fuzzy System in the proposed model.

Figure 7.1: The Task of Fuzzy System

108

7.2 Proposed Model

This section describes the structure of the Modified Sweep Algorithm with Fuzzy-based Parameters. Three stages in the proposed model are explained. The design on the fuzzy-based parameters is presented in Section 7.3.

The proposed Modified Sweep Algorithm with Fuzzy-based Parameters consists of three main stages i.e. Route Identification, Route Evaluation, and Route Searching as illustrated in Figure 7.2. Each stage is described in the following sections.

Route Identification

Route Evaluation Route Searching

Clustering

WIDI Graph Search

Routes

Figure 7.2: Modified Sweep Algorithm with Fuzzy-based Parameters

109

7.2.1 Route Identification

The first requirement of the proposed route selection is route identification. As previously mentioned, each alternative contains a combination of routes with different destinations. Each route in the network consists of one or more nodes and one depot connected by one or two directed links. The central node is assigned to be the depot as previously explained in Section 5.3.1. The route generation is started with identifying the candidate routes in the road network. In this experiment, there are several new links added to the current routes shown in Figure 5.5 Section 5.3.1. The routes with the additional links are shown in Figure 7.3 using data in Appendix E. Both thin and bold lines show possible links a bus may travel.

Current links

Alternative links

Figure 7.3: Current Links and Additional Links

7.2.2 Route Evaluation

Route evaluation is the second stage of route selection process. This is the stage where fuzzy system takes place and is the main focus of this chapter. The 110 objective of this stage is to determine the weight of every link in the previously generated routes. The weight of a link is the total score of crisp values obtained from the fuzzy system based on the attributes of the given link. A link, in this research, is defined as travel line from depot to a node or from a node to another node in a route.

The route evaluation is performed by evaluating each link to determine whether or not the link is selected based on three attributes, i.e. demand, travel distance, and type of road. These attributes will be presented as linguistic values based on the preference of decision maker. For each route alternative, the linguistic terms of attributes will be the input for fuzzy system. Fuzzy system converts the linguistic terms to fuzzy numbers (xi) and generates a defuzzified value (αi) that represents the acceptance level of a link. This defuzzified value will be the weight of each link in the route.

All links in the candidate routes must be identified and numbered. Each link has two different numbers for both directions except the one-way links. It is a fact that a two-way link may have different number of demand between one direction and its opposite. Therefore, a two-way link will have two different weights. The direction that has a low weight may not be selected when an alternative link with a higher weight is found in the route selection. Such condition is illustrated in Figure 7.4 where three nodes are connected by arcs representing links. The two directed arcs represent two-way links and the one directed arc represents a one-way link.

Assume that the weights of links C-A, B-C, and C-B are 13.5, 10, and 12.5 respectively. The algorithm has to select a link of two alternative links i.e. C-B or C- A. In this case, link C-A is selected because it has higher weight than link C-B. Design of this stage and the implementation of the MSA with Fuzzy-based Parameters are presented in Section 7.4 and Section 7.5.

111

Node

One-way link

Two-way link

Figure 7.4: A Selection Case

7.2.3 Route Searching

Route searching is the third stage of the proposed sweep algorithm in which the modification is made by expanding the directed graph technique. The search task is supported by Breadth First Search technique. Current sweep algorithm uses shortest path approach to search a route. The modified algorithm, on the other hand, uses different approach in searching routes, i.e. best weight approach. Links in the previously generated routes will be included in the route based on their weight obtained from the defuzzification process. This stage has been discussed and implemented in Chapter VI.

112

7.3 Design Steps of Fuzzy System

The following steps are followed in the design of fuzzy system that is assigned in the MSA to provide data. The steps in designing fuzzy system are as follow:

1. Let S = {s1, s2, …, sn} be the set of goals that system should achieve and maintain. Notice that for n = 1 (i.e. no interacting goals), the problem becomes simpler.

2. Let S = p(S) where p is a function which assigns priorities among the goals. It is assumed that such function can be obtained in a particular domain.

3. Let U = {u1, u2, …, un} where ui is the set of input parameters related to

achieving gi.

4. Let A = {a1, a2, …, an} where ai is the set of linguistic values used to

describe the values of the input parameters in ui.

5. Let C = {c1, c2, …, cn} where ci is the set of linguistic values used to describe the values of the output Z.

6. Acquire the rule set R1 of approximate control rules directly related to the highest priority goal. These rules in the general form of

IF u1 is a1 THEN Z is c1.

7.4 The Use of Fuzzy System

This section presents the techniques that will be used in the fuzzy system. Fuzzy system in this research is required to capture unknown demand for each route. The output of this fuzzy system will be the input of the sweep algorithm. As 113 described earlier, the fuzzy system is composed of three stages in which certain techniques are applied as presented in this section.

In this chapter, linguistic data for the parameters used in the route selection are determined. The data are presented in linguistic form due to the unidentifiable and unavailability of exact data of the input parameters, i.e. demand, travel distance, and type of road. The linguistic values are fully dependent on the user’s preference. The input parameters are connected to an output parameter i.e. Link by fuzzy inference rules as seen in Figure 7.5. The parameter Link consists of crisp values which are concerned as weights of links in the route selection. The results of the route selection based on fuzzy data are shown and evaluated step by step in order to study the behaviour of the system.

As shown in Figure 7.5, Figure 7.6 shows how the fuzzy system is defined as the first procedure. This pseudocode defines the name of the system, the type of inference used in the program, number of input, output and rules, and also the type of “And” and “Or” methods used in the fuzzy system. In the end of the procedure, type of defuzzification method is also defined.

Figure 7.5: Fuzzy Parameters Shown in Matlab

114

[System] Name='RV3' Type='mamdani' Version=2.0 NumInputs=3 NumOutputs=1 NumRules=75 AndMethod='min' OrMethod='max' ImpMethod='min' AggMethod='max' DefuzzMethod='centroid'

Figure 7.6: Fuzzy System Definition in Matlab

7.4.1 Fuzzification

After the alternative generation is completed, fuzzification takes place to start the evaluation process. Fuzzification is started with assigning membership degree to each attribute. As described earlier, each alternative has attributes, namely: demand, travel distance, and type of road. An important part of fuzzification is specifying the type of membership representation. Evaluation of membership representations provided in the literature and selection of the membership representation are given in this section.

This research does not use geometric representation in representing membership function because of the number of attributes that will be the elements of the membership function. As explained in the literature, number of element (n) determines the dimension of the unit cube. Each element in this case is the subset of a universal set. In fuzzy route selection, route attribute is the universal set that consists of three elements as mentioned. This means that the membership function should be 3-dimensional unit cube that is difficult to maintain. 115

It is obvious that the nest form of representation called analytic representation cannot be used. Analytic representation is specific for infinite universal set. In contrary, the route attribute is a finite set that consists of five elements or subset.

The third form, i.e. tabular and list representation seems to be a good representation for the fuzzy route selection. However, there is a drawback found in the use of this representation in which the pattern of membership function is not shown clearly. On the other hand, by using the last form of representation, i.e. graphical representation, the pattern of membership function is clearly shown. Therefore, graphical representation is chosen for the fuzzification process.

7.4.2 Input Parameters

It is perceived that a candidate route has three different parameters. These parameters coincide with the factors that are used by the company in route selection. Below are the parameters of the candidate routes. Note that each parameter has a range from zero (0) to one (1).

7.4.2.1 Demand (D)

Demand is the most concerned criteria of the company in selecting a route. In this research, Demand is combined with the other parameters as linguistic data for the route selection process. There are five linguistic values for demand that show the degree of potential demand: VERY HIGH, HIGH, MEDIUM, LOW, and VERY LOW denoted as VH, H, M, L, and VL. Demand at each node is only approximately known and represented as a triangular fuzzy number because this membership representation shows minimum and maximum boundary clearly. Figure 7.7 shows the membership function of triangular fuzzy number D representing demand at the link.

116

n o i 1 nct Fu

p D

Membershi 0 d1 d2 d3 Demand

D = demand D2 = top value d1 = left boundary D3 = right boundary

Figure 7.7: Triangular Fuzzy Number D Representing Demand

Triangular fuzzy number D = (d1, d2, d3) is described by its left boundary d1 and its right boundary d3. Thus, the decision maker can estimate that demand at the node will not less than d1 or greater than d3 based on his experience and intuition or available data. Figure 7.8 shows the fuzzy sets of linguistic data for demand.

on i nct Fu

p Membershi

Dem and Legend: VL = Very Low, L = Low, M = Medium , H = High, VH = Very High

Figure 7.8: Fuzzy Sets of Demand

117

It can be seen in Figure 7.8 that each membership function has left and right boundary. For example, right boundary of VL is 2.5. The grade of membership of VL at this point is zero. This means that when demand is 2.5 or greater, the linguistic data for demand is LOW. At the same point, the grade of membership of L is 1. Hence, if demand is 2.5 then the linguistic value of demand is LOW. Note that the number of membership functions does not represent the number of demand. Membership function of Demand is denoted as:

µA(D), (7.1) where, A = {VL,L,M,H,VH}.

Figure 7.9 lists the definition of Demand membership function in the program consisting of range of data, number of membership function, and type of membership function.

[Input1] Name='Demand' Range=[0 10] NumMFs=5 MF1='VL':'trapmf',[-3.6 -0.4 0.01325 2.5] MF2='L':'trimf',[0.01325 2.5 5] MF3='M':'trimf',[2.5 5 7.5] MF4='H':'trimf',[5 7.5 10] MF5='VH':'trapmf',[7.5 10 10.15 11.35]

Figure 7.9: Definition of Demand Membership Function in Matlab

118

7.4.2.2 Link Distance (LD)

Distance of a route is concerned because it is related operational cost. A shorter route requires less operational cost. In public bus routing, a short distance route with minimum cost cannot be selected when demand rate is low. Therefore, travel distance cannot be used as single criteria for public bus route selection. In this research, link distance is specified to obtain total travel distance. The linguistic data of link distance consists of VERY_LONG (VL), LONG_DISTANCE (LL), MEDIUM_DISTANCE (MD), SHORT_DISTANCE (SS), and VERY_SHORT (VS). The specification of link distance is shown in Table 7.1. The fuzzy sets of this attribute are shown in Figure 7.10. The triangular fuzzy number is noted by TD=(td1, td2, td3). The logic of this parameter is similar to that of Demand parameter. Both Demand and Link Distance have the same number of membership functions and data range. As explained in the example of Demand parameter, when the value of Link Distance is set to 2.5 the linguistic value of Link Distance is LONG.

Table 7.1: Link Distance Range of Distance (Km) Linguistic Value 0 – 1 Very Short 1.1 – 2 Short Distance 2.1 – 4 Medium Distance 4.1 – 6 Long Distance >6 Very Long

There are minimum and maximum limits for travel distance. A route should not have travel distance less than 10 in order to avoid route generation that obtains a very short route. A route that exceeds 10 Km is also avoided to minimize operational cost and time travel.

119

on i nct Fu

p Membershi

Distance

Legend: VL = Very Long, LL = Long, MD = Medium, SS = Short, VS = Very

Figure 7.10: Fuzzy Sets of Link Distance

The membership function of Link Distance is denoted as:

µB(LD), (7.2) where, B = {VL,LL,MD,SS,VS}.

The definition of Link Distance membership function is shown in Figure 7.11.

[Input2] Name='Distance' Range=[0 10] NumMFs=5 MF1='VL':'trapmf',[-3.6 -0.4 0.01325 2.5] MF2='LL':'trimf',[0.02115 2.5 5] MF3='MD':'trimf',[2.505 5 7.5] MF4='SS':'trimf',[5.05 7.55 10.05] MF5='VS':'trapmf',[7.5 10 11 19]

Figure 7.11: Definition of Link Distance Membership Function in Matlab 120

7.4.2.3 Type of Road (TR)

Type of Road includes the physical condition of the roads in a route. A road with good condition enables the buses to minimize travel time. Conversely, a bad road may increase travel time and, in sequence, increases operational cost. The condition of road in case of DAMRI is identified based on its characteristic as described in Table 7.2 consisting of three conditions and therefore, Type of Road is denoted by BAD, AVERAGE, and GOOD. Notation for triangular fuzzy number is TR=(tr1, tr2, tr3). The membership function of Type of Road is denoted as:

µC(TR), (7.3) where, C = {BAD,AVERAGE,GOOD}.

Table 7.2: Type of Road Linguistic Value Condition Bad Bad congested, too many pedestrians, hilly road is more than 5 Km Average Different modes of vehicle in the same track, non- motorized vehicles, hilly road is less than 5 Km Good Normal traffic, separated tracks for different modes of vehicles

Unlike the previous two parameters, Type of Road parameter consists only of three membership functions with the same data range. This parameter is set to have three parameters in order to easily differentiate the good condition from the bad condition of road. A road is feasible for the public bus when the type of road is ranging from AVERAGE to GOOD. Figure 7.12 shows the fuzzy sets of Type of Road and Figure 7.13 shows the definition of Type of Road membership function.

121

on i nct Fu

p Membershi

Type of Road

Figure 7.12: Fuzzy Sets of Type of Road

[Input3] Name='Type' Range=[0 10] NumMFs=3 MF1='BAD':'trapmf',[-3.6 -0.4 2 4.99] MF2='AVERAGE':'trimf',[0.0132 5 10] MF3='GOOD':'trapmf',[5.04 8.03 10.4 13.6]

Figure 7.13: Definition of Type of Road Membership Function in Matlab

7.4.3 Inference Rules and Output Parameter

In graphical representation, the firing of each fuzzy rule contributes an area to the defuzzification procedure. This research compares well-known defuzzification methods called Centroid and mean of maxima (MOM). Both methods are agreed to provide fast defuzzification process. This comparison aims to discover the best method that can be applied to the vehicle routing problem.

122

The inference rules relate the input parameters to the output Link consisting of seven membership functions i.e. NEGATIVE LARGE (NE), NEGATIVE MEDIUM (NM), NEGATIVE SMALL (NS), ZERO (ZE), POSITIVE SMALL (PS), POSITIVE MEDIUM (PM), and POSITIVE LARGE (PL). Mamdani type Fuzzy Inference Rules is used in this research. As noted by Mamdani and Assilian (1975), every rule represents a fuzzy relation. In our case, every rule represents relation between the three inputs to Link. Figure 7.14 shows the complete membership functions of Link which is denoted as:

µO(Link), (7.4) where, O = {NL,NM,NS,ZE,PS,PM,PL}.

on i nct Fu

p Membershi

Link Legend: NL = Negative Large, NM = Negative Medium, NS = Negative Small, ZE = Zero

Figure 7.14: Link Membership Function

The definition of Link membership consisting seven membership functions is shown in Figure 7.15. Let the fuzzy relation between D, TD, TR, and Link is denoted by R. As denoted in Teodorovic and Pavkoviv (1996), membership function µR(x,y) of this fuzzy relation equals:

123

µR(x,y)=min{µA(x), µB(y)} ∀x,y, (7.5)

where, x = input, y = output.

Based on equation (6.5), the fuzzy relation is calculated by:

µR(x,y)=max{min(µA(D), µB(TD), µC(TR)), µO(Link)} ∀x,y (7.6)

where, x = input, y = output.

[Output1] Name='Link' Range=[0 12] NumMFs=7 MF1='NL':'trapmf',[-4.32 -0.48 0.01587 2.013] MF2='NM':'trimf',[0.04767 2.013 4.013] MF3='NS':'trimf',[2.013 4.013 6.013] MF4='ZE':'trimf',[4.013 6.013 8] MF5='PS':'trimf',[6.013 8 10] MF6='PM':'trimf',[8 10 12] MF7='PL':'trapmf',[10 12 13.2 22.8]

Figure 7.15: Definition of Link Membership Function in Matlab

The following three rules show the examples of fuzzy relation and are graphically shown in Figure 7.16.

124

If [Demand is H] and [Distance is VS] and [Type is BAD] Then [Link is NS] If [Demand is H] and [Distance is VS] and [Type is AVERAGE] Then [Link is PM] If [Demand is H] and [Distance is VS] and [Type is GOOD] Then [Link is PM]

The fuzzy relations of those rules are shown as follow:

µR(x,y)=max{min(µM(D), µSS(TD), µBAD(TR)), µNM(Link)}

µR(x,y)=max{min(µM(D), µSS(TD), µAVERAGE(TR)), µZE(Link)}

µR(x,y)=max{min(µM(D), µSS(TD), µGOOD(TR)), µZE(Link)}

Demand Distance Type Link

Figure 7.16: Fuzzy Relations

Figure 7.16 shows how the recommendations arise from the rules. The thick vertical lines that slice all three rules in the figure represent data values of the three input parameters. The dashed horizontal lines show the boundaries of each 125 membership function and the intersections between one membership function with another.

All three rules fire at once. In the first, the vertical lines yield a membership function of 0.8 in HIGH demand, 0.2 in VERY SHORT distance, and 0 in BAD type of road. The rule then takes the least of the three values that is 0, and applies it to the NEGATIVE SMALL link. In other words, it recommends negative small link to 0 degree.

Likewise, the second and third rules select the smaller of the three membership functions and recommend the link command to that extent. At the end of the first stage, the fuzzy inference rules have an assortment of degrees to which the link command should fire. They are negative small 0, positive medium 0.2, and negative small 0. Next, the fuzzy system must total up the recommendations.

7.4.4 Defuzzification

This necessary operation produces a non fuzzy control action that best represents the membership function of an inferred fuzzy numbers. Several defuzzification methods have been suggested in the literature. Among them, COA and MOM methods are chosen to convert fuzzy numbers of Link into crisp values. The crisp values are then stored as weight of links which are evaluated in the route selection process. Based on the example presented in the previous section, this section illustrates how the defuzzification process takes place in the last stage of the fuzzy system.

Using formulation 7.5, each rule yields fuzzy number as follows: Rule 1:

z1 = min(µA(D), µB(TD), µC(TR)) = min(0.8, 0.2, 0) = 0

126

Rule 2:

z2 = min(µA(D), µB(TD), µC(TR)) = min(0.8, 0.2, 1) = 0.2

Rule 3:

z3 = min(µA(D), µB(TD), µC(TR)) = min(0.8, 0.2, 0) = 0

Operator min is used in the fuzzification process as shown in the example above in order to minimize the data set of the input parameters. By minimizing the input data set, the range of data in the combined membership function calculated in the defuzzification process can also be minimized.

Using the COA method as explained earlier, the defuzzified value for the conclusion is found:

Z*COA = 8 x 0 + 9 x 0.2 + 10 x 0.2 + 11x 0.2 + 12 x 0 0.2 + 0.2 + 0.2 = 10

Using the MOM defuzzification method, three quantized valued reach their maximum memberships in the combined membership functions i.e. 9, 10, 11 as shown in Figure 7.17.

The defuzzified value using MOM is

Z*MOM = 9 + 10 + 11 3 = 10

127

Figure 7.17: Combined Membership Functions

Both COA and MOM defuzzification methods in this example yield the same crisp value because the example only uses three rules as instances whose result is a symmetric graph. Another example is given assuming that the defuzzification process yields a combination of membership functions as shown in Figure 7.18. Using the same formulation, the defuzzified value of COA is

Z*COA = 6 x 0 + 7 x 0.5 + 8 x 0.8 + 9 x 0.5 + 10 x 0.3 + 11 x 0.3 + 12 x 0 0.5 + 0.8 + 0.5 + 0.3 + 0.3 = 8.62

The defuzzified value of MOM is 8 since it is the only quantized z value that reach maximum membership function.

128

MF

ZValue

MF

ZValue

MF

MF = Membership ZValue Function

Figure 7.18: Example of Combined Membership Functions

7.5 Combining Fuzzy System with the Modified Sweep Algorithm

The last part of the proposed system design is combining the fuzzy system with the MSA. As previously shown in Figure 7.1, fuzzy system takes place in the second stage the Modified Sweep Algorithm with Fuzzy-based Parameters. It captures data of all candidate links exists in the network and then converts the linguistic-represented data consisting of three parameters into crisp values. Each crisp values represents three input parameters i.e. Demand, Link Distance, and Type of Road. The crisp values obtained by the fuzzy system are then stored as weight in the weight matrix.

129

Figure 7.19 illustrates the combination of fuzzy system and the MSA. It can be seen that the combination configures two different levels i.e. linguistic level and technical level. Linguistic level is a level where unknown data accpted from the technical level are converted to the fuzzy numbers. The inference rules relate the three input parameters to the output parameter obtaining the linguistic value of link that will be defuzzified to get the crisp value.

Figure 7.19: The Combination of Fuzzy System and the MSA

Technical level is a level where a user determines the unknown data and identifies all nodes and their locations to perform the route selection process. The unknown data are brought to the linguistic level for the fuzzification process and the certain data consisting of nodes and locations are required by the MSA for clustering process. Figure 7.19 shows that there are two types of data required by the route 130 selection i.e. certain data of nodes and locations and the crisp values obtained by the defuzzification process in the linguistic level.

The dotted boxes show the portion of both unknown and known data and the sweep algorithm in the MSA. The final output of the MSA with fuzzy-based parameters is a combination of new routes.

7.6 Implementation of the MSA with Fuzzy-based Parameters

In this section, linguistic data for the parameters used in the route selection are determined. The data are presented in linguistic form due to the unidentifiable and unavailability of exact data of the input parameters, i.e. demand, link distance, and type of road. The linguistic values are fully dependent on the user’s preference. The input parameters are connected to an output parameter i.e. Link by fuzzy inference rules. The parameter Link consists of crisp values which are concerned as weights of links in the route selection. The results of the route selection based on fuzzy data are shown and evaluated step by step in order to study the behaviour of the system.

7.6.1 Definition

Route selections based on fuzzy data are performed using the same data as the previous experiments on both original Sweep Algorithm and Modified Sweep Algorithm. There are 27 nodes included in the network and data are only known approximately. The connected links are shown in Table 7.3 that also consists of information related to the given links.

131

Table 7.3: Connected Links a) Current Links Origin Destination Weight Location 1 Fuzzy 1 Location 2 Fuzzy 2 1 3 39.2 [10 9] 8.91 [8 17] 7.98 3 1 6.8 [5 5] 1.6 [0 10] 1.66 2 3 30.4 [10 8] 8 [7 10] 7.22 3 2 12.4 [5 8] 4.65 [5 7] 4.07 3 4 36.8 [10 6] 6.3 [8 8] 7.46 4 3 14.4 [5 9] 5.01 [5 8] 4.65 4 5 15 [5 10] 5.14 [5 9] 5.01 5 4 10.4 [5 6] 3.15 [5 6] 3.15 5 0 58.8 [15 8] 12.9 [12 10] 12.2 0 5 46.3 [10 16] 10.1 [11 10] 11.3 0 6 93.2 [20 20] 18.4 [20 20] 18.4 6 0 39.5 [10 9] 8.91 [8 17] 7.98 6 7 26.3 [6 14] 6.29 [6 18] 6.29 7 6 21.5 [6 8] 5.92 [6 8] 5.92 7 8 14.8 [5 10] 5.14 [5 9] 5.01 8 7 40 [10 10] 10.1 [8 18] 7.98 0 9 20.8 [6 7] 5.57 [6 7] 5.57 9 0 41 [10 12] 10.1 [8 19] 7.98 9 23 46.7 [10 16] 10.1 [11 10] 11.3 23 9 45 [10 15] 10.1 [11 9] 10.1 23 24 11.6 [5 6] 3.15 [5 7] 4.07 24 23 28.2 [6 16] 6.29 [6 20] 6.29 24 25 15.1 [5 10] 5.14 [5 9] 5.01 25 24 40.1 [10 10] 10.1 [8 18] 7.98 25 10 15 [5 10] 5.14 [5 9] 5.01 10 25 40.1 [10 10] 10.1 [8 18] 7.98 10 11 20.4 [6 7] 5.57 [6 7] 5.57 11 10 49.8 [11 15] 11.3 [11 13] 11.4 0 12 67.5 [15 17] 15 [15 8] 12.9 12 0 56.9 [15 7] 12.1 [12 9] 10.9 12 13 26.2 [6 14] 6.29 [6 18] 6.29 13 12 26.2 [6 14] 6.29 [6 18] 6.29 13 14 27.6 [6 15] 6.29 [6 19] 6.29 14 13 32.8 [10 6] 6.3 [7 10] 7.22 14 15 48 [11 15] 11.3 [11 13] 11.4 15 14 67.5 [15 17] 15 [15 8] 12.9 15 16 33.5 [10 6] 6.3 [7 10] 7.22 16 15 69.8 [15 19] 15 [15 10] 15 16 17 40.8 [10 11] 10.1 [8 19] 7.98 17 16 13.8 [5 9] 5.01 [5 8] 4.65

132 b) Alternative Links Origin Destination Weight Location 1 Fuzzy 1 Location 2 Fuzzy 2 1 18 11 [5 6] 3.15 [5 7] 4.07 18 1 5 [5 4] 1.6 [0 5] 1.6 2 18 10 [5 6] 3.15 [5 6] 3.15 18 2 14 [5 9] 5.01 [5 8] 4.65 3 15 2 [0 2] 1.6 [0 0] 1.6 15 3 5 [5 4] 1.6 [0 5] 1.6 4 12 9 [5 6] 3.15 [5 5] 1.6 12 4 31 [10 6] 6.3 [7 10] 7.22 5 12 27 [6 15] 6.29 [6 19] 10.9 12 5 18 [6 7] 5.57 [6 6] 5.08 4 19 12 [5 9] 5.01 [5 7] 4.07 0 20 31 [10 6] 6.3 [7 10] 7.22 20 6 8 [5 6] 3.15 [5 5] 1.6 19 20 5 [5 4] 1.6 [0 5] 1.6 20 19 0 [0 0] 1.6 [0 0] 1.6 19 21 6 [5 4] 1.6 [0 5] 1.6 6 21 5 [5 4] 1.6 [0 5] 1.6 21 6 3 [0 3] 1.6 [0 0] 1.6 21 7 11 [5 6] 3.15 [5 7] 4.07 7 22 13 [5 10] 5.14 [5 8] 4.65 6 9 41 [10 12] 10.1 [8 19] 7.98 22 23 18 [6 7] 5.57 [6 6] 5.08 22 25 21 [6 8] 5.92 [6 7] 5.92 9 13 17.2 [6 7] 5.57 [6 6] 5.08 23 14 33 [10 6] 6.3 [7 10] 7.22 24 15 21 [6 8] 5.92 [6 7] 5.92 15 24 34 [10 6] 6.3 [7 10] 7.22 25 27 25 [6 14] 6.29 [6 15] 6.29 27 25 27 [6 15] 6.29 [6 19] 10.9 26 27 5 [5 4] 1.6 [0 5] 1.6 27 26 8 [5 6] 3.15 [5 5] 1.6 15 26 10 [5 6] 3.15 [5 6] 3.15 26 15 7 [5 5] 1.6 [0 5] 1.6 26 16 14.4 [5 9] 5.01 [5 8] 4.65 16 26 7.36 [5 5] 1.6 [5 5] 1.6

The selection task aims to generate the best routes which offer maximum demand. Weights of links which represent demand, distance, and type of road are concerned in the route selection. Mamdani type Fuzzy Inference System is used to relate input parameters to the output parameter. This chapter also evaluates two defuzzification methods i.e. Centroid and Mean of Maxima (MOM) in performing the conversion of linguistic values into crisp values. Both defuzzification methods are evaluated to select the best method to be applied in the algorithm. 133

7.6.2 Results of MSA using Fuzzy-based Parameters

The experiment is conducted to investigate the feasibility of fuzzy system in providing data for route selection process. The experiment aims to find evidences that linguistic values representing unknown data are capable for replacing exact data in public bus routing problem. The parameters are evaluated one by one starting from the most concern parameter i.e. demand. A route is selected based on the number of demand in each link. The second-concerned parameter is distance. When two candidate links have approximately the same demand, distance parameter is evaluated to identify a link with shorter distance. Note that a candidate link with longer distance may be selected if it has higher number of demand. Type of road is concerned because this parameter is related to operational cost and travel time. Type of road is physical condition of road. A bad condition of road may increase operational cost and travel time. The parameters are evaluated one by one to study their behaviour.

1. One Parameter The experiment has previously been performed using parameter demand consisting of exact data using MSA. In this experiment, MSA is applied using the same parameter consisting of fuzzy data. The objective is to evaluate the capability of fuzzy data in replacing exact data of demand for route selection. Two fuzzy sets are presented to illustrate the possibility of two different user’s preferences. The data pattern of the results in this experiment are compared with the data pattern of exact demand data taken from real road network shown in Appendix E1and E2 for both current and alternative links. It is shown in Figure 7.20 that the fuzzy data pattern may follow the exact data pattern.

134

a) Current Links

100 90 80 70 60 Weight 50 Fuzzy-1

Demand 40 Fuzzy-2 30 20 10 0

-3 2 5 -5 7 7 3 1 3- 4- 0 6- 8- 2 23 10 13 16 16 9- - 5-10 - - 4-13 - - 24 2 11 12 1 15 17 Link

b) Alternative Links

45 40 35 30 d 25 Weight Fuzzy-1 man 20

De Fuzzy-2 15 10 5 0

2 5 6 7 6 6 18 12 21 23 14 27 1- 18- 4- 12- 20- - 21- - - - -2 6-1 19 22 23 25 27 2 Link

Figure 7.20: Demand Patterns

135

2. Two Parameters Based on the experiment using one parameter, it is concluded that fuzzy data is capable to replace exact data indicated by the similar data pattern as shown in Figure 7.20. In this section, the next experiment is presented based on the same case using additional parameter Distance. The use of parameter Demand and Distance in this experiment aim to obtain more accurate results which represent the real condition of public bus routing problem. The objective of this experiment is to evaluate the capability of fuzzy system in providing weight of link required by the MSA. The weight data represents the linguistic values of both Demand and Distance. The fuzzy relations between Demand, Distance, and Link are presented in Fuzzy Associative Matrix (FAM) as shown in Figure 7.21.

Travel Distance

VL LL MD SS VS VL NL NL NL NL NM L MN NM NM NS NS M NS ZE ZE ZE ZE H PS PS PS PM PM

Demand VH PM PM PL PL PL

Figure 7.21: Fuzzy Associative Matrix

FAM shows 25 rules relating the fuzzy input to the output. The graphical results are shown representatively in Figures 7.22 and 7.23.

136

Demand=1

4 3.5

3 e u 2.5

Val CENTROID 2 isp MOM

Cr 1.5 1 0.5 0 1 4 7 10 13 16 19 Distance MF

Figure 7.22: Fuzzy Results for Demand=1

Demand=12

14

12

e 10 u l 8 CENTROID Va p s i 6 MOM Cr 4 2

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure 7.23: Fuzzy Results for Demand=12

137

In the first six results, i.e. demand ≤ 5, both Centroid and MOM defuzzification methods have the same data pattern. At certain point, the graph raises drastically separating the lower parts with the higher parts. When demand ≥ 6 the results of MOM defuzzification still follow the same pattern. The results of Centroid method, on the other hand, move to different pattern where there are more frequent changes of crisp values. This type of data pattern is more representative for providing weight data required by the proposed model.

It is shown in the figures that, in general, the crisp value increases as the value of Demand and Distance membership functions increase. Note that the value of Distance membership functions does not represent the actual distance. As shown in the order of fuzzy set Link (see notation 7.4), the leftmost membership function represents the longest travel distance and vice versa. The Distance parameter is required to select a link when two candidate links have approximately the same demand. In our case, short distance is not a major concern. A candidate link may be selected even if it has longer distance than the other candidate. Let us see the following results: Result 1:

µM(D)=10, µSS(TD) =15, µZE(Link) =9.01 Result 2:

µH(D)=15, µLL(TD) =5, µPS(Link) =12

Both results represent two candidate links. Result 1 is a link that has medium demand and short distance. Result 2, on the other hand, is a link that has high demand and long distance. In this case, although it has longer distance than result 1, result 2 is selected because it has higher demand.

3. Three Parameters As shown previously, two parameters containing five membership functions each require 25 rules in the fuzzy inference system. When one more parameter containing three membership functions is added, there will be 75 rules relating the parameters with the output Link. In using three parameters, this experiment only presents the results of the Demand membership functions VL, M, VH, and Distance membership 138 functions VL, MD, and VS to represent the final results as shown graphically in Figures 7.24 and 7.25.

Demand=0, Distance=10

2.5

2

e u l 1.5 CENTROID Va p s i 1 MOM Cr 0.5

0 1 3 5 7 9 11

Type of Road

Figure 7.24: Fuzzy Results for Demand=0 and Distance=10

Demand=10, Distance=10

14 12

e 10 u 8 CENTROID Val p s i 6 MOM

Cr 4 2 0 1 3 5 7 9 11

Type of Road

Figure 7.25: Fuzzy Results for Demand=10 and Distance=10

139

It is obvious that the results of this experiment share the same pattern as those of the previous experiment. The Centroid method also produces more representative results than MOM because there is a gradual increase of crisp values for certain membership function of Demand and Distance. Table 7.4 lists several instances of fuzzy results using three parameters.

By concerning parameter Type of Road, the MSA is capable to avoid bad links even if those links have higher number of demand. Let us compare case 14 and case 22 for example. Although the demand of case 22 is very high, case 14 is better because it has a better condition of road even if the demand is medium. A better link is indicated by the higher crisp value of parameter Link.

Table 7.4: Fuzzy Results using Three Parameters CRISP CASE DEMAND DISTANCE TYPE VALUE 1 Bad 0.632 2 Very Long Average 0.632 3 Good 0.632 4 Bad 0.632 5 Very Low Medium Average 0.632 6 Good 0.632 7 Bad 0.632 8 Very Short Average 2.02 9 Good 2.02 10 Bad 0.632 11 Very Long Average 4.01 12 Good 4.01 13 Bad 2.02 14 Medium Medium Average 6.01 15 Good 6.01 16 Bad 2.02 17 Very Short Average 6.01 18 Good 6.01 19 Bad 4.01 20 Very Long Average 10 21 Good 10 22 Bad 4.01 23 Very High Medium Average 11.4 24 Good 11.4 25 Bad 4.01 26 Very Short Average 11.4 27 Good 11.4

140

7.7 Summary

This chapter presents the design of the fuzzy system in which the linguistic values of data are converted into crisp values. The fuzzy system consists of three steps i.e. fuzzification, inference rules, and defuzzification. In fuzzification, the membership functions of the three parameters are determined including the membership functions of output parameters. In the second step, inference rules are generated to relate the input parameters with output parameter. In the last step, the defuzzification process converts the fuzzy numbers into crisp values. COA and MOM defuzzification methods are chosen to perform the defuzzification process. The implementation of the MSA with fuzzy-based parameters and the evaluation of the defuzzification methods are presented in this chapter.

The experiment presented in this chapter implements the proposed solution to public bus routing problem when demand is unknown using the Modified Sweep Algorithm. The route selection is performed concerning three parameters i.e. Demand, Distance, and Type of Road. The parameters are presented in linguistic value indicating the degree of membership functions. Fuzzy inference rules are assigned to relate the parameters to the Link membership functions. Centroid method is chosen to perform the defuzzification process based on the comparison between this method and another well-known defuzzification method called MOM. Centroid defuzzification method converts the Link membership functions into crisp values. The crisp values are assigned as the weights of the candidate links which are selected by the algorithm to generate route. A selected link is indicated by higher crisp value than another candidate.

The experiment shows a correlation between parameters concerned in the route selection and the weights of the candidate links. A weight represents a condition of link based on the three parameters. The weight can be adjusted depending on our preference of a certain link. A change of value of a parameter may produce a different crisp value. Therefore, before performing the route selection, it has to be certain that the membership functions of the parameters are set correctly and representatively.

CHAPTER VIII

RESULTS AND DISCUSSIONS

8.1 Introduction

This chapter summarizes and discusses the results of the research. A number of interesting issues are presented. The discussion on the proposed algorithm is also presented using the most common problems in vehicle routing problems.

8.2 Discussion on the Results of the Research

In this section, the results of the research are highlighted and discussed. As presented in the previous chapters, this research is conducted in several phases of experiments which tested and evaluated both existed and proposed solutions. There are several issues which can be used as a consideration in the study of vehicle routing problems and fuzzy systems.

8.2.1 Sweep Method

The sweep method applied to the polar coordinate in the MSA satisfies the requirement of public bus routing in locating nodes where a central node is assigned 142 as a transit point. Two provided methods for sweeping the polar coordinate are evaluated i.e. forward and backward sweep methods (see Table 6.7 Section 6.4.1).

A number of experiments have been performed to evaluate the capability of the proposed algorithm. The first experiment tested the capability of the original sweep algorithm in solving public bus routing problem. The experiment has successfully demonstrated that the original sweep algorithm is capable of generating routes based on shortest path as listed in Table 5.4 Section 5.3.2. Unfortunately, short distance concerned in the algorithm does not satisfy the requirement of public bus routing where demand is the most major concern. In addition, the algorithm also generates routes which do not represent the real routes that exist in the road network. These results stimulate extended experiments for finding a more extended solution for solving public bus routing problem.

This experiment also evaluates two sweep methods i.e. forward and backward sweep methods. The objective is to observe which method is feasible for conducting clustering process in order for the sweep algorithm obtains the best result. Figure 6.22 has clearly shown that forward sweep obtains better result than backward sweep method in the case of public bus routing problem. This is indicated in the experiment where the routes generated by sweep algorithm using forward sweep method have higher average of demand than those generated using backward sweep.

It is demonstrated in the experiment that the forward sweep obtains better results than the backward sweep in this research as shown in Figures 6.23 and 6.24. However, the choice of the sweep method depends on the location of nodes in the polar coordinate. The forward sweep method is chosen in this case but in the different case, the backward sweep can be chosen. It is recommended to have further study on the sweep method for different location of nodes and different types of problems.

143

8.2.2 WIDI Graph Search

Route selection procedure is the modified part of the original SA where WIDI Graph search replaces the TSP procedure. When the TSP is applied to the bus routing problem of the company, the results of route selection do not satisfy the requirements as listed in the following:

1. The results do have shorter distance than the routes currently maintained by the company but they do not satisfy the requirement for serving more demand.

2. The routes generated by the TSP do not represent the real condition of routes maintained by the company. There are several links which do not exist in the real road network.

3. The calculation of distance is based on the location of nodes in the polar coordinate. Consequently, the distance calculated in the TSP does not represent the real distance of nodes.

By applying the WIDI Graph search in the MSA as presented in Section 6.3, the problems are solved and the results of the route selection represent the real road network. Although the calculation of distance based on the location of nodes in the polar coordinate is still used in the clustering process, the route selection does not fully concern the distance between nodes.

It has been demonstrated that the modified sweep algorithm has successfully been implemented to solve public bus routing problem as shown in Tables 6.3 and 6.5. The experiment using modified sweep algorithm, as summarized in Figure 6.22 Section 6.3.2, shows that routes generated by the algorithm serve more demand than those generated by the original sweep algorithm. However, this successful testing of the algorithm does not fully solve the problem. The modified sweep algorithm in this experiment can only be applied to generate routes when demands are known. Therefore, the algorithm cannot be implemented to create new routes where demand is unknown. 144

8.2.3 Fuzzy-based Parameters

The experiment using fuzzy-based parameters has successfully tested the capability of fuzzy system in representing unknown data. The validation of this experiment has been made by comparing the data pattern of exact data with that of fuzzy data (see Figure 7.20 Section 7.6.2). Since the two distinguished data have similar pattern, the fuzzy-based parameters can be applied in the modified sweep algorithm to generated new routes where demands are not known. Based on this comparison, it is concluded that the fuzzy-based parameters can be applied to represent unknown data.

Several experiments have been performed to evaluate the capability of the proposed MSA in dealing with unknown data. The fuzzy-based parameters used in the MSA are capable to provide data by converting the unknown data which are represented as linguistic values to crisp values. The crisp values are assigned as weight of links representing three input parameters i.e. demand, travel distance, and type of road.

An extended experiment was conducted with an additional parameter i.e. Link Distance. Figures 7.22 and 7.23 show the similar pattern to the pattern of exact data where the value of crisp value increases when demand increases. This experiment also shows that the fuzzy-based parameters satisfy the requirement of public bus routing problem to put demand as a major concern. This can be shown by the following instances:

Result 1:

µM(D)=10, µSS(TD) =15, µZE(Link) =9.01 Result 2:

µH(D)=15, µLL(TD) =5, µPS(Link) =12

These results show two crisp values of Link from the defuzzification process of membership functions Demand and Link Distance. The crisp value of result 2 is greater than that of result 1 even though result 1 has a longer distance. Note that the lower membership function of Link Distance, the longer the real distance is. This 145 means that the fuzzy system put the parameter demand as a major concern since the membership function of Demand for result 2 is higher than that of result 1.

It is demonstrated that the fuzzy data patterns can follow the pattern of exact data as shown in Figure 7.20. In the first implementation of MSA, current routes maintained by the company are used by the MSA consisting of exact data and the results of the route selection are studied. The same road networks are also used with different value of data in the different platform. The second implementation of MSA replaces the exact data with the fuzzy-based parameters. Two different fuzzy sets are also used to represent different intuition of users in determining the membership of functions of each parameter. In a step by step experiment presented in Section 7.6.2, it is shown that the patterns of fuzzy data are similar to those of exact data in the first platform. Therefore, by using the fuzzy-based parameters in the second implementation, the same routes can be obtained as they are obtained in the first platform using the exact data. Based on the experiment, more selections with different road network can be performed although the exact data are not available.

8.2.4 Defuzzification Technique

Two defuzzification techniques are used and the results are compared to discover the best technique that satisfies the requirement of a dynamic data pattern. It is found that the Centroid defuzzification has more dynamic pattern than MOM as previously shown in Figures 7.22, 7.23, 7.24, and 7.25. The dynamic pattern is required in order to avoid the possibility of obtaining the same crisp values for different input parameters. It is found that most of the defuzzification results in MOM have the same crisp values. This is indicated by the flat lines of data pattern shown in the previous chapter. It has to be concerned that two alternatives links from the same node have different crisp values in term that the MSA can select the best link based the given parameters. Therefore the dynamic pattern of crisp values in Centroid defuzzification satisifies this term of condition. Table 8.1 lists several alternative links with their crisp values. The expected link is the link that the MSA should select in the route selection and the selected link is the link that the MSA 146 selected or may be selected. When both columns list the same nodes, the selection is valid and vice versa. The listed alternative links are based on the results of route selection as shown in Section 6.3.2:

Route 1: 1-3-4-5-0-6-7-8-7-6-0-5-4-3-1 Route 2: 11-10-25-24-23-9-0-12-13-14-15-26-16-17-16-26-15-14-13-12-0-9-23-24- 25-10-11

Table 8.1: Comparison of Centroid and MOM No Alternative Links Crisp Values Expected Link Selected Link Centroid MOM Centroid MOM 1. 4-5 5.14 5.4 4-5 4-5 4-5 4-19 5.01 5.3 2. 0-6 18.4 20 0-6 0-6 0-6 0-20 6.3 5.3 3. 25-24 10.1 10.2 25-24 25-24 25-24 25-27 6.29 5.3 4. 24-15 5.92 5.3 24-23 24-23 24-15 24-23 6.29 5.3 5. 23-9 10.1 10.2 23-9 23-9 23-9 23-14 6.3 5.3 6. 9-0 10.1 10.1 9-0 9-0 9-0 9-13 5.57 1

As seen on Table 8.1, the selected links of Centroid defuzzification match the expected links to be selected by the MSA. On the other hand, there is an invalid selection in the selected links of MOM defuzzification i.e. the selection of links 24- 15 and 24-23. Both links have exactly the same crisp values in MOM and, consequently, the MSA may select the unexpected link. In this case, link 24-15 is selected because it is first considered since the nodes are stored sequentially in the node list.

147

8.3 Summary

This chapter discusses the results of the research consisting of the sweep methods comparison, implementation of the WIDI graph search, evaluations on the fuzzy-based parameters for representing unknown data and comparison on the defuzzification methods for obtaining crisp values.

CHAPTER IX

CONCLUSIONS

9.1 Strengths and Weaknesses

The modified sweep algorithm is designed to solve public bus routing problems where instead of shortest path unknown demand is a major concern. The main idea is replacing the TSP procedure in the existing sweep algorithm that concerns shortest path, with WIDI Graph search that concerns demand in the route selection process. Since demand of the new routes to be generated is unknown, fuzzy-based parameters are used to represent the data. The experiments have successfully shown that the modified sweep algorithm with fuzzy-based parameters can generate new routes based on unknown demand. This research possesses several strengths, namely:

a) The testing and validation of the techniques used in this research are supported by real data

b) The results of the experiments represent a real road network and therefore, the modified sweep algorithm with fuzzy-based parameters can be implemented for solving public bus routing problem of a different road network from a real world problem.

c) The experiments are performed simultaneously showing improvements of the research. 149

d) Two sweep methods and defuzzification techniques are used and compared to find the better technique used in solving the problem.

However, there are weaknesses found in this research, namely:

a) The modified sweep algorithm is implemented using one road network i.e. road network of Semarang. It will be more convincing if the algorithm is also implemented using different road network but this requires more case studies.

b) The CPU time is not considered in the implementation and therefore, speed performance of the modified sweep algorithm has not been measured.

9.2 Contributions

The two main contributions of this thesis are:

a) The development and implementation of a modified sweep algorithm for public bus routing problem. In the modified sweep algorithm, an improvement algorithm is developed, replacing the travelling salesman technique currently used in the original sweep algorithm.

b) The investigation of fuzzy-based parameters for representing uncertain data in the route selection. The fuzzy-based parameters are constructed as a data provider for the modified sweep algorithm.

These contributions have made it possible to perform route selection for

public transport where demand is uncertain and cannot be represented as exact

numbers. Other contributions of this research are: 150

a) The implementation of the original sweep algorithm to public bus routing problem and the selection of appropriate method in the fuzzy system. The implementation of the original sweep algorithm has led to a more appropriate algorithm to solve the public bus routing problem. In the implementation, the two forward and backward sweep methods were used and evaluated to discover the better method for solving the problem.

b) In another stage, evaluation on different defuzzification methods in the fuzzy system was also presented. This evaluation aims to select the most appropriate defuzzification method in representing uncertain data.

9.3 Conclusions

The investigation of several characteristics in the implementations of both the original sweep and modified algorithm has led to new performance of the algorithm in solving public bus routing problem with unknown demand. The modified sweep algorithm supported with fuzzy-based parameters to solve the public bus route selection problem has been implemented successfully. The way of generating routes based on links with unknown demand has made the route selection process simple and easy to maintain. The techniques have made it possible to replace numeric data that are commonly used by the existing algorithms. Based on the implementation of the models, it is concluded that:

a) The original sweep algorithm does not fully solve the public bus route selection because of different characteristics of problem. This algorithm has successfully obtained shortest routes but failed in identifying links with high demand.

b) The modified sweep algorithm has been successfully implemented. The results show an improvement in selecting routes for public bus using known 151

demand. In this experiment, the modified sweep algorithm obtains a set of routes with more demand than the original sweep algorithm.

c) The data represented by fuzzy-based parameters have the same data patterns as the numeric data of the road network. Hence, in generating routes with unknown demand, the modified sweep algorithm with fuzzy- based parameters can obtain the same routes as the modified sweep algorithm with known demand.

Finally, the experiment shows a correlation between the input parameters considered in the route selection and the weights of the candidate links. The weight can be adjusted depending on the user’s preference of certain link. A change of value of a parameter may produce a different crisp value. Consequently, before performing the route selection, it has to be certain that the membership functions of the parameters are set correctly and representatively.

9.4 Future Works

Future study is recommended to explore extensive solutions for solving more complex problems in VRP especially in public bus routing problems. The study can be focused on different problems such as public bus routing for different characteristics of road networks and public bus routing with scheduling and uncertain demand. Several studies on the proposed algorithm for different types of problems are recommended as presented in this section.

9.4.1 Capacitated Vehicle Routing Problem

The CVRP discussed in this section is for single depot CVRP where, in solving the problem, the assignment of supply vehicle to each customer node in a way to achieve minimal overall cost satisfying the constraints such as capacity of 152 vehicle and the maximum distance is needed. An example of CVRP adopted from Amberg et al. (2000) as shown in Figure 9.1 is considered. The figure shows an undirected graph with six nodes 1, 2, …, 6. Node 1 is the depot with capacity D = 14.

Each edge (i,j) ∈ A is given as solid line and has a label dij where dij is the demand of (i,j) .

Node Link

Figure 9.1: Single Depot CVRP

A vehicle in CVRP is assigned to serve demand at known locations with capacity constraint. It is clearly shown that in order to serve all nodes without violating the capacity constraint, two vehicles are required. This case only focuses on assigning a vehicle to serve nodes with maximum demand. Therefore, the best route for the vehicle to travel is 1-2-5-4 where the total demand is 13. There is another route with the same total demand i.e. 1-3-5-4-6 but the vehicle have to serve more nodes that causes more operational cost.

The case of CVRP described above is similar to the task of WIDI Graph search in generating routes as the second stage of our proposed MSA. However, the WIDI Graph search does not concern the capacity constraint because the first stage of the MSA has already concerned it in clustering the nodes. Therefore, when the WIDI Graph search is applied to solve CVRP it has to be concerned that the capacity constraint in the tracking stage of the algorithm. Tracking is a procedure where all nodes to be served by the vehicle are identified using the procedure call: 153

Procedure Tracking(Graph G,Node);

In order to avoid the violation of capacity constraint, another parameter to be added in the procedure call is:

Procedure Tracking(Graph G,Node,Capacity);

The attachments of nodes in the selected routes are performed based on the parameter Capacity:

T_Weight=T_Weight+Weight; While (List<>nil) and (T_Weight<=Capacity) do If (n<>R->Adjacent) then Push(Top,Bottom,n);

9.4.2 Multiple Depots Vehicle Routing Problem

In real life problems, there might be more than one depot exist in a road network. The MDCVRP is an extension of well-known VRP. It involves routing a fleet of homogenous vehicles, originating and terminating at different depots with limited capacities and servicing a set of customers with known demand.

In the case of multiple depots, from which the company can serve its customers, if the customers are clustered around the depots then the distribution problem should be modeled as a set of independent CVRPs. However, if the customers and the depots are intermingled then the MDCVRP should be solved. MDCVRP is a more complex problem than CVRP where several phases of algorithm are performed to obtain the final result. Filipec et al. (1997) illustrated the phases of the algorithm as shown in Figure 9.2.

154

Phase 1: Clustering The clustering process is performed to identify all closest nodes to each depot exist in the graph. Ford algorithm is used to divide set of customers into regionally bounded sets which satisfy depot capacity restriction to ensure a valid routing within a customer set (Ford and Fulkerson, 1972).

Figure 9.2: Phases of MDCVRP Algorithm

Phase 2: Routing For the supply area of each depot separately, an algorithm is applied in order to optimize routes leaving the depot. Before any initialization can take place, for each customer node and depot node, a set of closest neighboring customer nodes is determined.

Phase 3: Connecting The last phase of MDCVRP solution is connecting routes of all areas obtained in the second phase into a complete link structure. A different solution is required to perform this task.

The proposed WIDI graph search is created for solving a problem more similar to single depot CVRP rather than MDCVRP. Based on the characteristic of the proposed solution, WIDI graph search can only be applied in the second phase of 155 the MDCVRP i.e. Routing phase after replacing the parameter concerned in the algorithm. As shown earlier, the node and its weight can be initiated in the last stage of the WIDI graph search:

Procedure Searching(Graph G, Node,T); s:=top->Node; w=top->Weight;

In case of MDCVRP, the distance of nodes has to be initiated because the main concern of the MDCVRP is optimizing route distance. Hence, the initialization of searching procedure is:

Procedure Searching(Graph G, Node,T); s:=top->Node; w=top->Distance;

It is required to apply different algorithms to perform the rest of MDCVRP phases.

9.4.3 Vehicle Routing Problem with Time Windows

In this section, a VRPTW with capacity constraint is considered as shown in Figure 9.3 (Amberg et al., 2000). Node 1 is the depot with capacity and maximal allowed time duration (D,T) = (14, 20). Each edge (i,j) ∈ A is given as solid line and has a label (dij, tij) where dij is the demand of (i,j) and tij is the travel time for traversing (i,j).

In this example, the graph consists of only one centre node. A vehicle is assigned to travel an optimum route in a time windows without violating the capacity constraint. The capability of WIDI graph search for solving single depot CVRP and determined the required parameters for solving the problem has previously been discussed. Based in this finding, it is required to put additional time parameter in the 156

WIDI graph where time constraint is unavailable in order to suit the algorithm with the VRPTW. Therefore, the parameter call for the tracking procedure is:

Procedure Tracking(Graph G,Node,Capacity,Time);

Node

Link

Figure 9.3: Vehicle Routing Problem with Time Windows

The types of problems recommended for future works presented above represent problems in the class of dynamic routing. Further study of the modified sweep algorithm with or without fuzzy-based parameters in static routing are also recommended for an improvement considering that studies in static public bus routing particularly are not as many as those in dynamic routing.

157

REFERENCES

Ahn, B. H. and Shin, J. Y. (1991). Vehicle-routing with Time Windows and Time- varying Congestion. Journal of the Operational Research Society. 42(5): 393- 400.

Akiyama, T. and Uchida, T. (1992). Experimental Analysis of Dynamic Route Choice Behavior. Transportation Research and Methodology. 26B(1): 17-32.

Amberg, A., Domschke and W. Voß, S. (2000). Multiple Center Capacitated Arc Routing Problems: A Tabu A Search Algorithm using Capacitated Trees. European Journal of Operational Research. 124: 360-376.

Arabsashi, P. (1997). Pointer Adaptation and Pruning of Min-Max Fuzzy Inference and Estimation. IEEE Transactions on Circuits and Systems-II: Analog and Digital Signal Processing. 44(9): 696-708.

Bellmore, M. and Nemhauser, G. (1968). The Traveling Salesman Problem: A Survey. Operations Research. 16: 538-558.

Berenji, H. R. (1992). An Introduction to Fuzzy Logic Applications in Intelligent Systems. Boston: Kluwer Academic Publishers.

Brandao, J. and Mercer, A. (1997). A Tabu Search Algorithm for the Multi-trip Vehicle Routing and Scheduling Problem. European Journal of Operational Research. 100. 180-191.

158

Cai, L. Y. and Kwan, H. K. (1998). Fuzzy Classifications using Fuzzy Inference Networks. IEEE Transactions on Systems, Man, and Cybernetics-Part B: Cybernetics. 28(3). 334-347.

Chang, P. L. and Chen, Y. C. (1994). A Fuzzy Multi-criteria Decision Making for Technology Transfer Strategy Selection in Biotechnology. Fuzzy Sets and Systems. 63: 131-139.

Chartrand, G. and Oellermann, O. R. (1993). Applied and Algorithmic . New York: McGraw-Hill, Inc.

Chatterjee, S., Carrera, C. and Lynch, L. A. (1996). Genetic Algorithms and Traveling Salesman Problems. European Journal of Operational Research. 93: 490-510.

Christofides, N. and Eilon, S. (1969). An Algorithm for the Vehicle Dispatching Problem. Operational Research Quarterly. 20: 309-318.

Chung-Lun Li, Simchi-Levi, D. and Desrochers, M. (1992). On the Distance Constrained Vehicle Routing Problem. Operations Research. 40(4): 790-799.

Cohen, G. and Crawford, K. M. (1978). A Problem in Estimating Bus Stop Times. Applied Statistic. 27: 139-148.

Corberán, A. Fernández, E., Laguna, M. and Marti, R. (2002). Heuristic Solutions to the Problem of Routing School Buses with Multiple Objectives. Journal of the Operational Research Society. 53: 427-435.

Couillard, J. (1993). A Decision Support System for Vehicle Fleet Planning. Journal of Decision Support Systems. 9: 149-159.

DAMRI (1996). Steady Bus Composition in a Period of 1989 – 1996. Semarang: DAMRI Branch Office.

159

DAMRI (1999). Budget for Operational Cost of DAMRI. Semarang: DAMRI Branch Office.

DAMRI (1998a). Bus Distribution of DAMRI. Semarang: DAMRI Branch Office.

DAMRI (1998b). DAMRI UPT Offices Distribution in Indonesia. Semarang: DAMRI Branch Office.

DAMRI (1998c). Staffs Composition of DAMRI. Semarang: DAMRI Branch Office.

Dantzig, G. B. and Ramser, J. H. (1959). The Truck-dispatching Problem. Management Science. 6: 80-91.

DeBitetto, P. A. (1995). Fuzzy Logic for Depth Control of Unmanned Undersea Vehicles. IEEE Journal of Oceanic Engineering. 20(3): 242-248.

Derigs, U. and Metz, A. (1992). A Matching-based Approach for Solving a Delivery/Pick-up Vehicle Routing Problem with Time Constraints. OR Spectrum. 14(2): 91-106.

Desrochers, M. and Verhoog, T. W. (1991). A New Heuristic for the Fleet Size and Mix Vehicle Routing Problem. Computers Operations Research. 18(3): 263- 274.

Desrochers, M., Desrosiers, J. and Solomon, M. (1992). A New Optimization Algorithm for the Vehicle Routing Problem with Time Windows. Operations Research. 40(2): 342-354.

Desrochers, M., Jones, C. V., Lenstra, J. K., Savelsbergh, M. W. P. and Stougie, L. (1999). Towards a Model and Algorithm Management System for Vehicle Routing and Scheduling Problems. Journal of Decision Support Systems. 25: 109-133.

160

Dijkstra, E. W. (1959). A Note on Two Problems in Connection with Graphs. Numerische Mathematik. 1: 269-271.

Donato, J. M. and Barbieri, E. (1995). Mathematical Representation of Fuzzy Membership Functions. IEEE Transactions on Fuzzy Systems. 290-294.

Dror, M. (1993). Modeling Vehicle Routing with Uncertain Demands as a Stochastic Program: Properties of the Corresponding Solution. European Journal of Operational Research. 64(3): 432-41. Dror, M. and Trudeau, P. (1986). Stochastic Vehicle Routing with Modified Savings Algorithm. European Journal of Operational Research. 23: 228-235.

Dror, M., Laporte, G. and Trudeau, P. (1989). Vehicle Routing with Stochastic Demands: Properties and Solution frameworks. Transportation Science. 23: 166- 176.

Eklund, P. W., Kirkby, S. and Pollitt, S. (1996). A Dynamic Multi-source Dijkstra’s Algorithm for Vehicle Routing. Proceeding of the 1996 Australian New Zealand Conf. on Intelligent Information Systems. 18-20 November 1996. Adelaide: ANZCIIS.

Fahrion, R. and Wrede, M. (1990). On a Principle of Chain-exchange for Vehicle- routing Problems (1-VRP). Journal of Operational Research Society. 41(9): 821-827.

Filev, D. P. and Yager, R. R. (1991). A Generalized Defuzzification Method via Bad Distributions. International Journal of Intelligent Systems. 6: 687-697.

Filipec, M., Skrlec, D. and Krajcar, S. (1997). Darwin Meets Computers: New Approach to Multiple Depot Capacitated Vehicle Routing Problem. IEEE Transactions on Man and Machine. 421-426.

161

Filipec, M., Skrlec, D. and Krajcar, S. (1998). An Efficient Implementation of Genetic Algorithms for Constrained Vehicle Routing Problem. IEEE Transactions on Artificial Intelligence. 2231-2236.

Floyd, R. W. (1962). Algorithm 97: Shortest Path. Communications of the ACM. 5(6): 345.

Forbes, M. A., Holt, J. N., Kilby, P. J. and Watts, A. M. (1994). BUDI: A Software System for Bus Dispatching. Journal of Operational Research Society. 45(5): 497-508.

Ford, L. R. and Fulkerson, D. R. (1972). Flows in Networks. New Jersey: Princeton University Press.

Garcia, B. L., Potvin, J. Y. and Rousseau, J. M. (1994). A Parallel Implementation of the Tabu Search Heuristic for Vehicle Routing Problems with Time Window Constraints. Computers Operations Research. 21(9): 1025-1033.

Gilberg, R. F. and Forouzan, B. A. (2001). Data Structures: A Pseudocode Approach with C++. New York: Brooks/Cole.

Gillet, B. E. and Miller, L. R. (1974). A Heuristic Algorithm for the Vehicle Dispatch Problem. Operations Research. 22: 340-349.

Glover, F. (1989). Tabu Search – Part I. ORSA Journal of Computing. 1: 190-206.

Healy, P. and Moll, R. (1995). A New Extension of Local Search Applied to the Dial-A-Ride Problem. European Journal of Operational Research. 83: 83-104.

Ikeda, T., Hsu, M. Y. and Imai, H. (1994). A Fast Algorithm for Finding Better Routes by AI Search Techniques. Proceeding of the Vehicle Navigation & Information Systems Conference. IEEE Transactions. 291-296.

162

Kandel, A. (1986). Fuzzy Mathematical Techniques with Applications. New York:Addison-Wesley Publishing Company, Inc.

King, P. J. and Mamdani, E. H. (1977). The Application of Fuzzy Control Systems to Industrial Process. Automatica. 13: 235-242.

Klir, G. J. and Yuan, B. (1995). Fuzzy Sets and Fuzzy Logic: Theory and Applications. New Jersey: Prentice Hall.

Klir, G. J., St. Clair, U. H. and Yuan, B. (1997). Fuzzy Set Theory: Foundations and Applications. New Jersey: Prentice Hall.

Koskosidis, Y. A., Powell, W. B. and Solomon, M. M. (1992). An Optimization- based Heuristic for Vehicle Routing and Scheduling with Soft Time Window Constraints. Transportation Science. 26(2): 69-85.

Kung, Y. S. and Liaw, C. M. A Fuzzy Controller Improving a Linear Model Following Controller for Motor Drives. IEEE Transactions on Fuzzy Systems. 2(2): 194-202.

Laporte, G. (1992a). The Vehicle Routing Problem with Stochastic Travel Times. Transportation Science. 26(3): 161-70.

Laporte, G. (1992b). The Vehicle Routing Problem: An Overview of Exact and Approximate Algorithms. European Journal of Operational Research. 59(3): 345-358.

Laporte, G., Mercure, H. and Nobert, Y. (1992). A Branch and Bound Algorithm for a Class of Asymmetrical Vehicle Routing Problems. Journal of the Operational Research Society. 43(5): 469-481.

Lau, K. K. and Kumar, M. J. (1997). Parallel Implementation of Branch and Bound Algorithm for Solving Vehicle Routing Problem on NOWs. IEEE Transactions on Artificial Intelligence. 247-253. 163

Li, Y. F. and Lau, C. C. (1989). Development of Fuzzy Algorithms for Servo Systems. IEEE Control Systems Magazine. 65-71.

Liaw, C. F., White, C. C. and Bander, J. (1996). A Decision Support System for the Bimodal Dial-A-Ride Problem. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans. 26(5).

Lim, O. P., Ling, T. C. and Phang, K. K. (1998). Development of Fuzzy Logic Control System. Malaysian Journal of Computer Science. 11(2): 8-14.

Lin, K. C. and Chern, M. S. (1993). The Fuzzy Shortest Path Problem and Its Most Vital Arcs, Fuzzy Sets and Systems. IEEE Transaction on Fuzzy Systems. 58: 343-353.

Lin, S. (1965). Computer Solutions of the Traveling Salesman Problem. Bell System Technology Journal. 44: 2245-2269.

Mamdani, E. and Assilian, S. (1975). An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller. International Journal of Man-Machine Studies. 7: 1-13.

McHugh, J. A. (1990). Algorithmic Graph Theory. New Jersey: Prentice Hall.

Mosheiov, G. (1994). The Traveling Salesman Problem with Pick-up Delivery. European Journal of Operational Research. 79: 299-310.

Murugesan, R. and Moorthy, N. V. R. (1998). Level of Public Transport Service Evaluation: A Fuzzy Set Approach. Journal of Advanced Transportation. 32(2).

Muslea, I. and Rey, M. (1997). The Very Offline k-Vehicle Routing Problem in Trees. IEEE Transactions on Computers and Systems. 155-163.

Nagurney, F. (1990). Minimizing Deadhead Distance in Routing School Buses. Journal of Research on Computing in Education. 22: 491-499. 164

Nelson, J. D. (1995). The Potential of Real-Time Passenger Information as Part of an Integrated Bus-Control/Information System. Journal of Advanced Transportation. 29(1).

Nygard, K. E. and Kadaba, N. (1991). Algorithm Management Using Genetic Search for Computer-Aided Vehicle Routing. IEEE Transactions on Artificial Intelligence. 317-326.

Pang, G., Takahashi, K., Yokota, T. and Takenaga, H. (1995). Adaptive Route Selection for Dynamic Route Guidance System Based on Fuzzy-Neural Approach. IEEE Transactions on Fuzzy Systems. 75-82.

Parsons, M. G., Chubb, A. C. and Cao, Y. (1995). An Assesment of Fuzzy Logic Vessel Path Control. IEEE Journal of Oceanic Engineering. 20(4): 276-284.

Pedroso, J. P. and Saitama, W. (1998). Niche Search: an Application in Vehicle Routing. IEEE Transactions on Artificial Intelligence. 177-182.

Pedrycz, W. (1994). Why Triangular Membership Functions?. Fuzzy Sets and Systems. 64: 21-30.

Peng, Z. R. and Dueker, K. (1995). Spatial Data Integration in Route-level Transit Demand Modeling. URISA Journal. 7.

Potvin, J. Y. and Rousseau, J. M. (1993). A Parallel Route Building Algorithm for the Vehicle Routing and Scheduling Problem with Time Windows. European Journal of Operational Research. 66(3): 331-340.

Potvin, J. Y. and Rousseau, J. M. (1995). An Exchange Heuristic for Routing Problems with Time Windows. Journal of the Operational Research Society. 46(12): 1433-1446.

165

Potvin, J. Y., Lapalme, G. and Rousseau, J. M. (1994). A Microcomputer Assistant for the Development of Vehicle Routing and Scheduling Heuristics. Journal of Decision Support Systems. 12: 41-56.

Procyk, T. J. and Mamdani, E. H. (1979). A Linguistic Self-organizing Process Controller. Automatica. 15: 15-30.

Psaraftis, H. N. and Tsitsiklis, J. N. (1993). Dynamic Shortest Paths in Acyclic Networks with Markovian Arc Costs. Operations Research. 41(1): 91-101.

Rao, D. H. and Saraf, S. S. (1995). Study of Defuzzification Methods of Fuzzy Logic Controller for Speed Control of a DC Motor. IEEE Transactions on Fuzzy Systems. 782-787.

Rego, C. and Roucariol, C. (1995). Using Tabu Search for Solving a Dynamic Multi- Terminal Truck Dispatching Problem. European Journal of Operational Research. 83: 411-429.

Renaud, J., Laporte, G. and Boctor, F. F. (1996). A Tabu Search Heuristic for the Multi Depot Vehicle Routing Problem. Computers Operations Research. 23(3): 229-235.

Rosenkrantz, D. J., Stearns, R. E. and Lewis II, P. M. (1977). An analysis of several heuristics for the traveling salesman problem. SIAM Journal of Computing. 6.

Roychowdury, S., Wang, B. H. and Ahn, S. K. (1994). Radial Defuzzification Method. IEEE Transactions on Fuzzy Systems. 1153-1158.

Runkler, T. A. (1996). Extended Defuzzification Methods and Their Properties. IEEE Transactions on Fuzzy Systems. 694-700.

Runkler, T. A. (1997). Selection of Appropriate Defuzzification Methods using Application Specific Properties. IEEE Transactions on Fuzzy Systems. 5(1): 72- 79. 166

Runkler, T. A. and Glesner, M. (1993). Defuzzification with Improved Static and Dynamic Behavior: Extended Center of Area. European Congress on Fuzzy and Intelligent Technologies. Aachen: European Congress. 845-851.

Runkler, T. A. and Glesner, M. (1994). DECADE – Fast Centroid Approximation Defuzzification for Real Time Fuzzy Control Applications. ACM Symposium on Applied Computing (SAC’94). Phoenix: ACM. 161-165.

Salhi, S. and. Rand, G. K (1993). Incorporating Vehicle Routing into the Vehicle Fleet Composition Problem. European Journal of Operational Research. 66: 313-330.

Salhi, S. and Sari, M. (1997). A Multi-level Composition Heuristic for the Multi- depot Vehicle Fleet Mix Problem. European Journal of Operational Research. 103: 95-112.

Sanyal, S., Iyengar, S. and Feng, W. G. (1993). Defuzzification Method for a Faster and More Accurate Control. IEEE TENCON ’93. Beijing: TENCON. 316-318.

Savelsbergh, M. W. P. (1992). The Vehicle Routing Problem with Time Windows: Minimizing Route Duration. ORSA Journal of Computing. 4(2): 46-54.

Shaout, A., Cherri, A. and Cotner J. (1993). Fuzzy Route Choice: An Enhancement to Future Automotive Navigation Systems. IEEE Transactions on Fuzzy Systems. 212-216.

Skrlec, D., Filipec, M. and Krajcar, S. (1997). A Heuristic Modification of Genetic Algorithm Used for Solving the Single Depot Capacitated Vehicle Routing Problem. IEEE Transactions Artificial Intelligence”. 184-188.

Soehodho, S. (1998). Hybrid Model of Taxonomy and Genetic Algorithms for Finding Shortest Path in Transportation Systems. Journal of Advanced Transportation. 32(3). 167

Soehodho, S. and Koshi, M. (1999). Design of Public Transit Network in Urban Area with Elastic Demand. Journal of Advanced Transportation. 33(3).

Soehodho, S. and Nahry (2000). Optimal Scheduling of Public Transport Fleet at Network Level. Journal of Advanced Transportation. 34(2).

Sugeno, M. (1985). An Introductory Survey of Fuzzy Control. Information Science. 36: 59-83.

Sugeno, M. and Murakami, K. (1985). An Experimental Study on Fuzzy Parking Control using a Model Car. Industrial Applications of Fuzzy Control. Amsterdam: M. Sugeno. 125-138.

Sugeno, M. and Nishida, M. (1985). Fuzzy Control of Model Car. Fuzzy Sets and Systems. 16: 110-113.

Taillard, E. D., Laporte, G. and Gendreau, M. (1996). Vehicle Routing with Multiple Use of Vehicles. Journal of the Operational Research Society. 47(8): 1065- 1070.

Takagi, T. and Sugeno, M. (1983). Derivation of Fuzzy Control Rules from Human Operator’s Control Action. IFAC Symposium on Fuzzy Information, Knowledge Representation AND Decision Analysis. Marseille: IFAC. 55-60.

Tamin, O. Z. (1997). Public Transport Demand Estimation by Calibrating a Trip Distribution-Mode Choice (TDMC) Model from Passenger Counts: A Case Study in Bandung, Indonesia. Journal of Advanced Transportation. 31(1).

Teodorovic, D. and Pavkovic, G. (1992). A Simulated Annealing Technique Approach to the Vehicle Routing Problem in the Case of the Stochastic. Transportation Planning Technology. 16: 261-273.

168

Teodorovic, D. and Pavkovic, G. (1996). The Fuzzy Set Theory Approach to the Vehicle Routing Problem When Demand at Nodes is Uncertain. Fuzzy Sets and Systems. 82: 307-317.

Thangiah, S. R. and Gubbi, A. V. (1993). Effect of Genetic Sectoring on Vehicle Routing Problems with Time Windows. IEEE Transactions on Artificial Intelligence. 146-153.

Thangiah, S. R., Nygard, K. E. and Juell, P. L. (1991). GIDEON: A Genetic Algorithm for Vehicle Routing with Time Windows. IEEE Transactions on Artificial Intelligence. 322-328.

Tillman, F. A. and Cochran, H. (1968). A Heuristic Approach for Solving the Delivery Problem. Journal of Industrial Engineering. 19: 354-358.

Tsubakitani, S. and Evans, J. R. (1998). An Empirical Study of a new Metaheuristic for the Traveling Salesman Problem. European Journal of Operational Research. 104: 113-128.

Uchimura, K. and Sakaguchi, H. (1995). Vehicle Routing Problem using Genetic Algorithms based on Adjacency Relations. IEEE Transactions Artificial Intelligence. 214-217.

Wang, J. J. and Po, K. (2001). Bus Routing Strategies in a Transit Market: A Case Study of Hong Kong. Journal of Advanced Transportation. 35(3).

Wang, L. X. (1994). Adaptive Fuzzy Systems and Control: Design and Stability Analysis. New Jersey: Prentice Hall.

Watling, D. and Van Vuren, T. (1993). The Modeling of Dynamic Route Guidance Systems. Transportation Research on Computer Emerging Technology. 10(2): 159-82.

Zadeh, L. A. (1965). Fuzzy Sets. Information Control. 8: 338-353. 169

Zhao, Y. (1997). Vehicle Location and Navigation Systems. Norwood: Artech House, Inc.

Zhengdong, H. and Masser, I. (2002). Extending Bus Line Representation for Transport Applications. Proceeding of the 5th Conference on Geographic Information System. Palma: AGILE.

APPENDIX A

TABLE OF BUDGET

APPENDIX A

Table of Budget

Table A: Budget for Operational Cost of DAMRI Year: 1999

ITEM BUDGET/MONTH COST/MONTH BUDGET/DAY COST/BUS/DAY KM=433,194 RP/KM KM=373,842 RP/KM KM=12,059 RP/KM KM=204 RP/KM S.G.O 86 59 59 59 TIRES 51,021,589.00 117.77 60,806,900.00 162.65 1,961,512.00 162.66 33,246.00 162.97 FUEL 70,632,282.00 163.05 78,166,358.00 209.08 2,521,495.00 209.1 42,737.00 209.46 OIL 12,956,832.00 29.9 31,979,388.00 85.54 1,031,593.00 85.55 17,485.00 85.71 MAINTENANCE 48,158,177.00 111.17 56,696,395.00 151.65 1,828,883.00 151.66 30,998.00 151.95 TOTAL 182,768,880.00 421.89 227,649,041.00 608.92 7,343,483.00 608.97 124,466.00 610.09

Semarang, 5 January 2000

APPENDIX B

TIME TABLE 173

APPENDIX B Time Table

Table B1: Time Table of Banyumanik-Terboyo Route TIME TRIP 1 TRIP 2 TRIP 3 TRIP 4 TRIP 5 TO TERBOYO BANYUMANIK TERBOYO BANYUMANIK TERBOYO START ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. 12.50 14.10 14.18 15.38 15.46 17.06 17.14 18.34 18.42 20.02 POLE 12.58 14.18 14.24 15.46 15.54 17.14 17.22 18.42 18.50 20.10 POLE 13.06 14.24 14.32 15.54 16.02 17.22 17.30 18.50 18.58 20.18 POLE 13.14 14.32 14.40 16.02 16.10 17.30 17.38 18.58 19.06 20.26 POLE 13.22 14.40 14.48 16.10 16.18 17.38 17.46 19.06 19.14 20.34 POLE 13.30 14.48 14.56 16.18 16.26 17.46 17.54 19.14 19.22 20.42 POLE 13.38 14.56 15.04 16.26 16.34 17.54 18.02 19.22 19.30 20.50 POLE

Table B2: Time Table of Mangkang-Terboyo Route TIME TRIP 1 TRIP 2 TRIP 3 TRIP 4 TRIP 5 MANGKAN TO TERBOYO G TERBOYO MANGKANG TERBOYO START ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. 5.30 6.50 6.58 8.18 8.26 9.46 9.54 11.14 11.22 12.42 POLE 5.38 6.58 7.06 8.26 8.34 9.54 10.02 11.22 11.30 12.50 POLE 5.44 7.06 7.14 8.34 8.42 10.02 10.10 11.30 11.38 12.58 POLE 5.52 7.14 7.22 8.42 8.50 10.10 10.18 11.38 11.46 13.06 POLE 6.00 7.22 7.30 8.50 8.58 10.18 10.26 11.46 11.52 13.14 POLE 6.08 7.30 7.38 8.58 9.06 10.26 10.34 11.52 12.00 13.22 POLE 6.16 7.38 7.46 9.06 9.14 10.34 10.42 12.00 12.08 13.30 POLE 6.24 7.46 7.54 9.14 9.22 10.42 10.50 12.08 12.16 13.38 POLE 6.32 7.54 8.02 9.22 9.30 10.50 10.58 12.16 12.24 13.46 POLE 6.40 8.02 8.10 9.30 9.38 10.58 11.06 12.24 12.32 13.54 POLE 6.48 8.10 8.18 9.38 9.46 11.06 11.14 12.32 12.40 14.02 POLE

174

Table B3: Time Table of Ngaliyan-Pucang Gading Route TIME TRIP 1 TRIP 2 TRIP 3 TRIP 4 TRIP 5 TO NGALIYAN P. GADING NGALIYAN P. GADING NGALIYAN START ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. 5.30 6.50 6.58 8.18 8.26 9.46 9.54 11.14 11.22 12.42 POLE 5.38 6.58 7.06 8.26 8.34 9.54 10.02 11.22 11.30 12.50 POLE 5.44 7.06 7.14 8.34 8.42 10.02 10.10 11.30 11.38 12.58 POLE 5.52 7.14 7.22 8.42 8.50 10.10 10.18 11.38 11.46 13.06 POLE 6.00 7.22 7.30 8.50 8.58 10.18 10.26 11.46 11.52 13.14 POLE 6.08 7.30 7.38 8.58 9.06 10.26 10.34 11.52 12.00 13.22 POLE 6.16 7.38 7.46 9.06 9.14 10.34 10.42 12.00 12.08 13.30 POLE 6.24 7.46 7.54 9.14 9.22 10.42 10.50 12.08 12.16 13.38 POLE 6.32 7.54 8.02 9.22 9.30 10.50 10.58 12.16 12.24 13.46 POLE

Table B4: Time Table of Perumnas-Johar Route TIME TRIP 1 TRIP 2 TRIP 3 TRIP 4 TRIP 5 TRIP 6 TO JOHAR PERUMNAS JOHAR PERUMNAS JOHAR PERUMNAS START ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. ARR. DEP. 5.30 6.35 6.43 7.48 7.56 9.01 9.09 10.14 10.22 11.27 11.35 12.4 POLE 5.38 6.43 6.51 7.56 8.04 9.09 9.17 10.22 10.30 11.35 11.43 12.48 POLE 5.44 6.51 6.59 8.04 8.12 9.17 9.25 10.30 10.38 11.43 11.51 12.56 POLE 5.52 6.59 7.07 8.12 8.20 9.25 9.33 10.38 10.46 11.51 11.59 13.04 POLE 6.00 7.07 7.15 8.20 8.28 9.33 9.41 10.46 10.54 11.59 12.07 13.12 POLE

APPENDIX C

ROUTE PROFILE 177

APPENDIX C Route Profiles

Table C1: Banyumanik Route Profile Link Distance (Km) Crossroads Traffic Lights Conditions Setiabudi 3 3 2 - two way links - transit link Umar 1.5 1 1 - two way - high populated Agung 2.5 1 1 - two way - hilly road Parman 2 2 1 - two way - hilly road Sutomo 1.5 1 0 - two way - transit link Pemuda 3 5 3 - two way - business centre Sugiono 0.5 1 0 - one way Tantular 0.5 0 1 - one way Tawang 0.6 1 0 - one way Pengapon 1 1 0 - one way Kaligawe 3 2 1 - two way - bad congested Raden 1.5 2 1 - one way - transit link Suprapto 0.5 1 0 - one way - many pedestrians Total 21.1 21 11

178

Table C2: Perumnas Route Profile Link Distance (Km) Crossroads Traffic Lights Conditions Perumnas 2.5 1 0 - two way links Setiabudi 3 3 2 - two way links - transit link Umar 1.5 1 1 - two way - high populated Agung 2.5 1 1 - two way - hilly road Parman 2 2 1 - two way - hilly road Sutomo 1.5 1 0 - two way - transit link Pemuda 3 5 3 - two way - business centre Total 15.5 14 8

179

Table C3: Mangkang Route Profile Link Distance (Km) Crossroads Traffic Lights Conditions Mangkang 3 1 0 - two way links - transit link Walisongo 4 1 1 - two way Siliwangi 2.5 3 1 - two way - transit link Sudirman 3 2 1 - two way Sugiopranoto 1 1 0 - two way - shopping centre Pemuda 3 5 3 - two way - business centre Sugiono 0.5 1 0 - one way Tantular 0.5 0 1 - one way Tawang 0.6 1 0 - one way Pengapon 1 1 0 - one way Kaligawe 3 2 1 - two way - bad congested Raden 1.5 2 1 - one way - transit link Suprapto 0.5 1 0 - one way - many pedestrians Total 24.1 21 9

180

Table C4: Pucang Gading Route Profile Link Distance (Km) Crossroads Traffic Lights Conditions Ngaliyan 3 2 0 - two way - hilly road Siliwangi 2.5 3 1 - two way - transit link Sudirman 3 2 1 - two way Sugiopranoto 1 1 0 - two way - shopping centre Pandanaran 2.5 2 2 - two way - business centre Yani 2 1 1 - one way - transit link Katamso 2 3 3 - two way - transit link Majapahit 5.2 2 1 - twoo way Plamongan 3 0 0 - two way - transit link Total 24.2 16 9

APPENDIX D

DATA OF DEMAND 182

APPENDIX D Data of Demand

Table D1: Banyumanik-Terboyo Route LINK 5/3/01 21/3/01 25/3/01 5/4/01 9/4/01 TOTAL Setiabudi 76 80 67 61 75 359 Umar 67 55 69 49 67 307 Agung 29 39 24 25 33 150 Parman 18 25 17 28 32 120 Sutomo 53 43 68 55 53 272 Pemuda 30 45 33 49 32 189 Sugiono 2 10 3 7 4 26 Tantular 21 20 22 16 23 102 Tawang 0 0 1 0 5 6 Pengapon 9 11 2 10 4 36 Kaligawe 10 3 7 7 8 35 TOTAL/ ROUTE 315 331 313 307 336 1602

Table D2: Johar-Perumnas Route LINK 8/3/01 20/3/01 28/3/01 3/4/01 12/4/01 TOTAL Pemuda 40 82 56 41 60 279 Sutomo 85 69 71 86 82 393 Parman 26 23 31 43 22 145 Agung 26 22 27 57 25 157 Umar 60 48 51 34 59 252 Setiabudi 42 39 54 45 33 213 Perumnas 33 29 54 38 50 204 TOTAL/ ROUTE 312 312 344 344 331 1643

183

Table D3: P. Gading-Ngaliyan Route LINK 7/3/01 22/3/01 27/3/01 2/4/01 11/4/01 TOTAL Plamongan 48 53 43 51 54 249 Majapahit 86 51 82 65 88 372 Katamso 26 17 25 35 25 128 Yani 44 26 54 38 47 209 Pandan 53 34 43 39 36 205 Sugio 52 61 60 35 61 269 Sudirman 4 14 4 9 11 42 Siliwangi 15 32 20 27 31 125 Ngaliyan 7 7 19 13 16 62 TOTAL/ ROUTE 335 295 350 312 369 1661

Table D4: Mangkang-Terboyo Route LINK 6/3/01 26/3/01 3/4/01 10/4/01 17/4/01 TOTAL Mangkang 11 41 51 42 51 196 Wali9 5 54 46 39 40 184 Siliwangi 17 55 44 51 42 209 Sudirman 2 16 21 11 16 66 Sugio 18 57 93 62 47 277 Pemuda 10 28 38 34 60 170 Sugiono 1 5 5 1 3 15 Tantular 9 22 13 18 22 84 Tawang 0 2 0 3 5 10 Pengapon 0 8 3 6 8 25 Kaligawe 0 13 9 11 6 39 TOTAL/ ROUTE 73 301 323 278 300 1275

184

Table D5: Johar-Perumnas Route LINK 8/3/2001 20/3/01 28/3/01 3/4/2001 12/4/2001 TOTAL Pemuda 25 11 21 15 10 82 Sutomo 19 13 13 7 17 69 Parman 3 5 7 5 3 23 Agung 4 3 3 6 6 22 Umar 8 9 10 8 13 48 Setiabudi 5 4 12 10 8 39 Perumnas 8 7 5 4 5 29 TOTAL/ ROUTE 72 52 71 55 62 312

Table D6: Terboyo-Banyumanik LINK 5/3/01 21/3/01 25/3/01 5/4/01 9/4/01 TOTAL Kaligawe 37 42 36 40 40 195 Raden 27 21 19 11 24 102 Suprapto 17 13 15 23 15 83 Pemuda 71 91 70 82 79 393 Sutomo 58 31 66 59 68 282 Parman 15 45 16 24 17 117 Agung 24 33 20 23 19 119 Umar 55 36 47 45 45 228 Setiabudi 27 35 16 27 17 122 TOTAL/ ROUTE 331 347 305 334 324 1641

185

Table D7: Perumnas-Johar Route LINK 8/3/01 20/3/01 28/3/01 3/4/01 12/4/01 TOTAL Perumnas 14 15 13 10 17 69 Setiabudi 62 71 80 49 77 339 Umar 80 66 72 70 80 368 Agung 40 36 32 32 38 178 Parman 27 19 36 40 20 142 Sutomo 66 54 62 49 66 297 Pemuda 30 30 44 22 27 153 TOTAL/ ROUTE 319 291 339 272 325 1546

Table D8: Ngaliyan-P. Gading LINK 7/3/01 22/3/01 27/3/01 2/4/01 11/4/01 TOTAL Ngaliyan 47 14 31 18 42 152 Siliwangi 39 7 19 14 28 107 Sudirman 16 5 2 5 10 38 Sugio 56 21 42 9 58 186 Pandan 41 4 27 6 26 104 Yani 64 8 70 10 51 203 Katamso 22 6 13 1 10 52 Majapahit 36 14 37 4 44 135 Plamongan 27 4 27 12 32 102 TOTAL/ ROUTE 348 83 268 79 301 1079

186

Table D9: Terboyo-Mangkang LINK 6/3/01 26/3/01 3/4/01 10/4/01 17/4/01 TOTAL Kaligawe 43 36 27 41 58 205 Raden 22 28 16 28 19 113 Suprapto 19 16 12 25 24 96 Pemuda 82 87 84 80 112 445 Sugio 75 71 34 78 61 319 Sudirman 21 18 18 30 21 108 Siliwangi 51 43 36 35 14 179 Wali9 20 12 18 16 6 72 Mangkang 8 13 0 5 8 34 TOTAL/ ROUTE 341 324 245 338 323 1571

Table D10: Average Demand of Banyumanik-Terboyo Route LINK 5/3/01 21/3/01 25/3/01 5/4/01 9/4/01 TOTAL Setiabudi 15.2 16.0 13.4 12.2 15.0 71.8 Umar 13.4 11.0 13.8 9.8 13.4 61.4 Agung 5.8 7.8 4.8 5.0 6.6 30 Parman 3.6 5.0 3.4 5.6 6.4 24 Sutomo 10.6 8.6 13.6 11.0 10.6 54.4 Pemuda 6.0 9.0 6.6 9.8 6.4 37.8 Sugiono 0.4 2.0 0.6 1.4 0.8 5.2 Tantular 4.2 4.0 4.4 3.2 4.6 20.4 Tawang 0.0 0.0 0.2 0.0 1.0 1.2 Pengapon 1.8 2.2 0.4 2.0 0.8 7.2 Kaligawe 2.0 0.6 1.4 1.4 1.6 7 TOTAL/ ROUTE 63.0 66.2 62.6 61.4 67.2 320.4

187

Table D11: Average Demand of Johar-Perumnas Route LINK 8/3/01 20/3/01 28/3/01 3/4/01 12/4/01 TOTAL Pemuda 8.0 13.7 11.2 6.8 10.0 49.7 Sutomo 17.0 11.5 14.2 14.3 13.7 70.7 Parman 5.2 3.8 6.2 7.2 3.7 26.1 Agung 5.2 3.7 5.4 9.5 4.2 27.9 Umar 12.0 8.0 10.2 5.7 9.8 45.7 Setiabudi 8.4 6.5 10.8 7.5 5.5 38.7 Perumnas 6.6 4.8 10.8 6.3 8.3 36.9 TOTAL/ ROUTE 62.4 52.0 68.8 57.3 55.2 295.7

Table D12: Average Demand of P. Gading-Ngaliyan Route LINK 7/3/01 22/3/01 27/3/01 2/4/01 11/4/01 TOTAL Plamongan 9.6 13.3 8.6 12.8 10.8 55.0 Majapahit 17.2 12.8 16.4 16.3 17.6 80.2 Katamso 5.2 4.3 5.0 8.8 5.0 28.2 Yani 8.8 6.5 10.8 9.5 9.4 45.0 Pandan 10.6 8.5 8.6 9.8 7.2 44.7 Sugio 10.4 15.3 12.0 8.8 12.2 58.6 Sudirman 0.8 3.5 0.8 2.3 2.2 9.6 Siliwangi 3.0 8.0 4.0 6.8 6.2 28.0 Ngaliyan 1.4 1.8 3.8 3.3 3.2 13.4 TOTAL/ ROUTE 67.0 73.8 70.0 78.0 73.8 362.6

188

Table D13: Average Demand of Mangkang-Terboyo Route LINK 6/3/01 26/3/01 3/4/01 10/4/01 17/4/01 TOTAL Mangkang 2.8 10.3 12.8 10.5 10.2 46.45 Wali9 1.3 13.5 11.5 9.8 8.0 44 Siliwangi 4.3 13.8 11.0 12.8 8.4 50.15 Sudirman 0.5 4.0 5.3 2.8 3.2 15.7 Sugio 4.5 14.3 23.3 15.5 9.4 66.9 Pemuda 2.5 7.0 9.5 8.5 12.0 39.5 Sugiono 0.3 1.3 1.3 0.3 0.6 3.6 Tantular 2.3 5.5 3.3 4.5 4.4 19.9 Tawang 0.0 0.5 0.0 0.8 1.0 2.25 Pengapon 0.0 2.0 0.8 1.5 1.6 5.85 Kaligawe 0.0 3.3 2.3 2.8 1.2 9.45 TOTAL/ ROUTE 18.3 75.25 80.75 69.5 60.0 303.75

Table D14: Average Demand of Terboyo-Banyumanik Route LINK 5/3/01 21/3/01 25/3/01 5/4/01 9/4/01 TOTAL Kaligawe 7.4 8.4 7.2 8.0 8.0 39 Raden 5.4 4.2 3.8 2.2 4.8 20.4 Suprapto 3.4 2.6 3.0 4.6 3.0 16.6 Pemuda 14.2 18.2 14.0 16.4 15.8 78.6 Sutomo 11.6 6.2 13.2 11.8 13.6 56.4 Parman 3.0 9.0 3.2 4.8 3.4 23.4 Agung 4.8 6.6 4.0 4.6 3.8 23.8 Umar 11.0 7.2 9.4 9.0 9.0 45.6 Setiabudi 5.4 7.0 3.2 5.4 3.4 24.4 TOTAL/ ROUTE 66.2 69.4 61 66.8 64.8 328.2

189

Table D15: Average Demand of Perumnas-Johar Route LINK 8/3/01 20/3/01 28/3/01 3/4/01 12/4/01 TOTAL Perumnas 2.3 3.0 2.2 2.0 2.8 12.3 Setiabudi 10.3 14.2 13.3 9.8 12.8 60.5 Umar 13.3 13.2 12.0 14.0 13.3 65.9 Agung 6.7 7.2 5.3 6.4 6.3 31.9 Parman 4.5 3.8 6.0 8.0 3.3 25.6 Sutomo 11.0 10.8 10.3 9.8 11.0 52.9 Pemuda 5.0 6.0 7.3 4.4 4.5 27.2 TOTAL/ ROUTE 53.2 58.2 56.5 54.4 54.2 276.4

Table D16: Average Demand of Ngaliyan-P. Gading Route LINK 7/3/01 22/3/01 27/3/01 2/4/01 11/4/01 TOTAL Ngaliyan 9.4 2.8 7.8 3.6 10.5 34.1 Siliwangi 7.8 1.4 4.8 2.8 7.0 23.8 Sudirman 3.2 1.0 0.5 1.0 2.5 8.2 Sugio 11.2 4.2 10.5 1.8 14.5 42.2 Pandan 8.2 0.8 6.8 1.2 6.5 23.5 Yani 12.8 1.6 17.5 2.0 12.8 46.7 Katamso 4.4 1.2 3.3 0.2 2.5 11.6 Majapahit 7.2 2.8 9.3 0.8 11.0 31.1 Plamongan 5.4 0.8 6.8 2.4 8.0 23.4 TOTAL/ ROUTE 69.6 16.6 67.0 15.8 75.3 244.3

190

Table D17: Average Demand of Terboyo-Mangkang Route LINK 6/3/01 26/3/01 3/4/01 10/4/01 17/4/01 TOTAL Kaligawe 8.6 7.2 6.8 8.2 11.6 42.35 Raden 4.4 5.6 4.0 5.6 3.8 23.4 Suprapto 3.8 3.2 3.0 5.0 4.8 19.8 Pemuda 16.4 17.4 21.0 16.0 22.4 93.2 Sugio 15.0 14.2 8.5 15.6 12.2 65.5 Sudirman 4.2 3.6 4.5 6.0 4.2 22.5 Siliwangi 10.2 8.6 9.0 7.0 2.8 37.6 Wali9 4.0 2.4 4.5 3.2 1.2 15.3 Mangkang 1.6 2.6 0.0 1.0 1.6 6.8 TOTAL/ ROUTE 68.2 64.8 61.3 67.6 64.6 326.45

APPENDIX E

DATA OF LINKS 192

APPENDIX E Data of Links

Table E1: Data of Current Links Origin Destination Length Weight 1 3 3 39.2 3 1 3 6.8 2 3 3 30.4 3 2 3 12.4 3 4 4 36.8 4 3 4 14.4 4 5 3 15 5 4 3 10.4 5 0 1 58.8 0 5 1 46.3 0 6 3 93.2 6 0 3 39.5 6 7 3 26.3 7 6 1.5 21.5 7 8 3 14.8 8 7 3 40 0 9 2.5 20.8 9 0 2.5 41 9 23 1 46.7 23 9 1 45 23 24 2 11.6 24 23 2 28.2 24 25 3 15.1 25 24 3 40.1 25 10 3 15 10 25 3 40.1 10 11 3 20.4 11 10 3 49.8 0 12 1.5 67.5 12 0 1.5 56.9 12 13 2 26.2 13 12 2 26.2 13 14 2.5 27.6 14 13 2.5 32.8 14 15 1.5 48 15 14 1.5 67.5 15 16 5 33.5 16 15 5 69.8 16 17 2.5 40.8 17 16 2.5 13.8

193

Table E2: Data of Alternative Links Origin Destination Length Weight 1 18 10 11 18 1 10 5 2 18 8 10 18 2 8 14 3 15 6 2 15 3 6 5 4 12 5 9 12 4 5 31 5 12 3 27 12 5 3 18 4 19 6 12 0 20 1.5 31 20 6 1.5 8 19 20 2 5 20 19 2 0 19 21 2 6 6 21 2 5 21 6 2 3 21 7 2.5 11 7 22 2 13 6 9 3 41 22 23 4 18 22 25 7 21 9 13 3 17.2 23 14 4 33 24 15 5 21 15 24 5 34 25 27 8 25 27 25 8 27 26 27 4 5 27 26 4 8 15 26 2 10 26 15 2 7 26 16 3 14.4 16 26 3 7.36

APPENDIX F

RESULTS OF SWEEP ALGORITHM 195

APPENDIX F Results of the Sweep Algorithm

Table F1: Forward Sweep with Capacity Constraint of 200 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Johar 3.00 44,100 19,241.10 Pengapon 1.00 2,100 6,413.70 Terboyo 3.00 16,450 19,241.10 Total per route: 7.00 62,650 44,895.90 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Ngalian 3.00 30,100 19,241.00 Jrakah 2.50 35,700 16,034.25 Sudirman 3.00 17,500 19,241.10 Mangkang 7.00 32,200 44,895.90 Total per route: 15.50 115,500 99,412.35 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Bulu 1.00 0.00 6,413.70 Total per route: 1.00 0.00 6,413.70 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo 1.50 0.00 9,620.55 Total per route: 1.50 0.00 9,620.55 e) Route 5 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 9,625 16,034.25 Banyumanik 3.00 18,025 19,241.10 Total per route: 5.50 27,650 35,275.35 f) Route 6 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) S.Parman 2.00 9,100 12,827.40 Jatingaleh 1.50 20,125 9,620.55 Total per route: 3.50 29,225 22,447.95 g) Route 7 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) P.Gading 3.00 12,250 19,241.00 S.Agung 2.50 10,500 16,034.25 Total per route: 5.50 22,750 35,275.35 196

h) Route 8 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Simpang Lima 2.50 3,150.00 16,034.25 Pedurungan 9.20 17,675 59,006.04 Total per route: 11.70 20,825.00 75,040.29 Total all routes: 51.20 278,600.00 328,381.44

Table F2: Forward Sweep with Capacity Constraint of 300 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sudirman 3.00 17,500 19,241.10 Mangkang 7.00 32,200 44,895.90 Johar 3.00 88,200 19,241.10 Pengapon 1.00 4,200 6,413.70 Terboyo 3.00 32,900 19,241.10 Total per route: 17.00 175,000 109,032.90 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Bulu 1.00 36,750 6,413.70 Ngalian 3.00 15,050 19,241.00 Jrakah 2.50 17,850 16,034.25 Total per route: 6.50 69,650 41,689.05 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 19,250 16,034.25 Banyumanik 3.00 36,050 19,241.10 Sutomo 1.50 43,400 9,620.55 Total per route: 7.00 98,700 44,895.90 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) P.Gading 3.00 49,000 19,241.00 S.Agung 2.50 42,000 16,034.25 S.Parman 2.00 36,400 12,827.40 Jatingaleh 1.50 80,500 9,620.55 Total per route: 9.00 207,900 57,723.30

197 e) Route 5 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Simpang Lima 2.50 3,150.00 16,034.25 Pedurungan 9.20 17,675 59,006.04 Total per route: 11.70 20,825.00 75,040.29 Total all routes: 51.20 572,075.00 328,381.44

Table F3: Forward Sweep with Capacity Constraint of 400 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Ngalian 3.00 30,100 19,241.00 Jrakah 2.50 35,700 16,034.25 Sudirman 3.00 17,500 19,241.10 Mangkang 7.00 32,200 44,895.90 Johar 3.00 88,200 19,241.10 Pengapon 1.00 4,200 6,413.70 Terboyo 3.00 32,900 19,241.10 Total per route: 22.50 240,800 144,308.25 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 38,500 16,034.25 Banyumanik 3.00 72,100 19,241.10 Sutomo 1.50 86,800 9,620.55 Bulu 1.00 73,500 6,413.70 Total per route: 8.00 270,900 51,309.60 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Pedurungan 9.20 70,700 59,006.04 P.Gading 3.00 49,000 19,241.00 S.Agung 2.50 42,000 16,034.25 S.Parman 2.00 36,400 12,827.40 Jatingaleh 1.50 80,500 9,620.55 Total per route: 18.20 278,600 116,729.34 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Simpang Lima 2.50 0.00 16,034.25 Total per route: 2.50 0.00 16,034.25 Total all routes: 51.20 790,300 328,381.44

198

Table F4: Forward Sweep with Capacity Constraint of 500 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Bulu 1.00 73,500 6,413.70 Ngalian 3.00 30,100 19,241.00 Jrakah 2.50 35,700 16,034.25 Sudirman 3.00 17,500 19,241.10 Mangkang 7.00 32,200 44,895.90 Johar 3.00 88,200 19,241.10 Pengapon 1.00 4,200 6,413.70 Terboyo 3.00 32,900 19,241.10 Total per route: 23.50 314,300 150,721.95 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) S.Parman 2.00 36,400 12,827.40 Jatingaleh 1.50 80,500 9,620.55 Perumnas 2.50 38,500 16,034.25 Banyumanik 3.00 72,100 19,241.10 Sutomo 1.50 86,800 9,620.55 Total per route: 10.50 314,300 67,343.85 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Simpang Lima 2.50 12,600 16,034.25 Pedurungan 9.20 70,700 59,006.04 P.Gading 3.00 49,000 19,241.00 S.Agung 2.50 42,000 16,034.25 Total per route: 17.20 174,300 110,315.64 Total all routes: 51.20 802,900 328,381.44

199

Table F5: Forward Sweep with Capacity Constraint of 600 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo 1.50 86,800 9,620.55 Bulu 1.00 73,500 6,413.70 Ngalian 3.00 30,100 19,241.00 Jrakah 2.50 35,700 16,034.25 Sudirman 3.00 17,500 19,241.10 Mangkang 7.00 32,200 44,895.90 Johar 3.00 88,200 19,241.10 Pengapon 1.00 4,200 6,413.70 Terboyo 3.00 32,900 19,241.10 Total per route: 25.00 401,100 160,342.50 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Simpang Lima 2.50 12,600 16,034.25 Pedurungan 9.20 70,700 59,006.04 P.Gading 3.00 49,000 19,241.00 S.Agung 2.50 42,000 16,034.25 S.Parman 2.00 36,400 12,827.40 Jatingaleh 1.50 80,500 9,620.55 Perumnas 2.50 38,500 16,034.25 Banyumanik 3.00 72,100 19,241.10 Total per route: 26.20 401,800 168,038.94 Total all routes: 51.20 802,900 328,381.44

200

Table F6: Backward Sweep with Capacity Constraint of 200 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) P.Gading 3.00 24,500 19,241.00 Pedurungan 9.20 35,350 59,006.04 Simpang Lima 2.50 6,300 16,034.25 Total per route: 14.70 66,150 94,281.39 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) S.Parman 2.00 9,100 12,827.40 S.Agung 2.50 10,500 16,034.25 Total per route: 4.50 19,600 28,861.65 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 9,625 16,034.25 Jatingaleh 1.50 20,125 9,620.55 Total per route: 4.00 29,750 25,654.80 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Banyumanik 3.00 0.00 19,241.10 Total per route: 3.00 0.00 19,241.10 e) Route 5 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo 1.50 0.00 9,620.55 Total per route: 1.50 0.00 9,620.55 f) Route 6 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Jrakah 2.50 17,850 16,034.25 Ngalian 3.00 15,050 19,241.00 Bulu 1.00 36,750 6,413.70 Total per route: 6.50 69,650 41,689.05 g) Route 7 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Johar 3.00 44,100 19,241.10 Mangkang 7.00 16,100 44,895.90 Sudirman 3.00 8,750 19,241.10 Total per route: 16.50 68,950 83,378.10

201 h) Route 8 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Terboyo 3.00 8,225 19,241.10 Pengapon 1.00 1,050 6,413.70 Total per route: 4.00 9,275 25,654.80

Total all routes: 51.20 263,375 328,381.44

Table F7: Backward Sweep with Capacity Constraint of 300 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) S.Agung 2.50 42,000 16,034.25 P.Gading 3.00 49,000 19,241.00 Pedurungan 9.20 70,700 59,006.04 Simpang Lima 2.50 12,600 16,034.25 Total per route: 17.20 174,300 110,315.64 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 19,250 16,034.25 Jatingaleh 1.50 40,250 9,620.55 S.Parman 2.00 18,200 12,827.40 Total per route: 6.00 77,700 38,482.20 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo 1.50 21,700 9,620.55 Banyumanik 3.00 18,020 19,241.10 Total per route: 4.50 39,725 28,861.65 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Mangkang 7.00 32,200 44,895.90 Sudirman 3.00 17,500 19,241.10 Jrakah 2.50 35,700 16,034.25 Ngalian 3.00 30,100 19,241.00 Bulu 1.00 73,500 6,413.70 Total per route: 16.50 189,000 105,826.05

202 e) Route 5 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Terboyo 3.00 16,450 19,241.10 Pengapon 1.00 2,100 6,413.70 Johar 3.00 44,100 19,241.10 Total per route: 7.00 62,650 44,895.90

Total all routes: 51.20 543,375 328,381.44

Table F8: Backward Sweep with Capacity Constraint of 400 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) S.Parman 2.00 36,400 12,827.40 S.Agung 2.50 42,000 16,034.25 P.Gading 3.00 49,000 19,241.00 Pedurungan 9.20 70,700 59,006.04 Simpang Lima 2.50 12,600 16,034.25 Total per route: 19.20 210,700 123,143.04 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Sutomo 1.50 86,800 9,620.55 Banyumanik 3.00 72,100 19,241.10 Perumnas 2.50 38,500 16,034.25 Jatingaleh 1.50 80,500 9,620.55 Total per route: 8.50 277,900 54,516.45 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Johar 3.00 44,100 19,241.10 Mangkang 7.00 32,200 44,895.90 Sudirman 3.00 17,500 19,241.10 Jrakah 2.50 35,700 16,034.25 Ngalian 3.00 30,100 19,241.00 Bulu 1.00 73,500 6,413.70 Total per route: 19.50 277,200 125,067.15 d) Route 4 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Terboyo 3.00 8,225 19,241.10 Pengapon 1.00 1,050 6,413.70 Total per route: 7.00 9,275 25,654.80

Total all routes: 51.20 775,075 328,381.44 203

Table F9: Backward Sweep with Capacity Constraint of 500 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Perumnas 2.50 38,500 16,034.25 Jatingaleh 1.50 80,500 9,620.55 S.Parman 2.00 36,400 12,827.40 S.Agung 2.50 42,000 16,034.25 P.Gading 3.00 49,000 19,241.00 Pedurungan 9.20 70,700 59,006.04 Simpang Lima 2.50 12,600 16,034.25 Total per route: 23.20 329,700 148,797.84 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Mangkang 7.00 32,200 44,895.90 Sudirman 3.00 17,500 19,241.10 Jrakah 2.50 35,700 16,034.25 Ngalian 3.00 30,100 19,241.00 Bulu 1.00 73,500 6,413.70 Sutomo 1.50 86,800 9,620.55 Banyumanik 3.00 72,100 19,241.10 Total per route: 21.00 347,900 134,687.70 c) Route 3 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Terboyo 3.00 16,450 19,241.10 Pengapon 1.00 2,100 6,413.70 Johar 3.00 44,100 19,241.10 Total per route: 7.00 62,650 44,895.90

Total all routes: 51.20 740,250 328,381.44

204

Table F10: Backward Sweep with Capacity Constraint of 600 a) Route 1 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Banyumanik 3.00 72,100 19,241.10 Perumnas 2.50 38,500 16,034.25 Jatingaleh 1.50 80,500 9,620.55 S.Parman 2.00 36,400 12,827.40 S.Agung 2.50 42,000 16,034.25 P.Gading 3.00 49,000 19,241.00 Pedurungan 9.20 70,700 59,006.04 Simpang Lima 2.50 12,600 16,034.25 Total per route: 26.20 401,800 168,038.94 b) Route 2 Links Distance (Km) Revenue (Rp) Cost/bus (Rp) Terboyo 3.00 32,900 19,241.10 Pengapon 1.00 4,200 6,413.70 Johar 3.00 88,200 19,241.10 Mangkang 7.00 32,200 44,895.90 Sudirman 3.00 17,500 19,241.10 Jrakah 2.50 35,700 16,034.25 Ngalian 3.00 30,100 19,241.00 Bulu 1.00 73,500 6,413.70 Sutomo 1.50 86,800 9,620.55 Total per route: 25.00 401,100 160,342.50

Total all routes: 51.20 802,900 328,381.44

APPENDIX G

RESULTS OF MODIFIED SWEEP ALGORITHM USING TWO FUZZY-BASED PARAMETERS 206

APPENDIX G Results of the Modified Sweep Algorithm using Two Fuzzy-based Parameters

Demand=0

3.5 3

e u l 2.5 a V

p 2 CENTROID s i r

C 1.5 MOM 1

0.5 0 1 4 7 10 13 16 19 Distance MF

Figure G1: Fuzzy Results for Demand=0

Demand=1

4 3.5

3 2.5 CENTROID 2 Crisp Value MOM 1.5 1 0.5 0 1 4 7 10 13 16 19 Distance MF

Figure G2: Fuzzy Results for Demand=1 207

Demand=2

5 4.5

4 3.5 3 CENTROID 2.5

Crisp Value 2 MOM 1.5 1 0.5 0 1 4 7 10 13 16 19 Distance MF

Figure G3: Fuzzy Results for Demand=2

Demand=3

7

6

5

4 CENTROID Crisp Value 3 MOM

2

1

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G4: Fuzzy Results for Demand=3

208

Demand=4

7

6

5

4 CENTROID

Crisp Value 3 MOM

2

1

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G5: Fuzzy Results for Demand=4

Demand=5

7

6

5

4 CENTROID

Crisp Value 3 MOM

2

1

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G6: Fuzzy Results for Demand=5

209

Demand=6

8

7

6 5 CENTROID 4 Crisp Value MOM 3

2 1

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G7: Fuzzy Results for Demand=6

Demand=7

8 7

6 5 CENTROID 4

Crisp Value MOM 3 2 1 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G8: Fuzzy Results for Demand=7

210

Demand=8

10 9

8 7 6 CENTROID 5 Crisp Value MOM 4 3 2 1 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G9: Fuzzy Results for Demand=8

Demand=9

10 9

8 7 6 CENTROID 5

Crisp Value MOM 4 3 2 1 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G10: Fuzzy Results for Demand=9

211

Demand=10

10 9 8 7 6 CENTROID 5 Crisp Value MOM 4 3 2 1 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G11: Fuzzy Results for Demand=10

Demand=11

12

10

8 CENTROID 6

Crisp Value MOM 4

2

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G12: Fuzzy Results for Demand=11

212

Demand=12

14

12

10

8 CENTROID

Crisp Value 6 MOM

4

2

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G13: Fuzzy Results for Demand=12

Demand=13

16

14 12 10 CENTROID

Crisp Value 8 MOM 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G14: Fuzzy Results for Demand=13

213

Demand=14

16

14

12

10 CENTROID 8 Crisp Value MOM 6

4

2

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G15: Fuzzy Results for Demand=14

Demand=15

16 14

12 10 CENTROID 8

Crisp Value MOM 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G16: Fuzzy Results for Demand=15

214

Demand=16

16

14

12 10 CENTROID 8 Crisp Value MOM 6

4 2

0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G17: Fuzzy Results for Demand=16

Demand=17

18 16

14 12 10 CENTROID

Crisp Value 8 MOM 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G18: Fuzzy Results for Demand=17

215

Demand=18

20 18

16 14 12 CENTROID 10 Crisp Value MOM 8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G19: Fuzzy Results for Demand=18

Demand=19

20 18 16 14 12 CENTROID 10 Crisp Value MOM 8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G20: Fuzzy Results for Demand=19

216

Demand=20

20 18 16 14 12 CENTROID 10 Crisp Value . MOM 8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 Distance MF

Figure G21: Fuzzy Results for Demand=20

APPENDIX H

RESULTS OF MODIFIED SWEEP ALGORITHM USING THREE FUZZY- BASED PARAMETERS 218

APPENDIX H Results of the Modified Sweep Algorithm using Three Fuzzy-based Parameters

Demand=0, Distance=0

0.8 0.7

0.6 0.5 CENTROID 0.4 MOM Crisp Value 0.3 0.2 0.1 0 1 3 5 7 9 11 Type of Road

Figure H1: Fuzzy Results for Demand=0, Distance=0

Demand=0, Distance=5

0.8

0.7 0.6 0.5 CENTROID 0.4 Crisp Value MOM 0.3 0.2 0.1 0 1 3 5 7 9 11 Type of Road

Figure H2: Fuzzy Results for Demand=0, Distance=5

219

Demand=0, Distance=10

2.5

2

1.5 CENTROID Crisp Value 1 MOM

0.5

0 1 3 5 7 9 11 Type of Raod

Figure H3: Fuzzy Results for Demand=0, Distance=10

Demand=5, Distance=0

5

4

3 CENTROID Crisp Value 2 MOM

1

0 1 3 5 7 9 11 Type of Road

Figure H4: Fuzzy Results for Demand=5, Distance=0

220

Demand=5, Distance=5

7

6 5 4 CENTROID

Crisp Value 3 MOM 2 1 0 1 3 5 7 9 11 Type of Road

Figure H5: Fuzzy Results for Demand=5, Distance=5

Demand=5, Distance=10

7

6 5 4 CENTROID MOM Crisp Value 3 2 1 0 1 3 5 7 9 11 Type of Road

Figure H6: Fuzzy Results for Demand=5, Distance=10

221

Demand=10, Distance=0

12

10 8 CENTROID 6 MOM Crisp Value 4 2 0 1 3 5 7 9 11

Type of Road

Figure H7: Fuzzy Results for Demand=10, Distance=0

Demand=10, Distance=5

14 12

10 8 CENTROID 6 MOM Crisp Value 4 2 0 1 3 5 7 9 11

Type of Road

Figure H8: Fuzzy Results for Demand=10, Distance=5

222

Demand=10, Distance=10

14 12

10 8 CENTROID 6

Crisp Value MOM 4 2 0 1 3 5 7 9 11

Type of Road

Figure H9: Fuzzy Results for Demand=10, Distance=10

APPENDIX I

PUBLICATIONS 224

APPENDIX I Publications

Table I: Publications No Paper Status 1. Gunadi W. Nurcahyo, Rose Alinda Alias, Siti Mariyam Shamsuddin, Mohd. Noor Md. Sap., An Overview on Vehicle Routing Problem, Journal of Information Technology FSKSM Published UTM, 13(2), 2001. 2. Gunadi W. Nurcahyo, Rose Alinda Alias, Siti Mariyam Shamsuddin, Mohd. Noor Md. Sap., Vehicle Routing Problem for Public Transport: A Case Study, International Technical Presented Conference on System, Circuit and Communication, Phuket, Thailand, 16-19 July 2002, pp: 1180-1183. 3. Gunadi W. Nurcahyo, Siti Mariyam Shamsuddin, Rose Alinda Published Alias, Mohd. Noor Md. Sap., Sweep Algorithm in VRP for Public January Transport: A Case Study in Semarang, Indonesia, International 2003 Journal of Information Technology, UKM, 2:51-64. 4. Gunadi W. Nurcahyo, Siti Mariyam Shamsuddin, Rose Alinda Alias, Mohd. Noor Md. Sap., Evaluation of Fuzzy-based Parameters for Representing Uncertain Data, National Presented Conference on Computer Graphic and Multimedia, Melaka, 7-9 October 2002, pp: 399-404. 5. Gunadi W. Nurcahyo, Rose Alinda Alias, Siti Maryam Shamsuddin, Mohd. Noor Md. Sap., Preliminary Study on Presented Vehicle Routing Problem for Public Transport, MMU International Symposium on Information and Communications Technologies, August 2002. 6. Gunadi W. Nurcahyo, Siti Mariyam Shamsuddin, Rose Alinda Alias, Mohd. Noor Md. Sap., Selection of Defuzzification Method Accepted to Obtain Crisp Values for Representing Uncertain Data in a May 2003 Modified Sweep Algorithm, Journal of Computer Science and Technology, Argentina. 7. Gunadi W. Nurcahyo, Mohd. Noor Md. Sap., Siti Mariyam Shamsuddin, Rose Alinda Alias, Route Selection using Modified Sweep Algorithm for Public Bus Route Selection with Fuzzy- Submitted based Parameters, International Journal of Computational Management Science, UK.