Sie sind auf Seite 1von 30

CONSULTING GROUP "INEX-FT"

________________________________________________________________________________

FUZZY FOR EXCEL


version 4.0

User manual

2010

CONTENT
1
2
3
3.1
3.2
3.3
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5
6
7

Destination
Construction's basis and restrictions
Function of Fuzzy for Excel
Functions for creating fuzzy numbers
Functions for processing fuzzy data
Auxiliary functions
Tools of Fuzzy for Excel
Displaying and creating of fuzzy numbers
Displaying of fuzzy process
Preparing of diagrams of Microsoft Excel
Options
Transferring of fuzzy numbers into fuzzy memory cells
Calculating of factors influence
Assigning of time of factors influence
Help
Installation and deinstallation of Fuzzy for Excel
List and short characterization of functions of Fuzzy for Excel
Description of the algorithm of arithmetic operations with
fuzzy numbers

3
4
6
6
8
11
13
13
16
17
17
18
18
19
20
21
22
24

1. DESTINATION
This Manual determines destination of software "Fuzzy for Excel" (further for abridgment - the FE), gives
the description of functionalities and restrictions of this software.
Software "FE" is intended for the solving of analytical problems in uncertainty conditions in environment
of widespread software Microsoft Excel. It is the fourth version of the software which has been developed
by consulting group INEX-FT (Ukraine). The FE is based on using of algorithms of fuzzy technology for
the solving of analytical problems in uncertainty conditions. By means of the FE the user can solve three
types of analytical problems:

any calculations with use of fuzzy numbers;


problems of evaluation and classification of alternatives (problem of correlation of alternatives to
the described classes);
problems of forecast.

The FE solves the first problems type with use of algorithm of arithmetic operations according to principle
of entropy maximum of decision. The FE solves the second problems type with use of fuzzy sets and fuzzy
measures. Here the FE provides support of network-like structure of criteria of evaluation and
classification. The FE solves the third problems type with using of forecast algorithm of composite events
influence. It is fundamentally new forecast algorithm. The algorithm differs from widespread algorithms
that this algorithm uses the information about events which have occurred in the past and are expected in
the future.
The FE has been created in the form of usual add-in of software Microsoft Excel. The FE does not demand
special knowledge of fuzzy mathematics. The FE work is hidden from the user who, however, should
understand the uncertainty nature in analytical problem and should have some skills of interpretation of
fuzzy numbers.
The FE contains the multitude of functions and tools (macro definitions). Functions of the FE create fuzzy
numbers and execute various operations with them. Functions of the FE also execute a wide spectrum of
operations with fuzzy sets and fuzzy measures. The majority of functions works both with fuzzy and with
traditional numbers. Rules of a call and use of FE-functions are traditional. Tools of the FE provide the
visual analysis of calculations results (including 3D-graphics), the solving of a forecasting problem and also
the solving of auxiliary problems.
The FE has the full and restricted version. The restricted version differs from the full version only by cells
range (A1:F6) in which the FE supports an executing of functions and tools.
Please, send your opinions and questions to Email: sveshnikovsv@yandex.ru

2. CONSTRUCTION'S BASIS AND RESTRICTIONS


The FE represents fuzzy numbers in the form of two arrays which have 21 element:

carrier of fuzzy number is an array of consistently increasing numbers: from the minimal value up to
the maximal value;
function of membership is an array of values of certainty.

The FE represents traditional numbers also as fuzzy numbers. At representation of traditional number all
elements of the carrier are equal to this number and all elements of function of membership are equal to
zero except for one element which is equal 1. I.e. the traditional number is a partial case of fuzzy number.
The FE has the following restrictions on numbers:

numbers with module, which is less than 10 ^-10, are treating as a zero;
numbers with module, which is more than 10^16, are inadmissible.

In cell of worksheet the FE displays the parameter of fuzzy number which is established by the user with
help of tool "Options". These options are global options of the FE. At their changing the FE compulsorily
recalculates all open workbooks. On computers with little productiveness the recalculation can demand
long time. Therefore we recommend doing changes of options infrequently. If the user wants to display
various parameters in various cells, he can use auxiliary function FuzzyGetParameter.
All functions return into a cell the values of parameters which are specified in the options. In case of errors
the functions of the FE return value "#ERROR". Exception is function FuzzyFormula which can return
several negative values from -1 up to -7 depending on error's type. Some functions of the FE do not allow
to use other functions as arguments.
Tools of the FE are being caused with help of the menu "Fuzzy" and tools panels "Fuzzy tools".
The FE keeps the fuzzy numbers in cells of hidden worksheet. The FE automatically adds the hidden sheets
into the workbook. Therefore, after creating of new workbook Microsoft Excel will demand a saving of
this workbook, even if the user has not changed any cells. After renaming of a worksheet the user
necessarily should save the workbook. Only under this condition the FE guarantees a correct work.
The user should not use worksheets names which contain blanks, symbols of arithmetic operations and
other uncharacteristic symbols. Otherwise the FE does not guarantee a correct work.
The FE supports system of memory cells which contain fuzzy numbers and which are being kept in binary
files. Memory cells can be used for connection between workbooks and can play a role of database with
fuzzy numbers. For work with memory cells the FE has functions FuzzySetCell and FuzzyGetCell.
However the basic purpose of memory cells consists in providing of data exchange with other applications
of fuzzy technology.
Developers guarantee correct work of the FE only in environment of Microsoft Windows '98, Microsoft
Excel '97 and above. The FE can conflict with some add-ins of Microsoft Excel. However this situation
meets very seldom.
The FE uses graphic library "opengl32.dll". At display of fuzzy processes a correct work of the FE can be
broken due to incompatibility of various versions of this graphic library. Incorrect work of this library is
being observed also at infringements in the software of the video adapter.

Some anti-virus programs and operational systems out from a family of Windows control the calls of
macros and external processes in environment of Microsoft Excel. At occurrence of problems with call of
the FE in such systems it is necessary to address to the system administrator or independently to specify
the access parameters.
The user should use cautiously functions of randomization together with the FE. Some of the functions
generate a random number in cell at any change on worksheet. The FE uses some opportunities Microsoft
Excel which are being based on use of background processes. Therefore in calculations, in which in a
beginning of calculations chain there is a cell with function of randomization, there can be the
infringements of calculations synchronization. It can lead to getting into a loop of calculations.

