Rank-Based Genetic Algorithm with Limited Iteration for Grid Scheduling

3 downloads 352 Views 169KB Size Report
Grid computing systems are about sharing computa- tional resources [9] ... is needed by scheduling algorithms to dispatch tasks onto computing resources.
2009 First International Conference on Computational Intelligence, Communication Systems and Networks

Rank-based Genetic Algorithm with Limited Iteration for Grid Scheduling Wael Abdulal, Omar Al Jadaan,Ahmad Jabas, S. Ramchandraram Osmania University, CSE Dept., EC Hyderabad 500-007, INDIA [email protected] o [email protected] [email protected] [email protected] Mustafa Kaiiali, C. R. Rao University of Hyderabad, Dept. CIS Hyderabad 500-046, INDIA [email protected] mustafa [email protected]

Abstract

tional resources [9], software and data at a large scale. The main issue in grid system or the virtual grid-enabled supercomputer is the performance. Achieving high performance grid computing requires techniques to efficiently and adaptively allocate jobs and applications to available resources in a large scale, highly heterogeneous and dynamic environment. Grid computing and grid technologies have primarily emerged for scientific and technical work, where geographically distributed computers, linked through Internet, are used to create virtual supercomputers of vast amount of computing capacity able to solve complex problems from eScience in less time than known before. Thus, within the last years we have witnessed how grid computing has helped to achieve breakthroughs in meteorology, physics, medicine and other computing-intensive fields. Examples of such large scale applications are known from optimization (e.g. Casanova [7], Goux [13], Wright [19], Wright [18]), Collaborative/eScience Computing (e.g. Newman [8], Paniagua [1]), Data-Intensive Computing (e.g. Beynon al. [16]), to name a few.

In Grid Computing the number of resources and tasks is usually very large, which makes the scheduling task very complex optimization problem. Genetic algorithms (GAs) have been broadly used to solve these NP-complete problems efficiently. On the other hand, the Standard Genetic algorithm (SGA) is too slow when used in a realistic scheduling due to its time-consuming iteration. This paper proposes a new Rank-based Roulette Wheel Selection Genetic Algorithm (RRWSGA) for scheduling independent tasks in the grid environment, which increases the performance and the quality of schedule with a limited number of iterations, RRWSGA improves the reliability in the selection process while matching an acceptable output. A fast reduction of makespan making the RRWSGA of practical concern for grid environment. The results are encouraging, and can be used for real-world scheduling problems. Key–Words: Genetic Algorithms, Rank, Grid Scheduling, Makespan.

It is a challenging problem to organize the resources to meet the requirements of the large scale applications of the grid. This kind of characteristics of grid makes the scheduling approach a complex optimization problem. Genetic algorithm (GA) has been widely used to solve these difficult NP-complete problems, as reported in [15, 2, 14, 4], whereas they ignored how to speed up convergence and shorten the search time of GA. The standard GA is too slow to be used in a realistic scheduling due to its time consuming iterations.

1. Introduction Grid computing is an emerging computing model that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure. Grid computing systems are about sharing computa978-0-7695-3743-6/09 $25.00 © 2009 IEEE DOI 10.1109/CICSYN.2009.23

29

2.2. Population Initialization

This paper presents rank-based genetic algorithm (RRWSGA) for scheduling independent tasks in grid environment, which increases search efficiency with limited number of iteration by improving the evolutionary process while meeting a feasible result. The remainder of this paper is structured as follows: section 2 explains the rank-based genetic algorithm; section 3 describes the computer simulation; section 4 gives concluding remarks.

The size of the population is set to 50, so there will be enough potential solutions in a population. The individuals of the initial population are generated randomly. The maximum number of generations is set to 300 generation. These parameters can be adjusted as needed.

2.3. Fitness Function

2. Rank-based Genetic Algorithm for Grid Scheduling

A fitness function must be devised to determine the quality of a given chromosome instance. It always returns a single numerical value. The higher the return value, the better the instance. Makespan, namely the minimum completion time of the last finishing task, is the general primary objective in performance measure of scheduling problems. In order to formalize the fitness function there are several hypotheses to simplify the constraints:

