Optimiranje Mehaničkih Konstrukcija

You might also like

You are on page 1of 16

SVEUČILIŠTE U ZAGREBU

FAKULTET STROJARSTVA I BRODOGRADNJE

Programski zadatak iz kolegija


Optimiranje mehaničkih konstrukcija
Dr. sc. Andrej Jokić

Ime i prezime: Karlo Bilas


Matični broj: 0035202816

Zagreb, 2021.
Optimiranje mehaničkih konstrukcija

Sadržaj
Zadatak ....................................................................................................................................... 1

1. Zadatak 1 ............................................................................................................................ 2

1.1 Konveksnost optimizacijskog problema ...................................................................... 2

1.2 Eliminacija ograničenja jednakosti .............................................................................. 3

1.3 Rješavanje problema korištenjem KKT uvjeta ............................................................ 3

1.3.1 Slučaj 1: Oba ograničenja su aktivna ................................................................... 4

1.3.2 Oba ograničenja neaktivna ................................................................................... 5

1.3.3 Ograničenje 𝒈𝟏(𝒙 ∗) aktivno, a ograničenje 𝒈𝟐(𝒙 ∗) neaktivno ....................... 6

1.3.4 Ograničenje 𝒈𝟐(𝒙 ∗) aktivno, a ograničenje 𝒈𝟏(𝒙 ∗) neaktivno ....................... 6

1.3.5 Grafički prikaz prostora optimizacijskog problema ............................................. 7

1.4 Rješavanje problema korištenjem programskog alata (MATLAB) .............................. 8

2. Zadatak 2 ............................................................................................................................ 9

Karlo Bilas I
Optimiranje mehaničkih konstrukcija

Popis slika
Slika 1: Grafički prikaz optimizacijskog problema .................................................................... 7

Slika 2: Varijable definirane u MATLABu ................................................................................. 8

Slika 3: Rješenje problema u MATLABu.................................................................................... 8

Slika 4: Numerirana štapna konstrukcija ................................................................................... 9

Slika 5: Matrice korištene u funkciji linprog ........................................................................... 11

Slika 6: Rješenje 2. zadatka...................................................................................................... 12

Karlo Bilas II
Optimiranje mehaničkih konstrukcija

Popis tablica
Tablica 1: Iznosi i načini opterećenja u štapovima .................................................................. 10

Tablica 2: Vrijednosti naprezanja i poprečnih presjeka pojedinih štapova konstrukcije ......... 12

Karlo Bilas III


Optimiranje mehaničkih konstrukcija

Zadatak

Karlo Bilas 1
Optimiranje mehaničkih konstrukcija

1. Zadatak 1

1.1 Konveksnost optimizacijskog problema


Konveksan optimizacijski problem je problem oblika

min 𝑓(𝑥),

uz ograničenja ℎ𝑖 (𝑥) = 0, 𝑖 = 1, … , 𝑚,

𝑔𝑗 (𝑥) ≤ 0, 𝑗 = 1, … , 𝑚,

gdje su funkcije 𝑓(𝑥) i 𝑔𝑗 (𝑥) konveksne funkcije, a funkcije ℎ𝑖 (𝑥) afine funkcije.

Funkcija cilja i funkcije ograničenja kad se uvrste matrice izgledaju:

𝑓(𝑥) = 2𝑥12 + 6𝑥1 𝑥2 + 13𝑥22 + 2𝑥2 𝑥3 + 11𝑥32 + 8𝑥1 𝑥3 + 𝑥1 − 𝑥2 + 𝑥3 . (1.1)

ℎ(𝑥) = −𝑥1 − 2𝑥2 + 𝑥3 + 2 = 0 (1.2)

𝑔1 (𝑥) = −4𝑥1 + 𝑥2 + 2𝑥3 ≤ 0


(1.3)
𝑔2 (𝑥) = 𝑥1 − 2𝑥2 − 𝑥3 + 1 ≤ 0

Prema (1.2) i (1.3) vidi se da je funkcija ograničenja jednakosti afina funkcija što je uvjet da
bi optimizacijski problem bio konveksan, te su ujedno i funkcije ograničenja nejednakosti
konveksne funkcije jer je 𝑔𝑗 (𝑥) afina funkcija čija hiperravnina udovoljava uvjet:

