A utilização deste recurso proporciona ao projetista, explorar diversas soluções que no processo tradicional poderia lhe custar muito tempo de trabalho. No caminho para buscar várias soluções, os sistemas gerativos podem receber rotinas de otimizações que filtram, nos resultados gerados, os que mais atendem aos requisitos impostos pelo desenvolvedor. Isto é, se um sistema gerativo for criado para desenvolver a implantações de um dado empreendimento em um lote atendendo aos seus índices urbanísticos de afastamento, taxa de ocupação, dentre outros, o algoritmo poderá gerar soluções que estejam de acordo com as regras pré-estabelecidas, porém isto não garante que serão as melhores soluções possíveis para este empreendimento.
Entretanto, com a adição de rotinas de otimização o sistema passa a selecionar as soluções que mais atendam a critérios de viabilidade, como por exemplo: maior número de pavimentos e maior área por pavimento, sem deixar de atender aos índices urbanísticos da zona onde o lote está situado. O novo conjunto de soluções gerados estarão mais próximos dos requisitos ideais propostos pela análise de viabilidade condicionada pelo desenvolvedor. Do ponto de vista teórico existem diversas metodologias gerativas, tais como: Gramática da Forma, Autômatos Celulares, Algoritmos Genéticos, etc. São conceitos que são alvo de muita investigação no meio acadêmico, podendo ser encontrados em diversas teses e papers da área de computação aplicada a arquitetura.
Sobre o aspecto do desenvolvimento computacional, o projetista deve desenvolver novas competências ligadas a programação, seja a textual como Python, C#, etc. ou mesmo de programação visual como Grasshopper e Dynamo. Atualmente o Python tem tido muita visibilidade por se tratar de uma linguagem de programação muito mais fácil de ser aprendida. Tal característica torna-se uma grande vantagem quando estamos falando de profissionais da área de arquitetura e engenharia que pretendem aprender uma linguagem de programação.
Outro recurso que tem na intuição e simplicidade suas características mais marcantes são as linguagens de programação visual. Nelas o desenvolvedor utiliza nodes que executam certas funções e quando interligados e ordenados segundo uma lógica, produzem um algoritmo para realizar alguma tarefa específica. O Grasshopper é um exemplo de uma destas plataformas de programação visual. Ele roda dentro de um software de modelagem 3D chamado Rhinoceros, mas pode se conectar a softwares de autoria BIM, como o ArchiCAD e o REVIT, por meio de plug-ins específicos.