Data warehousing is a software infrastructure which supports OLAP applications by providing a collection of tools which allow data extraction and cleaning, data integration and aggregation, and data organization into multidimensional structures which are suitable for decision making. At the design level, a data warehouse is defined as a hierarchy of view expressions. One key problem of the design of a data warehouse is the selection of a set of views to materialize in order to meet the performance requirements, that is, to minimize both the evaluation cost of the users queries and the maintenance cost of the materialized expressions. Existing approaches either propose algorithms that explore the search space by enumerating and evaluating all the possible solutions, or introduce heuristics that restrict the search space. In this paper, we propose a framework to support the physical design of a data warehouse; it is based on a logical model, called the view synthesis graph. A level of o...