Skip to main content
. 2019 Jul 6;19(13):2989. doi: 10.3390/s19132989
Algorithm 1 An iterative algorithm for solving Problems (P1) and (P2)
  • 1:

    Initialize power allocation {pkr(i)[n],prd(i)[n]} and UAV trajectory {q(i)[n]}, slack variables {uk(i)[n]}, {ud(i)[n]}. Set iteration i=0, the precision ε>0.

  • 2:

    repeat

  • 3:

        Solve subproblem (P1.1) with {pkr(i)[n],prd(i)[n]} and {q(i)[n]}, obtain the optimized result denoted by {τk(i+1)[n]}.

  • 4:

        Solve subproblem (P1.2.1) with {τk(i+1)[n]} and {q(i)[n]}, obtain the optimized result denoted by {pkr(i+1)[n],prd(i+1)[n]}.

  • 5:

        Solve subproblem (P1.3.2) with {q(i)[n]}, {τk(i+1)[n]} and {pkr(i+1)[n],prd(i+1)[n]} as well as {uk(i)[n],ud(i)[n]}, obtain the optimized result denoted by {q(i+1)[n],uk(i+1)[n],ud(i+1)[n]}.

  • 6:

        Update i=i+1.

  • 7:

    until

  • 8:

        The algorithm converges to ε.