A WEB Optimization Environment with Decision Support System Applications Amaury Brasil1, Plácido Rogério Pinheiro2, Maikol Magalhães3, Neto Rebouças4 1,2,3,4
UNIFOR, University of Fortaleza, Dept. of Computer Science (MIA), 60811-341, Fortaleza, Brazil (
[email protected]), ({placido, maikol}@unifor.br), (
[email protected]) ABSTRACT
This paper discusses the implementation of a Web Optimization Environment with Decision Support System (DSS) applications. An approach is proposed that will easily enable operational researchers and systems managers to obtain an optimized response of the generated model. Two applications were implemented to demonstrate how the environment could be used to facilitate the professional’s decision making process. The environment uses a distributed architecture that turned the system extensible and independent of platforms and the fabricants of solvers, also being able itself to connect proper optimization softwares. The study demonstrates that the Internet has potential to be an important component in optimization systems. Keywords: Optimization, Web, 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 agressively. 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 economy and the OR prospects in the Web with an environment that encloses DSS applications using 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. As described in Little (1991), these kinds of applications travel on a one-way street. Efficiencies and improved service levels derived from OR models and
1-4244-0451-7/06/$20.00 ©2006 IEEE
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. Diverse solvers are been developed around the world to take off advantage of particular characteristics of the most different types of problems. 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. To support the application of the construction of new models, specialized modeling systems are being developed to produce, to analyze and to keep optimization models. These systems manipulate models independently of the choice of the solver, thus being able to be integrated to a great variety of solvers. 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. Fourer and Goux (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 responsible to 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 trough 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: •
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 softwares 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’, developed by Hans Mittelmann and Peter Spellucci, organized noncommercial optimization software available. 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.
3.1 Web Optimization Environment Design The environment considered on this work (http://ead.unifor.br/weboptimization) used concepts related to the architecture proposed by Cohen et al. (2001) and Pinheiro et al (2005), distributing the tasks that are processed by the environment between multiple servers. In the figure 1 below, we present how the environment components were distributed.
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. NEOS guide has an updated listing that describes the theory on optimization area, including FAQs with links for commercial and not commercial codes. This component offers downloads of demonstrative models for linear and not linear programming. NEOS server makes possible the user’s access to the library of softwares through the Internet. The communication between the server and the library is made through sockets. 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 with less experience in operational research, for not knowing the right solver for his type of problem, wastes much time to submit the model for the optimization. Like the Maturana’s idea, Geoffrion and Maturana (1995), of constructing optimization-based DSS with a design that serves adequately the users needs, the Web Optimization Environment 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, three different types of interfaces were designed. The first one, is a simple interface, henceforth called of direct interface, where the model is constructed directly by the coefficients. The second interface is the models generator, that mounts a model through a tool’s proper language, providing the construction of more complex problems in a practical way. The last type of interface provided by the DSS is the specialized interface, where the professionals of many areas can submit their models with no knowledge about OR techniques. 3. THE ENVIRONMENT
Figure 1: 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 environment was the Mozilla Firefox. It is through this application that the user will interact with the 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 users, thus having that to pack the information so that they can be sent to the optimization server. After the information is sent and the optimization is performed, the application server will receive the solution from the optimization server, showing it to the user that requested the 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 (1991), 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 the DSSs. The other aprroach 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 (1991) also affirms that when this kind of tool is developed to the users, it can boost the company’s productivity. The environment combines these approaches, using different types of interfaces, to provide better solutions to the users. 3.2.1 Direct Interface The first interface option offered by the environment is the direct interface. This interface tries to contemplate simple submissions, which can easily be entered by a non-expert user. Problems that possesses 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. 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 don’t 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 don’t have it. For Geoffrion and Maturana (1995), a modeling system that converts the modeler representation into a solver representation is called a translator. In this case, the functions of a translator are similar of a computer interpreter. Geoffrion and Maturana (1995) also describe a generator as being an application that converts the data format into the solver format. Generators are more difficult to implement (hard debug process) then the translators, but in terms of speed, they are more efficient. Contemplating the Maturana’s approach, Geoffrion and Maturana (1995), of having an analyst modeling the hardest problems, another interface option is being developed to attend 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. 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. 3.2.3 Specialized Interface The specialized interface was developed to contemplate users that have no knowledge about OR techniques, but also want to take the advantages provided by a DSS. Of this form, professionals of many areas can use a friendly interface to input some relevant data of his professional domain. The environment will use these data to generate the appropiate model, so the user will not need to know how the model is created. 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. In this paper two different applications of the specialized interface are presented to demonstrate how this type of interface can guide professionals to a more efficient decision making process. 3.2.3.1 Markowitz Model According to Junior et al. (2002), what is still lacking nowadays is a tool that can work between the concepts and the practical. In the financial area, investors continue to take decisions without using many consolidated models of investment science. Of this form, the environment applied the Markowitz Model, Markowitz (1952), to help the investors to use capital market concepts to take better decisions. For the proposed environment, the application of the Markowitz Model is based in the following problem situation: “An investor needs to compose a portfolio with different assets. Applying the Markowitz Model, how much an investor should invest in each asset minimizing the risk according to the expected return? ”. To solve this problem, the initial screen of the DSS asks for two inputs: the first one refers to the number of the assets that composes the portfolio; the second entry refers to the number of periods that the investor has as historical data. After that, the environment generates an array, so the professional can input the data of each asset in the respective period of time and submits it to the environment. The environment generates a covariance matrix based on the users historical data, and the optimization server solves the model using OR techniques. The result of this optimization is sent back to the application server that is responsible to display the solution to the user. The
figure 2 shows how the environment presents the solution of the Markowitz Model to the user.
is called of container. For the environment’s construction, Apache Tomcat was used as a container. 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 an inter-servlet communication, the application server will send the packed object to the optimization server.
Figure 2: Screen with results of an example application using Markowitz Model. 3.2.3.2 Diet Problem According to Luenberger (1984), the objective of the diet problem is to find the cheapest combination of foods that will satisfy all the daily nutritional requirements of a person. The problem is formulated as a linear program where the objective is to minimize cost and meet constraints which require that nutritional needs be satisfied. The constraints are included to regulate the number of calories and the amounts of vitamins, minerals, fats, sodium and cholesterol in the diet. To solve this problem, first the nutritionist defines in the environment what food will compose the diet with its respective unitary prices. After that, the professional defines the nutrients that will compose the diet with its respective desired quantities. At this moment, the application asks the nutritionist to inform the amount nutrients in each food. After this input process, the environment creates the linear model that will be solved in the optimization server. The results are sent back to the application server, which will display the solution. 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. This environment’s portion was defined using JAVA technology, specifically the sevlets technology. One servlet is a Java class that can automatically be loaded and executed by a special Web server. This Web 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. To turn this possible, the optimization server has also to receive the data sent by the application server and to unpack them. 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. 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 component 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. Others solvers may be applied to the framework while remaining transparent to the others components. By implementing the Web Optimization Environment 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 Optimization Environment with Decision Support System Applications 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 DSS applications in the specialized interface; implementation of an environment 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. 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 environment to the Java Web Services Technology. For future work, we pretend to aggregate new DSS applications into the specialized interface. ACKNOWLEDGEMENTS We offer thanks for the support provided by the Conselho Nacional de Pesquisa e Desenvolvimento (CNPQ), Núcleo de Aplicação de Tecnologia da Informação (NATI) and Fundação Edson Queiroz on the development of this project. REFERENCES [1] Cohen, M., Kelly, C. B., and Medaglia, A. L., “Decision Support with Internet-Enabled”, Interfaces, Vol. 31: 2, pp109 –129, 2001. [2] Czyzyk, J., Owen, J. H. and Wright, S. J. “Optimization on the Internet”, OR/MS Today, Vol.24:5, pp48- 49, 1997. [3] Fourer, R., Goux, J.P., “Optimization as an Internet Resource”, Interfaces, Vol. 31:2, pp130-150, 2001. [4] Geoffrion, A. M., Krishnan, R., “Prospects for Operations Research in the E-Business Era”, Interfaces, Vol. 31:2, pp6 – 36, 2001. [5] Geoffrion, A. M., Maturana, S., “Generating Optimization-Based Decision Support Systems”, 1995. [6] Junior, C. G., Pamplona, E. O., Montevechi, J. A. B., “Seleção de Carteiras Através do Modelo de Markowitz para Pequenos Investidores (Com Uso de Planilhas Eletrônicas)”, IX Simpep, 2002. [7] Little, J., “Operations Research in Industry: New Opportunities in a Changing World”, Operations Research, Vol. 39, pp531-542, 1991.
[8] Luenberger, D. G., “Linear and Programming”, Second Edition, 1984.
Nonlinear
[9] Markowitz, H. M., “Portfolio selection”, Finance, Vol. 7, pp77—91, 1952.
J.
[10] Pinheiro, P.R., Oliveira, J. A., “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, pp.553 – 557, 2004. [11] Pinheiro, P.R., Rodrigues, M.M., Brasil, A., “A Web Optimization Environment”, ICMSAO´05 Proceedings First International Conference on Modeling, Simulation and Applied Optimization, 2005. [12] Schrage, L., “Optimization Modeling with LINDO API”, LINDO Systems Inc, First Edition, 2002. [13] Yen, B. P., “WEB-Based Simulation Tools”, The Hong Kong University of Science and Technology, pp18- 22, 1997.