MProbe logo

MProbe 5.0

(released December 19, 2003)
an assistant for mathematical programming

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

What is MProbe?

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 (Mathematical Program 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.

A Summary of the Tools in MProbe

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.

Tools for all forms of mathematical programs:

Tools that are especially useful for nonlinear programs:

Tools that are especially useful for mixed-integer or integer programming:

Tools that are especially useful for logic programming:

What's New in MProbe 5.0?

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.

Obtaining MProbe and Related Software

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).

Student/Demo Edition

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).



Professional Edition

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.

Change Log

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.

Feedback and Mailing List

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).

Other MPROBEs on the Web

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

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.

Papers and Presentations

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.