Web-Based Optimization System Applied to the Teaching of Mathematical Programming Plácido Rogério Pinheiro, Amaury Brasil Filho University of Fortaleza (UNIFOR) – Graduate Program in Applied Computer Sciences Av. Washington Soares, 1321 - Bl J Sl 30 - 60.811-905 - Fortaleza – Brasil
[email protected],
[email protected]
Abstract An approach is proposed that will easily enable operational researchers and systems managers to obtain an optimized response of the generated model. The Web-based Optimization System provides an environment for modeling and solving a model in mathematical programming. The environment uses a distributed architecture that turned the system extensible and very independent of platforms and the fabricants of solvers, also being able itself to connect proper optimization software. The study demonstrates the importance that the Internet has potential to be an important component in optimization systems.
Keywords Optimization, Web, Mathematical Programming, Decision Support System
1. Introduction According to Geoffrion and Krishnan (2001), the digital economy is creating abundant opportunities for operations research applications. The use of Operations Research (OR) techniques are leading professionals of financial services, electronic markets, network infrastructure, optimization software, supply-chain management, and travel-related services, to respond aggressively. Because OR is well matched to the needs of the digital economy in certain ways and because certain enabling conditions are happening, prospects are good for OR to team with related analytic technologies and join information technology as a vital engine of further development for the digital economy. The objective of this article is to join the digital’s econonomy and Web’s Mathematical Programming prospects with a Decision Support System (DSS) that uses the OR techniques to offer optimized data. To make better decisions, managers are combining the OR with the DSS. Because models with thousands of restrictions and variables are not easily created and the solution returned by the solver needs to be analyzed, the figure of an OR analyst plays an important role in this context. When the detailed data supplied by this combination is analyzed, it can improve and facilitate the company’s decision process. This means that the people in the field need, not just data at their disposal, but also models and systems that will analyze the data to show local trends and results and help solve everyday
problems. Moreover, Vera (2008) presents an in-depth analysis of the semantic web contribution towards personalization in e-learning content exploitation. As described in Little (1991), these kinds of applications travel on a one-way street. Efficiencies and improved service levels derived from OR/MS models and embedded in operational systems are essential to the firms using them and cannot sensibly be abandoned.
2. WEB-BASED OPTIMIZATION The Operations research is a science that possesses a fundamental role to act in the emergent digital economy and is demonstrating to be particularly favored of the innovations related to the Internet. For many types of problems, varied implementations of diverse methodologies compete in speed, trustworthiness, cost and convenience. New applications of optimization typically involve the construction of new models. In accordance with Pinheiro and Oliveira (2004), a professional who needs to construct an application in optimization will have to make available an environment that independently of the generated model can use a variety of existing solvers in optimization packages. Of this form, the environment to be developed must be flexible so that new solvers could be incorporated to the optimization environments. As Czyzyk et al. (1997), the optimization algorithms are dynamics for nature, suffering changes in short periods, contributing to the Internet to be the mechanism that easily make available the access to the frequent updates. Cohen et al. (2001) distinguishes three categories for optimization software customers of general intention: Modelers that work directly with solvers and modeling systems to construct optimization models and to find ways to obtain acceptable solutions; Application developers creators of software that uses solvers, as part of a great package that treats since generic functions as management of data and graphical interface; Users who use application packages searching optimization at some point. Any environment to be developed must contemplate these three types of users. Geoffrion and Krishnan (2001) stands out the importance of the development of an infrastructure to support the applications in the Internet, presenting the ASP (Application Server Provider), suppliers of application service, as important example of safe and flexible infrastructure and with center of data with high availability of connections to the suppliers of service of Internet (Internet Service Provider). Such ASPs offers a platform to make available software as service. 2.1 Solving the Problem of WEB-Based Optimization Cohen et al. (2001) proposes to explore the Internet’s potential by splitting up processing tasks between multiple servers and thereby solving the problem of optimization. In that way, the proposed distributed environment’s architecture is formed by the following components: a browser, a Web server, an application server, a database server, and an optimization server. The distributed environment’s process flow proposed by Cohen et al. (2001) is the following one: the user submits a request through a client program (browser). The Web server is the responsible for make available the static or dynamic content accessed by the browser. After the client application loads the web server pages and the user submits its solicitation, the application server loads the information to construct a model like, for example, a model in mathematical programming. Some of the information that the user needs to construct this model can be concentrated in any database, which can be accessed through a database server. To perform the
optimization, the application server initiates the process in an optimization server, passing this model (business rules) to find the solution. The optimization server can also access the database server to require some complementary information to the received model. When the optimization process has finished the optimization, an email message is sent to the user with an URL (Uniform Resource Locator) that presents the solution, or can also be published a report with the solution in different channels of an Internet site. Another approach to Web-based optimization may be found in (Yen 1997) in which a four component design is proposed, as shown in Figure 1.
Figure 1: Simulation Design Database - the structures and functions of objects are stored and manipulated in a database. Designer - the tool with graphical interface that makes possible the user to construct and to edit the system drawing. Using designer, users can drag or delete system’s objects and specify corresponding attributes. Compiler - during the drawing process, the compiler checks if the system’s structure or syntax is correct. The syntax check can be made on an interactive way, to verify the drawing immediately after each step, or on the batch way, to verify the correction after the submitted solicitation. Simulator - different of the structural correction, the simulator verifies the system’s functional or semantic corrections. In addition, it also simulates the system’s process with animations, and evaluates the performance. The process flow of a simulation tool, in accordance with (Yen 1997), is the following one: the designer, from one database and through a graphical tool, edits the model and configures it in accordance with its characteristics, sending it to the compiler that checks the structure and sends to the simulator to generate the solution returning for the designer’s analysis. This flow continues until the results are the waited ones. 2.2 WEB-Based Optimization Systems According to Fourer and Goux (2001) until a little time ago, the Internet’s use in optimization was limited in supplying softwares for download. Thus, per many years commercial solvers were available through the ftp protocols, which were maintained by the developers’ own sites. The first site that supplied mathematical software for download, the NETLIB repository, was started in the early eighties offering a
variety of solvers. The advent of the Internet has encouraged relating online resources, including extensive lists of hypertext links in downloads and other information. The ‘Decision Tree for Optimization’ software, developed by Hans Mittelmann and Peter Spellucci, organized available non-commercial optimization software. Their site offers a list of testing problems as well as books, tutorials, system modeling resources, automatic differentiation packages and tools for model analysis. The site ZIB MATHPROG provides links and related information to many classes of optimization codes in the public domain. Geoffrion and Krishnan (2001) lists a number of statistical computation sources available on the Internet such as StatLib, StatPages.net, StatPoint Internet Statistical Computing Center, and SticiGui. Czyzyk et al. (2001) demonstrates on his work the NEOS (Network-Enable Optimization System) that was developed in cooperation by the Argonne National Laboratory and the Northwestern University. This environment makes possible the resolution of many varied types of optimization problems through the Internet. The environment is formed by three basic components: NEOS tool, NEOS guide and NEOS server. NEOS tool is constituted by a library of free optimization softwares and developed by the proper NEOS project researchers. This component possess the characteristic of being distributed, therefore each specific solver is considered one host that it is spread in different spaces of addressing connected through the Internet. In accordance with Czyzyk et al. (2001), the interface lacks to be worked in the NEOS optimization environment. Despite the environment possessing three forms of submission of models: through email, page in the Internet, or a tool available for download. The user less experienced in operational research, for not knowing the solver adjusted for each type of problem, wastes much time to submit the model for the optimization. Like the Maturana’s idea (Geoffrion and Maturana 1995) of constructing optimizationbased DSS with a design that serves adequately the user’s needs, the Web-based DSS was developed. It had as intention to create multiple interfaces to facilitate the submission of models and consequently to enclose diverse users profiles. For that, a simple interface had been used, henceforth called of direct interface, where the model is constructed directly by the coefficients, and the models generator interface, that mounts a model through a tool’s proper language, providing the construction of more complex problems in a practical way. 3. THE WEB-BASED DSS 3.1 Optimization Framework Design The Web-based DSS considered on this work used concepts related to the architecture proposed by Cohen et al. (2001) and Brasil et al (2006) , distributing the tasks that are processed by the environment between multiple servers. In the figure 2, we present how the environment components were distributed.
Fig. 2: Multi-layer design for solving optimization problems. The first component of this architecture is the browser, which is a client application, which is directly accessed by the user. The browser used by the DSS was the Netscape Navigator. It is through this application that the user will interact with framework, being able to access it through any computer that has a connection with the Internet. The second component of this architecture is the Web server, which will store the environment’s dynamic and static pages on the Internet. In the tests that were made, it was used an Apache server, www.apache.org, that stored the files that contained the page’s codes presented by the browser. The third architecture’s component is the application server. This server will receive the solicitations from the user, thus having that to pack the information so that they can be sent to the optimization server. After the information was sent and the optimization is performed, the application server will receive the solution from the optimization server, showing it to the user who requested optimization. The last component of this distributed architecture is the optimization server, which will be responsible for the receiving of the information sent by the application server, unpacking of the information, resolution of the sent model, and the sending of the solution to the application server. 3.2 Interfaces Offered According to Little (1995), two approaches can be found when we concern the development of a DSS. The classical solution provided by the OR systems of having managers and analysts solving problems and delivering solutions to the problems owners is still in use and can be found in the major parts of DSS. The other approach is to create systems to the end user rather than OR managers or analysts, giving people systems with which they can create their own solution to problems. Little (1995) also affirms that when this kind of tool is developed to the users, it can boost the company’s productivity.
3.2.1 Direct Interface The first interface option offered by the Web-based DSS is the direct interface. This interface tries to contemplate simple submissions, which can easily be entered by a non-expert user. Problems that possess a reduced number of variable and restrictions are easily submitted through this interface. In this option, the user previously defines the number of variable and restrictions, and the environment generates all the necessary fields so that the user can type the values and submit its model. This type of interface is consistent with Little’s idea (Little 1991) of empowering the organizational front line by creating systems directly to the end user.
3.2.2 Models Generator Geoffrion and Maturana (1995) emphasizes different reasons to have an OR manager or analyst to assist the user during the modeling process. First, users usually do not have the time to think in depth about their problems, since they are, too busy handling them. Second, modeling is an activity that requires a certain experience and most users do not have it. Contemplating the Maturana’s approach (Geoffrion and Maturana 1995) of having an analyst modeling the hardest problems, another modeling option was developed by the Web-based DSS and is destined to the most experienced users and OR analysts. This type of interface is called of models generator. The models generator receives through a proper language from the tool a formation rule from the model of integer linear programming. Differently of the interface demonstrated in the previous section, which receives from the user all the model’s coefficients, the interface proposed in this section uses a program informed by the user for the generation of a mathematical programming model. Of this form, it makes possible a simple and robust way to construct models with thousand of variables and hundreds of restrictions. Difficult problems to be manually constructed in the previous interface for the typing effort would be modeled on a generic way, generating the model to be submitted to the environment’s application server. During this phase is used the same principle of some famous commercial codes as the AMPL, www.ampl.com, and LINGO Schrage (1998), having as advantage the academic principle of free code and a more robust interface. 3.3 Application Server As considered in the distributed architecture of Cohen et al. (2001), the optimization’s environments should have an application server that is responsible for loading the information submitted by a browser. The developed environment uses this same idea for the application server, going a little beyond in the server’s functionalities. The application servlet will receive the user’s solicitations and will pack them using optimized techniques that prevent the storage of redundant information, which would cause a loss in the model’s performance. If the user has used the models generator of the previous section, the application server translates the model and packs the necessary information to solve it. Through a inter servlet communication, the application server will send the packed object to the optimization server. After the model’s optimization is processed in the optimization server, he will send the solution to the application server. When the application servlet receives the object that contains the optimization result, he will unpack that object, and will show the solution at the user’s browser. 3.4 Optimization Server Basic component of the proposed architecture, the optimization server is responsible to supply the submitted model’s solution. With the necessary information, the optimization server processes the data, thus producing the result. The optimization’s result is packed in an object that will be sent to the application server. Because the data is being shared across the system, the solver is tightly integrated with the rest of the system Geoffrion and Maturana (1995). Although this approach of sharing data structures is difficult to implement, it has as advantage a closer interaction between the solver and the models generator, which could lead to faster and more robust solutions Geoffrion and Maturana (1995). In the architecture proposed by Yen (1997) it was used a simulation tool that solved the mathematical model using the techniques of entire linear programming, through commercial software of optimization installed in the optimization server.
The optimization servlet was developed using as a solver the LINDO API Schrage (2002), which encloses a complete set of methods, which offers total support to the framework. By implementing the Web-based framework based on the simulation tool proposed by Yen (1997) and with a distributed architecture proposed by Cohen et al. (2001) it becomes possible to apply new solvers to the framework without causing much impact on the other components. 4. CONCLUSION We have presented a Web-based Optimization System Applied to the Teaching Mathematical Programming that provided a framework that makes possible and manages the interface between the mathematical models generator with the optimization solvers. To reach the objectives of this research, it was necessary the execution of the following stages: accomplishment of a study in literature to form a conception about the environment’s architecture; definition of multiples interfaces that would contemplate different kinds of users; implementation of a system using distributed components, splitting up processing tasks between multiple servers and thereby solving the problem of optimization. To guarantee the environment’s robustness for multi-user, some solicitations had simultaneously been submitted to the tool. The framework reached the answer in acceptable times in relation to a Web tool, because the tests have shown that the environment answers ninety percent of the requests. The models generator interface is still in phase of tests, and the framework is presenting difficulties to interact with the users when they submit their problems with syntax and/or semantics errors. Trying to obtain a greater performance, in the future we have the intention to migrate the Web-based DSS to the Java Web Services Technology. Acknowledgements The first author is thankful to the National Council of Technological and Scientific Development (CNPq) for all the support received REFERENCES Brasil, A., Pinheiro, P. R., Magalhães, M. Rebouças, N. (2006) A WEB Optimization Environment with Decision Support System Applications, IEEE International Conference on Service Systems and Service Management, v.2, 1570-1575, DOI: 10.1109/ICSSSM. 2006.320770 Cohen, M., Kelly, C. B., and Medaglia, A. L. (2001), Decision Support with Internet-Enabled, Interfaces, Vol. 31: 2, (pp. 109 -129). Czyzyk, J., Owen, J. H. and Wright, S. J. (1997) Optimization on the Internet, OR/MS Today, Vol.24:5, pp. 48- 49. Fourer, R., Goux, J.P. (2001) Optimization as an Internet Resource, Interfaces Vol. 31: 2, (pp. 130-150). Geoffrion, A. M., Krishnan, R. (2001) Prospects for Operations Research in the E-Business Era, Interfaces, Vol. 31: 2, (pp. 6 - 36). Geoffrion, A. M., Maturana, S. (1995) Generating Optimization-Based Decision Support Systems. Little, J. (1991) Operations Research in Industry: New Opportunities in a Changing World, Operations Research, vol. 39, and (pp. 531-542). Pinheiro, P.R., Oliveira, J. A. (2004) Web-Based Optimization System Applied to High School Schedule Building, PATAT '04 Proceedings of the 5th International Conference on the Practice and Theory of Automated Timetabling, vol. 5, Pittsburgh, PA USA, (pp. 553 – 557). Schrage, L. (2002) Optimization Modeling with LINDO API. LINDO Systems Inc, USA, First Edition.
Vera, M.V., Lytras, M. D., Exploiting semantic web and ontologies for personalised learning services: towards semantic web-enabled learning portals for real learning experiences, International Journal of Knowledge and Learning 2008 - Vol. 4, No.1 pp. 1 - 17, DOI: 10.1504/IJKL.2008.019734 Yen, B. P. (1997) WEB-Based Simulation Tools, The Hong Kong University of Science and Technology, Hong Kong, (pp. 18- 22).