Genetic algorithm may be used to solve optimization problems by mimicking the genetic process of biological organisms [6]. A potential solution to a specific problem may be represented as chromosome containing a series of genes. A set of chromosomes make up of a population. Each chromosome is referred to as an individual in the population. By using selection, crossover and mutation operators, GA is able to evolve the population to generate an optimal solution. This paper gives a modified GA to speed up the convergence and shorten the search time, which is on the basis of an assumption that there are sufficient arriving tasks in order to make GA suitable for the scheduling algorithm. Let N be the total number of tasks to be scheduled and Wi , i = 0, 1, 2, · · · , N − 1, be the workload of each task in number of cycles. The workload of tasks may be obtained from historical data, such as the data size of a waiting task. Let M be the total number of computing resources and CPj , j = 0, 1, 2, · · · , M − 1, be the computing capacity of each resource expressed in number of cycles per unit time. The generic services provided by Globus Toolkit [3], such as Monitoring and Discovery Service (MDS), make it easy to discover and maintain resource information, which is needed by scheduling algorithms to dispatch tasks onto computing resources. The expected execution time EETij of task Ti on resource Rj is defined in formula 1. EETij =

Wi CPj

• One computing resource can only process one task at a time • When a resource completes a task, it continues to process the next one. The fitness function is expressed below: Cm =

EETn,m , m = 1, 2, · · · , M

(3)

n

makespan = M ax{Cm } f itness =

10000 0.5 ∗ Lm + 0.5 ∗ makespan

(4) (5)

Cm is the sum of EET of each task Tn assigned to resource Rm , which approximately denotes the completion time of the last task on resource Rm . Lm stands for the total number of tasks assigned on resource Rm , which is used to calculate the value of fitness, consequently the load balance among computing resources is also taken into consideration. The reciprocal of makespan is selected as part of the fitness value, so that the bigger fitness value represents the better solution.

(1)

2.1. Chromosome Presentation

2.4. Evolutionary Process

The efficiency of GA depends largely on the presentation of a chromosome which is composed of a series of genes. In this paper, each gene represents a task Ti , Resource Rj and expected execution time EETi,j as shown in the following representation: Chromosome = genei (Ti , Rj , EETi,j )



Evolutionary process is accomplished by applying rankbased roulette wheel selection, crossover and mutation operators from one generation to the next. Selection operator determines how many and which individuals will be kept in the next generation; crossover operator controls how to exchange genes between individuals; mutation operator allows for random gene alteration of an individual. Besides the standard genetic operators, the most important actions

(2)

Where i = 1, 2, · · · , N , and j = 1, 2, · · · , M . 30

of the algorithm are that a verification phase is added to determine whether the evolution reaches the termination criteria and a elitism phase to preserve the best candidates. Firstly, the relative probability (shown in formula 6) and cumulative proportion of each chromosome are calculated to carry out the rank-based roulette wheel selection [10, 12, 11] with a constant population size of 50. At the same time, the best chromosomes are remained for the next generation through the elitism phase, so that the algorithm always converges to the global optimum [17]. Pi =

2 ∗ Rankf itness N ∗ (N + 1)

Table 1. Parameters used in This study SGA/RRWSGA algorithms Parameters Population Size 50 Max. Generations. 300 Max. Trials 50 Crossover. Rate 0.8 Mutation. Rate 0.01

Although the size of population is doubled by applying the crossover and mutation operators to enhance the global search capability, while at the same time, the elitism phase is used to selects best individuals according to their fitness value and remove those with lower fitness value to keep a fixed population size, which is an implicit selection accompanying with the natural selection to decrease the standard deviation of the fitness value among individuals. So it can reach the stop criteria and shorten the search time. According to the simulation results, it is proved that our RRWSGA is effective to speed up convergence while meeting a feasible result.

(6)

Where N is the population size. Secondly, the termination condition is verified. The standard deviation of fitness value shown in formula 7 is used as the stopping criteria. When sd is less than a given threshold  the evolution is terminated, otherwise continue the iteration. f¯ represents the average fitness of all chromosomes generated from selection phase. Threshold  is equal to 0.1 which is decided experimentally. Then, if the algorithm doesnt reach the termination condition, two-point partially matched crossover [5] operator is applied to the chromosomes from selection phase. Crossover operator arbitrarily selects two chromosomes, picks two random points, swaps the middle part of the chromosomes, and fills the remaining genes by the partially mapped crossover to ensure the uniqueness of the genes in the chromosome and remove the duplication.  popSize (fi − f¯)2 i=1 ≤ (7) sd = popSize

