A Computational Approach to Organizational Structure
An organizational structure defines how an organization arranges and manages its individuals. Because individuals in an organization take time to both perform tasks and communicate, organizational structure must take both computation and communication into account. Sociologists have studied organizational structure from an empirical perspective for decades, but their work has been limited by small sample sizes. By contrast, we study organizational structure from a computational and theoretical perspective. Specifically, we introduce a model of organizations that involves both computation and communication, and captures the spirit of past sociology experiments. In our model, each node in a graph starts with a token, and at any time can either perform computation to merge two tokens in t_c time, or perform communication by sending a token to a neighbor in t_m time. We study how to schedule computations and communications so as to merge all tokens as quickly as possible. As our first result, we give a polynomial-time algorithm that optimally solves this problem on a complete graph. This result characterizes the optimal graph structure---the edges used for communication in the optimal schedule---and therefore informs the optimal design of large-scale organizations. Moreover, since pre-existing organizations may want to optimize their workflow, we also study this problem on arbitrary graphs. We demonstrate that our problem on arbitrary graphs is not only NP-hard but also hard to approximate within a multiplicative 1.5 factor. Finally, we give an O( n ·OPT/t_m)-approximation algorithm for our problem on arbitrary graphs.
READ FULL TEXT