Abstract
In confronting the “Memory Wall”, the design of embedded vision systems exhibits many challenges regarding design cost, energy consumption, and performance. This paper considers a variant of the Job Shop Scheduling Problem with tooling constraints, arising in this context, in which the completion time (makespan) is to be minimized. This objective corresponds to the performance of the produced circuit. We discuss different formulations using integer linear programming and point out their characteristics, namely the size and the quality of the linear programming relaxation bound. To solve this scheduling problem with large size, we compare various approaches, including a Constraint Programming model, two constructive greedy heuristics, two models of LocalSolver, a Simulated Annealing algorithm, and a Beam Search algorithm. Numerical experiments are conducted on 16 benchmark instances from the literature and 12 real-life non-linear image processing kernels for validating their efficiency.
Similar content being viewed by others
Notes
In the field of computer design, memory transfers are known to be a major part of energy consumption, up to 80% of the total energy.
Bipartite graph \(B=({\mathcal {U}},{\mathcal {V}})\): consists of a set of vertices \({\mathcal {U}}\), a disjoint set of vertices \({\mathcal {V}}\), and a set of edges \({\mathcal {E}} \subset {\mathcal {U}} \times {\mathcal {V}}\).
end_of(): End of an interval variable.
no_overlap(): Constrains a set of interval variables not to overlap each others
end_before_start(): Constrains minimum delay between the end of one interval variable and start of another one.
A box plot (or box-and-whisker plot) shows the distribution of quantitative data in a way that facilitates comparisons between variables or across levels of a categorical variable. Specifically, the bottom and the top of each box represent the first and third quartiles; the band inside the box represents the second quartile (the median); the ends of the whiskers represent the 9th percentile and the 91 percentile. Outliers are plotted as individual points.
References
Al-Fawzan M, Al-Sultan KS (2003) A tabu search based algorithm for minimizing the number of tool switches on a flexible machine. Comput Ind Eng 44(1):35–47
Amaya J, Cotta C, Fernández A (2008) A memetic algorithm for the tool switching problem. In: Hybrid metaheuristics, Springer, p 190–202
Arbib C, Flammini M, Nardelli E (2000) How to survive while visiting a graph. Discrete Appl Math 99(1–3):279–293
Bard J (1988) A heuristic for minimizing the number of tool switches on a flexible machine. IIE Trans 20(4):382–391
Bellas N, Chai S, Dwyer M, Linzmeier D (2009) Real-time fisheye lens distortion correction using automatically generated streaming accelerators. In: 17th IEEE symposium on field programmable custom computing machines, FCCM’09. p 149–156
Benoist T, Estellon B, Gardi F, Megel R, Nouioua K. (2011) Localsolver 1. x: a black-box local-search solver for 0-1 programming. 4 or 9(3):299
Calmels D (2018) The job sequencing and tool switching problem: state-of-the-art literature review, classification, and trends. Int J Prod Res, p 1–21
Catanzaro D, Gouveia L, Labbé M (2015) Improved integer linear programming formulations for the job sequencing and tool switching problem. Euro J Opera Res 244(3):766–777
Cherroun H, Darte A, Feautrier P (2007) Reservation table scheduling: branch-and-bound based optimization vs. integer linear programming techniques. RAIRO-Oper Res 41(4):427–454
Crama Y, Kolen A, Oerlemans A, Spieksma F (1994) Minimizing the number of tool switches on a flexible machine. Int J Flex Manuf Syst 6(1):33–54
Feautrier P (1988) Parametric integer programming. Revue française d’automatique, d’informatique et de recherche opérationnelle 22(3):243–268
Garey M, Johnson D, Sethi R (1976) The complexity of flowshop and jobshop scheduling. Math Oper Res 1(2):117–129
Gendreau M, Potvin J (2010) Handbook of metaheuristics, vol 2. Springer, Berlin
Graham R, Lawler E, Lenstra J, Rinnooy Kan A (1979) Optimization and approximation in deterministic sequencing and scheduling: a survey. Annal Discret Math 5:287–326
Hadj Salem K, Kieffer Y, Mancini M (2016) Formulation and practical solution for the optimization of memory accesses in embedded vision systems. In: Proceedings of the 2016 federated conference on computer science and information systems, FedCSIS 2016, Gdańsk, Poland, 11–14 Sept 2016, p 609–617
Hadj Salem K, Kieffer Y, Mancini M (2018) Meeting the challenges of optimized memory management in embedded vision systems using operations research, Springer International Publishing, p 177–205
Hertz A, Laporte G, Mittaz M, Stecke K (1998) Heuristics for minimizing tool switches when scheduling part types on a flexible machine. IIE Trans 30(8):689–694
Ibm ilog cplex optimization. http://ibmdecisionoptimization.github.io/docplex-doc/cp/index.html
Laporte G, Salazar-Gonzalez J, Semet F (2004) Exact algorithms for the job sequencing and tool switching problem. IIE Trans 36(1):37–45
Lawler E, Lenstra J, Rinnooy Kan A, Shmoys D (1993) Sequencing and scheduling: Algorithms and complexity. Handbooks Oper Res Manag Sci 4:445–522
Libralesso L, Bouhassoun AM, Cambazard H, Jost V (2019) Tree search algorithms for the sequential ordering problem. arXiv preprint arXiv:1911.12427
Libralesso L, Jost V, Hadj Salem K, Fontan F, Maffray F (2019) Triangle width: at the intersection of graph theory, scheduling and matrix visualization. Preprint submitted to Annals of Operations Research
Mancini S, Rousseau F (2012) Enhancing non-linear kernels by an optimized memory hierarchy in a high level synthesis flow. In: Proceedings of the conference on design, automation and test in Europe, EDA Consortium, p 1130–1133
Ow P, Morton T (1988) Filtered beam search in scheduling. Int J Prod Res 26(1):35–62
Pinedo M (2016) Scheduling: Theory, Algorithms, and Systems. Springer, Berlin
Privault C, Finke G (1995) Modelling a tool switching problem on a single nc-machine. J Intell Manuf 6(2):87–94
Sabuncuoglu I, Bayiz M (1999) Job shop scheduling with beam search. Euro J Oper Res 118(2):390–412
Tang C, Denardo E (1988) Models arising from a flexible manufacturing machine, part i: minimization of the number of tool switches. Oper Res 36(5):767–777
Thornton A, Sangwine S (1997) Log-polar sampling incorporating a novel spatially variant filter to improve object recognition. Sixth Int Conf Image Process Appl 2:776–779
Tool switching problem benchmarks. http://www.unet.edu.ve/~jedgar/ToSP/ToSP.htm
Tool switching problem visualization. http://librallu.gitlab.io/hypergraph-viz/
Vidal T (2016) Split algorithm in o (n) for the capacitated vehicle routing problem. Comput Oper Res 69:40–47
Viola P, Jones M (2004) Robust real-time face detection. Int J Comput Vision 57(2):137–154
Zhou B, Xi L, Cao Y (2005) A beam-search-based algorithm for the tool switching problem on a flexible machine. Int J Adv Manuf Technol 25(9–10):876–882
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Hadj Salem, K., Jost, V., Kieffer, Y. et al. Minimizing makespan under data prefetching constraints for embedded vision systems: a study of optimization methods and their performance. Oper Res Int J 22, 1639–1673 (2022). https://doi.org/10.1007/s12351-021-00647-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12351-021-00647-0