One of the basic rules used in optimizing structural elements, is to eliminate bending moment. Bending moment produces an uneven distribution of stresses in cross sections which broadly speaking, must be designed according to the maximum design stress. This results in a lot of material ending up underutilized.
Grasshopper is a free plugin for Rhinoceros3D, initially named Explicit History. It allows designers to parametrically build their project not only using most of the functions of Rhinoceros but of its many plugins. homepage download Plugins Kangaroo Take a look at some examples tagged with Kangaroo. Plankton Take a look at some examples tagged with Plankton.
A very comprehensive book on form finding and optimization in architecture, it collects several works by emerging researchers in the field along with others. Sigrid Adriaenssens, Philippe Block and Chris Williams investigate well-known architectures such as the roofing for the inner courtyard of the Maritime Dutch Museum or the Queen Elizabeth II courtyard in the British Museum.