An object-oriented simulation- optimization interfaceleriche/general_opt.pdf · An object-oriented...

22
An object-oriented simulation- optimization interface R. Le Riche , J. Gaudin and J. Besson Ecole des Mines de St. Etienne / CNRS URA1884, 158 cours Fauriel, 42023 St. Etienne Cedex, France correspondig author, [email protected] EADS CCR, 12, rue Pasteur, 92152 Suresnes Cedex, France Ecole des Mines de Paris / CNRS UMR7633, Centre des Mat´ eriaux, BP87, 91003 Evry Cedex, France published in Computers & Structures, Elsevier publ., vol.81, no.17, June 2003, pp. 1689 – 1701. Keywords: Object oriented programming; Optimization; Composite design; Software engineering; Process optimization; Multiple objective optimization Abstract Progress in the field of structural optimization naturally leads to an increasing number of struc- tural models and optimization algorithms that need to be considered for design. Software archi- tecture is of central importance in the ability to account for the complex links tying new structural models and optimizers. An object-oriented programming pattern for interfacing simulation and optimization codes is described in this article. The concepts of optimization variable, criteria, op- timizers and simulation environment are the building blocks of the pattern. The resulting interface is logical, flexible and extensive. It encompasses constrained single or multiple objective formu- lations with continuous, discrete or mixed design variables. Applications are given for composite laminate design. 1 Introduction As research in the field of structural modelling and optimization progresses, design needs to account for an increasing number of interdependent models and allow diverse problem formulations. The architecture of the computer program that implements structural models and optimization algorithms has therefore become crucial in dealing with such increasing complexity. Deliberate programming is a stepping stone for effectively capitalizing knowledge so that creativity in design is not limited by technical book-keeping. This article describes a central part of any structural optimization program, the interface between simulation and optimization sub-programs. The interface is presented as an object oriented program- ming pattern. Unlike sequential programming languages (FORTRAN, C, BASIC, PASCAL, . . . ), object oriented languages like C++ ([1, 2]) provide ways to express the solutions to a problem directly and 1

Transcript of An object-oriented simulation- optimization interfaceleriche/general_opt.pdf · An object-oriented...

An object-oriented simulation-optimization interface

R. Le Riche�����

, J. Gaudin�

and J. Besson�

�EcoledesMinesdeSt. Etienne/ CNRSURA1884,

158coursFauriel,42023St. EtienneCedex, France�correspondigauthor, [email protected]

EADSCCR,12,ruePasteur, 92152SuresnesCedex, FranceEcoledesMinesdeParis/ CNRSUMR7633,

CentredesMateriaux,BP87,91003Evry Cedex, France

publishedin Computers& Structures,Elsevier publ.,vol.81,no.17,June2003,pp. 1689– 1701.

Keywords: Objectorientedprogramming; Optimization; Composite design;Softwareengineering;Processoptimization;Multipleobjectiveoptimization

Abstract

Progressin thefield of structuraloptimizationnaturally leadsto anincreasing number of struc-tural models andoptimization algorithms that needto beconsideredfor design. Softwarearchi-tectureis of central importancein theability to account for thecomplex links tying new structuralmodels andoptimizers. An object-orientedprogrammingpattern for interfacingsimulation andoptimizationcodesis describedin this article. Theconceptsof optimizationvariable,criteria, op-timizersandsimulation environmentarethebuildingblocksof thepattern. Theresulting interfaceis logical, flexible andextensive. It encompasses constrainedsingle or multiple objective formu-lationswith continuous, discreteor mixeddesign variables.Applicationsaregivenfor compositelaminate design.

1 Intr oduction

As researchin thefield of structuralmodelling andoptimizationprogresses,designneedsto accountfor an increasingnumberof interdependentmodelsandallow diverse problemformulations. Thearchitectureof thecomputerprogramthatimplementsstructuralmodelsandoptimizationalgorithmshasthereforebecomecrucial in dealingwith suchincreasingcomplexity. Deliberateprogramming isa stepping stonefor effectively capitalizingknowledgeso that creativity in designis not limited bytechnicalbook-keeping.

This articledescribesa centralpartof any structuraloptimizationprogram,theinterfacebetweensimulation andoptimizationsub-programs.Theinterfaceis presentedasanobjectorientedprogram-mingpattern.Unlikesequentialprogramminglanguages(FORTRAN, C, BASIC,PASCAL, . . . ), objectorientedlanguageslike C++ ([1, 2]) provide waysto expressthesolutions to a problemdirectly and

1

concisely, by creatingnew relevanttypesandtheir functionalities(objects).Objectorientedprogram-ming patterns([3, 4]) goonestepfurther: they describehow differentobjectswork togetherto fulfilla task.

In the field of mechanics,objectorientedpatternshave mainly coveredfinite elementprogram-ming([5, 6, 7, 8]). Theneedfor objectorientedanalysisin advancedoptimizationstrategieshasbeenclearly statedandsolutions proposedin [9] and [10]. The text startswith a review of simulation-optimization interfaces.Next, apatternfor aninternalinterfaceis proposed,whichconsistsof assign-ing responsibilities to new programming typesrelatedto optimizationvariables,criteria, algorithmand simulation environment. The resultingprogramis versatile as it allows constrainedsingleormultipleobjective formulationswith continuous, discreteor mixeddesignvariables.Applicationsaregiven for compositelaminatedesign. A coupledprocess-structureproblemanda coupledmaterialselection-structureproblemaresolved.

2 Inter facing models and optimizers

Simulationprogramsandoptimizerscanbeinterfacedexternallyor internally.

2.1 External interfaces

Theexternalinterfaceis composedof at leasttwo executable programs,theoptimizerandthesimu-lation. Theoptimizer callsthesimulation(systemcall). Both modulescommunicatethroughfiles. Itis illustratedin Figure1, where � denotesthedesignvariables,� theobjective function(s),and theconstraint(s).Suchimplementation is typical whenoptimization is not plannedbeforehandandthesimulation sourcefiles cannotbemodified.It alsooccurswhenresortingto anoptimizationpackage(suchas[11] or [10]) separatedfrom thesimulation software. It usuallyrequireswriting a translatorsubprogram.The translatorchangesthe vectorof designvariablesinto an input file that is readbythesimulation. Reciprocally, thetranslatormayhave to interpretesimulation outputfiles in termsofobjective function(s)andconstraint(s).

