Matrix-Based Formulation of Heterogeneous Individual-Based Models of Infectious Diseases: Using SARS Epidemic as a Case Study

Heterogeneities of individual attributes and behaviors play an important role in the complex process of epidemic spreading. Compared to differential equation-based system dynamical models of infectious disease transmission, individual-based epidemic models exhibit the advantage of providing a more detailed description of realities to capture heterogeneities across a population. However, the higher granularity and resolution of individual-based epidemic models comes with the cost of increased computational complexities, which result in difficulty in formulating individual-based epidemic models with mathematics. Furthermore, it requires great effort to understand and reproduce existing individual-based epidemic models presented by previous researchers. We proposed a mathematical formulation of heterogeneous individual-based epidemic models using matrices. Matrices and vectors were applied to represent individual attributes and behaviors. We derived analytical results from the matrix-based formulations of individual epidemic models, and then designed algorithms to force the computation of matrix-based individual epidemic models. Finally, we used a SARS epidemic control as a case study to verify the matrix-based formulation of heterogeneous individual-based epidemic models.


Introduction
Heterogeneity among the units composing a system is a very generic feature, which means that one never finds two units behaving in exactly the same way in most real systems [1]. In human societies, individual variability widely exists in social settings, cultural backgrounds, ages, genders, and occupations. Human beings have diverse features, physical characteristics, activities, and contact patterns. In epidemic outbreaks, individuals exhibit various health states, infectiousness, epidemic progresses, and behavior response. Despite these general facts, it is usually assumed that a population is homogeneous so as to build analytically tractable epidemic models, such as differential equation-based system dynamical models [2,3].
However, recent studies have shown that individual heterogeneity plays an important role in the epidemic spreading process [4][5][6]. The impact that individual heterogeneity has on epidemic diffusion has increasingly received more attention. Some researchers have concentrated on the effect of heterogeneous populations on epidemic dynamics [6][7][8]. They incorporated the heterogeneities of host populations as state variables, including age, stage, size [8], infection threshold [7], and resistant hosts [6]. Some other researchers have focused on epidemic models with spatial heterogeneities [9][10][11]. They utilized a patch structure where an epidemic system was divided into a number of patches to represent different spatial characteristics. Many researchers also investigated the impact of individuals' heterogeneous behaviors and activities on epidemic diffusion [12][13][14][15]. Yang et al. [12] studied the impact of heterogeneous human activities on epidemic spread and found that the heterogeneity of activities affects spreading velocity remarkably. Merler  how human motilities and population heterogeneity affect the course of an epidemic [13]. They found that the cumulative attack rate is positively correlated with average household size and the fraction of students in a population, and this was negatively correlated with the fraction of inactive population. Shang addressed the impact of awareness on epidemic outbreaks by proposing a mean-filed approach accommodating heterogeneous transmission rates [14]. He found that both contact awareness and local awareness can raise the epidemic threshold, while global awareness cannot. Cui et al. applied an edgebased compartmental model to study epidemic spreading dynamics with heterogeneous contacts [15]. In their models, contacts were grouped into two classes: strong contacts and normal ones. Additionally, the super spreading events that emerged in the severe acute respiratory syndrome (SARS) epidemic outbreaks of 2003 highlighted the necessity of a better understanding of social heterogeneities and individual-based models [16]. When studying super spreading events of the SARS epidemic using differential equation models, Mkhatshwa et al. [17] divided infectious individuals into two subgroups: super spreaders and regular spreaders. They then assigned a higher infection rate to super spreaders. Duan et al. employed heterogeneous and stochastic agent-based models to analyze the characteristics of infectious diseases' super spreaders [18]. Researchers also paid attention to epidemic dynamics in heterogeneous networks with different connectivities [19][20][21], and went forward and investigated epidemic spread in weighted networks representing the heterogeneity of individual interaction strengths [22][23][24][25].
Differential equation models and individual-based models are the two most widely used approaches of representing epidemic diffusion [26]. The former makes some reasonable assumptions and simplifications so as to represent epidemic spread at a macro level [2]. A population is assumed to be homogeneous, well-mixed, and aggregated into several compartments according to people's health states. The transitions of population between compartments are described by using differential equations with variables, such as the infection rate, onset rate of symptoms, and recovery rate. These assumptions and simplifications endow differential equation models with the advantage of performing theoretical analysis of macroscopic regularities of epidemic spread, such as the epidemic threshold and the final epidemic size. However, the advantage also comes with the limitation in representing epidemic diffusion in detail [27]. Firstly, the assumption of homogeneous and well-mixed population results in difficulties in representing the variants of individual microscopic attributes and behaviors. Secondly, a small set of variables parameterized with average quantities and mean values are inadequate to capture a variety of factors associated with the epidemic spreading process.
The individual-based model is a promising modeling paradigm to represent individual heterogeneities [28,29]. This approach can provide a more detailed depiction of realities to capture heterogeneity across individuals and incorporate the stochastic nature of infectious disease transmission. However, the higher granularity and resolution provided by individual-based models comes with the cost of increased computational complexities, growing computational power, and the development of intelligent computational algorithms [30]. The complexity of heterogeneous individual-based models leads to difficulty in mathematical formulation. Sometimes, heterogeneous individual-based epidemic models do not provide an insight into technical details, but only some qualitative representations. Consequently, we need to make great efforts to understand and reproduce existing individual-based epidemic models.
Our purpose is to realize the mathematical formulation of heterogeneous individualbased epidemic models, as well as make individual-based epidemic models much easier to be understood and reproduced. We used matrices and vectors to represent individuals, activity locations, social organizations, and relationship networks. Matrix-based representation of individual-based epidemic models reserves the capability of describing the heterogeneity of individuals and epidemic spreading process [8]. Furthermore, all of factors or elements related to epidemic diffusion are described as specific variables in matrices or vectors. According to the specific variables, it is feasible to build a mathe-matical formulation of individual-based epidemic models and algorithms. In addition, we can derive analytical results from the matrix-based representation of individual-based epidemic models. We applied the SARS epidemic as a case study to verify the matrix-based formulation of heterogeneous individual-based epidemic models.

