Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Algorithms that design structures better than engineers (jordanburgess.com)
107 points by jordn on Jan 25, 2013 | hide | past | favorite | 28 comments


The title is totally misleading, what he is showing is exactly the work of engineers, that is, defining a set of targets and constraints for a problem and using the right tool to find the best solution. In fact, you have engineers involved at each step in the provided solution, to define the problem, to select the right algorithm, to run the simulation/optimisation and to critically assess the quality of the answer.


Agreed. Unfortunately it seems to be a common misunderstanding of optimization and things like machine learning, that you somehow have this set of almost universal black boxes that can apply to any domain without much thought. When you gain some practical experience it becomes clear that good results come from knowing the domain very well.


You're completely right, it does require a deep knowledge of things like finite element analysis and the whole thing collapses in a heap if you don't carefully apply constraints and penalisation rules. But on the other hand, a title should try to convey some of the excitement of the technology.

We had a lecture from the Additive Manufacturing group from Nottingham University a few months ago and they've built some metallic aerospace parts that look surprisingly similar to the structures of bone networks in nature using this technique. I think I'll be trying to do something similar and make some design and 3D print some parts, compare them against the traditional manufacturing routes and see how the marketplace reacts to them.

If anyone here has an knowledge in this area or seen anything cool using it it'd really be great to hear form them.


One of my lecturers (many years ago) did some interesting work synthesising circuits like band-pass filters using genetic algorithms:

http://www.personal.rdg.ac.uk/~stsgrimb/netsyn.htm

The algorithms came up with some very unusual circuit designs which did the job better than classical solutions, in some cases.


That looks very good as a starting point.

Im the demo page I was looking for the BOM and the parts values. Being non-standard this implies limitted applicability in practice.

Did you consider adding constraints to part values?


You'd have to ask the chap who did it! This wasn't mentioned though. I think the code is available in the papers concerned; it would be relatively trivial to add "rounding to nearest available part" to the assessment criteria, I imagine.


A friend of mine did something similar with evolutionary algorithms: http://kowaliw.ca/projects/deva.html


This is very interesting, thank you for sharing.


The Genetic Programming community offers annual awards for 'human competitive' solutions in different domains that match or exceed the designs of human experts. A number of these automatically generated solutions rival recently patented technologies.

http://www.genetic-programming.org/combined.html


Part of the trouble with this is that often, design isn't about the 'optimal' in a single degree of freedom but rather a case of balancing a larger number of design criteria. Having said that, the technology does hold a lot of promise and I already use very rudimentary similar tech (eg: iterative FEA to converge on minimal plate thicknesses for a structure under given static load cases).