3. FUNCTION OF FUZZY FOR EXCEL


All functions of the FE have been divided into three basic class:

functions for creating fuzzy numbers;


functions for processing fuzzy data;
auxiliary functions.

3.1. Functions for creating fuzzy numbers


These functions are being called with help of traditional means of Microsoft Excel. Moreover, the FE
enables to write these functions by means of tool "Show fuzzy numbers". The tool is being called out from
menu or panel of the FE. However the tool does not allow to create the fuzzy numbers depending on
contents of other cells. Further the functions of the FE are being listed.
FuzzyFigure(Minimum, Maximum, Level, Figure)
Minimum, Maximum - is range of carrier of fuzzy number
Level - is maximal height of membership function
Figure - a form of membership function:
1 - Trapezium
2 - Left Trapezium
3 - Right Trapezium
4 - Rectangle
5 - Triangle
6 - Left Triangle
7 - Right Triangle
The function creates the fuzzy number in the form of geometrical figure.
FuzzyInterval (Minimum, Maximum)
Minimum, Maximum - is range of carrier of fuzzy number
The function creates the fuzzy number in the form of interval [Minimum, Maximum ]. Such number
models full uncertainty.
FuzzyNear (Number)
The function creates the fuzzy number in the form of neighbourhood of Number.
FuzzyNearAndLessTo (Number, Maximum)
The function creates the fuzzy number in the form of neighbourhood of Number. The neighbourhood is
restricted on the right up to Maximum.
FuzzyNearAndMoreTo (Number, Minimum)
The function creates the fuzzy number in the form of neighbourhood of Number. The neighbourhood is
restricted on the left up to Minimum.
FuzzyLessThan (Number)
6

The function creates the fuzzy number with semantics "less than Number".
FuzzyMoreThan (Number)
The function creates the fuzzy number with semantics "more than Number".
FuzzyLessThanTo (Number, Minimum)
The function creates the fuzzy number with combined semantics "less than Number up to Minimum".
FuzzyMoreThan (Number, Minimum)
The function creates the fuzzy number with combined semantics "more than Number up to Maximum".
FuzzyNearFirstOrSecond (NumberOne; NumberTwo)
The function creates the fuzzy number in the kind of connected neighbourhoods of number NumberOne
and number NumberTwo. At numbers permutation the result is being not changed.
FuzzyNearFromTo (Minimum, Maximum)
The function creates the fuzzy number in the kind of united neighbourhoods of number Minimum and
number Maximum. Result of union is always convex.
FuzzyMakeFromStatistic (CellsRange)
The function creates fuzzy number as distribution of statistical possibility. For transformation of statistical
data into fuzzy number the function uses algorithms which are being based on interrelation of distributions
of probability and possibility. Carrier borders of fuzzy number are being determined according to minimal
and maximal number in statistical sample.
FuzzyHand (("SN","SF"))
The function allows to create a fuzzy number of the any form. String SN describes the carrier of fuzzy
number, and string SF describes membership function of fuzzy number. Strings should contain sequence of
numbers which have been divided by symbol ";". This symbol should stand also after last number in string.
The quantity of numbers in strings should be more than 2 and less 21. The quantity of numbers in both
strings should coincide.
FuzzyHandFromCells (Numbers, Functions)
The function allows to create fuzzy number of the any form. Range of cells Numbers describes the carrier
of fuzzy number, and range of cells Functions describes membership function of fuzzy number. The
quantity of numbers in ranges should be more than 2 and less 21. The quantity of numbers in both ranges
should coincide.

3.2. Functions for processing fuzzy data


These functions provide:

transformation of fuzzy data with help of arithmetic operations;


transformation of fuzzy data with help of logic operations;
7

studying results of processing of fuzzy data.

These functions are being caused by traditional means of Microsoft Excel.


FuzzySum (FuzzyNumbers)
The function sums fuzzy and traditional numbers from cells range FuzzyNumbers.
FuzzyProduct (FuzzyNumbers)
The function multiplies fuzzy and traditional numbers from cells range FuzzyNumbers.
FuzzyAverage (FuzzyNumbers)
The function calculates an average arithmetic value of fuzzy and traditional numbers out from cells range
FuzzyNumbers.
FuzzyConvolution(FuzzyNumbers, Factors)
The function calculates an average arithmetic value of fuzzy and traditional numbers from cells range
FuzzyNumbers with taking into account of weight coefficients Factors. The quantity of numbers in both
ranges should be identical.
FuzzyGetDiscount (FuzzyNumber, Discount, Degree)
The function discounts number FuzzyNumber with discount Discount and the period of discounting
Degree.
FuzzyFormula ()
The function carries out any sequence of arithmetic operations with fuzzy numbers. A is an arithmetic
expression with traditional and fuzzy numbers. Work of the function is based on parse of expression A. The
function supports all traditional rules of execution of arithmetic operations. For fuzzy numbers the rules of
execution of arithmetic operations suppose following:

division of numbers onto fuzzy zero;


fuzzy degree of number should be only an integer.

In case of successful execution the function creates fuzzy number, i.e. result of established sequence of
arithmetic operations. In case of error's detection, the function returns one of the following numbers:
1 - syntactic error in formula;
2 - infringement of execution rules of arithmetic operations;
3 - incorrect reference to a cell;
4 - the reference to an empty cell;
5 - the reference to cell which contains erroneous function;
6 - not identified name of cell;
7 - system error or infringement of integrity of the FE.
FuzzyMax (Numbers)
The function unites the several fuzzy numbers out from cells range Numbers.
FuzzyMin (Numbers)
8

