public code v1

This commit is contained in:
Francisco Jesús Martínez Mimbrera
2026-05-23 00:32:57 +02:00
commit 759a8968a2
4357 changed files with 163763 additions and 0 deletions
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>flintstones.group</groupId>
<artifactId>flintstones.bundles</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>flintstones.method.linguistic.topsis</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<name>[bundle] Linguistic TOPSIS</name>
<organization>
<name>Sinbad2</name>
</organization>
</project>
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>flintstones.method.linguistic.topsis</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<filteredResources>
<filter>
<id>1779484362680</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
@@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
@@ -0,0 +1,13 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Linguistic TOPSIS
Bundle-SymbolicName: flintstones.method.linguistic.topsis;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Sinbad2
Automatic-Module-Name: flintstones.method.linguistic.topsis
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: flintstones.entity.method,
flintstones.entity.validatedmethod,
flintstones.helper.faq,
flintstones.domain.fuzzyset,
flintstones.valuation.twoTuple
@@ -0,0 +1,6 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
faq/
@@ -0,0 +1 @@
This a version of the 2-tuple TOPSIS approach introduced in O. Sohaib, M. Naderpour, W. Hussain, L. Martinez, Cloud computing model selection for e-commerce enterprises using a new 2-tuple fuzzy linguistic decision-making method, Comput. Ind. Eng. 132 (2019), 4758, which makes use of the 2-tuple linguistic model and a new distance function that allows to obtain more precise and interpretable results than other models. However, instead of aggregating the initial input from the experts using average values and then perform the 2-tuple TOPSIS, here it is followed the methodology established by Krohling and Campanharo where the fuzzy TOPSIS was used in the experts' preference to create a global model and then another round of fuzzy TOPSIS was performed to acquire the global solution with the experts' individual solutions acting as the criteria.
@@ -0,0 +1 @@
Se trata de una versión del enfoque TOPSIS 2-tuplas introducido en O. Sohaib, M. Naderpour, W. Hussain, L. Martinez, Cloud computing model selection for e-commerce enterprises using a new 2-tuple fuzzy linguistic decision-making method, Comput. Ind. Eng. 132 (2019), 47-58, que hace uso del modelo lingüístico de 2-tuplas y de una nueva función de distancia que permite obtener resultados más precisos e interpretables que otros modelos. Sin embargo, en lugar de agregar la entrada inicial de los expertos utilizando valores promedio y luego realizar el TOPSIS 2-tuplas, aquí se sigue la metodología establecida por Krohling y Campanharo donde se utilizó el TOPSIS difuso en la preferencia de los expertos para crear un modelo global y luego se realizó otra ronda de TOPSIS difuso para adquirir la solución global con las soluciones individuales de los expertos actuando como criterio.
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="flintstones.method.extension">
<method
category="flintstones.entity.method.multicriteria"
implementation="flintstones.method.linguistic.topsis.LinguisticTOPSIS"
uid="flintstones.method.linguistic.topsis">
<phase
uid="flintstones.method.common.phase.selectBLTS">
</phase>
<phase
uid="flintstones.method.common.unification.unification">
</phase>
<phase
uid="flintstones.method.linguistic.topsis.phase.experts">
</phase>
<phase
uid="flintstones.method.linguistic.topsis.phase.collective">
</phase>
</method>
</extension>
</plugin>
@@ -0,0 +1,63 @@
package flintstones.method.linguistic.topsis;
import java.util.HashMap;
import javax.inject.Inject;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.services.nls.Translation;
import flintstones.domain.fuzzyset.FuzzySet;
import flintstones.entity.domain.Domain;
import flintstones.entity.method.Method;
import flintstones.entity.validatedmethod.ValidatedMethod;
import flintstones.helper.chainvalidator.ChainValidator;
import flintstones.helper.chainvalidator.operation.method.ValidBLTSDomainOperation;
import flintstones.helper.faq.interfaces.IMarkdownFAQ;
import flintstones.method.linguistic.topsis.messages.Messages;
import flintstones.valuation.twoTuple.TwoTupleValuation;
public class LinguisticTOPSIS extends ValidatedMethod implements IMarkdownFAQ {
@Inject
@Translation
private Messages messages;
@Override
public String getName() {
return messages.Method_Name;
}
@Override
public String getFAQFile() {
return "faq/faq";
}
@Override
protected void reloadValidator() {
validator = ContextInjectionFactory.make(ChainValidator.class, context);
int numDomains = domainService.getAll().length;
String numDomainEntity = domainMessages.Domain_count;
Domain[] fuzzysetDomains = domainService.getAll(FuzzySet.ID);
String fuzzysetDomainsEntity = domainMessages.Domain_type_entities;
ValidBLTSDomainOperation validBLTSDomainOperation = new ValidBLTSDomainOperation(fuzzysetDomainsEntity,
fuzzysetDomains);
validator.setReturn(this.getName())
.greaterThan(numDomainEntity, numDomains, 0)
.named("numDomains")//$NON-NLS-1$
.custom(validBLTSDomainOperation)
.named("fuzzySetDomains");//$NON-NLS-1$
}
@Override
protected HashMap<String, Object> exportData() {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put(Method.TYPE_OF_VALUATION, TwoTupleValuation.ID);
return map;
}
}
@@ -0,0 +1,11 @@
package flintstones.method.linguistic.topsis.messages;
import org.eclipse.e4.core.services.nls.Message;
@Message
@SuppressWarnings("javadoc")
public class Messages {
public String Method_Name;
}
@@ -0,0 +1 @@
Method_Name=Linguistic Technique for Order of Preference by Similarity to Ideal Solution (APOLLO)
@@ -0,0 +1 @@
Method_Name=Técnica para el orden de preferencia mediante cercania a la solución ideal (APOLLO)