Lets see word by word what is heuristic optimization is: A heuristic is a method which “on the basis of experience or judgement seems likely to yield a good solution to the problem, but cannot be guaranteed to produce an optimum”. Optimization means the action of making the best or most effective use of a situation or resource. It is derived from the greek verb heuriskein (ευρισκειν) which means “to find” and It means enabling someone to discover or learn something for themselves.

The term heuristic refers to a computational procedure that determines an optimal solution by incrementally improving a candidate solution in terms of a given quality measure. The heuristics make no assumptions about the problem being optimised and can explore many candidate solutions at a reasonable cost with the goal of finding optimal or near-optimal solutions without being able to guarantee feasibility, or even to state how close to optimality a particular feasible solution is. Heuristics rely on stochastic search optimization, such as evolution programming, evolution strategy, genetic algorithms, and genetic programming (Michalewicz 1996 ; Reeves 1995. 2003 ; Zhilinskas and Žilinskas 2008 ). In addition to heuristics, derivative-free, direct search, and black-box optimization techniques have a similar meaning.

What optimization simply does is Search for the “best” configuration of a set of variables to achieve some goals. It is a new pattern identification tool that is able to identify variable length unknown motifs which repeat within time series data.

Heuristic building techniques are more efficient than traditional methods. This approach shows that a popular existing technique, differential heuristics, is equivalent to answering the same question if restricted to a single dimension.

There are a number of reasons why heuristics remain popular in Operational Research

reasons:

- The problem may be ill-defined or the data may be imprecise, so that an optimal solution has to be derived

- Many problems are computationally complex, so optimal solutions are difficult to find

unlikely to be found in reasonable time in larger instances.

- Several solutions may need to be considered before a final decision is made,

Especially in situations where several criteria need to be balanced using human judgement

Technical measures are not as important as judgement.

** – Constructive algorithms (greedy) **

A greedy algorithm generates solutions by adding components to an initial partial solution, until the solution is complete. The following steps are taken at each step: – You take the best you can get now, without regard to future consequences – You hope that by choosing a local optimum at each step, you will end up at a global optimum

**– Local search algorithms (hill-climbing…) **

Iterative algorithm:

– Start with some initial solution

– Explore the surrounding area of the current solution

– Replace the current solution with a better one z Different approaches depending on the choice criteria and termination criteria

– Stochastic: random selection

Hill climbing: only allow neighbours to move who improve the current z Greedy

– the best neighbour, Anxious

– improving the first neighbour’s sideways movement

– allows moves with the same fitness level

**Problems**

Success of hill-climbing is determined by the shape of the landscape – Shape of landscape depends on problem formulation and fitness function – Landscapes for real-world problems often resemble worst-case scenarios – NP-hard problems usually have exponentially many local minima – Propensity to deliver local optima only – Solutions depend on the initial solution.

A key problem in heuristic search is selecting a strong heuristic function. It is particularly true of many end-user applications of heuristic search, where high performance must be achieved under strict memory constraints.

**Solution**

It applies local search to an initial solution until it finds the local optimum; then it perturbs the solution and then it restarts local search.

A strategy based on dynamically changing neighbourhood structures.

VNS: Different coding schemes represent different neighbourhood relationships

As a result, I would like to conclude that this is one of the best and optimised optimizations and even though it has been so long, this algorithm continues to be utilised.

Thank You so much for your time and I hope you have explored something new here