Performance World [ Performance World Home | Board | Tools | PerformanceLib | Links | GamsWorld group | Search | Contact ]

Performance Profiles and Quality of Solution

Overview

Previous work using performance profiles proved useful for convex models, such as linear programs (LPs) or certain quadratic programs (QPs). But the resulting graphs only considered: but not quality of solution. Thus, a solver appears to be "better" than another in the original performance profile plots as long as it solves successfully (based on GAMS model and solve status return codes) and is the most efficient.

While this makes sense for convex models, such as LPs, the resulting graphs may be unduly biased when analyzing results for non-convex models or models with discrete variables. In particular with recent advances in global optimization other factors involving solution quality play an important role as well. For example, one solver may indeed be more efficient, but the solution may be worse than that of a solver which is slower in terms of solver resource time. Thus, for models such as mixed-integer programs (MIPs), nonlinear programs (NLPs), or mixed-integer nonlinear programs (MINLPs), useful performance metrics should consider: Therefore, performance tools should also give information depending on what is deemed more important by the user: solver efficiency or solver solution quality. We have extended the performance profiles to include quality of solution information.


Sample Scenario

Consider the following sample performance profiles, which show the effect of considering quality of solution (i.e. the best solution) and solver efficiency, compared to only solver efficiency. The example shows performance profiles for two solvers on a set of MINLP models. One solver is much faster than the other, but quality of solution is worse. See the

Performance in pprocess.gms

The automated performance tool pprocess.gms, which runs all performance routines automatically, including the performance profile routine, takes into account the quality of the solution.

In particular, the routine shows multiple performance profile plots, taking into account that a solver "wins" if it is more efficient only, if it within n % of the best solution, or if it found the best solution.

See the sample results using pprocess.gms, which were used in the ORMS Today August 2002 ad featuring CONOPT:

Top