Scheduling railway freight cars

Scheduling railway freight cars

Knowledge-Based Systems 14 (2001) 289±297 www.elsevier.com/locate/knosys Scheduling railway freight cars Gangyong Geng a,*, Ling X Li b a b Instit...

239KB Sizes 7 Downloads 171 Views

Knowledge-Based Systems 14 (2001) 289±297

www.elsevier.com/locate/knosys

Scheduling railway freight cars Gangyong Geng a,*, Ling X Li b a

b

Institute of Software, Chinese Academy of Sciences, Beijing 100080, China Departemnt of Information Systems and Decision Sciences, Old Dominion University, Norfolk, VA 23529, USA

Abstract It is dif®cult to allocate the freight cars and to determine how to load the several varieties of goods into them. In order to improve ef®ciency, a knowledge-based system (KBS) is developed and integrated into the existing railway information system. This paper introduces the development of the system and the framework in which the KBS are integrated into the existing system environments. Under the framework, the combination of logic programming technology and database technology provides us with a practical way to solve the problems in many existing information systems. Meanwhile, developing the KBS as a distributed application bene®ts both the organization and users. The existing centralized database management system was maintained, and the security and the control of the database were ensured. Users can obtain the performance of a workstation with the transparency of data location in a user-friendly environment. At last, the implementation of the KBS for railway freight loading is discussed. q 2001 Elsevier Science B.V. All rights reserved. Keywords: Knowledge-based system; Railway scheduling problems; Transportation; Freight loading

1. Introduction Railway freight loading is a complicated, non-linear, and multi-objective problem. It is a topic demanding the application of ef®cient methods to tackle the real-world problems [1]. The railway operations often suffer from information overload, especially when some problems alter the plan table. People are always slow to react to events that have occurred suddenly. Another problem lies with the fact that there are very few experts who can make a decision on railway freight loading quickly and correctly. Presently, the traditional railway freight loading management relies on management ¯exibility and quick reaction for meeting ever-changing demands of the clients [2,3]. Railway freight loading is much more complicated than container loading; an expert is needed to analyze and make a decision to make full use of freight capacity. This paper describes the development of a KBS for railway freight loading, which is part of the existing railway information system. It is a knowledge-based decision support system aimed at enhancing the problem-solving capabilities of railway administration staffs. By means of knowledge-based inference, the system can not only solve the problem more quickly, but also get conclusions as good as experts [1,4]. Since the system needs to access the existing program and information in the conventional environment, we developed it as a component embedded within it. * Corresponding author.

In the research, we have developed a generic framework for building the practical distributed decision support KBS in railway information systems environments. This framework fosters the reuse of algorithms and the integration of knowledge-based technology into the database environment. Logic has traditionally provided a ®rm conceptual framework [5,6]. Prolog has made it possible to represent knowledge in terms of logical descriptions of facts and rules from which appropriate inferences can be drawn automatically. Although knowledge-based approaches are widely used in industries, we have not found the previous research that has applied AI to solve the problem of railway freight loading for irregular goods. Transfer Pricing is an expert system in use at the treasury division of Data General Corporation [7]. This system solves a problem in a commercial domain and functions in an information systems environment. Our system has a closed concept model with Transfer Pricing. We all developed the knowledge-based system KBS on an existing database that runs on a server in the network. Another similar system is a rail-car distribution expert system for the French Railways, which helps the manager to allocate freight cars throughout 33 regions nationwide [8]. In addition, the system is able to help the stationmaster select a route, and determine the conditions and emergency procedure that make each route feasible [9]. Instead of using an existing shell, this system implemented the inference engine as an extended Prolog meta-interpreter of a Prologlike representation language. Other systems include REX,

0950-7051/01/$ - see front matter q 2001 Elsevier Science B.V. All rights reserved. PII: S 0950- 705 1(01)00108- 3

290

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

