ipfr: List Balancing for Reweighting and Population Synthesis

Performs iterative proportional updating given a seed table and
an arbitrary number of marginal distributions. This is commonly used in
population synthesis, survey raking, matrix rebalancing, and other
applications. For example, a household survey may be weighted to match the
known distribution of households by size from the census. An origin/
destination trip matrix might be balanced to match traffic counts.
The approach used by this package is based on a paper from
Arizona State University (Ye, Xin, et. al. (2009)
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.537.723&rep=rep1&type=pdf>).
Some enhancements have been made to their work including primary and
secondary target balance/importance, general marginal agreement, and weight
restriction.