Maptek Data System
Maptek Compute Framework
Maptek Orchestration Environment
Join our early access program to unlock value for your organisation.
Drill & blast management
Interconnected mine scheduling
Reliable proximity awareness underground
Dynamic survey surface updates
3D mine planning & geological modelling
Streamlined geological modelling workflow
Machine learning assisted domain modelling
Material tracking & reconciliation systems
3D laser scanning & imaging
Point cloud processing & analysis
LiDAR-based stability & convergence monitoring
Derive value from airborne or mobile sensor data
Traditionally, the most important thing for a good genetic algorithm was a good genome combined with good genetic operators.
A genome is a minimal representation of a particular solution to a given problem, and genetic operators are ways to manipulate these genomes in order to create new individuals. As in nature, a good genetic algorithm should not destroy previous progress in the name of new exploration. It should also not stifle new exploration in order to maintain previous progress.
So how do we manage these conflicting aims, which typically require highly specific genomes and crossover operators to best address a given problem? The result is often many similar, yet distinct implementations of genetic algorithms with minimal-to-no shared code.
One of the main benefits of genetic algorithms is the ability to compare tradeoffs between competing objectives. This is achieved by the algorithm returning multiple potential solutions, allowing the user to decide between them.
Genetic algorithms provide a unique approach to optimising multiple competing objectives. For example, if you were planning a cross country trip in your car, you may want to minimise distance, or you may want to maximise the number of attractions that you see. There is a negative correlation between these two objectives—the more attractions you see, the further you have to drive. Genetic algorithms provide the ability to target both of these objectives at once, and offer several potential tradeoffs to pick from.
The Maptek scheduling program Evolution uses a genetic algorithm approach called Non-dominated Sorting Genetic Algorithm (NSGA-II). The NSGA refers to the method that is used to determine if one individual in the population is fitter than another.
Consider the example above. If we only cared about a single objective—minimising distance—determining if one individual is fitter than another is simple. We would check the total distance travelled when following the route described in individual solutions A and B. If the distance is shorter in A, then A is fitter than B.
Now consider the situation where we care about both total distance and attractions visited. In this case, Individual A with a shorter distance is fitter in our distance objective, but Individual B could visit more attractions, making it fitter in our attraction objective.
In scenarios with multiple objectives, there will typically be tradeoffs between them. Depending on the criteria, some results may appear better for certain problems, but each solution will technically be equally as good.
As above, if Individual A had both a shorter distance and visited more attractions, then Individual A is fitter than B in all objectives. In the context of NSGA, this relationship is described as Individual A dominates Individual B. If Individual A has no other individuals that dominate it, it is known as non-dominated. The result of the NSGA algorithm is a set of non-dominated individuals, all with different trade-offs between objectives.
The number of objectives that can be handled with traditional genetic algorithms is quite small, with the commonly used NSGA-II recommending three or less. A large number of objectives causes most individuals to be non-dominated in at least one objective. Additionally, the methods for judging algorithm completeness and selection are heavily correlated to the number of objectives. This means that as the number of objectives rise, so does the proportion of program run time that is spent working on these methods.
Genetic algorithm improvements have allowed newer iterations to handle ‘many-objective’ problems. In 2013, an improved algorithm, NSGA-III was proposed, increasing the number of objectives that could be handled to about 15. This approach can produce strong results with no significant performance degradation.
The improvements brought by NSGA-III are problem invariant, meaning all genetic algorithms that are ‘many-objective’ will see an improvement when upgrading to NSGA-III. This is why we have embarked on intelligently consolidating functionality between the multiple genetic algorithms for Maptek software engineers to use.
This consolidation must allow for complete customisation of genomes and genetic operators to ensure that we keep the historical benefits of highly targeted optimisation. It must also allow access to advanced, multi-objective genetic problem-solving functionality so that customers can realise the substantial benefits through the solutions we provide.
With programming, it’s survival of the fittest!
Click here to read part 3 of this blog series >
< Click here to read part 1 of this blog series
Luke Berry
Evolution Team Lead
December 8, 2020
For additional information about Maptek, including use of the Maptek logo, product images and reproduction of case studies, please direct inquiries to Global Marketing Communications Manager jane.ball@maptek.com.au
ReCAPTCHA has failed to load! Try reloading the page to submit this form. ReCAPTCHA no se ha podido cargar. Intente volver a cargar la página para enviar este formulario. Não foi possível carregar ReCAPTCHA. Tente recarregar a página para enviar este formulário. Не удалось загрузить ReCAPTCHA. Попробуйте перезагрузить страницу, чтобы отправить эту форму.
We use cookies to enhance your browsing experience and analyse our traffic. By clicking "Accept all", you consent to our use of cookies. You can customise your cookie preferences by clicking 'Customise Preferences'.
We use cookies to enhance your browsing experience and analyse our traffic.
Our website may store cookies on your computer in order to improve and customise your future visits to the website. By using cookies, we can track information about your usage of the site and improve your experience with anonymous and aggregated user data.
Review our Privacy PolicyEssential for the website's functionality, without which the site cannot operate smoothly.
Remember user preferences and choices to provide a more personalized experience.
Collect data on how users interact with the website, helping to improve user experience.
Used to deliver targeted advertisements to users based on their browsing behavior and preferences.