30
MATEMATIČKI FAKULTET NELINEARNO PROGRAMIRANJE - VEŽBE - MARIJA IVANOVIĆ BEOGRAD, 2013.

16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

  • Upload
    erdorg

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

MATEMATIČKI FAKULTET

NELINEARNO PROGRAMIRANJE

- VEŽBE -

MARIJA IVANOVIĆ

BEOGRAD, 2013.

Page 2: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

1

1. ČAS

Primeri problema nelinearne optimizacije

– formiranje modela

PRIMER 1

Pretpostavimo da na raspolaganju imamo karton povšine A od koga želimo da napravimo kutiju

maksimalne zapremine. Pretpostavimo da se stranice kutije posebno lepe nekom trakom, pa se karton

dodatno ne troši za spojeve. Napraviti matematički model koji odgovara ovom problemu.

REŠENJE:

Obeležimo dužinu, širinu i visinu kutije sa x, y i z. Zapremina kutije dobija se pomoću formule .

Površina ovako definisane kutije iznosi . Sve stranice treba da su veće od 0.

Konačno, imamo model:

Pri ograničenjima

PRIMER 2

Razmotriti problem utvrđivanja lokacija za dve nove srednje škole u nekom gradu ako svi đaci žive u P

blokova , j=1,..,P. Iz svakog bloka đaci mogu da biraju da li žele da pohađaju školu A, odnosno školu B.

Neka predstavlja broj đaka koji idu u školu A i broj đaka koji idu u školu B iz bloka .

Pretpostavimo da je kapacitet škole A dok je kapacitet škole B i da je ukupni broj đaka svakog bloka

. Želimo da minimiziramo rastojanje koje će svi đaci ukupno prelaziti dnevno. Moguće je konstruisati

nelinearni problem koji će odrediti koordinate (a,b), (c,d) škola uz pretpostavku da je svaki blok u

modelu predstavljen tačkom čije su koordinate .

REŠENJE:

Izračunajmo ukupno rastojanje koje đaci prelaze:

Od bloka do škole A, dnevno se prelazi

Odnosno, od bloka do škole B, dnevno se prelazi

Dakle, pređeni put svih đaka iz svih blokova iznosi:

Page 3: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

2

Pri čemu treba ispuniti uslove kapaciteta

, j=1,..,P

, j=1,..,P

Konačno, imamo model:

Min

Pri ograničenjima

PRIMER 3

Ako neka kompanija naplaćuje svoj proizvod p i ako dnevno troši a na reklamiranje tog proizvoda,

očekivan broj prodatih proizvoda iznosi . Ako se za proizvodnju jednog proizvoda

dnevno utroši 10eur, koliku cenu kompanija treba da zada kako bi maksimizirala svoj profit?

REŠENJE

Model:

max

pri ograničenjima

PRIMER 4

Pera želi da otvori prodavnicu auto delova i sklopio je ugovor sa 4 najveća servisa automobila u kome se

obavezuje da će im dopremati robu u najkraćem roku. Pozicija Perine prodavnice i servisa automobila

data je preko (x,y) koordinata. Na osnovu nekih iskustava, Pera zna koliko će mu delova koji servis tražiti

na nedeljnom nivou pa bi na osnovu toga izabrao svoju lokaciju. Njegov cilj je da mu vozač koji

transportuje te delove prelazi najmanju kilometražu.

Perina statiskika o potražnji servisa i lokacija servisa dati su u tabeli.

Servis x-koordinata y-koordinata Broj nedeljnih

zahteva

1 5 10 200

2 10 5 150

3 0 12 200

4 12 0 300

Page 4: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

3

REŠENJE

Model:

min

pri ograničenjima

PRIMER 5

Jedna agencija za marketing se bavi reklamiranjem fudbalskih utakmica i koncerata. U proseku se na

jednu reklamu koncerta potroši 50,000 din a na jednu reklamu fudbalske utakmice 100,000 din. U

nastavku će sve jedinice biti u milionima. Ako se koncert reklamira S puta, očekuje se da će je bar

muškaraca posetiti, odnosno žena. Sa druge strane, ako se prikazalo F fudbalskih reklama, tada se

očekuje da će tu utakmicu pogledati bar muškaraca i bar žena. Agencija bi volela da bar

40mil muškaraca i bar 60mil žena poseti njihove događaje. Formulisati NP problem koji će minimizirati