The function calculates intersection of the several fuzzy numbers out from cells range Numbers.
FuzzyEquivalenceSets (SetA, SetB)
The function calculates a coincidence measure of two sets out from ranges SetA and SetB. The specified
sets are being treated as the sets which contain only 0 or 1. The coincidence measure is a number which is
the ration of intersection size to union size of these two sets. The sets sizes can be differed. In this case, the
smaller set is being supplemented by zeros up to the size of the greater set.
FuzzyComplementation (FuzzyNumber)
The function turns membership function of fuzzy number FuzzyNumber.
FuzzyDegreeFunction (FuzzyNumber, Degree)
The function exponentiates membership function of fuzzy number FuzzyNumber in degree Degree. This
function is being used for compressing and stretching membership function without change of the carrier of
fuzzy number.
FuzzyIntersection (FuzzyX1, FuzzyY1, FuzzyX2, FuzzyY2, Coord)
Function returns value of one of coordinates of a crossing point of two fuzzy curves which have been
described by segments with fuzzy coordinates. Cells range FuzzyX1 describes coordinates set X of points
on horizontal axis for the first curve. Cells range FuzzyY1 describes coordinates set Y of points on vertical
axis for the first curve. Ranges FuzzyX2 and FuzzyY2 describe analogous variables for the second curve.
Parameter Coord is a cell which contains symbol "X" or symbol "Y". This parameter determines a point
coordinate which the function will have returned into the cell. The function can be used for modelling
curves of supply and demand in marketing researches. The function will have returned "#ERROR" in case
curves are parallel.
FuzzyIntegral (FuzzyNumber, FuzzyMeasure)
The function calculates fuzzy integral of Sugeno on discrete numerical set. Fuzzy measure FuzzyMeasure
and membership function FuzzyNumber should be described by fuzzy numbers.
FuzzyIntegralSemantic (Func, Measure)
The function calculates fuzzy integral of Sugeno on discrete linguistic set from function Func along fuzzy
measure Measure. Membership function and fuzzy measure should be described as linguistic sets in the
kind of cells ranges. Sizes of the ranges should be equal.
FuzzyIntegralSemanticFS (Func, Measure, FuzzySet)
The function calculates fuzzy integral on fuzzy discrete set FuzzySet from membership function Func
along fuzzy measure Measure. The fuzzy set, membership function and fuzzy measure should be described
as linguistic sets in the kind of cells ranges. Sizes of the ranges should be equal. The function is equivalent
to the function FuzzyIntegralSemantic under condition that the membership of all elements of fuzzy set
FuzzySet is equal 1. The difference between the functions FuzzyIntegralSemantic and
FuzzyIntegralSemanticFS consists in what the second function limits subintegral function with help of
membership function of fuzzy set FuzzySet.
FuzzyIntegralSemanticExtFS (Func, FuzzySet, FuncOmega, MeasOmega, Matrix)
9

The function calculates fuzzy integral on fuzzy discrete set FuzzySet from membership function Func
along expanded fuzzy measure. The function returns value of integral from function Func on fuzzy set
FuzzySet along fuzzy measure which is being generated with help of fuzzy integral from function
FuncOmega on indexed fuzzy set Matrix along fuzzy measure MeasOmega. Parameters Func,
FuzzySet, FuncOmega, MeasOmega are the sets in the kind of cells ranges. Sizes of ranges Func and
FuzzySet should be equal. Sizes of ranges FuncOmega and MeasOmega should be equal. Parameter
Matrix should be described by matrix in which the columns quantity should be equal to dimension of
parameter Func, and the quantity of rows should be equal to dimension of parameter FuncOmega. This
function is equivalent to fuzzy integral Sugeno along fuzzy measure which is described in other space.
Matrix Matrix provides connection between spaces.
FuzzyGetLambdaParameter (Measure)
The function returns value of normalization parameter of fuzzy measure Measure which should be
described in the kind of cells range.
FuzzyGetBearer (FuzzyNumber, Number)
The function returns value of carrier of fuzzy number FuzzyNumber with established index Number.
Parameter Number should be in a range from 0 up to 20.
FuzzyGetNumbers (FuzzyNumber, Level, Character)
The function returns the maximal or minimal value of carrier of fuzzy number FuzzyNumber for
established certainty level Level. Parameter Character determines the parameter which should be returned
by the function: 1 - the minimal value; 2 - the maximal value.
Functions FuzzyGetBearer and FuzzyGetNumbers can be used in calculations which reflect the
pessimistic and optimistic view-point.
FuzzyGetParameter (FuzzyNumber, Level, Character)
The function returns the parameter of fuzzy number FuzzyNumber on certainty level Level. Parameter
Character determines the parameter which should be returned by the function: 1 - number with maximum
certainty level; 2 - the gravity centre; 3 - the maximal number on established certainty level; 4 - the minimal
number on established certainty level; 5 - difference of parameters 3 and 4.
The function can be useful in cases when for the analysis or for use in calculations it is necessary to have
values of various parameters of fuzzy number.
FuzzyGetMembership (FuzzyNumber, Number)
The function returns certainty value of carrier of fuzzy number FuzzyNumber into established index
Number of carrier element. Value of parameter should be within of range [0, 20].
FuzzyGetLevel (FuzzyNumber, Number)
The function returns certainty level of one of indexes Number of fuzzy number FuzzyNumber. Parameter
Number determines index of element of fuzzy number and should be in range [0,20].
Functions FuzzyGetLevel and FuzzyGetMembership can be used for getting various certainty values out
from fuzzy number, for example, for construction of graphs which display the pessimistic and optimistic
view-points.
10

FuzzyGetNumberForRisk (Level, FuzzyNumber)


The function returns value of carrier of risk-function of fuzzy number FuzzyNumber on certainty level
Level.
FuzzyGetRiskLessThan(FuzzyNumber, Number)
The function calculates risk that fuzzy number FuzzyNumber will be less than established number
Number.
FuzzyGetRiskMoreThan (FuzzyNumber, Number)
The function calculates risk that fuzzy number FuzzyNumber will be more than established number
Number.

3.3. Auxiliary functions


Auxiliary functions of the FE are intended for automation of operations with fuzzy numbers which are
most often used in the practice. As one of parameters these functions use the reference to cell in which the
fuzzy number has been created previously. The functions allow also the reference to cells with traditional
numbers. In case of error all functions return "#ERROR".
FuzzyCopy (Number)
The function copies fuzzy number out from cell which has been specified by parameter Number.
FuzzySetCell (FileName, CellName, Time, Number)
The function copies fuzzy number out from cell of worksheet Number into fuzzy memory cell with name
CellName out from file FileName. The cell out from the file is being indexed by number Time. Parameter
FileName is string with name of file of fuzzy memory cells. Parameter CellName is string with name of
cell out from this file. Parameter Time should be integer which is more or equal to 0. If in the specified
fuzzy memory cell the specified index does not exist, then consecution of indexes is being created
automatically, since the last existing index and finishing by the index which is specified in a call of the
function.
In the function the parameter FileName can be empty string. In this case the name of file "Fexcel2.fcl",
which is being disposed in folder " \Windows \System ", is being used by default. If the file which has
been specified by this parameter does not exist, it is being created automatically. If the fuzzy memory cell,
which has been specified by parameter CellName, exists, the function replaces contents of this cell.
Otherwise the function creates fuzzy memory cell automatically.
FuzzyGetCell (FileName, CellName, Time)
The function copies fuzzy number out from fuzzy memory cell with name CellName out from file
FileName into current cell of worksheet. The cell out from the file is being indexed by number Time.
Parameter FileName is string with name of file of fuzzy memory cells. In the function the parameter
FileName can be also empty string. In this case the function uses the file "Fexcel2.fcl". Parameter
CellName is string with name of cell out from this file. Parameter Time should be integer which is more or
equal to 0. If the specified index does not exist, the fuzzy number is being returned out from the nearest
index.

11

Fuzzy memory cells are the set of fuzzy numbers which have been indexed by numbers from 0 and more.
These indexes can be used for modelling time processes. Parameter Time specifies index of the cell out
from which it is necessary to take fuzzy number.

12

4. TOOLS OF FUZZY FOR EXCEL


Tools of the FE provide the interactive creating, displaying, documenting of fuzzy numbers, provide a
choosing of parameters which are being displayed in cells of worksheet, and also a call of help system of
the FE.
The FE provides an access to tools with help of the menu "Fuzzy" and the panel "Fuzzy tools" which are
being connected automatically to Microsoft Excel at installation of the FE.
Tools of the FE contain the following tools:

creating and visualizing of fuzzy numbers which are located in cells of worksheet;
displaying of fuzzy process;
preparation of diagrams for construction of diagrams by means of Microsoft Excel;
choosing of options;
transferring of fuzzy numbers into fuzzy memory cells;
calculating of factors influence;
assigning of time of factors influence;
call of help system of the FE.

4.1. Displaying and creating of fuzzy numbers


The user can call the tool by button "Show fuzzy numbers" on the panel of tools. The tool has been
incarnated in the kind of dialogue block which allows:

to analyze fuzzy numbers in selected cells of worksheet;


to create fuzzy numbers in interactive regime without use of the corresponding functions of the FE;
to save images of fuzzy numbers in the exchange buffer "Clipboard".

Before a call of the tool the user should select one or several cells on worksheet. Depending on the content
of selected cells the dialogue block will have executed the following operations:

for cells with fuzzy or traditional numbers the dialogue block will have provided a displaying and
an analyzing of numbers;
for empty (or cells with function FuzzyHand) cells the dialogue block will have provided a creating
of fuzzy or traditional numbers (in fuzzy representation) with help of button "Set".

Figure 4.1 shows the dialogue block.


The dialogue block has been divided onto two parts. The left part of the block is intended for visualizing
and analyzing fuzzy numbers. The right part of the block is intended for creating fuzzy numbers with help
of management elements which work similarly to functions for a creating of fuzzy numbers.

13

Figure 4.1. Dialogue block "Fuzzy numbers in cells"


The left part of the dialogue block.
In the top-part the tools panel with two buttons is located:

the button "Show risk-function" switches on regime of display of risk-function of fuzzy number. In
this regime a correction of fuzzy numbers is not permitted.

the button "Copy into Clipboard" copies the image of fuzzy number into the exchange buffer of
Windows.

the button "Show all" switches on regime of display at once of all fuzzy numbers from selected
cells range. In this regime a correction of fuzzy numbers is not permitted.

the button "Bars/Lines" changes type of the diagram.

the button "Grid" switches on regime of grid display on the diagram.

the button "Show marks" switches on regime of display of marks which contain values of certainty
of membership function of fuzzy number.

If the button "Show all" is not pushed, the diagram displays fuzzy number in current bookmark. In this
case the table, which is located below the panel of tools, displays parameters of fuzzy number. The first
row displays parameters of carrier; the second row displays parameters of membership function:
"Gravity" - gravity centre of fuzzy number;
"Max func" - maximum of membership function of fuzzy number;
"Min on level" - minimum of membership function on established level of certainty;
"Max on level" - maximum of membership function on established level of certainty;
"Diff on level" - difference between maximum and minimum of membership function on established level of
certainty;
"Current" - values which correspond to cursor position of the mouse on the diagram.

14

The dialogue block has popup menu for copying fuzzy numbers out from a bookmark into another. A push
by right button of mouse on the diagram calls the menu.
On the panel of tools the text window "Level" also is located. This window allows to assign manually
certainty level which is being displayed on the diagram by a horizontal line. According to this level the
dialogue block calculates parameters of fuzzy number which are being displayed in the table. Change of the
level automatically causes recalculation of parameters of fuzzy number.
The right part of the dialogue block.
The right part of the dialogue block includes the diagram "Preview" and three pages for creating fuzzy
numbers.

the page "Semantics" provides a creating of fuzzy numbers according to semantic interpretation.

For creating fuzzy number the user should assign firstly size of carrier in text windows with label "Carrier".
Next the user should choose the kind of semantics and should push the button "Build". After that on the
diagram "Preview" the fuzzy number will be constructed. Maximum of membership function of this fuzzy
number always is equal to 1. For assigning this number to number, which is located on the diagram in the
left part of the dialogue block, the user should push the button "Apply". The list of the semantics kinds
corresponds to functions for creating fuzzy numbers. The page allows to create also traditional numbers.
For this the user should choose semantics "Near " and switch off check-box "Fuzzyness".

the page "Figure" provides a creating of fuzzy numbers in the form of geometrical figures (see
function FuzzyFigure).

