FOREST PLANNING USING PSO WITH A PRIORITY REPRESENTATION P.W. Brooks and W.D. Potter Institute for Artificial Intelligence, University of Georgia, USA
Overview Background: (NIO Project 1 ) PSO -- GA -- EO -- RO Diagnosis Configuration -- Planning Route Finding Forest Planning (aka Harvest Scheduling) 73-Stand Daniel Pickett Forest Particle Swarm Optimization Priority Representation Results 1 W.D. Potter, E. Drucker, P. Bettinger, F. Maier, D. Luper, M. Martin, M. Watkinson, G. Handy, and C. Hayes, Diagnosis, Configuration, Planning, and Pathfinding: Experiments in Nature-Inspired Optimization, in Natural Intelligence for Scheduling, Planning and Packing Problems, edited by Raymond Chiong, Springer-Verlag, Studies in Computational Intelligence (SCI), 2009.
Forest Planning Daniel Pickett Forest 73 stands with access roads, ponds, and streams
Forest Planning Even-flow harvest Cutting occurs in one of three time periods Each time period is 10 years in duration A stand is only cut at most once A plan may include un-cut stands Adjacent cuts not allowed (same period) Goal: achieve target harvest each period Fitness: minimize plan error
Forest Planning For this problem, the target is 34,467 mbf n Minimize i=1 H i T 2 i is the harvest period n is the number of harvest periods (i.e., 3) H i is the total harvest in period i T is the target harvest Representation: 73 integer array of periods 3 1 2 - - - - - - - 2
Particle Swarm Optimization (PSO) Models behavior of large groups of animals such as flocks of birds Individuals movement through search space is guided by Population momentum Individual velocity Best local and global individual Random influences Continuous and discrete problem representations possible A good general purpose algorithm
Particle Swarm Optimization (PSO) Swarm of particles (potential solutions) Fly through the search space Local and Global knowledge influences search Each particle has location & velocity V i t = αv i t 1 + c 1 (P i X i t 1) + c 2 (P g X i t 1 ) X i t = X i t 1 + V i (t) V max = C 1 + C 2 V min = 0 (C 1 + C 2 ) V i : velocity element, X : location element, α: inertia constant, c i 1 / c 2 : random numbers, P : particle best, P i g : global best, t : time step
PSO Priority Representation Particle is a set of priorities for assembling a plan Use a 219-element array of priorities (73 stands x 3 periods) X : is the priority of cutting stand n fl(n ) in period (n mod 3) 3 Stands range from 0 to 72, periods range from 0 to 2 Sort particle elements (sort by priority) Then assign stands to be cut in the highest priority period Conflicts (assigned or adjacent) are skipped Stands not assigned to any period are not cut
PSO Priority Representation Built-in constraint violation avoidance, but Increased search space size (219 vs 73) Real-valued priorities vs limited integer values Longer processing time to generate a plan
PSO Experiment Setup C 1 = 2 C 2 = 2 V = 4 max V = -4 min Inertia = 1.0 and 0.8 Popsize = 100, 500, and 1000 Trials = 5
Results (smaller error is better) NIO: GA DPSO RO EO Harvest 6.5M 35M 5,500,391 10M inertia popsize PR best 1.0 100 7.3M 1.0 500 6.5M 1.0 1000 5.8M 0.8 100 8.5M 0.8 500 5,500,330 0.8 1000 7M
Conclusion The priority representation is an effective way to encode harvest schedules for PSO Ordering of plan elements by priority allows a PSO to deal with some constrained problems without requiring repairs or penalties Minimal impact occurs to PSO structure Minimal domain knowledge is required in order to apply the priority representation
Questions?
Thank You!
Genetic Algorithm (GA) Models Evolution by Natural Selection Individuals (mates) are potential solutions Driving force is selection pressure (mate selection) Individuals mate to produce offspring (crossover) Mutation of offspring increases genetic variation Fitness function ranks individual fitness Many variations are possible Very powerful general purpose algorithm Can be overly complicated to design
Extremal Optimization (EO) Models tendency of systems to organize into non-equilibrium states Based on the Bak-Sneppen Model A single solution is evolved by changing the solution s components Each component must also be assigned a fitness The worst component is randomly replaced Useful for set covering and optimization problems Component fitness may be difficult to calculate
Raindrop Method Mimics the effect of falling rain A random position on the search landscape is chosen (rain drop) The chosen position s value is randomly changed and all other positions are updated (water ripple) Updates may cause invalid states, so repair is necessary Recently developed algorithm Useful for certain map coloring problems