# Using Feedback Strategies in Simulated Annealing with Crystallization Heuristic and Applications
## 2 SA with Crystallization Heuristic and Feedback Strategies
### How to Modify the Solution with Continuous Variables  
An important part of the algorithm is the generation of \(x^{*}\). Several different strategies can be used to determine a new candidate during the random search step in the SA algorithm. The original SA proposed by [PERSON] et al. (2014) was applied to the traveling salesman problem, which is a combinatorial problem. In this case, \(x^{*}\) is just a permutation of \(x\). They showed that SA clearly has two phases. At higher temperatures, SA explores the domain, and at lower temperatures, SA refines the solution. [PERSON] et al. (2016) presented one of the first proposals to approach continuous problems using SA. They determined the next candidate \(x^{*}\) by combining a random \(\|\mathbf{u}\|=1\) and a fixed step size \(\Delta r\), as  
\[x^{*}=x+\Delta r\cdot\mathbf{u}.\]  
When a fixed step size is considered, SA always stays in the same phase of exploration or refinement. Usually, larger steps are associated with the exploratory phase, and smaller steps are associated with the refinement phase. [PERSON] et al. proposed that the step size \(\Delta r\) must consider the objective function derivative information. If the objective function derivative related to a specific parameter \(i\) is large, this specific parameter step size \(\Delta r_{i}\) must be small. The same reasoning works in the opposite direction. Besides the connection with the derivative information, each parameter must have its own specific step size. The connection with the derivative information proposed by [PERSON] et al. is a weak point. [PERSON] et al. (2015) used another important concept: the number of accepted candidates must be increased, but the number of accepted candidates must not be extremely high. For higher temperatures, the SA can accept bad candidates with higher probabilities, as can be seen from (1). If the percentage of accepted candidates is 100%, the search is completely aleatory. It is necessary to have a balance between accepted and rejected candidates. [PERSON] et al. proposed that the step size must be defined in such a way that the balance between accepted and rejected candidates is kept. This proposal was good, as the relation with the derivative information was removed. [PERSON] et al. (1997) realized that if the step size is too small, SA cannot escape from some local minimum. Thus, the step size must be kept large enough, and despite the step size always being the same, each variable has its probability distribution. [PERSON] et al. (2016) and [PERSON] et al. (2015) adopted a fixed constant probability distribution for each variable. [PERSON] proposed that the standard deviation of the probability distribution is related to the objective function derivative. [PERSON] and [PERSON] (2010, 2018) understood that the relation between the standard deviation and objective function derivative is not good. They proposed a feedback control method which keeps the number of accepted candidates at a reasonable level. The control variable is called the crystallization factor, and it represents the standard deviation of the probability distribution. Figure 1 shows the two phases of SA: exploration and refinement (2019). Associated with the phase, the probability distribution standard deviation is also represented. The standard deviation must be larger at higher temperatures and will allow larger jumps at higher temperatures. At lower temperatures, the behavior is exactly the opposite, where smaller jumps will have a higher probability of happening. Considering a specific \(k\)-th variable represented by \(e_{k}\), a vector with all elements zero and just the \(k\)-th element equal to 1 is created. This variable has step size \(\Delta r_{k}\) and crystallization factor \(c_{k}\). The next candidate is determined by  
\[x^{*}=x+\frac{1}{c_{k}}\left[\sum_{l=1}^{c_{k}}\text{random}(-1,+1)\right] \cdot\Delta r_{k}\cdot e_{k}. \tag{2}\]  
Figure 1: SA has two clear phases in the optimization process: exploration and refinement.