The present thesis develops a new model for redundancy allocation problem. Most of previous studies have been based on the assumption that the redundancy strategy for each subsystem is fixed and predefined and that only one and the same redundancy strategy (either active or standby) may be employed. It is, however, true that both active and standby redundancies may be simultaneously invoked to improve upon system reliability. This rise to more realistic and flexible models. This thesis presents a novel model in which the redundancy strategy is considered to be a decision variable and any of the strategies (active, standby, or mixed) may be selected for each subsystem. As well as, the component mixing is allowed in each subsystem. In other words, two or more types of components may be used in each subsystem. So, there is no restriction on the number of active and standby components in component selection in any subsystem (as in active strategy no component can be standby or in standby strategy only one component can be active) and also there is no restriction on choosing the type of components in any subsystem (it means in each subsystem any number of each type of components can be selected). The model presented in this study is a more general formulation of the problem studied in previous researches, in this case a higher level of system reliability can be reached. The decision variables considered in this problem are the number of active and standby components of each type in each subsystem, in order to maximize the system reliability under a number of constraints. For each subsystem, one of three states may be occurred, in each one, the allocated components can be identical or of different types: 1-all components are active, and the redundancy strategy is active, 2-one component is active and one or more components are standby, and the redundancy strategy is standby, 3-more than one component are active and one or more components are standby, and the redundancy strategy is mixed. Since RAP belongs to the NP-hard class of optimization problems, a genetic algorithm (GA) is developed for solving the problem. Finally, the performance of the proposed algorithm is evaluated by applying it to a well-known test problem from the literature with relatively satisfactory results.