Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

MathOptimizer Professional: New Features and Applications

Frank J. Kampas
Organization: WAM Systems, Inc.
János D. Pintér
Organization: Pintér Consulting Services, Inc.

2006 Wolfram Technology Conference
Conference location

Champaign, IL

MathOptimizer Professional (MOP) is a third party product for advanced numerical optimization (Pintér and Kampas, 2003). MOP solves constrained nonlinear-both global and local-optimization models, under very general structural requirements. The general model form handled by MOP is

min f(x) subject to Element[x,D] D:={x: xl<=x<=xu g(x)<=0}.

Here Element[x, R^n] is the vector of decision variables; f:R^n->R is the continuous objective function; D is a proper subset of R^n, the (by assumption, nonempty) set of feasible decisions. D is defined by explicit, finite (component-wise) lower and upper bounds xl and xu and by a collection (m-vector) of continuous constraint functions g:R^n->R^m. This model-class is very general and includes a great many difficult instances. For a simple illustration, consider the model (in Mathematica-style notation)

min ((Sin[x*y - y])^2 + (Cos[x - y^2])^2) {x + Sin[y] <= 0.3, x^3 y - y^2 <= 0}, {{x, -5, 2}, {y, -1, 8}}

The objective function of this model instance is shown here. (Similar figures can be generated for the constraints, including combined function plots.)

In[3]:= Plot3D[(Sin[x*y - y])^2 + (Cos[x - y^2])^2, {x, -5, 2}, {y, -1, 8}, ColorFunction -> Hue, PlotPoints -> 50];

*output omitted*

Obviously, local search will not work in such models, and users need to apply suitable global scope search techniques.

MathOptimizer Professional combines the model development power of Mathematica (Wolfram, 2003; Wolfram Research, 2006) with the Lipschitz Global Optimizer (LGO) solver suite (Pintér, 1996, 2002, 2005). MOP automatically converts the optimization model formulated in Mathematica, making use of a (supported) C or Fortran compiler. The generated model code is then linked to the LGO external solver engine. The numerical solution produced by LGO is seamlessly reported back to the calling Mathematica document. (The user does not need to write or manipulate the interim C or Fortran code and the generated LGO input/output files.) MathOptimizer Professional offers sophisticated application development tools and an external solver engine based functionality comparable to other efficient-compiler-based or optimization modeling language-related-implementations. For further key technical information and professional details related to MOP, see http://www.wolfram.com/products/applications/mathoptpro/, and http://www.pinterconsulting.com.

To illustrate basic MOP functionality by solving the model presented here, we invoke the implementation that uses (in the background) the Lahey Fortran compiler:

In[4]:= Needs["MathOptimizerProLF`callLGO`"]

In[6]:= callLGO[(Sin[x*y - y])^2 + (Cos[x - y^2])^2, {x + Sin[y] <= 0.3, x^3 y - y^2 <= 0}, {{x, -5, 2}, {y, -1, 8}}]

Out[6]= {2.51917*10^-20, {x -> -2.17303, y -> 2.97028}, 0}

The numerical optimum value found indicates that it is a global solution indeed (there could be other solutions that can be generated sequentially). The last numerical entry in the result is the maximal constraint violation at the solution found.

In this presentation, we illustrate several new features of MathOptimizer Professional. These features include the following:

* Increased solution speed * Increased solvable model sizes: in its standard delivery, MOP now can handle models with up to 2000 variables and 2000 general constraints, in addition to the explicit variable bound constraints * Support for an extended range of C and Fortran compilers, for Windows and Linux platforms * New option: support for repeating a MathOptimizer Professional program run, without the need to recompile the generated C or Fortran code * New option: ShowMOPProgress * New option: Auxiliary Functions * New option: OptimizeExpression * Support for logical combinations of constraints

We also review several recent challenging and large-scale MOP applications, including further application perspectives. For more details regarding these, consult (Castillo, Kampas and Pintér, 2006; Kampas and Pintér, 2004, 2006; Pintér and Kampas, 2005; Pintér, 2006; Mason et al., 2006).


Castillo, I., Kampas, F. J., and Pintér, J. D. (2006) Solving circle packing problems by global optimization: numerical results and industrial applications. (Submitted for publication.)

Kampas, F. J. and Pintér, J. D. (2004) Generalized circle packings: Model formulations and numerical results. Proceedings of the 2004 International Mathematica Symposium, Banff, AB.

Kampas, F. J. and Pintér, J. D. (2006) Configuration analysis and design by using optimization tools in Mathematica. The Mathematica Journal 10 (1), 128-154.

Mason, T. L., Bagirov, A., Emelle, C., Kampas, F. J., Pintér, J. D., and van Berkel, J. (2006) Application of Global Optimization Methods for Production Optimization. Presented at the 21st European Conference on Operations Research (Reykjavik, Iceland, July 2006). Paper in preparation.

Pintér, J. D. (1996) Global Optimization in Action. Kluwer Academic Publishers, Dordrecht.

Pintér, J. D. (2002) Global optimization: Software, test problems, and applications. In: Pardalos P. M. and Romeijn, H. E. (Editors), Handbook of Global Optimization, Vol. 2, pp. 515-569. Kluwer Academic Publishers, Dordrecht.

Pintér, J. D. (2005) LGO-An Integrated Model Development and Solver Environment for Continuous Global Optimization. User Guide. Pintér Consulting Services, Inc., Halifax, NS, Canada. (Published with updates since 1996.)

Pintér, J. D. and Kampas, F. J. (2003) MathOptimizer Professional-An Advanced Modeling and Optimization System for Mathematica Users with an External Solver Link. User Guide. Pintér Consulting Services, Inc., Halifax, NS, Canada.

Pintér, J.D. and Kampas, F. J. (2004) Global optimization in Mathematica with MathOptimizer Professional. Mathematica in Education and Research 10 (2), 1-18.

Pintér, J. D. and Kampas, F. J. (2006) MathOptimizer Professional: Key features and illustrative applications. In: Liberti, L., and Maculan, N. (Editors), Global Optimization: From Theory to Implementation, pp. 263-279. Springer Science and Business Media, New York.

Pintér, J. D. (Editor) (2006) Global Optimization-Scientific and Engineering Case Studies. Springer Science and Business Media, New York, 2006.

Wolfram, S. (2003) The Mathematica Book. (5th Edition.) Wolfram Media, Inc., Champaign, IL.

Wolfram Research (2006) Mathematica. http://www.wolfram.com/.

*Wolfram Technology > Application Packages > Applications from Independent Developers > MathOptimizer Professional

MathOptimizer, numerical optimization


Downloads Download Wolfram CDF Player

kampas_pinter_TechConf2006_3.nb (6.4 MB) - Mathematica Notebook [for Mathematica 5.2]
mop_nmin_comparison.nb (16.2 KB) - Cmparison of results from MathOptimizer and NMinimize [for Mathematica 5.2]