The advantageof external interfacesis that, except for the translator, optimizer andsimulationimplementationsarefully decoupled.Theexternalinterfacehasoneimportantdrawback:thesimula-tion is entirelyrepeatedateachevaluationof theoptimizationcriteria,includingloadingof data,evenif thedesignvariablesthatarechangeddo not requireit. Supposefor example that theoptimizationaimsat choosingthe materialof a mechanicalpart. It is a wasteof computer resourcesto readthegeometryof thepartateachevaluation, sinceit hasnotchanged.Moreover, optimizerandsimulationshouldbeableto exchangeinformationotherthan � , � and : it is possiblethatcertaincombinationsof designvariablestranslateinto animpossible simulation (considerrigid bodymotionof amechani-calcomponentfor example). Thetranslatorcanof coursereadoptionalmessagesfrom thesimulation,but this will typically involve tediousfile parsing. It is worth mentioning thatsomesoftwareusingexternalinterfacesproposeversatileergonomictranslators.The DAKOTA program([10]) providesobjectorientedutility classes,calledIOFilter, to implement the translator. Anotherexampleisgivenby the“templatemechanism”of [12], sketchedin Figure2. In thetemplatemechanism,inputfiles arecopiedto templatefiles (by adding.tmpl extension),andnumericalvaluesthataredesignvariablesarechangedto identifiers(a ? followed by a string). The translator, at eachevaluation,copiesthe templatefiles, remove the .tmpl extension,andreplacesthe variablesidentifiersby anumericalvalue.

2

2.2 Inter nal interfaces

Other implementations,wheresimulation and optimizer are embeddedin the sameprogramhaveinternalinterfaces.This is thecaseof thevastmajority of analysisandoptimizationpackages.Withinternal interfaces,designvariables,optimization criteria (objective function and constraints)andoptimization algorithms cantypically be chosenfrom a pre-programmedlist. For ComputerAidedDesignsoftware(e.g.[13, 14]) geometricalparametersalreadyexist andareusedasdesignvariables.Somesoftwareallows bothcontinuousanddiscreteoptimization variables[15]. Resultsof analyses,suchas,in finite elements,displacements,stresses,eigenfrequencies,buckling loads,. . . , make upthe list of possibleoptimizationcriteria. In someimplementations([ 12, 16]), analyticalfunctionsof optimization criteria can definenew optimization criteria. With internal interfaces,simulationdataareput in memoryonceandfor all andupdatedonly whennecessary. Greateffort is oftenputinto computing, analyticallyor semi-analytically, sensitivities of optimizationcriteriawith respecttodesignvariablesfor usewith mathematicalprogrammingalgorithms([17, 16]).

To the authors’knowledge,no commercialsoftwarecumulatesall the above possibilities. Theobjectorientedinternalinterfaceproposednext makesit easierto accommodatemany optimizationapproacheswhile keepingtheprogrammanageable.

3 An object oriented simulation-optimization interface

3.1 General programming style

Theupcominginterfacedescriptionusesnotionsof objectorientedprogramming, pseudo-C++,wheremany aspectsof thelanguageareomitted,andclassdiagramnotation ([3]). Basicutili ty classesliketemplatized containers (LIST<>), mathematical classes (VECTOR), input-output classes(ASCII FILE) areconsideredself-explanatory andreferredto without furtherexplanations(whichcanbe found in [6]). Referencesto generalobjectorientedpatternsfrom [3] aremadeandcorre-spondingdefinitionsarereproduced.

Fromageneralprogramming pointof view, systematicuseof objectcomposition throughpointersto otherobjectsis made.Thischoiceis carefullyarguedin [6], andbriefly summarizednow.

Objectcomposition is anaturalwayof implementingtheis-made-ofrelationshipbetweenobjects.Complementedby singleinheritancefor representingtheis-arelationship, it providesaversatilepro-grammingscheme.In mostcases,it allows oneto avoid, asshouldbethecase,multiple inheritance.In Figure3 for example,OPTIMIZER is seento createandbemadeof ( ������� arrows) oneto manyoptimization variables,OPT_VARIABLES.OPTIMIZER alsohasapointerto aSIMULATION_ENV(simplearrow). Objectcompositionisnicelyenrichedby theabstractfactorytechnique(seeAppendixA or [6]), which is a refinedwayof instantiatingpointersat run time.

3.2 Interface implementation

The ingredientsof every optimizationproblemformulation,optimization algorithms, variablesandcriteria, constitute the baseclassesof the interface,OPTIMIZER, OPT_VARIABLE, andCRITE-RION, respectively. Not surprisingly, the DAKOTA projectfor advancedengineeringoptimization([10]) hasgeneratedequivalent classes.An additional classproposedhereis SIMULATION_ENV,which containsthesimulationenvironment. A globalview of theinterfaceis given in Figure 3. Therole of thebaseclassesis describedhereafter. Notethatthearchitectureof theinterface,in particular

3

systematicuseof objectcomposition, addedto the abstractfactorypatternpermitsthe additionofoptimization variables,criteria,andalgorithms in anon-intrusiveway.

OPTIMIZER hastwo goals. The first is to encapsulateoptimizationalgorithms, the secondis toprovidestorageandfunctionssharedby many specificoptimizers.

OPTIMIZER is a family of algorithmsthatchangesimulation parameters.It is thebaseclassof MONOEVOLUTION andMULTIEVOLUTION, a singleandmultiple criterion evolutionaryalgorithm([18, 19]), respectively, of GBNM, a globalizedandboundedNelder-Meadalgorithm([20]), andof ENUMERATOR, analgorithmthat performsparameterstudyin the spaceof de-signvariables.OPTIMIZER encapsulatesoptimizationalgorithmsin thepureabstractfunctionOPTIMIZER::optimize(), alongwith thefunctionthatreadstheir parameters,OPTIMI-ZER::read_convergence(...). The inheritancetreeof optimizers is given in Figure4. This first aspectof OPTIMIZER makesit a strategy pattern:thestrategy patternintendsto“defineafamily of algorithms, encapsulatethem,andmaketheminterchangeable.Strategy letsthealgorithms vary independently from clientsthatuseit”, from [3].

The other responsibility of OPTIMIZER is to createdesignvariables,variables, and tokeeppointersto the continuousanddiscretevariables,cont_variables anddisc_va-riables. OPTIMIZER alsoprovidesutili ty functionsfor all optimizers,suchasof_monoc-riterion, constraints_monocriterion, andof_multicriterion, that calcu-latetheobjective functionandconstraintsof mono-criterionoptimizers,andtheobjective func-tionsof multi-criteriaoptimizers,respectively.

OPT VARIABLE is thebaseclassof continuousanddiscretedesignvariables,CONT_OPT_VARIAB-LE andDISC_OPT_VARIABLE, respectively.

Its first, obvious,responsibilities areto factorizedataandfunctionscommonto many optimiza-tion variables,which is effectively doneby following themathematicalnatureof thevariables.A continuousvariablehasareferencevaluefor normalizationpurpose,minimumandmaximumbounds,andaccompanying utility functions(norm(), unnorm(),. . . ). A discreteoptimiza-tion variablehasa list of possible values.Figure5 shows the inheritancetreeof optimizationvariables.

