LCC/LCA/S-LCA

1. Product Description

1.1. Solution Overview

The task begins with analyzing the end-of-life scenarios of machines identified in the project pilots. At the end of their life cycle, products are no longer as uniform as when they were initially manufactured, making them more difficult to disassemble, sort, and separate automatically. These products often require manual inspection to assess their condition and determine the appropriate treatment based on damage or wear. This stage presents significant opportunities for AI to improve the infrastructure that supports material circulation in the economy. AI algorithms can play a crucial role by utilizing cameras and sensors to recognize and identify objects, facilitating the automation of disassembly and sorting processes.

Following this, the impact of different end-of-life scenarios is assessed from multiple perspectives, including cost (LCC), environmental impact (LCA), and social effects (S-LCA). AI algorithms model the disassembly and recycling processes, predicting the outcomes of each action by analyzing the probabilistic relationships between various stages of disassembly, sorting, and recycling. Using the insights gained from LCC, LCA, and S-LCA, the algorithms then create a multi-objective optimization strategy, balancing economic, social, and environmental factors.

A key component of this process involves developing a data-driven model capable of determining the most appropriate end-of-life scenario for each machine. This model takes into account factors such as energy consumption, safety levels, maintainability, productivity, and technological advancements. The task also focuses on the development of AI technologies related to visual recognition and machine learning, further enhancing the efficiency and effectiveness of the entire lifecycle management process.

Within the business context, the AI-LC solution serves as a valuable disassembly support tool. This system incorporates an artificial intelligence algorithm that assists operators during the disassembly phase. The algorithm relies on input data derived from a range of analyses, including Life Cycle Assessment (LCA), Life Cycle Costing (LCC), Social Life Cycle Assessment (S-LCA), and the product’s bill of materials (BOM).

Prior to initiating the processing, the disassembly process operator conducts the necessary analyses and uploads the corresponding data into the AI-LC system. Once logged in with their personal account (provided by the administrator), the operator awaits the algorithm to perform its analysis. The algorithm then generates an optimal sequence for the efficient and effective disassembly of all product components.

By leveraging AI capabilities, the AI-LC solution streamlines the disassembly process, enabling operators to make informed decisions and optimize the overall efficiency of disassembly operations.

1.2. Prerequisites

• Minimum Hardware Requirements

  • Processor: Intel(R) Core(TM) i7 10gen

  • Installed RAM: 16 GB

  • System Type: 64-bit Operating System, x64-based processor, WIN10

• Software Requirements

• External Dependencies

  • No dependence on external applications.

2. Installation

2.1. Environment Preparation

Ensure that all dependencies, including Docker, Python, and npm, are installed. Clone the repository from the official GitLab project and configure the backend and frontend environments as needed.

2.2. Step-by-Step Installation Process

  • Manual Installation: Requires configuring backend and frontend, installing dependencies, and launching services manually.

  • Docker Installation: Uses a docker-compose.yml file to deploy the application.

  • Kubernetes Installation: Not fully developped - under development.

Manual Installation

Make sure you have Python 3.11 (or later), Node.js, and npm installed. You can verify the installation by running the following commands:

  1. Check Versions:

python -V
node -v
npm -v
  1. Navigate to the “./subsystems/backend” subdirectory of the project:

cd <main directory>/subsystems/backend
  • Install the required Python libraries:

    pip install -r requirements.txt
    
  • Start Python:

    python Endpoint_API.py
    
  1. Navigate to the “./subsystems/frontend” subdirectory of the project:

cd <main directory>/subsystems/frontend
  • Install the React libraries:

    npm install
    
  • Start the web server:

    npm run dev
    
  • The user interface will be accessible here: http://localhost:3000

Docker Installation

Make sure you have Docker and Docker Compose installed. You can verify the installation by running the following commands:

Check Docker Version

docker --version

Check Docker Compose Version

docker-compose --version

