This paper presents a study on design optimization of multi-state weighted k-out-of-n systems. The studied system reliability model is more general than the traditional k-out-of-n system model. The system and its components are capable of assuming a whole range of performance levels, varying from perfect functioning to complete failure. A utility value corresponding to each state is used to indicate the corresponding performance level. A widely studied reliability optimization problem is the ‘component selection problem’, which involves selection of components with known reliability and cost characteristics. Less adequately addressed has been the problem of determining system cost and utility based on the relationships between component reliability, cost and utility. This paper addresses this topic. All the optimization problems dealt with in this paper can be categorized as either minimizing the expected total system cost subject to system reliability requirements, or maximizing system reliability subject to total system cost limitation. The resulting optimization problems are too complicated to be solved by traditional optimization approaches; therefore, genetic algorithm (GA) is used to solve them. Our results show that GA is a powerful tool for solving these kinds of problems.