Skip to main content
. 2024 Feb 26;24(5):1502. doi: 10.3390/s24051502
Algorithm 1 Core pseudo codes of the MBB-MOGWO
Input: initial number of the grey wolves n,
            the termination criteria MaxIt,
            the size of archive ArcSize
Output: the current optimal candidate solution set archive
  • 1:

    Initialize the grey wolves Xi(i=1,2,...,n),t,MaxIt

  • 2:

    a=2cos(tMaxIt·π2)

  • 3:

    Xi.cost = CalculateAgent(Xi.position)

  • 4:

    archive = GetNonDominatedParticles(X, ArcSize)

  • 5:

    Xα = ChooseLeader(archive) and Remove Xα from the archive

  • 6:

    Xβ = ChooseLeader(archive) and Remove Xβ from the archive

  • 7:

    Xδ = ChooseLeader(archive) and Re-add Xα, Xβ to the archive

  • 8:

    while (t<MaxIt) do

  • 9:

         for each Xi do

  • 10:

         UpdatePosition(Xi)

  • 11:

       end for

  • 12:

       Update a with a=2cos(tMaxIt·π2)

  • 13:

       Re-calculate Xi.cost and archive

  • 14:

       if archive is full then

  • 15:

         Delete solutions in the most crowded grid and add new solution according to S4

  • 16:

       else

  • 17:

         Update the archive according to S1–S3

  • 18:

       end if

  • 19:

       Xα = ChooseLeader(archive) and Remove Xα from the archive

  • 20:

       Xβ = ChooseLeader(archive) and Remove Xβ from the archive

  • 21:

       Xδ = ChooseLeader(archive) and Re-add Xα, Xβ to the archive

  • 22:

       t=t+1

  • 23:

    end while

  • 24:

    return  archive