You are on page 1of 21

Ann Oper Res (2006) 147:87107

DOI 10.1007/s10479-006-0063-2
A primogenitary linked quad tree data structure and its
application to discrete multiple criteria optimization
Minghe Sun
Published online: 22 August 2006
C _
Springer Science Business Media, LLC 2006
Abstract Adata structure called the primogenitary linked quad tree is developed. Each node
in the data structure has a pointer to its parent, a pointer to its immediate existing younger
sibling, a pointer to its eldest existing son, and an integer as its successorship to its parent.
To access any other son of a node, the rst-born existing son must be accessed rst. The
siblings of the same parent are managed as a linked list. This data structure is an extension or
enhancement of the traditional quad tree data structure. The primogenitary linked quad tree is
applied to discrete multiple criteria optimization for the identication, storage, and retrieval
of nondominated criterion vectors. Algorithms managing this data structure are developed
and implemented. Major advantages of using the primogenitary linked quad tree instead of
the traditional quad tree are savings in memory or storage space and savings in execution time.
Examples are provided to demonstrate the application. A computational experiment is con-
ducted to test the performances of the data structure and the algorithms. Computational results
showthat this data structure uses only a small fraction of the CPUtime used by the traditional
quad tree to perform the same task. Using this data structure, the identication, storage and
retrieval of nondominated criterion vectors become an easy task for discrete multiple criteria
optimization problems with many criteria and hundreds of thousands criterion vectors. This
data structure can also be used for storage and retrieval of data with composite keys in other
applications.
Keywords Data structures
.
Quad tree
.
Primogenitary linked quad tree
.
Multiple criteria
optimization
.
Multiple criteria decision making
Trees have been the most widely used data structures in computer science for keeping track
of hierarchical relationships among their elements, called nodes. Binary trees are the basic
types of trees that are appropriate data structures for storing and representing linearly ordered
data or data with linearly ordered keys. Quad trees, as generalizations of binary trees, are
M. Sun (

)
College of Business, The University of Texas at San Antonio,
San Antonio, TX 78249-0632
e-mail: minghe.sun@utsa.edu
Springer
88 Ann Oper Res (2006) 147:87107
appropriate data structures for storing and representing data, or data with composite keys, in
+
k
for k 1. The quad tree data structure was rst introduced and implemented by Finkel
and Bentley (1974). Among others, quad trees have been employed in discrete multiple
criteria optimization (DMCO) (Borges, 2000; Habenicht, 1982, 1991; Sun, 1992; Sun and
Steuer, 1996a, 1996b, 2000), geometric information systems (Bern, 1993; Chen, Szczerba,
and Uhran, 1997; Pemmaraju and Shaffer, 1994; Roberts, Gahegan, and Hoyle, 1991; Samet,
Shaffer, and Webber, 1987), image processing (Bao and Grabowski, 1998; Chung and Yan,
2001; Finnigan, Hathaway, and Lorensen, 1990; Lee, 2000; Lee and Chang, 2000; Markas
and Reif, 1992; Unnikrishnan, Shankar, and Venkatesh, 1988; Wu and Fang, 1994), and com-
puter aided design and computer aided manufacturing (Allada and Anand, 1992; Saxena and
Irani, 1993).
In this study, a data structure called the primogenitary linked quad tree (PLQT) is in-
troduced. Each node in this data structure has three pointers, one to its parent, one to its
immediate existing younger sibling, and the other to its eldest, or rst-born, existing son. In
addition, it stores an integer as its successorship to its parent. For notational convenience, the
quad tree with a pointer to each of its sons is called the traditional quad tree (TQT) in this
study. Using different connections between its nodes, the PLQT is an extension or enhance-
ment of the TQT. As compared to the TQT, the PLQT saves memory or storage space and
speeds up the execution of the algorithms managing the data structure. The PLQT is applied
to DMCO for the identication, storage and retrieval of nondominated criterion vectors. Al-
gorithms for inserting elements into, deleting elements from, and searching elements in the
PLQT are developed and implemented. The performances of the PLQT and the algorithms
are compared with those of the TQT and of the linear list through a computational experi-
ment. Computational results on a variety of test problems show that the PLQT approach is
clearly superior to the other two approaches.
The rest of the paper is organized as follows. In Section 1, the denitions and concepts
of the PLQT are given and the structure of the PLQT is described. The application of the
PLQT to DMCO is discussed in Section 2. Algorithms and operations managing the PLQT
are developed in Section 3. Examples are presented in Section 4. Computational results are
reported in Section 5. Concluding remarks are given in Section 6.
1 The primogenitary linked quad tree (PLQT) data structure
APLQT is used to process, store and retrieve data, or data with composite keys, in +
k
for k
1. A generic vector in +
k
is represented by z +
k
and a specic vector in +
k
is represented
by z +
k
with superscript, such as z
r
, z
s
or z
t
, or subscript, such as z

