Objective Function and Iterations

WEAP strives to maximize supply to demands sites, catchments, reservoirs and flow requirements, subject to all constraints and priorities. Demands are allocated water depending on demand priorities and supply preferences. WEAP iterates for each priority and preference, so that demands with priority 1 are allocated water before those with priority 2. Thus, the LP is solved at least once for each priority for each time step. When solving for priority 1, WEAP will temporarily turn off (in the LP) allocations to demands with priority 2 and lower. Then, after priority 1 allocations have been made, priority 2 demands are turned on (but 3 and lower are still turned off).

Using the demand priorities and supply preferences, WEAP determines the allocation order to follow when allocating the water. The allocation order represents the actual calculation order used by WEAP for allocating water. All transmission links, reservoirs and instream flow requirements with the same allocation order are handled at the same time. For example, flows through transmission links with allocation order 1 are computed, while temporarily holding the flows in other transmission links (with higher allocation order numbers) at zero flow. Then, after order 1 flows have been determined, compute flows in links with allocation order 2, while temporarily setting to zero flows in links ordered 3 and higher.  Demands for flow requirements and reservoirs (reservoir filling or hydropower) or only considered when computing the allocation order associated with that demand.

Because the goal is to maximize the coverage rate for all demands, the objective function maximizes CoverageFinal.

In cases where there is not enough water to satisfy all demands with the same priority, WEAP tries to satisfy all demands to the same percentage of their demand. (The coverage constraints, as described above, ensure this.)

For example, if Demand Site A has a supply requirement of 100 and Demand Site B has a supply requirement of 50 (assume both are the same priority), and there is only 60 units of river water available this time step, then A will get 40 units (40%) and B will get 20 units (40%).

However, in some cases, some demand sites may have access to more water than others. For example, between the withdrawal points for Demands Sites A and B is a tributary inflow, such that there is always enough water for B. In this case, Demand Site B should be able to withdraw its full requirement, even though Demand Site A cannot. In this case, the WEAP LP must iterate. The first time it solves, both A and B will get 60%-A gets all 60 units (60%) flowing past its withdrawal point, and Demand Site B will gets 30 units (60%) 50 units that flowed in from the tributary. (The equity constraints ensure that both Demand Sites get the same percent coverage.) The LP indicates that there is slack (see below) in the coverage variable for B, because it could get more water than it is getting (as opposed to A, which cannot get any more water). Therefore, the allocation to Demand Site A is fixed at 60, and the equity constraint

CoverageFinal = CoverageA

is deleted. The LP runs again, and this time Demand Site B will get its full demand of 50 satisfied (100%).