an object-oriented, asynchronous real-time expert system shell that helps to meet the challenges of the dynamic aerospace environment, and SALTO, a knowledge-based client/ server system that helps to allocate aircraft to parking locations [10]. 2. Knowledge representation 2.1. One-stop freight train Goods loaded in a freight car at a railway station should not be less than 50% of W or 90% of V, where W is the mark of weight of the freight car and V is the mark of volume of the freight car, n X jˆ1

Wj . 50%W;

n X jˆ1

Vj . 90%V;

Wj and Vj refer to weight and volume of the goods j, respectively. 2.2. Two-stop freight train Goods loaded in a freight car should not be less than 20% of W or 30% of V at the ®rst stopping station, and not less than 40% of W or 60% of V at the second stopping station. On the other hand, these two stops must be on the same path for all of the loading goods (here path must be the shortest path), and the distance between the two stops should be at least 250 km. However, there is no restriction on the distance if one of the following conditions is satis®ed: 1. the weight of goods to the second stopping station is not less than 50% of W or the volume of it is not less than 70% of V; 2. these two stops are neighbors of each other, and both are transfer stations; 3. the ®rst stopping station is a transfer station, and the second stopping station where goods are sent is in the transfer range of the ®rst stopping station. 2.3. Three-stop freight train Dangerous goods are loaded in a special freight train. If cumbersome goods are not plentiful enough to be loaded in a one-stop freight train or two-stop freight train, the goods on the same path will be loaded in a three-stop freight train. However, the distance between the ®rst stopping station to the third stopping station cannot be any longer than 500 km. On the condition that a one-stop freight train cannot ®nish delivering all shipments, a two-stop or one transfer delivery is needed. However, the ®rst stopping station must be on the shortest path from the loading station to the second stop. If the freight train is not quali®ed to be a through train, all other goods from another freight train and those in the storage must be selected to transfer to this freight train to

form a change freight train. These selected goods are the goods that will be shipped in the same direction. Two change freight trains are needed if one does not work. The goods in the arriving train will be unloaded if there is no stopping station and transfer shipment can meet the requirements. 2.4. Con®rming and transference of core goods According to transportation priority of goods and the regulation that goods loaded in a freight train should be sent to the same stop or the same transfer station, the goods that weigh more than 5000 kg must be totally arranged into a `core'. Several groups of goods are quali®ed to be the cores in a freight train. A loading station can select one group in accordance with the priority grade. Core goods are unloaded in a transfer station. 2.5. Priority of loading goods Sequence of loading goods is determined by a priority grade. Goods with a higher grade have a higher priority. In the design of the function of loading priority grade, we have taken the following measures: 1. by increasing priority of goods in large quantity, the system will allocate through freight to the goods with highest priority in order to achieve the purpose of `more loading less stop'; 2. by means of checking the shipping plan using computers, and increasing the priority of core goods, core goods can be put on the freight train in the transfer station to attain the goal of `safety and reasonable transference'. 3. through determining shipping priority grade according to the order of goods that are entering the storage, goods can be shipped quickly to promote a utilization ratio of goods storage; transportation ef®ciency is increased and using this practice as well decreases the shipment cycle; 4. by way of using information systems, we can calculate weight and volume of goods and load goods intelligently and fully. We can calculate the priority of goods by using the following formula, Loading priority grade ˆ priority grade of goods attribute 1 date priority grade 1 Weight £ 0:001 1 core goods weight £ 0:01 where priority grade of goods attribute are; Key goods ˆ 100, Military goods ˆ 80, Fresh and live goods ˆ 60, General goods ˆ 40, Date Priority Grade can be calculated as follows,

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

