Market-Oriented Programming and its Application to Power Load Management

Market-oriented programming is a new approach to design and implementation of resource allocation mechanisms in computer systems. It has its roots in different disciplines, such as economics and computer science (in particular the area of multi-agent systems). This thesis is divided into two different parts, focusing on: 1) central foundations and mechanisms of market-oriented programming, and 2) the use of market-oriented programming in practical applications. Market-oriented programming is seen as a programming paradigm based on abstractions such as prices and demands. Concepts, terminology and theory from micro-economics form the foundations of the paradigm. Central aspects of these foundations are investigated and some new insights are presented. Furthermore, some relations between standard optimization/resource allocation approaches and markets are described, and novel theorems are introduced. A plethora of algorithms (some stemming from mathematical optimization and numerical analysis, and some new) for the main computational problem of market-oriented programming - the computation of general equilibrium - are described, analyzed and compared. Some issues of self-interested agents in market-oriented programming are also investigated. A published, and generally recognized, market-oriented approach to the application building climate control is analyzed in some detail. A new approach to this application, based on market-oriented programming, is introduced and shown to be superior to the analyzed approach in many ways. The case study pinpoints a number of potential pitfalls as well as advantages of market-oriented approaches to this and other applications. A second investigated application is power load management, i.e. the management of loads at the customers' side for obtaining more efficient energy systems management. The basis of the application is described and a new market-oriented approach is introduced and analyzed. The approach is shown to have a number of advantages compared to existing approaches to this problem. The main conclusion of the thesis is that there are some potential pitfalls of market-oriented programming, but when used with care it provides a highly natural and efficient means for resource allocation in computer systems.