**
Schedule Improvement Procedures**

An improvement heuristic can be applied to the schedule that has been entered into the ‘fill schedule’ spreadsheet. The schedule entered into the ‘fill schedule’ is either a computer generated schedule or a user created schedule. The user can choose to apply a gradient descent method, or a Simulated Annealing Algorithm. The gradient descent method accepts improving schedules only. While the Simulated Annealing Algorithm accepts all improving moves and some worsening schedules with a decreasing probability. Six different improvement strategies are available to improve the schedule. The user inputs how many improvements should be attempted. The improvement strategies applied to the schedule are chosen at random. The six strategies are discussed below:

*
Load swap* - This may occur when more than one
full truck load of modules is required at a farm and the demand for modules at
that farm meant that a partial load of modules is taken to the farm. The
strategy randomly chooses two of the trucks and swaps the number of modules that
they carry.

*
Filling order of the trucks at the
farms*
- A farm is randomly chosen, if there is more than one truck assigned to the
chosen farm, two trucks which are allocated to that farm are chosen at random.
The trucks are then switched in their order to be filled at the farm.

*
Farm allocation swap*
- Randomly select two farms and two different trucks that are assigned to that
farm. The trucks swap assignments if the following conditions are satisfied:

Condition 1 - The trucks must have the capacity to carry the new assignment of modules.

Condition 2 - If either of the truck allocations are the last truck to leave the chosen farm, the swap will only take place if both trucks carry a loader.

*
Van to farm assignment change*
– A random truck and farm is chosen. If the van is already assigned to help that
truck catch, then un-assign the van. If the van is not assigned to the truck and
farm already, then assign the van to help that catch. If the particular farm
chosen was not previously visited by the van, the order in which the van visits
the farms is randomly chosen.

*
Rearranging the order of the van visits*
- Randomly rearranges the order that the van visits the farms it is assigned
too.

*
Add / subtract a trip allocation*
- Randomly picks a truck at a farm to swap with another randomly chosen truck in
the fleet. The result is that the current truck no longer performs that
particular trip and the new truck takes an extra trip. The trucks add / subtract
a trip if the following conditions are satisfied:

Condition 1 – The new truck must have the capacity to carry the assignment of modules.

Condition 2 – If the current truck is the last to the farm then the change will only be performed if the new truck carries a loader.