• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water network optimization
 

A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water network optimization

on

  • 892 views

A seminar about water network optimization via MCMC I gave in January at AIRO Winter 09

A seminar about water network optimization via MCMC I gave in January at AIRO Winter 09

Statistics

Views

Total Views
892
Views on SlideShare
889
Embed Views
3

Actions

Likes
0
Downloads
6
Comments
0

2 Embeds 3

http://www.linkedin.com 2
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water network optimization A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water network optimization Presentation Transcript

    • Minimal water networks serving a farm district A Metropolis algorithm for the Steiner Tree Problem Carlo Lancia, Alessandro Checco University of Rome TorVergata Cortina D’Ampezzo, January 28, 2009 Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Outline 1 A Model for the Shortest Network Problem Farm Districts and Water Networks The Minimal Steiner Tree Problem 2 Metropolis Algorithm The Statistical Mechanics approach to Optimization Markov Chain Monte Carlo for the Steiner Tree Problem 3 Numerical Data and Conclusions Numerical Comparison with Primal-Dual Conclusions Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem Farm Districts and Water Networks Introduction Definition A farm district is a set of neighboring farmlands Definition A water network is a set of pipes bringing water to the lands Constraints We look for the minimal water network such that Its pipes lie on land boundaries only, so no land bridging It does reach at least a corner of each land boundary Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem Farm Districts and Water Networks Modeling the District It is very difficult to model the shortest network problem on the graph induced by the district topology. Graph induced by the district Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem Farm Districts and Water Networks Modeling the District We do prefer to work on a slightly different graph. =Steiner Nodes; =Distribution Node; =Terminal Nodes Creation of a new graph G Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem The Minimal Steiner Tree Problem Water Networks and Steiner Trees Water networks are equivalent to Steiner Trees on G: Example Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem The Minimal Steiner Tree Problem Water Networks and Steiner Trees Water networks are equivalent to Steiner Trees on G: Example Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem The Minimal Steiner Tree Problem The Shortest Network Problem Some Notation We call VS the set of Steiner nodes, VT the set of Terminals A Steiner Tree is any tree T ⊂ G spanning VT The cost vector c E → R+ is such that c(u) = c(v) for fictitious edges u, v situated in the same land fictitious-edge cost is comparable with regular-edge cost Formulation as Minimal Steiner Tree Problem On graph G a water network serving the district is a Steiner Tree, so what we are looking for is the shortest Steiner Tree having root in , with the additional requirement of terminal nodes being leaf nodes (no land crossings allowed) Carlo Lancia, Alessandro Checco Minimal Water Networks
    • A Model for the Shortest Network Problem The Minimal Steiner Tree Problem The Shortest Network Problem Some Notation We call VS the set of Steiner nodes, VT the set of Terminals A Steiner Tree is any tree T ⊂ G spanning VT The cost vector c E → R+ is such that c(u) = c(v) for fictitious edges u, v situated in the same land fictitious-edge cost is comparable with regular-edge cost Minimal Steiner Tree Problem – NP-hard min ∑ c(x) T ⊂G x ∈ E(T ) s.t. VT ⊂ V (T ) deg(v) = 1 ∀ v ∈ VT Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach The Statistical Mechanics Approach Optimization Problem Many Particles System Problem instance Particles configuration Cost function, f (ξ) Hamiltonian, H(ξ) Optimal solutions Ground states Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach The Statistical Mechanics Approach Optimization Problem Many Particles System Problem instance Particles configuration Cost function, f (ξ) Hamiltonian, H(ξ) Optimal solutions Ground states Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach The Statistical Mechanics Approach Optimization Problem Many Particles System Problem instance Particles configuration Cost function, f (ξ) Hamiltonian, H(ξ) Optimal solutions Ground states Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach The Statistical Mechanics Approach Optimization Problem Many Particles System Problem instance Particles configuration Cost function, f (ξ) Hamiltonian, H(ξ) Optimal solutions Ground states Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach The Statistical Mechanics Approach Optimization Problem Many Particles System Problem instance Particles configuration Cost function, f (ξ) Hamiltonian, H(ξ) Optimal solutions Ground states All we need is a sampling algorithm e−β H(ξ) When β → ∞ Gibbs distribution is concentrated on Z ground states, that is to say optimal configurations Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach MCMC Sampling Let Ω be the set of all Steiner trees over G Define a Markov chain (Xt ) on Ω that is ergodic with limit measure equal to Gibbs distribution Sampling Algorithm 1 Follow the evolution of the chain for a very long time τ 2 Return min {Xt } t∈[0,τ ] Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm The Statistical Mechanics Approach MCMC Sampling Let Ω be the set of all Steiner trees over G Define a Markov chain (Xt ) on Ω that is ergodic with limit measure equal to Gibbs distribution Sampling Algorithm 1 Follow the evolution of the chain for a very long time τ 2 Return min {Xt } t∈[0,τ ] Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Cooking Up An Appropriate Markov Chain Target e−β H(ξ) We want a chain which limit measure is π(ξ) = Z Transition Probabilities Metropolis rule allow us to design a chain that is reversible with respect to Gibbs distribution π(η) P (ξ, η) = min π(ξ) , 1 = exp{−β [H(η) − H(ξ)]+ } Such design strategy is very general and independent of the functional form of Hamiltonian Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Which Hamiltonian? It is quite natural to choose the Hamiltonian as the cost function of the problem, that is the length of tree ξ H(ξ) = c(x) x∈ξ Upgrading the Hamiltonian We rather prefer to work with the following Hamiltonian function H(ξ) = c(x) + h (deg(v) − 1) x∈ξ v∈VT where the second sum is extended to all terminal vertices. Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Which Hamiltonian? Land Bridging Penalties Employing this Hamiltonian, Steiner trees crossing one or more lands have energy proportional to h. When temperature is low and h is large such configurations are nearly never sampled. Upgrading the Hamiltonian We rather prefer to work with the following Hamiltonian function H(ξ) = c(x) + h (deg(v) − 1) x∈ξ v∈VT where the second sum is extended to all terminal vertices. Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution At time t denote current tree by Xt . Select an edge x ∈ E(G) u.a.r., then set Xt+1 according to the following rule: Current tree Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution Selected edge is the red one. Removing body edges from the tree would result in two separate components ⇒ Xt+1 = Xt Body edges are not removed from current tree Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution Adding edges non-adjacent to current tree would result in two separate components ⇒ Xt+1 = Xt Separate edges are not added to current tree Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution When edge x connects a terminal leaf to current tree we set Xt+1 = Xt not to compromise solution feasibility Branch edges connecting terminal leaves are never removed Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution If x connects a steiner leaf to current tree we cut it out and set Xt+1 = Xt {x} Branch edges connecting steiner leaves are always removed Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution If edge x is adjacent to current tree we may add it. We set Xt+1 = Xt ∪ {x} with probability exp{−β c(x)} Edges adjacent to current tree may be added to it Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution In case adding x to the tree results in a land crossing we set Xt+1 = Xt ∪ {x} with probability exp{−β(c(x) + h)} Attention must be paid to land crossing and penalty applied Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution When adding x to the tree would result in a loop we observe the following procedure which removes the cycle: Edges introducing a loop may be added by swap procedure Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution We select uniformly at random an edge y of the loop adjacent to x, then swap x and y with probability exp{−β [c(x) − c(y)]+ } Edges introducing a loop may be added by swap procedure Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution We select uniformly at random an edge y of the loop adjacent to x, then swap x and y with probability exp{−β [c(x) − c(y)]+ } Swap procedure: edge (+) is added and (–) is removed Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution In case adding x to the tree results in a land crossing loop swap procedure must be performed more carefully: Attention must be paid to possible land crossing Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution Interchanging edges may lead to a land crossing, in such cases we swap x and y with probability exp{−β [c(x) − c(y) + h]+ } Swapping must be penalised if it leads to a land bridging Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Evolution Interchanging edges may lead to a land crossing, in such cases we swap x and y with probability exp{−β [c(x) − c(y) + h]+ } Swapping (+) and (–) leads to bridging ⇒ penalty imposed Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Metropolis Algorithm MCMC for the Steiner Tree Problem Chain Ergodicity The chain we have just described is found to be irreducible and aperiodic It has a unique stationary distribution, namely Gibbs one e−β H(η) lim P t (ξ, η) = t→∞ Z Proving irreducibility Swap procedure grants that the chain can move from a Steiner tree to another, stepping through feasible solutions only Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Numerical Comparison with Primal-Dual Both Metropolis and Primal-Dual procedure were implemented in Fortran 90 and run on a 1.6 GHz Intel Dual Core Processor Shortest Network Length (km) Metropolis Primal-Dual Test District #1 4,288 5,867 Test District #2 6,052 7,123 Test District #3 6,588 9,353 Test District #4 16,359 20,378 Test District #5 5,131 6,660 Test District #6 8,123 10,176 Test District #7 16,044 22,222 Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Numerical Comparison with Primal-Dual Algorithm Execution Time (sec) lands edges Metropolis Primal-Dual T-D #1 110 909 8 58 T-D #2 132 1091 11 62 T-D #3 201 1670 16 71 T-D #4 458 3858 23 380 T-D #5 169 1413 15 66 T-D #6 274 2450 20 75 T-D #7 605 5117 38 744 Total runtime 131 1456 Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Test District #1 - Primal Dual Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Test District #1 - Metropolis Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Test District #3 - Primal Dual 1 2 3 4 5 6 7 8 9 10 11 13 12 14 15 16 17 18 19 20 21 22 23 24 25 27 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 55 57 58 60 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 75 77 78 79 80 81 82 83 84 85 86 87 88 89 91 90 92 93 95 94 96 97 98 99 100 101 102 103 104 105 106 108 107 110 109 111 112 113 115 114 116 118 117 119 121 120 122 123 124 126 125 127 128 129 130 131 132 133 134 135 136 137 138 140 139 141 142 144 143 145 146 148 147 149 152 151 150 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 171 173 178 175 174 176 177 179 180 181 183 182 186 185 187 184 189 188 190 191 194 195 193 192 197 196 198 199 200 201 202 205 203 204 206 207 208 210 209 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 230 229 228 232 231 233 235 234 236 237 238 240 239 241 242 243 244 245 247 246 249 248 250 251 252 253 254 255 256 257 259 258 260 261 262 263 265 264 266 267 268 269 271 270 272 273 274 275 276 277 279 278 280 281 282 283 284 285 286 287 288 289 290 291 292 294 295 293 296 297 298 299 300 301 303 302 304 306 305 307 311 308 309 310 312 313 315 314 317 316 318 319 321 320 322 324 323 325 327 326 329 328 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 353 352 354 355 356 357 358 359 360 361 362 363 364 365 367 366 368 369 370 371 372 373 374 375 376 378 377 379 380 381 382 383 384 385 386 387 Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Test District #3 - Metropolis 1 2 3 4 5 6 7 8 9 10 11 13 12 14 15 16 17 18 19 20 21 22 23 24 25 27 26 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 52 54 56 55 57 58 60 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 75 77 78 79 80 81 82 83 84 85 86 87 88 89 91 90 92 93 95 94 96 97 98 99 100 101 102 103 104 105 106 108 107 110 109 111 112 113 115 114 116 118 117 119 121 120 122 123 124 126 125 127 128 129 130 131 132 133 134 135 136 137 138 140 139 141 142 144 143 145 146 148 147 149 152 151 150 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 171 173 178 175 174 176 177 179 180 181 183 182 186 185 187 184 189 188 190 191 194 195 193 192 197 196 198 199 200 201 202 205 203 204 206 207 208 210 209 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 230 229 228 232 231 233 235 234 236 237 238 240 239 241 242 243 244 245 247 246 249 248 250 251 252 253 254 255 256 257 259 258 260 261 262 263 265 264 266 267 268 269 271 270 272 273 274 275 276 277 279 278 280 281 282 283 284 285 286 287 288 289 290 291 292 294 295 293 296 297 298 299 300 301 303 302 304 306 305 307 311 308 309 310 312 313 315 314 317 316 318 319 321 320 322 324 323 325 327 326 329 328 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 353 352 354 355 356 357 358 359 360 361 362 363 364 365 367 366 368 369 370 371 372 373 374 375 376 378 377 379 380 381 382 383 384 385 386 387 Carlo Lancia, Alessandro Checco Minimal Water Networks
    • Numerical Data and Conclusions Numerical Comparison with Primal-Dual Test District #7 - Primal Dual 1 2 3 4 5 6 7 9 8 10 11 13 12 14 15 16 17 18 19 20 21 23 22 24 26 25 27 28 29 30 31 32 33 34 36 35 37 39 38 40 41 42 43 44 45 46 48 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 69 72 71 73 74 75 77 76 78 79 80 82 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 115 117 118 119 121 120 122 123 124 125 126 127 128 129 130 131 132 134 133 135 136 137 138 139 140 142 141 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 160 162 163 165 164 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 185 184 187 188 186 189 190 195 196 194 192 193 191 197 198 200 199 201 202 205 204 203 206 207 209 208 210 213 211 212 214 215 216 217 218 220 219 222 221 223 224 225 227 226 228 229 230 231 232 233 234 235 237 236 238 239 240 241 242 243 244 246 245 247 249 248 250 251 252 253 254 255 256 257 258 259 261 260 262 263 264 265 266 267 268 269 272 271 270 273 274 276 275 278 277 279 280 281 282 283 284 286 285 287 288 289 291 290 292 294 293 295 297 298 296 299 300 301 302 304 303 305 306 309 308 307 311 310 312 313 317 314 315 316 318 320 319 323 324 321 322 328 327 326 325 330 329 332 331 333 334 335 336 337 340 338 339 341 342