Initial groundwork…


Confirm research aim and begin to consolidate background knowledge in applicable areas.


  • Research question planning
  • Background reading and self education on Multi Objective Optimisation.


  • Settled on research question: What methods can be used to programmatically develop tactically sound plans (for a platoon attack)
  • Working understanding of Multi Objective Optimisation.
  • Good groundwork established to enable self education on optimisation implementation methods (Evolutionary/Genetic algorithms vs Mathematical programming)


3 hours (3 hours running total)


  • Define ‘tactically sound’ as it relates to a platoon attack (FUP/SBF considerations etc)
  • Investigate merits of Evolutionary/Genetic algorithms vs Mathematical programming
  • Investigate Multi Objective Optimisation (and EA/GA) texts from library – Discuss with Spike relative merits of the previous point.
  • Review Dr Markus Hartikainen’s lecture on A Posteriori Methods  ( )
  • Review paper on “A Tutorial on Evolutionary Multiobjective Optimization”
  • Look into quantified comparison of pathfinding (A*, Flow field, Navmesh?)
  • Begin implementing basics of data classes (Terrain data etc) and tie in to Unity terrain. This will set the conditions for pathfinding implementation tests in parallel with more detailed research.


Research Question. Having the basic problem (Contact with enemy, requirement to clear enemy position etc) we still need a research question to be answered: The relatively clear question is along the lines of what methods can be used to determine a plan (ie. how the pathing can be solved, how the plans can be kept distinguishable, how they can be assessed etc).

Multi Objective OptimisationNot something I had heard of previously. Wikipeadia provided a good start and led to a few further topics. Various YouTube tutorial/summaries also helped get an idea of what the overall concept is. Pretty straightforward conceptually really, especially looking at the two objective problem however no doubt the devil is in the details. A clear example was used by Dr. Shahin Rostami ( ) was of a car needing both speed and handling; No single solution is the best of both worlds but multiple solutions (that aren’t  fully dominated by other solutions) form the Pareto front. That video also has some good reading links worth investigating.

As I am looking for multiple distinguishable solutions (ie distinct plans) I will need to identify a way to group ‘like’ solutions together. This could be achievable as the solutions are effectively n-dimensional vectors; if one vector is ‘close’ (how do we define this?) to other vectors (eg. others fall within an X unit sphere) then they can all be considered the same solution. This may be a way to group like solutions together.

There is mention of A Posteriori methods generating a ‘representative set’ of solutions. This appears to align with the requirements of this problem. Further detailed reading of Dr Markus Hartikainen’s lecture on A Posteriori Methods  ( ) might provide more insights at a later date.

My initial (completely uneducated) thoughts were a pretty standard programming approach to the problem might work (one that I am used to from undergraduate programming classes). This seems be the mathematical programming approach (or Classical methods as Dr Hartikainen refers to them as). While it still seems to align with the problem to me, evolutionary/genetic algorithms seem to be very frequently mentioned regarding multi objective optimisation. My limited understanding of them leads me to think they will not be ideal (the requirement for many iterations?) however there does seem to be some merit, especially in optimising the search area (ie. rather than searching through the whole terrain in the Area of Operations (AO) provided by the terrain data, ‘smartly’ searching through it would provide a large efficiency gain, especially as the terrain data increases in size.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s