I agree that 3d printing will help liberate designs from some of the constraints (namely, some of the fabrication constraints - they're some of the most difficult to incorporate in to an 'optimal' design) but I still think there will remain a number of considerations that design engineers must make that will involve sacrificing ideal structure for other advantages:

- Interfaces with other equipment / interoperability in a system: curved surfaces aren't too good at being bolted together. A spider-web mesh of structure forming a super-rigid but super-light chassis doesn't lend itself to fitting an engine inside. A design might need 30 years' service out of one part but maybe another part (eg: a hopper for corrosive mineral concentrate) only wants to withstand 3-5 years - it'd need to be easily separable from the parent structure so that can happen.

- Maintainability: holes in the parts where 3 beams of the truss converge are just asking for moisture ingress leading to corrosion. Some surfaces may not be easily painted because they're tucked away. Some areas need to be accessable to hand-sized objects in order to perform non-destructive testing for internal cracks/defects.

- Portability: it's all well and good to have a single, continuous structure until you have to transport it by truck to site hundreds of kilometres away and down a mine shaft to its intended location. A less optimal but heavier design may in fact offer a better whole-of-life cost if it can be fabricated in China and flat-pack shipped to where you need it, reducing the up-front cost compared to a more elegant, more optimised but more expensive to construct design that is then difficult to ship to site.

This is a topic that fascinates me. I really look forward to seeing what comes out in the next 10 years. Even in the last 5 years, I've gone from solving a 60000-element finite element model in 15 minutes, to solving an 80000-element model in 30 seconds. This is about the minimum size I need to do basic analysis on a complete structure, eg: a coal wagon. That smaller timeframe makes iteration so much more possible. I'll be able to now perform more than just iterative convergance on plate thicknessses - adapting the geometry of the model and remeshing is now within the realms of possibility. Similarly, pre- and post-processing software is becoming more capable of interpreting results and intelligently adapting the model to suit.

My biggest fear of this technology is that, like FEA makes possible already, many Engineers will fall to the trap of 'garbage in, garbage out'. It's very easy to construct a model that looks like it should represent reality and solves mathematically just fine, but doesn't give realistic or meaningful results. This technology looks like it could amplify that problem significantly. Presently, the only way you learn the unwritten rules of computational analysis is through tutorage by more experienced colleagues. A design that's far more complex because of more complex algorithms will be subsequently far more difficult for them to advise and correct on. Sometimes that simplicity of an inelegant and un-complex but well-understood structure is preferable.


Somewhere between '98 and '02 I had a course on material resistance, and a similar result as what is shown here was demonstrated to us, only applied to a chair. I wish I could find the resulting rendering again, but it was looking like something like that [0].

The exercise was to think about how this solution is optimal only according to a small number of parameters, and that as we added more, the possible solution space was gradually reduced to a solution strikingly similar to what someone would design by hand.

The conclusion was that although tools can be very powerful, naive use of tools result only in naive solutions.

[0]: http://www.liftarchitects.com/journal/2012/5/28/printing-mat...


I did a bunch of FEA 15 years ago or so, and we were trying to keep the models at 1000 ish elements for decent speed runs. I remember having to go through channels to get a dual pentium 450 just for faster processing. Small stuff could be real time, but small keeps getting bigger and bigger.

A lot of what I was doing wound up balancing stiffness to strength, so that when the parts/bridges were deformed, the stresses in the pieces remained reasonable. It's a reversal of the normal mode of thinking, where you have given loads, but the deformations are driving the load in a lot of cases (e.g. thermal, earthquake, wave).

The engineer in me looks at that structure, and I can piece out what all of the bits are doing -- there's a shear band, there's the truss supporting it, there's the opposing moment forces. Though, I look at the voids and think fatigue. I know that they're likely low load areas, which helps.

[edit] I'd also be interested in the material properties of 3d printing, if they've got any issues with tensile strength, brittleness, or anisotropy.


What could be done is having the optimizer only use standart (or easily constructed) parts, only optimizing the design.

So you could say "oh, this structure supports these forces and it is assembled with 50cm and 25cm beams, optimize away".

Of course, an engineer can solve simple cases easily, but as you join compression and stretching forces in weird shapes it can get complicated fast.

Examples out of my head: stadium ceilings, small tools that are required to be strong in a specific way, bridges with limited foundation places, etc


It has it uses. Interior of molded plastic structures e.g. cases for appliances etc. Where the variables used are important - material used,strength - and painting and transporting are not an issue.


Definitely agree. Moulded plastic would be one of the better ones. Castings would be ok in some circumstances though the interior cores could be a pain to control, eg: ensuring the sand to create the voids is solid enough not to disentigrate as you try to cast and is not just floating in mid-air.


Right - or 3D printing as the OP suggested.


Bob Pease from NatSemi was against Spice modeling for the same reasons: you get too many numbers and too little insight. One can use fast computations but not without a reality check.


This is neat stuff. It's the future and, yes, in some fields it is now.

I've applied GA/GP techniques in a number of areas. There are still a number of issues when applying this method to mechanical design.

A naive implementation can produce structures that are either impossible to fabricate or insanely complex and expensive.

It is easy to also optimize away safety factors. The pictured truss might be optimal under ideal conditions yet fail in spectacular ways if even a small crack or a bad weld develops somewhere. Remember, rust never sleeps. There's also the case of material quality and consistency (is all aluminum equal?).

One application that was a lot of fun to work on was the evolution of an optimal cooling solution for a very high power (1500W) LED array. I evolved the solution using what I am going to dare and call a manual-GA approach.

All of the mechanical modeling was done using SolidWorks and FlowWorks/SolidFlow FEA package. The mechanical model was designed to be parametrically controlled from extensive geometry tables that could be edited with MS Excel (which made it so much simpler). The approach was to run reasonably realistic (meaning, close to what you could actually fabricate) structures. Each structure took 16 to 18 hours to run. Using multiple cores and machines we could get a set of them done overnight for evaluation the following morning.

The evaluation function consisted of agreed-upon parameters that came out of the FEA simulation: delta T, max and min temperatures, thermal uniformity, etc. These were used to calculate a score for each structure.

Once enough data (enough variants or "chromosomes" if you will) accumulated, the manual "natural selection", "reproduction" and "random mutation" steps would take place.

Over a period of about eight months this work produces some really interesting, unexpected and, I think, innovative approaches to the problem.

I learned a lot by taking this approach. I also learned just how hard it would be to fully automate such a project. I am not necessarily speaking about the tools involved as much as the need to encode manufacturing knowledge into a system such that it autom-magically evolve objects one can actually construct.


Something similar is being done for buildings by a startup called Aditazz http://www.aditazz.com

Very interesting. It's like designing chips, but for buildings. On the cloud! They are starting with a vertical that it's like CPU's ... hospitals! It's the kind of thing you wonder why we (as the human race) did not get to play with this until now, given that we have been building structures for so long!

[Disclaimer: I helped build early prototyped of their cloud infrastructure for them and know the founders]


Pretty cool.

Do you or anyone knows if there is something like that for distribution warehouses?


Not exactly related to the post's contents, but I'm so excited I found out how this sort of this is called: topology optimization. I've been thinking about designing an 'object' under certain constraints and I didn't know exactly where to start.


The topology optimization space at the Ecole Polytechnique has some nice resources on this http://www.cmap.polytechnique.fr/~optopo/index.php


That looks really helpful, thanks!


This looks really nice. Do you think similar algorithms could be used in electromagnetics, for example automatic design of antennas?


Plenty of examples of just that, here's one: http://alglobus.net/NASAwork/papers/Space2006Antenna.pdf


Not much information content there. I'm not sure what the point is. Some guy's blog saying, "Hey, this exists?"


And who designs the algorithms? ;)


Saw this ten years again. Still use the exactly same optimized structure example.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: