PerformanceIndicator

Indicator function using fuzzy membership functions

Diagram

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

The output y is the dimensionless degree of membership to the set of "good performances" or "good outcomes" according to a chosen type of membership function. Using the PerformanceIndicator allows to quickly grasp how a system is currently performing with regard to some criteria: a value of 1 indicates best possible performance, while a value of 0 indicates unsustainable performance.

The following grid displays all available membership function types without inversion (invertResults = false):

Membership Functions
Grid.svg

Parameters
Membership Function Type a b c d
ramp foot shoulder    
triangular left foot center right foot  
trapezoidal left foot left shoulder right shoulder right foot
sshaped foot shoulder    
sigmoidal steepness of transition area   center of transition area  
pishaped left foot left shoulder right shoulder right foot
psigmoidal steepness of left transition center of left transition area steepness of right transition center of right transition area
gaussian half width at half maximum   center of curve (maximum)  
bell width of core steepness center of core  

When inversion is turned on (invertResult = true) the result obtained from the membership function as specified will be subtracted from 1. Thus the ramp shown above can be made to ramp down from left to right with a being the shoulder and b the foot by inverting the results.

See also

rampmf, trapmf, trimf, smf, sigmf, pimf, psigmf, gaussmf, gbellmf

Parameters (10)

convertInput

Value: false

Type: Boolean

Description: = true, if the input value is a rate or time variable that needs to be converted

inputIsRate

Value: false

Type: Boolean

Description: = true, if the input is given in units of time, otherwise it is assumed to be a rate

convertOutput

Value: false

Type: Boolean

Description: = true, if the output value is a rate or time variable that needs to be converted

outputIsRate

Value: false

Type: Boolean

Description: = true, if the output is given in units of time, otherwise it is assumed to be a rate

a

Value:

Type: InputType

Description: Parameter to control shape of membership function

b

Value:

Type: InputType

Description: Parameter to control shape of membership function

c

Value:

Type: InputType

Description: Parameter to control shape of membership function

d

Value:

Type: InputType

Description: Parameter to control shape of membership function

mft

Value: MembershipFunctionTypes.ramp

Type: MembershipFunctionTypes

Description: Membership function type to use

invertResult

Value: false

Type: Boolean

Description: = true, if the degree of membership is to be inverted (i.e., y = 1 - mf(u))

Connectors (4)

y

Type: RealOutput

Description: Output signal

u

Type: RealInput

Description: Input

u_c

Type: RealOutput

Description: Input after conversion

y_c

Type: RealOutput

Description: Output before conversion

Components (7)

modelSettings

Type: ModelSettings

Description: Setting important global variables within a model

rateConversionIn

Type: RateConversion

Description: Convert the input (rate) to another time base

noConversionIn

Type: PassThrough

Description: Use input as is

timeConversionIn

Type: TimeConversion

Description: Convert the input to another time base

noConversionOut

Type: PassThrough

Description: Use output as is

rateConversionOut

Type: RateConversion

Description: Convert the output (rate) to 1/s

timeConversionOut

Type: TimeConversion

Description: Convert the output to seconds

Used in Components (1)

Performance

BusinessSimulation.CausalLoop

Evaluation of a stock on a [0,1] scale

Revisions

  • Modified in v2.0.0.

  • Changed type for parameters a,b,c,d to InputType in v2.2.