Procurement Optimiser (PO)

General Description

The optimization of materials and components procurement using AI applications is an important aspect of industrial production planning. The use of AI can help consider multiple factors and variables to generate an optimized Materials Requirements Planning (MRP). Here’s an overview of the approach and tools involved:

  1. AI Applications for Materials and Components Procurement:

    • AI algorithms will be employed to consider various sources of materials, global plant production capacity, delivery times, lot capacity, scale prices, energy consumption, stocks, and other relevant factors.

    • These applications will aim to generate an MRP that meets customer delivery dates while minimizing raw and final product stocks.

  2. Fast Calculation and Daily Updates:

    • The AI applications will perform calculations in short periods of time to keep the materials plan updated daily.

    • This enables quick reactions and increased resiliency to unexpected changes in industrial production plans.

  3. FACOP Framework for Combinatorial Optimization Problems:

  • The existing FACOP framework will be utilized as a central tool for optimizing the MRP.

  • FACOP follows a modular approach, where an optimization problem is disaggregated into different components, and combinations of these components are used to solve various optimization problems.

  • The framework provides flexibility, reusability of compatible components, and efficient development of new components.

  1. Development of MRP Calculation Components:

    • Within the FACOP framework, a series of components will be developed specifically for MRP calculation.

    • These components will handle the integration of multiple data sources, consider various constraints and objectives, and generate an optimized MRP plan.

In summary, AI applications will be utilized to optimize materials and components procurement by considering multiple factors. The FACOP framework will serve as the foundation for the optimization process, allowing the development of specific components for MRP calculation. This approach enables efficient and flexible development, as well as the reuse of compatible components to solve different optimization problems.

Usage Viewpoint

Use Model

AI-PO_UseCase.drawio.png

Description

The MRP calculation process for materials and components procurement involves multiple steps and interactions between various stakeholders. Here’s a breakdown of the process:

  1. Initiation and Information Gathering:

    • The process is initiated by the purchasing manager, who provides the necessary input and parameters for the MRP calculation.

    • The solution collects the current stock status, including future arrivals of purchased products and remanufactured products.

    • The sales manager provides information on known demand with delivery dates and forecasts of future demand.

  2. Deriving Production Requirements:

    • Based on the stock status and demand information, the solution calculates the production requirements with corresponding delivery dates.

    • It considers factors such as lead time, procurement windows, and quantities that can be delivered by each supplier.

  3. Supplier Selection and Optimization:

    • The solution has access to a list of suppliers, including their procurement time and quantity capabilities.

    • It can also incorporate offers for bulk purchases from suppliers.

    • Using optimization techniques, the solution selects the best suppliers for each required product or considers remanufactured products from the stock.

    • The optimization objective is defined by the purchasing manager, which could be minimizing costs, maximizing efficiency, or other relevant criteria.

  4. Handling Unexpected Events:

    • If unexpected events occur, such as delayed product arrivals, changes in demand, or new supplier offers, the solution adjusts the MRP calculation accordingly.

    • It recalculates the MRP based on the updated information and sends the revised purchasing needs and supplier selection to the purchasing manager.

Throughout the process, the solution iteratively updates the MRP based on the changing conditions and inputs. This ensures that the purchasing manager receives the most up-to-date information and can make informed decisions regarding materials and components procurement.

Dashboard

Dashboard.png

Data Import

DataImport.png

Current Plan

CurrentPlan_V1.png

Data Export

ExportScreen.png

Usage activity diagram

The following image depicts the pilot actors as roles and how they interact with different tasks and functions for the main activity in the AIPO solution. This is intended to facilitate understanding the different functionalities and the flow of interactions to generate a new optimized purchases plan. The two pilots in AIPO are very similar, the main difference is the possibility of parsing emails as an input, which is only available as optional in the D2TECH pilot.

AI-PO_Usage-Activity.png

Functional Viewpoint

Functional diagram

AI-PO_FCD-Copia de AI-PO.drawio (3).png

Functional description

  • What: This component main feature is to calculate and update the material requirement planning having into account different providers bulk sales prices and delivery times. Also, this MRP will be calculated and updated having into account the use and arrival of refactored material and parts.

  • Who: Sales manager. Storage manager. Purchases Manager

  • Where: Edge of the machine.

  • Why: One of the most relevant objective referents to this project is the use of refactored or refurbished materials as part of the manufacturing chain and de capability of generate an MRP optimized for different objectives (like, accomplish all delivery dates or select the cheapest provider).

Input and output data for each component

Import Data

  • Inputs:

    • Bom – Build of Materials. A list of components (or possible components) for each product.

    • Providers Data – A list of providers including name, delivery window, delivery quantity in a delivery window, prices and bulk prices.

    • Stock information – Information of all material present in stock including refactored material.

    • Stock updates – all updates in stock, including arrivals and stock decreases.

    • Product demand – Products that need to be manufactured with delivery times. This also can include demand forecasting

  • Outputs:

    • Data ready to use

