
The source code of "Enhanced Opposition-Based Differential Evolution for Solving High-Dimensional Continuous Optimization Problems (GODE)". The GODE code is used for Special Issue of Soft Computing: A Fusion of Foundations, Methodologies and Applications on Scalability of Evolutionary Algorithms and other Metaheuristics for Large Scale Continuous Optimization Problems. If you have any questions about it, pleas contact Dr. H. Wang <wanghui_cug@yahoo.com.cn>.

The GODE is an enhanced opposition-based DE which employs a generalized opposition-based learning (GOBL). The GOBL is an enhanced opposition-based learning, which transforms candidates in current search space to a new search space. By simultaneously evaluating solutions in the current search space and transformed space, we can provide more chance of finding better solutions.

The GODE code is written in C++ and developed by Microsoft Visual C++ 6.0 (VC++6.0). In order to run the code, you should install VC++6.0 in the computer. 

The code has three header files data.h, f7f11data.h and global.h, and two sources files global.cpp and GODE.cpp. 

-data.h: It defines the shited data for F1-F6 (provided by the special issue).
-f7f11data.h: It defines the shited data for F7-F11, F15 and F19(provided by the special issue).
-global.h: It gives the declarations of the 19 benchmark functions and two random functions. It also defines some parameters: the total number of running times (Run), population size (ps), dimension size (D), the maximum number of function evaluations (MAX_FEs), and function ID (F). If you want to change the settings of these parameters, please update them in this file.
-global.cpp: It gives the implementations of the 19 benchmark functions and the two random functions.
-GODE.cpp: It gives the implementations of GODE. In this files, you can change the parameter settings of the opposite rate (p_o), CR and scale, where the latter two parameters are used for DE.

If you want to run GODE on one test function, please set the function ID (F) and dimension size in global.h, and modify the main() in GODE.cpp as follows.
void main(){
  Initialize_Seeds(); 
  Run_One_Function(); 
}

If you want to run GODE on all the 19 test functions, please set the dimension size and running times in global.h, and modify the main() in GODE.cpp as follows.
void main(){
  Initialize_Seeds(); 
  Run_All(); 
}

When you run the code, please open the project workspace file (GODE.dsw) first. Then, you can compile (Ctrl+F7) the code and build (F7) GODE.exe. Now, you can execute (Ctrl+F5) the code.





