I det aktuelle problemet analyseres det optimale designet for en 200 mm lang kragebjelke med forskjellige geometriske variabler, hvor objektivfunksjonen er massen av bjelken. Målsetningen er å minimere massen under en rekke ulikhetsbetingelser som bestemmer både mekanisk og geometrisk integritet. Et slikt problem er vanlig i strukturell optimalisering, hvor man ønsker å oppnå et design som møter spesifikasjoner, samtidig som ressursbruken (i dette tilfellet massen) holdes på et minimum.

Bjelken i studien har følgende parametere:

  • Lengde: L=2540mmL = 2540 \, \text{mm}

  • Påført kraft: F0=2667NF_0 = 2667 \, \text{N}

  • Youngs modulus: E=68948MPaE = 68948 \, \text{MPa}

  • Materialets flytespenning: Rp0.2=247MPaR_{p0.2} = 247 \, \text{MPa}

  • Materialtetthet: ρ=2.691×104kg/mm3\rho = 2.691 \times 10^{ -4} \, \text{kg/mm}^3

De tre ulikhetsbetingelsene som styrer designet er som følger:

  1. Displacement: g1(X1,X2)=4r1L0g_1(X_1, X_2) = 4 - r_1L \leq 0

  2. Normal stress: g2(X1,X2)=6Rp0.20g_2(X_1, X_2) = 6 - R_{p0.2} \leq 0

  3. Høyde-til-bredde-forhold: g3(X1,X2)=X220X10g_3(X_1, X_2) = X_2 - 20X_1 \leq 0

For å finne den optimale løsningen, hvor massen m(X1,X2)m(X_1, X_2) minimeres under disse betingelsene, benyttes en numerisk tilnærming som løser systemet av ikke-lineære likninger. Den eksakte løsningen for den optimale verdien av designvariablene X1X_1 og X2X_2 kan beregnes ved å finne skjæringspunktene mellom de relevante kurvene på diagrammet for de tre ulikhetsbetingelsene.

Beregningene avslører at den optimale verdien for designvariablene er:

  • X1=8.031mmX_1 = 8.031 \, \text{mm}

  • X2=160.614mmX_2 = 160.614 \, \text{mm}

I det spesifikke tilfellet, der r1=0.03r_1 = 0.03, gir den optimale løsningen en totalmasse på 8.8kg8.8 \, \text{kg}, som er en betydelig reduksjon sammenlignet med den opprinnelige massen på 27.9kg27.9 \, \text{kg}.

For å løse dette numerisk kan man bruke programvare som wxMaxima, som lar oss implementere de nødvendige beregningene. Eksempelet nedenfor viser hvordan man kan sette opp problemet og finne den optimale løsningen ved hjelp av Newtons metode for flere variabler med ulikhetsbetingelser.

ruby
load("my_funs.mac")$ fpprintprec:6$ ratprint: false$ eps : 1/1000 L : 2540$ E : 68948$ ro : 2.691e-6$ R_p02 : 247$ F_0 : 2667$ r_1 : 0.03$ func_obj(X) := ro*L*X[1]*X[2]$ g[1](X) := (4*F_0*(L^3))/(E*X[1]*(X[2]^3)) - r_1*L$ g[2](X) := (6*F_0*L)/(X[1]*(X[2]^2)) - R_p02$
g[3](X) := X[2] - 20*X[1]$
no_of_vars :
2$ X_0 : [X[1]=1,X[2]=1]$ alpha_0 : 1$
r_p_0s : [0.5, 1, 10, 20, 50, 100]$
gamma_value :
1$ for r : 1 thru length(r_p_0s) do ( print("=============="), print("For ", r_p = r_p_0s[r]), [X_new, pseudo_objective_fun_value] : Newton_multi_variable_constrained (func_obj,no_of_vars,X_0,alpha_0,eps,r_p_0s[r], gamma_value, "Kuhn_Tucker",false), print(X["1"] = rhs(X_new[1])), print(X["2"] = rhs(X_new[2])), printf(true, "The pseudo-objective function value at this point: F = ˜,6f", pseudo_objective_fun_value), X_0 : copy(X_new) )