troškove reklamiranja a opet zadovoljiti minimalan broj posetilaca.

REŠENJE

+17

+7

PRIMER 6

Svako jutro, tokom jutarnje saobraćajne gužve, 10,000 Beograđana želi da stigne sa Vračara na Novi

Beograd. Kako bi ovo postigli, mogu da koriste GSP ili da krenu svojim autom. Ukoliko se odluče za GSP,

očekivano vreme trajanja puta iznosiće 40min. Ukoliko se x Beograđana odluči za vožnju autom, put do

posla će trajati minuta. Koliko ljudi treba da se odluči za vožnju autom kako bi minimizirali

dužinu vremena provedenog u vožnji?

Page 5: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

4

Primeri problema nelinearne optimizacije

PRIMER 7

Posmatramo problem:

Pri ograničenjama Funkcija cilja i ograničenja su funkcije:

Nacrtćemo dopustiv skup.

Problem je da se odredi dopustiv region na kome izraz ima najmanju vrednost. Primetimo da tačke jednačine predstavljaju kružnicu

poluprečnika opisane oko centra . Da bi pronašli treba da nađemo krug najmanjeg poluprečnika koji će imati presečnu tačku sa dopustivim skupom.

Sa slike vidimo da najmanjem krugu odgovara poluprečnik i da se presek ostvaruje u

tački . Dakle, optimalno rešenje dostižemo u tački i iznosi .

Page 6: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

5

PRIMER 8

Posmatramo sledeći NP problem:

Pri ograničenjima

REŠENJE

Koristimo metod eliminacije. Promenljiva x se može izraziti preko promenljivih y i z iz

ograničenja, . Zamenom u funkciju cilja, dobijamo

Sada smo broj promenljivih smanjili za 1. Dalje možemo da rešimo problem grafičkom

metodom. Dobijamo da je:

, odnosno .

PRIMER 9

Rešiti sledeći problem:

REŠENJE

Imamo da je a nula gradijenta se postiže za

.

Zamenom u funkciju cilja, dobijamo da je najmanja vrednost funkcije. Ipak, ne možemo da tvrdimo da je to globalni minimum. Zato što ne znamo da li globalni minimum funkcije postoji.

Page 7: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

6

PRIMER 10

Posmatramo sledeći problem

REŠENJE

Funkcija je definisana za celo . Gradijent funkcije iznosi . Jedina

stacionarna tačka u je . Sada posmatramo Hesijanovu matricu funkcije cilja u tački

Ono što možemo da primetimo je da je Hesijanova matrica negativno definitna i da su joj minori

različitog znaka, stoga, sledi da stacionarna tačka (0,0) nije lokalni minimum, niti je lokalni

maksimum. Naša stacionarna tačka jeste sedlasta tačka.

PRIMER 11

Posmatramo sledeći problem

REŠENJE

Odredimo gradijent i Hesijan funkcije

. Stacionarna tačka je .

Page 8: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

7

Kako je Hesijan pozitivno definitan, sledi da je tačka lokalni minimum funkcije f. Medjutim, obzirom da je f konveksna funkcija, sledi da je tačka ujedno i globalni minimum (slika).

Page 9: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

8

2. ČAS

Neki primeri iz knjige Nelinearno programiranje.

Zadatak 1:

Uzećemo da je , zapisaćemo i funkciju u funkciji od .

a) Izvod u tački u pravcu vektora se traži po formuli:

Tražićemo rešenje u opštem obliku, a kasnije ćemo izračunati vrednost izvoda za konkretno dato i . Uzećemo da je i zamenimo , dobijamo:

I za konkretne vrednosti

.

b) Tačke koje zadovoljavaju NUPR:

Tražimo tačku

koja za svaki vektor dopustivog prvca d zadovoljava

,

odnosno

da bi ovo važilo za svaki pravac, uzećemo da su zagrade jednake nuli.

Time dobijamo samo jednu tačku

.

c) Funkcija je definisana na čitavom , stoga su sve tačke unutrašnje. Tačka koja bi mogla da bude minimalna jeste nula prvog izvoda funkcije:

Rešavanjem sistema dobijamo

.

Za tačku

važi i ona zadovoljava NUPR.

Zadatak 2 za domaći !!

Page 10: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

9

Zadatak 3

a) d je vektor dopustivog pravca ako tako da su sve tačke iz S za svako . Da li je dopustivog pravca? Biramo tako da za svako važi , stoga je dopustivog skupa.

