Generating Radio link frequency Assignment

1 downloads 0 Views 501KB Size Report
May 1, 1995 - Dr. A. L. Hipolito ..... Telecommunication has become the backbone of our economy and society .... released test problems, an outline of the users manual and the ...... ment of Industrial and Systems Engineering, 303 Weil Hall, ...
GRAPH Generating Radio link frequency Assignment Problems Heuristically Henk P. van Benthem May 1, 1995

Graduation committee: Prof. dr. F.A. Lootsma Dr. ir. C. Roos Dr. T. Terlaky Dr. A. L. Hipolito Drs. B. Jansen

Department of Statistics, Probability and Operations Research Faculty of Technical Mathematics and Informatics Delft University of Technology

i

The communication channel you can always trust, that won't clog, elapse or interfere, is called love; love demands no answer and love never fails.

ii

Abstract

iii

The Radio Link Frequency Assignment Problem (RLFAP) is an NP-complete combinatorial optimization problem, de ned as follows: nd an optimal assignment of frequencies to transmitting radio links so that various constraints are (maximal) satis ed and a minimal amount of electromagnetic spectrum is wasted. The constraints include di erent priorities of users, technical necessities and the conditions which place acceptable upper bounds upon the unwanted interference. The three ministries of defense of France, Great Britain and the Netherlands came up with a project at the end of 1993, to join the forces of di erent European mathematical institutes in applying various and new mathematical techniques to solve the RLFAP. The Operations Research department of TWI at the TU Delft joint this project in Januari 1994 and started investigating these Assignment Problems. The RLFAP test-case generator GRAPH (Generating Radio link frequency Assignment Problems Heuristically) is a computer program that seeks to obviate these problems by generating test problems patterned from eleven realistic test problems while giving a priori lower and upper bounds (and possible optimal solutions) to the generated test problems. The purpose of GRAPH is to be a helpful tool in developing, testing and possibly also comparing methods that look for an optimal solution of the RLFAP. The presented bounds and solution can be an important feature in evaluating the quality and e ectiveness of di erent mathematical approaches, that vary from exact to heuristical and combined algorithms.

iv

Acknowledgement

v

The direct motive to make GRAPH was the investigation of the RLFAP's in the CALMA project by the Operations Research department at the TU Delft, that started in Januari 1994. I want to take this opportunity to thank my supervisor Dr. Alex Hipolito, who supported and inspired me in the investigation of graph problems, the work and reporting for the CALMA project and working at the generator, that was rst proposed by him. I am grateful to Dr. ir. C. Roos, who gave me the opportunity to co-operate in this project and to meet many interesting mathematicians from all over the world at the workshop in Scheveningen and as guests at the department. I also thank the other project members, Dr. T. Terlaky and Drs. Benjamin Jansen, for their support and suggestions that improved this report. I wish to acknowledge Prof. dr. F.A. Lootsma, and all other people that work at this department, for all the friendly advice, practical support, warnings, suggestions and computer software. I thank my fellow students for their amicable discussions and companionship. A huge thank you goes to Joost Warners; indefatigable solving them, he forced me to keep aggravating the generators problems. To my friends and family I want to express my heartfelt gratitude; all their love, con dence and care carried me through my physically and mentally hard periods. The friendship and support of all above mentioned I will remember with the great years in which I enjoyed my study in Delft.

vi

Contents 1 Introduction

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

: : : : :

Introduction : : : : : : : : : : : : : : : : : : Graph formulation : : : : : : : : : : : : : : RLFAP formulation : : : : : : : : : : : : : : Complexity of the problem : : : : : : : : : : The RLFAP modeled as a generalized GCP 2.5.1 Objectives : : : : : : : : : : : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

: : : : : :

4.1 Options of GRAPH : : : : : : : : : : : : : : : : : : : : : : : 4.1.1 Assignment, Coloring or Maximal Clique Problem : : 4.1.2 The output les : : : : : : : : : : : : : : : : : : : : : 4.2 Making the edges : : : : : : : : : : : : : : : : : : : : : : : : 4.2.1 A special structure, the initial edges : : : : : : : : : : 4.2.2 Making Cliques : : : : : : : : : : : : : : : : : : : : : 4.3 Assigning the solution frequencies : : : : : : : : : : : : : : : 4.3.1 RLFAP's with known optimal number of frequencies 4.3.2 Construct Span Problem Algorithm : : : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

: : : : : : : : :

1.1 1.2 1.3 1.4 1.5

The Frequency Assignment Problem : The CALMA project : : : : : : : : : : The Problem Generator : : : : : : : : Organization of this paper : : : : : : : Notations, terminology and de nitions

: : : : :

: : : : :

2 modeling the RLFAP as a Graph problem 2.1 2.2 2.3 2.4 2.5

3 Problem description

3.1 Description of the CELAR problems 3.1.1 The frequencies : : : : : : : : 3.1.2 The vertices : : : : : : : : : : 3.1.3 The constraints : : : : : : : : 3.1.4 The optimization criteria : : : 3.2 Similarity with the CELAR problems

4 How GRAPH generates the problem

vii

: : : : : :

: : : : : :

: : : : : :

: : : : : :

1

2 2 3 4 5

7

7 8 8 10 11 12

13

13 13 14 15 15 16

19

20 21 22 23 23 24 25 25 25

viii

CONTENTS 4.3.3 Constructing problems with strict lower bounds. : : : : : : 4.3.4 Constructing problems with more admissible assignments : 4.3.5 Construction of span problems : : : : : : : : : : : : : : : : 4.3.6 Construction of problems without admissible assignments : 4.4 Adding and removing edges randomly : : : : : : : : : : : : : : : : 4.5 Calculating the constraints : : : : : : : : : : : : : : : : : : : : : : 4.6 Pseudo code : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.6.1 Generate Problem and Solution : : : : : : : : : : : : : : : 4.6.2 Make Equality Assignment : : : : : : : : : : : : : : : : : : 4.6.3 Make Ctr-File : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : :

: : : : : : : : : :

5 Tests and Experiences

5.1 Computational results with IPM-approach on GRAPH test problems 5.1.1 Results on two infeasible GRAPH test problems : : : : : : : 5.2 Released test problems : : : : : : : : : : : : : : : : : : : : : : : : : : 5.3 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

: : : : : : : : : : : : : :

6 Conclusions Bibliography A The le README.TUD, containing released test problems B GRAPH Users Manual

29 30 30 30 31 32 34 34 35 36

39

39 41 42 42

45 47 49 51

B.1 Working with GRAPH : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51

C Pascal code of the generating part of GRAPH

C.1 Make Domain (-15-) : : : : : : : : : : : : : : C.2 Make Cst le (-16-) : : : : : : : : : : : : : : : C.3 Make Var le (-17-) : : : : : : : : : : : : : : : C.4 Make Solution le (-18-) : : : : : : : : : : : : C.5 Problems with equality constraints (-19-) : : : C.6 Problems without equality constraints (-20-) : C.7 Calculate the constraints (-21-) : : : : : : : : C.8 Draw a maximum clique size randomly (-22-) C.9 Generate a problem (-23-) : : : : : : : : : : : C.10 Initialize a problem (-24-) : : : : : : : : : : : C.11 In the Program (-26-) : : : : : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

: : : : : : : : : : :

55

56 58 58 61 62 67 70 77 78 79 82

List of Tables 3.1 Survey of the CELAR frequency domains. : : : : : : : : : : : : : : : : : : 14 3.2 Survey of the problems in the CELAR set and GRAPH options. : : : : : : 17 4.1 Options for the user of GRAPH. : : : : : : : : : : : : : : : : : : : : : : : : 21 4.2 Survey of the special doubled domain. : : : : : : : : : : : : : : : : : : : : 24 5.1 5.2 5.3 5.4 5.5 5.6 5.7

