Skip to Main Content
In many dynamic application domains, the environment changes during problem solving. A problem solver, in these applications, does not have complete information about the task and resources, a priori. The problem solver is required to use up-to-date information that becomes available on line. It must use this information to avoid producing solutions that are obsolete by the time they are to be executed. The problem solver has to be opportunistic, in order to take immediate advantage of resources that become available and remain available for a short period of time. How opportunistic the algorithm should be depends on the degree of dynamicity in the environment. In this paper, we propose an algorithm which performs problem solving on line in order to obtain new information about the availability of resources in the system. The proposed algorithm adjusts itself automatically to adapt to the degree of dynamicity in the environment. We introduce a model of dynamicity in a graph representation of a task. We provide theoretical and empirical analyses of our algorithm for a routing problem in the proposed dynamic model. Our theoretical analyses demonstrate the correctness and completeness properties of our algorithm. Results of our performance-comparison experiments show that the proposed algorithm performs as well as the best of the candidate algorithms under a wide range of experiment parameters. The results also show that the proposed algorithm is capable of automatically adapting to the degree of dynamicity in the environment.