We model a berth allocation, crane assignment and scheduling problem (BACASP).
We devise a MILP formulation for the problem and propose a decomposition algorithm.
Our method can deal with time-variant crane assignments and crane setup costs.
We investigate NP-completeness of the crane scheduling subproblem.
BACASP can be solved optimally for up to 60 vessels using our approach.