ALMM Solver: The Idea and the Architecture

  • Krzysztof RączkaEmail author
  • Ewa Dudek-Dyduch
  • Edyta Kucharska
  • Lidia Dutkiewicz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9120)


The ALMM Solver is a software tool which aim is generating solutions for discrete optimization problems, in particular for NP-hard problems. The idea of the solver is based on Algebraic Logical Meta-Model of Multistage Decision Process (ALMM of MDP). The aim of the paper is to present the architecture of the ALMM Solver and to describe requirements regarding the solver, in particular non-functional ones. SimOpt, the core module of the solver, is described in detail. The practices, design patterns and principles, that was used to ensure the best quality of the solver software, are mentioned in the paper.


Solver Optimizer Algebraic-logical meta-model (ALMM) Scheduling problem Simulation tool Software architecture Design patterns Framework 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ameller, D., Franch, X.: How Do Software Architects Consider Non-Functional Requirements: A Survey. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 276–277. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Barbucha, D., Czarnowski, I., Jędrzejowicz, P., Ratajczak-Ropel, E., Wierzbowska, I.: JABAT Middleware as a Tool for Solving Optimization Problems. T. Computational Collective Intelligence 2, 181–195 (2010)CrossRefGoogle Scholar
  3. 3.
    Dudek-Dyduch, E.: Simulation of some class of discrete manufacturing processes. In: Proc. of European Congress on Simulation, Praha (1987)Google Scholar
  4. 4.
    Dudek-Dyduch, E.: Formalization and Analysis of Problems of Discrete Manufacturing Processes. Scientific Bulletin of AGH University, Automatyka 54 (1990) (in Polish)Google Scholar
  5. 5.
    Dudek-Dyduch, E.: Control of discrete event processes - branch and bound method. In: Proc. of IFAC/Ifors/Imacs Symposium Large Scale Systems: Theory and Applications, Chinese Association of Automation, vol. 2, pp. 573–578 (1992)Google Scholar
  6. 6.
    Dudek-Dyduch, E.: Discrete determinable processes - compact knowledge-based model, Notas de Matematica No 137, Universidad de Los Andes, Merida, Venezuela (1993)Google Scholar
  7. 7.
    Dudek-Dyduch, E.: Heuristic algorithms - formal approach based on compact knowledge-based model, Notas de Matematica No 138, Universidad de Los Andes, Merida, Venezuela (1993)Google Scholar
  8. 8.
    Dudek-Dyduch, E.: Learning based algorithm in scheduling. Journal of Intelligent Manufacturing 11(2), 135–143 (2000)CrossRefGoogle Scholar
  9. 9.
    Dudek-Dyduch, E.: Information systems for production management (in Polish) Wyd. Poldex, Krakow (2002)Google Scholar
  10. 10.
    Dudek-Dyduch, E.: Modeling Manufacturing Processes with Disturbances - A New Method Based on Algebraic-Logical Meta-Models. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2015. LNCS, vol. 9120, pp. 350–360. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  11. 11.
    Dudek-Dyduch, E., Dutkiewicz, L.: Substitution Tasks Method for Discrete Optimization. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2013, Part II. LNCS, vol. 7895, pp. 419–430. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  12. 12.
    Dudek-Dyduch, E., Dyduch, T.: Scheduling some class of discrete processes. Proc.of 12th IMACS World Congress, Paris (1988)Google Scholar
  13. 13.
    Dudek-Dyduch, E., Dyduch, T.: Formal approach to optimization of discrete manufacturing processes. In: Hamza M.H (ed) Proc. of the Twelfth IASTED Int. Conference Modelling, Identification and Control. Acta Press Zurich (1993)Google Scholar
  14. 14.
    Dudek-Dyduch, E., Dyduch, T.: Learning algorithms for scheduling using knowledge based model. In: Rutkowski, L., Tadeusiewicz, R., Zadeh, L.A., Żurada, J.M. (eds.) ICAISC 2006. LNCS (LNAI), vol. 4029, pp. 1091–1100. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Dudek-Dyduch, E., Kucharska, E.: Learning method for co-operation. In: Jędrzejowicz, P., Nguyen, N.T., Hoang, K. (eds.) ICCCI 2011, Part II. LNCS, vol. 6923, pp. 290–300. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Dudek-Dyduch, E., Kucharska, E., Dutkiewicz, L., Rączka, K.: ALMM solver - A tool for optimization problems. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2014, Part II. LNCS, vol. 8468, pp. 328–338. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  17. 17.
    Dutkiewicz L., Kucharska E., Rączka K., Grobler-Dębska K.: ST Method Based Algorithm for the Supply Routes for Multi-location Companies Problem. In: Kacprzyk J. (ed.) Advances in Intelligent Systems and Computing (to appear) ISSN 2194-5357Google Scholar
  18. 18.
    Dyduch, T., Dudek-Dyduch, E.: Learning based algorithm in sheduling. In: Proc of Int. Conf. on Industrial Engineering and Production Management, Lyon, vol. 1, pp. 119–128 (1997)Google Scholar
  19. 19.
    Eden, A.H.: Strategic Versus Tactical Design. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences, HICSS 2005 (2005)Google Scholar
  20. 20.
    Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Prentice-Hall (2003)Google Scholar
  21. 21.
    Foote, B., Yoder, J.: Big Ball of Mud. In: Fourth Conference on Patterns Languages of Programs (1999)Google Scholar
  22. 22.
    Fowler, M.: Patterns of Enterprise Application Architecture (2002)Google Scholar
  23. 23.
    Fowler, M.: Refactoring. Improving the Design of Existing Code. Addison-Wesley (1999)Google Scholar
  24. 24.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. s.l.: Addison-Wesley (1994)Google Scholar
  25. 25.
    Grobler-Dębska, K., Kucharska, E., Dudek-Dyduch, E.: Idea of switching algebraic-logical models in flow-shop scheduling problem with defects. In: The 18th International Conference on Methods and Models in Automation and Robotics, MMAR Proceedings, pp. 532–537 (2013)Google Scholar
  26. 26.
    Harrison, N., Avgeriou, P.: Pattern-Driven Architectural Partitioning: Balancing Functional and Non-functional Requirements. In: Second International Conference on Digital Telecommunications, ICDT 2007 (2007)Google Scholar
  27. 27.
    Johnson, R.E., Foote, B.: Designing Reuseable Classes (1988)Google Scholar
  28. 28.
    Jurgens, D.: Survey on software engineering for scientific applications - reuseable software, grid computing and application. Informatikbericht 2009?02, Institut fur Wissenschaftliches Rechnen, Technische Universitat Braunschweig, Braunschweig (2009)Google Scholar
  29. 29.
    Kaur, A.: Kulvinder Singh Mann. Component based software engineering. International Journal of Computer Applications 2(1), 105–108 (2010)CrossRefGoogle Scholar
  30. 30.
    Kiczales, G.: Aspect-Oriented Programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  31. 31.
  32. 32.
    Krosche, M.: A Generic Component-Based Software Architecture for the Simulation of Probabilistic Models, Dissertation (2013)Google Scholar
  33. 33.
    Lau, K., Wang, Z.: Software componentmodels. IEEE Transactions on Software Engineering 33(10), 709–724 (2007)CrossRefGoogle Scholar
  34. 34.
  35. 35.
  36. 36.
    Osherove, R.: The Art of Unit Testing: With Examples in.Net. Manning Publications Co. (2013)Google Scholar
  37. 37.
    Ravichandran, T., Rothenberger, M.A.: Software reuse strategies and component markets. Communications of the ACM 46(8), 109–114 (2003)CrossRefGoogle Scholar
  38. 38.
    Sękowski, H., Dudek-Dyduch, E.: Knowledge based model for scheduling in failure modes. In: Rutkowski, L., Korytkowski, M., Scherer, R., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2012, Part II. LNCS, vol. 7268, pp. 591–599. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  39. 39.
    Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Software and quality in use models, ISO/IEC 25010:2008Google Scholar
  40. 40.
    Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities, and Collaborations. Addison Wesley (2002)Google Scholar
  41. 41.
    Vernon, V.: Implementing Domain-Driven Design. s.l.: Addison-Wesley Professional (2013)Google Scholar
  42. 42.
  43. 43.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Krzysztof Rączka
    • 1
    Email author
  • Ewa Dudek-Dyduch
    • 1
  • Edyta Kucharska
    • 1
  • Lidia Dutkiewicz
    • 1
  1. 1.Department of Automatics and Biomedical EngineeringAGH University of Science and TechnologyKrakowPoland

Personalised recommendations