19/04/2010 pALS: an Object Oriented Framework for Developing Parallel Cooperative Developing Parallel Cooperative Metaheuristics Harold Castro , Andrés Bernal COMIT (COMunications and Information Technology) Systems and Computing Engineering Department Universidad de los Andes Universidad de los Andes Bogotá, Colombia Agenda Motivation and Related Works ALS The pALS framework Achievements and Results Conclusions NIDISC'10, Atlanta, April 19-23 2 1
19/04/2010 Motivation Research on Optimization (COPA Research Group) JG2A: Java Framework for Genetic Algorithms on a Grid Evolution for JGA Instances parallelization Individual parallel evaluation Uses standard tools: Condor, Globus, Java Allows different models: Master/Slave, Cellular, Island, Hierarchical Good results, but G d l b Only works for GA Lacks of statistics NIDISC'10, Atlanta, April 19-23 3 JG2A Pa Parallel i rallel instances ances Parallel E allel Evaluation uation NIDISC'10, Atlanta, April 19-23 4 2
19/04/2010 Current frameworks Sequential Parallel Single JGA, SFERES, ECJ 18 JG2A, GALib Metaheuristic HotFrame, EasyLocal, ParadisEO, Metaheuristics iOpt, PISA, Templar HeuristicLab NIDISC'10, Atlanta, April 19-23 5 Candidates Pa Para radisEO disEO HeuristicLab euristicLab C# C++ Multiple algorithms Templates GA Four different modules Evolutionary strategies Paradis-EO Ant Colony Paradis-MO Tabu search Paradis-MOEO P di MOEO No grid enabled Paradis-PEO Security GT4 + MPI Heterogeneity Difficult to use NIDISC'10, Atlanta, April 19-23 6 3
19/04/2010 The ALS framework ALS, Adaptive Learning Search provides a conceptual frame to analyze Metaheuristics B Based on the operator concept d th t t Any specific operation Represents an algorithm, a set of algorithms or a single Metaheuristic operation 4 operators are common to any Metaheuristic Initialize Iterate <while non stop condition> Sampling, selects elements Learning, extract information Diversification, search for new solutions Intensification, try to improve current solution Replace, replace the old solution End NIDISC'10, Atlanta, April 19-23 7 Validating ALS Simulated Annealing Variable Neighborhood Search Tabu Search Genetic Algorithms NIDISC'10, Atlanta, April 19-23 8 4
19/04/2010 pALS proposal To develop a framework making easy the implementation of different metaheuristics on parallel environments, helping with Parallel design Callback services Statistic services Cooperative strategies Operator Cooperator Solutions Solutions Transformation Statistics Callbacks NIDISC'10, Atlanta, April 19-23 9 pALS architecture NIDISC'10, Atlanta, April 19-23 10 5
19/04/2010 Contains classes for modeling metaheuristics Solution transformation based process Most classes are abstract classes classes Behavior defined by configuration files Define operators and their parameters Every operator has its own configuration file (or inherit from its parent) Solution Makes of pALS a white box M k f ALS h b framework Representation Results pALS Core Layer F.O. 1 = 10 0 1 0 0 1 NIDISC'10, Atlanta, April 19-23 11 Represents a transformation of a set of solutions May be used to model complex (i.e. metaheuristics) or simple (i.e. crossover p operator) operations An execution is a hierarchy of operators pALS Genetic Genetic Solutions Solutions Solutions Solutions Algorithm Operator Mutation Crossover Evaluation Selection Operator ListOperator ObjectOperator NIDISC'10, Atlanta, April 19-23 12 Select best n solutions Flip bits in a solution 6
19/04/2010 Cooperator i takes solutions from (i-1)%m Common with small m Solutions Solutions Cooperator p Ring Topology Cooperator Ring Topology Cooperator Operator Solutions Solutions NIDISC'10, Atlanta, April 19-23 13 Callback • Defines conditional behaviors after ending an operator execution • Defined as a condition and an action Statistic • About transformations inside operators (time, best solution, etc.) • Bounded by the InitStatistic and EndStatistic methods Soluciones Soluciones Operator Context Builder • Allows to use external parameters from a file or an external Java class InitStatistic EndStatistic Support classes Support classes ReadContext CheckCallbacks value = 10 vector = 1 2 3 4 NIDISC'10, Atlanta, April 19-23 14 matrix = 1 2 3 4 ,\ 5 6 7 8 7
19/04/2010 • Captures operators’ execution logic • Offers flexibility and transparency to the execution (centralized, distributed, etc.) • Every operator has its own ExecutionPrototype defined by the user in a configuration file ExecutionPrototype • The ExecutionPrototype class can be Solutions Solutions easily exteneded Operator ExecutionLayer LocalDelegate GridDelegate NIDISC'10, Atlanta, April 19-23 Thread Pool 15 ThreadDelegate Delegate Thread/Grid delegates Files Operator GT4 Solutions Libs GRAM Certs Execution Thread 1 Solutions Operator Prototype Operator Thread 2 Files Operator Libs Takes advantage of multi- Certs Condor CondorPool core platforms Master Launch a new thread for Manages security Manages security the operator’s execution Transparent for users Thread/Grid Delegate Solutions Solutions Operator NIDISC'10, Atlanta, April 19-23 16 8
19/04/2010 Execution models Multi-Boot Parallel Execution Mix NIDISC'10, Atlanta, April 19-23 17 Life cycle pALS pALS Global Settings Operator Context Cooperator Execution Coperator Settings Init Statistics End Statistics Callback Builder Prototype Read Publish Operator NIDISC'10, Atlanta, April 19-23 18 9
19/04/2010 pALS offer Functionality Flexibility Context Operator p Cooperator p Builder B ild Settings Callback Statistic pALS Wid Wide scope / reusability / bilit Performance Genetic Tabu Search Execution Local Algorithm Prototype Delegate Simulated VNS Thread Grid Annealing Delegate Delegate NIDISC'10, Atlanta, April 19-23 19 pALS experimentation Boolean satisfiability problem (SAT) Boolean satisfiability problem (SAT) Tabu Search Tabu Search Knapsack Knapsack Genetic Algorithm with island deployment Genetic Algorithm with island deployment NIDISC'10, Atlanta, April 19-23 20 10
19/04/2010 Conclusions pALS is a framework implementing the metaheuristic concepts behind ALS Not a set of metaheuristics Allows for different parallel execution, transparent to users White-box framework, ready to be used Enhanced tools for research: callbacks, statistics Self-incrementing Public available at http://sistemas.uniandes.edu.co/~comit Public a ailable at http //sistemas uniandes edu co/~comit Needs further testing and comparisons NIDISC'10, Atlanta, April 19-23 21 Configuration file example # SAT Tabu Search Algorithm settings file execution_instance = BasicTabuSearch objectives objectives = max max representation_length = 50 execution_instance_settings_file = data/satisfiability.properties neighborhood_size = 200 tabu_list_length = 5 representation = BinaryArrayRepresentation init_solution = RandomPopulationGenerator neighborhood = SinglePointFlipOperator binary_flip_operator_rate= 0.5 record_tabu = ArrayIndexesTabuRecordOperator tabu_check = ArrayIndexesTabuCheckOperator evaluation = CNFSatisfiabilityOperator selection = BestSolutionsSelectionOperator solutions = 1 max_iterations = 1 cnf_file = data/aim-50-2_0-yes1-1.cnf NIDISC'10, Atlanta, April 19-23 22 11
19/04/2010 Grid delegate execution NIDISC'10, Atlanta, April 19-23 23 12
Recommend
More recommend