Developing Large-Scale Optimization Models with the MPL Modeling System

Developing Large-Scale Optimization Models with the MPL Modeling System

Developing Large-scale Optimization Models with the MPL Modeling System A White Paper Maximal Software, Inc. 2111 Wilson Boulevard, Suite 700 Arlington, VA 22201, USA (703) 522-7900 www.maximalsoftware.com Developing Large-Scale Optimization Models With the MPL Modeling System I. Introduction Optimization is today one of the most important tools in implementing and planning efficient operations and increasing competitive advantage. Organizations need to make intelligent decisions to obtain optimal use of their available resources, such as manpower, equipment, raw materials and capital. The discipline of optimization, through the use of advanced mathematics and computer science techniques, can be used to assist organizations with solving their complex business problems in areas such as manufacturing, distribution, finance, and scheduling. Typically, these optimization problems contain hundreds, thousands, or even millions of interconnected variables and require an advanced set of software tools to solve. Today, the field of optimization entails highly advanced software applications that integrate sophisticated mathematical algorithms and modeling techniques with intelligent software programming and data processing capabilities. There are a variety of business problems where optimization is applicable. For instance, organizations have been implementing, with enormous effort and expense, ERP (Enterprise Resource Planning) and SCM (Supply Chain Management) systems in order to access corporate data to make important decisions that can improve productivity and increase their competitive edge. Optimization can now be used to perform in-depth analysis on this data in order to identify the implications of different options before making key decisions. Optimization projects begin with the development of a mathematical model that defines the business problem. Individual business decisions are represented as “variables,” and the connections between them are represented by a series of mathematical equations termed “constraints”. The “objective” represents the goal of the business problem, for example, to maximize profitability or lower costs. Identifying the variables, the constraints and the objective is known as the “modeling” process and is an essential task for every optimization project. After the model has been formulated, it is then solved, using an optimization solver, which, at its core, has highly sophisticated algorithms adept at intelligently sorting through huge amounts of data and analyzing possible approaches to come up with an optimal solution. MPL Modeling System Maximal Software Inc. is the developer of MPL (Mathematical Programming Language) an advanced modeling system that allows the model developer to formulate complicated optimization models in a clear, concise, and efficient way. Models developed in MPL can then be solved with any of the multiple commercial optimizers available on the market today. MPL includes an algebraic modeling language that allows the model developer to create optimization models using algebraic equations. The model is used as a basis to generate a mathematical matrix that can be relayed directly into the optimization solver. This is all done in the background so that the model developer only needs to focus on formulating the model. Algebraic modeling languages, such as MPL, have proven themselves over the years to be the most efficient method of developing and maintaining optimization models because they are easier to learn, quicker to formulate and require less programming. MPL offers a feature-rich model development environment that takes full advantage of the graphical user interface in Microsoft Windows, making MPL a valuable tool for developing optimization models. MPL can import data directly from databases or spreadsheets. Once the model has been solved, MPL also has the ability to export the solution back into the database. MPL models can be embedded into other Windows applications, such as databases or spreadsheets, which makes MPL ideal for creating end-user applications. 1 The main purpose of a modeling language is to retrieve data from a structured data source, such as a database, and generate a matrix that the optimization solver can handle. For large optimization models, this matrix generation requires a modeling language with highly advanced capabilities, such as sparse indexing and database management, as well as high scalability and speed. Many details need to be taken into account when choosing a modeling language for optimization projects: ♦ Model Development Environment ♦ Robustness and Flexibility of the Modeling Language ♦ Indexing and Data Management ♦ Scalability and Speed ♦ Database Connections ♦ Connection to Solvers ♦ Deployment into Applications This white paper will explore each of these areas and demonstrate how the MPL Modeling System implements them. II. MPL Integrated Model Development Environment The MPL Modeling System is a state-of-the-art optimization modeling software. MPL, through the use of advanced graphical user interface features, creates a flexible working environment that enables the model developer to be more efficient and productive. MPL provides in a single system all the essential components needed to formulate the model, gather and maintain the data, optimize the model, and then analyze the results. The model developer uses the built-in model editor to formulate the MPL model statements and then selects the optimizer directly from the menus to solve the model. The solution results are automatically retrieved from the solver and displayed, providing the user with instant feedback. Each item defined in the model is also displayed in a tree window allowing the model developer to browse through them easily. When using MPL to work on multiple models, the user can manage them effectively by utilizing project files. Project files store information about items such as, open model files and windows, the default working directory, and current option settings for both the modeling system and the solver. The MPL Modeling System links to solvers dynamically through memory at run-time. This gives MPL the capability to integrate the solver completely into the modeling environment, resulting in the matrix being transferred between the modeling system and the solver directly through memory. As no files are involved, this seamless connection is both considerably faster and more robust than the traditional use of files in other modeling systems. In the event it is necessary to change any algorithmic options, MPL provides easy-to-use option dialog boxes for each solver. MPL fully supports context-sensitive help for option dialog boxes. A complete, printable on-line version of the manual, covering both the modeling environment and the language, is also available in the on-line help system for easy access. MPL was designed to be portable and to be run on multiple platforms. MPL for Windows is the most popular platform but an OSF Motif version is also available for various UNIX flavors including: HP 9000, IBM RS-6000, Sun SPARC, and Silicon Graphics. MPL models are portable so a model created for one platform can always be read on any other supported platform. 2 III. MPL Modeling Language The MPL modeling language offers a natural algebraic notation that enables the model developer to formulate complex optimization models in a concise, easy-to-read manner. Among modeling languages, MPL is unrivaled in its expressive power, readability, and user-friendliness. The MPL modeling language was designed to be very easy to use with a clear syntax making the process of formulating models in MPL efficient and productive. MPL is a very flexible language and can be used to formulate models in many different areas of optimization ranging from production planning, scheduling, finance, and distribution, to full-scale supply-chain optimization. MPL is a very robust and stable software whose core modules have been through extensive use and testing over more than a decade. This assures that the MPL software is both reliable and dependable and can be used in mission-critical projects. Some of the more notable features of the MPL language include: ♦ Separation of the data from the model formulation. ♦ Import data from different data sources. ♦ Independence from specific solvers. ♦ Use of macros for repetitive parts of the model. ♦ Include files to make handling of large problems easier. ♦ Exclusion of parts of the model using conditional directives. ♦ Special Ordered Sets and Semi-continuous variables ♦ WHERE/IF conditions to handle special cases. ♦ Readable and helpful error messages. Sparse Index and Data Handling One of the most important features of any modeling language is how it handles large amounts of data. What makes MPL so powerful is its ability to effectively handle very large sparse index and data sets. In addition, MPL has extensive flexibility when working with subsets of indexes, functions of indexes, and compound or multi-dimensional index sets. This allows the model formulator, for example, to index only over products that are made by each machine in a specific plant instead of having to go through all the products for all the machines and all the plants, which would be considerable slower. Scalability and Speed MPL can easily handle very large matrices with millions of variables and constraints. This is especially important when dealing with large supply-chain optimization models over multiple time periods that can grow very quickly. MPL has its own memory manager

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us