Daniel Locatelli logo
A minimal path network on the right, derived from a messy initial network on the left.

Network Optimization

Apps Kangaroo Physics
References Minimal path networks
Relative Neighborhood
Parametric Urban Models Based on Frei Otto’s Generative Form-Finding Processes
Parametricism: A New Global Style for Architecture and Urban Design
Steiner tree problem
Relative neighborhood graph
From edge bundling / wooly paths to surface between
ZHA Kartal Pendik Masterplan Breakdown
Parametric Urban Models Based on Frei Otto’s Generative Form-Finding Processes
Parametricism: A New Global Style for Architecture and Urban Design

Network Optimization in Computational Design

Network optimization is a critical area in computational design, focusing on creating efficient and cost-effective connections among a set of points. This field encompasses various methods and algorithms to solve problems in telecommunications, transportation, urban planning, and more. Among the key concepts in network optimization are Minimal Path Networks, the Steiner Tree Problem, and Relative Neighborhood Graphs.

Relative Neighborhood Graph (RNG)

Relative Neighborhood Graphs (RNGs) connect points based on their relative proximity, ensuring that an edge is drawn between two points if no other point is closer to both. This concept helps create sparse networks that emphasize local connections, which can then be used as a foundation for further optimization.

Animation of a Relative Neighborhood with four anchor points at the corners.

Shortest Path Networks

Also known as minimal path networks, they are fundamental in ensuring that a network connecting multiple points is as short as possible. In computational design, this is crucial for reducing material costs, energy consumption, and construction time. For instance, in urban planning, minimal path networks help design efficient roadways, pipelines, and utility networks, ensuring that all critical points are connected with minimal infrastructure.

Dijkstra's algorithm

Dijkstra's algorithm, developed by Edsger W. Dijkstra in 1956, is a method for finding the shortest paths between nodes in a graph. The algorithm initializes with all nodes set to an infinite distance except the starting node, iteratively visits unvisited nodes, and updates their tentative distances through the current node, marking nodes as visited once their shortest path is determined. This process continues until the shortest path to the destination node is found.

In computational design, Dijkstra's algorithm is pivotal for various applications. In urban planning and architecture, it determines optimal routes for transportation and emergency evacuations, and in network design, it optimizes data and utility distribution. Robotics utilize it for navigation and resource allocation, while game design employs it for AI pathfinding and level connectivity. Environmental design benefits from its use in creating accessible pathways in parks and ecological corridors, ensuring efficient and sustainable layouts.

A* algorithm

The A* search algorithm, developed in 1968 by Peter Hart, Nils Nilsson, and Bertram Raphael, is a pathfinding and graph traversal algorithm known for its efficiency and accuracy in finding the shortest path from a start node to a goal node. A* combines features of Dijkstra's algorithm and Greedy Best-First-Search by incorporating both the cost to reach a node and a heuristic estimate of the cost to reach the goal from that node. The algorithm uses a priority queue to explore nodes with the lowest estimated total cost first, ensuring that the most promising paths are evaluated earlier.

In computational design, A* is widely utilized for its effectiveness in various applications. Urban planners use it for optimal routing of pedestrian paths and emergency evacuation routes, enhancing connectivity and accessibility. In robotics and autonomous systems, A* enables efficient pathfinding and navigation, crucial for robots to avoid obstacles and reach destinations quickly. Game developers leverage A* for creating realistic AI behavior and dynamic level design, ensuring NPCs navigate game environments intelligently. Additionally, network design benefits from A* in optimizing data flow and infrastructure layout, while landscape architects use it to design efficient trails and pathways in parks, balancing accessibility and environmental conservation.

Medial Axis Route Network Graph

A medial axis route network graph, or medial axis transform (MAT), is a representation of a shape's central pathways or skeleton, where each point on the skeleton is equidistant from the shape's boundaries. This graph is composed of nodes representing significant points or junctions and edges that denote the optimal routes between these points within the shape. In computational design, particularly in urban planning, robotics, and game design, the medial axis is invaluable. It facilitates the design of efficient pedestrian pathways in urban environments, aids in optimal path planning for robots by identifying clear, obstacle-free routes, and enhances AI navigation in virtual environments by defining natural movement corridors. Additionally, in landscape architecture, the medial axis guides the creation of scenic trails and ecological corridors, promoting sustainable design practices that balance human use with environmental conservation efforts

Steiner Tree Problem

The Steiner Tree Problem extends the concept of minimal path networks by allowing the addition of intermediate points, known as Steiner points, to further reduce the total length of the network. This problem is particularly challenging due to its NP-hard nature, but various heuristic and approximation algorithms have been developed to find near-optimal solutions.

Wool-Thread Model or Wooly Paths

The wool-thread model, inspired by Frei Otto's work, emphasizes the organic optimization of structures or networks based on natural forces or flows. In computational design, this approach finds applications in urban design and architectural design.

You can check read some insights from Frei Otto on this topic in his book Occupying and Connecting.

A possible workflow

In computational design, these concepts are often used together to achieve optimal network designs:

  1. Starting with an RNG: Designers can begin with an RNG to establish a base network highlighting essential connections based on relative proximity.
  2. Applying Steiner Tree Solutions: By incorporating Steiner points, the initial network can be optimized further to minimize total length, which is particularly useful in complex designs where direct connections are not feasible.
  3. Refining to Minimal Path Networks: The resulting network from the Steiner Tree Problem can then be refined to ensure it meets practical constraints and requirements, achieving a minimal path network that is both efficient and cost-effective.

Conclusion

In computational design, network optimization plays a fundamental role in shaping the form and function of various systems and structures. It helps create efficient, cost-effective, and practical solutions in various fields, from urban planning and telecommunications to biological systems and social networks. Designers can create solutions that are not only efficient but also responsive to the complexities of the built environment.