  We present an algorithm that enumerates all the minimal triangulations of a
graph in incremental polynomial time. Consequently, we get an algorithm for
enumerating all the proper tree decompositions, in incremental polynomial time,
where "proper" means that the tree decomposition cannot be improved by removing
or splitting a bag. The algorithm can incorporate any method for (ordinary,
single result) triangulation or tree decomposition, and can serve as an anytime
algorithm to improve such a method. We describe an extensive experimental study
of an implementation on real data from different fields. Our experiments show
that the algorithm improves upon central quality measures over the underlying
tree decompositions, and is able to produce a large number of high-quality
decompositions.
