We consider a multi-period order selection problem in flexible manufacturing systems, which is the problem of selecting orders to be produced in each period during the upcoming planning horizon with the objective of minimising earliness and tardiness costs and subcontracting costs. The earliness and tardiness costs are incurred if an order is not finished on time, while subcontracting cost is incurred if an order is not selected within the planning horizon (and must be subcontracted) due to processing time capacity or tool magazine capacity. This problem is formulated as a 0-1 integer program which can be transformed into a generalised assignment problem. To solve the problem, a heuristic algorithm is developed using a Lagrangian relaxation technique. Effectiveness of the algorithm is tested on randomly generated problems and results are reported.