Constraints

Constraints serve two purposes in the simulator:
  • As physical limits on minimum and maximum values of release and storage. Physical limit constraints are generated automatically for reservoir maximum storage, reservoir dead storage and zero release.

  • As trade off functions among the values of the slots which have constraints. These constraints have some distance between their start and end points. The constraint slope represents the system wide relative value of the resource being constrained.

    Constraints may be stacked if necessary to provide piecewise linear approximations of non linear constraints. The graph below is an example of a piecewise linear constraint on reservoir storage.

Here it is desired to operate the reservoir with a storage above 1,000,000 AF and below 1,010,000 AF. Further, storage above 1,200,000 AF is reserved for flood control and must be emptied as quickly as possible. The absolute maximum storage in the reservoir is 1,400,000 AF and dead storage is 30,000 AF.

The following dialog shows how such a constraint would be entered into the system:

This dialog is gotten through the scheduler by adding the slot to be constrained and then clicking the Constraint - > Start menu item. Using the scheduler, a different constraint could be specified for each time step in the control cycle.

Constraint Balancing

Constraint balancing is an optimization procedure that develops trade offs between storage and release among all of the water handling objects within a model. Optimization is completely optional. If the model is set up using only rules and demands, it will not optimize.

Optimization only happens when there are constraints having weighted line segments as shown above. In that case, the optimizer automatically runs during each time step. There are no separate controls that turn this feature on or off. The presence or absence of appropriate constraints is all that is required.

Since the software was developed using the spring / force metaphor, the simulator's resolving mechanism will be described in those terms. Note that constraints may only be specified as acting on storage or on release. Inflow is only indirectly controllable by constraining the release of any nodes that are upstream.

To minimize the net force on the system, each node is treated as a pressure vessel, the net force on which is generated by spring compression. Springs are directional and forces are signed quantities. Thus a spring tending to reduce the level of storage and one restricting release have the same sign in that an increase in inflow tends to increase the deflection of both. Algebraically, from the reservoir's perspective, its springs are treated as being in series, the objective being to have the same force on each spring. (This will always be the case unless one or more springs is against its stop.)

The same metaphor applies from node to node. Each node is balanced internally and then tries to balance the force between itself and any nodes to which it is hydraulically connected. This is done by iteration using an algorithm from structural frame design and converges quite quickly.

This optimization is carried out within a time step. There is no mechanism within RiverSim to optimize across time steps.

Contents
Index

Copyright Jon Behrens & Associates, Inc. 1994 - 2000
All rights reserved.