An Introduction To Applied Evolutionary Meta Heuristics

1,447 views

Published on

This presentation introduces some of the main themes in modern evolutionary algorithm research while emphasising their application to problems that exhibit real-world complexity.

Published in: Technology, Economy & Finance
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,447
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

An Introduction To Applied Evolutionary Meta Heuristics

  1. 1. An Introduction to Applied Evolutionary Metaheuristics Jonny Anderson <ul><ul><li>Image: http://www.43things.com/people/progress/dogonwheels/251399 </li></ul></ul>A strange attractor
  2. 2. An Introduction to Applied Evolutionary Metaheuristics <ul><ul><li>Define “metaheuristic” </li></ul></ul><ul><ul><li>Examine evolutionary algorithms </li></ul></ul><ul><ul><li>Explore problem constraints </li></ul></ul><ul><ul><li>Apply an evolutionary algorithm to a farm </li></ul></ul><ul><ul><li>Discuss the implications for farm sustainability </li></ul></ul>
  3. 3. What is a metaheuristic?
  4. 4. What is a metaheuristic? <ul><ul><li>A heuristic is a function that finds an approximate result, it is an algorithmic rule of thumb </li></ul></ul><ul><ul><li>A metaheuristic is a function that consists of heuristic sub-routines. It is a compound heuristic. </li></ul></ul><ul><ul><li>Metaheuristics are useful for hard problems that resist brute-force techniques </li></ul></ul><ul><ul><li>A metaheuristic algorithm can quickly return results that are good enough </li></ul></ul><ul><ul><li>An example of a metaheuristic is an evolutionary algorithm </li></ul></ul>
  5. 5. What is a metaheuristic? <ul><ul><li>A heuristic is a function that finds an approximate result, it is an algorithmic rule of thumb </li></ul></ul><ul><ul><li>A metaheuristic is a function that consists of heuristic sub-routines. It is a compound heuristic. </li></ul></ul><ul><ul><li>Metaheuristics are useful for hard problems that resist brute-force techniques </li></ul></ul><ul><ul><li>A metaheuristic algorithm can quickly return results that are good enough </li></ul></ul><ul><ul><li>An example of a metaheuristic is an evolutionary algorithm </li></ul></ul>
  6. 6. What is a metaheuristic? <ul><ul><li>A heuristic is a function that finds an approximate result, it is an algorithmic rule of thumb </li></ul></ul><ul><ul><li>A metaheuristic is a function that consists of heuristic sub-routines. It is a compound heuristic. </li></ul></ul><ul><ul><li>Metaheuristics are useful for hard problems that resist brute-force techniques </li></ul></ul><ul><ul><li>A metaheuristic algorithm can quickly return results that are good enough </li></ul></ul><ul><ul><li>An example of a metaheuristic is an evolutionary algorithm </li></ul></ul>
  7. 7. What is a metaheuristic? <ul><ul><li>A heuristic is a function that finds an approximate result, it is an algorithmic rule of thumb </li></ul></ul><ul><ul><li>A metaheuristic is a function that consists of heuristic sub-routines. It is a compound heuristic. </li></ul></ul><ul><ul><li>Metaheuristics are useful for hard problems that resist brute-force techniques </li></ul></ul><ul><ul><li>A metaheuristic algorithm can quickly return results that are good enough </li></ul></ul><ul><ul><li>An example of a metaheuristic is an evolutionary algorithm </li></ul></ul>
  8. 8. What is a metaheuristic? <ul><ul><li>A heuristic is a function that finds an approximate result, it is an algorithmic rule of thumb </li></ul></ul><ul><ul><li>A metaheuristic is a function that consists of heuristic sub-routines. It is a compound heuristic. </li></ul></ul><ul><ul><li>Metaheuristics are useful for hard problems that resist brute-force techniques </li></ul></ul><ul><ul><li>A metaheuristic algorithm can quickly return results that are good enough </li></ul></ul><ul><ul><li>An example of a metaheuristic is an evolutionary algorithm </li></ul></ul>
  9. 9. What is an evolutionary algorithm?
  10. 10. What is an evolutionary algorithm <ul><ul><li>Natural selection discovers solutions to the problem of being alive </li></ul></ul><ul><ul><li>If we can translate this evolutionary process into a computer algorithm </li></ul></ul><ul><ul><li>Then we would have a powerful heuristic tool for discovering solutions to highly complex problems </li></ul></ul><ul><ul><li>An evolutionary algorithm encodes the process of natural selection </li></ul></ul><ul><ul><li>So that solutions to complex problems may be evolved </li></ul></ul><ul><ul><li>Image: http://en.wikipedia.org/wiki/Image:Charles_Darwin_by_Julia_Margaret_Cameron_2.jpg </li></ul></ul>Charles Darwin
  11. 11. What is an evolutionary algorithm <ul><ul><li>Natural selection discovers solutions to the problem of being alive </li></ul></ul><ul><ul><li>If we can translate this evolutionary process into a computer algorithm </li></ul></ul><ul><ul><li>Then we would have a powerful heuristic tool for discovering solutions to highly complex problems </li></ul></ul><ul><ul><li>An evolutionary algorithm encodes the process of natural selection </li></ul></ul><ul><ul><li>So that solutions to complex problems may be evolved </li></ul></ul><ul><ul><li>Image: http://en.wikipedia.org/wiki/Image:Charles_Darwin_by_Julia_Margaret_Cameron_2.jpg </li></ul></ul>Charles Darwin
  12. 12. What is an evolutionary algorithm <ul><ul><li>Natural selection discovers solutions to the problem of being alive </li></ul></ul><ul><ul><li>If we can translate this evolutionary process into a computer algorithm </li></ul></ul><ul><ul><li>Then we would have a powerful heuristic tool for discovering solutions to highly complex problems </li></ul></ul><ul><ul><li>An evolutionary algorithm encodes the process of natural selection </li></ul></ul><ul><ul><li>So that solutions to complex problems may be evolved </li></ul></ul><ul><ul><li>Image: http://en.wikipedia.org/wiki/Image:Charles_Darwin_by_Julia_Margaret_Cameron_2.jpg </li></ul></ul>Charles Darwin
  13. 13. What is an evolutionary algorithm <ul><ul><li>Natural selection discovers solutions to the problem of being alive </li></ul></ul><ul><ul><li>If we can translate this evolutionary process into a computer algorithm </li></ul></ul><ul><ul><li>Then we would have a powerful heuristic tool for discovering solutions to highly complex problems </li></ul></ul><ul><ul><li>An evolutionary algorithm encodes the process of natural selection </li></ul></ul><ul><ul><li>So that solutions to complex problems may be evolved </li></ul></ul><ul><ul><li>Image: http://en.wikipedia.org/wiki/Image:Charles_Darwin_by_Julia_Margaret_Cameron_2.jpg </li></ul></ul>Charles Darwin
  14. 14. What is an evolutionary algorithm <ul><ul><li>Natural selection discovers solutions to the problem of being alive </li></ul></ul><ul><ul><li>If we can translate this evolutionary process into a computer algorithm </li></ul></ul><ul><ul><li>Then we would have a powerful heuristic tool for discovering solutions to highly complex problems </li></ul></ul><ul><ul><li>An evolutionary algorithm encodes the process of natural selection </li></ul></ul><ul><ul><li>So that solutions to complex problems may be evolved </li></ul></ul><ul><ul><li>Image: http://en.wikipedia.org/wiki/Image:Charles_Darwin_by_Julia_Margaret_Cameron_2.jpg </li></ul></ul>Charles Darwin
  15. 15. A general evolutionary algorithm
  16. 16. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  17. 17. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  18. 18. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  19. 19. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  20. 20. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  21. 21. A general evolutionary algorithm <ul><ul><li>Initialization Create a population of solutions with randomly generated characteristics </li></ul></ul><ul><ul><ul><li>Fitness assignment Assign a fitness value to each solution according to the problem-specific definition of fitness </li></ul></ul></ul><ul><ul><ul><li>Termination If stopping condition is met then Stop </li></ul></ul></ul><ul><ul><ul><li>Breeding and Variation Select the fittest solutions and c ombine them to create novel children (with a small chance of random mutation) </li></ul></ul></ul><ul><ul><ul><li>Go to Fitness Assignment </li></ul></ul></ul><ul><ul><ul><li>The result is an increase in average population fitness over time </li></ul></ul></ul>
  22. 22. Searching state-space
  23. 23. Searching state-space <ul><ul><li>State-space is the set of all possible solution states </li></ul></ul><ul><ul><li>Certain problems have a large state-space making them difficult to solve </li></ul></ul><ul><ul><li>Evolutionary algorithms will evaluate many points in the state-space at the same time </li></ul></ul><ul><ul><li>This is called Implicit Parallelism </li></ul></ul><ul><ul><li>It allows evolutionary algorithms to remain effective for problems with a large state-space </li></ul></ul>4-D state-space Image: https://wci.llnl.gov/codes/visit/gallery_22.html
  24. 24. Searching state-space <ul><ul><li>State-space is the set of all possible solution states </li></ul></ul><ul><ul><li>Certain problems have a large state-space making them difficult to solve </li></ul></ul><ul><ul><li>Evolutionary algorithms will evaluate many points in the state-space at the same time </li></ul></ul><ul><ul><li>This is called Implicit Parallelism </li></ul></ul><ul><ul><li>It allows evolutionary algorithms to remain effective for problems with a large state-space </li></ul></ul>4-D state-space Image: https://wci.llnl.gov/codes/visit/gallery_22.html
  25. 25. Searching state-space <ul><ul><li>State-space is the set of all possible solution states </li></ul></ul><ul><ul><li>Certain problems have a large state-space making them difficult to solve </li></ul></ul><ul><ul><li>Evolutionary algorithms will evaluate many points in the state-space at the same time </li></ul></ul><ul><ul><li>This is called Implicit Parallelism </li></ul></ul><ul><ul><li>It allows evolutionary algorithms to remain effective for problems with a large state-space </li></ul></ul>4-D state-space Image: https://wci.llnl.gov/codes/visit/gallery_22.html
  26. 26. Searching state-space <ul><ul><li>State-space is the set of all possible solution states </li></ul></ul><ul><ul><li>Certain problems have a large state-space making them difficult to solve </li></ul></ul><ul><ul><li>Evolutionary algorithms will evaluate many points in the state-space at the same time </li></ul></ul><ul><ul><li>This is called Implicit Parallelism </li></ul></ul><ul><ul><li>It allows evolutionary algorithms to remain effective for problems with a large state-space </li></ul></ul>4-D state-space Image: https://wci.llnl.gov/codes/visit/gallery_22.html
  27. 27. Searching state-space <ul><ul><li>State-space is the set of all possible solution states </li></ul></ul><ul><ul><li>Certain problems have a large state-space making them difficult to solve </li></ul></ul><ul><ul><li>Evolutionary algorithms will evaluate many points in the state-space at the same time </li></ul></ul><ul><ul><li>This is called Implicit Parallelism </li></ul></ul><ul><ul><li>It allows evolutionary algorithms to remain effective for problems with a large state-space </li></ul></ul>4-D state-space Image: https://wci.llnl.gov/codes/visit/gallery_22.html
  28. 28. Single objective evolutionary algorithms
  29. 29. Single objective evolutionary algorithms <ul><ul><li>A single objective evolutionary algorithm exists to solve single objective problems </li></ul></ul><ul><ul><li>A standard single objective problem is the Travelling Salesperson Problem or TSP. This states: </li></ul></ul><ul><ul><li>Given a number of cities and the distance from any city to any other city. </li></ul></ul><ul><ul><li>What is the shortest round-trip route that visits each city exactly once and then returns to the starting city? </li></ul></ul><ul><ul><li>Objective = [minimise route length] </li></ul></ul><ul><ul><li>Image: http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html </li></ul></ul><ul><ul><li>TSP : 1000 Cities </li></ul></ul>
  30. 30. Single objective evolutionary algorithms <ul><ul><li>A single objective evolutionary algorithm exists to solve single objective problems </li></ul></ul><ul><ul><li>A standard single objective problem is the Travelling Salesperson Problem or TSP. This states: </li></ul></ul><ul><ul><li>Given a number of cities and the distance from any city to any other city. </li></ul></ul><ul><ul><li>What is the shortest round-trip route that visits each city exactly once and then returns to the starting city? </li></ul></ul><ul><ul><li>Objective = [minimise route length] </li></ul></ul><ul><ul><li>Image: http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html </li></ul></ul><ul><ul><li>TSP : 1000 Cities </li></ul></ul>
  31. 31. Single objective evolutionary algorithms <ul><ul><li>A single objective evolutionary algorithm exists to solve single objective problems </li></ul></ul><ul><ul><li>A standard single objective problem is the Travelling Salesperson Problem or TSP. This states: </li></ul></ul><ul><ul><li>Given a number of cities and the distance from any city to any other city. </li></ul></ul><ul><ul><li>What is the shortest round-trip route that visits each city exactly once and then returns to the starting city? </li></ul></ul><ul><ul><li>Objective = [minimise route length] </li></ul></ul><ul><ul><li>Image: http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html </li></ul></ul><ul><ul><li>TSP : 1000 Cities </li></ul></ul>
  32. 32. Single objective evolutionary algorithms <ul><ul><li>A single objective evolutionary algorithm exists to solve single objective problems </li></ul></ul><ul><ul><li>A standard single objective problem is the Travelling Salesperson Problem or TSP. This states: </li></ul></ul><ul><ul><li>Given a number of cities and the distance from any city to any other city. </li></ul></ul><ul><ul><li>What is the shortest round-trip route that visits each city exactly once and then returns to the starting city? </li></ul></ul><ul><ul><li>Objective = [minimise route length] </li></ul></ul><ul><ul><li>Image: http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html </li></ul></ul><ul><ul><li>TSP : 1000 Cities </li></ul></ul>
  33. 33. Single objective evolutionary algorithms <ul><ul><li>A single objective evolutionary algorithm exists to solve single objective problems </li></ul></ul><ul><ul><li>A standard single objective problem is the Travelling Salesperson Problem or TSP. This states: </li></ul></ul><ul><ul><li>Given a number of cities and the distance from any city to any other city. </li></ul></ul><ul><ul><li>What is the shortest round-trip route that visits each city exactly once and then returns to the starting city? </li></ul></ul><ul><ul><li>Objective = [ minimise route length ] </li></ul></ul><ul><ul><li>Image: http://www.cs.princeton.edu/courses/archive/spr05/cos126/assignments/tsp.html </li></ul></ul><ul><ul><li>TSP : 1000 Cities </li></ul></ul>
  34. 34. Single objective evolutionary algorithms <ul><ul><li>Exact algorithms will give the shortest possible route but only work for 200 cities </li></ul></ul><ul><ul><li>Although evolutionary algorithms only promise a usefully short route </li></ul></ul><ul><ul><li>They work for 10,000 cities and beyond </li></ul></ul><ul><ul><li>Implicit parallelism allows evolutionary algorithms to search vast state-spaces </li></ul></ul>Image: https://wci.llnl.gov/codes/visit/gallery_22.html TSP : 100 cities
  35. 35. Single objective evolutionary algorithms <ul><ul><li>Exact algorithms will give the shortest possible route but only work for 200 cities </li></ul></ul><ul><ul><li>Although evolutionary algorithms only promise a usefully short route </li></ul></ul><ul><ul><li>They work for 10,000 cities and beyond </li></ul></ul><ul><ul><li>Implicit parallelism allows evolutionary algorithms to search vast state-spaces </li></ul></ul>Image: https://wci.llnl.gov/codes/visit/gallery_22.html TSP : 100 cities
  36. 36. Single objective evolutionary algorithms <ul><ul><li>Exact algorithms will give the shortest possible route but only work for 200 cities </li></ul></ul><ul><ul><li>Although evolutionary algorithms only promise a usefully short route </li></ul></ul><ul><ul><li>They work for 10,000 cities and beyond </li></ul></ul><ul><ul><li>Implicit parallelism allows evolutionary algorithms to search vast state-spaces </li></ul></ul>Image: https://wci.llnl.gov/codes/visit/gallery_22.html TSP : 100 cities TSP : 13509 cities
  37. 37. Single objective evolutionary algorithms <ul><ul><li>Exact algorithms will give the shortest possible route but only work for 200 cities </li></ul></ul><ul><ul><li>Although evolutionary algorithms only promise a usefully short route </li></ul></ul><ul><ul><li>They work for 10,000 cities and beyond </li></ul></ul><ul><ul><li>Implicit parallelism allows evolutionary algorithms to search vast state-spaces </li></ul></ul>Image: https://wci.llnl.gov/codes/visit/gallery_22.html TSP : 100 cities TSP : 13509 cities
  38. 38. Multi-objective evolutionary algorithms
  39. 39. Multi-objective evolutionary algorithms <ul><ul><li>A multi-objective evolutionary algorithm exists to solve multi-objective problems </li></ul></ul><ul><ul><li>A multi-objective problem has two or more conflicting objectives - Maximising strength and minimising weight </li></ul></ul><ul><ul><li>This results in many solutions that balance the objectives in different ways </li></ul></ul><ul><ul><li>Such trade-off solutions are called Pareto optimal </li></ul></ul>Strength v Weight <ul><ul><li>Image : http://www.emergentarchitecture.com/analogies_images/analogy_18/medium.jpg </li></ul></ul>
  40. 40. Multi-objective evolutionary algorithms <ul><ul><li>A multi-objective evolutionary algorithm exists to solve multi-objective problems </li></ul></ul><ul><ul><li>A multi-objective problem has two or more conflicting objectives - Maximising strength and minimising weight </li></ul></ul><ul><ul><li>This results in many solutions that balance the objectives in different ways </li></ul></ul><ul><ul><li>Such trade-off solutions are called Pareto optimal </li></ul></ul>Strength v Weight <ul><ul><li>Image : http://www.emergentarchitecture.com/analogies_images/analogy_18/medium.jpg </li></ul></ul>
  41. 41. Multi-objective evolutionary algorithms <ul><ul><li>A multi-objective evolutionary algorithm exists to solve multi-objective problems </li></ul></ul><ul><ul><li>A multi-objective problem has two or more conflicting objectives - Maximising strength and minimising weight </li></ul></ul><ul><ul><li>This results in many solutions that balance the objectives in different ways </li></ul></ul><ul><ul><li>Such trade-off solutions are called Pareto optimal </li></ul></ul>Strength v Weight <ul><ul><li>Image : http://www.emergentarchitecture.com/analogies_images/analogy_18/medium.jpg </li></ul></ul>
  42. 42. Multi-objective evolutionary algorithms <ul><ul><li>A multi-objective evolutionary algorithm exists to solve multi-objective problems </li></ul></ul><ul><ul><li>A multi-objective problem has two or more conflicting objectives - Maximising strength and minimising weight </li></ul></ul><ul><ul><li>This results in many solutions that balance the objectives in different ways </li></ul></ul><ul><ul><li>Such trade-off solutions are called Pareto optimal </li></ul></ul>Strength v Weight <ul><ul><li>Image : http://www.emergentarchitecture.com/analogies_images/analogy_18/medium.jpg </li></ul></ul>
  43. 43. What is pareto optimality? [pa-rih-toe]
  44. 44. What is pareto optimality? <ul><ul><li>A solution is pareto-optimal if it has been fully optimised </li></ul></ul><ul><ul><li>Optimising any objective will simply degrade the other objectives </li></ul></ul><ul><ul><li>While pareto-optimal solutions are equally optimal they are not equally useful </li></ul></ul><ul><ul><li>Therefore a human decision maker must make the final choice </li></ul></ul><ul><li>Image: http://www.longtail.typepad.com </li></ul><ul><ul><li>Image: Multi-objective Evolutionary Algorithms - A practical presentation of MOEA with examples from mechanical engineering Dr. Jörn Mehnen </li></ul></ul>Vilfredo Pareto
  45. 45. What is pareto optimality? <ul><ul><li>A solution is pareto-optimal if it has been fully optimised </li></ul></ul><ul><ul><li>Optimising any objective will simply degrade the other objectives </li></ul></ul><ul><ul><li>While pareto-optimal solutions are equally optimal they are not equally useful </li></ul></ul><ul><ul><li>Therefore a human decision maker must make the final choice </li></ul></ul><ul><li>Image: http://www.longtail.typepad.com </li></ul><ul><ul><li>Image: Multi-objective Evolutionary Algorithms - A practical presentation of MOEA with examples from mechanical engineering Dr. Jörn Mehnen </li></ul></ul>Vilfredo Pareto
  46. 46. What is pareto optimality? <ul><ul><li>A solution is pareto-optimal if it has been fully optimised </li></ul></ul><ul><ul><li>Optimising any objective will simply degrade the other objectives </li></ul></ul><ul><ul><li>While pareto-optimal solutions are equally optimal they are not equally useful </li></ul></ul><ul><ul><li>Therefore a human decision maker must make the final choice </li></ul></ul><ul><li>Image: http://www.longtail.typepad.com </li></ul><ul><ul><li>Image: Multi-objective Evolutionary Algorithms - A practical presentation of MOEA with examples from mechanical engineering Dr. Jörn Mehnen </li></ul></ul>Vilfredo Pareto
  47. 47. What is pareto optimality? <ul><ul><li>A solution is pareto-optimal if it has been fully optimised </li></ul></ul><ul><ul><li>Optimising any objective will simply degrade the other objectives </li></ul></ul><ul><ul><li>While pareto-optimal solutions are equally optimal they are not equally useful </li></ul></ul><ul><ul><li>Therefore a human decision maker must make the final choice </li></ul></ul><ul><li>Image: http://www.longtail.typepad.com </li></ul><ul><ul><li>Image: Multi-objective Evolutionary Algorithms - A practical presentation of MOEA with examples from mechanical engineering Dr. Jörn Mehnen </li></ul></ul>Vilfredo Pareto
  48. 48. Demo #1 The Pareto Front
  49. 49. Multi-objective evolutionary algorithms Elitism
  50. 50. Multi-objective evolutionary algorithms <ul><ul><li>Elitism </li></ul></ul><ul><ul><li>Elitism is used to help guide the evolving pareto front </li></ul></ul><ul><ul><li>The best solutions are retained in a secondary population called the archive </li></ul></ul><ul><ul><li>Solutions now compete to enter the elite archive </li></ul></ul><ul><ul><li>Only elite members are used for breeding </li></ul></ul><ul><ul><li>The archive acts a memory preventing the loss of fit solutions </li></ul></ul>Image: http://www.irishrunner.com/jamesnwc.jpg Elite Competition
  51. 51. Multi-objective evolutionary algorithms <ul><ul><li>Elitism </li></ul></ul><ul><ul><li>Elitism is used to help guide the evolving pareto front </li></ul></ul><ul><ul><li>The best solutions are retained in a secondary population called the archive </li></ul></ul><ul><ul><li>Solutions now compete to enter the elite archive </li></ul></ul><ul><ul><li>Only elite members are used for breeding </li></ul></ul><ul><ul><li>The archive acts a memory preventing the loss of fit solutions </li></ul></ul>Image: http://www.irishrunner.com/jamesnwc.jpg Elite Competition
  52. 52. Multi-objective evolutionary algorithms <ul><ul><li>Elitism </li></ul></ul><ul><ul><li>Elitism is used to help guide the evolving pareto front </li></ul></ul><ul><ul><li>The best solutions are retained in a secondary population called the archive </li></ul></ul><ul><ul><li>Solutions now compete to enter the elite archive </li></ul></ul><ul><ul><li>Only elite members are used for breeding </li></ul></ul><ul><ul><li>The archive acts a memory preventing the loss of fit solutions </li></ul></ul>Image: http://www.irishrunner.com/jamesnwc.jpg Elite Competition
  53. 53. Multi-objective evolutionary algorithms <ul><ul><li>Elitism </li></ul></ul><ul><ul><li>Elitism is used to help guide the evolving pareto front </li></ul></ul><ul><ul><li>The best solutions are retained in a secondary population called the archive </li></ul></ul><ul><ul><li>Solutions now compete to enter the elite archive </li></ul></ul><ul><ul><li>Only elite members are used for breeding </li></ul></ul><ul><ul><li>The archive acts a memory preventing the loss of fit solutions </li></ul></ul>Image: http://www.irishrunner.com/jamesnwc.jpg Elite Competition
  54. 54. Multi-objective evolutionary algorithms <ul><ul><li>Elitism </li></ul></ul><ul><ul><li>Elitism is used to help guide the evolving pareto front </li></ul></ul><ul><ul><li>The best solutions are retained in a secondary population called the archive </li></ul></ul><ul><ul><li>Solutions now compete to enter the elite archive </li></ul></ul><ul><ul><li>Only elite members are used for breeding </li></ul></ul><ul><ul><li>The archive acts a memory preventing the loss of fit solutions </li></ul></ul>Image: http://www.irishrunner.com/jamesnwc.jpg Elite Competition
  55. 55. Multi-Objective Evolutionary Algorithms Maximise the diversity
  56. 56. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>An evolving front tends to generate clusters and so lose diversity </li></ul></ul><ul><ul><li>Clusters waste resources by confining the search to a small areas </li></ul></ul><ul><ul><li>Leaving the gaps in between poorly investigated </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  57. 57. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>An evolving front tends to generate clusters and so lose diversity </li></ul></ul><ul><ul><li>Clusters waste resources by confining the search to a small areas </li></ul></ul><ul><ul><li>Leaving the gaps in between poorly investigated </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  58. 58. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>An evolving front tends to generate clusters and so lose diversity </li></ul></ul><ul><ul><li>Clusters waste resources by confining the search to a small areas </li></ul></ul><ul><ul><li>Leaving the gaps in between poorly investigated </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  59. 59. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>Diversity can be maintained through pruning </li></ul></ul><ul><ul><li>Solutions that lie too clos e to their neighbours are removed </li></ul></ul><ul><ul><li>The goal is to have each solution evenly spaced with respect to its neighbours </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  60. 60. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>Diversity can be maintained through pruning </li></ul></ul><ul><ul><li>Solutions that lie too clos e to their neighbours are removed </li></ul></ul><ul><ul><li>The goal is to have each solution evenly spaced with respect to its neighbours </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  61. 61. Multi-objective evolutionary algorithms <ul><ul><li>Maximise the diversity </li></ul></ul><ul><ul><li>Diversity can be maintained through pruning </li></ul></ul><ul><ul><li>Solutions that lie too clos e to their neighbours are removed </li></ul></ul><ul><ul><li>The goal is to have each solution evenly spaced with respect to its neighbours </li></ul></ul><ul><ul><li>Image adapted : Zitzler, Eckart and Laumanns, Marco and Thiele, Lothar (2001) SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimisation, and Control. </li></ul></ul>
  62. 62. Demo #2 Diversity & Constraints
  63. 63. What is a constraint?
  64. 64. What is a Constraint? <ul><ul><li>Solution Feasibility </li></ul></ul><ul><ul><li>All real world problems are bounded by physical limits </li></ul></ul><ul><ul><li>Solutions that lie outside of these limits are infeasible </li></ul></ul><ul><ul><li>Constraints model the physical limits of a problem </li></ul></ul><ul><ul><li>If a solution violates one or more of its constraints then it is considered infeasible </li></ul></ul><ul><ul><li>Image adapted: http://www.britannica.com/EBchecked/topic-art/430575/3028/Constraint-set-bounded-by-the-five-lines-x1-0-x2 </li></ul></ul>
  65. 65. What is a Constraint? <ul><ul><li>Solution Feasibility </li></ul></ul><ul><ul><li>All real world problems are bounded by physical limits </li></ul></ul><ul><ul><li>Solutions that lie outside of these limits are infeasible </li></ul></ul><ul><ul><li>Constraints model the physical limits of a problem </li></ul></ul><ul><ul><li>If a solution violates one or more of its constraints then it is considered infeasible </li></ul></ul><ul><ul><li>Image adapted: http://www.britannica.com/EBchecked/topic-art/430575/3028/Constraint-set-bounded-by-the-five-lines-x1-0-x2 </li></ul></ul>
  66. 66. What is a Constraint? <ul><ul><li>Solution Feasibility </li></ul></ul><ul><ul><li>All real world problems are bounded by physical limits </li></ul></ul><ul><ul><li>Solutions that lie outside of these limits are infeasible </li></ul></ul><ul><ul><li>Constraints model the physical limits of a problem </li></ul></ul><ul><ul><li>If a solution violates one or more of its constraints then it is considered infeasible </li></ul></ul><ul><ul><li>Image adapted: http://www.britannica.com/EBchecked/topic-art/430575/3028/Constraint-set-bounded-by-the-five-lines-x1-0-x2 </li></ul></ul>
  67. 67. What is a Constraint? <ul><ul><li>Solution Feasibility </li></ul></ul><ul><ul><li>All real world problems are bounded by physical limits </li></ul></ul><ul><ul><li>Solutions that lie outside of these limits are infeasible </li></ul></ul><ul><ul><li>Constraints model the physical limits of a problem </li></ul></ul><ul><ul><li>If a solution violates one or more of its constraints then it is considered infeasible </li></ul></ul><ul><ul><li>Image adapted: http://www.britannica.com/EBchecked/topic-art/430575/3028/Constraint-set-bounded-by-the-five-lines-x1-0-x2 </li></ul></ul>
  68. 68. What is a Constraint? <ul><ul><li>The Problem with Constraints </li></ul></ul><ul><ul><li>It is hard to randomly search for an initial population of feasible solutions </li></ul></ul><ul><ul><li>Better to generate an infeasible population and evolve it towards feasibility </li></ul></ul><ul><ul><li>This is done by adding a new infeasibility objective to the multi-objective problem: Infeasibility Objective = [minimise population infeasibility] </li></ul></ul>Image: http://en.wikipedia.org/wiki/Image:Random_walk_in2D_closeup.png Image: http://www.outbacksoftware.com/mathematica/mathematica-intro.html Random walk - 3D Random walk - 2D
  69. 69. What is a Constraint? <ul><ul><li>The Problem with Constraints </li></ul></ul><ul><ul><li>It is hard to randomly search for an initial population of feasible solutions </li></ul></ul><ul><ul><li>Better to generate an infeasible population and evolve it towards feasibility </li></ul></ul><ul><ul><li>This is done by adding a new infeasibility objective to the multi-objective problem: Infeasibility Objective = [minimise population infeasibility] </li></ul></ul>Image: http://en.wikipedia.org/wiki/Image:Random_walk_in2D_closeup.png Image: http://www.outbacksoftware.com/mathematica/mathematica-intro.html Random walk - 3D Random walk - 2D
  70. 70. What is a Constraint? <ul><ul><li>The Problem with Constraints </li></ul></ul><ul><ul><li>It is hard to randomly search for an initial population of feasible solutions </li></ul></ul><ul><ul><li>Better to generate an infeasible population and evolve it towards feasibility </li></ul></ul><ul><ul><li>This is done by adding a new infeasibility objective to the multi-objective problem: Infeasibility Objective = [ minimise population infeasibility ] </li></ul></ul>Image: http://en.wikipedia.org/wiki/Image:Random_walk_in2D_closeup.png Image: http://www.outbacksoftware.com/mathematica/mathematica-intro.html Random walk - 3D Random walk - 2D
  71. 71. Summary <ul><ul><li>Defined “metaheuristic” </li></ul></ul><ul><ul><li>Examined evolutionary algorithms </li></ul></ul><ul><ul><li>Explored problem constraints </li></ul></ul><ul><ul><li>Apply an evolutionary algorithm to a farm </li></ul></ul><ul><ul><li>Discuss the implications for farm sustainability </li></ul></ul>
  72. 72. Applying an evolutionary algorithm IC-SPEA2
  73. 73. Applying an evolutionary algorithm <ul><ul><li>IC-SPEA2 </li></ul></ul><ul><ul><li>IC-SPEA2 is a powerful multi-objective evolutionary metaheuristic </li></ul></ul><ul><ul><li>It uses an infeasibility objective to evolve feasible solutions </li></ul></ul><ul><ul><li>And elitism to guide the search </li></ul></ul><ul><ul><li>And pruning to maximise the diversity </li></ul></ul>
  74. 74. Applying an evolutionary algorithm <ul><ul><li>IC-SPEA2 </li></ul></ul><ul><ul><li>IC-SPEA2 is a powerful multi-objective evolutionary metaheuristic </li></ul></ul><ul><ul><li>It uses an infeasibility objective to evolve feasible solutions </li></ul></ul><ul><ul><li>And elitism to guide the search </li></ul></ul><ul><ul><li>And pruning to maximise the diversity </li></ul></ul>
  75. 75. Applying an evolutionary algorithm <ul><ul><li>IC-SPEA2 </li></ul></ul><ul><ul><li>IC-SPEA2 is a powerful multi-objective evolutionary metaheuristic </li></ul></ul><ul><ul><li>It uses an infeasibility objective to evolve feasible solutions </li></ul></ul><ul><ul><li>And elitism to guide the search </li></ul></ul><ul><ul><li>And pruning to maximise the diversity </li></ul></ul>
  76. 76. Applying an evolutionary algorithm <ul><ul><li>IC-SPEA2 </li></ul></ul><ul><ul><li>IC-SPEA2 is a powerful multi-objective evolutionary metaheuristic </li></ul></ul><ul><ul><li>It uses an infeasibility objective to evolve feasible solutions </li></ul></ul><ul><ul><li>And elitism to guide the search </li></ul></ul><ul><ul><li>And pruning to maximise the diversity </li></ul></ul>
  77. 77. Applying an evolutionary metaheuristic A beef farm model
  78. 78. Applying an evolutionary metaheuristic <ul><ul><li>A beef farm model </li></ul></ul><ul><ul><li>A farm is a complex dynamic system </li></ul></ul><ul><ul><li>It is bounded by multiple trade-offs , constraints and variable measures of success </li></ul></ul><ul><ul><li>These characteristics can be encoded into a software model </li></ul></ul><ul><ul><li>And the model can be optimised using IC-SPEA2 </li></ul></ul>
  79. 79. Applying an evolutionary metaheuristic <ul><ul><li>A beef farm model </li></ul></ul><ul><ul><li>A farm is a complex dynamic system </li></ul></ul><ul><ul><li>It is bounded by multiple trade-offs , constraints and variable measures of success </li></ul></ul><ul><ul><li>These characteristics can be encoded into a software model </li></ul></ul><ul><ul><li>And the model can be optimised using IC-SPEA2 </li></ul></ul>
  80. 80. Applying an evolutionary metaheuristic <ul><ul><li>A beef farm model </li></ul></ul><ul><ul><li>A farm is a complex dynamic system </li></ul></ul><ul><ul><li>It is bounded by multiple trade-offs , constraints and variable measures of success </li></ul></ul><ul><ul><li>These characteristics can be encoded into a software model </li></ul></ul><ul><ul><li>And the model can be optimised using IC-SPEA2 </li></ul></ul>
  81. 81. Applying an evolutionary metaheuristic <ul><ul><li>A beef farm model </li></ul></ul><ul><ul><li>A farm is a complex dynamic system </li></ul></ul><ul><ul><li>It is bounded by multiple trade-offs , constraints and variable measures of success </li></ul></ul><ul><ul><li>These characteristics can be encoded into a software model </li></ul></ul><ul><ul><li>And the model can be optimised using IC-SPEA2 </li></ul></ul>
  82. 82. Applying an evolutionary metaheuristic The farm loop
  83. 83. Applying an evolutionary metaheuristic <ul><ul><li>The farm loop </li></ul></ul><ul><li>1 .The farmer selects and implements a strategy </li></ul><ul><li>2 .The farm provides real-world values for the model </li></ul><ul><li>3 .The model provides a template for IC-SPEA2 </li></ul><ul><li>4 .IC-SPEA2 evolves a population of model instances </li></ul><ul><li>5 .IC-SPEA2 presents a Pareto set of optimal models. </li></ul><ul><li>Return to Step 1 </li></ul>
  84. 84. Applying an evolutionary metaheuristic <ul><ul><li>The farm loop </li></ul></ul><ul><li>1 .The farmer selects and implements a strategy </li></ul><ul><li>2 .The farm provides real-world values for the model </li></ul><ul><li>3 .The model provides a template for IC-SPEA2 </li></ul><ul><li>4 .IC-SPEA2 evolves a population of model instances </li></ul><ul><li>5 .IC-SPEA2 presents a Pareto set of optimal models. </li></ul><ul><li>Return to Step 1 </li></ul>
  85. 85. Applying an evolutionary metaheuristic <ul><ul><li>The farm loop </li></ul></ul><ul><li>1 .The farmer selects and implements a strategy </li></ul><ul><li>2 .The farm provides real-world values for the model </li></ul><ul><li>3 .The model provides a template for IC-SPEA2 </li></ul><ul><li>4 .IC-SPEA2 evolves a population of model instances </li></ul><ul><li>5 .IC-SPEA2 presents a Pareto set of optimal models. </li></ul><ul><li>Return to Step 1 </li></ul>
  86. 86. Applying an evolutionary metaheuristic <ul><ul><li>The farm loop </li></ul></ul><ul><li>1 .The farmer selects and implements a strategy </li></ul><ul><li>2 .The farm provides real-world values for the model </li></ul><ul><li>3 .The model provides a template for IC-SPEA2 </li></ul><ul><li>4 .IC-SPEA2 evolves a population of model instances </li></ul><ul><li>5 .IC-SPEA2 presents a Pareto set of optimal models. </li></ul><ul><li>Return to Step 1 </li></ul>
  87. 87. Applying an evolutionary metaheuristic <ul><ul><li>The farm loop </li></ul></ul><ul><li>1 .The farmer selects and implements a strategy </li></ul><ul><li>2 .The farm provides real-world values for the model </li></ul><ul><li>3 .The model provides a template for IC-SPEA2 </li></ul><ul><li>4 .IC-SPEA2 evolves a population of model instances </li></ul><ul><li>5 .IC-SPEA2 presents a Pareto set of optimal models. </li></ul><ul><li>Return to Step 1 </li></ul>
  88. 88. Applying an evolutionary metaheuristic The farm's objectives
  89. 89. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The farm makes money by converting food into live animal weight </li></ul></ul><ul><ul><li>Different food types have different nutritional benefits and different and purchase / production costs </li></ul></ul><ul><ul><li>IC-SPEA2 will search for combinations of feed type and amounts to create optimal feeding schedules </li></ul></ul>Live Weight Gain
  90. 90. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The farm makes money by converting food into live animal weight </li></ul></ul><ul><ul><li>Different food types have different nutritional benefits and different and purchase / production costs </li></ul></ul><ul><ul><li>IC-SPEA2 will search for combinations of feed type and amounts to create optimal feeding schedules </li></ul></ul>Live Weight Gain
  91. 91. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The farm makes money by converting food into live animal weight </li></ul></ul><ul><ul><li>Different food types have different nutritional benefits and different and purchase / production costs </li></ul></ul><ul><ul><li>IC-SPEA2 will search for combinations of feed type and amounts to create optimal feeding schedules </li></ul></ul>Live Weight Gain
  92. 92. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The conflicting objectives for the farm model are </li></ul></ul><ul><ul><li>1. Maximise net revenue By creating the heaviest animals using the cheapest feed </li></ul></ul><ul><ul><li>2. Maximise average daily weight gain This conflicts with “maximise net revenue” since heavier animals cost more to keep </li></ul></ul><ul><ul><li>3. Minimise the cost of the diet This conflicts with “maximise average daily weight gain” since cheap food have low nutritional value </li></ul></ul>
  93. 93. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The conflicting objectives for the farm model are </li></ul></ul><ul><ul><li>1. Maximise net revenue By creating the heaviest animals using the cheapest feed </li></ul></ul><ul><ul><li>2. Maximise average daily weight gain This conflicts with “maximise net revenue” since heavier animals cost more to keep </li></ul></ul><ul><ul><li>3. Minimise the cost of the diet This conflicts with “maximise average daily weight gain” since cheap food have low nutritional value </li></ul></ul>
  94. 94. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The conflicting objectives for the farm model are </li></ul></ul><ul><ul><li>1. Maximise net revenue By creating the heaviest animals using the cheapest feed </li></ul></ul><ul><ul><li>2. Maximise average daily weight gain This conflicts with “maximise net revenue” since heavier animals cost more to keep </li></ul></ul><ul><ul><li>3. Minimise the cost of the diet This conflicts with “maximise average daily weight gain” since cheap food have low nutritional value </li></ul></ul>
  95. 95. Applying an evolutionary metaheuristic <ul><ul><li>The farms' objectives </li></ul></ul><ul><ul><li>The conflicting objectives for the farm model are </li></ul></ul><ul><ul><li>1. Maximise net revenue By creating the heaviest animals using the cheapest feed </li></ul></ul><ul><ul><li>2. Maximise average daily weight gain This conflicts with “maximise net revenue” since heavier animals cost more to keep </li></ul></ul><ul><ul><li>3. Minimise the cost of the diet This conflicts with “maximise average daily weight gain” since cheap food have low nutritional value </li></ul></ul>
  96. 96. Applying an evolutionary metaheuristic Discovering counter intuitive solutions
  97. 97. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [maximum live weight gain] = [maximum net revenue] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  98. 98. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [maximum live weight gain] = [maximum net revenue] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  99. 99. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [maximum live weight gain] = [maximum net revenue] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  100. 100. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [ maximum live weight gain ] = [ maximum net revenue ] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  101. 101. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [maximum live weight gain] = [maximum net revenue] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  102. 102. Applying an evolutionary metaheuristic <ul><ul><li>Discovering counter intuitive solutions </li></ul></ul><ul><ul><li>As expected IC-SPEA2 returned multiple, pareto-optimal strategies </li></ul></ul><ul><ul><li>Two solutions were of particular interest 1. The feeding strategy that maximised net revenue. 2. The feeding strategy that maximised live weight gain . </li></ul></ul><ul><ul><li>Intuition suggests that heavy animals should sell for more money [maximum live weight gain] = [maximum net revenue] </li></ul></ul><ul><ul><li>Yet IC-SPEA2 found a way to maximise net revenue while delivering lighter animals </li></ul></ul><ul><ul><li>This counter-intuitive result has potential implications for farm sustainability </li></ul></ul>
  103. 103. Applying an evolutionary metaheuristic Implications for farm sustainability
  104. 104. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>1. Reduce stress </li></ul></ul><ul><ul><li>Maintaining net revenue while reducing live weight gain will reduce the stress on the farm system </li></ul></ul><ul><ul><li>Profit obligations are met even as the farm operates below its carrying capacity </li></ul></ul><ul><ul><li>2. Prevent over-shoot </li></ul></ul><ul><ul><li>Real-time software allows frequent strategic re-evaluations </li></ul></ul><ul><ul><li>Frequent adjustments may help buffer against performance over-shoot </li></ul></ul>
  105. 105. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>1. Reduce stress </li></ul></ul><ul><ul><li>Maintaining net revenue while reducing live weight gain will reduce the stress on the farm system </li></ul></ul><ul><ul><li>Profit obligations are met even as the farm operates below its carrying capacity </li></ul></ul><ul><ul><li>2. Prevent over-shoot </li></ul></ul><ul><ul><li>Real-time software allows frequent strategic re-evaluations </li></ul></ul><ul><ul><li>Frequent adjustments may help buffer against performance over-shoot </li></ul></ul>
  106. 106. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>1. Reduce stress </li></ul></ul><ul><ul><li>Maintaining net revenue while reducing live weight gain will reduce the stress on the farm system </li></ul></ul><ul><ul><li>Profit obligations are met even as the farm operates below its carrying capacity </li></ul></ul><ul><ul><li>2. Prevent over-shoot </li></ul></ul><ul><ul><li>Real-time software allows frequent strategic re-evaluations </li></ul></ul><ul><ul><li>Frequent adjustments may help buffer against performance over-shoot </li></ul></ul>
  107. 107. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>1. Reduce stress </li></ul></ul><ul><ul><li>Maintaining net revenue while reducing live weight gain will reduce the stress on the farm system </li></ul></ul><ul><ul><li>Profit obligations are met even as the farm operates below its carrying capacity </li></ul></ul><ul><ul><li>2. Prevent over-shoot </li></ul></ul><ul><ul><li>Real-time software allows frequent strategic re-evaluations </li></ul></ul><ul><ul><li>Frequent adjustments may help buffer against performance over-shoot </li></ul></ul>
  108. 108. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>3. Providing choice </li></ul></ul><ul><ul><li>A Pareto set of optimal strategies gives the farmer a choice </li></ul></ul><ul><ul><li>Allowing the farm's objectives to be dynamically re-balanced </li></ul></ul><ul><ul><li>4. Enhancing control </li></ul></ul><ul><ul><li>Frequent re-evaluation plus a choice of optimal solutions gives the farmer flexibility </li></ul></ul><ul><ul><li>This allows control to be exerted in a measured and informed manner </li></ul></ul>
  109. 109. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>3. Providing choice </li></ul></ul><ul><ul><li>A Pareto set of optimal strategies gives the farmer a choice </li></ul></ul><ul><ul><li>Allowing the farm's objectives to be dynamically re-balanced </li></ul></ul><ul><ul><li>4. Enhancing control </li></ul></ul><ul><ul><li>Frequent re-evaluation plus a choice of optimal solutions gives the farmer flexibility </li></ul></ul><ul><ul><li>This allows control to be exerted in a measured and informed manner </li></ul></ul>
  110. 110. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>3. Providing choice </li></ul></ul><ul><ul><li>A Pareto set of optimal strategies gives the farmer a choice </li></ul></ul><ul><ul><li>Allowing the farm's objectives to be dynamically re-balanced </li></ul></ul><ul><ul><li>4. Enhancing control </li></ul></ul><ul><ul><li>Frequent re-evaluation plus a choice of optimal solutions gives the farmer flexibility </li></ul></ul><ul><ul><li>This allows control to be exerted in a measured and informed manner </li></ul></ul>
  111. 111. Applying an evolutionary metaheuristic <ul><ul><li>Implications for farm sustainability </li></ul></ul><ul><ul><li>3. Providing choice </li></ul></ul><ul><ul><li>A Pareto set of optimal strategies gives the farmer a choice </li></ul></ul><ul><ul><li>Allowing the farm's objectives to be dynamically re-balanced </li></ul></ul><ul><ul><li>4. Enhancing control </li></ul></ul><ul><ul><li>Frequent re-evaluation plus a choice of optimal solutions gives the farmer flexibility </li></ul></ul><ul><ul><li>This allows control to be exerted in a measured and informed manner </li></ul></ul>
  112. 112. Summary <ul><ul><li>Defined “metaheuristic” </li></ul></ul><ul><ul><li>Examined evolutionary algorithms </li></ul></ul><ul><ul><li>Explored problem constraints </li></ul></ul><ul><ul><li>Applied an evolutionary algorithm to a farm </li></ul></ul><ul><ul><li>Discussed the implications for farm sustainability </li></ul></ul>
  113. 113. The End Images courtesy of http://www.goldennumber.net, Gary B. Meisner, Copyright 2006. Fibonacci numbers

×