Whats new

From SUMOwiki
Revision as of 17:30, 6 August 2008 by Dgorissen (talk | contribs)
Jump to navigationJump to search

This page gives a high level overview of the major changes in each toolbox version. For the detailed list of changes please refer to the Changelog page. For a list of features in the current version see the about page.

7.0 - No release date set

Some of the features planned for the next version (WARNING: this list is incomplete and subject to change)

  • Full multi-objective support when optimizing the model parameters. This allows an engineer to enforce multiple criteria on the models produced (instead of just a single accuracy measure)
  • Improved and wider support for constraints
  • Improved (Model - Interface) bridge
  • Multi-level Measures (waterfall model)
  • Complete move to Matlab 2008 and its object orientation features

6.0 - Released 6 August 2008

Originally this was supposed to be 5.1 but after many fixes and added features we decided to to promote it to 6.0. Some of the things that can be expected for 6.0 are:

  • Some important modeling related bugs have been fixed leading to improved model accuracy convergence
  • A nice graphical user interface (GUI) for loading models, browsing through dimensions, plotting errors, generating movies, ... (See here for more information)
  • Introduction of project directories. All files belonging to a particular problem (simulation code, datasets, XML files, documentation, ...) are now grouped together in a project directory instead of being spread out over 3 different places.
  • Support for autosampling, one or more dimensions can be ignored during adaptive sampling. This is useful if the simulation code can generate samples for that dimension itself (e.g., frequency samples in the case of a frequency domain simulator in Electro-Magnetism)
  • Models now remember axis lables, measure scores, and output names
  • An export function has been added to export models to a standalone Matlab script (.m file). Not supported for all model types yet.
  • Proper support for Matlab R2008
  • A simple new model type "PolynomialModel" that builds polynomial models with a fixed (user defined) order
  • Note that in some cases loading models generated by older toolbox versions will not work and give an error

And of course countless bugfixes, performance, and feature enhancements. Upgrading is strongly advised.

5.0 - Released 8 April 2008

SUMO Toolbox

In April 2008, the first public release of the SUrrogate MOdeling (SUMO) Toolbox occurred.

Sampling related changes

The sample selection and evaluation backends have seen some major improvements.

The number of samples selected each iteration need no longer be chosen a priori but is determined on the fly based on the time needed for modeling, the average length of the past 'n' simulations and the number of compute nodes (or CPU cores) available. Of course, a user specified upper bound can still be specified. It is now also possible to evaluate data points in batches instead of always one-by-one. This is useful if, for example, there is a considerable overhead for submitting one point.

In addition, data points can be assigned priorities by the sample selection algorithm. These priorities are then reflected in the scheduling decisions made by the sample evaluator. It now also becomes possible to add different priority management policies. For example, one could require that 'interest' in sample points be renewed, else their priorities will degrade with time.

A new sample selection algorithm has been added that can use any function as a criterion of where to select new samples. This function is able to use all the information the surrogate provides to calculate how interesting a certain sample is. Internally, a numeric global optimizer is applied on the criterion to determine the next sample point(s). There are several criterions implemented, mostly for global optimization. For instance the 'expected improvement criterion' is very efficient for global optimization as it balances between optimization itself and refining the surrogate.

Finally the handling of failed or 'lost' data points has become much more robust. Pending points are automatically removed if their evaluation time exceeds a multiple of the average evaluation time. Failed points can also be re-submitted a number of times before being regarded as permanently failed.

Modeling related changes

The modeling code has seen some much needed cleanups. Adding new model types and improving the existing ones is now much more straightforward.

Since the default Matlab neural network model implementation is quite slow, two additional implementations were added based on FANN and NNSYSID which are much faster. In addition the NNSYSID implementation also supports pruning. However, though these two implementations are faster, the Matlab implementation still outperforms them accuracy wise.

An intelligent seeding strategy has been enabled. The starting point/population of each new model parameter optimization run is now chosen intelligently in order to achieve a more optimal search of the model parameter space. This leads to better models faster.

Optimization related changes

Various changes

The default 'error function' is now the root relative square error (= a global relative error) instead of the absolute root mean square error.

The memory usage has been drastically reduced when performing many runs with multiple datasets (datasets are loaded only once).

The default settings have been harmonized and much improved. For example the SVM parameter space is now searched in log10 instead of loge. The MinMax measure is now also enabled by default if you do not specify any other measure. This means that if you specify minimum and maximum bounds in the simulator xml file, models which do not respect these bounds are penalized.

Finally this release has seen countless cleanups, bug fixes and feature enhancements.