The secondpurposeof OPT_VARIABLE in the interfaceis to definehow a designvariableaffectsthesimulationmodule. Thepureabstractfunctionupdate_simulation_env() isthedefinition. Thesimulation programis accessedthrougha pointerto SIMULATION_ENV,env. In compositedesign,for example,acontinuousply angledesignvariable,CONT_PLY_AN-GLE, canalter the stackingsequencethroughenv andchangea given ply orientationin theCONT_PLY_ANGLE::update_simulation_env() function.In termsof objectorientedpatterns,OPT_VARIABLE isanadapterbetweentheOPTIMIZER andtheSIMULATION_ENVclasses:an adaptercreates“a reusableclassthat cooperateswith unrelatedor unforeseenclasses,thatis,classesthatdon’t necessarilyhavecompatibleinterfaces”,from[3]. OPT_VARIABLEhasa virtual verificationfunction,which usestheenv pointerandchecksthat theright simu-lation moduleshave beenloaded.For example,an injectionpressurevariable,CRTM_PRES-SURE, checksin verification thataninjectionmodulehasbeenloadedin SIMULATION-_ENV. Figure5 shows theoptimizationvariablesrelatedto composite laminatedesignthatareimplemented.Ply orientations,ply material,andnumberof plies arethreekinds of ply vari-ables.They derive from bothOPT_VARIABLE andPLY_VARIABLE, whichhavemethodsofcalculatingply positions.

4

CRITERION is the baseclass of optimization criteria, that serve both as objective functions,������� ����� � , or constraints, !�"� �$# % . CRITERION’s primarypurposeis to provide a methodthatfetchesneededquantitiesin SIMULATION_ENV to calculateaspecificoptimization crite-rion,hencethepureabstractdouble calculate() function(seeFigure3). LikeOPT_VA-RIABLE, CRITERION is anadapterbetweenOPTIMIZER andSIMULATION_ENV. It con-tainsa number, ref_value, that is usedfor norming thecriterion. For example,thelongitu-dinalstraincriterion,EPSX_CRITERION, is written & ' � &)(*' ref� �,+ , or,

