RORUTADIS-PostFactum-InvestigatePerformanceDeterioration

Version:0.3
Provider:PUT
SOAP service’s name:
 RORUTADIS-PostFactum-InvestigatePerformanceDeterioration-PUT (see SOAP requests for details)

Description

Robust Ordinal Regression for value-based sorting: RORUTADIS-PostFactum-InvestigatePerformanceDeterioration service checks how much an alternative evaluations can be deteriorated so that that alternative would stay possibly (or necessarily) in at least some specific class. Deterioration is based on minimization value of rho in multiplication of an alternative evaluations on selected criteria by rho (where 0 < rho <= 1). Note! This function works for problems with only non-negative alternative evaluations. It is possible to provide an additional optional preference information: example alternatives assignments, assignment pairwise comparisons and desired class cardinalities. Service developed by Krzysztof Ciomek (Poznan University of Technology, under supervision of Milosz Kadzinski).

Contact:
Krzysztof Ciomek (k.ciomek@gmail.com), Milosz Kadzinski (milosz.kadzinski@cs.put.poznan.pl)

Web page: https://github.com/kciomek/rorutadis

Reference: None

Inputs

(For outputs, see below)

criteria

A list of criteria (<criteria> tag) with information about preference direction (<criteriaValues mcdaConcept=”preferenceDirection”>, 0 - gain, 1 - cost) and number of characteristic points (<criteriaValues mcdaConcept=”numberOfCharacteristicPoints”>, 0 for the most general marginal utility function or integer grater or equal to 2) of each criterion.

The input value should be a valid XMCDA document whose main tag is <criteria>. It must have the following form:

<criteria>
<criterion id=”[…]” /> […]

</criteria>

<criteriaValues mcdaConcept=”preferenceDirection”>
<criterionValue>
<criterionID>[…]</criterionID> <value><integer>[…]</integer></value>

</criterionValue> […]

</criteriaValues>

<criteriaValues mcdaConcept=”numberOfCharacteristicPoints”>
<criterionValue>
<criterionID>[…]</criterionID> <value><integer>[0|integer greater or equal to 2]</integer></value>

</criterionValue> […]

</criteriaValues>


alternatives

A list of alternatives.

The input value should be a valid XMCDA document whose main tag is <alternatives>. It must have the following form:

<alternatives>
<alternative id=”…”>
<active>[…]</active>

</alternative>

</alternatives>


categories

A list of categories (classes). List must be sorted from the worst category to the best.

The input value should be a valid XMCDA document whose main tag is <categories>. It must have the following form:

<categories>
<category id=”[…]” /> […]

</categories>


performanceTable

The performances of the alternatives.

The input value should be a valid XMCDA document whose main tag is <performanceTable>.


criteriaManipulability

A list of criteria values which denote whether multiplying by rho on corresponding criterion is allowed (value 1) or not (value 0). Values for all criteria have to be provided and at least one criterion has to be available for manipulation.

The input value should be a valid XMCDA document whose main tag is <criteriaValues>. It must have the following form:

<criteriaValues>
<criterionValue>
<criterionID>[…]</criterionID> <value><integer>[…]</integer></value>

</criterionValue> […]

</criteriaValues>


assignmentExamples (optional)

A list of assignment examples of alternatives to intervals of categories (classes) or to a specific category (class).

The input value should be a valid XMCDA document whose main tag is <alternativesAssignments>. It must have the following form:

<alternativesAssignments>
<alternativeAssignment>
<alternativeID>[…]</alternativeID> <categoryID>[…]</categoryID>

</alternativeAssignment> […] <alternativeAssignment>

<alternativeID>[…]</alternativeID> <categoriesInterval>

<lowerBound>
<categoryID>[…]</categoryID>

</lowerBound> <upperBound>

<categoryID>[…]</categoryID>

</upperBound>

</categoriesInterval>

</alternativeAssignment> […] <alternativeAssignment>

<alternativeID>[…]</alternativeID> <categoriesSet>

<categoryID>[…]</categoryID> […]

</categoriesSet>

</alternativeAssignment> […]

</alternativesAssignments>


assignmentComparisons (optional)

Two lists of assignment pairwise comparisons. A comparison from list with attribute mcdaConcept=”atLeastAsGoodAs” indicates that some alternative should be assigned to class at least as good as class of some other alternative (k = 0) or at least better by k classes (k > 0). A comparison from list with attribute mcdaConcept=”atMostAsGoodAs” indicates that some alternative should be assigned to class at most better by k classes (k > 0) then some other alternative.

The input value should be a valid XMCDA document whose main tag is <alternativesMatrix>. It must have the following form:

<alternativesMatrix mcdaConcept="atLeastAsGoodAs">
<row>

<alternativeID>[…]</alternativeID> <column>

<alternativeID>[…]</alternativeID> <values>

<value>
<integer>k</integer>

</value>

</values>

</column>

</row> […]

</alternativesMatrix>

<alternativesMatrix mcdaConcept=”atMostAsGoodAs”>
<row>[…]</row> […]

</alternativesMatrix>


categoriesCardinalities (optional)

A list of category (class) cardinality constraints. It allows to define minimal and/or maximal desired category (class) cardinalities.

The input value should be a valid XMCDA document whose main tag is <categoriesValues>. It must have the following form:

<categoriesValues>
<categoryValue>

<categoryID>[…]</categoryID> <values>

<value>
<interval>
<lowerBound><integer>[…]</integer></lowerBound> <upperBound><integer>[…]</integer></upperBound>

</interval>

</value>

</values>

</categoryValue> […]

</categoriesValues>


methodParameters

Method parameters.

The input value should be a valid XMCDA document whose main tag is <programParameters>. It must have the following form:

<programParameters>
<parameter name=”strictlyMonotonicValueFunctions”>
<values>
<value><boolean>%1</boolean></value>

</values>

</parameter> <parameter name=”alternative”>

<values>
<value><label>%2</label></value>

</values>

</parameter> <parameter name=”necessary”>

<values>
<value><boolean>%3</boolean></value>

</values>

</parameter> <parameter name=”atLeastToClass”>

<values>
<value><label>%4</label></value>

</values>

</parameter>

</programParameters>

where:

  • %1 is a parameter named “strictlyMonotonicValueFunctions”. This is a boolean. The default value is false.

  • %2 is a parameter named “alternative”. This is a string, and the value should conform to the following constraint: This identifier cannot be empty. More formally, the constraint is:

    ! %2.isEmpty()
    
  • %3 is a parameter named “necessary”. This is a boolean. The default value is false.

  • %4 is a parameter named “atLeastToClass”. This is a string, and the value should conform to the following constraint: This identifier cannot be empty. More formally, the constraint is:

    ! %4.isEmpty()
    

Outputs

values

Deterioration value (value of rho).

The returned value is a XMCDA document whose main tag is <alternativesValues>. It has the following form:

<alternativesValues mcdaConcept="deteriorationValue">
<alternativeValue>

<alternativeID>[…]</alternativeID> <values>

<value>
<real>[…]</real>

</value>

</values>

</alternativeValue>

</alternativesValues>


messages

Messages generated by the program.

The returned value is a XMCDA document whose main tag is <programExecutionResult>.


Original xml description