Every mine has an extraction plan, and the simulation will be more precise considering it. Basically, the plan has information regarding the material available on each extraction point, and the sequence it will be extracted.
The best structure to model it is a 2D Variable. For each extraction point, two columns are necessary: one to define the type of material that would be extracted, and another to inform the amount of material of that type. Therefore, for a small mine with four extraction points, eight columns are necessary. Let´s consider three types of material: (1) ore, (2) waste1, (3) waste2.
Each excavation point is located in a different position and has an excavator associated. So, Station and Resource modules are necessary for each one of them. Trucks may be represented as entities, with attributes “Type”, for the type of material being carried, and “Truck Load” for the amount of ore/waste it may be carrying. A limited number of truck entities is created and they will run in a “loop” coming and going from the piles of material to the extraction points and vice versa.
Usually, in big and complex mines, a sophisticated routing system is used to decide and direct empty trucks to the best extraction point. An easy way to model a similar decision is using the Pickstation module. Trucks should avoid delay in queues, so the best extraction point is the one with fewer trucks in it, or in route to it.
Also, if an extraction point becomes exhausted, it should be ignored. A 1D Variable is necessary to mark the status of each extraction point. This 1D Variable may have 4 lines and be called “Exhausted”. A Pickstation module may consider all these decision parameters.
The trick to prevent trucks to choose an exhausted extraction point is using the Exhausted variable at the Expression field, and assign a high value to it when it happens, like 1000. Since the test condition is “Minimum”, other points will become greater options even if they have a lot of trucks.
An index variable is necessary to register the plan advance for each extraction point, so, it has to be a 1D Variable. It may be called “Index”, with four lines. Each time a truck leaves a point, it receives the point number to an Attribute “Point” and use it to remove part of the material, updating the plan status.
If the extraction point reached the last plan entry, and the amount of material reaches zero, the point has to be marked as “exhausted”.
Otherwise, if the amount of material of this entry is zero and there are some entries left for this point, it just goes to the next line.
Also, the amount of each material extracted has to be registered. It is usually stored in piles, so it can be represented as a 1D Variable called “Pile”, with 3 lines.
The simulation will finish when the plan is fully accomplished, meaning all four points where exhausted. This condition can be checked by a Decide module which directs all trucks to a Dispose module. This way, the simulation duration is, itself, an important KPI. It informs the amount of time necessary to exhaust the entire mine.
This approach may be applied in bigger mines. Just adding more columns to the “Plan” variable and creating more extraction points, with its corresponding Stations and Resources. Of course, the routing may be more sophisticated. The “Expression” field at the Pickstation module is a nice option to add other parameters that may influence the decision on choosing the best point.
Also, other columns may be added to each extraction point, with more detailed information regarding the material to be extracted, like component grades, etc.