We describe a class of problems motivated by numerous real-world applications where there is a collection of objects that have both a cost and a value, but where some of those objects depend upon other objects to obtain their full value. Applications include finding an optimal order for transferring files under threat of system failure, ordering sequences of actions by a heterogeneous team of agents or robots, picking an optimal set of products to store in a warehouse, selecting courses to take at a university, or picking what products to cut from production. We formalize the problem of representing objects and their dependence relationships as a directed acyclic graph (DAG). We define simple formulae for calculating the utility of both sets and sequences of graph vertices. We motivate, using real-world examples, a taxonomy of problems associated with the model we present. We also prove that two variants of problems associated with our formalism are NP-hard, and present an efficient a...
David L. Roberts, Charles L. Isbell, Michael L. Li