Generative Design and Topological Optimization

Generative design is a computational design methodology that uses algorithms and computer simulations to generate design options based on specified criteria and constraints. The algorithm explores various design options, simulates their behavior and performance, and optimizes the design based on the desired goals and constraints. This approach can significantly speed up the design process and help generate unique, innovative, and optimized designs that would be difficult or impossible to achieve through traditional design methods. Below we can see the core idea of generative design (courtesy: EDS Technologies).

Topological optimization (topology optimization) is a specific type of generative design that focuses on finding the optimal distribution of material within a design to meet a set of performance criteria while minimizing material usage. The optimization algorithm calculates the stress, strain, and displacement fields within the design and adjusts the material distribution based on the results until an optimal balance between material usage and performance is reached. Topological optimization can be used in a variety of engineering fields, such as mechanical, aerospace, and architectural design, to create lightweight and efficient structures that would be difficult to achieve through traditional design methods. Below we can see the position of topological optimisation in the flow of generative design process (courtesy: EDS Technologies).

Mathematical Models in Generative Design

Generative design of mechanical components can utilize a variety of mathematical models, including:

  1. Finite Element Method (FEM): FEM is a numerical technique used to solve partial differential equations, which describe the behavior of a system. In generative design, FEM can be used to simulate the behavior and performance of generated designs and evaluate their compliance with specified criteria and constraints.
  2. Structural optimization: Structural optimization is a branch of engineering optimization that deals with the optimization of structures and mechanical systems. Generative design can be seen as a form of structural optimization, where algorithms are used to generate and optimize mechanical components based on specified criteria and constraints.
  3. Design sensitivity analysis: Design sensitivity analysis is used to calculate the change in the performance of a design as a result of small variations in design parameters. This information is used in generative design to determine which design parameters have the greatest impact on performance and to guide the optimization process.
  4. Multi-objective optimization: Multi-objective optimization is used to find a set of optimal solutions that satisfy multiple conflicting objectives. In generative design, this can be used to generate multiple designs that meet specified criteria and constraints, such as maximizing strength while minimizing weight.
  5. Nonlinear optimization: Nonlinear optimization is used to find the optimal solution to problems where the objective function and constraints are nonlinear. In the generative design of mechanical components, nonlinear optimization can be used to find the optimal design that meets specified criteria and constraints, taking into account the nonlinear behavior of materials and other physical phenomena.

Mathematical Models in Topological Optimization

Topological optimization is based on several mathematical models and concepts, including:

  1. Finite Element Method (FEM): FEM is a numerical technique used to solve partial differential equations, which describe the behavior of a system. In topological optimization, FEM is used to calculate the stress, strain, and displacement fields within a design.
  2. Structural optimization: Structural optimization is a branch of engineering optimization that deals with the optimization of structures and mechanical systems. Topological optimization is a type of structural optimization that focuses on the distribution of material within a design.
  3. Design sensitivity analysis: Design sensitivity analysis is used to calculate the change in the performance of a design as a result of small variations in design parameters. This information is used in topological optimization to determine which parts of the design can be removed or modified without affecting performance.
  4. Density-based methods: Density-based methods are used to represent the distribution of material within a design. These methods assign a density value to each element of the design, with higher density values representing regions of the design that are required to meet performance criteria, and lower density values representing regions that can be removed or modified.
  5. Convex optimization: Convex optimization is a mathematical technique used to find the optimal solution to a problem where the objective function and constraints are convex. Convex optimization is used in topological optimization to find the optimal distribution of material within a design.

The Process of Generative Design

Thus, we can say that generative design is an innovative design process that uses algorithms and computational tools to generate a wide variety of design solutions based on specific input criteria and constraints. Generative design has the potential to revolutionize the design process by offering a more efficient, optimized, and creative approach to problem-solving. It can help designers explore previously unconsidered possibilities, create unique and innovative solutions, and ultimately improve the overall design quality. The process typically involves the following steps:

  • Define design goals and constraints: The first step is to clearly define the design goals and constraints, such as functionality, aesthetic preferences, material requirements, manufacturing limitations, cost, and environmental impact.
  • Input parameters: Once the design goals and constraints are established, they are fed into the generative design software as input parameters. These inputs can include materials, dimensions, structural loads, manufacturing processes, and other relevant data.
  • Algorithmic exploration: The software then utilizes algorithms, often based on evolutionary or optimization techniques, to explore a vast design space and generate a multitude of design variations that satisfy the input criteria.
  • Evaluation and iteration: As the designs are generated, they are evaluated against the defined goals and constraints. The software may use machine learning, AI, and other optimization techniques to rank the design alternatives based on their performance against the specified criteria.
  • Refinement and selection: Based on the evaluations, the software refines and iterates on the designs, converging on a set of optimized solutions. The designer can then review these solutions and choose one or more that best meet their requirements.
  • Finalization and fabrication: Once a design is selected, it can be further refined, simulated, and validated to ensure it meets all the necessary requirements. Then, the final design can be used to create detailed drawings, 3D models, or even directly exported for fabrication through technologies like 3D printing or CNC machining.

