Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
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.
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
iii
Partial Copyright Licence
iii
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
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
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
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
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
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
6.3.2 Comparison to Neighborhood Search . . . . . . . . . . . . . . . . . . . 76
6.3.3 Effect of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7 Conclusions and Future Work 85
Bibliography 87
x
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
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
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
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
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
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
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.
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)
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.
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
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
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
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.
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
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
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
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 .
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.
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
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.
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
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.
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
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.
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
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,
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
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
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.
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
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:
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.
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.
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.
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.
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:
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
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.
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
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)))
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
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
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
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
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
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
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
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
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
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].
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.
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.
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
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.
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:
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.
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.
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.
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
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
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 .
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.
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.
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
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
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
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.
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
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
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.
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
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
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
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
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.
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
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,
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
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
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.
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
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
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
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.
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
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.
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.
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.
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
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.
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
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.
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.