Skip to main content
. 2023 Jan 30;25(2):251. doi: 10.3390/e25020251
Algorithm 3 Stochastic Rollout Algorithm
  • 1:

    Input:(x0,x0)Sk×Sk  

  • 2:

    fork=0toN1do  

  • 3:

        for each (uk,uk)Uk(xk)×Uk(xk,xk) do  

  • 4:

            repeat 

  • 5:

               wkpWk, mkpMk  

  • 6:

               xk+1vk(xk,uk,wk),xk+1fk(xk,uk,mk)  

  • 7:

               for i=k+1 to N1 do  

  • 8:

                   {μ^i(xi),μ^i(xi,xi)}Generate_base_policies(xi,xi)  

  • 9:

                   wipWi, mipMi  

  • 10:

                  xi+1vi(xi,μ^i(xi),wi),xi+1fi(xi,μ^i(xi,xi),mi)   

  • 11:

              end for 

  • 12:

              Store: hk(xk,uk,mk)+J˜k+1(xk+1,xk+1)  

  • 13:

           until a selected criterion is met  

  • 14:

           Q˜k(xk,xk,uk,uk)EwkEmkhk(xk,uk,mk)+J˜k+1(xk+1,xk+1)

  • 15:

       end for 

  • 16:

       J^k(xk,xk)maxukUk(xk)maxukUk(xk,xk)Q˜k(xk,xk,uk,uk)  

  • 17:

       μ¯k(xk,xk)uk*,μ¯k(xk)uk*  

  • 18:

       wkpWk, mkpMk  

  • 19:

       xk+1vk(xk,μ¯k(xk),wk),xk+1fk(xk,μ¯k(xk,xk),mk) 

  • 20:

    end for