100 …days of entering goods yard . 6† Date priority grade ˆ days of entering goods yard £ 5. 2.6. Loading order of the same priority goods In order to make full use of a railcar's freight weight and volume, goods with large weight but small volume cannot be placed in the same freight car, nor can the goods with large volume but light weight. Hence, the KBS must consider the following situation every time when it makes a decision to load a freight car. If the proportion of the loaded goods is more than the average proportion, we should load the goods whose proportion is less than the average proportion. If the proportion of the load goods is less or equal to the average one, load the goods whose proportion is more than or equals to the average proportion. Average proportion ˆ W=V; where W is the mark of weight, and V the mark of volume of the freight cars; proportion of loaded goods ˆ weight of loaded goods/volume of loaded goods. If the value of the volume of the goods is not ®lled in the freight bill, it can be found by calculating the average proportion, which is available by counting historical data of the same kind of goods. This indicates that the KBS has an ability of learning. Besides, whether general volume and weight satisfy the requirements must also be checked. This method is called the jumping loading method. This method is suitable for computers to make a loading schedule. 2.7. Problems of the shortest path and the same path Due to the large number of railway stations all over the country, the calculation and inquiry about the shortest path between two stations is very complex. The knowledge needed to determine the shortest path is stored in tables in the database. There are three important elements including the distance between two neighboring stations, the range of stations that a transferring station is responsible for, and the shortest path among the transfer stations. They are de®ned as follows, Neighbor_distance…start_station; start_substation; stop_station; stop_substation; railway_line; the_distance† Transfer_range…transfer_station; transfer_substation; transfer_line; ordinary_station; the_distance† Transfer_path…start_transfer; end_transfer; station_on_path; station_number† where start_station and stop_station are the source and target of the freight train, and they belong to the start_ substation and the stop_substation, respectively. The item, the_distance, is the distance between two stations,

291

while the railway_line is the railway that both of them are located on. The two stations of the ®rst table are neighbors of each other, and they are located on the same railway line. The Transfer_range is the table of the name of the transfer station, its substation, its railway line and the stations in its transfer area. The distance from a transfer station to every station within the transfer range was recorded in the_distance ®eld of the Transfer_range table. Under the condition that there are limited transfer stations nationwide and the route of freight is not changed frequently, we calculate the distance ®rst and store them into the database, then the shortest route can be queried directly. Transfer_path is a table about the data of the stations on the shortest path between two transfer stations. The name of these stations are recorded in the ®eld of station_on_path, while station_number is the number that indicates the order from start transfer station to end transfer station. Now we put the emphasis on how to solve the problem of the shortest route of the every two stations. Here we improve the algorithm of the shortest path by adding some useful heuristic data so that we can get the best route between two stations in a shorter time than before. The following is the regulations that are used to solve the problem of the shortest path and the same path: 1. If both start station and stop station are transfer stations, then the shortest path can be searched from the database. 2. If the start station is an ordinary station and the stop station is a transfer station, then we must ®nd the transfer station where the goods from the start station can be transferred. We can get it by querying the table Transfer_range, then calculating the shortest path under the condition that they should belong to same substation. 3. If the start station is a transfer station and the stop station is an ordinary station, we will get the shortest path under the same way with item 2, except that we will need to ®nd the transfer station of stop station, not the start station. 4. If both the start station and the stop station are on ordinary stations, we must ®rst calculate the shortest path from start station to its transfer station and the shortest path from stop station to its transfer station, then we should query the shortest path between the two transfer stations. At this point, the shortest path between the start station and the stop station is obtained. In order to be ef®cient economically, the goods from many small stations should be gathered together, that is why we must establish the transfer station. 5. If there are two stop stations, we must get the shortest path to the second stop station, then judge the ®rst stop station on the path. 6. If the stop stations are more than three stations, we will get the shortest path from the start station to the last stop station, then judge if other stop stations are on the path.

292

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

2.8. Problems of additional loading goods If a transfer freight train arrives at a station and some goods are unloaded, it can be loaded with additional goods. At this moment, we must follow some regulations. 1. Additional goods cannot disturb the unloading operation at the next unloading station. Furthermore, these goods must be unloaded prior to the next unloading station. 2. Loading additional goods that need to be transferred must correlate with the regulation on the transference range. 3. Anew stop cannot be added, except in the event of twostop freight train of common goods. However, the weights of goods of the second stop must be less than 40% of marked W, and the distance between the ®rst and the second stop must be more than 250 km (this is an exception to the restriction if two stops are neighboring transfer stops, and the goods to the second stop are within the transfer range of the ®rst stop). The new stop is allowed to be added within 250 km from the ®rst stop to second stop. The goods of the new stop must not weigh less than goods just unloaded.

