TAOP14: Optimeringslära grundkurs

TAOP14:
Optimeringslära grundkurs
Nils-Hassan Quttineh
Optimeringslära, MAI
TAOP14: Föreläsning 1
2
Föreläsning1:
Kurspresenta3onochintroduk3on3ll
op3meringslära
§  Vadärop3meringsläraochvadkandetanvändas3ll?
§  Kursensinnehållochupplägg
§  Grundläggandebegrepp
1
TAOP14: Föreläsning 1
3
Vadärop3meringslära?
§  Matema3ksomsyBar3llaCfinnabästa
beslut/handlingsalterna3v
§  KananvändasföraCbeskriva,analyseraochlösa
komplexaprobleminomteknik,ekonomiochsamhälle
Beslutsalterna3v
Problemställning
Begränsningar
Mål
?
TAOP14: Föreläsning 1
4
Verkligtproblem
Verifiering
Iden3fiering,
avgränsningar,
förenklingar,
antaganden
Förenklatproblem
Formulering
Validering
Op3meringsmodell
Lösningsmetod
Lösning
Resultat
2
TAOP14: Föreläsning 1
5
Op3meringsmodell
Beslut
Variabler
Mål
Målfunk3on
Begränsningar
Bivillkor
§  FörutsäCningar
•  MålochbegränsningarskakunnauCryckaskvan3ta3vt
•  Antaletbeslutsalterna3värstort
TAOP14: Föreläsning 1
6
Matema3skmodell
§  xärvariablerna,de
beslutsomskafaCas
§  f(x)ärmålfunk3onen
§  Xrepresenterarvilka
lösningarsomär3llåtna
Exempel:
min f (x)
då x 2 X
min f (x) = 2x1 + 3x2
då
x1 + 2x2
5
0  x1  2
0  x2  2
3
TAOP14: Föreläsning 1
7
Tillämpningsområden
Exempel:
§  Transportochdistribu3on
•  lokalisering,ruCplanering,schemaläggning
§  Bemanningsplanering
•  Tillordning,schemaläggning
§  Telekommunika3on
•  Planeringavnya/utbyggnadavtelenät
§  Konstruk3on
•  strukturop3mering,packningochkapning
§  Finans
•  op3malak3eporSölj
TAOP14: Föreläsning 1
8
Forskningsprojekt
ExempelpåaktuellaprojektpåOp3meringslära,MAI:
§  Schemaläggningavavioniksystem,mångakomponenter
sommåstedelainforma3onmedvarandra.
§  PorSöljvalsop3mering,komponeraenak3eporSöljdär
manbalanserarförväntadavkastningmotrisk.
§  RuCplaneringförsnöröjning,planeravilkafordonsom
behövsochvilkagatordomskaröja(ochivilkenordning).
§  Op3meringavbrachyterapi,förbäCringavstråldosplaner
medavseendepåtumördödochriskförbiverkningar.
§  Produk3onsplaneringinomprocessindustrin.
4
TAOP14: Föreläsning 1
9
Vadkrävs…
…föraCgåfrånverkligtproblem3llresultat?
§ 
§ 
§ 
§ 
Förståelseför3llämpningen
FörmågaaCstruktureraproblemställningen
Väljalösningsmetod
Lösaproblemet:
-Användafärdigprogramvara?
-Programmerasjälv?
Ämneskunskap–matema3k–programmering
Dennakurs
TAOP14: Föreläsning 1
10
Op3meringensroll
§  Strukturera/förståproblemet
§  Matema3skamodellerharop3malalösningar–
verklighetenärmernyanserad
§  VanligtsyBe:
-Geriktlinjerellerförslag
-Genereraalterna3vaförslagunderolikaförutsäCningar
Op3merings-
modell
Planerarens
erfarenhet
Övrigafaktorer
Beslut
5
TAOP14: Föreläsning 1
11
FörutsäCningarförop3mering
Förr:
§  SvårtaChiCadata
§  Allt/mycketprogrammeringfrångrunden
§  Långsammadatorer
Nu3d(90-talet→):
§  Data3llgängligtochstrukturerat
§  Programvaror
•  Mer3llgängligaochanvändarvänliga
•  Modelleringsspråkgörmodelleringenklare
§  Snabbadatorerochbraalgoritmer
TAOP14: Föreläsning 1
12
Valavlösningsmetod
Faktorersompåverkar:
§  Variabeltyp:
Kon3nuerliga/diskreta/binära
§  Problemtyp:
Linjära/ickelinjärasamband
§  Modellstorlek:
Antalvariabler/villkor
§  Data:
Determinis3sk/stokas3sk
Möjligaalterna3v:
§  Op3merandemetod
§  Heuris3skmetod
§  Simulering
6
TAOP14: Föreläsning 1
13
Manfårvadmanbetalarför...
Enkel
Låg
LäC
Modell
Realism
Lösbarhet
TAOP14: Föreläsning 1
Komplex
Hög
Svår
14
Produk3onsplaneringinom
processindustrin
[PerstorpsanläggningiStenungsund]
7
TAOP14: Föreläsning 1
15
Op3mering,processindustrin
§  Målfunk3on
•  Maximeraintäkter:
o  Försäljning3llkunder
•  Minimerakostnadenför:
o  Produk3on
o  Lagerhållning
o  Transporter(bådemellanfabrikeroch3llkund)
o  EjuppfylldeBerfrågan
TAOP14: Föreläsning 1
16
Op3mering,processindustrin
§  Bivillkor
•  Produk3onskapaciteter
•  TillgodosekundernaseBerfrågan
•  Beroendenmellanprodukter
•  Begränsadlagerkapacitet
•  Lagerbalans:
lager+nyproducerat-försäljning=nyClager
8
TAOP14: Föreläsning 1
17
Kursmål
§  Iden3fiera3llämpningsområden
§  Iden3fieraolikaop3meringsproblem
§  FörklarasyBetmedeCop3meringsproblem
§  Modelleraop3meringsproblemmatema3skt
§  Redogöraförolikaop3meringsalgoritmeroch
sammanfaCaprincipernabakomalgoritmerna
§  VäljametodellerlösningföreCop3meringsproblem
§  AnvändaenalgoritmföraClösaeCop3meringsproblem
§  AnvändaprogramvaraföraClösaeCop3meringsproblem
§  Redogöraförgrundläggandeop3meringsteori
TAOP14: Föreläsning 1
18
Kursensinnehåll
§  Linjärprogrammering(LP)
•  formuleringavLP-problem
•  simplexmetoden
•  dualitet
•  känslighetsanalys
§  Icke-linjärprogrammering(ILP)
•  konvexitet
•  obegränsadop3mering,sökmetoder
•  begränsadop3mering,Frank-Wolfemetoden
•  Lagrangedualitet,Lagrangerelaxa3on
9
TAOP14: Föreläsning 1
19
Kursensupplägg
§ 
§ 
§ 
§ 
Föreläsningar,10st
Lek3oner,12st
Salslabora3oner,3st
ProjektuppgiB,1st
§  SkriBligtentamen (4.5HP)
§  Labora3onsdelen (1.5HP)
TAOP14: Föreläsning 1
20
Lek3onsgrupper
§ 
§ 
§ 
§ 
§ 
EmmySjöholm: I2a
OlegBurdakov: I2b,I2f
OlleHynenUlfsjöö:I2c,Ii2d
JoelKvick: I2e
NisseQupneh: Ii2a,Ii2b
10
TAOP14: Föreläsning 1
21
Labora3oner
§  Labora3onsgrupperomhögst2personer
§  3schemalagdalabora3oner(lab1,lab2,lab3)
§  EBerlab1:ProjektuppgiB
•  FormuleringochlösningaveCLP-problem
•  Individuellauppdragsbeskrivningar
•  SkriBligrapportsamtmuntligavstämning
§  Labora3onsinforma3ondelasutpålek3on
§  Labora3onslistorfinnsaCfyllaipålek3on
§  Labbarna4hlånga(goCom3d)
TAOP14: Föreläsning 1
22
Kursinforma3on
§  Böcker:
•  Lärobok:Lundgrenm.fl.Op(meringslära(2008)
•  Henningssonm.fl.Op(meringslära–Övningsbok
•  AnvändsävenifortsäCningskursen.
§  Kurshemsida
•  http://courses.mai.liu.se/GU/TAOP14/
•  PåKursplatsenLISAM:
Kursinforma3on;labora3onsinforma3on;
labora3onsfiler;statuspålabora3oner;...
•  RegistreraerföraCfå3llgång3llkurssidan!!
11
TAOP14: Föreläsning 1
23
LISAM
§  HurkommermaniniLisam?
•  MankommeriniLisammedsiCLiU-id.
•  Loggainpåwebbadressen:lisam.liu.se
•  Detfinnsävenlänkarhitfrånolikaställenpå
LiU-webben,t.ex.frånStudentportalen.
§  VadbehövermangöraförstagångeniLisam?
•  DenabsolutförstagångenmanloggariniLisam
kommersystemetaCibakgrundenbyggauppden
egnapersonligasidan,vilketkantanågonminut.
•  UtöveraCväntapådeCabehövermanintegöra
någrasärskildainställningar.
TAOP14: Föreläsning 1
24
Utvärdering3digareår(förraåret)
§  Förtvåårsedanutökadeslabb3medennydel,enligt
önskemålfrånstudenternaåretinnan.Dennyadelen
funkadebra,menlabbenisinhelhetblevnågottung..
•  SeövervissadelaravLabb3.
§  TentauppgiBernaskiljersigmycketfrånlek3onsuppgiBerna:
•  Pålek3onsplanenfinnshänvisningar3ll”typiska
tentauppgiBer”påmotsvarandematerial.
§  Videxemplenpåtavlan,skrivnerHELAfrågan/problemet.
•  Finnsnupåseparatapdf-filer3llvarjeföreläsning!
12
TAOP14: Föreläsning 1
25
Nyheter
§  Projektrapportenskaskrivaspåengelska!
•  NämndenförI-programmetvillfåinmerainslagav
engelskaiutbildningen.
§  EnextraföreläsningaravPamelaVang
•  GenerelltomaCskrivapåengelska
•  Specielltomrapportskrivning
§  Sistagångenkursenges!!
•  Frånochmedvåren2017geskurseniÅK1undervt2
•  Minskarfrån6hp3ll4hp
•  Se3llaCklaratentan:=)
TAOP14: Föreläsning 1
26
Förväntningar
§  Förkunskapskrav:Linjäralgebraochanalys
§  Självstudier
•  Läspåinförföreläsningarna
•  Lek3ons3denräckeroBastinte3llför
aClösaallauppgiBer.KrävsaCnilägger
egen3dpåaCräkna.
§  Kursvärderingarärbra,vivillutvecklaoch
förbäCravårakurser!Kräverdockfeedback.
§  SnällafylliKURT-utvärderingenislutetav
kursen.Förraåretsvaradeendast38%..
13
TAOP14: Föreläsning 1
27
VarförgördennakursaCniblirbäCre
civilingenjörer?
§  Problemlösningsförmåga:
KursengerövningiaCangripaochlösaverkliga
planeringsproblempåeCmycketstruktureratsäC.
§  Datornsomverktyg:
ÖvningiaCanvändadatornsomverktygvidlösandeav
problem,samtövningiaChanteraolikaprogramvaror.
§  Matema3sktangreppssäC:
Denmatema3knilärter3digarekommer3ll
användningochsäCsinieCnyCsammanhang.
TAOP14: Föreläsning 1
28
Tavelmarkör
§  FöraCfåenbrastrukturpåanteckningarna
användssymbolen
T4.2
föraCmarkeraövergång3lltavlan.
Nubörjarvipårik3gt!!
14
TAOP14: Föreläsning 1
29
Linjäraop3meringsproblem(LP-problem)
§  Maximera(minimera)enlinjärmålfunk3on
§  Linjärbivillkorsmängd
§  Undre(ochövre)gränsförvarjevariabel
Summa3onsform
X
max z =
Matrisform
max z = cT x
c j xj
j2J
då
X
j2J
då
aij xj  bi ,
xj
0,
Ax  b
x
i2I
0
j2J
TAOP14: Föreläsning 1
30
GrafisklösningavLP-problem
x2
max
då
5
(1)
(2)
(3)
5
z = x2
[målfunk9on]
x1 + x2  1
5x1 + 6x2  30
x 1 , x2
0
(1)
(2)
(3)
Tillåtnaområdet
x1
15
TAOP14: Föreläsning 1
31
GrafisklösningavLP-problem
x2
Op3mum
max
*
24 35 T
xLP
= ( 11
, 11 )
då
*
35
zLP
= 11
= 3 112
5
rz =
✓
0
1
◆
z = x2
[målfunk9on]
x1 + x2  1
5x1 + 6x2  30
x 1 , x2
0
(1)
(1)
(2)
(3)
Tillåtnaområdet
(2)
(3)
x1
5
TAOP14: Föreläsning 1
32
GrafisklösningavLP-problem
max
x2
då
5
(1)
✓
1
0
◆
✓
1
0
◆
(1)
(2)
(3)
Op3mum
*
xLP
= ( 6, 0)T
(2)
5
[nymålfunk9on]
x1 + x2  1
5x1 + 6x2  30
x 1 , x2
0
rz =
rz =
(3)
z = x1
*
zLP
=6
x1
16
TAOP14: Föreläsning 1
33
GrafisklösningavLP-problem
max
x2
då
5
rz =
(1)
rz =
✓
2
5
✓
2
5
◆
z = 2x1 + 5x2
x1 + x2  1
5x1 + 6x2  30
x 1 , x2
0
(1)
(2)
(3)
(2)
◆
(3)
x1
5
TAOP14: Föreläsning 1
34
GrafisklösningavLP-problem
max
x2
då
5
rz =
(1)
rz =
(3)
✓
5
6
◆
✓
5
6
z = 5x1 + 6x2
x1 + x2  1
5x1 + 6x2  30
x 1 , x2
0
(1)
(2)
(3)
◆
(2)
5
x1
17
TAOP14: Föreläsning 1
35
GrafisklösningavLP-problem
§  Op3mumliggerall3di(minst)en
hörnpunktförlinjäraproblem
x2
5
§  DeCakommerviaCanvändaför
aClösaLP-problemalgebraiskt
(Fö3+4,Simplexalgoritmen)
x1
5
TAOP14: Föreläsning 1
36
GrafisklösningavLP-problem
§  Målfunk3onskoefficienterna,
gradienten3llz,pekarditåtman
villgå(ditvärdetpåzökarmest)
x2
5
rz =
z = 16
z = 10
z= 4
✓
A
2
5
◆
§  T.ex.maxz=2x1+5x2
§  Allapunkterpålinjersomär
vinkelrätamotgradienten3llz
gersammamålfunk3onsvärde:
A=(0,2)=>z=2*0+5*2=10
B=(2.5,1)=>z=2*2.5+5*1=10
B
C=(5,0)=>z=2*5+5*0=10
C
5
x1
18
TAOP14: Föreläsning 1
37
Exempel:Produk3onsplanering
§  Produk3onavtvåolikaprodukter.
§  Maximeradentotalavinsten.
§  Resurs3llgångviddetvå3llverkningsavdelningarna:
avd1:240h;avd2:140h
§  Produkt1
• 
• 
• 
• 
vinst/enhet:30kr
resursåtgångavd1:4h
resursåtgångavd2:2h
begränsadeBerfrågan:40st
§  Produkt2
•  vinst/enhet:20kr
•  resursåtgångavd1:3h
•  resursåtgångavd2:2h
T1.1
TAOP14: Föreläsning 1
38
Modellformulering
Variabeldefini3on:
xi=antalet3llverkadeavprodukti,i=1,2
Matema3skmodell:
max
z = 30x1 + 20x2
[målfunk9on]
då
4x1 + 3x2  240
2x1 + 2x2  140
x1
 40
x 1 , x2
0
[resurs,avd.1]
[resurs,avd.2]
[maxproduk9on]
[variabelbegränsningar]
19
TAOP14: Föreläsning 1
x2
100
39
4*0 + 3x2 = 240
2*0 + 2x2 = 140
max
z = 30x1 + 20x2
då
4x1 + 3x2  240
2x1 + 2x2  140
x1
 40
x 1 , x2
0
Villkor 1
50
Villkor 3
X
2x1 + 2*0 = 140
x1
50
100
4x1 + 3*0 = 240
Villkor 2
TAOP14: Föreläsning 1
40
x2
max z = 30x1 + 20x2
100
rz =
z=1800
30 20
T
z=1200
z=600
x*=(4026,67)
z*=1733,33
50
z=0
X
x1
50
100
20
TAOP14: Föreläsning 1
41
Matrisform
max z = cT x
max
z = 30x1 + 20x2
då
4x1 + 3x2  240
2x1 + 2x2  140
x1
 40
x 1 , x2
0
cT =
30 20
0
4
@
2
A=
1
Ax  b
då
x
1
3
2 A
0
0
0
1
240
b = @ 140 A
40
TAOP14: Föreläsning 1
42
Summa3onsform
max
z = 30x1 + 20x2
då
4x1 + 3x2  240
2x1 + 2x2  140
x1
 40
x 1 , x2
0
max z =
X
c j xj
j2J
c1 = 30, c2 = 20
då
a11 = 4, a12 = 3
a21 = 2, a22 = 2
a31 = 1, a32 = 0
X
j2J
aij xj  bi ,
xj
0,
i2I
j2J
b1 = 240
b2 = 140
b3 = 40
21
TAOP14: Föreläsning 1
43
Exempelpåtyperavproblem
§ 
§ 
§ 
§ 
Linjäraproblem(LP)
Ickelinjäraproblem(ILP)
Grundkursen
Linjäraheltalsproblem
Nätverksproblem
FortsäCningskursen
TAOP14: Föreläsning 1
44
Linjärmålfunk3on
22
TAOP14: Föreläsning 1
45
Linjärt3llåtetområde
X
TAOP14: Föreläsning 1
46
Ickelinjärmålfunk3on
23
TAOP14: Föreläsning 1
47
Ickelinjärt3llåtetområde
X
TAOP14: Föreläsning 1
48
Ickelinjärtproblem
TillåtetområdeX
Op3mumidet
inreavX
Op3mumpå
randen3llX
24
TAOP14: Föreläsning 1
49
Nätverksproblem
§  HarenspeciellstruktursomgöraClogikeniproblemet
kanillustrerasiformaveCnätverkmednoderochbågar.
§  NätverksstrukturenutnyCjasvidlösningsförfarandet
TAOP14: Föreläsning 1
50
Heltalsproblem
max
då
5
z = 30x1 + 20x2
4x1 + 3x2  240
2x1 + 2x2  140
x1
 40
x 1 , x2
0,
heltal
BetydligtsvårareaClösa
äneCLP-problem!
5
25
TAOP14: Föreläsning 1
51
Konvexitet
§  VadavgöromeCproblemär”läC”eller”svårt”aClösa?
§  Olikatyperavproblemsägshaolikakomplexitet.
Komplexitetenberorgenerelltavproblemstrukturen
ochinteavdenaktuelladatan.
§  Skiljpå:
Konvexaproblem Icke-konvexaproblem
=läCaaClösa
=svåraaClösa
TAOP14: Föreläsning 1
52
Konvexitet
§  LP-problemärALLTIDkonvexa.
§  ILP-problemärkonvexaellericke-konvexa
Defini9on2.3
Problemet min f (x)
då x 2 X
äreCkonvextproblemom
f(x)ärenkonvexfunk3on
ochXärenkonvexmängd.
26
TAOP14: Föreläsning 1
53
Konvexkombina3on
En punkt y är en konvexkombination av två punkter
x (1) och x (2) om y = λ x (1) + (1-λ )x (2) där 0 ≤ λ ≤ 1.
x (1)
λ ökar
x( 2 )
λ =1
λ = 1/ 2
λ =0
Alternativt: y = λ1x (1) + λ2 x (2), λ1 + λ2 = 1, λ1, λ2 ≥ 0
TAOP14: Föreläsning 1
54
Konvexfunk3on,def.2.4
f(x) är en konvex funktion på X om det för varje
val av punkter x (1), x (2) ∈ X och 0 ≤ λ ≤ 1 gäller att
f (λ x (1) + (1− λ )x (2) ) ≤ λ f (x (1) ) + (1− λ ) f (x (2) )
f(x)
f (λx(1) + (1 − λ )x( 2) )
λf (x(1) ) + (1 − λ )f (x( 2) )
f(x(1) )
f(x( 2 ) )
x (1)
X
x( 2 )
27
TAOP14: Föreläsning 1
55
Konvexfunk3on
§  Exempelpåenfunk3onsominteärkonvex:
f(x)
f (λx(1) + (1 − λ )x( 2) )
λf (x(1) ) + (1− λ )f (x( 2) )
f(x(1) )
f(x( 2 ) )
x (1)
X
x( 2 )
TAOP14: Föreläsning 1
56
Konvexmängd
En mängd X ⊂ R n är en konvex mängd om det för varje
val av punkter x (1) ,x (2) ∈ X och 0 ≤ λ ≤ 1 gäller att
x = λ x (1) + (1− λ )x (2) ∈ X
x(1)
x(1)
x∉ X
X
X
x( 2)
x( 2)
x ligger ej i mängden,
ej konvex mängd
Oavsett val av x ( 1) och x ( 2 )
hamnar den streckade
linjen i mängden X , så
mängden är konvex
28
TAOP14: Föreläsning 1
57
Konvexitet
§  Meromkonvexitetnärvikommer3llden
icke-linjäradelenavkursen.
Defini9on2.3
Problemet min f (x)
då x 2 X
äreCkonvextproblemom
f(x)ärenkonvexfunk3on
ochXärenkonvexmängd.
TAOP14: Föreläsning 1
58
UppsummeringFö.1
§  Kursinforma3on
§  Introduk3on3llämnetOp3meringslära
•  LinjärProgrammering,LP-problem
•  Grafisklösning
•  Konvexitet
§  Vill3psaom”UHörligaexempel”somfinnspåLisam
•  Nota3on:
Förklaringavnota3onsomnikommerstötapåinom
op3meringskurserna(bl.a.summatecken)
§  Kommeruppflerdokumentunderkursensgång!
29