[AIM] Cross-domain search and selection hyper-heuristics
Day 6
Outline
- Cross-domain search: observations
- Hyper-heuristics - definition, origins
- A classification of hyper-heuristics
- Selection hyper-heuristics controlling perturbative heuristics
- Selection hyper-heuristics controlling constructive heuristics
- Cross-domain parameter tuning of a memetic algorithm
Cross-domain search
There are a lot of different search domain which needs new operators, search method and evaluation function. For example, flowshop scheduling, vehicle routing, nurse rostering, you can not use the same heuristic.- Most of the real-world optimisation problems are proven to be NP-hard
- The current state of the art in search methodologies tend to focus on bespoke systems
- In general, these systems are expensive to build, but provide successful results. Unfortunately, their application to new problem domain still requires expert involvement
- A different heuristic might generate good performance on different problem instance
- A goal is raising the level of generality of search methodologies through learning and adaptation so that they would be applicable across a broad range of problems without requiring any human expert intervention.
Hyper-heuristics
A hyper-heuristic is a search method or learning mechanism for selecting or generating heuristics to solve computationally difficult problems.- Hyper-heuristics operate on a search space of heuristics rather than directly on a search space of solutions
- Existing(or computer generated) heuristics can be used within hyper-heuristics
- Aim is to take advantage of strengths and avoid weaknesses of each heuristic
- No problem specific knowledge is required during the search over the heuristics space
Classification of hyper-heuristics
According to the nature of the heuristic search space, it can be classified to be heuristic selection and generation, for each one, there is constructive and perturbative.For heuristic selection, it will always use fixed heuristic, for heuristic generation, it will automatically generated heuristic from components.
According to the feedback, it can be online learning, offline learning and no-learning.
Online learning: while solving a problem instance(adapt). Examples are: reinforcement learning, meta-heuristics
Offline learning: From a set of training instances(generalise), we trained it and choose one heuristic, after train it, we use it for all the instance. Examples are: classifier systems, GP
A hyper-heuristic Framework
A selection hyper-heuristic framework
For a selection hyper-heuristic framework, it will have a heuristic selection method and move acceptance criteriaHeuristic selection
We can divide heuristic selection method to with learning and with no learning- With no learning: Simple random and random permutation
- With learning:
- Greedy
- Peckish(faster version of greedy)
- Random Gradient
- Random permutation Gradient
- Choice Function
- Reinforcement Learning
Greedy
Apply each low level heuristic to the candidate solution and choose the one that generates the best objective valuePeckish
If you have 100 heuristics, you apply each using greedy and choose the top 10 oneRandom Gradient and Random Permutation Gradient
These are learning versions of simple random and random permutation. You randomly choose one heuristic and apply it. If there is improvement, you continue apply it until there is no improvement.Reinforcement Learning
Reward and punishment!Maintains a score, if an improving move then increase (+1), otherwise decrease (-1)
Choice Function
The choice function maintains a record of the performance of each heuristic. Three criteria are maintained:- Its individual performance
- How well it has performed with other heuristics
- The elapsed time since the heuristic has been called
F\(_t\)(h\(_j\))+ \(\alpha_t\)f\(_1\)(h\(_j\)) + \(\beta_t\)f\(_2\)+\(\gamma_t\)f\(_3\)(h\(_j\))
评论
发表评论