|
Acknowledgments |
5 |
|
|
Contents |
6 |
|
|
1 Introduction |
9 |
|
|
1.1 Introduction |
9 |
|
|
1.2 Problem Domain |
10 |
|
|
1.3 The GLOBAL Algorithm |
10 |
|
|
2 Local Search |
14 |
|
|
2.1 Introduction |
14 |
|
|
2.2 Local Search Algorithms |
15 |
|
|
2.2.1 Derivative-Free Local Search |
15 |
|
|
2.2.2 The Basic UNIRANDI Method |
16 |
|
|
2.2.3 The New UNIRANDI Algorithm |
16 |
|
|
2.2.4 Reference Algorithms |
21 |
|
|
2.3 Computational Investigations |
22 |
|
|
2.3.1 Experimental Settings |
22 |
|
|
2.3.2 Comparison of the Two UNIRANDI Versions |
23 |
|
|
2.3.3 Comparison with Other Algorithms |
25 |
|
|
2.3.4 Error Analysis |
26 |
|
|
2.3.5 Performance Profiles |
29 |
|
|
2.4 Conclusions |
32 |
|
|
3 The GLOBALJ Framework |
33 |
|
|
3.1 Introduction |
33 |
|
|
3.2 Switching from MATLAB to JAVA |
34 |
|
|
3.3 Modularization |
34 |
|
|
3.4 Algorithmic Improvements |
37 |
|
|
3.5 Results |
43 |
|
|
3.6 Conclusions |
45 |
|
|
4 Parallelization |
46 |
|
|
4.1 Introduction |
46 |
|
|
4.2 Parallel Techniques |
47 |
|
|
4.2.1 Principles of Parallel Computation |
47 |
|
|
4.3 Design of PGLOBAL Based on GLOBAL |
49 |
|
|
4.4 Implementation of the PGlobal Algorithm |
53 |
|
|
4.4.1 SerializedGlobal |
53 |
|
|
4.4.2 SerializedClusterizer |
56 |
|
|
4.5 Parallelized Local Search |
61 |
|
|
4.6 Losses Caused by Parallelization |
61 |
|
|
4.7 Algorithm Parameters |
61 |
|
|
4.8 Results |
62 |
|
|
4.8.1 Environment |
62 |
|
|
4.8.2 SerializedGlobal Parallelization Test |
63 |
|
|
4.8.3 SerializedGlobalSingleLinkageClusterizer Parallelization Test |
66 |
|
|
4.8.4 Comparison of Global and PGlobal Implementations |
67 |
|
|
4.9 Conclusions |
71 |
|
|
5 Example |
73 |
|
|
5.1 Environment |
73 |
|
|
5.2 Objective Function |
73 |
|
|
5.3 Optimizer Setup |
75 |
|
|
5.4 Run the Optimizer |
76 |
|
|
5.5 Constraints |
77 |
|
|
5.6 Custom Module Implementation |
81 |
|
|
Appendix A User's Guide |
84 |
|
|
A.1 Global Module |
84 |
|
|
A.1.1 Parameters |
84 |
|
|
A.2 SerializedGlobal Module |
85 |
|
|
A.2.1 Parameters |
85 |
|
|
A.3 GlobalSingleLinkageClusterizer Module |
86 |
|
|
A.3.1 Parameters |
86 |
|
|
A.4 SerializedGlobalSingleLinkageClusterizer Module |
87 |
|
|
A.4.1 Parameters |
87 |
|
|
A.5 UNIRANDI Module |
87 |
|
|
A.5.1 Parameters |
87 |
|
|
A.6 NUnirandi Module |
88 |
|
|
A.6.1 Parameters |
88 |
|
|
A.7 UnirandiCLS Module |
88 |
|
|
A.7.1 Parameters |
89 |
|
|
A.8 NUnirandiCLS Module |
89 |
|
|
A.8.1 Parameters |
89 |
|
|
A.9 Rosenbrock Module |
90 |
|
|
A.9.1 Parameters |
90 |
|
|
A.10 LineSearchImpl Module |
90 |
|
|
Appendix B Test Functions |
91 |
|
|
Appendix C DiscreteClimber Code |
102 |
|
|
References |
108 |
|