For creating fuzzy number the user should assign firstly size of carrier in text windows with label "Carrier".
Next the user should choose the kind of geometrical figure and push the button "Build". After that on the
diagram "Preview" the fuzzy number will be constructed. The user can establish maximum of membership
function of this fuzzy number by means of text window with label "Level". For assigning this number to
number, which is located on the diagram in the left part of the dialogue block, the user should push the
button "Apply". The list of the kinds of geometrical figures also corresponds to functions for creating fuzzy
numbers.

the page "Operation" executes two monadic operations with fuzzy numbers:

inversion of membership function;


exponentiation of membership function.

Besides, the page provides an opportunity of accelerated assigning of the form of fuzzy number manually.
For this purpose the user not necessarily should assign certainty level for everyone element of fuzzy
number. On the diagram the user can establish certainty level only for several elements, for example, by
means of the mouse. Next he should push the button "Approximation". In this case the dialogue block will
have calculated automatically certainty level for elements which have been equaled to zero. Calculation will
have been executed by rules of linear approximation. The button "Clear" is being used for zeroing
membership function of fuzzy number.
The user can close the dialogue block by two buttons: "Close" and "Set". The first button closes the block
without change of cells which have been selected before a call of the block. The second button closes the
block and automatically fills empty cells out from group of selected cells by fuzzy numbers which have
been created by the user. The dialogue block keeps these fuzzy numbers in the kind of function
FuzzyHand.

4.2. Displaying of fuzzy process


15

The tool is being called by button "Fuzzy process". The tool has been incarnated in the kind of the dialogue
block. The block displays sequence of fuzzy numbers in the form of fuzzy process. By means of the tool
the user can investigate change during time of any parameter and analyze change of the form and fuzzyness
of the parameter. Before a call of the dialogue block the user should select one or several cells with fuzzy
or traditional numbers. Figure 4.2 shows an example of fuzzy process.

Figure 4.2. Dialogue block "Fuzzy process"


The dialogue block has two parts: graphic part and tool part.
The graphic part is intended for visualizing and analyzing sequence of numbers. The graphic part displays
fuzzy numbers in the kind of a three-dimensional surface in system of the following coordinates:

X is an axis on which carriers of fuzzy numbers are being located;


Y is an axis on which membership functions of fuzzy numbers are being displayed;
Z is an axis on which fuzzy numbers are located.

Axes of the diagram are being scaled automatically.


The tool part is intended for managing graphic part. The tool part carries out the following functions:

changing of diagram scale, moving of diagram along axes, rotating of diagram around of axes
(group "Sizes and position");
displaying and changing of position of secant planes (group "Secant planes");
attuning of colour of surface, axes, grids, text and a background of diagram (group "Colours");
16

changing of regimes and a shading of surface, displaying of grid, copying of surface's image into
Clipboard (group "Surfaces");
changing of axes parameters (group "Axes").

The dialogue block is being closed by button "Close".

4.3. Preparing of diagrams of Microsoft Excel


The tools of the FE keep the fuzzy numbers also in the kind of images. Such images have not a link with
data source. Therefore at recalculating of the worksheet the images are being not changed automatically
after data change. This tool helps the user to prepare data for constructing standard diagrams of Microsoft
Excel which support automatic rebuilding of diagrams at recalculating of data in worksheet.
The FE keeps fuzzy numbers in the kind of strings. Diagrams of Microsoft Excel demand for display two
cells ranges which contain elements of carrier and membership function. This tool transforms the string
with fuzzy number to these two ranges. The tool carries out transformation by means of functions
FuzzyGetBearer and FuzzyGetMembership which write down data into range cells.
The tool is being called by the button "Prepare Excel diagram" by means of the tools panel or the menu.
Before a call of the tool the user should select cells with fuzzy numbers which are necessary for displaying.
The FE calls the dialogue block in which the user should assign:

accuracy of numbers representation ("Full form" means, that the cells range will have contained 21
cell; "Short form" - means, that the cells range will have contained 11 cells);
components of fuzzy numbers which should be visualized (carrier or membership or both);
worksheet in which data for diagrams will be placed.

After closing of the block the tool places functions FuzzyGetBearer and FuzzyGetMembership in the
end of the used area of worksheet. Next the tool selects automatically prepared cells range. The user
should call only the standard master of diagrams.

4.4. Options
Options of the FE are intended for assigning numbers parameters which should be displayed in cells of
worksheet. Options are being called by means of button "Options" from the tools panel or the menu. In the
dialogue block the user should determine parameter which the FE will have displayed in cells:

the carrier which corresponds to maximum of membership function;


the carrier which corresponds to gravity centre of fuzzy number;
maximum on established level of certainty;
minimum on established level of certainty.

Last two parameters are being calculated according to the established level of certainty. The user should
establish level, proceeding from realness of evaluations. If the user prefers optimism, the level 0.6 - 0.9 is
the most expedient. If the user prefers pessimism, it is necessary to use a level less than 0.6.

4.5. Transferring of fuzzy numbers into fuzzy memory cells


17

The tool is intended for forced transfer of fuzzy numbers out from cells of active worksheet into fuzzy
memory cells of the FE. The tool has been created basically for data exchange with other applications
which use fuzzy technology.

4.6. Calculating of factors influence


Calculating of factors influences is one of the most essential improvements which allow to increase abilities
of the FE concerning the solving of analytical problems. The idea of the tool consists in the following.
Suppose that the some time-process flows both in the past and in the future. This process is being analyzed
by one generalized criterion. For example, as the criteria we can consider exchange rates of currencies or
quotations of enterprises securities. Factors (events) influence this process. Influence force is being
measured as an increment in relative range from -10 up to +10. The size -10 means that the factor causes
the strongest falling of criterion. The size +10 means that the factor causes the strongest rising of criterion.
The information about factors has some confidence. If during the same moment of time some factors
influence the process, the tool calculates their influence with taking into account of an importance.
Influence force of a factor also can be changeable during time. For example, the force can be described by
a trapeze when the factor gradually increases force and next decreases it.
Thus, factors have the following parameters:

the name of factor;


an influence direction of factor (+ or -);
an influence force of factor (from 0 up to 10);
confidence to the information about factor (the confidence can be interpreted also as possibility of
factor occurrence (from 0 up to 1));
factor importance (from 0 up to 1);
a beginning of factor influence;
a beginning of factor influence in full force;
a ending of factor influence in full force;
a ending of factor influence.