double EPSX_CRITERION::calculate(){ VECTOR v = env->get_result("epsx");

return fabs( v[0]/ref_value-1. ; }

Thefunctiondouble calculate_unnormed_crit() calculatesacriterionwithoutnor-malization(for exampleit returns ' � in EPSX_CRITERION). 45 criteria have beenimple-mentedto datein relationto compositedesign.They aresummarizedin Table1. LikeOPT_VA-RIABLE, CRITERION hasa virtual verificationfunctionthatcheckscompatibility betweenaspecificcriterionandmodules loadedin SIMULATION_ENV. For example,it is necessarytomakesurethatMonteCarloanalysisis executedwhena criterionbasedonstandarddeviations(dev_...) is optimized.

SIMULATION ENV standsfor simulationenvironment. Thisclasshastwo goals.

Firstly, SIMULATION_ENV decouplesoptimization algorithms,OPTIMIZER, from thesimu-lation modelsby providing a simpleinterfaceto thecomplex, constantlyevolving subsystemsof the simulation. Parameterizedaccessto all classesmakingup the simulation is given bythefunctionVECTOR SIMULATION ENV::get result(STRING ), whichextractsdatafromthesimulationandvoid SIMULATION ENV::update model(STRING, VECTOR), whichsetsdatain thesimulation. This is madepossibleby having all simulationclassesre-latedto optimizationvariablesandcriteriaderive from acommonIOPARAMETER class:

class IOPARAMETER { ...public :

virtual VECTOR get_result(STRING );virtual void update_model(STRING,VECTOR);static LIST<STRING> criteria_names, variables_names;static LIST<IOPARAMETER*> criteria_objects,

variables_objects;... };

The lists of keywords, criteria names andvariables names, and the correspond-ing lists of pointersto objects,criteria objects andvariables objects, areup-datedby theconstructorsanddestructorsof simulation classesderiving from IOPARAMETER.Theselistsareusedin VECTOR SIMULATION ENV::get result(STRING ) andvoidSIMULATION ENV::update model(STRING, VECTOR ) functions for reachingob-jects basedon the STRING argument. In the mechanicalapplicationsconsideredhere, thefundamentalsimulation classesare the structure,STRUC TYPE, and the mechanicalprob-lem, MECH SYST. As canbe seenin Figure 3, SIMULATION_ENV containsa pointer to astructureanda list of pointersto mechanicalproblems. Platesor cylindersareexamplesof

5

structures.MECH_SYST canbeinstantiatedasprocess(CompactionResinTransferMolding),static(which includesfailure) or buckling analyses.A pair of pointersto STRUC_TYPE andMECH_SYST makesa completesimulation formulation. SIMULATION_ENV providesa de-faultview of thepossiblesimulations.In termsof object-orientedpatterns,SIMULATION_ENVis a facade([3]).

Second,SIMULATION_ENVmanagesmemoryandcomputations. Thevoid SIMULATION-_ENV::read(ASCII_FILE & ) function loads in memory, onceand for all at the be-ginning of the optimization, mostof the datadescribingthe problem. This is moreefficientthanre-loadingsimulation dataat eachoptimizer iterationasexternal interfacesdo (seesec-tion 2.1). Here, at eachoptimizer iteration, SIMULATION_ENV is minimally updatedbyOPT_VARIABLE variableswhichcall thevoid SIMULATION_ENV::update_model(STRING,...)family of functions. Simulation module executions are, typically, the most costly part ofan optimization. At eachoptimization iteration,the simulation module is run oncein voidSIMULATION_ENV::execute_simulation(). Optimizationcriteriaarecalculatedaf-terwardsassimulation post-processing computations.SIMULATION_ENV is in chargeof op-timization criteria calculationusingthe list of pointersto criteria all_criteria, andthefamily of functionsVECTOR SIMULATION_ENV::get_result(STRING ).

Figure6 showsasampleof thesimulation-optimizationinterfacecodewith thecalculationsof theobjective functionandconstraintsfor a monocriterionoptimizer. In this codesample,optimizationvariablesandcriteriacomeinto play. Thecalculationsrely onvoid OPTIMIZER::run_simu-lation(LIST<int> ) which first checksthat designvariableshave changed(successive callsto theobjective functionandtheconstraintsdo no requirerepeatedsimulations),then,if necessary,updatesthe simulation environmentaccordingto the designvariablesandexecutesthe simulationand,finally, calculatestheoptimization criteria.

4 Applications to compositelaminate design

Compositelaminatedesignis proneto complex optimizationapproaches(see[21]) becauseof thenumberandthemathematicaldiversity of parametersthatcanbechanged:thematerialin eachlayer(discretevariable),thenumberof layers(discrete),theorientation of thefibersin eachlayers(continu-ousor discrete),processparameters(e.g.,injectionpressure,whichis continuous), . . . . Thevariablesimplementedareshown in Figure5. Varioustypesof simulationscanbeperformed: compactionandresintransfermodule[22], static,failure,bucklingandreliability analyses([23]). The45optimizationcriteria of Table1 call on thesesimulations. Beyond the wealthof variablesandcriteria,couplingsbetweenphenomenamake composite designbothdifficult andinteresting. An importantexample isthe fiber orientationswhich have an effect both on the injection andon the structuralpropertiesofthe laminate. It shouldalsobe notedthat compositedesigncriteria areoften multimodal in termsof thevariables,sothatglobaloptimizationmethodsarerecommended.Thecomplex links betweencompositelaminateanalysisandoptimizationhave fosteredthedevelopmentof theaforementionedsimulation-optimization interface(whichunderliestheLAMKIT software,[24]).

Thefollowingexamplesillustratehow theproposedinterfaceenrichescomposite laminatedesignformulations.To show how theinterfacefacilitatessolvingdifficult problems,theapplicationsgivenaredeliberatelycomplex: the first exampleis a coupledprocess,structure,reliability optimization,thesecondis a multiple objective optimization with materialandstructuralvariables.Eachproblemis tackledthroughthesuccessiveapplicationof differentoptimizers.

6

4.1 Optimization input files

Optimization inputfilescloselymatchtheprogrammingof theinterface.An example is givenin Fig-ure7. Thefile startswith ****optimize followedby thenameof anoptimizer(enumerator,evolution, multievolution, or gbnm) andfinishesat ****return. They arecomposedof threeparts,associatedto the baseclassesof the interface. ***variables announcesthe de-scriptionof thevariables,OPT VARIABLE. ***criteria and***constraint startthe inputof theobjective functionsandconstraints, respectively, bothfieldsinstantiatingobjectsderivedfromCRITERION. Finally, ***convergence precedesthelist of parametersassociatedto theparticu-lar optimizernamedafter****optimize.

Optimizationvariablesaredynamicallyandindependentlycreatedafter reading** followedbythe variablename.Variableshave 2 input fields, the onecommonto all variablesof the sametype(continuousor discrete)andannouncedeitherby *continuous or by *discrete, theotherspe-cific to the variableandfollowing *specific. All continuousvariableshave a name,minimum,maximum,initial andreferencevalues.All discretevariableshave a name,anorderedlist of possi-ble values,andaninitial value. As anexampleof specificvariabledatafield, laminateply variables(deriving from PLY_VARIABLE, cf. Figure5), needa layerposition anda laminatetype (general,symmetric,or balancedandsymmetric).

Optimization criteria keywordsanddefinitionsare listed in Table 1. Optimization criteria canrepresentanobjective function � , in whichcasethey follow the***criteria card.Thereferencevalueof thecriterion,which is a realnumber, comesafterthecriterionkeyword. Whenoptimizationcriteria areconstraints,they follow the ***constraint card. Two numbersare input after theconstraintkeyword, thefirst is theinitial valueof theassociatedpenaltyparameter, thesecondis thereferencevalueof thecriterion.

Thelist of parameterscontrolling eachoptimizercomesafter the***convergence card.Thespecificparametersandtheir meaning,which involves a descriptionof eachoptimizer, is beyondthescopeof thisarticle.

4.2 Coupledprocess,structur e, reliabili ty optimization

The designof a laminateproducedby compactionandresintransfermolding ([22]) is considered.Theresinis injectedon thesideof thelaminateat animposedpressure.Compactionstartsonce80%of themold hasbeenfilled at a rateof +-%�.0/213(54 . Onewishesto minimize thetotal processingtime,6!7�8:9<;

, while keepingtheinjection pressure,= 7�8:9<; , below >�?@+-%5AB=DC (to preventthefiberpreformfrombeingdamaged),andguaranteeinga minimumtransversestiffness,EGFIH JK%L?@+-%NMO=PC , with a certaindispersionon EQF , RS�TEUFV�W# X�?�+-%ZY[=PC . Otherpropertiesof the materialare: E �]\ >N^5%L?�_P=DC ,E `\ +VJa?bJ[_P=DC , c �de\ %L?f^K> , _ �d`\ _ �de\ Ja?fg[_P=DC , theply thicknessis %�?h%5%�+i1 , theviscosityof the resin is taken asconstantandequalto %L?@+-j�=PCk?l4 , the permeability alongand transversetothe fiber are XL?hgN^m+-%0. �dn and Ja?fg5^m+-%o. �dn 1 , respectively. For the reliability analysis,eachlaminatepropertyis consideredas a Normal randomvariablewhosemeanis its nominal value and whosestandarddeviation is 2% of thenominalvalue.Thestandarddeviation of thecriteria is estimatedbyMonteCarloanalysiswith 1000independentsamples.

Figure7 showstheoptimizationfile. Theproblemhas5 continuousdesignvariables,theinjectionpressure,cont_crtm_pressure, and4 continuousply angles,cont_ply_angle. The lami-nateis balancedandsymmetric. Beforeactuallyoptimizing the laminatecomposition andprocess,it is usuallydesirableto gain someinsight into the effect of the designvariableson the optimiza-tion criteria.A fake optimizer, calledenumerator, is usedto performtheneededparameterstudy.

7

Enumeratorsearchthedesignspacefollowing, by default, a linear trajectorybetweenthe lower andupperboundof eachvariablein no_increments steps.With theexhaustive_search option,it samplesthe hypercubeencompassingthedesignvariablesin no_incrementsno. of variables steps.Figure8 presentsthe resultsof the executionof the enumeratoroptimizer, i.e., the variationof thecriteria

6 7�8:9<;, = 7"8p9<; , ESF , and RS�TEUFq� asa functionof thevariables,theinjectionpressureandtheply

angles.Unlike injectionpressure,ply angleshaveaneffect bothon theprocess,6r7�8:9<;

and = 7�8:9<; , andthefinal structuralproperties,EQF , and RQ�dESFq� . Suchgraphsshows extremalvaluesof thecriteria,butall combinationsof variablescannotbeexploredbecauseof theexponentiallyincreasingpriceof anexhaustivesearch.

To obtainanoptimaldesign,oneresortsto a realoptimizer, theglobalizedandboundedNelder-Meadalgorithmproposedin [20]. Theoptimizationinput file is thesameasin Figure7, exceptthatthekeywordgbnm replacesenumerator andotherconvergenceparametersareset.Theoptimumsolutionfoundafter500analysesis: injectionpressure= >�?a+-%LA2=PC , stackingsequence= �psGgL?fXKtu(vs+-^L?fX5tu(ws$x�?h>Ntu(QsyXKx�?f^5tu� . Theplateis processedin JKz�?lzG4-{-| , themaximum pressureduringinjectionandcompactionis >�? +-%KAS=DC , andthe transverseYoung’s modulus is E[F \ j�?lxNXGs}%�?h%5X�+-% �dn =DC .Upperboundson theKuhnandTucker multipliers1 arealsoobtainedwith this optimizer. They are~�� \ ^K>�?bJ , ~�� F \ >5z�?fg and

~��5� � F�� \ zZJa?hz , for the pressure,transversestiffness,andtrans-versestiffnessstandarddeviationconstraints,respectively. Thesemultipliers, in accordancewith theconstraintsat theoptimum,show thatthetransversestiffnessconstraintis theleastcritical andcouldprobablyberelaxed.

4.3 Multip le and singleobjective structural optimization with material selec-tion

At an early stagein the designprocessof a structuralcomponent,onemay wish to have an unbi-asedinsight into theeffect of a materialchoiceon thevariouscriteriaconsidered.In sucha case,amultipleobjectiveproblemformulationis appropriatebecauseit aimsat describingall possiblecom-promisesbetweenthedesigncriteria. Thesetof compromisesis calledParetoset.A designbelongsto theParetosetif thereis no otherdesignwith all criteriabetter. On thecontrary, a singleobjectiveconstrainedoptimizationproblemformulation impliesemphasising thedesigncriterionchosenastheobjectivefunctionwhile limiting valuesaremoreor lessarbitrarilysetfor theothercriteria.Themostgeneralanalysiswhenmany criteriaarelookedafter is thereforethemultiple objectiveoptimization.Numericallyhowever, themultipleobjective is moreexpensive thanthesingleobjective formulation.In a reasonablenumberof analyses(20000here),onecanonly expectto obtainanapproximation ofthe Paretofront. Themostpromising designsin the Paretofront should thenbe fine tunedthroughsingleobjectiveoptimization.

The processof startingwith an imperfectmultiple objective optimization, selectinginterestingregionsof the approximatedParetofront andfinishingwith singleobjective optimization is readilycarriedout with the proposedsoftware architecture. The optimization input file is reproducedinFigure9. Designvariablesarethematerial,thefiber orientationandthenumberof eachlayer. Thematerial(ranked matl token)canbechosenindependentlyin eachlayer. In thecurrentexample,thematerialis glass-epoxy(GE),highresistancecarbon-epoxy(CEHR)or highmodulecarbon-epoxy(CEHM) (cf. Table2). Thenumberof layers(nb ply token)is thenumberof adjacentcopiesof eachlayer. Fiber orientations (disc ply angle token) are,unlike the previousexample,discreteandtakenamong% t , s�J0z t andg5% t . Thelaminateremainssymmetricandbalancedduringtheoptimization

1Sincethey areupper bounds,theusualrelation ��*�5�@�5���P���doesnotstand.

8

thanksto theinstructionlam type balanced symwhichmakesaply variableaffecttwoadjacentplies with opposite signsandthe two symmetricalplies. Designcriteria arethe thickness,first plyfailure dueto strainsin the materialprincipal directions,Young’s moduli in the x andy directions,andbuckling. More detailsconcerningthedefinitionsof thedesigncriteriaaregivenin Table1 andsection4.1. The plate is ^Kz�? |�1 long, >5zo?!|�1 wide, subjectedto a compressive longitudinal load� � \ �}z�?@+-%N� � (Z1 anda tensilelateral load

� F \ >o?hXKzNx�?�+V% / � (*1 . The multiple objectivealgorithmusedin theexampleis theNiched-Paretoevolutionary method([19]). The “niching” partof this optimizer requirescountingneighborsin thecriteriaspace,anaspectof themethodwhich issensitive to criterianormalization(seethenumbersfollowing criterianamesin Figure9).

Thesolutionto thismultiple objectiveproblemisaParetofront in 6dimensions(thenumberof cri-teria).A projectionof theestimatedParetofrontandtheinitial populationonthe �����a�:|�����{�4�45�u�u��|q�L���T� L�criteriaplaneis shown in Figure10. Theplot shows that theapproximatedParetofront carriesmoredesignsthatstrikeoptimalcompromisesbetween���a�:|�����{�4�4 and �u� |��L���p�� thantheinitial populationdoes.In particular, thick buckling resistantdesignsthatwereunlikely in the initial population (theyarecreatedby thecumulatedchoiceof glass-epoxyanda largenumberof layersfor many variables)aremuchbettersampledin theParetofront. However, theapproximatedParetofront, whichcontainsabout800designs,is toocomplex to enableany physical interpretation.An algorithm, activatedasanoptimizerwith thepostpareto keyword,permitsselectingthepointsof theParetofront accordingto their criteriavalues.Designsthatdo not buckleandthatdo not have failureandstiffnesscriteriaabove 0.5areselected.The10 selecteddesignsaresummarizedin Table3. All theselecteddesignsbut the6th usethepossibility of mixing materialsto achieve bettercompromises.The lastdesignistheonly onethatneitherbucklesnor fails in theTable.

This “safe design” is now improved by runninga final singleobjective constrainedevolution-ary search([18, 25]). The valuesof the safedesigncriteria are transformedinto constraints,apartfrom the thicknesswhich becomesthe objective function. The optimization input file is shown inFigure 11. Criteria becomeconstraintssimply by moving them from the ***criteria to the***constraint datafieldandaddingan initial valueof the penaltyparameterafter the criteriontoken. Parametersof the evolutionarysearcharefound underthe***convergence heading.Ifa feasiblepoint is found during the search,it will, by definition of the constraints,improve on thesafedesign.Suchprocedureis recommendedasapproximatedParetofront canmissoptimaldesigns.Theevolutionaryoptimizer finds,after10000analyses,thefollowing (feasible)optimumdesignthatmixeshigh resistanceandhighmodulefibers: ���T% �d � CEHR(L�ps�J0z5� CEHMM (a�d%  n � CEHR�¢¡ , whichhasa totalthicknessof £ \ +N?l>5z¤|�1 , and

~buckl

\ >o?l>Ng , ~ maxeto1\ +5?f%K> , ~ maxeto1

\ +5?f%Kx , E � \ XL+5?fj5g¥_P=DC ,ESF \ >5zo?lx5z¤_D=PC . Onecannoticehow highmodulefibersarerotatedwith respectto loadingaxes,sothat they contribute to transversestiffnesswithout enduringtoo largeprincipalstrains.With respectto themultiple objectivesolution, thisdesignis thinnerandhasa largerlongitudinal stiffness.

5 Conclusions

Whenmanufacturingcompositeslaminates,alargenumbersof parameterscanbecontrolledthathavean influenceon theprocess(e.g.,injectionpressure,injection gatelocation,compactionrate),or onthefinal structure,or evenonbothprocessandstructure(fibersarrangements,numberof plies,choiceof materials). In addition, numerousmanufacturingand designcriteria (e.g., injection maximumpressureor time,stiffness,failure)needto beconsideredwhenchoosingtheseparameters.

Theinherentcomplexity of compositedesignmakeit animportantexamplewherethearchitectureof thesimulation-optimizationconditionsthefinal design.Two exampleshavebeengivento illustrate

9

thepoint : a process-structureandamaterialselection-structurecoupledoptimization.The simulation-optimization interfacepresentedin the text is object-oriented,internal, and is

basedonfour naturalclasses,optimizationvariables,criteria,optimizersandsimulation environment.The classesare assembledthroughsystematicuseof object composition and the abstractfactorypattern.

It is likely thatwell-fundedinterfacepatternswill becomeincreasinglynecessaryasmoreprac-tical optimizers,usingall information availableaboutthe simulation (approximations,sensitivities,numericalcostof sub-simulations)comeinto use.

References

[1] B. Stroustrup.TheC++ ProgrammingLanguage. Addison-Wesley, 3 edition,1997.

[2] S. Meyers. EffectiveC++ : 50 waysto improveyour programsanddesigns. Addison-Wesleyprofessionalcomputing series.Addison-Wesley, 2 edition,1997.

[3] E. Gamma,R. Helm, R. Johnson,andJ. Vlissides. DesignPatterns: Elementsof ReusableObject-OrientedSoftware. Addisson-Wesley professionalcomputing series.Addisson-Wesley,1994.

[4] J.O. Coplien.Multi-paradigmdesignfor C++ . Addison-Wesley, 1998.

[5] J. BessonandR. Foerch. Large scaleobject-orientedfinite elementcodedesign. Computermethodsin appliedmechanicsandengineering, 142:165–187, 1997.

[6] J. BessonandR. Foerch. Object-orientedprogramming appliedto thefinite elementmethod–part1: Generalconcepts.RevueEuropeennedesElementsFinis, 7(5):535–566,1998.

[7] Y. Dubois-Pelerin, T. Zimmermann,andP. Bomme. Object-orientedfinite elementprogram-ming: II. a prototypeprogramin smalltalk. ComputerMethodsin Applied MechanicsandEngineering, 98:361–397,1992.

[8] B.W.R.Forde,R.O.Foschi,andS.F. Stiemer. Object-orientedfinite elementanalysis.Computer& Structures, 34(3):355–374, 1990.

[9] M.S. Eldred,D.E.Outka,W.J.Bohnhoff, W.R. Witkowski, V.J.Romero,E.R.Ponslet,andK.S.Chen. Optimization of complex mechanicssimulationswith object-orientedsoftwaredesign.ComputerModelingandSimulation in Engineering, 1(3),August1996.

[10] M.S.Eldred,A.A. Giunta,B.G.vanBloemenWaanders,S.F. Wojtkiewicz,W.E.Hart,andM. P.Alleva. DAKOTA, A Multilevel Parallel Object-OrientedFramework for DesignOptimization,ParameterEstimation, Uncertainty Quantification,andSensitivity Analysis. Version3.0 UsersManual. SandiaNatl.Laboratories,Albuquerque,NM, USA,December2001.SandiaTechnicalReportSAND2001-3796P.

[11] TheMathworksInc.,Natick,MA, USA. MATLABDocumentation, release12.1, 2001.

[12] NorthWesternNumerics,EcoledesMinesdeParis,Onera,INSA deRouen,Seattle,WA, USAor CentredesMateriauxP.-M. Fourt, Evry, France. Z-set– User Manual, release8.0, 2001.availableat http://www.nwnumerics.com.

10

[13] ParametricTechnologiesCorp.,Waltham,MA, USA. ProEngineer– UserManual,release22,2000.

[14] SwansonAnalysisSystems,Inc.,Houston,PA, USA. ANSYS– UserManual, 2001.

[15] B. EspingandO. Romell. StructuraloptimizationusingOASIS-ALADDIN. Technicalreport,NATO/DFGAdvancedStudyInstitute,Berchtesgaden,Germany, September-October1991.

[16] G.J.Moore.MSC/NASTRANDesignSensitivityandOptimizationUser’sGuide. TheMacNeal-SchwendlerCorporation,LosAngeles,CA, USA, 1992.

[17] Samtech,S.A.,Li ege,Belgium. SAMCEF-OPTI,version4.1, 1991.SAMTECHPublications.

[18] T. Back.EvolutionaryAlgorithmsin TheoryandPractice. OxfordUniv. Press,New York,USA,1996.

[19] J. Horn andN. Nafpliotis. Multiobjective optimization usingthe nichedparetogeneticalgo-rithm. TechnicalReport IllIGAL 93005,Departmentof GeneralEngineering,University ofIllinois at Urbana-Champaign,Urbana,IL, USA, 1993.

[20] M. LuersenandR. Le Riche. Globalisation de l’algorithmedeNelder-Mead: Application auxcomposites.Technicalreport,INSA deRouen,LMR, av. de l’Uni versite, 76801SaintEtienneduRouvraycedex, France,december2001. in French.

[21] Z. Gurdal,R.T. Haftka,andP. Hajela.DesignandOptimizationof LaminatedCompositeMate-rials. JohnWiley andSons,Inc.,New York, USA, 1999.

[22] A. Saouab,J.Breard,andG. Bouquet.Controle optimal desprocedesLCM. In CompteRenduJNC12, volume1, pages1117–1126, ENSCachan,2000. in French.

[23] J.-M.Berthelot.CompositeMaterials: MechanicalBehaviorandStructural Analysis. Mechan-ical EngineeringSeries.Springer, 1999.

[24] J. Gaudin and R. Le Riche. LAMKIT – Online Presentation. EADS CentreCommundeRecherches,2001.availableat http://www.eads.net/lamkit.

[25] R. Le RicheandJ. Gaudin. Designof dimensionally stablecompositesby evolutionary opti-mization.CompositeStructures, 41:97–111,1998.

A The abstract factory

Theabstractfactorypattern,originally describedin [3] andimprovedin [6], is awayto createfamiliesof objectsderiving from thesameclasswithoutspecifyingtheirconcretetype.Theconcretetypewillbe decidedat run time. The abstractfactoryis basedon dynamicinheritance([1]). In the exampleof Figure3, all_criteria of theSIMULATION_ENV classareinstancesof classesderivedfromCRITERION, sayEX_CRITERION andBUCKLING_CRITERION. TheCRITERION::calcul-ate(...) methodis calledin SIMULATION_ENV throughinstructionslike,

double c = all_criteria[i]->calculate(...);

11

x

f , g

write input_file (x)

execute simulation

write output_file

read output_file

optimizer simulation

executable 1 executable 2

time

translator

Figure1: Externalsimulation-optimizerinterface,oneevaluation.

template instanciation for x = (L W) = (10 5)

input_file.tmpl

length ?Lwidth ?W

(...)

(...)

(...)

(...)

input_file

length 10width 5

Figure2: Templateinstantiationasgenericinterfacingmechanism(from [12]).

Thepointerisdereferenciatedatruntime,sothatspecificEX_CRITERION::calculate(...)or BUCKLING_CRITERION::calculate(...) methodsarecalled,accordingto the true typeof all_criteria[i]. Whena new class,e.g.,MAXETO1_CRITERION, is addedto theproject,theabstractfactorymakesit possibleto automatically instantiateit throughoutthecode.Anotherad-vantageof theabstractfactory, with respectto otherfactorypatterns([3]), is thatthenew instantiationtakesplacewithout modifying or compiling previous files (it remainsnecessaryto re-link the codewith thenew compiledfiles). The abstractfactorycanbeseenasa “plugin” mechanism.Dynamicinheritancethenmakesthenew methodsMAXETO1_CRITERION::calculate(...) availablewithoutany changeto old files.

12

SIMULATION_ENV* env;

virtual void read(ASCII_FILE & file);virtual bool verification();virtual void update_simulation_env() = 0;

OPT_VARIABLE

virtual void read(ASCII_FILE & file);

file) = 0;

SIMULATION_ENV* env;double ref_value;

virtual bool verification();

virtual double calculate() = 0;

virtual void read(ASCII_FILE & file);

CRITERION

virtual double calculate_unnormed_crit();

LIST<CRITERION*> all_criteria;LIST<int> index_of, index_constraints;LIST<MECH_SYST*> mech_syst;STRUC_TYPE* structure;

void execute_simulation();VECTOR calculate_criteria(LIST<int> index,

SIMULATION_ENV

cont_variables, disc_variables;SIMULATION_ENV* env;

LIST<OPT_VARIABLE*> variables,

bool raw_criteria;

VECTOR run_simulation(LIST<int> act_criteria);VECTOR of_monocriterion();

VECTOR of_multicriterion();

virtual bool verification();virtual void read(ASCII_FILE & file);

virtual void read_convergence(ASCII_FILE &

virtual void optimize() = 0;

OPTIMIZER

VECTOR contraints_monocriterion(); void update_model(STRING name, VECTOR );VECTOR get_result(STRING name);

bool unnormed_criteria);

Figure3: Overview of thesimulation-optimizer interface.

13

file) = 0;

OPT_VARIABLE crossover();OPT_VARIABLE mutation();LIST<OPT_VARIABLE> initialize();

EVOLUTION

int select();virtual void read_convergence(

ASCII_FILE & file);virtual void optimize();

MULTIEVOLUTION

int select();virtual void read_convergence(

ASCII_FILE & file);virtual void optimize();

MONOEVOLUTION

virtual void read_convergence(ASCII_FILE & file);

virtual void optimize();

GBNM

virtual void read_convergence(ASCII_FILE & file);

virtual void optimize();

ENUMERATOR

cont_variables, disc_variables;SIMULATION_ENV* env;

LIST<OPT_VARIABLE*> variables,

bool raw_criteria;

VECTOR run_simulation(LIST<int> act_criteria);VECTOR of_monocriterion();VECTOR contraints_monocriterion()VECTOR of_multicriterion();

virtual bool verification();virtual void read(ASCII_FILE & file);

virtual void read_convergence(ASCII_FILE &

virtual void optimize() = 0;

OPTIMIZER

Figure4: Optimizer inheritancehierarchy.

14

virtual void read(ASCII_FILE & file);virtual bool verification();virtual void update_simulation_env() = 0;

double value, value_min, value_max,

void norm(); void unnorm();void set_value(double ); double get_value();double distance(CONT_OPT_VARIABLE );virtual void update_simulation_env() = 0;

value_ref; int value;LIST<int> possible_values;

double distance(CONT_OPT_VARIABLE );virtual void update_simulation_env() = 0;

void set_value(int ); int get_value();

virtual void update_simulation_env();

virtual void update_simulation_env();

virtual void update_simulation_env();

int seq_position; STRING lam_type;LIST<int> calc_seq_positions();

virtual void verification();virtual void update_simulation_env();

virtual void update_simulation_env();

SIMULATION_ENV* env;

OPT_VARIABLE

CONT_OPT_VARIABLE DISC_OPT_VARIABLE

DISC_PLY_ANGLE

NB_PLY

MATL_VARIABLE

PLY_VARIABLE

CRTM_PRESSURE

FLOW_RATE,INJECTION_PERCENT,COMPRESSION_RATE.

similarly with

CONT_PLY_ANGLE

Figure5: Designvariablesinheritancehierarchy.

15

VECTOR OPTIMIZER::of_monocriterion() { return run_simulation(index_criterion); }

VECTOR OPTIMIZER::constraints_monocriterion(){ return run_simulation(index_constraints); }

VECTOR SIMULATION_ENV::calculate_criteria(LIST<int> active_crit, bool unnormed_crit)

{ VECTOR cv; for (int i=0;i<length(active_crit);i++) { int j = active_crit[i];

else cv[i]=all_criteria[j]−>calculate(); } return cv; }

if (unnormed_crit) cv[i]=all_criteria[j]−>calculate_unnormed_crit();

VECTOR OPTIMIZER::run_simulation(LIST<int> active_crit){ if (variables_different_from_last_call()) {

for (int i=0; i<length(variables);i++) variables[i]−>update_simulation_env(); env−>execute_simulation(); } return env−>calculate_criteria(active_crit,unnormed_criteria); }

Figure6: Samplecodeof thesimulation-optimizationinterface.

16

process-structure.opt process-structure.opt(cont.)****optimize enunerator (Similarly with 2nd.,3rd. and4th. ply anglevariables.***variables Thenumbersafterseq are2, 3 and4, respectively.)**cont crtm pressure ***criteria*continuous crtm time 50.name pressure ***constraintref 1.e+05 crtm pressure max 0. 2.e+05init 1.e+05 Ey 0. 40.e+09min 5.e+04 dev Ey 0. 8.e+08max 9.e+05 ***convergence

**cont ply angle no increments 19*continuous (optionally exhaustive search )name t1 ****returnref 1.init 15.min 0.max 90.

*specificseq 1lam type gal

Figure7: Optimizationinput file for thecoupledprocessstructureproblemandenumerator opti-mizer.

17

30405060708090

100110120

0 10 20 30 40 50 60 70 80 90

CR

TM

tim

e

¦

theta

140000160000180000200000220000240000260000280000300000

0 10 20 30 40 50 60 70 80 90m

axim

al C

RT

M p

ress

ure

theta

0

5e+10

1e+11

1.5e+11

2e+11

2.5e+11

0 10 20 30 40 50 60 70 80 90

Ey§

theta

05e+081e+09

1.5e+092e+09

2.5e+093e+09

3.5e+094e+09

0 10 20 30 40 50 60 70 80 90

dev_

Ey

theta

Figure8: Criteriavariationsof a ¨T©PªN«­¬¢® laminateasa functionof ª andinjectionpressure.Pressureis ¯5?f°i±³²K´vµP¶ for circledlinesand ·L?f°i±³²K´wµP¶ for crossedlines.

18

thickmat.opt thickmat.opt (cont.)****optimize multievolution (Similarly with 2nd.and3rd. layers,***variables thenumbersafterseq are2 and3 )**ranked matl ***criteria*discrete thickness 0.005name m1 buckling 30.0values GE CEHR CEHM maxeto1 1.0init CEHM maxeto2 1.0

Ex 85.e+9*specific Ey 45.e+9seq 1lam type balanced sym ***convergence

**nb ply *evolution*discrete population size 1000name n1 prob muta 0.3values 1 2 3 4 5 6 7 8 9 10 prob Xover 0.4init 2 max nb analyse 20000

*specific *specificseq 1 sig share 100.lam type balanced sym size comparison set 95

**disc ply angle*discrete ****returnname t1values 0 45 90init 45

*specificseq 1lam type balanced sym

Figure9: Multiple objectiveoptimizationfile of thestructuralandmaterialproblem.

19

−2 0 2 4 6 8 10 12−2.5

−2

−1.5

−1

−0.5

0

0.5

1

normalized thickness criterion

norm

aliz

ed b

uckl

ing

crite

rion

initial pop.Approx. ParetoSelected pts

thick, buckling resistantdesigns absent from initial population

Figure10: Material selectionandstructuraloptimization. Initial population, approximatedParetofront, andselectedpoints of theParetofront projectedon the ¨"¸�¹aº:»�¼�½�°�¾�¾5¿uÀuÁ�»q¼�Â"ºT½ ÃL« normalizedcri-teriaplane.

thickmat.opt thickmat.opt(cont.)****optimize evolution ***convergence***variables *evolution

. . . cf. Figure9 population size 500***criteria prob muta 0.3thickness 0.005 prob Xover 0.4

***constraint max nb analyse 10000buckling 0. 1.0 *specificmaxeto1 0. 1.0 lag mult step 1.0maxeto2 0. 1.0 tourn size 2Ex 0. 50.e+9 ****returnEy 0. 25.e+9

Figure11: Inputfile for constrainedsingleobjectiveevolutionary optimization.

20

criterion normedexpression unnormed ex-pression

alphax : longitudinal coefficient ofthermalexpansion. Ä�ÅÇÆaÄ)ÈNÅ refÆÊÉ ¯ ÅËÆ

. . . similarly with alphay, thecoefficientsof hygralexpansionbetax andbetay, andthetotal strainsEPSx andEPSy.Ex : longitudinalYoung’smodulus.

¯ ÉÍÌ Æ*È Ì refÆ Ì Æ

. . . similarly with Ey, shear’s modulus,Gxy andPoisson’s ratio,vxy.maxeto1 : 1st ply failure using strainin fiber direction,writtenasa loadfactor,Î

fail Ï Ð ºT½ plies"Ñ refÒ È�Ä Ñ Ò Ä�«`Ó Îref. ¯ ÉeÔ�Õ�Ö

plies¨�Ñ refÒ È�Ä Ñ Ò Ä)«�È Î ref Ð ºp½ plies"Ñ refÒ È�Ä Ñ Ò Ä�«

. . . similarly with maxeto2, maxeto12, principal stressesfailure criteria,maxsig1,maxsig2 andmaxsig12, Tsai-Wu, Hoffman,andTsai-Hill failure criteria,max wu,max hoffman andmax hill.buckling : critical buckling load.

¯ É Îbuckl È Î ref

Îbuckl

crtm_time : injection (by CRTM)time, × crtm. × crtm È�× ref

crtm É ¯ × crtm

crtm_pressure_max : maximumpressureduring injection (by CRTM),µ crtm.

µ crtm ÈZµ refcrtm É ¯ µ crtm

thickness : total laminate thickness,Ø.

Ø È Ø ref É ¯ Ø

dev_alphax : standarddeviationof thelongitudinalcoefficientof thermalexpan-sion. Ä�ÙQ¨dÅÚÆ-«�Ä�È5Ù ref ¨dÅÚÆ*« É ¯ ÙS¨dÅÚÆ*«

. . . similarly with dev alphay, dev betax, dev betay, dev EPSx, dev EPSy,dev Ex, dev Ey, dev Gxy, dev vxy, dev maxeto1, dev maxeto2,dev maxeto12, dev maxsig1, dev maxsig2, dev maxsig12, dev max wu,dev max hoffman, dev max hill, dev buckling, dev crtm time,dev crtm pressure max.

Table1: Summaryof optimizationcriteriaimplementedby derivation of CRITERION. Ù denotesthestandarddeviation, ref andref referencevalues.

21

thickness( ÐÛÐ )

Ì Ò¨TÜPµP¶�« ÌQݨTÜPµD¶o«Þ Ò Ý Ü Ò Ý¨TÜPµD¶o«

Ñ r ß:àÒ Ñ r ßpàÝGraphiteEpoxy(GE)

0.5 46. 10. 0.31 4.6 0.005 0.004

CarbonEpoxyHR (CEHR)

0.125 115. 10. 0.33 5. 0.005 0.004

CarbonEpoxyHM (CEHM)

0.125 230. 14.4 0.32 5. 0.0015 0.001

Table2: Materialsof thestructuralandmaterialoptimizationproblem.

designs unnormedcriteriaH ( » Ð )

Îbuckl

Îmaxeto1

Îmaxeto2 Ì Æ ( ÜDµP¶ ) ÌUá ( ÜPµD¶ )

¨T©Gâ0´ CEHMã ÈZ² CEHRÒdä ÈS©åâ0´ CEHRÝ «�® 1 1.84 0.63 0.63 62.93 28.44¨T² CEHRÝ ÈS©æâ0´ CEHMÒdç ÈN² CEHRÒdä «¢® 1.05 1.87 0.74 0.74 70.32 28.60

¨T² CEHRÒdè ÈS©åâ0´ CEHMÒdè «¢® 1.2 1.75 0.62 0.60 51.56 30.02¨T² CEHRÒdä ÈS©åâ0´ CEHMÒdè «¢® 1.25 1.84 0.67 0.66 54.20 30.10

¨T©Gâ0´ CEHRé ÈZ² CEHRÝ ç ÈQ©³â0´ CEHMä «�® 1.25 1.93 0.72 0.74 57.75 26.82¨dê5² CEHRÝ ç ÈN² CEHRë Ý «�® 1.3 1.29 0.98 0.78 75.11 50.72

¨T©Gâ0´ CEHRÒdç ÈS©æâK´ CEHMã ÈN² CEHRÒ ¬ «�® 1.3 2.77 0.58 0.59 44.78 26.46¨T² CEHMÝ ä ÈNêN² GEÒdç «¢® 1.7 3.16 0.51 1.37 100.90 33.46¨dê5² GEÒ Ý ÈN² CEHRë ¬ «�® 2.05 2.92 1.10 0.88 53.80 31.49

¨d² CEHRÒdä ÈNê5² CEHRÒdè ÈN² GEÒdä «�® 2.65 10.94 1.40 1.12 52.76 25.98

Table3: Designsselectedfrom Paretofront of Figure10. Criteriaaredefinedin Table1.

22