In this chapter, we design the experiments of the banner scheduling problem to study the performance of the proposed placement algorithm. The upper bound will be also examined. The platform of the experiments is a personal computer with a Pentium 4 CPU of 3.4 GHz PC and 512 MB memory, running Microsoft Windows XP. The programs are coded in Java.
In the experiments, the planning horizon is 365 days. The length of allowable duration i.e. Wi, specified by order oi is determined by probability: 10% for Wi ∈[1, 10], 35% for Wi
∈[11, 30], 40% for Wi ∈[41, 60], and 15% for Wi ∈[61, 90], and. A roulette wheel is used for the random selection. When each Wi is determined, the demands for different types of space is sampled with the uniform distribution. We randomly generate release date αi and due date βi
of order oi subject to the feasibility constraint . For the simplicity in comparing the effectiveness of schedules, we set the prices of all types of ad frames are assumed to be the same. We use our heuristic to solve test instances with 4, 6, and 8 types of ads space, and the numbers of orders are 50, 100, 150, 200, 300, and 400. The computational results shown in the tables below are average values over the 50 instances for each combination of number of space types and number of orders.
i m i
j wij ≤β −α
∑ =1
Notations used in the tables include:
z n: number of orders;
z #_Orders_Scheduled: average number of orders successfully scheduled;
z #_Slots_Filled: average number of slots successfully filled;
z UB: average upper bound;
z Utilization (%): average percentage of filled slots out of all slots, i.e.
#_ _
#_ _ 100%
Slots Filled
Slots All × .
z Adjusted_Utilization (%): average percentage of slots filled based on UB, i.e.
#_ _ Slots Filled 100%
UB × .
z time (sec.): average run time.
From the statistics are shown in Tables 5.1, 5.2, and 5.3, we make our first observation on the trend of utilization. When the number of orders increases, the placement algorithm achieves better utilizations of slots. When 4 types of ads spaces are provided for 50 orders, the utilization is 89.99%. If the number of order we receive is 400, then the utilization climbs to 97.95%. The trend occurs for different number of ads types.
Second observation is made on the lower bounds. Recall that we estimate the number of slots that are impossible to be used in any plan. Or, in other words, we give an upper bound that is an estimate of the slots that can be used. The numerical results reveal that upper bounds become tighter as the number of order increase. This trend can be evinced in the three tables for different numbers of ads types. Another implicit relationship between upper bounds and numbers of ads types can be established. Consider the rows of n = 200 orders in Tables 5.1, 5.2 and 5.3. The ratios between upper bounds and total number of slots are
1430 2131 2817
0.9794, 0.9733, and 0.9647.
1460 = 2190 = 2920 =
The ratio appears to decrease (or another interpretation is that the upper bounds become tight) when the number of ads types increases, although the decrease is slight.
24
The discussion has addressed the effectiveness of the placement algorithm. Still we need to further present remarks on this issue. The utilization we cited above is calculated using the total number of slots. The development of UB has indicated that some fraction of the slots will never be used. Considering the “effective” slots, we have better utilizations as shown in the columns entitled Adjusted_Utilization. The results further demonstrate the impressive effectiveness of our algorithm.
We integrate some columns in the table 5.1, table 5.2, and table 5.3 to get the Table 5.4, which shows us the average demand amount of orders we scheduled. We can find the average demand of orders scheduled decrease when the n values increases, i.e. our heuristic will select and schedule successfully the orders with small demand easier and make a better solution for this kind of scheduling problems.
The final concern of our discussion is about the efficiency, i.e. the run time required by producing the final plan. Phase 2 and Phase 3 of the proposed placement algorithm are designed for improving the initial plan and their execution depends on how many scheduled slots are moved around and how many unscheduled orders are examined and eligible for insertions. Therefore, no strict formula is given to describe the overall time complexity. Still we circumvent rigorous theoretical analysis to look into the elapsed run time in the experiments. First of all, the actual run time does not exhibit an exponential growth of the number of orders. For example, consider the rows of n = 100, 200, and 400 in Table 5.2. The run times are 2.00, 7.39 and 22.48. The ratios between each two successive run times for the values of n doubled are 3.7 and 3.0. We turn to examine the role of m, the number of ads
types. Consider the scenarios of n = 200 orders in three Tables. The run times for m = 4, 6 and 8 are 5.23, 7.39, 10.8. The ratios between 6 and 4, and between 8 and 6 are 1.50 and 1.33, respectively. The ratios between 7.39 and 5.23, and between 10.8 and 7.39 are 1.41 and 1.46, respectively. It appears that the ratio between two successive run times coincides with the ratio between two successive values of m. From the above discussion, we realize that the run time of the proposed algorithm will not drastically deteriorate when the number of orders and the number of ads types increase. From a practical point of view, solving 400 orders in twenty some seconds is acceptable.
Table 5.1: m = 4 types of ads space, number of slots is 4×365=1,460.
n
Table 5.2: m = 6 types of ads space, number of slots is 6×365=2,190.
n
Table 5.3: m = 8 types of ads space, number of slots is 8×365=2,920.
Table 5.4: the average demand amount of orders scheduled
m n orders scheduled slots sold out average demand of orders scheduled