# Bill of material based on characteristics

The composition of a product can be represented using a directed acyclic graph, called real structure, in which every node is an aggregation of its children nodes:

• The end nodes are individual components
• The intermediate nodes are partial assemblies
• The root node is the final product

The graph arcs show the quantities of child components required to create a single instance of the parent, whether the parent is a partial assembly or the final product. The graph representation can be more useful than a tree representation in cases where the same component type is used repeatedly in building different assemblies.

This graph type can also be applied to a production process, in which case it is known as an ideal structure graph, in which each node represents a process step:

• The leaves of the graph correspond to a single step of the production process
• The intermediate nodes represent a macro phase or a next step
• The root of the graph represents the entire process.
 Real structure Y3 = 1*X4 + 1*Y2,Y2 = 1*X3 + 2*Y1,Y1 = 3*X1 + 1*X2 Ideal structure Production steps sequence: A, B, C

It is possible to create a single structure that contains both the ideal (production steps), and the real one (components, assemblies), called technological structure: to the nodes of the ideal structure, known as idealnodes, there are links to the nodes of the real structure, called real nodes, used in the production step mapped by the ideal node. If the considered ideal node is a leaf of the ideal structure, it is linked to the entire real subgraph that expresses the composition of the real node used in its production step; otherwise it binds only the single real node used, while his components are linked to the ideal nodes of the subgraph which describes the production steps. On the arcs of the graph that connect a real node to an ideal node is indicated the quantity of the real node used in the ideal node mapped production step.

Technological structure
Step A) aggregates 1*X3 + 2*Y1; generates assembly Y2
Step B) aggregates 1*Y2 + 1*X4; generates assembly Y3
Step C) final product Y3

## Use of characteristics to configurate the BOM structure

The product variations can be expressed using characteristics (or features): every product variation is defined by a combination of these characteristic values. If the considered product can have several variations, it can be too expensive to define each one of these with a different bill of materials (BOM) structure. Using the technological structure and the characteristics, it is possible to define all the product variations in a single BOM structure simultaneously. It is sufficient to assign to the link between a real node and an ideal node, a characteristics based Boolean function, which we shall term the application function. The value of this function will be true only when the combination of the characteristic values corresponds to a product variation where the real node is used effectively.

Configured technological structure
Characteristics: a = {0, 1}
The real nodes X1, X2, X4,Y1 are common to each final products: Y3, Y5 (Application function always true)
The real nodes X3, Y2 are specific to the final product Y3
The real nodes X5, X6, Y4 are specific to the final product Y5

An example is given for the automotive industry,[1] where cars are configurated by customers or dealers. If features or options build an ideal Boolean algebra the link between the items in the BOM and the product configuration can be expressed by a Boolean expression, which refers to a subset of the product.[2]

Given a product variation, represented by a specific characteristics valorization, it is possible to dynamically obtain the BOM structure navigating the technological structure and selecting only the real nodes having a true application function. Furthermore, linking each selected assembly with the real nodes selected in his sub graph it is possible to dynamically build also the real structure.

It is similarly possible to obtain the composition of an assembly related to an ideal node: it is sufficient to visit the sub-graph having as root the ideal node itself, excluding the starting real node siblings, and selecting the real nodes which application function has a not empty intersection with the application function of the starting real node (i.e. it exists a characteristic values combination where the two functions are both true).

It is moreover possible, given a real node, to obtain all the assemblies it can belong to; if it belongs to a real structure, it navigates the structure in bottom-up direction: all the encountered real nodes are composed by the starting real node. Then, for each encounterd real node linked to an ideal node, it traces the application function f and visit in bottom-up direction the ideal structure: for each parent ideal node, all the real node related to it and having a not empty application function intersection with f (i.e. it exists a characteristic values combination where the two functions are both true) are then composed by the starting real node.

Example of the configured technological structure navigation having the characteristics a = 1