A computer-implemented method for designing an industrial product modeled with a binary tree, the binary tree including a plurality of optimal binary sub-trees, each of said optimal binary sub-trees comprising leaf nodes and non-leaf nodes, the leaf nodes representing basic volumes and the non-leaf modes representing binary commutative operations combining volumes, the method comprising the steps of: - performing a design operation triggering the adding or the removing of a leaf node of one said optimal binary sub-tree; and - idealizing the optimal binary sub-tree, i.e. modifying the optimal binary sub-tree while maintaining its optimality by minimizing the number of weak leaf nodes, a weak leaf node being a leaf node such that, when removed, the resulting binary tree is not optimal anymore, an optimal binary tree having an absolute value of the depth difference between any two leaf nodes equal to zero or one; said method comprising, when the design operation is the adding of a new leaf node, the steps of: o determining a path of nodes by traversing the optimal binary sub-tree, from its root node to an existing leaf node, by iteratively choosing the next node defining a sub-tree having the smallest number of leaf nodes; and o adding the new leaf node at the existing leaf node ending path said method comprising, when the design operation is the removing of a leaf node, the steps of: o determining as the non-optimal leaf node on the binary sub-tree, which is no longer optimal, the leaf node with the smallest depth; o determining, in the path from the non-optimal leaf node to the root node, the pivot node which is the first node whose sub-tree is non-optimal; o determining, in said non-optimal sub-tree of the pivot node, the V-sub-tree with the deepest depth, a V-sub-tree being a sub-tree having two leaf nodes; and o switching the non-optimal leaf node and the V-sub-tree. - performing a design operation triggering the adding or the removing of a leaf node of one said optimal binary sub-tree; and - idealizing the optimal binary sub-tree, i.e. modifying the optimal binary sub-tree while maintaining its optimality by minimizing the number of weak leaf nodes, a weak leaf node being a leaf node such that, when removed, the resulting binary tree is not optimal anymore, an optimal binary tree having an absolute value of the depth difference between any two leaf nodes equal to zero or one; o determining a path of nodes by traversing the optimal binary sub-tree, from its root node to an existing leaf node, by iteratively choosing the next node defining a sub-tree having the smallest number of leaf nodes; and o adding the new leaf node at the existing leaf node ending path o determining as the non-optimal leaf node on the binary sub-tree, which is no longer optimal, the leaf node with the smallest depth; o determining, in the path from the non-optimal leaf node to the root node, the pivot node which is the first node whose sub-tree is non-optimal; o determining, in said non-optimal sub-tree of the pivot node, the V-sub-tree with the deepest depth, a V-sub-tree being a sub-tree having two leaf nodes; and o switching the non-optimal leaf node and the V-sub-tree.