Journal of Intelligent Manufacturing

, Volume 25, Issue 3, pp 555–569 | Cite as

Using UML and OCL for representing multiobjective combinatorial optimization problems

  • Yönet A. Eracar
  • Mieczyslaw M. KokarEmail author


This paper describes the results of a preliminary feasibility study of an approach to representing multiobjective combinatorial optimization problems in UML (structural constraints) and OCL (procedural constraints) and then automatically translating the representations to a constraint satisfaction solving language (Oz) for execution. The paper presents two examples of the application of the approach—a job scheduling problem and a (fixture) design problem. The main goal of this paper is to investigate directions towards a standard, graphical language for representing combinatorial optimization problems. The paper shows that for the two selected problems it is easy to represent structural constraints in UML and that procedural constraints are representable in OCL. The results also show that a developed translator automatically converts the UML/OCL representations to Oz and that the resulting Oz program performs very reasonably, in some cases outperforming the hand-written benchmark programs.


Multi objective combinatorial optimization problem MOCOP UML OCL Code generation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Achlioptas, D., Kirousis, L. M., Kranakis, E., Krizanc, M. S., Molloy, M. S. O., & Stamatiou, Y.C. (1998). Random constraint satisfaction: A more accurate picture. In Proceedings of the 3rd international conference on principles and practice of constraint programming (CP98) (pp. 107–120). Springer-Verlag, LNCS 1330.Google Scholar
  2. Applegate D., Bixby R., Chvátal V., Cook W. (2007) The traveling salesman problem: A computational study. Princeton University Press, PrincetonGoogle Scholar
  3. Andersson, K., & Hjerpe, T. (1998). Modeling constraint problems in CML. In PACT’98 (pp. 295–312).Google Scholar
  4. Beck, J. C. , & Jackson, W. K. (1997). Constrainedness and the phase transition in job shop scheduling.Google Scholar
  5. Bistarelli, S., Montanari, U., & Rossi, F. (1995). Constraint solving over semirings. In Proceedings of IJCAI95 (pp. 624–630). Morgan Kauffman.Google Scholar
  6. Borning A. (1981) The programming language aspects of thinglab, a constraint-oriented simulation laboratory. ACM Transaction on Programming Languages and Systems 3(4): 353–387CrossRefGoogle Scholar
  7. Borning A., Freeman-Benson B. (1998) Ultraviolet: A constraint satisfaction algorithm for interactive graphics. CONSTRAINTS: An International Journal 3(1): 9–32CrossRefGoogle Scholar
  8. Cabot, J., Claris, R., & Riera, D. (2007). UMLtoCSP: A tool for the formal verification of UML/OCL models. In Proceedings of the 22nd ACM/IEEE international conference on automated software engineering (ASE’2007), (pp. 547–548). ACM/IEEE, November, 2007.Google Scholar
  9. Cabot, J., Claris, R., & Riera, D. (2008). Verication of UML/OCL class diagrams using constraint programming. In ICST workshop on model driven engineering, verification and validation: Integrating verification and validation in MDE (MoDeVVa’2008), (pp. 73–80), April, 2008.Google Scholar
  10. Cengarle M. V., Knapp A. (2004) OCL1.4/5 vs. 2.0 expressions: Formal semantics and expressiveness. Software and Systems Modeling 3: 9–30CrossRefGoogle Scholar
  11. Cheeseman, P., Kanefsky, B., & Taylor, W. M. (1991). Where the really hard problems are. In Proceedings of IJCAI91 (Vol. 1, pp. 331–337).Google Scholar
  12. Colmerauer A. (1990) An introduction to Prolog III. Communications of ACM 28(4): 412–418Google Scholar
  13. Colmerauer, A. (1996). Specification de Prolog IV. Technical report. Laboratoire d’informatique de Merseille.Google Scholar
  14. Colmerauer, A., Kanoui, H., & Van Caneghem, M. (1981). Last steps towards an ultimate Prolog. In Proceedings of the 7th international joint conference on Artificial intelligence (Vol. 2, pp. 947–948), San Francisco, CA, USA: Morgan Kaufmann Publishers IncGoogle Scholar
  15. Csontó J., Paralic J. (1997) A Look at CLP: Theory and application. Applied Artificial Intelligence 11(1): 59–69CrossRefGoogle Scholar
  16. Czarnecki, K., & Kim, C. H. P. (2005). Cardinality-Based Feature modeling and constraints: A progress report. In OOPSLA’05 workshop on software factories (pp 1–9).Google Scholar
  17. Deb K. (2001) Multi-Objective optimization using evolutionary algorithms. John Wiley and Sons, Co., New JerseyGoogle Scholar
  18. Demoen, B., de la Banda, M. G., Harvey, W., Marriott, K., & Stuckey, P. (1999). An overview of HAL. In Principles and practice of constraint programming (pp. 174–188), October, 1999.Google Scholar
  19. Ehrgott, M., & Gandibleux, X. (2002). Multiple criteria optimization: state of the art annotated bibliographic surveys. Operations research and management science (Vol. 52). Boston: Kluwer Academic Publishers.Google Scholar
  20. El Sakkout H., Wallace M. (2000) Probe Backtrack Search for Minimal Perturbation in Dynamic Scheduling. Constraints 5(4): 359–388CrossRefGoogle Scholar
  21. Eschenauer H., Koski J., Osyczka A. (1990) Multicriteria design optimization. Springer-Verlag, BerlinCrossRefGoogle Scholar
  22. Fourer R., Gay D. M., Kernighan B. W. (2003) AMPL: A modeling language for mathematical programming. Duxbury Press, North Scituate, MAGoogle Scholar
  23. Garey M. R., Johnson D. S. (1979) Computers and intractability: A Guide to the theory of NP-Completeness. W. H. Freeman and Co., New York, NY, USAGoogle Scholar
  24. Goodrich M. A., Stirling W. C., Boer E. R. (2000) Satisficing revisited. Minds and Machines 10: 79–109CrossRefGoogle Scholar
  25. Grotschel, M., & Laszlo, L. (1993). Combinatorial optimization: A survey. Technical Report (pp. 93–29), DIMACS.Google Scholar
  26. Grotschel M., Padberg M. W. (1979) On the symmetric travelling salesman problem II: Lifting theorems and facets. Mathematical Programming 16: 281–302CrossRefGoogle Scholar
  27. Haridi, S., & Janson, S. (1990). Kernel Andorra Prolog and its computational model. In ICLP’90, (pp. 31–46). MIT Press.Google Scholar
  28. Haug A. (2010) Managing diagrammatic models with different perspectives on product information. Journal of Intelligent Manufacturing 21: 811–822CrossRefGoogle Scholar
  29. Hayes-Roth B. (1985) A blackboard architecture for control. Artificial Intelligence 26(3): 251–321CrossRefGoogle Scholar
  30. Hermenegildo, M. (1994). CLIP group. Some methodological issues in the design of CIAO—a generic, parallel concurrent constraint system. In Principals and practice of constraint programming (CP97) (pp. 123–133). Springer-Verlag, LNCS 874.Google Scholar
  31. Hoffman K. L. (2000) Combinatorial optimization: Current successes and directions for the future. Journal of Computational and Applied Mathematics 124: 341–360CrossRefGoogle Scholar
  32. Hosobe, H., Matsuoka, S., Yonezawa, A. (1996). Generalized local propagation: A framework for solving constraint hierarchies. In Proceedings of the second international conference on principles and practice of constraint programming (pp. 237–251). Springer-Verlag.Google Scholar
  33. Jaffar, J., & Michaylov, S. (1987). Methodology and implementation of a CLP system. In Fourth international conference in logic programming, (pp. 196–218), Melbourne, Australia, May, 1987.Google Scholar
  34. Jaffar, J., & Lassez, J. L. (1987). Constraint logic programming. In POPl-87 (pp. 111–119) Munich, FRG, January, 1987.Google Scholar
  35. Kusiak A., Tang F., Xu G. (2011) Multi-objective optimizationof HVAC system with an evolutionary computation algorithm. Energy 36: 2440–2449CrossRefGoogle Scholar
  36. Laburthe, F., & Caseau, Y. (1998). SALSA: A Language for Search Algorithms. In Fourth international conference on principals and practice of constraint programming (CP’98), (pp. 310–324), Pisa, Italy, October, 1998Google Scholar
  37. Le Pape C., Baptiste P. (1998) Resource constraints for preemptive job-shop scheduling. CONSTRAINTS: An International Journal 3(4): 263–287CrossRefGoogle Scholar
  38. Le Pape, C.,& Baptiste, P. (1997). A constraint programming library for preemptive and non-preemptive scheduling. In PACT97 (pp. 23–25).Google Scholar
  39. Luis L. M., Camarinha-Matos M., Afsarmanesh H. (2007) A comprehensive modeling framework for collaborative networked organizations. Journal of Intelligent Manufacturing 18: 529–542CrossRefGoogle Scholar
  40. Maes, P. (1997). General tutorial on software agents., MIT.
  41. Mandel, L., & Cengarle, M. V. (1999). On the expressive power of OCL. In J. M. Wing, J. Woodcock, & J. Davies, (eds.), Proceedings world congress on formal methods (FM’99), (Lecture Notes in Computer Science), (Vol. 1708, pp. 854–874). Springer.Google Scholar
  42. Marriott, K., Chok, S. S., & Finlay, A. (1998). A tableau based constraint solving toolkit for interactive graphical applications. In Proceedings of the 4th international conferences on principles and practice of constraint programming (CP98), (pp. 340–354). Springer-Verlag.Google Scholar
  43. Martello S., Toth P. (1990) Knapsack Problems: Algorithms and Computer Implementations. John Wiley and Sons, New YorkGoogle Scholar
  44. Mehl, M., Muller, M., Popov, T., & Scheidhauer, K. (1995). DFKI Oz User’s Manual. May, 1995.Google Scholar
  45. Michel, L., & Van Hentenryck, P. (2000). Modeler++: A modeling layer for constraint. Programming Libraries CS-00-07, Brown University, December, 2000.Google Scholar
  46. Montanari U. (1974) Networks of constraints: Fundamental properties and application to picture processing. Information Science 7: 95–132CrossRefGoogle Scholar
  47. Moon T. K., Stirling W. C. (2001) Satisficing negotiation for resource allocation with disputed resources. In: Tsatsoulis C. (Ed.), Negotiation methods for autonomous cooperative systems. AAAI Press, Menlo Park, pp 106–115Google Scholar
  48. Montanari, U., & Rossi, F. (1996). Constraint solving and programming: What’s next?. ACM Computing Surveys, 28(4), 70.Google Scholar
  49. Padberg M., Rinaldi G. (1991) A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems. SIAM Review 33: 60–100CrossRefGoogle Scholar
  50. Papadimitriou C. H., Steiglitz K. (1998) Combinatorial optimization: Algorithms and complexity. Dover Publications Inc, New YorkGoogle Scholar
  51. OMG. (2003). Unified modeling language specification. Object Management Group, Inc., (1.5 ed.), March, 2003.Google Scholar
  52. OMG. (2007). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2.Google Scholar
  53. OMG. (2007). OMG Uified Modeling Language (OMG UML), Infrastructure, V2.1.2.Google Scholar
  54. OMG. (2005). OCLE: Object Constraint Language Environment version 2.0.4.Google Scholar
  55. Rasovska, I., Chebel-Morello, B.N. Zerhouni& (2008). A mix method of knowledge capitalization in maintenance. Journal of Intelligent Manufacturing, 19, 347–359.Google Scholar
  56. Rossi, F. (2000). Constraint (logic) programming: a survey on research and applications. In Proceedings of the ERCIM/compulog net workshop on constraints, (pp. 40–74). Springer-Verlag, LNAI 1865.Google Scholar
  57. Saraswat, V. A., & Rinard, M. (1990). Concurrent constraint programming. In Proceedings of the 17th ACM symposium on principals of programming languages (pp. 232–245).Google Scholar
  58. Schulte, C. (1997). Programming constraint inference engines. In Proceedings of the third international conference on principals and practice of constraint programming (Vol. 1330, pp. 519–533), Schloss Hagenberg, Linz, Austria: Springer-Verlag October, 1997.Google Scholar
  59. Schulte, C., & Smolka, G. (2004). Finite domain constraint programming in Oz. Mozart Documentation, (1.3.1 ed.), June, 2004.Google Scholar
  60. Sen, S. (1998). Satisficing models. In Proceedings of the 1998 AAAI Symposium. Technical Report SS-98-05, Stanford, California.Google Scholar
  61. Simon H. A. (1955) A behavioral model of rational choice. Quarterly Journal of Economics 59: 99–118CrossRefGoogle Scholar
  62. Smolka G. (1995) An Oz Primer. DFKI Oz documentation series, Saarbrucken, GermanyGoogle Scholar
  63. Song Z., Kusiak A. (2010) Multiobjective optimization of temporal processes. IEEE Transactions on Systems, Man and Cybernetics 40(3): 845–856CrossRefGoogle Scholar
  64. Stefanovic D., Stefanovic N. (2008) Methodology for modeling and analysis of supply networks. Journal of Intelligent Manufacturing 19: 485–503CrossRefGoogle Scholar
  65. Stirling W. C., Goodrich M. A. (1999) Satisficing games. Information Sciences 114: 255–280CrossRefGoogle Scholar
  66. Stirling W. C., Goodrich M. A., Packard D. J. (2002) Satisficing equilibria: A non-classical approach to games and decisions. Autonomous Agents and Multi-Agent Systems Journal 5: 305–328CrossRefGoogle Scholar
  67. Sutherland I. E. (1963) SKETCHPAD: A man-machine graphical communication system. MIT Lincoln Labs, Cambridge, MAGoogle Scholar
  68. Sussman G. J., Steele G. L. (1980) CONSTRAINTS-a language for expressing almost-hierarchical descriptions. Artificial Intelligence 14(1): 1–39CrossRefGoogle Scholar
  69. Tsang, E., Mills, P., Williams, R., Ford, J., & Borrett, J. (1999). A computer aided constraint programming system. In PACPL’99 (pp. 88–93).Google Scholar
  70. Van Hentenryck P. (1989) Constraint satisfaction in logic programming. MIT Press, Cambridge, MAGoogle Scholar
  71. Van Hentenryck, P. (1996). Helios: A modeling language for global optimization. In Proceedings PACT96 (pp. 317–335).Google Scholar
  72. Van Hentenryck P. (1997) Numerica: A modeling language for global optimization. MIT Press, CambridgeGoogle Scholar
  73. Van Hentenryck, P. (1997). Visual Solver: A modeling language for constraint programming. In Proceedings of the 3rd international conference on principals and practice of constraint programming (CP97) (Vol. 2, p. 1). Springer-Verlag, LNCS 1330.Google Scholar
  74. Van Hentenryck P., Simonis H., Dincbas M. (1992) Constraint satisfaction using constraint logic programming. Artificial Intelligence 58: 113–159CrossRefGoogle Scholar
  75. Xanthopulos Z., Melachrinoudis E., Solomon M. M. (2000) Interactive multiobjective group decision making with interval parameters. Management Science 46(12): 1585–1601CrossRefGoogle Scholar
  76. W3C. XML Schema.Google Scholar
  77. Yang, D., & Dong, M. (2011). Applying constraint satisfaction approach to solve product configuration problems with cardinality-based configuration rules. Journal of Intelligent Manufacturing, 1–13.Google Scholar
  78. Zilberstein, S. (1998). Satisficing and bounded optimality. In Proceedings of the 1998 AAAI Symposium. Technical Report SS-98-05, (pp. 91–94), Stanford, California.Google Scholar

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  1. 1.Department of Mechanical and Industrial EngineeringNortheastern UniversityBostonUSA
  2. 2.Department of Electrical and Computer EngineeringNortheastern UniversityBostonUSA

Personalised recommendations