1: Input: Information concerning the current states of COVID-19 and the adopted vaccine allocation strategy. |
2: Initialize: Initialize initial conditions for all compartments, i.e. the number of individuals in each sub-population at , and set counter variable iter to 0. |
3: Fit: Determine the values of SIQRV parameters by lsqcurvefit. |
4: Generate: Given the resulting SIQRV parameters and the initial conditions, generate compartmental vectors and , denoting the numbers of infectious and susceptible individuals in all sub-populations over the planning horizon T (with no vaccination) by Forward Euler Transformation. |
5: Create: Create an initial vaccine allocation vector according to the adopted vaccine allocation strategy. |
6: Generate: Call IntGen to generate an initial CVAP solution, denoted by , including both individuals in compartments V and . |
7: while stopping criteria have not been met do
|
8: Index: Re-index counter variable iter to
|
9: Update: Update vector , as well as other related compartmental vectors, based on by Forward Euler Transformation. |
10: Determine: Determine vector based on updated compartmental vectors. |
11: end while
|
12: Return: The optimal administration of COVID-19 vaccines according to the given vaccine allocation strategy. |