A systems theoretic approach to the design and implementation of a solver component for a management information system
Yasuhiko Takahara, Yongmei Liu, Yoshio Yano · International Journal of General Systems · 2004
This paper presents a systems theoretic approach to develop a solver component for a management information system (MIS). In this approach, a model is described in the set theoretic terms based on systems concepts and is implemented in the extProlog, an extension of the Prolog. Although the approach adopts the set theory for representation and uses a logic programming language for this implementation, it is completely different from the conventional constraint programming or the rule-based optimization, which starts from a given problem and tries to find a solution algorithm (Cantone, Omodeo and Policriti, 2001 Hooker J 2002 Logic-based Method for Optimization John-Wiley New York [Google Scholar]; Hooker, 2002). Our approach starts from the investigation of a general problem-solving system. The solving system is the main subject. The extProlog is not used as a declarative language but as an easy implementation tool for a set theoretic description. We propose a design and implementation procedure on an abstract level using the goal-seeking model of the general systems theory. When it is applied to a real problem, it must be made concrete to meet the properties of the specific problem. A problem classification scheme is introduced to meet the requirement. According to the classification there are eight classes. The development procedure is formalized for each specific class. This paper investigates a class called E-C-C, which is the most structured, to show the formulation scheme. According to the formulation, a solver is divided into two independent components: the user model and the goal seeker. This paper adopts a modified dynamic programming (DP) method for designing the goal seeker and investigates its formal properties. Implementation is done based on the investigation. The traveling salesman problem is used to illustrate the entire procedure.