Skip to main content

OptCE: A Counterexample-Guided Inductive Optimization Solver

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10623))

Abstract

This paper presents optimization through counterexamples (OptCE), which is a verification tool developed for optimizing target functions. In particular, OptCE employs bounded model checking techniques based on boolean satisfiability and satisfiability modulo theories, which are able to obtain global minima of convex and non-convex functions. OptCE is implemented in C/C\(++\), performs all optimization steps automatically, and iteratively analyzes counterexamples, in order to inductively achieve global optimization based on a verification oracle. Experimental results show that OptCE can effectively find optimal solutions for all evaluated benchmarks, while traditional techniques are usually trapped by local minima.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Available at http://esbmc.org/benchmarks/optce.zip.

References

  1. Park, H., Bradley, P., Greisen Jr., P., Liu, Y., Mulligan, V.K., Kim, D.E., Baker, D., DiMaio, F.: Simultaneous optimization of biomolecular energy functions on features from small molecules and macromolecules. J. Chem. Theory Comput. 12(12), 6201–6212 (2016)

    Article  Google Scholar 

  2. Cooper, K.D., Torczon, L.: Engineering a Compiler. Morgan Kaufmann, San Francisco (2004)

    MATH  Google Scholar 

  3. Deb, K.: Optimization for Engineering Design: Algorithms and Examples. Prentice-Hall of India, New Delhi (2004)

    MATH  Google Scholar 

  4. Vergidis, K., Tiwari, A., Majeed, B.: Business process analysis and optimization: beyond reengineering. IEEE Trans. Syst. Man Cybern. C Appl. Rev. 38(1), 69–82 (2008)

    Article  Google Scholar 

  5. Laarhoven, P.J.M., Aarts, E.H.L. (eds.): Simulated Annealing: Theory and Applications. Kluwer Academic Publishers, Norwell (1987)

    MATH  Google Scholar 

  6. Olsson, A.: Particle Swarm Optimization: Theory, Techniques and Applications, Engineering tools, Techniques and Tables. Nova Science Publishers, USA (2011)

    Google Scholar 

  7. Goldberg, D.: Genetic Algorithms in Search, Optimization, and Machine Learning, Artificial Intelligence. Addison-Wesley Publishing Company, Boston (1989)

    Google Scholar 

  8. Floudas, C.: Deterministic Global Optimization. Nonconvex Optimization and Its Applications. Springer, Berlin (2000). https://doi.org/10.1007/978-1-4757-4949-6

    Book  MATH  Google Scholar 

  9. Araújo, R., Bessa, I., Cordeiro, L., Filho, J.E.C.: SMT-based verification applied to non-convex optimization problems. In: SBESC, pp. 1–8 (2016)

    Google Scholar 

  10. Araújo, R., Bessa, I., Cordeiro, L., Filho, J.E.C.: Counterexample guided inductive optimization, pp. 1–32 (2017). arXiv:1704.03738 [cs.AI]

  11. Alur, R., Bodik, R., Juniwal, G., Martin, M.M.K., Raghothaman, M., Seshia, S.A., Singh, R., Solar-Lezama, A., Torlak, E., Udupa, A.: Syntax-guided synthesis. In: FMCAD, pp. 1–8 (2013)

    Google Scholar 

  12. Solar-Lezama, A.: The sketching approach to program synthesis. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 4–13. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-10672-9_3

    Chapter  Google Scholar 

  13. Kroening, D., Tautschnig, M.: CBMC – C bounded model checker. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 389–391. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54862-8_26

    Chapter  Google Scholar 

  14. Cordeiro, L., Fischer, B., Marques-Silva, J.: SMT-based bounded model checking for embedded ANSI-C software. IEEE TSE 38(4), 957–974 (2012)

    Google Scholar 

  15. Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: The MathSAT5 SMT solver. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 93–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36742-7_7

    Chapter  Google Scholar 

  16. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  17. Brummayer, R., Biere, A.: Boolector: an efficient SMT solver for bit-vectors and arrays. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 174–177. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00768-2_16

    Chapter  Google Scholar 

  18. Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24605-3_37

    Chapter  Google Scholar 

  19. Jamil, M., Yang, X.: A literature survey of benchmark functions for global optimization problems, CoRR abs/1308.4008. http://arxiv.org/abs/1308.4008

  20. Baier, C., Katoen, J.-P.: Principles of Model Checking (Representation and Mind Series). The MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  21. Morse, J., Ramalho, M., Cordeiro, L., Nicole, D., Fischer, B.: ESBMC 1.22. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 405–407. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54862-8_31

    Chapter  Google Scholar 

  22. Hutter, F., Babic, D., Hoos, H.H., Hu, A.J.: Boosting verification by automatic tuning of decision procedures. In: FMCAD, pp. 27–34 (2007)

    Google Scholar 

  23. The Mathworks Inc, Matlab Optimization Toolbox User’s Guide (2016)

    Google Scholar 

  24. Nieuwenhuis, R., Oliveras, A.: On SAT modulo theories and optimization problems. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 156–169. Springer, Heidelberg (2006). https://doi.org/10.1007/11814948_18

    Chapter  Google Scholar 

  25. Bauer, A., Pister, M., Tautschnig, M.: Tool-support for the analysis of hybrid systems and models. In: DATE, pp. 924–929 (2007)

    Google Scholar 

  26. Nuzzo, P., Puggelli, A.A.A., Seshia, S.A., Sangiovanni-Vincentelli, A.L.: CalCS: SMT solving for non-linear convex constraints, Technical report UCB/EECS-2010-100, EECS Department, University of California, Berkeley, Jun 2010

    Google Scholar 

  27. Shoukry, Y., Nuzzo, P., Saha, I., Sangiovanni-Vincentelli, A.L., Seshia, S.A., Pappas, G.J., Tabuada, P.: Scalable lazy smt-based motion planning. In: CDC, pp. 6683–6688 (2016)

    Google Scholar 

  28. Shoukry, Y., Nuzzo, P., Sangiovanni-Vincentelli, A.L., Seshia, S.A., Pappas, G.J., Tabuada, P.: SMC: satisfiability modulo convex optimization. In: HSCC, pp. 19–28 (2017)

    Google Scholar 

  29. Bjørner, N., Phan, A.-D., Fleckenstein, L.: VZ - an optimizing SMT solver. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 194–199. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_14

    Google Scholar 

  30. Li, Y., Albarghouthi, A., Kincaid, Z., Gurfinkel, A., Chechik, M.: Symbolic optimization with SMT Solvers. In: POPL, pp. 607–618 (2014)

    Google Scholar 

  31. Sebastiani, R., Trentin, P.: OptiMathSAT: a tool for optimization modulo theories. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 447–454. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_27

    Chapter  Google Scholar 

  32. Trindade, A., Ismail, H., Cordeiro, L.: Applying multi-core model checking to hardware-software partitioning in embedded systems. In: SBESC, pp. 102–105 (2015)

    Google Scholar 

  33. Trindade, A., Cordeiro, L.: Applying SMT-based verification to hardware/software partitioning in embedded systems. Des. Autom. Embed. Syst. 20(1), 1–19 (2016)

    Article  Google Scholar 

  34. Rocha, H., Ismail, H., Cordeiro, L., Barreto, R.: Model checking embedded C software using k-induction and invariants. In: SBESC, pp. 90–95 (2015)

    Google Scholar 

  35. Gadelha, M.Y.R., Ismail, H.I., Cordeiro, L.C.: Handling loops in bounded model checking of C programs via k-induction. STTT 19(1), 97–114 (2017)

    Article  Google Scholar 

Download references

Acknowledgements

This research was supported by FAPEAM and CNPq. Higo Albuquerque was also supported by a CAPES studentship.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lucas C. Cordeiro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Albuquerque, H.F., Araújo, R.F., Bessa, I.V., Cordeiro, L.C., de Lima Filho, E.B. (2017). OptCE: A Counterexample-Guided Inductive Optimization Solver. In: Cavalheiro, S., Fiadeiro, J. (eds) Formal Methods: Foundations and Applications. SBMF 2017. Lecture Notes in Computer Science(), vol 10623. Springer, Cham. https://doi.org/10.1007/978-3-319-70848-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-70848-5_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-70847-8

  • Online ISBN: 978-3-319-70848-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics