Journal of Intelligent Manufacturing

, Volume 30, Issue 3, pp 1407–1422 | Cite as

Applications of non-monotonic reasoning to automotive product configuration using answer set programming

  • Eray GençayEmail author
  • Peter Schüller
  • Esra Erdem


In automotive industry, validation and maintenance of product configuration data is a complex task. Both orders from the customers and new product line designs from the R&D department are subject to a set of configuration rules to be satisfied. In this work, non-monotonic computational logic, answer set programming in particular, is applied to industrial-scale automotive product configuration problems. This methodology provides basic validation of the product configuration documentation and validation of single product orders, where Reiter style diagnosis provides minimal changes needed to correct an invalid order or a product configuration rule set. In addition, a method for discovering groups of product configuration variables that are strongly related can be obtained by small modification of the basic logic program, and by the usage of cautious and brave reasoning methods. As a result, options that are used in every, or respectively in no configuration, can easily be identified, as well as groups of options that are always used together or not at all. Finally it is possible to single out mandatory and obsolete options, relative to a preselected set of included or excluded options. Experimental results on an industrial dataset show applicability, example results, and computational feasibility with computation times on the order of seconds using a state-of-the-art answer set solver on standard PC hardware.


Product configuration Non-monotonic logic Answer set programming Automotive production Configuration management Mass customization 


  1. Aho, A. V., & Ullman, J. D. (1979). Universality of data retrieval languages. In Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (pp. 110–119). ACM.Google Scholar
  2. Aldanondo, M., Hadj-Hamou, K., Moynard, G., & Lamothe, J. (2003). Mass customization and configuration: Requirement analysis and constraint based modeling propositions. Integrated Computer-Aided Engineering, 10(2), 177–189.Google Scholar
  3. Amilhastre, J., Fargier, H., & Marquis, P. (2002). Consistency restoration and explanations in dynamic CSPs-application to configuration. Artificial Intelligence, 135(1), 199–234.Google Scholar
  4. Andersen, H. R., Hadzic, T., & Pisinger, D. (2010). Interactive cost configuration over decision diagrams. Journal of Artificial Intelligence Research, 37(1), 99–140.Google Scholar
  5. Arlt, V., Günter, A., Hollmann, O., Wagner, T., & Hotz, L. (1999). EngCon - Engineering and Configuration. In Workshop on Configuration at AAAI Google Scholar
  6. Aschinger, M., Drescher, C., Friedrich, G., Gottlob, G., Jeavons, P., Ryabokon, A., & Thorstensen, E. (2011). Optimization methods for the partner units problem. In: International Conference on AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, (pp. 4–19). Springer.Google Scholar
  7. Aschinger, M., Drescher, C., Gottlob, G., & Vollmer, H. (2014). LoCo-A logic for configuration problems. ACM Transactions on Computational Logic (TOCL), 15(3), 20.Google Scholar
  8. Bachant, J., & McDermott, J. (1984). R1 revisited: Four years in the trenches. AI magazine, 5(3), 21.Google Scholar
  9. Balduccini, M. (2011). Industrial-size scheduling with ASP+CP. In International conference on logic programming and nonmonotonic reasoning, (pp. 284–296). Springer.Google Scholar
  10. Balduccini, M., & Gelfond, M. (2003). Diagnostic reasoning with A-Prolog. Theory and Practice of Logic Programming, 3(4), 425–461.Google Scholar
  11. Baral, C. (2004). Knowledge Representation, Reasoning, and Declarative Problem Solving. Cambridge: Cambridge University Press.Google Scholar
  12. Blochinger, W., Sinz, C., & Küchlin, W. (2001). Parallel consistency checking of automotive product data. In Proceedings of the international parallel computing conference, (pp. 50–57).Google Scholar
  13. BMBF: Zukunftsbild Industrie 4.0. (2013). In Broschüre (pp. 99999-1679). Bonn: Bundesministerium für Bildung und Forschung (BMBF). Retrieved May 15, 2017 from
  14. Brewka, G., Delgrande, J., Romero, J., & Schaub, T. (2015) Asprin: Customizing answer set preferences without a headache. In AAAI Conference on artificial intelligence, (pp. 1467–1474).Google Scholar
  15. Brewka, G., Eiter, T., & Truszczyński, M. (2011). Answer set programming at a glance. Communications of the ACM, 54(12), 92–103.Google Scholar
  16. Calimeri, F., Faber, W., Gebser, M., Ianni, G., Kaminski, R., Krennwallner, T., Leone, N., Ricca, F., & Schaub, T. (2012). ASP-Core-2: Input language format (p 15). ASP Standardization Working Group, Tech. Rep. Retrieved May 15, 2017 from
  17. Davis, S. M. (1987). Future perfect. MA: Addison-Wesley Reading.Google Scholar
  18. Du, X., Jiao, J., & Tseng, M. M. (2001). Architecture of product family:Fundamentals and methodology. Concurrent Engineering, 9(4), 309–325.Google Scholar
  19. Eiter, T., Faber, W., Leone, N., & Pfeifer, G. (1999). The diagnosis frontend of the dlv system. AI Communications, 12(1–2), 99–111.Google Scholar
  20. Eiter, T., Fink, M., Ianni, G., Krennwallner, T., Redl, C., & Schüller, P. (2016). A model building framework for answer set programming with external computations. Theory and Practice of Logic Programming, 16(04), 418–464. doi: 10.1017/S1471068415000113.CrossRefGoogle Scholar
  21. Eiter, T., Fink, M., Schüller, P., & Weinzierl, A. (2014). Finding explanations of inconsistency in multi-context systems. Artificial Intelligence, 216, 233–274.Google Scholar
  22. Erdem, E., Aker, E., & Patoglu, V. (2012). Answer set programming for collaborative housekeeping robotics: Representation, reasoning, and execution. Intelligent Service Robotics, 5(4), 275–291.Google Scholar
  23. Erdem, E., Gelfond, M., & Leone, N. (2016). Applications of asp. AI Magazine, 37(3), 53–68. AAAI Press.Google Scholar
  24. Erdem, E., Haspalamutgil, K., Patoglu, V., & Uras, T. (2012). Causality-based planning and diagnostic reasoning for cognitive factories. In IEEE Conference on emerging technologies and factory automation Google Scholar
  25. Erdem, E., Patoglu, V., Saribatur, Z. G., Schüller, P., & Uras, T. (2013). Finding optimal plans for multiple teams of robots through a mediator: A logic-based approach. Theory and Practice of Logic Programming, 13(4–5), 831–846.Google Scholar
  26. Felfernig, A., Friedrich, G., & Jannach, D. (2001). Conceptual modeling for configuration of mass-customizable products. Artificial Intelligence in Engineering, 15(2), 165–176.Google Scholar
  27. Felfernig, A., Friedrich, G. E., Jannach, D., & Stumptner, M. (2000). Exploiting structural abstractions for consistency based diagnosis of large configurator knowledge bases. In Proceedings international configuration workshop at ECAI, (pp. 23–28)Google Scholar
  28. Friedrich, G., Ryabokon, A., Falkner, A. A., Haselböck, A., Schenner, G., & Schreiner, H. (2011). (Re)configuration using Answer Set Programming. In Second workshop on logics for component configuration (LoCoCo 2011), (pp. 26–35)Google Scholar
  29. Gebser, M., Kaminski, R., Kaufmann, B., Ostrowski, M., Schaub, T., & Wanko, P. (2016). Theory Solving made easy with Clingo 5. In International conference on logic programming: technical communications. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. doi: 10.4230/OASIcs.ICLP.2016.2
  30. Gebser, M., Kaminski, R., Kaufmann, B., Romero, J., & Schaub, T. (2015). Progress in clasp series 3. In Logic programming and nonmonotonic reasoning, (pp. 368–383). Springer.Google Scholar
  31. Gebser, M., Kaminski, R., Kaufmann, B., & Schaub, T. (2012). Answer set solving in practice. Morgan and Claypool Publishers.Google Scholar
  32. Gebser, M., Kaminski, R., König, A., & Schaub, T. (2011). Advances in gringo series 3. In Logic programming and nonmonotonic reasoning, (pp. 345–351). Springer.Google Scholar
  33. Gebser, M., Kaufmann, B., Neumann, A., & Schaub, T. (2007). Clasp: A conflict-driven answer set solver. In Logic programming and nonmonotonic reasoning, (pp. 260–265). Springer.Google Scholar
  34. Gebser, M., Maratea, M., & Ricca, F. (2016). What’s hot in the Answer Set Programming Competition. In AAAI conference on artificial intelligence Google Scholar
  35. Gebser, M., Pührer, J., Schaub, T., & Tompits, H. (2008). A meta-programming technique for debugging answer-set programs. In AAAI, (pp. 448–453).Google Scholar
  36. Gelfond, M., & Kahl, Y. (2014). Knowledge representation, reasoning, and the design of intelligent agents: The answer-set programming approach. Cambridge: Cambridge University Press.Google Scholar
  37. Gelfond, M., & Lifschitz, V. (1988). The stable model semantics for logic programming. In: International conference and symposium on logic programming (ICLP/SLP), (pp. 1070–1080)Google Scholar
  38. Gelfond, M., & Lifschitz, V. (1991). Classical negation in logic programs and deductive databases. New Generation Computing, 9, 365–385.Google Scholar
  39. Gomes, C. P., Kautz, H., Sabharwal, A., & Selman, B. (2008). Satisfiability solvers. Handbook of knowledge. Representation, 3, 89–134.Google Scholar
  40. Günter, A., & Kühn, C. (1999) Knowledge-based configuration-survey and future directions. In German conference on knowledge-based systems, (pp. 47–66). Springer.Google Scholar
  41. Haag, A. (1998). Sales configuration in business processes. IEEE Intelligent Systems and their Applications, 13(4), 78–85.Google Scholar
  42. Hadzic, T., Subbarayan, S., Jensen, R. M., Andersen, H. R., Møller, J., & Hulgaard, H. (2004). Fast backtrack-free product configuration using a precompiled solution space representation. In PETO conference, (pp. 131–138)Google Scholar
  43. Havur, G., Ozbilgin, G., Erdem, E., & Patoglu, V. (2014). Geometric rearrangement of multiple movable objects on cluttered surfaces: A hybrid reasoning approach. In IEEE international conference on robotics and automation (ICRA), (pp. 445–452). IEEE.Google Scholar
  44. Heinrich, M., & Jungst, E. (1991). A resource-based paradigm for the configuring of technical systems from modular components. In IEEE conference on artificial intelligence applications, (pp. 257–264). IEEE.Google Scholar
  45. Hotz, L., Felfernig, A., Günter, A., & Tiihonen, J. (2014). A short history of configuration technologies. Knowledge-based Configuration–From Research to Business Cases (pp. 9–19). Newnes.Google Scholar
  46. Janhunen, T., Liu, G., & Niemelä, I. (2011). Tight integration of non-ground answer set programming and satisfiability modulo theories. Proceedings of GTTV, 11, 1–13.Google Scholar
  47. Jensen, R. M. (2004). CLab: A C++ library for fast backtrack-free interactive product configuration. In Principles and practice of constraint programming–CP 2004, (pp. 816–816). Springer.Google Scholar
  48. Junker, U., & Mailharro, D. (2003). The logic of ilog (j) configurator: Combining constraint programming with a description logic. In Workshop on configuration at IJCAI, (pp. 13–20).Google Scholar
  49. Klein, R. (1991) Model representation and taxonomic reasoning in configuration problem solving. In Fachtagung für Künstliche intelligenz (GWAI-91), (pp. 182–194). Springer.Google Scholar
  50. Klein, R., Buchheit, M., & Nutt, W. (1994). Configuration as model construction: The constructive problem solving approach. In Artificial intelligence in design, (pp. 201–218). Springer.Google Scholar
  51. Küchlin, W., & Sinz, C. (2000). Proving consistency assertions for automotive product data management. Journal of Automated Reasoning, 24(1–2), 145–163.Google Scholar
  52. Kusiak, A., Smith, M. R., & Song, Z. (2007). Planning product configurations based on sales data. IEEE Transactions on Systems, Man, and Cybernetics, Part C, 37(4), 602–609.Google Scholar
  53. Lee, E. A. (2008). Cyber physical systems: Design challenges. In IEEE international symposium on object and component-oriented real-time distributed computing (ISORC), (pp. 363–369)Google Scholar
  54. Lee, J., & Meng, Y. (2013). Answer set programming modulo theories and reasoning about continuous changes. In Proceedings international joint conference on artificial intelligence (IJCAI), (pp. 990–996).Google Scholar
  55. Leone, N., & Ricca, F. (2015). Answer set programming: a tour from the basics to advanced development tools and industrial applications. In Reasoning web international summer school, (pp. 308–326). Springer.Google Scholar
  56. Lifschitz, V. (2008). What is answer set programming? AAAI, 8, 1594–1597.Google Scholar
  57. Lin, F., & Zhao, Y. (2004). ASSAT: Computing answer sets of a logic program by SAT solvers. Artificial Intelligence, 157(1), 115–137.Google Scholar
  58. Mailharro, D. (1998). A classification and constraint-based framework for configuration. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 12(4), 383–397.Google Scholar
  59. Marcus, S., Stout, J., & McDermott, J. (1987). Vt: An expert elevator designer that uses knowledge-based backtracking. AI magazine, 8(4), 41.Google Scholar
  60. McDermott, J. (1982). R1: A rule-based configurer of computer systems. Artificial Intelligence, 19(1), 39–88.Google Scholar
  61. Mileo, A., & Nickles, M. (2013). Probabilistic inductive answer set programming by model sampling and counting. In International workshop on learning and nonmonotonic reasoning (LNMR), (pp. 5–16).Google Scholar
  62. Mittal, S., & Falkenhainer, B. (1990). Dynamic constraint satisfaction. In Proceedings eighth national conference on artificial intelligence, (pp. 25–32).Google Scholar
  63. Mittal, S., & Frayman, F. (1989). Towards a generic model of configuration tasks. In Proceedings international joint conference on artificial intelligence (IJCAI), (pp. 1395–1401).Google Scholar
  64. Møller, J., Andersen, H. R., & Hulgaard, H. (2001). Product configuration over the internet. In Proceedings of the 6th INFORMS Google Scholar
  65. Myllärniemi, V., Asikainen, T., Männistö, T., & Soininen, T. (2005). Kumbang configurator – a configuration tool for software product families. In Proceedings international joint conference on artificial intelligence (IJCAI), (pp. 51–56).Google Scholar
  66. Najmann, O., & Stein, B. (1992). A theoretical framework for configuration. In International conference on industrial, engineering and other applications of applied intelligent systems, (pp. 441–450). Springer.Google Scholar
  67. Nogueira, M., Balduccini, M., Gelfond, M., Watson, R., & Barry, M. (2001). An a-prolog decision support system for the space shuttle. In International symposium on practical aspects of declarative languages, (pp. 169–183). Springer.Google Scholar
  68. Orsvärn, K., & Axling, T. (1999). The tacton view of configuration tasks and engines. In Workshop on configuration at national conference on artificial intelligence (AAAI) Google Scholar
  69. Ostrowski, M., & Schaub, T. (2012). ASP modulo CSP: The clingcon system. Theory and Practice of Logic Programming, 12(4–5), 485–503.Google Scholar
  70. Pargamin, B. (2002). Vehicle sales configuration: the cluster tree approach. In Configuration workshop at ECAI at ECAI, (pp. 35–40).Google Scholar
  71. Pargamin, B. (2003). Extending cluster tree compilation with non-boolean variables in product configuration: A tractable approach to preference-based configuration. In Proceedings international joint conference on artificial intelligence (IJCAI) Google Scholar
  72. Rajkumar, R. R., Lee, I., Sha, L., & Stankovic, J. (2010). Cyber-physical systems. In Design automation conference (DAC), (pp. 731–736).Google Scholar
  73. Reiter, R. (1987). A theory of diagnosis from first principles. Artificial Intelligence, 32(1), 57–95.Google Scholar
  74. Ricca, F., Grasso, G., Alviano, M., Manna, M., Lio, V., Iiritano, S., et al. (2012). Team-building with answer set programming in the gioia-tauro seaport. Theory and Practice of Logic Programming, 12(03), 361–381.Google Scholar
  75. Russel, S., & Norvig, P. (2009). Artificial Intelligence: A Modern Approach (3rd ed.). Prentice Hall.Google Scholar
  76. Sabin, D., & Weigel, R. (1998). Product configuration frameworks—a survey. IEEE Intelligent Systems, 13(4), 42–49.Google Scholar
  77. Schreiber, A. T., Terpstra, P., Magni, P., & Van Velzen, M. (1994). Analysing and implementing VT using COMMON-KADS. In Proceedings workshop on knowledge acquisition for knowledge-based systems, (pp. 44–1).Google Scholar
  78. Simons, P., Niemelä, I., & Soininen, T. (2002). Extending and implementing the stable model semantics. Artificial Intelligence, 138(1), 181–234.Google Scholar
  79. Sinz, C., Blochinger, W., & Küchlin, W. (2001). PaSAT - Parallel SAT-checking with lemma exchange: Implementation and applications. Electronic Notes in Discrete Mathematics, 9, 205–216.Google Scholar
  80. Sinz, C., Kaiser, A., & Küchlin, W. (2001). Detection of inconsistencies in complex product configuration data using extended propositional SAT-checking. In FLAIRS conference, (pp. 645–649).Google Scholar
  81. Sinz, C., Kaiser, A., & Küchlin, W. (2003). Formal methods for the validation of automotive product configuration data. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 17(1), 75–97.Google Scholar
  82. Snavely, G. L., & Papalambros, P. Y. (1993). Abstraction as a configuration design methodology. Advances in Design Automation, 1, 1993.Google Scholar
  83. Soininen, T., & Niemelä, I. (1998). Developing a declarative rule language for applications in product configuration. In Practical aspects of declarative languages, (pp. 305–319). Springer.Google Scholar
  84. Soininen, T., Niemelä, I., Tiihonen, J., & Sulonen, R. (2001). Representing configuration knowledge with weight constraint rules. In Proceedings of the AAAI Spring 2001 Symposium on Answer Set Programming (pp. 195–201). AAAI Press.Google Scholar
  85. Soloway, E., Bachant, J., & Jensen, K. (1987). Assessing the maintainability of XCON-in-RIME: Coping with problems of a very large rule base. In Proceedings international conference on artificial intelligence, (pp. 824–829). Morgan Kaufman.Google Scholar
  86. Song, Z., & Kusiak, A. (2009). Optimising product configurations with a data-mining approach. International Journal of Production Research, 47(7), 1733–1751.Google Scholar
  87. Stumptner, M. (1997). An overview of knowledge-based configuration. AI Communications, 10(2), 111–125.Google Scholar
  88. Subbarayan, S. (Ed.) (2004). CLib: configuration benchmarks library. Retrieved May 15, 2017 from
  89. Syrjänen, T. (2006). Debugging inconsistent answer set programs. Proc. NMR, 6, 77–83.Google Scholar
  90. Tiihonen, J., & Anderson, A. (2014). VariSales. Knowledge-based configuration-from research to business cases (pp. 377–388). Newnes.Google Scholar
  91. Tiihonen, J., Heiskala, M., Anderson, A., & Soininen, T. (2013). WeCoTin-A practical logic-based sales configurator. AI Communications, 26(1), 99–131.Google Scholar
  92. Tiihonen, J., Soininen, T., Niemelä, I., & Sulonen, R. (2003). A practical tool for mass-customising configurable products. In Proceedings international conference on engineering design, (pp. 1290–1299).Google Scholar
  93. Tong, C., & Sriram, D. (1992). Artificial Intelligence in Engineering Design, Volume 1: Design Representation and Models of Routine Design. San Diego, CA: Academic Press.Google Scholar
  94. Tseitin, G. S. (1968). On the complexity of proof in prepositional calculus. Zapiski Nauchnykh Seminarov POMI, 8, 234–259.Google Scholar
  95. Tseng, H. E., Chang, C. C., & Chang, S. H. (2005). Applying case-based reasoning for product configuration in mass customization environments. Expert Systems with Applications, 29(4), 913–925.Google Scholar
  96. Walter, R., Felfernig, A. & Küchlin, W. (2016). J Intell Inf Syst. doi: 10.1007/s10844-016-0422-7.
  97. Walter, R., & Küchlin, W. (2014). ReMax – A MaxSAT aided Product (Re-)Configurator. In International configuration workshop, (p. 59).Google Scholar
  98. Walter, R., Zengler, C., & Küchlin, W. (2013). Applications of MaxSAT in Automotive Configuration. Configuration Workshop, 1(2), 21. 15th International.Google Scholar
  99. Xie, H., Henderson, P., & Kernahan, M. (2005). Modelling and solving engineering product configuration problems by constraint satisfaction. International Journal of Production Research, 43(20), 4455–4469.Google Scholar
  100. Yu, B., & Skovgaard, H. J. (1998). A configuration tool to increase product competitiveness. IEEE Intelligent Systems, 13(4), 34–41.Google Scholar
  101. Zhang, S., Sridharan, M., & Wyatt, J. L. (2015). Mixed logical inference and probabilistic planning for robots in unreliable worlds. IEEE Transactions on Robotics, 31(3), 699–713.Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Turkish-German UniversityIstanbulTurkey
  2. 2.Marmara UniversityIstanbulTurkey
  3. 3.Sabanci UniversityIstanbulTurkey

Personalised recommendations