In this study, we consider an Assemble-to-Order (ATO) system with multiple components, common machines, and multiple customer classes. We first identify the research problems related to all the above-mentioned system features. Thereafter, as the solution methodology, we propose different policies for the described problems. We develop a simulation model of the system and benefit from Genetic Algorithm (GA) metaheuristic that finds near-optimal solutions for inventory control and rationing policies. The simulation model of a quite general ATO system that is integrated with a Genetic algorithm provides solutions for several real-life ATO practices.