• 沒有找到結果。

Heuristic DS-UCB Algorithm

Chapter 5. Deployment Scheduling

5.6. Heuristic DS-UCB Algorithm

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

84

Similarly, CCNDS-UC can also be proven to NP-hard in a similar way.

5.5. Heuristic DS-ACG Algorithm

Sine CCNDS-AC is a NP-hard problem, we designed a heuristic approximated algorithm, DS-ACG, to solve it. The algorithm is basically a greedy algorithm. The antecessor precedence constraint effectively reduces the number of choices in each iteration in the algorithm. Therefore, a greedy algorithm might perfectly fit the problem itself and obtain a very good performance.

In the algorithm, a forwarding tree T(V,E), a set of nodes πa and all input parameters are given initially. The candidate list, CL, is initialized to the children of the root. In each iteration, the DS-ACG algorithm chooses a node from CL which has the maximum profit to attach to the tail of πa. The children of the newly selected node are included into CL. The procedure is repeated iteratively until CL is empty. The time complexity of DS-ACG is O(n2). Although the algorithm is rather simple, it outperforms easily our previous algorithm CCN-DS [27]

because DS-ACG takes into account the traveling time. The pseudo code is shown in Appendix III.

5.6. Heuristic DS-UCB Algorithm

Because of the extremely stringent time constraint in disaster response, most heuristic solutions we developed so far are polynomial time greedy algorithms, which select the best choice that has the largest estimated profit iteratively, based on the current state without backtracking. Heuristic algorithms often offer near optimal solutions because the number of

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

85

choices is usual very limited due to the ancestor precedent constraint. Unfortunately, because the ancestor precedent constraint is relaxed in CCNDS-UC, not only the number of choices in each iteration is much more than that of CCNDS-AC, but also the estimated profits for isolated nodes are unknown unless a looking-ahead and backtracking computation steps is included in the algorithm. A greedy algorithm will perform poorly under such a condition.

Therefore, we propose DS-UCB algorithm that is basically a modification of DS-ACG with a limited looking-ahead and backpacking mechanism. DS-UCB is still an approximated algorithm without any guarantee of optimality. Similar to DS-AC, each iteration of DS-UCB algorithm consists of two major steps: the first step is to find a temporary path, which is actually a temporary sub-schedule, from the current selected node upward to a node whose profit is computable; then the second step is to compute the best path from the head to the tail of the path among all possible paths within three hops of the temporal path. The selected best path is the new sub-schedule to be added to the tail of the current schedule. Set the node nearest to the current node to be the new current node. Initial current node is the node nearest to the command center. The iteration is repeated until all nodes are included in the schedule.

The time complexity is O(n3). However, it is still a polynomial complexity and will be acceptable if the number of nodes is not too high, say, under 1000. Note that the topology in the real world will not be fully connected so that the complexity will rarely reach 10003). The pseudo code is shown in Appendix IV.

5.7. Performance Evaluation

The two proposed CCN deployment scheduling algorithms, DS-ACG and DS-UCB were evaluated against our previous scheduling algorithm CCN-DS [27] and optimal solutions by

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

86

simulation. CCN-DS algorithm aims a deployment schedule to maximize the efficiency of disaster response operation. However, CCN-DS didn’t take the traveling time of each selected path into account. DS-ACG and DS-UCB improve the CCN-DS model by taking traveling time into account.

The profit function of a base station is assumed a two-segment piecewise linear time-variant function. The initial profit is x at disaster time and decreases with time. The slope from disaster time to P is s1 and becomes s2 after time P. P is called the turning point of profit.

Their values were generated randomly as shown in TABLE 5.1.

TABLE 5.1 Parameters of test instances in experiment I

Parameters Range of values

Initial Profit x ~ Uniform(30, 100) Traveling Time d ~ Uniform(0.5, 10) hr

Profit P ~ Uniform (0, 168) hr

Slope 1 s1 ~ Uniform (-1, 0)

Slope 2 s2 (|s2|>=|s1|) ~ Uniform (-1, 0) Construction Time ri ~ Uniform (50, 80) hr

Forwarding Tree Size 8-12

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

87

Original Deviation

= 1 −

𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

𝑂𝑝𝑡𝑖𝑚𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 ……….…………..….….(5.1) Normalize Deviation

=

𝑂𝑝𝑡𝑖𝑚𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 − 𝐴𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

𝑂𝑝𝑡𝑖𝑚𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 – 𝑊𝑜𝑟𝑠𝑡 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 ………(5.2)

Test instances were generated by uniform random functions. The ranges of values used in Experiment I are shown in TABLE 5.1. In Experiment II, the same set of parameters was used to generate test cases except that the size of graph is 50. In this size, there is no way to obtain optimal solutions for such a NP-hard problem in reasonable time. Therefore, we took the best solution out of 10 million solutions as the pseudo optimal solution to evaluate the performance of our algorithms. The evaluation metrics are total profit, total traveling time, original profit deviation and normalized profit deviation as shown in (5.1) and (5.22).

The results of Experiment I and II are shown in Fig. 5.3 (only the case of 12 nodes is shown) and Fig. 5.4. As we can see from these figures that both DS-ACG and DS-UCB outperform CCN-DS [27] by a very large margin in both small and large cases. These results show that the traveling time is a significant factor in deployment scheduling and cannot be ignored.

Furthermore, DS-UCB performs the best among all three heuristic algorithms. This shows that relaxing the antecessor precedence constraint is beneficial. Finally, the normalized deviations from optimal solutions in terms of total profile and total time are all nominal, under 5%, which is not shown here for space saving. These results show that our heuristic algorithm is effective although they are simple.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

88

Figure 5.3. Total profit and total deployment time in experiment I

Figure 5.4. Total profit and total deployment time in experiment II

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

89