Tutorial Overview

In this tutorial we will introduce you to the MPL Modeling System through step-by-step examples. It contains multiple sessions, with a series of models, gradually increasing in difficulty; in order to explain how to formulate linear programming models. This tutorial is specifically designed for teaching optimization modeling the way it is being applied in the corporate world. By the end of this tutorial, you should have a working knowledge of MPL and the formulation of models. The tutorial contains the following sessions:

Session 1:Running MPL on a Sample Model

Session 1 introduces you to the MPL Modeling System, and how you can use its Integrated Model Development Environment to solve optimization problems. We show you how to start the MPL application, and load a sample model, solve the model using one of the available optimizers, and then view the solution. Information on how to access the on-line help system in MPL will also be outlined. The purpose of this session is to give you an overview on how to solve models in MPL and to get you acquainted with the program. If you are already familiar with MPL and graphical user interfaces, such as Windows, you can go to the next session without losing continuity.

Session 2: Formulating a Simple Product-Mix Model

In Session 2, you will be introduced to the process of formulating linear programming models, by identifying the decision variables, the objective function and the constraints for the model. The session contains a description of a simple product-mix model, with two variables and three constraints. The purpose of this session is to have you use MPL, through a small example, create a simple model in order to understand the basic steps of formulating a model. Then solve the model and analyze the solution that is generated.

Session 3: Introducing Vectors and Indexes in Models

In Session 3, you will learn the basics of how to use indexes and vectors to formulate models. You will see how indexes are used to define the domain of the model, making it easy to quickly adjust the problem size. You will then find out how to use vectors to define model elements, such as data, variables, and constraints in a more efficient manner using the indexes. Finally, you will see how to use summations and macros on the vectors in your model formulation.

Session 4: A Production Planning Model with Multiple Time Periods

In Session 4, you will expand the model, from the previous session, to include multiple time periods. A new index is introduced into the model to define these time periods, and then you will update the various vectors in the model that are affected to account for the new index. You will become familiar with a new kind of constraint, called a balance constraint, that is used to connect together the production, sales and inventory variables for the model.

Session 5: A Production Planning Model with Multiple Plants

In Session 5, you will encounter a model that has multiple plants available to produce the products. You will take the model from the previous session, and upgrade it to include another index plant, which will represent all of the plants. You will then go through the model, step by step, and update all the variable vectors and constraints to account for the new index. Finally, you will learn how to use external data files to store data too large to be included in the actual model file.

Session 6: Upgrading the Model to Allow Shipments Between Plants

In Session 6, you will take the multiple plants model from the previous session and upgrade it to allow for shipments between the plants. This will mean that each plant can sell the products and maintain inventory independently, instead of doing so from a single source for the whole company. To fulfill demand in the most efficient manner it is necessary to be able to ship products between the plants. Finally, you will learn how to use where conditions to take out the vector elements that are not valid, such as shipments returning to the same location.

Session 7: Using Sparse Data in MPL Models

In Session 7, you will take the model from the previous session and add multiple machines for each plant. This will introduce sparsity into the model, since not all machines are available in all the plants. You will use a new feature, a sparse data vector, to represent which machines are available in which plant. You will learn different ways to define sparse data vectors in MPL, including using the IN operator and sparse data files.


Back To Top | Maximal Home Page | Overview | Previous Page | Next Page