Skip to main content
. 2021 Aug 6;21(16):5324. doi: 10.3390/s21165324
Algorithm 1 Design space exploration.

 1: procedure Explore(PS,SN,DV)

 2:     PS: Power source model

 3:     SN: Sensor node/network model

 4:     DV: Sets of design variables ranges (DV={{I¯chg,V¯chg,E¯,t¯chg,T¯}i},i

      [0,k1],   I¯chg=[min(Ichg),max(Ichg)],V¯chg=[min(Vchg),max(Vchg)], E¯=
      [min(E),max(E)],   t¯chg=[min(tchg),max(tchg)],T¯=[min(T),max(T)])

 5:     /* Outer Loop Start */

 6:     TC;

▹ Empty Tradeoff Curve

 7:     iLS0;

▹ Init local search index

 8:     k=sizeof(DV);

▹ Number of local search subsets

 9:     repeat

10:         LSDViLS;

▹ Get design space subset

11:         /* Inner Loop Start */

12:         Pop initPopulation(PS,SN,LS);

▹ Initialize first population

13:         Geni0;

▹ Generation index to zero

14:         repeat

15:            for all XPopdo

▹ Evaluate population

16:                Simulate(PS,SN,X);

▹ Call Simulink using the proposed

▹ individual implementation

17:                Evaluate(Fitness1(X),Fitness2(X));

▹ Compute Equations (12) and (13)

18:            end for

19:            Sort(non-dominated, Pop);

▹ Categorize proposals

20:            Tournament(Pop);

▹ Select parents

21:            CrossAndMut(Pop);

▹ Obtain new offspring

22:            GeniGeni+1;

▹ Increase generation

23:         until (Geni==Gensmax)

▹ Check last generation

24:         /* Inner Loop End */

25:         LTCiLS ExtractLocalTradeoffCurve(Pop);

▹ Save optimal design points

26:         TC = TCLTCiLS;

27:         /* Propose next local search */

28:         iLSiLS+1;

▹ Next, search space subset

29:     until (iLS == k)

▹ Check next outer iteration

30:     /* Outer Loop End */

     

31:     SaveAndPlot(TC,FoM,D);

▹ Present Pareto front curve

▹ using Equations (14) and (15)

32: end procedure