Heterogeneous Individual-Based Models of SARS Epidemic
We here presented an improved agent-based model of the SARS epidemic based on our previous works, found in reference [18], which were used as a case study of matrix-based formulations of heterogeneous individual-based epidemic models. The main improvement of the model here is to increase the presentation of individuals' daily commute activities among spatial locations into our previous works so as to study the heterogeneous spatial transmission pattern of the SARS epidemic. Consequently, we designed individuals' daily activities at spatial locations, and introduced a bipartite network to describe individuals' commute behaviors. We assumed a closed human society to study the spread and control of the SARS epidemic. We applied agent-based models to represent human individuals, spatial activity locations, social organizations in the closed society, and their behaviors. In addition, we employed complex networks to described the multi-relationships among these social entities. We designed individuals' daily activities, such as sleeping, working, shopping, and recreation, which take place at different spatial activity locations. Agents commute among spatial locations to execute daily activities and contact each other. The contacts between susceptible individuals and infectious individuals cause the transmission of the SARS pathogen. Social organizations take some non-pharmaceutical interventions to mitigate the transmission of SARS epidemic, such as contact tracing, spatial activity location closure, individual quarantine, which may change the states of individuals and spatial activity locations. We then computed the discrete events and updated the states of social entities in time sequence to simulate the spread and control of the SARS epidemic.

Individuals' Daily Commute Patterns
We represented individuals' daily activities as mobility events, and randomly scheduled these discrete events in queuing models. We assumed individuals executed k m mobility activity events in each day.
We used a bipartite network with time-varying weights to model individuals' daily commute patterns. There are two types of vertices in the bipartite network, including individual vertices and spatial location vertices. Network edges only exist between individual vertices and spatial location vertices. Edge weights denote the propensity that individuals visit spatial locations.
The bipartite network was designed in term of individuals' living regularities. On account of the power-law characteristics of human dynamics [31], the edge weights of bipartite network were generated by a truncated power-law random variable described as where w(r) ∈ [w min , w max ] is a truncated power-law random variable. r ∈ [0, 1] is a uniform random number. ρ is the exponent of the power-law distribution. The probability that an individual moves to a spatial location in a commute activity is defined as where p ij (t) is the probability that individual i move to spatial activity location j. w ij (t) is the edge weight between individual i and spatial location j at time t. n i (t) is the number of spatial locations individual i could visit at time t. It means spatial locations closed in the SARS epidemic outbreak is not allowed to be visited by individual i at time t.

