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 komplea 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 modellparametrar, vilka kan vara behäftade med osäkerheter
Introduktion Återkoppling Resultatet (om det finns en lösning) måste tolkas och utvärderas, te 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 Communication Simplification Quantification Limitation Modification Evaluation Interpretation Optimization model Algorithms Data Results N Andréassson et al.: An Introduction to Continuous Optimization
Dosplanering Dosplanering är ett inverst problem Utifrån ordinationen bestäms bestrålningsgeometrin Konventionellt ett manuellt, iterativt arbete ( trial&error ) Pga bestrålningsgeometrins begränsningar kan man inte uppfylla ordinationen eakt
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? Komplea 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): min f ( ) fi ( ), i 1,..., m f : f i n n
Matematisk formulering Optimeringsproblemets domän Definitionsmängden för optimeringsproblemet kallas för dess domän, D: D m i dom f i En punkt D är möjlig (feasible) om den uppfyller begränsningarna f i Problemet är möjligt om det finns minst en möjlig punkt; annars omöjligt
Matematisk formulering Optimum Det optimala värdet (minvärdet) definieras som: p inf f( ) fi ( ), i 1,..., m * är en optimal punkt, om * är möjlig och om f (*)=p* Om det finns minst en optimal punkt är problemet lösbart f () *
Matematisk formulering Lokalt optimum En punkt är ett lokalt optimum om det finns ett R> så att: f ) inf f ( z) fi( z), i 1,..., m, z ( R Dvs att funktionsvärdet för den möjliga punkten är mindre än för alla andra möjliga punkter inom avståndet R> från f () 2R
Optimeringsvariabeln Optimeringsvariabeln =[ 1, 2,..., n ] ä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
Optimeringsvariabeln Dosen till voel i beräknas enligt: d i =a i = j (a i,j j ) a i =[a i,1,a i,2,...,a i,n ] är en vektor vars element ger dosbidraget till voel i från respektive beamlet beamlets =[ 1, 2,..., n ] voel i dos-per-beamlet, a i,j, beräknas i förväg (analytiskt eller med MC)
Optimeringsvariabeln Matrisen A=[a 1,a 2,... a n ] blir förstås jättestor De flesta element i a i är emellertid i regel noll (eller nära noll) => man kan använda sparse matrices : 8,7 7,8 7,7 6,8 6,2 5,3 5,2 4,3 4,2 3,4 3,3 2,3 8,7 7,8 7,7 6,8 6,2 5,3 5,2 4,3 4,2 3,4 3,3 2,3, 7 8 7 8 2 3 2 3 2 4 3 3, 8 7 7 6 6 5 5 4 4 3 3 2 a a a a a a a a a a a a S S S a a a a a a a a a a a a A col row
Målfunktionen Målfunktionen f mäter hur bra vi uppfyller den ordinerade dosen D R 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 kompleitet
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 f () f i d i D R 2 D R d i
Målfunktionen Modifierad målfunktion Heaviside funktionen H(t)= då t< H(t)=1 då t> Ger penalty för doser lägre än ordination (mindosmål) f () f 2 d D HD d i i R R i D R d i
Målfunktionen DVH-analys Dose-volume objective, DVO, använder samma formulering, men tillåter att en viss liten volym, V UD, underdoseras, mindre än D R (min-dvo-mål) Vol / % 1-V UD f 2 d D HD d i i R R i D / % D R
Målfunktionen Modifierad målfunktion för riskorgan Heaviside funktionen H(t)= då t< H(t)=1 då t> Ger penalty för doser högre än ordination (madosmål) f () f 2 d D Hd D i i OAR i OAR D OAR d i
Målfunktionen DVH-analys för riskorgan Dose-volume objective, DVO, använder samma formulering, men tillåter att en viss volym, V OAR,tol, erhåller dos över D OAR (ma-dvo-mål) Vol / % f 2 d D Hd D i i OAR i OAR V OAR,tol D OAR D / %
Målfunktionen Radiobiologiska målfunktioner f () TCP Medeldos, EUD NTCP 1 N d i i p 1 p D R d i
Målfunktionen Om målfunktionen är konve finns det endast ett globalt minimum, annars kan det finnas multipla lokala minima (eempel i 1D) f () f () f (*)=p* Multipla min Konve funktion Icke-konve funktion
Målfunktionen När är en funktion konve? En funktion är konve om en linje mellan två punkter på kurvan ligger över kurvan, dvs: 1 2 1 2 1 2, dom f, 1: f ( 1 ) f ( ) 1 f ( ) f () f () (1) (2) (2) f (*)=p* (1) Multipla min Konve funktion Icke-konve funktion
Målfunktionen När är en funktion konve? Första ordningens villkor: f ()f ( () )+f ( () )(- () ) Andra ordningens villkor: 2 f () f () f ()+f ( () )(- () ) ()
Målfunktionen Konve och differentierbar Om f är konve och differentierbar har vi det kända villkoret för optimum: f * Observera att detta är ett ekvationssystem med n ekvationer, eftersom R n
Målfunktionen Ett enkelt eempel med kvadratisk målfunktion Antag att vi har målfunktionen f =(d i -D R ) 2 Vi har då att (kom ihåg att d i =a i ): f a i i D R vars min hittas genom att lösa det linjära ekvationssystemet: 2 a D a f i i R i 2
Målfunktionen Sammansatt målfunktion Normalt sätts flera målfunktioner, f,j, viktade med en faktor w j, samman till en komposit målfunktion: f w j f, j j Man kan också ha en voelspecifik viktfaktor, v i Te 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 (te i viss del av target eller hot spot)
Begränsningar Begränsningar f i, 1im Det kan också finnas vissa ramar, inom vilka man måste hålla sig för att resultatet skall vara användbart, te: Dos till ett riskorgan måste vara mindre än en toleransdos Beamlet-viktfaktorerna måste vara positiva Dessa begränsningar formuleras i minimeringsproblemet som f i (), te kravet på riskorganet ovan: f OAR ()=a i -D tol kravet om positiva viktfaktorer: f beamlet ()=-
Begränsningar Om begränsningarna utgör en konve mängd har en konve funktion ett globalt minimum, annars kan det finnas multipla lokala minima (eempel i 1D) f () f () Multipla min f (*)=p* konve mängd icke-konve mängd
Begränsningar När är en mängd konve? En mängd C är konve om en linje mellan två punkter i C också ligger i C (eempel i 2D): 1 2 1 C 2,, 1: 1 C 2 2 (2) (1) (1) (2) Konve mängd 1 Icke-konve mängd 1
Begränsningar Eempel med linjär begränsning En linjär begränsning (likhet), f 1 ()=, motsvarar ett hyperplan (eempel i 2D) 2 a () f a a T T 1 1
Begränsningar Eempel med linjär begränsning En linjär begränsning (olikhet), f 1 (), motsvarar därmed en halvrymd 2 a () f T T 1 a a 1
Begränsningar Flera linjära begränsningar, f i (), bildar således en polyeder, vilket är en konve mängd 2 f 4 () (2) f 3 () (1) f 2 () f 1 () 1
Begränsningar DVO-begränsningar motsvarar en union av flera polyedra och kan därmed resultera i multipla min 2 2 Konve mängd 1 Icke-konve mängd 1
Begränsningar Hur skall man då se till att begränsningar uppfylls? Log-barrier penalty f () tilldelas ett mycket högt värde för 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 I C är en så kallad indikatorfunktion för den konvea mängden CR n : I C () I C ( ) C C konve mängd
Begränsningar Att minimera f med dom fr n inom C är då detsamma som att minimera f +I C över hela R n (eempel i 1D) f () f () f (*)=p* f (*)=p* konve mängd 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 I C () hela n
Begränsningar Lagrange-metoden Bilden visar ett 2D-eempel med två isonivåer av f ( 1, 2 ), d 2 >d 1 Vi tittar först på fallet utan begränsningar Vårt villkor för optimum är då som tidigare: 2 f * f ( 1, 2 )=d 1 f ( 1, 2 )=d 2 1
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 f 1 ( 1, 2 )= Min inträffar då istället där gradienterna är parallella: f 1 ( 1, 2 )= f f 1 2 * f ( 1, 2 )=d 1 f ( 1, 2 )=d 2 1
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 i i f f L 1, m i f f f L i m i i i 1,...,,, 1,
Begränsningar Ett enkelt eempel med en begränsning (likhet) 2 2 / 2, 2 /, 2 2 / 2, 2 /, Två punkter: 1 2 1 2 1 - ekvationerna : Lagrange 1,, 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 1 2 1 f f L L L
Begränsningar Olikhets-begränsningar Lagrange-funktionen kan användas för olikhetsbegränsningar på samma sätt, genom att om f i = skall i (active constraint) om f i < skall i = (inactive constraint) Detta kan skrivas kompakt som i f i = (complementary slackness) Dessa villkor kallas tillsammans för the Karush-Kuhn-Tucker (KKT) conditions 2 f 1 ( 1, 2 )= f ( 1, 2 )=d 1 f ( 1, 2 )=d 2 1
Begränsningar Nytt optimeringsproblem Vi söker således istället minimum av L(,), 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, approimativt problem (QP) Kvadratisk målfunktion Linjära begränsningar Detta görs i en iterativ process, där approimationen justeras i varje steg, sk Sequential Quadratic Programming (SQP)
Lösningsmetoder Sequential Quadratic Programming (SQP) NLP löses genom en sekvens av approimativa 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 -värde Stoppingcriteria Konvergens
Iterativ algoritm
Iterativ algoritm Initialvärde Algoritmen utgår från ett startvärde; () 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 f ( (k+1) ) < f ( (k) ) k=,1,... (iterationsnummer) Nytt -värde: (k+1) = (k) + t (k) (k) (k) är sökriktning t (k) > är steglängd
Iterativ algoritm Sökriktning Vid varje iteration beräknas en sökriktning; (k) Kan bestämmas av gradienten; (k) = -f ( (k) ) SQP använder dock en kvadratisk approimation (Newton-metoden)
Iterativ algoritm Newton-metoden Andra ordningens Taylor-approimation ger: f k k v f k T 1 T 2 k f v v f 2 v Denna minimeras då: k k 1 k f 2 v f f () ( (k),f( (k) ) ( (k+1),f( (k+1) ) (k)
Iterativ algoritm Kvasi-Newton Om inte f ( (k) ) och 2 f ( (k) ) är kända, kan man behöva beräkna dessa numeriskt mha f ( (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 f ( (k) +t (k) (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, f i ( (k) +t (k) (k) )=, dvs i det lineäriserade fallet: f i ( (k) )+f i ( (k) )t (k) (k) =
Iterativ algoritm Om t (k) =1 inte överträder begränsningarna har vi en lösning till QP-problemet f 1 ( 1, 2 )= f 2 ( 1, 2 )= (k) (k) (k+1) f 3 ( 1, 2 )= f ( 1, 2 )=d 1 f 4 ( 1, 2 )= f ( 1, 2 )=d 2 1
Iterativ algoritm I annat fall bestäms t (k) av lösningen till de linjära begränsningarna f i ( (k) )+f i ( (k) )t (k) (k) = f 1 ( 1, 2 )= f 2 ( 1, 2 )= (k) (k+1) t (k) (k) f 3 ( 1, 2 )= f ( 1, 2 )=d 1 f 4 ( 1, 2 )= f ( 1, 2 )=d 2 1
Iterativ algoritm Nytt -värde Ett nytt -värde beräknas utifrån sökriktning och steglängd; (k+1) = (k) +t (k) (k)
Iterativ algoritm Iterera tills stopp-kriteriet är uppfyllt Konvergens (skillnad mellan 2 iterationer) Absolut eller relativt Ma antal iterationer Diff mellan 2 iterationer Ma antal 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-5 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 (26)
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 (26)
Realisering Regularisering Det är därför viktigt att redan under optimeringsalgoritmen se till att minska effekterna av detta Det finns olika metoder Rejection; förkastar orimliga lösningar under iterationen Variational; etra 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 motsvarar maskinens sk control points RaySearch s algoritm gör detta (sk machineparameter optimization) Detta är lite mer krävande, och behöver ett bra initialvärde (), vilket tas fram genom en kort föroptimering
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 -vektor), som är optimal med hänsyn till mål, begränsningar och hur de är sammanviktade f ( ) wj f, j( ) j
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 f ( ) wj f, j( ) j
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, te: 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 28
Optimering av multipla kriterier Jämförelse mellan olika IMRT & Tomoterapi H. Benedek et al. 29