Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Optimering av dosplanering
Crister Ceberg
Optimering av dosplanering
• Introduktion
• Dosplanering
• Matematisk formulering
– Optimeringsvariabeln
– Målfunktionen
– Begränsningar
• Lösningsmetoder
• Realisering
• Optimering av multipla kriterier
Introduktion
• Historia I
– Lat. optimum = ”det ultimata idealet”
– Studerats sedan antiken (av bla Arkimedes,
Euklides, Heron)
– Ett klassiskt problem är hur man designar ett
kärl med så stor volym som möjligt utav en
plåt med begränsad yta
– Uppsving under analysens utveckling (av bla
Lagrange, Euler, Bernoulli, Weierstrass)
Introduktion
• Historia II
– Moderna metoder togs fram under (och efter) 2:a världskriget (av bla Dantzig, Tucker)
– Behovet var att kontrollera komplexa system och hushålla med begränsade resurser
– Optimeringsproblem faller sedan dess under ”operations research”, och lösningsmetoderna benämns ”decision program”
– Idag nödvändigt för verksamheter som konkurrerar i en global ekonomi
Introduktion
• Verklighetsanknytning
– En optimeringsmodell bygger på ett verkligt
”decision problem”
– Metoden för att lösa ett optimeringsproblem är
starkt beroende av det specifika problemet
– Det gäller att förstå den reella bakgrunden
Introduktion
• I kliniken
– Patienttryck kräver optimering av
behandlingstider
– Ekonomin kräver optimering av personalens
arbete
– Bästa behandling av patienten kräver
• Optimering av teknikval
• Optimering av utrustning
• Optimering av dosplan
Introduktion
• Matematisk modell
– Därefter formuleras en lösbar, vanligtvis
förenklad och begränsad, matematisk modell
(”mathematical programming”)
– Det finns i regel ett motsatsförhållande mellan
lösbarhet och realism
– Lösningen kräver ofta vissa modell-
parametrar, vilka kan vara behäftade med
osäkerheter
Introduktion
• Återkoppling
– Resultatet (om det finns en lösning) måste
tolkas och utvärderas, tex applicerbarhet,
stabilitet
– Det är viktigt att resultatet är meningsfullt i
den verklighet där det ursprungliga problemet
uppstod
– ”Lika mycket konst som vetenskap”
Introduktion
Reality
Evaluation
Optimization model Results
Communication
Simplification
Quantification
Limitation
Algorithms
Data
InterpretationModification
N Andréassson et al.: An Introduction to Continuous Optimization
Dosplanering
• Dosplanering är ett inverst problem
– Utifrån ordinationen bestäms bestrålnings-
geometrin
– Konventionellt ett manuellt, iterativt arbete
(”trial&error”)
– Pga bestrålningsgeometrins begränsningar
kan man inte uppfylla ordinationen exakt
Dosplanering
• Strävan efter ökad konformitet
– Bättre dosfördelning => bättre resultat
– 1976 beskrev Bjärngard och Kijewski en
datorstyrd MLC för förbättrad dosfördelning
– Idag är IMRT standard
Dosplanering
• IMRT modulerar infallande fotonfluens
Radiological Sciences Dept., University of California
Dosplanering
• Nya avancerade dynamiska tekniker
Elekta TomoTherapy
Dosplanering
• Optimeringsalgoritmer
– Hur bestämmer man den infallande fotonfluensen?
– Komplexa bestrålningsgeometrier kan inte hanteras
manuellt, utan kräver avancerade
optimeringsalgoritmer
– 1988 beskrev Brahme dosplanering som ett generellt
optimeringsproblem; invers dosplanering
Matematisk formulering
• Matematisk formulering av optimeringsproblemet
– Optimeringsvariabel (decision varable):
– Målfunktion (objective function):
– Begränsningar (constraints):
mixf
xf
i ,...,1,0)(
)(min 0
nx nf :0
if
Matematisk formulering
• Optimeringsproblemets domän
– Definitionsmängden för optimeringsproblemet
kallas för dess domän, D:
– En punkt xD är möjlig (feasible) om den
uppfyller begränsningarna fi
– Problemet är möjligt om det finns minst en möjlig
punkt; annars omöjligt
m
i
ifD0
dom
Matematisk formulering
• Optimum
– Det optimala värdet (minvärdet) definieras som:
– x* är en optimal punkt, om x* är möjlig och om f0(x*)=p*
– Om det finns minst en optimal punkt
är problemet lösbart
mixfxfp i ,...,1,0)()(inf 0
f0(x)
x*
Matematisk formulering
• Lokalt optimum
– En punkt x är ett lokalt optimum om det finns ett
R>0 så att:
– Dvs att funktionsvärdet för den möjliga punkten x
är mindre än för alla andra möjliga punkter inom
avståndet R>0 från x
Rxzmizfzfxf i ,,...,1,0)()(inf)( 00
f0(x)
x
2R
Optimeringsvariabeln
• Optimeringsvariabeln x=[x1,x2,...,xn] är en vektor av
viktfaktorer (motsvarande en fluensvariation)
• Alla tänkbara fält delas in i sk ”beamlets”
• Varje beamlet är representerad av ett element i x
Optimeringsvariabeln
• Dosen till voxel i beräknas enligt: di=aix=j(ai,jxj)
• ai=[ai,1,ai,2,...,ai,n] är en vektor vars element ger
dosbidraget till voxel i från respektive beamlet
x=[x1,x2,.....................,xn]
voxel i
beamlets
dos-per-beamlet, ai,j,
beräknas i förväg
(analytiskt eller med MC)
Optimeringsvariabeln
• Matrisen A=[a1,a2,... an] blir förstås jättestor
• De flesta element i ai är emellertid i regel noll
(eller nära noll) => man kan använda ”sparse
matrices”:
7,8
8,7
7,7
8,6
2,6
3,5
2,5
3,4
2,4
4,3
3,3
3,2
7,8
8,77,7
8,62,6
3,52,5
3,42,4
4,33,3
3,2
,
7
8
7
8
2
3
2
3
2
4
3
3
,
8
7
7
6
6
5
5
4
4
3
3
2
0000000000
0000000000
000000000
00000000
00000000
00000000
00000000
00000000
000000000
0000000000
a
a
a
a
a
a
a
a
a
a
a
a
SSS
a
aa
aa
aa
aa
aa
a
A colrow
Målfunktionen
• Målfunktionen f0 mäter hur bra vi uppfyller den
ordinerade dosen DRx till patienten;
– minst när behandlingsordinationen uppfylls
– ökande i annat fall (sk ”penalty”)
Målfunktionen
• Att hitta en lösning på optimeringsproblemet =
att hitta minsta värdet på målfunktionen
Varierande komplexitet
Målfunktionen
• Kvadratisk målfunktion
– Har minimum då given dos är lika med ordinationen
– Ger penalty för både högre och lägre doser
i
Rxi Ddxf2
0
di
f0(x)
DRx
DRx
Målfunktionen
• Modifierad målfunktion
– Heaviside funktionen H(t)=0 då t<0 H(t)=1 då t>0
– Ger penalty för doser lägre än ordination (mindosmål)
iRx
i
Rxi dDHDdxf 2
0
di
f0(x)
Målfunktionen
• DVH-analys
– Dose-volume objective, DVO, använder samma
formulering, men tillåter att en viss liten volym, VUD,
underdoseras, mindre än DRx (min-DVO-mål)
D / %
Vol / %
1-VUD
DRx
iRx
i
Rxi dDHDdxf 2
0
Målfunktionen
• Modifierad målfunktion för riskorgan
– Heaviside funktionen H(t)=0 då t<0 H(t)=1 då t>0
– Ger penalty för doser högre än ordination (maxdosmål)
OARi
i
OARi DdHDdxf 2
0
di
f0(x)
DOAR
Målfunktionen
• DVH-analys för riskorgan
– Dose-volume objective, DVO, använder samma
formulering, men tillåter att en viss volym, VOAR,tol,
erhåller dos över DOAR (max-DVO-mål)
D / %
Vol / %
VOAR,tol
DOAR
OARi
i
OARi DdHDdxf 2
0
Målfunktionen
• Radiobiologiska målfunktioner• TCP
• Medeldos,
• NTCP
di
f0(x)
DRx
p
i
p
iNdEUD
1
1
Målfunktionen
• Om målfunktionen är konvex finns det endast ett globalt
minimum, annars kan det finnas multipla lokala minima
(exempel i 1D)
x xKonvex funktion Icke-konvex funktion
f0(x*)=p*
Multipla
min
f0(x) f0(x)
Målfunktionen
• När är en funktion konvex?– En funktion är konvex om en linje mellan två punkter på kurvan
ligger över kurvan, dvs:
x xKonvex funktion Icke-konvex funktion
x(1)
f0(x*)=p*
Multipla
min
)(1)()1(:10, dom, 2
0
1
0
21
00
21 xfxfxxffxx
x(2)
x(1)
x(2)
f0(x) f0(x)
Målfunktionen
• När är en funktion konvex?
– Första ordningens villkor: f0(x)f0(x(0))+f0(x
(0))(x-x(0))
– Andra ordningens villkor: 2f0(x)0
x
f0(x)+f0(x(0))(x-x(0))
x(0)
f0(x)
Målfunktionen
• Konvex och differentierbar
– Om f0 är konvex och differentierbar har vi det
kända villkoret för optimum:
– Observera att detta är ett ekvationssystem
med n ekvationer, eftersom xRn
0*0 xfx
Målfunktionen
• Ett enkelt exempel med kvadratisk målfunktion
– Antag att vi har målfunktionen f0=(di-DRx)2
– Vi har då att (kom ihåg att di=aix):
– vars min hittas genom att lösa det linjära
ekvationssystemet:
i
Rxi Dxaxf2
0
020 i
i
Rxix aDxaxf
Målfunktionen
• Sammansatt målfunktion
– Normalt sätts flera målfunktioner, f0,j, viktade med en
faktor wj, samman till en komposit målfunktion:
– Man kan också ha en voxelspecifik viktfaktor, vi
• Tex för att ta hänsyn till att olika volymer är olika stora
• Eller för att förstärka penalty för vissa svåra områden
(tex i viss del av target eller hot spot)
j
jj fwxf ,00
Begränsningar
• Begränsningar fi, 1im
– Det kan också finnas vissa ramar, inom vilka man måste
hålla sig för att resultatet skall vara användbart, tex:
• Dos till ett riskorgan måste vara mindre än en toleransdos
• Beamlet-viktfaktorerna måste vara positiva
– Dessa begränsningar formuleras i minimerings-
problemet som fi(x)0, tex
• kravet på riskorganet ovan: fOAR(x)=aix-Dtol0
• kravet om positiva viktfaktorer: fbeamlet(x)=-x0
Begränsningar
• Om begränsningarna utgör en konvex mängd har en
konvex funktion ett globalt minimum, annars kan det
finnas multipla lokala minima (exempel i 1D)
x
f0(x)
f0(x*)=p*
konvex mängdx
f0(x)
icke-konvex mängd
Multipla
min
Begränsningar
• När är en mängd konvex?– En mängd C är konvex om en linje mellan två punkter i C
också ligger i C (exempel i 2D):
x2
x1
x2
x1Konvex mängd Icke-konvex mängd
CxxCxx 2121 1:10,,
x(1)
x(2)
x(1)
x(2)
Begränsningar
• Exempel med linjär begränsning
– En linjär begränsning (likhet), f1(x)=0, motsvarar ett
hyperplan (exempel i 2D)
x2
x1
00
1 xaxaxf TT
a
x(0)
Begränsningar
• Exempel med linjär begränsning
– En linjär begränsning (olikhet), f1(x)0, motsvarar
därmed en halvrymd
x2
x1
00
1 xaxaxf TT
a
x(0)
Begränsningar
• Flera linjära begränsningar, fi(x)0, bildar
således en polyeder, vilket är en konvex mängd
x2
x1
f2(x)0
f1(x)0
f4(x)0
f3(x)0
x(1)
x(2)
Begränsningar
• DVO-begränsningar motsvarar en union av flera
polyedra och kan därmed resultera i multipla min
x2
x1
x2
x1Konvex mängd Icke-konvex mängd
Begränsningar
• Hur skall man då se till att begränsningar uppfylls?
– Log-barrier penalty
• f0(x) tilldelas ett mycket högt värde för x som ligger
utanför begränsningarna
– Lagrange-metoden
• Målfunktionen och begräsningarna kombineras till en
sammansatt funktion som minimeras
Begränsningar
• Log-barrier penalty
– IC är en så kallad indikatorfunktion för den konvexa
mängden CRn:
Cx
CxxIC
0)(
x
IC(x)
konvex mängd
Begränsningar
• Att minimera f0 med dom fRn inom C är då detsamma
som att minimera f0+IC över hela Rn (exempel i 1D)
x
f0(x)
f0(x*)=p*
konvex mängdx
f0(x)
f0(x*)=p*
hela n
Begränsningar
• Log-barrier penalty
– Indikatorfunktionen är inte differentierbar, och är
därför inte lämplig för optimeringsproblem
– Istället kan man
använda en
logaritmisk
penalty funktion;
en barriär
x
IC(x)
hela n
Begränsningar
• Lagrange-metoden
– Bilden visar ett 2D-exempel med två
isonivåer av f0(x1,x2), d2>d1
– Vi tittar först på fallet utan begränsningar
– Vårt villkor för optimum är då som
tidigare:
00 fx
f0(x1,x2)=d1
f0(x1,x2)=d2
x2
x1
x*
Begränsningar
• Lagrange-metoden
– Låt oss nu säga att det finns en begränsning, som
säger att det min vi söker måste ligga på den gröna
kurvan, där f1(x1,x2)=0
– Min inträffar då istället där
gradienterna är parallella:
10 ff xx
f1(x1,x2)=0
f0(x1,x2)=d1
f0(x1,x2)=d2
x2
x1
x*
Begränsningar
• Lagrange-metoden
– Detta kan formuleras kompakt i en ekvation mha den
sk Lagrange-funktionen (där är lagrange-multipliers):
– Ekvationerna för gradient-kriteriet och alla constraints
följer då genom att sätta derivatan av L till noll:
m
i
ii xfxfxL1
0,
mif
ffxL
i
m
i
ixixx
,...,1,0
00,
1
0,
Begränsningar
• Ett enkelt exempel med en begränsning (likhet)
2/2,2/2,
2/2,2/2,
:punkter Två
01
021
021
:naekvationer-Lagrange
01,
,
21
21
2
2
2
1
2
1
2
2
2
1211
21210
2
1
xx
xx
xx
x
x
xxxxf
xxxxf
L
xL
xL
Begränsningar
• Olikhets-begränsningar
– Lagrange-funktionen kan användas för olikhets-
begränsningar på samma sätt, genom att
• om fi=0 skall i≥0 (active constraint)
• om fi<0 skall i=0 (inactive constraint)
– Detta kan skrivas kompakt som ifi=0
(complementary slackness)
– Dessa villkor kallas
tillsammans för ”the
Karush-Kuhn-Tucker (KKT)
conditions”
f1(x1,x2)=0
f0(x1,x2)=d1
f0(x1,x2)=d2
x2
x1
Begränsningar
• Nytt optimeringsproblem– Vi söker således istället minimum av L(x,), som nu
innehåller både mål och begränsningar
– Det betyder att begränsningarna kommer att uppfyllas
efter hand som iterationen konvergerar
Lösningsmetoder
• Två huvudmetoder– Stokastiska metoder;
har ett slumpmässigt inslag för att undvika
att fastna i lokala minima
– Deterministiska metoder;
bygger på gradient-baserad sökning
Lösningsmetoder
• Stokastiska metoder– Simulated annealing (från Kirkpatrick 1983)
• En initial dosplan genereras
• Små slumpmässiga variationer introduceras
• Resultatet utvärderas map optimeringsmålen
• Den nya planen accepteras med en viss sannolikhetäven om den är sämre
• Sannolikheten för acceptans avtar med antalet iterationer
– Genetic algorithm (från Holland and DeJong 1975)
• En initial population av dosplaner genereras
• Individerna (”kromosomer”) utvärderas map optimeringsmålen
• Föräldrar väljs ut med en sannolikhet som står i proportion till kvaliteten
• En ny avkomma beräknas
• Detta itereras till konvergens
Lösningsmetoder
• Deterministiska metoder– Gradient-baserad sökning
– Icke-linjära problem (NLP) löses i allmänhet genom att
konverteras till kvadratiska, approximativt problem (QP)
• Kvadratisk målfunktion
• Linjära begränsningar
– Detta görs i en iterativ process, där approximationen
justeras i varje steg, sk Sequential Quadratic
Programming (SQP)
Lösningsmetoder
• Sequential Quadratic Programming (SQP)
– NLP löses genom en sekvens av approximativa QP
– Från PhD avhandling av R.B. Wilson 1963
– ”State-of-the art”
– Används av RaySearch, som har samarbete med
ledande tillverkare; Philips (Pinnacle), Nucletron
(MasterPlan), Varian (Eclipse) och TomoTherapy
Iterativ algoritm
Initialvärde
Funktionsevaluering
Beräkning av
sökriktning
Beräkning av
steglängd
Beräkning av
nytt x-värde
Stopping-
criteria
Konvergens
Iterativ algoritm
Iterativ algoritm
• Initialvärde
– Algoritmen utgår från ett startvärde; x(0)D
– Startvärdet kan vara viktigt
– Eftersom det kan finnas lokala minima, kan
olika startvärde ge olika resultat
Iterativ algoritm
• Funktionsevaluering
– Vi kräver av en iteration att f0(x(k+1)) < f0(x
(k))
– k=0,1,... (iterationsnummer)
– Nytt x-värde: x(k+1) = x(k) + t(k) x(k)
– x(k) är sökriktning
– t(k)>0 är steglängd
Iterativ algoritm
• Sökriktning
– Vid varje iteration beräknas en sökriktning; x(k)
– Kan bestämmas av gradienten; x(k) = -f0(x(k))
– SQP använder dock en kvadratisk
approximation (Newton-metoden)
Iterativ algoritm
• Newton-metoden
– Andra ordningens Taylor-approximation ger:
– Denna minimeras då:
vxfvvxfxfvxf kTTkkk
0
2
21
000
x
f0(x)
(x(k),f(x(k))
kkk xfxfxv 0
1
0
2
x(k)
(x(k+1),f(x(k+1))
Iterativ algoritm
• Kvasi-Newton– Om inte f0(x
(k)) och 2f0(x(k)) är kända, kan man
behöva beräkna dessa numeriskt mha f0(x(k))
– Antalet funktionsevalueringar är ett viktigt
effektivitetsmått på en optimeringsalgoritm;
ju färre desto snabbare och bättre
Iterativ algoritm
• Steglängd– Därefter beräknas steglängd; t(k)
– t(k) väljes så att f0(x(k)+t(k)x(k)) minimeras
– Två möjligheter
• Om t(k)=1 inte överträder begränsningarna har vi en lösning till
QP-problemet
• I annat fall bestäms t(k) av närmaste begränsning,
fi(x(k)+t(k)x(k))=0, dvs i det lineäriserade fallet:
fi(x(k))+fi(x
(k))t(k)x(k)=0
Iterativ algoritm
• Om t(k)=1 inte överträder begränsningarna har vi en lösning
till QP-problemet
f2(x1,x2)=0
f0(x1,x2)=d1
f0(x1,x2)=d2 x1
f3(x1,x2)=0
f4(x1,x2)=0
f1(x1,x2)=0
x(k)
x(k+1)x(k)
Iterativ algoritm
• I annat fall bestäms t(k) av lösningen till de linjära
begränsningarna fi(x(k))+fi(x
(k))t(k)x(k)=0
f2(x1,x2)=0
f0(x1,x2)=d1
f0(x1,x2)=d2 x1
f3(x1,x2)=0
f4(x1,x2)=0
f1(x1,x2)=0
x(k)
x(k+1)
t(k)x(k)
Iterativ algoritm
• Nytt x-värde
– Ett nytt x-värde beräknas utifrån sökriktning
och steglängd; x(k+1)=x(k)+t(k) x(k)
Iterativ algoritm
• Iterera tills stopp-kriteriet är uppfyllt
– Konvergens (skillnad mellan 2 iterationer)
• Absolut eller relativt
– Max antal iterationer
Max antal
iterationer
Diff mellan
2 iterationer
Realisering
• Realisering
– Aperturbaserad optimering (DAO)
– Kompensatorer
– MLC-segmentering
• Statiska segment (step and shoot)
• Dynamisk teknik (dMLC)
Realisering
• Konvertering av optimerad fluens till
MLC-segment/rörelsemönster
• Segementeringsalgoritm
• Måste ta hänsyn till vissa begränsningar
– Leaf width
– Over-travel
– Interdigitation
Realisering
• MLC-segmentering– Efter ca 25-50 iterationer
har normalt de ”stora dragen”
hos fluensmatrisen definierats
– Vid fortsatta iterationer
sker ”finjustering”, vilket
innebär inslag av högre
frekvenser i fluensmatrisen
Carlsson & Forsgren, Med. Phys. 33:225 (2006)
Realisering
• MLC-segmentering– Högre frekvenser innebär generellt större problem
för segmenteringsalgoritmen
– ”För många” iterationer
kan därför resultera
i en sämre plan
Efter optimering Efter segmentering
Carlsson & Forsgren, Med. Phys. 33:225 (2006)
Realisering
• Regularisering
– Det är därför viktigt att redan under optimerings-
algoritmen se till att minska effekterna av detta
– Det finns olika metoder
• Rejection; förkastar orimliga lösningar under iterationen
• Variational; extra term med penalty för stor spridning
• Filtering; filtrerar bort höga frekvenser under eller efter
optimeringen
• Iterative; avbryter iterationerna innan höga frekvenser
uppstår
Realisering
• Maskin-parameter-optimering– Ännu bättre är det att optimera MLC-inställningarna
direkt, dvs att vektorn x motsvarar maskinens sk
control points
– RaySearch’s algoritm gör detta (sk machine-
parameter optimization)
– Detta är lite mer krävande, och behöver ett bra
initialvärde x(0), vilket tas fram genom en kort för-
optimering
Optimering av multipla kriterier
• Iterativ process återstår
– När IMRT kom trodde man att invers dosplanering
skulle eliminera behovet av ”trial & error”
(Brahme 1988)
– Optimeringsalgoritmen tar fram en plan
(en x-vektor), som är optimal med hänsyn till mål,
begränsningar och hur de är sammanviktade
j
jj xfwxf )()( ,00
Optimering av multipla kriterier
• Iterativ process återstår
– Det är svårt att förutse hur sammanviktningen
påverkar resultatet
– Mål, begränsningar och ffa viktfaktorerna måste
därför i regel justeras iterativt för att uppnå ett kliniskt
acceptabelt resultat
j
jj xfwxf )()( ,00
Optimering av multipla kriterier
• Pareto-konceptet
– En dosplan är Pareto optimal om:
• Går ej att förbättra på ett sätt utan att försämra på ett annat.
– Ofta finns ett set av optimala planer
• Bildar en Pareto front
Optimering av multipla kriterier
• Pareto-konceptet– Ett antal optimerade planer visas i grafen
– Samma mål och
kriterier har använts,
men med olika
sammanviktning
– Pareto-fronten kan
inte överträffas (man
kan inte både öka TCP
och minska NTCP)
R. Olsson et al.
Optimering av multipla kriterier
• Jämförelse mellan olika algoritmer
– Olika system har jämförts i litteraturen
– Resultaten är ganska likvärdiga
– Vissa skillnader har rapporterats, tex:
• Biologisk optimering ger mer inhomogen targetdos
• Svårt att genomföra systematiskt
– Samma kriterier vid optimering och utvärdering
– Pareto-konceptet kan användas för rättvis jämförelse
Optimering av multipla kriterier
• Jämförelse mellan olika algoritmer– Optimal fluens
utan segmentering
– S&S-segmentering
– dMLC
R. Olsson et al. ESTRO 2008
Optimering av multipla kriterier
• Jämförelse mellan olika IMRT & Tomoterapi
H. Benedek et al. 2009