Individuals' Structured Contact Patterns
We also represented individuals' contact activities as contact events, and randomly scheduled contact events in queuing models. According to survey results of human daily contacts [32], we used a normal random variable to represent the number of individuals' daily contacts, which is described as where k c is the random variable of individuals' daily contact number. r 1 and r 2 are both uniform random numbers in the range [0, 1]. In addition, considering the statistical features of human behaviors, we designed the time duration of each contact activity as a power-law waiting time distribution described as where d(r) is a random variable denoting the time duration of individuals' contacts. r ∈ [0, 1] is a uniform random number. ρ is the exponent of the power-law distribution.
We built a contact network in term of individuals' social relationships to represent individual contact patterns. The edge weights of contact network were generated by the formulation described as where w ij is the edge weight between individual i and individual j. w 0 is the proportional parameter. n i and n j are the node degrees of individual i and individual j, respectively. Once individual i initiates a contact activity, it selects a neighbor in its personal contact network as a contact object according to the following rule where q ij (t) is the probability that individual i selects individual j as a contact object. w ij (t) here is the edge weight between individual i and individual j in the contact network. n i (t) here is the number of neighbors in personal contact networks of individual i, which could be contacted by individual i. It means individuals who are quarantined or are not at the same spatial activity location cannot be contacted by individual i.

Infection Probability of SARS
SARS pathogens are transmitted from infectious individuals to susceptible individuals in their face-to-face contacts. Infectious individuals shed SARS pathogens through aerosols and droplets to susceptible individuals. Once susceptible individuals inhale a sufficient dose of SARS pathogens, they are infected by the SARS pathogen. Consequently, the infection probability of the SARS epidemic in a single contact is related to contact intensity and duration, infectivity of infectious individuals, and immunity of susceptible individuals. Here, we only considerer contact duration and infectivity. We assumed the infection probability of SARS epidemic in a single contact is where Dur is the time duration of a single contact between a susceptible individual and an infectious individual. In is the infectivity of the infectious individual. The infectivity is related to pathogen load and shedding rates of infectious individuals, and evolves along with the infectious period. According to consensus documents [33], we used a triangle distribution to model the infectivity (Inf ) of infectious individuals, which is described as where t 0 and t 1 are the time points of beginning and ending infectious period. t * is the time point when infectious individuals have the max infectivity, which is set as t * = t 0 + 10 day. According to Reference [18], we fitted the infection probability (Inf-Pro) of SARS in case infectious individuals have the max infectivity as where d is the time duration of a contact between an infectious individual and a susceptible individual. We then designed infection probability by the proportion of infectivity with the max infectivity as where t is the time of infectious period.

Heterogeneous Epidemic Progress of SARS
We assumed each infected individual went through four health state period, including susceptible period, latent period, infectious period, and recovered period. A susceptible individual is infected by the SARS epidemic in a single contact with an infectious individual. Then, the health state of the susceptible individual become latent. Several days later, the individual goes over the latent period, and become in infectious state. The infectious individual exhibits the capability of transmitting SARS pathogens to other susceptible individuals. On account of the onset of symptoms, infectious individuals will be admitted as patient cases of the SARS epidemic in hospitals. Admitted cases receives treatment in hospitals, and are quarantined until they recover from infectious state. Recovered individuals could be discharged from hospitals as they will not be infected by SARS epidemic again.
The duration of health state periods, admission time, and discharge time are fitted as Gamma distributions, of which the means (standard deviation) were 6.37 (16.69), 23.5 (62.1), 4.85 (12.19), and 23.1 (62.1) days, respectively [34]. To build the heterogeneous presentation of SARS progress, we applied Gamma random variables to scale the SARS epidemic progress.

Matrix-Based Formulation of the Models
To make heterogeneous individual-based models of SARS epidemic above much easier to be understood and reproduced, we applied matrices and vectors to describe objects and entities in the closed society. More technical details related to models and algorithms are represented in the matrix-based formulation. We firstly defined the models' framework as a group of sets formulated as {M(t), C(t), S(t), A(a k )}. M(t) is the set of matrices representing entities and their attributes, such as individuals, spatial locations, health states. C(t) is the set of constraint conditions for entity matrices set M(t). S(t) is the set of analytical results derived from M(t). A(a k ) is the set of algorithms advancing the computation of heterogeneous individual-based epidemic models formulated by matrices.

