Linear programming is an important method for computing solutions to private information problems. The method is applicable for arbitrary specifications of the references and technology. Unfortunately, as the cardinality of underlying sets increases the programs quickly become too large to compute. This paper demonstrates that moral-hazard problems have a structure that allows them to be computed using the Dantzig-Wolfe decomposition algorithm. This algorithm breaks the linear program into subproblems, greatly increasing the size of problems that may be practically computed. Connections to dynamic programming are discussed. Two examples are computed. Role of lotteries is discussed.