Greg Jones, Jody Bramel, and Kurt Krueger, USDA Forest Service RMRS Woodam Chung, Edward Butler, Marco Contreras-Salgado, The University of Montana
T HANK Y OU ! Questions? - - PowerPoint PPT Presentation
T HANK Y OU ! Questions? - - PowerPoint PPT Presentation
H EURISTIC S OLVER Greg Jones , Jody Bramel, and Kurt Krueger , USDA Forest Service RMRS Woodam Chung , Edward Butler, Marco Contreras-Salgado , The University of Montana H EURISTIC S OLVER Builds and tests alternative fuel treatment schedules
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
Clustering adjacent stand polygons
No action
Select random polygon
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 5.0 ac Clustered area 5.0 ac
No action Selected Adjacent
Select random polygon Update cluster area Is current cluster area > minimum cluster area ? Identify adjacent polygons No Select random adjacent polygon
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 4.5 ac Clustered area 9.5 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 5.8 ac Clustered area 15.3 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 6.1 ac Clustered area 21.4 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 5.2 ac Clustered area 26.6 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.2 ac Clustered area 33.8 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 8.1 ac Clustered area 41.9 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 8.8 ac Clustered area 50.7 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.7 ac Clustered area 58.4 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 74.0 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 8.9 ac Clustered area 82.9 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 8.2 ac Clustered area 91.1 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 98.9 ac
No action Selected Adjacent Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 106.8 ac
No action Selected Clustered
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No Stop clustering polygons Yes
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
Clustering adjacent stand polygons
Minimum cluster 100.0 ac Selected polygon 7.8 ac Clustered area 106.8 ac
Select random polygon Identify adjacent polygons Select random adjacent polygon Update cluster area Is current cluster area > minimum cluster area ? No Stop clustering polygons Yes
BUILDING CLUSTERS OF POLYGONS FOR TREATMENT
HEURISTIC SOLVER
Objective is to minimize expected loss
t c t c T t C c
P Loss Minimize
, ,
×
∑∑
∈ ∈
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
- n the flame length predicted by MTT
Pc,t : Probability of cell c being burned in period t, based
- n the fire arrival time predicted by MTT
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
Build or modify a solution (timing and placement of treatments) Is SA stopping criteria met ? No Data passed to Solver:
- Landscape fuel
parameters
- Fire scenario
- Objective Function
- Constraints
- Adjacent Polygons
- topography
Run MTT for each planning period and retrieve results by pixel ( flame length , arrival time) Calculate
- bjective function value
(total expected loss value) Report Best Found Solution Yes Update the landscape fuel parameters for each period
STEPS IN
EACH ITERATION
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
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase I – add a cluster
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
Numerous tries found no addition clusters could be added without exceeding the 650–ac Upper Bound ===> Go to Phase II
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
Lower bound Upper bound
400 650 P1 P2
Phase II – change cluster locations and timing
- Evaluate feasibility
- Run MTT algorithm
arrival time
flame length
- Calculate expected loss
Period 1 Period 2
Area constraints Period 1 400 – 650 acres Period 2 400 – 650 acres
TREATMENT SELECTION
SOLVER PERFORMANCE
Algorithm performance
Phase I Phase II “no action”
Expected Loss Iteration Number
HARDWARE REQUIREMENTS
AND SOLUTION TIMES
OptFuels has parallel computing capabilities that use all available processors in a machine
For an area of 34,600 acres with 2 treatment period the solver takes:
Computer Type (Processor ) Number of processor/Th reads Processor Speed Iterations per minute Solution times Risk Assessment Run Low Intensity Run (~400 iterations) Regular desktop (Intel Core 2 4300) 2 1.8 GHz 0.4 Several minutes 18 hrs Multi-processor Laptop (Intel i7-2720QM) 8 2.33 GHz 2.5 Seconds 2.5 hrs Multi-processor workstation (Intel Xeon X5570) 8 2.93 GHz 3.5 Seconds 2 hrs
HEURISTIC SOLVER ENHANCEMENTS
Adding selection of individual stands for treatments in the latter stages of Phase II.
This selects individual stands for treatment that lie between treatment clusters where the area is too small to generate another cluster
Adding the ability to schedule treatments to minimize expected loss from two or more fire scenarios.
Different ignition points
Different wind direction and speed
Integrating OptFuels into IFT-DSS
RESULTS AVAILABLE FROM OPTFUELS
Spatial and temporal treatment schedule that can be mapped in GIS
Expected loss
Effects functions evaluated for the treatment schedule could include:
Treatment costs, treatment acres, volumes of treatment products (if any), treatment revenues (if any), sediment yields, resource effects (eg. acres of aspen)
Outputs produced by FlamMap MTT for both the treated and untreated landscapes:
GIS display of flame length and arrival time.
LCP files that could be used for additional FlamMap analyses.
FVS stand parameters for the projected stands for both the treated and untreated landscapes:
Tree species, stand size, stand volume, etc.