Research Article

A GRASP for Next Generation Sapphire Image Acquisition Scheduling

Algorithm 3

Pseudocode of the Simple Insertion Improvement Heuristic.
(1) Input: a given schedule and its objective value
(2) Output: the refined schedule and its objective value
(3) 
(4) repeat
(5)  
(6)  for each scheduled request   do
(7)   Sort the unscheduled requests according to the priority in a non-increasing order
(8)   Identify the first such unscheduled request that being swapped with the scheduled request leads to a feasible schedule
       and gets a better objective value
(9)     if such a request exists then
(10)    Swap the request with the request and compute the corresponding objective gain
(11)     Conduct feasible backward moves for each request following , and update the corresponding objective gain
(12)      Conduct a request insertion operation between the end time of the request performing the last backward move and
        the start time of its next request, and update the corresponding objective gain
(13)    
(14)   end if
(15)   if    then
(16)    ,
(17)    Record the current schedule as the best schedule
(18)   end if
(19)     end for
(20)    
(21) until