Analysis of the GA's performance.

The latest addition to the ga is routing, there is an example of routing applied to the mission c, compare it to the older straight line mission below (this one is far superior).

To analyze the effectiveness of the GA I used three problems (A,B,C).

Parameters

5 Minutes was the chosen as an acceptable time for the GA to run. Parameters where chosen so as to keep the running time under this level. Evaluation times varied, and dynamic programming allows significant time savings in sometimes, leading to an average time of 4 minutes.

50 Generations
50 Individuals in the Populations
60% Crossover chance
1% chance of mutation per bit

Problem A

A is the simplest problem, in this problem there are 4 platforms (x,y,z,w) and 12 targets (x1-x3,y1-y3,z1-z3,w1-w3).

Each platform has 3 identical assets, each of which is most effective against any of the targets with the same letter.

There are no threats defending the targets.

The optimum is then easily shown to be that of assigning x to targets x1,x2,x3, and so on for y,z,w.

Since the x->x1,x2,x3 = x->x3,x2,x1 There are 6 * 4 = 24 Optimum Solutions.

Each asset is also marginally effective against other targets (x->y1) still produces damage, and the values of the targets are scaled so that assigning x->w1,w2,w3 is nearly as valuable as x-x1,x2,x3. This provides a nice base of near optimal solutions for an ineffective GA to get stuck on. There are several hundred solutions with fitness within 10% of the optimum.

Performance

Slow - 5 minutes

Optimum Fitness = 1.5

Expected = 1.3

Reliability = 98 out of 100 runs

Speed

  1. mean = 509 evaluations
  2. average = 533 evaluations

Quick - 1 minute

Optimum Fitness = 1.5

Expect = 1.3

Reliability = 87 out of 100

Speed

  1. Mean = 283
  2. Average = 316

Conclusion

This problem is too easy for the ga. Dropping the simulation all together and doing the math can be done very quickly and efficiently, providing perfect answers far faster this this can. But this is not designed for this, this problem is tested as a measure for the ga's ability to provide good solutions. There is an assumption that the problem is harder and more complicated then this and that you have to be more crafty in your search for answers. The ga's ability to consistently provide reasonable results shows it is capable of going to the next step.

Cutting the time the GA had and increasing the selection pressure gave results significantly faster, at a small cost in reliability.

Problem B

Mission B is identical to mission A only there are now a number of threats defending the targets.

These can be seen as the blue circles on the map. Because of this complication it is no longer possible to calculate the optomimum or preform easy searches for the best allocation.

An upper bound on the optimum though is the optimum from problem A as the addition of threats can only make the attackers job more difficult.

Performance

Optimum Fitness =< 1.5 Best Found = 1.06

Expected = .9

Reliability = 77 out of 100

Speed

  1. avg = 712
  2. mean = 689

Conclusion

This is a much harder problem, the addition of threats reduces the total number of usable targets, it also destroys most of the initial diversity. The lessing of selection pressure may be beneficial here. But the GA continues to function, the optimum above shows how has planned around the threats, if routing had been enabled it likely would have maxed its fitness much closer to 1.5.