b) , d je dopustivog pravca akko

=> da je

sledi da je <=

d je dopustivog pravca.

Zadatak 4 a) Dopustiv skup i funkcija su prikazani na slikama:

Tražimo minimum funkcije

na dopustivom skupu. Da li tačka (0,0) zadovoljava NUPR? Gradijent funkcije:

Neka je tačka X* minimum funkcije, tada za svaki dopustiv pravac d važi:

Neka je naš vektor dopustivog pravca . Dalje, imamo da je

, proizvoljno.

Page 11: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

10

Da li je tačka A(0,0) zadovoljava NUPR? Da bi vektor bio dopustivog pravca, mora da važi . Dalje, postoji takvo da za

svako , važi . Zamenom u gornji izraz, dobijamo da je

I da zadovoljava NUPR za svaki dopustiv pravac d. Zadovoljava.

b) Obzirom da je ) na granici proveravamo sledeće

Neka je

Neka je npr takvo da važi da je . Iz početnih uslova imamo da je , tj. pa je dobijena tačka ) LOKALNI MAKSIMUM.

Zadatak 5

a) Dopustiv skup je prikazan na slici

Neka je tačka X* minimum funkcije, tada za svaki dopustiv pravac d važi:

Neka je naš vektor dopustivog pravca . Dalje, imamo da je

, proizvoljno.

a) Da li tačka A(0,1) zadovoljava NUPR? Da bi bio vektor dopustivog pravca, mora da važi

….

, proizvoljno NUPR uslov je zadovoljen za tačku A.

Page 12: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

11

b) Da li tačka A zadovoljava NUDR? Kako za tačku A važi ako je . Da bi tačka A zadovoljavala NUDR treba da važi gde je F Hesijan funkcije f. Odredimo matricu F:

= 0 Matrica H je nedefinitna. …

c) Da li je tačka A lokalni minimum funkcije? ….. Zadatak 6

a) Hesijan i gradijent: ,

b) Izvod tražimo po formuli

I za konkretne vrednosti

, =>

c) Odrediti tačku X koja zadovoljava NUPR za f.

za svaki vektor proizvoljnog pravca. Funkcija je definisana na celom RxR pa su svi vektori dopustivog pravca. Sledi da mora da važi i čime dobijamo tačku

Da li ista tačka zadovoljava NUDR?

A poslednji izraz je zadovoljen za odnosno za . Tačka X zadovoljava i DUDR.

Page 13: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

12

Zadatak 7 Funkcija je sledećeg oblika:

a) Tražimo tačke koje zadovoljavaju NUPR za lokalni minimum funkcije f:

b) Da li tačke pod a) zadovoljavaju NUDR za lokalni minimum

Hajde da proverimo uslove za DUDR:

dakle, ne zadovoljavaju.

Page 14: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

13

Zadatak 8 Pretpostavimo da je tačka O(0,0) minimum, to znači da važi . Hajde da proverimo:

ovo je moguće samo kada su i različitog znaka .

Kako svaki vektor treba da je dopustivog pravca. Dolazimo do kontradikcije! Zadatak 9, 11, 12 Na času, videti zadatak 10. Zadatak 13, 14 (za domaći).

Page 15: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

14

3. ČAS

Bezuslovna optimizacija

Neki primeri iz knjige Nelinearno programiranje.

Zadatak 1:

Stacionarne tačke:

Drugi izvod

, proveravamo da li su stacionarne tačke minimum ili maksimum:

lokalni minimum

lokalni maksimum

Zadatak 2:

Stacionarne tačke

Ako je => stacionarna tačka je

Ako je => ne postoji stacionarna tačka

Proveravamo prirodu stacionarne tačke:

ako je sledi da je

ako je sledi da je

razlikujemo

=> ni minimum, ni maksimum

=> lokalni minimum

=> lokalni maksimum

Zadatak 3:

AKo je ) lokalni minimum, onda sledi da je

Izračunajmo gradijent funkcije:

Page 16: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

15

Proveravamo prirodu stacionarne tačke:

Dakle, tačka A je lokalni maksimum.

Zadatak 4:

a) Da li zadovoljava NUPR i NUDR

NUPR zadovoljen

Ako je x* lokalni minimum, tada je i je pozitivno semidefinitna

Ako zamenimo tačku O, dobijamo sledeće

,

ako je , pa je