Note: Some commercial tools for generative design are:

  • Autodesk Fusion 360: Autodesk Fusion 360 is a cloud-based CAD/CAM/CAE software that includes a generative design feature. It allows users to input design goals and constraints, then uses AI algorithms to explore various design solutions. However, it requires a subscription and software installation. You can learn more about it here: https://www.autodesk.com/products/fusion-360/overview#generative-design

  • Project Dreamcatcher: Project Dreamcatcher is an experimental generative design system developed by Autodesk Research. While it is not a standalone web application, it demonstrates the capabilities of AI in generative design. You can find more information here: https://www.autodesk.com/research/projects/project-dreamcatcher
  • nTopology: nTopology is a software platform for advanced manufacturing and engineering, offering tools for generative design, topology optimization, and lattice design. Although not a web app, it provides an intuitive interface for design exploration and optimization. More information can be found at: https://ntopology.com/

Artificial Intelligence in Generative Design

The use of AI in generative design expands the possibilities of optimization and decision-making by considering multiple factors simultaneously. Beyond structural optimization, AI can help designers and engineers make better decisions by taking into account various aspects such as manufacturing costs, time, environmental impact, ergonomics, and more. Here are some reasons why AI is essential in generative design:

  • Multi-objective optimization: AI can handle multiple objectives at once, enabling it to find design solutions that strike a balance between competing factors. For example, a design may need to be lightweight, strong, and cost-effective. AI can explore the design space more efficiently than manual approaches, helping to identify the best trade-offs between these objectives. Examples of AI models used for multi-objective optimization are:
    • Multi-objective evolutionary algorithms (MOEAs), such as NSGA-II, SPEA2, and MOEA/D.
    • Swarm intelligence algorithms, such as Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO).
    • Reinforcement learning (RL) algorithms, like Proximal Policy Optimization (PPO) or Deep Deterministic Policy Gradient (DDPG).
  • Handling complex constraints: AI can manage intricate constraints and requirements imposed by various stakeholders, including regulatory bodies, customers, or manufacturers. By incorporating these constraints into the generative design process, AI can help ensure the final design meets all the necessary criteria. Examples of AI models used for handling complex constraints are:
    • Constraint Satisfaction Problem (CSP) solvers, which can handle complex constraints and requirements.
    • Genetic algorithms and other evolutionary algorithms that incorporate constraint handling techniques, like penalty functions or feasibility rules.
  • Faster design exploration: AI algorithms can quickly explore and evaluate a vast number of design alternatives, significantly reducing the time required to arrive at an optimal solution. This acceleration can help companies bring products to market more quickly and respond to changing market demands. For the case of faster design exploration, representative AI models are:
    • Surrogate modeling techniques, such as Gaussian Process Regression (GPR) or Bayesian optimization, to create approximations of the design space and guide the search for optimal solutions.
    • Neural network-based autoencoders and variational autoencoders (VAEs) for dimensionality reduction and design space exploration.
  • Data-driven insights: AI can leverage vast amounts of data from various sources, such as historical design data, manufacturing process data, and real-world performance data. By learning from this data, AI can provide insights into design trends, material selection, and process optimization, leading to more informed design decisions. In this case we can name the following AI models:
    • Supervised learning algorithms, such as linear regression, support vector machines (SVMs), and deep learning models like convolutional neural networks (CNNs) or recurrent neural networks (RNNs), for predicting performance, material properties, or manufacturing parameters.
    • Unsupervised learning algorithms, like clustering or principal component analysis (PCA), for identifying patterns, trends, or relationships in the data.
  • Customization and personalization: AI can enable mass customization and personalization of products by tailoring designs to individual customer preferences, ergonomic requirements, or specific use cases. This level of customization can help companies differentiate their products and cater to niche markets. Here we can consider the following AI algorithms:
    • Generative models, such as Generative Adversarial Networks (GANs) or Variational Autoencoders (VAEs), for generating new designs or customizing existing ones.
    • Collaborative filtering or content-based filtering techniques in recommendation systems for personalized product suggestions.
  • Sustainability and environmental considerations: AI can optimize designs to minimize environmental impact by reducing material waste, energy consumption, or emissions during manufacturing and operation. By considering the entire product lifecycle, AI can help create more sustainable products and contribute to a circular economy. For this topic we can consider the following AI models:
    • Life Cycle Assessment (LCA) models combined with AI techniques (e.g., regression or decision trees) to estimate the environmental impact of designs.
    • Optimization algorithms that incorporate environmental objectives, such as minimizing waste, energy consumption, or emissions.
  • Improved decision-making: By providing detailed information on the implications of different design choices, AI can help designers and engineers make more informed decisions. This transparency can lead to better collaboration between teams and a more efficient design process. In this case we mention the following AI models:
    • Decision support systems using techniques like fuzzy logic, rule-based systems, or case-based reasoning to provide recommendations or insights based on various design alternatives.
    • Explainable AI (XAI) methods, such as LIME, SHAP, or counterfactual explanations, to provide transparency and interpretability of AI-driven design decisions.

With the above mentioned ideas, we can say that AI has become increasingly relevant in generative design due to its ability to process vast amounts of data and consider multiple factors concurrently. This capability empowers designers and engineers to make more informed decisions and develop better designs. The following points highlight the significance of AI in generative design:

  • Comprehensive design exploration: AI can explore a vast design space, evaluating numerous design alternatives and identifying innovative solutions that may not be apparent through traditional design approaches. By considering a wide range of possibilities, AI can uncover novel and efficient designs that improve performance, reduce costs, and meet various requirements.

  • Integrating domain knowledge: AI can incorporate domain-specific knowledge and expertise into the design process, ensuring that the generated designs adhere to industry standards, best practices, and manufacturing constraints. This integration of domain knowledge results in more practical and feasible design solutions that can be efficiently manufactured and implemented.
  • Collaborative design: AI can facilitate collaboration among multidisciplinary teams by providing a common platform for design exploration and decision-making. Designers, engineers, and other stakeholders can work together to define objectives, constraints, and preferences, and AI can synthesize this information to generate optimal solutions that address everyone’s concerns.
  • Adaptive design process: AI can adapt the design process to changing requirements, constraints, or objectives. By continually learning and updating its knowledge, AI can help designers and engineers navigate uncertainties and respond to evolving market demands, customer preferences, or technological advancements.
  • Holistic optimization: AI can optimize designs holistically, considering the entire product lifecycle from material selection and manufacturing processes to end-of-life disposal or recycling. This lifecycle perspective enables AI to identify sustainable and eco-friendly design solutions that minimize waste, reduce energy consumption, and lower the overall environmental impact.
  • Predictive capabilities: AI can predict the performance, cost, manufacturability, and other characteristics of a design before it is built, allowing designers and engineers to make data-driven decisions and avoid costly mistakes or redesigns. These predictive capabilities help reduce development time and increase overall design efficiency.
  • Democratizing design: AI-powered generative design tools can make complex design and optimization techniques more accessible to a broader audience, including small businesses, individual designers, and students. This democratization of design can spur innovation, increase competition, and drive the development of new products and technologies.

We see that AI is instrumental in generative design because it can address multiple factors simultaneously, adapt to changing requirements, and provide data-driven insights. By incorporating domain knowledge and considering the entire product lifecycle, AI helps create more innovative, efficient, and sustainable designs. Moreover, AI fosters collaboration among multidisciplinary teams, democratizes design, and empowers designers and engineers to make better-informed decisions.

Elementary Example with Python

Below I am going to present an elementary example of generative design, using Python and related libraries. I’ll present a basic example of using a genetic algorithm for generative design optimization of a simple mechanical component: a cantilever beam. The goal is to minimize the weight of the beam while maintaining its structural integrity under a given load. We’ll use the DEAP library, which provides tools for creating custom evolutionary algorithms.

Below are the results from running the code.

These terms represent the statistics for each generation in the genetic algorithm process:

  1. gen: The current generation number. It shows the progress of the genetic algorithm as it evolves the population over multiple generations.
  2. nevals: The number of evaluations performed in the current generation. This represents the number of times the fitness function was called to assess the individuals in the current generation.
  3. avg: The average fitness value for the individuals in the current generation. It provides an idea of how well the overall population is performing.
  4. min: The minimum (lowest) fitness value found among the individuals in the current generation. This represents the worst-performing individual in the generation.
  5. max: The maximum (highest) fitness value found among the individuals in the current generation. This represents the best-performing individual in the generation.

These values help you monitor the progress and performance of the genetic algorithm as it evolves the population over time. Typically, you’ll observe that the average, minimum, and maximum fitness values improve as the generations progress, indicating that the algorithm is finding better solutions.

The figure from the left side shows the fitness values’ progress across generations of the genetic algorithm. There are three lines in this figure:

  1. Minimum Fitness (blue line): This represents the minimum (worst) fitness value in each generation. You can observe how the worst-performing individuals in the population evolve and improve their fitness over generations.
  2. Average Fitness (green line): This shows the average fitness value of the individuals in each generation. It gives an overall sense of the population’s performance and how it is evolving over time.
  3. Maximum Fitness (red line): This represents the maximum (best) fitness value in each generation. This line shows the best-performing individuals’ progress and how the genetic algorithm finds better solutions over generations.

You see an improvement trend in the minimum, average, and maximum fitness values as the algorithm progresses. This indicates that the genetic algorithm is finding better solutions for the cantilever beam optimization problem over time.

The figure from the right side visualizes the optimized cantilever beam with its dimensions (height h and width b). The lenght is imposed by design (in this case the value is 10). The second figure shows the best solution found by the genetic algorithm for the given problem. This representation helps you understand the optimized design and its dimensions for the specific loading and constraint conditions provided.

——————

Credits: Stelian Brad