Research Article

A Branch and Bound Algorithm for Agile Earth Observation Satellite Scheduling

Algorithm 2

The branch and bound algorithm.
Input: // the target list
// the initial attitude state of the satellite
// the current sequence solution
// the extending order of the targets
// the current best sequence solution
// the current best profit
// the number of look-ahead targets
Output: // the optimal sequence solution
// the optimal profit
(1)
(2) //Initialization
(3)
(4);
(5)
(6);
(7); // Computing the current profit
(8)
(9); ; //Updating the current best plan
(10)
(11)
(12); // Selecting the targets which still
have a visible time window
(13)
(14) if is not a consistent solution
(15)
(16)
(17)
(18)
(19)
(20); // Computing the upper bound
(21)
(22); // Backtracking if the upper bound of current solution is less than
(23)
(24)
(25) //Updating the current best solution
(26);
(27)
(28); // Determining the number of targets that
have not been tried
(29)for to numOfNext
(30);
(31)
(32)
(33);
(34)end if
(35)end if
(36);
(37);