Steps to Install and Start the Containers

  1. Navigate to the “subsystems” subdirectory of the project (where docker-compose.yaml and .env are located):

    cd <main directory>/subsystems/
    
  2. Modify URLs and Ports:

  • If you need to change the backend URL and the ports for backend and frontend, you can modify the content of the .env files:

    • ./subsystems/.env (PYTHON_APP_PORT, REACT_APP_PORT)

    • ./subsystems/frontend/.env (REACT_APP_BACKEND_URL if you change the backend server)

  1. Build and Start the Containers:

  • To build the images and start the containers (frontend and backend), run:

    docker-compose -f docker-compose.yaml -p lc_dis up
    
  • This command performs the following actions:

    • --build: Builds the images for the services defined in their respective Dockerfiles (for both frontend and backend).

    • docker-compose up: Starts the containers based on the built images.

  1. Interact with the Containers:

  • To monitor the logs and check for any errors or issues, run:

    docker-compose logs
    
  • If you want to access the shell of one of the containers, run:

    docker exec -it <container_name> /bin/bash
    

    For example, to access the backend container:

    docker exec -it <backend_container_name> /bin/bash
    
  • To stop the containers, run:

    docker-compose down
    

3. Initial Configuration

3.1. First Steps

3.1.1 Login

Simulator manual settings

To access the solution, you need to log in by clicking the section in the upper right corner of the interface and entering your credentials. If your credentials are authorized, the panel will appear in the new version. Once logged in, you will be able to use all the updated features. You are now logged in!

Simulator manual settings

3.1.2 Interface Navigation