Formulation of Individuals and Their Attributes
We assumed a closed population consisted of N Ind (N Ind ∈ Z + ) individuals (Ind) in epidemic system. Individuals were represented as where M Ind is individual matrix with n rows and 1 column. a Ind i is individual i in the population. The constraint condition of individual matrix M Ind is defined as C Ind = n = N Ind , which means the row of individual matrix M Ind equals to the number of individuals in the population. Similarly, we used matrices to formulate individuals' attributes, such as health states, epidemic progresses, infectiousness, and immunity. We formulated individuals' health states (HS) as where M HS (t) is health state matrix with n rows and h columns. h is the number of individual health states in epidemic progresses. a HS ij(x) (t) = 1 means individual a Ind i is in health state j (x) at time t. Susceptible state (S), latent state (L), infectious state (I), and recovered state (R) are marked as x ∈ {S, L, I, R}, respectively. The constraint conditions Epidemic progresses describe the transitions of individuals among different health periods. Individuals go through different periods of health states, which occupy different time durations, such as latent period, infectious period, and recovered period. We described epidemic progresses (EP) based on heterogeneous time scales as where M EP is epidemic progress matrix with n rows and m columns. a EP ij(x) is the time duration of individual a Ind i in the period of health state j (x). We described infection time (IT), latent period (LP), infectious period (IP), admission time (AT), and discharge time ( , and a EP i5(DT) , respectively. The constraint conditions C EP of epidemic progress matrix M EP include n = N Ind , a EP ij(x) = f EP (x, t) meaning the time duration of health state period comes from a certain function, which is a stochastic Gamma distribution or a constant value, and a HS i1(S) = 1 ⇒ a EP ij(S) = 0 meaning in case individual a Ind i is not infected, all time durations of health state period are 0. We applied a vector to represent the infectivity (Inf ) of infectious individuals as where M In f (t) is infectivity matrix with n rows and 1 column. Recovered individuals exhibit diverse abilities to resist pathogen. We formulated the immunity (Imm) of individuals as where M Imm (t) is immunity matrix with n rows and 1 column. a Imm i (t) is the immunity of individual a Ind i at time t. The constraint conditions C Imm (t) of immunity matrix M Imm (t) include n = N Ind , a Imm i (t) = f Imm (t) meaning the immunity of individuals is a certain function, and a HS i4(R) = 0 ⇒ a Imm i (t) = 0 denoting individuals exhibit immunity in case they are in recovered state.
Once individuals are admitted as patients in hospitals, they are quarantined and prohibited to move outside and contact with others. We formulated individuals' quarantine (Qua) state as where

Formulation of Spatial Locations and Their Attributes
Human mobility patterns depend on the transmission routes of infectious diseases. We assumed that a closed environment consists of many spatial locations. The number of spatial locations (SL) was assumed as N SL ∈ Z + . The spatial location matrix is formulated as where a SL i is spatial location i in the scene. The constraint condition C SL of spatial location matrix M SL is l = N SL , which means the number of rows of spatial location matrix equals to the number of spatial locations in the closed environment.
During epidemic outbreaks, non-pharmaceutical interventions may be employed to close some spatial locations, such as campus, restaurants, and cinemas. We formulated the closure (Clo) state of spatial locations as where M Clo (t) is closure state matrix with l rows. The constraint conditions C Clo (t) of closure state matrix M Clo (t) include l = N SL and a Clo i (t) ∈ {0, 1}.

Formulation of Social Organizations and Their Attributes
We assumed there were N Org ∈ Z + social organizations (Org) in the closed environment, and formulated social organizations as where M Org is social organization matrix with g rows. a Org i is social organization i. The constraint condition C Org of social organization matrix is g = N Org , which means the rows of social organization matrix equals to the number of social organizations.
Considering social organizations own spatial locations, such as office buildings, we formulated the ownerships between social organizations and spatial locations (Org-SL) as where M Org−SL is called as organization-location relationship matrix with g rows and l columns. a Org−SL ij is the label denoting whether social organization a Org i is sited in spatial location a SL j . The constraint conditions C Org−SL of organization-location relationship matrix including g = N Org , l = N SL , and a Org−SL ij ∈ {0, 1}. Furthermore, we also formulated the relationship between social organizations and individuals (Org-Ind) as where M Org−Ind is organization-individual relationship matrix with n rows and g columns.

Formulation of Weighted Bipartite Networks
We applied a weighted bipartite network to represent individuals' commute patterns among spatial locations. There are two types of vertices in the bipartite network, which denote individuals and spatial locations, respectively. Network edges only exist between individuals and spatial locations. Edge weights represent the propensity that individuals visit spatial locations. We formulated the bipartite network (BN) as where M BN is bipartite network matrix with n rows and l columns. a BN ij is the label denoting whether individual a Ind i is linked to spatial location a SL j . The constraint conditions C BN of bipartite network matrix include n = N Ind , l = N SL , and a BN ij ∈ {0, 1}. The edge weights of bipartite network (BNW) are formulated as where M BNW (t) is the edge weights matrix of bipartite network with n rows and l columns. is not connected to spatial location a SL j .
Individuals' current spatial positions (CSL) at time t are recorded as where M CSL (t) is individual current spatial location matrix with n rows and m columns. a CSL ij (t) is the label denoting whether individual a Ind i is at spatial location a SL j at time t. The constraint conditions C CSL (t) of individual current spatial location matrix include

Formulation of Weighted Contact Networks
We represented individuals' heterogeneous contact patterns by using a weighted contact network, where nodes stood for individuals, edges represented individuals' relationships, and edge weights described individuals' interaction strength. We formulated the contact network (CN) as where M CN is contact network matrix with n rows and n columns. a CN ij is the label denoting whether individual a Ind i is connected to individual a Ind j . The constraint conditions C CN of contact network matrix include n = N Ind , a CN ii = 0, and a CN ij ∈ {0, 1}. Edge weights of the contact network (CNW) were formulated as where M CNW (t) is the edge weight matrix of contact network with n rows and n columns. (t) = f CNW (t, i, j) ⇐ ω ij meaning the edge weights of contact network is generated by a certain function defined in Equation (5), and a CN ij = 0 ⇒ a CNW ij (t) = 0 meaning the edge weight between two individuals is 0 in case they are not connected with each other. We marked who were contacting with whom as where M CO (t) is contact object (CO) matrix. a CO ij (t) is the label denoting whether individual a Ind i is contacting with individual a Ind j at time t. The constraint conditions C CO of contact object matrix include n = N Ind , a CO ij (t) ∈ {0, 1}, and a CO ii (t) = 0 meaning individuals cannot contact with themselves.

Formulation of Transmission Networks
We recorded the transmission networks of epidemics to analyze transmission routes of epidemics and derive the reproduce number of infected cases. The epidemic transmission network (TN) is represented as where a TN ij is the label denoting whether individual a Ind i is infected by epidemic from individual a Ind j . The constraint conditions C TN of transmission network matrix include n = N Ind , a TN ij ∈ {0, 1}, and a TN ii = 0 meaning individuals cannot transmit epidemics to themselves.

Formulation of Individuals' Mobility Activities
We represented the heterogeneous mobility patterns of individuals, and scheduled individuals' mobility activities as discrete events in queue models. Individual mobility event (ME) matrix is formulated as where M ME is mobility event matrix with n rows and k m columns. a ME ij t j , l j is the mobility event j of individual a Ind i , which denotes individual a Ind i will move to spatial location l j ∈ M SL at time t j . The constraint conditions C ME of mobility event matrix include i < j ⇒ t i < t j meaning mobility events are scheduled in time sequence, t j = f METP (t) meaning the time point when mobility event (METP) a ME ij t j , l j happens is generated by a certain function, l j = f MESL (t) ⇐ p ij (t) meaning which spatial location individual a ind i moves (MESL) to at time t j is generated by a certain function defined in Equation (2).

Formulation of Individuals' Contact Activities
We also represented individual heterogeneous contact patterns and scheduled contact activities as discrete events in queue models. Individual contact activity matrix is formulated as where M CE is contact event (CE) matrix with n rows and k columns. a CE ij t j , b j , d j is the contact event j of individual a Ind i , which denotes individual a Ind i initiates a contact event with individual a Ind j at time t j . Furthermore, the contact activity sustains a duration time d j . The constraint conditions C CE of contact event matrix include i < j ⇒ t i < t j meaning contact events are scheduled in time sequence, t j = f CETP (t) meaning the time point (CETP) when contact events happen is generated by a certain function, b j = f CEO (t) ⇐ q ij (t) denoting individuals select contact objects (CEO) according to a function defined in Equation (6), and d j = f CED (t) ⇐ d(r) meaning the duration time of contact activities (CED) is generated by a certain function defined in Equation (4).

Statistical Properties of Epidemic Diffusion
To conduct theoretical analysis of epidemic spreading regularities, we derived analytical results from matrix-based formulation of entities above. The numbers of susceptible, latent, infectious, and recovered individuals at time t were formulated as The number of new infections (NI) at time t is derived as The accumulated number of infected individuals (AI) is derived as where n AI (t) is the accumulated number of infections at time t. Then, we can get final epidemic size as n AI (t end ).
To analyze the spatial patterns of epidemic diffusion, we derived the distribution of infectious individuals at spatial locations (SL-I) as where p SL−I k (t) is the proportion of infectious individuals at spatial location a SL k at time t. a CSL jk (t)a HS j3(I) (t) is the label denoting whether individual a Ind j is in infectious state and stays at location a SL k at time t. ∑ k a HS k3(I) (t) is the total number of infectious individuals at time t. Furthermore, we derived the density of infectious individuals at spatial locations as where d SL−I k (t) is the density of infectious individuals at spatial location a SL k . ∑ where R is the reproduce number of epidemics. ∑ i n TN i is the number of infected individuals who produce more than one of the second-generation cases.

Algorithms of Computation
We designed algorithms to force the computation of heterogeneous individual-based epidemic models formulated by matrices and vectors. The computational framework of our models is illustrated in Figure 1.
There are four computational processes invoked in time ticks, which contain eight major modules composed of algorithms in the framework. These modules are described as follows.

1.
Computing engine: an engine that forces the computation of models. It advances the computation of models in time order. In each time tick, the engine invokes the computing of mobility activity progress, contact activity progress, and epidemic progress. Furthermore, it realizes time management service that calculates date list. Besides, it invokes events schedules to generate and update mobility events and contact events at the beginning of each day.

2.
Mobility events schedule: a container that generates, updates, stores mobility events. At the beginning of each day, it generates new mobility events for each individual to update event schedule.

3.
Contact events schedule: a container that generates, updates, store contact events. At the beginning of each day, it generates new contact events for each individual to update event schedule.

4.
Mobility activity progress: a progress that executes the computation of a mobility activity including choosing expected location, calculating individual's position, etc. A weighted spatial network is applied to build the model of individual mobility.

5.
Contact activity progress: a progress that executes the computation of a contact activity including choosing expected contact object, calculating contact duration, calculating infectious probability, etc. A weighted contact network is applied to build the model of individual contact. 6.
Epidemic progress: a progress that represents the evolution of health states of infected individuals. It fulfills the computation of individual transitions among different health states by using the infected time and the duration of each health state.

7.
A weighted temporal-spatial network: a weighted network that combined a spatial network with a contact network. The weighted temporal-spatial network is applied to build the model of individual mobility and contact behaviors. 8.
Random number generator: a generator that produces random numbers subject to various distributions. These random numbers are utilized to represent the stochastic nature of epidemic spreading and individual behaviors (e.g., infection probability, mobility time, contact time, contact duration, the durations of health states, etc.).
These modules implement different services in order to execute the computation of epidemic models. It is essential to design algorithms to realize the capabilities of providing these services in these modules. We summarize four major algorithms represented as follow.  7. A weighted temporal-spatial network: a weighted network that combined a spatial network with a contact network. The weighted temporal-spatial network is applied to build the model of individual mobility and contact behaviors.
8. Random number generator: a generator that produces random numbers subject to various distributions. These random numbers are utilized to represent the stochastic nature of epidemic spreading and individual behaviors (e.g., infection probability, mobility time, contact time, contact duration, the durations of health states, etc.).
These modules implement different services in order to execute the computation of epidemic models. It is essential to design algorithms to realize the capabilities of providing these services in these modules. We summarize four major algorithms represented as follow.

Mobility activity progress
Enter the location Figure 1. The computational framework of algorithms.

Algorithm of Computing Engine
Computing engine implements three jobs described in Figure 2. Computing engine firstly initializes models and parameters described as matrices and constraints. Then, computing engine enters the main loop of calculations and advances the computation of models in time ticks. In each time tick, computing engine invokes epidemic progress, mobility activity progress, and contact activity progress. Meanwhile, computing engine

Algorithm of Computing Engine
Computing engine implements three jobs described in Figure 2. Computing engine firstly initializes models and parameters described as matrices and constraints. Then, computing engine enters the main loop of calculations and advances the computation of models in time ticks. In each time tick, computing engine invokes epidemic progress, mobility activity progress, and contact activity progress. Meanwhile, computing engine record the state of epidemic diffusion and update mobility and contact event schedules. Computing engine finally outputs analytical results and terminates the computation of models. record the state of epidemic diffusion and update mobility and contact event schedules. Computing engine finally outputs analytical results and terminates the computation of models.

Algorithm of Mobility Activity Progress
We represent mobility activity progress in Figure 3, which contains three jobs: querying a mobility activity in mobility event schedule; selecting an activity location according to weighted spatial mobility network; and updating the current location matrix.

Algorithm of Mobility Activity Progress
We represent mobility activity progress in Figure 3, which contains three jobs: querying a mobility activity in mobility event schedule; selecting an activity location according to weighted spatial mobility network; and updating the current location matrix.

Algorithm of Mobility Activity Progress
We represent mobility activity progress in Figure 3, which contains three jobs: querying a mobility activity in mobility event schedule; selecting an activity location according to weighted spatial mobility network; and updating the current location matrix.  The function f MESL (t) in Figure 3 decides which spatial location is selected as individuals' destination in their daily mobility activities according to the probability formulated as where p ij (t) is the probability that individual a Ind i selects spatial location a SL j as his destination in a daily mobility activity. The probability p ij (t) is defined by using the proportion of the edge weights of weighted bipartite network. 1 − a Clo j (t) denotes spatial location a SL j is not closed in epidemic outbreaks. This equation is a matrix-based formulation of Equation (2).

Algorithm of Contact Activity Progress
We described contact activity process in Figure 4, which contains four jobs: querying a contact activity in contact event schedule; selecting a contact object according to weighted contact network; updating current contact object matrix; and computing the infection at the end of contact activities.
The function f CEO (t) in Figure 4 decides who are going to contact with whom in individuals' contact activities according to the probability described as where q ij (t) is the probability that individual a Ind

Algorithm of Epidemic Progress
We represented epidemic progress in Figure 5, which contains three jobs: checking the health state of individuals according to health state matrix

Algorithm of Epidemic Progress
We represented epidemic progress in Figure 5, which contains three jobs: checking the health state of individuals according to health state matrix M HS (t); judging whether the current health state of individuals is over according to epidemic progress matrix M EP ; and then updating health state matrix.

Algorithm of Epidemic Progress
We represented epidemic progress in Figure 5, which contains three jobs: checking the health state of individuals according to health state matrix

Simulating the Spread and Control of SARS Epidemic
To test and verify matrix-based formulation of heterogeneous individual-based transmission models of the SARS epidemic, we used the matrix-based models and algorithms to simulate the spread and control of the SARS epidemic.

Experiment Design
We assumed a closed society containing N Ind = 1000 individuals and N SL = 250 spatial activity locations. We used the method of randomly adding edges to build a bipartite network and a contact network. The edge weights of bipartite network were generated by a truncated power-law random variable w(r) ∈ [1, 1000]. The exponent ρ of power-law distribution was set as 1.5 in Equation (1) according to refence [31]. The edge weights of contact network were generated according to Equation (5) whose proportional parameter was set as 0.1, and scaling parameter was set as 1.
We assumed each individual executed five mobility activities in a day. Individuals' daily contact number approximates to a normal distribution with mean 8.6 (standard deviation 4.25) [34]. The time duration of contact activities was represented as a truncated power-law random variable in the range [1,120] minute with an exponent 1.5 [31].
We studied the effect of non-pharmaceutical interventions on the SARS epidemic diffusion, including contact tracing and workplace closure. In case susceptible individuals ever contacted with infectious individuals were found out, they were quarantined. Furthermore, once quarantined individuals had the onset of symptoms, they were admitted to be infected by the SARS epidemic. The admission time of traced infectious individuals was changed to be a Gamma distribution with a mean (standard deviation) of 1 (0.25) day. In case workplaces were closed, individuals stayed at home or had activities in other spatial locations. The changes were realized by revising bipartite network matrix, contact network matrix.

Experimental Results
We randomly chosen an individual as the infection source of the SARS epidemic, and executed the epidemic control policies of contact tracing and workplace closure at various time in simulation experiments. We conducted a set of 100 experiments for each group of control policies, and illustrated experimental results in Figure 6.
We observed the evolution of the density of infectious individual over time in Figure 6a. The slower we executed a workplace closing policy, the higher peak the curves got. Moreover, the curves quickly drop down after the peak, and may have serious oscillations in the second half of time. In Figure 6b, we found that with the increase of time when we began to use workplace closing policies, the data points denoting the final epidemic size in experiments scattered at the positive direction of Y axis. The final epidemic size has a higher mean value. In Figure 6c,d, we found that the densities of home places and workplaces approximated to power distributions over the number of infected individuals and the range of infected individuals, respectively. Furthermore, in case we adopted a workplace closing policy earlier, the epidemic invaded a fewer families and workplaces.
We found the correlation effect caused by contact activity heterogeneity and activity location heterogeneity in Figure 6. Individuals' contact events are randomly scheduled in a single day according to a uniform distribution. Moreover, individuals conduct five mobility events in a single day and have activities at different locations in the same moment. When executing a contact event, an individual is only able to contact a neighbor that is also in his current activity location. So, the heterogeneities in the beginning time of contact events, the time duration of contacts, the contact probabilities between neighbors, the beginning time of mobility events, and the probabilities of activity locations bring up temporal-spatial constraints for individuals' contact behaviors. At the same time, the contact patterns of individuals lead to the temporal-spatial characteristics of epidemic diffusion. Due to workplace closure interventions, the epidemic diffusion across different workplaces is mitigated. It is shown in Figure 6d that workplace closure interventions stop most workplaces from epidemics. However, individuals are likely to stay at home when they cannot go to workplaces. The increase of contact behaviors taking place at home enhances epidemic spread among families. This explains why the tails of curves raise up in Figure 6c. temporal-spatial constraints for individuals' contact behaviors. At the same time, the contact patterns of individuals lead to the temporal-spatial characteristics of epidemic diffusion. Due to workplace closure interventions, the epidemic diffusion across different workplaces is mitigated. It is shown in Figure 6d that workplace closure interventions stop most workplaces from epidemics. However, individuals are likely to stay at home when they cannot go to workplaces. The increase of contact behaviors taking place at home enhances epidemic spread among families. This explains why the tails of curves raise up in Figure 6c.

Conclusions
Individual heterogeneity is a key factor bridging the link between micro behaviors and macro phenomena. As a bottom-up method, individual-based epidemic models exhibit the capability of representing the heterogeneities in epidemic spreading process. However, the complexity of individual-based models results in the limitation of mathematical formulation.
In this paper, we used matrices to formulate heterogeneous individual-based epidemic models. We adopted matrices and vectors to represent entities and their attributes in epidemic systems, such as individuals, individuals' health states, the infectivity of infectious individuals, spatial locations, and bipartite networks. Then, we derived analytical results of epidemic diffusion from the matrix-based formulation of entities, and designed algorithms to force the computation of heterogeneous individual-based epidemic models. Finally, we applied the SARS epidemic as a case study to test and verify the

Conclusions
Individual heterogeneity is a key factor bridging the link between micro behaviors and macro phenomena. As a bottom-up method, individual-based epidemic models exhibit the capability of representing the heterogeneities in epidemic spreading process. However, the complexity of individual-based models results in the limitation of mathematical formulation.
In this paper, we used matrices to formulate heterogeneous individual-based epidemic models. We adopted matrices and vectors to represent entities and their attributes in epidemic systems, such as individuals, individuals' health states, the infectivity of infectious individuals, spatial locations, and bipartite networks. Then, we derived analytical results of epidemic diffusion from the matrix-based formulation of entities, and designed algorithms to force the computation of heterogeneous individual-based epidemic models. Finally, we applied the SARS epidemic as a case study to test and verify the heterogeneous individual-based epidemic models in matrix-based formulation. In this case study, we investigated the effect of non-pharmaceutical interventions on the SARS epidemic control, including contact tracing and workplace closure. Experimental results indicate that in case of executing workplace closing interventions early, we can obtain a better effect on mitigating SARS epidemic diffusion. Moreover, we also analyzed the correlation effect caused by contact activity heterogeneity and mobility location heterogeneity, as well as the temporal-spatial patterns of epidemic spread.
Heterogeneous individual-based epidemic models formulated by matrices and vectors are scalable and flexible. We could add more matrices into the models to describe more entities in epidemic systems. Furthermore, we could improve the algorithms or design new algorithms to expand the capability of the models. More analytical results could be formulated from matrix-based representations of entities and their attributes. In addition, heterogeneous individual-based epidemic models formulated by matrices and vectors not only can capture individual heterogeneity, but also have the ability of performing theoretical analysis of epidemic diffusion.