Optimizing most structural systems used in practice requires considering design variables as discrete quantities. The paper presents a simple genetic algorithm for optimizing structural systems with discrete design variables. As genetic algorithms (GAs) are best suited for unconstrained optimization problems, it is necessary to transform the constrained problem into an unconstrained one. A penalty-based transformation method is used in the present work. The penalty parameter depends on the degree of constraint violation, which is found to be wellsuited for a parallel search using genetic algorithms. The concept of optimization using the genetic algorithm is presented in detail using a three-bar truss problem. All the computations for three successive generations are presented in the form of tables for easy understanding of the algorithm. Two standard problems from literature are solved and results compared. The application of the genetic algorithm to design optimization of a larger problem is illustrated using a 160-bar transmission tower. © ASCE.