Version: | 1.0 |
---|---|
Provider: | PyXMCDA |
SOAP service’s name: | |
ACUTA-PyXMCDA (see SOAP requests for details) |
Perform ACUTA computation on provided inputs. Decision Maker’s Preferences can be provided using either a global ranking of reference alternatives, or the pair-wise alternatives preferences and indifferences. Outputs optimal valueFunctions along their valuesErrors.
The service generate discrete functions for criteria with qualitative scales. Number of segments will be still be used to compute a continuous marginal utility function. It is therefore advised to use (n - 1) as the number of segments (with n the number of labels of the qualitative scale), while using incremented integer values in such scale definition (e.g. { 1, 2, 3,…, n}). Labels of the scale are used as the abscissa.
This service raises an error if the solution found does not give the same ranking of reference alternatives than in inputs (even with application of the values errors, called sigma in (Munda, 2005).
Also it outputs the UTA* optimum solution if analytic center computation fails.
The implementation and indexing conventions are based on:
Munda, G. (2005). UTA Methods. In Multiple criteria decision analysis: State of the art surveys (pp 297-343). Springer, New York, NY.
N.B: This service uses the python module Pulp for representing and solving UTA problems.
Contact: Nicolas Duminy (nicolas.duminy@telecom-bretagne.eu)
Web page: https://gitlab.com/nduminy/ws-pyxmcda
(For outputs, see below)
The alternatives. Only used to exclude inactive alternatives from computations (all are considered if not provided).
The input value should be a valid XMCDA document whose main tag is <alternatives>
.
The criteria. Only used to exclude inactive criteria from computations (all are considered if not provided).
The input value should be a valid XMCDA document whose main tag is <criteria>
.
The performance table.
The input value should be a valid XMCDA document whose main tag is <performanceTable>
.
The input value should be a valid XMCDA document whose main tag is <alternativesMatrix>
.
The input value should be a valid XMCDA document whose main tag is <alternativesMatrix>
.
The input value should be a valid XMCDA document whose main tag is <alternativesValues>
.
The input value should be a valid XMCDA document whose main tag is <criteriaScales>
.
Number of segments per marginal utility function.
The input value should be a valid XMCDA document whose main tag is <criteriaValues>
.
Parameters of the method
The input value should be a valid XMCDA document whose main tag is <programParameters>
.
It must have the following form:
<programParameters>
<!-- %N -->
<programParameter id="discrimination_threshold" name="Discrimination threshold">
<values>
<value>
<real>%2</real>
</value>
</values>
</programParameter>
<programParameter id="monotonicity_threshold" name="Monotonicity threshold">
<values>
<value>
<real>%3</real>
</value>
</values>
</programParameter>
<programParameter id="ac_epsilon" name="Analytic center epsilon">
<values>
<value>
<real>%7</real>
</value>
</values>
</programParameter>
<programParameter id="newton_step_coeff" name="Newton step coefficient">
<values>
<value>
<real>%8</real>
</value>
</values>
</programParameter>
<programParameter id="significative_figures" name="Significative figures">
<values>
<value>
<integer>%5</integer>
</value>
</values>
</programParameter>
<programParameter id="atol" name="Absolute tolerance">
<values>
<value>
<real>%6</real>
</value>
</values>
</programParameter>
<programParameter id="solver" name="Solver">
<values>
<value>
<label>%4</label>
</value>
</values>
</programParameter>
</programParameters>
where:
%N is a parameter named “Inputs alternatives”. It can have the following values:
ranking
: Use ranking of alternativesrelations
: Use pairwise preferences and indifferencesThe default value is ranking.
%2 is a parameter named “Discrimination threshold”. This is a float, and the value should conform to the following constraint: Bigger than 0.0.. More formally, the constraint is:
%2 > 0
The default value is 0.001.
%3 is a parameter named “Monotonicity threshold”. This is a float, and the value should conform to the following constraint: Bigger than or equal to 0.0.. More formally, the constraint is:
%3 >= 0
The default value is 0.001.
%7 is a parameter named “Analytic center epsilon”. This is a float, and the value should conform to the following constraint: Bigger than 0.0.. More formally, the constraint is:
%7 > 0
The default value is 1e-6.
%8 is a parameter named “Newton step coefficient”. This is a float, and the value should conform to the following constraint: Bigger than 0.0.. More formally, the constraint is:
%8 > 0 && %8 < 1
The default value is 0.9.
%5 is a parameter named “Significative figures”. This is a int, and the value should conform to the following constraint: Bigger than 0.. More formally, the constraint is:
%5 > 0
The default value is 3.
%6 is a parameter named “Absolute tolerance”. This is a float, and the value should conform to the following constraint: Bigger than 0.0.. More formally, the constraint is:
%6 > 0
The default value is 1e-6.
%4 is a parameter named “Solver”. It can have the following values:
cbc
: Coin-Or CBC (version included in Pulp)choco
: Choco (version included in Pulp)glpk
: GLPKThe default value is cbc.
Optimal value functions found by the service.
The returned value is a XMCDA document whose main tag is <criteriaFunctions>
.
The returned value is a XMCDA document whose main tag is <alternativesValues>
.
Status messages.
The returned value is a XMCDA document whose main tag is <programExecutionResult>
.