Not exactly what you're asking but Topology Optimization is now a standard feature of the big CAD packages. It allows the designer to express various constraints and goals, then a combination of gradient methods and genetical algorithms are used to find an optimized part. Example: https://www.solidworks.com/media/topology-optimization