Lecture 6
Threshold Accepting
Threshold Accepting
Background
Threshold accepting was introduced by Dueck and Scheuer (1990), and has been used in a number of fields, including forestry, to plan activities.
For forest planning, the general implementation goes something like this:
During the scheduling of activities, a management unit and time period are selected at random (proposed). Constraints are assessed. If the proposed solution is feasible, the threshold accepting algorithm accepts it if it is not
much worse than the previous current (or best) solution.
The approach is a form of Monte Carlo method that uses a local search, in which a subset of solutions is explored by moving from one solution to a neighboring solution.
To avoid converging and becoming stuck in a local maximum (or minimum) the procedure provides for an occasional acceptance of an inferior solution, which allows it to move away from a local maximum.
Threshold Accepting
Necessary parameters
1) A beginning threshold level (in objective function units).
2) An ending threshold level.
3) An assumption of the number of iterations per threshold.
4) A rate of change for the threshold.
Other assumptions
1) Do infeasible solutions or unsuccessful suggested changes count toward the number of iterations per threshold?
2) Can the initial threshold be taken out of the hands of the user and estimated based on the quality of the initial solution?
3) Is the threshold change linear or non-linear?
4) Does the threshold apply to the previous current or the best solution?
Threshold Accepting
A general note for this and other algorithms
Threshold accepting is in a class of algorithms that generally operate in a 1-opt or 2-opt random decision mode.
1-opt: A change is made to a single decision unit (e.g., the timing of a clearcut for a stand, or the assignment of a management regime to a stand).
• One stand is chosen at random
• A decision is chosen at random for the stand
2-opt: A change is made simultaneously to two decision units, and they swap assignments.
• Two stands are chosen at random
• The decisions assigned to each are swapped
Threshold Accepting
Characteristics of the algorithm
1) A solution is improved upon as the algorithm operates.
2) Changes that lead to higher quality solutions are always welcome.
3) Changes that lead to lower quality solutions are acceptable as well, as long as they are not too far away from the previously-saved best solution.
Example: A change is suggested that leads to a lower quality solution - $1,500 in NPV lower that the previously saved
"best" solution. As long as the decrease in quality is smaller than the current threshold, the change is acceptable.
4) The threshold begins as a large number (user-defined), but decreases in size as the algorithm operates.
5) The algorithm stops and reports the best solution when the threshold is very small (user-defined).
Threshold Accepting
Basic Process
Select a choice at random
Evaluate goals
Feasible, better solution?
Yes
Accept the choice
No
Feasible,
Within threshold?
Yes
Accept the choice
No
No
Have we reached the stopping criteria?
Yes
Stop and report the best solution found during search
Threshold Accepting
A Specific Forest
Planning Process
Four broad steps.
Step 3 is described in more detail next.
Step 1
Step 2
Step 3
Step 4
Read data
Clear arrays
Develop initial random solution
Schedule activities
Δ Th?
Change threshold
Done?
Report best solution
Threshold Accepting
A Specific Forest
Planning Process
Step 3
Develop a solution
Select unit and period
Check adjacency constraint
Calculate solution value
Check TA criteria
Revert to previous solution
Yes
Violated?
No
No
Best?
Yes
Save as best solution
No
Pass?
Yes Save as current solution
Exhausted?
Yes
No
(Return)
(Return)
Threshold Accepting
Change in solution value over about 8,000 iterations for a specific forest planning problem with a maximization objective.
Threshold Accepting
Change in solution value over about 8,000 iterations for a specific forest planning problem with a maximization objective.