Evolving our understanding – genetic algorithms explained: Part 3

In Part 2 we explained how we work with advances in evolutionary computing theory. In this blog we explore how genetic algorithms can assist scheduling engineers to improve their schedules over traditional spreadsheets.

Prepare yourself! You enter the head office of a large multinational mining company, ready to help their senior scheduling engineer prepare the life-of-mine schedules for a green fields site. In front of them are two screens, both with Excel spreadsheets open. It doesn’t take long to realise the scheduler is comparing two Excel based plans for the new site.

This scenario is still seen in the day-to-day operations of many mining companies around the world. They continue to use Excel or other spreadsheet-type applications to plan, track and manage their schedules, from life-of-mine to short-term execution. There’s nothing overly wrong with this approach—spreadsheets are a tried and tested mechanism, but they have their limitations.

Imagine instead that same scheduling engineer had thousands of spreadsheets, each representing slight variations in the schedule for the same mine site. Over time, solutions would be discarded as they were infeasible or ‘not as good’ as others. Some schedules may be blended together, taking the first half of one, and second half of another to form a hybrid that is better than its predecessor. This description is the basis of genetic algorithms.

Genetic algorithms are a branch of computer science that reflects the process of natural selection where the fittest individuals are selected and combined to form new—and hopefully better—solutions.

This process can take hundreds, thousands, or hundreds of thousands of solutions (in our case stage/bench sequences) and evaluate them. All the while, discarding poor or infeasible sequences and continuing to grow the pool of near optimal schedules. This process is all done with guided input from the user, for instance adding constraints that set spatial dependencies and specific mining rules to ensure practicality, as well as meeting specific blend targets, trucking hours and mill capacities.

Genetic algorithm solution breeding takes portions of solutions to form a new offspring.

Doing this process manually means keeping track of an almost impossible number of competing constraints, and limits the number of schedules you can compare at any one time. If we instead move this burden into a genetic algorithm, we can add any number of constraints and simply wait for a collection of near-optimal solutions to present themselves. Engineers can then quickly compare across key points, with the knowledge these schedules are both practical and feasible!

So back to the spreadsheets—are these a good solution for scheduling? In my opinion, as complexity of the schedule grows, it becomes a lot of work to manage in a spreadsheet solution. You run the risk of missing updating calculations, inadvertently changing dependent constraints, and potentially losing your audit trail. When companies adopt a program that uses genetic algorithms to create schedules, most engineers will only accept the result when they can confirm the numbers by running manual calculations in some spreadsheet tool. At least it’s a start!

In my next blog, I’ll review and compare technologies that are used to solve scheduling problems.

Click here to read part 4 of this blog series >

< Click here to read part 2 of this blog series

Will Reid
Global Development Strategy Manager
February 8, 2021

Contact Maptek

Media Relations

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