|
Algorithm 2: Solving the energy-efficient collision-free machine/AGV scheduling problem in the physical optimization layer |
| 1: |
if assigned then task state = optimization |
| 2: |
if machine/AGV state = idle |
| 3: |
input the best solution in the virtual planning layer |
| 4: |
initialize the parameters of energy-efficient collision-free machine/AGV scheduling problem |
| 5: |
initialize the parameters of APC |
| 6: |
initialize the parameters of the solving system |
| 7: |
encode the APC individual by Equation (39) |
| 8: |
select fitness function by Equations (37) and (28) |
| 9: |
for ite = 1 to
|
| 10: |
|
produce the random seeds by
|
| 11: |
|
produce seeds from the previous fruits |
| 12: |
|
calculate fitness by Equations (37) and (28) |
| 13: |
|
choose the best solutions by
|
| 14: |
|
choose the elite individual with the highest fitness |
| 15: |
|
produce a fruit through parthenogenesis |
| 16: |
|
produce fruits through social learning by
|
| 17: |
|
end justification by
|
| 18: |
end for |
| 19: |
output the best solution in the physical optimization layer |
| 20: |
if scheduled then task state = performing |
| 21: |
if assigned then machine/AGV state = loading |
| 22: |
if scheduled then machine/AGV state = processing/transportation |
| 23: |
if detected then machine/AGV state = obstacle avoidance |
| 24: |
if detected then machine/AGV state = obstacle avoidance |
| 25: |
if avoided then machine/AGV state = processing/transportation |
| 26: |
if completed then machine/AGV state = idle |