Abstract
A cyclic scheduling problem is specified by a set of activities that are executed an infinite number of times subject to precedence and resource constraints. The cyclic scheduling problem has many applications in manufacturing, production systems, embedded systems, compiler design and chemical systems. This paper proposes a Constraint Programming approach based on Modular Arithmetic, taking into account temporal resource constraints. In particular, we propose an original modular precedence constraint along with its filtering algorithm. Classical ”modular” approaches fix the modulus and solve an integer linear sub-problem in a generate-and-test fashion. Conversely, our technique is based on a non-linear model that faces the problem as a whole: the modulus domain bounds are inferred from the activity-related and iteration-related variables. The method has been extensively tested on a number of non-trivial synthetic instances and on a set of realistic industrial instances. Both the time to compute a solution and its quality have been assessed. The method is extremely fast to find close to optimal solutions in a very short time also for large instances. In addition, we have found a solution for one instance that was previously unsolved and improved the bound of another of a factor of 11.5%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Artigues, C., Demassey, S., Néron, E.: Resource-constrained project scheduling - Models, Algorithms, Extensions and Applications. Wiley, Chichester (2008)
Ayala, M., Artigues, C.: On integer linear programming formulations for the resource-constrained modulo scheduling problem (2010), http://hal.archives-ouvertes.fr/docs/00/53/88/21/PDF/ArticuloChristianMaria.pdf
Bhattacharyya, S.S., Sriram, S.: Embedded Multiprocessors - Scheduling and Synchronization (Signal Processing and Communications), 2nd edn. CRC Press, Boca Raton (2009)
Blachot, F., de Dinechin, B.D., Huard, G.: SCAN: A Heuristic for Near-Optimal Software Pipelining. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 289–298. Springer, Heidelberg (2006)
Chen, H., Chu, C., Proth, J.-M.: Cyclic scheduling of a hoist with time window constraints. IEEE Transactions on Robotics and Automation 14(1), 144–152 (1998)
Crama, Y., Kats, V., van de Klundert, J., Levner, E.: Cyclic scheduling in robotic flowshops. Annals of Operations Research 96, 97–124 (2000), 10.1023/A:1018995317468
Dasdan, A.: Experimental analysis of the fastest optimum cycle ratio and mean algorithms. ACM Transactions on Design Automation of Electronic Systems (TODAES) 9(4), 385–418 (2004)
Dechter, R.: Temporal constraint networks. Artificial Intelligence 49, 61–95 (1991)
Draper, D.L., Jonsson, A.K., Clements, D.P., Joslin, D.E.: Cyclic scheduling. In: Proc. of IJCAI, pp. 1016–1021. Morgan Kaufmann Publishers Inc., San Francisco (1999)
de Dinechin, B.D.: From Machine Scheduling to VLIW Instruction Scheduling (2004), http://www.cri.ensmp.fr/classement/doc/A-352.ps
Eichenberger, A.E., Davidson, E.S.: Efficient formulation for optimal modulo schedulers. ACM SIGPLAN Notices 32(5), 194–205 (1997)
Georgiadis, L., Goldberg, A.V., Tarjan, R.E., Werneck, R.F.: An experimental study of minimum mean cycle algorithms. In: Proc. of ALENEX, p. 13 (2009)
Hagog, M., Zaks, A.: Swing modulo scheduling for gcc (2004)
Hanen, C., Munier, A.: Cyclic scheduling on parallel processors: an overview, pp. 193–226. John Wiley & Sons Ltd., Chichester (1994)
Hanen, C.: Study of a np-hard cyclic scheduling problem: The recurrent job-shop. European Journal of Operational Research 72(1), 82–101 (1994)
Kudlur, M., Mahlke, S.: Orchestrating the execution of stream programs on multicore platforms. In: Proc. of PLDI, vol. 43, pp. 114–124 (May 2008)
Le Pape, C., Couronné, P.: Time-versus-capacity compromises in project scheduling. In: Proc. of the 13th Workshop of the UK Planning Special Interest Group (1994)
Lee, E.A., Messerschmitt, D.G.: Synchronous Data Flow. Proceedings of the IEEE 75(9), 1235–1245 (1987)
Li, Z., Ierapetritou, M.: Process scheduling under uncertainty: Review and challenges. Computers and Chemical Engineering 32(4-5), 715–727 (2008); Festschrift devoted to Rex Reklaitis on his 65th Birthday
Llosa, J., Gonzalez, A., Ayguade, E., Valero, M.: Swing Modulo Scheduling: A Lifetime-Sensitive Approach. In: PACT 1996, pp. 80–87 (1996)
Llosa, J., Gonzalez, A., Ayguade, E., Valero, M., Eckhardt, J.: Lifetime-sensitive modulo scheduling in a production environment. IEEE Trans. on Comps. 50(3), 234–249 (2001)
Parhi, K.K., Messerschmitt, D.G.: Static rate-optimal scheduling of iterative data-flow programs via optimum unfolding. IEEE Transactions on Computers 40(2), 178–195 (1991)
Peterson, J.L.: Petri Net Theory and the Modeling of Systems. Prentice Hall PTR, Englewood Cliffs (1981)
Rau, R.B.: Iterative modulo scheduling: An algorithm for software pipelining loops. In: Proc. of MICRO-27, pp. 63–74. ACM, New York (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bonfietti, A., Lombardi, M., Benini, L., Milano, M. (2011). A Constraint Based Approach to Cyclic RCPSP. In: Lee, J. (eds) Principles and Practice of Constraint Programming – CP 2011. CP 2011. Lecture Notes in Computer Science, vol 6876. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23786-7_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-23786-7_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23785-0
Online ISBN: 978-3-642-23786-7
eBook Packages: Computer ScienceComputer Science (R0)