Machine Learning in Production Chain Management Support

Machine Learning in Production Chain Management Support

Machine learning in our days is used for a wide set tasks, applied on an even wider set of domains, it can do anything, from sentiment analysis to decision support and prediction modeling. In AffectUs, a project extending the functionality of the TagItSmart platform, we are using the power of machine learning in order to accurately predict the duration that each specific instance of a product (called a thing) is expected to remain on any pre-defined stage of its production chain. This enables both the application developers and product owners to identify strong or weak spots in a supply chain, possibly taking corresponding decisions about it. For example, if the things remain at a specific stage, for example the ‘in_transit’ stage, for too long, it may mean that the route that the trucks or ships take needs to be modified or that more vehicles need to be deployed in order to fasten the progress, enhancing the throughput of the whole chain.

The engine we are using was developed and originally used by Google and it is called TensorFlow. It is a powerful engine, implementing both simple and advanced classifiers and regressors. In our case, we are using linear regression, due to the small set of features and the simplicity of the task. The model itself though can be modified with little effort, in order to provide deep learning functionalities, supporting a wider set of features and more complex prediction tasks. In the current set up, a web service using the python flask is running on the computation server, processing each request. These requests contain information in JSON format, which are pre-processed in order for the model to find out which command it is supposed to run. The choices for these commands are: change the model parameters, retrain the model, refresh the train data, make a prediction, a combination of the above. For example, if one or more data points are provided containing the feature values and possibly a target value, the model knows that it needs to make a prediction using the data points and then compare it with the provided target value if one is provided. If with these data points the argument ‘retrain:true’ was also passed, the model will also retrain itself after it provides the prediction.

These expected durations allow us to create a helper flow in NodeRed that identifies if a thing has surpassed this duration at any given time and create delay events that are forwarded to the interested parties in semi-real time. This provides to the product owners and application developers a powerful tool of disaster handling in any production chain, saving them from costly throughput reductions. For example, if the chain manager is notified that many things are being delayed at a specific retail store, this means that the demand there has dropped recently, so both the product owner and the retail shop owner would benefit if they reduced the number of things flowing to that store. The store owner because she would not pay for unsold products and the product owner because he would not waste resources to send products to a dead end.

For more information about the exact specifications and design check our GitHub page.

To view or add a comment, sign in

Others also viewed

Explore content categories