3. Simulation Results A MATLAB code have been written for simulating the algorithm 1 and the algorithm SGA. Tests were run on a machine with Intel P4 2.2GHz CPU and 2048M memory on Linux operating system. The simulation results of RRWSGA are compared with those of SGA. The parameters of SGA and RRWSGA are listed in table 1. The simulation results are shown in table 2. The sample data are divided into three groups with each group being experimented 50 times. In group 1, there are 5 resources and 20 tasks; in group 2, there are 5 resources and 40 tasks; in group 3, there are 8 resources and 60 tasks. The reason of testing grouping is to represent the dynamic behavior of Grid environment. The computing capacity of resources ranges from 2 to 8, which simulates the feature of diversity of resources, and the workload of tasks ranges from 100 to 150, which imitates similar time consuming tasks. In table 2, RRWSGA denotes the result when RRWSGA reaches the stopping criteria; SGA denotes the result when SGA finishes the maximum iteration. Each entry of RRWSGA and SGA consists of four values, the generation index, the fitness value, the corresponding makespan and consumed time, for example, 51 : 187.79 : 99.5 : 4.43 means that the generation index is 51, the fitness value is 187.79, the relevant makespan is 99.5 and the time the algorithm consumed is 4.430 seconds. In table 2, the values of average fitness of RRWSGA and SGA are also provided as well as the values of average makespan of RRWSGA, which are used

After that, uniform mutation operator [20] is also applied on the output of crossover phase. Mutation operator runs through the genes in each of the chromosomes and mutates each gene according to a mutation rate Pm . Finally, elitism combines the parents population with the modified population (the candidates generated by crossover and mutation operators.) and takes the best 50 chromosomes. The purpose of this phase is to preserve the best chromosomes from being lost and keep a fixed size of chromosomes for selection phase. After this phase, the algorithm continues to the next iteration.

2.5. Performance Analysis In this way the algorithm only needs to execute a limited iteration to come up with an optimal solution. However, the shortcoming of SGA algorithm may converge to a local optimum. but with RRWSGA the rank-based selection, crossover and mutation and elitism operators as stated above are used to maintain the diversity of the evolved population and keep it from getting stuck in local optima. 31

RRWSGA

RRWSGA 200

140 180

120

160 140

100 fitness

fitness

120 100

80

60

80 60

40 RRWSGAFitness

40

20

RRWSGAFitness

20

GAFitness

GAFitness 5

10

15

20

25 TrialNo.

30

35

40

45

5

50

10

15

20

25 TrialNo.

30

35

40

45

50

Figure 3. Simulation Results of group 3

Figure 1. Simulation Results of group 1

4. Conclusions RRWSGA 110

This paper gives a rank-based genetic algorithm with limited number of iteration to schedule the independent tasks onto Grid computing resources. The evolutionary process is modified to speed up convergence as a result of shortening the search time, at the same time obtaining a feasible scheduling solution. According to the simulation results, our algorithm has better search performance than standard genetic algorithms. Above all, the limited iteration with a feasible result makes genetic algorithm suitable for realistic scheduling in Grid environment.

100 90 80

fitness

70 60 50 40 30 20 RRWSGAFitness

10

GAFitness 5

10

15

20

25 TrialNo.

30

35

40

45

50

Algorithm 1 RRWSGA 1: Initialize Population P 2: Generate random population − size N 3: for g = 1 to G do 4: Calculate the fitness of each chromosome using equations (3-5) 5: If the stopping criteria sd ≤  break 6: Generate offspring Population Q from P 7: {Ranked based Roulette Wheel Selection 8: Recombination and Mutation 9: Calculate the fitness of each chromosome using equations (3-5) } 10: (elitist) Select the members of the combined population based on maximum fitness, N solution to make the population P of the next generation. 11: end for

Figure 2. Simulation Results of group 2

for the purpose of comparison. Figure 1 shows the lines with markers displayed at each fitness value of RRWSGA and SGA for group 1, figure 2 for group 2 and figure 3 for group 3. By comparing the results of RRWSGA and SGA in each group, our RRWSGA is proved to be an effective way to enhance the search performance for genetic algorithm. When using RRWSGA we gain 89%, 95%, and 90% in Average Time, and 53.89%, 36.2%, and 65.23% in Average Fitness, for each group respectively. The scheduling solution produced by RRWSGA is feasible and better value of makespan than SGA solution. The simulation result is consistent with the performance analysis in Section 2.5, which clarifies that the improvement to the evolutionary process is reasonable and effective. Moreover, the result obtained from RRWSGA is feasible in terms of makespan. So it is suitable to be used in a realistic scheduling environment. Note in table 2 A.F. stands for average fitness, and A.M. stands for the average makespan.

