Farm Manager
Description
Within APSIM, the problem of managing farms is a different problem to managing its traditional domain of paddocks. The questions in 'farm' management are of a different order; typically addressing resource allocation issues ahead of operational issues.
The APSFARM project is addressing these issues by developing complex tools devoted to managing diverse lists of rules, instead of the current practise of rules embedded in if/then/else logic. These rules, and the data structures that implement them are under active development.
Representation
The farming system as a whole is represented as a directed graph: a paddock's state is represented by a node on this graph, and the system moves between states by following vertices between each node. These vertices have rules (or conditions) that allow the system to change state from one to the next. Each day the system attempts to move from one state to another by finding all paths leading away from the current state, and evaluating the rules for each path. The path with the highest (non-zero) score

To move from "sorghum" to "fallow" is simple - it requires that the crop was harvested on that day. However to move from "fallow" to "sorghum" may require several rules to be satisfied, for example:
Operation
The dynamic nature of these rule types requires a flexible method of interrogating simulations. At this initial stage, a standalone application to display log files is being used, after consultation with users another application may be developed.
