JGDS (Java Geographically Distributed System) is a working subgroup of NEO (Networking and Evolutinary Optimization) that research optimization problems using distributed genetic algorithm. The distributed systems allows to reduce the high execution times that are produced on sequential systems by NP-hard problems. The evolutionary algorithms are an efficient way to cope problems with a high complexity. The use of evolutionary algorithms on distributed systems represent a powerful tool to solve all types of optimization problems.
In this web, our goal is to present and update the JGDS v3.5 classes, developed with Java, to resolve different optimization problems.The problems tackled here are the RND (Radio Network Design) problem and the SAT (logics clauses SATisfaction) problem. In a later revision we added ONEMAX problem. The first one is a typical problem taken from the telecomunication world. It tries to cover a geographical area using radio transmitters and minimizing the number of transmitters used. The SAT problem is a NP-hard problem that looks for a correct variables assignation that satisfy all the formule. This problem allows to resolve other NP-hard problems with high complexity and difficult representation. The ONEMAX problem is a well-known benchmark that counts the number of ones in a binary string. Afterwards, others problems are aggregated into the JGDS v3.5 classes as well as changes in the class diagram producing the PGA 4.0 classes. The new problems are the TA (Terminal Assignment) problem and the ECC (Error Correcting Code) problem. The TA problem objective is to determine the minimum cost links to form a network by connecting a given collection of terminals to a given collection of concentrators. The ECC problem is a combinatorial optimization problem. It is a assignation of code words to an alphabet in order to attain two objectives: The first one is to minimize the sended messages length, using this code words. The second one is to maximize the errors correction.
This web is organized as follow. First, a guick guide for installation and execution is shown in section 1.1. Then it will show in sections 2, 3 and 4, the use of the original classes . In section 2 you can see the class diagram, and section 3 defines the configuration file parameters which must be established before execution. Then, the section 4 reports how to run the program using this classes, and how to facility the execution. The section 5 will briefly describe the results interpretation. Section 6 analyzes how you can modify the classes to apply its to others problems, for example the RND original problem [CGKK97], and here you can see others news classes, for example geografico.java. The section 7 has some examples about anteriors sections. Then, the section 8 resumes the use of the classes and defines the directory structure. Finally, from section 9 to 11 we define the main features of JGDS 4.0, for example new problems (ECC, TA) or parameters, that produces changes in the configuration file, and new classes (AbstracProblem.java, asignacion.java) that modify the class structure.