December 9, 2015
Outlined in the paper "Using Markov Chains to Model Human Migration in a Network Equilibrium Framework", by J. Pan and A. Nagurney
For the individual, each region is assumed to have its own utility function, which is a function of its population, and a cost of moving, which is a function of the number of people moving in the current iteration.
The two regions have an initial population vector \(p = [p_1, p_2]\)
The flow matrix, which we solve for, will be \(F = \left[ \begin{array}{cc} f_{11} & f_{12} \\ f_{21} & f_{22} \end{array} \right]\)
This leaves us with the functions \(u_1 (p)\), \(u_2 (p)\), \(c_{12} (f)\) and \(c_{21} (f)\).
People will move from locations of lower utility to locations of higher utility.
At each iteration, we can solve the following for f:
\[ u_i (p) + c_{ij} (f) = u_j (p) \]
flowcalcpan <- function(p){
if(u2pan(p) > u1pan(p)){
f1 <- (p[1] - p[2] + 6)/4
f <- c(f1,0)
}else if(u1pan(p) > u2pan(p)){
f2 <- (p[2] - p[1] - 6)/4
f <- c(0,f2)
}else{f <- c(0,0)}
return(f)
}
p0 <- c(4,2)
u0 <- c(u1pan(p0), u2pan(p0))
pdatapan <- data.frame(p1 = 4, p2 = 2, u1 = u0[1], u2 = u0[2],
totu = p0 %*% u0 )
iter <- 1:5
for(i in iter){
p <- c(tail(pdatapan$p1,1),tail(pdatapan$p2,1))
f <- flowcalcpan(p)
p[1] <- p[1]-f[1]+f[2]
p[2] <- p[2]+f[1]-f[2]
u <- c(u1pan(p),u2pan(p))
totu <- p %*% u
pdatapan <- rbind(pdatapan, c(p[1], p[2], u, totu))
}
| p1 | p2 | u1 | u2 | totu |
|---|---|---|---|---|
| 4.000 | 2.000 | 4.000 | 12.000 | 40.00000 |
| 2.000 | 4.000 | 6.000 | 10.000 | 52.00000 |
| 1.000 | 5.000 | 7.000 | 9.000 | 52.00000 |
| 0.500 | 5.500 | 7.500 | 8.500 | 50.50000 |
| 0.250 | 5.750 | 7.750 | 8.250 | 49.37500 |
| 0.125 | 5.875 | 7.875 | 8.125 | 48.71875 |
This is solveable by linear programming
\(u_{TOT} = p \times u\)
\(u_{TOT} = p_1 (8-p_1) + p_2 (14-p_2)\)
Subject to: \(p_1 + p_2 = p_{TOT} = 6\)
How can a society achieve maximum social utility?
Lets model the decision that taxes the residents in the higher utility region and redistributes the gains to the lower utility region
This is somewhat like the prisoner's dilemma.
If 5t < 2, moving is a strictly dominant strategy for player 1, so they will definitely do that. Given this, player 2 gets the same payoff whether or not they tax, so we'll assume they have a 50% chance of taxing.
If 5t > 2, we still end up in the same place! Consider the situation where player 1 moves and player 2 taxes. Player 1 would be better off if they decided to stay.
However, if player 1 decided to stay, player 2 would vote to not tax. Given that, it would make sense for player 1 to move. This suggests there might be a mixed strategy equilibrium.
Lets assume Player 1 will move with probability \(p_m\), and Player 2 will tax with probability \(p_t\), and look at the decision facing player 2:
Tax: \(8p_m + (1-p_m)(10-t) = 10 - 2p_m - t + p_m t\)
No Tax: \(8p_m + 10(1-p_m) = 10 - 2p_m\)
The p_m that would induce player 2 to mix between these two strategies would occur when these two payoffs are equal. So:
\(10 - 2p_m - t + p_m t = 10 - 2p_m\)
\(p_m = 1\). In a mixed strategy equilibrium, player 1 will move no matter what the tax is.