MPE Mathematical Problems in Engineering 1563-5147 1024-123X Hindawi Publishing Corporation 10.1155/2014/713430 713430 Research Article Triangle and GA Methods for UAVs Jamming http://orcid.org/0000-0003-2544-9739 Zhang Yu 1,2 http://orcid.org/0000-0003-3984-1467 Yang Lisheng 1,2 Xu Qingsong 1 College of Communication Engineering, Chongqing University Chongqing 400030 China cqu.edu.cn 2 Center of Communication & Tracking Telemetering Command Chongqing 400030 China 2014 582014 2014 07 05 2014 06 07 2014 5 8 2014 2014 Copyright © 2014 Yu Zhang and Lisheng Yang. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

We focus on how to jam UAVs network efficiently. The system model is described and the problem is formulated. Based on two properties and a theorem which helps to decide good location for a jammer, we present the Triangle method to find good locations for jammers. The Triangle method is easy to understand and has overall computational complexity of ON2. We also present a genetic algorithm- (GA-) based jamming method, which has computational complex of OLMN2. New chromosome, mutation, and crossover operations are redefined for the GA method. The simulation shows that Triangle and GA methods perform better than Random method. If the ratio of jammers’ number to UAVs’ number is low (lower than 1/5 in this paper), GA method does better than Triangle method. Otherwise, Triangle method performs better.

1. Introduction

Unmanned aerial vehicles (UAVs) are used for a wide range of missions . They could be utilized within several kinds of warfare like reconnaissance, battle management, chemical-biological warfare, information warfare, and so forth. They may also be included in other possible warfare such as command/control, force protection, suppression of enemy air defenses, and mine counter measures and psychological operations . But with shared wireless communication media, they are highly sensitive to denial it of service attacks . Jamming is one of these attacks. It is a malicious attack whose objective is to disrupt the communication of the victim network intentionally causing interference or collision at the receiver side .

Some defense strategies  are proposed by researchers against jamming in wireless networks. In , general concepts for use of multiple vehicles against RADAR systems are described in terms of cooperative path planning and resource allocation. The authors also present several approaches to solve the technical problems. The authors of  plan path for UAVs minimize exposure to threats. In [4, 5] the UAVs jamming problem is formulated as a zero-sum pursuit-evasion game and Isaacs’ approach is used to obtain motion strategies for a pair of UAVs to evade the jamming attack.

Different from these works, we do research on jamming UAVs network effectively. Some general jamming attack techniques for wireless networks are described in [8, 9]. Jamming attack and network defense strategies are introduced for wireless sensor networks in . The authors of  provide motion strategies for a jammer to jam the communication between a pair of UAVs. However, in this paper we focus on jamming a UAVs network. Multijammers are used to work together to cause maximal damage to the UAVs network. We plan to solve the jamming problem in two steps. Step 1 is jamming the UAVs network with a fixed topology. This topology is a snapshot of UAVs in motion at a specific time. The purpose of this step is to find good locations for jammers to disrupting more UAVs communication links. Step 2 is jamming the network for a period of time. Because UAVs are moving, the topology is continuously changing. The jamming problem is more complex than problem in Step 1. We plan to solve the problem of Step 2 after Step 1, and use the result of Step 1 to design strategies for Step 2. The work of Step 2 will not be carried out in this paper. Here, we just handle the problem of Step 1. We contribute to the UAVs jamming research as follows.

We state the problem of jamming UAVs network and give out the problem formulation.

We introduce Triangle method and GA (genetic algorithm) based method for the jamming of UAVs network. They perform significantly better than Random method.

We analyze the simulation result and show how to choose the UAVs jamming method. With fewer jammers, GA method should be chosen. However, when more jammers are available, Triangle method should be considered firstly.

The rest of the paper is organized as follows. The UAVs jamming problem is introduced formulated and analyzed in Section 2. Based on the theorem proved, Triangle jamming method is presented in Section 3. Evolutionary algorithm of GA is introduced and modified for jamming UAVs network in Section 4. The simulation is carried out and the result is analyzed in Section 5. Finally, conclusion is drawn and our future work is planned in Section 6.

2. Jamming Problem Statement 2.1. UAVs System Architecture

