1 / 171

GENOPT: User-Friendly Optimization Code

A program creating user-friendly optimization code, adaptable for structural analysis, with detailed examples and architecture overview.

watters
Download Presentation

GENOPT: User-Friendly Optimization Code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENOPT A Program that Writes User-Friendly Optimization Code David Bushnell International Journal of Solids & Structures, Vol. 26, No. 9/10, pp. 1173-1210, 1990

  2. SUMMARY OF TALK • Purpose • Properties of GENOPT • Two kinds of user: (a) GENOPT user and (b) end user • GENOPT commands • GENOPT architecture • Example 1: Minimum-weight design of a plate • Example 2: Minimum-weight design of an isogrid-stiffened spherical shell • Example 3: Minimum-weight design of a ring-stiffened, wavy-walled cylindrical shell with use of BIGBOSOR4 • Example 4: Minimum-weight design of an isogrid-stiffened ellipsoidal shell with use of BIGBOSOR4

  3. PURPOSES OF GENOPT • Convert an analysis into a user-friendly analysis • Make the step into the world of automated optimization easy

  4. PROPERTIES OF GENOPT • An analysis of a fixed design is “automatically” converted into an optimization of that design concept. • GENOPT can be applied in any field. It is not limited to structural analysis. • User-specified data names and one-line definitions appear throughout the output. Hence the input and output is in the jargon of the GENOPT-user’s field. • GENOPT is a FORTRAN program that writes other FORTRAN programs.

  5. ARCHITECTURE OF GENOPT • The program system generated by GENOPT has the “BEGIN”, “DECIDE”, “MAINSETUP”, “OPTIMIZE”, “SUPEROPT”, “CHANGE”, “CHOOSEPLOT”, “CLEANUP” architecture typical of other software written by the author for specific applications (BOSOR4, BIGBOSOR4, BOSOR5, PANDA, PANDA2)

  6. Structural analysis, optimization

  7. “Window” size v. design iterations

  8. TWO TYPES OF USER • GENOPT USER: Uses GENOPT to create a user-friendly system of programs for optimizing a class of objects. • END USER: Uses the user-friendly system of programs created by the GENOPT user to optimize objects in the class covered by the GENOPT USER’s program system.

  9. ROLE OF THE GENOPT USER(1) • Choose a generic class of problems for which a user-friendly analysis and/or optimization program is needed. • Decide which phenomena (behaviors) may affect the design. These are called “behavioral constraints”. Examples: stress, buckling, modal vibration, displacement, clearance. • Establish the objective of the optimization. Examples: minimum weight, minimum cost, minimum surface rms error, etc.

  10. ROLE OF THE GENOPT USER(2) • Organize the input data. Simple constants? Arrays?, Tabular data?, Decision variables? • For each input datum choose: (a) a meaningful name, (b) a clear one-line definition, (c) supporting “help” paragraph(s). • Write or “borrow” algorithms to predict various behaviors, such as buckling, modal vibration, and stress, that may affect the evolution of the design during optimization cycles. • Test the new user-friendly program system. • Interact with the END USER.

  11. ROLE OF THE END USER(1) • Choose a specific problem that fits within the generic class established by the GENOPT USER. • Choose an initial design with appropriate loads and an allowable and a factor of safety for each behavior. • Choose appropriate decision variables with appropriate lower and upper bounds. • Choose linked variables and linking expressions (equality constraints), if any. (These are chosen by the END USER in the processor called “DECIDE”).

  12. ROLE OF THE END USER(2) • Choose inequality constraints, if any. (To be chosen by the END USER in “DECIDE”). • During optimization use enough restarts, iterations, and “CHANGE” commands in the search for a global optimum design. (This is now done automatically by “SUPEROPT”). • Interact with the GENOPT USER. • Check the optimum design via general-purpose programs and/or tests.

  13. THE GENOPT MENU OF COMMANDS(1) Command for the GENOPT USER and the END USER: GENOPTLOG (activates the GENOPT menu of commands). Commands for the GENOPT USER: GENTEXT (GENOPT USER generates a prompt file with “help” paragraphs. GENTEXT produces FORTRAN program fragments, some complete FORTRAN programs, and two “skeletal” FORTRAN subroutines to be “fleshed out” later by the GENOPT user.) GENPROGRAMS (GENOPT USER generates executable elements: BEGIN, DECIDE, MAINSETUP, OPTIMIZE, CHANGE, STORE, CHOOSEPLOT, DIPLOT). INSERT (GENOPT USER adds parameters, if necessary). CLEANGEN (GENOPT user cleans up GENeric case files).

  14. THE GENOPT MENU OF COMMANDS(2) Commands for the END USER: BEGIN (END USER provides initial design, material properties, loads, allowables, and factors of safety). DECIDE (END USER chooses decision variables, bounds, linked variables, inequality constraints, and escape variables). MAINSETUP (END USER sets up strategy parameters for simple analysis of a fixed design or optimization). OPTIMIZE (END USER performs the analysis or optimization). SUPEROPT (END USER tries to find a “global” optimum). CHANGE (END USER changes some variables).

  15. THE GENOPT MENU OF COMMANDS(3) CHOOSEPLOT (END USER chooses which decision variables to plot versus design iterations). DIPLOT (END USER obtains postscript plot files for margins and/or decision variables and the objective versus design iterations). CLEANSPEC (END USER cleans up SPECific case files).

  16. SEVEN ROLES THAT VARIABLES PLAY 1. A possible decision variable for optimization, typically a dimension of a structure. 2. A constant parameter (cannot vary as the design evolves), typically a control integer or material property, but not a load, allowable, or factor of safety, which are asked for later. 3. A parameter characterizing the environment, such as a load component or a temperature. 4. A quantity that describes the response (behavior) of the structure to its environment, (e.g. maximum stress, buckling load, natural frequency, maximum displacement). 5. An allowable, such as maximum allowable stress. 6. A factor of safety. 7. The objective, for example, weight.

  17. SEVEN ROLES OF “plate” VARIABLES

  18. SEVEN ROLES OF “plate” VARIABLES (cont’d)

  19. EXECUTION OF GENTEXT (continued)…

  20. EXECUTION OF GENTEXT (continued)…

  21. EXECUTION OF GENTEXT (continued)

  22. EXECUTION OF GENTEXT (continued)…

  23. EXECUTION OF GENTEXT (continued)…

  24. EXECUTION OF GENTEXT (continued)…

  25. EXECUTION OF GENTEXT (continued)…

  26. EXECUTION OF GENTEXT (concluded)

  27. FILES PRODUCED BY GENTEXT

  28. Plate.INP file generated by GENTEXT

  29. PART OF THE plate.DEF FILE: a glossary

  30. THIS GLOSSARY IS GENERATED BY GENTEXT

  31. THE PROMPTING FILE, plate.PRO, produced by GENTEXT

  32. PROMPTING FILE CREATED BY GENTEXT (continued)…

  33. PROMPTING FILE CREATED BY GENTEXT (continued)…

  34. PROMPTING FILE CREATED BY GENTEXT (concluded).

  35. FORTRAN FILE, plate.CON, created by GENTEXT

  36. FORTRAN FILE, plate.CON, CREATED BY GENTEXT (cont’d)..

  37. FORTRAN FILE, plate.CON, CREATED BY GENTEXT (cont’d)..

  38. FORTRAN FILE, plate.CON, CREATED BY GENTEXT (cont’d)..

  39. FORTRAN FILE, plate.CON, CREATED BY GENTEXT (end)

  40. SOME IMPORTANT NOTES, ESPECIALLY CONCERNING “BEHAVIORAL CONSTRAINT” AND “MARGIN”

  41. PART OF THE BEHAVIOR.NEW FILE CREATED BY GENTEXT

  42. LABELLED COMMON BLOCKS CREATED BY GENTEXT, plate.COM:

  43. GENOPT USER WRITTEN CODE INSERTED IN SUB. BEHX1

  44. GENOPT USER WRITTEN CODE INSERTED IN SUB. BEHX2

  45. TABLES OF PLATE BUCKLING LOAD COEFFICIENTS CAN BE FOUND IN BOOKS SUCH AS THIS…

More Related