𝑓(𝛼𝑥∗1 + (1 − 𝛼)𝑥∗2 ) ≤ 𝛼𝑓(𝑥∗1 ) + (1 − 𝛼)𝑓(𝑥∗2 ).

Također, funkcija cilja da bi bila konveksna funkcija, njezin Hessian treba biti pozitivno
semidefinitan, odnosno pozitivno definitan za striktnu konveksnost na cijelom konveksnom
skupu. Ako je Hessian funkcije cilja pozitivno definitan, tada striktna konveksnost upućuje na
to da nužno postoji konačan minimum. Taj minimum koji je lokalni je ujedno i globalni, te su
nužni KKT uvjeti ujedno i dovoljni uvjeti.

Funkcija cilja koja je zadana u ovakvoj kvadratnoj formi, matrica Q odgovara Hessianu
funkcije cilja te da bi se dokazala striktna konveksnost funkcije potrebno je izračunati
svojstvene vrijednosti matrice Q. Ako su svojstvene vrijednosti matrice Q pozitivne realne
vrijednosti tada je matrica Q pozitivno definitna, odnosno funkcija cilja je konveksna funkcija
s globalnim minimumom.

Karlo Bilas 2
Optimiranje mehaničkih konstrukcija

det(𝑄 − 𝜆𝐼) = 0
(1.4)
𝜆1 = 0,061, 𝜆2 = 10,9774 𝜆3 = 15,0166

Budući da su svojstvene vrijednosti pozitivne realne vrijednosti, može se zaključiti da je


funkcija cilja konveksna funkcija. Funkcije iz zadanog optimizacijskog problema
zadovoljavaju sve zadane uvjete stoga vrijedi tvrdnja da se radi o konveksnom
optimizacijskom problemu.

1.2 Eliminacija ograničenja jednakosti


U zadatku je potrebno eliminirati ograničenje jednakosti kako bi se dobio problem s
manjim brojem projektnih varijabli. Ako se iz funkcije ograničenja jednakosti (1.2) izluči
jedna varijabla dobije se:

𝑥3 = −2 + 𝑥1 + 2𝑥2 (1.5)

Uvrštavanjem prethodne jednadžbe u (1.1) dobiva se funkcija cilja iskazana preko samo dvije
varijable

𝑓(𝑥) = 21𝑥1 2 + 68𝑥1 𝑥2 + 61𝑥2 2 − 58𝑥1 − 91𝑥2 + 42. (1.6)

Uvrštavanjem izraza (1.5) u funkcije ograničenja nejednakosti (1.3) dobivaju se sljedeće


nejednakosti koje su također iskazane preko dvije varijable:

−2𝑥1 + 5𝑥2 − 4 ≤ 0, (1.7)

−4𝑥2 + 3 ≤ 0. (1.8)

1.3 Rješavanje problema korištenjem KKT uvjeta


Lagrangeova funkcija za neki optimizacijski problem se u općem slučaju definira na
sljedeći način:

𝑚 𝑚

𝐿(𝑥, 𝜆, 𝜇) = 𝑓(𝑥) + ∑ 𝜆𝑖 ℎ𝑖 (𝑥) + ∑ 𝜇𝑗 𝑔𝑗 (𝑥), (1.9)


𝑖=1 𝑗=1

gdje je 𝑓(𝑥) funkcija cilja, ℎ𝑖 (𝑥) funkcija ograničenja jednakosti, 𝑔𝑗 (𝑥) funkcija ograničenja
nejednakosti, a varijable 𝜆𝑖 i 𝜇𝑗 su Lagrangeovi množitelji. Točka 𝑥 ∗ je regularna točka. Ako

Karlo Bilas 3
Optimiranje mehaničkih konstrukcija

je 𝑥 ∗ lokalni minimizator, moraju postojati Lagrangeovi množitelji koji zadovoljavaju


sljedeće uvjete:

𝑚 𝑚

∇𝑓(𝑥 ∗)
+ ∑ 𝜆 ∗𝑖 ∇ℎ𝑖 (𝑥 ∗ ) + ∑ 𝜇𝑗∗ ∇𝑔𝑗 (𝑥 ∗ ) = 0, (1.10)
𝑖=1 𝑗=1

ℎ𝑖 (𝑥 ∗ ) = 0, (1.11)

𝑔𝑗 (𝑥 ∗ ) ≤ 0, (1.12)

𝜇𝑗∗ 𝑔𝑗 (𝑥 ∗ ) = 0, (1.13)

𝜇𝑗∗ ≥ 0. (1.14)

Raspisani KKT uvjeti za zadani problem glase

42𝑥1 + 68𝑥2 − 58 −2 0 (1.15)


[ ] + [ ] 𝜇1 + [ ] 𝜇2 = 0,
122𝑥2 + 68𝑥1 − 91 5 −4

−2𝑥1 + 5𝑥2 − 4 ≤ 0, (1.16)

−4𝑥2 + 3 ≤ 0, (1.17)

𝜇1 (−2𝑥1 + 5𝑥2 − 4) = 0, (1.18)

𝜇2 (−4𝑥2 + 3) = 0, (1.19)

𝜇1 ≥ 0, (1.20)

𝜇2 ≥ 0. (1.21)

Postoje četiri kombinacije izraza (1.16) i (1.17) s obzirom na to jesu li ta ograničenja


aktivna ili neaktivna. Unutar ta četiri slučaja će se tražiti potencijalna točka minimuma.

1.3.1 Slučaj 1: Oba ograničenja su aktivna


Ograničenja glase

−2𝑥1 + 5𝑥2 − 4 = 0, (1.22)

−4𝑥2 + 3 = 0. (1.23)

U tom slučaju mora vrijediti:

Karlo Bilas 4
Optimiranje mehaničkih konstrukcija

𝜇1 > 0, (1.24)

𝜇2 > 0. (1.25)

Vrijednost matrice x nakon rješavanja sustava jednadžbi (1.22) i (1.23) je:

𝑥1 = −0,125 (1.26)

𝑥2 = 0,75. (1.27)

Rješavanjem sustava jednadžbi dobivaju se vrijednosti projektnih varijabli

𝜇1 = −6,125 (1.28)

𝜇2 = −9,65625. (1.29)

Vrijednosti (1.28) i (1.29) ne zadovoljavaju uvjete (1.24) i (1.25)

1.3.2 Oba ograničenja neaktivna


Ako su oba ograničenja neaktivna, onda vrijedi da je:

𝑔𝑗 (𝑥 ∗ ) < 0. (1.30)

Iz toga slijedi na temelju izraza (1.13) da je:

𝜇𝑗∗ = 0 (1.31)

Uvrštavanjem izraza (1.31) u (1.10) vrijedi da je:

42𝑥1 + 68𝑥2 − 58
∇𝑓(𝑥 ∗ ) = [ ]=0 (1.32)
122𝑥2 + 68𝑥1 − 91

Rješavanjem sustava jednadžbi (1.31) dobije se da je:

𝑥1 = 1,776 (1.33)

𝑥2 = −0,244 (1.34)

Vrijednosti (1.26) i (1.27) ne zadovoljavaju uvjete (1.20) i (1.21).

Karlo Bilas 5
Optimiranje mehaničkih konstrukcija

1.3.3 Ograničenje 𝒈𝟏 (𝒙∗ ) aktivno, a ograničenje 𝒈𝟐 (𝒙∗ ) neaktivno


Ako je ograničenje 𝑔1 (𝑥 ∗ ) aktivno vrijedi da je:

𝑔1 (𝑥 ∗ ) = −2𝑥1 + 5𝑥2 − 4 = 0,
(1.35)
𝜇1 ≥ 0,

Budući da je ograničenje 𝑔2 (𝑥 ∗ ) neaktivno vrijedi da je:

𝑔2 (𝑥 ∗ ) = −4𝑥2 + 3 ≤ 0,
(1.36)
𝜇2 = 0,

Rješavanjem jednadžbi (1.15) dobiju se rješenja:

42𝑥1 + 68𝑥2 − 58 −2
[ ] + [ ] 𝜇1 = 0, (1.37)
122𝑥2 + 68𝑥1 − 91 5

𝑥1 = 0,0083 (1.38)

𝑥2 = 0,8033 (1.39)

𝜇1 = −1,5135 (1.40)

Vrijednost Langrangeovog multiplikatora (1.40) ne zadovoljava uvjet (1.35)

1.3.4 Ograničenje 𝒈𝟐 (𝒙∗ ) aktivno, a ograničenje 𝒈𝟏 (𝒙∗ ) neaktivno


Ako je ograničenje 𝑔2 (𝑥 ∗ ) aktivno vrijedi da je:

𝑔2 (𝑥 ∗ ) = −4𝑥2 + 3 = 0,
(1.41)
𝜇2 ≥ 0,

Budući da je ograničenje 𝑔2 (𝑥 ∗ ) neaktivno vrijedi da je:

𝑔2 (𝑥 ∗ ) = −2𝑥1 + 5𝑥2 − 4 ≤ 0,
(1.42)
𝜇1 = 0,

Karlo Bilas 6
Optimiranje mehaničkih konstrukcija

Rješavanjem jednadžbi (1.15) dobiju se rješenja:

42𝑥1 + 68𝑥2 − 58 0
[ ] + [ ] 𝜇2 = 0, (1.43)
122𝑥2 + 68𝑥1 − 91 −4

𝑥1 = 0,1667 (1.44)

𝑥2 = 0,75 (1.45)

𝜇2 = 2,9583 (1.46)

Vrijednost Langrangeovog multiplikatora (1.40) zadovoljava uvjet (1.35), te vrijednost


varijable (1.44) zadovoljava uvjet (1.42).

Stoga može se reći da je točka (0.1667,0.75) rješenje funkcije cilja.

1.3.5 Grafički prikaz prostora optimizacijskog problema


Sljedeća slika prikazuje dozvoljeni skup, nivo krivulje funkcije cilja i gradijente ograničenja i
funkcije cilja u točki koja zadovoljava KKT uvjete.

Slika 1: Grafički prikaz optimizacijskog problema

Karlo Bilas 7
Optimiranje mehaničkih konstrukcija

1.4 Rješavanje problema korištenjem programskog alata (MATLAB)


Za rješavanje zadanog problema korištena je funkcija quadprog koja se koristi za
rješavanje problema iz skupine kvadratnog programiranja u koju spada i zadani problem.
Problem je bilo potrebno pretvoriti u oblik koji programski alat koristi za rješavanje.
MATLAB optimizacijski problem rješava u formatu

min 0,5𝒙𝑇 𝑯𝒙 + 𝒇𝑇 𝒙,

uz ograničenja 𝑨𝒙 ≤ 𝒃.

Sljedeća slika prikazuje matrice definirane za rješavanje problema u MATLABu.

Slika 2: Varijable definirane u MATLABu

Primjenom funkcije quadprog program se rješava kako je prikazano na slici 3.

Slika 3: Rješenje problema u MATLABu

Rješenje (𝑥1 , 𝑥2 , 𝑥3) = (0.1667,0.75, −0.333) dobiveno na ovaj način je jednako onom
dobiveno primjenom KKT uvjeta.

Karlo Bilas 8
Optimiranje mehaničkih konstrukcija

2. Zadatak 2
Rješavanje optimizacijskog problema nosive rešetkaste konstrukcije se može formulirati
kao problem koji spada u linearno programiranje te ga se kao takvog može riješiti, između
ostalog, i u MATLABu. Traži se najmanja moguća masa konstrukcije, a budući da je
konstrukcija izrađena od samo jednog materijala, za funkciju cilja se može postaviti funkcija
volumena kojoj se traži minimalna vrijednost. Volumen jednog štapa se može izraziti kao

𝐹𝑖
𝑉𝑖 = 𝑙, (2.1)
𝜎𝑖 𝑖

gdje je 𝐹𝑖 sila u štapu, 𝜎𝑖 naprezanje u štapu, a 𝑙𝑖 duljina štapa. Funkcija cilja će biti suma
volumena svih štapova konstrukcije. Duljine štapova su poznate, sile u štapovima se mogu
izračunati iz statičke analize, dok se vrijednosti naprezanja računaju procesom optimizacije iz
kojih se neposredno mogu odrediti poprečni presjeci pojedinih štapova. Štapovi konstrukcije
su numerirani kako je prikazano na sljedećoj slici.

Slika 4: Numerirana štapna konstrukcija

Karlo Bilas 9
Optimiranje mehaničkih konstrukcija

Statičkom analizom je moguće odrediti sile u pojedinim štapovima. Njihove su izračunate


vrijednosti i načini opterećenja prikazani u sljedećoj tablici.

Tablica 1: Iznosi i načini opterećenja u štapovima

Iznos Način opterećenja


𝐹1 50 kN vlačno
𝐹2 50√2 kN vlačno
𝐹3 50 kN tlačno
𝐹4 100 kN tlačno
𝐹5 50 kN tlačno
𝐹6 50√2 kN vlačno

Budući da su sve duljine štapova povezane varijablom l, ista se može izlučiti iz funkcije
cilja čime se ona pojednostavljuje i glasi

6
𝑉𝑖 𝐹1 𝐹2 𝐹3 𝐹4 𝐹5 𝐹6
𝑓(𝑥) = ∑ = + √2 + + + + √2 . (2.2)
𝑙 𝜎1 𝜎2 𝜎3 𝜎4 𝜎5 𝜎6
𝑖=1

Uvrštavanjem vrijednosti sila u štapovima iz tablice 1 te zamjenom naprezanja varijablama


𝑥𝑖 = 1/𝜎𝑖 , dobiva se linearni izraz

𝑓(𝑥) = 35,36𝑥1 + 50𝑥2 + 35,36𝑥3 + 100𝑥4 + 64,69𝑥5 + 129,29𝑥6 . (2.3)

Ograničenja su u ovom zadatku određena dopuštenim vlačnim i tlačnim naprezanjima.


Također je definirano da naprezanja moraju biti pozitivna. Ograničenja glase

−𝑥1 < 0, 1 − 16𝑥1 ≤ 0,

−𝑥2 < 0, 1 − 16𝑥2 ≤ 0,

−𝑥3 < 0, 1 − 12𝑥3 ≤ 0,

−𝑥4 < 0, 1 − 12𝑥4 ≤ 0,

−𝑥5 < 0, 1 − 12𝑥5 ≤ 0,

−𝑥6 < 0, 1 − 16𝑥6 ≤ 0. (2.4)

Karlo Bilas 10
Optimiranje mehaničkih konstrukcija

Za rješavanje zadanog problema u MATLABu korištena je funkcija linprog. Problem je bilo


potrebno pretvoriti u oblik koji programski alat koristi za rješavanje. MATLAB optimizacijski
problem rješava u formatu

min 𝒇𝑇 𝒙,

uz ograničenja 𝑨𝒙 ≤ 𝒃.

Slika 5 prikazuje definirane matrice potrebne za rješavanje linearnog optimizacijskog


problema u MATLABu.

Slika 5: Matrice korištene u funkciji linprog

Karlo Bilas 11
Optimiranje mehaničkih konstrukcija

Sljedeća slika prikazuje rješenje optimizacije.

Slika 6: Rješenje 2. zadatka

Preostaje još rješenje optimizacije iz MATLABa preračunati u naprezanja u pojedinim


štapovima te odrediti poprečne presjeke.

Tablica 2: Vrijednosti naprezanja i poprečnih presjeka pojedinih štapova konstrukcije

Površina poprečnog presjeka


Broj štapa Naprezanje [kN/cm2]
[cm2]
1 16 3,125
2 16 4,419
3 12 4,167
4 12 8,333
5 12 4,167
6 16 1,179

Može se uočiti kako su vrijednosti naprezanja u štapovima jednake maksimalnim dopuštenim


vrijednostima naprezanja s obzirom na vrstu opterećenja.

Karlo Bilas 12

You might also like