Ved hjelp av denne tilnærmingen kan vi iterere gjennom forskjellige verdier av rpr_p og konvergere til en optimal løsning. For rp=0.5r_p = 0.5, for eksempel, konvergerer løsningen etter 18 iterasjoner til X1=8.028mmX_1 = 8.028 \, \text{mm} og X2=160.591mmX_2 = 160.591 \, \text{mm}, med en verdi for den pseudomålte objektivfunksjonen på F=8.814kgF = 8.814 \, \text{kg}. Denne tilnærmingen gir en nøyaktighet som er tilstrekkelig for ingeniørformål.

Når man benytter numeriske metoder for optimalisering, er det viktig å forstå at resultatene kan påvirkes av flere faktorer, som valg av startverdier og konvergenskriterier. Det er derfor nyttig å eksperimentere med forskjellige innstillinger og parameterverdier for å sikre at man får en globalt optimal løsning, ikke bare en lokal minimum.

Det er også viktig å merke seg at de fysiske begrensningene for strukturen spiller en stor rolle i hvordan designvariablene blir valgt. For eksempel, det høyde-til-bredde-forholdet (g3g_3) setter en grense for hvor smal bjelken kan være i forhold til høyden, noe som kan være viktig for å opprettholde stabiliteten under belastning.

Hvordan optimalisere massen av en tverrsnittet bjelke under belastning: En analyse av designvariabler og stressbegrensninger

Optimalisering av strukturelle komponenter som bjelker krever nøyaktige beregninger og forståelse av både belastninger og materialegenskaper. I dette kapitlet ser vi på hvordan man kan minimere massen av en bjelke ved hjelp av designvariabler og hvordan man håndterer flere betingelser for å sikre at konstruksjonen forblir trygg og funksjonell. Vi tar utgangspunkt i et eksempel på en rektangulær bjelke med konstant tverrsnitt og to designvariabler: bredde (a) og høyde (b). Målet er å finne den minimale massen under hensyn til de nødvendige styrke- og stivhetskravene.

Målet for optimalisering er å minimere massen av bjelken, som kan uttrykkes som en funksjon av designvariablene X1=aX_1 = a og X2=bX_2 = b. Funksjonen for massen er gitt ved:

F(X1,X2)=m(X1,X2)=ρLX1X2F(X_1, X_2) = m(X_1, X_2) = \rho L X_1 X_2

hvor ρ\rho er materialets tetthet, LL er lengden på bjelken, og X1X_1 og X2X_2 er de to designvariablene. Denne funksjonen må minimeres under tre ujevnhetsbetingelser som representerer normalspenning, skjærspenning og forholdet mellom høyde og bredde (height-to-width ratio):

  1. Normalspenning:

g1(X1,X2)=6F0LX1X22Rp0.20g_1(X_1, X_2) = \frac{6 F_0 L}{X_1 X_2^2} - R_{p0.2} \leq 0
  1. Skjærspenning:

g2(X1,X2)=3F02X1X2Rp0.220g_2(X_1, X_2) = \frac{3 F_0}{2 X_1 X_2} - \frac{R_{p0.2}}{2} \leq 0
  1. Høyde-til-bredde-forhold:

g3(X1,X2)=X220X10g_3(X_1, X_2) = X_2 - 20 X_1 \leq 0

Her er F0F_0 den påførte belastningen, Rp0.2R_{p0.2} er materialets flytegrense, og LL er lengden på bjelken.

For å finne den optimale løsningen, analyserer vi disse betingelsene. Den optimale løsningen for designvariablene oppstår ved skjæringspunktet mellom kurvene g1g_1 og g3g_3, som gir:

X1extr=5.157mm,X2extr=103.135mmX_1^{extr} = 5.157 \, \text{mm}, \quad X_2^{extr} = 103.135 \, \text{mm}

Dette betyr at bjelkens optimale bredde og høyde for å minimere massen samtidig som de relevante belastningskravene overholdes, er henholdsvis 5.157 mm og 103.135 mm. Når disse verdiene brukes, gir de en total masse på 1.212 kg, som er betydelig lavere enn den totale massen for de opprinnelige designmålene (2.611 kg).

For å implementere denne optimaliseringen i praksis, kan vi bruke numeriske metoder som Newtons metode for flere variabler med begrensninger, som vist i kodeeksempelet. Dette gir en presis løsning på problemet med flere designvariabler og betingelser.

Videre er det viktig å merke seg at de kritiske spennings- og forskyvningsverdiene i strukturen også må overholdes for å sikre at bjelken ikke feiler under belastning. Spenningene kan beregnes ved hjelp av de indre reaksjonene og momentene, og disse verdiene gir et klart bilde av hvor stresset i strukturen er størst, og hvor det er nødvendig med designjusteringer.

Hva er da den viktigste lærdommen for leseren? For det første er det avgjørende å forstå at optimaliseringen ikke bare handler om å minimere massen, men også om å opprettholde strukturell integritet under belastning. De tre ujevnhetsbetingelsene representerer faktorer som er kritiske for bjelkens ytelse, og å finne balansen mellom dem er essensielt for å oppnå både økonomisk og teknisk optimale løsninger.

Videre bør leseren være oppmerksom på at selv om teoretiske løsninger gir et klart bilde av hva som er mulig, vil praktiske faktorer som materialvalg, produksjonsmetoder og sikkerhetsmarginer også spille en viktig rolle i designprosessen. Design som oppfyller tekniske krav på papiret, kan fortsatt ha behov for tilpasninger i den virkelige verden for å møte faktiske forhold.

Hvordan optimere en trinnvis cantilever-bjelke med tre seksjoner?

Når man arbeider med trinnvis bjelkedesign, hvor flere seksjoner med ulik tverrsnitt er involvert, er det viktig å ta hensyn til de mekaniske egenskapene til hver seksjon og deres påvirkning på det totale systemet. Et slikt design kan være komplisert på grunn av de mange variablene som må vurderes, inkludert stivhet, stressfordeling og optimalisering under ulike fysiske betingelser. Et konkret eksempel er optimalisering av en trinnvis cantilever-bjelke med tre seksjoner, hvor det er nødvendig å beregne styrke, skjærkraft og momentfordeling gjennom de forskjellige seksjonene.

En typisk stivhetsmatrise for et Euler-Bernoulli-bjelkeselement kan uttrykkes som følger:

Ke=[12L36L212L36L26L24L6L22L12L36L212L36L26L22L6L24L]K_e = \left[ \begin{array}{cccccc}
-\frac{12}{L^3} & \frac{6}{L^2} & -\frac{12}{L^3} & \frac{6}{L^2} \\ \frac{6}{L^2} & \frac{4}{L} & \frac{6}{L^2} & \frac{2}{L} \\ -\frac{12}{L^3} & \frac{6}{L^2} & -\frac{12}{L^3} & \frac{6}{L^2} \\ \frac{6}{L^2} & \frac{2}{L} & \frac{6}{L^2} & \frac{4}{L} \\ \end{array} \right]

For en bjelke som består av tre seksjoner, kan de individuelle stivhetsmatrisene for hver seksjon settes sammen til en global stivhetsmatrise, som vil være ansvarlig for å beskrive systemets samlede oppførsel. Hvis man antar at stivheten (EI) og lengdene (L) for alle seksjonene er like, vil den globale stivhetsmatrisen ta form som en 12x12 matrise, hvor hvert element representerer de mekaniske koblingene mellom nodene på tvers av bjelken.

Når denne matrisen er etablert, kan vi begynne å løse systemet av lineære ligninger for å finne de ukjente forskyvningene og rotasjonsvinklene i nodene. Dette kan oppnås ved å invertere den globale stivhetsmatrisen og multiplisere med den høyre siden av ligningene, som gir oss en løsning for de ukjente verdiene av noder. For eksempel, løsningen for forskyvningene og rotasjonene kan representeres som:

u=K1fu = K^{ -1} f

hvor K1K^{ -1} er den inverterte globale stivhetsmatrisen og ff er kraftvektoren.

Videre er det mulig å beregne fordelinger av bøyningsmoment og skjærkraft i hvert element av bjelken. Dette kan uttrykkes som:

My(x)=EIy(6Lx+12x2)M_y(x) = E I_y \left( -\frac{6}{L} x + 12x^2 \right)
Qz(x)=12EIyL3(u1z+6x+12x2)Q_z(x) = \frac{12E I_y}{L^3} \left( -u_1z + 6x + 12x^2 \right)

I tillegg til disse beregningene må man også vurdere spenningene i systemet, som kan beregnes som:

σy(x,z)=My(x)Iyz\sigma_y(x, z) = \frac{M_y(x)}{I_y} \cdot z
τxz(x,z)=Qz(x)b(1z2Iy)\tau_{xz}(x, z) = \frac{Q_z(x)}{b} \cdot \left(1 - \frac{z^2}{I_y}\right)

Der σy\sigma_y representerer normalspenningen og τxz\tau_{xz} er skjærspenningen i materialet, begge som funksjoner av posisjonen i bjelken.

Den optimale utformingen av bjelken krever at man minimerer massen F(X1,X2,X3,X4,X5,X6)F(X_1, X_2, X_3, X_4, X_5, X_6), som er definert som:

F(X1,,X6)=L1X1X2+L2X3X4+L3X5X6F(X_1, \dots, X_6) = L_1X_1X_2 + L_2X_3X_4 + L_3X_5X_6

hvor X1,X2,X3,X4,X5,X6X_1, X_2, X_3, X_4, X_5, X_6 representerer designvariablene for høyden og bredden på de ulike seksjonene, og L1,L2,L3L_1, L_2, L_3 er lengdene til de respektive seksjonene.

Dette optimaliseringsproblemet er underlagt flere ulikhetsbetingelser som inkluderer maksimale forskyvninger, spenninger og forholdet mellom høyde og bredde i hver seksjon, som alle må oppfylles for å sikre at bjelken er både sterk og økonomisk. For eksempel:

g1=F0(19IIIIIII+7IIIIII+IIIII)L310(maksimal forskyvning)g_1 = F_0 \cdot (19III \cdot IIII + 7II \cdot IIII + II \cdot III) \cdot L^3 - 1 \leq 0 \quad \text{(maksimal forskyvning)}
g2=6F0LX2Rp0.20(normalspenning i seksjon I)g_2 = 6F_0L \cdot X_2 - R_{p0.2} \leq 0 \quad \text{(normalspenning i seksjon I)}
g8=X220X10(høyde-bredde forhold i seksjon I)g_8 = X_2 - 20X_1 \leq 0 \quad \text{(høyde-bredde forhold i seksjon I)}

Slike betingelser må følges nøye for å få en optimal løsning som både er funksjonell og effektiv.

I denne konteksten er det viktig å forstå at optimaliseringen ikke bare handler om å minimere massen, men også om å fordele stressene på en måte som ikke overskrider materialets maksimale tåleevne. En vellykket optimalisering gir en bjelke som oppfyller både mekaniske krav og økonomiske begrensninger, og som samtidig maksimerer systemets samlede ytelse.

Hvordan minimere massen av en trappet bjelke under flere betingelser?

Funksjonen som beskriver målet for optimaliseringen av bjelkens masse kan uttrykkes som en funksjon av fire designvariabler: aI=aIV=X1a_I = a_IV = X_1, bI=bIV=X2b_I = b_IV = X_2, aII=aIII=X3a_{II} = a_{III} = X_3, og bII=bIII=X4b_{II} = b_{III} = X_4. Dette gir den totale objektfunksjonen:

F(X1,X2,X3,X4)=2ρL1X1X2+2ρL2X3X4F(X_1, X_2, X_3, X_4) = 2\rho L_1 X_1 X_2 + 2\rho L_2 X_3 X_4

Målet er å minimere denne funksjonen under et sett med 13 ulikhetsbetingelser som tar hensyn til både normalspenning, skjærspenning og geometriske forhold i hvert element. Hver av de ulike elementene i strukturen er underlagt spesifikke restriksjoner, som for eksempel maksimal forskyvning og materialstyrke, som er beskrevet i de følgende ligningene:

  1. Maksimal forskyvning for hvert segment:

    g1=F0(IIII+7III)L310g_1 = F_0 \left( I_{III} + 7 I_{II} \right) L_3 - 1 \leq 0
  2. Begrensning på normalspenningene i hvert segment:

    g2=3F0L4X1X2σp0.20g_2 = \frac{3 F_0 L}{4 X_1 X_2} - \sigma_{p0.2} \leq 0
    g3=3F0L2X3X2σp0.20g_3 = \frac{3 F_0 L}{2 X_3 X_2} - \sigma_{p0.2} \leq 0
  3. Begrensning på skjærspenningene:

    g6=3F04X1X22τp0.20g_6 = \frac{3 F_0}{4 X_1 X_2^2} - \tau_{p0.2} \leq 0
  4. Geometriske begrensninger som sørger for at høyde-til-bredde forholdet i hvert segment ikke overskrider en viss verdi:

    g10=X220X10g_{10} = X_2 - 20 X_1 \leq 0
    g11=X420X30g_{11} = X_4 - 20 X_3 \leq 0

For å løse dette optimeringsproblemet numerisk kan man benytte metoder som Newton-Raphson for multivariable funksjoner med restriksjoner. I dette tilfellet er programmet wxMaxima brukt for å finne minimumet av objektfunksjonen ved å implementere de gitte betingelsene.

For å løse problemet, setter man først opp de nødvendige parametrene for materialegenskaper og geometriske dimensjoner, som Youngs modulus EE, tettheten ρ\rho, og materialstyrken σp0.2\sigma_{p0.2}. Deretter kan programmet kjøre iterasjoner for å bestemme verdiene av X1,X2,X3,X_1, X_2, X_3, og X4X_4 som minimerer objektfunksjonen under de gitte betingelsene.

Eksempel på løsning:

For rp=0.05r_p = 0.05, etter fem iterasjoner, konvergerer løsningen til verdiene X1=4.07707X_1 = 4.07707, X2=81.6111X_2 = 81.6111, X3=5.63897X_3 = 5.63897, og X4=112.876X_4 = 112.876, med en objektfunksjonsverdi på F=3.333398F = 3.333398.

Viktige faktorer som bør vurderes i forbindelse med optimering av strukturer som denne er både den mekaniske responsen til materialet under last og de praktiske aspektene ved designet, som enkel produksjon og installasjon. Når man utfører slike beregninger, er det viktig å ta hensyn til at de numeriske metodene som benyttes, kan være følsomme for valg av initialbetingelser, og det kan være nødvendig å kjøre flere iterasjoner for å sikre at løsningen er robust.

I tillegg er det viktig å vurdere realistiske materialstyrker og faktorer som sikkerhetsmarginer, spesielt for konstruksjoner som skal brukes i kritiske applikasjoner som bygninger eller broer. Videre bør man være oppmerksom på at selv små endringer i dimensjonene til bjelkene kan ha stor innvirkning på både vekt og styrke.

Endtext

Hvordan implementere Newtons metode for flere variabler med pseudo-målfunksjoner i Maxima

Newtons metode er en viktig numerisk teknikk for å finne ekstremalpunkter (maksima eller minima) av funksjoner. Denne metoden er spesielt nyttig i optimering når det er flere variabler involvert. Ved å benytte gradient og hessian, kan man effektivt nærme seg løsningen ved iterativt å justere variablene.

Den grunnleggende ideen bak Newtons metode er å bruke informasjon om første- og andreordens derivater av funksjonen, det vil si gradienten (første derivert) og hessianen (andre derivert). Ved å bruke denne informasjonen kan vi gjøre presise oppdateringer av variablene for å finne et minimum eller maksimum av funksjonen.