The tool calculates composite factors influence on process criterion. A result of influence is being
represented as the set of fuzzy numbers with carrier from -10 (maximal falling) up to +10 (maximal rising).
The user can calculate factors influence in absolute scale, using in addition an initial value of criterion and a
coefficient for transformation of scale [-10; +10] to absolute range of criterion change.
Before use of the tool the user should make the table with factors parameters in the established sequence.
Factors parameters should be placed from left to right, i.e. in columns. Between columns there should not
be breaks. If even one parameter of a factor is not determined, the tool does not take into account the
factor. Factors quantity should be more than 2. Before use of the tool the user should select the factors
table, excepting factors names.
The tool is being called by means of the button "Calculate factors influence" or by means of the menu.
After a call the tool calls the dialogue block which have been shown in figure 4.3.

18

Figure 4.3. Dialogue block "Calculate factors influence"


In the dialogue block the user should specify type of an axis of time: linear or nonlinear. The linear type
means, that the axis will have been divided onto identical intervals of time. The user should specify quantity
and size of intervals also in the dialogue block. Marks of time are being determined according to the
established initial date. The nonlinear type means, that the axis should be created only from those timemoments which have been specified in factors parameters.
In the dialogue block the user also should specify place in which it is necessary to place results of
calculation. The tool places results by default in column on the right from the used cells range on active
worksheet.
As a result the tool calculates the following data in each time-moment:

date;
fuzzy number which describes the tendency for established date;
carrier element which corresponds to maximum of membership function of fuzzy number;
carrier element which corresponds to gravity centre of fuzzy number;
carrier element which corresponds to minimum on certainty level;
carrier element which corresponds to maximum on certainty level;
difference between carriers elements which correspond to two last parameters.

4.7. Assigning of time of factors influence


The tool is intended for simplification of assigning of date and time of factors influence. Time of factors
influence is being assigned by four time-moments:

a beginning of factor influence;


a beginning of factor influence in full force;
a ending of factor influence in full force;
a ending of factor influence.

An assigning of all listed moments manually can occupy much time, especially if problem has a lot of
factors. Therefore the tool gives an opportunity to assign time of factor influence, proceeding from the
several predetermined geometrical forms. In this case, for assigning these four time-moments it is
necessary to determine initial date, quantity of time-intervals (i.e. influence duration), size of one interval
and the geometrical form of influence.
19

The tool can be called by means of the button "Time of factors influence" or by means of the menu. After a
call the FE calls the dialogue block which has been shown in figure 4.4.

Figure 4.4. Dialogue block "Time of factors influence"


Before a call the user should select worksheet cell which corresponds to parameter "a beginning of factor
influence". Next the user should call the tool. If any date has been assigned earlier in the cell, this date will
have been displayed in text field "Initial date". If date has not been established earlier in this field the tool
will have displayed current date. In the dialogue block the user should assign the following parameters:

initial date which corresponds to a beginning of factor influence;


the form of factor influence;
quantity of time-intervals during which the factor will influence;
size of one time-interval.

At assigning of quantity of time-intervals the user can use the list block which contains several
predetermined values.
At changing of any parameter the dialogue block recalculates time of factor influence automatically. Four
time-moments are being displayed in corresponding text fields 1 - 4.

4.8. Help
The user can call help system by means of button "Help" or by means of the menu. The help system also
can be called by means of key F1 or help button in some tools. The help system of the FE has been
incarnated as system of html-pages. The content of the help system does not differ from this manual.

20

5. INSTALLATION AND DEINSTALLATION OF FUZZY FOR EXCEL


Installation of the FE
Installer installs the FE automatically. The FE contains an add-in, several libraries and help system. The
folder with programs of the FE is being not created.
After installation the restricted version of the FE is ready for work. We distribute the restricted version free
of charge. If you want to use the full version of the FE, you should buy license from the developer and
should register. At buying, please, specify the address of your Email. This address will be number of your
license.
The user should register the FE by means of the dialogue block which is shown in figure 5.1. The block is
being called out from the menu "About" by means of button "Registration". For registration the user
should send to the developer the inquiry code which is being displayed in corresponding text field. E-mail
for sending: <sveshnikovsv@yandex.ru>. The developer in the reply will have sent to the user the license
number and key which the user should introduce into corresponding text fields and should close the
dialogue block. All text strings should be entered without blanks. In case of error the dialogue block will
have informed about error and will have requested introducing repeatedly.

Figure 5.1. Dialogue block "Registration"


Deinstallation of the FE
Deinstallation of the FE is being carried out by standard means of Windows.

21

6. LIST AND SHORT CHARACTERIZATION OF FUNCTIONS OF


FUZZY FOR EXCEL
Function
FuzzyAverage
FuzzyComplementation
FuzzyConvolution

Destination
Calculates an average from several fuzzy numbers
Turn membership function
Calculates convolution of several fuzzy numbers with taking into
account of weight coefficients
FuzzyCopy
Copies fuzzy number from one cell of worksheet into another cell
FuzzyDegreeFunction
Exponentiation of membership function
FuzzyEquivalenceSets
Returns coincidence measure of two sets
FuzzyFigure
Creates number in the form of geometrical figure
FuzzyFormula
Calculates result of arithmetic operations
FuzzyGetBearer
Returns value of carrier of fuzzy number according to element index
FuzzyGetCell
Copies fuzzy number out from fuzzy memory cell into cell of worksheet
FuzzyGetDiscount
Discounts fuzzy number
FuzzyGetLevel
Returns value of certainty of carrier of fuzzy number
FuzzyGetMembership
Returns value of certainty of carrier of fuzzy number according to
element index
FuzzyGetNumberForRisk
Returns number which corresponds to established risk level
FuzzyGetNumbers
Returns pair of traditional numbers which correspond to established
level of certainty
FuzzyGetParameter
Returns value of established parameter of fuzzy number
FuzzyGetRiskLessThan
Returns risk, that value will be less than the established value
FuzzyGetRiskMoreThan
Returns risk, that value will be more than the established value
FuzzyHand
Creates fuzzy number of the any form in conformity with parameters
which have been determined in the form of strings
FuzzyHandFromCells
Creates fuzzy number of the any form in conformity with parameters
which have been determined in the form of cells ranges
FuzzyIntegral
Returns value of fuzzy integral of Sugeno from fuzzy number along
fuzzy measure which has been described by fuzzy number
FuzzyIntegralSemantic
Returns value of fuzzy integral of Sugeno from membership function
along fuzzy measure on traditional set
FuzzyIntegralSemanticFS
Returns value of fuzzy integral of Sugeno from membership function
along fuzzy measure on fuzzy set
FuzzyIntegralSemanticExtFS Returns value of expanded fuzzy integral from membership function
along fuzzy measure which has been defined in other space
FuzzyGetLambdaParameter Returns normalization parameter of fuzzy measure
FuzzyIntersection
Returns intersection coordinates of two fuzzy curves
FuzzyInterval
Creates fuzzy number in the form of an interval
FuzzyLessThan
Creates fuzzy number with semantics "less, than..."
FuzzyLessThanTo
Creates fuzzy number with semantics "less, than... up to..."
FuzzyMakeFromStatistic
Creates fuzzy number on the basis of statistical sample
FuzzyMax
Calculates union of several fuzzy numbers
FuzzyMin
Calculates intersection of several fuzzy numbers
FuzzyMoreThan
Creates fuzzy number with semantics "more, than..."
FuzzyMoreThanTo
Creates fuzzy number with semantics "more, than... up to..."
FuzzyNear
Creates fuzzy number with semantics "near..."
FuzzyNearAndLessTo
Creates fuzzy number with semantics "near... and less up to..."
FuzzyNearAndMoreTo
Creates fuzzy number with semantics "near... and more up to..."
FuzzyNearFirstOrSecond
Creates fuzzy number with semantics "near (... or...)"
22

FuzzyNearFromTo
FuzzyProduct
FuzzySetCell
FuzzySum

Creates fuzzy number with semantics "near (from... up to...)"


Calculates product of several fuzzy numbers
Copies fuzzy number out from cell of worksheet into fuzzy memory cell
Calculates the sum of several fuzzy numbers

23

7. DESCRIPTION OF THE ALGORITHM OF ARITHMETIC OPERATIONS


WITH FUZZY NUMBERS
A using of fuzzy numbers for describing fuzzy data
Fuzzy sets play special role at describing of numerical uncertainty, i.e. when numerical parameter hasn't
exact evaluation. In analytical problems it is often necessary to execute arithmetic calculations. From this
view-point the fuzzy numbers hasn't an alternative.
We name a fuzzy set, which is assigned on the set of real numbers R , by fuzzy number B :
B : R [0,1] .

For economizing computer memory we assign the fuzzy numbers with help of limited interval
S B R, S B [ min S B , max S B ] . We divide this interval into smaller subintervals in quantity N :
SB

[ s kB , s kB1] ,

k 1, N

where s kB1 s kB

max S B min S B
- is subintervals length which we denote as s B .
N

The sizes of subintervals together with membership function values of fuzzy number in the points

B ( s kB) s kB S B
form description of fuzzy number in computer memory:
B
B
0

s
S
k

s kB : h kB

B s kB , h kB , k 1, N

The values set of membership function forms the certainty distribution which also is being named as
possibility distribution:

B
B
M B h k , k 1, N , M B : S 0, 1 .
The subintervals set is the definition area of fuzzy number:

S B s kB , k 1, N

The fuzzy numbers have the following parameters which we use for analysis:

the gravity centre of fuzzy number (or the most possible value of fuzzy number):

N B B
s k hi

sB = i 1
*

hiB

ik

24

the number value with maximal certainty level: MaxB s kB | h kB max h iB ;

the minimal value on certainty level : Min B s kB | s kB min s iB , h kB ;

the maximal value on certainty level : Max B s kB | s kB max s iB , h kB .

Figure 7.1 demonstrates computer representation and parameters of fuzzy number.

Figure 7.1. Computer representation and parameters of fuzzy number.


Analysts directly identify uncertainty with risk. Inasmuch as the fuzzy number describes uncertainty of
numerical parameter, we can assume that this number simultaneously should describe risk. It is valid so.
The fuzzy number has an additional parameter which we name by risk-function of fuzzy number.
We interpret risk-function of fuzzy number as possibility of what the real value of numerical parameter will
have exceeded the evaluation which has been described with help of the fuzzy number:

R B s kB , r kB , k 1, N , r kB min h iB max h iB , i 1, N .

siB s kB
siB s kB

For explanation we will have considered a simple example. Figure 7.2 shows risk-function of fuzzy number
which has been presented in figure 7.1. The vertical axis displays certainty (possibility) in value of riskfunction.
25

In figure 7.2 we will have taken two discrete values: with certainty -0.6 (it is 10.8) and +0.3 (it is 7.2).
Suppose that we are being interested in increase of numerical parameter, for example, of company profit.
Then the first value means that if at decision-making we will be oriented value 10.8, then the risk of
incorrect decision will have amounted more than 0.6. The second value means that if at decision-making
we will be oriented value 7.2, then the risk of incorrect decision is absent, and possibility of correct
decision will have amounted 0.3.

Figure 7.2. Risk-function of fuzzy number


Figure 7.2 shows that risk-function has two areas:

area of decisions stability in which value of certainty is more than zero;


area of risk in which value of certainty is less than zero.

Such division is fair, if to assume that the risk changes from 0 to -1.
A using of risk-functions gives to analysts one more degree of freedom at analysing calculations results. We
will notice that evaluating of risks with help of risk-function not needs any additional calculations.
Figure 7.3 demonstrates description of object parameter evaluation with help of numerical fuzzy set. We
also name such parameter by numerical parameter.

Figure 7.3. Description of object parameter evaluation with help of numerical fuzzy set
26

The fuzzy evaluation of numerical parameter (from the left) is being interpreted as follows: capacity
utilization rate has been evaluated in range 60 - 90% with the most possible value from 70% up to 80%.
The diagram from the right shows description of exact parameter evaluation.
Depending on form of membership function the fuzzy numbers can be characterized with help of linguistic
descriptions. Table 7.1 illustrates such descriptions.
Table 7.1. Fuzzy linguistic descriptions of fuzzy numbers
Fuzzy number

