public code v1

This commit is contained in:
2026-05-22 11:14:29 +02:00
parent 427197ec5a
commit b8141736eb
28859 changed files with 575079 additions and 0 deletions
@@ -0,0 +1,16 @@
<module>
<subclass>afryca.ase.Module</subclass>
<file></file>
<name>ConsistencyFPR</name>
<description></description>
<simulationCode>
//
</simulationCode>
<input>
<parameter>
<id>preferences</id>
<value>afryca.fpr.FPR</value>
</parameter>
</input>
<output>java.lang.Double</output>
</module>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>CongLiFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.CalculateIndexAdditiveConsistencyCongLi(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>DoneganDoddCRFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.saatyConsistencyRatio(preferences[i], undefined, consistency.doneganDoddRI);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>FedrizziGllFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.fedrizziGlobalInconsistencyIndex(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>FormanCRFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.saatyConsistencyRatio(preferences[i], consistency.missingValuesHarker1987, consistency.formanRI);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>KoczkodajilFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.koczkodajInconsistencyIndex(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>LSMFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.LSM(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>SaatyCRFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.saatyConsistencyRatio(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,14 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>ConsistencyFPR</category>
<name>YejunXuFPR</name>
<description></description>
<code>
var result = [];
for (var i = 0; i < preferences.length; i++) {
result[i] = consistency.CalculateIndexAdditiveConsistencyXU(preferences[i]);
}
return result;
</code>
</function>
@@ -0,0 +1,51 @@
<module.binding>
<file></file>
<name>ConsistencyFPR</name>
<module>ConsistencyFPR</module>
<bindings>
<binding>gdmp</binding>
</bindings>
<sourceEventsBindings>
<sourceEventsBinding>aNum</sourceEventsBinding>
<sourceEventsBinding>cNum</sourceEventsBinding>
<sourceEventsBinding>eNum</sourceEventsBinding>
<sourceEventsBinding>aPos</sourceEventsBinding>
<sourceEventsBinding>cPos</sourceEventsBinding>
<sourceEventsBinding>ePos</sourceEventsBinding>
<sourceEventsBinding>fpr</sourceEventsBinding>
</sourceEventsBindings>
<inputConverter>
var preferences = [];
var groupPreferences = [];
for(var i = 0; i < gdmp.getPreferences().size(); ++i) {
groupPreferences[i] = gdmp.getPreferences().get(i);
}
if(ePos != null && cPos != null) {
preferences[0] = gdmp.getPreferences().get((ePos * cNum) + cPos);
} else if(ePos != null && cPos == null) {
if(cNum > 1){
var expertsPreferences = [];
for(var crit = 0; crit < gdmp.getCriteria().size(); ++crit) {
expertsPreferences[crit] = groupPreferences[ePos * gdmp.getCriteria().size() + crit];
}
preferences[0] = expertsPreferences[0].groupPreferences(expertsPreferences.length, gdmp.getAlternatives().size(), gdmp.getCriteria().size(), expertsPreferences);
}else{
preferences[0]=groupPreferences[ePos];
}
} else if(ePos == null && cPos != null) {
var criteriaPreferences = [];
for(var exp = 0; exp < gdmp.getExperts().size(); ++exp) {
criteriaPreferences[exp] = groupPreferences[exp * gdmp.getCriteria().size() + cPos];
}
preferences[0] = criteriaPreferences[0].groupPreferences(criteriaPreferences.length, gdmp.getAlternatives().size(), gdmp.getCriteria().size(), criteriaPreferences);
} else {
preferences[0] = gdmp.getPreferences().get(0).groupPreferences(eNum, aNum, cNum, groupPreferences);
}
</inputConverter>
<outputConverter>
mbresult = mbresult[0];
</outputConverter>
<binding.output>java.lang.Double</binding.output>
</module.binding>
@@ -0,0 +1,66 @@
<module.binding>
<file></file>
<name>Simulation consistencyFPR</name>
<module>ConsistencyFPR</module>
<bindings>
<binding>irSim</binding>
<binding>frSim</binding>
</bindings>
<sourceEventsBindings>
<sourceEventsBinding>sim</sourceEventsBinding>
<sourceEventsBinding>eSim</sourceEventsBinding>
<sourceEventsBinding>cSim</sourceEventsBinding>
</sourceEventsBindings>
<inputConverter>
var preferences = [];
var rounds = sim.getResult().get(EResultElements.rounds_results);
var initialRound = rounds.get(irSim);
var finalRound = rounds.get(frSim);
var initialPreferences = initialRound.get(ERoundResult.pre_preferences);
var finalPreferences = finalRound.get(ERoundResult.pos_preferences);
if (eSim != null && cSim != null) {
preferences[0] = initialPreferences[(sim.getGDMP().getCriteria().size() * sim.getGDMP().getExperts().indexOf(eSim)) + sim.getGDMP().getCriteria().indexOf(cSim)];
preferences[1] = finalPreferences[(sim.getGDMP().getCriteria().size() * sim.getGDMP().getExperts().indexOf(eSim)) + sim.getGDMP().getCriteria().indexOf(cSim)];
} else if(eSim != null && cSim == null) {
if(cNum > 1){
var expertsPreferencesInitial = [];
var expertsPreferencesFinal = [];
for(var crit = 0; crit < sim.getGDMP().getCriteria().size(); ++crit) {
expertsPreferencesInitial[crit] = initialPreferences[sim.getGDMP().getExperts().indexOf(eSim) * sim.getGDMP().getCriteria().size() + crit];
expertsPreferencesFinal[crit] = finalPreferences[sim.getGDMP().getExperts().indexOf(eSim) * sim.getGDMP().getCriteria().size() + crit];
}
preferences[0] = expertsPreferencesInitial[0].groupPreferences(expertsPreferencesInitial.length, sim.getGDMP().getAlternatives().size(), sim.getGDMP().getCriteria().size(), expertsPreferencesInitial);
preferences[1] = expertsPreferencesFinal[0].groupPreferences(expertsPreferencesFinal.length, sim.getGDMP().getAlternatives().size(), sim.getGDMP().getCriteria().size(), expertsPreferencesFinal);
}else{
preferences[0] = initialPreferences[sim.getGDMP().getExperts().indexOf(eSim)];
preferences[1] = finalPreferences[sim.getGDMP().getExperts().indexOf(eSim)];
}
} else if(eSim == null && cSim != null) {
var criteriaPreferencesInitial = [];
var criteriaPreferencesFinal = [];
for(var exp = 0; exp < sim.getGDMP().getExperts().size(); ++exp) {
criteriaPreferencesInitial[exp] = initialPreferences[exp * sim.getGDMP().getCriteria().size() + sim.getGDMP().getCriteria().indexOf(cSim)];
criteriaPreferencesFinal[exp] = finalPreferences[exp * sim.getGDMP().getCriteria().size() + sim.getGDMP().getCriteria().indexOf(cSim)];
}
preferences[0] = criteriaPreferencesInitial[0].groupPreferences(criteriaPreferencesInitial.length, sim.getGDMP().getAlternatives().size(), sim.getGDMP().getCriteria().size(), criteriaPreferencesInitial);
preferences[1] = criteriaPreferencesFinal[0].groupPreferences(criteriaPreferencesFinal.length, sim.getGDMP().getAlternatives().size(), sim.getGDMP().getCriteria().size(), criteriaPreferencesFinal);
} else {
preferences[0] = initialPreferences[initialPreferences.length - 1];
preferences[1] = finalPreferences[finalPreferences.length - 1];
}
</inputConverter>
<outputConverter>
var difference = (mbresult[1] - mbresult[0]).toFixed(2)/1;
mbresult = mbresult[1].toFixed(2);
if (difference != 0) {
if (difference > 0) {
mbresult += ' (+' + difference + ')';
} else {
mbresult += ' (' + difference + ')';
}
}
</outputConverter>
<binding.output>java.lang.String</binding.output>
</module.binding>