Threshold Accepting

Download Report

Transcript Threshold Accepting

FORS 8450 • Advanced Forest Planning
Lecture 6
Threshold
Accepting
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
Read data
Step 1
Clear arrays
Step 2
Develop
initial random
solution
Step 3
Schedule
activities
Step 4
Δ Th?
Change
threshold
Done?
Report best
solution
Four broad steps.
Step 3 is
described in
more detail
next.
Threshold Accepting
A Specific Forest
Planning Process
Step 3
Select unit
and period
Check
adjacency
constraint
Develop a
solution
Yes
Violated?
No
Calculate
solution
value
Yes
Best?
Save as best
solution
No
Check TA
criteria
Pass?
Yes Save as current
solution
(Return)
No
Revert to
previous
solution
Yes
Exhausted?
No
(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.