Search code examples
optimizationgraph-theoryhungarian-algorithmassignment-problem

What is the optimal solution for minimum cost storage assignment optimisation problem?


I have been trying to find a solution for the following assignment problem:

  • There are "S" storage rooms. Each storage room, "s", has a capacity "Cs".
  • There are "P" packages. Each package, "p", has a size "Zp"
  • The cost to store a package "p" in a storage room "s" is "Tps"
  • One storage room can take multiple packages,as long as their total size don't exceed the room's capacity "Cs".
  • One package can't be split among multiple storage rooms.

The problem is to assign the packages to the storage room so as to minimise the total cost.

My thoughts:

  • I have made a cost matrix.
  • I have thought maybe it might be solved using the Hungarian algorithm. I think it is not applicable because there is an upper limit for the storage room capacity
  • I thought maybe it can be treated as a transportation optimisation problem. I think it is not applicable because the package can't be split among several storage rooms.

Solution

  • A Mixed-Integer Programming model can look like:

     min sum((p,s),T[p,s]*x[p,s])
     sum(p, Z[p]*x[p,s]) <= C[s]    ∀s
     sum(s, x[p,s]) = 1             ∀p
     x[p,s] ∈ {0,1}
    

    This can be solved with any MIP solver. These assignment models tend to be fairly easy to solve.