Consider a DAG such as one shown below:
How do I find a particular topological order of nodes, such that when the nodes are placed in a straight line, the maximum number of unique-edges that cross through any node is minimized. Unique edges are edges that originate from unique nodes. So, if two edges are originating from the same node, they are counted only once.
Imagine the nodes represent people standing in a line. The edges represent a book representing the message from person 1 to person 2. Each person receives stack of books consisting of either books for themselves, or books to be passed to someone downstream. If a book is meant for themselves and nobody needs it downstream, they simply remove the book from the stack. If someone else also needs the book, they simply copy the book and keep passing along the book. How do I find an arrangement that minimizes the total stack of books that any one person has to ever handle? Because, you know, a person can only carry a certain weight of book, and it is best to minimize this maximum weight of book that needs to be handled by any person.
What if the books originating from different people had different weights?
Any thoughts, hints or just pointer to related concepts would be appreciated. Thanks!