{"id":253,"date":"2020-04-06T10:00:00","date_gmt":"2020-04-06T10:00:00","guid":{"rendered":"http:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/?p=253"},"modified":"2020-04-02T12:50:00","modified_gmt":"2020-04-02T12:50:00","slug":"heuristic-search-part-3-selective-search-methods","status":"publish","type":"post","link":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/2020\/04\/06\/heuristic-search-part-3-selective-search-methods\/","title":{"rendered":"Heuristic Search Part 3: Selective Search Methods"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"253\" class=\"elementor elementor-253\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-245f6ba elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"245f6ba\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8f89d3d\" data-id=\"8f89d3d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d030d0f elementor-widget elementor-widget-text-editor\" data-id=\"d030d0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Recently, I published blog post introducing the concept of heuristic search, this can be found\u00a0<a href=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/2020\/04\/01\/heuristic-search-part-1-introduction-and-basic-search-methods\/?preview=true&amp;_thumbnail_id=245\" target=\"_blank\" rel=\"noopener\">here<\/a>. Which was followed up with a discussion linear space search methods, in particular branch and bound, which can be found here. This blog is a continuation of these, in which some selective search methods will be discussed.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-07d186d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"07d186d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6d668f6\" data-id=\"6d668f6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b18967b elementor-widget elementor-widget-text-editor\" data-id=\"b18967b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In order to solve very complicated combinatorial optimisation problems, in particular ones in which it is not possible to guarantee the quality of solutions found,\u00a0<a href=\"https:\/\/books.google.co.uk\/books?hl=en&amp;lr=&amp;id=3k5MVjKzBP4C&amp;oi=fnd&amp;pg=PP1&amp;dq=Heuristic+search:+theory+and+applications&amp;ots=hFQ54cytLx&amp;sig=VywpX_79BVohMAQBwaM6RS2aq0I&amp;redir_esc=y#v=onepage&amp;q=Heuristic%20search%3A%20theory%20and%20applications&amp;f=false\" target=\"_blank\" rel=\"noopener\">selective search methods<\/a>\u00a0can be used. All search methods considered up to this point have been based around a systematic search of the solution space, and the methods involving heuristics increased the speed of the search process in order to reach the goal more quickly. As they all take the complete search space into account, they should all find the optimal solution. In addition to this, the previously addressed approaches have been deterministic, they will always give the same result every time they are performs on the same problem. Search methods discussed here have elements of randomness involved in them. Randomised heuristic search methods can be catagorised as either a Las Vegas algorithm, which always yields the optimal solution, however takes a variable amount of time, and Monte Carlo methods, which only sometimes yield the optimal solution.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8161a07 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8161a07\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5f4fdbb\" data-id=\"5f4fdbb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3082f1d elementor-widget elementor-widget-text-editor\" data-id=\"3082f1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Selective search is a generic term, which includes attributed from both local and randomised search. Selective search methods as said to be satisficing, meaning that they may not always output the optimal solution, although they may by chance, yet should still yield a very good when implemented correctly<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d7e9e17 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d7e9e17\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3bdecdb\" data-id=\"3bdecdb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e424a61 elementor-widget elementor-widget-heading\" data-id=\"e424a61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Hill Climbing<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fe64052 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fe64052\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1363b10\" data-id=\"1363b10\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-be5922a elementor-widget elementor-widget-text-editor\" data-id=\"be5922a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a style=\"background-color: #ffffff\" href=\"https:\/\/link.springer.com\/article\/10.1007\/s10994-006-6889-7\" target=\"_blank\" rel=\"noopener\">Hill climbing<\/a>\u00a0is an example of a local search method.\u00a0<a href=\"https:\/\/books.google.co.uk\/books?hl=en&amp;lr=&amp;id=ZlfJpM_AL0cC&amp;oi=fnd&amp;pg=PA1&amp;dq=Reactive+search+and+intelligent+optimization,&amp;ots=5ap9_xlRNF&amp;sig=-LAdv6t3Y5dOknm6sunTGjir18E&amp;redir_esc=y#v=onepage&amp;q=Reactive%20search%20and%20intelligent%20optimization%2C&amp;f=false\" target=\"_blank\" rel=\"noopener\">Local search<\/a>\u00a0is applied widely in combinatorial optimisation. The aim of local search methods is the optimisation of an objective function in a local neighbourhood of states in a solution space, with the aim of finding a solution which is approximately globally optimal. This type of algorithm does not search the entire solution space, hence they aim to find a solution which is more optimal than the other states in its neighbourhood. Selective search methods can be used to modify the size of steps in the solution space, in order to tune the process and alter the size of the neighbourhood being explored at the cost of optimality.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a6a0eb1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a6a0eb1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-f255b27\" data-id=\"f255b27\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03a50a2 elementor-widget elementor-widget-text-editor\" data-id=\"03a50a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Hill climbing first selects uses an evaluation function in order to select a neighbourhood in which the optimal solution is likely to be located, and searches the solution space here. Hill climbing (for maximisation) and gradient descent (the equivalent for minimisation) aims to make changes which improve the objective function until it is no longer possible to improve it. This is often done in one of two ways, the first is that all neighbours to the current solution are checked, and the one which offers the greatest improvement is chosen, this is known as simple hill climbing. The other by proposing a change to the solution at random, and accepting the change if it results in the objective function improving, and rejecting the change if it does not, this is known as stochastic hill climbing.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-972ab78\" data-id=\"972ab78\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-53cfe06 elementor-widget elementor-widget-image\" data-id=\"53cfe06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"672\" src=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/1280px-SilburyHill_gobeirne-1024x672.jpg\" class=\"attachment-large size-large wp-image-258\" alt=\"\" srcset=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/1280px-SilburyHill_gobeirne-1024x672.jpg 1024w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/1280px-SilburyHill_gobeirne-300x197.jpg 300w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/1280px-SilburyHill_gobeirne-768x504.jpg 768w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/1280px-SilburyHill_gobeirne.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-06aba2f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"06aba2f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-be4fe6f\" data-id=\"be4fe6f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2a103f2 elementor-widget elementor-widget-text-editor\" data-id=\"2a103f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>There are issues associated with hill climb methods. First is the issue that some proposed changes may result in an infeasible solution that violates the constraints of problem, which is prevalent when the solution space has regions which are both feasible and infeasible regions as seen in figure (a) below (where F represents the disconnected feasible region and I represents the infeasible region). Second is the obvious issue that the local optimum may not be globally optimal and may in fact be very far way, such as for the solution space shown with the objective function in figure (b) below (where A is the global maximum but B is a local maximum). This places importance on choosing where the hill climb starts, however there is often not much information available about the locations of local maxima, so a random start point is often chosen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b1b4753 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b1b4753\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-230898d\" data-id=\"230898d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-229b5d6 elementor-widget elementor-widget-image\" data-id=\"229b5d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"454\" src=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/HillClimb-1024x454.png\" class=\"attachment-large size-large wp-image-259\" alt=\"\" srcset=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/HillClimb-1024x454.png 1024w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/HillClimb-300x133.png 300w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/HillClimb-768x340.png 768w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/HillClimb.png 1182w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4224cc8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4224cc8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fecd704\" data-id=\"fecd704\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4b0de93 elementor-widget elementor-widget-heading\" data-id=\"4b0de93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Simulated Annealing<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1d198dd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1d198dd\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c5a6f72\" data-id=\"c5a6f72\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-af64fae elementor-widget elementor-widget-text-editor\" data-id=\"af64fae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a style=\"background-color: #ffffff\" href=\"https:\/\/science.sciencemag.org\/content\/220\/4598\/671?casa_token=f0fO5q1fuf4AAAAA:YJPMgf9YP2oqNT07oNQ8V1fW_y1AcaAVO87_wOrPoxCgpGChxXvm2YsgzLzAGNwOoMMtVcSckrLxqZo\" target=\"_blank\" rel=\"noopener\">Simulated annealing<\/a>\u00a0is a search method based on an analogy of the process of annealing in\u00a0<a href=\"https:\/\/books.google.co.uk\/books\/about\/Elements_Of_Material_Science_And_Enginee.html?id=PKMIGXxmJaQC&amp;redir_esc=y\" target=\"_blank\" rel=\"noopener\">metallurgy<\/a>, it can be viewed as a development of a stochastic hill climb. The process of annealing involves the heating a material above a certain threshold temperature, maintaining this temperature for some time, then cooling it in order to alter the properties of the material.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9b94c43 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9b94c43\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7c13b93\" data-id=\"7c13b93\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-09ccafc elementor-widget elementor-widget-image\" data-id=\"09ccafc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"720\" height=\"720\" src=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/Metallurgy_stub.svg_.png\" class=\"attachment-large size-large wp-image-260\" alt=\"\" srcset=\"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/Metallurgy_stub.svg_.png 720w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/Metallurgy_stub.svg_-300x300.png 300w, https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-content\/uploads\/sites\/11\/2020\/04\/Metallurgy_stub.svg_-150x150.png 150w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-955fd0e\" data-id=\"955fd0e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2aceb0b elementor-widget elementor-widget-text-editor\" data-id=\"2aceb0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This algorithm is effectively a form of\u00a0<a href=\"https:\/\/academic.oup.com\/biomet\/article-abstract\/57\/1\/97\/284580\" target=\"_blank\" rel=\"noopener\">Metropolis Hastings<\/a>. The algorithm generates a new state by perturbing the current state using a small, random change to move the sate of the solution in the solution space. In metallurgy this algorithm is used to simulate the cooling part of the annealing process, here the objective function, represents the total energy of the material. If the energy of the material in the proposed state is less than that of the current state, then the move is accepted. If it is not, then the move is accepted with a probability according to a\u00a0<a href=\"https:\/\/www.sciencedirect.com\/book\/9780080230399\/course-of-theoretical-physics\" target=\"_blank\" rel=\"noopener\">Boltzmann distribution<\/a>.\u00a0The reason for this is based on the physics of the annealing process. In statistical thermodynamics energy changes at a certain temperature are distributed according to a Boltzmann distribution. Over time, the temperature is decreased, to simulate the material cooling. A high energy material will make bigger jumps in its state space, whereas a cooler one will make smaller jumps, hence the gradual cooling will allow a coarse energy minimisation to start with (as a lot of unfavourable moves will be accepted) as the algorithm effectively selects a neighbourhood of states and the the minimisation gradually becomes more and more local. This allows the material to cool to its minimum energy state whilst attempting to avoid energy traps (local minima in its\u00a0<a href=\"https:\/\/books.google.co.uk\/books?hl=en&amp;lr=&amp;id=YQrB6s3LALEC&amp;oi=fnd&amp;pg=PP11&amp;dq=Energy+landscapes:+Applications+to+clusters,+biomolecules+and+glasses&amp;ots=bZ-cQECRyU&amp;sig=24qsdXuvLRjYY6whhfRcV90t9bc&amp;redir_esc=y#v=onepage&amp;q=Energy%20landscapes%3A%20Applications%20to%20clusters%2C%20biomolecules%20and%20glasses&amp;f=false\" target=\"_blank\" rel=\"noopener\">energy landscape<\/a>). It should be noted however that slower cooling will result in an increased computational cost.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b1a3b59 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b1a3b59\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8757700\" data-id=\"8757700\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f830e79 elementor-widget elementor-widget-text-editor\" data-id=\"f830e79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This translates to a general combinatorial optimisation problem by considering an general objective function which is to be minimised, and a tuning parameter (in place of temperature) which is gradually reduced. Application of this method allows for a coarse optimisation at the start of the problem, effectively choosing the neighbourhood to search in, which tends towards being a more and more local search as time goes on. In theory this should avoid local minima, such as the one shown in figure (b) above, however due to the randomness in the method it still may become stuck in a local minimum, but this is considerably less likely than with a stochastic hill climb.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Recently, I published blog post introducing the concept of heuristic search, this can be found&nbsp;here. Which was followed up with a discussion linear space search methods, in particular branch and bound, which can be found here. This blog is a continuation of these, in which some selective search methods will be discussed. In order to [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":254,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[24],"tags":[28,27,26,25],"class_list":["post-253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operational-research","tag-heuristic-search","tag-heuristics","tag-operational-research","tag-or"],"_links":{"self":[{"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":6,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/posts\/253\/revisions\/267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/media\/254"}],"wp:attachment":[{"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lancaster.ac.uk\/stor-i-student-sites\/matthew-randall\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}