H4: Heuristieken Flashcards

1
Q

Leg het N-queens probleem uit. En hoe kunnen we dit probleem voorstellen.

A

N aantal queens moeten op een NxN speelbord worden geplaatst met de voorwaarde dat ze elkaar niet kunnen pakken.

Beslissing: waar elke queen plaatsen?
Doelfunctie: geen
Beperking: De queens moeten zo worden geplaatst dat ze elkaar niet kunnen pakken.

We kunnen de positie van de queens voorstellen adhv een vector of list. Bij de vector zal elke plaats een kolom voorstellen en het cijfer de rij.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hoe kunnen we het traveling salesman problem voorstellen?

A

Er zijn verschillende manieren:

  1. Een graaf
  2. Een vector
  3. Koppels
  4. asymmetrische matrix
  5. Symmetrische matrix
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welke 3 grote groepen van metaheuristieken hebben we gezien in de les? en licht deze kort toe.

A
  1. Local search:
    We beginnen met een complete oplossing en gaan hier zeer kleine wijzigingen op toepassen.
    => Iterated local search, Tabu search, Variable neigbourhood search, multiple local search
  2. Constructieve metaheuristieken:
    We beginnen met een onvolledige oplossing en gaan deze opbouwen tot een complete oplossing
    => Grasp, Ant colony
  3. Populatie gebaseerde metaheuristieken:
    We beginnen met meerdere oplossingen en gaan deze oplossingen combineren om nieuwe oplossingen te bekomen.
    => Evolutionaire/ genetische algoritmen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Local search

1. Iterated local search, welke begrippen worden hier gebruikt?

A

Local search:

  1. Iterated local search (ILS)
    - Move = een gerichte en kleine wijziging
    - Move type = de soort wijziging bv. veranderen van een byte
    - Move strategy = keuze welke move je gaat maken

Strategieën:

  • First improvement = de eerste betere oplossing wordt gekozen
  • Best improvement = we gaan de hele neighbourhood bekijken en daar de beste uitnemen
  • Random = slechter of beter, maakt niet uit, je kiest deze
  • Radom improvement: random move maar je gaat enkel voort als het een betere oplossing is.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Local search

2. Tabu search, welke begrippen worden hier gebruikt?

A

Local search
2. Tabu search (TS)
Hierbij gebruikt men steeds een lijst van de moves die al werden gedaan.
Tabu tenure = geeft aan hoeveel stappen je terugkijkt
=> een dynamische lengte is hier ook mogelijk
Strategic oscillatie = je gaat bij het zoeken naar de oplossing over de capaciteit om een betere feasible oplossing te vinden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Local search

3. Variable neighbourhood search, welke begrippen worden hier gebruikt?

A

Local search

  1. Variable Neighbourhood search
    bv. Knapzakprobleem; steeds 1 bit aanpassen en verder gaan met beste oplossing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Local search

4. Multiple local search, welke begrippen worden hier gebruikt?

A

Hierbij vertrekken we van meerdere oplossingen tegelijk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Voor welk probleem wordt de Iterated local search veel gebruikt?

A

Traveling salesman problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welke stappen vinden we terug bij het iterated local search algoritme toegepast op een Traveling salesman problem?

A

Step 0: Generate initial solution: adhv een constructieve heuristiek of random.

Step 1: Local search (move = swap): steden worden verwisseld als deze voor een lagere afstand zorgen wordt de swap uitgevoerd, zoniet dan wordt er een nieuwe stap gezocht. Dit doen we tot dat er geen swap meer kan worden uitgevoerd. Dit kan betekenen dat we in de optimale oplossing hebben gevonden of dat we in een lokaal optimum zitten.

Step 2: Perturbation: Omdat we mogelijks in een lokaal optimum zitten gaan we een perturmatie algoritm toepassen waarbij de oplossing tijdelijk slechter is. Hierna gaan we terug stap 1 toepassen tot we een nieuw optimum vinden.

Dit wordt gedaan tot een stop criteria is voldaan

  • tijdslimiet
  • maximaal aantal perturbaties
  • maximaal aantal perturbaties zonder verandering van optimum
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hoe kan het vastzitten in een lokaal optimum bij een tabu search worden opgelost?

