| Algorithm 1: Greedy Cooperative Sensor Node Pre-Selection Heuristic Based on G-GDOP |
| Input: C, , K, , , , , , , , , , , , and ; use to disable an upper budget. Output: , , , M, , and . |
| 1: Compute , , , and the projected weighted link-information vectors . 2: if preprocessing fails then return SELECTION_NUMERICAL_FAILURE. 3: ; ; ; ; ; . 4: function . 5: . 6: ; . 7: . 8: . 9: return . 10: end function. 11: function . 12: return . 13: end function. Stage I: observable-seed construction 14: while do. 15: if then return UNOBSERVABLE. 16: . 17: if then return UNOBSERVABLE. 18: ; ; ; . 19: for each in increasing node-ID order do. 20: . 21: if then continue. 22: ; . 23: ; compute the retained of . 24: . 25: if or then and . 26: end for. 27: if then return RESOURCE_INFEASIBLE. 28: ; ; . 29: ; ; ; . 30: end while. 31: ; . 32: if cannot be evaluated then return SELECTION_NUMERICAL_FAILURE. 33: . Stage II: post-seed A-optimal refinement 34: while do. 35: ; ; ; ; . 36: for each in increasing node-ID order do. 37: . 38: if then continue. 39: if then ; else compute using Equation (37). 40: . 41: if or then store as the current candidate. 42: else if and then store . 43: else if , , and then store . 44: else if , , , and then store . 45: end for. 46: if then break. 47: . 48: ; . 49: ; ; . 50: ; . 51: end while. 52: if exact-K selection is required and then return RESOURCE_INFEASIBLE. 53: if then return UNOBSERVABLE. 54: Evaluate the final A-optimal metric and resource statistics. 55: if the final metric evaluation fails then return SELECTION_NUMERICAL_FAILURE. 56: . 57: return . |