(1) Initialize the ps, , bat population and other parameters; |

(2) Construct initial bat population; // (3.3 Initialization construction) |

(3) Assign landing time and evaluate each individual; // (3.2 Landing time assignment) |

(4) **repeat** |

(5) **for** :ps **do** |

(6) Determine frequency ; |

(7) Update each bat individual; |

(8) **end** |

(9) Assign landing time and evaluate each individual; // (3.2 Landing time assignment) |

(10) **if** **then** |

(11) Carry out swap local search operation; |

(12) **else** |

(13) Carry out LSI local search operation; |

(14) **end** |

(15) Assign landing time and evaluate each individual; // (3.2 Landing time assignment) |

(16) Compute loudness of each individual by (12); |

(17) **for** :ps **do** |

(18) **if** **then** |

(19) Carry out RB operation; // Runway balance operation |

(20) **else** |

(21) Assign each aircraft to a random runway; |

(22) **end** |

(23) **end** |

(24) Assign landing time and evaluate each individual; // (3.2 Landing time assignment) |

(25) **until** |

(26) Output result and plot |