A bilinear programming formulation of the 3-dimensional assignment problem