Ant Colony Optimizations for Resource- and Timing-Constrained Operation Scheduling

Operation scheduling (OS) is a fundamental problem in mapping an application to a computational device. It takes a behavioral application specification and produces a schedule to minimize either the completion time or the computing resources required to meet a given deadline. The OS problem is NP-hard; thus, effective heuristic methods are necessary to provide qualitative solutions. We present novel OS algorithms using the ant colony optimization approach for both timing-constrained scheduling (TCS) and resource-constrained scheduling (RCS) problems. The algorithms use a unique hybrid approach by combining the MAX-MIN ant system metaheuristic with traditional scheduling heuristics. We compiled a comprehensive testing benchmark set from real-world applications in order to verify the effectiveness and efficiency of our proposed algorithms. For TCS, our algorithm achieves better results compared with force-directed scheduling on almost all the testing cases with a maximum 19.5% reduction of the number of resources. For RCS, our algorithm outperforms a number of different list-scheduling heuristics with better stability and generates better results with up to 14.7% improvement. Our algorithms outperform the simulated annealing method for both scheduling problems in terms of quality, computing time, and stability

[1]  Frank Ruskey,et al.  Generating Linear Extensions Fast , 1994, SIAM J. Comput..

[2]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[3]  Nazanin Mansouri,et al.  Enhancing scheduling solutions through ant colony optimization , 2004, 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No.04CH37512).

[4]  Thomas Stützle,et al.  MAX-MIN Ant System , 2000, Future Gener. Comput. Syst..

[5]  Izidor Gertner,et al.  On the Complexity of Scheduling Problems for Parallel/Pipelined Machines , 1989, IEEE Trans. Computers.

[6]  Christine Solnon,et al.  Searching for Maximum Cliques with Ant Colony Optimization , 2003, EvoWorkshops.

[7]  Emile H. L. Aarts,et al.  Simulated annealing and Boltzmann machines - a stochastic approach to combinatorial optimization and neural computing , 1990, Wiley-Interscience series in discrete mathematics and optimization.

[8]  Emile H. L. Aarts,et al.  Improved force-directed scheduling , 1991, Proceedings of the European Conference on Design Automation..

[9]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[10]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[11]  Gang Wang,et al.  Application partitioning on programmable platforms using the ant colony optimization , 2006, J. Embed. Comput..

[12]  Jan Węglarz,et al.  Project scheduling : recent models, algorithms, and applications , 1999 .

[13]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[14]  Walter J. Gutjahr,et al.  ACO algorithms with guaranteed convergence to the optimal solution , 2002, Inf. Process. Lett..

[15]  H. K. Dai,et al.  Integrating Random Ordering into Multi-heuristic List Scheduling Genetic Algorithm , 2003 .

[16]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Alain Hertz,et al.  Ants can colour graphs , 1997 .

[18]  J. Deneubourg,et al.  Collective patterns and decision-making , 1989 .

[19]  Kent Wilken,et al.  Optimal instruction scheduling using integer programming , 2000, PLDI.

[20]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[21]  S. Beaty Genetic Algorithms versus Tabu Search for Instruction Scheduling , 1993 .

[22]  J.A.G. Jess,et al.  High-level synthesis scheduling and allocation using genetic algorithms based on constructive topological scheduling techniques , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[23]  Chong-Min Kyung,et al.  Fast and near optimal scheduling in automatic data path synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[24]  Pierre G. Paulin,et al.  Force-Directed Scheduling in Automatic Data Path Synthesis , 1987, 24th ACM/IEEE Design Automation Conference.

[25]  Z. Michalewicz,et al.  A new version of ant system for subset problems , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[26]  Alex Alves Freitas,et al.  Data mining with an ant colony optimization algorithm , 2002, IEEE Trans. Evol. Comput..

[27]  Riccardo Poli,et al.  New ideas in optimization , 1999 .

[28]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[29]  Alok Sharma,et al.  InSyn: Integrated Scheduling for DSP Applications , 1993, 30th ACM/IEEE Design Automation Conference.

[30]  Léon J. M. Rothkrantz,et al.  Ant-Based Load Balancing in Telecommunications Networks , 1996, Adapt. Behav..

[31]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[32]  M Dorigo,et al.  Ant colonies for the quadratic assignment problem , 1999, J. Oper. Res. Soc..

[33]  A. Gonzalez,et al.  Graph-partitioning based instruction scheduling for clustered processors , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[34]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[35]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[36]  E.H.L. Aarts,et al.  Efficiency improvements for force-directed scheduling , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[37]  Philip H. Sweany,et al.  Instruction Scheduling Using Simulated Annealing , 1998 .

[38]  James E. Smith,et al.  Dynamic instruction scheduling and the Astronautics ZS-1 , 1989, Computer.