[P] I want to optimize a Mechanical Structure with Machine Learning, need some help for the beginning.
Hello,
so I have a project I need to get done for University, in which I make a program, which skips Iteration steps for the Optimization of Mechanical Structures.
The Mechanical Structure is defined as follows:
You have nodes (in 3-D or 2-D) which are fully connected by beams. The Starting point is, that all beams have the same density and there are Loads, which are on some of the Nodes. Also there is an upper and lower bound for the densities of these beams (which is relevant for the conventional method)
In the Normal Process the density of the beams is tweaked Iteration by Iteration, depending on the different loads on the nodes to make the structure stiffer, also there is a certain volume fraction of the design space, which the sum of the beams has to reach.
Now I need to make a Neural Network which is capable of skipping Iterations, which are computationally expensive and I wanted to ask how I should start it.
The first file I received has 30 Nodes and 373 design variables (beams).
This is how it looks:
After Optimization:
I don’t know what type of network I should use, since I’m not experienced in doing my own projects.
My first ideas were:
- Neural network, which takes the beams and the loads (in coordinates) as features encodes them and decodes them.
- Same as 1. , but with the nodes as Features
- CNN Encoder Decoder Network, with a matrix of NxN, N being the Nodes and the entries in the Matrix being the density of the beams, which connect the nodes, then the other channels are the loads on the node, the colume fraction and maybe the different x,y and for 3-D z values of the node.
The university can generate the data needed for training the Neural Network (Different Loads and all the iterations of the different optimizations) and the target are 3-D structures with thousands of beams. Right now we are starting of easy with 2-D structures, but I don’t know how many beams option 1. and 2. can handle, before dimensionality becomes a problem. Also I don’t know if a CNN can learn from the node matrix.
I’m not a big expert in the field, but I read a lot of material on NNs and ML (e.g. Aurelien Geron Hands on machine learning) and I am eager to make this project work, but I need a little bit of help in starting off, so I would be really grateful, if some of you guys could help me with that 🙂
submitted by /u/avdalim
[link] [comments]