Integer Programming for the Assignment Problem
Interface to lp\_solve linear/integer programming system specifically for solving assignment problems
lp.assign (cost.mat, direction = "min", presolve = 0, compute.sens = 0)
cost.mat |
Matrix of costs: the ij-th element is the cost of assigning source i to destination j. |
direction |
Character vector, length 1, containing either "min" (the default) or "max" |
presolve |
Numeric: presolve? Default 0 (no); any non-zero value means "yes." Currently ignored. |
compute.sens |
Numeric: compute sensitivity? Default 0 (no); any non-zero value means "yes." In that case presolving is attempted. |
This is a particular integer programming problem. All the decision variables are assumed to be integers; each row has the constraint that its entries must add up to 1 (so that there is one 1 and the remaining entries are 0) and each column has the same constraint. This is assumed to be a minimization problem.
An lp
object. See documentation for details. The constraints
are assumed (each row adds to 1, each column adds to 1, and no others) and
are not returned.
Sam Buttrey, buttrey@nps.edu
assign.costs <- matrix (c(2, 7, 7, 2, 7, 7, 3, 2, 7, 2, 8, 10, 1, 9, 8, 2), 4, 4) ## Not run: > assign.costs [,1] [,2] [,3] [,4] [1,] 2 7 7 1 [2,] 7 7 2 9 [3,] 7 3 8 8 [4,] 2 2 10 2 ## End(Not run) lp.assign (assign.costs) ## Not run: Success: the objective function is 8 lp.assign (assign.costs)$solution ## Not run: [,1] [,2] [,3] [,4] [1,] 0 0 0 1 [2,] 0 0 1 0 [3,] 0 1 0 0 [4,] 1 0 0 0 ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.