We consider jamming the communication in a UAVs network as shown in Figure 1. The UAVs communicate with each other through data links like Link-16 . The location of a UAV in the global coordinate frame is denoted as (x,y,z), where x, y, and z represent the UAV’s longitude, latitude, and altitude, respectively. The set of all UAV locations is denoted as L. Usually the UAVs locate in a restricted area according to their specific tasks. Figure 1 presents such a task area which is a cylinder. The cylinder’s radius and height are set to 20 km and 9 km, respectively.

UAVs system architecture.

2.2. Jamming Power to Signal Power Ratios (JSR) Model

The jamming power to signal power ratio at the receiver determines the degree to which jamming will be successful. For digital signals, the jammer’s goal is to raise this ratio to a level such that the BER is above a certain threshold. For analog voice signals, the goal is to reduce the articulation performance so that the signals are difficult to understand. The following JSR models at the receiver’s antenna are defined in .

Rn Model, (1)ξ=PJTGJRGRJPTGTRGRT10nlog10(DTR/DJR).

Ground reflection propagation, (2)ξ=PJTGJRGRJPTGTRGRT(hJhT)2(DTRDJR)4.

Nicholson, (3)ξ=PJTGJRGRJPTGTRGRT104log10(DTR/DJR),

where PJT is the power of the jammer’s transmitting antenna, PT is the power of the transmitter, GTR is the antenna gain from transmitter to receiver, GRT is the antenna gain from receiver to transmitter, GJR is the antenna gain from jammer to receiver, GRJ is the antenna gain from receiver to jammer, hJ is the height of the jammer antenna above the ground, hT is the height of the transmitter antenna above the ground, DTR is the Euclidean distance between transmitter and receiver, and DJR is the Euclidean distance between jammer and transmitter.

We use the Nicholson JSR model (3) in this paper. The value of each parameter may be different in different scenarios. We consider scenario in which parameters are set as follows: (4)PJT=3,GJR=GRJ=1,PT=1,GTR=GRT=1,ξTR=1.2.

When we put parameters of (4) into (3), ξ=(PJTGJRGRJ/PTGTRGRT)104log10(DTR/DJR) = (3×1×1/1×1×1)104log10(DTR/DJR)=1.2. We get DTR/DJR=0.79527. If DJR is less than DTR/0.79527=1.25743DTR, then the receiver cannot get data from the sender successfully. Here, DJR is the distance between a jammer and a UAV, and DTR is the distance between a UAV and another UAV. The condition that a UAV’s communication link for receiving data from another UAV is jammed can be represented as (5)DJR1.25743DTR.

2.3. Problem Formulation

When formulating the UAVs jamming problem, the following notations are used. U={1,2,,n} is the set of UAVs, n is an integer and n1; J={1,2,,m} is the set of jammers, m is an integer and m1, ui is used to represent UAV i, and li and lj are the location of UAV i and jammer j. The location of UAV is assumed to be restricted into its task area L. The valid location of UAV i is liL.

