Skip to main content
Log in

Minimizing makespan under data prefetching constraints for embedded vision systems: a study of optimization methods and their performance

  • Review
  • Published:
Operational Research Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

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

  2. 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}}\).

  3. end_of(): End of an interval variable.

  4. no_overlap(): Constrains a set of interval variables not to overlap each others

  5. end_before_start(): Constrains minimum delay between the end of one interval variable and start of another one.

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Bard J (1988) A heuristic for minimizing the number of tool switches on a flexible machine. IIE Trans 20(4):382–391

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Feautrier P (1988) Parametric integer programming. Revue française d’automatique, d’informatique et de recherche opérationnelle 22(3):243–268

    Google Scholar 

  • Garey M, Johnson D, Sethi R (1976) The complexity of flowshop and jobshop scheduling. Math Oper Res 1(2):117–129

    Article  Google Scholar 

  • Gendreau M, Potvin J (2010) Handbook of metaheuristics, vol 2. Springer, Berlin

    Book  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Lawler E, Lenstra J, Rinnooy Kan A, Shmoys D (1993) Sequencing and scheduling: Algorithms and complexity. Handbooks Oper Res Manag Sci 4:445–522

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Pinedo M (2016) Scheduling: Theory, Algorithms, and Systems. Springer, Berlin

    Book  Google Scholar 

  • Privault C, Finke G (1995) Modelling a tool switching problem on a single nc-machine. J Intell Manuf 6(2):87–94

    Article  Google Scholar 

  • Sabuncuoglu I, Bayiz M (1999) Job shop scheduling with beam search. Euro J Oper Res 118(2):390–412

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Viola P, Jones M (2004) Robust real-time face detection. Int J Comput Vision 57(2):137–154

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Khadija Hadj Salem.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12351-021-00647-0

Keywords

Navigation