*New Features:*

*Ability to read
GAMS models*

*Ability to read
AMPL models directly*

*.NET implementation*

What is
MProbe?

Summary of Tools in MProbe

What's New in the Latest Release

Take
a Web Tour of MProbe 3.0

Obtaining MProbe (student/demo and Professional
editions)

Change Log

Contact: Feedback and Email List

Other MPROBEs on the Web

Papers and Presentations

Author's Homepage

MProbe is the missing link in the development environment for mathematical
programs. While conventional programming systems (C++, Java, Fortran, etc.)
have a host of supporting tools to ease the process of writing code (e.g.
debuggers, code profilers), there are no analogous tools to support the
development of mathematical programs in modelling languages such as AMPL, GAMS,
etc. MProbe (*M*athematical *P*rogram *Probe*) provides a suite
of analysis tools for mathematical programs of all types (linear, nonlinear,
integer, logic) with the goal of providing insights into the model. For
example, it can estimate the effectiveness of the constraints, the shape of
nonlinear functions, and the convexity or nonconvexity of the constrained
region; it can shrink the variable bounds; it can provide profile plots of
nonlinear functions; it allows model navigation, etc. See the next section for
an overview of all of the tools.

MProbe is especially strong in the analysis of nonlinear functions to
discern their *shapes* in a region of interest (i.e. whether the function
is linear or almost linear, convex or almost convex, concave or almost concave,
or concave and convex). Knowledge of function shape is crucial when developing
nonlinear optimization models, or when selecting the nonlinear solver for a
nonlinear optimization problem. Determining function shape is difficult for
nonlinear functions having more than two variables, but MProbe is specifically
designed to operate on nonlinear functions having many variables. MProbe also
estimates the shape of a nonlinearly constrained region (convex? nonconvex?),
and the objective function effect (global optimum? local optimum only?). Tightening of variable bounds is also
extremely useful, especially when no bounds are provided initially.

MProbe works with both AMPL and GAMS, languages for expressing and manipulating optimization models, and can read and write MPS files. Student/demo editions of both modeling systems are available for free via the web, so you can begin using MProbe immediately. More information on these modeling systems is available via the links above.

MProbe comprises a set of tools for viewing and analyzing the components of a mathematical model. The tools are grouped into a number of "Workshops": Variables Workshop, Constraints Workshop, Objectives Workshop, and Constrained Region Workshop. The tools are summarized below, grouped by the type of mathematical program to which they apply.

- a
listing of
**statistics**about the model (numbers of variables by type, number of quadratic and general nonlinear constraints, number of linear constraints, etc.) - simple
**navigation**of the model (which variables are in this function? which functions contain this variable, etc.) - analysis
of
**constraint effectiveness**(fraction of the variable space that each constraint eliminates) **selective viewing of variables, constraints and objectives**(e.g. show only the constraints which contain only binary variables, or show only the variables which appear in a particular constraint)**sorting of variables, constraints and objectives**under user control (e.g. sort constraints in decreasing order by constraint effectiveness, sort variables in decreasing order by number of constraints they appear in, etc.)- analysis
of
**redundancy and feasibility.**Estimation of the**fraction of the "surface"**of the feasible region for necessary constraints. - tools
for
**tightening the bounds**around the region of interest (often the feasible region). - find
**near-feasible points**. **read in points**from an external file (e.g. generated by solver) and analyze properties of the point or the region around the point.- identification
of
**best point found**for each objective while sampling. - optional
generation of a plain text
**trace**of the analysis session - a
**modern windowed interface**with a**full help**system.

**analysis of constraint and objective shape**(concavity, convexity, linearity, close-to-linearity, close-to-convexity, etc.), including a histogram which assists in judging how concave or convex a function is.**estimation of function range**(maximum value, minimum value, histogram of function values over many points)**estimation of function "slope"**(actually a multidimensional analog of slope, with a histogram of random tests over the variable space)**function plotting**between any two arbitrary points (which can assist in determining why a solver is stuck at a particular point when a feasible point giving a better function value is known to exist)- estimation
of the
**shape of the constrained region**(convex? nonconvex?) - estimation
of the
**objective effect**(global optimum? local optimum?)

**Variable ordering:**Sort the integer or binary variables according to the number of constraints in which they appear.

**Constraint ordering:**sort the constraints in order of estimated effectiveness. This helps to promote early failure of search tree branches.

The most important new features are:

· MProbe now reads models in GAMS format. GAMS must be installed on your system for this feature to operate correctly. The GAMS system generates intermediate files that are used by MProbe.