Data Validation

  • Inputs:

    • The type of data depends on the origin, as it can be directly from one or several databases (depending on the pilot) or from other data sources. For example, product arrival updates can come from an existing warehouse system or from the ERP. Also, we can have a data collection system that validates and converts everything into the same format, usually JSON.

  • Outputs:

    • Validated data: validated input data and a list of errors detected in original data.

Compose MRP algorithm

  • Inputs:

    • Algorithm configuration including components, objective selection, execution time, etc.

  • Outputs:

    • Configured algorithm: Algorithm ready to calculate MRP. The algorithm components, parameters, objective selection, execution time, etc depends on configuration input.

Calculate new MRP

  • Inputs:

    • Validated data and configured algorithm.

  • Outputs:

    • MRP – Material Requirement Plan. Is a list of material to be use in the next production time window. This includes material in stock, refactored material in stock, also materials and refactored material arrivals (in the time window of the plan). The plan also includes purchase orders including quantity, provider and delivery (arrival) date.

  • Inputs:

    • MRP calculated by the algorithm in raw algorithm format.

  • Outputs:

    • The data format can vary depending on the systems and software present at each pilot. We could write the result directly to a database (by means of standard database connectors) or we can use standard JSON to export data to a middleware software in charge of validate and distribute the results.

Hardware requirements

Hardware Element

Importance and Explanation

Data of Element

Database Server

The pilots (Multiscan/D2TECH) will have a database in a server with internet connection.

N/A

AI-PO Server

All the software related to the optimizer will be on a server with an Internet connection.

N/A

Software requirements

Software Component

Description/Role

Required Version/Configuration

Dependencies

Database

Microsoft SQL Server

Unknown

No

Windows

Windows

11

Sequence diagram

AI-PO_Lifecycle.png

This sequence diagram illustrates the interactions between User, Frontend, Backend, Database and Optimizer modules. The main actions illustrated include the login in the AIDEAS platform, the input of new data into the system, the connection with the database, the transformations of data required for optimization, the user request of a new plan, the optimization process and the storage and display of a new plan.

Objects

  1. User: Represents the user interacting with the application.

  2. Frontend: Represents the user interface and the presentation layer for the AIDEAS solution.

  3. Backend bridge: Represents the application logic and the server layer. This module controls the flow of data, transforms the data, and contains all the application logic except the optimization process.

  4. Database (DDBB): Represents the data layer.

  5. Optimizer: This application module generates the optimized procurement plans.

Implementation Viewpoint

Description of implementation Component:

AI-PO will receive data from multiple sources, like ERP direct connections by API calls, SQL databases and non-SQL databases like SQL Server, Oracle, MongoDB, etc. Also, other sources of data will be considered as excel files, csv files, json messages, etc. The source and format of data will depend on the pilot, but the solution will provide at least standard data connectivity to SQL databases and methods to manage information using json formatted messages.

Calculation of MRP and provider selection will require up to date information. From the BoM to real time stock updates, the information will come from different sources. As mentioned in the usage point of view subsection the information necessary to calculate the MRP should also include known demand, demand forecasting, providers delivery capacities (in time and quantity) and providers prices and bulk prices.

AI-PO application is designed to work as standalone service, connected to different systems and software present inside the plant. The application will also provide standard security by requiring authenticated connections through JWT. Connection to and from AI-PO solution will be made through API calls.

Software requirements

AI-PO solution requires .net runtimes to work and provides connection by means of an API, if necessary, it also can provide gRPC connection, this should be studied on each pilot. Initially only API access will be developed.

AI-PO will be delivered in a docker container already configured to run. Because of this docker the infrastructure to run docker containers is required to be present in the implantation place.

Technical Description of its Components:

  • Dependencies:

    • Development Language: .NET, C#

    • Libraries: .net runtime, email parser

    • Container: Docker

    • Database need: depending on pilot, SQL Server or similar

  • Interfaces:

    • User Interface: Depending on pilot, REACT or similar.

    • Synchronous/Asynchronous Interface: RESTful APIs.

    • Network/Protocols: HTTP/HTTPS.

    • Data Repository: SQL Server or similar (eg MariaDB or PostGres).

  • Requires:

    • Other AIDEAS Solutions: none

Solution architecture

AI-PO_Architecture.png

The procurement optimization (PO) component of the solution leverages the FACOP framework, which consists of a series of optimization libraries developed at ITI. These libraries are designed for heuristics and meta-heuristics and are primarily implemented in C#. In this project, specific MRP calculation libraries will be developed and integrated into the FACOP components.

The .NET framework is chosen for its performance, reliability, and widespread usage in various types of software, including industrial applications. The libraries used in FACOP and PO are either part of the .NET framework or have been developed specifically for FACOP.

To enhance flexibility, stability, and scalability, the PO solution will be configured to work within a Docker container. Docker allows for easy deployment and management of the solution across different environments.

A user interface will be developed using REACT or a similar platform, providing a common interface that can be adapted based on the specific requirements of each pilot. In some cases, the PO solution may not require a user interface as the results can be exported directly to existing tools such as ERP systems used in the pilot.

The connection between the PO solution and the environment will be established through a RESTful API, using the HTTPS protocol. This API enables seamless communication and integration between the solution and other systems or tools in the environment.