Heuristics: Local search 2: Unterschied zwischen den Versionen

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
(Applications)
(Detailed Solution Process)
 
(32 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 32: Zeile 32:
 
Some examples are:
 
Some examples are:
  
* The vertex cover problem, in which a solution is a vertex cover of a graph, and the target is to find a solution with a minimal number of nodes
+
* The '''vertex cover problem'''
* The travelling salesman problem, in which a solution is a cycle containing all nodes of the graph and the target is to minimize the total length of the cycle
+
The aim of the vertex cover problem is to connect a given amount of nodes with each other by using the minimum amount of edges.
* The boolean satisfiability problem, in which a candidate solution is a truth assignment, and the target is to maximize the number of clauses satisfied by the assignment; in this case, the final solution is of use only if it satisfies all clauses
+
* The nurse scheduling problem where a solution is an assignment of nurses to shifts which satisfies all established constraints
+
* The k-medoid clustering problem and other related facility location problems for which local search offers the best known approximation ratios from a worst-case perspective
+
  
==Applications==
+
* The '''travelling salesman problem'''
 +
The travelling salesman problem (TSP) has its name from the original issue, where a salesman had to visit a previously defined amount of places. According to human nature, he wants to spend as little time as possible, so he wants to minimize the length of the connecting links.
  
#1 '''vertex cover problem'''
+
* The '''boolean satisfiability problem'''
The aim of the vertex cover problem is to connect a given amount of nodes with each other by using a minimum of edges.
+
  
#2 '''travelling salesman problem'''
+
The boolean satifiability problem describes a situation, in which a particular list of requirements has to be met.
The travelling salesman problem (TSP) has his name from the origin issue, which is a salesman, who has to visit a previously defined amount of places. According to human nature, he wants to spend as little time as possible, so he wants to minimize the length of the connecting links.
+
  
#3 boolean satisfiability problem
+
* The '''nurse scheduling problem'''
''This is a problem, in which a candidate solution is a truth assignment, and the target is to maximize the number of clauses satisfied by the assignment; in this case, the final solution is of use only if it satisfies all clauses ''
+
The NSP is used to plan schedules for workers or problems with a similar structure.
  
#4 '''nurse scheduling problem'''
+
* The '''k-medoid clustering problem'''
''The Nurse scheduling problem (NSP) is the problem of determining a work schedule for nurses that is both reasonable (or fair) and efficient. It  is all about assignment of shifts and holidays to nurses. A nurse has her/his wishes/restrictions. The problem is described as finding a schedule that both respects the constraints of the nurses and fulfills the objectives of the hospital. Conventionally a nurse can work 3 shifts because nursing is shift work:
+
This problem attempts to minimize the distance between points labeled to be in a cluster and a point designated as the center of that cluster.
day shift
+
night shift
+
late night shift.
+
  
''A solution is an assignment of nurses to shifts which satisfies all established constraints. Possible constraints may be
+
==Example==
A nurse doesn't work the day shift, night shift and late night shift on the same day (for obvious reasons).
+
A nurse may go on a holiday and will not work shifts during this time.
+
A nurse doesn't do a late night shift followed by a day shift the next day.''
+
  
#5 '''k-medoid clustering problem'''
+
====Travelling salesman problem====
''Relevant also for other related facility location problems for which local search offers the best known approximation ratios from a worst-case perspective.''
+
  
==Examples==
+
To demonstrate how the local search can be used to solve a practical problem, a constructed example can be found below:
 +
 
 +
 
 +
A business man from A has departments in B, C,D and E. He plans to visit all departments and return
 +
home. His planned route ist A-B-D-C-E-A. We want to improve this route with help of a local search heuristic.
 +
 
 +
The distances between the places can be extracted from the tables below:
 +
 
 +
 
 +
[[Datei:Local_Seach_Tablet_1.png]]
 +
[[Datei:Local Search Solution1.JPG]]
 +
 
 +
A-B-D-C-E-A=1275
  
'''Example''': Travelling salesman problem
 
  
==Presentation of the problem==
 
....
 
  
 
==Detailed Solution Process==
 
==Detailed Solution Process==
~ with explanation
+
[[Datei:Solution1.png]]
 +
[[Datei:Solution2.png]]
 +
 
 +
 
 +
Explanation of the image:
 +
 
 +
The purple marked cities are those which have been exchanged. The arrows in each tablet mark the optimal solution.
 +
 
 +
Firstly a starting route has to be chosen. The chosing process can be totally random, as it does not matter in findig the correct solution.
 +
After the starting route has been chosen, an exchange of exactly 2 edges is performed (hence the name of the algorithm "2-opt method"); but it is only allowed to alter the startroute. However it is forbidden to exchange the start and end point of the route.
 +
 
 +
Then the distance of the new route has to be calculated. After repeatedly altering the startroute until every possible combination has been calculated, the optimal solution is found by looking which distance is the shortest.
 +
After that, the whole process has to be repeated with the first optimal solution as starting route. This is necessary in order to ensure that the first solution is really optimal and there is actually no better route. If a shorter route is found, then it is the new optimal solution; if not the old route stays optimal.
 +
 
 +
 
 +
"Any solution has exactly n(n-3) neighbors (for symmetric TSP: n(n-3)/2)." This formula shows how many rows the tablet can maximally have. In this case we have a route with 5 stops which equals a maximum of 10 rows 5*(5-3)=10. As seen in the tablet on top.
  
 
==Sources==
 
==Sources==

Aktuelle Version vom 2. Juli 2013, 11:51 Uhr

Basic Approach

The local search algorithm is a metaheuristic to solve problems in the fields of engineering, operations research and mathematics. It can be applied to optimization problems, whose aim is to find an optimal solution for a particular criterion within a reasonable amount of possible candidate solutions. A starting solution is altered slightly into a so-called neighbour solution, which is then checked for being a better solution than the starting solution. If that's the case, the neighbour solution is used as a new starting solution. This process is being repeated until an optimal solution is found or a previously defined time span is passed.


Examples of practical utilization

Physics
  • simulated annealing
  • particle swarm optimization
Biology
  • artificial neural networks
  • artificial immune systems
  • ant colony optimization
Evolution (multiple parallel solutions)
  • evolutionary algorithms (GA’s, GP)


Problem-setting

The local search metaheuristic can be applied to many multifarious problems.

Some examples are:

  • The vertex cover problem

The aim of the vertex cover problem is to connect a given amount of nodes with each other by using the minimum amount of edges.

  • The travelling salesman problem

The travelling salesman problem (TSP) has its name from the original issue, where a salesman had to visit a previously defined amount of places. According to human nature, he wants to spend as little time as possible, so he wants to minimize the length of the connecting links.

  • The boolean satisfiability problem

The boolean satifiability problem describes a situation, in which a particular list of requirements has to be met.

  • The nurse scheduling problem

The NSP is used to plan schedules for workers or problems with a similar structure.

  • The k-medoid clustering problem

This problem attempts to minimize the distance between points labeled to be in a cluster and a point designated as the center of that cluster.

Example

Travelling salesman problem

To demonstrate how the local search can be used to solve a practical problem, a constructed example can be found below:


A business man from A has departments in B, C,D and E. He plans to visit all departments and return home. His planned route ist A-B-D-C-E-A. We want to improve this route with help of a local search heuristic.

The distances between the places can be extracted from the tables below:


Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

A-B-D-C-E-A=1275


Detailed Solution Process

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden


Explanation of the image:

The purple marked cities are those which have been exchanged. The arrows in each tablet mark the optimal solution.

Firstly a starting route has to be chosen. The chosing process can be totally random, as it does not matter in findig the correct solution. After the starting route has been chosen, an exchange of exactly 2 edges is performed (hence the name of the algorithm "2-opt method"); but it is only allowed to alter the startroute. However it is forbidden to exchange the start and end point of the route.

Then the distance of the new route has to be calculated. After repeatedly altering the startroute until every possible combination has been calculated, the optimal solution is found by looking which distance is the shortest. After that, the whole process has to be repeated with the first optimal solution as starting route. This is necessary in order to ensure that the first solution is really optimal and there is actually no better route. If a shorter route is found, then it is the new optimal solution; if not the old route stays optimal.


"Any solution has exactly n(n-3) neighbors (for symmetric TSP: n(n-3)/2)." This formula shows how many rows the tablet can maximally have. In this case we have a route with 5 stops which equals a maximum of 10 rows 5*(5-3)=10. As seen in the tablet on top.

Sources

Literature

  • Prof. Dr. Oliver Wendt: Operations Research Script, Summer Term 2013
  • Battiti, Roberto; Mauro Brunato; Franco Mascia (2008). Reactive Search and Intelligent Optimization. Springer Verlag.
  • Hoos, H.H. and Stutzle, T. (2005) Stochastic Local Search: Foundations and Applications, Morgan Kaufmann.
  • Vijay Arya and Naveen Garg and Rohit Khandekar and Adam Meyerson and Kamesh Munagala and Vinayaka Pandit, (2004): Local Search Heuristics for k-Median and Facility Location Problems, Siam Journal of Computing 33(3).