Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Simulated Annealing Algorithm in Combinatorial Optimization: Understanding the Basics, Exercises of Computer Science

An overview of the simulated annealing algorithm, a popular optimization technique used in various fields, including combinatorial optimization. The basic ingredients of the algorithm, such as the solution space, neighborhood structure, cost function, and annealing schedule. It also includes examples of integer linear programming problems and their solutions using the simulated annealing algorithm.

Typology: Exercises

2012/2013

Uploaded on 03/27/2013

agarkar
agarkar 🇮🇳

4.3

(26)

387 documents

1 / 13

Toggle sidebar

Related documents


Partial preview of the text

Download Simulated Annealing Algorithm in Combinatorial Optimization: Understanding the Basics and more Exercises Computer Science in PDF only on Docsity! Scheduling and Assignment Scheduling ■ Complexity ■ Problem Solving Techniques ■ Directions Docsity.com Analogy Physical System State (configuration) Energy Ground State Rapid Quenching Careful Annealing Optimization Problem Solution Cost function Optimal solution Iteration improvement Simulated annealing Docsity.com Generic Simulated Annealing Algorithm 1. Get an initial solution S 2. Get an initial temperature T > 0 3. While not yet “frozen” do the following: 3.1 For 1≤i ≤ L, do the following: 3.1.1 Pick a random neighbor S’ of S 3.1.2 Let ∆=cost(S’) - cost(S) 3.1.3 If ∆ ≤ 0 (downhill move) set S = S’ 3.1.4 If ∆>0 (uphill move) set S=S’ with probability e-∆/T 3.2 Set T = rT (reduce temperature) 4. Return S Docsity.com Basic Ingredients for S.A. ■ Solution space ■ neighborhood Structure ■ Cost function ■ Annealing Schedule Docsity.com Integer Linear Programming ■ Integer linear programming: For each computation dependency: ti has to be done before tj, introduce a constraint: k•x1i+ (k-1) • x2i+ … + xki < k• x1j+ (k-1) • x2j+ … + xkj+ 1 (*) Minimize: y0 Subject to: x1i+ x2i+ … + xki = 1 for all 1 ≤ i ≤ n yj ≤ y0 for all 1 ≤ i ≤ k all computation dependency of type (*) Docsity.com An Example c1 c2 c3 c4 c6 c5 6 computations 3 control steps Docsity.com An Example ■ Introduce variables: ◆ xij for 1 ≤ i ≤ 3, 1 ≤ j ≤ 6 ◆ yi = xi1+xi2+xi3+xi4+xi5+xi6 for 1 ≤ i ≤ 3 ◆ y0 ■ Dependency constraints: e.g. execute c1 before c4 3x11+2x21+x31 < 3x14 +2x24+x34+1 ■ Execution constraints: x1i+x2i+x3i = 1 for 1 ≤ i ≤ 6 Docsity.com
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved