views:

124

answers:

4

Do you know any real applications for Simulated Annealing?

Simulated Annealing is a heuristic algorithm used for problems like the traveling salesman or the knapsack problem.

And yes, this is homework. I have to write a paper on this, and I thought this would be the best starting point. Perhaps someone actually works on a project that relies on Simulated Annealing.

A: 

Some physics simulations use simulated annealing, but I am not able to say you exactly how, while the reason should be clear by example problems you cited; I am almost sure that if you search you find, e.g. things like this one. Moreover problems like knapsack's one have some touch with reality (i.e. the problem can appear in "real" problem to be solved), and so they are "real" usage after all, and not simply "homework" or academic or educational problems.

ShinTakezou
And travelling salesman variants are used all the time for routing the world's shipping
Will
@Will cool. This question and your answer made me think I'd like to create a library of practical usages of algorithms that sometimes seem only educational, but that are used really in things we can "see" everyday, even if in fields we're not interested in (like ship commerce or economics or...)
ShinTakezou
I am aware these problems are related to real problems. And that's what I'm looking for. Such problems where Simulate Annealing was used. And not some other heuristic that can also be used to solve such problems.
Andrei Vajna II
@Andrei the given link gives you one usage, and Will's comment another... it seems there's no an already compiled list of situation where SA is used, but since you know the kind of problems it can be used for, you could use this fact as suggestion for searching where it is actually used. http://mysite.verizon.net/res148h4j/sa_demo/SA-demo_1.html here I've found a little list you could be interested in
ShinTakezou
Thanks. Like I said in the question, maybe people work on a project that uses this or know of some. I will look into the links, of course.
Andrei Vajna II
A: 

Simulated annealing is usually a method where random sampling techniques,
ie the Monte Carlo method, can be used to find a solution.

The good part is that it does not suffer from the local minimum problem.
For example, it can be used to find a solution on Set cover problems.


Update: The Algorithm Design Manual

7.5.4 Applications of Simulated Annealing

We provide several examples to demonstrate how these components can lead to elegant simulated annealing solutions for real combinatorial search problems.

Maximum Cut

The "maximum cut" problem seeks to partition the vertices of a weighted graph G into sets V1 and V2 to maximize the weight (or number) of edges with one vertex in each set. For graphs that specify an electronic circuit, the maximum cut in the graph defines the largest amount of data communication that can take place in the circuit simultaneously. As discussed in Section 16.6 (page 541), maximum cut is NP-complete. [...]

Independent Set

An "independent set" of a graph G is a subset of vertices of S such that there is no edge with both endpoints in S. The maximum independent set of a graph is the larger such empty induces subgraph. Finding large independent sets arises in dispersion problems associated with facility location and coding theory [...]

Circuit Board Placement

In designing printed circuit boards, we faced with the problem of positioning modules (typically, integrated circuits) on the board. Desired criteria in a layout may include (1) minimizing the area or aspect ratio of the board so that it properly fits within the allotted space, and (2) minimizing the total or longest wire length in connecting the components. Circuit board placement is representative of the kind messy, multicriterion optimization problems for which simulated annealing is ideally suited. [...]

Nick D
The first two are too abstract. I'll search for something that talks about Simulated Annealing in circuit board placement. Thanks for that!
Andrei Vajna II
+1  A: 

As Nick's answer hints at, simulated annealing is particularly useful in problems where the objective function is non-linear with lots of local minimums. The methodology allows you to bust out of local optima and broaden your search space. One of the more interesting applications is in the area of design, in particular, diesel engine design. Here's a good paper on the subject.

Grembo
+1  A: 

Here are some papers that I have found:

Structural Optimization - this one presents the problem of designing a sustaining structure with a minimum of materials. It is relatively simple and it is very similar to the Knapsack problem.

Fluid Transportation Systems - a relatively old paper about the design of pipe networks. Presents two problems. It's quite hard to follow as it contains a lot domain-specific language. It's interesting how a new solution is chosen for the first problem, while the most interesting thing about the second problem is that the number of elements changes with the evolution of the solution

Water Distribution Systems - in this one, simulated annealing is used to schedule water pumps in a system. To rate the performance of each configuration and to check the necessary constraints, a simulation system is used.

Andrei Vajna II