AnyLogic experts at business consulting company NFP worked to resolve a crane task distribution problem for a major international metallurgical company. Their innovative solution employed machine learning and improved on an expert selected policy. Read on to learn more about the project.
At NFP, our simulation modeling experts work with a lot of companies in the manufacturing and mining industries who use AnyLogic to analyze, study and improve their processes. Some of them go further and integrate simulation models with their IT systems and use them for production scheduling and planning. A recent example of our work in this area features a simulation model for a coal mining company that helps to distribute tasks between trains and rail cars.
Typically, there are three approaches for dealing with the output of such models:
- The manual approach – planning is done by model users who test different what-if scenarios and analyze the outputs of the model, all while taking into account the model’s restrictions;
- The algorithmic approach – where a complex planning algorithm uses a lot of if-else statements to distribute tasks between resources;
- The optimizer approach – an optimizer (usually, custom-made, or, for example, OptQuest, which is built inside AnyLogic) that varies different inputs and finds an optimal combination for them.
These modeling approaches can produce good results, but sometimes they take a lot of time to calibrate satisfactorily and are often limited by the amount of available computing power. This can be a real inconvenience, especially with the optimizer approach.
Now there is another way: Artificial Intelligence, particularly Machine Learning algorithms, can distribute tasks between resources more effectively and flexibly than any of the methods mentioned above. We have found that AnyLogic is one of the best platforms for developing solutions that feature AI and Machine Learning. This is because AnyLogic natively supports Java libraries and, thanks to the AnyLogic Cloud, also provides RESTful API access to Python libraries.
A large international metallurgical company contracted us for a multi-stage project. Stage one required us to:
- Develop an ‘as is’ model of a high-carbon ferrochrome plant;
- Test a range of potential scenarios involving investment initiatives, changes to production processes, changes in storage zones, etc.;
- Find a way to assign beam crane tasks more efficiently: the minimum target was to understand the best set of priorities for different kinds of operations inside the plant.
We completed these tasks using the kinds of classical modeling approaches that are commonly used on simulation modeling projects – model development, validation and calibration, and a lot of scenario testing.
To achieve this aim, we:
- Developed the NFP Machine Learning Connector for AnyLogic to help connect external Machine Learning libraries (such as Weka, DL4J, etc.) to AnyLogic models;
- Trained an ML algorithm on a sufficiently large amount of data from different situations and with different results (positive and negative) and constructed an ML-model;
- Created a method to collect data at every moment before an action (an action is any crane task);
- Deployed the trained ML-algorithm inside of the model using the NFP Machine Learning Connector for AnyLogic (our custom-developed library that helps to connect external Machine Learning libraries to AnyLogic models).
We also used the NFP Multiple Crane library for AnyLogic. This library helps process the work of multiple beam cranes, taking into account x-axis movement restrictions caused by the locations of other cranes. NFP libraries for AnyLogic are available on the NFP site.
The numbers showed that combining a Machine Learning algorithm and AnyLogic simulation modeling helped increase the efficiency of multiple cranes by up to 70% compared to an expert-defined policy.
We are now preparing with the Client to scale this model and deploy it operationally. This requires good real-time data about the current locations of cranes, buckets, slag bowls, boxes, etc., as well as the states of machinery such as furnaces, filling machines, and slag carriers.
You can find a demo-model of this work that shows the difference in effectiveness between the expert-defined and Machine Learning policies. Try it out for yourself on the AnyLogic Cloud: