This paper proposes a new type of system reliability design problem, namely, the multi-type component assignment problem (MCAP). The MCAP is to assign more than one type of components to positions in a system with the objective of maximizing system reliability. Each type of components has multiple units, and a unit of a particular type can be assigned to a position of the same type in the system. We present the Birnbaum-importance based local search methods and the Birnbaum-importance based genetic algorithms for addressing the MCAP. The comprehensive numerical experiments are conducted for the Lin/Con/k/n:F(G) systems with multiple types of components and four cases of component reliability. The computational results demonstrate the efficiencies of the heuristics, highlighting the methods of dealing with multiple types of components. It shows that the Birnbaum importance in designing the algorithms is promising because of its effectiveness.