I’ve shared the following RBB using the Github RBB template, at https://github.com/andrew-bu/water-market
ABM-RBB Water Market
This package solves a market for a ‘lumpy’ commodity such as water.
In agricultural systems, the marginal value of additional water supply may vary unevenly. For instance, a farm with more than enough water to grow wheat but not enough water to grow sugarcane might have a low marginal value for a small additional amount of water (since they can not use it to their advantage) but a high marginal value for a larger amount of water (if it enables them to transition to sugarcane). At the same time, they may be quite interested in selling water. This can be a difficult market problem to resolve, as agents have the potential to participate in the market in very different ways, depending on what other offers are available.
If the willingness of each farmer to participate in a market can be evaluated at several different points, then the overall market can be solved using solvers for the knapsack problem, which find the most valued set of elements that add to a given weight constraint.