the function MATCH. The dangerous goods in the set are compatible each other, meaning they can be loaded together. The PRI(L, L) and NOMATCH(X, [Y]) functions are developed by the specialists based on the priority of loading and the list of dangerous goods. We can get the leftover dangerous goods from subtracting the set of matching goods from the non-matching goods. Several independent sets of dangerous goods can be found by applying the MATCH until the goods in non-matching set have no change. We can sort the dangerous goods according to compatibility of them. After the users input the data about current dangerous goods, the system will sort the data according to the incompatibility of dangerous goods given by non-matching goods set. 3. Loading models 3.1. Formal description of the loading system A set of goods in a freight train can be expressed as follows: P ˆ {p1 ; p2 ; ¼; pl }

2.9. Problems of loading dangerous goods In railway transportation, loading dangerous goods is a hard job. The person who is in charge of transfer shipping should pay considerable attention to mixing the loading of dangerous goods. Any carelessness will result in an accident. But if computers are used for loading dangerous goods, it is possible to check the load list every time, so as to know which goods may explode or otherwise react if they are in contact with each other. Using Prolog, we can hit the target via pattern matching and backtracking. The problem of loading dangerous goods is a problem on independent set in graph theory. A graph G, where V ˆ {V1,V2,¼,Vn} is the set of node; Every two nodes Vi and Vj is adjacent if and only if the dangerous goods Mi and Mj are incompatible with each other. According to the de®nition of the independent set in graph theory, every two nodes in the independent set are not adjacent to each other. The dangerous goods, which are represented by the nodes in the graph of independent set, can be stored and loaded in one place together. Thus the problem of loading dangerous goods changes to the problem of ®nding an independent set of the dangerous goods. A sample procedure for dangerous goods loading is shown in Table 1. Firstly, all of the dangerous goods are sorted according to the priority of different kinds of goods and the loading priority given by the function PRI. They are sorted in descending order by the quick sort function QUISORT. Then considering of the dangerous goods in the NOMATCH set and the list of dangerous goods incompatible with them, we can ®nd a best independent set of dangerous goods using