Preprocessing results on the GRAPH test problems and found solutions Preprocessing results on CELAR01{03 : : : : : : : : : : : : : : : : : : : Computational results on CELAR01{05 : : : : : : : : : : : : : : : : : : : Two infeasible GRAPH problems : : : : : : : : : : : : : : : : : : : : : : Computational results on two infeasible GRAPH problems : : : : : : : : TU Eindhoven's Computational results on GRAPH test problems : : : : TU Eindhoven's Computational results on CELAR problems : : : : : : :

ix

: : : : : : :

40 40 41 41 44 44 44

x

LIST OF TABLES

Chapter 1 Introduction Telecommunication has become the backbone of our economy and society, whose needs are becoming larger than the technical means and possibilities. The problem that we have to deal with is the shortage of the electromagnetic spectrum while the number of transmitted messages increase every day. This limited spectrum is heavily occupied by an increasing amount of users with di erent priorities, like mobile radio telephone systems, communication between aircrafts and the ground, satellite navigation systems etcetera [3]. Transmitters, assigned to the same or to closely related frequencies, have the potential to interfere with one another. The interference becomes larger when transmitters are located closer to one another or transmit in each others direction. When interference rises above a certain level, communication becomes impossible. By giving higher priorities to the constraints and frequencies of important users of transmitters, these users should be able to communicate undisturbed. Several decades ago minimizing interference was simply done by assigning di erent transmitters to di erent noninterfering frequencies or to come as close to this as possible within the constraints [7]. Although the usable spectrum slowly grew with the improvement of technical possibilities and advanced equipment, this growth stays far behind on the exponentially growing demand placed upon the spectrum. With the growing complexity of nding feasible assignments of users, spectrum managers consider di erent approaches. The present problem is: nd an optimal assignment of frequencies to transmitting radio links so that various constraints are (maximal) satis ed and a minimal amount of electromagnetic spectrum is wasted. The constraints include di erent priorities of users, technical necessities and the conditions which place acceptable upper bounds upon the unwanted interference.

1

2

CHAPTER 1. INTRODUCTION

1.1 The Frequency Assignment Problem

The mathematical diculty is that frequency assignment belongs to the class of NPcomplete combinatorial optimization problems (see Chapter 2). NP-complete problems are generally supposed to require algorithms that, while becoming larger, are consuming an exponential growing amount of time for their exact solution. This means that when computation force and equipment is considered given, the possibility to nd an exact solution within an acceptable duration depends on the size of the Frequency Assignment Problem. In the past few decades the results of many investigators of the Frequency Assignment Problem were far from satisfactory and the size of the problems keeps increasing [1], [4]. On the other hand computers become more powerful and more, di erent approaches are being investigated. Some methods may reduce the size of the problem, others preprocess a feasible point or give an approximation with a very time-ecient algorithm. Those approaches however, cannot guarantee optimal solutions, and even if by some lucky coincidence an optimal assignment has been found, this is usually not recognized. Therefore time-ecient algorithms have to be combined with a procedure that generates a lower bound on the number of frequencies needed for a solution, so that the quality of the solution can be veri ed. In case of an insucient quality of the resulting assignment, overestimations of more than 100 percent are not rare [6], one can step over to another method, possibly using the former result as a warm start or a perhaps feasible starting point.

1.2 The CALMA project The Allied Radio Frequency Agency (ARFA) of the NATO has been involved in developing and applying Frequency Assignment techniques for a long time. Also analysing the results obtained by others in applying their own Frequency Assignment rules and techniques, the ARFA concludes that the main problem in this communication eld lies in the distribution of the frequency resources in the spectrum and the shortcomings of the method of assigning those frequencies [10]. Their experiences prompted the questions of whether it is possible to improve on current frequency assigning methods and:

 how would improvement be measured?  what is a good assignment?  how good are the current assignment techniques and how much are they better than random selection?

1.3. THE PROBLEM GENERATOR

3

In the past decade the investigation into the nature of the Frequency Assignment Problem and the possible application of new mathematical techniques has lead to a fuller understanding of the problem and several techniques have been discovered and new algorithms have been developed. Present improvements in computation force and the increasing memory of computers make it possible to consider new approaches like Interior Point Methods [8], [16]. Against this background the three ministries of defense of France, Great Britain and the Netherlands came up with the Radio Link Frequency Assignment Problem project under the CALMA framework at the end of 1993. CALMA stands for Combinatorial Algorithms for Military Applications and tries to join the forces of many di erent European mathematical institutes. Several universities in Europe that were awarded with this project started looking for an e ective way to optimize the Radio Link Frequency Assignment Problem (RLFAP). Now several groups of mathematicians in di erent countries are working on di erent approaches and made appointments to present their results and algorithms after certain periods of investigation.

1.3 The Problem Generator Because each method has its own exibility in certain applications, many di erent methods and algorithms should be developed, tested and combined and all the various qualities would have to be compared with each other. In order to come to a better insight in the problem and a clearer view on the action and e ectivity of algorithms, various di erent testing problems, preferably of di erent sizes and types, could be of very practical use. However, the availability of test problems, formulated in the desired structure, is very limited, and most problems also are proprietary. This brings us to the use of a generator of random problems. With a problem generator random problems of all sizes are available at any moment. But using random problems also brings several disadvantages. For instance, the resemblance of random problems with realistic problems is unknown or uncertain. Also with most generators it is unknown how the solution looks like if there even exists a solution. The RLFAP test generator GRAPH (Generating Radio link frequency Assignment Problems Heuristically) seeks to obviate these problems by generating test problems patterned from the realistic CELAR test set while giving a priori lower and upper bounds (and if required, optimal solutions) to the generated test problems. The name CELAR comes from the french instance "Centre d'Electronique de l'Armement" that has placed eleven problems, that stem from real instances, at disposal of the participants in the CALMA project. These eleven CELAR problems must give us an idea of the basic actual problems that are to be solved.

4

CHAPTER 1. INTRODUCTION

The purpose of the generator GRAPH is to be a helpful tool in developing, testing and comparing methods that look for an optimal solution of the Radio Link Frequency Assignment Problem (RLFAP). Therefore GRAPH is designed to generate:

 problems in sizes between 6 and 998 links,  RLFAP's with optional similarity to problems in the CELAR set,  certain bounds or optimal solutions for all problems. These problems are presented in four les, similar to the les of the CELAR problems that will be discussed in Chapter 3. GRAPH also generates two extra les with each problem in order to get a rmer grip on the problem. An extra le contains just the frequencies that may be necessary for an optimal assignment. The other extra le presents a solution and bounds for the generated RLFAP. This feature can be very important in evaluating the e ectiveness of di erent methods and can give a quality guarantee on the used algorithm. Furthermore this solution le contains the settings that can be used to reproduce the same Random RLFAP.

1.4 Organization of this paper This paper is organized as follows. Chapter 2 describes the formulation of the RLFAP, how this problem can be modeled as a generalized Graph Coloring Problem (GCP) and some properties of such graphs. This graph model and the formulated properties form the basis for the generation of the test problems. Chapter 3 presents the structure of the CELAR problems and an outline of the possibilities and necessities of the generator. Chapter 4 shows how GRAPH randomly generates the interference graph of problem, that will be referred to as the graph, with the RLFAP structure and the, possibly optimal, solution. In Chapter 5 the quality of several by GRAPH randomly generated graphs and their solutions will be discussed, and this paper is concluded with recommendations in Chapter 6. The appendices A, B and C provide the reader respectively with the description of 10 released test problems, an outline of the users manual and the source code.

1.5. NOTATIONS, TERMINOLOGY AND DEFINITIONS

1.5 Notations, terminology and de nitions

5

From now on, we shall view RLFAP in terms of the graph-theoretic representation described in Chapter 2. We shall use the following notations and terminology, while de nitions are stated with an equality sign: A : adjacency matrix with entries (auv ) V : set of all vertices v in a graph Vc : set of all vertices v in a clique D : union of sets Di, called Domains, of all available frequencies f DD : set of pairs of all f in D, each pair has the same xed frequency distance B : full frequency-band width = maxf ;f 2D jfi ? fj j F : set of all assigned frequencies, F  D kF k : cardinality of F = number of frequencies in F S : band-width of F = maxf ;f 2F jfu ? fv j kF kS : number of assigned frequencies in F with band width S FC : set of the frequencies assigned to C number 1 DS : domain that is restricted to S f : highest frequency in DS = maxf 2DS f : lowest frequency in DS = minf 2DS f f fv : frequency assigned to vertex v 'v : pre-assigned frequency of vertex v : the mobility, rating the cost of changing pre-assigned frequency 'v m' P : set of all pre-assigned frequencies 'v di : frequency distance d with label i duv : frequency distance d between vertex u and vertex v icuv : inequality constraint between vertices u and v puv : the priority, rating the cost of violating inequality constraint icuv ecuv : equality constraint between vertex u and v E : set of equality constraints ecuv I : set of inequality constraints icuv I : coecient matrix of the inequality constraints icuv E : set of edges uv = (u; v) between vertices u and v Ec : set of edges uv between vertices u and v in a clique C ?(v) : set of all edges adjacent to vertex v = fu j (u; v) 2 E g (v) : the degree of v = # edges incident on v = k?(v)k G : G = (V; E ) is an undirected graph of vertex set V and edge set E C : is a clique = a subgraph of G such that all vertices u; v 2 V c are connected Ci : is a clique of i vertices kC k : cardinality of C = clique size MC : is a maximal clique in G kMC k : maximum clique size = clique number of G = !(G) R : Random function, initialized by a random seed and R(i + 1) 2 f0; : : : ; ig  IN i

u

1

v

( )

v

j

6

CHAPTER 1. INTRODUCTION

Chapter 2 modeling the RLFAP as a Graph problem The RLFAP generated by GRAPH can be considered as graphs, although the vertices and edges of this graph have a di erent meaning than those of the communication network that it represents. In order to connect with the common notations and terminology used in mathematical graph theory literature, the radio link frequency terms will be translated in graph-theoretical terms. modeled as a generalized GCP, some properties of the RLFAP can be formulated that will be useful in generating similar problems.

2.1 Introduction When a communication network is considered, then a radio link is the connection between two transceivers that wish to communicate with each other by using a communication channel. This channel consists of one of the limited transmitting frequencies that are available on the frequency band. When two tranceivers want to transmit into each others direction, e.g. in order to talk to each other at the same moment, then two di erent frequencies are needed, one for each tranceiver. Those two frequencies might have to be separated on the frequency band by a xed distance (in the RLFAP possibly represented as equality constraint). If in this communication network two other tranceivers wish to communicate at the same time, then it is possible that they disturb the other tranceiver pair when they use the same frequency. The extent of disturbance, or interference, depends on the geographical distance between tranceiver pair number one and tranceiver pair number two, on the directions in which the transmitting takes place and on the geographical distance between 7

8

CHAPTER 2. MODELING THE RLFAP AS A GRAPH PROBLEM

communicating transmitters. Even if the di erent tranceiver pairs don't use the same frequency they may interfere so that in order to stop interference, the distance between the used frequencies on the frequency band should exceed a minimal frequency distance (in the model represented as inequality constraint).

2.2 Graph formulation Studying the mutual interference between a pair of communication circuits brings us to the mathematical study of objects related in pairs, de ned as Graph Theory. An introduction into this large eld can be found in for example the book of Papadimitriou and Steiglitz [13]. The undirected graph G = (V; E ) that represents the RLFAP, consists of a number of vertices V = fv ; v ; : : : ; vng and a number of edges E  V  V that connect vertices. The size of a set V is denoted by jV j. Each vertex represents a radio link to which a frequency f has to be assigned. This vertex is connected to each other vertex that may cause interference by using a frequency f 0 that is too close on the frequency band to f . The edges uv, denoting these interference possibilities between vertex u and vertex v, contain the distance duv . This way the edges are the constraints of the problem in which duv denotes the xed distance between u and v: an equality constraint, or a minimal distance between u and v: an inequality constraint. 1

2

2.3 RLFAP formulation The RLFAP can be formulated as follows: Given a set of radio Links L (abbreviated to links , a link is a transmitter - receiver pair), one or more domains D formed by a set of available frequencies (or channels) and a list of constraints concerning the required frequency distance; assign to each link l 2 L one available frequency fl 2 D, while optimizing a chosen objective function. This objective can be: 1. minimizing kF k, the number of frequencies used for the assignment 2. minimizing the span (the di erence of the highest and the lowest used frequency) 3. minimizing the violation of the constraints, if no feasible assignment is possible. The frequencies assigned to some pairs of transmission links, say fl; kg may have distance requirements that must be satis ed to reduce interference. Such a distance requirement (constraint) on assigned frequencies can either be

jfl ? fk j > dlk

(2.1)

2.3. RLFAP FORMULATION f: i:

170

16 1

3 2

5 4

7 6

9 11 8 10 12

240 254 13

9 408 414

478

554

15 17 19 21 23 25 27 29 31 33 35 37 14 16 18 20 22 24 26 28 30 32 34 36

652

792

38 40 42 44 46 48 39 41 43 45 47

ec:

f = frequency, (stepsize = 14, except for nr. 25-26 and nr. 30-31-32) i = frequency index ec = equality constraint connections, fixed distance = 238.

Figure 2.1: Frequency-channels of the frequency set D, connected according to the equality constraints distance of 238. or

jfl ? fk j = dlk

(2.2)

for some dlk > 0. For the CELAR test set, the physical model requires that constraints of the form (2.2) are always of the form

jfl ? fl j = 238 +1

(2.3)

for all odd links l = 1; 3; : : : ; kLk ? 1. In addition, the structure of the frequencies in D is such that (2.3) in fact establishes a pairing of links, which forms an important RLFAP property that can be used in solving the problem and will be included in the generating algorithm:

Property 1: The paired ordering of available frequency channels in the domains assures that if a frequency is assigned to an odd link l, then the frequency that must be assigned to l + 1 is uniquely determined. This special structure is illustrated in Figure 2.1 and used in the generating of RLFAP's by GRAPH, which is described in Chapter 4.

We can view RLFAP as a graph problem. The set of vertices V of the graph correspond to the set of transmission links. A pair of vertices u; v 2 V is connected by an edge uv 2 E if there is a constraint (2.1) or (2.3) on the frequencies fu and fv that must be assigned to these vertices. We refer to this graph G = (V; E ) as the interference graph.

10

CHAPTER 2. MODELING THE RLFAP AS A GRAPH PROBLEM

2.4 Complexity of the problem

The Frequency Assignment Problem (FAP) is closely related to the extensively investigated Graph Coloring Problem, as probably rst remarked by Metzger [12]. modeling an FAP results, like the GCP, in an NP-complete (Non-deterministic Polynomial) combinatorial optimization problem, so one has to deal with an exponentially growing computation time in determining the optimal solution [5].

 The NP-completeness of the GCP is proved by Karp in 1972 [9]. By modeling the

RLFAP as a generalized GCP, using the formulation of Section 2.3, we show that this assignment problem also belongs to the class of NP-complete problems: { Graph Coloring Problem formulation: Given an undirected graph G = (V; E ), with V the set of vertices and E the set of edges, nd a coloring of the graph, such that two adjacent vertices have di erent colors and the total number of used colors is minimal.

{ To transform the basic RLFAP into a GCP, let V be the set of radio links and

let E be the set of all pairs of radio links between which a minimum frequency distance is required. The coloring of vertices now implies assigning frequencies to all radio links such that two adjacent radio links get di erent frequencies and the total number of frequencies is minimal.  The basic Frequency Assignment Problem (FAP) is equal to the GCP if all edges uv constrain the vertices u; v with frequency distance duv = 0 in (2.1). This is called the co-channel constraint: u and v cannot use the same channel (=frequency), if we assume that between two channels of the available frequency-set, the frequency-gap = 1. Many FAP's also have adjacent-channel constraints: duv = 1, which holds that neither the same- nor the adjacent channel of the available set can be used. We can call this the rst generalization of the GCP. Algorithms for FAP's with constraints of the value 0 or 1, also called adjacent-channel problems, are discussed by Lanfear [10] and also used and developed by PTT-research [17]. In the graph coloring an admissible coloring is de ned as a coloring such that each connected pair u; v 2 V has di erent colors. For the RLFAP as a generalized GCP we can state the following:

De nition 1 An admissible assignment of an interference graph is an assignment such that for each connected pair u; v 2 V the prescribed frequency distance requirement holds.

Now we come to the second property, known as the weak boundary result that holds for all undirected graphs and provides a basis for which GRAPH generates problems with

2.5. THE RLFAP MODELED AS A GENERALIZED GCP

11

known lower bounds:

Property 2: Because in an admissible assignment all vertices in a clique must have a di erent frequency, the size of the maximum clique kMC k of the graph G is a lower bound for the minimum number of frequencies kF k that has to be assigned to V . In addition to this property of undirected graphs we mention that, although there exist quite useful heuristics [2],[14], nding the maximum clique of a graph also belongs to the class of NP-complete problems [11].

2.5 The RLFAP modeled as a generalized GCP Di erent Technical applications introduce other possibilities and necessities in modeling the assignment problem, as we can see in the most recent RLFAP's. In CALMA's RLFAP we are dealing with a complicated version of the FAP, introducing pre-assigned frequencies ' with di erent mobility-rating m' (Section 3.1.2), inequality constraints (2.1) with distances varying between 0 and 536 and equality constraints (2.3) with xed distances, while the frequency-gap between the channels of domain D is at least 6 (usually 14, see Figure 2.1). Several di erent domains Dv may serve the vertices v. The equality constraints ecuv are called hard constraints because they must never be violated, which may increase the chance of infeasibility but can decrease the hardness of the problem (see Section 4.2.1): suppose all restrictions are equality constraints, then the problem can be optimized by trying out all possible frequencies on one vertex and the rest of the assignment follows from the equality constraints. Due to the higher demands and growing size of the problem, admissible assignments may be hard to nd or may even not exist in which case the rst two problems mentioned in Section 2.3, minimize kF k and minimize the span, are infeasible. Therefore we formulate the third objective mentioned in Section 2.3: minimize the violation of the constraints and pre-assigned frequencies. In this case the inequality constraints icuv may be violated at a speci c cost, rated by the priorities puv (Section 3.1.3), and are therefore called soft.

12

CHAPTER 2. MODELING THE RLFAP AS A GRAPH PROBLEM

2.5.1 Objectives Now we model the three objectives mentioned with hard and soft constraints: minimize kF k, minimize the span and minimize the violation of the constraints. 1. If we want to minimize the number of used frequencies kF k, the mathematical formulation becomes: min kF k = min k[v2V ffv gk (2.4) s.t. jfu ? fv j = ecuv ; uv 2 E ; (2.5) f 2 D ; v 2 V; v

and

v

jfu ? fv j > icuv ; uv 2 I ; (2.6) fv = 'v ; v 2 P : 2. If we want to decrease the used band-width S for the assignment F , then a minimal span problem can be modeled:

min max jfu ? fv j

F D fu ;fv 2F

(2.7)

subject to hard constraints (2.5) and soft constraints (2.6). 3. If we want to minimize the violation of the constraints and pre-assigned frequencies, the problem to be solved can be modeled as follows:

1 0n? n n X X X min @ jpuv j (jfu ? fv j  icuv ) + jm'j (jfv ? 'v j > 0)A 1

v=1 u=v+1

v=1

(2.8)

subject to the hard constraints (2.5), with (condition ) = 1 if condition is true and 0 otherwise. This way the objective seeks to meet the soft constraints (2.6) as good as possible.

Chapter 3 Problem description Eleven RLFAP's are available in data les named CELAR. These eleven CELAR problems must give us an idea of the basic actual problems that are to be solved. Therefore they stand as a model for the problems that GRAPH generates. The structure of the CELAR problems and an outline of the possibilities and necessities of the generator will here be presented.

3.1 Description of the CELAR problems The CELAR le consists of eleven scenes, each containing four les that describe a problem. Table 3.2 provides a survey of the global contents of these eleven scenes, completed with comparable data from the GRAPH problems. The four les in a scene directory are: 1. 2. 3. 4.

dom.txt , this le contains the sets of available frequencies. var.txt , this le contains information about the vertices (or links ). ctr.txt , this le contains the constraints concerning the required frequency distance. cst.txt , this le contains the optimization criteria.

3.1.1 The frequencies In the le dom.txt a set of all available frequencies is given on the rst line. This set will be denoted as the 0-(zero)-domain, because this domain is labeled with a zero. the second number is 48, indicating the 48 di erent frequencies in the range [16,792] that follow on this line in descending order. The next seven lines in dom.txt de ne seven 13

14

CHAPTER 3. PROBLEM DESCRIPTION

Domain # f 0

48

1

44

2

22

3

36

4

24

5 6

6 42

7

22

frequencies

16 30 44 58 72 86 100 114 128 240 254 268 282 296 310 324 338 352 408 414 428 442 456 470 478 484 498 554 652 666 680 694 708 722 736 750 16 30 44 58 72 86 100 114 128 268 282 296 310 324 338 352 366 380 442 456 470 484 498 512 526 540 554 694 708 722 736 750 764 778 792 30 58 86 114 142 268 296 324 352 470 498 526 554 652 680 708 736 764 30 44 58 72 86 100 114 128 142 310 324 338 352 366 380 428 442 456 512 526 540 666 680 694 708 722 736 16 30 58 86 114 142 254 268 296 414 442 470 498 526 554 652 680 708 142 170 240 380 408 478 30 44 58 72 86 100 114 128 142 296 310 324 338 352 366 380 394 414 470 484 498 512 526 540 554 652 666 722 736 750 764 778 792 16 30 44 58 72 86 100 114 128 268 282 296 310 324 338 352 366 380 Table 3.1: Survey of the CELAR frequency domains.

142 366 512 764 142 394 652

156 380 526 778 156 414 666

380 792 268 470 750 324 736

414 442 282 484 764 352 764

170 394 540 792 254 428 680 296 498 778 380 792

156 268 282 428 442 456 680 694 708 142 156 254 394

frequency domains, all containing parts of the complete set of frequencies on line one, so the 0-domain is the union of domains one to seven. The seven domains are denoted like the 0-domain: the rst number indicates the domain (one to seven), the second points out the number of frequencies in this domain, followed by the actual frequencies in descending order. Although for each of the problems the given dom.txt le is equivalent, the domains that can be used are di erent, which is stated in the next le: var.txt .

3.1.2 The vertices The le var.txt presents all vertices in a column, with after each vertex the index number of the domain from which to assign a frequency for that vertex. The enumeration of the vertices is in some cases not straightforward from one up to the number of vertices, for example at scene two the rst vertex is indicated with 13, up to the last one, that

3.1. DESCRIPTION OF THE CELAR PROBLEMS

15

has index 880. The length (the number of lines) of this le equals to the number of vertices and indicates the size of the problem. The eleven scenes contain problems of four di erent sizes namely of 200, 400, 680 and 916 vertices. At several scenes var.txt also contains preset frequencies for some vertices. In that case the vertex number with the domain index are followed by the frequency that is set for that vertex and the mobility of that frequency. The mobility of the vertex is a value that indicates to which extent this initially assigned frequency should be preserved. Possible levels of the mobility are:

 0: means that a frequency has been assigned and may not be changed.  1, 2, 3: means that a frequency has been assigned that may be changed. Changing the pre-assigned frequency causes an increase of the cost function of a , a and a respectively. 1

2

3

 4: means that no frequency has been assigned to the vertex.

3.1.3 The constraints The le ctr.txt provides the user of the list of constraints for the required frequency distance for each pair of vertices. Equality constraints with a xed distance of 238 are connecting the odd-numbered vertices with the even ones. An about twelve times larger amount of inequality constraints are connecting vertices randomly with divergent minimal distances. Some scenes give a priority after each constraint. The level of the priority indicates the consequences of violating this constraint. Possible levels for the priority of a constraint are:

 0: means that this constraint has to be satis ed.  1, 2, 3, 4: means that violating this constraint causes an increase of the cost function of b , b , b and b respectively. 1

2

3

4

3.1.4 The optimization criteria The problems have various optimization criteria that are given in the le cst.txt . The three possible objective functions are, as discussed in chapter 1, minimize the order, minimize the span or minimize the violation of the constraints and the mobility of the pre-assigned frequencies if no feasible solution can be obtained. For some problems more than one objective can be used, for instance at scene 4 one has to try to minimize the span if that is possible and then one has to minimize the number of assigned frequencies. In other cases one can imagine that for a feasible assignment the span of the used frequencies is

16

CHAPTER 3. PROBLEM DESCRIPTION

larger than the span of the available domain so that one has to violate some constraints or change pre-assigned frequencies while minimizing the violation function(3.1). Table 3.2 shows an outline of the eleven CELAR problems and corresponding generator options and provides a quick view of the possible problems that GRAPH can generate. The objective of the rst three problems is minimizing kF k, the fth looks for a minimal span and both objectives must be obtained for number four. For the other seven problems the violation of constraints and pre-assignment has to be minimized. Because scene eleven proved to have admissible solutions, this objective changed in minimizing kF k. The values ai and bi in the table concern the di erent penalty values when minimizing the constraint/mobility violations, Function (2.8) also can be written as:

X 4

i=1

ai :kpik +

X 4

i=1

bi :kmik

(3.1)

where kpik is the number of violated constraints with priority i. kmik is the number of vertices with mobility i for which the initially assigned frequency has been changed. The cst.txt - le of the CELAR problems contain these optimization criteria. The user of the generator is free to specify similar or other criteria. The number of vertices are referred to by #v while #eq refers to the number of equality constraints. The number of inequality constraints is always about 5.5 times as large as the number of vertices for large problems, like in the CELAR case.

3.2 Similarity with the CELAR problems To Generate problems with similarity to those in the CELAR set, we consider the structure of the graph representing the problem. If we look at the pattern that is formed by the edges connecting the vertices in G(V; E ), we notice that di erent cliques and 'almostcliques' are very irregular linked with miscellaneous constraints. In an almost clique only a few edges are missing to make the clique complete. There is no sign of a regular grid or uniformity in the sets ?(v) of the vertices, but the average degree (v), that is the number of edges incident on v, is approximately the same for all problem sizes kV k, namely:

X

8v2V

(v)=kV k  12:

(3.2)

This structure, with the Properties described in Chapter 2, will form the basis for GRAPH to generate RLFAP problems, which is described in Chapter 4.

3.2. SIMILARITY WITH THE CELAR PROBLEMS

problem (scene nr.)

1

2

3

17

4

5

6

# vertices (links ) 916 200 400 680 400 200 vertex labels [1,916] [13,880] [13,912] [1,916] [13,916] [13,880] # frequencies 48 44 48 48 48 44 frequency range [16,792] [16,792] [16,792] [16,792] [16,792] [16,792] # equality constrains 458 100 200 340 200 100 # inequality constraints 5090 1135 2560 3627 2398 1222 constraint range [0,119] [1,84] [1,84] [10,526] [10,536] [2,517] # constraints priority 0 0 0 0 0 0 100 # vertices mobility 0 0 0 0 280 0 0 objective: minimize # freq. # freq. # freq. span/fr. span viol. value of a 1000 1000 value of a 100 100 value of a 10 10 value of a 1 1 value of b 0 value of b 0 value of b 0 value of b 0 problem (scene nr.) 7 8 9 10 11 GRAPH # vertices (links ) 400 916 680 680 680 6..998 vertex labels [13,912] [1,916] [1,916] [1,916] [13,916] [1,#v] # frequencies 44 48 48 48 48 4..48 frequency range [16,792] [16,792] [16,792] [16,792] [16,792] [16,792] # equality constraints 200 458 340 340 340 0 or #v/2 # inequality constraints 2665 5286 3763 3763 3763 10..6000 constraint range [2,536] [2,536] [2,526] [2,526] [1,84] 1..536 # constraints priority 0 200 458 340 340 340 0 or #eq # vertices mobility 0 0 0 280 280 0 random objective: minimize viol. viol. viol. viol. viol./# F user-spec. value of a 1000000 4 1000 1000 1000 user-spec. value of a 1000 3 100 100 100 user-spec. value of a 10 2 10 2 10 user-spec. value of a 1 1 1 1 1 user-spec. value of b 1000 100000 - user-spec. value of b 100 10000 - user-spec. value of b 10 100 - user-spec. value of b 1 10 - user-spec. Table 3.2: Survey of the problems in the CELAR set and GRAPH options. 1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

18

CHAPTER 3. PROBLEM DESCRIPTION

Chapter 4 How GRAPH generates the problem As mentioned above, GRAPH is designed to give test problems patterned after the CELAR set and for which a priori lower and upper bounds should be known. Hence, the problem is how to generate non-trivial test instances that satisfy the a priori (lower and/or upper) bounds on the instance that the user may specify. The basic idea is to start with a random solution and t a problem instance to this solution. The solution consists of a number of frequencies that are randomly chosen from the available domain. These frequencies are assigned to the vertices of the ultimate graph. By building up the problem this way, the solution, written in le sol.gen , will be available instantly. In order to develop the ultimate graph G(V; E ) that, together with the frequency domains Di and the chosen objective, de nes the RLFAP, we can distinguish the following stages in the algorithm. Each of these stages will be described in more detail in the subsections that follow. The last section illustrates these processes with the pseudo code of the main procedures. 1. Options of GRAPH. First the user chooses the options to initialize GRAPH in order to generate a problem with the desired structure, size and solution and bound information. 2. Making the edges: (a) The initial edges are placed in order to form the special structure of the equality constraints. (b) Then edges that de ne the lower bound of the solution will form the rst maximum clique. (c) More cliques are added until all vertices are connected in cliques. 19

20

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM 3. Assigning random frequencies to all vertices. This assignment will be the generator's solution which will be optimal or, if preferred by the user, an upper bound on the optimal solution. 4. Adding and removing edges randomly. 5. Calculating the constraints. The edges of the Graph form the equality and inequality constraints of the problem. Those constraints are calculated with the distance between the frequencies of the connected vertices.

4.1 Options of GRAPH The input line on the monitor screen presents the questions that the user has to answer, GRAPH uses the default answer when the question is just answered with [ENTER]: 1. How many vertices (frequency users)? [6,998] (Give a number within the domain that is shown, 10=default.) 2. Give the size of the maximum clique: [4,18] (random=default.) (the max. clique size must always be smaller then the # of vertices.) 3. Equality constraints? [y/n] (Type n for no equality constraints, yes=default.) 4. Use different frequency domains? [y/n] (Type n for 1 domain, using more domains=y=default.) 5. Define [min,max] constraint values. (constraints will be randomly chosen between a minimum and a maximum value, within [1,536]=default.) 6. Objective function=? (Type: 1 for minimizing the number of frequencies, (=default) 2 for minimizing the frequency span, 3 for minimizing the violation of the constraints.)

More questions that follow after answering question 6 with objective 1 or 3 are: (obj.1): 6b. # of freqs. in solution = max.clique size? (no=default) [y/n]: 6c. solution = optimal? (y=default/n=upper bound solution): (obj.3): 6b. With mobility frequencies? (no=default) [y/n]:

From the options given, it is clear that the generator can provide instances outside the CELAR structure (e.g., without equality constraints which can give generalized coloring problems). To obtain a problem with CELAR-structure, the following options should be chosen:

4.1. OPTIONS OF GRAPH

21

1. The number of vertices kV k = even. 2. The maximum clique size kMC k = even. For a large (kV k > 100) problem kMC k  14 and in the default case kMC k 2 f12; 14; 16; 18g, randomly chosen. 3. With equality constraints. 4. Using the seven di erent domains. 5. The default choice always works, but if other limits are chosen the program may overrule this choice if it is impossible to generate a tting problem. 6. All three options are basicly CELAR-objectives. GRAPH o ers three quality levels for objective 1: 1A : the generated solution is optimal and kMC k = kF k. (obj.1: 6b=yes). 1B : the generated solution is optimal and kMC k  kF k. (obj.1: 6b=no, 6c=yes). 1C : the generated solution is an upper bound for the solution and kMC k  kF k. (obj.1: 6b=no, 6c=no). The last input desired from the user is a Random seed to feed the Random generator. The given integer will be stored in the solution le so that the randomly generated problem can be reproduced by using this stored Random seed.

Options

Answers

# Vertices: [200,916] [6,998] Max clique size:  14 [4,18] Equality constr.? Yes Yes No More f domains? Yes Yes No Yes No Dist. min max [1,536] [1,536] [1,536] [1,536] [1,1] [1,1] Objective = 1, 2 or 3 1, 2 or 3 1, 2 or 3 1, 2 or 3 1A, B, C 1A Problem type: CELAR CELAR* (RANDOM FAP) MCP MaxClq.P Table 4.1: Options for the user of GRAPH.

4.1.1 Assignment, Coloring or Maximal Clique Problem Table 4.1 shows how the user can determine the nature of the generated problem. The answers in the rst column describe the CELAR outline, while the second column results in a similar CELAR* problem of various sizes. Also other random Frequency Assignment

22

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

Problems, Graph Coloring Problems and Maximal Clique Problems are optional. For instance after answering all questions with RETURN, GRAPH generates a feasible Assignment Problem in which frequencies have to be assigned to 10 vertices that are connected by equality constraints (jfu ?fv j = 238) and inequality constraints (jfu ?fv j > c; c 2 [2; 536]), u; v 2 V . The objective function then will be minimizing the frequency span while assigning available frequencies from the proper domain. The minimal number of used frequencies probably exceeds the random size of the maximum clique. One can select a Graph Coloring Problem with just co-channel constraints, by leaving out the equality constraints (`no' at question 3), use one frequency domain (`no' at question 4) and make minimal=maximal constraint distance=0. (question 5 becomes `0'. In fact, all numbers under 6 will work in our case.) Assigning frequencies to the vertices now corresponds with assigning di erent colors to the vertices, because all distances between the available frequencies in the domain are > 5 (mostly 14) and all constraints are jfu ? fv j > 0; u; v 2 V . The other questions can be answered with RETURN, unless the user wants a problem with more or less then 10 vertices (question 1). If one wants to know beforehand how many colors to use for the assigning, reply to question 2 with the desired number of colors and select objective function `1' in question 6 and `yes' in 6b. This also results in a Maximum Clique Problem. A Maximum Clique Problem will be generated after selecting objective function `1' in question 6 and `yes' in 6b, and leave out the equality constraints (`no' at question 3).

4.1.2 The output les After checking, and if necessary adjusting the readers input, a Random Radio link frequency Assignment Problem will be calculated and written in output les. These les can be viewed in the generator by quitting q (with qq you leave GRAPH ), typing the lename and 2 [RETURN]s. Typing he brings a help le with information and what-to-do-when. After successfully generating a problem, the following 6 output les are available:

 dom.gen : this le contains the domains with the available frequencies.  var.gen : this le shows what link disposes which domain and, in case of objective 3 (b), the mobility of the link.

 cst.gen : this le contains the optimization criteria.  ctr.gen : this le contains the constraints concerning the required frequency distance and, in case of objective 3, the priority for each constraint.

 sol.gen : this le contains the solution and the settings for reproduction.

4.2. MAKING THE EDGES

23

 dommin.gen : this le contains a small domain with just enough frequencies avialable for a good assignment.

4.2 Making the edges The user has determined an (even) number of vertices (presenting radio links) that will be connected randomly with edges in order to form the graph G. Sparse-matrix techniques are used in the algorithm to store nonzero entries of the right hand side of the adjacency matrix.

4.2.1 A special structure, the initial edges The initial settings of the RLFAP by the generator are prescribed by Property 1 as described in the problem formulation. This Property forms the special structure of the frequency domains and the equality constraints, in conformity with the CELAR-problems:

 We label the vertices: 1 : : : n, where n = kV k  Now each odd vertex is connected to the next even vertex with an edge, thus: E = fuv j 8u; v 2 V; u = odd ^ v = u + 1g This can be shown in the adjacency matrix A = (auv ), whose entries are given by

(

u; v) 2 E auv = 10;; (otherwise : Because G is undirected, the (n  n) adjacency matrix is symmetric:

00 BB 1 BB 0 B BB 0 A=B BB 0 B@ 0 .

1 0 0 0 0 0 .. ...

0 0 0 1 0 0 ...

0 0 1 0 0 0 ...

0 0 0 0 0 1 ...

0 0 0 0 1 0 ...

 1    CCC    CC    CCC :    CC    CA ...

 Those edges will form the equality constraints, all with the frequency-distance of 238.

24

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM index: 1 2 3 4 5 6 7 8 9 10 11 12 f 16 30 44 58 72 86 100 114 128 142 156 170 0 f 254 268 282 296 310 324 338 352 366 380 394 408 index: 13 14 15 16 17 18 19 20 21 22 23 24 f 240 414 428 442 456 470 484 498 512 526 540 554 0 f 478 652 666 680 694 708 722 736 750 764 778 792 Table 4.2: Survey of the special doubled domain.

 In the frequency domains D the ordering of the available frequencies is such that if a certain frequency f is assigned to a vertex v (fv ) and there is an equality constraint beween u and v, then there is always only one xed frequency fu available to assign to u (see Figure 2.1).

Because of this special structure a doubled domain DD is formed. This domain, displayed in Table 4.2, has 24 frequencies (f ) that are linked with the other 24 (f 0) so that the distance between the frequencies of each linked pair is 238, the equality constraint distance:

DD = ff; f 0 j 8f 2 D; jf ? f 0j = 238g: (4.1) This way only to the odd vertices a frequency f or f 0 has to be assigned. This assignment corresponds one-to-one with the assignment of f 0 , respective f , to the even vertices.

4.2.2 Making Cliques If the user did not choose a maximum clique size (question 2) then the generator draws randomly an even maximum clique size kMC k less than 19 and smaller than the chosen number of vertices. Because it should be hard to nd the maximum clique, the cliques are all hidden in G by using random vertex-labels for each clique (see gure 4.2). First a number of odd clique-vertices has to be chosen randomly, with kV ck = kMC k=2, then the accessory clique-edges come from the initialy determined edge set:

Ec = fuv j v 2 V c ^ uv 2 E g: With the remaining vertices more cliques of the same size and smaller can be formed the same way until all vertices are connected in cliques. For a small graph with kV k = 6 and

4.3. ASSIGNING THE SOLUTION FREQUENCIES

25

kMC k = 4, the (6  6) adjacency matrix may look like: 00 B 1 B B B 0 A=B B 0 B B @1

1

1 0 0 1 1 0 0 0 1 1C CC 0 0 1 0 0C C: 0 1 0 0 0C C A 1 0 0 0 1C 1 1 0 0 1 0 Sparse-matrix techniques are used in the algorithm to store the placing of the nonzero entries of the right hand side of the adjacency matrix. Those entries will be used to calculate distances between the conected vertices. From here on the stored entries in the distance matrix may become zero, wich as inequality constraint holds that assigning the same frequencies to those connected vertices will cause interference.

4.3 Assigning the solution frequencies In order to ll the initial maximal clique-set with all di erent frequencies that satisfy the equality constraints , domain (DD) is used. This way only half of the clique has to be lled randomly with di erent frequencies drawn from the set of 24 couples (f , f 0), and then the other half is lled with the `equality-partners' of the chosen frequencies. Fc = ffu; fv j fu; fv 2 DD ^ jfu ? fv j = 238g: (4.2)

4.3.1 RLFAP's with known optimal number of frequencies As long as the cliques are not mutually connected they can all be colored with the same frequencies of the maximum clique, therefore this size kMC k will be the upper bound for an assignment of the user. But as stated in Property 2, kMC k also is the lower bound, therefore the generator's solution in option 1A will be proven optimal, with: kMC k = kF k:

The algorithm for option 1A is: Step 1 Assign f 2 D ! MC  G; now kF k = kMC k; Step 2 Use the same set F for the assignment f 2 F ! of the rest of V  G:

4.3.2 Construct Span Problem Algorithm Depending on the chosen objective and other wishes of the user, the number of di erent frequencies assigned to the vertices may become larger than the size of the maximal

26

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

clique. This assignment will be the generator's solution in case of objectives 1B, 1C, 2 and 3, which forms an upper bound solution for all alternative assignments. The kMC k according to Property 2 is a measure for the lower bound of the number of assigned frequencies kF k: kMC k  kF k: This lower bound may become strict in certain cases, which will be stated below by proposition 1. The algorithm that is used to generate problems with above mentioned objectives is called the Construct Span Problem Algorithm (CSPA), which can be formulated as follows:

Given G, C  G, S , DS = set of consecutive frequencies of span S , where S = f ? f;

(

f = maxf 2DS f; f = minf 2DS f;

and kDS k > kMC k.

Step 1 Assign f to some vertex in C , say u, assign f to some vertex in C , say v = 6 u; Step 2 Assign to the rest of C , frequencies in DS ; Step 3 Make dxy = jfx ? fy j 8 x; y 2 C , make icxy = jfx ? fy ? 1j 8 x; y 2 C ,(tight constraints). To accomplish the di erent objectives with the CSPA, we use the following settings:

Lemma 1 (

f; as in the CSPA. Let C = fu; vg, where ffvu == f; (2)

If the assignment is restricted to DS , then the only possible assignments to C are: (2)

ffu = f ^ fv = f g; or ffu = f ^ fv = f g: Proof:

icuv = f ? f ? 1 = S ? 1 by CSPA 3, ) only f , f can be assigned to u, v. 2

4.3. ASSIGNING THE SOLUTION FREQUENCIES

27

Lemma 2 Let w 2 C; w 6= u; w 6= v, u; v as above, C = fu; v; wg  C , (3)

FC = set of freqs. assigned to C by CSPA 2, = ff; f; tg; with t = fw . If we restrict the assignment to DS , the only possible re-assignment of frequencies to C , di erent from FC , is: 8 > f; = fv ; < 0 f; = f ; FC = ff; f; f ? duv g; where > : f ? dvw = fwu : (3)

(3)

(3)

(3)

(3)

Proof: By Lemma 1, u can only have f or f , v can only have f or f , If( u ! f; v ! f ) w must have( t, because: jfv ? fw j  dvw ; duw = f ? t; dvw = t ? f; by CSPA 3 and jfu ? fw j  duw ; must be satis ed. If u ! f; v ! f ) w must have f ? dvw , since it is the only frequency that can satisfy:

(

jfv ? fw j = jf ? fw j  dvw ; jfu ? fw j = jf ? fw j  duw :

Substitute fw = f ? dvw and in the second distance also dvw = t ? f ) constraints will be tightly satis ed by considering:

jf ? fw j = jf ? (f ? dvw )j = dvw ; and

jf ? fw j = fw ? f = (f ? dvw ) ? f = f ? (t ? f ) ? f = f ? t = duw ;

) fw = f ? dvw satis es the constraints tighly.2 Lemma 3

Let FC = set of freqs. assigned to C by CSPA. If we restrict the assignment to DS , the only possible re-assignment of frequencies to C , di erent from FC , is:

28

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

FC0 = mirror image of FC  DS = ff 2 DS j f = f ? t + f; t 2 FC g:

Proof: By repeated application of Lemma 2 on all subcliques fu; v; xg  C; x 2 C; x = 6 u; x 6= v: 2 Lemma 4 Let C ; C  G, kC k = kC k = kMC k; C \ C = ;; 1

2

1

2

1

2

FC = assignment to C by CSPA, FC = assignment to C by CSPA, Assume FC 6= FC ; De ne FC0 = mirror image of FC = ff 0 2 DS j f = f ? f + f; f 2 FC g: Then if FC 6= FC0 ; it is impossible to make an assignment from DS to C using only the frequencies in FC : 1

1

2

2

1

2

2

2

2

1

2

2

1

Proof: By Lemma 3, only FC0 is the possible alternative re-assignment. 2 Proposition 1 2

Given G(V; E ); Let C ; C  G; kC k = kC k = kMC k; C \ C = ;; Construct an RLFAP by applying CSPA to all separate C in a clique partition of G. 6 FC ; FC =6 FC0 ; FC0 =6 FC ; and only assignments from DS are allowed If FC = ) minf 2DS k [v2V ffv gk > kMC k 1

2

1

1

2

2

1

2

1

2

1

2

Proof:

Lemma 4 implies C and C cannot be assigned the same set of frequencies from DS . Since C \ C = ;, then minf 2DS k [v2V ffv gk > kFC k = kMC k: 2 1

1

2

2

1

4.3. ASSIGNING THE SOLUTION FREQUENCIES 5 6 7 8 9

1

2

4

3

5 6 7 8 9

5 1

4

4

29

10

10

2

11

min S

0

6

3

11

min # f

Graph G

Figure 4.1: Example of a graph with the property of proposition 1

Example of Proposition 1: Given D = f5; : : : ; 11g, consider graph G(V; E ), with V = f1; : : : ; 6g and E = f12; 13; 23; 45; 46; 56g. Given inequality matrix I :

1

0? BB 3 BB 4 I = B BB ? B@ ?

3 4 ? ? ? ? 0 ? ? ? CCC 0 ? ? ? ?C C ? ? ? 2 4 CCC : ? ? 2 ? 1A ? ? ? 4 1 ?

The optimal assignment of frequencies fv to V is:

 minimum kf k = 3 (S = 6) with assignment f5 ; 9 ; 11 ; 5 ; 9 ; 11 g,  minimum S = 5 (#f = 4) with assignment f5 ; 9 ; 10 ; 5 ; 8 ; 10 g, which shows that kF kS = 4 > 3 = min kF k = kMC k (see Figure 4.1). 1

1

2

2

3

3

4

4

5

5

6

6

4.3.3 Constructing problems with strict lower bounds. Corollary 1 Given G(V; E ); Let C ; C  G; kC k = kC k = kMC k; C \ C = ;; 1

2

1

1

2

2

30

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

Construct an RLFAP by applying CSPA to all seperate cliques in a clique partition of

G, using

S = full frequency band. If FC = 6 FC ; FC =6 FC0 ; FC0 6= FC ; and only assignments from DS are allowed ) minf 2D k [v2V ffv gk > kMC k: 1

2

1

2

1

2

Proof:

Since D = DS by construction, the result follows immediately from Propostion 1. 2 Generating problems with objective 1B is done by applying Corollary 1.

4.3.4 Constructing problems with more admissible assignments Problems with objective 1C are generated by simply reducing the tight constraints of option 1B:

   

Problems from 1B might be easily pre-processed due to the tight constraints. Reducing constraint sizes may allow more possible assignments. The lower bound is not guaranteed to be strict anymore. Conjecture: the resulting problem will be harder to solve.

4.3.5 Construction of span problems Problems with objective 2 are generated by applying the CSPA. Lemma 1 quarantees that the span that is given in the solution le of GRAPH will be optimal, because this is the same span that is used for the generation of the problem.

4.3.6 Construction of problems without admissible assignments Proposition 2 Order the distances di in each clique such that d is the smallest and di  di. A lower bound for the minimal span assignment to G becomes: 1

min S  8max 8F C G

nX ?1 i=1

+1

dCi ;

4.4. ADDING AND REMOVING EDGES RANDOMLY

31

where dCi is the i-th smallest distance in clique C .

Proof: Let f ; : : : ; fn be the assigned frequencies to C , arranged in increasing order. Now:

1

S = fn ? f = fn ? fn? + fn? ? fn? 1

1

1

...

+ + f ?f + f ?f : 3

2

2

1

2

(4.3)

Note that since vertices f1; : : : ; ng form a clique in G, there is a constraint kfi ? fj k  dij 8i; j = 1; : : : ; n

) using (4.3) and by de nition of dCi , fn ? f  dn;n? + dn;n? + : : : + d ;  Pin? dCi = sum of n-1 smallest distances. 1

1

1

21

1 =1

2

Corollary 2 If a graph is designed, containing a clique where: P n? dC > the size of the full domain, 1

i=1 i

then the graph has no admissible assignment.

Proof: Follows immediately from Proposition 2. 2 Problems with objective 3 are generated by applying Corollary 2 to accomplish that the assignment uses more frequencies than needed to ll the maximum clique.

4.4 Adding and removing edges randomly First the seperate cliques will be connected by adding edges uv 2= C randomly. For those edges it holds that duv > 0, because to form inequality contraints, di erent frequencies must be assigned to u and v. Those extra edges are added to the set of edges, that consisted of the initial edges from Property 1 and the clique edges, see Figure 4.1. The number of edges in a clique is kCS k(kCS k ? 1)=2, including the kCS k=2 initial edges.

32

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM 238

2

1 9 153

51

9 12

84

238

238 28

6 43

v

10

= vertex v

2

238

6 114

5

3

28

4

3

14

ic = edge between vertices u and v, distance ic ; | f u - f v | > ic

ec = edge between vertices u and v,

84

distance ec ; | f u - f v | = ec

238

7

ic = extra edge between u and v,

8

distance ic ; | f u - f v | > ic

Figure 4.2: Random RLFAP of 10 vertices with connected cliques. Now the total amount of edges can be calculated as follows:

X

n X n X 1 kE k = kV k=2 + kCS k(kCS k ? 2)=2 + kfuv 2= C gk = 2 aij : i j 8C =1 =1

If this amount exceeds the average number of edges of problems in the CELAR-set then edges will be removed randomly, except for the edges of (a few of) the largest cliques, in order to maintain the preset bounds. Because each edge connects two vertices, the number of edges is the sum of the degrees of all vertices devided by two:

kE k =

X 8v

(v)=2:

In the CELAR-set we noticed (3.2) that on average (v) = 12, thus the CELAR average is: kE k  6kV k: It is clear that graphs smaller than 14 vertices will not exceed this amount, because a in clique of 13 the degree of each vertex is 12. Larger graphs with a maximum clique of 10 and not more than two extra edges per vertex do not have to be reduced either.

4.5 Calculating the constraints The edges of the graph form the equality and inequality constraints of the problem that will be written in the constraint- le. The constraints are presented as follows: rst the two labels of the connected vertices, followed by the equality- or the larger sign and then the constraint that will be withdrawn from the right hand side of the constraint matrices.

4.5. CALCULATING THE CONSTRAINTS

33

Those constraints are calculated with the distance between the frequencies of the connected vertices. Therefore we consider the non-zero entries auv of the adjacency matrix A and replace them by the distance between the frequencies fu and fv such that a distance matrix A is formed: A = fduv j 8uv; auv = 1; duv = jfu ? fv jg: (4.4) Following from equations(1) and (2) the equality constraints in set E all have the value ecuv = 238 and are structured the same way for all problems: E = fecuv j 8uv; u = odd ^ v = u + 1; ecuv = duv = 238g: (4.5) The inequality constraints are calculated di erently for the various options and objectives. In order to obtain a feasible problem the inequality constraints are formed by reducing the distances duv by at least 1 forall uv 2= E . Because the minimal separation of the frequencies in D, thus the smallest duv , is 6, a reduction between 1 and 5 is always allowed and does not disturb the quality of the solution, wich we need in case of objective 1B (with optimal solution larger than clique size) and objective function 2. The adjusted distance, denoted as d~uv , then becomes: d~uv = duv ? 1 ? R(6): (4.6) In other cases a larger random reduction is possible: d~uv = duv ? 1 ? R(duv ? mind):

(4.7)

The set of inequality constraints then becomes: I = ficuv j 8uv 2= E ; icuv = d~uv g:

(4.8)

An extra adaptation takes place in case of objective function 3 in order to make the RLFAP infeasible with respect to minimizing kf k or the span, such that no admissible assignment is possible. Instead of reduction, a few distances within a clique are increased such that the minimal span of the oversized clique becomes larger than the span of D, thus the size of the minimal span is chosen maximal bandwidth: S = B and increasing this span guarantees according to Property 3a infeasibility. Priority and mobility labels are then assigned randomly to constraints and variables as needed. Figure 4.5 shows how a clique of four vertices becomes an oversized span by increasing one minimal distance above a frequency distance of 300. The span lower-bound Ls2, described in Chapter 2, then becomes: 238 + 238 + 301 = 777 > 776 = B. This holds infeasibility with respect to the minimal span- and the minimal # frequencies objectives. The optimal solution of this minimal-violation problem will only violate those constraints that follow from the increased distances. After assigning priorities randomly to the other constraints of the oversized clique, the generator will assign the lowest priority to this constraint.

34

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM 16 D:

1

170 3

2

5 4

7 6

9 11 8 10 12

240 13

254

408 414

478

554

15 17 19 21 23 25 27 29 31 33 35 37 14 16 18 20 22 24 26 28 30 32 34 36

ec

ic

ic

652

792

38 40 42 44 46 48 39 41 43 45 47

ec

ic

ic D = complete frequency domain ec = equality constraint connections, fixed distance = 238. ic = inequality constraint, larger or equal to minimal distance = 300.

Figure 4.3: A clique of four vertices without possible admissible assignments.

4.6 Pseudo code In this Section we provide the reader more insight in the algorithm by presenting the pseudo code of some procedures of GRAPH. The ultimate implementation of the numbered procedures can be found in Appendix C of this thesis. First the user answers the initial questions in a Q&A-procedure where the various options are presented. Procedure -23- of the program forms the central processing unit for the generating of the problem and solution. The problem les and the solution le are automatically stored in the directory where the program is executed and can direct be viewed in GRAPH. Possibilities are further explained in Appendix B, the users manual.

4.6.1 Generate Problem and Solution {procedure-23-} Generate-Problem&Solution; IF (wanted options and Randomseed are chosen in the Q&A-procedure) THEN Read-Frequency-Domain; IF (no maxcliquesize is chosen) THEN ||MC|| := 4+Random(min(|V|,20)-5);{procedure -22- } {Random(x), x=pos.integer, returns an integer y in [0,x-1].} IF (Equality Constraints are chosen)

4.6. PSEUDO CODE

35

THEN make ||V|| and ||MC|| even; Make-Equality-Domain; Make-Equality-Assignment;

{procedure -15- } {procedure -19-*}

ELSE Make-Inequality-Assignment; {procedure -20- } {the same procedure as in Make-Equality-Assignment but without equality constraints and structure.} ENDIF; Make-Ctr-File; {procedure -21-*} { Calculate Constraints: Matrix constraint[i,j] = filled with constraints between i and j.} Make-Var-File {procedure -17- } Make-Solution-File {procedure -18- } Make-Cst-File {procedure -16- } ENDIF;

* In the procedure -19- the cliques are formed and the frequencies of the solution are determined. In procedure -20- the graph is completed and the constraints are calculated and written in the constraints le.

4.6.2 Make Equality Assignment {procedure-19-} Make-Equality-Assignment; {hide edges and assign frequencies to unconnected vertices randomly.} {box[.,3] contains frequencies, place[.] of the A matrix orders cliques.} IF objective=1 THEN {assign different frequencies to the vertices of the hidden MC.} IF (# of used frequencies = ||MC||) THEN {assign the same frequencies from the initial maximum clique to the rest of the vertices, forming more (some maximum) cliques.} ELSE {# of used frequencies > ||MC||} {assign different frequencies to the rest of the vertices, forming more (if possible maximum) cliques.} ENDIF ELSE IF objective=2 THEN {assign different frequencies from a randomly picked span to the vertices of the hidden maximum clique.} {assign different frequencies from the initial span to the rest of the vertices, forming more (if possible maximum) cliques.}

36

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

ELSE IF objective=3 THEN {assign different frequencies from the full span of the domain to the vertices of the hidden maximum clique.} {assign different frequencies from the full span to the rest of the vertices, forming more (if possible maximum) cliques.} ENDIF

4.6.3 Make Ctr-File {Procedure -21-} Make-Ctr-File; Add extra edges randomly connecting vertices of seperated cliques with different frequencies; Remove edges of cliques, except for one or more maximum cliques, to create an average degree; IF (objective=1) or (objective=2) THEN {make constraints for a feasible span or min(# f) problem.} Calculate distance d between assigned frequencies of all adjacent vertices; IF (equality constraints) and (vertex u=odd and v=u+1) THEN write equality constraint = distance(uv) in ctr-file: u v = 238; IF (# of used frequencies = ||MC||) {objective=1} THEN Reduce d randomly to constraint c so that minconstraint =< c < min(maxconstraint,d); write inequality constraint c between u and v in ctr-file: u v > c ELSE IF (# of used frequencies > ||MC||) {objective=1 or 2} THEN Reduce d randomly to constraint c so that max(minconstraint,d-7) < c < min(maxconstraint,d); write inequality constraint c between u and v in ctr-file: u v > c ENDIF ELSE IF objective=3 THEN {make constraints with priorities for an infeasible span problem.} Calculate distance between assigned frequencies of all adjacent vertices; IF (equality constraints) and (vertex u=odd and v=u+1) { priority p = 0 } THEN write equality constraint = distance(uv) in ctr-file: u v = 238 p; IF maxconstraint < 300 THEN maxconstraint := 300 + Random(237); Reduce d randomly to constraint c so that minconstraint =< c < min(maxconstraint,d); IF (vertices u and v are element of a small clique) and (this small clique contains assigned frequencies minf and maxf)

4.6. PSEUDO CODE

37

THEN {p = priority of the constraints in this (sub-)clique} p := 1 + Random(4); IF (d < 300) THEN increase d randomly to constraint c so that 299 < c < maxconstraint; p := p + Random(5-p); write inequality constraint c between u and v in ctr-file: u v > c p ELSE Reduce d randomly to constraint c so that 299 < c < d; write inequality constraint c between u and v in ctr-file: u v > c p ENDIF ELSE p := 1 + Random(4); {random priorities for the rest of the contraints} reduce d randomly to constraint c so that minconstraint =< c < min(maxconstraint,d); write inequality constraint c between u and v in ctr-file: u v > c p ENDIF ENDIF

38

CHAPTER 4. HOW GRAPH GENERATES THE PROBLEM

Chapter 5 Tests and Experiences The direct motivation for this generator was the investigation of the RLFAP's of the CALMA-project by the Operations Research department of the faculty of Technical Mathematics and Informatics at the Technical University Delft. Therefore the rst applications and experiences come from that investigation. Using problems that were often (much) smaller than 100 vertices, IPM-algorithms (IPM stands for Interior Point Methods) were tried out and succesfully implemented and combined with various rounding schemes and exact- and heuristical preprocessing techniques by Warners [16]. Some of the computational results with a Potential Reduction IPM with rounding schemes and preprocessing techniques are displayed in the rst section. Also several smaller and larger (200 and 916 vertices) problems are being tried out by other participants of the project and their results with those GRAPH problems are discussed and compared to results with problems in the CELAR-set. With the margin between the calculated solution and the generators optimal one, the quality of the applied algorithm can be determined.

5.1 Computational results with IPM-approach on GRAPH test problems In this section the results of applying the IPM algorithm and preprocessing techniques to a number of GRAPH test problems are given. Most generated test problems can be more or less reduced by applying an exact Branch and Bound preprocessing technique. Table 5.1 shows for various generated problems of growing size the number of variables before and after preprocessing with the reduction in percentages. In three cases preprocessing results in the optimal (unique) solution, the other reduced problems are (often optimal) solved with the Potential Reduction IPM. All problems were chosen to have at least one 39

40

CHAPTER 5. TESTS AND EXPERIENCES

admissible assignment, with objective 1B, 1C or 2, or mostly as default 1A.

# v (obj.) #ic before after reduction opt. found 10 8 240 144 41% 4 4 10 16 240 158 35% 6 6 10 32 178 75 60% 8 8 16 28 384 208 47% 6 6 20 36 480 387 20% 6 6 20 80 480 272 44% 10 10 24 74 494 494 0% 6 6 26 72 624 363 43% 8 8

time

1 .5 2 .5 3 .2 4 3.7 5 .5 6 3.8 7 .5 8 21.2 9 30 84 720 538 26% 8 10 37.5 10 36 204 526 506 4% 12 14 64.2 11 40 170 670 627 7% 8 10 .8 12 40 124 786 20 100% 10 10 13 40 212 782 239 71% 18 18 8.1 14 50 240 1200 568 58% 12 12 416 15 60 296 948 30 100% 12 12 16 76 392 1544 1512 69% 10 16 47.8 17 100 502 1942 1054 47% 10 18 334 18 100 484 2400 1156 53% 12 14 72.1 19 200 1071 4064 3991 2% 12 18 880 20 200(1B) 1043 3840 100 100% 46 46 21 200(1C) 1060 3620 3425 6% ? 36 893 22 200(2) 1042 3456 302 94% 20 20 .8 23 916(2) 4725 16366 1417 94% 26 44 35.0 Table 5.1: Preprocessing results on the GRAPH test problems and found solutions

problem lower bd. solution time before after reduction

CELAR01 CELAR02 CELAR03

14 20 118 18100 7734 14 16 9.2 4002 1707 14 18 26.7 7970 3406 Table 5.2: Preprocessing results on CELAR01{03

59% 59% 59%

We conclude that this exact Branch and Bound preprocessing method can be a very powerful tool to reduce the size of the problems. Three problems are even completely solved, as it appears that only one feasible assignment exists for these problems.

5.1. COMPUTATIONAL RESULTS WITH IPM-APPROACH ON GRAPH TEST PROBLEMS41 Of course, only variables may be removed from the problem, if there exist some reasonably large interference constraints. Apparently the span -and span related- problems (objectives 1B and 2) have on average large constraints and few admissible solutions, which is also the case for CELAR instances 04 and 05. Table 5.3 shows that these problems 04 and 05 now could be solved optimally in a very small time. Other, heuristical preprocessing methods developed for preprocessing the CELAR problems, could reduce feasible CELAR instances with 59% and return an admissible solution less than 50% above known lower bounds (see table 5.2). These heuristics can not be used successful on the GRAPH problems because the existence of an admissible solution is then not guaranteed. Table 5.3 shows the IPM improvement on the solution of preprocessed CELAR problems.

problem # vertices opt. sol. time

CELAR01 916 ? 16 414 CELAR02 200 14 14 13.9 CELAR03 400 14 16 305 CELAR04 314 46 46 3.1 CELAR05 314 792 792 5.7 Table 5.3: Computational results on CELAR01{05

5.1.1 Results on two infeasible GRAPH test problems We now turn to the infeasible instances of the RLFAP . Most of the work has been devoted to solving the feasible instances of the RLFAP ; only a small number of infeasible problems has been solved. Table 5.4 gives some information on the two infeasible GRAPH test problems. Only the larger one was preprocessed. The penalty coecients were set to ai = 10 ?i; i = 1; 2; 3; 4 (no mobilities of the links were given). 4

1 2

# vertices opt. #ic before after reduction 12 100 32 214 40 2130 124 704 636 10% Table 5.4: Two infeasible GRAPH problems

In Table 5.5 the computational results on these problems are shown: various rounding schemes were applied and combined with the IPM.

42

CHAPTER 5. TESTS AND EXPERIENCES

(The solution marked with * can be improved to 2794 by applying a 1{optimal algorithm.) We conclude that, although the algorithm manages to nd an optimal solution for a relatively small problem, it appears that for larger problems it has more diculty nding a good assignment; it generates fairly good assignments, though. In the investigation of the applicability of IPM-methods for solving the RLFAP's in the CALMA-project, using generated graphs of increasing sizes showed the e ectiveness of the various algorithms that could be used to solve the CELAR problems.

5.2 Released test problems We have released two sets of ve test problems of size 200 and 916 links respectively generated by GRAPH . We have earlier given the TU Eindhoven group the rst three instances of the 200-link set just to verify that the generator provides non-trivial test problems. Their preliminary results indicate this to be the case and in fact, these problems seem to be a bit harder than the comparable CELAR02. The rest of the data set are all freshlygenerated. It is quite possible that the 916-link set may have di erent diculty/triviality levels (either easier or harder) than the 200-link set due to the big di erence in dimension. Furthermore, each problem has been designed with particular strategies that may make it easier or harder to solve. The idea is to test some hypotheses regarding the resulting diculty level of each strategy. The test problems are available via anonymous ftp from dutiosd.twi.tudelft.nl under the directory /pub/others/rlfap/. The instances are organized into the subdirectories TUD200.1, TUD200.2, TUD200.3, TUD200.4, TUD200.5, TUD916.1, TUD916.2, TUD916.3, TUD916.4, and TUD916.5 with each subdirectory having its associated *.txt les. A README.TUD le describing the released test problems accompany the data set. Appendix A gives a verbatim reproduction of the contents of this le.

5.3 Discussion Table 5.6 views the results from the RLFAP-group at the TU Eindhoven concerning the above described released problems. This group very succesfully developed several approximation algorithms for the RLFAP that are all based on the principal of local search, which is a powerful tool often used for hard combinatorial problems [15]. Experimental results with GRAPH problems are very satisfying: optimal solutions given by the generators appear to be often hard to approach and/or consume much calculation time by the various applied methods, which indicates nontriviality. Solving generated

5.3. DISCUSSION

43

problems seams to be harder than using the same approach for comparable problems in the CELAR-set, displayed in Table . This can be explained by the fact that although the structure of the graphs is similar, the generated problems contain less redundant information in the constraints. With the margin between the calculated solution and the generators optimal one, the quality of the applied algorithm can be determined.

44

CHAPTER 5. TESTS AND EXPERIENCES

# vertices opt. found time

1 12 100 100 8.6 2 40 2130 *2895 47.1 2pp 40  2130 2776 343 Table 5.5: Computational results on two infeasible GRAPH problems

instance objective found time GRAPH 's bounds (# vertices) function value (sec) lower bd. Up.bd./opt.

1 TUD200.1 1A 14 27 12 12 2 TUD200.2 1B 46 49 12 46 3 TUD200.3 1C 18 283 12 44 Up.bd. 4 TUD200.4 2 span 20 f. 101 294 580 (20 f.) 5 TUD200.5 3 viol. 6 146 4 6 TUD916.1 1A 40 420 18 18 7 TUD916.2 1B 48 11016 18 48 8 TUD916.3 1C 40 130 18 48 Up.bd. 9 TUD916.4 2 span 13viol. 10765 350 622 (26 f.) 10 TUD916.5 3 viol. 407 11435 25 Table 5.6: TU Eindhoven's Computational results on GRAPH test problems

instance

objective found time lower function value (sec) bound

(# vertices) CELAR01 (916) order 16 396 14 CELAR02 (200) order 14 2 14 CELAR03 (400) order 16 6 14 CELAR04 (680) order 46 80 46 CELAR05 (400) span 776 49 776 Table 5.7: TU Eindhoven's Computational results on CELAR problems

Chapter 6 Conclusions The generator has been designed to work so that no obvious heuristic algorithm can easily nd the optimal solution for the generated NP-complete problem. Present experiences with the tested random problems still subscribe this. One has to take into consideration that the structure of the generated problems is partly preset and optional but also always partly random, so that, even if the user exactly knows and understands the working of GRAPH, the resulting problem is unpredictable and always di erent. Still, the problem is exactly reproducible by using the same random seed and options, presented with the chosen (or random) upper and lower bounds and accompanied by an assignment within those bounds. Because of the small size of the generated problems and various known properties and bounds, they can provide more insight in complex real problems like the Maximum Clique Problem, the Graph Coloring Problem and especially RLFAP's. Experimental results with GRAPH problems were very satisfying: optimal solutions given by the generators appear to be often hard to approach by the various applied methods. Calculation time necessary for the approach of generated problems is often signi cant higher than for comparable problems in the CELAR-set. This can be explained by the fact that although the structure of the graphs is similar, the generated problems contain less redundant information in the constraints. With the margin between the calculated solution and the generators optimal one, the quality of the applied algorithm can be determined. In the investigation of the applicability of IPM-methods for solving the RLFAP's in the CALMA-project, GRAPH proved to be a helpful tool. Using generated graphs of increasing sizes, IPM algorithms were tried out and successfully implemented and combined with various rounding schemes [16].

45

46

CHAPTER 6. CONCLUSIONS

Summarising the experiences, we state that the generator could come up with

    

non-trivial problems in sizes between 6 and 998 links, RLFAP's with various options and objectives, RLFAP's similar to the CELAR problems ( les),

lower- and strict lower bounds, optimal solutions.

Therefore: GRAPH proved to be a helpful tool in developing, testing and comparing RLFAP algorithms.

Bibliography [1] I. Baybars. Optimal assignment of broadcasting frequencies. European Journal of Operational Research, 9:257{263, 1982. [2] C. Bron and J. Kerbosch. Finding all cliques of an undirected graph. CACM, 16:575{ 577, 1973. [3] D. D. Crombie. Scaning the issue (on ecient use of the spectrum). Proceedings of the IEEE, 68:1457{1459, 1980. [4] A. Gamst. Some lower bounds for a class of frequency assignment problems. IEEE Transactions on Vehicular Technology, 35:8{14, 1986. [5] A. Gamst and K. Ralf. Computational complexity of some interference graph calculations. IEEE Transactions on Vehicular Technology, 39:140{149, 1990. [6] M. R. Gary and D. S. Johnson. The complexity of near-optimal graph colouring. JACM, 23:43{49, 1976. [7] W. K. Hale. Frequency assignment: theory and applications. Proceedings of the IEEE, 68:1497{1514, 1980. [8] D. den Hertog. Interior Point Approach to Linear, Quadratic and Convex Programming. Kluwer Academic Publishers, The Netherlands, 1994. [9] R. M. Karp. Reducibility among combinatorial problems. In R. E. Miller and Plenium Press J. W. Thatcher, editors, Complexity of Computer Computations, New York, 1972. [10] T. A. Lanfear. Graph theory and radio frequency assignment. Technical report, Allied Radio Frequency Agency NATO Headquarters, B-1110 Brussels, Belgium, 1989. [11] J. K. Lenstra and A. H. G. Rinnooy Kan. Computational complexity of discrete optimization problems. Annals of Discrete Mathematics, 4:121{140, 1979. [12] B. H. Metzger. Spectrum management technique. Talk presented at the 38th National ORSA Meeting (Detroit, MI), Fall, 1970. 47

48

BIBLIOGRAPHY

[13] C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall Inc., Englewood Cli s, NJ, 1982. [14] P. M. Pardalos and J. Xue. The maximum clique problem. Technical report, Department of Industrial and Systems Engineering, 303 Weil Hall, University of Florida, Gainsville, FL 32611, 1992. [15] S. Tiourine, C. Hurkens, and J. K. Lenstra. Frequency assignment by local search. Technical report, Eindhoven University of Technology, Eindhoven, The Netherlands, 1994. [16] J. P. Warners. A potential reduction approach to the radio link frequency assignment problem. Master's thesis, Faculty of Technical Mathematics and Informatics, TU Delft, The Netherlands, 1995. [17] A. B. Wisse. A new approach to frequency assignment. Master's thesis, Faculty of Technical Mathematics and Informatics, TU Delft, The Netherlands, 1993.

Appendix A The le README.TUD, containing released test problems This file describes the random test instances for the Radio Link Frequency Assignment Problem (RLFAP) found in this ftp site. These instances were generated using the GRAPH (Generating Radio link frequency Assignment Problems Heuristically) generator developed in TU Delft by H.P. van Benthem for his thesis and as part of the TU Delft RLFAP group. These instances have been made available in the framework of the European EUCLID CALMA RLFAP Project. We are testing some hypotheses about several strategies used by the program to generate different types of test problems and about the quality of some a priori solution/bound information that the generator provides for each test problem. We would thus appreciate it if you can inform us of your results on these test instances (send mail to [email protected]). The test instances here are patterned after the CELAR data set and hence, each instance is described by four files cst.txt, ctr.txt, var.txt, and dom.txt. Please see the file README.CELAR in this directory for a description of the CELAR data set and the structure of the above files. There are two sets of five test problems here, each with 200 and 916 links respectively. The instances are organized into the subdirectories TUD200.1, TUD200.2, TUD200.3, TUD200.4, TUD200.5, TUD916.1, TUD916.2, TUD916.3, TUD916.4, and TUD916.5 with each subdirectory having its associated *.txt files (except for the dom.txt file which can be found in the CELAR data set since it is the same for all problem instances).

49

50APPENDIX A. THE FILE README.TUD, CONTAINING RELEASED TEST PROBLEMS FACTS ABOUT THE PROBLEMS -----------------------PROBLEMS 200.1, 200.2, 200.3, 916.1, 916.2, 916.3 -----------------------------------------------There is at least one solution. No soft constraint, no initial assignment of the variables. The optimization criterion is the number of used values. Problem Problem Problem Problem Problem Problem

200.1: 200.2: 200.3: 916.1: 916.2: 916.3:

200 200 200 916 916 916

var., var., var., var., var., var.,

1171 1143 1160 5177 5173 5262

con. con. con. con. con. con.

PROBLEMS 200.4, 916.4 --------------------There is at least one solution. No soft constraint, no initial assignment of the variables. The optimization criterion can either be the number of used values or the span between the used frequencies. Problem 200.4: 200 var., 1143 con. Problem 916.4: 916 var., 5183 con.

PROBLEMS 200.5, 916.5 --------------------There is no solution satisfying both hard and soft constraints. No initial assignment of the variables. Weight index of the constraints: Group D Group C

0 1 or 2 or 3 or 4 (see ctr.txt)

(The cst.txt file for this problem does not list the penalties for constraint violation. Any of the penalty structure in the CELAR instances may be used.) Problem 200.5: 200 var., 1125 con. Problem 916.5: 916 var., 5123 con.

Appendix B GRAPH Users Manual Before GRAPH starts generating a random problem, rst a global outline has to be set in order to become a structurised Radio link frequency Assignment Problem. GRAPH will present 6 questions that put the user in the opportunity to make choices about the size of the Graph and the maximum clique (size is de ned by the number of vertices), how many frequency domains will be used, the type and values of the constraints and the objective function that has to be optimized. The user even is in the position to create the conditions for a Coloring or Maximum Clique Problem. The generated problem will be presented in four output les, while one extra le contains a minimal domain and an other reveals a solution to the generated problem.

B.1 Working with GRAPH GRAPH has two di erent users-levels:

1. You enter in the rst users-level, where you have the following options: (Type the command, printed between quotations, and ENTER) 'he' to bring you into the HELP- le, 'qq' to leave GRAPH, 'q' to restart GRAPH, 'pd', 'd', to go (page) -down or -up in the viewed le. 'pu', 'u' (not the whole le is open, only the rst 76 lines), 'n' to open the next 76 lines of the present le, 'nf' to open the rst 76 lines of another le, 'tu' to turn the page: a rotation over 90 degrees, 51

52

APPENDIX B. GRAPH USERS MANUAL 'li' 'go' or 'g'

to open the library with the generated les, (the library is empty until GRAPH has generated a new problem in the second users-level), to go to the generator-part: the second users-level.

2. After choosing the 'go'-option in the rst user level, you enter the second users-level, where the actual problem-generating can be done. In order to put the computer to generate, you have to answer a number of questions: The input line (bottom) presents the questions you can answer (and ENTER), GRAPH uses the default answer when the question is just answered with [ENTER]: 1. How many vertices (frequency users)? [6,998] (Give a number within the domain that is shown.) 2. Give the size of the maximum clique: [4,20] (the maximum clique size must always be smaller then the # of vertices.) 3. Equality constraints? [y/n] (Type n for no equality constraints, yes is the default answer.) 4. Use di erent frequency domains? [y/n] (Type n for 1 domain, the default is using 7 domains.) 5. De ne [min,max] constraint values. (constraints will be randomly chosen between a minimum and a maximum value, in the default case within [1,536].) 6. Objective function=? (Type: 1 for minimizing the number of frequencies, (minimal order) 2 for minimizing the frequency span, and the default is 3 for minimizing the violation of the constraints.) More questions that follow after answering question 6 with objective 1 or 3 are: (obj.1): 6b. # of frequencies in solution = max.clique size? (no=default) [y/n]: 6c. solution = optimal? (y=default/n=upper bound solution): (obj.3): 6b. With mobility frequencies? (no=default) [y/n]:

B.1. WORKING WITH GRAPH

53

The last input desired from the user is a Random seed to feed the Random generator. The given integer will be stored in the solution le so that the randomly generated problem can be reproduced by using this stored Random seed. With this generator you will be able to get your own test problems. The nature and size of the problem depend on the answers you give on the questions shown above in the second users-level. These questions and options are explained below. question 1 The size of the problem is determined by the number of vertices to assign a frequency to. These vertices will be connected randomly with constraints, so that a GRAPH is created, with an option to choose the maximum clique yourself in question 2. question 2 If you answer question 2 with pressing [ENTER] the maximum clique size will be chosen randomly between 4 and 18. question 3 The generator will select at random a list of constraints between the vertices, except for the equality constraints, if you choose for using them, that are preset: each odd vertex has a distance of 238 to the next even vertex. question 4 You can choose for the use of one single domain with all 48 available frequencies or 7 di erent domains with various frequencies, displayed in the le 'dom.gen'. question 5 The default values of the constraints will be in [1..536], unless you choose otherwise by typing a minimum value, a space and a maximum value. The minimum value should be in [1..13], the maximum value in [minimum value..999]. question 6 There are three objective functions to choose for the problem. Extra questions in case of Objective 1 may be: question 6b ( # of frequencies in the solution = maximum clique size? no=default ). If you answer with 'y'(=yes) then the solution in the sol.gen le will be optimal. If you press [ENTER], the sol.gen-solution has the maximum clique size as a lower bound for the number of used frequencies, but may not be optimal. question 6c If you prefer it to be optimal, answer question 6c: ( solution = optimal? [y=default/n=upper bound solution] ) also with [ENTER]. In case of objective 3 the extra question is: question 6b ( With mobility frequencies? no=default) [y/n] ) Objective 3 returns a problem that would be infeasible in respect with objective 1 or 2: one will have to violate one or more constraints in order to assign a frequency from the permitted domains to each vertex. The penalties are determined by the priorities after each constraint. In some cases some vertices have preset frequencies, some may and some may not be changed. Answering 6b, objective 3 with 'y' results in such a problem.

54

APPENDIX B. GRAPH USERS MANUAL

The names of the les of the generated problem are stored in the library. The ctr-, cst-, var- and dom- les have the same structure as the corresponding CELAR- les. ctr.gen: contains the constraints concerning the required frequency distance with, in case of objective 3, their priorities. cst.gen: contains the objective for the optimization and the number of constraints. var.gen: contains the vertices with their disposed frequency domain and, in case of objective 3b with mobilities, their preset frequency with mobility. dom.gen: contains all frequency domains, similar to the CELAR dom- les, with the 7 di erent domains preceded by the union of the 7 domains: domain 0 with all 48 frequencies. dommin : An extra 'minimal' domain to assign from. sol.gen: The generator will not only give the random generated problem, but will also know a lower bound and the optimal solution or an upper- bound on this problem, presented in this sol.gen le. This way the user has a comparison that shows the quality of the used assignment algorithm. This le also contains the information about the chosen options and the Random seed, so that this problem can be reproduced.

Appendix C Pascal code of the generating part of GRAPH In this Appendix we provide the ultimate implementation in Turbo Pascal 7.0, of some procedures of GRAPH. They are meant to illustrate how the actual generation behind the pseudo code presented in Chapter 4 is realized. First the user answers the initial questions in a Q&A-procedure where the various options are presented. Procedure -23- of the program forms the central processing unit for the generating of the problem and solution. The problem les and the solution le (procedure -18-) are automatically stored in the directory where the program is executed and can direct be viewed in GRAPH, as implemented in Procedure -26-. Options and possibilities are further explained in Appendix B, in the users manual. The procedures that are left out in order to save much space, deal with the screen setup, the help- and the initial le and all interactions with the user besides the generating algorithm. Sparse-matrix techniques are used in the algorithm to store the placing of the nonzero entries of the right hand side of the adjacency matrix. Those entries are stored in variable 'constraint' of 'cons type' and will be used to calculate distances between the connected vertices. The array called 'box' stores the vector with the assigned frequencies, accompanied by the domain label, the vertices and how they are ordered. program FRASPgenerator (input,output); {$M 65520,0,655360}

{ using maximum memory

uses Crt;

{ screen-control-device (gotoxy-orders). }

55

}

56

APPENDIX C. PASCAL CODE OF THE GENERATING PART OF GRAPH

const maxtekst = 76; { if maxtekst is unequal to maxbreedte, maxbreedte = 76; { then procedure "Turn" can not be used. screen = 20; maxtekstminscherm = 56; com = 24; { com = sreen + 4: command-line position maxlinknumber = 1000; maxedges = 20; { maximum degree may be much larger!

} }

} }

type constype = array [1..maxlinknumber,1..maxedges] of integer; {The compressed adjacency matrix is stored in a constype array named constraint} tekst = array [1..maxtekst,1..maxbreedte] of char; deeltekst = array [1..screen,1..maxbreedte] of char; domains = array [1..50,1..8] of integer; {50=48 freq.+2, 8=#of domains} eqdomain = array [1..24,1..2] of integer; {equality constr.[i,1],[i,2]} regel = array [1..maxbreedte] of char; woord = string[12]; filenaamtype = string[12]; answertype = string[2]; var

memo box bestand hoogte, tal infile, uitfile filenaam, nieuwefilenaam naam antw verder, opnieuw

: : : : : : : : :

tekst; array [1..maxlinknumber,1..4] of integer; array[1..screen] of woord; integer; text; filenaamtype; woord; char; boolean;

{Only procedures that are involved in generating the problems and files are given:}

C.1 Make Domain (-15-) {-15-} procedure MakeDomain(var doms, dof: domains; var eqdoms: eqdomain); {fils doms with frequencies in each domain, eqdoms split according eq.constr. {dof contains for each frequency the channel and all domains var i, j, k, info, stop, counter : integer; domin : text; begin assign(domin,'dom.gen'); reset(domin); for j:=1 to 8 do

} }

C.1. MAKE DOMAIN (-15-)

57

begin i:=0; stop:=50; while (i < stop) do begin i:=i+1; read(domin,info); if i=2 then stop := (info+2); doms[i,j] := info; end; readln(domin) end; for i:=1 to 12 do begin eqdoms[i,1]:=doms[i+2,1]; {freq eqdoms[i,1] + 238 = freq eqdoms[i,2]} eqdoms[i,2]:=doms[i+15,1]; { 0 < i < 14 } end; eqdoms[13,1]:=doms[15,1]; eqdoms[13,2]:=doms[33,1]; for i:=14 to 18 do begin eqdoms[i,1]:=doms[i+26,1];{freq eqdoms[i,1] - 238 = freq eqdoms[i,2]} eqdoms[i,2]:=doms[i+14,1]; { 13 < i < 25 } end; for i:=19 to 24 do begin eqdoms[i,1]:=doms[i+26,1]; eqdoms[i,2]:=doms[i+15,1] end; for i:=3 to 50 do { for each of the 48 frequencies:} begin info:=doms[i,1]; dof[i,1]:=info; { dof[3,.] t/m dof[50,.] } counter:=0; for j:=2 to 8 do begin k:=2; stop:=doms[2,j]+2; { look if domains contain frequency } while k ',dist); writeln(outconstrfile); end; { if inequality constraints } ctrnumber:=ctrnumber+1; end { constraint>0 } else j:=stop end; { while j2) then {Eq.C} begin write(outconstrfile,i:3,' ',k:3,' D = 238 ');{space on end} writeln(outconstrfile) end { if equality constraint (i+1=k, i=odd) } else begin dist:= abs(box[k,3]-box[i,3])-1; if dist>maxcons then begin if maxcons>(mincons+4) then dist:=maxcons-Random(6) else dist:=maxcons; end; {if dist(mincons+4) then dist:= dist-Random(6); write(outconstrfile,i:3,' ',k:3,' C > ',dist,' '); {+space} writeln(outconstrfile); end; { if inequality constraints } ctrnumber:=ctrnumber+1; end { constraint>0 } else j:=stop end; { while j3) then { make infeasible-problem constraints } begin l:=0; { l= the counter for the number of max cliques.} ctrnumber:=0; { 'ctrnumber' is the constraints counter } for i:=1 to (linknumber-2) do { calculate & write constraints in file} begin j:=0; stop:=constraint[i,maxedges]; { stop= # of cons for each i} while (j0 then begin if (k=i+1) and (i mod 2= 1) and (level mod 10>2) then {Eq.C} begin write(outconstrfile,i:3,' ',k:3,' D = 238 0'); writeln(outconstrfile) end { if equality constraint (i+1=k, i=odd) } else begin ii:=0; dist:= abs(box[k,3]-box[i,3])-1; {find a 4-clq} m := box[i,4] mod clqsize; n :=(box[k,4]-1)mod clqsize; md:= box[i,4] div clqsize; nd:=(box[k,4]-1)div clqsize; if (md=nd) and ((m=1)or(m=2)) and ((n=2)or(n=3))then {make infeasible!} begin if maxconsmaxcons then dist:=maxcons; dist:=dist-Random(dist-300);extra:=0; write(outconstrfile,i:3,' ',k:3); write(outconstrfile,' C > ',dist:3,' '); ii:=1+Random(priorray[md+1]); write(outconstrfile,ii) end; end else begin if dist>(mincons+4) then dist:= dist-Random(6); if dist>maxcons then begin if maxcons>(mincons+4) then dist:=maxcons-Random(6) else dist:=maxcons; end;{if dist300) and (Random(10)maxcons then begin if maxcons>(mincons+4) then dist:=maxcons-Random(6) else dist:=maxcons; end; {if dist0 } else j:=stop end; { while j0 then tal:=5; LibraryInfo(script); {-12-} if tal>0 then begin hoogte:=-3; exit end; end else if (answer='qq') then begin edit := false; schrijf:= false; hoogte :=-2 end else if answer='go' then Generater { tal:=5 }

{-24-}

else schrijf:=false; if schrijf=true then Setscreen(memo,hoogte); {-3-} end {if edit =true then ChoiceMaker(Memo,hoogte) -26-(whileloop)} end;

Suggest Documents