The second option allows the optimization of the FIS elements: MF bound location for fuzzy inputs and outputs, rule conclusions. The Solis and Wetts method is available. It is a mono agent evolutionist strategy. The reference [7] gives the detailed algorithms. It is available in two forms:

- Solis Wets
This is a ready to use standard version.
It allows an easy selection of the components to optimize: first inputs in
the user given order, then output and finally rules.
The optimization is an iterative procedure, with a default number of
steps equal to 1.
A minimum distance constraint between two neighboring MFs is proposed. Its default value is 1% of each variable range.

A cross-validation option is available. A chosen number (10 by default) of random learning-test pairs is generated. For each pair, an optimized FIS is designed from the learning sample, and its accuracy is measured on the corresponding test sample. The optimized FIS are then aggregated into a unique final FIS. Each of the final FIS parameters is the median of the corresponding parameters for the optimized FIS. The final system is usually more accurate (in average) on the test samples than each of the optimized systems.

A detailed presentation of the optimization module can be found in:

Serge Guillaume and Brigitte Charnomordic. Parameter optimization of a fuzzy inference system using the fispro open source software. In IEEE Catalog Number: CFP12FUZ-USB, editor, IEEE International Conference on Fuzzy Systems, pages 402-409, Brisbane, Australia, June 2012. IEEE.

- Custom Solis Wets
It gives access to the whole set of parameters but is more difficult
to use.
In any case the optimization procedure does not find the absolute best solution, but one among the solutions corresponding to the given criteria.

Possible constraints

Whatever the FIS element to optimize, the optimization is based on the FIS performance improvement.

The algorithm can be sumitted to some user defined constraints. The solutions found will onlu=y be retained if they satisfy the constraints.

Parameters:

- choosing the output, if the datafile has several outputs. The performance will be based on one output only.
- maximum number of iterations: default value=100.
A higher value will increase the success rate of the procedure.

- blank threshold: fuzzy inference parameter for the performance calculation (see the corresponding explanation in section 2).
- Advanced parameters:
Opens a popup window allowing to set some parameters to control the algorithm.

- seed value
Initialize the random generator.

- Solis & Wetts constants
- Gaussian noise standard deviation: internal parameter, that must be between 0.0 and 1.0. If too high, convergence is slow, default value: 0.005.
- max number of constraints: default value=1000.
Number of random draws allowed to consider a configuration as a
candidate before the iteration number is incremented.
Raise this number if needed to increase the chances for the search algorithm to find a valid solution.

The solutions found by the algorithm are kept only if the constraints are respected.

- seed value
- FIS elements to optimize:
Check the checkboxes to choose the FIS elements to optimize.

- Select all inputs :
This checkbox preselects/unselects all MFs for all inputs.

- Select all rules :
This checkbox preselects/unselects all rules for rule conclusion optimization.
- Standard
If this checkbox is checked, the partitions are standardized fuzzy partitions, which guarantees the respect of the semantic [4] and the rule interpretability.

- optimize fuzzy sets
For each input, each MF is listed with a checkbox to select/unselect it.

For the output:For a fuzzy output, check/uncheck Standard (for Standard Fuzzy Partition) and select the MFs to optimize, as for inputs.

- Rule r
For each rule, checkbox to select/unselect it. The selected rules will have their conclusion optimized.

If the output is crisp, the Limited vocabulary in FIS option restraints the conclusion values to a permutation of the initial values given in the FIS configuration. Otherwise, the conclusions can take any value.

- Display the key
Displays the key for a copy/paste operation, to reuse it as an argument of the fisopt program.

Result

In case of success, the procedure creates a new optimized FIS, which is opened in a new window. Otherwise, a warning is displayed.

A perf.res file is written, that includes the accuracy of the initial FIS, of each optimized FIS and of the medain FIS, calculated for the initial dataset, each test sample and each learning sample.

Advice for users

The optimization procedure does not find the absolute best solution, but one solution corresponding to the given criteria.

It is advisable to proceed with successive steps, rather than to optimize everything at once. It is always possible to iterate the optimization procedure, by reusing the FIS created at the previous optimization step.