European Journal of Operational Research 70 (1993) 1-15 North-Holland Invited Review The use of mathematical programming with artificial intelligence and expert systems Richard D. McBride and Daniel E. O'Leary School of Business, University of Southern California, Los Angeles, CA 90089-1421, USA Abstract: Researchers have developed artificially intelligent (AI) and expert systems (ES) to assist in the formulation, solution and interpretation of generic mathematical programs (MP). In addition, re­ searchers also have built domain-specific systems either modeled around a mathematical program or which include a mathematical program module. In these systems, the specificity of the domain allows researchers to extend the interpretation or formulation beyond that available from the generic set of assumptions about mathematical programming. Further, researchers have begun to investigate the use of mathematical program formulations of expert systems. The purpose of their research has been to, e.g., understand the complexity of the expert systems and also to examine the feasibility of mathematical programming as an alternative solution methodology for those expert systems. This paper surveys and extends some of that literature that integrates AIlES and MP, and elicits some of the current research issues of concern. Keywords: Expert systems; Mathematical programming; Artificial Intelligence 1. Introduction The purpose of this paper is to investigate the interface between Mathematical Programming (MP) and Expert Systems (ES) and Artificial In­ telligence (AI). There are at least four facets of that interface. First, AIlES can be used gener­ ally to facilitate the use of MP. For example, AIlES can be used to formulate and interpret MP. Second, MP can be used to ensure that AIlES systems generate good solutions. MP ap­ proaches generate optimal solutions that might be used to solve parts of problems faced by Correspondence to: D.E. O'Leary, School of Business, Univer­ sity of Southern California, Los Angeles, CA 90089-1421, USA. general AIlES problems. Third, in some cases AIlES can be formulated as MP. This may have benefits such as understanding about the com­ plexity of the AIlES system or getting solutions faster. Fourth, it may be that formulation of parts of MP algorithms as ES I AI problems could facil­ itate the computational quality of MP algorithms. 1.1. Coupling ES I AI and MP Winston (1984, p. 2) noted that "one central goal of Artificial Intelligence is to make comput­ ers more useful". In that sense, there is substan­ tial need for artificial intelligence in the use of mathematical programming. Often the formula­ tion and interpretation of mathematical programs is too time consuming or too costly to impact 0377-2217/93/$06.00 © 1993 Elsevier Science Publishers B.V. All rights reserved http:0377-2217/93/$06.00 2 R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES decision making. Further, the use of much MP software requires substantial expertise in opera­ tions research and the particular software. Thus, often times operations research just is not used (e.g., Fabozzi and Valente, 1976). Given this per­ spective there is substantial need for AI in opera­ tional research to make mathematical program­ ming 'useful'. This can be done by using AIlES to formu­ late, solve and analyze MP, in order to facilitate use of MP. Both domain-independent and do­ main dependent approaches are discussed in this paper. In addition, AIlES can be used in other facets of using MP models, such as model man­ agement. 1.2. Using MP in AlI ES models Not only can AIlES assist in the use of MP models, but the reverse can also be true. AIjES models typically employ heuristic approaches to solve problems. However, in some cases various subproblems might be effectively and efficiently solved as MP problems. This would guarantee optimal solutions to those portions for which optimal solutions could be developed. 1.3. Formulating ES I Al as MP There is another side to the relationship be­ tween AIlES and MP. MP has been established for a number of years. As a result, many facets of the complexity of particular problems have been established. For example, it has been established that the traveling salesman problem is a very complex problem (NP-complete). Thus, if it could be shown that an AIlES issue is equivalent to a traveling salesman problem then that would indi­ cate that it is an equally complex problem. Further, many special formulations of MP problems have been made to solve specific prob­ lems, for example, shortest path problems or min­ imum cutset problems. Thus, if there is a map­ ping that allows us to view AIjES as mathemati­ cal programs, then we can make use of those formulations to solve analogous problems. In addition, assuming that we can establish a mapping between MP and ES then those situa­ tions when it may be preferable to solve the problem from an MP perspective or an ES per­ spective could be explored. 1.4. Formulating MP solution algorithms with AlI :1 ES Probably the most neglected aspect of coupling AIlES into or with MP is integrating AIlES into making MP algorithms more effective. When re­ searchers first were unsuccessful in their ability to duplicate the results of Karmarkar's well-known algorithm for linear programs, it was rumored that part of the success of Karmarkar's algorithm was Karmarkar. It was rumored that Karmarkar 'assisted' the algorithm with his expertise at criti­ cal points in the solution process. Whether or not this was true is not the issue to be discussed here. However, it does raise the question: (How) can expertise be integrated into algorithms to assist the algorithms? If so, then AIlES can be used to improve existing algorithms. Since little has been developed on this question, it will not receive further discussion in this paper. 1.5. Plan of this paper This paper proceeds in the following manner. Section 2 investigates some of the issues involved with coupling of AIlES and MP. In addition, that section provides a brief review of some AI concepts. Section 3 discusses intelligent systems using MP that are domain independent. Some research issues are discussed as a summary for that sec­ tion. Section 4 examines the implications of build­ ing intelligence into domain-dependent applica­ tion system that either are built around mathe­ matical programming systems or mathematical programs that are built into AIlES. This section examines some of the implications of computeriz­ ing the knowledge of the operational research expert and those implications of using a mathe­ matical programming approach as opposed to a heuristic approach. It also discusses the unique aspects of development and implementation re­ quired for establishing the example systems with the embedded mathematical programs. Section 5 discusses MP representations of AIlES, and their use to better understand AIlES applications and the potential use of those MP formulations rather than AIlES approaches to solve those problems. Section 6 provides a sum­ mary of the paper. R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES 3 1. Coupling AI / ES and MP Although most of the research done to date has focused on expert systems and MP this paper does not limit itself to ES. Instead, a broad-based approach is used, focusing on a number of com­ ponents of AI. The purpose of this section is to briefly review some key concepts in AIlES and the nature of coupling AIlES and MP. 2.1. Background: AI and ES Newell and Simon (1972, p.6) have defined AI as " ... the part of computer science devoted to getting computers (or other devices) to perform tasks requiring intelligence". Two areas of AI appear to be of substantial use in coupling with MP, expert systems and case-based reasoning. ES are a branch of AI that have received substantial attention. There are a number of defi­ nitions of ES. The most narrow of those defini­ . tions focus on the need for the system to be a rule-based system ('If A, then B'), based on knowledge gathered from an expert, that func­ tions at the level an expert would function. Other defulitions allow alternative forms of knowledge representation (e.g., frames), other sources of knowledge acquisition (e.g., text books), and other levels of performance (e.g., 'satisfactory'). Case-based reasoning (CBR) involves the pro­ cess of making decisions based on specific exam­ ples of what has occurred in the past, rather than a set of rules. Previous cases or plans are stored for use in solving future problems. In addition, means of adapting previous decision making· problems are saved. By making previous solutions available to decision makers, the decision maker can anticipate variables of concern and alterna­ tive solutions. In addition, past mistakes can be avoided, while short-cuts can be made available. As noted by Hammond [1988, p.17], the ideas behind case-based planning rise out of the simple principle: If it worked, use it again, and a corollary; if it works, don't worry about it. The refinements of the basic idea come out of a second, equally simple principle: If it didn't work, remember not to do it again, to which is added: If it doesn't work, fix it. 2.2. Insight, not numbers MP, in general, and linear and integer pro­ gramming, in particular, have been some of the most successful operations research methods to solve a wide range of constrained optimization problems. Although much of the research and many of the headlines are aimed at generating faster algorithms, as noted by Geoffrion (1976), "the purpose of mathematical programming is insight, not numbers". In order to build such insight into the systems that use MP, there have been at least two basic trends. First, some researchers have investigated AIlES .approaches to have the system formulate, solve, debug and interpret output from the sys­ tem, while assuming relatively generic domains (domain independent). Second, other researchers have made more detailed assumptions about the domain in which the application is based (domain dependent). These assumptions generally allow the researcher to develop systems that formulate programs based on general inputs from the user and they allow the researcher to be more specific in the investigation of output and interpretation of the meaning of that output. 2.3. Shallow versus deeply coupled systems Kitzmiller and Kowalik (1987) distinguish be­ tween shallow and deeply coupled systems. A coupled system is any system linking both nu­ meric and symbolic processing. Such a distinction may be useful in the analysis of coupling of AIlES and MP. In the case of shallow systems, the MP is treated as a 'black box'. The AIlES portions of the system have little knowledge about what goes on in the use of MP. On the other hand, in deeply coupled systems, the AIlES por­ tion of the system has extensive knowledge about MP. For example, it may be able to formulate or interpret the system. As will be seen later in the paper, most of the systems developed so far coupling AIlES and MP have been deeply coupled. Since most of these systems are research systems designed to explore the relationship between AIjES and MP this is not unexpected. In those systems cost and development time typically are not a factor. How­ ever, this seems to ignore the potentially cost effective approach of shallow coupling. As a re­ r f 4 R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES suit, it is probably not unusual that the one shallow coupled system found in the litterature was a system developed for an actual business setting. Deeply coupled systems likely are more robust (Kitzmiller and Kowalik, 1987), with respect to the use of the system's results. This occurs be­ cause the AIjES portion is aware of the limita­ tions of the use of MP and what MP requires. Unfortunately, these systems are not often 'user­ proofed' with respect to those limitations of MP. If the system formulates, solves and interprets the solution, the user may not know if the problem is an appropriate use of the system. 2.4. Other implications of coupling AI j ES and MP There are at least two implications of coupling a mathematical program in an AljES system. First, coupling MP and AIjES indicates that the expertise of the operation research analyst can be captured in a computer program. This suggests that the design, formulation, interpretation and management of those MP can be formulated as a program. Initially, it was unclear as to the ability of developers to accomplish that task. As seen in Sections 3 and 4, there should be no question regarding that task. This also indicates that there probably is no more need to develop prototypes simply to test the ability to develop programs of this sort. Second, building MP components into an AIjES indicates that the developer expects an advantage with MP. Those advantages could in­ clude that an analytic approach rather than a heuristic approach yields a faster solution time or better solutions. Whether or not those advan­ tages can be realized is an empirical issue, and is discussed later in the paper. 2.5. Development methodologies for coupled AI j ES and MP A prototyping approach typically is promul­ gated for expert systems (e.g., Hayes-Roth et aI., 1983) However, researchers recently have sug­ gested the use of more traditional software engi­ neering processes (Bull et aI., 1987). The develop­ ment of coupled MP and AIjES systems has not pointed in any new directions or in anyone direction. Most of the systems appear to have been developed using a prototyping approach, although that is not clear. In addition, the possi­ ble existence of unique development methodolo­ gies deriving from such coupled hybrid systems also is not clear. 3. Domain-independent analysis of mathematical programs The most general approach to deriving insight from a mathematical program is to make no assumptions about the specific domain, in effect, draw only on the knowledge of mathematical programming and mathematical programming technical knowledge for system intelligence. Re­ search in this area can focus on how to accom­ plish particular tasks in this process, what tasks can or should be automated, and to what extent these efforts can remain domain-independent. Systems have been developed with intelligence to • choose which algorithm is required to solve the particular problem and solve the problem, • formulate problems as mathematical pro­ grams, and • interpret and debug problems. 3.1. Algorithm choice and solution Schittkowski (1985, p.2) developed a system that the author called " ... the first implementa­ tion towards an expert system for mathematical programming". Various options are available in the system for the formulation of various linear and nonlinear functions. The intelligence of the system comes from its ability to choose a suitable linear or nonlinear mathematical programming algorithm to solve the program. The system then writes a FORTRAN source program that will solve the problem. That program is then executed and the numerical results are stored in a database, available for further processing, retrieval or mod­ ification. 3.2. Problem formulation AI jES can be used to assist in the formulation of MP. The research that has been done to-date ,'--­ R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES 5 has focused on general aspects of the formulation process. For example, there must be a process to generate variables and constraints in an intelli­ gent manner in order to facilitate problem forma­ tion. As will be seen latter, if additional assump­ tions are made about the domain, then greater model specificity can be obtained in the formula­ tion process, since the domain dictates certain problem features. There have been at least two approaches toward the development of intelligent systems designed to assist users in the general formulation of MP. LPFORM In a sequence of papers, Murphy and Stohr (1986), Stohr (1988), Murphy, Stohr and Ma (1988), Murphy, Stohr and Asthana (1989), and Ma, Murphy and Stohr (1989a,b) describe an intelligent system, LPFORM, designed to formu­ late linear programming problems. As will be seen latter in this paper, LPFORM also facili­ tates domain-dependent problem formulation. As noted in Stohr (1988) there are three major com­ ponents to that system. First, LPFORM supports three generic classes of inputs: row orientation ('the total tons of prod­ uct produced in each factory has to be less than certain limits'), activity orientation ('we have buy­ ing and selling activities in each of our ware­ houses') and transportation structures. These classes of inputs are used to define different objects of interest. Second, LPFORM allows the definition of problems using icons to represent objects being modeled, such as warehouses, transportation flows, etc. This object-oriented approach to rep­ resenting knowledge allows hierarchical arrange­ ment of objects so that lower level objects inherit properties of higher level objects. Once an object is defined and related to other objects, inheri­ tance limits the number of properties that must be defined at the level of individual objects. This hierarchal structure also is used to structure the graphics used in LPFORM. An algebraic repre­ sentation is generated as an artifact of the formu­ lation of the problem in terms of its objects. Third, LPFORM also provides for a relational database for data required in the problem. Fur­ ther, LPFORM allows the storage and recall of model components that have been stored previ­ ously. Users can recall all models using a given resource or all with a common activity. There is more discussion on LPFORM in Section 4. NETSYS McBride and O'Leary (1993) discuss another system aimed at the generic formulation of gener­ alized network models, a class of mathematical programming problems. Many problems can be formulated as generalized networks: transporta­ tion, shortest path, assignment and transshipment models. Generalized network models can represent machine efficiencies, sewage treatment, and many other processes. When network multipliers are interpreted as transforming one good to another, then generalized networks can be used to model manufacturing, blending, production, and a broad range of other processes. Since the scope of the system is limited to network problems, this allows the system to per­ form formulation, data editing, etc., based on the assumption of a generalized network structure. The structure assumption also allows the system to perform a number of infeasibility checks, and present information on those infeasibilities, so that the user can address those problems. NETSYS also uses an object-oriented ap­ proach that is facilitated by the development en­ vironment, Microsoft's Windows. The system uses network models, built by creating node sets, and taking cross products and 1-1 mappings with subsets of the node sets to create the arc sets. This approach requires minimal user effort to build substantial models. The system does a minor amount of interpre­ tation of the solution. The system also provides a sensitivity analysis of the problem. 3.3. Model interpretation and debugging In one of the first systems to integrate AIlES and MP, Greenberg (1983) described a system called ANALYZE. That system was designed for the linear programming expert, to assist in the investigation of solutions of linear programs. The system has the ability to investigate issues such as feasibility, redundancy and sensitivity analysis at a general level. Greenberg (1983, 1985) describes a later ver­ sion of ANALYZE as forming (Greenberg, 1983, 6 RD. McBride, D.E. O'Leary / Integrating MP and AI / ES p.333) " ... one fundamental component of an intelligent mathematical programming system". In that revised version, an English language dis­ course version of the earlier system is developed and extended. Greenberg's (1983) system is de­ signed for use after the system has been formu­ lated, however, it can be used during model im­ plementation. As a result, it might be used in conjunction with those systems discussed above for formulation. Such a system is dependent on knowing the structure of the constraints to ensure that it can debug and interpret the system. For example, it needs to know the type of equations that it can expect. Given those expectations and a user sup­ plied set of tables that correspond to those equa­ tions and variables, the system uses that structure to analyze and 'interpret' the resulting tableau. 3.4. Implementation characteristics The implementation of these systems has cer­ tain generic concerns including: the use of graph­ ics and knowledge representation. Graphic interfaces One of the most comprehensive discussions of the use of graphics in any of the above systems is Ma, Murphy and Stohr (1989a). The primary fo­ cus of that graphic interface is to provide the user with a different representation that allows them to depict their problems in a graphic, rather than mathematical form. Important empirical issues are 'does it make a difference' and 'what are the best approaches'. Ma (1988) has initiated addi­ tional research in this area. Knowledge representation Consistent with the Kitzmiller and Kowalik (1987), the dominant form of knowledge repre­ sentation appears to be objects. Generally the user chooses or generates an object that meets their needs and the system generates equations that correspond to that object. In addition to their correspondence to graphic structures, it seems that the hierarchical nature of objects is a very convenient approach to store knowledge for such systems. Further, recently developed pro­ gramming vehicles, such as WINDOWS, are ob­ ject-oriented, furthering the ability to develop such systems. 3.5. Model management An important issue is the reusability of previ­ ous model parts or templates. Generally, this is referred to as model management. An approach that employs AI for model man­ agement would likely use a case-based approach to capture and retain knowledge about previous models that have been generated. That knowl­ edge could be used to assist in generating new models or modifying existing models. In a domain-independent environment, there are a number of characteristics that can be used to structure the cases. These include: who devel­ oped the application, when it was developed, who was the client of the application, size of the model, and many other characteristics. In addi­ tion, hierarchical relationships within a given characteristic can also be pursued. The use of case-based reasoning to manage models has received limited attention. As a re­ sult, additional research is needed to focus on what are the appropriate characteristics used to capture previous models, how well the case-based approach works in the choice of previous MP models, and a variety of other systems issues. This model management issue has behavioral and design aspects that are facilitated by investi­ gation of a case-based approach. From a behav­ ioral perspective, to what extent would users and designers employ parts of previous systems? What do expert model designers do? From a design perspective, what is the best way to store, recall and use previous model templates? In addition, what characteristics distinguish those templates that receive frequent re-use - are they domain­ dependent? Further, how do we store parts of models for further use? Whenever there are more than a few core models or core users such issues become very important. 3.6. Selected additional research issues There are additional research issues in both the behavioral analysis of the integration of A1 /ES and MP and in the design of these sys­ tems. This section summarizes some of those issues. Although the goal of these systems is to help people solve problems, little, if any empirical work has been done to examine the extent to " 7 R.D. McBride, DE O'Leary / Integrating MP and AI/ ES which the models developed aid in problem solu­ tion. Related work on the impact of using domain dependent systems is discussed in the next sec­ tion. Virtually all of the systems discussed in this section at some point began to draw on domain knowledge. Focusing only on MP structures is a focus primarily on syntax (e.g., Greenberg, 1987). Generally, the introduction of semantics occurs with the investigation of a specific domain. Un­ fortunately, there is little research that studies 'how far' we can go in the development of these systems without assuming domain knowledge. Murphy, Stohr and Ma (1988) is an exception. In that paper, there are some formal results that indicate what can be accomplished with syntacti­ cal knowledge and what requires semantic knowl­ edge. Although the development of systems pro­ vides an empirical frontier of the ability to model between semantic and syntactical, such theoreti­ cal results provide important guidelines to future system development efforts. 4. Domain-specific analysis of mathematical pro­ grams There have been a number of domain-specific systems that have integrated MP and AIlES. In most situations, it appears that the focus is the MP and the AIlES has been designed to facili­ tate the development or interpretation or use of the system. In at least one case discussed below, the AIlES was the focus, but MP was used to provide a better solution to one component of the AIIES system. Domain knowledge can facilitate the integra­ tion of AIlES in MP. The domain provides the opportunity for increased specificity in the analy­ sis of the input or output of the program. For example, if it is known what the output variables represent, then it is possible to develop rules to analyze the output, including the solution and the dual variables, just as a human analyst might do. 4.1. Applications There have been a number of domain-specific applications that employ at least a linear pro­ gramming module. These applications range from production models to finance models to strategy models to personnel models. It appears that the most research in this area has been done in production and related models. Some of the ap­ plications discussed in this section are domain­ based applications of some of the literature' dis­ cussed in the previous section on domain-inde­ pendent models. Most of the models in this section appear to be deeply coupled models. That is, most of these models are intelligent formulators and inter­ preters of MP for domain-specific problems. Production management Binbasioglu and Jarke (1986, p.215) made heavy use of domain specific knowledge to gener­ ate a prototype system for the " ... conceptual development and symbolic (as contrasted to nu­ meric) formulation of the model" for production management problems. The model combines the use of syntactic knowledge about linear program­ ming and semantic knowledge about the produc­ tion management. The system is a prototype that has not been deployed for actual use. The focus of the prototype was to bypass the potentially lengthy and ambiguous development process typi­ cally involved in operational research projects. As a result, the system was designed so that the manager could formulate a model directly. Knowledge in the system is represented as frames. Accordingly, the system allows for unique characterization of individual products and re­ sources, and hierarchies in the relationships of machines used in the production of different products. The system has a linear programming knowl­ edge base and an application knowledge base. The linear programming knowledge uses two dif­ ferent knowledge bases. One contains knowledge about naming and selecting variables, problem types and other issues. Another contains knowl­ edge about obtaining and interpreting parameter values. The system's knowledge about the domain covers a large range of problems, including the allocation of resources to products, relative com­ position and contribution of products, etc. Widget production management In the discussion of LPFORM, a number of different models are discussed to exemplify the concepts and gain additional meaning through semantic knowledge. Stohr (1988) discusses a pro­ 4; F*' 8 RD. McBride, D.E. O'Leary / Integrating MP and Al / ES duction management problem that produces wid­ gets and then ships them to warehouses. Murphy et aI. (1988) discuss a problem of shipping grain, Ma et aI. (1989a) investigate capital capacity, and Ma et aI. (1989b) investigate a problem of trans­ porting energy. In order to formulate the problem, the user needs to specify the basic structure of the prob­ lem, using the graphic interface. In the widget example, the user specifies a relationship be­ tween Factories and Warehouses and between Raw Materials and Widgets. At the basis of these applications is a 'definition of production' activity provided to the system. This definition includes a declaration of inputs and outputs, upper bounds lower bounds, coefficient definitions, activity name, and other information. In the case of wid­ get production that means defining raw materials as inputs, widgets as outputs, activity name as 'product mix'. Then the user needs to specify the "'fu%~~\'\~\.\,.~,weviously established sets Facto­ ries, Warehouses, Widgets and Raw lVlaterl'fu."s. Production scheduling via transportation model Using the version of the transportation model developed by Bowman (1956) for production scheduling, O'Leary (1986) designed an expert system to analyze the output from that mathemat­ ical program. That analysis exploited three as­ pects of the formulation. First, the transportation problem provides knowledge that the right-hand side. quantities are sources and requirements, while the solutions to the problem define the amount of a shipment from a source to a destina­ tion. Second, the context of production schedul­ ing further defines those constants as forecasted sales and necessary production. Third, the further detail of production scheduling establishes the sources of production and the costs as inventory, regular time wages and overtime wages. All of this domain information provides additional in­ sights over and above the notion that the problem is a generic linear program. Thus, this informa­ tion can be used to interpret the MP solutions, using a rule-based ES. <;.~" t\'Ib: Qlanning and interface to strateirc plan­ ning Lee and Lee (1987) develop a system that analyzes the results from a short-term product mix model with a rule-based system to determine if the short-term results and long-term objectives are congruent. The output of the analysis by the rules can include a set of changes that should be made to the linear programming model to have consistency in the short- and long-term goals. Often linear programming is criticized for its focus only on the long run or only on a given objective. This type of application can be use to mitigate many of those criticisms, by introducing additional analysis into the results to answer some of those criticisms. Intelligent aggregate planning Lee and Kang (1988) developed a rule-based system to assist in the consideration of additional qualitative factors in aggregate production plan­ ning problems (e.g., Holt, Modigliani, Muth and Simon, 1960). In particular, issues such as em­ ployee morale and customer goodwill are not directly included in such models. Thus, a rule­ based system was developed to facilitate consid­ erauon ot 'Th~'e\"h~~'\."",\t.~w.. the context of the MP. The rule-based system evaluates the minimum cost solution in terms of its impact on employee morale and customer goodwill. If any of the qual­ itative goals related to these issues is unsatisfac­ tory, then trade-offs can be made via new or different constraints for the MP. Additional extensions and discussions of re­ lated models are provided by Lee (1991). For example, similar approaches are discussed for scheduling crude oil delivery. In addition, an ap­ proach is discussed for formulating such MP (Lee et aI., 1989). Aggregate production planning Donnelly et al. (1991) develop a system, AG­ PLAN-LP, that combines a mathematical pro­ gramming model with heuristics to generate a production plan. Holt, Modigliani, Muth and Si­ mon (1960) formulated the production planning problem as a quadratic program. Although this means that an optimal solution can be developed for the formulated problem, the disadvantages of U~\l\~ such an approach include that management may not be comfortable with the m'Afuematics and the model requ\1.'~"1. ~\. '<\.~~tOximation, which may not accurately reflect the actual pro­ cess. -------------------------------------------.....-.,. 9 RD. McBride, D.E. O'Leary / Integrating MP and Al / ES In a test of the quality of using an ES /MP approach, Donnelly et aL (1991) compared an expert system based entirely on heuristics to AG­ PLAN-LP. The traditional expert system has roughly 500 rules distributed in four modules (data acquisition, data modification, initial pro­ duction plan and final production plan). AG­ PLAN-LP was created by removing the 25 rules in the initial production plan module, and substi­ tuting them with 40 rules and a link to a linear programming model. The authors do a detailed analysis of the qual­ ity of the two systems. Apparently, not only was AGPLAN-LP able to generate more inexpensive solutions than the expert system, but it also was able to generate solutions that were more accept­ able to the planner. They also found that AG­ PLAN-LP had more acceptable solutions than those generated solely by a linear program. Cash management In a sequence of papers, McBride, O'Leary and Widmeyer (1989a,b, 1990), discuss an intelli­ gent system for using linear programming to solve cash management problems. Like the Binbasioglu and Jarke (1986) system, CASHMANAGER is designed for a domain user not the operation research expert. Knowledge in the system is stored in frames and rules. With CASHMANAGER, the user generates a problem by choosing from the set of available financial instruments represented as templates, with corresponding sets of equations. The user must only specify time frame over which the system is operative and the costs and returns associated with the instrument. The system was developed to formulate and solve the problem of choosing the optimal portfolio. In addition, the system then can assist the user in understanding the results, e.g., by analyzing the dual variables. CASHMANAGER does more than just a con­ ceptual formulation of the problem: it also inves­ tigates the formulation for feasibility. In addition, since the system is aimed at relatively naive users, the user is integrated into the process of making sure that the system is feasible. Infeasibilities are displayed to the user in a manner that relates to the instruments and the corresponding dollar flows. The system assumes an underlying generalized network structure to the cash management prob­ lem. That approach allows the generation of inte­ ger solutions in a timely manner. Debt advisory system Dempster and Ireland (1988, 1989) have devel­ oped a system called MIDAS. The system is an intelligent debt management decision support system, which supports planning for a Canadian utility. As noted by Dempster and Ireland (1988, pAlS), the conceptual design of the system " ... provides for selected models appropriate to the decision process; configures and solves the models on user request; explains, interprets and refines their results interactively and assists the user in evaluating alternative borrowing plans". In terms of the specific mathematical program­ ming module this system is relatively unique, since it focuses on a stochastic programming model. Once output is received from the model it is refined by the system based on rules developed jointly with an experience corporate treasurer and professional underwriters. The knowledge in MIDAS falls into four main categories: corporate knowledge (goals, planning constraints, evaluation criteria); financial! eco­ nomic knowledge (debt sources, types of debt available, future rate expectations); modeling knowledge (variables and their explanations, mathematical functions); and system and input/ output objects (to handle I/O functions). As with a number of other systems, the frames allow for a parsimonious way to store knowledge, because of the hierarchical relationships that can be estab­ lished. Manpower allocation Berger and Huttinger (1986) describe an appli­ cation that is a combination of linear program­ ming and expert systems to solve manpower allo­ cation issues. The ES is used to formulate the MP. That system has three distinct modules. The first module ranks tasks in terms of cost-benefit ratios, where cost is measured in person-years and benefit is measured as the fraction of an organization's objective that is accomplished by the task. The expert system uses rules and heuris­ tics to convert the input allocations to a set of constraints. Then the linear programming module allocates manpower, subject to the constraint set generated by the ES. 10 RD. McBride, D.E. O'Leary / Integrating MP and AI / ES Developing financial statements Back (1992) developed an expert system that integrated a rule-based approach and a MP ap­ proach to assist in the development of financial statements. In Finland the development of finan­ cial statements is a complex process with many interacting rules and choices to be made. It gen­ erally is so complex that even experts are likely to make the wrong decision. Thus, potentially this system can provide the user with the appropriate decision support to help generate the financial statements. Back (1992) is one of the few researchers to do behavioral experiments to determine whether the use of the system that she developed actually made a difference. Her analysis found that the use of the system led to correct answers in 94 out of 96 questions whereas traditional support, using a text book to determine if answers were correct, led to only 53 correct answers out of 120 possible problems. The system makes a difference. Auditing judgement Kellyet al. (1987), Willingham and Ribar (1988) and Ribar (1988) describe one of the largest financial-based expert systems developed to date. The system was designed to assist public account­ ing auditors in their analysis of the collectability of loans. As developed by Peat, Marwick, Main and Co., 'Loan Probe' has over 3000 rules. As noted in Willingham and Ribar (1988), it also has an embedded integer programming module. The integer programming module was devel­ oped in an iterative manner. As noted in Willing­ ham and Ribar (1988, p. 183), "Initially, we attempted to solve this problem by investigating the methods used by practitioners. This attempt resulted in a large, that is, approxi­ mately 1000 rule subsystem which generally yielded only a good first approximation. This approach was eventually abandoned and the problem reformulated as an integer programming problem". The user does not know that the system contains an integer programming module. Instead, the re­ sults from the programming module are directly integrated into the system. This system is different from the others dis­ cussed in this section since the focus is not on using an ES to either formulate or interpret the results of the MP. Instead, MP is used to solve a subproblem in and ES, which then feeds into the rest of the system. This system's use of MP is probably best described as shallow, yet very cost effective. It is likely that more applications of this type will be generated if developers of ES do not limit themselves to a particular type of problem solution approach, whether that is rules or linear programming. 4.2. Advantages and disadvantages There are some potential advantages and dis­ advantages of using a coupled AIlES and MP approach in application domains. Replacing the operational research analyst Coupling a mathematical programming mod­ ule in an AIlES replaces some of the role that the operational research analyst might play. In­ stead of the analyst gathering information from the user, formulating the problem, solving the problem and interpreting the solution, systems have been developed to perform those tasks. Thus, the time and the cost required to develop a model, within the domain of the system, and a solution likely will be substantially smaller. However, there also may be some drawbacks. Because it is a computer system, it is likely to be locked into a limited number of views of the world. Typically, such systems are rigid and sel­ dom are able to provide unique or creative solu­ tions to unusual problems. The environment may change causing a change in the optimal decision process, yet current generation AI and expert systems rarely are designed to change in response to those environmental changes. The systems dis­ cussed apparently do not have any such sensing mechanisms to note when there is a change in the environment. Thus, an important research issue is how to develop systems that know when they are likely to not be useful and how to develop systems that change in response to environmental changes. Optimality The use of optimization models, with rule­ based approaches, has certain advantages and disadvantages. In the case of linear programs, algorithms typically rapidly find 'optimal solu­ 1..___ 11 R.D. McBride, D.E. 0 'Leary / Integrating MP and Al / ES tions'. However, in the case of integer or nonlin­ ear programs, depending on the processing capa­ bilities, optimal solutions may take substantial amounts of time and intermediate solutions may not be feasible. Further, although MP provides an optimal so­ lution, it may suffer from being a single dimen­ sional optimality. It is only optimal for the given objective function, and in the case of integer solutions, heuristics aimed to move it slightly away from that solution may provide substantially worse solutions. Further, the solution derived by an optimiza­ tion model is 'optimal' for the world for which it has been constructed. This is a limited view of the world, where precision at the 12th decimal place is important. Thus, systems like those of Lee and Kang (1988) that assist in the analysis of qualita­ tive factors might be extended to account for other 'realism factors.' Additionally, it could be important to study the use of multiple criterion decision making (MCDM) MP and AIlES. Feasibility The use of mathematical programs introduces the problem of feasibility. For example, one po­ tential problem with the Donelly et al. (1991) approach is that the system just stops whenever there is an infeasible solution to the linear pro­ gram. As noted by other researchers (e.g., Mur­ phy and Stohr, 1986), this is not a desirable approach for supporting decision making. Thus, research needs to be done on how users react to infeasibilities and different system responses, how relatively naive users can be asked to fix such infeasibilities and what intelligence the system needs to attack those infeasibilities. Explanation As noted in Swartout (1981, p.815), "to be acceptable, expert programs must be able to ex­ plain what they do and justify their actions in terms understandable to the users". With MP there generally is no 'explanation' as to 'why' the model chose certain results. Even when an expla­ nation can be generated it is limited to expression in terms of the MP structure, e.g., constraints. Although Kosy and Wise (1984) provide a means of interpreting some fundamental accounting equations, the use of MP leads to substantially more difficult explanation situations. ES have a tradition of 'explanation' with solu­ tion. If MP are to be coupled with AIlES then in order to maintain that tradition, research needs to be done in the area of explanation of why·one MP formulation was arrived at and why one solu­ tion is preferred over another. Some research has been done by Greenberg (1983, 1985, 1987); how­ ever, additional research is necessary. 4.3. Additional issues in systems design and devel­ opment: Knowledge acquisition, system develop­ ment, testing Coupling of AIlES and MP leads us to ques­ tion whether or not there are any unique require­ ments or approaches for the design and develop­ ment of such coupled systems. Knowledge acquisition There has been little investigation into the necessity of alternative forms of knowledge acqui­ sition for systems that are either shallowly or deeply coupled AIlES and MP systems. How­ ever, there has been some initial research into knowledge acquisition from experts for generic analytical representation (Fischhoff, 1989). Un­ fortunately, that study did not deal explicitly with the case of MP. As a result, knowledge acquisi­ tion in coupled systems of the type discussed in this paper remains a research area. Development Piaget (1973) noted that "all mathematical ideas begin by a qualitative construction before acquiring a metrical character". Piaget also noted that by moving too rapidly from the qualitative to the quantitative can impact the ability to under­ stand the mathematics underlying a given pro­ cess. In terms of systems development this can mean that unless there is an initial explicit effort to include a mathematical program in the overall system, that the mathematical programming na­ ture of subsystems is likely to be iteratively dis­ covered. As noted above, Loan Probe was devel­ oped in concert with those notions. Two rule­ based versions were developed before the mathe­ matical programming-based version was devel­ oped. Testing There are at least two basic testing questions that need to be addressed. First, does the ap­ 12 R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES proach with a coupled AIlES and MP system do as well as or better than only an AIlES approach or only an MP approach. This is the critical problem of establishing a bench mark discussed by, e.g., Hayes-Roth (1989) and others. Second, what unique approaches must be used in the verification and validation of coupled AIlES and MP systems (Cohen and Howe, 1989). In the first case where there are MP and non-MP versions of the system, as in the case of the Loan Probe or the aggregate production plan­ ning problem, previous versions offer a unique benchmarks to verify and validate the output from the coupled system. For example, solutions provided by non-MP versions can be used to test MP versions, where ideally, later versions with the MP are at least as good, based on a single criteria, as the heuristic-based system. In the second case, there are substantial bod­ ies of literature in the areas of verification and validation of AIlES (e.g., O'Leary, 1987). Those efforts usually are aimed at the overall perfor­ mance of the system or take advantage of unique knowledge base structures. However, structural analysis of knowledge bases rarely considers more than a single form of knowledge representation at a time. Although there have been investigations into verification proceedures for different representations (e.g, rules), there has been little research into hybrid types of systems such as the coupled AIlES and MP systems discussed in this paper. Systems that couple MP and AIlES add additional complexity to the testing process, since they include multiple forms of knowledge. This coupled form of knowl­ edge appears to have received only limited re­ search to this point (e.g., O'Leary, 1988), and is an area where research is ongoing. 5. Using MP instead of an AIlES formulation Probably the most recent use of MP and AIlES is to use MP as an alternative formulation to the AIlES formulation typically either for solution purposes or to better understand charac­ teristics of the AIlES formulation (e.g., Jersolow, 1988). In these cases the MP is formed either based on a network representation of the knowl­ edge base or as a set of logical propositions. 5.1. Network representations Many forms of knowledge representation are either formulated as a networks or can be repre­ sented as networks. For example, the knowledge representation format, semantic networks, are network or tree representations of knowledge (e.g., Rich, 1983); frames are linked in either a network or tree format (e.g., Winston, 1984); in­ fluence diagrams (e.g., Howard, 1989) are Bayesian network representations of knowledge; and rules can be represented as a network (e.g., O'Leary, 1990). For example the rule 'if a, then b' can be viewed as a variable Xa,b' Since optimization problems in networks can be represented as MP, this indicates that opti­ mization issues in the areas of knowledge bases can be investigated using MP formulations. This allows the introduction into AIlES, of a wide range of problems that have already been solved in MP. For example, Glover and Greenberg (1988) and O'Leary (1990) develop MP formulations for verification of rule-based knowledge bases, e.g., detecting circular reasoning. MP formulations also can be used to study characteristics of problems in knowledge bases. For example, O'Leary (1990) formulates the problem of ordering rules in a knowledge base as a traveling salesman problem. This suggests that level of complexity of a problem in knowledge basis can be found by finding equivalent MP problems. 5.2. Logic operators Dhar and Ranganathan (1990) view knowledge as a set of logical propositions. Since Dantzig (1963) showed how logical propositions can be modeled in an integer programming approach, the extension from knowledge bases to MP is clear. For example, the clause 'Xl or not orx 2 X3' can be written as the following inequality: Xl + (1 -x 2 ) +x 3 ~ 1, where the values of true and false are denoted as 1 and O. This approach is discussed in more detail in Hooker (1988). Dhar and Ranganathan (1990) provide an empirical comparison between the expert system approach and the integer program­ ming approach. ~-------------------~--~~~--------.I'L.__-­ 13 R.D. McBride, D.E. O'Leary / Integrating MP and AI / ES Dhar and Ranganathan (1990) found that us­ ing an integer programming approach yielded unpredictable decision times, varying from a few minutes to a few days. In contrast, the expert system's time was less volatile. Consistently the solution time required between one and two hours on a SUN-3. In addition, in contrast to the inte­ ger programming approach, if the expert system could not find a solution, it generated a partial solution, if there was one. The integer program­ ming approach consistently was unable to find feasible solutions after many hours of running time. This has two difficulties: length of time and the impact of not have any feasible solution after all that time. This can prove additionally inconve­ nient when alternative plans or approaches need to be established. The integer programming approach typically generated solutions that were judged at least partially inappropriate by a human expert for three primary reasons: single objective limita­ tions, compiled knowledge limitations and global optimization limitations. The objective function in a linear program has a single goal. However, as researchers in multiple criteria decision making argue, human experts try to respond to multiple goals. In addition, single objectives, by their very nature of excluding other objectives, sometimes lead to unsatisfactory solu­ tions. Some steps can be taken to account for multiple objectives, such as objectives as addi­ tional constraints. Compiled knowledge refers to the sensitivity of MP to cost coefficients. As noted by Dhar and Ranganathan (1990, p.332), "the basic problem with the cost coefficients is that they incorporate a lot of compiled knowledge about preferences, flexibility and trading criteria which makes the behavior of the system somewhat unpredictable". Further, in some cases, knowledge may be diffi­ cult to express in the structure of constraints. For examples, anomalies in processes that are used in some situations and not in others can be difficult to model. Global optimization limitations refers to the basic tendency of MP to move to the lower bounds or upper bounds on the variables and the general inability to explain why a particular solution was chosen. Thus, in a comparison of MP and AIjES it appears in somecases the local optimality ap­ proach of ES is better received by users of the system and by those for on whom implementation of the system depends. Although MP provides a global optimum, that optimum often is for a different representation of the problem than the one for which an ESIAI approach could be for­ mulated. 6. Summary This paper has surveyed some of the coupled AIlES and MP systems. The general capabilities of these systems range from formulating mathe­ matical programming problems from limited raw data, to interpreting output from the systems, to extrapolating changes in the mathematical pro­ grams based on the output to deciding how to solve these systems. This approach to decision making has some apparent advantages. To a certain extent, these systems are aimed at replacing operational re­ search analysts, in order to improve the cost and time required to develop a solution to a decision problem that includes a constrained optimization problem. Further, mathematical programs exploit the decision making technology to the advantage of the user of such systems. However, this approach is not without limita­ tion. Such systems may lock decision makers into decision models that are inappropriate. Similarly, systems that include a mathematical program­ ming module are likely to furnish few explana­ tions for why a given solution was pursued. The development of systems that include such a module may be part of a gradual movement from the qualitative to the quantitative that oc­ curs with understanding a process. However, by integrating multiple forms of knowledge process­ ing (numeric and symbolic) into a given system testing of the resulting system may be compli~ cated further. Finally, implementation of such systems is facilitated by software that allows the user to access such models outside the basic software. Acknowledgement The authors would like to acknowledge the comments of Bruce Murtagh and the referees on an earlier version of this paper. 14 RD. McBride, DE O'Leary I Integrating MP and AI I ES References Asthana, A. (1989), "LPGRAPH: An iconic language for formulating linear programs", Unpublished Ph.D. Disser­ tation, Stern School of Business, New York University. Back, B. (1992), 'Assisting inexperienced accountants in de­ veloping financial statements', International Journal of In­ telligent Systems in Accounting, Finance, and Management 1/3, 155-162. Berger, M., and Huttinger, J. (1986), "The Expert System ­ Linear Programming approach (ESLP)", paper presented at the ORSA/TIMS meeting, October, 1986. Binbasioglu, M., and Jarka, M. (1986), "Domain specific DSS tools for knowledge-based model building", Decision Sup­ port Systems 2/3, 213-223. Bowman, E. (1956), "Production scheduling by the trans­ portation method of linear programming", Operations Re­ search 4, 100-103. Bull, M., Duda, R., Port, D., and Reiter, J. (1987), "Applying software engineering principles to knowledge-base devel­ opment", in: Proceedings of the First Annual Conference on Expert Systems in Business, Learned Information, NJ, 27­ 38. Cohen, P., and Howe, A. (1989), "Toward AI research methodology: Three case studies in evaluation", IEEE Transactions on Systems, Man, and Cybernetics 19/3, 634­ 646. Dantzig, G. (1963), Linear Programming and Extensions, Princeton University Press, Princeton, NJ. Dempster, M., and Ireland, A. (1988) "A financial expert Decision Support System", in: G. Mitra (ed.), Mathemati­ cal Models for Decision Support, NATO ASI Series, Vol. F8, Springer-Verlag, Berlin. Dempster, M., and Ireland, A. (1989), "Object-oriented model integration in MIDAS", Proceedings of the Twenty-Second Annual International Conference on System Sciences, Vol­ ume III, 612-619. Dhar, V., and Ranganathan, N. (1990), "Integer programming vs. Expert Systems: An experimental comparison", Com­ munications of the ACM 33/3,323-336. Donnelly, R., Saniga, E., Chester, D., and Pohlen, M. (1991), "Expert Systems in aggregate production planning", Un­ published Paper. Fabozzi, F., and Valente, J. (1976) "Mathematical Program­ ming in American companies: A sample survey", Inter­ faces 7, 93-98. Fischhoff, B. (1989), "Eliciting knowledge for analytical repre­ sentation", IEEE Transactions on Systems, Man, and Cy­ bernetics 19/3, 448-461. Geoffrion, A. (1976), "The purpose of mathematical program­ ming is insight, not numbers", Interfaces 7, 81-92. Glover, F., and Greenberg, H. (1988), "Logical testing for rule-based management", Annals of Operations Research 12, 199-216. Greenberg, H. (1983), "A functional description of ANA­ L YZE: A computer assisted analysis system for linear programming models", ACM Transactions on Mathemati­ cal Software, 9, 18-56. Greenberg, H. (1985), "The fifth generation of mathematical programming systems; Towards an intelligent MPS", Un­ published Paper, presented at the TIMS College of Prac­ tice of Management Science, 1985. Greenberg, H. (1987), "A natural language discourse model to explain linear programming models and solutions", Decision Support Systems 3, 333-342. Hammond, K., "Case-based planning: Viewing planning as a memory task", in: J. Kolodner, Case-Based Reasoning, Proceedings of a Workshop, Morgan Kaufman, Palo Alto, CA. Hayes-Roth, F. (1989), "Towards benchmarks for knowledge systems and their implications for data engineering", IEEE Transactions on Knowledge and Data Engineering 111, 101-10. Hayes-Roth, F., Waterman, D., and Lenat, D. (1983), Build­ ing Expert Systems, Addison-Wesley, Reading, MA. Holt, C, Modigliani, F., Muth, J., and Simon, H. (1960), Planning Production Inventories and Work Force, Prentice­ Hall, Englewood Cliffs, NJ. Hooker, J. (1988), "A quantitative approach to logical infer­ ence", Decision Support Systems 4/1,45-96. Howard, R. (1989), "Knowledge maps", Management Science, 35/8,903-921. Jeroslow, R. (1988), "Alternative formulations of mixed inte­ ger programs", Annals of Operations Research 12, 241-276. Kelly, K., Ribar, G., and Willingham, J. (1987), "Interim report on the development of an Expert System for the auditor's loan loss evaluation", in: Proceedings of the Touche Ross I University of Kansas Audit Symposium 1987, 167-188. Kitzmiller, C, and Kowalik, J. (1987), "Coupling symbolic and numeric computing in knowledge-based systems", AI Mag­ azine Summer, 87-90. Kosy, D., and Wise, B. (1984), "Self-explanatory financial planning models", in: Proceedings of the National Confer­ ence on Artificial Intelligence, Austin, Texas, 1984, 176-181. Lee, J., (1991), "Integration of Artificial Intelligence with optimization", Unpublished paper, Department of Man­ agement Science, Korea Advanced Institute of Science and Technology, Seoul, Korea. Lee, J., and Kang, B. (1988), "Intelligent production planning analysis using the post model analysis approach", in: E. Turban and P. Watkins, Applied Expert Systems, North­ Holland, Amsterdam, 87-106. Lee, J., and Lee, H. (1987), "Interaction of strategic planning and short-term planning; An intelligent DSS by the post­ model analysis approach", Decision Support Systems 3, 141-154. Lee, J., Chu, S., Shim, S., and Kim, M. (1989), "A knowledge-based formulation of linear programming mod­ els using UNlK-OPT", 2nd International Workshop on Artificial Intelligence in Economics and Management, North Holland. Ma, P. (1988), "An intelligent approach towards formulating linear programs", Unpublished Ph. D. Dissertation, New York University. Ma, P., Murphy, F., and Stohr, E. (1989a), "A graphics interface for linear programming", Unpublished Paper, Center for Research on Information Systems, New York University, February, 1989. Ma, P., Murphy, F., and Stohr, E. (1989b), "Representing • RD. McBride, D.E. O'Leary / Integrating MP and AI/ ES 15 knowledge about linear programming formulations", An­ fUlls of Operations Research 21, 149-172. McBride, R. (1988), "NETSYS - A generalized network modeling system", Working Paper, University of Southern California, School of Business, August, 1988. McBride, R., and O'Leary, D. (1993), "A modeling system for fmancial applications", Advances in Mathematical Pro­ gramming and Financial Planning 3, 119-136. McBride, R., O'Leary, D., and Widmeyer, G. (1989a) "A system for supporting cash management decisions", in: Proceedings DSS-89, Sponsored by The Institute of Man­ agement Sciences, San Diego, CA, June, 1989. McBride, R., O'Leary, D., and Widmeyer, G. (1989b) "A knowledge-based system for cash management with man­ agement science expertise", Annals of Operations Research 301-316. McBride, R., O'Leary, D., and Widmeyer, G. (1990), "CASH MANAGER: A knowledge-based DSS for cash manage­ ment", Advances in Mathematical Programming and Fi­ nancial Planning 2,89-106. Murphy, F., and Stohr, E. (1986), "An intelligent system for formulating linear programs", Decision Support Systems 2/1,39-47. Murphy, F., Stohr, E., and Asthana, A. (1989), "Reprcsenta­ tion schemes for mathematical programming models", Un­ published Paper, Center for Research on Information Systems, New York University, September, 1989. Murphy" F., Stohr, E., and Ma, P. (1988), "Composition rules for building linear programming models from component models", Unpublished Paper, Center for Research on Information Systems, New York University, July, 1988. Newell, A., and Simon, H. (1972) Human Problem Solving, Prentice-Hall, Englewood Cliffs, NJ. O'leary, D. (1986), "Expert Systems in mathematical pro­ gramming", Presented at the Symposium for Artificial Intelligence in Engineering, October, 1985; published in: B. Silverman and W. Hutzler (eds.), Artificial Intelligence for Military Applications, Operations Research Society of America. O'Leary, D. (1987), "Validation of Expert Systems", Decision Sciences 18/3, 468-486. O'Leary, D. (1988) "The use and validation of optimization methods in Expert Systems", Unpublished paper; pre­ sented at EURO IX, TIMS XXVI, Paris, July 6-8, 1988. O'Leary, D. (1990), "Measuring and managing complexity in knowledge-based systems: A network and mathematical programming approach", Presented at the New York ORSA/TIMS Meeting, October 1989; published in: D. Brown and C. White (eds.), Artificial Intelligence and Op­ erations Research, Sponsored by ORSA/TIMS, K1uwer Academic Publishers, Dordrecht. Piaget, J. (1973), To Understand is to Invent, Grossman, New York. Ribar, G. (1988), "Development of an Expert System", Expert Systems Review 1/3, 3-8. Rich. E. (1983), Artificial Intelligence, McGraw-Hili, New York. Swartout, W. (1981), "Explaining and justifying expert con­ sulting programs", in: Proceedings of International Joint Conference on Artificial Intelligence, 815-823. Schitttkowski, K. (1985), "EMP: A software system for mathe­ matical programming", Unpublished Paper, Mathematis­ ches Institut, Univeritlit Bayreuth, Bayreuth, Germany. Stohr, E. (1988), "Automated support for formulating linear programs", Unpublished Paper, Center for Research on Information Systems, New York University, February, 1988. Willingham, J., and Ribar, G. (1988), "Development of an expert audit system for loan loss evaluation", in: Auditor Productivity in the Year 2000, 1987 Proceedings of the Arthur Young Professor's Roundtable, Arthur Young, Res­ ton, VA. Winston, P. (1984), Artificial Intelligence, Addison-Wesley, Reading, MA.