matrica pozitivno semidefinitna, tačka O zadovoljava NUDR.

b) Da li je tačka O lokalni minimum funkcije duž svake prave koja prolazi kroz koodrinatni

početak?

Neka je vektor traženog pravca, tada važi

O je lokalni minimum

c) za vežbu.

Page 17: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

16

Zadatak 5:

Tražimo stacionarne tačke:

matrica je pozitivno semidefinitna

ova tačka je lokalni minimum.

Zadatak 6:

Na času, isto se radi kao zadatak 5 !!!!

Zadatak 7:

a) NUPR za zadatu funkciju:

Ako je loklani minimum, tada je

Odnosno, tj. stacionarna tačka postoji ako je Q

pozitivno definitna, pa se jednačina može jedinstveno rešiti, tj.

b) Lokalni minimum:

Akoje Q pozitivno semidefinitna, data postoji loklani minimum

c) za vežbu, sami

Zadatak 8, 9,10:

Zadatak 11:

a) f ima tačku lokalnog minimuma ali ne I globalnog minimuma

primer: funkcija

Page 18: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

17

b) f nema ni loklani ni globalni minimum

primer: funkcija

c) f ima I lokalni I globalni minimum

primer: funkcija

d) f ima više tačaka globalnog mimimuma

primer: funkcija

Page 19: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

18

Još neke funkcije, diskutovati na času:

1. (ima lokalne minimume I lokalne

maximume samo )

2.

(lokalni i globalni minimum)

3.

funkcija ima globalni i minimum i maksimum, ali nema lokalne extreme.

Page 20: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

19

Zadatak 12:

a)

b) lokalni minimum u tački (0,0) ali ne i globalni!

Page 21: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

20

4. ČAS

Gradijentne metode

Neki primeri iz knjige Nelinearno programiranje.

Zadatak 1:

tražimo minimum funkcije tako što računamo izvod funkcije po

Odavde dobijamo da je

Page 22: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

21

Zadatak 2

a) Provera zadatka 1:

Dobijamo da je

Odnosno

.

b) Provera zadatka 1:

Dobijamo da je

Zadatak 3

k=0

, ..,

, ... programirati na času!!!!

Page 23: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

22

Zadatak 4

Problem se rešava isto kao i 3.zadatak.

Napisati novi program (ili proširiti program iz 3.zadaka) i posmatrati rešenja za različite

parametre

Zadatak 5, 8, 9

Raspisati formulu na času.

Zadatak 6, 7, 10. – za domaći !!!

Page 24: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

23

Zadatak 11

Metodom najbržeg spusta rešiti problem minimizacije:

a)

b)

Page 25: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

24

c) je konstantna za početno

Očekivana brzina konvergencije je

Red konvergencije:

dakle, red divergira!

Zadatak 12

Metodom najbržeg spusta rešiti problem minimizacije:

a)

Page 26: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

25

b)

c) Očekivana brzina konvergencije je

{ }

radijus konvergencije.

Page 27: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

26

5. ČAS

Njutnova metoda

Neki primeri iz knjige Nelinearno programiranje.

Zadatak 1:

Konstruisati Njutnov iterativni niz za minimizaciju funkcije

a) Metoda:

, …,

b) Dokazati da niz konvergira ka globalnom minimumu

0=

globalni minimum f-je

c) Odrediti stopu konvergencije

dakle, konvergira.

Zadatak 2:

a) Njutnovom metodom minimiovati funkciju. Da li je tačka dobijena kao granična vrednost

Njutnovog iterativnog niza globalni minimum?

globalni minimum je 0

Page 28: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

27

je lokalni minimum.

b) Diskutovati konvergeciju u zavisnosti od izbora početne tačke

Zadatak 3:

Pokazati da je tačka (1,1) globalni minimum

a) Da li je je globalni minimum?

,

b) Konstruisati Njutnov iterativni niz počevši od tačke (0,0)

Npr.

,

Page 29: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

28

,

c) Konstruisati niz sa konstantnim korakom:

,

,

isprogramirati…

Page 30: 16-NELINEARNO_PROGRAMIRANJE_-_VEZBE.pdf

29

Zadatak 4:

Konstruisati Njutno iterativni niz za minimizaciju funkcije i izračunati prve tri iteracije.

….

Zadatak 5:

Konstruisati Njutno iterativni niz za minimizaciju funkije f

a)

b) Pokazati da niz konvergira ka

c)

Zadatak 6: