Optimize the Drawing of Circuit Diagrams
The results of this project will be uploaded here as a final report by mid-May 2025.
- Sponsored by: TecAlliance GmbH
- Project lead: Dr. Ricardo Acevedo Cabra
- Scientific lead: Olsi Vorfa, Dr. Robert Buch
- TUM co-mentor: Dr. Alessandro Scagliotti
- Term: Winter semester 2024
- Application deadline: Sunday 21.07.2024

About TecAlliance
For 30 years, we have been the world’s leading data specialist connecting the digital automotive aftermarket. We help our customers to sell more vehicle parts & make things easier with our data and solutions based on our globally leading data standards.
Our portfolio includes up-to-date vehicle and spare parts data, comprehensive repair and maintenance information, as well as integrated solutions and consulting services for digital order handling, fleet management, and market and data analysis in the automotive aftermarket. Our shareholders are among the largest global players in the automotive industry, providing not only experienced, expert, and solid leadership but also a strong customer base.
About the Project
Motivation: Our internal data production aims to generate high-quality, standardized wiring diagrams from multiple car data providers. We analyze and standardize the data from various providers into a unique format that encapsulates all visualized data.
Objectives: Develop an algorithm that generates well-structured wiring diagrams with minimal overlap and logically connected units placed adjacently. The algorithmic automation should be efficient enough to be viable for the business case.
Project Framework:
- Problem Definition: Define the problem in terms of a graph. Each component in your wiring diagram can be a node in the graph, and each connection can be an edge.
- Objective Function: Define an objective function that you want to minimize or maximize. This could be the total length of the wires (edges), the number of intersections, or any other metric that is important for your problem.
- Constraints: Define the constraints for your problem. For example, nodes (components) should not overlap, the intersection of edges (wires) should be minimized, etc.
- Representation of the Solution: Each solution can be represented as a list of coordinates for the nodes.
- Evolutionary Algorithm: Choose/develop an evolutionary algorithm (or other algorithms) to solve the optimization problem. Genetic Algorithms or Particle Swarm Optimization are commonly used for such problems.
- Evaluation: Evaluate the performance of your algorithm. This could involve running it on several different problems and comparing the results to those obtained with manual drawings or other algorithms. You could also define you own quality measures relevant to the current problem objectives.
Requirements for students
- Good background in Graph Theory, Optimization, Mathematical Modelling, and Evolutionary Algorithms
- Practical knowledge in Python, and Git.
- Familiar with data formats like SVG and JSON
Apply to this project here