Ratio-balanced maximum flows - Akrami, Hannaneh; Mehlhorn, Kurt; Odland, Tommy (Information processing letters, 2019)
•We consider a bipartite graph with securities on one side and accounts on the other side.•Each security has a value and each account has an exposure.•A security can be used for a subset of the accounts.•The goal is to distribute the securities over the accounts so as to balance the risk.•We show how to compute a ratio-balanced flow in polynomial time. When a loan is approved for a person or company, the bank is subject to credit risk; the risk that the lender defaults. To mitigate this risk, a bank will require some form of security, which will be collected if the lender defaults. Accounts can be secured by several securities and a security can be used for several accounts. The goal is to fractionally assign the securities to the accounts so as to balance the risk. This situation can be modeled by a bipartite graph. We have a set S of securities and a set A of accounts. Each security has a valuevi and each account has an exposureej. If a security i can be used to secure an account j, we have an edge from i to j. Let fij be the part of security i's value used to secure account j. We are searching for a maximum flow that sends at most vi units out of node i∈S and at most ej units into node j∈A. Then sj=ej−∑ifij is the unsecured part of account j and rj=sj/ej is the risk ratio of account j. Balancing the risk means to determine a maximum flow with the following property: if fij>0 and there is an edge from i to ℓ then rj≥rℓ. In particular, if fij>0 and fiℓ>0 then rj=rℓ. We give a polynomial time algorithm for finding such a maximum flow and also give an alternative characterization of the risk balancing maximum flow. It is the maximum flow minimizing ∑jrj2ej.