References [1] P. C., X. F., and C. S. A parallel grid-based implementation for real time processing of event log data in collaborative applications. In Parallel and Distributed Processing Techniques (PDPT 2005), pages 1177–1183, Las Vegas, USA, 2005. 32

[2] J. Carretero and F. Xhafa. Use of genetic algorithms for scheduling jobs in large scale grid applications. ¯ UKIO TECHNOLOGINIS IR EKONOMINIS VYSTYMAS, XII(1):11–17, 2006. [3] I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. Intl J. Supercomputer Applications, 11(2):115, 1997. [4] Y. Gao, H. Rong, and J. Z. Huang. Adaptive grid job scheduling with genetic algorithms. Future Generation Computer Systems, 21(1):151–161, January 2005. [5] M. Gen and R. Cheng. Genetic Algorithms and Engineering Design. Wiley-Interscience, Jan 1997. [6] D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, New York, NY, 1989. [7] C. H. and D. J. Netsolve: Network enabled solvers. IEEE Computational Science and Engineering, 5(3), 1998. [8] N. H.B., E. M.H., and O. J.A. Data-intensive e-science frontier research. Communications of ACM, 46(11):68–77, 2003. [9] C. K. I. Foster. The Grid: Blueprint for a Future Computing Infrastructure. Morgan Kaufmann Publishers, 1998. [10] O. A. Jadaan, L. Rajamani, and C. R. Rao. Ranked based roulette wheel selection method. In International Symposium on Recent Advances in Mathematics and its Applications: (ISRAMA 2005), Calcutta Mathematical Society at AE-374, Sector-1, Salt Lake City Kolkata (Calcutta) 700064, India, 2005. [11] O. A. Jadaan, L. Rajamani, and C. R. Rao. Parametric study to enhance genetic algorithm performance,using ranked based roulette whell selection method. In InSciT2006, volume 2, pages 274–278, Merida, Spain, 2006. [12] O. A. Jadaan, L. Rajamani, and C. R. Rao. Improved selection operator for GA. Journal of Theoretical and Applied Information Technology, 4(4):269–277, 2008. [13] G. J.P., K. S., L. J., and Y. M. An enabling framework for master-worker applications on the computational grid. In 9th IEEE Int. Symposium on High Performance Distributed Computing (HPDC 2000), 2000. [14] V. D. Martino. Sub optimal scheduling in a grid using genetic algorithms. In International Parallel and Distributed Processing Symposium (IPDPS’03), page 148a, 2003. [15] V. D. Martino and M. Mililotti. Scheduling in a grid computing environment using genetic algorithm. In the 16th International Parallel and Distributed Processing Symposium, page 297, April 2002. [16] B. M.D., S. A., C. U., K. T., and S. J. Optimization for data intensive grid applications. In Third Annual International Workshop on Active Middleware Services, pages 97– 106, California, 2004. [17] G. Rudolph. Convergence analysis of canonical genetic algorithm. IEEE Transactions on Neural Network, 5(1):96, 1994. [18] L. L. W. S.J. Decomposition algorithms for stochastic programming on a computational grid. Computational Optimization and Applications (Special issue on Stochastic Programming), 24:207–250, 2003. [19] W. S.J. Solving optimization problems on computational grids. Optima, 65, 2001.

[20] M. Z., J. C., and B. J. A modified genetic algorighm for optimal control problems. Computer Math Application, 23(12):83, 1992.

33

