Branch And Bound Algorithm Analysis For Solving Job Assignment Problems

: The Branch & Bound algorithm is a method commonly used to solve optimization problems. Some examples of problems that the Branch & Bound algorithm can solve are Knapsack Problems, Traveling Salesman Problems, Scheduling Problems and many other optimization problems. Job Assignment Problem is one of the optimization problems of how to do n people doing n jobs where one person does one job. This paper will analyze the Branch and Bound Algorithm in solving Job Assignments Problem.


Introduction
The Branch & Bound algorithm is a method commonly used to solve optimization problems.Many problems can be solved using these two methods.Some examples of problems that the Branch & Bound algorithm can solve are Knapsack Problems, Traveling Salesman Problems, Scheduling Problems and many other optimization problems.
The Branch and Bound algorithm is an algorithm that uses a state space tree to solve a problem, in this case it is similar to the backtracking algorithm.Job Job Assignment Problem is one of the fundamental combinatorial optimization problems.In its most common form.Examples of problems have a number of people and a number of jobs.Each person can be assigned to do any job, which has different costs depending on the job.The goal is to do as many jobs as possible by assigning one person to each job and one job per person, in such a way that the total cost is minimized.
There are many methods that can be used to solve Job Assignment Problems.This paper will analyze the Branch and Bound Algorithm in solving Job Assignments Problem.

Job Assignment Problem
Job Assignment Problem is a problem regarding the placement of an individual (object) in carrying out a task (job) where exactly one person corresponds to exactly one job according to that person's ability level.Assigning tasks for each individual results in different costs.For example, person P if doing job 1 requires a cost (cost) of c (P, 1), person Q if doing job 2 requires a cost (cost) of c (Q, 2), and so on.So that a job mapping is formed for each person in each job and the costs.
Suppose there are 4 people with 4 jobs, it will produce 3! Or 6 possibilities.From the results of the mapping, there will be the minimum cost.Therefore we need an algorithm that can solve complex problems such as Job Assignment Problems.

Branch and Bound Algorithm
The Branch and Bound (B&B) algorithm is a method or method of systematically searching the solution space.In this case the solution space will be organized into a status space tree.The formation of a status space tree in this algorithm is built with a broad search scheme or Breadth First Search which is abbreviated as BFS.However, the difference is that the expanded node is not based on the order of generation, but the node that has the smallest "cost" value among other lifecycle nodes.
Each node has a "cost" value, which is the estimated value or the estimated path of the smallest cost from the node to the destination node (goal node), and can be expressed in general terms as follows: where ĉ (i) = value for node i ƒ (i) = value reaches vertex i from root ĝ (i) = value reaching the destination node from the vertex.
The way the B&B algorithm works is based on the following two principles.1. Recursively divide the status space into smaller spaces and minimize "costs" on these spaces.This process is called branching.
2. Branching will be equivalent to brute-force enumeration.To improve performance, bound is used to limit the space in the status that is generated, eliminating candidate solutions that are proven to not contain optimal solutions.
As the name implies, this algorithm has a bound or limiting function.This constraint function is useful for delimiting paths that are considered not leading to a solution node.

Testing Scenarios
The job assignment problem testing will be carried out in one example of the following cases, namely there are 4 jobs and 4 people, each of which has a cost as in table 1.

Result and Analysis
Solving Job Assignment Problems using Branch and Bound is done by determining the lower limit by adding the minimum cost of each row in table 1.The result can be seen in table 2.

Conclusion
The use of branch and bound results in a shorter solution because the branch and bound algorithm performs calculations recursively, while still calculating the best value, that is what is known as branching.In addition, the best value is recorded for each calculation, so that it can improve the performance of the algorithm, what is known as bounding.

Table 1
Job Assignment Problem matrix (4 jobs and 4 people)