All UAVs communicate with bidirectional communication links. UAV i uses link Linkik to send packets to k. At the same time, UAV k sends packets to i through Linkki. The jamming effect is denoted as JEjik. When JEjik=1, UAV k will not get packets from i; that is, Linkik is jammed by jammer j. Otherwise, Linkik is not jammed by jammer j. JEjik is represented as (6)JEjik={1,ξ=PJTGJRGRJPTGTRGRT104log10(DTR/DJR)>ξ0,0,others.

The total jamming effect can be computed through adding jamming effect of all links and is denoted as z=jJi,kUJEjik. Therefore, the objective function for jammers is to maximize z. The jamming problem can be modeled as (7)max(z=jJi,kUJEjik)subject to:liL,iU.

2.4. Problem Analysis

A term of jamming area is used for representing an area in which UAVs’ receiving links are disrupted by one or more jammers. Jamming area is defined as follows.

Definition 1 (jamming area).

UAV k is sending packets to i through Linkki. UAV k is the sender and i is the receiver. The jamming area JAik is such an area in which UAV i cannot get the packets from k through Linkki, because of the jamming effect of jammers.

As shown in Figure 2, when UAV 1 is sending packets, UAVs 2 and 3 cannot get its packets through Link12 and Link13, because of the existence of jammer 1. For this case, UAV 1 locates such a point which belongs to the jamming area of UAVs 2 and 3. They are denoted as point(u1)JA21 and point(u1)JA31, respectively. However, the point of UAV 1 does not belong to the jamming area of UAV 4, point(u1)JA41.

Jamming area.

Property 1 (asymmetry).

When parameters are set as condition (4), if point(uk)JAik, point of UAV i may belong to JAki or may not.

Proof.

As shown in Figure 2, the distance between UAV 1 and 2 is Len1. When UAV 1 is the sender and UAV 2 is the receiver, UAV 2’s jamming area includes all the points whose distance to UAV 2 is less than 1.25743Len1. When jammer 1 locates at Point 1, the distance between Point 1 and UAV 1 is less than 1.25743Len1, so Inequality (5) holds, point(u1)JA21, and point(u2)JA12. When jammer 1 locates at Point 2, the distance between Point 2 and UAV 1 is larger than 1.25743Len1, so Inequality (5) does no hold anymore. At this case, point(u1)JA21, but point(u2)JA12.

Property 2 (existence of good location).

When parameters are set as condition (4), for any two UAV i and k, there exists location pointgood for a jammer to disrupt both Linkik and Linkki; that is, pointgoodJAik and pointgoodJAki. When a jammer locates at pointgood, communication between UAV i and k will be blocked.

Proof.

When the value of each parameter is set as condition (4), Inequality (5) holds. For any two UAV i,k, the jamming area of UAV i will cover the point of UAV j, and vice versa. Then there definitely exists an intersection between the two jamming areas. For example, there is an intersection between the jamming areas of UAV 4 and 5 in Figure 2. When a jammer is located at any one point in such an intersection, UAV i/k will not receive packets from UAV k/i; that is, the communication between UAV i,k will be blocked.

Properties 1 and 2 show the fact that the jamming effect of a jammer is closely related to the jammer’s location. Property 1 tells us we can find a location for a jammer to prevent a UAV from receiving packets from others, under condition (4). However the jammer may not prevent the UAV from sending packets successfully. Property 2 states that it is possible to find a location for a jammer to block any two UAVs’ communication. Based on these, it is clearly that if we plan to maximize z (7), we should focus on searching such locations for jamming.

3. Triangle Method

For achieving better jamming effect, jammers should be placed to appropriate locations. We present Triangle method to search locations for jammers. The idea of Triangle method is simple. It divides all UAVs into groups. Each group has three UAVs. The algorithm for forming such groups is descripted in Algorithm 2 from Steps (1) to (11). All UAVs are put into a temporary set SUAV in Step (1). The total number of UAV groups is calculated in Step (2) and saved in grnum. Steps (3) and (4) initialize all UAV groups to null. Function getrandom(SUAV) in Step (7) returns a random UAV in SUAV. Function neighbors(u1,SUAV,u2,u3) in Step (8) may return two closest neighbors of u1 in SUAV and assign to u2 and u3, respectively. If the number of neighbors in SUAV is less than two, the function may return one neighbor or null. In Steps (9) and (10), u1 and its returned neighbors are added to a group, and then they are removed from SUAV. The group forming process continues till all groups are formed.

Algorithm 2 (Triangle method. See Figure <xref ref-type="fig" rid="fig3">3</xref>).

Consider the following:

SUAV=U,

grnum=|SUAV|/3,

for a=1 to grnum,

GRa=,

a=1,

SUAV,

u1=getrandom(SUAV),

neighbors(u1,SUAV,u2,u3),

GRa=GRa+u1+u2+u3,

SUAV=SUAV-u1-u2-u3,

a++,

Lselect=,

for a=1 to grnum,

lselect=selectpoint(GRa),

Lselect=Lselect+lselect,

assignlocations(Lselect,J).

Triangle method.

Steps from (12) to (15) find locations for UAV groups. The function selectpoint(GRa) works as follows.

The group has three UAVs which usually form a triangle. (a) The function calculates the distances between each pair of two points; (b) it finds the two short sides; (c) it selects the point which connects the two short sides as the location for the group.

The group has two UAVs which usually form a line. (a) The function calculates the midpoint between each pair of two points; (b) it returns the midpoint as the location for the group.

The group has only one UAV. The function returns the location of the UAV as the location for the group.

The selecting process continues till all locations for groups are found. Function assignlocations(Lselect,J) assigns the locations found to jammers. If the number of jammer m is equal to or less than grnum, then the first m elements of Lselect are assigned to jammers accordingly. If m>grnum, then grnum jammers are assigned the locations of Lselect, and m-grnum jammers are assigned random locations.

The Triangle method is based on following theorem.

Theorem 3.

When parameters are set as condition (4), function selectpoint (GRa) outputs an optimal location on which if a jammer is placed, all communications among UAVs in the group will be disrupted.

Proof.

(1) There are 3 UAVs in the group. As shown in Figure 3, the side length Len3 is not less than Len1 and Len2. So the jammer should be located at the point of UAV 1. When the values of parameters are set as condition (4), Inequality (5) holds. For any two UAV i,k, the jamming area of UAV i will cover the point of UAV j, and vice versa. So point(u3)JA23, point(u2)JA32, point(u1)JA21, and point(u1)JA31. Because Len1Len3 and Len2Len3, point(u1)JA23 and point(u1)JA32. Since the jammer is placed at the same location of UAV 1, DJR0, point(u1)JA12, and point(u1)JA13. Therefore all communications among UAVs in the group will be disrupted by the jammer which locates at the point of UAV 1.

(2) There are 2 UAVs in the group. As shown in Figure 3, the jammer will be placed at the midpoint between UAVs 4 and 5. Obviously, point(u4)JA54 and point(u5)JA45. For Len4Len5, point(Mid)JA54, and point(Mid)JA45. Therefore the communication between UAVs 4 and 5 will be disrupted by the jammer.

(3) There is only 1 UAV in the group. The location of the UAV is selected as the location for the jammer. At this case, DJR0,  ξ>ξ0 in (6) always holds, and all communication links from and to the UAV will be blocked.

In Algorithm 2, the while loop (Step (6)) will run N times at most, and N is the number of UAVs. The function neighbors (Step (8)) search UAV’s two neighbors, and each UAV will be visited at most two times. So the code from Steps (6) to (11) has computational complexity of O(N2). The code of Step (16) has computational complexity of O(M), where M is the number of jammers. The overall computational complexity of Algorithm 2 is O(N2).

4. GA-Based Jamming Method

GAs are global optimization techniques that avoid many of the shortcomings that exist in classical local search techniques on difficult search spaces . GAs use operators such as reproduction, crossover and mutation as means of preserving beneficial information with the overall goal of finding a better solution to the problem. In addition, genetic algorithms work using codification of the parameter space rather than the parameters themselves. The objective function can be easily defined as a measure of fitness for solution performance which allows the genetic algorithm to retain useful solutions and inhibit those which are less useful.

We propose a GA-based method to solve the UAV jamming problem, as shown in Algorithm 4. The key to finding a good solution using a GA lies in developing a good chromosome representation of candidate solutions to the problem. The chromosome we used includes three parts, xyz, where x, y, and z are of float type and represent a jammer’s longitude, latitude, and altitude, respectively. When two chromosomes x1y1z1 and x2y2z2 cross over, a new chromosome is formed xnewynewznew. We define them as xnew=(x1+x2)/2, ynew=(y1+y2)/2, and znew(z1+z2)/2. A chromosome mutates with a probability of pmutation. The mutation operation is defined as xnew=±0.8×xold, ynew=±0.8×yold, and znew=±0.8×zold.

A solution of the jamming problem consists of m chromosomes, where m is the number of jammers. The population has L solutions. Initially, a random parent population P0 is created. Then binary tournament selection , crossover, and mutation operators are used to create an offspring population Q0 which has 2L solutions. The next parent population P1 is created by selecting L solutions from Q0 with binary tournament method. The new offspring population Q1 is formed through crossover and mutation operation. The process continues until the last population P1 is reached.

Algorithm 4 (GA method).

Consider the following:

generate an initial population (P solution);

while loop times <L;

evaluate the fitness of each solution;

select promising solutions;

create new solutions incorporate into original population.

The procedure of evaluating the fitness (Step (3)) requires N×N×M computations, where N and M are the number of UAVs and jammers, respectively. Its computational complex is O(MN2). Since binary tournament solution is used, the procedure of selecting (Step (4)) has computational complex of O(P). The new solutions creating procedure (Step (5)) have computational complex of O(P+PN). Therefor the computational complex of Algorithm 4 is O(LMN2), and L is the number of evolution iterations.

5. Simulation

The methods provided by this paper are used to jam the communication among 20, 30, 40, and 50 UAVs with 1~20 jammers, respectively. The simulation result is shown in Figure 4. We also include a Random method for comparing Triangle and GJM methods. The Random method works in a simple way. The jammers are located in random positions in this method. The Random method has computational complexity of O(M), where M is the number of jammers.

Simulation result.

20 UAVs

30 UAVs

40 UAVs

50 UAVs

60 UAVs

70 UAVs

We define a new metric to measure the performance of each jamming method.

Definition 5.

The ratio of jammed links to total links (RJT) computed by i,kU,ikJammedLinkik/i,kU,ikLinkik.

We can see easily from Figure 4 that the number of jammers has tight relation to the overall jamming performance. In Triangle and GA methods, more jammers lead to higher jamming performance. In Figures 4(a) and 4(b), when 8 or more jammers are used, the RJTs of Triangle and GA reach 98% and 97%. In Figures 4(c) and 4(d), when 10 or more jammers are used, the RJTs of Triangle and GA reach 98% and 97%. When 11 or more jammers are used, the RJTs of both Triangle and GA reach 97%. For Random method, it is obvious that, at most time, more jammers yield higher performance.

It is also clear that Triangle and GA methods give out better result than Random method. But there is an exception when 1 jammer is used to jam the communication network with 40 UAVs. All jammers are randomly placed in Random method. One of them happens to be assigned a good location. So the Random method performs better than the Triangle method as shown in Figure 4(c), when both methods use one jammer. This can be explained with the probability. Let the probability for one jammer assigned a good location be pr(0<pr<1). When there are two jammers, the probability becomes pr2. When there are c jammers, the probability decreases to prc. So with the number of jammers increasing, the probability of all jammers assigned good locations is decreasing. That is why, in most cases, the jammers in Random method perform worse than jammers in Triangle and GA methods in Figure 4.

Figure 4 shows that, with a small number of jammers, GA method has better performance than Triangle method. However, with the number of jammers increasing, the performance of Triangle method is improved more than GA method. The gap between these two methods is narrowed. When more jammers are used, Triangle method outputs similar results as GA method does and then does better than GA method. The reason is that GA is a global optimization algorithm, and Triangle method is a local optimization algorithm. When the number of jammers is small, GA can find better locations for jammers than Triangle method does. However, GA method has difficulties to find good locations for a big number of jammers, because of the significantly increased search space. Triangle method outperforms when more numbers of jammers are used. Because the local optimization location for each group is guaranteed, the overall performance (added performance of all jammers) can also be guaranteed. From the simulation, we get a roughly result that when the ratio of jammers’ number to UAVs’ number is lower than 1/5, GA method may perform better than Triangle method. Otherwise, Triangle method may outperform GA method.

It is also obvious that there is a threshold δ of the number of jammers m. When m is smaller than δ, with the increasing of the number of jammers, the overall jamming performance increases rapidly. When m is larger than δ, with the number increasing, the overall jamming performance increases very slowly. As shown in Figure 4, the thresholds are 7, 9, 10, 11, 12, and 13 for jamming the network with 20, 30, 40, 50, 60, and 70 UAVs, respectively. To maximize the effect of jammers, m should be set as equal to or smaller than δ. For example, when jamming the communication among 50 UAVs, using 11, 12, or 13 jammers outputs the same RJTs in Triangle, GA, or Random methods, respectively. Therefore, 11 jammers are enough for achieving such jamming results. So adding one or two more jammers is meaningless for improving the jamming performance. The thresholds are task dependent and may be decided according to different scenarios.

6. Conclusion

In this paper, we focus on jamming UAVs network efficiently. Firstly, the system architecture is described and the jamming problem is formulated. We analyze the system’s two properties. Secondly, a theorem, which helps to decide locations for jammers, is proved. Based on this theorem, we introduce the Triangle method to solve the jamming problem. Triangle method divides all UAVs into groups. Each group has at most three UAVs. It finds the best location for jamming all UAVs in each group. The overall computational complexity of Triangle method is O(N2), where N is the number of UAVs. Thirdly, we present a GA-based jamming method. The chromosome consists of the longitude, latitude, and altitude of the jammer. New mutation and crossover operations are also redefined. GA method’s computational complex is O(LMN2), where L, M, and N are the number of evolution iterations, jammers, and UAVs, respectively.

The two methods besides a Random method are simulated in the scenario given in Section 2. The simulation uses number of jammers range from 1 to 20 to jam the network with 20, 30, 40, and 50 UAVs, respectively. The chromosome mutation probability is set as pmutation=0.1. The result shows the following.

More jammers yield higher performance.

At most cases, Triangle and GA methods are significantly better than Random method.

With a small number of jammers, GA method has better performance than Triangle method. However, with the number of jammers increasing, the performance of Triangle method is improved more than GA method. When the ratio of jammers’ number to UAVs’ number is higher than 1/5, Triangle method does better than GA method.

The overall computational complexity of Triangle method is O(N2) which is lower than O(LMN2) of GA method. If computing speed is required, especially for the real time application, Triangle method should be considered.

It should be noted that this paper just does the work of the first step. Here, we assume the topology of UAVs is fixed and does not change. The properties and theorem are deduced under condition (4). The condition can be relaxed to PJTGJRGRJξTRPTGTRGRT. It will be proved in our next step. We will consider jamming the UAVs networks with moving nodes, which have highly dynamic topologies. The work of this paper is the basis for the next step.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This work is supported by the Academician Foundation of Chongqing (CSTC2011GGYS0001).

Hartmann K. Steup C. The vulnerability of UAVs to cyber attacks—an approach to the risk assessment Proceedings of the 5th International Conference on Cyber Conflict (CyCon '13) 2013 1 23 Cevik P. Kocaman I. Akgul A. S. Akca B. The small and silent force multiplier: a swarm UAV-electronic attack Journal of Intelligent and Robotic Systems: Theory and Applications 2013 70 1–4 595 608 10.1007/s10846-012-9698-1 2-s2.0-84871632472 Bayraktaroglu E. King C. Liu X. Noubir G. Rajaraman R. Thapa B. Performance of IEEE 802.11 under Jamming Mobile Networks and Applications 2013 18 5 678 696 10.1007/s11036-011-0340-4 2-s2.0-79960870792 Bhattacharya S. Basar T. Game-theoretic analysis of an aerial jamming attack on a UAV communication network Proceedings of the American Control Conference (ACC '10) July 2010 818 823 2-s2.0-77957771173 Bhattacharya S. Başar T. Differential game-theoretic approach to a spatial jamming problem Advances in Dynamic Games 2013 12 Boston, Mass, USA Birkhäuser 245 268 Annals of the International Society of Dynamic Games MR2976440 10.1007/978-0-8176-8355-9_13 Mears M. J. Cooperative electronic attack using unmanned air vehicles Proceedings of American Control Conference 2005 3339 3347 Chen Y. M. Wu W.-Y. Cooperative electronic attack for groups of unmanned air vehicles based on multi-agent simulation and evaluation International Journal of Computer Science Issues 2012 9 2 1 Xu W. Ma K. Trappe W. Zhang Y. Jamming sensor networks: attack and defense strategies IEEE Network 2006 20 3 41 47 10.1109/MNET.2006.1637931 2-s2.0-33745062882 Mpitziopoulos A. Gavalas D. Konstantopoulos C. Pantziou G. A survey on jamming attacks and countermeasures in WSNs IEEE Communications Surveys and Tutorials 2009 11 4 42 56 10.1109/SURV.2009.090404 2-s2.0-72949104155 Li M. Koutsopoulos I. Poovendran R. Optimal jamming attack strategies and network defense policies in wireless sensor networks IEEE Transactions on Mobile Computing 2010 9 8 1119 1133 10.1109/TMC.2010.75 2-s2.0-77953766580 Lee B. Jeong E. Choe S. Simulator for tactical data link system with anti-jamming capability Proceedings of the 15th International Conference on Advanced Communication Technology (ICACT '13) January 2013 789 793 2-s2.0-84876256576 Poisel R. Modern Communications Jamming Principles and Techniques 2011 Artech House Skinner B. Yuan S. Huang S. Liu D. Cai B. Dissanayake G. Lau H. Bott A. Pagac D. Optimisation for job scheduling at automated container terminals using genetic algorithm Computers and Industrial Engineering 2013 64 1 511 523 10.1016/j.cie.2012.08.012 2-s2.0-84881609942 Sivaraj R. Ravichandran T. A review of selection methods in genetic algorithm International Journal of Engineering Science & Technology 2011 3 5-6 3792 3797