<< Gaia | index | ObjectiveWeights >>

DECIDE reference

DECIDE__Normalize

short DECIDE__Normalize(

    * double * DecisionMatrix,
    * const short * DecisionmatrixLength,
    * const short * Mode)

Normalize DataArray=(a1, a2, ..., an) to DecisionMatrix(v1, v2, ...,vn), so that all values are in the range 0..1.

    * mode 1 : vi = ai / max ai
    * mode 2 : vi = (ai - min ai) / (max ai - main ai)
    * mode 3 : vi = ai / (a1 + a2 + ... + an)
    * mode 4 : vi = ai / (sqrt((a1 * a1) + (a2 * a2) + ( ... ) + (an * an)))

Note : Some criteria values can lead some of the algorithms to divide by 0. These errors are trapped and cause a 999 return value.

return value :

    * 0 : completed sucessfully
    * 1 : null pointer in first parameter
    * 2 : null pointer in second parameter
    * 3 : null pointer in third parameter
    * 101 : DecisionMatrixLength < 1
    * 102 : invalid Mode
    * 999 : divide by 0 error

note :

The use of normalization can have side effects that can harm the quality of the results obtained with some methods. The reader will find an interesting discussion of this issue in POMEROL Jean-Charles, BARBA-ROMERO Sergio, 1993.

<< Gaia | index | ObjectiveWeights >>


printer friendly view

Google

 

Web

www.christophedavid.org