A

Bij een tabu search zal er een tabu tenure zijn die aangeeft hoeveel stappen de tabu list bijhoudt. Bij een lokaal optimum zal de tabu tenure toenemen zodat we een grotere move maken en we dus tot nieuwe oplossingen kunnen bekomen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Constructieve metaheuristieken

1. Grasp, leg uit

A

Constructieve metaheuristieken
1. Greedy random adaptive search procedure (GRASP)
We vertrekken hierbij vanuit een onvolledige oplossing.
We gebruiken een restricted candidate list (RCL), deze geeft aan wat de dischtsbijzijnde steden zijn.
bv alpha = 2 => 2 dichtsbijzijnde steden.

(Bij Alpha = 1 => Greedy)
(Bij Alpha = n => Random)
Hierna kiezen we uit de RCL een random kandidaat.

=> In het voorbeeld wordt GRASP toegepast op Single source transportation problem (SSTP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat zijn de stappen in het GRASP?

A

Step 1: (Re)rank or (re)sort all combinations of users and sources according to increasing cost.

Step 2: Create or update the restricted candidate list (RCL) by taking the first 5 elements of the ranked list. [5 is a parameter that you choose yourself]

Step 3: Take a random element from the RCL according to a certain probability: Element 1 2 3 4 5
Probability 10% 20% 40% 20% 10% [choose yourself]

Step 4: Add this element to the solution and remove it from the ranked list and the RCL.

Step 5: Check capacity constraints:
– If capacity constraints are not violated: remove all elements that have that user number from the ranked list and the RCL.
– If capacity constraints are violated: remove this element from the solution.

=> All users are now assigned to sources. This solution can be used as an initial starting solution for another metaheuristic (e.g. local search).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Constructieve metaheuristieken

2. Ant colony, leg uit

A

Constructieve metaheuristieken
1. Ant colony
=> Gebaseerd op mieren die eten zoeken
Eenmaal dat mieren tot het eten geraken zullen ze feromonen achterlaten die de andere mieren ook tot het eten leidden. Hierdoor wordt het pad steeds rechter.

  • Toegepast op Traveling salesman problem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Populatie gebaseerde metaheuristieken:

1. Evolutionaire/ genetische algoritmen, leg uit.

A

Populatie gebaseerde metaheuristieken:
1. Evolutionaire/ genetische algoritmen

Populatie = de verschillende oplossingen die we gebruiken
Selectie = het proces dat beter aangepaste DNA zijn overlevingskansen verhoogd
Crossover = het combineren van 2 'individuën'

=> Zeer goede manier op knapzakprobleem op te lossen!
Maar werkt niet goed voor TSP…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wat zijn de stappen in het Evolutionaire/ genetische algoritmen?

A

Step 0: generate initial population
=> maak populatie van verschillende oplossingen
Kan random worden gekozen.

Repeat:

Step 1: selection: Hier gaan we twee individuën selecteren die gaan reproduceren.

  • OPTIE 1: Toernooi selectie = binary tournament
    => Selecteer 2 oplossingen van de populatie en kies de beste oplossing, dit doen we tweemaal om de beste ouders te bekomen
  • OPTIE 2: Roulette wheel selectie
    => De beste doelfunctie waarde krijgt een hogere kans gekozen te worden

Step 2: recombination (using cross-over)
- one point crossover
- OF two point crossover
=> random geselecteerde positie een crossover zal worden toegepast. Hierdoor kunnen de delen worden gerecombineert.
Kijk nu wat de beste feasible oplossing is!

(Step 3: mutatie): random kleine wijziging maken, gebeurt niet elke keer!

Step 4: update population: Een reinsertion toepassen waarbij je de laagste of infeasible doelfunctie waarden vervangt met de juist gevonden oplossing. Als we dit blijven doen krijgen we steeds een betere populatie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Welke problemen kunnen we krijgen na meerder malen de stappen van het Evolutionaire/ genetische algoritmen te herhalen? (3)

A
  • Na een tijd krijgen we pre mature convergentie, hierbij zal de populatie niet meer veranderen.
  • veel gebaseerd op randomness
  • verbeteringen gebeuren zeer traag