MPL for Windows Manual
1.2 Key Features of MPL
- Graphical User Interface. MPL is an integrated model development
system that offers full support for all standard Windows features, including
dialog boxes, mouse support, pull-down menus, graphics, toolbar, and on-line
help. Furthermore, the new version of MPL, supports advanced Windows
graphical features such as tree windows, long filenames for models, illustrative
icons for each type of window, and context sensitive help.
- Direct link to Windows DLL solvers. MPL can set up the matrix
and then send it to the solver directly through memory. Solvers that are
supported in MPL as Windows DLL include, CPLEX, XPRESS, OSL, XA, CONOPT,
LSGRG2, and FrontMP. MPL can also handle legacy DOS solvers through a DOS window.
- Database Connection. MPL can import both indexes and data directly
from a database. After the model has been solved, MPL can also export the
solution back to the database. Furthermore, MPL can easily be called directly
from other Windows applications, including databases. Supported databases
include Access, Paradox, FoxPro, and Dbase and any ODBC compatible database.
- Manage models through projects. If you are using MPL to work
on multiple models, that use different files and option settings, you can
use projects to manage the models. Projects are used to store information
about items such as, open model files and windows, the default working
directory, and current option settings.
- Model Definitions window. MPL allows you to view defined items
from the model formulation in an easy to browse tree window. You can expand
and collapse each branch to show only the elements you are interested in.
You can display the contents for each item, such as elements for an index
or solution values for a variable, simply by selecting it in the tree.
- Message window. While MPL is running it can send various progress
information to a message window. What is displayed is selected by the user
and can include status window messages, MPL input lines, performance statistics,
warning messages, SQL statements, and iteration log information from the
solver.
- Context sensitive help. MPL supports Windows context sensitive help for dialog boxes.
To display the help, simply select the question mark button in the upper right corner
of the dialog box and then click on the item you want help for. A small
window will popup with a short explanation of the item you selected.
- Multiple input formats. In addition to the modeling language,
MPL can read multiple other input formats, including MPS. MPS files and native input
formats for solvers such as CPLEX. MPL will automatically detect the format,
when reading the input file, and switch to the correct language. MPL can also
be used to generate several different solver input formats. This ensures that models
created in MPL can be solved with nearly all industrial strength optimization
packages available on the market today.
- Helpful error messages. MPL makes it easy to correct mistakes
in your formulation. An error window pops up containing the erroneous
line in the model file where the error is described in plain English. After
you have read the message, the program automatically locates the line in
the model file and moves the cursor to it.
- Meaningful names. You can use meaningful names of any length
for variables and constraints, so the formulation is easy to read and understand.
You can also, for additional clarity, use explanations and general comments
throughout the model file.
- Free format constraints. With MPL you can write variables and
constants on both sides of the constraints. This means that you
do not have to convert the constraints to a standard format before entering
them.
- Arithmetic in the input. You can use fractions, products, percentages,
and mathematical functions in the model file. This flexibility not only
allows clearer formulation, but also automatically results in the highest
possible accuracy. Full use of parentheses is also allowed.
- Separation of data from the model. With MPL you can read
in data from external data files in both sparse and dense data formats. The
data files can be created either using the text editor in MPL or be
exported from other programs such as spreadsheets and databases. For example,
to read in data file containing a price list you would simply enter:
price[product] := datafile(price.dat);
Data entered at run-time. Named data constants can be given
a value interactively at run-time. You are prompted for the value when
the model file is read. This feature can be very useful when you want to
run the same model several times with different data values.
Summation over vector variables. In MPL you can work with vector
variables of up to eight dimensions concisely and effectively. For example,
to add the produc-tion cost for all months and products, you simply type:
SUM(month,product: ProdCost * Production);
Expansion of structured constraints. Models generally have many
similarly structured constraints. In MPL you can enter these constraints
in a single line that is then expanded to a list of constraints. For example,
to enter 12 constraints, one for each month, you would type:
InventoryBalance[month=Jan..Dec] :
Inventory = Inventory[month-1] + Production - Sales;
Macro definitions. Macro definitions in MPL allow you to
define a part of a constraint or formula that is frequently used as a macro.
You can then refer to it in the model by entering just the macro name. In
some cases macros can be used to eliminate unnecessary equality constraints
and thereby reduce the size of the problem for the solver.
Include files. MPL allows you to include external files to
the model formulation, using a simple include command. Include files
can also be a great advantage when you want to solve a number of closely
related models containing common data or model statements.
Back to Top |
Maximal Home Page |
Table of Contents |
Previous Page |
Next Page
webmaster@maximalsoftware.com.
Copyright (C) 1997-2003 Maximal Software, Inc. - All rights reserved.