Presentation on theme: "The Assignment Problem ARE 511 – Construction Maintenance Modeling."— Presentation transcript:
The Assignment Problem ARE 511 – Construction Maintenance Modeling
The assignment problem refers to a special class of linear programming problems that involve determining the most efficient assignment of people to projects, salespeople to territories, contracts to bidders, jobs to machines, and so on. The stated objective is most often to minimize total costs or time of performing the tasks at hand. One important characteristic of assignment problems is that only one job (or worker) is assigned to one machine (or project). Although linear programming can be used to find the optimal solution to an assignment problem, a more efficient algorithm has been developed for this particular problem. This solution procedure, involving three basic steps which we will discuss shortly, is called the Hungarian method.
Each assignment problem has a table, or matrix, associated with it. Generally, the rows contain the objects or people we wish to assign and the columns comprise time tasks or things we want them assigned to. The numbers in the table will be the costs associated with costs associated with each particular assignment. For example, if a firm has three people available and three new projects to be completed, its table might appear as: The dollar entries represent the firms estimate of what it would cost for each person to complete each task.
The Hungarian method of solving problems involves adding and subtracting appropriate numbers in the table in order to find the lowest opportunity cost for each assignment. The Four steps are as follows: Step 1: Subtract the smallest number in each row from every number in that rowthen subtract the smallest number in each column from every number in that column. This step has the effect of reducing the numbers in the table until a series of zeros (meaning zero opportunity costs) appear. Even though the numbers have changed, this reduced problem is equivalent to the original one and the same solution will be optimal. Step 2: Draw the minimum number of vertical and horizontal straight lines necessary to cover all zeros in time table. If the number of lines equals either the number of rows or columns in this table, then an optimal assignment can be made (see step 4). If time number of lines is less than the number of rows or columns, we proceed to step 3.
Step 3: Subtract the smallest number not covered by a line from every other uncovered number. Also add this same smallest number to any number(s) lying at the intersection of any two lines. Return to step 2 and continue until an optimal assignment is possible. Step 4: Optimal assignments will always be at zero locations in the table. One systematic way of making a valid assignment is to first select a row or column that contains only one zero square. An assignment can be made to that square, and then lines drawn through its row and column. From the uncovered rows and columns, we again choose a row or column in which there is only one zero square. We make that assignment and continue that procedure above until each person or machine is assigned to one task.
Example 14.1 The cost table shown earlier in this unit is repeated below. We can find the minimum total cost assignment of the people to projects by applying steps 1 – 4.
Step 1: Using the previous table, subtract the smallest number in each row for every number in the row. Smallest uncovered number
Using the previous table, subtract the smallest number in each column form every number in the column.
Step 2: Draw the minimum number of straight lines needed to cover all zeros. Since two lines suffice, the solution is not optimal.
Step 3: Subtract the smallest uncovered number (2 in this table) from every other uncovered number and add it to numbers at the intersection of two lines.
Return to step 2: Cover all zeros with straight lies again. Since three lines are needed, an optimal assignment can be made. Assign: Adams to project 3 Brown to project 2 Cooper to project 1 Minimum cost: $6 + $10 + $9 = $25 Note: If Brown had been assigned to project 1, Cooper could not be assigned at a zero location
EXAMPLE 14.2 In a job-shop operation, four jobs may be performed on any of four machines. The hours required for each job on each machine are presented in the following table. The plant foreman would like to assign jobs so that total tune is minimized.
Step 1: Row subtractionColumn subtraction
Step 2: Minimum straight lines to cover zeros.
Step 3: Subtract smallest uncovered number from uncovered numbers. Add it to the numbers at intersection of two lines.
Return to step 2: Cover all zeros. Assignment can be made: Job A12 to machine WJob A15 to machine Z Job B2 to machine YJob B9 to machine X Time = = 50 hours
DUMMY ROWS AND COLUMNS The solution procedure for assignment problems just discussed requires that the number of rows in the table equal the number of columns. Often, however, the number of people or objects to be assigned does not equal the number of tasks or clients or machines listed in the columns. When this occurs and we have more rows than columns, we simply add a dummy column or task. If the number of tasks that needs to be done exceeds the number of people available, we add a dummy row. This creates a table of equal dimensions and allows us to solve the problem as before. Since the dummy task or person is really nonexistent, it is reasonable to enter zeros in its row or column as the cost or time estimate.
MAXIMIZATION PROBLEMS Some assignment problems are phrased in terms of maximizing the profit or effectiveness or payoff of an assignment of people to tasks or of jobs to machines. It is easy to obtain an equivalent minimization problem by converting every number in the table to an opportunity loss. This is brought about by subtracting every number in each column from the largest number in that column. It turns out that minimizing opportunity loss produces the same assignment solution as the original maximization problem