or z
l
. As for any tree
data structures, the terminologies used to describe a PLQT are borrowed from genealogy
that describes the hierarchical relationship between a person and his or her ancestors and
successors (Stubbs and Webre, 1987). The denition of a PLQT is given recursively.
Denition 1. A primogenitary linked quad tree (PLQT) is a nite set of elements one of
which, if any, is called the root and the rest are partitioned into 2
k
disjoint sets each of which
is itself a PLQT, called a subtree.
An element of a PLQT is a node that consists of two parts, a data part and an address
part. The data part is a record that may be a vector z +
k
or may have a vector z +
k
as its
composite key. In the later case, the record has other data elds. Because the composite key
uniquely identies a data record, z refers to both the composite key and the record. Since
reference to a node is an implicit reference to z, z is also used to represent both a node and
Springer
Ann Oper Res (2006) 147:87107 89
the vector that it contains. The address part contains locations of other nodes to which the
node is directly connected in the hierarchy. When implemented, a node may be represented
by a structure, such as a struct in C, or by rows of multiple multidimensional arrays, such
as in Fortran. A generic PLQT is represented by T and a PLQT rooted at z is represented by
T
z
. The fact that z is a node in T is represented by z T .
Denition 2. If z
r
T is the root of T and z
s
T is the root of any of its subtrees, z
r
is
called the parent of z
s
and z
s
is called a son of z
r
. P(z) is used to denote the parent of z.
For data in+
k
, a node mayhave upto2
k
sons. The sons are ordered, or indexed, sequentially
from 0 to 2
k
1. Some of the sons may not exist in T . A position in T is available for each
son even if it does not exist.
Denition 3. If z
s
is a son of z
r
and is at the t h position when the sons are ordered, z
s
is
called the -son of z
r
and is called the successorship of z
s
to z
r
. S(z) is used to denote the
successorship of z to its parent, i.e., z is the S(z)-son of its parent. The son of z T with the
smallest successorship among all existing sons of z is called the eldest (rst-born) existing
son of z. F(z) is used to denote the eldest existing son of z.
It is not absolutely necessary to store S(z) for any z because S(z) can be determined when
needed. However, storing S(z) saves execution time.
Denition 4. Nodes sharing the same parent are siblings. If z
s
is the -son of z
r
and z
t
is the
-son of z
r
with < , then z
s
is an elder sibling of z
t
and z
t
is a younger sibling of z
s
.
In addition, if no other sibling exists between z
s
and z
t
, z
s
is the immediate existing elder
sibling of z
t
and z
t
is the immediate existing younger sibling of z
s
. N(z) is used to denote
the immediate existing younger sibling of z.
In a PLQT, every node except for the root has a unique parent. A node that does not have
an existing son is a leaf node. Every node that is not a leaf node has at least one existing son
and may have up to 2
k
existing sons.
Denition 5. If z T is the root, it does not have any ancestors; otherwise, P(z) and all the
ancestors of P(z) are the ancestors of z. Node z does not have any other ancestors.
Denition 6. If z T is a leaf node, it does not have any successors; otherwise, each son of
z and all the successors of each son of z are the successors of z. Node z does not have any
other successors. If the successorship of z
s
to z
r
T is , z
s
is called a -successor of z
r
.
Denition 7. Each node in a PLQT is at a particular level. The root is assigned level 0, and
each son has a level that is 1 greater than the level of its parent. The height of a PLQT is the
maximum level of any of its nodes.
Afully lled, or balanced, PLQThas 2
lk
nodes at level l except for the last level. Otherwise,
the PLQT is partially, or sparsely, lled.
Denition 8. All the subtrees rooted at z
r
and at the younger siblings of z
r
form a lineage
forest led by z
r
. F
z
is used to denote a lineage forest led by z.
Springer
90 Ann Oper Res (2006) 147:87107
The address part of a node z T has four elds, three pointers pointing to P(z), N(z) and
F(z), respectively, and one integer, S(z). NULL is used to denote a node that does not exist. A
pointer, or node, points to NULL if it points to nowhere. From z, P(z), N(z) and F(z) can be
accessed directly and all other nodes in T can be accessed from z only through these nodes.
Specically, P(z) has to be accessed before other ancestors of z can be accessed, F(z) has
to be accessed before other sons of z can be accessed, and N(z) has to be accessed before
other younger siblings of z can be accessed. The siblings of the same node are connected and
managed as a linked list. Therefore, the data structure is called the primogenitary linked
quad tree to reect the way that the nodes are connected. In addition, compositions of the
above notations may be used when convenient. For example, F(P(z)) is used to represent the
eldest existing son of the parent, i.e., the eldest sibling, of z.
A node in a TQT also has a data part and an address part. The data part is exactly the
same as that in a PLQT. The address part has 2
k
pointers each of which points to one son
and has one additional pointer which points to the parent. Following the pointer to its -son
from z for any 0 2
k
1, we can nd where its -son is located or if its -son exists.
When k is small, e.g., when k < 4, the TQT can be very efcient in both memory utilization
and execution speed because not much memory space is used to store the address part and
because any node can be accessed directly from its parent. However, the TQT becomes less
efcient when k becomes large, especially when it is sparsely lled. It becomes inefcient
in memory utilization because many sons of a node may not exist so that the corresponding
pointers point to NULL and these memory spaces are wasted. It becomes inefcient in
execution because the pointer to each son needs to be checked when the TQT is traversed
whether the son exists or not. However, it is unnecessary to store S(z) for any z in a TQT.
Other researchers also showed that using linked lists and/or other auxiliary structures in
trees can improve efciency although the implementation details were not the aim of their
research. For example, Borges (2000) used associative arrays when implementing the TQT.
When depicted graphically, a node is usually represented by a rectangle and a pointer from
a node is shown as an arc. A node in a TQT and a node in a PLQT are shown in Fig. 1. The
successorship of the node to its parent, S(z), in a PLQT is shown on the top and the data part
is shown at the bottom. Small example PLQTs storing data in +
3
are presented graphically
in Figs. 24. In these gures, pointers to NULL are not shown.
One advantage of the PLQT over the TQT is that the memory space needed to store the
address part of a node is independent of k. When k is small, e.g., when k = 2, there are no
savings in memory space. However, when k increases, the memory space needed to store
the address part in a TQT increases exponentially with k while that in a PLQT does not
change. Another advantage of the PLQT over the TQT is the speed of execution when k
is large and when the data structure is sparsely lled. Although it is impossible to reach
its -son directly from z if > S(F(z)), it is also not necessary to check many pointers
to NULL. Furthermore, many operations on the data structure traverse the sons of a node
sequentially.
2 Application to discrete multiple criteria optimization (DMCO)
Multiple criteria optimization models can be used to represent and solve many practical
decision making problems (Steuer, 1986; Yu, 1985). A general multiple criteria optimization
model can be stated formally as
max z = f (x) (1)
Springer
Ann Oper Res (2006) 147:87107 91
(b) Structure of a Node in a PLQT (a) Structure of a Node in a TQT
2 1
k
son
0son 1son
( ) z P
z
( ) z P
( ) z N
( ) z F
( ) z S
z
Fig. 1 Comparison of a node in a TQT and a node in a PLQT
s.t. x X. (2)
In (2), X +
n
is the feasible region and each x X is a feasible solution in decision
space. For a DMCO problem, X is a set of discrete points in +
n
. The vector of objective
functions (1), f : +
n
+
k
, maps each x +
n
to a z +
k
. The set Z +
k
, such that
Z = {z[z = f (x), x X], is the feasible region in criterion space and each z Z is a criterion
vector. The criterion vector z = f (x) measures the quality of the solution x X. A DMCO
problem can be analyzed directly in criterion space because all z Z are explicitly known
if all x X are explicitly known.
A z Z is nondominated if and only if there does not exist any z Z such that z
i
z
i
for all i = 1, . . . , k and z
i
> z
i
for at least one i (Steuer, 1986). A z Z strongly dominates
another z Z if z
i
> z
i
for all i = 1, . . . , k (Sun and Steuer, 1996b). If z strongly dominates
z, z also dominates z. The vector z

+
k
, such that z

i
= max {z
i
[ z Z], is the ideal
point. For practical problems, z

is usually infeasible, i.e., z

/ Z, and its inverse image in


decision space typically does not exist (Sun, 2005). A utopian point z

is obtained from
z

by adding an
i
to z
i
, i.e., z

i
= z

i

i
, where
i
> 0 and small for all i . Although
z

and z

are infeasible, they are usually used as reference points in solution procedures.
An optimal solution is dened to be a nondominated solution that maximizes the decision
makers value function. However, the value function is unknown or hard to assess and is used
only conceptually to dene the optimal solution (Steuer, 1986; Yu, 1985).
When a DMCO problem is solved, the rst step is usually to identify all nondominated
criterion vectors because dominated solutions are not contenders for an optimal solution
(Steuer, 1986). The set of all nondominated criterion vectors is called the nondominated set.
The next step is to select a solution from the nondominated set as the nal solution. Different
solution procedures use different strategies in identifying nondominated criterion vectors and
in selecting the nal solution.
When a PLQT is used to solve DMCO problems, like in the TQT approach, the nondom-
inated criterion vectors are identied and stored in a domination-free PLQT, also denoted
by T . The data part of a node in a PLQT in this application is a criterion vector z Z.
A PLQT is domination-free if no z
s
T is dominated by any other z
t
T (Habenicht,
Springer
92 Ann Oper Res (2006) 147:87107
1982). Nondominated criterion vectors are then retrieved from T when the nal solution is
selected.
2.1 Identication of nondominated criterion vectors
When two criterion vectors z
r
Z and z
t
Z are compared component wise, a binary digit

i
is dened as

i
=

0, if z
t
i
z
r
i
1, otherwise
(3)
and an integer is dened as
=
k

i =1

i
2
i 1
. (4)
Then is the successorship of z
t
to z
r
, i.e., z
t
is a -successor of z
r
, and
k

k1
. . .
1
is
the binary equivalent of . Although there are other ways to dene the successorship of z
t
to
z
r
, i.e., to order the successors of z
r
, the way given in (3) and (4) is convenient to implement
and efcient to execute.
Let S() = {1, 2, . . . , k 1, k] be the set of indices of the binary representation of or
the set of indices of the components of a criterion vector z +
k
. Partition S() into two
subsets S
0
() and S
1
() as follows
S
0
() = {i [
i
= 0] and S
1
() = {i [
i
= 1]. (5)
Given z
t
a -successor of z
r
, then z
t
dominates z
r
if and only if = 0, and z
t
is dominated
by z
r
if and only if z
t
i
= z
r
i
for all i S
0
() (Habenicht, 1982). In addition if = 2
k
1, z
r
(strongly) dominates z
t
. Therefore, a node in a domination-free PLQT does not have a 0-son
or a (2
k
1)-son because a 0-son dominates its parent and a (2
k
1)-son is dominated by
its parent. As a result, a node in a domination-free PLQT has at most 2
k
2 sons.
If z
s
is a -successor of z
r
and z
t
is a -successor of z
r
, the domination relationship
between z
s
and z
t
can be partially determined by comparing and . If z
s
dominates z
t
,
then and S
1
() S
1
(). If z
s
is dominated by z
t
, then and S
0
() S
0
()
(Habenicht, 1982). Let be the bitwise and operator and be the bitwise or
operator. If S
1
() S
1
(), then = . If S
0
() S
0
(), then = . Suppose z
t
is processed for possible insertion into T
z
r and has been determined to be a -successor of
z
r
. Then only the -successors of z
r
such that and = may dominate z
t
and
only the -successors of z
r
such that and = may be dominated by z
t
. Hence,
only a small subset of the nodes in a PLQT needs to be searched to nd a criterion vector
dominating z
t
or to nd all the criterion vectors dominated by z
t
. The conditions =
and = rather than S
1
() S
1
() and S
0
() S
0
() are used because the former
are easier to implement and faster to execute.
Nondominated criterion vectors in Z are identied through the construction of a
domination-free PLQT. Like in the TQTapproach, the process of z
t
for possible insertion into
T
z
r starts from z
r
. A comparison is made between z
t
and z
r
to determine the successorship
of z
t
to z
r
. If z
t
i
= z
r
i
for all i S
0
(), z
t
is discarded. If = 0, z
t
replaces z
r
and the
successors of z
r
not dominated by z
t
are inserted into T
z
t . Otherwise, the sons of z
r
, if any,
are checked sequentially by following the pointers from one node to its immediate existing
Springer
Ann Oper Res (2006) 147:87107 93
younger sibling starting with F(z
r
). The -successors of z
r
such that < and =
are searched to nd a node dominating z
t
. If z
s
is a -son of z
r
with = and if z
t
is a
/
-successor of z
s
, only the
/
-successors of z
s
such that
/

/
and
/

/
=
/
are
searched, and so on. If a node dominating z
t
is found, z
t
is discarded; otherwise, F
z
v is
searched to nd nodes dominated by z
t
where z
v
, if exists, is the son of z
r
with the small-
est successorship greater than . In F
z
v , only the -successors of z
r
with = are
searched. If z
s
is the -son of z
r
with = and if z
t
is a
/
-successor of z
s
, only the

/
-successors of z
s
such that
/

/
and
/

/
=
/
are searched, and so on. Each node
dominated by z
t
is deleted and the successors of the deleted node, if any, reorganize into a
new subtree. Finally, z
t
is inserted, if not discarded, as the -son of z
r
if z
r
does not have
any other existing -successors. If the -son of z
r
, say z
a
, exists, z
t
is further processed for
possible insertion into T
z
a . After all z Z are processed, the ones dominated by others are
discarded and the ones not dominating each other are stored in a domination-free PLQT.
2.2 Retrieval of nondominated criterion vectors
Let be the weighting vector space, where
=

+
k
[
i
> 0,
k

i =1

i
= 1

. (6)
Each is a weighting vector. When a nal solution is searched, a criterion vector z

is
retrieved from T for each given such that
[[z

[[

= min {[[z

z[[

[ z T ], (7)
where[[z

z[[

is the weighted Tchebycheff metric between z

and z. By doing so we
can retrieve a set of widely dispersed criterion vectors from T to represent the (reduced)
nondominated set if we have a set of widely dispersed weighting vectors in (a reduced subset
of) . To solve a DMCO problem with an interactive method, we may need to retrieve many
criterion vectors fromT iteration after iteration. Given the fact that z

i
> z
i
for all 1 i k
and for all z T , [[z

z[[

is computed with
[[z

z[[

= max {
i
(z

i
z
i
) [ 1 i k]. (8)
Dene a vector +
k
such that = (
1

1
,
1

2
, . . . ,
1

k
) for any given . For z T ,
dene a vector z +
k
for a given such that
z = [[z

z[[

. (9)
Then searching for a z

T satisfying (7) is equivalent to searching for a z

T such that
there is not any z T that strongly dominates z

(Sun and Steuer, 1996b, 2000).


When z

is retrieved from T
z
r , we rst initialize z

to z
r
and compute z

(9). We then
search for a criterion vector in T
z
r that strongly dominates z

. If z

is a -successor of z
r
,
we only need to search the -successors of z
r
such that and = . Once a
vector, say z
s
, strongly dominating z

is found, we update z

to z
s
, compute a new z

(9),
and continue the search for a new vector in T
z
r strongly dominating the new z

only among
Springer
94 Ann Oper Res (2006) 147:87107
those z T
z
r that have not been searched. If no more such vector can be found, the current
z

is the criterion vector to be retrieved from T


z
r for the given .
3 Operations and algorithms
Recursive versions of algorithms and operations on TQTs were presented in earlier pub-
lications (Habenicht, 1982, 1991; Sun, 1992; Sun and Steuer, 1996a, 1996b). However,
recursions were not implemented because they may slow down the execution although they
are convenient to present and easy to implement. Therefore, non-recursive versions of the
operations and algorithms on PLQTs are described in this section. The operations and algo-
rithms are implemented in six routines, called PROCESS, DOMINATING, DOMINATED,
DELETE, REPLACE and RETRIEVE. The rst ve routines are for the identication and
the last is for the retrieval of nondominated criterion vectors. The function of each rou-
tine is explained and notations specic to each routine are introduced before the routine
is presented step-by-step. In the discussion, process is used as a generic term to rep-
resent any operation described in the routines. Although described for DMCO problems,
these operations and algorithms can be easily modied for other purposes because they in-
clude all operations, such as traverse, search, insertion, deletion, merge and retrieval, on
trees.
Node assignments, such as z
s
z
r
, are used in the routines for the convenience of
description. However, only assignments of the node locations or addresses, e.g., pointers or
array indices, rather than the nodes themselves, are used in the implementation. In no case,
a criterion vector needs to be copied or moved from one location to another. In the same
way, only their locations or addresses need to be compared when two nodes are compared
to determine if they are the same node or not. In the routines, all variables are local, e.g., a
z
t
in Routine DELETE is not necessarily the same node as the z
t
in Routine DOMINATED
although Routine DELETE is called from Routine DOMINATED. Variables are passed
between routines through their argument lists.
3.1 Routine PROCESS(z
r
, z
t
)
This routine processes z
t
for possible insertion into T
z
r . The root of the current subtree into
which z
t
is inserted is represented by z
s
and the successorship of z
t
to z
s
is denoted by . If
z
t
is dominated by z
s
, the process terminates after discarding z
t
. If z
t
dominates z
s
, Routine
REPLACE is called to replace z
s
with z
t
. Otherwise, the sons of z
s
are checked sequentially.
The son that is currently checked is represented by z
v
and the immediate existing elder sibling
of z
v
is represented by z
p
. If z
v
= F(z
s
) or z
v
= NULL, then z
p
= NULL. If S(z
v
) < and
S(z
v
) = S(z
v
), Routine DOMINATING is called to search T
z
v for a node dominating
z
t
. Once a z
v
with S(z
v
) > is reached, Routine DOMINATED is called to search F
z
v for
nodes dominated by z
t
. If the -son of z
s
does not exist, z
t
is nally inserted as the -son
of z
s
; otherwise, the -son of z
s
becomes the new z
s
, i.e., the root of the new subtree into
which z
t
is inserted. The following is a step-by-step presentation of the routine.
Step 1. Let z
s
z
r
and z
p
NULL.
Step 2. Determine by which z
t
is a -successor of z
s
. If z
t
i
= z
s
i
for all i S
0
(), discard z
t
and STOP; if = 0, execute REPLACE(z
s
, z
t
, z
p
) and STOP; otherwise, let z
v
F(z
s
)
and z
p
NULL.
Springer
Ann Oper Res (2006) 147:87107 95
Step 3. If z
v
= NULL, go to Step 7; if S(z
v
) = , go to Step 6; if S(z
v
) > , execute
DOMINATED(z
v
, z
t
, z
p
, ) and then go to Step 7.
Step 4. If S(z
v
) = S(z
v
), execute DOMINATING(z
v
, z
t
). If z
t
is discarded, STOP.
Step 5. Let z
p
z
v
, let z
v
N(z
v
) and go to Step 3.
Step 6. Let z
s
z
v
and z
v
N(z
v
). If z
v
,= NULL, execute DOMINATED(z
v
, z
t
, z
s
, ).
Go to Step 2.
Step 7. If z
p
= NULL, let N(z
t
) F(z
s
) and F(z
s
) z
t
; otherwise, let N(z
t
) N(z
p
) and
N(z
p
) z
t
. Let P(z
t
) z
s
, F(z
t
) NULL and S(z
t
) . STOP.
3.2 Routine DOMINATING(z
r
, z
t
)
This routine searches T
z
r for a node dominating z
t
. The current node being checked is
represented by z
s
. Given z
t
a -successor of P(z
s
), a comparison between z
t
and z
s
is made
only if S(z
s
) and S(z
s
) = S(z
s
). If z
t
is dominated by z
s
, z
t
is discarded, the search
terminates and the process returns to Routine PROCESS. Otherwise, the sons of z
s
, if any,
are checked before N(z
s
). The successorship of z
t
to the node compared at level l of T
z
r is
saved as
l
because this successorship may be needed when the younger siblings of the node
are checked after the successors of the node have been searched. The steps of the routine are
given in the following.
Step 1. Let z
s
z
r
, l 1 and
l
0.
Step 2. Determine by which z
t
is a -successor of z
s
. If z
t
i
= z
s
i
for all i S
0
(), discard z
t
and RETURN. If F(z
s
) =NULL, let
l
and go to Step 4. Let z
s
F(z
s
), l l 1
and
l
.
Step 3. If S(z
s
) > , go to Step 5. If S(z
s
) = S(z
s
), go to Step 2.
Step 4. If l > 1 and N(z
s
) ,= NULL, let z
s
N(z
s
) and go to Step 3.
Step 5. If l 2, RETURN. Let z
s
P(z
s
), l l 1 and
l
. Go to Step 4.
3.3 Routine DOMINATED(z
r
, z
t
, z
p
, )
This routine searches F
z
r for nodes dominated by z
t
. The immediate existing elder sibling
of z
r
, denoted by z
p
, is passed to this routine so that the links can be reconnected just in case
when z
r
is dominated by z
t
and is deleted. The successorship of z
t
to P(z
r
), denoted by , is
also passed to this routine because it is needed when z
r
and its younger siblings are checked.
The node currently being checked is denoted by z
s
and its immediate existing elder sibling is
denoted by z
q
. Given z
t
a -successor of P(z
s
), a comparison between z
t
and z
s
is made only
if S(z
s
) and S(z
s
) = S(z
s
). If z
s
is dominated by z
t
, Routine DELETE is called to
delete z
s
. If z
s
is to be deleted and z
s
is the eldest existing son of P(z
s
), z
v
represents P(z
s
) so
as to continue the search after z
s
is deleted. If z
s
has successors, the search continues fromthe
root of the new subtree formed by the successors of z
s
, otherwise, the search continues from
N(z
s
), after z
s
is deleted. If z
t
and z
s
are compared but z
s
is not dominated, the sons of z
s
, if
any, are checked. Because the successors of a node are checked before its younger siblings,

l
stores the successorship of z
t
to the node compared at level l of F
z
r . The following are
the steps of the routine.
Step 1. Let z
s
z
r
, z
q
z
p
, l 1 and
l
.
Step 2. If S(z
s
) = S(z
s
), go to Step 4.
Springer
96 Ann Oper Res (2006) 147:87107
Step 3. If N(z
s
) ,= NULL, let z
q
z
s
and z
s
N(z
s
) and go to Step 2; otherwise, go to
Step 9.
Step 4. Determine by which z
t
is a -successor of z
s
. If ,= 0, go to Step 6.
Step 5. If z
q
= NULL, execute Step 5a; otherwise execute Step 5b:
a. Let z
v
P(z
s
), execute DELETE(z
s
, NULL). If F(z
v
) ,= NULL, let z
s
F(z
v
) and
go to Step 4; otherwise, let z
s
z
v
, l l 1 and
l
and go to Step 3.
b. Execute DELETE(z
s
, z
q
). Let z
s
z
q
and
l
and go to Step 3.
Step 6. If F(z
s
) = NULL, go to Step 3; otherwise, let z
s
F(z
s
), z
q
NULL, l l 1
and
l
.
Step 7. If S(z
s
) , go to Step 2.
Step 8. If N(z
s
) ,= NULL, let z
q
z
s
and z
s
N(z
s
) and go to Step 7.
Step 9. If l = 1, RETURN. Let l l 1 and z
q
P(z
s
).
Step 10. If N(z
q
) ,= NULL, let z
s
N(z
q
) and
l
and go to Step 2; otherwise, let
z
s
z
q
and go to Step 9.
3.4 Routine DELETE(z
r
, z
p
)
This routine deletes z
r
from T
z
r . The purpose of passing z
p
, the immediate existing elder
sibling of z
r
, to this routine is to reconnect the links after z
r
is deleted. If z
p
is NULL,
z
r
is the eldest existing son of its parent. If z
r
does not have any successors, the deletion
is simple; otherwise, the successors of z
r
reorganize into a new subtree. In the later case,
F(z
r
), denoted by z
s
, along with all its successors, moves up one level to take the position
of z
r
and all nodes in the lineage forest led by N(z
s
), denoted by z
t
if exists, are inserted
into T
z
s . Hence, this routine merges a subtree and a lineage forest. The current node being
detached from F
z
t and inserted into T
z
s is denoted by z
b
. The insertion of z
b
starts from
z
s
. The root of the current subtree into which z
b
is inserted is denoted by z
a
. After the
successorship of z
b
to z
a
is determined, the sons of z
a
are checked to nd a position
for z
b
. The son of z
a
currently being checked is denoted by z
v
and the immediate existing
elder sibling of z
v
is denoted by z
q
. If the -son of z
a
does not exist, z
b
is inserted as the
-son of z
a
; otherwise, the -son becomes the root of the new subtree to insert z
b
. The node
z
u
is the starting point to determine the new z
b
to detach from F
z
t . If z
u
is a leaf node, it
will become the new z
b
; otherwise, a leaf node is located starting from F(z
u
). This process
continues until all nodes in F
z
t have been inserted into T
z
s . The steps of the routine are given
next.
Step 1. If F(z
r
) ,= NULL, go to Step 3.
Step 2. If z
p
= NULL, let F(P(z
r
)) N(z
r
); otherwise, let N(z
p
) N(z
r
). Discard z
r
and
RETURN.
Step 3. Let z
s
F(z
r
). If z
p
= NULL, let F(P(z
r
)) z
s
; otherwise, let N(z
p
) z
s
. Let
z
t
N(z
s
), P(z
s
) P(z
r
), N(z
s
) N(z
r
) and S(z
s
) S(z
r
). If z
t
=NULL, discard z
r
and RETURN; otherwise, let z
b
z
t
.
Step 4. While F(z
b
) ,= NULL, let z
b
F(z
b
).
Step 5. If N(z
b
) ,= NULL, let z
u
N(z
b
); otherwise, let z
u
P(z
b
) and F(z
u
) NULL.
Let z
a
z
s
.
Step 6. Determine by which z
b
is a -successor of z
a
. Let z
v
F(z
a
) and z
q
NULL.
Step 7. If z
v
=NULL or S(z
v
) > , go to Step 9. If S(z
v
) = , let z
a
z
v
and go to Step 6.
Step 8. Let z
q
z
v
and z
v
N(z
v
) and go to Step 7.
Springer
Ann Oper Res (2006) 147:87107 97
Step 9. If z
q
=NULL, let F(z
a
) z
b
; otherwise, let N(z
q
) z
b
. Let N(z
b
) z
v
, F(z
b
)
NULL, P(z
b
) z
a
, and S(z
b
) .
Step 10. If z
u
,= z
r
, let z
b
z
u
and go to Step 4; otherwise, discard z
r
and RETURN.
3.5 Routine REPLACE(z
r
, z
t
, z
p
)
This routine replaces z
r
with z
t
in T
z
r . Notations used in this routine are similar to those in
Routine DELETE. The function performed by this routine is also similar to that by Routine
DELETE. Successors of z
r
not dominated by z
t
, if any, are inserted into T
z
t . Therefore, this
routine merges two subtrees. The difference between the merge operation and that in Routine
DELETE is that a domination test is done at the root node of the new subtree in this routine
but not in Routine DELETE. The steps of the routine are listed in the following.
Step 1. Let P(z
t
) P(z
r
), N(z
t
) N(z
r
), F(z
t
) NULL and S(z
t
) S(z
r
). If z
p
=
NULL, let F(P(z
r
)) z
t
; otherwise, let N(z
p
) z
t
. If F(z
r
) = NULL, discard z
r
and
RETURN; otherwise, let z
b
F(z
r
).
Step 2. While F(z
b
) ,= NULL, let z
b
F(z
b
).
Step 3. If N(z
b
) ,= NULL, let z
u
N(z
b
); otherwise, let z
u
P(z
b
) and F(z
u
) NULL.
Step 4. Determine by which z
b
is a -successor of z
t
. If z
b
i
= z
t
i
for all i S
0
(), discard
z
b
and go to Step 9; otherwise, let z
a
z
t
, z
v
F(z
a
) and z
q
NULL.
Step 5. If z
v
=NULL or S(z
v
) > , go to Step 8. If S(z
v
) = , let z
a
z
v
and go to Step 7.
Step 6. Let z
q
z
v
and z
v
N(z
v
) and go to Step 5.
Step 7. Determine by which z
b
is a -successor of z
a
, let z
v
F(z
a
) and z
q
NULL and
go to Step 5.
Step 8. If z
q
=NULL, let F(z
a
) z
b
; otherwise, let N(z
q
) z
b
. Let N(z
b
) z
v
, F(z
b
)
NULL, P(z
b
) z
a
, and S(z
b
) .
Step 9. If z
u
,= z
r
, let z
b
z
u
and go to Step 2; otherwise, discard z
r
and RETURN.
3.6 Routine RETRIEVE(z
r
, )
This routine retrieves a z

from T
z
r for a . After z

is initialized, z

is computed. The
node currently being checked is denoted by z
s
when T
z
r is searched to nd a node strongly
dominating z

. Given z

a -successor of P(z
s
), a comparison between z

and z
s
is made
only if S(z
s
) and S(z
s
) = S(z
s
). If z
s
strongly dominates z

, z

is updated to z
s
and z

is recomputed. The sons of z


s
, if any, are searched before N(z
s
) if a comparison is
made between z

and z
s
whether z

is updated or not. At each level l of T


z
r ,
l
stores the
successorship of z

to P(z
s
) and z
l
stores z

when the successorship is determined. When


the search tracks one level up in T
z
r to search the younger siblings of z
s
, a new successorship
of z

to P(z
s
) is determined only if z
l
,= z

, i.e., z

has been updated since z

and P(z
s
) were
compared. The following is the routine.
Step 1. Let z
s
z
r
, l 0, and (
1

1
,
1

2
, . . . ,
1

k
).
Step 2. Let z

z
s
, d [[z

[[

and z

d.
Step 3. Determine by which z

is a -successor of z
s
. If = 2
k
1, go to Step 2. If F(z
s
) ,=
NULL, let l l 1,
l
, z
l
z

and z
s
F(z
s
) and go to Step 5.
Step 4. If z
l
= z

, let
l
; otherwise, determine by which z

is a -successor of P(z
s
)
and let
l
and z
l
z

. Go to Step 6.
Springer
98 Ann Oper Res (2006) 147:87107
Step 5. If S(z
s
) > , go to Step 7. If S(z
s
) = S(z
s
), go to Step 3.
Step 6. If N(z
s
) ,= NULL, let z
s
N(z
s
) and go to Step 5.
Step 7. If l = 1, output z

and STOP; otherwise, let l l 1 and z


s
P(z
s
) and go to
Step 4.
4 Examples
In this section, two examples of identication and one example of retrieval of nondominated
criterion vectors are presented. The purpose of these examples is to demonstrate how the
PLQT approach works rather than to show the performances of the PLQT or of the routines.
Although the details of the routines are omitted in these examples, the results are obtained by
following the routines step-by-step. All examples are based on the domination-free PLQT in
Fig. 2 for data in +
3
.
4.1 Nondominated criterion vector identication Example 1
In this example, z
t
= (60, 53, 83) is processed for possible insertion into the PLQT in Fig.
2. Because z
t
is not dominated by any node in the PLQT but dominates (54, 40, 83), (54, 40,
83) is deleted from the PLQT and z
t
is inserted into the PLQT.
In Routine PROCESS, z
t
is determined to be a 2-successor of the root, (58, 60, 68)
in this case. A node dominating z
t
must be a 2-successor of the root, therefore, Rou-
tine DOMINATING is not called. Nodes that may be dominated by z
t
must be 2-, 3- and
58
60
68
1
10
73
74
3
54
40
83
5
49
72
63
6
74
55
54
3
9
72
77
2
37
62
78
3
8
70
82
1
7
72
88
3
12
28
98
2
27
27
97
3
44
71
67
4
49
75
59
1
46
72
65
5
52
61
82
3
15
39
95
6
57
74
53
4
56
83
36
Fig. 2 An example PLQT
Springer
Ann Oper Res (2006) 147:87107 99
58
60
68
1
10
73
74
3
15
39
95
5
49
72
63
6
74
55
54
3
9
72
77
2
37
62
78
3
8
70
82
1
7
72
88
3
44
71
67
4
49
75
59
1
46
72
65
6
57
74
53
4
56
83
36
2
60
53
83
3
12
28
98
4
52
61
82
2
27
27
97
Fig. 3 The PLQT after the insertion of (60, 53, 83)
6-successors of the root. Therefore, Routine DOMINATED is called to search the lineage
forest led by (54, 40, 83) for nodes dominated by z
t
.
In Routine DOMINATED, z
t
is determined to be a 0-successor of (54, 40, 83). Hence,
Routine DELETE is called to delete (54, 40, 83). In Routine DELETE, (15, 39, 95), along
with its successors, moves one level up to take the position of (54, 40, 83). Any siblings of
(15, 39, 95), along with their successors, will be inserted into the subtree rooted at (15, 39, 95).
After (52, 61, 82), the only sibling of (15, 39, 95), is inserted as the 4-son of (15, 39, 95), the
process returns to Routine DOMINATED.
In Routine DOMINATED, z
t
is determined to be a 4-successor of (15, 39, 95). Nodes in
the subtree rooted at (15, 39, 95) that may be dominated by z
t
are the 4-, 5-, and 6-successors
of (15, 39, 95). Compared with (52, 61, 82), z
t
is determined to be a 2-successor and does
not dominate (52, 61, 82). The 5-successors of the root are skipped. Compared with (74, 55,
54), the only 6-successor of the root, z
t
is determined to be a 3-successor. Without any more
nodes to check, the process returns to Routine PROCESS.
Because the root currently does not have any 2-successors, z
t
is inserted as the 2-son of
the root, i.e., (58, 60, 68), in Routine PROCESS. The resulting PLQT is shown in Fig. 3.
4.2 Nondominated criterion vector identication Example 2
In this example, z
t
= (50, 72, 64) is processed for possible insertion into the PLQT in Fig. 2.
Because z
t
is not dominated by any node in the PLQT but dominates (49, 72, 63), (49, 72, 63)
is replaced with z
t
in the PLQT.
Springer
100 Ann Oper Res (2006) 147:87107
In Routine PROCESS, z
t
is determined to be a 5-successor of the root, (58, 60, 68) in
this case. Nodes that may dominate z
t
are the 1-, 4- and 5-successors of the root. Routine
DOMINATING is called to search the subtree rooted at (10, 73, 74), the 1-son of the root,
for a node dominating z
t
.
In Routine DOMINATING, z
t
is determined to be a 6-successor of (10, 73, 74). Nodes
that may dominate z
t
must be the 2-, 4- and 6-successors of (10, 73, 74). Because z
t
is a 4-successor of (37, 62, 78), it is not dominated and the process returns to Routine
PROCESS.
The only nodes that may be dominated by z
t
are the 5-successors of the root. However,
because the root has a 6-son, Routine DOMINATEDis called rst to search the lineage forest
led by (74, 55, 54) for nodes dominated by z
t
. Without any node to compare in this lineage
forest, the process returns to Routine PROCESS.
In Routine PROCESS, the subtree rooted at (49, 72, 63) becomes the new PLQT into
which z
t
is inserted. Because z
t
is a 0-successor of (49, 72, 63), Routine REPLACE is called
to replace (49, 72, 63) with z
t
.
In Routine REPLACE, z
t
takes the position of the root of the subtree, (49,72, 63) in this
case, and all its successors not dominated by z
t
are inserted into T
z
t . Because (46, 72, 65)
is a 1-successor of z
t
and z
t
currently does not have any other 1-successors, (46, 72, 65) is
inserted as the 1-son of z
t
. For the same reasons, (44, 71, 67) is inserted as the 3-son of z
t
.
The successors of (49, 75, 59) are processed rst. Being a 4-successor of z
t
, (56, 83, 36) is
inserted as the 4-son of z
t
. Because (57, 74, 53) is a 4-successor of z
t
and z
t
has a 4-son
already, (56, 83, 36), the 4-son of z
t
, becomes the root of the new subtree into which (57,
74, 53) is inserted, where it is inserted as the 2-son of (56, 83, 36). Finally, (49, 75, 59) is
inserted as the 5-son of z
t
. In this case none of the successors of (49, 72, 63) is discarded
because none is dominated by z
t
. After discarding (49, 72, 63), the process returns to Routine
PROCESS where it STOPs. The resulting PLQT is shown in Fig. 4.
4.3 A nondominated criterion vector retrieval example
In this example, Routine RETRIEVE is called to retrieve a criterion vector z

from the
PLQT in Fig. 2 for = (0.4, 0.2, 0.4) assuming z

= (75, 84, 99). For the given , =


(2.5, 5, 2.5). The search starts from the root.
After z

is initialized to z

(58, 60, 68), d 12.4 and z

(44, 22, 68) are


computed. Because z

is a 3-successor of the root, nodes strongly dominating z

must be 1-,
2- or 3-successors of the root.
The 1-successors of the root are searched rst. Because z

is a 6-successor of (10, 73,


74), any node in the subtree rooted at (10, 73, 74) strongly dominating z

must be a 2-, 4- or
6-successor of (10, 73, 74). Being a 6-successor of (37, 62, 78), z

is not dominated by (37,


62, 78). No other successors of (10, 73, 74) need to be compared.
The 3-successors of the root are searched next. Comparing with (54, 40, 83), z

is deter-
mined to be a 7-successor and, therefore, is strongly dominated. As a result, z

is updated
to z

(54, 40, 83) and d 8.8 and z

(53, 40, 77) are computed. Because the new


z

is a 5-successor of (54, 40, 83), any node in the subtree rooted at (54, 40, 83) strongly
dominating z

must be a 1-, 4- or 5-successor of (54, 40, 83). After z

is determined to be a
6-successor of (52, 61, 82), no more successors of (54, 40, 83) need to be compared.
Because z

was updated after z

had been compared with (58, 60, 68), the new z

is
compared with (58, 60, 68) and is determined to be a 3-successor. Therefore, any node
that may strongly dominate z

must be a 1-, 2- or 3-successor of (58, 60, 68). Because


Springer
Ann Oper Res (2006) 147:87107 101
58
60
68
1
10
73
74
3
54
40
83
5
50
72
64
6
74
55
54
3
9
72
77
2
37
62
78
3
8
70
82
1
7
72
88
3
12
28
98
2
27
27
97
5
52
61
82
3
15
39
95
2
57
74
53
3
44
71
67
4
56
83
36
1
46
72
65
5
49
75
59
Fig. 4 The PLQT after the insertion of (50, 72, 64)
all -successors of (58, 60, 68), for 3, have been searched, the process STOPs with
z

= (54, 40, 83).


5 Computational results
Using a variety of small test problems, Habenicht (1982) showed that the TQT approach
took substantially fewer comparisons than the linear list approach to identify all nondomi-
nated criterion vectors. Sun (1992) and Sun and Steuer (1996a), using larger test problems,
showed that the TQT approach outperformed the linear list approach in both the number of
comparisons and the CPU time, although the difference in CPU time is not as signicant
as that in the comparisons. Therefore, savings in comparisons do not directly translate into
savings in CPU time because of the overhead needed to manage the data structure. Sun
and Steuer (2000) obtained similar results using large problems. However, they also showed
that the TQT approach took more CPU time than the linear list approach for the retrieval
of nondominated criterion vectors. Therefore, the performances of the PLQT approach are
compared with those of the TQT and linear list approaches for both the identication and
retrieval of nondominated criterion vectors through computational results. The focus is on
CPU time when the computational results are reported.
The routines managing the PLQT discussed in Section 3 are coded in Fortran. The Fortran
codes for the linear list and TQT approaches developed by Sun (1992) and employed in Sun
and Steuer (1996a, 1996b, 2000) were used again. All computations were conducted on a
SUN Enterprise 3000 computer under the UNIX operating system. The Fortran codes were
Springer
102 Ann Oper Res (2006) 147:87107
compiled at optimization level 3. The PLQT can also be easily implemented in any computer
language, such as C, and on any, such as desktop or laptop, computers. It can be supported
with current computing technology without any difculty.
5.1 Test problems
The criterion vectors for each test problemwere randomly generated fromthe positive orthant
of a unit hollowball centered at the origin in +
k
using the same generator used by Sun (1992)
and Sun and Steuer (1996a, 2000). The test problems vary in the number of criteria k, with
k = 4, k = 6 and k = 8, the number of criterion vectors N, with N = 40000, N = 80000,
N = 120000 and N = 160000, and the radius of the inner hypersphere r of the hollow ball,
with r = 0.0, r = 0.2, r = 0.4, r = 0.6 and r = 0.8. By varying the value of r, we can
indirectly control the number of nondominated criterion vectors N
n
in a test problem. For
problems with a xed k and a xed N, N
n
increases as r increases. Each combination of
k, N and r denes a problem category. Computational results of 60 (3 4 5) problem
categories are reported. For each problem category, a sample of 10 randomly generated test
problems is used. Among the 10 test problems in a problem category, the minimum (Min)
and maximum (Max) number of nondominated criterion vectors N
n
in each problem are
presented in Table 1. After all the nondominated criterion vectors have been identied, 100
criterion vectors are retrieved for each test problem with each approach. These test problems
are expected to represent a large range of real life applications.
Table 1 Minimumand maximumnumber of nondominated criterion vectors (N
n
) of different test problem
categories
k = 4 k = 6 k = 8
r N(10
3
) Min Max Min Max Min Max
0.0 40 2236 2322 5138 5315 7778 8064
80 3711 3841 9229 9459 14369 14644
120 5024 5213 12922 13179 20419 20758
160 6254 6391 16389 16630 26348 26673
0.2 40 2626 2754 6184 6416 9437 9798
80 4402 4523 11101 11299 17427 17731
120 5946 6095 15522 15800 24780 25178
160 7367 7530 19726 20004 32028 32396
0.4 40 3270 3362 7884 8096 12208 12483
80 5440 5575 14032 14312 22365 22784
120 7378 7541 19546 19980 31891 32302
160 9128 9278 24908 25378 41011 41392
0.6 40 4420 4524 11100 11289 17461 17719
80 7406 7527 19735 19960 31963 32311
120 9916 10131 27558 27945 45301 45933
160 12359 12533 34898 35455 58390 58985
0.8 40 7389 7606 19727 19939 31838 32045
80 12319 12595 35007 35321 58298 58705
120 16539 16893 49023 49347 83066 83503
160 20544 20911 62058 62462 106725 107170
Springer
Ann Oper Res (2006) 147:87107 103
Table 2 CPU time (seconds) taken by the three approaches for the identication and retrieval of nondom-
inated criterion vectors k = 4
Identication Retrieval
r N(10
3
)

T
1
q

T
1
l

T
1
p
T
1
q
/T
1
p
T
1
l
/T
1
p

T
2
q

T
2
l

T
2
p
T
2
q
/T
2
p
T
2
l
/T
2
p
0.0 40 2.05 3.30 2.21 0.93 1.49 0.03 0.04 0.02 1.33 2.00
80 4.30 7.95 4.55 0.95 1.75 0.04 0.07 0.03 1.44 2.55
120 7.92 14.73 7.15 1.11 2.06 0.05 0.09 0.03 1.57 2.89
160 10.92 21.59 9.57 1.14 2.26 0.06 0.11 0.03 1.68 3.26
0.2 40 2.31 3.57 2.31 1.00 1.54 0.03 0.05 0.02 1.37 2.14
80 4.96 8.86 4.82 1.03 1.84 0.04 0.08 0.03 1.51 2.79
120 8.74 18.45 7.74 1.13 2.39 0.06 0.11 0.03 1.63 3.08
160 12.39 27.20 10.46 1.18 2.60 0.07 0.13 0.04 1.71 3.36
0.4 40 2.67 4.75 2.50 1.07 1.90 0.04 0.06 0.03 1.43 2.38
80 5.86 12.15 5.34 1.10 2.27 0.05 0.10 0.03 1.53 3.03
120 10.23 25.18 8.50 1.20 2.97 0.07 0.13 0.04 1.70 3.33
160 14.69 37.72 11.72 1.25 3.22 0.08 0.15 0.04 1.90 3.61
0.6 40 3.34 7.52 2.92 1.14 2.58 0.04 0.08 0.03 1.49 2.82
80 7.56 19.66 6.29 1.20 3.13 0.06 0.12 0.04 1.58 3.44
120 13.46 41.39 10.58 1.27 3.92 0.09 0.17 0.04 1.98 3.85
160 19.44 62.46 14.15 1.37 4.42 0.11 0.20 0.05 2.32 4.22
0.8 40 5.65 18.57 4.26 1.33 4.37 0.06 0.13 0.04 1.65 3.41
80 14.66 51.26 9.67 1.52 5.31 0.11 0.21 0.05 2.19 4.26
120 26.72 105.21 17.24 1.55 6.13 0.18 0.27 0.08 2.32 3.61
160 42.22 159.19 26.06 1.62 6.16 0.23 0.33 0.10 2.20 3.34
Computational results for problems with k = 4, k = 6 and k = 8 are reported in Tables
2, 3 and 4, respectively. In each of these tables, the average CPU times, in seconds, of 10
test problems in each problem category for the identication of all criterion vectors not
dominated by others and the retrieval of 100 nondominated criterion vectors are reported.
The average CPU times taken by the TQT approach, the linear list approach and the PLQT
approach are denoted by

T
1
q
,

T
1
l
and

T
1
p
, respectively, for the identication and by

T
2
q
,

T
2
l
and

T
2
p
, respectively, for the retrieval of nondominated criterion vectors. In addition, ratios
of the CPU times taken by the TQT approach and linear list approach to that taken by the
PLQT approach are reported for comparison purpose. These ratios are denoted by T
1
q
/T
1
p
and T
1
l
/T
1
p
for the identication and by T
2
q
/T
2
p
and T
2
l
/T
2
p
for the retrieval of nondominated
criterion vectors.
5.2 Results for the identication of nondominated criterion vectors
Computational results for the identication of nondominated criterion vectors are reported
under the columns of

T
1
q
,

T
1
l
,

T
1
p
, T
1
q
/T
1
p
and T
1
l
/T
1
p
in Tables 2, 3 and 4. As expected, the
CPU times taken by all three approaches increase as N increases for problems with xed k
and xed r, increase as r, and therefore N
n
, increases for problems with xed k and xed
N, and increase as k increases for problems with xed N and xed r without any exception.
These trends show that the problems become more complicated when they become larger in
any of these dimensions.
Springer
104 Ann Oper Res (2006) 147:87107
Table 3 CPU time (seconds) taken by the three approaches for the identication and retrieval of non-
dominated criterion vectors k = 6
Identication Retrieval
r N(10
3
)

T
1
q

T
1
l

T
1
p
T
1
q
/T
1
p
T
1
l
/T
1
p

T
2
q

T
2
l

T
2
p
T
2
q
/T
2
p
T
2
l
/T
2
p
0.0 40 7.13 11.95 4.08 1.75 2.93 0.35 0.11 0.05 6.68 2.14
80 18.34 34.69 8.73 2.10 3.98 0.73 0.19 0.07 9.99 2.59
120 32.21 70.54 14.41 2.23 4.90 0.97 0.26 0.11 8.53 2.29
160 49.15 111.23 20.41 2.41 5.46 1.30 0.32 0.16 8.19 2.06
0.2 40 9.49 14.70 4.49 2.11 3.28 0.35 0.13 0.06 6.02 2.28
80 24.24 43.78 9.88 2.45 4.44 0.67 0.22 0.09 7.49 2.47
120 42.61 97.94 16.72 2.54 5.87 1.21 0.31 0.14 8.42 2.15
160 60.81 155.22 24.28 2.50 6.42 1.37 0.38 0.19 7.11 2.00
0.4 40 12.77 22.28 5.11 2.49 4.37 0.49 0.16 0.07 7.47 2.51
80 33.95 67.66 11.89 2.85 5.71 0.92 0.28 0.13 7.14 2.17
120 56.25 152.32 21.07 2.67 7.26 1.56 0.38 0.20 7.68 1.90
160 87.22 242.66 31.92 2.73 7.64 1.92 0.48 0.28 6.91 1.74
0.6 40 20.81 41.50 6.86 3.03 6.07 0.78 0.22 0.10 8.24 2.36
80 58.91 129.85 18.31 3.22 7.12 1.43 0.38 0.21 6.67 1.79
120 104.84 290.18 35.28 2.97 8.26 2.31 0.54 0.36 6.47 1.53
160 161.81 468.24 55.31 2.92 8.51 2.94 0.68 0.47 6.25 1.48
0.8 40 47.19 125.56 13.81 3.41 9.12 1.47 0.37 0.21 7.05 1.80
80 140.65 436.51 41.95 3.35 10.45 2.99 0.66 0.40 7.49 1.68
120 238.81 904.41 86.61 2.76 10.54 3.80 0.96 0.68 5.66 1.45
160 353.47 1475.00 137.16 2.57 10.85 4.80 1.24 0.84 5.80 1.52
For problems with k = 4, the PLQT approach is more efcient than the TQT approach
that is in turn more efcient than the linear list approach with a few exceptions. For small
problems with r = 0.0 and N 80000, the TQT approach is more efcient than the PLQT
approach. As N becomes larger and r, therefore N
n
, increases, the PLQT approach becomes
relatively more and more efcient. For problems with r = 0.0 and N = 40000, T
1
q
/T
1
p
=
0.93 and T
1
l
/T
1
p
= 1.49, while for problems with r = 0.8 and N = 160000, T
1
q
/T
1
p
= 1.62
and T
1
l
/T
1
p
= 6.16. For problems with r = 0.8, when N increased 4 times from 40000 to
160000,

T
1
q
increased 7.6 times from 5.56 to 42.22,

T
1
l
increased 8.6 times from 18.57 to
159.19, and

T
1
p
increased 6.1 times from 4.26 to 26.06. Similar trends are observed for
other values of r. For problems with N = 160000, when r increased from 0.0 to 0.8 and N
n
increased about 3 times on average,

T
1
q
increased 3.9 times from10.92 to 42.22,

T
1
l
increased
7.4 times from21.59 to 159.19, and

T
1
p
increased 2.7 times from9.57 to 26.06. Similar trends
are observed for other values of N. These trends show that the CPU time taken by the linear
list approach increases faster than that of the TQT approach that in turn increases faster than
that of the PLQT approach.
For problems withk = 6,

T
1
p
<

T
1
q
<

T
1
l
is observedfor all N andr without anyexception.
Similar trends to those for problems with k = 4 are observed. For example, for problems
with r = 0.4, when N increased from40000 to 160000,

T
1
q
increased 6.8 times from12.77 to
87.22,

T
1
l
increased 10.9 times from 22.28 to 242.66, and

T
1
p
increased 6.2 times from 5.11
to 31.92. For all values of r, T
1
l
/T
1
p
increases as N increases. However, T
1
q
/T
1
p
increases for
problems with r = 0.0 and r = 0.2, decreases for problems with r = 0.6 and r = 0.8, and
stays approximately the same for problems with r = 0.4 as N increases.
Springer
Ann Oper Res (2006) 147:87107 105
Table 4 CPU time (seconds) taken by the three approaches for the identication and retrieval of non-
dominated criterion vectors k = 8
Identication Retrieval
r N(10
3
)

T
1
q

T
1
l

T
1
p
T
1
q
/T
1
p
T
1
l
/T
1
p

T
2
q

T
2
l

T
2
p
T
2
q
/T
2
p
T
2
l
/T
2
p
0.0 40 39.01 27.18 6.54 5.88 4.13 3.19 0.17 0.09 35.85 1.89
80 104.28 85.41 16.15 6.45 5.29 5.83 0.30 0.20 28.73 1.47
120 184.73 184.93 29.02 6.36 6.38 8.76 0.41 0.32 27.23 1.30
160 276.17 303.55 43.97 6.28 6.92 11.14 0.53 0.43 26.07 1.26
0.2 40 58.31 35.30 7.71 7.56 4.58 3.37 0.20 0.12 28.65 1.76
80 152.08 114.77 20.13 7.55 5.71 6.51 0.36 0.26 25.22 1.39
120 249.74 266.50 37.36 6.68 7.14 10.82 0.50 0.42 25.76 1.20
160 373.57 440.34 57.19 6.53 7.71 13.72 0.65 0.56 24.64 1.17
0.4 40 83.89 56.36 10.05 8.34 5.62 4.36 0.26 0.16 26.60 1.60
80 222.26 186.46 28.39 7.82 6.58 8.10 0.45 0.34 23.91 1.33
120 375.45 435.30 54.47 6.89 8.01 13.85 0.66 0.60 23.23 1.11
160 569.06 724.45 84.67 6.73 8.60 17.73 0.83 0.75 24.10 1.13
0.6 40 135.95 112.06 16.11 8.44 6.97 6.33 0.35 0.26 24.70 1.37
80 362.23 369.27 47.50 7.63 7.79 11.51 0.63 0.50 23.04 1.26
120 644.92 886.55 97.94 6.59 9.08 17.05 0.93 0.91 19.13 1.04
160 921.63 1487.36 149.97 6.17 9.96 20.79 1.20 1.19 17.78 1.03
0.8 40 189.74 328.54 31.72 5.98 10.39 11.23 0.62 0.49 22.79 1.28
80 599.50 1258.43 104.52 5.74 12.09 20.42 1.15 1.08 19.32 1.10
120 1061.34 2919.64 221.16 4.81 13.31 28.26 1.73 1.75 16.42 1.01
160 1593.21 4538.49 348.65 4.57 13.08 32.40 2.19 2.17 15.09 1.01
While similar trends are observed for problems with k = 8 as for problems with k = 4
and k = 6, the advantage of the PLQT approach becomes more signicant because the values
of T
1
q
/T
1
p
and T
1
l
/T
1
p
are much larger. The value of T
1
l
/T
1
p
increases as N increases for all
values of r. The value of T
1
q
/T
1
p
increases for r = 0.0, decreases for r = 0.4, r = 0.6 and
r = 0.8, and stays approximately the same for r = 0.2 as N increases.
These trends show that the more criteria, more criterion vectors and more nondominated
criterion vectors a problem has, the more complicated the problem is, and the more efcient
the PLQT approach is than the TQT approach that is in turn more efcient than the linear list
approach. Because the test problems cover a large range of real life applications, the PLQT
approach is recommended for all real life applications.
5.3 Results for the retrieval of nondominated criterion vectors
Computational results for the retrieval of nondominated criterion vectors are reported under
the columns of

T
2
q
,

T
2
l
,

T
2
p
, T
2
q
/T
2
p
and T
2
l
/T
2
p
in Tables 2, 3 and 4. As for

T
1
q
,

T
1
l
and

T
1
p
,
the values of

T
2
q
,

T
2
l
and

T
2
p
increase as k increases for problems with xed N and xed r,
increase as N increases for problems with xed k and xed r, and increase as r increases
for problems with xed k and xed N. As compared to the identication of nondominated
criterion vectors, the retrieval of 100 nondominated criterion vectors takes much less CPU
time that is in fact almost negligible. For all test problems, the PLQT approach is more
efcient than either the TQT approach or the linear list approach. As k increases, T
2
q
/T
2
p
increases and T
2
l
/T
2
p
decreases in general. Because only nondominated criterion vectors are
Springer
106 Ann Oper Res (2006) 147:87107
searched, the CPU time needed for the retrieval of nondominated criterion vectors should be
affected by k and N
n
only. However, N
n
increases as either N or r increases.
For problems with k = 4, both T
2
q
/T
2
p
and T
2
l
/T
2
p
increase as either N or r increases.
Therefore, the larger the set of nondominated criterion vectors in a problem, the relatively
more efcient the PLQT approach is than either of the other two approaches. For problems
with k = 6, although T
2
q
/T
2
p
and T
2
l
/T
2
p
decrease as N increases, the advantage of the PLQT
approach over either the TQT approach or the linear list approach is evident. For problems
with k = 8, although the TQT approach takes excessive amount of CPU time, the PLQT
approach shows clear advantage over the linear list approach.
6 Conclusions
The PLQT is developed to process, store and retrieve data, or data with composite keys, in
+
k
for k 1. The differences between a PLQT and a TQT are in their structures, in the algo-
rithms managing them and in their performances. The PLQT is applied to DMCO problems
for the identication, storage and retrieval of nondominated criterion vectors. Algorithms and
operations are developed, implemented and tested. Examples are provided to demonstrate the
approach. Computational results showthat the PLQT approach is substantially more efcient
than either the TQT or the linear list approach for both the identication and retrieval of non-
dominated criterion vectors. The PLQT also needs much less memory or storage space than
the TQT. With this data structure, the identication, storage and retrieval of nondominated
criterion vectors will no longer impose computational difculty for any application with any
reasonable number of criteria and any reasonable number of criterion vectors using current
computing technology. The PLQT is especially useful when employed in solution methods
for integer and combinatorial optimization problems because the management of nondom-
inated criterion vectors takes considerable amount of computation time for such problems
(Stummer and Sun, 2005). As a result, problems previously difcult to solve become much
more viable with the PLQT.
With modications in the algorithms, the PLQT can be used for other purposes in data
management, such as in image processing, in geographic information systems, and in con-
structing access paths in database management. Similar performances are expected when the
PLQT is employed for these applications. Implementing the PLQT and testing the perfor-
mances of the PLQT for these applications will be interesting future studies.
References
Allada, V. and S. Anand. (1992). Manufacturing Applications of Octress. Computers & Industrial Engi-
neering, 23(14), 3740.
Bao, Z. and H. Grabowski. (1998). Converting Boundary Representations to Exact Bintrees. Computers in
Industry, 37(1), 5566.
Bern, M. (1993). Approximate Closest-Point Queries in High Dimensions. Information Processing Letters,
45(2), 9599.
Borges, P.C. (2000). CHESSChanging Horizon Efcient Set Search: ASimple Principle for Multiobjective
Optimization. Journal of Heuristics, 6(3), 405418.
Chen, D.Z., R.J. Szczerba, and J.J. Uhran. (1997). A Framed-Quadtree Approach for Determining Euclidean
Shortest Paths in a 2-D Environment. IEEE Transactions on Robotics and Automation, 13(5), 668681.
Chung, K.-L. and W.-M. Yan. (2001). An Efcient Algorithm for the Fourier Transform on a Compressed
Image in Restricted Quadtree and Shading Format. Information Processing Letters, 75(1), 15.
Springer
Ann Oper Res (2006) 147:87107 107
Finkel, R.A. and J.L. Bentley. (1974). Quad-Trees, a Data Structure for Retrieval on Composite Keys. Acta
Informatica, 4, 19.
Finnigan, P., A. Hathaway, and W. Lorensen. (1990). Merging CAT and FEM. Mechanical Engineering,
112(7), 3238.
Habenicht, W. (1982). Quad Trees, A Datastructure for Discrete Vector Optimization Problems. Lecture
Notes in Economics and Mathematical Systems, 209, 136145.
Habenicht, W. (1991). ENUQUAD an Enumerative Approach to Discrete Vector Optimization Problems.
Presented at the International Workshop on Multicriteria Decision Making: Methods, Algorithms and
Applications, Liblici, Czechoslovakia.
Lee, C.-F. and C.-C. Chang. (2000). Breadth-First Search Oriented Symbolic Picture Representation for
Spatial Match Retrieval. The Journal of Systems and Software, 52(1), 1123.
Lee, W.S. (2000). Tiling and Adaptive Image Compression. IEEE Transactions on Information Theory,
46(5), 17891799.
Markas, T. and J. Reif. (1992). Quad Tree Structures for Image Compression Applications. Information
Processing and Management, 28(6), 701715.
Pemmaraju, S.V. and C.A. Shaffer. (1994). Analysis of the Worst Case Space Complexity of a PR Quadtree.
Information Processing Letters, 49(5), 263267.
Roberts, S.A., M.N. Gahegan, J. Hogg, and B. Hoyle. (1991). Application of Object-Oriented Databases to
Geographic Information Systems. Information and Software Technology, 33(1), 3846.
Samet, H., C.A. Shaffer, and R.E. Webber. (1987). Digitizing the Plane with Cells of Nonuniform Size.
Information Processing Letters, 24(6), 369375.
Saxena, M. and R.K. Irani. (1993). Knowledge-Based Modeling of Turbine Nozzles. Mechanical Engineer-
ing, 115(7), 8490.
Steuer, R.E. (1986). Multiple Criteria Optimization: Theory, Computation, and Application. New York: John
Wiley and Sons.
Stubbs, D.F. and N.W. Webre. (1987). Data Structure with Abstract Data Types and Modula-2. Pacic Crove,
California: Brooks/Cole, Publishing Co.
Stummer, C. and M. Sun. (2005). New Multiobjective Metaheuristic Solution Procedures in Capital Invest-
ment Planning. Journal of Heuristics, 11(3), 183199.
Sun, M. (1992). Interactive Multiple Objective Programming Procedures via Adaptive Random Search and
Feed-Forward Articial Neural Net Works. Ph.D. Dissertation, Terry College of Business, The University
of Georgia, Athens, GA.
Sun, M. (2005). Some Issues in Measuring and Reporting Solution Quality of Interactive Multiple Objective
Programming Procedures. European Journal of Operational Research, 162(2), 468483.
Sun, M. and R.E. Steuer. (1996a). Quad-Trees and Linear Lists for Identifying Nondominated Criterion
Vectors. INFORMS Journal on Computing, 8(4), 367375.
Sun, M. and R.E. Steuer. (1996b). InterQuad: An Interactive Quad Tree Based Procedure for Solving the
Discrete Alternative Multiple Criteria Problem. European Journal of Operational Research, 89(3), 462
472.
Sun, M. and R.E. Steuer. (2000). Quad-Trees Data Structures for Use in Large-Scale Discrete Alternative
Multiple Criteria Problems. In Y. Shi and M. Zeleny (Eds.), New Frontiers of Decision Making for the
Information Technology Era, pp. 4871.
Unnikrishnan, A., P. Shankar, and Y.V. Venkatesh. (1998). Threaded Linear Hierarchical Quadtrees for
Computation of Geometric Properties of Binary Images. IEEE Transactions on Software Engineering,
14(5), 659665.
Wu, X. and Y. Fang. (1994). Progressive Image Coding by Hierarchical Linear Approximation. Information
Processing & Management, 30(6), 839850.
Yu, P.L. (1985). Multiple-CriteriaDecisionMaking: Concepts, Techniques, andExtensions. NewYork: Plenum
Press.
Springer

You might also like