cluster restricted maximum weight clique problem...

103
CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES WITH SATELLITE IMAGE ACQUISITION SCHEDULING by Krishna Teja Malladi B.Tech., LNM Institute of Information Technology, 2011 a Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the Department of Mathematics Faculty of Science c Krishna Teja Malladi 2014 SIMON FRASER UNIVERSITY Spring 2014 All rights reserved. However, in accordance with the Copyright Act of Canada, this work may be reproduced without authorization under the conditions for “Fair Dealing.” Therefore, limited reproduction of this work for the purposes of private study, research, criticism, review and news reporting is likely to be in accordance with the law, particularly if cited appropriately.

Upload: others

Post on 25-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE

PROBLEM AND LINKAGES WITH SATELLITE IMAGE

ACQUISITION SCHEDULING

by

Krishna Teja Malladi

B.Tech., LNM Institute of Information Technology, 2011

a Thesis submitted in partial fulfillment

of the requirements for the degree of

Master of Science

in the

Department of Mathematics

Faculty of Science

c© Krishna Teja Malladi 2014

SIMON FRASER UNIVERSITY

Spring 2014

All rights reserved.

However, in accordance with the Copyright Act of Canada, this work may be

reproduced without authorization under the conditions for “Fair Dealing.”

Therefore, limited reproduction of this work for the purposes of private study,

research, criticism, review and news reporting is likely to be in accordance

with the law, particularly if cited appropriately.

Page 2: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

APPROVAL

Name: Krishna Teja Malladi

Degree: Master of Science

Title of Thesis: Cluster Restricted Maximum Weight Clique Problem and

linkages with Satellite Image Acquisition Scheduling

Examining Committee: Dr. Zhaosong Lu

Chair

Dr. Abraham Punnen, Professor,

Senior Supervisor

Dr. Snezana Mitrovic-Minic, Adjunct Professor,

Co-Supervisor

Dr. Ramesh Krishnamurti, Professor,

School of Computing Science,

Supervisor

Dr. Tamon Stephen, Associate Professor,

Examiner

Date Approved: April 15, 2014

ii

Page 3: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

iii

Partial Copyright Licence

iii

Page 4: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Abstract

We consider the cluster-restricted maximum weight clique problem (CRCP), a variation

of the well-known maximum weight clique problem. While CRCP itself is mathematically

interesting, our motivation to study the problem primarily comes from its application in the

area of Satellite Image Acquisition Scheduling.

Earth observing satellites revolve around the earth in specific orbits and takes images

of prescribed areas requested by the clients. Not every region can be fully acquired in a

single satellite pass. This necessitates the division of the region into multiple strips. There

might be several image acquisition opportunities for each strip as the satellites have agility

in their rolling angles. Then the Satellite Image Acquisition Scheduling Problem (SIASP) is

to select the opportunities to acquire as many images as possible, without repetition, within

a planning horizon while considering the image priorities and energy constraints. SIASP

has a piecewise linear objective function to favor the completion of an image acquisition

request and try to avoid partial acquisition of many requests. Extensive experimental study

is provided on randomly generated instances based on the predicted statistics given by

MDA, Richmond, Canada. These experiments are intended as a preliminary investigation on

image acquisition scheduling for the Canadian RADARSAT Constellation Mission (RCM),

a constellation of three satellites, which is planned to be launched in 2018.

SIASP can be modeled as a CRCP with piecewise linear objective function. We provide

integer programming (IP) formulations for CRCP with linear and piecewise linear objective

function. We also suggest heuristic (metaheuristic) algorithms that exploit the power of

modern IP solvers such as CPLEX. Experimental results using the heuristic algorithms on

DIMACS and BOSHLIB benchmark instances for the clique problem are reported. Finally,

an exact algorithm for CRCP along with some theoretical analysis is presented.

iv

Page 5: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

To my parents Shri. Sudhir Malladi and Smt. Adi Lakshmi Kameswari,

my grand parents Shri. Burra Subrahmanya Sastry and Smt. Dhana Lakshmi

and my teacher Prof. S.K.Gupta.

v

Page 6: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Acknowledgments

I would like to whole heartedly thank my supervisors Prof. Abraham Punnen and Dr. Snezana

Mitrovic-Minic for their continuous support throughout my MSc program. Their knowledge,

patience and enthusiasm constantly encouraged me throughout this journey. I would also

like to thank Prof. Ramesh Krishnamurti for kindly accepting to be a member of my super-

visory committee and for his suggestions on my thesis. I would like to take this opportunity

to thank Dr. Tamon Stephen and Dr. Zhaosong Lu for being members of my thesis su-

pervisory committee and also being great teachers from whom I have learned a lot about

optimization. My learning here would have remained incomplete without the guidance of

Dr. Daniel Karapetyan from whom I learned a lot about computing and research. I would

like to sincerely thank the RCM team at MDA for all their support during the project with

them.

I cannot miss a chance to thank Dr. Natalia Kouzniak and Dr. Randall Pyke for being

TA co-ordinators during several terms when I worked as a teaching assistant and for their

immense support to carry out my duties both as a teaching assistant and a graduate student.

I would like to thank Ms. Nadia Williams, Ms. Melissa Ilagan and Dr. Alistair Lachlan for

their continuous help office and work space matters.

This acknowledgment note remains incomplete without thanking my Canadian family,

Hemant uncle, Madhu auntie, Jashneil, Nitesh and Aachal, for having me in their house

for this full time. Their presence for me during some difficult times can never be forgotten.

I would like to express my thanks to my music school, Pandit Jasraj School of Music

Foundation-Vancouver, for helping me to such an extent that they also changed their class

schedule to accommodate my school timings. The music they taught me there has helped

me to cope up with my studies too. I would like to thank Mr. Venu Panjakadi of Syscon

Justice Systems Ltd., for giving me opportunity to work in their company and gain my first

vi

Page 7: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

non-academic work experience.

I need to specially mention my friend Hemant Bains for his incessant support. This

journey would not have been smooth without his encouragement and help. I would like to

thank all my dear graduate friends, Sylvia Shen, Piyashat(Nui) Sripratak, Pooja Pandey,

Sherry Li, Gaya Jayakody, Dr. Annie Zhang, Brad Woods, Timothy(TJ) Yusun, Yong Zhang

and Jingbo Tian, for being there always in times of need, for many academic discussions,

suggestions and for many good times we all shared. My friend, Dr. Sudeshna Ghosh, needs

a special mention for all the suggestions and reminders she gave me about university related

matters. Lastly, but not the least, I would like to thank my family and friends back in India

for being there every single time I needed them. Though they were far away physically, they

always supported me mentally to reach my destination.

I would like to thank one and all once again for their invaluable support during this

journey.

vii

Page 8: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Contents

Approval ii

Partial Copyright License iii

Abstract iv

Dedication v

Acknowledgments vi

Contents viii

List of Tables xi

List of Figures xiv

1 Introduction 1

1.1 Satellite Image Acquisition Scheduling Problem . . . . . . . . . . . . . . . . . 1

1.2 The Maximum Clique Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Satellite Image Acquisition Scheduling 6

2.1 Practical Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Data Model and Data Generator . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.2 Data Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Mathematical Modeling of the Problem . . . . . . . . . . . . . . . . . . . . . 13

viii

Page 9: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

2.3.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.2 Integer Programming Formulation . . . . . . . . . . . . . . . . . . . . 14

2.4 Preprocessing the Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Preliminary Computational Study . . . . . . . . . . . . . . . . . . . . . . . . 21

2.6 Graph Models of SIASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Cluster Restricted Maximum Clique Problem (CRCP) 26

3.1 The CRCP Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Some Theoretical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Exact Algorithm for CRCP 35

4.1 Branching Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2 Pruning Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5 Heuristics for CRCP 40

5.1 Formulations of LCRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1.1 Linear Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1.2 Two Non-Linear Formulations . . . . . . . . . . . . . . . . . . . . . . 41

5.2 Tabu Search Heuristic for the LCRCP . . . . . . . . . . . . . . . . . . . . . . 43

5.3 Matheuristic for CRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.3.1 Algorithm Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.3.2 Sub-iteration of the Matheuristic: IP Based Neighborhood Search . . 51

5.4 k-swap Neighborhood Search for CRCP . . . . . . . . . . . . . . . . . . . . . 54

6 Computational Results 55

6.1 Problem Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2 PCRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2.1 Data Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.2.2 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.2.3 Matheuristic vs CPLEX vs CPLEX with Warm Start . . . . . . . . . 58

6.2.4 Comparison to Neighborhood Search . . . . . . . . . . . . . . . . . . . 63

6.2.5 Effect of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.3 LCRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.3.1 Matheuristic vs CPLEX vs CPLEX with Warm Start . . . . . . . . . 73

ix

Page 10: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

6.3.2 Comparison to Neighborhood Search . . . . . . . . . . . . . . . . . . . 76

6.3.3 Effect of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7 Conclusions and Future Work 85

Bibliography 87

x

Page 11: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

List of Tables

2.1 The number of strips, average and maximum acquisition times for the in-

stances with large strips, narrow strips and small strips. Each model is run

till optimality within few minutes. The objective function in each of these

models is a single piecewise linear function. . . . . . . . . . . . . . . . . . . . 23

2.2 The number of requests that are completely acquired out of all the requests

whose deadline is the given day and the total area acquired of these requests

for the instances with large, narrow and small strips. TotalArea is measured

in km2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3 Table showing the average and maximum acquisition times for the instances

with both narrow and small strips. Each model is run till optimality within

few minutes. The objective function in each of these models use a single piece

wise linear function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4 Table showing the number of requests that are completely acquired out of all

the requests whose deadline is the given day and the total area acquired of

these requests. We show 4 different lengths of planning horizons for each day.

For example, the 4 Day Plan for Day 50 begins on day 47 and ends on day

50. TotalArea is measured in km2 . . . . . . . . . . . . . . . . . . . . . . . . 25

6.1 Comparison between the results obtained from the Matheuristic, CPLEX and

CPLEX with warm start on DIMACS-C (part 1) instances for PCRCP . . . . 60

6.2 Comparison between the results obtained from the Matheuristic, CPLEX and

CPLEX with warm start on DIMACS-C (part 2) instances for PCRCP . . . . 61

6.3 Comparison between the results obtained from the Matheuristic, CPLEX and

CPLEX with warm start on BOSHLIB instances for PCRCP . . . . . . . . . 62

xi

Page 12: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

6.4 Comparison between the Matheuristic and k-swap neighborhood search on

DIMACS-C (part 1) instances for PCRCP . . . . . . . . . . . . . . . . . . . . 64

6.5 Comparison between the results obtained from the Matheuristic and k-swap

neighborhood search on DIMACS-C (part2) instances for PCRCP . . . . . . 65

6.6 Comparison between the results obtained from the Matheuristic and k-swap

neighborhood search on BOSHLIB-C instances for PCRCP . . . . . . . . . . 67

6.7 Comparisons of the experimental results of our Matheuristic, CPLEX and

CPLEX with warm start on difficult instances for PCRCP . . . . . . . . . . . 68

6.8 The effects of the initial search space on the performance of the matheuristic. 69

6.9 The effects of the various schema used in the matheuristic for PCRCP. Schema1

is 40%, 30%, 20%, 10%, Schema2 is 30%, 30%, 20%, 20% and Schema3 is

25%, 25%, 25%, 25% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.10 The effects of the search space expansion strategies used in the matheuristic.

Strategy1 is the original. Strategy2 is adding the nodes with heaviest weight. 71

6.11 Effects of the times per sub-iteration of neighborhood search used in the

matheuristic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.12 Thy effects of the value of k used in the neighborhood search iterations used

in the matheuristic for PCRCP. . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.13 The effects of the solution strategies used in each sub-iteration the matheuris-

tic for PCRCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.14 Comparison of the experimental results of the Matheuristic, CPLEX and

CPLEX with warm start on DIMACS-C (part1) instances for LCRCP . . . . 74

6.15 Comparison between the results obtained from the Matheuristic, CPLEX and

CPLEX with warm start on DIMACS-C (part 2) instances for LCRCP . . . . 75

6.16 Comparison of the results obtained from the Matheuristic, CPLEX and CPLEX

with warm start on BOSHLIB-C instances for LCRCP . . . . . . . . . . . . . 77

6.17 Comparison between the results obtained by the Matheuristic and k-swap

neighborhood search on DIMACS-C (part 1) instances for LCRCP . . . . . . 78

6.18 Comparison between the results obtained from the Matheuristic and k-swap

neighborhood search on DIMACS-C (part 2) instances for LCRCP . . . . . . 79

6.19 Comparison between the results obtained from the Matheuristic and k-swap

neighborhood search on BOSHLIB instances for LCRCP . . . . . . . . . . . . 81

xii

Page 13: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

6.20 Comparison between the Matheuristic, CPLEX and CPLEX with warm start

for LCRCP on the five identified difficult instances . . . . . . . . . . . . . . . 82

6.21 Matheuristic for LCRCP with different initial search spaces. . . . . . . . . . . 82

6.22 Matheuristic for LCRCP with three different schemas. Schema1 is 40%, 30%,

20%, 10%, Schema2 is 30%, 30%, 20%, 20% and Schema3 is 25%, 25%, 25%,

25%. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.23 Matheuristic for LCRCP with two different search space expansion strategies. 83

6.24 Comparison between the performance of matheuristic with different times per

sub-iteration of neighborhood search. . . . . . . . . . . . . . . . . . . . . . . 83

6.25 Comparison between the solutions obtained by using different values of k used

in the matheuristic for LCRCP. . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.26 Effects of the sub-iteration solution strategies used in the matheuristic for

LCRCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

xiii

Page 14: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

List of Figures

1.1 Orbit characteristics of RADARSAT-2, a Canadian Earth observing satellite,

provided by MDA. c© Canadian Space Agency, 2014. All Rights Reserved.

RCM is official mark of the Canadian Space Agency. . . . . . . . . . . . . . . 2

1.2 Characteristics of RCM. c© Canadian Space Agency, 2014. All Rights Re-

served. RCM is official mark of the Canadian Space Agency. . . . . . . . . . . 3

2.1 f1(x): Piecewise linear function used in the objective function of SIASP. . . . 16

2.2 f2(x): Piecewise linear function used in the objective function of SIASP. . . . 16

2.3 f2(x): Piecewise linear used in the objective function of SIASP to incorporate

a special constraint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4 A polygon target divided into strips. . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Two situations where two strips will conflict with each other. . . . . . . . . . 20

2.6 Two situations where the large strips are divided into small ones. . . . . . . 21

2.7 Figure explaining how to divide a wide strip into narrow strips if the strip is

not completely to the right of the satellite’s ground track. The dark arrow

shows the satellite’s ground track. After the division we get two new strips,

one with width at least 34wb which is to the right of the track and the other

with width at most 14wb which is to the left of the track. . . . . . . . . . . . 22

