570 likes | 657 Views
Heuristic Solver. Builds and tests alternative fuel treatment schedules (solutions) at each iteration In each iteration: Evaluates the effects of each alternative schedule on the constraints Evaluates the expected loss over time
E N D
Heuristic Solver • Builds and tests alternative fuel treatment schedules (solutions) at each iteration • In each iteration: • Evaluates the effects of each alternative schedule on the constraints • Evaluates the expected loss over time • Selects the fuel treatment schedule that provides the minimum overall expected loss over time while satisfying the constraints
Heuristic Solver • Uses Simulated Annealing (SA) Algorithm to select treatments • The SA algorithm is based on simulating cooling of materials in a bath (annealing) • Heuristic optimization technique widely used to solve large combinatorial problems in various fields • Assignment/scheduling problems • Transportation network problems • Manufacturing problems • Monte Carlo approach that uses a local search • A subset of all possible solutions is explored by moving to through neighbor solutions • Some lower quality solutions are accepted to avoid solutions stagnation at local optimum
Building Clusters of Polygons for Treatment • Assigns fuel treatments to stand polygons (GIS layer) • Treating individual stands is generally not effective at changing fire behavior at the landscape level (Finney 2006) • Solver builds clusters of adjacent polygons to form larger treatment units
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Update cluster area Selected Minimum cluster 100.0 ac Selected polygon 5.0 ac Clustered area 5.0 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 4.5 ac Clustered area 9.5 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 5.8 ac Clustered area 15.3 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 6.1 ac Clustered area 21.4 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 5.2 ac Clustered area 26.6 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 7.2 ac Clustered area 33.8 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 8.1 ac Clustered area 41.9 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 8.8 ac Clustered area 50.7 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 7.7 ac Clustered area 58.4 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 74.0 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 8.9 ac Clustered area 82.9 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 8.2 ac Clustered area 91.1 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Adjacent Selected Clustered Update cluster area Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 98.9 ac Is current cluster area > minimum cluster area ? No Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon No action Update cluster area Selected Clustered Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 106.8 ac Is current cluster area > minimum cluster area ? Yes No Stop clustering polygons Identify adjacent polygons Select random adjacent polygon
Building Clusters of Polygons for Treatment • Clustering adjacent stand polygons Select random polygon Update cluster area Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 106.8 ac Is current cluster area > minimum cluster area ? Yes No Stop clustering polygons Identify adjacent polygons Select random adjacent polygon
Heuristic Solver • Objective is to minimize expected loss where : c : Index of grid cells (pixels) t : Index of time period Lossc,t : Expected loss value for grid cell c for period t, based on the flame length predicted by MTT Pc,t : Probability of cell c being burned in period t, based on the fire arrival time predicted by MTT
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Steps in each Iteration • Data passed to Solver: • Landscape fuel • parameters • Fire scenario • Objective Function • Constraints • Adjacent Polygons • topography Build or modify a solution (timing and placement of treatments) Update the landscape fuel parameters for each period • Run MTT for each planning period and retrieve results • by pixel • ( flame length , arrival time) No Is SA stopping criteria met ? Calculate objective function value (total expected loss value) Report Best Found Solution Yes
Treatment Selection • Selection of treatments and location of clusters to develop alternative schedules (solutions) is conducted in two phases • Phase I: Add clusters until the maximum area feasible to treat is reached in each period • Iteration zero – “no action” • Following iterations – randomly locate and add feasible clusters over the landscape • Phase II: Replace clusters with new clusters to find the best allocation and timing of fuel treatments • At each iteration – randomly select a new cluster and remove a previously selected cluster • Continues until stopping rule is reached
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase I – add a cluster • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Numerous tries found no addition clusters could be added without exceeding the 650–ac Upper Bound ===> Go to Phase II Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2
Treatment Selection • Phase II – change cluster locations and timing • Evaluate feasibility • Run MTT algorithm • arrival time • flame length • Calculate expected loss Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres Period 1 Period 2 Lower bound Upper bound 400 650 P1 P2