Algorithm 1 Design space exploration. | |
1: procedure Explore() | |
2: : Power source model | |
3: : Sensor node/network model | |
4: : Sets of design variables ranges ( | |
, | |
) | |
5: /* Outer Loop Start */ | |
6: ; |
▹ Empty Tradeoff Curve |
7: ; |
▹ Init local search index |
8: ; |
▹ Number of local search subsets |
9: repeat | |
10: ; |
▹ Get design space subset |
11: /* Inner Loop Start */ | |
12: initPopulation(); |
▹ Initialize first population |
13: ; |
▹ Generation index to zero |
14: repeat | |
15: for all do |
▹ Evaluate population |
16: Simulate(); |
▹ Call Simulink using the proposed |
▹ individual implementation |
|
17: Evaluate(); |
|
18: end for | |
19: Sort(non-dominated, ); |
▹ Categorize proposals |
20: Tournament(); |
▹ Select parents |
21: CrossAndMut(); |
▹ Obtain new offspring |
22: ; |
▹ Increase generation |
23: until |
▹ Check last generation |
24: /* Inner Loop End */ | |
25: ExtractLocalTradeoffCurve(Pop); |
▹ Save optimal design points |
26: = ; | |
27: /* Propose next local search */ | |
28: ; |
▹ Next, search space subset |
29: until ( == k) |
▹ Check next outer iteration |
30: /* Outer Loop End */ | |
31: SaveAndPlot(); |
▹ Present Pareto front curve |
32: end procedure |