Fleet design optimisation from historical data using constraint programming and large neighbourhood search