Optimization Techniques Multi-term objective functions and goal programming: building resilient, flexible models Overview What is optimization? Objective functions & constraints Goal programming Declaring constraints as goals Weighting goals Goal summary Multi-term objective functions Controlling activity levels Incorporating a penalty term What is optimization? Locating the combination of decision variables and their values that produce the highest or lowest value of the objective function Exact solution methods Locate the true global optimum Linear programming, mixed integer programming (MIP) In exact solution methods A.k.a. heuristics; locate feasible, near optimal solutions Tabu search, simulated annealing, genetic algorithms, random search Remsoft optimization Woodstock/Allocation optimizer (exact) Linear programming Goal programming MIP Stanley (inexact, heuristic) Memoryless, multi-phase process Diversification effected via random starts Objective functions and constraints Optimize a single objective function to determine an optimal solution Objective function is a non-constraining row Three types of constraints: Equality: X = 5 Inequality: X <= 5, X >= 5 Generally serve three purposes Absolute Flow General relational Must be linear combinations of outputs Objective functions and constraints Constraints are hard; they must be met exactly to be satisfied Solvers are very precise Very strict tolerance on feasibility check No such thing as ‘close enough’ May result in infeasible solutions There is no combination of decision variables and their values that satisfy all constraints Can be tricky to resolve Goal programming Twist on linear programming Include terms in constraints to accrue shortfalls and surplus from desired levels Weight deviations to bias search Weighting establishes relative importance of goals Objective of a goal program is to minimize deviations from goals Objective function sums weighted penalties Optimal solution is a 0 valued objective function, no deviations Declaring constraints as goals Begin by declaring the constraint in a standard form To declare the constraint as a goal, do the following: 1. 2. 3. Add the keyword _GOAL to constraint line Supply a goal name Supply a penalty/weighting Declaring constraints as goals Context-sensitive Tools menu option called ‘Add goals’ Display Optimize section, click Tools > Add goals Adds a goal to every declared constraint (except system-provided flow constraints) Goals are named with a ‘G’ plus a number beginning with 1 incremented consecutively in the order declared Goal penalties set at 9999 Declaring goal objective functions Declare the sense of the objective function as _GOAL and list all of the goals that you wish to include, separated by commas, enclosed in parentheses Periodicity of the objective function is established via constraint intervals Declaring constraints as goals Goal summary Goals are summarized in the Schedule section List the value of the goal by period Goals that never take on values are indicated Multi-term objective functions Typically more than one management goal to optimize, many of which conflict Minimize costs, minimize area harvested, maximize volume, maximize wildlife habitat Create objective functions that are linear combinations of outputs Control activity levels Twist on goal programming Controlling activity levels Useful in volume/wood supply models or models without costs associated with actions Subtract area treated outputs from objective function Prevents solver from arbitrarily scheduling more actions than are necessary/justified Weight outputs directly in objective function You can multiply outputs by constants in constraints and objective functions Controlling activity levels Example *OBJECTIVE _MAX HarVol 1.._LENGTH *OBJECTIVE _MAX HarVol – PltArea – PctArea 1.._LENGTH *OBJECTIVE _MAX HarVol – 1000 * PltArea – 1000 * PctArea 1.._LENGTH Twist on goal programming Optimize output of choice AND minimize deviations from goals Employ the _PENALTY keyword to sum weighted penalties for specified goals _PENALTY(_ALL) specifies to sum all penalties Rather than use _GOAL objective, include the penalty term In a maximization, you would subtract penalties from output to be optimized; in a minimization you would add them Twist on goal programming Advantages Resolve/avoid infeasibilities Determine feasible activity/output levels Often times feasible levels are acceptable More realistic expression of management goals Many goals are not exact, or desired levels not necessarily known Optimize output of choice AND minimize deviations from goals Disadvantages Weightings can be difficult to set especially across different outputs Cashflow, habitat, harvest volume Forest wide outcomes may be more difficult to interpret Why did solver choose what it did? More than one factor controlling outcomes Lose ability to optimize another output with goal programming Summary Linear programming is very rigorous Goals provide pressure relief Very sensitive to weights especially for disparate outputs Very powerful, but use with caution warrants some extra attention
© Copyright 2026 Paperzz