As computers get faster and networks grow larger, it is becoming apparent that simply building larger, faster
machines is not a panacea for all our computation problems. We use faster computers to solve larger problems, with more detailed models. We use larger networks to provide access to vast amounts of data that can be used to build better models or monitor ongoing processes. The questions of how detailed a model to use and how much data to collect remain critical to performance. Computer resources need to be allocated effectively and must adapt to specific problem instances. This observation holds for a broad range of applications from traditional operations research optimization problems to database accesses and dynamic network reconfiguration. The meta-level reasoning techniques I have developed in my thesis are applicable whenever computation can be traded for solution quality, or resource use can be traded for latency. For example, machine shop scheduling and logistics planning are areas where where my techniques are applicable and where small improvements in efficiency translate into significant financial advantages.