3.1 Example of CRCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2 f1(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 f2(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Counter example for the property of maximum independent set problem . . . 33

6.1 f(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

xiv

Page 15: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 1

Introduction

In this thesis we describe the Satellite Image Acquisition Scheduling Problem (SIASP) with

a case study to the Canadian RADARSAT Constellation Mission (RCM). Under certain

assumptions, this problem can be modeled as a problem of finding a maximal clique in a

graph where the nodes are partitioned into several clusters. The goal in this graph problem is

to find a clique which maximizes the objective function which depends on both the weight of

the nodes, the clusters and the contribution of each cluster to the weight of the clique. This

problem is named Cluster Restricted Maximum Weight Clique Problem (CRCP). The CRCP

is closely related to the well known Maximum Clique Problem (MCP). In the following parts

of this chapter, we present the literature review for the SIASP and MCP.

1.1 Satellite Image Acquisition Scheduling Problem

Satellite image acquisition scheduling problem deals with scheduling acquisition of the im-

ages of regions on the Earth that are requested by the customers, under some operational

constraints. This image acquisition mission is carried out by Earth observing satellites which

generally orbit the Earth in low altitudes. With the use of Synthetic Aperture RADAR

(SAR), the acquisition of images of Earth is possible under any weather conditions. Figure

1.1 shows the orbit characteristics of the Canadian satellite RADARSAT-2 which is used

for image acquisition purposes.

There are two primary kinds of Earth observing satellites classified on the basis of their

agility. They are non-agile and agile satellites. Non-agile satellites do not have freedom only

of moving along their rolling angle nor along their pitching angle whereas agile satellites

1

Page 16: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 1. INTRODUCTION 2

Figure 1.1: Orbit characteristics of RADARSAT-2, a Canadian Earth observing satellite,provided by MDA. c© Canadian Space Agency, 2014. All Rights Reserved. RCM is officialmark of the Canadian Space Agency.

have freedom along both rolling and pitching angles. The details of agility of satellites are

described in Chapter 2.

The RADARSAT Constellation Mission (RCM) consists of 3 identical non-agile satellites

that intend to provide global coverage. Each satellite can acquire images of areas which are

located to the right of its ground track. The altitude of each satellite orbit is around 600

km. With the capability to perform 12 minutes of average active detection per orbit, the

RADARSAT Constellation can cover approximately 95% of the world’s surface daily. Each

satellite takes about 96 minutes to complete one revolution around the Earth. It is planned

to launch these satellites in 2018. Each of these satellites has an estimated lifetime of 7

years. The satellites of RCM orbit the Earth in polar orbits. The trajectory of a satellite

from the north pole to the south pole is called its descent and that from the south pole to

the north pole is called its ascent. Figure 1.2 shows the three satellites of RCM and some

characteristics of the image acquisition requests.

In this paragraph, we give literature review for SIASP. In 1997, Gabrel et al. [13] studied

the problem of scheduling image acquisition by a low altitude satellite and they named the

problem as satellite shot sequencing problem. They consider acquisition scheduling for a

non-agile satellite and propose a graph-theoretic model for the problem and suggest solutions

by exploiting the model. Bensana et al. [6] showed that this problem is NP-hard. They

proposed solutions and approaches, including a branch and bound based exact algorithms

and heuristics based on greedy algorithm and tabu search. They compared their results with

the solutions obtained by solving an integer programming formulation using the general

Page 17: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 1. INTRODUCTION 3

Figure 1.2: Characteristics of RCM. c© Canadian Space Agency, 2014. All Rights Reserved.RCM is official mark of the Canadian Space Agency.

purpose solver CPLEX. In 2002, Lemaitre et al. [16] presented several methods to solve the

Earth observation selecting and scheduling problem for agile satellites which were studied

by the PLEIADES project of France. They provided a complete problem description and

proposed a greedy algorithm, a dynamic programming algorithm, a constraint programming

approach and a local search method to solve the problem. They considered a simplified

version of the problem where their planning horizon was a single track or half orbit of

the satellite. In 2007, Bianchessi et al. [7] proposed a tabu search algorithm for a multi

agile-satellite system. In 2011, Wang et al. [34] developed a priority-based heuristic which

incorporates both image acquisition and downlink scheduling problems. In [17], image

acquisition scheduling for a satellite constellation was studied. The solution approach had

two phases where in the first phase several tasks were assigned to each satellite of the

constellation and in the second phase, a scheduling problem is solved for each satellite

separately. In 2012, Tangpattanakul, Jozefowiez and Pierre [30] proposed a random-key

genetic algorithm for the satellite image acquisition scheduling problem formulated as a

multi objective optimization problem. Their formulation has two objective functions, one

is to maximize the total profit and the other is to minimize the difference between profits of

different users in order to ensure fairness among users. Cordeau and Laporte [9] proposed a

tabu search heuristic to maximize the value of the Earth observation satellite orbit in 2005.

Page 18: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 1. INTRODUCTION 4

1.2 The Maximum Clique Problem

The maximum clique problem and the maximum weight clique problem have been well

studied in graph theory and combinatorial optimization literature. There are several exact

but non-polynomialalgorithms available for both these problems. Babel [2] proposed a

branch and bound algorithm for the classical maximum weight clique problem which uses

a weighted coloring heuristic to obtain upper bound for the problem. A branch and bound

method was proposed by Ostergard [23] for solving the classical maximum clique problem

which improves the bounds via new pruning strategies obtained from graph coloring. A

general outline of the algorithms which already existed for solving the classical maximum

clique problem was also presented. This branch and bound algorithm was extended to solve

the weighted problem. Balas and Xue [3] proposed a branch and bound algorithm to solve

the weighted and unweighted cases of the maximum clique problem using branch and bound

algorithm where the upper bounds were calculated by using their approximate fractional

coloring techniques. Tomita and Seki [32] proposed a branch and bound algorithm, MCQ,

based on approximate coloring and sorting of the vertices. They compared their algorithm

with that of Ostergard and reported that their algorithm outperforms that of Ostergard.

Prosser [25] investigated the effects of small changes in the performance of exact algorithms

for MCP. He considered the algorithms presented in [11, 31, 32, 33, 29]. He concluded

that small implementation details can result in large performance changes. Bomze et al.

[8] presented a survey on MCP where they discuss various formulations, properties, exact

algorithms, heuristic solutions and applications of MCP.

To the best of our knowledge, CRCP has not been studied, and it is introduced in this

manuscript for the first time.

In literature, considerable effort has been invested in developing powerful heuristics

for MCP. In 1989, Friden, Hertz and Werra [12] proposed a tabu search heuristic named

STABULUS to find large independent sets in large graphs. In 2013, Benlic and Hao [5]

proposed another heuristic for MCP which uses the idea of tabu list from tabu search for

diversification in iterative local search. This heuristic was named breakout local search.

Wu and Hao [35] proposed an adaptive multistart tabu search approach to solve MCP .

A reactive local search heuristic for MCP was proposed by Battiti and Protasi [4]. This

is essentially a local search algorithm with diversification of the search path guided by a

feedback mechanism. Pullan and Hoos [28] developed a dynamic local search (DLS-MC)

Page 19: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 1. INTRODUCTION 5

which is a new stochastic local search heuristic for MCP. Pullan [26] introduced a phased

local search heuristic for MCP which is built over DLS-MC introduced in [28].

The contribution of this thesis is summrized as follows: SIASP is described in detail

and is modeled as CRCP. The new graph problem CRCP is described and some theoretical

analysis is done for CRCP. A branch and bound based exact algorithm is proposed for

CRCP. A model based metaheuristic is proposed for CRCP and experimental results on the

benchmark instances for MCP are reported.

An overview of this thesis is as follows: Chapter 2 describes SIASP, the mathemat-

ical formulation of the problem, random data generation and solution approaches using

the commercial mixed integer programming solver CPLEX. Chapter 3 introduces CRCP,

mathematical formulations of the problem, some theoretical results for the problem and in-

troduce two variations of CRCP: Linear Cluster Restricted Maximum Weight Clique Prob-

lem (LCRCP) and Piecewise Linear Cluster Restricted Maximum Weight Clique Problem

(PCRCP). In Chapter 4 we describe a branch and bound algorithm for CRCP. In Chapter

5 we describe several non-linear formulations of LCRCP and propose a tabu serach algo-

rithm for LCRCP. We then describe a model based metaheuristic for CRCP which exploits

the power of the modern IP solver CPLEX. In Chapter 6, we provide the computational

results of the heuristic on benchmark instances for the clique problem and study the effects

of various parameters on the performance of the heuristic for both LCRCP and PCRCP. In

Chapter 7 we provide the conclusions and possible future work.

Page 20: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 2

Satellite Image Acquisition

Scheduling

2.1 Practical Problem Description

We are given a set of image acquisition orders in a year. Each order is a set of image

acquisition requests, where each request corresponds to a set of regions on the ground

whose images are to be taken. The following information is provided about each order:

• Relative Priority which defines the priority of a request.

• Season of the year during which the request is active.

• Revisit Frequency which defines the time window within which the image of the region

has to be acquired.

• Area of Interest Size which is the measure of the area of the region which is to be

acquired.

• Beam which specifies the resolution in which the image of the region has to be acquired.

Relative Priority of an order is a number between 1 and 9, 1 being the lowest and 9

being the highest. Images of some regions are required only during certain seasons of the

year. This requirement is specified in the order as season. RCM plans to provide complete

coverage of Canada’s land and oceans, offering a daily revisit. Revisit Frequency of a request

6

Page 21: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 7

could be daily, weekly, bi-weekly, monthly, half-yearly and yearly. For example, a request

with daily revisit frequency has to be acquired completely within one day. Thus, revisit

frequency of a request defines the time window within which the image of a region has to

be completely acquired. The area of the region to be imaged could be as small as 2,500

km2 to as large as 11,400,000 km2. The exact position of the region in each request is not

provided due to confidentiality of the information. We have generated the instances using

the available data. The data generator will be described later in Section 2.2.2. The satellite

can acquire an image in any of its 8 possible resolutions, and the required resolution is

specified in the order.

Each image acquisition request has a set of regions on the ground whose images are to

be acquired. We call each such region a target. A target to be imaged may be too large to

be acquired in one pass of a satellite. Such large targets are called polygon targets. Targets

that can be acquired within one pass of a satellite are called spot targets. Since a polygon

target cannot be acquired in one pass, it has to be divided into several strips. The width

of each strip depends on the resolution of the image mentioned in the order. For a given

resolution, the width of each strip is fixed. A spot target has one strip. Thus, each region

may have one or several strips associated with it.

The RCM satellites are non-agile. The satellites can acquire images of regions that are

to the right of their trajectories. They can neither roll nor pitch, but they can acquire

images with different incidence angles for narrow beam modes (see Figure 1.2.).

The angle of incidence along the trajectory of the satellite at which an image can be

acquired is called the pitching angle. The angle of incidence perpendicular to its trajectory

at which an image can be acquired is called rolling angle. Agile satellites have freedom both

along the rolling and pitching angles. It means that agile satellites can acquire images of

strips which are in the front or back or left or right to the position of the satellite. But

the satellites in RCM are non-agile. They can change their incidence angle and only when

imaging in some narrow modes. The satellites can acquire images of the regions that are

only to the right of their trajectory.

Depending upon the satellites revolutions around the Earth, the time and duration when

a satellite can acquire the image of a strip can be computed. Each time interval when an

image of a strip can be acquired is called an opportunity. Each opportunity has a duration

and angle of incidence also associated with it. The duration of an opportunity is equal to the

time required to acquire the corresponding strip. Thus, all the opportunities corresponding

Page 22: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 8

to the same strip have the same duration. The Constellation may have several opportunities

to acquire the image of a strip within the planning horizon. Due to the freedom in the angle

of incidence of the satellite, one strip may have opportunities in several consecutive orbits

of a satellite. Since there is no freedom along the pitching angle, each strip has at most

one opportunity per orbit of each satellite. The task in this problem is to select a set of

opportunities out of all opportunities that satisfy the constraints of the problem.

2.1.1 Constraints

The following are the constraints involved in the problem:

1. The image of the requested area has to be acquired within the time window mentioned

in the request.

2. The image must meet the beam requirements mentioned in the order.

3. Each strip of a rectangle has to be acquired at most once.

4. It takes a constant amount of time, δ, for a satellite to switch from one resolution to

the other.

5. During one orbit, a satellite can acquire the images for a maximum of 20 minutes.

But on average, a satellite can acquire images for around 12 minutes during an orbit.

6. At most one acquisition can happen out of all the image acquisition opportunities

available to the satellite at any point of time.

Each strip has a finite number of opportunities for its image acquisition. The task is

to select a subset from a larger set of all opportunities that satisfy the above mentioned

constraints that maximizes the quality of the solution. Details of the objective function of

the problem are given in Section 2.3.2.

2.2 Data Model and Data Generator

The north-south and east-west positions of a point on the Earth’s surface are generally

defined by latitudes and longitudes respectively. Assuming Earth to be a perfect sphere, we

use spherical co-ordinates to define the position of points on the Earth. Since the radius of

Page 23: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 9

the Earth is assumed to be a constant, we need only two co-ordinates to define a point. Let

the equatorial plane be depicted by the xy plane and let the axis from the center of the Earth

to the north pole be the z axis. Let θ be the angle made by the projection of the position

vector of a point on the xy plane with the x axis and φ be the angle made by its position

vector with the z axis. Thus, a point can be uniquely defined by the pair (θ, φ), where

θ ∈ [0◦, 360◦) and φ ∈ [0◦, 180◦). For a point in the western hemisphere, θ ∈ [180◦, 360◦)

and for a point in eastern hemisphere, θ ∈ [0◦, 180◦). φ ∈ [0◦, 90◦) represents a point in

the northern hemisphere and φ ∈ [90◦, 180◦) represents a point in the southern hemisphere.

This way, for a given latitude-longitude of any point, we can find the corresponding (θ, φ)

and vice versa.

2.2.1 Data Structures

Each image acquisition request has a set of targets on the ground to be imaged. The center of

a target is defined by (θ, φ) at its center. Each target is assumed to be a region encapsulated

by a pair of latitudes and longitudes. Each request has the following attributes:

• ID that uniquely identifies the request.

• A set of targets of the request.

• Area which is the total of the areas of all the targets of the request.

• Time window during which the image acquisition has to be done.

• Priority between 1 to 9. Request with priority 9 is the most important and request

with priority 1 is least important.

• Beam which represents the resolution in which the image has to be acquired.

We define each target by the (θ, φ) at its center and call them CenterTheta and

CenterPhi. For a given center and area of a rectangle, we can calculate the values of

the θ and φ which bound it. The calculations involved in finding these values of θ and φ

are shown in Section 2.2.2. As we have described earlier, each target has one or more strips

associated with it. Each target has the following attributes:

• Request to which it belongs to.

Page 24: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 10

• Center of the target defined by (CenterTheta, CenterPhi).

• Area of the target.

• A set of strips of the target.

Each strip is defined by the θ and φ that bound the strip. Depending upon the satellites

revolutions around the Earth, the time and duration when a satellite can acquire the image

of a particular strip can be computed. Each time interval when an image of a strip can be

acquired is called an opportunity. Each strip has the following attributes:

• Target to which it belongs to.

• The θ and φ which bound the strip.

• A set of opportunities for acquisition of the strip.

Each strip image acquisition opportunity has specific begin and end times. The duration

of an opportunity is equal to the time required by the satellite to acquire the image of the

strip. Each opportunity has the following attributes:

• Strip to which it belongs to.

• Satellite which has this opportunity of acquisition.

• Number of the orbit during which the acquisition can happen.

• Day in which this acquisition can take place.

• Begin time of the opportunity.

• End time of the opportunity.

2.2.2 Data Generation

We are given a set of image acquisition orders for an year. Each order specifies the relative

priority, season of the year, revisit frequency, revisits per year for each region, area of the

region and the beam used to acquire the image of the region. We consider each revisit of

a region to be an image acquisition request. The time window of a request is defined by

its revisit frequency. For example, if the revisit frequency of a region is one week, then

Page 25: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 11

the time window within which the image has to be acquired is one week. About 66% of

the requests are within Canada. In the following paragraphs, we describe the procedure

adopted to define the regions and targets once the center and area of the regions defined

in the requests are generated randomly. We make use of several formulas using spherical

co-ordinates.

Depending on the shape of a region, we divide it into several targets. Large regions which

may not be represented as one region can be approximately considered to be a set of distinct

targets. Thus, each region has a set of targets. Each target is identified by its center and

area. If r is the radius of the Earth, TopPhi, BottomPhi, leftTheta and RightTheta are

the θ and φ that bound the target and ρ = LeftTheta−RightTheta, then the area A of the

target is given by the formula A = r2[cos(TopPhi)− cos(BottomPhi)]× ρ× 180π . Since we

know the CenterPhi for each target, by using δ = BottomPhi− TopPhi, we can calculate

the values of the TopPhi and BottomPhi using the formulas TopPhi = CenterPhi − δ/2and BottomPhi = CenterPhi + δ/2. To find the value of δ, we need to know the vertical

length of the target. In order to ensure that the difference between the length and breadth

of the target is not very large, we assume that the length of the target is√A. Thus, by

using the formula r× δ× π180 =

√A we can find the value of δ and thus the values of TopPhi

and BottomPhi. Since A = r2[cos(TopPhi) − cos(BottomPhi)] × ρ × 180π and the only

unknown value in this formula now is ρ, we can find the value of ρ. Using this value of ρ,

LeftTheta = CenterTheta+ρ/2 and RightTheta = CenterTheta−ρ/2 can be calculated.

For rectangles to the extreme north or south, if TopPhi or BottomPhi may go beyond

the interval [0◦, 180◦]. In such cases we fix the TopPhi to 180◦ if calculated TopPhi >

180◦ and we fix BottomPhi to 0◦ if the calculated BottomPhi < 0. We also ensure that

LeftTheta and RightTheta of each rectangle lies within the interval [0◦, 360◦], i.e., if the

calculated LeftTheta and RightTheta are out of the interval [0◦, 360◦], we assign to them

their equivalent values within the interval. This way, for a given target and its area, we

can approximately find the corners which border this target. If however the corners of each

target are specified, we can use those values directly.

For each request given in the orders, we generate the center of the region randomly such

that 2/3rd of the requests are within Canada. We also make sure that each day there is a

request for the water bodies around Canada.

We have seen that each target has one or more strips. Each strip can be considered as a

spot target. Thus, a strip also has LeftTheta, RightTheta, TopPhi and BottomPhi. The

Page 26: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 12

TopPhi and BottomPhi of the strips of a target are the same as those of the target. The

distance between points (θ1, φ) and (θ2, φ), given by r× sin(φ)× |θ1− θ2| × π180 , depends on

φ. Thus for a target, we select a φ◦ where r × sin(φ◦) × |LeftTheta − RightTheta| × π180

is maximum, where φ◦ ∈ [TopPhi,BottomPhi] and divide the target along this φ◦. If wb is

the width of each image as defined by the beam b and if wm = r × sin(φ◦)× |LeftTheta−RightTheta| × π

180 , then the number of strips into which the rectangle is divided is⌈wmwb

⌉.

This way by dividing along φ◦, we make sure that the strips generated completely cover

the target. If the target can be acquired in one pass, then we assume that it has one strip.

Thus, each target is a set of strips and these strips cover the complete area of the target.

The three satellites of the RCM circle the Earth in every 96 minutes. These satellites

follow polar orbits to circle the Earth. The satellites have a certain angle of inclination with

the longitudes (yaw angle). For simplicity, we assume that this angle on inclination is 0. It

means that the satellites orbit the Earth along the longitudes. This is an approximation to

the actual trajectory of the satellites. We assume that each orbit of the satellite is divided

into two halves, the first half is along a longitude θ and the other half is along the longitude

(180 + θ) mod 360. We call the path of the satellite from the north pole to the south pole

as descent and that from the south pole to the north pole as ascent. For uniformity, we

assume that an orbit of a satellite has its descent followed by its ascent. The θ along the

descent is called the DescentTheta and along the ascent is called the AscentTheta. The

difference between the DecsentTheta of two consecutive orbits of a satellite is constant.

The satellites are looking right within a visibility range i.e. they can only acquire the strips

that are located to the right of the satellites ground track at a distance not greater than its

visibility range. It takes a constant amount of time for the satellite to change the incidence

angle and while acquiring the image of a strip, the incidence angle cannot be changed. This

condition makes it necessary that the strips of rectangles must be parallel to the satellites

ground track. The way we defined the satellites orbits and divided rectangles into strips

ensure that these strips are parallel to the satellites ground track.

Since the satellites have no freedom along the pitching angle, each strip has at most

one image acquisition opportunity during an orbit of a satellite. Since we know the initial

position of the satellites at the beginning of the planning horizon, we can predict their

position as a function of time and the details of the orbits such as the number of the orbit,

begin time of the orbit, DescentTheta and AscentTheta. With this information, we can

compute the opportunities when a strip can be acquired. Let T◦ be the time taken by a

Page 27: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 13

satellite to complete one orbit around the Earth. Let a strip s be acquired during orbit k of

the planning horizon and let α be the difference between DescentTheta of two consecutive

orbits of a satellite. If s is acquired during the descent of the orbit, then BeginT ime(s) =

(k−1)T◦+(TopPhi360 )T◦. If s is acquired during the ascent, then BeginT ime(s) = (k− 12)T◦+

(180−BottomPhi(s)360 )T◦.

2.3 Mathematical Modeling of the Problem

For simplicity, we assume that each request has only one rectangle. The same formulation

can be used for the case where requests may have several rectangles.

2.3.1 Notation

The following notations are used for formulating this problem as an Integer Program.

• H is the planning horizon for the problem.

• Γ is the set of all satellites.

• R is the set of all image acquisition requests.

• Sr is the set of all strips for the request r ∈ R

• Aj is the area of a strip j ∈ Sr.

• Ar is the sum of areas of all strips of the request r. Thus, Ar =∑

j∈SrAj .

• πr ′ is the sum of areas of the strips of request r which are already acquired before the

current planning horizon.

• S =⋃r∈R Sr is the set of all strips.

• Pj is the set of all opportunities when a strip j ∈ Sr can be acquired within the current

planning horizon.

• P is the set of all image acquisition opportunities within the current planning horizon.

Thus, P =⋃j∈S Pj .

• P r is the set of all image acquisition opportunities for all the strips of a request r

within the current planning horizon. Thus, P r =⋃j∈Sr

Pj .

Page 28: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 14

• si is the starting time of the image acquisition opportunity i ∈ P .

• λ is the time required for a satellite to orbit around the Earth. This time is a constant

for all the satellites in the Constellation. We define one revolution as a time interval

of duration λ. Starting from time t = 0, the interval [0, λ] is the first revolution, the

interval [λ, 2λ] is the second revolution and so on. Thus the kth revolution is the

interval [(k − 1)λ, kλ].

• T k is the set of opportunities that start within the kth revolution.

• Let the number of revolutions of each satellite in a planning horizon be κ.

• Ts is the set of all opportunities of image acquisition for the satellite s ∈ Γ withing

the planning horizon H.

• C is the the set of ordered pairs (u, v) where u and v are two conflicting opportunities.

Opportunities u and v are called conflicting if acquiring both u and v is infeasible. We

describe the procedure to construct this set C in the Subsection 2.3.2.

• T1 is the peak acquisition time allowed for a satellite during a revolution.

• T2 is the average acquisition time allowed for a satellite per revolution.

• di is the duration to acquire an opportunity i ∈ P .

• xi is a decision variable such that xi = 1 if image acquisition is done during the

opportunity i and it is 0 other wise.

2.3.2 Integer Programming Formulation

In this section, we formulate the image acquisition problem for the RADARSAT Constella-

tion as an integer program. The planning horizon is H. Thus the number of revolutions in

this formulation range from 1 to dHλ e.

Page 29: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 15

Maximize∑r∈R

cr

subject to∑

i∈Tk∩Ts

di · xi ≤ T1 ∀ k and ∀ s ∈ Γ

∑i∈Ts

di · xi ≤ κ · T2 ∀ s ∈ Γ

∑i∈Pj

xi ≤ 1 ∀ j ∈ Sr and r ∈ R

xi + xj ≤ 1 ∀ (i, j) ∈ C

xi ∈ {0, 1} ∀ i ∈ P

In the above formulation, cr, ∀ r ∈ R, is a product of 2 factors, which are explained as

follows:

• The first factor is pr. cr increases as the priority pr of the request increases.

• The second factor is f( πrAr ). Here πr is the sum of πr′ and the sum of areas of strips

of r which could be possibly acquired during the current planning horizon. πr =

πr′ +∑

l∈P r Aj · xl, where l ∈ Pj and j ∈ Sr.

f(x) is shown in Figure 2.1. This factor encourages to completely acquire a request

which has been partially acquired during the previous planning horizons than to begin

acquisition of a completely new request. This way we can ensure fast acquisition of a

request whose acquisition has already begun.

In a situation where we have some requests whose start time and end time lie within the

current planning horizon and we wish to acquire the strips of these requests only if we

could acquire them completely, we could use the function f2(x) as shown in Figure 2.3.

Such cases arise when we do not want to acquire images partially. The break point of

f2(x) depends on the request for which this kind of function is considered. For such

a request r, the break point in f2(πrAr ) is 1 − (At/A

r) where t ∈ Sr is the strip which

has maximum area out of all the strips in Sr.

Thus, cr = (pr)(f( πrAr )

)∀ r ∈ R.

We used a set C which contains the ordered pairs (i, j) where i, j ∈ P conflict with each

other. Two opportunities i and j conflict each other when they have different modes or

Page 30: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 16

πrAr0 0.2 0.4 0.6 0.8 1

0.1

0.4

0.6

0.8

1

f1(πrAr )

Figure 2.1: f1(x): Piecewise linear function used in the objective function of SIASP.

πrAr0 0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

f2(πrAr )

Figure 2.2: f2(x): Piecewise linear function used in the objective function of SIASP.

Page 31: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 17

0 0.2 0.4 0.6 0.8 1

0

0.2

0.4

0.6

0.8

1

x

f 2(x

)

Figure 2.3: f2(x): Piecewise linear used in the objective function of SIASP to incorporatea special constraint.

different angles of incidence and don’t have enough time gap for the setup between them

i.e. sj − (si + di) < δ. If (i, j) ∈ C, then at most one of i and j can be acquired.

We describe two different ways to linearize a piecewise linear function. We describe the

two methods for the function f1(x). Similar approaches can also be applied for f2(x). Let

y denote the value of the function f1(x).

The first approach is as follows:

Maximize y

subject to z1 > x− 0.4

z2 > x− 0.8

z1 + z2 ≤x

0.4

y ≤ 0.25x+ z1 ∗M + z2 ∗M

y ≤ 0.75x− 0.2 + (1− z1) ∗M + z2 ∗M

y ≤ 3x− 2 + (1− z1) ∗M + (1− z2) ∗M

0 ≤ x, y ≤ 1

z1, z2 ∈ {0, 1}

In the above formulation, M is a large constant, and z1 and z2 are binary variables

Page 32: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 18

which act as indicators to which piece of the piecewise linear function the current value of

x belongs to. For x ∈ [0, 0.4), (z1, z2) = (0, 0). For x ∈ [0.4, 0.8), z1, z2) = (1, 0) and for

x ∈ [0.8, 1], (z1, z2) = (1, 1). The values of z1 and z2 will be governed by the constraints

z1 > x − 0.4, z2 > x − 0.8 and z1 + z2 ≤ x0.4 . y = 0.25x, y = 0.75x − 0.2 and y = 3x − 2

are the equations of the three parts of f2(x). In order to avoid the strict inequalities in

the first two constraints, we can introduce a very small constant m as z1 ≥ x − 0.4 + m

and z2 > x − 0.8 + m. These strict inequalities are to be avoided in the formulation to

ensure that the integer program has an optimal solution at an extreme point of the feasible

region. Presence of these strict inequalities may lead to a situation where we can approach

the optimal solution but cannot find it exactly. It is due to this reason that CPLEX requires

that none of the constraints of the problem be strict inequalities.

The second approach to model f1(x) as linear constraints is as follows:

y = 0.1x1 + 0.4x2 + x3

x = 0.4x1 + 0.8x2 + x3

xi ≤ pi, i = 1, 2, 3

p1 + p2 + p3 ≤ 2

p1 + p3 ≤ 1

0 ≤ x, y ≤ 1

p1, p2, p3 ∈ {0, 1}

0 ≤ x1, x2, x3 ≤ 1

In this model, since x is continuous, xi is also continuous for i = 1, 2, 3. The value of

the piecewise linear function y is defined as y = 0.1x1 + 0.4x2 +x3 where the coefficients are

the break points of the function. This definition of y may not calculate the correct values

of the piecewise linear function. To ensure correct calculations we need to restrict that at

most two xi can be non-zero and these two xi must be adjacent. This is achieved by the

introduction of binary variables p1, p2 and p3. This way, any value of x between 0 and 1 can

be obtained from specific values of x1, x2 and x3 and the corresponding f1(x) can be found

from 0.1x1 + 0.4x2 + x3. We use this formulation in our computational experiments.

Page 33: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 19

s1s2s3s4

Figure 2.4: A polygon target divided into strips.

2.4 Preprocessing the Instances

In Section 2.2.2, we discussed a method to divide the polygon targets into strips. The strips

thus created have their vertical length equal to the vertical length of the polygon target.

The width of each strip is equal to the width as defined by the beam, except for the last

strip whose width might be lesser. Let wb be the maximum width of an image that can

be acquired with beam b. Thus for a rectangle with k strips along a latitude θ and with

a requirement of beam b, the width of the first k − 1 strips is equal to wb and the width

of the last strips is at most wb. We call strips generated this way large strips. From now

on, we will represent these large strips as simple rectangles, instead of the regions enclosed

by a pair of latitudes and longitudes. This situation is explained in the Figure 2.4 where

a polygon target is divided into 4 strips. In the Figure 2.4, the widths of s1, s2 and s3 are

equal to wb along the θ of division. The width of s4 along the θ of division is at most wb.

If ws4 is the width of s4, then the width of the target along the θ of division is equal to

3 · wb + ws4 .

The division of large rectangles into large strips may not be an optimal way of generating

the strips. In case of a conflict between two large strips for the satellite resources, according

to the constraints of the problem, only one of them can be acquired and the other has to

be dropped. In these situations, it would be reasonable to divide these large strips into

smaller ones. Let two strips s1 and s2 be bounded by (θ1, φ1, θ2, φ2) and (θ3, φ3, θ4, φ4)

respectively. If θ1, θ2, θ3, θ4 are such that both these strips are visible to the satellite during

the same orbit, both during the ascent or both during the descent, then the corresponding

opportunities of these strips conflict if φ1 ≤ φ3 ≤ φ2. Two such situations where conflicts

between opportunities arise are explained in Figure 2.5. In such a case, we will divide the

strips into smaller ones, dividing at the φ of intersection. This division is explained in

Figure 2.6. We will call these strips obtained from this procedure as small strips. With

Page 34: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 20

s1

φ1

θ1 θ2

φ2

s2

φ3

θ3 θ4

φ4

s1

φ1

φ2

θ1 θ2 s2

φ3

φ4

θ3 θ4

Figure 2.5: Two situations where two strips will conflict with each other.

70% of the image acquisition requests within Canada, there are high chances of conflicts

between many strips. For each of such conflicts, if we divide the large strips into small ones,

we may end up in a situation where we have a very large number of very small strips. In

order to avoid this situation, we make sure that we divide two conflicting large strips s1

and s2 into small strips only if the length of both the strips is at least 100km. Under the

situations shown in Figure 2.5, at most of one the two conflicting strips can be acquired by

a satellite. By dividing these strips into small strips as shown in Figure 2.6, the satellite

may be able to acquire a larger total area than before. In Figure 2.6, we can see that there

is still a conflict between two strips, but these conflicting strips are smaller in length then

before.

The satellites of RCM are right-looking, i.e. they can acquire the images of strips that

are to the right of its track. If there is a situation in which there is a strip, which is not

entirely to the right of the satellite, then the satellite cannot acquire this strip. In such

a case, it is reasonable to divide the strip into two narrow strips so that one of them lies

entirely to the right of the satellite’s track and the other entirely to the left. Let θ◦ be the θ

of the satellite’s orbit and θ1 and θ2 be the left and right boundaries of a strip. The situation

described above arises if the longitude corresponding to θ◦ lies between those corresponding

to θ1 and θ2. We then divide this strip into new narrow strips s1 and s2 whose left and

right boundaries are (θ1, θ◦) and (θ◦, θ2) respectively. We call the strips created using this

procedure narrow strips. If we keep on dividing strips in this manner, we may end up in a

situation where many strips will be created with narrow strips. Under this situation, even

if we acquire large number strips, the total area of the regions acquired may remain small.

Page 35: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 21

φ1

φ3

φ2

φ3

φ2

φ4

φ1

φ3

φ4

φ2

φ3

φ4

Figure 2.6: Two situations where the large strips are divided into small ones.

To avoid this situation, we must control the number of narrow strips created. For a beam

b, if wb is the maximum width of an image possible using the beam b, then we will divide

a strip into narrower strips only if the new strips created entirely to the right of the track

has width at least 34wb. This process is explained in Figure 2.7.

2.5 Preliminary Computational Study

We conducted a series of experiments in order to evaluate our various strategies of splitting

the large strips and modeling the piecewise linear function. Table 2.1 shows the results

obtained from CPLEX for 7 days. Each row corresponds to one day. We consider all

those requests whose time window contains the day that is being considered. We run the

experiments with instances with large, small and narrow strips. We report the number of

strips, the average and maximum acquisition times of the satellites in each of the three

cases. The average and maximum acquisition times shows are in minutes. The planning

horizon for these experiments is one day. It can be observed that the satellites resources are

used the most with small strips and the least with large strips.

In Table 2.2, we report the number of requests that are completely acquired out of those

requests that have their deadline on the given day and the total area acquired of the requests

that have their deadline on the given day. We report the results for the instances with large,

narrow and small strips. It can be observed that the total acquired area of the requests that

Page 36: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 22

Figure 2.7: Figure explaining how to divide a wide strip into narrow strips if the strip is notcompletely to the right of the satellite’s ground track. The dark arrow shows the satellite’sground track. After the division we get two new strips, one with width at least 3

4wb whichis to the right of the track and the other with width at most 1

4wb which is to the left of thetrack.

end on the given day is the maximum when the strips are smaller.

Table 2.3 shows the number of strips, average acquisition times and maximum acquisition

times of the satellites for instances where the strips are both small and narrow. We can see

that the average acquisition times for the satellites is more in this case than in large, narrow

or small strips.

Table 2.4 shows the number of completely acquired requests that end on the given day

and the total acquired area of requests that end on the given day for the instances with

small and narrow strips. We show the results for planning horizons of length 1, 2, 3 and

4 days. For a planning horizon on length d and a given day d′, we sequentially solve the

problem from day d′ − d + 1 till day d′. It can be seen that as the length of the planning

horizon increases, the total acquired area of requests that end on the given day increases

considerably.

2.6 Graph Models of SIASP

Each feasible solution of SIASP can be modeled as path or a clique in specific graphs that

can be constructed using the SIASP instances. We describe both these models in this

section. In both the models, we assume the energy constraints of the problem are relaxed.

Let {r1, r2, . . . , rn} be the set of all opportunities of the the SIASP problem instance. let

each opportunity ri have a weight ai and a time of possible acquisition ti associated with it.

If the objective function is to maximize the sum of weights of all acquired opportunities,

Page 37: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 23

Day Large Strips Narrow Strips Small Strips

No. Avg Max. No. Avg. Max. No. Avg. Max.

50 1226 7.38 15 1619 7.56 15.16 9382 10.16 17.34100 1272 8.24 14.36 1591 8.31 13.6 10166 10.4 15.47150 1252 7.47 15.2 1511 7.69 15.4 9482 9.46 16.62200 1254 7.28 14.8 1502 7.57 13.9 9562 9.23 15.87250 1240 7.57 16.0 1773 6.76 14.3 9342 9.65 18.23300 1275 8.3 12.9 1677 8.6 13.7 10461 11.04 15.79350 1311 7.99 13.4 1602 8.12 14 10495 11.01 16.31

Table 2.1: The number of strips, average and maximum acquisition times for the instanceswith large strips, narrow strips and small strips. Each model is run till optimality withinfew minutes. The objective function in each of these models is a single piecewise linearfunction.

Day Large Strips Narrow Strips Small Strips

No. TotalArea No. TotalArea No. TotalArea

50 58 14640986 54 14183614 65 14955658100 62 13647071 58 14351111 72 16109986150 62 13329081 61 13362688 72 13434589200 43 14540530 40 14705978 50 15276139250 36 13452578 34 13467191 49 13321412300 45 11040703 45 11075610 53 11549353350 45 11009681 39 11096491 49 11466283

Table 2.2: The number of requests that are completely acquired out of all the requests whosedeadline is the given day and the total area acquired of these requests for the instances withlarge, narrow and small strips. TotalArea is measured in km2

this problem can be modeled as problem of finding the longest path in a directed acyclic

graph G(V,E). Let there be n vertices {v1, v2, . . . , vn} in the graph, where a vertex vi

represents an opportunity ri. Two opportunities ri and rj are compatible if both ri and

rj can be acquired by the constellation during the same planning horizon. Let there be a

directed edge (vi, vj) from vi to vj if ti ≤ tj for the compatible opportunities ri and rj . A

graph constructed this way is acyclic and directed. Any path in G is a set of compatible

opportunities. Thus any feasible solution to SIASP corresponds to a path in G. But some

paths in the graph G may not correspond to a feasible solution to SIASP. This situation

occurs when two opportunities of the same strip are compatible and the nodes representing

Page 38: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 24

Day Narrow and Small Strips

No. Avg. Max.

50 12580 10.49 16.66100 12059 10.87 16.27150 11864 9.71 15.94200 11309 9.57 16.69250 13019 10.23 18.19300 12695 10.81 16.08350 11677 11.38 16.64

Table 2.3: Table showing the average and maximum acquisition times for the instances withboth narrow and small strips. Each model is run till optimality within few minutes. Theobjective function in each of these models use a single piece wise linear function.

these opportunities appear in one path. In such solutions, the acquisition of the same strip

is repeated. Thus, certain paths in G, in which opportunities of the same strip are not

repeated, correspond to feasible solutions of SIASP. Paths in G which obey an ordering of

nodes can be proved to be feasible to SIASP. Thus by constructing the edges of G which

obey an ordering of the nodes, one may solve SIASP by solving the longest path problem in

G. Due to the restriction in the ordering of nodes, SIASP may not be solved optimally using

this model but quick solutions can be obtained because solving the longest path problem

in a directed acyclic graph can be solved in polynomial time[10]. This model of SIASP is

described in [16].

SIASP can be modeled as a clique problem in a graphG = (V,E), where V = {v1, v2, . . . , vn}and each node vi represents an opportunity ri. For two compatible opportunities ri and

rj , let there be an edge (vi, vi) in the graph. There will be no edge between two nodes

representing the opportunities of the same strip and there will be no loops in the graph. In

the graph thus constructed, any clique represents a feasible solution to SIASP. In the graph

thus constructed, all the opportunities of the same region can be clustered together and

thus creating a partition of the nodes. The optimal solution to SIASP would be the clique

that maximizes the weight function as defined in the objective function of SIASP. We call

this problem of finding a clique that maximizes the objective function defined in SIASP as

the Cluster Restricted Maximum Weight Clique Problem (CRCP). CRCP is described in

Chapter 3. In the computational experiments done for RCM, it is observed that the con-

straints for average acquisition and maximum acquisition times are not tight. The actual

Page 39: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 2. SATELLITE IMAGE ACQUISITION SCHEDULING 25

Day 1 Day Plan 2 Day Plan 3 Day Plan 4 Day Plan

No. TotalArea No. TotalArea No. TotalArea No. TotalArea

50 60 14994647 59 16235955 58 17163090 56 18568120100 72 16157898 64 19885732 59 21039840 66 21446711150 73 13491978 73 14684035 76 14879687 76 14913424200 50 15344293 51 17136993 55 17763900 55 18044350250 45 13629296 48 15611762 49 16105064 48 16570289300 50 11471757 55 12546429 50 13156272 52 13698709350 46 11640585 53 12474465 56 12931489 49 13628414

Table 2.4: Table showing the number of requests that are completely acquired out of all therequests whose deadline is the given day and the total area acquired of these requests. Weshow 4 different lengths of planning horizons for each day. For example, the 4 Day Plan forDay 50 begins on day 47 and ends on day 50. TotalArea is measured in km2

average and maximum acquisition times are less than 12 and 20 minutes respectively. Thus,

relaxing these constraints does not effect the final solution. Thus, by solving CRCP on a

graph, we can solve SIASP and vice versa.

Page 40: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 3

Cluster Restricted Maximum

Clique Problem (CRCP)

3.1 The CRCP Definition

We are given a graph G = (V,E), where V is the set of n nodes and E is the set of edges.

The node set V is partitioned into several disjoint sets R1, R2, . . . , Rm which are called

clusters. Each cluster Ri has a weight wi. Each node v ∈ V is assigned a weight av. A clique

is a complete subgraph in the given graph. A clique is called maximal if it is not a part of

any larger clique. A clique is called a maximum clique if it has the maximum number of

nodes out of all the cliques in the graph. The problem of finding a maximum clique in a

graph is called the Maximum Clique Problem (MCP). The weight of a clique Q is defined

as w(Q) =∑

v∈Q av. The classical Maximum Weight Clique Problem (MWCP) deals with

finding the clique with the maximum weight. For a given subgraph G′ of G, let V (G′) be

the set of nodes in it. We define the clustered weight wc(G′) of G′ as follows:

wc(G′) =

m∑i=1

wiyifi

∑j∈V (G′)∩Ri

aj

(3.1)

where fi(x) is any function associated with the cluster Ri, i = 1, 2, . . . , m and yi is a

binary constant. y1 = 0 if Ri ∩ V (G′) = ∅ and yi = 1 otherwise. The objective of our

problem is to find a clique Q in G that maximizes wc(Q). This problem is called Cluster

Restricted Maximum Weight Clique Problem (CRCP). The optimal solution of the CRCP is

called Cluster Restricted Maximum Weight Clique (CRC). For the rest of the thesis, wc(Q)

26

Page 41: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 27

1

9

2

10

3

11

4 4

5 6

Figure 3.1: Example of CRCP

x0 5 9 20 30

1

3

8

f1(x)

Figure 3.2: f1(x)

is used to represent the clustered weight of the clique Q, unless stated otherwise. The words

partition and cluster are used interchangeably.

For illustration, consider the graph given in the Figure 3.1. Let R1 = {1, 2, 3} and

R2 = {4, 5} be the two clusters of nodes. Let the weights of each cluster be w1 = 5 and

w2 = 10. Figure 3.1 shows the weights of each node. Figure 3.2 and Figure 3.3 show f1(x)

and f2(x) which will be used to calculate the weight of a clique. The graph contains 3

non-trivial cliques, which are {1, 2, 3}, {1, 4, 5} and {1, 3, 4}. Let Q1 be {1, 2, 3}, Q2 be

{1, 4, 5} and Q3 be {1, 3, 4}. According to the definition of clustered weight, wc(Q2) =

w1f1(a1) +w2f2(a4 + a5). Thus, w(Q2) = 105. Similarly, wc(Q1) = w1f1(a1 + a2 + a3) = 40

and wc(Q3) = w1f1(a1 + a3) + w2f2(a4) = 25. It can be seen that the CRC in the given

graph is Q2 whereas the classical maximum weight clique is Q1.

The integer programming formulation of CRCP is as follows:

Page 42: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 28

x0 6 10

1

10

f2(x)

Figure 3.3: f2(x)

Maximizem∑i=1

wiyifi

∑j∈Ri

ajxj

Subject to xi + xj ≤ 1 ∀ (i, j) /∈ E

yi ≤∑j∈Ri

xj ∀Ri ∈ R

xi ∈ {0, 1} ∀ i ∈ V

yi ∈ {0, 1} ∀ Ri ∈ R

In the above formulation, xj is a binary variable where xj = 1 if node j belongs to the

final solution and xj = 0 otherwise. The binary variable yi takes the value 1 if at least one

node from the cluster i belongs to the final solution and 0 otherwise. yi makes sure that

the contribution of the partition Ri be equal to 0 if Ri ∩Q = ∅, where Q = {j : xj = 1, j =

1, 2, . . . , n}. Thus wc(Q) = 0 if Q = ∅. If fi(0) = 0 ∀ i ∈ {1, 2, . . . ,m}, we can safely

ignore yi in the objective function and remove it from the program. We call the constraints

xi + xj ≤ 1 ∀ (i, j) /∈ E clique constraints and the constraints yi ≤∑

j∈Rixj ∀Ri ∈ R as

cluster restriction constraints.

Page 43: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 29

Lemma 3.1.1. If fi(0) = 0 for all clusters, then the variable yi can be ignored in the

formulation.

Proof. If no node from a cluster i is part of the CRC Q, then xj = 0 ∀ j ∈ Ri and thus

yi = 0. This makes the term∑

j∈Riajxj = 0. Thus, if fi(0) = 0 then fi

(∑j∈Ri

ajxj

)= 0

even without multiplying it with yi. Thus, in this case yi and the constraint yi ≤∑

j∈Rixj

can be ignored in the formulation.

The functions fi(x) could be of any nature. If fi(x) ≤ 0 is decreasing for each i ∈{1, 2, . . . ,m}, then the resultant CRC is a null set as yi = 0 for each i.

Lemma 3.1.2. If fi(x) = αix ∀ i ∈ {1, 2, . . . ,m}, then CRCP is equivalent to MWCP.

Proof. If fi(x) = αix ∀ i ∈ {1, 2, . . . ,m}, then according to Lemma 3.1.1 wc(Q) =∑mi=1wifi

(∑v∈Q∩Ri

av

). Then,

wc(Q) =m∑i=1

yiwiαi(∑

v∈Q∩Ri

av) (3.2)

But, if Q∩Ri = ∅ then yi = 0 and yi = 1 otherwise. Due to this condition, the presence

of yi in the objective function is not significant. Thus,

wc(Q) =

m∑i=1

(∑

v∈Q∩Ri

avwiαi) (3.3)

⇒ wc(Q) =∑v∈Q

a′v (3.4)

where a′v = av ∗ wi ∗ αi and v ∈ Ri. This is a classical maximum weight clique problem

where the weight of each node v is equal to a′v. Thus, if fi(x) = αix ∀ i ∈ {1, 2, . . . ,m},CRCP is equivalent to MWCP.

Lemma 3.1.3. If fi(x) is an increasing function for each Ri ∈ R, then CRC is a maximal

clique.

Proof. Suppose for contradiction that Q is the optimal CRC which is not maximal. This

means Q ⊂ Q′ where Q′ is a maximal clique. Thus there exists at least one node l such

that l ∈ Q′ but l /∈ Q and let l belong to the cluster Rk for some k. Thus∑

j∈Rk∩Q′ aj >∑j∈Rk∩Q. Since fk is an increasing function, fk

(∑j∈Rk∩Q′ aj

)> fk

(∑j∈Rk∩Q

). This

clearly shows that Q is not the optimal CRC. Hence the result follows.

Page 44: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 30

When fi(x) is a linear function of the form y = ax+ b for every cluster i ∈ {1, 2, . . . ,m},we call the problem of finding the CRC as the Linear Cluster Restricted Maximum Weight

Clique Problem (LCRCP). When fi(x) is a piece-wise linear function for each cluster, we

call the problem a Piecewise Linear Cluster Restricted Maximum Weight Clique Problem

(PCRCP).

Theorem 3.1.1. CRCP is NP-hard.

Proof. According to Lemma 3.1.2, CRCP is equivalent to MWCP if each fi(x) = αi(x) for

some αi > 0. This shows that MWCP is a subclass of CRCP. Since MWCP is a well known

NP-hard problem [14], CRCP is also NP-hard.

There is a natural exponential-sized formulation of CRCP as MWCP. The details of this

reduction are explained here. Let Q be the set of all cliques in the graph G and let Qi be

the set of all cliques in the cluster Ri. Let us construct the following graph G′ with vertex

set V ′ and edge set E′:

For each clique qji ∈ Qi, let there be a node vji in the graph. For two cliques qji and qiik

in Qi, (vji , vki ) /∈ E′. For two cliques qki ∈ Qi and qlj ∈ Qj , let (vki , v

lj) ∈ E′. Let the weight

of a node vji be aji = fi

(∑v∈Qi

av

). Any clique q′ in the above described graph represents

another clique q in G. MWC in G′ is CRC in G.

This formulation of CRCP as MWCP leads to the following formulation for CRCP:

Maximizem∑i=1

∑qji∈Qi

ajixji

Subject to xji + xkl ≤ 1 ∀ qji ∪ qkl ∈ Q

xji ∈ {0, 1} ∀ qji ∈ Qi, i ∈ {1, 2, . . . ,m}

This formulation is to find he maximum weight clique in the graph G′ and the binary

variable xji = 1 if the node vji belongs to MWC of G′ and xji = 0 otherwise.

Let the cluster Ri have ni nodes. If the nodes of Ri form a complete sub graph, then

the number of cliques in Qi =∑n1

k=1

(nik

). In that case |Qi| = 2ni − 1. Thus, the number

of cliques in any cluster Ri is at most 2ni − 1. thus the number of nodes in G′ could be as

large as∑m

i=1 2ni − 1 which could be much greater than n.

Page 45: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 31

3.2 Some Theoretical Results

In 1974, Nemhauser and Trotter showed that the extreme points of the feasible region of the

linear relaxation of the maximum clique problem are half-integral [21]. That is, if x is an

extreme point of the feasible region of the linear relaxation of the maximum clique problem,

then xi = 1 or 0 or 12 , where x = {x1, x2, . . . , xn}. A similar result can also be proven for

LCRCP. The following half integrality theorem explains the details.

In Section 5.1.1, LCRCP is shown to be equivalent to the following integer programming

formulation:

Maximizen∑j=1

a′jxj +k∑i=1

w′iyi

subject to xi + xj ≤ 1, ∀ (i, j) ∈ E

yi ≤∑j∈Ci

xi, ∀ Ri ∈ R

xj ∈ {0, 1} ∀ j ∈ V

yi ∈ {0, 1} ∀ Ri ∈ R

where a′j = wiαiaj , j ∈ Ri and w′i = wiβi. We consider this formulation in the proof of the

following half integrality theorem.

Theorem 3.2.1. (Half integrality theorem) Every extreme point of the polytope of linear

relaxation of the LCRCP with linear functions is half integral.

Proof. Let z = (x, y) be a feasible solution to the linear relaxation of LCRCP. x = (x1, x2, . . . , xn)

and y = (y1, y2, . . . , yk). Let us define the following sets:

Ux−1 = {j : 0 < xj <12}

Ux+1 = {j : 12 < xj < 1}

Uy−1 = {j : 0 < yj <12}

Uy+1 = {j : 12 < yj < 1}

Suppose z is not half integral. Then one of the three cases can happen:

1. Both x and y are not half integral.

Page 46: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 32

2. Only x is not half integral.

3. Only y is not half integral.

Case 1: Both x and y are not half integral. Define 2 new points p = (px, py) and

q = (qx, qy) as follows:

pxj =

xj + kε if j ∈ Uxkxj otherwise

qxj =

xj − kε if j ∈ Uxkxj otherwise

Define a constant kj for each vertex j as follows:

kj =

k if j ∈ Uxk0 otherwise

pyj = yj +∑i∈Cj

kiε

qyj = yj −∑i∈Cj

kiε

For a small value of ε, p and q will be feasible solutions for the LPR. If any of Ux−1 or

Uy−1 and Ux+1 or Uy+1 are non-empty, then p and q will be distinct from z. It can be seen that

x = p+q2 . Thus, z can be expressed as a convex combination of p and q. Such a z cannot be

an extreme point of the polytope.

Case 2: Only x is not half integral. Just as we analyzed for the first case, such a z can

be expressed as a convex combination of two feasible points p and q. Thus such a z cannot

be an extreme point.

Case 3: Only y is not half integral: One of the constraints of the problem says yi ≤∑j∈Ci

xj for each partition i. Since the objective is to maximize∑n

j=1 a′jxj +

∑ki=1w

′iyi, yi

takes the maximum feasible value. Thus, yi =∑

j∈Cixj for each optimal solution. Thus, if

x is not half integral, y can never be half integral in an optimal solution. If yi <∑

j∈Cixj

for some solution z, then we can define two new points p and q as follows:

Page 47: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 33

a

b

c

d

e

f

g

h

i

j

k

l

m

n

Figure 3.4: Counter example for the property of maximum independent set problem

pyj = yj + ε, qyj = yj − ε for each partition j, px = x and qx = x. For small ε, p and q are

feasible solutions to LPR and z = p+q2 . Thus, such a z cannot be an extreme point.

In the above analysis we proved that if z is not half integral, then it cannot be an extreme

point. This implies that an extreme point of the LPR has to be half integral, otherwise it

can be expressed as a convex combination of two feasible points. This proves that each

extreme point of the LPR is half integral.

Such half integrality property is not valid for PCRCP. We have found instances which

violate the property of half integrality when we solve the linear relaxation of PCRCP on

them. The details about these instances are discussed in Chapter 6.

Just as the maximum clique problem is equivalent to the maximum independent set prob-

lem, CRCP is equivalent to Cluster Restricted Maximum Weight Independent Set Problem

(CRIP). A feasible solution for CRCP on the graph G = (V,E) is a clique where as a feasible

solution for CRIP on the graph G′ = (V,E′) is an independent set. Solving CRCP on G is

equivalent to solving CRIP on G′.

A simple property of the maximum weight independent set is as follows: Suppose P is

an independent set in G(V,E) and I is an independent set in the graph induced by V \ P .

Let P (I) be the set of neighbors of I in P . For a vertex set U , let the total weight of U

be given by w(U). It can be seen easily that P \ P (I) ∪ I is also an independent set. If

w(P (I)) < w(I), then w((P \ P (I)) ∪ I) > w(P ). Thus, P \ P (I) ∪ I is an independent set

of larger weight. Such a set I is said to be augmenting P (See [21]).

The same property is not applicable to CRIP. Consider the graph shown in Figure 3.4

Page 48: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 3. CLUSTER RESTRICTED MAXIMUM CLIQUE PROBLEM (CRCP) 34

There are four partitions in the above graph, namely C1, C2, C3 and C4. C1 = {a, b, c, d, k},C2 = {e, f, g, h, n}, C3 = {i, j} and C4 = {l,m}. Weight of each node in this graph is 1. Let

w(Ci) be the weight of the partition Ci. w(C1) = 5, w(C2) = 6, w(C3) = 3 and w(C4) = 4.

Let P = {i, j, k, l, n}, I = {a, b, c, d, e, f} and P (I) = {i, j, l}. It can be seen that wc(I) = 16,

wc(P (I)) = 10. Clearly wc(P (I)) < wc(I). wc((P \ P (I)) ∪ I) = 17 and wc(P ) = 23. Thus

for this problem, even though wc(P (I)) < wc(I), wc((P \ P (I)) ∪ I) < wc(P ).

The maximum weight independent set problem has a property that P is not an maximum

independent set if and only if some I ⊂ P exists such that I is augmenting P . This property

is not valid for CRIP. In the above discussed example, P is optimum cluster restricted

maximum weight independent set but it still has an augmenting I.

Page 49: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 4

Exact Algorithm for CRCP

This chapter presents a branch and bound algorithm to solve the cluster restricted maximum

weight clique problem (CRCP). We will first describe the branching strategy and then

describe a few pruning strategies using upper bounds on the weight of CRC. We assume

the weights of nodes and clusters are non-negative constants and the function fi(x) for each

cluster Ri is non-decreasing and fi(0) = 0.

4.1 Branching Strategy

We extend the branching strategy introduced in [23] for MCP. For any node v ∈ V , let R(v)

be the cluster it belongs to. Thus, if v ∈ Rl for some l ∈ {1, 2, . . . ,m} then R(v) = Rl.

Let (v1, v2, . . . , vn) be an ordering of nodes of G such that for i=1, 2, . . . , n − 1, either

R(vi) = R(vi+1) or R(vi) = Rj and R(vi+1) = Rj+1 for some j ∈ {1, 2, . . . , m− 1}. In this

kind of ordering, nodes of Ri appear before the nodes of Rj if i < j. For a cluster Rj for

j = 1, 2, . . . ,m, let the index of the first node in Rj be R1j . Thus, in this ordering, R1

i < R1j

if i < j.

Let Si = {vi, vi+1, . . . , vn} for i = 1, 2, . . . , n. The idea in the algorithm is to iteratively

finds the CRC in G(Sn), G(Sn−1), . . . , G(S1). Let Qt be the CRC in G(St) for some

t ∈ {1, 2, . . . , n}. Q1 is the CRC of the graph as S1 = V . Suppose that we know Qi+1 for

some i ∈ {1, 2, . . . , n−1}. The algorithm will now find all the cliques in G(Si) which include

additional node vi. If the heaviest clique Q of these cliques according to the defined function

has a weight greater than that of Qi+1, then we let Qi be clique Q. Otherwise, Qi=Qi+1.

To find all the cliques in G(Si) which include vi, we consider the following search tree. Let

35

Page 50: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 4. EXACT ALGORITHM FOR CRCP 36

vi be the root of the tree. For a tree node v, let C(v) be the set of children and p(v) be the

parent. Let N(v) = {u ∈ V : (v, u) ∈ E} be the set of neighbours of v ∈ V , i.e. adjacent

nodes to v in G. For the root node vi, the children are C(vi) = Si ∩N(vi). For any other

tree node u, the children are C(u) = C(p(u)) ∩N(u), i.e. all nodes that are adjacent to u

and to p(u). In this tree, a path from the root vi to any other node is a clique in G(Si).

4.2 Pruning Strategies

Suppose we know Qi+1. In order to find Qi, we explore the tree with vi as the root which is

described above. While branching in this tree, consider a path Q from vi to a node u such

that C(u) 6= ∅. As already discussed, Q is a clique and by adding any node from C(u) we

expand Q. We now describe some upper bounds on the weight of CRC in G(Q ∪ C(u)).

For the remaining part of this section, we use vi, u and Q as defined above and let

vi ∈ Rl for some l ∈ {1, 2, . . . ,m}. Let Zt = (Q ∪ C(u)) ∩Rt, for t = l, l + 1, . . . , m. Let

Mt be the CRC in the graph induced by Zt.

Lemma 4.2.1. If Ut is an upper bound on the weight of the maximum weight clique in the

graph induced by Zt, t = l, l + 1, . . . ,m, then f(Ut) is an upper bound on the weight of Mt.

Proof. Let Wt be the maximum weight clique in the graph induced by Zt. Thus, w(Wt) ≥w(Ct) for any other clique Ct in Zt. We know that f(x) is a non-decreasing function. Thus,

f(w(Wt)) ≥ f(w(Ct)). This shows that f(w(Wt)) is an upper bound for the weight of M(Zt)

if Ct = M(Zt).

For any V ′ ⊂ V , let M(V ′) be the CRC in the graph induced by V ′. We now propose

several upper bounds on the weight of M(Q ∪ C(u)).

1. Consider the set Q∪C(u). If all the nodes of this set form a clique, that is the M(Q∪C(u)). Thus, w(Q∪C(u)) is an upper bound for the weight of M(G(Q∪C(u))). This

according to Lemma 4.2.1, wc(Q ∪C(u)) is an upper bound for wc(M(G(Q ∪C(u))))

2. The set Q ∪ C(u) =⋃mt=l Zt. We know that

⋃mt=l+1 Zt ⊆ SR1

l+1and M(G(SR1

l+1))

is QR1l+1 . Thus, w(G(Zl)) + w(QR

1l+1) is an upper bound for the weight of M(Q ∪

C(u)). Thus according to Lemma 4.2.1, wc(G(Zl)) +wc(QR1

l+1) is an upper bound for

wc(M(Q ∪ C(u)))

Page 51: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 4. EXACT ALGORITHM FOR CRCP 37

3. Coloring a graph is the assignment of colors to the nodes of the graph such that

adjacent nodes are not assigned the same color. The minimum number of colors

required to color the graph is called the chromatic number of the graph, χ(G). In

a weighted graph, let weight(v) be the weight of the node v. Weighted coloring is

the assignment of weight(v) number of colors to each node v in the graph such that

adjacent nodes are not assigned any color in common [2]. The minimum number of

colors required for weighted coloring of a graph G is called the weighted chromatic

number, χw(G).

In an unweighted graph, the number of colors required to color a clique is equal to the

number of nodes in it. Thus, the chromatic number of the graph is at least equal to

the cardinality of the maximum clique in it. Similarly in a weighted graph G, χw(G)

is at least equal to the weight of the maximum weight clique. We use this property to

obtain an upper bound on the weight of CRC in a subgraph induced by a given set of

nodes.

Consider the set Zl. Using any heuristic for weighted coloring of a graph, we can find

χw(G(Zl)) where weight of each node v ∈ Zl is Av. We know that χw(G(Zl)) is an

upper bound on the weight of the maximum weight clique in G(Zl). Thus, according

to Lemma 4.2.1, we know that f(χw(G(Zl))) is an upper bound on M(Zl). Thus

according to Lemma 4.2.1, f(χw(G(Zl))) +w(QR1l+1) is an upper bound of wc(G(Q ∪

C(u))).

4. By applying the weighted coloring heuristic to the graph induced by each Zt, we can

find χw(G(Zt)), for t = l, l+ 1, . . . , m. According to the Lemma 4.2.1, f(χw(G(Zt)))

is an upper bound on M(Zt), for each t from l to m.∑m

t=l f(χw(G(Zt))) is an upper

bound on the weight of CRC in G(Q ∪ C(u)).

5. Consider an undirected graph G′ and an ordering g of vertices of this graph. We will

construct a directed graph ~G′ with vertex set V (G′). We denote a directed edge from

u to v in ~G′ as (u, v). For every edge {u, v} in E(G′), let (u, v) be an edge in ~G′ if u

is placed before v in the given ordering. We call ~G′ directed equivalent of G′. Because

of the ordering g, ~G′ contains no cycles, thus it is a Directed Acyclic Graph (DAG).

Out of any clique in G′, a directed path can be found in ~G′ which contains all the

vertices of the clique in the sequence as they appear in the ordering. Thus, the length

Page 52: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 4. EXACT ALGORITHM FOR CRCP 38

of the longest path in ~G′ is at least equal to the cardinality of the maximum clique

in G′. Similarly in a weighted graph G′ and its directed equivalent ~G′, weight of the

heaviest path in ~G′ is at least equal to the weight of the maximum weight clique in

G′. It is also known that the longest path problem in both weighted and unweighted

DAG can be solved in linear time using dynamic programming approach. We make

use of this property to obtain an upper bound for the CRCP. Let the weight of the

heaviest path in a weighted DAG ~G′ be µ( ~G′) where weight of a node v is Av.

Since µ(~G(Zl)) is an upper bound on the weight of the maximum weight clique in

G(Zl), according to lemma 4.2.1, f(µ(~G(Zl))) is an upper bound on wc(M(Zl)). Thus

according to Lemma 4.2.1, wc(µ(~G(Zl))) +wc(QR1

l+1) is an upper bound on wc(G(Q∪C(u))).

6. By finding the longest path in the weighted graph induced by each set of nodes Zt,

t = l, l + 1, . . . ,m, we get an upper bound on the aximum weight clique in each of

the subgraphs. According to Lemma 4.2.1, f(µ(~G(Zt))) is an upper bound on the

weight of M(Zt), t = l, l + 1, . . . ,m. Thus,∑m

t=l wc(µ(~G(Zt))) is an upper bound on

wc(G(Q ∪ C(u))).

Algorithms 1 and 2 show the pseudo code for the branch and bound algorithm explained

in this chapter. The function upperbound(V ′)), for some V ′ ⊂ V finds the upper bound on

wc(G(V ′)) using a pruning strategy.

Algorithm 1: Main routine of the Branch and Bound Algorithm for the CRCP.

Require: Set of nodes V , set of edges E, weight Av for each vertex v ∈ V , the partition{R1, R2, . . . , Rm} of V and the convex monotonic functions f1(x), f2(x), . . . , fm(x)which are used to calculate the weight of a clique.Arrange the vertices in an ordering such that if vi ∈ Rk, then vi+1 belongs either to Rkor Rk+1, for all i ∈ {1, 2, . . . , n− 1} and k ∈ {1, 2, . . . ,m− 1}.best = ∅for i = n→ 1 doQi = CRC(Si ∩N(vi), best,Q

i)if w(Qi) > w(best) thenbest← Qi

end ifend forreturn best

Page 53: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 4. EXACT ALGORITHM FOR CRCP 39

Algorithm 2: CRC(S,Q, best)

if |S| = 0 thenif w(Q) > w(best) thenbest← Q

end ifelse

if upperbound(Q ∪ S) > w(best) thenwhile S 6= ∅ dou← vj where j := min{i|vi ∈ S}S ← S \ uCRC(S ∩N(u), best,Q ∪ {u})

end whileelse

return bestend if

end ifreturn Q

Page 54: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 5

Heuristics for CRCP

In this chapter we give specific formulations for LCRCP and PCRCP and propose a tabu

search algorithm for LCRCP. Then we propose a model based metaheuristic for CRCP and

show how to use it to solve LCRCP and PCRCP.

5.1 Formulations of LCRCP

5.1.1 Linear Formulation

As defined in the Chapter 1, CRCP is called LCRCP if fi(x) is linear for each Ri ∈ R. Let

fi(x) = αix+ βi ∀ Ri ∈ R. The objective function in this case is as follows:

F (x) =

m∑i=1

wiyifi(∑j∈Ri

ajxj)

F (x) =m∑i=1

wiyi(αi(∑j∈Ri

ajxj) + βi)

F (x) =m∑i=1

wiyiαi∑j∈Ri

ajxj +m∑i=1

wiβiyi

F (x) =

m∑i=1

∑j∈Ri

wiyiαiajxj +

m∑i=1

wiβiyi

Due to the constraint yi ≤∑

j∈Rixj , ∀ Ri ∈ R, it is implied that yi = 0 if xj =

0 ∀ j ∈ Ri. If xj = 1 for any j ∈ Ri, yi takes the value 1. Thus, yi can be removed from∑mi=1

∑j∈Ri

wiyiαiajxj part of the above summation.

40

Page 55: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 41

F (x) =m∑i=1

∑j∈Ri

wiαiajxj +m∑i=1

wiβiyi

F (x) =n∑j=1

a′jxj +m∑i=1

w′iyi

where a′j = wiαiaj , j ∈ Ri and w′i = wiβi. This can be understood as the objective function

having two components, one component being contributed by the clique where weight of

each node j is a′j and the other component being contributed by the cluster i of weight w′i.

The final 0− 1 program for LCRCP is as follows:

Maximizen∑j=1

a′jxj +k∑i=1

w′iyi

subject to xi + xj ≤ 1, ∀ (i, j) ∈ E

yi ≤∑j∈Ci

xi, ∀ Ri ∈ R

xj ∈ {0, 1} ∀ j ∈ V

yi ∈ {0, 1} ∀ Ri ∈ R

5.1.2 Two Non-Linear Formulations

The classical maximum weight clique problem is formulated as a quadratic 0−1 programming

problem in [24]. Adopting a similar strategy, LCRCP can also be formulated as a 0 − 1

programming problem, although it may be a polynomial of higher degree. The formulation

is as follows:

Maximizen∑j=1

a′jxj −∑

(i,j)/∈E

(a′i + a′j)xixj +m∑i=1

w′iyi −m∑i=1

w′iyi∏

(i,j):j∈Ri

(1− xj)

Subject to xj ∈ {0, 1} ∀ j ∈ V

yi ∈ {0, 1} ∀ Ri ∈ R

Page 56: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 42

In the above formulation, for any (i, j) /∈ E if xi = 1 and xj = 1, then a penalty of

a′i + a′j is included in the objective function. If xj = 0, ∀j ∈ Ri, then yi must be equal to

zero according to the definition of the problem. Thus, if xj = 0, ∀j ∈ Ri and yi = 1, then a

penalty of w′i is included in the objective function by the term w′iyi∏

(i,j):j∈Ci(1−xj). This

term in the objective function makes it into a higher degree polynomial. Under the condition

that each cluster has exactly one node, the objective function of the above formulation is

quadratic. In that case, the problem becomes equivalent to the maximum weight clique

problem.

Consider the following 0-1 programming problem:

Maximizen∑j=1

a′jxj −∑

(i,j)∈E

(a′i + a′j)xixj +m∑i=1

w′iyimi

Subject to mi ≤ xj ∀ j ∈ Ri, Ri ∈ R

mi ∈ {0, 1}, ∀ Ri ∈ R

xj ∈ {0, 1} ∀ j ∈ V

yi ∈ {0, 1} ∀ i ∈ K

In the above formulation, mi is a binary variable for associated with a cluster Ri ∈ Rand takes the value 1 if at least one node belongs to the final clique from Ri. Since the

problem is a maximization problem and due to the presence of the constraints mi ≤ xj ∀ j ∈Ri, Ri ∈ R, mi can be assumed to take the value of max(xj : j ∈ Ri). This formulation

also includes penalty for violating the clique constraints of the problem. Instead of having

a penalty for the cluster constraints, we include a term mi for each cluster which is equal to

the maximum of xj for each j ∈ Ri. This way, instead of having a higher degree polynomial

as the objective function, we have a function which is not a polynomial but involves the

term mi = max(xj : j ∈ Ci) ∀Ri ∈ R.

Both of these 0-1 formulations have the disadvantage that they cannot be solved by

commercial IP solvers directly due to the non-linearity involved. Thus, it would be easier

to solve the original formulation of the problem (see Section 3.1) using a commercial IP

solver. On the other hand, these formualations give a good direction for developing search

heuristics for LCRCP. For a given (x, y) = {x1, x2, . . . , xn, y1, y2, . . . , ym} calculating the

Page 57: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 43

objective function value is easy. For a given neighbourhood, the penalties defined in the

objective function will guide the search towards a feasible solution but feasibility may not

be guaranteed.

Another formulation for LCRCP which is based on penalty for the clique constraints is

discussed in Section 5.2. We describe a tabu search algorithm for LCRCP based on this

formulation in Section 5.2.

5.2 Tabu Search Heuristic for the LCRCP

Tabu search is an efficient metaheuristic proposed by Glover and Laguna [15] in 1997. In this

section, we describe a tabu search algorithm for LCRCP. Consider the following formulation

for LCRCP:

Maximizen∑j=1

a′jxj −∑

(i,j)∈E

(a′i + a′j)xixj +m∑i=1

w′iyi

subject to yi ≤∑j∈Ci

xj ∀ Ci ∈ C

xj ∈ {0, 1} ∀ j ∈ V

yi ∈ {0, 1} ∀ Ri ∈ R

We can observe that in the absence of the cluster restriction constraint, this problem

is a 0-1 quadratic program. Any neighborhood search heuristic can be adopted, with some

minor modifications, to solve LCRCP. At each stage, we need to keep track of the number

of nodes in the clique from each cluster. We consider a basic tabu search algorithm for 0-1

quadratic programming problem and modify it accordingly for LCRCP. The details of the

heuristic are described in the following paragraphs.

For this algorithm, we use a 1-flip neighborhood. For a solution x ∈ {0, 1}n, the 1-flip

neighborhood N1(x) is defined as N1(x) = {x′ ∈ {0, 1}n \ x :∑n

i=1 |xi − x′i| = 1}. For a

solution x ∈ {0, 1}n, let f(x) be the value of the objective function. Suppose x and x′ be

the solutions found in two consecutive iterations of the algorithm which differ in the ith

position. Thus xi 6= x′i for some i ∈ {1, 2, . . . , n} and xj = x′j ∀ j 6= i. In the tabu list we

register this flip position i and the flip in the value of xi would be prohibited for next few

Page 58: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 44

number of iterations of the heuristic. This number of iterations in which the flip in the ith is

prohibited is called tabu tenure. We move from x to x′ in two consecutive iterations of the

algorithm if f(x′) ≥ f(x) where x ∈ N1(x), provided the move to x′ from x is not tabu. At

every stage of the algorithm, we keep track of the best solution found, xbest. At any point

if the algorithm finds a solution xa which is tabu but f(xa) > f(xbest), then we move to xa

even though this move is tabu. This is the aspiration criteria we use in this heuristic.

For a given solution x and the corresponding y, the objective function value is∑n

j=1 a′jxj−∑

(i,j)∈E(a′i + a′j)xixj +∑m

i=1w′iyi. This evaluation takes O(m′ + n) time, where m′ is the

number of edges in the graph. Instead of spending O(m′ + n) time at each stage for cal-

culating the objective value, we propose a way to evaluate the objective function value in

a constant time. For any clique Q, let λQRibe the number of nodes common both to the

cluster Ri and Q, i ∈ {1, 2, . . . ,m}. Thus, λQRi= |Ri ∩ Q|. It can be seen that yi = 0 if

λQRi= 0 and yi = 1 if λQRi

> 0. This way we can compute yi by keeping track of the number

nodes common to the cluster i and the current clique. For a solution x, let Q(x) be the

clique defined by x. Thus Q(x) = {i|xi = 1}. For a node i, let R(i) be cluster the node i

belongs to.

In every iteration, we find a flip position i such that i /∈ tabulist and a solution x′ such

that

x′j =

xj if j 6= i

1− xj otherwise

and f(x′) ≥ f(x) ∀x ∈ N1(x) where x is the current solution. If xi = 1, then x′i = 0.

It means the new clique found does not have the the node i in it and λQ(x)R(i) = λ

Q(x′)R(i) + 1.

If λQ(x′

R(i) = 0 and λQ(x)R(i) = 1, then f(x′ = f(x) − a′i − w′R(i). If xi = 0, then x′ = 1 and

λQ(x)R(i) = λ

Q(x′)R(i) − 1. Thus, if λ

Q(x)R(i) = 0 and λ

Q(x′)R(i) = 1, then f(x′) = f(x) + a′i + w′R(i). And

in both the cases, ifλQ(x′)R(i) = λ

Q(x)R(i) , then f(x′) = f(x). If a cluster j does not have any node

in common with the clique, then λj = 0. With this strategy, we can evaluate the objective

function value in each iteration in constant amount of time instead of re-evaluating its value

from scratch.

The Algorithms 3, 4 and 5 give the pseudocode for the above described tabu search

heuristic for LCRCP.

The termination criteria which we use in our implementation is a time limit. Thus the

Page 59: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 45

Algorithm 3: Tabu Search Heuristic for LCRCP

Require: Set of node weights a′, set of cluster weights w′, Set of the graph edges E.λi = 0 for Ri ∈ Rxi = 0 for i ∈ {1, 2, . . . , n}f(x) = 0xbest = 0f(xbest) = 0CurrentObj = 0while Time limit is not reached doi← BestF lipPosition(x, λ, xbest)f(x)← ObjEvaluation(x, λ, CurrentObj, i)xi ← 1− xiif xi = 1 thenλRi ← λRi + 1

elseλRi ← λRi − 1

end ifend whileif f(x) > f(xbest) thenxbest ← xf(xbest)← f(x)

end ifreturn xbest

algorithm will run for the specified amount of time and returns the best solution found till

then. The initial solution supplied to the algorithm is xi = 0 ∀i ∈ {1, 2, . . . , n}. The value

of TabuTenure we use in our experiments is 7.

5.3 Matheuristic for CRCP

In this section we describe a model-based metaheuristic for CRCP- a matheuristic. This

heuristic uses commercial mixed integer programming solvers as a sub-routine, thus ex-

ploiting the power of commercial MIP solvers like CPLEX. The matheuristic is designed

to have several iterations, where in each iteration we solve the problem on a constrained

search space. In each iteration, perform an operation similar to neighborhood search by

adding some additional constraints to the integer programming formulation and solve it us-

ing CPLEX. These kind of heuristics are new where the power of commercial MIP solvers is

Page 60: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 46

Algorithm 4: BestFlipPosition(x, λ, xbest)

BestF lip = ∅BestInNbd = 0for i = 1 to n do

if ObjEvaluation(x, λ, f(x), i) > BestInNbd and i /∈ TabuList thenBestF lip← iBestInNbd← ObjEvaluation(x, λ, f(x), i)

elseif ObjEvaluation(x, λ, f(x), i) > f(xbest) and i ∈ TabuList thenBestF lip← iBestInNbd← ObjEvaluation(x, λ, f(x), i)xbest ← x flipped at ith positionf(xbest)← BestInNbd

end ifend if

end forif |TabuList| > TabuTenure and BestF lip ∈ TabuList then

Delete first element of the TabuListAdd BestF lip to the end of TabuList

end if

exploited. With commercial MIP solvers getting more powerful to handle difficult problems,

using such heuristics will improve their performance considerably.

Angelelli, Mansini and Speranza [1] introduced a new framework of heuristics called

kernel search. They begin their solution with a restricted set of promising securities which

forms the initial kernel. The initial kernel is found by solving the linear relaxation of the

original problem. They iteratively extend this kernel to finally explore the complete set

of securities. We adopt this idea of starting with a smaller set of promising securities and

iteratively extend it and in each iteration we use CPLEX to find improvements in the solution

by adding some constraints to the problem. Similar heuristic named variable intensity

local search, where commercial MIP solvers are used to perform neighborhood search, was

proposed by Mitrovic-Minic and Punnen [20]. They performed their experimentation on

the generalized assignment problem and the multi resource generalized assignment problem.

Similar heuristics where general purpose MIP solvers are used to explore the neighborhoods

for neighborhood search can be seen in [19] and [18].

Page 61: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 47

Algorithm 5: ObjEvaluation(x, λ,Objective, i)

λ′ = λif X[i] = 1 thenλ′(Ri) = λ′Ri

− 1elseλ′(Ri) = λ′Ri

+ 1end ifs1 = a′[i]s2 =

∑(i,j)/∈E(a′[i] + a′[j])x[j]

if λ(Ri) = 0 and λ′Ri= 1 then

s3 = w′(Ri)else

if λ(Ri) = 1 and λ′Ri= 0 then

s3 = −w′[Ri]end if

end ifif x[i] = 0 thenObj = Obj + s1− s2 + s3

elseObj = Obj − s1 + s2 + s3

end ifreturn Obj

5.3.1 Algorithm Outline

Our matheuristic is based on iteratively performing neighborhood search using the commer-

cial general purpose MIP solver CPLEX. For a given subgraph G′(V ′, E′) where V ′ ⊂ V

and E′ ⊂ E, we find a good CRC in G′ using CPLEX. In each iteration, the subgraph

G′ considered for neighborhood search by CPLEX is defined as the search space. It is a

neighborhood of a solution in G where all xj : j ∈ G \G′ are fixed to 0 and other variables

can have values 0 or 1. Further details of the neighborhood portion that is searched are

given later in this Section. The heuristic contains the following three main components:

1. Selecting an initial search space for performing the search.

2. Selecting a strategy to improve the solution in the provided search space.

3. Selecting a strategy to expand the search space for the next iteration.

Page 62: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 48

This matheuristic has four main iterations. In practice, we can use a different number of

main iterations in the matheuristic, where larger instances have more number of iterations

and smaller instances have lesser number of iterations. Let S = {1, 2, . . . , n} be the full

search space. For each iteration 1 ≤ j ≤ 4, consider the following notations:

• Let Sj ⊆ S be the search space for the jth iteration.

• Let xinitj be the initial solution provided for the neighborhood search in Sj .

• Let xfinalj be the final solution obtained after running neighborhood search in Sj .

• Let Q(x) be the clique defined by x where x ∈ {0, 1}k where k ≤ n is the number of

nodes in Sj . Thus, Q(x) = {i : xi = 1}

The matheuristic ensures the following conditions are met:

• The search space in the final iteration has to be the full search space, i.e. S4 = S.

With this condition we make sure that we search for the CRC in the full graph in the

final iteration.

• The initial solution S◦ is the initial solution provided to the matheuristic.

• We begin our search in S1 where S◦ ⊂ S1. Thus xinit1i = 1 if i ∈ S◦ and xinit1i = 0

otherwise .

• The clique found in the (j − 1)th iteration is used as an initial clique for searching in

Sj . Thus Q(xfinalj−1) = Q(xinitj ).

• In each iteration, the search space is expanded from the search space of the previous

iteration. Thus Sj ⊂ Sj+1 for 1 ≤ j ≤ 3.

Thus each iteration j starts with an initial solution xinitj and a search space Sj . Each

iteration has several sub-iterations. For each sub-iteration i of the jth iteration, consider

the following notation:

• Let xinitj,i be the initial solution provided.

• Let xfinalj,i be the final solution found.

Page 63: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 49

Let f(x) be the value of the objective function at a solution x. The following conditions

are met by the matheuristic during each sub-iteration i of the jth iteration:

• The algorithm performs neighborhood search on Sj with xinitj,i as the initial solution

to find xfinalj,i where f(xfinalj,i) ≥ f(xinitj,i).

• If f(xfinalj,i) > f(xinitj,i) then the algorithm continues to the next sub-iteration.

• If f(xfinalj,i) = f(xinitj,i) then the jth iteration is terminated.

• The final solution found in the ith sub-iteration is the initial solution for the (i+ 1)th

sub-iteration i.e. xinitj,(i+1) = xfinalj,i .

• The initial solution for the 1st sub-iteration is obtained from the final solution of the

previous iteration. Thus, xinitj,1 = xfinalj−1 .

• If the total number of sub-iterations in the jth iteration is k, then xfinalj = xfinalj,k .

We now decscribe the details of the three main components of the matheuristic.

Solution strategy in each sub-iteration:

The second stage in this algorithm is to adopt a solution strategy within each sub-

iteration to find the solution xfinalj,i during the ith sub-iteration of the jth iteration. For

any solution x ∈ {0, 1}|Sj | in the jth iteration of the matheuristic, the k-flip neighborhood

N jk(x) is defined as follows: N j

k(x) = {x′ ∈ {0, 1}|Sj | :∑

i∈Sj|xi − x′i| ≤ kj} for a positive

constant kj . The constraint that defines the neighborhood N jk(x) is called the k-distance

constraint. The improvement operation performed in each sub-iteration i of the jth iteration

of the matheuristic is to find a solution xfinalj,i such that f(xfinalj,i) ≥ f(xinitj,i) where

xfinalj,i ∈ N jk(xinitj,i). Thus, this improvement operation is equivalent to performing a

search operation in N jk(xinitj,i). We use CPLEX to perform this search procedure and the

details are explained in Section 5.3.2. This value kj can be treated as a parameter for the

algorithm. We call this solution strategy the IP solver based neighborhood search.

Once xfinalj is found in the jth iteration, the next stage of the algorithm is to expand

Sj to Sj+1. If Sj is the current search space in the jth iteration, let S′j = S \ Sj be the

nodes which do not belong to the search space. Once we have found xfinalj , we will now

expand Sj to Sj+1 by adding a specific number of nodes from S′j to Sj . Let I(j) number of

nodes be added to the Sj from S′j . Since we have 4 iterations in total, |S◦+∑4

j=1 I(j) = n.

This ensures that the search space in the 4th iteration S4 = S. This number I(j) is also a

Page 64: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 50

parameter that influences the algorithm performance. The strategy used to expand Sj to

Sj+1 is called the search space expansion strategy.

Search space expansion strategy:

We now explain the search space expansion strategy used in this matheuristic. For

any node v ∈ S′j , let µj(v) be the number of nodes adjacent to v in Sj . So µj(v) =∑(v,u)∈E,v∈S′j ,u∈Sj

1. Let Sj = {v|v ∈ S′j} be the ordered set where the elements of S′j are

ordered in the non-increasing order of µj(v). Thus if k′ < k′′ and corresponding elements of

Sj are Sj(k′) and Sj(k

′′), then µj(Sj(k′)) ≥ µj(Sj(k′′)). To add I(j) number of nodes from S′j

to Sj , we select the first I(j) elements of Sj . Thus, Sj+1 = Sj ∪{Sj(1), Sj(2), . . . , Sj(I(j))}.Selecting initial search space:

The matheuristic begins by selecting an initial search space S◦. S1, the search space for

the first iteration of the matheuristic is obtained by adding I(1) number of nodes from S1

to S◦. S◦ is selected in such a way that CRCP can be solved, efficiently if not optimally,

on S◦. Let xfinal◦ be the solution obtained by running IP based neighborhood search on

S◦ and let Q(xfinal◦) be the clique found. Q(xfinal{circ) is provided as an initial solution to

the first iteration of the matheuristic.

If the nodes in S◦ form a clique, we need not run IP based neighborhood search on S◦

as all the nodes in S◦ will be a part of CRC. In that case xfinal◦i = 1, ∀ i ∈ S◦ and all

the nodes in S◦ form Q(xfinal◦). In this matheuristic, we select S◦ by running tabu search

heuristic for LCRCP described in Algorithm 3. There may be several other approaches to

select a good S◦ and these strategies are discussed in Chapter 6.

We cannot use the idea of selecting the initial search space by solving the linear relaxation

of LCRCP, as used in [1] because we observed that most of the variables in the linear

relaxation of LCRCP take the value of 12 and almost none of them take the value of 0 or 1

(see Theorem 3.2.1). We can explore the performance of the matheuristic by selecting the

initial search space from solving the linear relaxation for PCRCP.

Though S4 = S, the search in the final iteration is restrictive due to search confined

to N j,ik (xinitj,i). We thus run CPLEX on the full graph with no k-distance constraint and

provide xfinal4 as an initial solution to it. We first run IP solver for T IPS1 time and if no

improvement in solution is observed, we stop the algorithm. Otherwise, we continue running

IP solver for another time T IPS2 . Algorithm 6 shows the pseudo code of the matheuristic.

All the values of the parameters and their influence on running the matheuristic are

shown in Chapter 6.

Page 65: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 51

Algorithm 6: Integer Programming Solver based Heuristic

InitialX = TabuSearch()S0 = {j : xj = 1 in InitialX}SolnX = InitialXfor i = 1→ 4 doSi = sort nodes in S′i == S \ Si−1 by µ(v)Si = Si−1 ∪ Si[1 . . . I(i)]SolnX = IPBasedNeighborhoodSearch(SolnX, SearchSpace, Ti, ki)InitialX = SolnX

end forSolnX = IPSolver(SolnX)return SolnX

5.3.2 Sub-iteration of the Matheuristic: IP Based Neighborhood Search

In each sub-iteration of the model-based metaheuristic, we perform a k-swap neighborhood

search on a given search space using an IP solver. This procedure is called IP solver based

Neighborhood search. We provide the details of this procedure in this section.

Consider a given search space S. Let C be the set of clusters to which the nodes S

belong to. CRCP for this search space can be formulated as follows :

Maximize∑c∈C

wcycfc(∑j∈c

xj)

subject to xi + xj ≤ 1 (i, j) ∈ E and i, j ∈ S

yc ≤∑

j∈c,j∈Sxj

xj ∈ {0, 1} ∀ j ∈ S

yc ∈ {0, 1} ∀ c ∈ C

Let the objective function value at a solution x be f(x, S). Let xinit be the initial solution

to the neighborhood search iterations. A feasible solution x in the k-swap neighborhood of

xinit is optimal if f(x, S) ≥ f(x′, S) ∀ x′ ∈ Nk(xinit), for a given k. This optimal x can be

found by solving the following integer program:

Page 66: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 52

Maximize∑c∈C

wcycfc(∑j∈c

xj)

subject to xi + xj ≤ 1 (i, j) ∈ E and i, j ∈ S

yc ≤∑

j∈c,j∈Sxj∑

i∈S|xi − xiniti | ≤ k

xj ∈ {0, 1} ∀ j ∈ S

yc ∈ {0, 1} ∀ c ∈ C

Let the above integer program be called NeighborhoodSearch(xinit, T ), where xinit is

the initial solution to the neighborhood search iteration and T is the maximum amount

of time . For the given amount of runtime, we may not be able to find the optimum so-

lution of NeighborhoodSearch(xinit, T ). In that case, NeighborhoodSearch(xinit) returns

the solution it finds in the time T . The pseudo code for the sub routine IPSBasedNeigh-

borhoodSearch(x,S) of the Algorithm 6 is shown in Algorithm 7.

The presence of∑

i∈S |xi−xiniti | ≤ k in the constraints of NeighborhoodSearch(xinit, T )

make it non-linear. In order to linearize this formulation, we introduce new variable and

constraints as follows. Since xi and xiniti are binary variables,

|xi − xiniti | = (xi − xiniti )2

⇒ |xi − xiniti | = (xi)2 + (xiniti )2 − 2xix

initi

⇒ |xi − xiniti | = xi + xiniti − 2xixiniti

To eliminate the quadratic term xi × xiniti , we introduce a new binary variable zi =

xi × xiniti . Thus,

|xi − xiniti | = xi + xiniti − 2zi,

where zi ≤ xi, zi ≤ xiniti and zi ≥ xi + xiniti − 1.

Page 67: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 53

Thus, NeighborhoodSearch(xinit, T ) is equivalent to solving the following linear pro-

gramming problem:

Maximize∑c∈C

wcycfc(∑j∈c

ajxj)

subject to xi + xj ≤ 1 (i, j) ∈ E and i, j ∈ S

yc ≤∑

j∈c,j∈Sxj∑

i∈Szi ≤ k

zi ≤ xi

zi ≤ xiniti

zi ≥ xi + xiniti − 1

xj ∈ {0, 1} ∀ j ∈ S

yc ∈ {0, 1} ∀ c ∈ C

zj ∈ {0, 1} ∀ j ∈ S

Algorithm 7: IP Based Neighborhood Search(xinit, S, T, k )

Improvement = 1while Improvement = 1 doxopt = Solution from NeighborhoodSearch(xinit, Ti)if f(xopt, S > f(xinit, S) thenImprovement = 1xinit = xopt

elseImprovement = 0

end ifend whilereturn xopt

For each iteration j of the matheuristic, the runtime Tj of IP solver based neighborhood

search is a parameter which determines the perfromance of the matheuristic. The details of

the effects of this parameter will be discussed in Chapter 6.

Page 68: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 5. HEURISTICS FOR CRCP 54

5.4 k-swap Neighborhood Search for CRCP

In the Section 5.3, we described a matheuristic which for CRCP. The search space in each

iteration was a sub graph of the initial graph. The search space was expanded iteratively

such that the search space in the final iteration (4th iteration) was the entire initial graph.

Unlike that strategy, in the heuristic presented in this section, the only search space is the

full graph. The outline of this algorithm is given in Algorithm 8.

Algorithm 8: k-swap Neighborhood Search

Require:InitialX = TabuSearch()Improvement = 1SearchSpace = Swhile Improvement = 1 dox = IPSBasedNeighborhoodSearch(InitialX, SearchSpace, T4, k)if f(x) > f(InitialX) thenImprovement = 1InitialX = x

elseImprovement = 0

end ifend whilex = CPLEX(x)return x

In the Algorithm 6, each sub-iteration of IP Based Neighborhood Search runs for Tj time

in the jth iteration. In the final iteration, the time given for IP solver based neighborhood

search is T4 and the search space S4 = S. Since the search space for Neighborhood Search on

Full Graph shown in Algorithm 8 is the full graph itself, each run of IP Based Neighborhood

Search runs for T5 amount of time. The k used in this heuristic has the same value of k4

used in Algorithm 6. Just as in Algorithm 6, we run CPLEX after running the neighborhood

search operation because the search in IP Based Neighborhood Search is restrictive due to

the limited neighborhood.

The computational results for this heuristic are presented and compared with the matheuris-

tic described in Section 5.3 in the Chapter 6.

Page 69: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 6

Computational Results

This chapter provides the results of experimental study for the heuristics introduced in

Chapter 5. We performed extensive experimental analysis of the matheuristic on PCRCP

and LCRCP. In the sections to follow, we provide the results of our experimental study and

describe the effect of various parameters used in the matheuristic on LCRCP and PCRCP.

6.1 Problem Instances

We run the experiments on the DIMACS and BOSHLIB benchmark instances for the clique

problem. There are 80 problems in the DIMACS instances and 36 problems in the BOSHLIB

instances. The DIMACS and BOSHLIB instances used for the maximum weight clique

problem are called DIMACS-W and BOSHLIB-W instances. The weight aj of a node i is

equal to (j mod 200) + 1. This process of converting DIMACS and BOSHLIB instances

into DIMACS-W and BOSHLIB-W instances is described in [27] and [5]. We also assign

the same weights to the nodes as described above. The CRCP has the nodes partitioned

into clusters. We randomly divide nodes of each instance into 25 clusters. The weight of

cluster wi is i. Nodes are partitioned in clusters uniformly randomly. We call the instances

thus formed as DIMACS-C and BOSHLIB-C benchmark instances.

6.2 PCRCP

In this section, we provide the computational results of the proposed matheuristic on

PCRCP. For uniformity, we use the same piecewise linear function for all the 25 clusters

55

Page 70: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 56

x0 0.2 0.4 0.6 0.8 1

0.1

0.4

0.6

0.8

1

f1(x)

Figure 6.1: f(x)

in the graph. Figure 6.1 shows the function we used in our experiments. This is the same

function which is used to solve the satellite image acquisition scheduling problem in Chapter

2.

In the following parts of this section, we explain the data processing required to run the

experiments and explain the experiments which we carried out for PCRCP. We analyze the

effect of various matheuristic parameters on its performance.

6.2.1 Data Processing

The objective function for PCRCP is∑m

i=1wiyifi

(∑j∈Ri

ajxj

). Since aj is any positive

number for each node j,(∑

j∈Riajxj

)may be greater than 1 for any cluster i. But the

function f(x) shown in the Figure 6.1 takes an input 0 ≤ x ≤ 1 and provides the output

0 ≤ f(x) ≤ 1. In order to be consistent with the definition of f(x), we need to make sure

that 0 ≤∑

j∈Riajxj ≤ 1 for each cluster i. This can be achieved by redefining the weights

of the nodes. This procedure is described below.

Let Qi be the maximum weight clique in the cluster Ri. Let w(Qi) =∑

j∈Qiaj be the

weight of Qi. Since Qi is the maximum weight clique in Ri, the weight of any clique Q in

Ri is at most the weight of Qi, i.e., w(Q) ≤ w(Qi). We can define a new weight a′j for each

node j where a′j =aj

w(Qi), j ∈ Ri. By assigning a′j to be the weight of each node, we can

ensure that the weight of any clique inside a cluster is at most 1 and the function f(x) will

Page 71: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 57

remain valid for each cluster. We use this weight function W ′ = {a′j : j ∈ {1, 2, . . . , n}} in

our computations.

6.2.2 Parameters

There are six parameters stated in Chapter 5 that influence the performance of the

matheuristic. They are the following:

1. The initial search space, S◦, which is the search space in the first iteration of the

matheuristic.

2. The schema used to split the node set to form S1, S2, S3 and S4.

3. The search space expansion strategy used to select the nodes to be added to the search

space at the end of each iteration.

4. The time for which each sub-iteration runs.

5. The value of k used in the k-swap constraint in each sub-iteration.

6. The solution strategy used to find a solution in each sub-iteration.

There may be several values used for each of the above mentioned parameters. The

detailed analysis of the influence of each of them on the performance of the matheuristic is

described in Section 6.2.5. The values of these parameters used for the experimentation

are as follows:

1. The initial search space is obtained by running tabu search described in Section 5.2.

Thus the initial search space is itself is a clique. This nodes of the clique form S◦.

2. The schema used to form is S1, S2, S3 and S4 is 40%, 30%, 20%, 10%. After the jth

iteration, Sj is expanded to Sj+1 by adding a specific number of nodes from S′j =

S \ Sj−1. The number of nodes to be added to Sj is 40%, 30%, 20% or 10% of S′j

respectively for j = 0, 1, 2, 3. The actual nodes to be added to Sj are selected using a

search space expansion strategy described next.

3. In order to expand the search space Sj to Sj+1 we add a constant number I(j) of nodes

from S′j . This number I(j) is obtained from the schema used for the matheuristic. We

select I(j) number of nodes from S′j with the maximum number of adjacent nodes in

Sj .

Page 72: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 58

4. The amount of time for which the k-swap neighborhood search operation runs in each

sub-iteration i of the iteration j is at most 1 minute, 2 minutes, 3 minutes and 4

minutes respectively for j = 1, 2, 3, 4.

5. Let |Qinitj,i | be the size of the clique which is the initial solution for the ith sub-

iteration of the jth iteration. The value of k used in this sub-iteration is k = |Qinitj,i |if 1 ≤ j ≤ 3. If j ≥ 4 and n ≥ 2000, we use k = |Qinitj,i |

2 , otherwise k = |Qinitj,i |.

6. The solution strategy we use to solve the problem in each sub-iteration is the IP Based

Neighborhood Search which is described in Algorithm 5.3.2.

6.2.3 Matheuristic vs CPLEX vs CPLEX with Warm Start

To evaluate the performance of our matheuristic, we run the following three experiments on

each problem instance:

• Proposed matheuristic with the specific set of parameters described in Section 6.2.2.

• CPLEX for a specific amount of time.

• CPLEX with an initial solution provided- a warm start. The initial solution is gener-

ated by running the tabu search heuristic for LCRCP.

S◦ for the matheuristic and initial solution for CPLEX with warm start are obtained

by running tabu search for LCRCP for 2 minutes. The purpose of running this algorithm

is to find an initial clique which may not be a good solution for PCRCP but it serves the

purpose of finding an initial solution easily and quickly. To run tabu search for PCRCP is

a more involved process due to the presence of piecewise linearity in the objective function.

We thus run the tabu search for LCRCP only.

Each iteration in the matheuristic is terminated if there is no improvement observed in

teo consecutive sub-iterations. With this kind of termination criteria, predicting the running

time of our matheuristic is difficult. Thus for a fair comparison of the matheuristic with

CPLEX and CPLEX with warm start, we adopt the following strategy: Suppose Th seconds

is the running time of the matheuristic for a problem instance. CPLEX and CPLEX with

warm start are run for time Tc where Tc is the smallest multiple of 200 greater than Th.

Th and Tc for CPLEX with warm start include the 2 minutes provided for the tabu search

algorithm to find S◦ and the initial solution respectively.

Page 73: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 59

Tables 6.1 and 6.2 show the results of our experiments on the DIMACS instances. Table

6.3 show the results for BOSHLIB instances. The objective function values with a star

sign, (∗), indicate that this value is the optimal solution. %Dev shown in the tables give

percentage deviation of the solution found from the best solution out of the 3 experiments

done. The best solution found from the 3 experiments is indicated in bold. If all the 3

experiments give the same value then we show the instance name in bold instead of the best

found objective function value.

The following observations can be made from the data shown in Tables 6.1 and 6.2:

1. Out of the 80 DIMACS instances, optimal solution is found by all the 3 solution

approaches in 45 instances.

2. The matheuristic and CPLEX with warm start find optimal solutions whenever CPLEX

finds the oprimal solution. However CPLEX and CPLEX with warm start take shorter

time to find the optimal solution than the matheuristic.

3. Out of the 35 instances where the optimal solutions were not found, the matheuristic

finds the best solution for 28 instances. CPLEX could find the best solution for only

3 out of those 35 instances and CPLEX with warm start could find the best solution

for 9 out of 35 instances.

4. All the three approaches cannot find any improvement from the initial solution for

the instance c4000.5. This instance is particularly difficult for CPLEX also as the

solution found by it after running for 1200 sec is 0.934635 where as the initial solution

is 6.78465.

5. Instances c2000.5, c2000.9, c4000.5, DSJC1000 5, p hat700 1, p 1000 1, p 1000

2, p 1500 1, p 1500 2 and p 1500 3 are particularly difficult for CPLEX.

The matheuristic out performs CPLEX and CPLEX with warm start in all of these

10 instances.

The following observations can be made from the data shown in Table 6.3 for the

BOSHLIB-C instances:

1. These instances are not really difficult for CPLEX to handle. CPLEX finds a good

solution relatively quickly and spends a lot of time looking for an improving solution

or proving optimality.

Page 74: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 60

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

brock200 1(*) 18.5305 49.965 0 166.175 49.965 0 12.173 49.965 0 130.386brock200 2(*) 27.3186 49.2447 0 133.338 49.2447 0 9.46 49.2447 0 130.144brock200 3(*) 12.5868 45.1914 0 146.459 45.1914 0 11.21 45.1914 0 131.022brock200 4(*) 19.4755 46.0943 0 161.055 46.0943 0 12.905 46.0943 0 133.031brock400 1 12.2458 32.2354 5.9 498.522 34.2656 0 601.418 32.2354 5.9 601.108brock400 2 10.5681 43.1143 0 531.307 33.9588 0.21 601.132 43.1143 0 600.862brock400 3 16.2928 32.5401 6.5 1457.6 32.7821 5.8 1602.13 34.8162 0 1601.83brock400 4 23.3431 35.8561 0.17 504.602 35.2312 1.91 601.969 35.9207 0 601.429brock800 1 11.0152 27.6747 0 1484.44 13.0691 52.7 1600.4 14.4256 47.8 1600.47brock800 2 8.82533 32.9948 0 1651.16 23.1546 29.8 1803.13 23.9642 27.3 1800.96brock800 3 9.89342 33.7951 0 1950.1 20.8081 38.4 2001.1 28.9585 14.3 2000.34brock800 4 10.7188 30.1953 8.31 1830.13 21.5015 34.71 2000.8 32.935 0 2001.09c125.9(*) 50.36 101.256 0 129.752 101.256 0 0.96 101.256 0 121.008c250.9(*) 22.9915 64.958 0 293.054 64.958 0 68.746 64.958 0 227.86c500.9 15.5422 43.8742 0 2340.28 43.5926 0.6 2402.45 43.5926 0.6 2402.34c1000.9 11.3059 35.7891 0 3647.52 31.1403 12.98 3800.85 29.5468 17.44 3801.32c2000.5 6.73897 24.1121 0 1897.62 1.32113 84.53 1201.56 6.73897 21.11 2001.87c2000.9 9.15961 26.7718 0 4138.78 1.09362 95.9 4201.55 9.15961 65.7 4201.4c4000.5 6.78465 6.78465 0 1048.92 0.934635 86.2 1208.28 6.78465 0 1207.99c-fat200-1(*) 29.4494 54.5547 0 128.763 54.5547 0 9.672 54.5547 0 130.062c-fat200-2(*) 47.9866 74.2057 0 141.228 74.2057 0 11.138 74.2057 0 131.809c-fat200-5(*) 96.0775 121.537 0 156.8 121.537 0 20.452 121.537 0 137.503c-fat500-1(*) 53.8777 60.2016 0 251.52 60.2016 0 185.251 60.2016 0 353.955c-fat500-2 49.399 57.5179 12.7 424.286 65.9457 0 600.844 65.9457 0 600.749c-fat500-5(*) 91.5895 110.104 0 1257.85 110.104 0 323.172 110.104 0 683.476c-fat500-10 129.334 154.955(*) 0 1255.87 154.037 0.005 1400.47 154.955 0 1400.49DSJC500 5(*) 25 25 0 123.616 25 0 0.609 25 0 120.78DSJC1000 5 9.72987 27.7375 0 1427.58 14.3046 48.4 1602.37 14.3046 48.4 1601.31gen200 p0.9 44(*) 21.3155 77.7848 0 145.113 77.7848 0 3.323 77.7848 0 123.619gen200 p0.9 55(*) 28.5909 70.1052 0 160.993 70.1052 0 6.521 70.1052 0 126.88gen400 p0.9 55(*) 18.468 48.8474 0 933.83 48.8474 0 161.387 48.8474 0 343.718gen400 p0.9 65(*) 16.8436 50.7407 0 739.424 50.7407 0 801.777 50.7407 0 587.766gen400 p0.9 75 18.6491 54.6816 0.4 843.566 54.9421 0 1000.93 54.9421(*) 0 657.064hamming6-2(*) 147.678 176.015 0 123.984 176.015 0 0.584 176.015 0 120.564hamming6-4(*) 74.5289 74.5289 0 121.777 74.5289 0 0.346 74.5289 0 120.362hamming8-2(*) 46.5447 96.5505 0 212.3 96.5505 0 18.258 96.5505 0 146.427hamming8-4(*) 9.99757 29.6623 0 152.791 29.6623 0 5.736 29.6623 0 124.863hamming10-2 39.9797 74.2739 0 3514.67 74.2518 0.02 3601.36 74.2739 0 3601.97hamming10-4(*) 9.88794 28.1743 0 1712 28.1743 0 810.469 28.1743 0 1126.63

Table 6.1: Comparison between the results obtained from the Matheuristic, CPLEX andCPLEX with warm start on DIMACS-C (part 1) instances for PCRCP

Page 75: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 61

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

johnson8-2-4(*) 45.7047 72.2857 0 121.271 72.2857 0 0.067 72.2857 0 120.075johnson8-4-4(*) 68.4847 106.577 0 121.714 106.577 0 0.162 106.577 0 120.14johnson16-2-4(*) 14.6424 48.6447 0 122.567 48.6447 0 0.216 48.6447 0 120.327johnson32-2-4(*) 7.42566 28.5853 0 128.807 28.5853 0 1.202 28.5853 0 121.186keller4(*) 11.8821 41.0444 0 128.704 41.0444 0 2.023 41.0444 0 121.934keller5(*) 8.96356 29.869 0 943.708 29.869 0 317.483 29.869 0 388.144keller6 7.45575 21.6037 16.52 3061.75 20.5047 20.77 3201.36 25.8814 0 3202.13MANN a9(*) 129.726 155.115 0 121 155.115 0 0.276 155.115 0 120.293MANN a27(*) 30.8745 122.635 0 248.416 122.635 0 400.813 122.635 0 401.324MANN a45(*) 31.1682 109.606 0 344.07 109.606 0 27.565 109.606 0 149.875MANN a81(*) 20.8871 99.003 0 1197.61 99.003 0 345.142 99.003 0 442.36p hat300-1(*) 14.667 30.2473 0 171.975 30.2473 0 59.125 30.2473 0 181.964p hat300-2(*) 15.6758 45.5165 0 156.532 45.5165 0 45.708 45.5165 0 162.837p hat300-3(*) 14.613 48.2589 0 273.173 48.2589 0 208.791 48.2589 0 357.33p hat500-1 7.47962 27.1797(*) 0 936.037 27.1797 0 1002.19 26.8645 0.011 1002.623p hat500-2 13.88 33.545 3.9 1071.75 34.6162 0.8 1202.85 34.9132 0 1201.48p hat500-3 14.4085 40.6353 0 1972.36 39.6366 2.4 2002.34 40.6012 0.08 2002.61p hat700-1 10.4205 31.4819 0 494.426 15.7102 50.09 602.11 10.4205 66.9 603.1p hat700-2 14.2259 43.3032 0 1260.22 30.6519 29.2 1400.19 38.1086 11.9 1400.98p hat700-3 11.54 37.7665 0 1417.38 37.7665 0 1601.42 31.9616 15.3 1600.89p hat1000-1 7.26649 29.478 0 606.751 0 100 801.295 7.26649 75.3 801.26p hat1000-2 9.47483 29.4934 0 1180.71 20.1376 31.72 1201.46 9.47483 67.87 1200.8p hat1000-3 13.8414 41.3254 0 1482.27 31.2627 24.34 1600.75 35.6055 13.84 1600.45p hat1500-1 7.02217 34.4957 0 1698.93 1.31817 96 1801.58 7.02217 97.6 1800.82p hat1500-2 6.74525 31.9917 0 1923.95 0 100 2001.8 6.74525 78.9 2001.7p hat1500-3 8.78781 31.9676 0 1567.01 16.6203 48 1601.02 8.78781 72.5 1600.92san200 0.7 1(*) 19.3237 58.7861 0 135.067 58.7861 0 4.665 58.7861 0 124.899san200 0.7 2(*) 17.5232 55.5884 0 126.58 55.5884 0 2.2 55.5884 0 122.464san200 0.9 1(*) 19.7233 97.6669 0 152.757 97.6669 0 3.619 97.6669 0 123.526san200 0.9 2(*) 32.8741 70.3931 0 158.438 70.3931 0 6.053 70.3931 0 125.335san200 0.9 3(*) 29.7633 71.6516 0 157.703 71.6516 0 6.599 71.6516 0 128.175san400 0.5 1(*) 8.00833 36.5352 0 137.409 36.5352 0 4.945 36.5352 0 124.961san400 0.7 1(*) 10.6735 49.799 0 176.251 49.799 0 27.737 49.799 0 142.933san400 0.7 2(*) 9.69709 44.8258 0 190.338 44.8258 0 37.535 44.8258 0 173.868san400 0.7 3(*) 12.9291 35.2767 0 272.24 35.2767 0 81.062 35.2767 0 189.265san400 0.9 1(*) 25.7275 57.2505 0 1633.08 57.2505 0 469.123 57.2505 0 709.47san1000(*) 5.16619 25 0 604.54 25 0 151.509 25 0 221.43san200 0.7(*) 22.9415 39.5269 0 165.877 39.5269 0 17.457 39.5269 0 134.523san200 0.9(*) 27.7786 78.5818 0 139.122 78.5818 0 5.085 78.5818 0 124.805san400 0.5(*) 8.69523 32.1581 0 1367.25 32.1581 0 1401.42 32.1581 0 1237.71san400 0.7(*) 13.1149 36.2116 0 1372.42 36.2116 0 1401.83 36.2116 0 1401.94

Table 6.2: Comparison between the results obtained from the Matheuristic, CPLEX andCPLEX with warm start on DIMACS-C (part 2) instances for PCRCP

Page 76: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 62

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

frb30-15-1(*) 12.0958 38.165 0 271.972 38.165 0 51.979 38.165 0 168.267frb30-15-2(*) 10.7266 32.8217 0 512.413 32.8217 0 223.168 32.8217 0 316.568frb30-15-3(*) 11.7561 31.4017 0 433.138 31.4017 0 138.497 31.4017 0 250.48frb30-15-4(*) 11.1221 40.2794 0 313.462 40.2794 0 50.747 40.2794 0 175.006frb30-15-5(*) 11.0707 33.2394 0 529.793 33.2394 0 156.531 33.2394 0 301.861frb35-17-1(*) 10.1578 31.9705 0 905.918 31.9705 0 454.099 31.9705 0 426.905frb35-17-2(*) 10.157 30.9113 0 1024.15 30.9113 0 626.548 30.9113 0 513.217frb35-17-3(*) 10.2133 32.7478 0 779.043 32.7466 0 201.99 32.7478 0 392.557frb35-17-4(*) 10.3156 31.7549 0 996.207 31.7549 0 263.304 31.7549 0 461.455frb35-17-5(*) 10.0044 32.2773 0 750.483 32.2773 0 403.7 32.2773 0 436.308frb40-19-1 8.81491 30.5919 0.004 1044.68 30.5933 0 1202.2 30.5933(*) 0 1041.935frb40-19-2(*) 8.61666 30.1138 0 1736.19 30.1138 0 761.523 30.1138 0 1415.71frb40-19-3 9.51663 30.0388 0.8 1953.2 30.2533 0.09 2002.76 30.2835(*) 0 1638.55frb40-19-4(*) 10.0757 31.3071 0 2251.65 31.3071 0 1467.54 31.3071 0 1189.82frb40-19-5(*) 10.0496 31.3409 0 2438.93 31.3409 0 853.126 31.3409 0 1523.95frb45-21-1 8.72118 30.5718 0 2031.81 30.1283 1.4 2203.7 30.5718(*) 0 1699.61frb45-21-2 9.3084 28.5236 5.8 1654.6 30.299(*) 0 1649.02 30.0589 0.7 1802.77frb45-21-3 9.2595 30.5863 0 1789.04 30.0278 1.8 1801.86 30.5413 0.14 1802.16frb45-21-4 9.73643 26.4837 5.6 1168.44 28.0609 0.04 1202.29 28.0738 0 1201.9frb45-21-5 8.77586 28.7935 6.42 1794.01 30.3862 1.25 1802.17 30.7712 0 1803.1frb50-23-1 8.81163 27.525 13.1 3083.11 31.5031 0.5 3202.96 31.6766 0 3203frb50-23-2 8.1075 30.9687 2.4 3626.83 31.6351 0.33 3803.52 31.7416 0 3802.8frb50-23-3 9.81136 30.3442 0 3200.63 30.3442 0 3403.67 30.2756 0.22 3404.23frb50-23-4 9.09615 28.8549 0 2886.35 28.2707 2 3003.17 28.8201 0.12 3002.56frb50-23-5 8.78647 32.2148 0 2616.97 31.8685 1.07 2801.87 32.2148 0 2802.14frb53-24-1 8.25555 29.248 0 2184.47 26.473 9.48 2203.05 28.6161 2.16 2202.21frb53-24-2 7.97694 29.2525 0.1 4732.9 29.2823(*) 0 4231 29.2823(*) 0 3838.34frb53-24-3 8.06347 28.8638 4.8 2964.3 30.3256 0 3001.57 30.2979 0.09 3003.01frb53-24-4 8.30235 28.7014 1.24 2161.32 28.1978 2.98 2600.49 29.0642 0 2601.62frb53-24-5 7.50652 29.569 0 2325.22 29.087 1.6 2403.06 29.4845 0.28 2402.45frb59-26-1 8.74337 30.0471 9.86 1435.04 30.1292 9.61 1602.22 33.3359 0 1601.35frb59-26-2 8.84263 25.8007 12.6 2638.97 29.5401 0 2801.91 29.3268 0.7 2803.89frb59-26-3 8.17621 27.2867 0 2776.18 26.5066 2.85 2801.21 27.2743 0.04 2800.85frb59-26-4 7.98127 26.6255 8.9 2754.14 26.8744 8.1 2804.4 29.2539 0 2803.26frb59-26-5 7.9227 28.3131 2.2 3530.07 28.9697 0 3602.56 27.4294 5.3 3601.32frb100-40 6.0835 22.3026 0 4713.96 20.9635 6.004 4800.9 18.1596 18.57 4799.98

Table 6.3: Comparison between the results obtained from the Matheuristic, CPLEX andCPLEX with warm start on BOSHLIB instances for PCRCP

Page 77: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 63

2. Out of the 36 instances, CPLEX finds an optimal solution for 15 instances. CPLEX

with warm start finds the optimal solution in 17 instances and matheuristic finds the

optimal solution in 13 instances.

3. Except for the instances frb45-21-2 and frb53-24-2, the matheuristic finds the opti-

mal solution whenever CPLEX finds a solution optimal. But the time taken by the

matheuristic is greater than that taken by CPLEX.

4. For instances frb40-19-3 and frb45-21-1 only CPLEX with warm start is able to find

the optimal solution.

5. Out of the 36 instances, there are 13 instances where solution with the same value is

found by the matheuristic, CPLEX and CPLEX with warm start. Out of the remaining

23 instances, the matheuristic finds the best solution in 9 instances, CPLEX finds the

best solution in 7 instances and CPLEX with warm start finds the best solution in 12

instances.

The results on BOSHLIB-C instances that seem easier are not surprising since the meta-

heuristics in general are aimed towards large scale problem instances and those that are

particularly difficult to solve.

6.2.4 Comparison to Neighborhood Search

In this section we present the comparison between the matheuristic and the neighborhood

search procedure explained in Section 5.4. Tables 6.4 and 6.5 show the results on the

DIMACS-C instances and Table 6.6 shows the results on the BOSHLIB-C instances.

The observations we can make from the comparison between the matheuristic and neigh-

borhood search on the DIMACS-C instances is as follows:

1. Out of the 80 instances, optimal solutions are found for 47 and 46 instances by the

matheuristic and neighborhood search respectively.

2. There are 61 instances where the matheuristic and neighborhood search find solutions

with the same objective function value.

3. Out of the 19 instances where the matheuristic and neighborhood search give solutions

with different objective function value, matheuristic provides a better solution for 13

instances and neighborhood search for 6 instances.

Page 78: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 64

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

brock200 1(*) 18.5305 49.965 166.175 49.965 154.116brock200 2(*) 27.3186 49.2447 133.338 49.2447 133.836brock200 3(*) 12.5868 45.1914 146.459 45.1914 145.661brock200 4(*) 19.4755 46.0943 161.055 46.0943 145.536brock400 1 12.2458 32.2354 498.522 32.2354 486.252brock400 2 10.5681 43.1143 531.307 43.1143 473.878brock400 3 16.2928 32.5401 1457.6 34.8162 1437.57brock400 4 23.3431 35.8561 504.602 35.8561 479.934brock800 1 11.0152 27.6747 1484.44 27.6747 1362.59brock800 2 8.82533 32.9948 1651.16 32.9948 1147.31brock800 3 9.89342 33.7951 1950.1 33.7951 1454.87brock800 4 10.7188 30.1953 1830.13 32.935 1094.54c125.9(*) 50.36 101.256(*) 129.752 101.256(**) 124.74c250.9(*) 22.9915 64.958(*) 293.054 64.958(**) 245.298c500.9 15.5422 43.8742 2340.28 43.8742 1161.99c1000.9 11.3059 35.7891 3647.52 35.4997 1388.39c2000.5 6.73897 24.1121 1897.62 6.73897 666.62c2000.9 9.15961 26.7718 4138.78 9.96019 907.148c4000.5 6.78465 6.78465 1048.92 6.78465 678.571c-fat200-1(*) 29.4494 54.5547 128.763 54.5547 129.671c-fat200-2(*) 47.9866 74.2057 141.228 74.2057 143.227c-fat200-5(*) 96.0775 121.537 156.8 121.537 159.359c-fat500-1(*) 53.8777 60.2016 251.52 60.2016 192.431c-fat500-2 49.399 57.5179 424.286 65.9457 1324.71c-fat500-5 91.5895 110.104(*) 1257.85 91.5895 424.269c-fat500-10(*) 129.334 154.955 1255.87 154.955 1337.81DSJC500 5(*) 25 25 123.616 25 122.619DSJC1000 5 9.72987 27.7375 1427.58 27.6692 1530.28gen200 p0.9 44(*) 21.3155 77.7848 145.113 77.7848 134.291gen200 p0.9 55(*) 28.5909 70.1052 160.993 70.1052 140.029gen400 p0.9 55(*) 18.468 48.8474 933.83 48.8474 484.898gen400 p0.9 65 16.8436 50.7407 739.424 50.7407 573.446gen400 p0.9 75 18.6491 54.6816 843.566 54.9421 1519.74hamming6-2(*) 147.678 176.015 123.984 176.015 121.637hamming6-4(*) 74.5289 74.5289 121.777 74.5289 120.654hamming8-2(*) 46.5447 96.5505 212.3 96.5505 190.06hamming8-4(*) 9.99757 29.6623 152.791 29.6623 132.572hamminh10-2 39.9797 74.2739 3514.67 74.2739 1875.49hamming10-4 9.88794 28.1743 1712 26.3943 1007.26

Table 6.4: Comparison between the Matheuristic and k-swap neighborhood search onDIMACS-C (part 1) instances for PCRCP

Page 79: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 65

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

johnson8-2-4(*) 45.7047 72.2857 121.271 72.2857 120.674johnson8-4-4(*) 68.4847 106.577 121.714 106.577 121.486johnson16-2-4(*) 14.6424 48.6447 122.567 48.6447 121.861johnson32-2-4(*) 7.42566 28.5853 128.807 28.5853 127.784keller4(*) 11.8821 41.0444 128.704 41.0444 127.387keller5(*) 8.96356 29.869 943.708 29.869 1140.07keller6 7.45575 21.6037 3061.75 21.3383 3266.49MANN a9(*) 129.726 155.115 121 155.115 121.729MANN a27(*) 30.8745 122.635 248.416 122.635 233.12MANN a45(*) 31.1682 109.606 344.07 109.606 235.302MANN a81(*) 20.8871 99.003 1197.61 99.003 1275.37p hat300-1(*) 14.667 30.2473 171.975 30.2473 164.195p hat300-2(*) 15.6758 45.5165 156.532 45.5165 172.493p hat300-3(*) 14.613 48.2589 273.173 48.2589 385.974p hat500-1(*) 7.47962 27.1797 936.037 27.1797 439.947p hat500-2 13.88 33.545 1071.75 34.9132 529.487p hat500-3 14.4085 40.6353 1972.36 40.6353 1191.29p hat700-1 10.4205 31.4819 494.426 31.4819 621.005p hat700-2 14.2259 43.3032 1260.22 43.3032 1174.25p hat700-3 11.54 37.7665 1417.38 35.8006 1627.15p hat1000-1 7.26649 29.478 606.751 29.478 820.409p hat1000-2 9.47483 29.4934 1180.71 28.9211 2592.03p hat1000-3 13.8414 41.3254 1482.27 41.7933 1382.58p hat 1500-1 7.02217 34.4957 1698.93 22.3953 1220.98p hat1500-2 6.74525 31.9917 1923.95 29.628 2353.03p hat1500-3 8.78781 31.9676 1567.01 26.3357 1866.45san200 0.7 1(*) 19.3237 58.7861 135.067 58.7861 132.993san200 0.7 2(*) 17.5232 55.5884 126.58 55.5884 126.987san200 0.9 1(*) 19.7233 97.6669 152.757 97.6669 140.311san200 0.9 2(*) 32.8741 70.3931 158.438 70.3931 141.152san200 0.9 3(*) 29.7633 71.6516 157.703 71.6516 140.467san400 0.5 1(*) 8.00833 36.5352 137.409 36.5352 138.781san400 0.7 1(*) 10.6735 49.799 176.251 49.799 180.715san400 0.7 2(*) 9.69709 44.8258 190.338 44.8258 188.39san400 0.7 3(*) 12.9291 35.2767 272.24 35.2767 233.756san400 0.9 1(*) 25.7275 57.2505 1633.08 57.2505 1754.39san1000(*) 5.16619 25 604.54 25 522.832san200 0.7(*) 22.9415 39.5269 165.877 39.5269 148.952san200 0.9(*) 27.7786 78.5818 139.122 78.5818 133.695san400 0.5 8.69523 32.1581 1367.25 32.1581 456.796san400 0.7 13.1149 36.2116 1372.42 33.5782 1372.98

Table 6.5: Comparison between the results obtained from the Matheuristic and k-swapneighborhood search on DIMACS-C (part2) instances for PCRCP

Page 80: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 66

4. The difference in the solution value between the solutions found by the matheuristic

and neighborhood search is not very large in the 6 instances where neighborhood search

gives a better solution than the matheuristic. Except for the instance p hat1000− 3,

when ever neighborhood search perfroms better than the matheuristic, CPLEX with

warm start performs better than matheuristic.

5. Except for the instance p hat1000-3, whenever the matheuristic performs better than

CPLEX and CPLEX with warm start, it performs better than neighborhood search

as well.

6. There are instances like c2000.5, c2000.9, p hat1500-1 and p hat1500-3 where the

matheuristic gives a significantly better solution than the neighborhood search.

The observations we can make from the comparison between the Matheuristic and neigh-

borhood search on the BOSHLIB-C instances are as follows:

1. Out of the 36 instances, optimal solutions are found for 12 and 11 instances by the

matheuristic and neighborhood search respectively.

2. There are 13 instances where the matheuristic and neighborhood search find solutions

with the same objective function value.

3. Out of the 23 instances where the matheuristic and neighborhood search give solutions

with different objective function value, matheuristic provides a better solution for 13

instances and neighborhood search for 10 instances.

4. Except for the instance frb59-26-3, whenever neighborhood search performs better

than the matheuristic, CPLEX and CPLEX with warm start perform better than the

matheuristic.

5. Except for the instance frb59-26-3, whenever the matheuristic performs better than

CPLEX and CPLEX with warm start, it also performs better than neighborhood

search.

6. There are instances like frb53-24-1 and frb100-40 where the matheuristic gives a

significantly better solution than the neighborhood search.

Page 81: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 67

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

frb30-15-1(*) 12.0958 38.165 271.972 38.165 279.077frb30-15-2(*) 10.7266 32.8217 512.413 32.8217 411.545frb30-15-3(*) 11.7561 31.4017 433.138 31.4017 449.636frb30-15-4(*) 11.1221 40.2794 313.462 40.2794 275.971frb30-15-5(*) 11.0707 33.2394 529.793 33.2394 439.504frb35-17-1(*) 10.1578 31.9705 905.918 31.9705 661.121frb35-17-2 10.157 30.9113(*) 1024.15 30.7331 542.059frb35-17-3(*) 10.2133 32.7478 779.043 32.7478 1006.14frb35-17-4(*) 10.3156 31.7549 996.207 31.7549 1265.23frb35-17-5(*) 10.0044 32.2773 750.483 32.2773 1131.11frb40-19-1 8.81491 30.5919 1044.68 30.5919 998.566frb40-19-2(*) 8.61666 30.1138 1736.19 30.1138 1810.76frb40-19-3 9.51663 30.0388 1953.2 30.2835 1045.04frb40-19-4(*) 10.0757 31.3071 2251.65 31.3071 1352.06frb40-19-5 10.0496 31.3409 2438.93 31.3409 988.99frb45-21-1 8.72118 30.5718 2031.81 30.312 1087.88frb45-21-2 9.3084 28.5236 1654.6 29.1025 1258.85frb45-21-3 9.2595 30.5863 1789.04 30.3184 1578.46frb45-21-4 9.73643 26.4837 1168.44 26.6591 1622.96frb45-21-5 8.77586 28.7935 1794.01 30.7712 1222.99frb50-23-1 8.81163 27.525 3083.11 30.6542 2046.67frb50-23-2 8.1075 30.9687 3626.83 31.3523 1630.53frb50-23-3 9.81136 30.3442 3200.63 27.9397 2353.03frb50-23-4 9.09615 28.8549 2886.35 28.3006 2113.25frb50-23-5 8.78647 32.2148 2616.97 31.9332 1142.61frb53-24-1 8.25555 29.248 2184.47 25.5455 2528.91frb53-24-2 7.97694 29.2525 4732.9 28.3437 1868.27frb53-24-3 8.06347 28.8638 2964.3 30.1525 1867.93frb53-24-4 8.30235 28.7014 2161.32 28.6651 1869.41frb53-24-5 7.50652 29.569 2325.22 29.3069 2529.21frb59-26-1 8.74337 30.0471 1435.04 31.8492 2107.15frb59-26-2 8.84263 25.8007 2638.97 25.954 2082.03frb59-26-3 8.17621 27.2867 2776.18 28.5069 2942.39frb59-26-4 7.98127 26.6255 2754.14 26.0167 2351.86frb59-26-5 7.9227 28.3131 3530.07 26.1014 2541.62frb100-40 6.0835 22.3026 4713.96 6.0835 665.271

Table 6.6: Comparison between the results obtained from the Matheuristic and k-swapneighborhood search on BOSHLIB-C instances for PCRCP

Page 82: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 68

6.2.5 Effect of Parameters

In this section, we will discuss the effects of various parameters used in the matheuristic.

In the Section 6.2.3, we discussed that the DIMACS-C instances c2000.5, c2000.9, c4000.5,

DSJC1000 5, p hat700 1, p 1000 1, p 1000 2, p 1500 1, p 1500 2 and p 1500 3

that are particularly difficult for CPLEX and the matheuristic could handle them efficiently.

We consider our experimentation on these 10 instances to test for the effects of various

parameters on the performance of the matheuristic. We consider each of the 6 factors

mentioned in Section 6.2.2 one by one.

Table 6.7 shows the comparison between the matheuristic, CPLEX and CPLEX with

warm start for the 10 instances we consider for our experimentation.

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

c2000.5 6.73897 24.1121 0 1897.62 1.32113 84.53 1201.56 6.73897 21.11 2001.87c2000.9 9.15961 26.7718 0 4138.78 1.09362 95.9 4201.55 9.15961 65.7 4201.4c4000.5 6.78465 6.78465 0 1048.92 0.934635 86.2 1208.28 6.78465 0 1207.99DSJC1000 5 9.72987 27.7375 0 1427.58 14.3046 48.4 1602.37 14.3046 48.4 1601.31p hat700-1 10.4205 31.4819 0 494.426 15.7102 50.09 602.11 10.4205 66.9 603.1p hat1000-1 7.26649 29.478 0 606.751 0 100 801.295 7.26649 75.3 801.26p hat1000-2 9.47483 29.4934 0 1180.71 20.1376 31.72 1201.46 9.47483 67.87 1200.8p hat1500-1 7.02217 34.4957 0 1698.93 1.31817 96 1801.58 7.02217 97.6 1800.82p hat1500-2 6.74525 31.9917 0 1923.95 0 100 2001.8 6.74525 78.9 2001.7p hat1500-3 8.78781 31.9676 0 1567.01 16.6203 48 1601.02 8.78781 72.5 1600.92

Table 6.7: Comparisons of the experimental results of our Matheuristic, CPLEX andCPLEX with warm start on difficult instances for PCRCP

Effect of initial search space:

In the Table 6.8, we show the effect of various strategies to select the initial search space

S◦. In the matheuristic, we originally used the clique obtained by running tabu search on

the problem instance as S◦. We describe two other ways of selecting the initial search space

and discuss their influence on the matheuristic.

Since the nodes of the graph are partitioned into several clusters, we can find a maximum

weight clique in each cluster. Let Qwi be the maximum weight clique in the cluster Ri. Then

S1 = ∪mi=1Qwi . We find the maximum weight clique Qwi in each cluster Ri by running CPLEX

m times, once for each cluster. It may happen that CPLEX may take a long time to find

the maximum weight clique in some clusters. We thus give a time limit of 1 minute to

CPLEX per cluster to find the maximum weight clique. In all of the 10 instances used for

testing, CPLEX finds the maximum weight clique in all clusters in a very short time, in as

Page 83: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 69

little time as 1 minute for all clusters. The results of the matheuristic with the initial search

space thus found are shown in the main column under the name MWC in Clusters.

Another strategy we used to test our matheuristic is to select 10% of all the nodes in

the graph which have the maximum weight. Under this strategy, if a node u ∈ S◦ and a

node v ∈ S \ S◦, then au ≥ av. This way we will exactly have n10 number of nodes in S1.

The results for the initial search thus found are shown under the name 0.1n heaviest nodes.

In Table 6.8, the column Init. Soln. corresponds to CRC found in the initial search

space S◦.

Tabu Search MWC in Clusters 0.1n heaviest nodes

Instance Init. Soln. Obj. CPU Init. Soln. Obj. CPU Init. Soln. Obj. CPU

c2000.5 6.73897 24.1121 1897.62 25.4282 26.7279 1234.6 6.90229 13.2425 1722.32c2000.9 9.15961 26.7718 4138.78 28.0692 28.8982 1143.51 6.541 26.7483 2717.95c4000.5 6.78465 6.78465 1048.92 26.3333 26.3333 1046.66 7.03362 7.03362 3188.94DSJC1000 5 9.72987 27.7375 1427.58 25.3238 26.8388 668.202 13.4618 25.6511 687.288p hat700-1 10.4205 31.4819 494.426 29.824 35.6564 1276.98 11.0669 31.4819 378.611p hat1000-1 7.26649 29.478 606.751 26.4236 27.0337 431.823 11.6218 22.4757 592.911p hat1000-2 9.47483 29.4934 1180.71 29.5807 31.4462 1095.58 16.456 30.8805 1204.96p hat 1500-1 7.02217 34.4957 1698.93 26.4077 34.4957 600.149 16.9242 34.0954 699.771p hat1500-2 6.74525 31.9917 1923.95 32.3337 32.3337 927.76 20.5918 33.3037 1149.08p hat1500-3 8.78781 31.9676 1567.01 33.2114 34.1806 1470.58 15.5757 29.4247 1204.37

Table 6.8: The effects of the initial search space on the performance of the matheuristic.

Out of 10 instances, the matheuristic with initial search space from MWC in clusters

gives the best solution for 7 of them. For the instance c4000.5, the matheuristic does not

improve the solution found from the initial search space in all the three strategies. The

initial solution found by the matheuristic using the second strategy has a much greater

value than the solution found by the other two strategies for the instance c4000.5. The

matheuristic with initial search space from tabu search provides the best solution out of the

three strategies for 3 instances and the final strategy provides the best solution for only one

instance. The value of the initial solution found in the initial search space MWC in clusters

has a greater value than that found in other two initial search spaces.

Effect of schema:

The next parameter that influences the performance of the matheuristic is the schema

used to expand the search space in each iteration. As explained in Section 6.2.2, the schema

used originally in the matheuristic is 40%, 30%, 20%, 10%. These percentages refer to the

portions of S\Sj added to the search space Sj at the jth iteration to form Sj+1. Let us name

this schema Schema1. For the large graphs with a large number of nodes, 40% of the nodes

Page 84: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 70

may also be a large number and it may be difficult for the matheuristic to find an improving

solution in its second iteration. Such a case is observed in the instance c4000.5 where the

matheuristic was not able to find a solution better than that found by tabu search. In such

a case, it is reasonable to reduce the size of S1. We use two schemas named Schema2 and

Schema3, where Schema2 is 30%, 30%, 20%, 20% and Schema3 is 25%, 25%, 25%, 25%. The

results for all the three schemas is shown in the Table 6.9.

Schema1 Schema2 Schema3

Instance Obj. CPU Obj. CPU Obj. CPU

c2000.5 24.1121 1897.62 10.2751 1330.99 22.404 1168.25c2000.9 26.7718 4138.78 25.5667 3441.36 21.7287 2891.72c4000.5 6.78465 1048.92 25.0714 1289.78 16.8519 1158.99DSJC1000 5 27.7375 1427.58 25.8762 1493.95 27.7375 1466.6p hat700-1 31.4819 494.426 35.6564 479.942 31.4819 399.316p hat1000-1 29.478 606.751 29.478 580.901 22.4757 519.527p hat1000-2 29.4934 1180.71 31.7736 1719.7 30.9727 1837.96p hat1500-1 34.4957 1698.93 24.8556 970.782 33.5261 1539.29p hat1500-2 31.9917 1923.95 33.4784 1535.2 33.5676 1477.78p hat1500-3 31.9676 1567.01 29.5222 1728.72 32.0561 1636.03

Table 6.9: The effects of the various schema used in the matheuristic for PCRCP. Schema1is 40%, 30%, 20%, 10%, Schema2 is 30%, 30%, 20%, 20% and Schema3 is 25%, 25%, 25%,25%

Out of 10 instances, the Schema1, Schema2 and Schema3 provide the best solution for

5, 4 and 3 instances respectively. In the original settings, the matheuristic could not find an

improvement in c4000.5. But by adopting Schema2 and Schema3, the matheuristic could

improve the initial solution found in the first iteration of the matheuristic to a much greater

value.

Effect of search space expansion strategy:

In the matheuristic, Sj is expanded into Sj+1 by adding a specific number of nodes I(j)

from S′j = S \Sj to Sj . This number I(j) of nodes to be added is determined by the schema

which is used in the matheuristic. We select I(j) nodes from S′j which have the maximum

number of nodes in Sj that are adjacent to them. This is the strategy used in the original

setting of the matheuristic. We name this Strategy1. As another strategy, we can select the

top I(j) heavy nodes from S′j to expand Sj after the jth iteration is completed. We call

this strategy Strategy2. The experimental results for both the strategies are shown in Table

6.10.

It can be observed that Strategy1 and Strategy2 give the best solutions for 8 and 5 out

Page 85: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 71

Strategy1 Strategy2

Instance Init. Soln. Obj. CPU Obj. CPU

c2000.5 6.73897 24.1121 1897.62 24.1121 2328.5c2000.9 9.15961 26.7718 4138.78 24.5269 2473.26c4000.5 6.78465 6.78465 1048.92 6.78465 1051.61DSJC1000 5 9.72987 27.7375 1427.58 27.3142 1003.21p hat700-1 10.4205 31.4819 494.426 31.4819 504.348p hat1000-1 7.26649 29.478 606.751 29.478 641.706p hat1000-2 9.47483 29.4934 1180.71 31.3068 1393.86p hat 1500-1 7.02217 34.4957 1698.93 33.5261 1206.46p hat1500-2 6.74525 31.9917 1923.95 26.135 1511.36p hat1500-3 8.78781 31.9676 1567.01 28.7132 2652.36

Table 6.10: The effects of the search space expansion strategies used in the matheuristic.Strategy1 is the original. Strategy2 is adding the nodes with heaviest weight.

of the 10 instances respectively.

Effect of time per sub-iteration:

In each sub-iteration of the matheuristic, we invoke the subroutine IPSBasedNeighbor-

hoodSearch on the current search space for a specific amount of time. For each sub-iteration

of the jth iteration, let this amount of time be Tj . In the original seeting of the heuistic,

the value of Tj is 1 minute, 2 minutes, 3 minutes and 4 minutes for j = 1, 2, 3, 4 respec-

tively, i.e., (1, 2, 3, 4). As the time per sub-iteration increases, there is a chance of finding

a better solution in each sub-iteration of the matheuristic. We test the performance of the

matheuristic for 4 other time settings. In each of these settings, the maximum runtime for

each sub-iteration in any of the four iterations of the matheuristic has the same value T . We

run the experiments for T = 1 minute, 2 minutes and 3 minutes, i.e., (1, 1, 1, 1), (2, 2, 2, 2)

and (3, 3, 3, 3). Table 6.11 shows the results of these experiments.

Original T=1min T=2min T=3min

Instance Obj. CPU(s) Obj. CPU(s) Obj. CPU(s) Obj. CPU(s)

c2000.5 24.1121 1897.62 18.9226 889.575 22.387 1277.13 22.404 1778.58c2000.9 26.7718 4138.78 17.021 1461.99 25.0569 3452.67 26.7774 4655.9c4000.5 6.78465 1048.92 6.78465 595.982 6.78465 835.193 23.6945 1788.34DSJC1000 5 27.7375 1427.58 19.2823 612.443 27.7375 1252.94 27.7375 1274.99p hat700-1 31.4819 494.426 31.4819 430 31.4819 429.745 31.4819 429.36p hat1000-1 29.478 606.751 29.478 548.793 29.478 580.793 29.478 545.75p hat1000-2 29.4934 1180.71 29.4934 575.079 29.4934 754.077 29.4934 934.49p hat 1500-1 34.4957 1698.93 24.8556 842.503 33.5261 1383.9 34.4957 1905.16p hat1500-2 31.9917 1923.95 25.448 776.904 31.5747 1439.71 34.5358 2285.65p hat1500-3 31.9676 1567.01 31.4559 903.692 31.4762 1305.49 32.0934 2013.29

Table 6.11: Effects of the times per sub-iteration of neighborhood search used in thematheuristic.

Page 86: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 72

It can be observed that the total time taken by the matheuristic increases as the time

per sub-iteration increases. Except for the instance c2000.5, the matheuristic finds a better

solution as the time per sub-iteration increases.

Effect of value of “k”:

Each sub-iteration of the matheuristic returns a clique which serves as an initial solution

to the next sub-iteration or to the next iteration. In the original setting of the matheuristic,

the value of k used in IPSBasedNeighborhoodSearch depends on the size of the initial solution

provided to the sub-iteration. The original setting of k is explained in Section 6.2.2. We

try four other variations of the values of k used in the matheuristic. Let Qcurrent be the

clique at any particular stage of the matheuristic and |Qcurrent| be its size. We test the

matheuristic for k = |Qcurrent| and k = |Qcurrent|2 . We also test with two constant values of

k, i.e. k = 10 and k = 100. The results for these experiments are shown in Table 6.12.

Original k=|Qcurrent| k= |Qcurrent|2 k=10 k=100

Instance Obj. CPU Obj. CPU Obj. CPU Obj. CPU Obj. CPU

c2000.5 24.1121 1897.62 19.1557 1202.4 11.0171 2043.21 10.9131 1152.92 6.73897 974.625c2000.9 26.7718 4138.78 24.3043 3330.65 25.5595 3328.98 26.4813 5412.85 13.2131 1567.88c4000.5 6.78465 1048.92 6.78465 941.109 6.78465 940.846 6.78465 988.517 6.78465 988.401DSJC1000 5 27.7375 1427.58 27.7375 1427.58 14.2848 465.597 28.2513 1484.65 16.8424 1026.25p hat700-1 31.4819 494.426 31.4819 430.722 35.6564 1275.95 35.6564 503.351 35.6564 1197.47p hat1000-1 29.478 606.751 29.478 545.392 14.0915 441.815 27.0337 803.521 26.0867 1388.01p hat1000-2 29.4934 1180.71 29.4934 936.1 29.4934 859.579 29.4934 528.98 28.6542 1386.51p hat 1500-1 34.4957 1698.93 34.4957 1610.69 22.3953 664.461 24.8556 1151.92 23.3756 1028.82p hat1500-2 31.9917 1923.95 31.9917 1923.95 32.4508 1629.15 33.1936 1066.98 20.5181 1329.48p hat1500-3 31.9676 1567.01 31.9676 1567.01 28.7725 2473.09 27.9228 993.462 28.5297 1145.18

Table 6.12: Thy effects of the value of k used in the neighborhood search iterations used inthe matheuristic for PCRCP.

It can be seen that using the original setting in the matheuristic gave a better solution

for 7 out of 10 instances.

Effect of Solution Strategy in each sub-iteration:

In the matheuristic, we solve the problem in each sub-iteration by running IPSBased-

NeighborhoodSearch. Instead of using this strategy, we could use CPLEX to solve the prob-

lem in each sub-iteration. The results of the comparison between these two strategies is

shown in Table 6.13.

It can be seen that by using IPS based neighborhood search, we get a better solution in

9 out of 10 instances whereas by using CPLEX in each sub-iteration a better solution is

found only in 2 instances. In all the instances where IPS based neighborhood search finds a

solution better than that found by CPLEX, the matheuristic with IPS based neighborhood

Page 87: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 73

IPS based neighborhood search CPLEX

Instance Init. Soln. Obj. CPU Obj. CPU

c2000.5 6.73897 24.1121 1897.62 6.73897 730.521c2000.9 9.15961 26.7718 4138.78 11.0034 1033.18c4000.5 6.78465 6.78465 1048.92 6.78465 739.462DSJC1000 5 9.72987 27.7375 1427.58 18.0239 784.603p hat700-1 10.4205 31.4819 494.426 35.6564 1194.16p hat1000-1 7.26649 29.478 606.751 21.7523 966.932p hat1000-2 9.47483 29.4934 1180.71 27.9175 782.216p hat 1500-1 7.02217 34.4957 1698.93 21.0291 848.079p hat1500-2 6.74525 31.9917 1923.95 20.7995 844.365p hat1500-3 8.78781 31.9676 1567.01 25.526 1203.71

Table 6.13: The effects of the solution strategies used in each sub-iteration the matheuristicfor PCRCP.

search in each sub-iteration takes longer time than CPLEX in each sub-iteration.

6.3 LCRCP

In this section we discuss the computational results of the matheuristic for LCRCP. In

Section 5.1.1 we showed that the objective function of LCRCP can be reduced to∑n

j=1 a′jxj+∑m

i=1w′iyi where a′j = wiαiaj , j ∈ Ri and w′i = wiβi. For simplicity, we assume a′j = aj and

w′i = wi.

In the remaining parts of this section, we give the comparison for the matheuristic,

CPLEX, CPLEX with warm start and neighborhood search. We also provide the results for

analyzing the effects of various parameters influencing the performance of the matheuristic.

The arrangement of tables shown in this section is similar to those shown in Section 6.2.

6.3.1 Matheuristic vs CPLEX vs CPLEX with Warm Start

Tables 6.14 and 6.15 show the comparison between the matheuristic, CPLEX and CPLEX

warm start for LCRCP on DIMACS-Cinstances. Table 6.16 shows the comparison between

the matheuristic, CPLEX and CPLEX with warm start for LCRCP on BOSHLIB-C in-

stances. The parameters used in the matheuristic are similar to those used for PCRCP,

which are explained in Section 6.2.2.

The following observations can be made from the results shown in Tables 6.14 and 6.15:

1. Out of the 80 problem instances, all the three solution approaches (the matheuristic,

Page 88: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 74

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

brock200 1(*) 2326 3000 0 150.93 3000 0 12.807 3000 0 27.991brock200 2(*) 1504 1527 0 134.03 1527 0 14.914 1527 0 14.9brock200 3(*) 1860 2206 0 141.45 2206 0 9.942 2206 0 10.789brock200 4(*) 1921 2265 0 151.685 2265 0 30.296 2265 0 15.385brock400 1 2801 3494 1.93 502.177 3330 6.53 601.433 3563 0 482.333brock400 2 2997 3337 1.15 471.38 3195 5.36 601.682 3376 0 482.881brock400 3 3307 3443 0 477.398 3441 0.05 603.437 3379 1.85 482.2brock400 4 2822 3423 0 1379.66 3391 0.93 1403.75 3350 2.13 1281.69brock800 1 2779 3053 0 1016.28 2516 17.58 1200.87 2779 8.97 1080.77brock800 2 2422 3095 0 938.386 2825 8.72 1001 2621 15.31 880.865brock800 3 2267 3103 0 893.523 2679 13.66 1001.15 2830 8.79 880.624brock800 4 2558 2967 0 1002.44 2505 15.57 1200.79 2558 13.78 1081.56c125.9(*) 2556 2804 0 124.391 2804 0 0.596 2804 0 0.631c250.9(*) 4388 5342 0 182.239 5342 0 46.869 5342 0 70.766c500.9 5693 7268 0 1518.1 7092 2.42 1602.45 7092 2.42 1482.03c1000.9 7449 8933 0 1451.42 8450 5.4 1602.88 8889 0.49 1481.7c2000.5 2017 2207 0 1090.68 1129 48.84 1211 2158 2.22 1082.45c2000.9 9087 10260 0 1565.5 6495 34.56 1200.54 8203 17.35 1080.52c4000.5 2652 2652 0 1046.1 1651 37.74 1950.4 2652 0 1809.4c-fat200-1(*) 1407 1418 0 124.053 1418 0 4.352 1418 0 4.337c-fat200-2(*) 2569 2628 0 123.85 2628 0 3.854 2628 0 3.822c-fat200-5(*) 6143 6192 0 123.007 6192 0 1.419 6192 0 1.451c-fat500-1(*) 1398 1474 0 240.695 1474 0 74.912 1474 0 75.817c-fat500-2(*) 2851 2851 0 197.077 2851 0 69.25 2851 0 80.481c-fat500-5(*) 5995 6133 0 245.875 6133 0 91.995 6133 0 91.464c-fat500-10(*) 11764 11911 0 157.203 11911 0 32.198 11911 0 35.163DSJC500 5(*) 223 223 0 124.224 223 0 0.655 223 0 0.936DSJC1000 5 2046 2154 0 930.365 1871 13.13 1001.13 2046 5.01 880.99gen200 p0.9 44(*) 4128 5292 0 130.495 5292 0 2.043 5292 0 2.106gen200 p0.9 55(*) 4750 5682 0 134.459 5682 0 2.621 5682 0 2.621gen400 p0.9 55 5899 6957 0 701.098 6868 1.27 801.462 6957 0 681.21gen400 p0.9 65 6180 7216 0 1359.01 7216 0 1401.48 7207 0.12 1281.43gen400 p0.9 75(*) 5376 8320 0 1028.11 8320 0 569.851 8320 0 863.642hamming6-2(*) 969 1366 0 120.543 1366 0 0.062 1366 0 0.063hamming6-4(*) 224 224 0 120.886 224 0 0.25 224 0 0.25hamming8-2(*) 7822 11301 0 121.603 11301 0 0.125 11301 0 0.125hamming8-4(*) 1346 1691 0 126.565 1691 0 1.623 1691 0 1.778hamminh10-2(*) 36321 50837 0 137.375 50837 0 0.421 50837 0 0.437hamming10-4 3966 5396 0 1338.8 5250 2.7 1402.78 5280 2.14 1282.74

Table 6.14: Comparison of the experimental results of the Matheuristic, CPLEX andCPLEX with warm start on DIMACS-C (part1) instances for LCRCP

Page 89: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 75

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

johnson8-2-4(*) 140 152 0 120.451 152 0 0.062 152 0 0.047johnson8-4-4(*) 654 680 0 120.816 680 0 0.156 680 0 0.125johnson16-2-4(*) 552 699 0 121.088 699 0 0.109 699 0 0.109johnson32-2-4(*) 1905 2312 0 125.238 2312 0 0.406 2312 0 0.468keller4(*) 1276 1301 0 123.382 1301 0 1.108 1301 0 1.06keller5 2791 3358 4.81 549.483 3506 0.62 602.394 3528 0 482.642keller6 4921 7367 0 1210.09 7305 0.84 1602.01 6980 5.25 1481.79MANN a9(*) 556 598 0 120.527 598 0 0.061 598 0 0.061MANN a27(*) 12348 12608 0 212.345 12608 0 29.798 12608 0 63.066MANN a45(*) 34353 34590 0 364.089 34590 0 36.723 34590 0 37.057MANN a81 93231 111695 0 1395.41 107708 3.56 1403.52 107699 3.57 1283.29p hat300-1(*) 1018 1144 0 162.851 1144 0 47.785 1144 0 67.541p hat300-2(*) 2383 2687 0 173.85 2687 0 25.058 2687 0 31.194p hat300-3(*) 2962 3994 0 221.888 3994 0 83.046 3994 0 88.312p hat500-1 1141 1272 1.16 1337.34 1272 1.16 1409.98 1287 0 1290.14p hat500-2 2138 4219 0 586.725 4219 0 601.723 4216 0.07 481.933p hat500-3 3519 5675 0 1188.09 5607 1.19 1202.62 5675 0 1082.31p hat700-1 1537 1537 0 470.517 1381 10.14 601.01 1537 0 483.808p hat700-2 3090 5548 0 1102.53 5486 1.11 1201.37 5537 0.19 1081.63p hat700-3 3833 7875 0 1091.71 7722 1.94 1200.94 7862 0.165 1081.36p hat1000-1 1570 1570 0 617.521 1028 34.5 801.164 1570 0 681.023p hat1000-2 3227 5858 0 1218.23 4961 15.31 1401.72 4426 24.44 1280.95p hat1000-3 5397 8152 0 2349.76 7915 2.9 2401.05 7963 2.31 2281.17p hat1500-1 1370 1754 0 1016.91 881 49.77 1202.37 1370 21.89 1082.09p hat1500-2 3092 7381 0 1235.47 6218 15.75 1401.18 3092 58.1 1281.28p hat1500-3 5374 10238 0 1161.01 10160 0.76 1200.59 6774 33.83 1080.37san200 0.7 1(*) 2702 3650 0 123.272 3650 0 0.983 3650 0 0.983san200 0.7 2(*) 1995 2569 0 123.191 2569 0 0.905 2569 0 1.029san200 0.9 1(*) 4030 7138 0 123.841 7138 0 0.359 7138 0 0.375san200 0.9 2(*) 4522 6382 0 128.83 6382 0 1.669 6382 0 1.294san200 0.9 3(*) 4226 4990 0 136.241 4990 0 8.268 4990 0 9.828san400 0.5 1(*) 1561 1579 0 136.848 1579 0 7.582 1579 0 7.27san400 0.7 1(*) 2510 4204 0 181.434 4204 0 64.337 4204 0 26.037san400 0.7 2(*) 2976 3324 0 419.273 3324 0 139.251 3324 0 154.976san400 0.7 3(*) 2455 2971 0 279.198 2971 0 82.593 2971 0 84.492san400 0.9 1(*) 7845 10087 0 392.027 10087 0 18.673 10087 0 18.221san1000 1511 1833 0 1359.89 1833 0 1405.82 1833 0 1285.8san200 0.7(*) 2210 2500 0 146.884 2500 0 25.366 2500 0 27.967san200 0.9(*) 4729 5374 0 135.504 5374 0 11.028 5374 0 12.63san400 0.5 1609 1872 0 435.354 1803 3.68 601.876 1790 4.38 480.446san400 0.7 2623 3125 0 453.551 2754 11.87 602.036 2887 7.61 481.596

Table 6.15: Comparison between the results obtained from the Matheuristic, CPLEX andCPLEX with warm start on DIMACS-C (part 2) instances for LCRCP

Page 90: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 76

CPLEX and CPLEX with warm start) found optimal solutions in 45 instances.

2. Particularly for the instances c2000.5, c2000.9, c4000.5, p hat1000 1 and p hat1500 1,

CPLEX achieved solutions that deviate largely from those achieved by the matheuris-

tic.

3. Out of the 80 instances, the matheuristic, CPLEX and CPLEX with warm start

achieved the same solution value in 46 instances.

4. Out of the 34 instances where solutions with different objective function value are

found by the three strategies, the best solution is found by the matheuristic, CPLEX

and CPLEX with warm start in 29, 2 and 9 instances respectively.

The following observations can be made from the results shown in Table 6.16 for the

BOSHLIB-C instances:

1. Out of the 36 instances, the matheuristic and CPLEX find optimal solutions for 4

instances. CPLEX with warm start finds optimal solutions for 3 instances.

2. All the three solution approaches find solutions with the same values for 4 out of the

36 instances.

3. Out of the remaining 32 instances where the three solution approaches do not find

solutions with the same value, the matheuristic, CPLEX and CPLEX with warm start

find the best of the remaining solutions in 17, 4 and 11 instances respectively.

6.3.2 Comparison to Neighborhood Search

In this section we present the comparison between the matheuristic and the neighborhood

search procedure explained in Section 5.4. Tables 6.17 and 6.18 show the comparison be-

tween the matheuristic and neighborhood search for LCRCP on DIMACS instances. Table

6.19 shows the same comparison for LCRCP on BOSHLIB instances.

The following observations can be drawn from the results shown in Tables 6.17 and 6.18

for the DIMACS-C instances:

1. Out of the 80 instances, The matheuristic finds the optimal solution for 45 instances

and neighborhood search finds the optimal solution for 46 of them.

Page 91: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 77

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

frb30-15-1(*) 2905 3248 0 787.038 3248 0 801.994 3206 1.29 682.38frb30-15-2 2707 3198 1.69 584.083 3201 1.59 602.165 3253 0 481.774frb30-15-3(*) 2787 3245 0 1446.47 3245 0 880.164 3245 0 812.643frb30-15-4(*) 2828 3297 0 1639.78 3297 0 1481.17 3297 0 1682.31frb30-15-5(*) 2801 3265 0 459.287 3265 0 172.392 3265 0 155.921frb35-17-1 3181 3811 2.87 909.22 3877 1.19 1003.08 3924 0 882.346frb35-17-2 3371 3921 0.33 950.569 3934 0 1003.45 3874 1.52 883.328frb35-17-3 3411 3942 0 1325.96 3882 1.52 1403.12 3940 0.05 1284.43frb35-17-4 3314 3903 0 2534.93 3828 1.92 2602.52 3856 1.2 2482.45frb35-17-5 3377 3830 1.49 934.366 3888 0 1002.71 3871 0.43 883.239frb40-19-1 3341 4176 0.07 1262.58 4177 0.04 1405.84 4179 0 1286.08frb40-19-2 3583 4263 0.58 1089.19 4221 1.56 1204.55 4288 0 1083.76frb40-19-3 3435 4309 0 1791.72 4262 1.09 1803.8 4257 1.2 1682frb40-19-4 3587 4279 0.3 1458.72 4279 0.3 1603.53 4292 0 1484.43frb40-19-5 3742 4255 0.79 1112.26 4265 0.55 1204.68 4289 0 1085.55frb45-21-1 4204 4930 0 1300.12 4819 2.25 1407.78 4783 2.98 1284.56frb45-21-2 4323 4932 0 1225.4 4928 0.08 1408.11 4876 1.13 1286.63frb45-21-3 4227 4795 3.63 1224.36 4976 0 1405.51 4916 1.2 1284.75frb45-21-4 4368 4789 1.37 1099.81 4822 0.7 1208.04 4856 0 1088.19frb45-21-5 3909 4887 0.24 1302.7 4860 0.79 1406.68 4899 0 1287.68frb50-23-1 4827 5672 0 1546.63 5538 2.36 1609.15 5633 0.68 1489.1frb50-23-2 4743 5554 0 1539.43 5474 1.44 1609.04 5480 1.33 1489.97frb50-23-3 4873 5654 0 1381.23 5440 3.78 1407.45 5507 2.59 1289.07frb50-23-4 4971 5590 0 1781.54 5560 0.53 1808.54 5478 2 1691.18frb50-23-5 4802 5451 0.9 1192.08 5501 0 1206.48 5477 0.43 1085.42frb53-24-1 5078 5699 0 1508.46 5561 2.42 1610.06 5563 2.38 1490.08frb53-24-2 4858 5775 0 1692.97 5702 2.16 1810.05 5617 2.73 1692.64frb53-24-3 5058 5671 0 1420.78 5555 2.04 1609.64 5618 0.93 1489.5frb53-24-4 5262 5728 0 1206.37 5611 2.04 1408.74 5611 2.04 1287.73frb53-24-5 4849 5652 0.05 1354.12 5604 0.9 1409.21 5655 0 1287.13frb59-26-1 6042 6563 0 1144.7 6384 2.72 1207.67 6427 2.07 1086.24frb59-26-2 5952 6455 2.09 2293.71 6436 2.38 2412.51 6593 0 2289.06frb59-26-3 5821 6520 0.13 1265.57 6482 0.71 1406.36 6529 0 1287.46frb59-26-4 5476 6442 0 1626.59 6402 0.62 1810.93 6383 0.91 1687frb59-26-5 5644 6663 0 1265.76 6414 3.73 1406.05 6363 4.5 1285.06frb100-40 9223 10355 0 1449.85 8489 18.02 1401.49 9223 10.93 1481.56

Table 6.16: Comparison of the results obtained from the Matheuristic, CPLEX and CPLEXwith warm start on BOSHLIB-C instances for LCRCP

Page 92: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 78

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

brock200 1(*) 2326 3000 150.93 3000 144.057brock200 2(*) 1504 1527 134.03 1527 130.746brock200 3(*) 1860 2206 141.45 2206 136.701brock200 4(*) 1921 2265 151.685 2265 135.714brock400 1 2801 3494 502.177 3494 472.714brock400 2 2997 3337 471.38 3439 479.333brock400 3 3307 3443 477.398 3443 458.484brock400 4 2822 3423 1379.66 3423 1388.37brock800 1 2779 3053 1016.28 3039 828.377brock800 2 2422 3095 938.386 3058 1255.13brock800 3 2267 3103 893.523 3103 911.181brock800 4 2558 2967 1002.44 2967 1067.62c125.9(*) 2556 2804 124.391 2804 121.878c250.9(*) 4388 5342 182.239 5342 225.196c500.9 5693 7268 1518.1 7268 1151.26c1000.9 7449 8933 1451.42 8833 1387.82c2000.5 2017 2207 1090.68 2017 666.523c2000.9 9087 10260 1565.5 9087 663.817c4000.5 2652 2652 1045.98 2652 676.38c-fat200-1(*) 1407 1418 124.053 1418 123.189c-fat200-2(*) 2569 2628 123.85 2628 122.755c-fat200-5(*) 6143 6192 123.007 6192 121.371c-fat500-1(*) 1398 1474 240.695 1474 239.185c-fat500-2(*) 2851 2851 197.077 2851 196.274c-fat500-5(*) 5995 6133 245.875 6133 244.1c-fat500-10(*) 11764 11911 157.203 11911 153.071DSJC500 5(*) 223 223 124.224 223 122.431DSJC1000 5 2046 2154 930.365 2154 1037gen200 p0.9 44(*) 4128 5292 130.495 5292 124.704gen200 p0.9 55(*) 4750 5682 134.459 5682 127.077gen400 p0.9 55 5899 6957 701.098 6957 755.287gen400 p0.9 65 6180 7216 1359.01 7216 1106.6gen400 p0.9 75(*) 5376 8320 1028.11 8320 722.536hamming6-2(*) 969 1366 120.543 1366 120.245hamming6-4(*) 224 224 120.886 224 120.527hamming8-2(*) 7822 11301 121.603 11301 120.713hamming8-4(*) 1346 1691 126.565 1691 123.527hamming10-2(*) 36321 50837 137.375 50837 173.718hamming10-4 3966 5396 1338.8 5354 1165.07

Table 6.17: Comparison between the results obtained by the Matheuristic and k-swap neigh-borhood search on DIMACS-C (part 1) instances for LCRCP

Page 93: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 79

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

johnson8-2-4(*) 140 152 120.451 152 120.22johnson8-4-4(*) 654 680 120.816 680 120.515johnson16-2-4(*) 552 699 121.088 699 120.576johnson32-2-4(*) 1905 2312 125.238 2312 121.432keller4(*) 1276 1301 123.382 1301 122.319keller5 2791 3358 549.483 3358 475.226keller6 4921 7367 1210.09 6641 1150.49MANN a9(*) 556 598 120.527 598 120.229MANN a27(*) 12348 12608 212.345 12608 189.774MANN a45(*) 34353 34590 364.089 34590 281.327MANN a81 93231 111695 1395.41 111723(**) 1533.05p hat300-1(*) 1018 1144 162.851 1144 162.071p hat300-2(*) 2383 2687 173.85 2687 169.676p hat300-3(*) 2962 3994 221.888 3994 210.881p hat500-1 1141 1272 1337.34 1248 1334.43p hat500-2 2138 4219 586.725 4219 661.215p hat500-3 3519 5675 1188.09 5675 961.553p hat700-1 1537 1537 470.517 1537 443.334p hat700-2 3090 5548 1102.53 5500 922.819p hat700-3 3833 7875 1091.71 7875 1013.64p hat1000-1 1570 1570 617.521 1570 517.188p hat1000-2 3227 5858 1218.23 5839 2020.26p hat1000-3 5397 8152 2349.76 8039 1623.37p hat1500-1 1370 1754 1016.91 1524 906.504p hat1500-2 3092 7381 1235.47 3848 1145.82p hat1500-3 5374 10238 1161.01 9953 1866.38san200 0.7 1(*) 2702 3650 123.272 3650 122.806san200 0.7 2(*) 1995 2569 123.191 2569 123.328san200 0.9 1(*) 4030 7138 123.841 7138 122.725san200 0.9 2(*) 4522 6382 128.83 6382 127.673san200 0.9 3(*) 4226 4990 136.241 4990 142.614san400 0.5 1(*) 1561 1579 136.848 1579 135.437san400 0.7 1(*) 2510 4204 181.434 4204 194.843san400 0.7 2(*) 2976 3324 419.273 3324 422.128san400 0.7 3(*) 2455 2971 279.198 2971 279.789san400 0.9 1(*) 7845 10087 392.027 10087 435.75san1000 1511 1833 1359.89 1833 1361.64san200 0.7(*) 2210 2500 146.884 2500 147.802san200 0.9(*) 4729 5374 135.504 5374 136.266san400 0.5 1609 1872 435.354 1872 444.196san400 0.7 2623 3125 453.551 3125 439.808

Table 6.18: Comparison between the results obtained from the Matheuristic and k-swapneighborhood search on DIMACS-C (part 2) instances for LCRCP

Page 94: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 80

2. Both the matheuristic and neighborhood search result in solutions with the same value

in 64 of the 80 instances.

3. Out of the remaining 16 instances where the matheuristic and neighborhood search

result in solutions with different values, the matheuristic produces better solutions in

13 of them.

4. For all the instances where the matheuristic performs better than CPLEX and CPLEX

with warm start, matheuristic performs better than neighborhood search.

From the results shown in Table 6.19, the following observations can be made for

BOSHLIB-C instances:

1. Out of the 36 instances, the matheuristic gives optimal solution to 3 instances and

neighborhood search gives optimal solution to 2 of them.

2. There are 3 instances where both the solution approaches give solutions with the same

value.

3. Out of the 33 instances where both the approaches achieved solutions with different

values, matheuristic produces better solution in 17 instances and neighborhood search

in 16 of them.

6.3.3 Effect of Parameters

In this section, we discuss the effect of various parameters on the performance of the

matheuristic on LCRCP. In Section 6.3.1, we observed that the instances c2000.5, c2000.9,

c4000.5, p hat1000 1 and p hat1500 1 are difficult for CPLEX. We run our experiments on

these 5 instances to study the effects of various parameters. We repeat the experiments

done in Section 6.2.5 for PCRCP to study the effects of parameters on the matheuristic for

LCRCP.

For the sake of easy comparison, we provide the details of the solution obtained from the

matheuristic, CPLEX and CPLEX with warm start on the five difficult instances in Table

6.20.

Effect of Initial Search Space:

In the Table 6.21, we give the results for the various initial search spaces on the perfor-

mance of the matheuristic.

Page 95: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 81

Matheuristic k-swap Neighborhood Search

Instance Init. Soln. Obj. CPU Obj. CPU

frb30-15-1 2905 3248(**) 787.038 3194 728.803frb30-15-2 2707 3198 584.083 3253 1474.9frb30-15-3(*) 2787 3245 1446.47 3245 1389.37frb30-15-4 2828 3297 1639.78 3277 1413.13frb30-15-5(*) 2801 3265 459.287 3265 456.543frb35-17-1 3181 3811 909.22 3811 1184.91frb35-17-2 3371 3921 950.569 3934 1148.68frb35-17-3 3411 3942 1325.96 3907 942.226frb35-17-4 3314 3903 2534.93 3869 1099.04frb35-17-5 3377 3830 934.366 3904 1392.96frb40-19-1 3341 4176 1262.58 4078 1146.95frb40-19-2 3583 4263 1089.19 4298 816.839frb40-19-3 3435 4309 1791.72 4316 2052.33frb40-19-4 3587 4279 1458.72 4344 1256.15frb40-19-5 3742 4255 1112.26 4266 1631.33frb45-21-1 4204 4930 1300.12 4815 1148.75frb45-21-2 4323 4932 1225.4 4935 1147.79frb45-21-3 4227 4795 1224.36 4918 2052.72frb45-21-4 4368 4789 1099.81 5111 1386.1frb45-21-5 3909 4887 1302.7 4862 1629.62frb50-23-1 4827 5672 1546.63 5580 2777.37frb50-23-2 4743 5554 1539.43 5518 1387.66frb50-23-3 4873 5654 1381.23 5461 1146.82frb50-23-4 4971 5590 1781.54 5487 1388.55frb50-23-5 4802 5451 1192.08 5530 2052.35frb53-24-1 5078 5699 1508.46 5558 1387.74frb53-24-2 4858 5775 1692.97 5778 2054.88frb53-24-3 5058 5671 1420.78 5711 2293.58frb53-24-4 5262 5728 1206.37 5877 1629.95frb53-24-5 4849 5652 1354.12 5707 1386.93frb59-26-1 6042 6563 1144.7 6398 2048.33frb59-26-2 5952 6455 2293.71 6511 903.605frb59-26-3 5821 6520 1265.57 6432 2049.43frb59-26-4 5476 6442 1626.59 6380 1625.62frb59-26-5 5644 6663 1265.76 6576 1384.89frb100-40 9223 10355 1449.85 9388 1147.58

Table 6.19: Comparison between the results obtained from the Matheuristic and k-swapneighborhood search on BOSHLIB instances for LCRCP

Page 96: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 82

Matheuristic CPLEX CPLEX with Warm Start

Instance Init. Soln. Obj. % Dev. CPU Obj. % Dev. CPU Obj. % Dev. CPU

c2000.5 2017 2207 0 1090.68 1129 48.84 1211 2158 2.22 1082.45c2000.9 9087 10260 0 1565.5 6495 34.56 1200.54 8203 17.35 1080.52c4000.5 2652 2652 0 1046.1 1651 37.74 1950.4 2652 0 1809.4p hat1000-1 1570 1570 0 617.521 1028 34.5 801.164 1570 0 681.023p hat 1500-1 1370 1754 0 1016.91 881 49.77 1202.37 1370 21.89 1082.09

Table 6.20: Comparison between the Matheuristic, CPLEX and CPLEX with warm startfor LCRCP on the five identified difficult instances

Tabu Search MWC in Clusters Top 10% nodes

Instance Init. Soln. Obj. CPU Init. Soln. Obj. CPU Init. Soln. Obj. CPU

C2000.5 2017 2207 1090.68 1897 1933 1225.17 1689 2293 1050.82C2000.9 9087 10260 1565.5 9376 9936 1392.81 6271 10130 1328.98C4000.5 2652 2652 1045.98 2139 2139 1134.1 1942 1942 1049.56p hat1000-1 1570 1570 617.521 1293 1416 497.23 1215 1558 503.993p hat1500-1 1370 1754 1016.91 1319 1506 901.424 1310 1541 896.499

Table 6.21: Matheuristic for LCRCP with different initial search spaces.

It can be seen that the matheuristic with any of the three strategies adopted to find

the initial search space produces results better than CPLEX. It can also be observed that

except for the instance c2000.5, the matheuristic with initial search space from tabu search

gives better results than the other two strategies.

Effect of schema:

Table 6.22 shows the effect of different schemas which can be used in the matheuristic.

Schema1 Schema2 Schema3

Instance Obj. CPU(s) Obj. CPU(s) Obj. CPU(s)

c2000.5 2207 1090.68 2244 1089 2335 1140.92c2000.9 10260 1565.5 10439 1508.22 10011 1207.35c4000.5 2652 1045.98 2652 1043.06 2652 1041.45p hat1000-1 1570 617.521 1570 586.478 1570 562.07p hat1500-1 1754 1016.91 1754 987.905 1754 903.327

Table 6.22: Matheuristic for LCRCP with three different schemas. Schema1 is 40%, 30%,20%, 10%, Schema2 is 30%, 30%, 20%, 20% and Schema3 is 25%, 25%, 25%, 25%.

It can be observed that the matheuristic provides solutions with the same value with any

of the three schemas for c4000.5, p hat1000-1 and p hat1500-1. Matheuristic with Schema2

and Schema3 give the best solution with c2000.5 and c2000.9 respectively.

Effect of search space expansion strategy:

Table 6.23 shows the results for various search space expansion strategies used in the

matheuristic for LCRCP.

Page 97: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 83

Strategy1 Strategy2

Instance Obj. CPU(s) Obj. CPU(s)

c2000.5 2207 1090.68 2017 1029.59c2000.9 10260 1565.5 9494 1145.14c4000.5 2652 1045.98 2652 1046.97p hat1000-1 1570 617.521 1570 656.504p hat1500-1 1754 1016.91 1706 1073.21

Table 6.23: Matheuristic for LCRCP with two different search space expansion strategies.

It can be observed that the matheuristic with Strategy1 produces solutions with better

value than with Strategy2.

Effect of time per iteration:

Table 6.24 shows the experimental results for different times per sub-iterations used in

the matheuristic for LCRCP.

Original T=1min T=2min T=3min

Instance Obj. CPU(s) Obj. CPU(s) Obj. CPU(s) Obj. CPU(s)

c2000.5 2207 1090.68 2017 674.598 2385 1152.21 2385 1489.16c2000.9 10260 1565.5 9494 784.717 10287 1266.41 10078 1506.33c4000.5 2652 1045.98 2652 705.259 2652 937.153 2652 1167.38p hat1000-1 1570 617.521 1570 572.076 1570 632.02 1570 608.498p hat1500-1 1754 1016.91 1754 656.466 1754 833.647 1754 1014.09

Table 6.24: Comparison between the performance of matheuristic with different times persub-iteration of neighborhood search.

It can be seen that as the time per sub-iteration increases, the total run time of the

matheuristic increases. But the value of the solution obtained by running the matheuristic

for a longer time need not be better than that produced by running it for a shorter time.

All the four strategies result in the same solution value with c4000.5, p hat1000-1 and

p hat1500-1. For the remaining two instances, the best solution is obtained by running each

sub-iteration for a maximum of 2 minutes.

Effect of value of “k”:

Table 6.25 shows the results for various values of k used in neighborhood search sub-

iterations of the matheuristic.

It can be seen that except for c2000.5, the original value of k used in the matheuristic

produces the best solution out of the five versions shown. It can also be seen that better

results are produced when the value of k used in each sub-iteration is a smaller value for

c2000.5.

Page 98: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 6. COMPUTATIONAL RESULTS 84

Original k=|Qcurrent| k= |Qcurrent|2 k=10 k=100

Instance Obj. CPU(s) Obj. CPU(s) Obj. CPU(s) Obj. CPU(s) Obj. CPU(s)

c2000.5 2207 1090.68 2207 1090.43 2230 1120.32 2230 1155.01 2017 1033.78c2000.9 10260 1565.5 10022 1144.02 10057 1266.12 9916 1187.57 10023 1385.3c4000.5 2652 1045.98 2652 1046.5 2652 1046.44 2652 1045.99 2652 1045.72p hat1000-1 1570 617.521 1570 616.658 1570 506.371 1570 636.175 1570 1023.37p hat1500-1 1754 1016.91 1754 1014.77 1706 688.58 1754 1001.95 1370 1026.29

Table 6.25: Comparison between the solutions obtained by using different values of k usedin the matheuristic for LCRCP.

Effect of solution strategy in each sub-iteration:

Table 6.26 shows the effect of the two solution strategies to solve LCRCP in each sub-

iteration.

IPS Based Neighborhood Search CPLEX

Instance Obj. CPU(s) Obj. CPU(s)

c2000.5 2207 1090.68 2017 694.077c2000.9 10260 1565.5 9087 571.768c4000.5 2652 1045.98 2652 587.37p hat1000-1 1570 617.521 1570 570.111p hat1500-1 1754 1016.91 1370 575.245

Table 6.26: Effects of the sub-iteration solution strategies used in the matheuristic forLCRCP.

It can be seen from the results that solving the problem using IPS based neighborhood

search gives a better solution that using CPLEX to solve the problem in each sub-iteration

of the matheuristic.

Page 99: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Chapter 7

Conclusions and Future Work

In this thesis, we study SIASP as a case study to the Canadian RADARSAT Constellation

Mission (RCM). We describe data generation and data pre-processing techniques which

improve the final solution. We use CPLEX to solve the problem instances that are randomly

generated from the statistics provided by MDA, Canada. We observe that the energy

restriction constraints are not tight in the solutions produced. Thus, these energy restriction

constraints can be relaxed to solve the problem instances. Under this relaxation, SIASP

can be modeled as PCRCP.

We introduce a new variation of the maximum clique problem called CRCP and provide

mathematical formulations for it. We study some theoretical results for CRCP and show

how it is different from MCP. We propose a branch and bound algorithm for CRCP, where

the branching technique uses an ordering of nodes in the clusters and we suggest several

pruning techniques. We introduce two variations of CRCP, namely LCRCP and PCRCP.

A tabu search algorithm is proposed for LCRCP, which can also be used to find solutions

for PCRCP. We then suggest a model based metaheuristic for CRCP which exploits the

power of commercial mixed integer programming solvers. The metaheuristic runs in four

iterations, where in each iteration a local search is performed in a sub graph to find an

improving solution. In each iteration, the sub graph is expanded such that the full graph is

considered in the final iteration. Local search in each iteration is done using CPLEX. We

run experiments for LCRCP and PCRCP on DIMACS and BOSHLIB benchmark instances

for MCP. We study the effects of various parameters in the heuristic on its performance and

present the computational results.

Though we analyze CRCP using the proposed metaheuristic, this idea of exploiting the

85

Page 100: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

CHAPTER 7. CONCLUSIONS AND FUTURE WORK 86

power of commercial MIP solvers can be used to solve other optimization problems too.

The main contributions of this thesis can be summarized the following:

1. Modeling the satellite image acquisition scheduling problem by a variation of a maxi-

mum weight clique problem.

2. Introduction of cluster restricted maximum weight clique problem

3. Design of a new model-based metaheuristic- matheuristic for solving clique problems.

4. Thorough experimental study.

5. Case-study of a practical problem in satellite operations with a variety of realistic

constraints.

Possible directions for a future research are as follows:

1. Large regions, whose image cannot be acquired by the satellite in a single pass, are split

in smaller regions called strips. Splitting these regions into smaller strips optimally

according to the satellite orbits can be studied further.

2. The k-distance constraint which is added to CPLEX in the heuristic makes CPLEX

search for an improving solution in a smaller search space. This is similar to the regular

local search done in a search space. Exploring the possibility of performing searches

like tabu search, simulated annealing, etc. using CPLEX can also be explored.

3. Further theoretical analysis can be done on CRCP.

4. Solution approaches like variable intensity neighborhood search [20] and kernel search

[1] can be investigated on PCRCP, as well as the similarities to our matheuristic.

5. The efficiency of the exact algorithm can be investigated and new exact algorithms

can be explored for CRCP.

Page 101: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

Bibliography

[1] E. Angelelli, R. Mansini, and M.G. Speranze. Kernel search: a new heuristic frame-work forportfolioselection. Computational Optimization and Applications, 51(1):345–361, 2012.

[2] L. Babel. A fast algorithm for the maximum weight clique problem. Computing,52(1):31–38, 1994.

[3] E. Balas and J. Xue. Weighted and unweighted maximum clique algorithms with upperbounds from fractional coloring. Algorithmica, 15(5):397–412, 1996.

[4] R. Battiti and M. Protasi. Reactive local search for the maximum clique problem.Algorithmica, 29(4):610–637, 2001.

[5] U. Benlic and J-K. Hao. Breakout local search for maximum clique problems. Com-puters & Operations Research, 40(1):192 – 206, 2013.

[6] E. Bensana, G. Verfaillie, J. C. Agnese, N. Bataille, and D. Blumstein. Exact andinexact methods for the daily management of an earth observation satellite. 1996.

[7] N. Bianchessi, J-F. Cordeau, J. Desrosiers, G. Laporte, and V. Raymond. A heuristicfor the multi-satellite, multi-orbit and multi-user management of earth observationsatellites. European Journal of Operational Research, 177(2):750 – 762, 2007.

[8] I.M. Bomze, M. Budinich, P.M. Pardalos, and M. Pelillo. The maximum clique problem.In Handbook of Combinatorial Optimization, pages 1–74. Kluwer Academic Publishers,1999.

[9] J.F. Cordeau and G. Laporte. Maximizing the value of an earth observation satelliteorbit. The Journal of the Operational Research Society, 56(8):pp. 962–968, 2005.

[10] Th.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MITPress, Cambridge, MA, USA, 1990.

[11] T. Fahle. Simple and fast: Improving a branch-and-bound algorithm for maximumclique. In Rolf Mhring and Rajeev Raman, editors, Algorithms ESA 2002, volume2461 of Lecture Notes in Computer Science, pages 485–498. Springer Berlin Heidelberg,2002.

87

Page 102: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

BIBLIOGRAPHY 88

[12] C. Friden, A. Hertz, and D. Werra. Stabulus: A technique for finding stable sets inlarge graphs with tabu search. Computing, 42(1):35–44, 1989.

[13] V. Gabrel, A. Moulet, C. Murat, and V.Th. Paschos. A new single model and derivedalgorithms for the satellite shot planning problem using graph theory concepts. Annalsof Operations Research, 69(0):115–134, 1997.

[14] M.R. Garey and D.S. Johnson. Computers and Intractability; A Guide to the Theoryof NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1990.

[15] F. Glover, M. Laguna, and R. Mart. Tabu search, 1997.

[16] M. Lemaitre, G. Verfaillie, F. Jouhaud, J-M. Lachiver, and N. Bataille. Selecting andscheduling observations of agile satellites. Aerospace Science and Technology, 6(5):367– 381, 2002.

[17] J. Li, F. Yao, B. Bai, and R. He. A decomposition-based algorithm for imaging satel-lites scheduling problem. In International Conference on Information Engineering andComputer Science, 2009. ICIECS 2009., pages 1–6, Dec 2009.

[18] S. Mitrovic-Minic and A.P. Punnen. Very large-scale variable neighborhood searchfor the generalized assignment problem. Journal of Interdisciplinary Mathematics,11(5):653–670, 2008.

[19] S. Mitrovic-Minic and A.P. Punnen. Local search intensified: Very large-scale variableneighborhood search for the multi-resource generalized assignment problem. DiscreteOptimization, 6(4):370 – 377, 2009.

[20] S. Mitrovic-Minic and A.P. Punnen. Variable intensity local search. In VittorioManiezzo, Thomas Sttzle, and Stefan Vo, editors, Matheuristics, volume 10 of Annalsof Information Systems, pages 245–252. Springer US, 2010.

[21] G.L. Nemhauser and Jr. Trotter, L.E. Properties of vertex packing and independencesystem polyhedra. Mathematical Programming, 1974.

[22] P.R.J. Ostergard. A new algorithm for the maximum-weight clique problem. ElectronicNotes in Discrete Mathematics, 1999.

[23] P.R.J. Ostergard. A fast algorithm for the maximum clique problem. Discrete Ap-plied Mathematics, 120(13):197 – 207, 2002. Special Issue devoted to the 6th TwenteWorkshop on Graphs and Combinatorial Optimization.

[24] P.M. Pardalos and G.P. Rodgers. Computational aspects of a branch and bound algo-rithm for quadratic zero-one programming. Computing, 45(2):131–144, 1990.

[25] P. Prosser. Exact algorithms for maximum clique: A computational study. Algorithms,5(4):545–587, 2012.

Page 103: CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM …summit.sfu.ca/system/files/iritems1/14006/etd8327_KMalladi.pdf · CLUSTER RESTRICTED MAXIMUM WEIGHT CLIQUE PROBLEM AND LINKAGES

BIBLIOGRAPHY 89

[26] W. Pullan. Phased local search for the maximum clique problem. Journal of Combi-natorial Optimization, 12(3):303–323, 2006.

[27] W. Pullan. Approximating the maximum vertex/edge weighted clique using localsearch. Journal of Heuristics, 14(2):117–134, Apr 2008.

[28] W. Pullan and H.H. Hoos. Dynamic local search for the maximum clique problem.Journal of Artificial Intelligence Research, 25:159–185, 2006.

[29] P.S. Segundo, D. Rodrguez-Losada, and A. Jimnez. An exact bit-parallel algorithmfor the maximum clique problem. Computers & Operations Research, 38(2):571 – 581,2011.

[30] P. Tangpattanakul, N. Jozefowiez, and P. Lopez. Multi-objective optimization forselecting and scheduling observations by agile earth observing satellites. In CarlosA. Coello Coello, Vincenzo Cutello, Kalyanmoy Deb, Stephanie Forrest, GiuseppeNicosia, and Mario Pavone, editors, Parallel Problem Solving from Nature - PPSN XII,volume 7492 of Lecture Notes in Computer Science, pages 112–121. Springer BerlinHeidelberg, 2012.

[31] E. Tomita and T. Kameda. An efficient branch-and-bound algorithm for finding amaximum clique with computational experiments. Journal of Global Optimization,37(1):95–111, 2007.

[32] E. Tomita and T. Seki. An efficient branch-and-bound algorithm for finding a maximumclique. In Proceedings of the 4th International Conference on Discrete Mathematics andTheoretical Computer Science, DMTCS’03, pages 278–289, Berlin, Heidelberg, 2003.Springer-Verlag.

[33] E. Tomita, Y. Sutani, T. Higashi, S. Takahashi, and M. Wakatsuki. A simple and fasterbranch-and-bound algorithm for finding a maximum clique. In Md.Saidur Rahmanand Satoshi Fujita, editors, WALCOM: Algorithms and Computation, volume 5942 ofLecture Notes in Computer Science, pages 191–203. Springer Berlin Heidelberg, 2010.

[34] P. Wang, G. Reinelt, P. Gao, and Y. Tan. A model, a heuristic and a decision supportsystem to solve the scheduling problem of an earth observing satellite constellation.Computers & Industrial Engineering, 61(2):322 – 335, 2011.

[35] Q. Wu and J-K. Hao. An adaptive multistart tabu search approach to solve the maxi-mum clique problem. Journal of Combinatorial Optimization, 26(1):86–108, 2013.