Optimal truck scheduling in a container terminal by using a Truck Appointment System