Skip to main content
. 2024 Sep 9;24(17):5851. doi: 10.3390/s24175851
Algorithm 1: runUseCases()
Input:   ch1,ch2,w1,w2,w3,mergeF,deletionR
Output:   useCasesObj        //object containing use cases results
Local VariablesuseCasesObj=[]
//Calculating power values
1 powerch1=ch1.p+sum(ch1.D.p)
2 powerch2=ch2.p+sum(ch2.D.p)
3 resultDefaultZone1 = objectiveFunction(ch1.cz.su,powerch1,length(ch1.cz.L),w1,w2,w3)
4 resultDefaultZone2 = objectiveFunction(ch2.cz.su,powerch2,length(ch2.cz.L),w1,w2,w3)
//merged use case
5 useCasesObjElement.label = ‘merged’
6 useCasesObjElement.cz = combineCoverageZone(ch1.cz,ch2.cz)
7 useCasesObjElement.P = powerch1+powerch2
8 useCasesObjElement.mergedValue = mergeF(length(ch1.D)+(ch2.D)+2)
9 useCasesObjElement.value = objectiveFunction(useCasesObjElement.cz.su,useCasesObjElement.P,length(useCasesObjElement.cz.L),w1,w2,w3)
10 useCasesObj.push(useCasesObjElement)
//dominant one use case
11 useCasesObjElement.label = ‘dominantOne’
12 useCasesObjElement.cz = ch2.czch1.cz
13 resultZone2 = objectiveFunction(useCasesObjElement.cz.su,powerch2,length(useCasesObjElement.cz.L),w1,w2,w3)
14 useCasesObjElement.value = resultDefaultZone1 + resultZone2
15 useCasesObj.push(useCasesObjElement)
//dominant zone two use case
16 useCasesObjElement.label = ‘dominantTwo’
17 useCasesObjElement.cz = ch1.czch2.cz
18 resultZone1 = objectiveFunction(useCasesObjElement.cz.su,powerch1,length(useCasesObjElement.cz.L),w1,w2,w3)
19 useCasesObjElement.value = resultZone1 + resultDefaultZone2
20 useCasesObj.push(useCasesObjElement)
//shrink zone one use case
21 useCasesObjElement.label = ‘shrinkOne’
22 useCasesObjElement.cz = ch2.czch1.cz
23 useCasesObjElement.value = resultDefaultZone1resultDefaultZone2 * deletionR
24 useCasesObj.push(useCasesObjElement)
//shrink zone two use case
25 useCasesObjElement.label = ‘shrinkTwo’
26 useCasesObjElement.cz = ch1.czch2.cz
27 useCasesObjElement.value = resultDefaultZone1resultDefaultZone2 * deletionR
28 useCasesObj.push(useCasesObjElement)
29 return useCasesObj