Master-Subproblem Communication Patterns
Once a large problem has been decomposed into a coordinating master problem and one or more smaller subproblems, the algorithm must specify what information is exchanged between them. This lesson introduces the general master-subproblem loop, the two main communication patterns (price-directive and resource-directive), and the termination conditions used in each.
Tutorial
The Master-Subproblem Loop
A decomposition algorithm splits a large problem into a coordinating master problem and several smaller subproblems — one per block. The master and the subproblems exchange information through a single structured channel.
- The master sends each subproblem a signal .
- Each subproblem solves its block (parameterized by ) and returns a reply .
The algorithm proceeds in rounds:
At each round the master inspects the replies, decides whether to terminate, and otherwise updates its signals before the next round.
A key point: subproblems never communicate with each other directly. All coordination flows through the master. This isolation is exactly what allows the subproblems to be solved in parallel.
For instance, a hospital network has three clinics and a central office that allocates the daily nursing budget. The central office (master) sends each clinic a budget , and each clinic (subproblem) returns the number of patients it can serve under that budget. If and the clinics reply , the central office records that the network served patients.