Optimizing Location and Length of Passing Sidings on Single-track Lines for Long Heavy-haul Freight Trains