Modeling for Network Planning - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

Modeling for Network Planning

Description:

Dijkstra's 'shortest path' algorithm. Lecture #3. 27 ... Dijkstra's 'shortest path' algorithm (7) ... On the network we just used for Dijkstras algorithm ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 75
Provided by: johndo71
Category:

less

Transcript and Presenter's Notes

Title: Modeling for Network Planning


1
Modeling for Network Planning
CS5303 - Lecture 3
  • Chien Chen
  • (Slides adapted from Prof. Wayne D. Grover)

(version for book website)
2
Outline
  • 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

3
Mathematical 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.
4
Mathematical 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.

5
Linear Programming
  • General Symbolic Form

Maximize
Objective
Subject to
Constraints

Bounds
6
Linear 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.

7
Formulating 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.
8
Formulating 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
9
Formulating 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
10
Solving 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
11
Solving LP Problems
  • 4 Possible Outcomes

12
Solving 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.

13
Integer 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
14
Integer Programming
  • Graphical Solution Method

185K
Optimal integer solution (185K)
15
Solving 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.

16
Solving MIP Problems
  • Branch-and-Bound Tree (Example)

17
Algebraic 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).

18
Algebraic 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
19
Example 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.

20
Example 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

21
Spare 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.

22
Spare 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.

23
SCP 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

24
SCP Integer Programming Problem
  • Objective Function
  • Subject To
  • 1.
  • 2.

25
Routing algorithms, all distinct routes, k-sp,
max-flow, and network flow LPs
CS5303 - Lecture 5
  • Chien Chen
  • (Slides adapted from Prof. Wayne D. Grover)

26
Dijkstras 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
27
Dijkstras 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
28
Dijkstras 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
29
Dijkstras 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
30
Dijkstras 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
31
Dijkstras 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
32
Dijkstras 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
33
Dijkstras 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
34
Dijkstras 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
35
k-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.

36
k-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

37
k-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
38
k-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
39
k-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
40
k-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
41
k-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
42
k-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
43
Maximum flow algorithm
At termination, network is disconnected in
forward flows, across min cut here
44
Min-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

45
Illustration 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)
46
All 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
47
Generating 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
48
Network 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
49
Network 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/
50
Network 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
51
Network 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)
52
Network 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
53
Network 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
54
Network 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
55
Network 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
56
Network 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.
57
Lp_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)

58
Revisit 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... ?
59
Sample 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
60
Sample 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...
61
Lp_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
62
Lp_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
63
Illustration 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
64
Tips 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

65
Bi-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

66
Min-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
67
Quick guide to computational complexity
68
Why 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.

69
Other 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

70
Meta-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
71
Meta-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
72
Meta-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).

73
Meta-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

74
Meta-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
Write a Comment
User Comments (0)
About PowerShow.com