The set of goods is M ˆ {m1 ; m2 ; m3 ; ¼; mk }; where pi[P, pi is the set of goods of freight car i pi ˆ {mi1 ; mi2 ; mi3 ; ¼; min } The objective function is, 0 0 11 n n n X X X Min@1 2 @ …Wij =W† …Vij =V†AA; Max Gij ; jˆ1

jˆ1

jˆ1

where Wij, Vij, Gij are weight, volume and priority grade of goods mij, respectively, W, V are marked weight and volume of the freight car i, The constraint equations are as follows, n X jˆ1

Wij # W

…W is marked weight of the freight car i†; …1†

n X jˆ1

Vij # V

…V is marked volume of the freight car i† …2†

w

…3†

Here we give the description of regulation of goods loading w,Total railway freight train arrangement: 1. One-stop freight train regulation 2. Two-stop freight train regulation 3. Three-stop freight train regulation 4. Core goods regulation 5. Combining and unloading regulation

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

293

Table 1 Sample procedure for dangerous goods loading

6. 7. 8. 9. 10.

Regulation Regulation Regulation Regulation Regulation

on on on on on

perishable goods transportation additional loading arrival deadline checking unreasonable transference loading dangerous goods

When loading goods, historical operations data must be referred to, as well as seeking objective functions and meeting constraints. Otherwise, the goods in a loading list worked out by information systems cannot be placed in a freight car. This is due to the irregularity of odd goods. It is necessary to use past data to examine loading after computers deal with it. The result of the system is, to a certain degree, of fuzziness and experience. What has been discussed above all gives us a conceptual model. Next, we will discuss the knowledge used in the KBS. 3.2. Static knowledge Bill checking is de®ned as inputting of data of the freight

bills of the goods to be loaded on one station. The data include the number of freight bill, start station, stop station, description of goods, quantity of goods, package, weight of goods, the number of the train, and where the goods come from and go to. After the data is entered into the database, we can prepare a statistic of the stop stations of all goods using database management systems. If the stop station of goods is the local station, they will be unloaded. The data of its freight bill will be sent to the manager who is responsible for dispatching goods to the clients. As to the goods whose stop station is not a local station, the database management system will make a statistic of the numbers of goods whose stop station is the same station. The role of the database management system is to make the statistic on the goods according to their source station and target station and which direction the goods will be going, respectively. The result of a bill checking is a planning bill of transported goods. After unloading the arriving goods, the KBS will make a decision of loading the goods left on the train,

294

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297 Table 2 An example of static knowledge table in database

Fig. 1. Knowledge-base processing.

and the goods that will be loaded into the train. The process is shown in Fig. 1. The static knowledge is the information on the freight bill, envelope of freight bill, direction statistic, and station statistic. They are stored in tables in the database (see an example in Table 2). Here we give some explanation about the static knowledge. For instance, the number of freight bill, start station, stop station, name of goods, number of goods, package of goods, weight of good, loading date and number of trains are input by the manager or transferred from remote computer via network. Since the volume of goods is the data not needed for calculating transportation expenses, clients are not asked to ®ll the volume in the column of freight bill. Moreover, the data is often not very accurate, but it is very important in the goods loading. We designed a function to calculate the average gravity of every kind of goods according to the historical statistic data about the good. This statistic is a result of V ˆ W/G, where V stands for volume, W stands for weight and G stands for gravity. The values of the gravity are stored in the database and will be amended constantly by the KBS, which is learning continuously. 3.3. Selected inference processes An example of selected inference processes (see Fig. 2) is as follows: Step 1. Using the one-stop freight train regulation, we judge if the goods to one station can be loaded into one freight car based on the statistic data in the database. First, we select the goods whose weight is greater than the 50% of car's freight weight and whose volume is greater than 90% of the car's volume. After we selected them out, we must decide how to load them into one car reasonably in the order of the priority grade of goods. Step 2. Using the two-stop freight train regulation and considering the other regulations, we can load the twostop car.

Step 3. Using the three-stop freight train regulation, we can load the three-stop car. Step 4. We must consider the dangerous goods and the core goods alone. As the result of the KBS' decision, we get a copy of the schedule about the freight loading. 3.4. Static knowledge and regulations In order to understand the features of a database, the

Fig. 2. Flow chart of selected inference processes.

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

interaction of proceeding regulation and the knowledge base must be studied [11±13]. When loading, we need to decide which station is a freight train stop. For this purpose, ®rst, we need to search the direction of all through freight train statistics database. The direction of the through freight train is determined by the freight direction of the largest quantity goods and the highest priority goods. Second, through searching the freight direction database, we can ®nd out the type and number of freight trains in which the majority of goods which we will send to the same direction. Then the goods that will be sent to this same direction are loaded into these selected freight trains. After loading all of the goods whose stops are in the same direction, we can load the other goods according to their priority if there is still enough room available. The stops of these goods are in the range of the transferring area of a transfer station, which is also in the same direction of the freight train. As to the goods that cannot be delivered, the KBS will arrange a two-stop freight train for them. 4. System architecture The railway freight loading KBS is consisted of standard KBS components including a knowledge base, heuristic search algorithms, and a user interface [14±17]. The system architecture is shown in Fig. 3. It consists of two major parts: the logical deductive unit and the database. Each part of it runs on a different machine. The database is a repository of shared data, including not only the raw data inputted by the users but also the output generated by the system. The logical deductive unit has three components, including the user interface, explanation facility, and inference engine. In addition, it provides a set of mechanisms that are useful in the design of the KBS. They include rulebased knowledge representation, backward chaining, pattern uni®cation to support clause-based declarative programming, the ability to have suspended variable binding via the logical variables, and simple and elegant semantics that offer a cohesive framework for rule-based

Fig. 3. System architecture.

295

system and allow the formal manipulation of logical programs. The logical deductive unit can access the data located at the remote database server via a network system. Since the deductive unit is the kernel of the railway freight loading KBS, we will describe it in detail in the following Section 5. 4.1. User interface The graphical user interface presents the information needed for monitoring the decision- making activities and supports interactive decision-making [18]. It has the following features: 1. It presents and provides easy access to relevant information. Such information includes the orders to be scheduled, the goods to be loaded, alternative processing, alternative equipment, the load capacity of resources. 2. It visualizes the current state of the problem-solving process and let users monitor the effect of the decision. 3. It supports the interactive generation or revision of the schedule by operations such as selection, insertion, deletion, relocation, and substitution for resource allocation. 4. It provides a consistent check on the feasibility of alternatives. In order to provide facilities to help human±computer interaction, we added the explanation component to the logical deductive part. It can then translate the knowledge stored in the database to the presentation shown on the screen. 4.2. Inference engine It is the most important component of the logical deductive unit. The inference engine prescribes the way in which a speci®c piece of knowledge is used and when and where it is appropriate and useful. In general, the inference engine tends to be of domain-independent design; however, domain-dependent and problem-speci®c knowledge can also be managed. This is usually achieved by both the formalism for knowledge representation and strategies for controlling inference. A distributed system generally assumes some form of data sharing, i.e. the sharing of partial solutions to facilitate a global coherence. In our study, data sharing is considered as an integral part of problem solving process, that KBS is able to examine, evaluate, and extend other proposed partial solutions. The computational equivalent to a team of human system specialists is the reusable expert components set, a system in which the expert components can be dynamically selected from a library and integrated with reusable components for a customized implementation. In such as case, diverse information that was not explicitly anticipated at component development time can be available. The bene®ts of this type of system to an application builder are potentially

296

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

Fig. 4. Sample output of destination information.

large; for example, components can be ¯exibly and inexpensively modi®ed, and added to a system, or deleted from a system in response to changes in speci®cation, resources, and/or technology; components can be more reliable for many uses; and the cost of building a component can be amortized over multiple uses. Therefore it is a good way to extend the ability of an existing information system by adding such knowledge-based components. 5. Implementation The railway freight loading KBS has been implemented in existing railway information system environment. The KBS is developed using Prolog. We integrated the KBS into the existing information system to form a distributed railway decision support system. The KBS helps the managers in allocating train resources. Figs. 4±7 show sample outputs of the system. First, the bill of goods in every freight car will be sent to the manager after the train arrives, and the contents of them will be inputted. This data also can be queried from the remote site via the railway computing network. Through a bill transaction, the system provides information regarding the destination of goods with statistics, which includes the goods left on the train, as shown in Fig. 4, and the goods in the storage, as shown in Fig. 5. Based on the information

Fig. 5. Sample output of goods in the storage.

Fig. 6. Sample output of assembling scheduling information.

and the rules of goods loading, the railway freight loading KBS will produce a scheduling report of goods assembling, as shown in Fig. 6 and a detailed report of goods assembling, as shown in Fig. 7. These two reports represent the outputs of the KBS, which will make a ®nal schedule for the goods to be loaded. Then the operators will load the goods according to the two ®nal reports. Sometimes, the operators may modify it according to the actual loading and generate the bill of loading goods. The bill of loading goods will be sent to the next stop with goods and the goods will be checked by the operator. 6. Conclusions In the beginning of the 1990s, many researchers realized that although people are interested in AI applications, AI systems are not easy to develop. However, we do need to solve the problem based on knowledge management. Usually most of the systems can be built using conventional methods, but would bene®t from being built as a KBS [19± 21]. The KBS for railway freight loading is a part of railway information systems. One advantage is that the systems built using KBS technology are more maintainable than ordinary systems. Relative maintainability has always been thought

Fig. 7. Sample output of assembling information.

G. Geng, L.X. Li / Knowledge-Based Systems 14 (2001) 289±297

of as the advantages of a KBS, but this advantage has been noted only in the context of complex systems. The point here is that many systems that are easy to build need to be continually modi®ed. Operating railway freight loading systems with a KBS is making knowledge explicit. The knowledge representation technique available enables us to represent managerial decisions explicitly, and act quickly. Our system has proven the usability of a KBS for a large and complex scheduling problem. It shows that, with the aid of a knowledge-based decision-support system, the capacity and capability for managing freight trains and goods can be extended. Currently, the system has been employed in eight railway freight stations in China.

[6] [7] [8] [9] [10] [11] [12] [13]

Acknowledgements

[14]

The authors would like to thank Jun Zhu and Cuihao Zhong for their participation in the development and implementation of the system.

[15] [16]

References [1] T. Chiang, H. Hau, H. Chiang, S. Ko, C. Hsieh, Knowledge-based system for railway scheduling, Data and Knowledge Engineering 27 (1998) 289±312. [2] S.E. Lander, V.R. Lesser, Sharing meta information to guide cooperative search among heterogeneous reusable agents, IEEE Transactions on Knowledge and Data Engineering 9 (2) (1997) 193±208. [3] J. Sauer, R. Bruns, Knowledge-based scheduling system in industry and medicine, IEEE Expert 12 (1) (1997) 24±31. [4] D.M. Building, Expert System in Prolog, Springer, Berlin, 1996. [5] G.Q. Huang, J.A. Brandon, AGENTS: object-oried prolog system for

[17] [18] [19] [20] [21]

297

cooperating knowledge-based system, Knowledge-based System 5 (1) (1992) 125±148. R. Bose, Strategy for integrating object-oriented and logic programming, Knowledge-based System 7 (2) (1994) 66±74. Y. Freundlich, Transfer pricing: integrating expert systems in MIS environment, IEEE Expert 5 (1) (1990) 54±62. P. Levine, J.C. Pomerol, Railcar distribution at the French railways, IEEE Expert 5 (5) (1990) 61±69. B. Fringuelli, Knowledge-based technology for controlling railway stations, IEEE Expert 7 (6) (1992) 45±52. B.E. Prasad, T.S. Perraju, G. Uma, P. Umarani, An expert system shell for aerospace applications, IEEE Expert 9 (4) (1994) 56±64. F. Gomez, C. Segami, Classi®cation-based reasoning, IEEE Transactions on Systems Man and Cybernetics 21 (3) (1991) 644±659. G. Wiederhold, Intelligent integration of information, in: Proceedings of ACM SIGMOD Conference on Management of Data, 1993, pp. 434±437. R.P. Goldman, M.S. Boddy, A constraint-based schedule for batch manufacturing, IEEE Expert 12 (1) (1997) 49±56. R.G. Smith, R. Davis, Framework for cooperation in distributed problem solving, IEEE Transactions on Systems Man and Cybernetics 11 (1) (1981) 61±70. E. Hern, On distributed arti®cial intelligence, Knowledge Engineering Review 3 (1) (1988) 21±57. I.A. Ferguson, Towards an architecture for adaptive rational, mobile agents. in: Proceedings of Third European Workshop on Modeling Autonomous Agents and Multiagent Worlds, Elsevier Science, 1992, pp. 249±262. H. Eriksson, Expert system as knowledge servers, IEEE Expert 11 (3) (1996) 14±19. N.M. Avouris, S. Finotti, User interface design for expert system based on hierarchical spatial representations, Expert Systems with Applications 6 (2) (1993) 109±118. M.S. Fox, S.F. Smith, ISIS-A knowledge-based system for factory scheduling, Expert Systems 1 (1) (1985) 25±49. J.R. Slagle, H. Hamburger, An expert system for a resource allocation problem, Communications of ACM 28 (9) (1985) 944±1004. L. Xu, L. Li, An expert system approach to AIDS intervention and prevention, Expert Systems with Applications 6 (1993) 119±127.