Title: Modeling for Network Planning
1Modeling for Network Planning
CS5303 - Lecture 3
- Chien Chen
- (Slides adapted from Prof. Wayne D. Grover)
(version for book website)
2Outline
- Optimization
- Mathematical Programming
- Linear Programming (LP)
- Formulating LP Problems
- Solving LP Problems
- Integer Programming
- Solving MIP Problems
- Algebraic Expression of LP/IP Problems
- Mesh-Restoration Concept
- Terminology
- Spare Capacity Sharing
- Spare Capacity Placement (SCP)
- SCP Integer Programming problem
3Mathematical Programming
- Definition
- A Mathematical Programming Model is a
mathematical decision model for planning
(programming) decisions that optimize an
objective function and satisfy limitations
imposed by mathematical constraints. 1 - General Symbolic Model
Maximize (or minimize)
Objective
Subject to
Constraints
1 T.W. Knowles, Management Science Building and
Using Models, Irwin, 1989.
4Mathematical Programming
- Types of Mathematical Programs
- Linear Programs (LP) the objective and
constraint functions are linear and the decision
variables are continuous. - Integer (Linear) Programs (IP) one or more of
the decision variables are restricted to integer
values only and the functions are linear. - Pure IP all decision variables are integer.
- Mixed IP (MIP) some decision variables are
integer, others are continuous. - 1/0 MIP some or all decision variables are
further restricted to be valued either 1 or
0. - Nonlinear Programs one or more of the functions
is not linear.
5Linear Programming
Maximize
Objective
Subject to
Constraints
Bounds
6Linear Programming
- General Restrictions
- All decision variables must be nonnegative,
- Constant terms cannot appear on the LHS of a
constraint. - No variable can appear on the RHS of a
constraint. - No variable can appear more than once in a
function, i.e. objective or constraint. - Steps for Formulating LP Models
- Construct a verbal model.
- Define the decision variables.
- Construct the symbolic model.
7Formulating LP Problems
- An example2
- A steel company must decide how to allocate
production time on a rolling mill. The mill takes
unfinished slabs of steel as input and can
produce either of two products bands and coils.
The products come off the mill at different rates
and also have different profitabilities
Tons/ Profit/ hour ton Bands 200 25 Coils
140 30
- The weekly production that can be justified based
on current and forecast orders are
Maximum tons Bands 6,000 Coils 4,000
2 from, R. Fourer, D. Gay, B. Kernighan, AMPL,
Boyd Fraser, 1993, pp. 2-10.
8Formulating LP Problems
- An example (contd)
- The question facing the company is If 40 hours
of production time are available, how many tons
of bands and coils should be produced to bring in
the greatest total profit? - Constructing the Verbal model
- Put the objective and constraints into words.
- For constraints, use the form
- a verbal description of the LHS a
relationship an RHS constant
Maximize total profit Subject to total number
of production hours ? 40 tons of bands produced
? 6,000 tons of coils produced ? 4,000
9Formulating LP Problems
- Defining the Decision Variables
- XB number of tons of bands produced.
- XC number of tons of coils produced.
- Construct the Symbolic Model
Maximize
Subject to
10Solving LP Problems
- Graphical Solution Method
Coils
Coils
Constraints
Profit
220K
6000
6000
Hours
192K
4000
4000
Optimal solution
2000
2000
Feasible region
120K
0
Bands
Bands
0
0
2000
4000
6000
8000
0
2000
4000
6000
8000
11Solving LP Problems
12Solving LP Problems
- Simplex method
- Efficient algorithm to solve LP problems by
performing matrix operations on the LP Tableau. - Developed by George Dantzig (1947).
- Can be used to solve small LP problems by hand.
- AMPL and CPLEX
- AMPL modeling language (and software) for
designing large and complex LP/IP problems. - CPLEX software package (solver) to solve large
and complex LP/IP problems. - Sub-Optimal Algorithms (Heuristics)
- Simulated annealing.
- Genetic algorithms.
- Tabu search.
- Many others, often very specific to the type of
problem.
13Integer Programming
- Convert Example to Integer Program
- Assume that orders for bands and coils are placed
(and filled) in 1,000s of pounds only. - Although feasible region is greatly reduced,
problem becomes much more difficult. - New Symbolic Model
- Let the new decision variables be the number of
1000 pound units or orders of bands and coils.
Maximize
Subject to
integer
integer
14Integer Programming
- Graphical Solution Method
185K
Optimal integer solution (185K)
15Solving MIP Problems
- Branch-and-Bound Procedure
- The solution space consists of a tree of LP
subproblems, in which each integer variable is
either fixed or its integrality constraint is
relaxed. - The root node of the tree is the LP relaxation of
the problem, i.e. all integer variables are
relaxed. - The relaxation can result in an all integer
solution, or a fractional solution (some decision
variables are non-integer). - If the solution of the relaxation has
fractional-valued integer variables, a fractional
variable is selected for branching and two new
subproblems are generated, each with more
restrictive bounds on the branching variable. - The subproblems can result in an all integer
solution, an infeasible problem or another
fractional solution. - If the solution is fractional, the process is
repeated. - Branches are fathomed if the subproblem is
infeasible, the objective value is worse than the
current best integer solution or the subproblem
gives an integer solution.
16Solving MIP Problems
- Branch-and-Bound Tree (Example)
17Algebraic Expression of LP/IP Problems
- Why use it?
- Most LP/IP problems are quite large and it
becomes very cumbersome to describe them by
explicitly giving each linear function, equality,
and inequality in full. - It is desirable to model problems in a more
general fashion (e.g. give an IP for optimally
designing a mesh-restorable network in general as
opposed to doing so for a specific network).
18Algebraic Expression of LP/IP Problems
- Basic Production Model (Revisited)
Algebraic Model
Original Model
\Problem name prob.lp Maximize 25 XB 30
XC Subject To 0.005 XB 0.007143 XC lt
40 Bounds 0 lt XB lt 6000 0 lt XC lt
4000 End
19Example LP/IP for Mesh-Restoration Design
- Networks are Inherently Mesh-Like
Level(3) North American Network
- Distributed mesh-restoration exploits network
connectivity to allow sharing of redundancy.
20Example use of terms route, span, path, link...
- Span AZ has lost 35 working links
- The restoration pathset is comprised of routes
ABCZ, ABDEZ, ABDECZ, AFZ,AFGZ,AFGHZ - The route ABDEZ supports 5 restoration paths
- 20 spare links on span AB are used in the
restoration pathset - The restorability of span AZ is (2015)/35 100
21Spare Capacity Sharing
- Consider 2 different failure scenarios
X
X
- Restoration is allowed to follow multiple
distinct routes. - Restoration route for both failure scenarios have
several spans in common. - Spare capacity on each span contributes to
restorability of many spans.
22Spare Capacity Placement (SCP)
- Optimal Design
- Objective is to find least costly way to place
sufficient spare capacity on a network such that
all spans are fully restorable. - Can we use LP/IP?
- Reference
- M. Herzberg and S. J. Bye, An Optimal
Spare-Capacity Assignment Model for Survivable
Networks with Hop Limits, IEEE Globecom94, 1994 - Integer Programming Approach
- Objective Function
- Minimize Cost of Spare Capacity Placement
- Constraints
- Each possible span failure has enough restoration
flow for full restoration. - Enough spare capacity exists on each span to
accommodate restoration flows.
23SCP Integer Programming Problem
- Parameters (Inputs)
- Cj Cost of each unit of capacity on span j
- Li Target Restoration level for span i (Li 1
assumed) - S Number of spans in the network
- Pi Number of eligible routes for restoration of
span i - wj Number of working links (capacity units) on
span j - ?i,jp Equal to 1 if pth eligible route for span
i uses span j - Variables (Outputs)
- fip Restoration flow assigned to pth route for
span i - sj Number of spare capacity units placed on span
j
24SCP Integer Programming Problem
- Objective Function
- Subject To
- 1.
- 2.
25Routing algorithms, all distinct routes, k-sp,
max-flow, and network flow LPs
CS5303 - Lecture 5
- Chien Chen
- (Slides adapted from Prof. Wayne D. Grover)
26Dijkstras shortest path algorithm
(for non-negative edge weights only)
Key concepts labelling, scanningLabel
distance, predecessor. Labels are initially
temporary later permanent . Scanning is
the process of looking out from a given node to
all adjacent nodes that are not permanently
labelled and is shorter.
Example find shortest A-H routeif the edge
weights represent distance
27Dijkstras shortest path algorithm (2)
Start P a vector of permanently labelled
nodes, D a vector of distances - P lt- A -
All other nodes are unlabelled - D lt- all
infinite - source is already perm. labelled
2, A
- Step 1 Scan from node A
- nodes B, C, D get temp labels
- node B gets perm label
- P A, B
- D -, 2
6, A
7, A
28Dijkstras shortest path algorithm (3)
- Step 2 Scan from node B
- scan goes only to other nodes not yet perm
labelled - node E gets 9, from B
- node F gets 17, from B
- node C gets its label updated 5, from B
- node C is lowest global distance so it gets
the permanent label this time - P A, B, C
- D -, 2, 5
2 7 9, from B
2, A
17, B
6, A
5, B
7, A
29Dijkstras shortest path algorithm (4)
- Step 3 Scan from node C
- node G gets 8, from C
- node D keeps 7, from A
- node D is lowest global distance amongst temp
labels so it gets the permanent label this
time - P A, B, C, D
- D -, 2, 5, 7
9, B
2, A
17, B
5, B
8, C
7, A
30Dijkstras shortest path algorithm (5)
- Step 4 Scan from node D
- node F gets updated label 16, from D
- node G keeps 8, from C
- node G is lowest global distance amongst temp
labels so it gets the permanent label this
time - P A, B, C, D, G
- D -, 2, 5, 7, 8
9, B
2, A
16, D
5, B
8, C
7, A
31Dijkstras shortest path algorithm (6)
- Step 5 Scan from node G
- node H gets label 14, from G
- Since H is also target tempting to stop, but
not yet. - Node E (not just scanned) gets next perm.
Label. - P A, B, C, D, G, E
- D -, 2, 5, 7, 8, 9
9, B
2, A
16, D
5, B
14, G
8, C
7, A
32Dijkstras shortest path algorithm (7)
- Step 6 Scan from node E
- node H keeps label 14, from G
- node H label permanent now
- P A, B, C, D, G, E, H
- D -, 2, 5, 7, 8, 9, 14
- hence
- A-H shortest route is of distance 14, via H
-gt G -gt C -gt B -gt A
2, A
9, B
16, D
5, B
14, G
If we continue, however, we will get the complete
tree of shortest routes from A to all other
nodes...
8, C
7, A
33Dijkstras shortest path algorithm (8)
Finally all nodes have permanent labels... the
complete tree of shortest routes from A to all
other nodes has been found...
- Step 7 only node F is not permanently labelled
- scan from H
- Node F label 16, from D is made permanent
- P A, B, C, D, G, E, H, F
- D -, 2, 5, 7, 8, 9, 14, 16
9, B
2, A
16, D
5, B
14, G
8, C
7, A
34Dijkstras shortest path algorithm (9)
Recap start at source (first perm label) scan
from latest perm label, update temp
labels find lowest temp label make perm loop
till target is perm. label (path only) all
nodes perm (whole tree) Things to remember (1)
Only stop when target node is permanently
labelled. (2) The next node to scan from
may not be one just visited in the last
scan.
At the end, the D, P vectors (plus labels)
encode the shortest path tree
35k-shortest paths (ksp)
- One model of mesh restoration re-routing is
ksp - In this context it means
- the set of all paths on the shortest route,
- plus all paths feasible on the second-shortest
route, not using any links of the first set, - plus all paths feasible on the third-shortest
route, not using any links of the first or
second set, - etc. until restoration is satisfied or no more
paths are feasible. - No route or path is looping.
- The sum of all paths on routes that cross any one
span is consistent with the spare capacity
available on that span.
36k-shortest paths (ksp) - example
On the network we just used for Dijkstras
algorithm .... Note (!) We now interpret the
same edge weights as capacities (just for an
example)
- Using hop count as distance, A C G H is one
shortest (3 hop) routes - It supports min (6, 3, 6) 3 paths
- This exhausts (C-G) and reduces capacity on (A
C) (G H) to 3
37k-shortest paths (ksp) - example (2)
The updated graph and next route is ...
- Next 3 hop route is A D F H
- It supports min (7, 9, 9) 7 paths
- It exhausts span (A-D)
- and reduces capacity on spans (D F) and (F H)
to 2 ..
3
3
38k-shortest paths (ksp) - example (3)
The updated graph and next route is ...
- Next shortest route is A B E H
- It supports min (2, 7, 7) 2 paths
- It exhausts span (A-B)
- and reduces capacity on spans (B E) and (E H)
to 5 ..
2
3
3
2
39k-shortest paths (ksp) - example (4)
The updated graph and next route is ...
5
- Next shortest route is A C D G H
- It supports 3 paths
- It exhausts spans (A-C) (G-H)
- and.. Disconnects the graph between
A-H
5
2
3
3
2
40k-shortest paths (ksp) - example (5)
The resulting ksp path-set is ...
paths 3 7 2 3 ______ 15
route A-C-G-H A-D-F-H A-B-E-H A-C-D-G-H Total
41k-shortest paths (ksp) - example (6)
Note that when the distances are integer (hop
counts here), the ksp outcome is not uniqueand
can depend on order of choosing routes
paths 4 2 3 3 1 2 _____ 15
route A-D-G-H A-C-G-H A-D-F-H A-C-B-F-H A-C-D-F-
H A-B-F-H Total
Another valid ksp solution
42k-shortest paths (ksp) - example (7)
Note that the last two path-sets differ greatly
in detailed construction, but the number of
pathsis the same - Q. what governs this ?
Note that both prior solutionsboth disconnect
the graph byexhausting all capacity on spans(A
B) (A C) (A D) ....
In fact both ksp solutions areequivalent to the
maximum-flow between A-H for this graph.
Moreover, the max-flow, is set (to 15) by the
min-cut shown
43Maximum flow algorithm
At termination, network is disconnected in
forward flows, across min cut here
44Min-cut max-flow theorem
- A cut of a graph G(V,E) is a partitioning of the
nodes of the graph into two disjoint sets - A cutset is the set of edges
- The capacity of a cut is the sum
of the weights on the edges of the cutset. - The min-cut max-flow theorem is that
- or...
- More intuitively regardless of the routing
details, the maximum flow between two nodes is
set by the minimum capacity of any cut of the
between those two nodes orsome combination of
spans in parallel will always act as the
bottleneck
45Illustration of the max-flow min-cut concept
6
B
C
6
20
6
F
A
20
6
8
D
E
26
32
20
26
12
the min-cut 12
Hence --gt no routing solution can provide more
than 12 units of flow between A -F (i.e., this
is the max-flow)
46All distinct routes
The set (or subsets of) of all distinct routes
is often required in mesh network capacity design
formulations.
- very different from set of disjoint or ksp
routes route-set O(2 dH) intuitive
illustration
47Generating all distinct routes by depth-first
search
Example of first phase of DFS to find all
distinct routes from A - H subject to hop-limit
of 3
48Network flow LP formulations
Example LP to find max flow between nodes 1-5
20
10
Edge capacities
2
5
8
20
Define directional flow variables
trans-shipment nodes
source
sink
49Network flow LP formulations (2)
transportation problem or arc-flow approach
To maximize (1 ? 5) flow / using lp_solve
syntax / max x12 x13 / (or x35 x45)
/ subject to constraints c1 x12 x13 x45
x35 / source sink / c2 x12 x32 - x23
x42 - x24 0 / node 2 trans-shipment/ c3
x13 x23 - x32 - x35 0 / node 3
trans-shipment/ c4 x24 - x45 - x42 0 /
node 4 trans-shipment/
50Network flow LP formulations (2)
transportation problem or arc-flow approach
Continued.... Also subject to (span capacity
constraints) x12 lt 20 x13 lt 8 x24 lt
10 x42 lt 10 x23 lt 2 x32 lt 2 x35
lt 20 x45 lt 5
51Network flow LP formulations (3)
transportation problem or arc-flow approach
Symbolically.... s.t.
Where E set of edges that exist N set of
nodes sij spare capacity on edge ij ( sji)
52Network flow LP formulations (4)
Alternate approach flow assignment to routes
or arc-path approach
Symbolically.... s.t.
Where E set of edges that exist (indexed by
k) P 15 set of eligible distinct routes
between nodes 1 and 5 (source-sink) sk spare
capacity on edge k if the i th distinct route
crosses span k. Zero otherwise
53Network flow LP formulations (5)
flow assignment to routes or arc-path
approach - example
Identify all distinct routes between source- sink
(set P15) ....
f1
f4
f2
f3
Route associated flow variable 1-2-4-5
f1 1-2-3-5 f2
Route associated flow variable 1-3-5
f3 1-3-2-4-5 f4
54Network flow LP formulations (6)
flow assignment to routes or arc-path
approach - example (2)
To maximize (1 -gt 5) flow max f1 f2 f3
f4 subject to constraints c1 f1 f2 lt
20 /span 12 capacity / c2 f4 f3 lt 8
/ span 13 capacity / c3 f4 f2 lt 2
/ span 23 (discuss this ) / c4 f1 f4
lt 10 / span 24 /
f1
f4
2
2
f2
f3
55Network flow LP formulations (6)
flow assignment to routes or arc-path
approach - example (2)
Class What are the remaining constraints ?
- for span 3-5 ... ? - for span 4-5 ... ?
c5 f3 f2 lt 20 /span 35 capacity /
c6 f4 f1 lt 5 /span 45 capacity /
(note this makes prior constraint f4 f1lt10
redundant )
f1
f4
10
20
20
10
2
2
5
5
f2
8
8
20
20
f3
56Network flow LP formulations (7)
flow assignment to routes or arc-path
approach - example (3)
- Note that the indicator parameters do
not appear explicitly in theexecutable model. - Really they just represent our knowledge of the
topology and the routes being considered. - Implicitly above, we only wrote the flow
variables that had non-zero coefficients. - Examples
Hence f1 is in the first constraint
Hence f3 is in the fifth constraint, etc.
57Lp_solve example, LP tactics, Network
reliability, Min cost network flow,
multi-commodity max flow, more on combinatorial
optimization...
Cs5303 - Lecture 6
- Chien Chen
- (Slides adapted from Prof. Wayne D. Grover)
58Revisit mesh SCP problem
Min sum of spare capacity
S.t.
Restoration flows for each failure failed
working capacity
Restoration flows must be feasible under spare
capacity
How would this be expressed as an lp_solve
model... ?
59Sample network for example of mesh SCP
A
B
C
7
4
- SCP spare capacity placement
- here, spans all have equal length or cost
- span working capacity quantities are shown
- Problem is to place spare capacity for 100
restorability via span restoration.
8
E
10
7
2
4
12
F
Z
G
6
9
60Sample network for example of mesh SCP
- as a first step the eligible restoration
routes for each failure are identified. - For example, three distinct eligible routes for
restoration of span A-B under 4 hops might be as
shown(examples only)
A
B
C
7
4
8
E
10
7
2
4
12
F
Z
G
6
9
Flow variables defined for A-B as a failure span
f1
f2
f3
Illustration explaining the first restorability
constraint to follow...
61Lp_solve example for mesh SCP
/ Objective function / min SabSbeSegSagSaf
SgfSbcSczSezSfz / The sum of all the
flows on the different routes for restoration
/ / of span i must be greater or equal to wi
/ f1 f2 f3 gt 7 / span A-B / (see
prior slide for this one example) f4 f5 f6
f7 gt 8 / span B-E / f8 f9 f10 f11 gt
12 / span E-G / f12 f13 f14 gt 5 / span
A-G / f15 f16 f17 f18 gt 10 / span A-F
/ f19 f20 gt 6 / span G-F / f21 f22 gt
4 / span B-C / f23 f24 gt 6 / span C-Z
/ f25 f26 f27 f28 gt 4 / span E-Z / f29
f30 f31 f32 gt 9 / span F-Z /
One line per span failureThe details come from
the routeidentified for restoration,and the
associated flow variable for defined for each
route
62Lp_solve example for mesh SCP
/ The spare capacity on each span must be gt to
the sum of the flows/ on routes that cross
this span for every failure scenario / / Span
A-B / Sab - f4 - f5 - f6 gt 0 / failure of
B-E / Sab - f8 - f9 gt 0 / failure of E-G
/ Sab - f14 gt 0 / failure of A-G / Sab -
f17 - f18 gt 0 / failure of A-F/ Sab - f22 gt
0 / failure of B-C / Sab - f24 gt 0 /
failure of C-Z / Sab - f26 gt 0 / failure
of E-Z / Sab - f31 - f32 gt 0 / failure of
F-Z / / Span B-E / Sbe - f1 - f2 gt 0 /
failure of A-B / Sbe - f8 - f9 gt 0 /
failure of E-G / Sbe - f14 gt 0 / failure
of A-G / ....etc... (produces S sets of (S-1)
additional constraints)
The exact definition of eligiblerestoration
routes and corresponding flow variables (not
shown) is needed to produce this level of
detail. This shows an example of the logical
form that is taken
63Illustration explaining the first spare-capacity
generating constraint
/ Span A-B / Sab - f4 - f5 - f6 gt 0 /
failure of B-E / .
- as a first step the eligible restoration
routes for each failure are identified. - For example, three distinct eligible routes for
restoration of span A-B under 4 hops might be as
shown(examples only)
A
B
C
7
4
8
f1
f4
E
10
f5
7
2
f6
4
f3
12
f2
F
Z
G
6
9
F1, f2, f3 do not cross span A-B when B-E failure
is considered
f4, f5, f6 do cross span A-B when B-E failure is
considered
64Tips on formulating LP / IPs
- Mutual exclusion - e.g. Each working demand
flow may have only one route - use a radio
button constraint - where
is a decision variable to use route i or
not. - Peak minimizing - e.g. Minimize the worst
case oversubscription on all spans j over all
failures, i - cannot write min max
function in an LP / IP - can write min
Z .... Z - zij gt 0 for every i,j
65Bi-objective LP / IPs
- Sometimes our notion of optimality depends on
more than one criterion (with different units or
measures) - can form a two term objective
function - blended by some weighting
factor e.g. perhaps (Z1
capacity Z2 restoration paths length)
(Z1 cost Z2 uncertainty) - Solve family of problem instances with
varying alpha - result is the Pareto
optimal solution set - shows the shape of the
trade-off of one goal versus the other -
discrete (as shown) if IP - continuous Pareto
curve if LP
66Min-cost Network flow (MCNF)
- so far with the LP method we have looked at
finding maximum flow, subject to constraining
capacities. - A related problem is to support a specified
flow, between source andtarget nodes
at min cost for the edges used. - Two - terminal MCNF
S.t.
Where Cij edge capacities
Optionally also
67Quick guide to computational complexity
68Why theoretical complexity matters
- Integer programming (IP) is NP-hard.. and
exhibits this behaviour in practise - Linear programming (LP) (by simplex algorithm)
is theoretically NP-hard but polynomial time in
most cases. - Some newer LP algorithms are provably polynomial
time. - Some Integer Programming problems are
uni-modular - solve as an LP without losing
integrality - Other IP s or combinatorial optimization
problems in general require heuristic (or
meta-heuristic) solutions.
69Other approaches to combinatorial optimization
Meta-heuristics (book p. 259-267.)
(1) Simulated Annealing (SA) (2) Genetic
Algorithms (3) Tabu Search
- A meta-heuristic is an approximate, but highly
general optimization technique that can be used
as an alternative to solving LP / IP
formulations. - It is a meta- heuristic because the basic
search / improvement tactic can be explainedin a
way that is not specific to any one problem. - Advantages may be
- - handling larger size problems
- - representing problem detail not amenable to an
LP / IP - - non-linear constraints or objectives
- Results not provably optimal but often this is
OK in practice. - All need quantifiable / calculable objective
function - Central issue each is trying to deal with is
effecting a suitably broad search of the
solution space without getting trapped in local
optima
70Meta-heuristics Simulated Annealing (SA)
- Basic ideas / concept
- Inspired by mathematical analogy to strain
energy minimization in the slow cooling
(annealing) of metals. - Changes to the current design are made randomly.
- Improvements are kept, steps backward are
normally rejected, except... - A step backward (i.e., a degrading of the
objective function) may be kept with a random
probability. - The probability of keeping such a change slowly
decreases.
Where DE the magnitude of degradation t
time (elapsed simulation time) T(t) the
cooling schedule k Boltzmanns constant
71Meta-heuristics Simulated Annealing (SA)
Define a cooling function or schedule T(t) and
set t 0, temperature T(0) Tmax
while T gt Tmin do For n 1 to Nc do propose
a change in the solution evaluate the change in
the objective function DE if DE gt 0 , accept
the move otherwise, if rand() lt PacceptT(t),
DE, accept the move otherwise reject the
move End for t t1 ( or often T ? T )
Also keep note of global best ever found at any
stage, not just current solution
72Meta-heuristics Simulated Annealing (SA)
- An additional resource on Simulated Annealing is
at the web site - Simulated Annealing.htm
- on the course web-site (related reading
section for this lecture). -
- From Overview of Modern Heuristic Methods at
http//www.cs.cf.ac.uk/User/S.U.Thiel/ra/int_rep.
html - (where meta-heuristics are being studied for
radio frequency assignment problems).
73Meta-heuristics Genetic Algorithms (GA)
- Basic ideas / concept
- Inspired by concepts of natural selection and
evolutionary improvement of an evolving
population. - Concepts / terms - a population, an
individual, a generation - genome or chromosome,
encoding scheme or schemata - selection,
fitness function - cross-over (breeding) -
mutation - invented / developed by John Holland
74Meta-heuristics Tabu Search
- Basic ideas / concept
- uses ideas of conventional hill climbing /
gradient- type search but with addition of
temporary prohibition of moves that lead back to
recently discovered local optimum.
Tabu search is forced to accept uphill
movesafter reaching a local optimumbecause the
return move is tabufor some time following
discoveryof the local optimum.
Main proponent and book Tabu Search by Fred
Glover and M. Laguna