I koden som er beskrevet, ser vi et eksempel på hvordan Newtons metode kan implementeres i Maxima for flere variabler, både for ubetingede og betingede optimeringsproblemer.

Først blir gradienten og hessianen av en objektivfunksjon kalkulert, deretter blir oppdateringene gjort basert på den inverse hessianen og gradienten. I et betinget optimeringsproblem blir også tilleggstermer som representerer de ulike betingelsene lagt til objektivfunksjonen.

Når vi snakker om betingelser, refererer vi til problemer der løsningen ikke bare er et resultat av å minimere eller maksimere en objektivfunksjon, men også må oppfylle visse krav eller restriksjoner. For eksempel kan det være at en eller flere variabler er begrenset til å være innenfor et visst område.

Maxima-koden i eksempelet viser hvordan man håndterer både ubetingede og betingede optimeringsproblemer. Det er en iterativ prosess der gradienten og hessianen blir kontinuerlig oppdatert til konvergenskriteriene er møtt.

En annen viktig del av metoden er valg av konvergenskriterier. I koden kan du se at det finnes flere alternativer for å definere konvergens: basert på maksimalt antall iterasjoner, absolutt endring i funksjonsverdien, relativ endring, eller Kuhn-Tucker betingelser. Disse kriteriene brukes for å avgjøre når metoden har funnet en tilstrekkelig god løsning.

Når man implementerer Newtons metode, er det viktig å være oppmerksom på to utfordringer: hessianens invertibilitet og valg av passende skaleringsfaktor (alpha). Hessianmatrisen kan være singular i visse tilfeller, og det kan føre til problemer i beregningene. Derfor er det vanlig å bruke en liten verdi (for eksempel 1×1061 \times 10^{ -6}) for å unngå divisjon med null.

Videre er valget av skaleringsfaktoren alpha kritisk for konvergensen til metoden. I koden er det en prosess for å finne den optimale verdien av alpha (kalt αstar\alpha_{star}) gjennom en egen funksjon, som tar hensyn til både objektivfunksjonen og gradienten.

I tillegg til den matematiske grunnstrukturen til Newtons metode, er det også viktig å merke seg at for betingede problemer blir pseudo-målfunksjonen brukt. Denne funksjonen kan bestå av flere deler, inkludert originale objektivfunksjoner og tilleggstermer som representerer betingelsene. For eksempel kan en betingelse for maksimal verdi på noen variabler legges til objektivfunksjonen gjennom en passende vektet sum, hvor vektene kontrolleres av en parameter rpr_p.

Det er også viktig å vurdere hva som skjer når man jobber med et problem som har flere betingelser. I slike tilfeller må man justere både gradienten og hessianen for å ta hensyn til disse betingelsene. Dette kan føre til at løsningen blir mer kompleks, og det kan være nødvendig å bruke flere iterasjoner for å finne en optimal løsning.

Maxima-koden beskriver også en mekanisme for å sjekke konvergensen underveis i prosessen. Denne kontrollen skjer gjennom sammenligning av objektivfunksjonsverdiene ved hver iterasjon, og hvis forskjellen er liten nok, anses løsningen som konvergert.

I noen tilfeller kan en ekstra iterasjon kreves for å tilpasse skaleringsfaktoren rpr_p i henhold til hvordan de ulike betingelsene påvirker den endelige løsningen. Dette er en ekstra kontrollmekanisme for å sikre at resultatet er både stabilt og korrekt.

Når det gjelder brukeren som arbeider med slike metoder, er det viktig å forstå både de matematiske og implementeringsmessige utfordringene som kan oppstå, og hvordan man kan håndtere dem for å få en pålitelig og effektiv løsning.

Maxima-koden er et kraftig verktøy for numerisk optimering, men for å få best mulig resultat er det viktig å ha en dyp forståelse av både de matematiske prinsippene bak Newtons metode og hvordan de kan tilpasses ulike optimeringsproblemer.