Models and tabu search heuristics for the berth allocation problem