The Workflow Framework for Metaheuristic Search on Grid Environment
400 likes | 534 Vues
This paper presents a framework designed for solving complex combinatorial optimization problems using metaheuristic methods within a grid computing environment. Traditional exact methods struggle with NP-hard problems in reasonable timeframes. Our approach enhances solution accuracy by leveraging parallel and distributed computing resources effectively. The framework is built with user-friendly workflow models, utilizing Object-Oriented programming to simplify development and testing. We explore the intricacies of the Traveling Salesman Problem and Logic Circuit Optimization, showcasing efficient search algorithms and deployment strategies.
The Workflow Framework for Metaheuristic Search on Grid Environment
E N D
Presentation Transcript
The Workflow Framework for Metaheuristic Search on Grid Environment Dang-Khoa Tran Van Hoai Tran Faculty of Computer Science and Engineering HCMC University of Technology
Metaheuristic • Combinatorial optimization problems are often NP-hard, cannot solve in reasonable time. • Meta-heuristic is not like the exact methods, it can find reasonable solutions in acceptable time. HPSC 2009
Metaheuristic • Improving the solutions by expanding the exploration space and with various strategies • Take more time • … or required more computing resources • Our approach: using Grid Computing to solve the metaheuristic problem. HPSC 2009
Content • Meta-heuristic and Grid Computing • Design goals • The framework designs • Experiments and results HPSC 2009
Grid computing • Grid Computing is the parallel and distributed system that enables the sharing and using resources easily. • Grid programming paradigm: using Parallel Object C++ (POP-C++) for application development. • Similar to C++ with a few keyword. • The objects are automatically created and executed on Grid. HPSC 2009
Some challenges • User is usually not familiar with Grid programming model. • Application testing and debugging on Grid is difficult. • Make use of Grid computing by executing many search algorithm concurrently. HPSC 2009
Design Goals for the Framework • Provide workflow model to solve the problems • Easy to develop applications • Using OO programming • Hide the Grid programming model from user • Test and debug the applications • Deploy and execute on Grid environment easily • Running efficiency HPSC 2009
Library Architecture Applications Parallel Metaheuristic Library Search Algorithms Workflow Engine POP-C++ Runtime Computing Resources (Workstations / Clusters / Grid) HPSC 2009
Easy to Use • Using the search algorithms • Inherits from predefined interfaces • Implements the abstract methods • Using workflow • Create dependency graph • The workflow engine will handles the execution HPSC 2009
Easy to Use – Example // Define search algorithm myTwoOpttwo_opt(graph); myTwoOptNexttwo_opt_next(graph); edaBestImprSelectmoveSelect; edaHChcSearch( &two_opt, &two_opt_next, &moveSelect); /* Define more search algorithms... */ // Define workflow control: Using Parallel workflow edaParWrapperControlsfControl; // Create dependency graph inthcId = sfControl.insertVertex( &hcSearch ); sfControl.insertEdge( hcId, saId ); // Do search sfControl.search(route) HPSC 2009
Sample workflow Initial solution TS SA HC SA HC S SA TS HPSC 2009
Easy to Deploy HPSC 2009
Easy to Test and Debug • Testing and Debugging • Using the sequential workflow • Test and debug like normal applications HPSC 2009
The Traveling Salesman Problem HPSC 2009
The Traveling Salesman Problem • Workflow design for testing SA HC TS HC HC HC SA HC Output: path Input: graph TS HC ... HPSC 2009
The Traveling Salesman Problem HPSC 2009
Logic Circuit Optimization • Size optimization • Delay optimization • Energy optimization • … HPSC 2009
Logic Circuit Optimization • Workflow design TS SA TS SA TS SA TS SA HC HC TS SA TS SA HPSC 2009
Logic Circuit Optimization • Sample circuit: IWLS93 • Sequential execution (1 branch of the workflow) • Literal optimization HPSC 2009
Logic Circuit Optimization • Execute concurrently on Grid • Execute a few times each (average results) • Literal optimization HPSC 2009
Future Work and Conclusion • Support the evolution-based heuristic. • Provide more sophisticated workflow such as loop, branching and parallel branches. HPSC 2009
Thanks for your attention HPSC 2009
Question!? HPSC 2009
PCB442 HPSC 2009
PCB442 – 1 branch: Fitness = 55845 HPSC 2009
PCB442 – 5 branch: Fitness = 54778 HPSC 2009
PCB442 – 10 branch: Fitness = 54171 HPSC 2009
ALI535 HPSC 2009
ALI535 – 1 branch: Fitness = 2136 HPSC 2009
ALI535 – 5 branch: Fitness = 2140 HPSC 2009
ALI535 – 10 branch: Fitness = 2250 HPSC 2009
EIL101 HPSC 2009
EIL101 – 1 branch: Fitness = 675 HPSC 2009
EIL101 – 5 branch: Fitness = 679 HPSC 2009
EIL101 – 10 branch: Fitness = 679 HPSC 2009
PR1002 HPSC 2009
PR1002 – 1 branch: Fitness = 293180 HPSC 2009
PR1002 – 5 branch: Fitness = 288059 HPSC 2009
PR1002 – 10 branch: Fitness = 288059 HPSC 2009
Literal Optimization Result Optimize count.blif – IWLS93 HPSC 2009