Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Looking for optimization software

Status
Not open for further replies.

dculp1

Mechanical
May 16, 2006
75
I'm looking for optimization software for use in conjunction with FEA. For a particular design the software would achieve an optimum solution through the following process:

1. Define the objective variables (e.g., Y1 = max allowed stress in part 1, Y2 = max allowed deflection in part 1, Y3 = max allowed stress in part 2, Y4 = max allowed deflection in part 2, etc.)
2. Weight the objective variables (e.g., Y1 is 5 times as important as Y2).
3. Define the design variables (e.g., X1 = length 1, X2 = length 2, X3 = radius 1, X4 = radius 2, etc).
4. Define limits on the design variables (e.g., X1 <= 4).
5. Define interrelationships between design variables (e.g., X1 + 0.5*X3 >= X4).
6. Analyze a baseline model.
7. In turn, change each of the design variables by a small amount, analyze the FEA model, and record the effect on the objective variables.
8. Plug this information into the optimization software, which will then suggest new values for the design variables in order to move closer to the objectives.
9. Re-analyze the model with the new values for the design variables and record the effect on the objective variables.
10. Add new design variables, as needed (e.g., add a fillet to reduce the stress).
11. Repeat steps 8 through 10 until the objectives have been achieved. The optimization software should preferably consider the results of previous analyses to account for nonlinear effects.

Important: at the beginning there are no known relationships (equations) between the objective variables and the design variables. Hence, optimization software that requires such relationships won't work.

The cost of the optimization software should be less than $2000.

Thanks,
Don Culp
 
Replies continue below

Recommended for you

I think you have left a zero or two of your price tag?
 
By the way, I already have the FEA software. I'm just looking for the optimization software. The two don't have to be integrated. I can manually transfer data/results between the two.

Don Culp

 
Step 3 is incredibly hard for a solid mesh, in conjunction with stress analysis.

Step 8 is dangerous, it will encourage you to find local optima.

Step 10 is almost impossible, in the context of step 3.

Step 11 is also impossible.

However, the basic idea of optimising software is well known. But it ain't cheap. Look at Reshape, or Optistruct, for FEA based products, or any number of product integration packages, for which I have no positive recommendations.

You can code it yourself, mine took about two weeks to write, for one special class of problems.



Cheers

Greg Locock

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Greg --

Perhaps my method was somewhat unclear. In step 3 I just want to say that "length 1" (designated for conciseness as X1) is one of the variables that controls the design -- i.e., changing X1 will likely have an effect on the objective variables. I can simply make a note of these on paper; at this point these don't have anything to do with the FEA. Later when I run the FEA I will adjust "length 1" to see its effect.

For step 8 I understand that local optima are possible. None-the-less, this will be likely be better than my initial design, even if it is not a global optimum. I can always adjust the initial design to see if other optima are possible.

Step 11 is not impossible since this is the entire objective of optimization. If there were only one design variable and one objective variable then this can pretty much be done in your head. I need the optimization software to help in the case where there are many design and objective variables, coupled with constraints.

Don Culp
 
Sorry, the non linear 'knowledge' in step 11 is what I meant by impossible.

For instance (this is possibly a bad example), suppose we are optimising a ring, and it becomes advantageous to thin one part of it down. I do not believe that an automated technique could recognise the dangers/advantages of turning the ring into a C shape instead of an O shape.



Cheers

Greg Locock

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Greg,

I think it can be done, but agree that it is probably not for the price that Don is looking for. Hypersizer is the only optimization package with which I am somewhat familiar. In that program, you can specify the range of possible options and "0" is a possibility. The program doesn't necessary recognize the dangers/advantages, but it does consider the option and optimize based on the parameters that you request (minimum weight, max. stress, etc.).

Garland E. Borowski, PE
Borowski Engineering & Analytical Services, Inc.
Lower Alabama SolidWorks Users Group
 
There is a way of doing it in Optistruct, that is by setting the minimum element density to zero. The help warns you against this, but hey, that's where the fun is. More generally Optistruct seems much better suited to stiffness optimisation than stress reduction. This may have been fixed in v7

The problem I've found is that local optimization is great when you are nearly right, or you are so heavily constrained that there are few choices left, but that the actual optimum can be a factor of two different in weight to a local optimum, for a given stiffness.

I'd actually divide the optimization process into two parts - building the models, and analysing the results.

The second part can be done for free in say Scilab, and I'd seriously investigate GA for that. I haven't used GA for FEA yet, but other people have. The first part is trickier, you've somehow got to be able to describe models in terms of genes, and then create the model. With a small beam model, with fixed geometry, your genes are just element property numbers.









Cheers

Greg Locock

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Greg --

I agree that completely automated optimization is generally not possible. The engineer has to be familiar with the design so that he can make adjustments (e.g., changing from an O cross-section to a C cross section) if the optimizer runs into a dead end.

I assume that GA = "Genetic Algorithms". I have looked at and this seems close to what I need, particularly (from the site):

--> Domain knowledge is scarce or expert knowledge is difficult to encode to narrow the search space.
--> No mathematical analysis is available.

Do you have any recommendations for GA software, particularly within my budget? (Open source would be nice.) It should be ready to run, not just an algorithm. Perhaps it could be an add-on to something like Matlab or MathCad. Since the FEA work (adjusting the FEA model (based on the optimizer's suggestions), running the model, and analyzing the FEA results for each iteration) is the most time consuming part of the process, quick convergence of the optimizer would be critical.

I have looked at SciLab's web page ( but it doesn't seem like what I need. Perhaps I don't understand its capabilities well enough.

Don Culp
 
Scilab has a GA toolbox. All open source and free. Scilab is roughly equivalent to, and in some cases better than, Matlab. However Scilab's text handling is atrocious so I didn't use Scilab because I wanted it to write the models out. That may not be a problem for you if you just want a structured process to tell you which models to build next.

I'm 99% sure there's a GA toolbox for Matlab as well, I rather doubt that is free.

I haven't used either GA toolbox.

Cheers

Greg Locock

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor