Assignment Problem(3) - Steps to Solve using Branch and Bound
Example Assignment Problem
Steps in Solving
Solving the assignment problem with the branch and bound
algorithm involves a systematic exploration of all possible assignments, aiming
to find the least costly solution. Here are the general steps involved in
solving the assignment problem using branch and bound:
1. Formulate the Problem:
- Define the cost
matrix where each element c[i][j] represents the cost of assigning the i-th worker to the j-th job.
- Determine the
objective, typically to minimize the total cost of assignments.
2. Initial Lower Bound:
- Calculate an
initial lower bound for the entire problem. This can be done by summing the
minimum value from each row or each column of the cost matrix, depending on the
strategy.
3. Create the Root Node:
- Start with a root
node representing an empty assignment (no workers are yet assigned to any
jobs).
4. Branching:
- For the current
node, generate child nodes by considering all possible assignments of a worker
to different jobs.
- Each child node
represents a partial solution with one more worker assigned to a job.
5. Bounding:
- For each child
node, calculate a lower bound on the total cost that can be achieved if the
partial assignment at that node is expanded to a complete solution. This is
often done by reducing the cost matrix and calculating the cost of the cheapest
remaining assignment for each worker and job.
- Prune any
branches whose lower bounds exceed the cost of an already known solution.
6. Selection:
- Choose the next
node to explore. This can be the node with the lowest lower bound (best-first
search) or can be based on a depth-first or breadth-first strategy.
7. Pruning:
- If a node’s lower
bound is greater than the current best solution, prune that node and its
descendants.
- If a node
represents a complete assignment (all workers are assigned jobs), and its total
cost is lower than the current best solution, update the best solution.
8. Repetition:
- Repeat the
branching, bounding, selection, and pruning steps until all nodes have been
explored or pruned.
9. Optimal Solution:
- Once the
exploration is complete, the best solution found is the optimal solution to the
assignment problem.
10. Result:
- The result is a
complete assignment of workers to jobs with the minimum total cost.
Comments
Post a Comment