Description
Near 10

Near 10 and less 30

Near 10 and more 3

Near 10 or near 15

Less 10

More 10

27

Interval from 10 to 20

The fuzzy numbers can be used also for description of preferences. Figure 7.4 shows description of
concept "Capacity utilization rate". In this figure we have described preferences concerning evaluation of
parameter "Capacity utilization rate". For example, we will have evaluated the utilization as a low, if value
will have belonged to range from 0% up to 70%. Such sets of fuzzy numbers, which describe complete
concepts, L.Zadeh has named by linguistic variables. The linguistic variables are being used for
transformation of numerical evaluations to linguistic evaluations.

Figure 7.4. Description of concept "Capacity utilization rate"


Algorithm of arithmetic operations with fuzzy numbers
We use this algorithm in calculations when initial evaluations have been described as fuzzy numbers. For
example, we should calculate the income provided that the quantity of sold goods has been described by
fuzzy number.
Suppose that we have two fuzzy numbers: C and B . We should calculate number D C B , where
- one of two-place arithmetic operations: summation, subtraction, multiplication, division. At illustrating of
calculations we will use summation operation and the following fuzzy numbers:

C 1 / 0.1 , 2 / 0.3 , 3 / 0.8 , 4 / 0.4 , 5 / 0.2 ;


B 7 / 0.9 , 8 / 0.9 , 9 / 0.5 , 10 / 0.3 , 11 / 0.1 .
Step 1. A determining of decision matrix.
We describe the -operation result with fuzzy numbers C and B by square matrix with cells in which
we have two elements: the carrier and the membership level of this carrier. We calculate the matrix as result
of Cartesian product of numbers C and B :

28

V S , M ; S S C S B s ij | s ij s Ci s Bj ; i, j 1, N


C
B
M ij | ij min i , j ; i, j 1, N
The algorithm forms the carrier elements

s
ij

with help of operation

with carriers of fuzzy numbers

C and B . The algorithm calculates the values of membership function

ij

as minimum from

membership levels of numbers C and B . Figure 7.5 illustrates received matrix.


8 / 0.1

9 / 0.3
10 / 0.8

9 / 0.1
10 / 0.3
11 / 0.8

10 / 0.1 11 / 0.1
11 / 0.3 12 / 0.3
12 / 0.5 13 / 0.3

12 / 0.1

13 / 0.1
14 / 0.1

11 / 0.4
12 / 0.2

12 / 0.4
13 / 0.2

13 / 0.4
14 / 0.2

15 / 0.1
16 / 0.1

14 / 0.3
15 / 0.2

Figure 7.5. The result of arithmetical operation with two fuzzy numbers
Step 2. A creating of the set of fuzzy numbers (the set of potential decisions).
In matrix V the algorithm finds the indexes of row m and column n of element which has maximal
value of membership, i.e.:

mn max ij .
i , j 1, N

Two fuzzy numbers

Vm

and

Vn

which are disposed in the row and in the column correspond to this

matrix element:

V m SV m , M V m , V n SV n , M V n

Then the algorithm consolidates two numbers:

X V m V n , X S X , M X

At consolidating of numbers' the algorithm forms the carrier of fuzzy number X


fragmentation of united interval

by means of

S X [min(S V m , S V n) , max(S V m , S V n)] onto N subintervals.

The algorithm calculates the membership function of fuzzy number X as maximum of membership
functions of fuzzy numbers

V m and V n

in the points of united interval:

Inasmuch as the carriers of fuzzy numbers

V m, V n

M X ( s kX ) max M 'V m ( s kX ), M 'V n ( s kX ) s kX S X .


and X not always can coincide the algorithm

uses linear approximation of membership values in carrier's points:


29

s
Y

: M '

sYk , sYk 1

Y ( Y)

M Y (sYk )

sY sYk
Y Y
Y Y )
M (s ) M (s
k
k 1
sY

However quantity of numbers X in matrix V can be more than one. Therefore the algorithm repeats the
current step and creates the set of numbers

{ X l , l 1, Card} . In our example this set includes two

fuzzy numbers.
In our example the algorithm forms the first number from the row m 3 and the column n 1 , and next
forms second number from the row m 3 and the column n 2 . For simplification we have not
transformed the fuzzy numbers to the united carrier:

X 1 8 / 0.1 , 9 / 0.3 , 10 / 0.8 , 11 / 0.8, 12 / 0.5 , 13 / 0.3, 14 / 0.1


.
X 2 9 / 0.1 , 10 / 0.8, 11 / 0.8 , 12 / 0.5 , 13 / 0.3 , 14 / 0.1
Step 3. A choosing of the decision.
For choosing one of the fuzzy numbers we use a principle of entropy maximum. The principle of entropy
maximum is very important from the view-point of adequacy of uncertainty processing. On the one hand,
the principle of entropy maximum allows to prevent the excessive widening of carrier of fuzzy number at
executing of arithmetic operations. On the other hand, this principle provides preservation of information
volume in resulting fuzzy number.
If we do not use this principle, then as a result of several consecutive operations the result uncertainty will
have decreased. We can assume that uncertainty decrease is a useful effect. But this decrease is not wellgrounded. We consider that uncertainty decrease is reasonably only if we well understand the nature of this
decrease. Otherwise uncertainty loss decreases result adequacy.
Out from full set the algorithm chooses the fuzzy number which has maximal entropy:

N 1

D X l , X l : s kXl1 s kX l kX l max .
k 1

This number is the result of arithmetic operation with two fuzzy numbers. In our example the entropy of
the first number is equal 2.8, and entropy of the second number is equal 2.5. The decision is the first
number with maximal entropy and interval of carrier [8,14] . For comparison: if to use a principle of
expansion of Zadeh, then as a result we will get the number with wider carrier [8,16] . In this case the
carrier of number has been widened, but information volume of number has been decreased. Small
widening of carrier is especially important in problems with a big quantity of consecutive arithmetic
operations, because in consequence of excessive wide carrier the result loses physical sense.

30

Das könnte Ihnen auch gefallen