Table 2. Simulation Results group 1 (5 resources,20 tasks) group 2 (5 resources,40 tasks) group 3 (8 resources,60 tasks) Alg. RRWSGA SGA RRWSGA SGA RRWSGA SGA 1 51:187.79:99.5:4.43 300:86:227:17.36 6:105.96:177.75:1.42 300:68:283:34.165 7:141.55:131.28:2.35 300:49:398:55.43 2 22:190.47:98:1.51 300:85:229.5:19 11:106.10:177.25:1.88 300:67:285.25:33.85 28:141.41:131.43:5.74 300:49:396:53.74 3 10:186.91:100:0.64 300:87:225:18.1 9:106.24:177:1.06 300:68:282:33 19:143.2:129.66:3.76 300:49:400:52.98 4 31:184.61:101.33:2.07 300:87:225:17.8 29:106.72:175.4:3.58 300:68:284.25:32.94 26:144.48:128.43:5.28 300:50:395:53.76 5 7:190.47:98:0.449 300:87:225:18.09 7:105.82:178:0.79 300:68:283.25:33.12 15:140.51:132.33:3.01 300:50:400:52.65 6 10:186.33:100.66:0.66 300:87:225.5:17.9 8:106.24:177.14:0.94 300:68:281.5:33.62 7:142.35:131:1.35 300:49:396.5:53.32 7 18:183.90:101.75:1.13 300:86:227:17.20 29:106.76:176:3.60 300:67:284.75:32.94 6:142.52:130.5:1.14 300:49:400:52.94 8 42:187.79:99.5:2.797 300:85:229.5:17.26 14:106.38:177:1.74 300:68:283:34.37 19:141.25:132.2:3.76 300:49:396:53.06 9 42:189.12:98.75:2.88 300:87:225:20.29 31:106.38:176:4.24 300:68:283.25:34.45 6:142.85:130:1.06 300:49:399:53.60 10 9:187.79:99.5:0.59 300:87:227:21.117 9:106.06:176.57:1.05 300:68:283.75:35.12 13:140.647:132.5:2.57 300:49:401:53.1 11 35:186.91:100:2.32 300:86:227.5:17.4 18:106.141:176.42:2.25 300:67:284.5:34.2 30:142.45:130.4:5.98 300:50:394:54.34 12 28:185.61:100.75:1.87 300:87:225:17.80 11:106.61:175.6:1.32 300:67:284.75:34.93 14:143.06:129.8:2.79 300:49:396.5:53.85 13 15:186.48:100.25:1.02 300:87:225.5:17.91 10:106.04:176.8:1.17 300:68:285:36.67 34:144.03:128.85:6.99 300:49:397:54.77 14 9:189.87:98.33:0.61 300:86:226.5:17.81 26:106.81:175.25:3.20 300:67:284.5:34.05 5:140.84:132:0.91 300:50:392.5:53.15 15 8:191.38:97.5:0.504 300:87:225:18.37 4:106.38:177:0.4 300:68:282.5:34.12 32:143.44:129.43:6.39 300:50:391.5:53.80 16 6:183.9:102:0.368 300:86:227:21.46 8:105.93:177.2:0.97 300:68:282.75:33.31 18:142.85:130:3.57 300:49:397:54.3 17 34:188.23:99.25:2.27 300:87:225:17.24 7:106.49:176.75:0.75 300:68:282.25:33.72 8:144.33:128.5714:1.52 300:50:394:55.04 18 33:187.79:99.5:2.20 300:87:225:17.77 3:105.68:177.4:0.265 300:68:282.75:34.08 90:141.34:131.5:18.33 300:51:386.5:53.38 19 24:187.79:99.5:1.59 300:87:227:18.31 49:106.95:175:6.25 300:68:282.5:33.47 12:141.51:131.4:2.27 300:49:397.5:53.01 20 66:188.68:99:4.46 300:87:225:17.37 10:106.67:176.4:1.13 300:68:281.75:34.04 8:141.01:132.4:1.57 300:49:395.5:53.84 21 24:186.04:100.5:1.65 300:87:225.5:18.19 21:105.93:176.8:2.60 300:68:284.75:33.04 20:141.844:131:4.05 300:50:403:53.54 22 33:186.91:100:2.26 300:87:228:17.96 14:106.38:176.25:1.61 300:67:284.75:33.36 27:143.54:129.33:5.39 300:50:394:53.08 23 17:188.67:99:1.13 300:87:227.5:20.17 20:107.095:174.75:2.88 300:68:282:34.45 7:140.84:132.33:1.31 300:49:397:53.42 24 30:189.57:98.5:2.07 300:87:225:22.69 15:105.96:177.25:1.82 300:68:282.5:32.76 42:142.85:130:8.45 300:50:394:55.14 25 26:186.91:100:2.16 300:87:225.5:18.7 6:105.96:177:0.688 300:68:283.75:35.82 20:142.85:130:4.44 300:49:399.5:55.63 26 37:190.47:98:3.38 300:86:229.5:17.44 10:106.67:177.2:1.24 300:69:283:33.12 23:141.72:131.125:4.61 300:49:397:54.39 27 31:192.30:97:2.80 300:87:225:17.95 8:106.15:177.2:1.27 300:68:283.75:33.95 16:140.19:132.6:3.78 300:49:396.5:57.79 28 20:186.91:100:1.37 300:87:225.5:17.44 11:105.68:177.75:1.48 300:68:281.25:33.31 25:143:129.8571:4.83 300:50:395:57.16 29 17:187.79:99.5:1.15 300:85:229:17.41 7:106.3:176.75:0.79 300:67:285.25:36.39 9:141.24:131.6:1.73 300:49:401:53.01 30 54:191.08:97.67:4.1 300:87:225:17.13 16:106.26:176.25:1.99 300:67:284.5:44.55 31:141.24:131.6:6.25 300:50:395:55.72 31 23:187.79:99.5:1.51 300:86:227:17.26 31:4:106.15:177.2:0.436 300:68:284:41.42 83:143.02:129.83:16.86 300:50:393:52.6 32 24:186.91:100:1.56 300:87:227.5:17.1 12:106.52:176.6:1.45 300:68:283:32.71 40:142.18:130.66:8.12 300:50:393:57.74 33 24:186.48:100.25:1.57 300:86:228:17.21 24:106.76:175.33:2.99 300:68:281:33.05 10:142.0455:130.8:1.96 300:49:397:54.22 34 5:190.47:98:0.31 300:86:227.5:17.30 6:105.82:177.75:0.68 300:68:283.25:32.73 39:141.44:131.6:7.81 300:50:391.5:53.11 35 27:185.75:100.66:1.78 300:86:226.5:18.09 7:105.58:177.8:0.79 300:68:281.5:36.36 6:141.64:131.5:1.14 300:49:401:54.4 36 19:190.93:97.75:1.23 300:86:229.5:17.10 14:106.38:176:1.6514 300:68:284.5:33.99 28:145.14:127.8:5.65 300:49:400:51.40 37 33:184.04:101.66:2.18 300:86:226.5:17.14 20:106.72:175.4:2.4121 300:68:280.5:32.74 7:141.24:131.6:1.35 300:50:394:51.58 38 10:188.67:99:0.62 300:87:225.5:17.20 14:106.26:177:1.68 300:68:284.5:32.91 64:142.04:131.12:13.06 300:50:391.5:53.76 39 28:186.91:100:1.879 300:87:225:17.75 24:106.76:175.33:2.97 300:68:281.75:33.58 8:142.24:130.6:1.49 300:49:397.5:53.01 40 39:191.38:97.5:2.589 300:86:229.5:17.30 18:106.72:175.4:2.27 300:68:281.25:38.57 17:142.04:130.8:3.36 300:50:393.5:53.16 41 74:189.57:98.5:4.977 300:87:225:17.80 9:106.46:177.2:1.06 300:69:283.5:33.94 36:143.68:129.2:7.23 300:49:399:54.98 42 13:186.91:100:0.858 300:87:225:21.40 5:106.4:177:0.55 300:68:284.5:33.1412 76:144.09:128.8:15.44 300:50:394:53.08 43 37:188.23:99.25:2.50 300:87:225:17.76 24:106.76:175.33:2.94 300:68:282.75:33.07 9:142.04:130.8:1.67 300:50:394:53.50 44 35:183.9:101.75:2.32 300:87:227:18.5 15:106.30:176.14:1.84 300:68:281.75:38.51 15:141.59:131.5714:2.97 300:49:400:53.22 45 47:187.79:99.5:3.10 300:87:225:19.51 7:106.52:176.8:0.8 300:67:284.75:36.51 18:142.45:130.4:3.62 300:50:393.5:53.61 46 21:184.33:101.5:1.37 300:86:226.5:17.83 20:106.27:176.2:2.35 300:68:282.5:33.61 32:141.99:130.85:6.45 300:49:397:54.09 47 8:187.79:99.5:0.5 300:87:225.5:19.31 7:106.52:175.75:0.82 300:68:283.5:32.81 33:144.58:128.33:6.58 300:50:393:53.28 48 85:188.08:99.33:5.7 300:86:227.5:17.80 5:105.9322:177.75:0.51 300:69:279:34.6 97:143.29:129.57:19.62 300:50:395:55.36 49 21:188.23:99.25:1.4 300:86:226.5:17.26 5:105.96:177.25:0.536 300:68:283.25:33.06 25:141.84:131:4.99 300:50:393.5:54.27 50 43:187.79:99.5:2.89 300:87:227.5:17.25 15:106.383:176.2:1.84 300:68:283.5:33.41 7:144.057:128.83:1.29 300:49:399.5:53.92 A.F. 187.81 86.5827 106.32 67.83 142.35 49.49 A.M. 99.5133 226.45 176.57 283.14 130.57 396.12

34