The following image showcases the dashboard of the AIDEAS LCA/LCC/SLC and Disassembler tools. The page displays a welcoming message and provides several interactive sections:

  • Documentation button for additional resources.
  • LCA/LCC/SLC for users of the LC tool.
  • DISS for users of the Disassembler tool.
  • Information section with solution-related details.
  • Contact Detail for support or in case of issues.

  • Simulator manual settings


    Clicking on the LCA/LCC/SLCA function will open the page shown in the next figure.

    Simulator manual settings


    The image displays a page for managing projects within a tool related to LCA/LCC/SLC.

  • Search previous projects: A section where users can search for past projects using filters like Project ID, Acronym, or Project Description. A results area displays the findings.
  • New project: A button to start a new project.
  • Project section: Displays the project’s acronym, description, and a graph section with a button to visualize or interact with graphs.
  • Save Project: A button for saving the project.
  • End of Life Strategy: A set of buttons and options related to calculating optimal values and showing solutions or routes, such as COST LCC, COST LCA, and categories related to LCC and SLCA.

  • The interface has a clean layout with sections for project management and decision-making options.
    3.1.2.1 Search previous projects

    The image displays the Search previous projects section, which allows the user to search for past or ongoing projects. This section includes:

  • Search fields: Options to filter the projects by Project ID, Acronym, or Project Description.
  • Results area: It lists projects that match the search criteria. In the image, two projects are shown as examples: PAMA project related to activities with the PAMA company, and TEST project for analyzing solution functionalities.
  • Clear button: A red "X" icon for removing projects from the database.
  • This section helps users quickly identify and access past or ongoing projects based on specific search criteria.

    Simulator manual settings

    3.1.2.2 New Project section

    The image shows a confirmation dialog box that appears when you click on "New Project". The dialog box is titled "localhost:3000 dice", indicating it is likely from a local development environment. The message asks, "Create new Project?" with two options:
  • OK: To confirm and proceed with creating a new project.
  • Annulla: To cancel and close the dialog without creating a new project.

  • Simulator manual settings

    Once the project has been created, it is possible to set the name and a short description of the project and save the results.

    Simulator manual settings


    3.1.2.3 The graph section

    The image shows a graphical representation of a project flow, likely created or edited within the tool. Referring to Test project as example, the graph consists of interconnected nodes:

  • C1: The starting node.
  • P1: Connected to C1 and branching into two child nodes C3 and C4.
  • C3 and C4: Each branching into further nodes P4 and P2, respectively.
  • P4 and P2: These nodes branch further, with P2 leading to nodes C5, C6, and C13.
  • Each node is represented with a circle and has associated symbols like +p (possibly representing a process or parameter) and +c (likely representing a condition or constraint). The Save Project button at the bottom allows the user to save the current graph. The graph represents a flow of connected components or steps in the project, where each node may represent an action, decision, or calculation step.

    Simulator manual settings

    The image shows a detailed view of a component within the project graph, labeled "Project - Component X". This interface allows the user to edit or view various properties of the selected component. The fields include:

    Simulator manual settings

    • CODE: A text field to enter the component's unique identifier (e.g., "c4").
    • WEIGHT: A field to specify the component's weight (default is 0).
    • COST: A field for entering the component's cost (default is 0).
    • LEVEL_ASSEMBLY: A field to define the assembly level (default is 0).
    • MAKE_OR_BUY: A dropdown or text field to indicate whether the component should be made in-house or bought.
    • MATERIAL: A field to specify the material of the component.
    • LABEL: A field to assign a label to the component.
    • DESCRIPTION: A text area for providing additional details or description of the component.

    At the bottom of the window, there are two buttons:

    • Close: To close the window without saving changes.
    • Save changes: To save any modifications made to the component.

    This interface allows the user to manage and configure components within the project, offering a clear view of their properties for easy editing.

    Similarly, the images show detailed views of processes within the project graph, labeled "Project - Process X". These interfaces allow the user to edit or view various properties of the selected process. The fields include:

    • CODE: A text field to enter the process's unique identifier (e.g., "p2").
    • LABEL: A field to assign a label to the process.
    • DESCRIPTION: A field to add a description for the process.

    LCC Section: This section includes editable fields for:

    • Desc1, Desc2, Desc3: Description fields for the LCC process (e.g., costs or other relevant details).
    • Notes: A field for additional notes related to the LCC.
    • + Button: Allows adding new input fields to expand the LCC details.

    LCA Section: This section includes editable fields for:

    • INPUT_FROM_TECHNOSPHERE: Input values from the technosphere.
    • EMISSIONS: Field for specifying emissions related to the process.
    • INPUT_FROM_NATURE: Input values from nature.
    • AMOUNT: The amount or quantity related to the process.

    S-LCA PROCESSES Section: This section includes fields for:

    • PROCESS_LOCATION: The location where the process occurs.
    • RISK_OPPORTUNITY_LEVEL: A field for evaluating risk and opportunity levels for the process.
    • DATA_CSO: A field to include data from the CSO (likely related to data sources or documentation).

    S-LCA SOCIAL IMPACTS Section: This section allows adding social impact data for the process with the following fields:

    • INPUT: Input values for the social impact analysis.
    • INPUT_LOCATION: The location where the social impact input comes from.
    • PSILCA_GEN_PROC: A field for selecting or inputting the generic process for the social impact assessment.
    • IMPACT_CAT_MRH: A field to specify the category of the social impact.
    • + Button: Allows adding additional social impact data.

    At the bottom of the window, there are two buttons:

    • Close: To close the window without saving changes.
    • Save changes: To save any modifications made to the process.

    This interface allows the user to manage and configure processes within the project, offering a clear view of their properties for easy editing.

    Simulator manual settings

    Simulator manual settings

    The image displays the "End of Life Strategy" section, which allows the user to identify the best strategy for reducing the impact of disassembly activities. This section includes several options:

    • Optimal values calculation: A button for calculating the optimal values that help in identifying the best approach to reduce the environmental impact during the disassembly process.
    • Show Solution: A button to display the recommended solution for reducing impact based on the calculated values.
    • Show Routes: A button to visualize the different routes or options available in the disassembly process, showing the best way to approach the end-of-life phase.

    The section also includes several key categories related to the strategies for disassembly:

    • COST LCC: Represents the cost analysis of the Life Cycle Costing (LCC) approach for disassembly activities.
    • COST LCA: Represents the cost analysis based on the Life Cycle Assessment (LCA) approach for the disassembly activities.
    • Simulator manual settings

    3.2. New project

    Below is tthe correct flow of activities, starting from the creation of a new project, through the creation of the graph and filling out the components and processes fields, to the calculation and analysis of the optimal solution.

    3.2.1 Workflow Description (Step-by-Step)

    • 1. Create a New Project:
      • Click on the "New Project" button to start a new project.
      • Provide the necessary project details such as Project ID, Acronym, and Description.
    • 2. Create the Graph:
      • After the project is created, use the graph creation tool to visualize and define the project structure.
      • Add components and processes to the graph.
      • Each component and process node can be defined and connected based on their relationships.
    • 3. Fill Out the Component Fields:
      • Click on the component nodes (e.g., "Component X") to open the editable fields.
      • Fill in the required fields such as CODE, WEIGHT, COST, LEVEL_ASSEMBLY, and MAKE_OR_BUY.
      • Also, specify the MATERIAL, LABEL, and DESCRIPTION for the component.
    • 4. Fill Out the Process Fields:
      • Click on the process nodes (e.g., "Process X") to edit the process details.
      • Fill in fields such as CODE, LABEL, and DESCRIPTION.
      • Complete the LCC (Life Cycle Cost) section, including Desc1, Desc2, and Desc3, as well as related cost and notes.
      • Provide LCA (Life Cycle Assessment) details such as INPUT_FROM_TECHNOSPHERE, EMISSIONS, and AMOUNT.
      • Complete the S-LCA (Social Life Cycle Assessment) section by filling out INPUT, INPUT_LOCATION, and PSILCA_GEN_PROC.
    • 5. Calculate the Optimal Values:
      • Use the "Optimal values calculation" button to calculate the optimal values for reducing the disassembly impact.
    • 6. View the Solution:
      • Click the "Show Solution" button to display the recommended solution based on the optimal values.
    • 7. Analyze the Routes:
      • Click on the "Show Routes" button to visualize the different routes available for the disassembly process.
    • 8. Review the Results:
      • Review the various categories such as COST LCC, COST LCA, COST SLCA, and the OPTIMAL CATEGORY results.
      • Consider the OPTIMAL OBJECTIVE FUNCTION to finalize the strategy for reducing impact and ensuring sustainability.

    3.2.2 The PAMA Use Cases

    The image represents a graph for the disassembly of the spindle head of a PAMA machine, used as an example for the tool's functionality. The graph is a hierarchical structure, with nodes representing different components and processes involved in the disassembly. It starts with the root node C1, branching out into several levels of processes (e.g., P9, P10, P11) and components (e.g., C2, C3, C4). Each node is expanded and connected to other nodes, indicating the steps or stages involved in the disassembly process. The graph visually organizes and links the disassembly tasks, allowing users to track and manage the entire process.

    Simulator manual settings

    3.2.2.1 The Processes fullfilling

    This section represents a detailed view of the process "P1.3" with the following fields:

    • CODE: A text field to enter the process's unique identifier (e.g., "P1.3").
    • LABEL: A field for assigning a label to the process.
    • DESCRIPTION: A field for providing additional details or a description of the process.

    LCC (Life Cycle Cost) Section:

    • h: Represents the number of hours required for the process (value is 1 hour in this case).
    • €/h: The cost per hour of the process (set to 25 € per hour).
    • kWh: Represents the energy consumed by the process (value is 10 kWh).
    • €/kWh: The cost per unit of energy consumed (set to 0.11 € per kWh).
    • Energy cost: The total energy cost for the process (calculated as 1.1 €).

    LCA (Life Cycle Assessment) Section:

    • INPUT_FROM_TECHNOSPHERE: Represents the input from the technosphere related to the process.
    • EMISSIONS: Represents the emissions produced during the process.
    • INPUT_FROM_NATURE: The energy input from nature (e.g., electricity).
    • AMOUNT: The amount of energy used in the process (10 kWh in this case).
    • UNIT: The unit of measurement for the amount of energy used (kWh).
    • CHARACTERIZATION_FACTOR: A factor used in the LCA calculation (0.457 in this case).
    • CO2_EQ: The equivalent CO2 emissions for this process (4.57 kg CO2).
    • DESC_IMPACT_SCORE: A field to record the impact score of the process based on the LCA analysis.

    Simulator manual settings

    3.2.2.2 The Component fullfilling - C5.2.1

    This section represents a detailed view of the component "C5.2.1" with the following fields:

    • CODE: A text field to input the unique identifier of the component (e.g., "C5.2.1").
    • WEIGHT: The weight of the component (11,960 grams).
    • COST: The cost of the component (set to 0 for this example).
    • LEVEL_ASSEMBLY: The assembly level of the component (3 in this case, indicating the complexity of the component).
    • MAKE_OR_BUY: A field indicating whether the component is made in-house ("m") or bought from an external supplier.
    • MATERIAL: The material used for the component (steel).
    • LABEL: A field for assigning a label to the component.
    • DESCRIPTION: A description of the component (e.g., "semi-disassembled head group").

    3.2.2.3 The End of Life Strategy Calculation

    Once the graph is filled and the optimal values are calculated, the user can move forward with executing the best solution as shown in the "End of Life Strategy" section.

    The image shows the results after the **Optimal values calculation** for the project. This section helps in identifying the best strategy to reduce the impact of disassembly activities, considering the following values:

    • Optimal values calculation: This button is used to trigger the calculation of optimal values for reducing the impact of the disassembly process. Once clicked, the tool evaluates and provides the optimal values for each category.
    • Show Solution: This button shows the recommended solution based on the optimal values that have been calculated. It provides the best path for minimizing the environmental and social impact.
    • Show Routes: This button displays the different routes or approaches for the disassembly process, indicating the best method to follow based on the calculations.

    Simulator manual settings

    Following the optimal values calculation, the tool displays the results in the form of the following categories:

    • COST LCC: The cost associated with the Life Cycle Costing (LCC) method. In this case, the cost is calculated as -41467.969.
    • COST LCA: The cost associated with the Life Cycle Assessment (LCA) method, shown as -40834792.184.
    • COST SLCA: The cost based on the Social Life Cycle Assessment (SLCA) method, calculated as 5.02.
    • OPTIMAL CATEGORY LCC: The optimal category identified using the LCC approach, with a value of 0.81.
    • OPTIMAL CATEGORY LCA: The optimal category for the LCA method, shown as 0.135.
    • OPTIMAL CATEGORY SLCA: The optimal category for the SLCA method, with a value of 0.81.
    • OPTIMAL OBJECTIVE FUNCTION: The overall optimal function for the project, minimizing all impacts and considered the most sustainable solution, calculated as -14.21.

    These values are used to evaluate and choose the most effective strategy for minimizing the disassembly impact. The tool displays these results to guide the user in identifying the optimal sequence and approach for the project.

    The next image represents the graphical view of the entire disassembly process, which is designed and filled in the tool. This graph consists of several components (denoted by boxes) connected by process flow arrows, representing the different stages and operations in the disassembly task.

    Simulator manual settings

    • The graph begins with the root node (e.g., C1) representing the start of the disassembly process.
    • Each subsequent node (e.g., P1, P2, etc.) represents a process or action in the disassembly workflow. These are connected hierarchically, with each level indicating a subsequent stage or part of the disassembly task.
    • Nodes contain symbols representing processes, such as C for components and P for process steps. These are all interconnected to form a complete sequence.
    • The structure of the graph allows the user to visualize and manage the relationships between different tasks, ensuring that each disassembly operation is performed in the correct order.

    The objects with the blue border represent the optimal sequence of activities with the least impact.

    4. General Queries

    4.1. Installation and Configuration Contact (If Service Provided)

    Provide details on how users can reach support if they need help with installation or configuration.

    4.2. Licensing and Support

    Explain the licensing terms and how users can obtain support, including available support channels.

    5. Appendices

    5.1. Glossary of Terms

    Define key terms and acronyms used within the documentation to help users understand technical language.

    5.2. API Documentation (if applicable)

    By default, the backend server runs on port 5010 and provides the following API endpoints. These can be accessed from the frontend interface or tested using tools like Postman or Python scripts.

    LCC/LCA/S-LCA

    1. Product Description

    1.1. Solution Overview

    Provide a brief overview of the solution, including its purpose, key features, and benefits. Explain how it addresses user needs or business requirements.

    1.2. Prerequisites

    • Hardware Requirements

    List the necessary hardware specifications required to run the solution effectively.

    • Software Requirements

    Specify the operating system and software dependencies that must be installed.

    • External Dependencies

    Mention any third-party services, libraries, or APIs needed for the solution.

    2. Installation

    2.1. Environment Preparation

    Describe the steps needed to prepare the environment before installation, such as setting up dependencies and configuring the system.

    2.2. Step-by-Step Installation Process

    Provide a clear, step-by-step guide to installing the solution, including any commands or configuration settings required.

    3. Initial Configuration

    3.1. First Steps

    • Login

    Explain how users can log in for the first time, including default credentials if applicable.

    • Interface Navigation

    Provide an overview of the interface layout, key menus, and where to find essential features.

    3.2. Main Workflows

    • Workflow Description (Step-by-Step)

    Detail the primary workflows within the solution, providing a step-by-step guide for users.

    • Examples or Use Cases

    Include real-world scenarios or case studies demonstrating how to use the solution effectively.

    4. General Queries

    4.1. Installation and Configuration Contact (If Service Provided)

    Provide details on how users can reach support if they need help with installation or configuration.

    4.2. Licensing and Support

    Explain the licensing terms and how users can obtain support, including available support channels.

    5. Appendices

    5.1. Glossary of Terms

    AIDEAS: AI Driven Industrial Equipment Product Life Cycle Boosting Agility, Sustainability and Resilience

    LCC: Life Cycle Cost
    LCA: Life Cycle Assessment
    S-LCA: Social Life Cycle Assessment

    5.2. API Documentation

    Provide API endpoint references, request formats, and example responses if the solution includes an API.

    By default, the backend server runs on port 5010 and provides the following API endpoints. These can be accessed from the frontend interface or tested using tools like Postman or Python scripts.

    Resource

    GET

    POST

    /getGraph

    Supported

    /getRoute

    Supported

    /getProjects

    Supported

    /getComponents

    Supported

    /getProcesses

    Supported

    /getProcessFull

    Supported

    /getSolution

    Supported

    /setProject

    Supported

    /updateProject

    Supported

    /setComponent

    Supported

    /setProcess

    Supported

    /setGraph

    Supported

    /delProject

    Supported

    /ajPyCmd

    Supported

    5.3. API Endpoints Description

    In the parameters for the following APIs, “pro” refers to the project ID and “code” refers to the alphanumeric project code.

    /getGraph

    • POST → This endpoint retrieves a graph related to a specific project, given an input parameter. The pro parameter must be provided in the request body as part of the form data. The endpoint returns the corresponding graph for that project.

    /getRoute

    • POST → This endpoint retrieves the best routes found by the algorithm for a specific project. The pro parameter must be provided in the request body to specify the project for which the best routes are retrieved. The response will contain the optimal routes computed by the algorithm.

    /getProjects

    • POST → Retrieves a list of projects from the database based on the provided parameters: pro, code, and desc. These can be passed in the request body. If no parameters are provided, it will return all projects.

    /getComponents

    • POST → This endpoint retrieves information about the components of a project. The pro and code parameters must be included in the request body to obtain the components for the corresponding project.

    /getProcesses

    • POST → Provides a list of processes for a given project. The pro and code parameters must be sent in the request body to specify the project and process code to retrieve.

    /getProcessFull

    • POST → Returns complete information about a specific process. The pro and code parameters must be included in the request body to identify the project and process code.

    /getSolution

    • POST → Retrieves the solution associated with a specific project. The pro parameter must be provided in the request body to obtain the solution for that project.

    /setProject

    • POST → Used to create or update a project in the database. The code and desc parameters must be sent in the request body to specify the project’s code and description. The response will confirm the success of the operation.

    /updateProject

    • POST → Allows updating an existing project in the database. The pro, code, and desc parameters are required in the request body to modify the details of a project.

    /setComponent

    • POST → Adds or updates a component for a project. Parameters related to the component (such as comp_code, comp_weight, comp_cost, etc.) must be included in the request body to specify the component’s details.

    /setGraph

    • POST → Sets a graph associated with a project. The pro and graph parameters must be provided in the request body to associate a graph with the specified project.

    /delProject

    • POST → Deletes a project from the database. The pro parameter must be provided in the request body to specify which project to delete.

    /ajPyCmd

    • POST → Starts the optimization algorithm in Python for the specified project. The results will be directly inserted into the database in the “solutions” table.

    5.3. Console Commands List (if applicable)

    List command-line instructions that users may need to operate or troubleshoot the solution.