agenda
play

Agenda Motivation and Related Works ALS The pALS framework - PDF document

19/04/2010 pALS: an Object Oriented Framework for Developing Parallel Cooperative Developing Parallel Cooperative Metaheuristics Harold Castro , Andrs Bernal COMIT (COMunications and Information Technology) Systems and Computing Engineering


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 19/04/2010 Grid delegate execution NIDISC'10, Atlanta, April 19-23 23 12

Recommend


More recommend