· MProbe can now read AMPL models directly, though the older method of first starting AMPL to write or retrieve the model is still available. Note that the AMPL system must be installed on your system.

· MProbe has been converted to run under the Microsoft .NET framework.

· Numerous minor bug fixes.

· MProbe 5.0 re-released on December 19, 2003. No changes in MProbe functionality, but a newer version of the GAMS reader is included, and the Microsoft DLLs for enhanced compatibility are now included.

A student/demo edition of MProbe is available for free, and can be downloaded as described below. An unlimited professional edition is available for purchase (see below).

A freely distributable student/demo edition of MProbe is available for download as described below. Limits are as follows: maximum of 100 variables in the model, maximum of 100 constraints in the model, maximum of 6 variables in any function. The student/demo edition is fully functional aside from these limits.

The student/demo edition runs under the Microsoft Windows 32-bit operating systems. It is packaged as single WinZip file.

Download MProbe 5.0 student/demo edition (1.4 Mbytes).

**Installation:**

- After downloading the files,
unzip them in a directory (e.g. C:\temp\MProbeInstall), and then issue the
command
*setup*in that directory. The setup procedure will ask you where you wish to install MProbe: choose a directory different than the installation directory (e.g. C:\MProbe). - Download a free student/demo edition of AMPL or GAMS and install it on your system. The first time you use MProbe, it will ask you to identify the location of the appropriate modeling system executable on your system.
- New users are advised to
look at the tutorial material in the MProbe help system, particularly the
*Introduction and Orientation*and the*Brief Tour*, before beginning to use MProbe. - Note that the Microsoft .NET framework must
already be installed on your system.
- Known issues:
- You may need to re-boot your
system before the help system becomes functional.
- Resetting your working font size
may cause some of the forms to display incorrectly.

A Professional Edition of MProbe is available by contacting the author. The maximum number of variables, constraints, and objectives in the Professional Edition is limited only by available memory on your system. You will need to obtain a professional edition of the AMPL or GAMS modeling languages to work with full-scale models.

Prototypes of MProbe date to 1994. The first publicly-available, web-distributed version, (MProbe 1.01) dates to October 1996. See the change log for a list of changes introduced by each version since 1.01.

MProbe development is ongoing. What do you like/dislike? What would you like to see in the next version? Have you found a bug? Please email me with your thoughts and suggestions.

Email also if you would like to receive occasional email updates on new releases, bug fixes, etc. The volume of email will be low (a few messages per year at most).

There are several other MPROBEs on the web. Here are some of the more popular:

- an MPEG file analyzer
- a Fortran timing routine
- telescope monitoring program
- a computer memory probing program

MProbe is also used as a short version of "market probe", "molecular probe", "medical probe", "memory probe" etc. on some web pages or web page names.

*If you need to reference MProbe in
your publications, you can use the following: *

John W. Chinneck (2004), "Discovering the Characteristics of Mathematical Programs", seminar for Northwestern University and Argonne National Laboratory, February 3-4. PDF (864 kbytes).

John W. Chinneck (2004), “The Constraint Consensus Method for Finding
Approximately Feasible Points in Nonlinear Programs, *INFORMS Journal on
Computing*, Vol. 16, No. 3, Summer 2004, pp. 255–265.
PDF (136 kbytes). Describes the Constraint
Consensus method used in several places in MProbe 4.0.

John W. Chinneck (2002), “Discovering the Characteristics of
Mathematical Programs via Sampling”*, Optimization Methods and Software*,
vol. 17, no.2, pp. 319-352. PDF
of draft version. Describes the sampling algorithms used in MProbe version 3.2, and the
kinds of information that can be extracted via sampling.

John W. Chinneck (2001), “Analyzing Mathematical Programs using MProbe”, *Annals
of Operations Research*, vol. 104, pp. 33-48. PDF
of draft version. Describes
an older version of MProbe, but does provide an overview of capabilities.

*MProbe user’s guide in French:*

Nathalie Perrier (2002), “Analyse de
fonctions non linéaires avec MProbe”, École Polytechnique de Montréal. MS-Word
(188 kbytes), PDF
(1.6 Mbytes).

*For those interested in
participating in MProbe-related research:*

John W. Chinneck (2001), *MProbe Research Plans 2001*. This brief article describes some possible
directions for future MProbe-related research, and invites participation by
other researchers. PDF
source (21k).

last modified: September 2, 2004.