A general indirect representation for optimization of generative design systems by genetic algorithms: Application to a shape grammar-based design system