Solving the 3-D yard allocation problem for break bulk cargo via variable neighborhood search branching