School threshold
In this merge request, two issues are addressed.
- In the current main branch, students relocate at each iteration to their most preferred school. This is how Thomas has implemented it into his model. Efi used a threshold (the same as in the residential model). This method is preferred for me as well and is implemented in this merge request. An option is implemented in which relocation is done at each iteration as well. This is implemented as a forced 'unsatisfied' condition.
Something to address here is that it might be necessary to use different thresholds for residential and school satisfaction. Efi did not do this for simplifications, which are justified. I'm just not sure if the system converges easily at the moment. Something to test. It probably will, but I need to find the correct value.
- I noticed Efi used a high satisfaction threshold compared to what I was using. If the satisfaction threshold is increased, more agents are inclined to move at each iteration. If there are not enough elements that remain at their initial condition, each step is essentially a random configuration, and the system will therefore not converge. A maximum has been implemented for the amount of agents that are allowed to move per iteration. This is implemented as a float value in the parameters.