This paper addresses a practical problem encountered in the oil industry, related to the supplying of general cargo to offshore rigs and production units. For a given route assigned to a supply vessel we seek to determine the optimal two-dimensional positioning of deck cargoes such that the overall profit is maximized, while ensuring that several safety and operational constraints are respected. In terms of mathematical modelling, the resulting problem can be seen as a rich variation of the two-dimensional knapsack problem, since some cargoes may wait for a later trip. Furthermore, given that the trip may serve many offshore units and that a substantial number of items must also return from these units, the problem becomes even more complex and can be viewed as a pickup and delivery allocation problem. We propose a probabilistic constructive procedure combined with a local search heuristic to solve this problem. We also report the results of computational experiments with randomly generated instances. These results evidence that our proposed heuristic can effectively help ship planners when dealing with such largescale allocation problems, with many operational constraints.