MULTI-CRITERION GENETIC PROGRAMMING WITH
NEGATIVE SELECTION FOR FINDING PARETO SOLUTIONS
Jerzy Marian Balicki
Naval University of Gdynia, Smidowicza Street, Gdynia, Poland
Keywords: Genetic programming, multi-criterion optimization, distributed systems.
Abstract: Multi-criterion genetic programming (MGP) is a rel
atively new approach for a decision making aid and it
can be applied to determine the Pareto solutions. This purpose can be obtained by formulation of a multi-
criterion optimization problem that can be solved by genetic programming. An improved negative selection
procedure to handle constraints in the MGP has been proposed. In the test instance, both a workload of
a bottleneck computer and the cost of system are minimized; in contrast, a reliability of the distributed
system is maximized.
1 INTRODUCTION
Genetic programming is a software technique for
getting computers to automatically solve a problem
(Koza, 1992). This approach starts from a high-level
statement of what needs to be done and
automatically creates a computer program. One of
the essential challenges of computer science is to get
a computer to solve a difficulty without explicitly
programming it to do so. Paraphrasing Arthur
Samuel – founder of the field of machine learning –
this challenge is “How can computers be made to do
what needs to be done, without being told exactly
how to do it?” (Samuel, 1960).
Genetic programming uses the Darwinian
pri
nciple of natural selection along with models of
crossover, mutation, and mechanisms of biology to
obtain a population of programs. Genetic
programming has been successfully applied to
a wide variety of problems from numerous different
fields (Koza et al., 2004).
Multi-criterion genetic programming (MGP) is
a
relatively new approach for a decision making aid
and it can be applied to determine the Pareto
solutions (Balicki, 2006). This purpose can be
obtained by formulation a multi objective
optimization problem that can be solved by adjusted
genetic programming.
In this paper, genetic programming paradigm is
i
mplemented as a genetic algorithm written in the
Matlab language. Chromosomes are generated as the
functions, and then genetic operators are applied for
finding functions that produce Pareto-suboptimal
solutions.
2 GENETIC PROGRAMMING
Genetic programming is an appealing paradigm of
an artificial intelligence (Koza et al., 2004).
Solutions to several problems have been found for
instances from different areas like optimal control,
planning and sequence induction. Genetic
programming permits finding solutions to symbolic
regression, automatic programming or discovering
a game playing strategy.
Furthermore, problems related to empirical
discoveri
ng and forecasting, symbolic integration or
differentiation, discovering mathematical identities
or classification and decision tree induction can be
solved by this approach. Evolution of emergent
behaviour and also automatic programming of
cellular automata are on the list of problems that
have been solved successfully.
Figure 1 shows an example of a tree of the
com
puter program performance. This tree
corresponds to the program written in the LISP
language, as follows:
(GT (* -1.5 x) (LOG y (SQRT y)))
Above program calculates both the value –1.5x
and log(
yy
), and then compares –1.5x to
log(
yy
). If –1.5x is greater than log(
yy
), then
120
Marian Balicki J. (2007).
MULTI-CRITERION GENETIC PROGRAMMING WITH NEGATIVE SELECTION FOR FINDING PARETO SOLUTIONS.
In Proceedings of the Second International Conference on Software and Data Technologies - PL/DPS/KE/WsMUSE, pages 120-127
DOI: 10.5220/0001336201200127
Copyright
c
SciTePress
an outcome of the GT function is equal to 1.
However, in the other case, the result is –1.
Figure 1: Tree as a model of the computer program.
This tree is equivalent to the parse tree that most
compilers construct internally to represent the given
computer program. If a computer program was
represented by any algorithm form, genetic operators
like reproduction, crossover or mutation would be
complicated to implement.
A parse tree (a concrete syntax tree) is a tree that
represents the syntactic structure of a
string
according to some formal grammar. A program that
produces such trees is called a
parser. Parse trees
may be generated for
sentences in natural languages,
as well as during processing of computer languages,
such as programming languages.
A parse tree is made up of nodes and branches.
In a parse tree, each node is either a root node,
a branch node, or a leaf node.
Nodes can also be referred to as parent nodes
and child nodes. A parent node is one which has at
least one other node linked by a branch under it.
A child node is one which has at least one node
directly above it to which it is linked by a branch of
the tree.
Despite the data structure representing
chromosomes in an evolution strategy or an
evolutionary algorithm, a chromosome for genetic
programming is the tree of a computer program.
Even the simplest procedure differs from a complex
data structure, significantly. The procedure can
calculate what gives ability to represent not only
knowledge about a problem, but also it gives
possibility to draw conclusions. Moreover, it may
process data in the way difficult to discover. That is,
a computer program may model a solution to the
problem as an intelligent procedure.
Generation of the tree is an important step for
finding solutions. The size of the generated tree is
limited by the number of nodes or by the number of
the tree levels. Nodes in the tree are divided on
functional nodes and terminal ones. A functional
node represents the procedure randomly chosen
from the primary defined set of functions:
GT
{
}
Nn
fff ,...,,...,
1
=
F
(1)
Each function should be able to accept, as its
arguments, any value and data type that may
possible be returned by the other procedure (Koza,
1992). Because a procedure is randomly chosen
from the set, and then it is returned, each function
should be able to accept, as its arguments, any value
and data type that may possible be returned by itself.
Moreover, each procedure should be able to accept
any value and data type that may possible be
assumed by any terminal in the terminal set:
{
}
Mm
aaa ,...,,...,
1
=
T
(2)
An above quality of procedure is called a closure
condition because each function should be well
defined and closed for any arrangement of
arguments that it may come across.
Another quality
, called the sufficiency condition,
requires that the solution to the problem should be
expressed by the combination of the procedures
from the set of functions and the arguments from the
set of terminals. For example, the set of functions
{
}
NOTORAND ,,
=
F
is sufficient to express any
Boolean function. If the logical operator AND is
removed from this set, the remaining procedure set
is still satisfactory for realizing any Boolean
function. A sufficient set is
{}
as well.
NOTAND ,
Let the following set of procedures be
considered for the problem of finding trajectory for
the underwater vehicle (Balicki, 2006):
{
}
/,-,*,,+
=
ENDE,MOVE,IF_IF_OBSTACLF
(3)
The procedure IF_OBSTACLE takes two
arguments. If the obstacle is recognized ahead the
underwater vehicle, the first argument is performed.
In the other case, the second argument is executed.
The function MOVE requires three arguments. It
causes the movement along the given direction with
the velocity equals the first argument during
assumed time Δt. The time Δt is the value that is
equal to the division a limited time by M
max
.
The direction of the movement is changed
according to the second and third arguments. The
second argument is the angle of changing this
direction up if it is positive or down if it is negative.
Similarly, the third argument represents an angle of
SQRT
*
LOG
y
x
-1.3
y
MULTI-CRITERION GENETIC PROGRAMMING WITH NEGATIVE SELECTION FOR FINDING PARETO
SOLUTIONS
121
changing the direction to the left if it is positive or
to the right if it is negative.
The last procedure IF_END ends the trajectory
of the underwater vehicle if it is in the destination
region or the expedition is continued if it is not
there. The set of arguments consists of the real
numbers generated from the interval (-1; 1).
A multi-criterion genetic algorithm has been
applied for operating on the population of the
computer procedures written in the Matlab language.
Numerical experiments confirm that feasible, sub-
optimal in Pareto sense, trajectories can be found by
genetic programming. Although, the quality of
obtained trajectories was a little lower than the
trajectories determined by an evolutionary algorithm
(Balicki, 2005), a paradigm of genetic programming
gives opportunity to solve that control problems for
changing environment.
3 NEGATIVE SELECTION
ALGORITHM
Multicriterion genetic programming is based on
using a genetic algorithm and to some extend it
inherits some disadvantiges of that approach. One of
them is the weak efficiency for finding the
admissinle solutions in optimization problems. To
improve this calculation situation, we propse the
development of the negative selection algorithm
from an immune systems.
The immune system can be seen as a distributed
adaptive system that is capable for learning, using
memory, and associative retrieval of information in
recognition (Jerne, 1984). Many local interactions
provide, in consequence, fault tolerance, dynamism
and adaptability.
The negative selection algorithm (NSA) for
detection of changes has been developed (Forest and
Perelson, 1991). This algorithm is based on the
discrimination principle that is used to know what is
a part of the immune system is.
Detectors are randomly generated to reduce
those detectors that are not capable of recognising
themselves. Subsequently, detectors proficient to
distinguish trespassers are kept. An adjusted
detection is performed probabilistically by the NSA
(Benaschi et al., 1999).
An antigen is a molecule that stimulates
a response against trespassers. The term originated
from the notion that they can stimulate antibody
generation. Moreover, the immune system consists
of some viruses as well as bacteria (Kim and
Bentley, 2002).
An antibody (an immunoglobulin) is a large
Y- shaped protein used to identify and neutralize
foreign objects like bacteria and viruses. The
antibody recognizes a specific target - an antigen.
The negative selection can be used to manage
constraints in an evolutionary algorithm by isolating
the contemporary population in two groups
(Wierzchon, 2005). Feasible solutions called
“antigens” create the first cluster, and the second
cluster of individuals consists of “antibodies” –
infeasible solutions. For that reason, the NSA is
applied to generate a set of detectors that verify the
state of constraints.
We assume the initial fitness for antibodies is
equal to zero. Then, a randomly chosen antigen G
¯
is compared to the selected antibodies. After that,
the distance S between G
¯
and the antibody B
¯
is
calculated due to the amount of similarity at the
genotype level. The measure of genotype similarity
between the antigen and the antibody depends on
their representation. This assessment of similarity
for the integer version is, as follows (Balicki, 2005):
,),(
1
=
=
M
m
mm
BGBGS
(4)
where
;,1,position at antibody theof value
,,1,position at antigen theof value
solution, theoflength the
MmmB
MmmG
M
m
m
=
=
The negative selection can be implemented by
a modified genetic algorithm. In that approach,
infeasible solutions that are similar to feasible ones
are preferred in the current population. Although,
almost all the random choices are based on the
uniform distribution, the pressure is directed to
improve the fitness of appropriate infeasible
solutions.
4 RANKING PROCEDURE FOR
NSA
The situation that the fitness of the winner is
increased by adding the magnitude of the similarity
measure may pass over a non-feasible solution with
the relatively small value of this assessment (1).
Nevertheless, some constraints may be satisfied by
this alternative.
What is more, if a constraint is exceeded and the
others are not, the value of a similarity measure may
be lower for some cases. The first of two similar
solutions, in genotype sense, may not satisfy this
constraint and the second one may satisfy it.
To avoid this limitation of the NSA, some
distance measures can be applied from the state of
ICSOFT 2007 - International Conference on Software and Data Technologies
122
an antibody to the state of the selected antigen,
according to the constraints.
Equalities and inequalities that are of interest to
us are, as follows:
,,1,0)( Kkxg
k
=
(5)
.,1,0)( Llxh
l
==
(6)
The distance measures from the state of an
antibody B
¯
to the state of the selected antigen G
¯
are defined, as below:
.,,1
,,,1,)(
,,,1),()(
),( LKNNn
lKnLlBh
knKkGgBg
GBf
l
kk
n
+==
+==
==
=
(7)
The distance f
n
(B
¯
,G
¯
)
is supposed to be
minimized for all the constraint numbers n. If the
antibody B
¯
is marked by the smaller assessment
f
n
(B
¯
,G
¯
)
to the antigen than the antibody C
¯
, then
B
¯
ought to be preferred to C
¯
due to the
improvement of the nth constraint. Moreover, if the
antibody B
¯
is characterized by all shorter distances
to the antigen than the antibody C
¯
, then B
¯
should
be preferred for all constraints.
However, some situations may occur when B
¯
is
characterized by the shorter distances for some
constraints and the antibody C
¯
is marked by the
shorter distances for the others. In this case, it is
difficult to select an antibody. We suggest
introducing a ranking procedure to calculate fitness
of antibodies and then to select the winner.
In the improved negative selection algorithm
with ranking procedure denoted as NSA*, distances
between the chosen antigen and some antibodies are
calculated. Afterwards, the nondominated antibodies
are determined according to their distances (7) to the
antigen, and then, they get the rank equal to 1. Next,
they are temporary eliminated from the subset of
antibodies. Subsequently, the new nondominated
antibodies are determined from the reduced subset
and they get the rank equal to 2. In this procedure,
that level is increased and it is repeated until the
subset of antibodies is exhausted. All the non-
dominated antibodies have the same fitness because
of the equivalent rank. The last market antibody gets
the rank equal to r
max
.
If B
¯
is characterized by the rank r(B
¯
), then
1 r(B
¯
) r
max
and the increment of the fitness
function value is estimated, as below:
.1)()(
max
+=Δ
BrrBf
(8)
Afterwards, the fitness values of all selected
antibodies are increased by adding their assigned
increments. The antibodies are returned to the
current population and this process is repeated
typically three times the number of antibodies. Each
time, a randomly chosen antigen is compared to the
same subset of antibodies.
Afterwards, a new population is constructed by
reproduction, crossover and mutation without
calculations of fitness. That process is repeated until
a convergence of population emerges or until
a maximal number of iterations is exceeded. At the
end, the final population as outcomes from the
negative selection algorithm is returned to the
external evolutionary algorithm.
5 OPTIMIZATION OF
DISTRIBUTED SYSTEM
To test the ability of the MGP with NSA* for
handling constraints, we consider a multi-criterion
optimisation problem for task assignment in
a distributed computer system (Balicki, 2005).
Finding allocations of program modules may
decrease the total time of a program execution by
taking a benefit of the particular properties of some
workstations or an advantage of the computer load.
An adaptive evolutionary algorithm has been
considered for solving multi-objective optimisation
problems related to task assignment that minimize
Z
max
– a workload of a bottleneck computer and C
the cost of machines. The total numerical
performance of workstations is another criterion for
assessment the quality of a task assignment and it
has been involved to multi-criterion problem.
Moreover, a reliability R of the system is an
additional criterion that is important to assess the
quality of a task assignment.
In the considered problem, both a workload of
a bottleneck computer and the cost of machines are
minimized; in contrast, a reliability of the system is
maximized. In addition, constraints related to
memory limits and computer locations are imposed
on the feasible task assignment. A set of program
modules {M
1
,...,M
m
,...,M
M
www
} communicated to each
others is considered among the coherent computer
network with computers located at the processing
nodes from the set
1 Ii
W },...,,...,{
=
. A set of
program modules is mapped into the set of parallel
performing tasks {T
1
,...,T
v
,...,T
V
}. Some task
scheduling algorithms based on tabu search are
proposed in (Weglarz et al., 2003).
Let the task T
v
be executed on some computers
taken from the set of available computer sorts
},...,,...,{
1 Jj
π
π
π
=
Π
. The overhead performing
time of the task T
v
by the computer
π
j
is represented
by an item .
vj
t
MULTI-CRITERION GENETIC PROGRAMMING WITH NEGATIVE SELECTION FOR FINDING PARETO
SOLUTIONS
123
Let
j
π
be failed independently due to an
exponential distribution with rate
j
λ
. We do not
take into account of repair and recovery times for
failed computer in assessing the logical correctness
of an allocation. Instead, we shall allocate tasks to
computers on which failures are least likely to occur
during the execution of tasks. Computers and tasks
can be allocated to nodes in purpose to maximize the
reliability function R defined, as below (Balicki,
2005):
),exp()(
11 1
∏∏∏
== =
=
V
v
I
i
J
j
ij
m
vivjj
xxtxR
π
λ
(9)
where
=
, the toassigned is if1
case.other thein0
i
w
j
ij
x
π
π
=
, toassigned is taskif1
case,other thein0
i
w
v
T
m
vi
x
.],...,,...,,,...,,...,[
1111
T
IJij
m
VI
m
vi
m
xxxxxxx
πππ
=
A computer with the heaviest task load is the
bottleneck machine and its workload is a critical
value that is supposed to be minimized. The
workload Z
max
(x) of the bottleneck computer for the
allocation x is provided by the subsequent formula:
,max)(
111 111
,1
max
+=
∑∑∑∑
≠≠
==
m
uk
m
vi
V
v=
V
vu
u=
I
ik
i=
I
k
vuikij
m
vi
J
j
V
v=
vj
Ii
xxxxtxZ
τ
π
(10)
where
vuik
τ
the total communication time between
the task T
v
assigned to the ith node and the T
u
assigned to the kth node.
Figure 2 shows the workload of the bottleneck
computer in the distributed computer system for
generated task assignments in a systematic way. The
function Z
max
takes value from the period [40; 110]
for 256 solutions. What is more, even a small change
in task assignment related to the movement of a task
to another computer or a substitution of computer
sort can cause a relatively big alteration of its
workload.
A computer is supposed to be equipped with
necessary capacities of resources. Let the following
memories z
1
,...,z
r
,...,z
R
be available in the distributed
system and let d
jr
be the capacity of memory z
r
in the
workstation
π
j
. We assume the task T
v
reserves c
vr
units of memory z
r
and holds it during a program
execution. The memory limit in a machine cannot be
exceeded in the ith node, what is written, as bellows:
.,1,,1,
11
RrIixdxc
J
j
ijjr
V
v
m
vivr
==
==
π
(11)
Measure of the task assignment is a cost of
computers:
π
ij
i
J
j
j
xκxC
∑∑
==
2
11
=)(
(12)
where
κ
j
corresponds to the cost of the computer
π
j
.
0
50
100
150 200 250 300
40
50
60
70
80
90
100
110
Z
max
[TU]
Number of solution
Figure 2: Workload of the bottleneck computer
for generated solutions.
6 ADAPTIVE EVOLUTIONARY
ALGORITHM
The total computer cost is in conflict with the
numerical performance of a distributed system,
because the cost of a computer usually depends on
the quality of its components. The faster computer or
the higher reliability of it is, the more expensive it is.
Additionally, the workload of the bottleneck
computer is in conflict with the cost of the system.
Let (X, F, P) be the multi-criterion optimisation
question for finding the representation of Pareto-
optimal solutions (Coello Coello et al., 2002). It is
established, as follows:
1) X - an admissible solution set
|{
)( JVI
x
+
= BX
;,1,,1,
11
RrIixdxc
J
j
ijjr
V
v
m
vivr
==
==
π
ICSOFT 2007 - International Conference on Software and Data Technologies
124
;,1 ,1
1
Vvx
I
i
m
vi
==
=
},1,1
1
Iix
J
j
ij
==
=
π
where B
= {0, 1}
2) F - a quality vector criterion
3
: RX F
(13)
where
R
the set of real numbers,
F(x) = [–R(x), Z
max
(x), C(x)]
T
for xX,
R(x), Z
max
(x), F
2
(x) are calculated by (9), (10)
and (12), respectively
3) P - the Pareto relation (Deb, 2001).
An analysis of the task assignments has been
carried out for two genetic approaches (Zitzler et al.,
2000). The first one was an adaptive multi-criterion
evolutionary algorithm with tabu mutation AMEA*
(Balicki, 2005). Tabu search procedure was applied
as an additional mutation operator to decrease the
workload of the bottleneck computer. Moreover, we
suggest introducing a negative selection algorithm
with ranking procedure to improve the quality of
obtained solutions.
Better outcomes from the NSA* are transformed
into improving of solution quality obtained by the
adaptive multi-criterion evolutionary algorithm with
tabu mutation AMEA*. This approach gave better
results than the previous version of that algorithm
named AMEA+. After 200 generations, an average
level of Pareto set obtaining was 1.5% for the
AMEA*, 1.9% for the AMEA+ (Figure 3).
Fifty test preliminary populations were prepared,
and each algorithm started from these solutions. For
integer constrained coding of chromosomes there
were 12 decision variables in the test optimisation
problem. The binary search space consisted of
1.0737
x
10
9
chromosomes and included 25 600
admissible solutions.
7 MULTI-CRITERION GENETIC
PROGRAMMING
Genetic programming paradigm can be implemented
as a genetic algorithm written in the Matlab
language. Chromosomes are generated as the Matlab
functions and then genetic operators are applied for
finding Pareto-suboptimal solutions. Results may be
compared with outcomes obtained by AMEA*.
1,5
8,6
3,9
1,9
5,7
11,3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
50 75 100 125 150 175 200
AMEA*
AMEA+
S
[%]
Generation number
Figure 3: Outcome convergence for AMEAs.
Figure 4 shows a scheme of the MGP that
operates on the population of program functions.
The preliminary population of programs is created in
a specific manner (Fig. 4, line 3). Each generated
program consists of set of procedures and set of
attributes. Set of procedures is defined, as follows:
{
}
/,-,*,,
+
=
listF
(14)
where
list – the procedure that convert I(V+J) input real
numbers called activation levels on I(V+J) output
binary numbers
.
ππππ
IJijJ
m
VI
m
vi
m
I
m
xxxxxxxx ,...,,...,,...,,,...,,...,,...,
111111
The procedure list is obligatory the root of the
program tree and appears only one in a generated
program. In that way, the formal constraint
Mmx
m
,1, = B
is satisfied. An activation level
is supplied to a root from the sub-tree that is
randomly generated with using arithmetic operators
{+, -, *, /} and the set of terminals.
Let be the set of numbers that consists of
the given data for the instance. A terminal set is
determined for the problem, as below:
D
,LDT
=
(15)
where
set of n random numbers,
L
.D=n
If x calculated by the program is admissible, then
the fitness function value (Fig. 4, line 4) is
estimated, as below:
,1)()(
maxmax
+
+
=
Pxrrxf
(16)
MULTI-CRITERION GENETIC PROGRAMMING WITH NEGATIVE SELECTION FOR FINDING PARETO
SOLUTIONS
125
where r(x) denotes the rank of an admissible
solution,
.
)(1
max
rxr
Figure 4: Multi-criterion genetic programming MGP*.
Another ranking procedure assigns each
individual a rank based on the number of other
individuals by which it is dominated (Fonseca and
Fleming, 1995). A niching procedure modifies it.
The surface region of the Pareto front is divided by
the size of the population. The number of other
member’s falling within the sub-area of any
individual is taken to establish the penalty for it.
In the two-weight tournament selection (Fig. 4,
line 12), the roulette rule is carried out twice. If two
potential parents (a, b) are admissible, then
a dominated one is eliminated. If two solutions non-
dominate each other, then they are accepted. If
potential parents (a, b) are non-admissible, then an
alternative with the smaller penalty is selected.
The fitness sharing technique can be substituted
by the adaptive changing of main parameters. The
quality of attained solutions increases in
optimisation problems with one criterion, if the
crossover probability and the mutation rate are
changed in an adaptive way (Sheble and Britting,
1995). The crossover point is randomly chosen for
the chromosome X in the S-crossover operator (Fig.
4, line 13). The crossover probability is 1 at the
initial population and each pair of potential parents
is obligatory taken for the crossover procedure.
A crossover operation supports the finding of
a high-quality solution area in the search space. It is
important in the early search stage. If the number of
generation t increases, the crossover probability
decreases according to the formula
.
max
/Tt
c
ep
=
1. BEGIN
2. t:=0, set the even size of population L, p
m
:=1/(ML)
3. generate initial population of programs P(t)
4. run programs, calculate ranks r(x) and fitness
)(),( txxf P
The search region or some search areas are
identified after several crossover operations on
parent pairs. That is why, value p
c
is smaller and it is
equal to 0.6065, if t
=100 for maximum number of
population T
max
=200. The final smallest value p
c
is
0.3679. A crossover probability decreases from 1 to
exp(-1), exponentially. During S-crossover, a subtree
with the randomly selected root from program a is
exchanged with another subtree from tree b.
5. finish:=FALSE
6. WHILE NOT finish DO
7. BEGIN /* new population */
8. t:= t+1,
=:)(tP
9.
calculate selection
probabilities
)
,
(xp
s
)1(
tPx
10. FOR L/2 DO
11. BEGIN /* reproduction cycle */
12. 2WT-selection of a potential parent pair (
a,b)
from the population
P(t-1)
In S-mutation (Fig. 4, line 14), the random node
is chosen, the related subtree is removed, and then
a new subtree is generated. A mutation rate is
constant in the MGP and it is equal to 1/M, where M
represents the number of decision variables.
13. S-crossover of a parent pair (
a,b) with the
adaptive crossover rate p
c
,
max
/
:
Tt
c
ep
=
14. S-mutation of an offspring pair (
a',b') with the
mutation rate p
m
15. P(t):=P(t)(a',b'}
16. END
8 NUMERICAL EXPERIMENTS
17.
calculate ranks r(x) and fitness
)(),( txxf P
18. IF (P(t) converges OR t T
max
) THEN
finish:=TRUE
Better outcomes from the NSA* are transformed
into improving of solution quality obtained by the
MGP*. This approach gives similar results than the
AMEA*. After 200 generations, an average level of
Pareto set obtaining is 1.3% for the MGP*, 1.5% for
the AMEA*. All points have been found by MGP*
for that instance.
19. END
20. END
For the other instance with 15 tasks, 4 nodes, and
5 computer sorts, there are 80 binary decision
variables. An average level of convergence to the
Pareto set is 17.7% for the MGP* and 17.4% for the
AMEA*. A maximal level is 28.5% for the MGP*
and 29.6% for the AMEA*. For this instance the
average number of optimal solutions is 19.5% for
the MGP* and 21.1% for the AMEA*.
Figure 5 shows the process of finding efficient
task assignment by MGP* for the cut obtained from
the evaluation space according to the cost criterion C
and the workload of the bottleneck computer Z
max
.
ICSOFT 2007 - International Conference on Software and Data Technologies
126
N
*
C
[MU]
Z
max
[ TU ]
P
P
P
P
P
Figure 5: Pareto front and results from GMP*.
An average level of convergence to the Pareto
set, an maximal level, and the average number of
optimal solutions become worse, when the number
of task, number of nodes, and number of computer
types increase. An average level is 37.7% for the
MGP* versus 35,7% for the AMEA*, if the instance
includes 50 tasks, 4 nodes, 5 computer types and
also 220 binary decision variables.
9 CONCLUDING REMARKS
Genetic programming is relatively new paradigm of
artificial intelligence that can be used for finding
Pareto-optimal solutions. A computer program as
a chromosome is a subject of genetic operators such
as recombination, crossover and mutation. It gives
possibility to represent knowledge that is specific to
the problem in more intelligent way than for the data
structure. A genetic algorithm has been applied for
operating on the population of the computer
procedures written in the Matlab language.
Initial numerical experiments confirm that
feasible, sub-optimal in Pareto sense, task
assignments can be found by genetic programming.
That approach permits for obtaining comparable
quality outcomes to advanced evolutionary
algorithm.
Our future works will focus on testing the other
sets of procedures and terminals to find the Pareto-
optimal task assignments for different criteria and
constraints.
REFERENCES
Balicki, J., 2006. Multicriterion Genetic Programming for
Trajectory Planning of Underwater Vehicle. Int.
Journal of Computer Science and Network Security,
Vol. 6, No. 12, December 30, 1-6.
Balicki, J., 2005. Immune Systems in Multi-criterion
Evolutionary Algorithm for Task Assignments in
Distributed Computer System. Lectures Notes in
Computer Science, Vol. 3528, 51-56.
Bernaschi, M., Castiglione, F., Succi, S., 2006. A High
Performance Simulator of the Immune System. Future
Generation Computer System, Vol. 15, 333-342.
Coello Coello, C. A., Van Veldhuizen, D. A., Lamont,
G.B., 2002.
Evolutionary Algorithms for Solving
Multi-Objective Problems
. Kluwer Academic
Publishers, New York.
Deb, K., 2001.
Multi-Objective Optimization using
Evolutionary Algorithms
, John Wiley & Sons,
Chichester.
Fonseca, C. M., Fleming, P. J., 1995. An Overview of
Evolutionary Algorithms in Multiobjective
Optimisation, Evolutionary Computation, Vol. 3, No.
1, 1-16.
Forrest, S., Perelson, A.S., 1991, Genetic Algorithms and
the Immune System. Lecture Notes in Computer
Science, 320-325.
Jerne, N.K., 1984. Idiotypic Networks and Other
Preconceived Ideas. Immunological Revue, Vol. 79,
5-25.
Kim, J. and Bentley, P. J., 2002.
Immune Memory in the
Dynamic Clonal Selection Algorithm.
Proc. of the First
Int. Conf. on Artificial Immune Systems, Canterbury,
57-65.
Koza J.R., Keane M. A., Streeter M. J., Mydlowec W. ,
Yu J., and Lanza G., 2003. Genetic programming IV.
Routine Human-Competitive Machine Intelligence.
Kluwer Academic Publishers, New York.
Koza, J. R., 1992. Genetic Programming: On the
Programming of Computers by Means of Natural
Selection. Cambridge, MA: The MIT Press.
Samuel A. L., 1960. Programming Computers to Play
Games.
Advances in Computers 1: 165-192.
Sheble, G. B., Britting, K., 1995. Refined Genetic
Algorithm – Economic Dispatch Example. IEEE
Transactions on Power Systems, Vol. 10, No. 2, 117-
124.
Weglarz, J., Nabrzyski, J., Schopf, J., 2003, Grid Resource
Management: State of the Art and Future Trends.
Kluwer Academic Publishers, Boston.
Wierzchon, S. T., 2005. Immune-based Recommender
System. In O. Hryniewicz, J. Kacprzyk, J. Koronacki
and S. T. Wierzchon (eds.) Issues in Intelligent
Systems. Paradigms. Exit, Warsaw, 341-356.
Zitzler, E., Deb, K., and Thiele, L., 2000. Comparison of
Multiobjective Evolutionary Algorithms: Empirical
Results. Evolutionary Computation, Vol. 8, No. 2 173-
195.
MULTI-CRITERION GENETIC PROGRAMMING WITH NEGATIVE SELECTION FOR FINDING PARETO
SOLUTIONS
127