Presentation on theme: "FORS 8450 Advanced Forest Planning Lecture 4 Extensions to Linear Programming."— Presentation transcript:
FORS 8450 Advanced Forest Planning Lecture 4 Extensions to Linear Programming
Problems with Linear Programming 1. Not all management problems can be described with the continuous decision variables that are assumed in basic linear programming formulation. For example, when there is a need to control the placement of activities, perhaps for wildlife habitat or harvest opening size considerations, there may be an associated need to know exactly where the activity is placed. When continuous variables are used, unless they indicate 0% or 100% of a stand is treated in a specific manner, we do not necessary know where the activities are located within the stand. As a result, some decision variables may need to be assigned integer variables to force the treatment of 0% or 100% of a stand.
When a decision variable takes on an integer value, we can use this to control the number of logical units that must be assigned. 200 steer 43 lots of trees An entire stand None of a stand A road A trail A boat ramp Problems with Linear Programming
One common use in forest planning is to understand how much of a stand undergoes a type of treatment. All or none (binary decision) With this type of decision, we know exactly where the treatment will take place - in the entire stand, not some unknown portion of the stand. Thus, we can then more logically control spatial relationships with these types of decisions. a) Adjacency of harvests b) Location of habitat types c) Development and management of roads Problems with Linear Programming
2. Some managers cannot discern between two or more objectives, and if only one objective is included in the objective function (e.g., maximize habitat quality, maximize net present value, or minimize costs), this causes conceptual problems. Thus there may be a need to incorporate multiple objectives into an objective function to accommodate these desires of a landowner. Briefly described here are: Mixed integer programming Integer programming Goal programming Problems with Linear Programming
Mixed Integer Programming Very similar to linear programming. However, what is different within the problem formulation is a formal specification of those decision variables that need to be assigned integer values. This formality also needs to address the type of integer values that will be assigned, either general integers (e.g., 0, 1, 2, 3,...) or binary integers (0 or 1). Among the various methods that are used to solve mixed integer programming problems, the branch and bound and the cutting plane methods, rather than the simplex method, are two of the most widely applied. Some of the variables are integers. These represent either non-fractional decisions (half a steer?) or yes-no decisions.
Mixed Integer Programming Max 1000 X X2 subject to 2) 4 X X2 <= 24 3) 240 X X2 <= ) 20 X X2 <= 200 5) X1 >= 2 6) X2 >= 0 end int X1
Integer Programming Again, very similar to linear programming. However, what is different within the problem formulation is that most, if not all, of the variables need to be assigned integer values. As with mixed integer programming, this formality also needs to address the type of integer values that will be assigned, either general integers (e.g., 0, 1, 2, 3,...) or binary integers (0 or 1). Among the various methods that are used to solve integer programming problems, the branch and bound and the cutting plane methods, rather than the simplex method, are two of the most widely applied. All of the variables are integers.
Integer Programming Max 1000 X X2 subject to 2) 4 X X2 <= 24 3) 240 X X2 <= ) 20 X X2 <= 200 5) X1 >= 2 6) X2 >= 0 end int X1 int X2
Linear programming in its traditional, conventional form requires a planner to specify a single objective for a management problem, and accompany it with a set of secondary requirements (constraints) imposed on the problem. Goal programming is a form of linear programming that could be of value for multiple-use management considerations, because in contrast to linear programming, multiple conflicting goals may be incorporated into the lone objective function. The form we cover here simultaneously minimizes the deviations from each of the goals. This type of goal programming problem is usually designed in such a way that deviations from individual goals are accumulated, and the optimal solution is the one that minimizes the sum of the deviations. Goal Programming
Main difference when compared to LP A significant difference between goal programming and linear programming is that a solution to a linear programming problem requires the attainment of constraint levels while maximizing (or minimizing) an objective. As a result, in some instances of LP we may only arrive at an infeasible solution. In a goal programming problem, a feasible solution is almost always assured, since the important goals are incorporated into the objective function. Goal Programming
Weights Each goal can be weighted in the objective function, which would infer their importance to the landowner. Defining weights may be difficult in some natural resource management situations, however. Goal Programming
Example Instead of maximizing NPV, Instead of maximizing wood volume..... Assume that the owner of the Putnam Tract is interested in producing timber volume, yet desires more than about 12,500 cords per time period, however their preference for meeting this target volume varies. In our lab problem, harvest volumes are accumulated using accounting rows. After setting a target harvest level (12,500 cords), deviations from the target harvest levels are noted as additional constraints to the model. VC1 + NDevH1 - PDevH1 = 12,500 VC2 + NDevH2 - PDevH2 = 12,500 VC3 + NDevH3 - PDevH3 = 12,500 Goal Programming
Example The objective function is subsequently designed to minimize the deviations among harvest levels, yet the deviations are given weights that reflect their importance to the landowner. Minimize w 1 NDevH1 + w 2 PDevH1 + w 3 NDevH2 + w 4 PDevH2 + w 5 NDevH3 + w 6 PDevH3 Goal Programming
Example Assume that the landowner has thought about the relative importance of the goals, and has assigned weights to them as follows: w 1 = 0.35 w 2 = 0.15 w 3 = 0.20 w 4 = 0.10 w 5 = 0.15 w 6 = 0.05 These weights suggest that the landowner is most concerned with a negative deviation from the harvest target during time period 1 (weight = 0.35), and least concerned about the positive deviation from the harvest target during time period 3 (weight = 0.05). Stated another way, the landowner is most concerned about not meeting the volume target in the first time period, and least concerned with exceeding the harvest target in the third time period. Goal Programming
Example The forest plan developed using this approach suggests that 12,493 cords can be obtained in time period 1, 12,408 cords in time period 2, and 11,971 cords in time period 3. Goal Programming
Example Mixed value objective function: w 1 NDevH1 + w 2 PDevH1 + w 3 NDevHSI1 + w 4 PDevHSI1 What are we trying to do here? What are the challenges associated with this problem? Goal Programming