# Practica 9 - Lab6
### Solución de problemas mediante Recocido Simulado (SA)
**Profesora**: Dra. Yenny Villuendas Rey <br>
**Escuelas**: <br> $^{1}$ Escuela Superior de Cómputo del IPN <br> $^{2}$ Centro de Investigación en Computación del IPN <br>
**Equipo**: <br>
- $^{1}$ Enya Quetzalli Gómez Rodríguez
- $^{2}$ Luis Fernando Quezada Mata
- $^{2}$ Osvaldo David Velázquez González
[Ver en línea](https://hackmd.io/@metah/practica9)
<br>
<style tyle="text/css">
p {
text-align: justify;
}
</style>
### **1. Analice detalladamente las seis funciones definidas en el documento “Funciones de prueba.pdf”.**
Las funciones encontradas en el documento "Funciones de prueba.pdf" son las siguientes:
**Función Alpine 1:**
$$
f_1(x)=\sum_{i=1}^{D}{\;|\; x_i\sin(x_i)+0.1x_i \;|\;}
$$
Punto mínimo: $x^*=f(0,0)$ y valor mínimo: $f(x^*)=0$
**Función Dixon & Price:**
$$
f_2(x)=(x_1-1)^2+\sum_{i=2}^{D}{i(2 \sin(x_i)\;-\;x_{i-1})^2}
$$
Punto mínimo: $x^*=f(2(\frac{2^i-2}{2^i}))$ y valor mínimo: $f(x^*)=0$
**Función Quintic:**
$$
f_3(x)=\sum_{i=1}^{D}{\;|\; x^5_i-3x^4_i+4x^3_i-2x^2_i-10x_1-4 \;|\;}
$$
Punto mínimo: $x^*=f(-1\;or\;2)$ y valor mínimo: $f(x^*)=0$
**Función Schwefel 2.23:**
$$
f_4(x)=\sum_{i=1}^{D}{x^{10}_i}
$$
Punto mínimo: $x^*=f(0,0)$ y valor mínimo: $f(x^*)=0$
**Función Streched V Sine Wave:**
$$
f_5(x)=\sum_{i=1}^{D-1}{(x^2_{i+1}+x^2_i)^{0.25} \Big[\sin^2\{50(x^2_{i+1}+x^2_i)^{0.1}\}+0.1\Big] }
$$
Punto mínimo: $x^*=f(0,0)$ y valor mínimo: $f(x^*)=0$
**Función Sum Squares:**
$$
f_6(x)=\sum_{i=1}^{D}{ix^2_i}
$$
Punto mínimo: $x^*=f(0,0)$ y valor mínimo: $f(x^*)=0$
### **2. Implemente dichas funciones.**
**Función Alpine 1:**
$$
f_1(x)=\sum_{i=1}^{D}{\;|\; x_i\sin(x_i)+0.1x_i \;|\;}
$$
```python=
#funcion alpine1
def f(x):
total = 0
for xi in x:
total += abs(xi*math.sin(xi)+0.1*xi)
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
new_score-=abs(state[position]*math.sin(state[position])+0.1*state[position])
new_score +=abs(new_state[position]*math.sin(new_state[position])+0.1*
new_state[position])
return [new_score]
```
**Función Dixon & Price:**
$$
f_2(x)=(x_1-1)^2+\sum_{i=2}^{D}{i(2 \sin(x_i)\;-\;x_{i-1})^2}
$$
```python=
#funcion dixon and price
def f(x):
total = 0
binomio = (x[0]-1)**2
for i in range(1,len(x)):
total += i*((2*math.sin(x[i])-x[i-1])**2)
total = binomio + total
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
if position == 0:
new_score -= (state[0]-1)**2
new_score += (new_state[0]-1)**2
else:
new_score -= position*((2*math.sin(state[position])-state[position-1])**2)
new_score += position*((2*math.sin(new_state[position])-
new_state[position-1])**2)
return [new_score]
```
**Función Quintic:**
$$
f_3(x)=\sum_{i=1}^{D}{\;|\; x^5_i-3x^4_i+4x^3_i-2x^2_i-10x_1-4 \;|\;}
$$
```python=
#funcion quintic
def f(x):
total = 0
for xi in x:
total += abs((xi**5)-(3*xi**4)+(4*xi**3)-(2*xi**2)-(10*xi)-4)
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
new_score -= abs((state[position]**5)-(3*state[position]**4)+
(4*state[position]**3)-(2*state[position]**2)-(10*state[position])-4)
new_score += abs((new_state[position]**5)-(3*new_state[position]**4)+
(4*new_state[position]**3)-(2*new_state[position]**2)-
(10*new_state[position])-4)
return [new_score]
```
**Función Schwefel 2.23:**
$$
f_4(x)=\sum_{i=1}^{D}{x^{10}_i}
$$
```python=
#funcion schwefel 2.23
def f(x):
total = 0
for xi in x:
total += xi**10
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
new_score -= state[position]**10
new_score += new_state[position]**10
return [new_score]
```
**Función Streched V Sine Wave:**
$$
f_5(x)=\sum_{i=1}^{D-1}{(x^2_{i+1}+x^2_i)^{0.25} \Big[\sin^2\{50(x^2_{i+1}+x^2_i)^{0.1}\}+0.1\Big] }
$$
```python=
#funcion strched V sine wave
def f(x):
total = 0
for i in range(0,len(x)-1):
total += (((x[i+1]**2)+(x[i]**2))**0.25)*(math.sin(50*(((x[i+1]**2) +
x[i]**2)**0.1))**2+(0.1))
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
new_score -= (((state[position+1]**2)+(state[position]**2))**0.25) *
(math.sin(50*(((state[position+1]**2)+state[position]**2)**0.1))**2+(0.1))
new_score += (((new_state[position+1]**2)+(new_state[position]**2))**0.25) *
(math.sin(50*(((new_state[position+1]**2)+new_state[position]**2)
**0.1))**2+(0.1))
return [new_score]
```
**Función Sum Squares:**
$$
f_6(x)=\sum_{i=1}^{D}{ix^2_i}
$$
```python=
#funcion sum squares
#funcion sum squares
def f(x):
total = 0
for i,xi in enumerate(x):
total += (i+1)*(xi**2)
return total
def f_delta(state, score, new_state, position):
new_score = score[0]
new_score -= (position+1)*(state[position]**2)
new_score += (position+1)*(new_state[position]**2)
return [new_score]
```
<br>
### **3. Implemente el algoritmo de Recocido Simulado para la solución de los problemas de minimización de las funciones anteriores. Considere D=10 y posteriormente D=30 dimensiones.**
```python=
import random
import copy
import math
import numpy as np
import statistics as s
import time
```
Para el resto del código, hemos utilizado el mismo que el presentado para la practica anterior, motivo por el cual no incluiremos los comentarios respectivos.
```python=
d = 0
printPretty = lambda number:round(number,2)
```
```python=
def getStateScore(state):
return [f(state)]
```
```python=
def getDeltaScore(state, score, new_state, position):
return f_delta(state, score, new_state, position)
```
```python=
def isValidState(state, score):
if len(state) != d:
return False
return True
```
```python=
def randomState():
random.seed(a=None)
state = [0]*d
while True:
for i in range(0, d):
state[i] = random.uniform(-10,10)
score = getStateScore(state)
if isValidState(state, score):
break
return state, score
```
```python=
def neighbour(state, score):
state_copy = copy.copy(state)
score_copy = copy.copy(score)
while True:
random_position = random.randint(0, len(state)-1)
state_copy[random_position] = random.uniform(-10,10)
score_copy = getDeltaScore(state, score, state_copy, random_position)
if isValidState(state_copy, score_copy) and state[random_position] !=
state_copy[random_position]:
break
state_copy[random_position] = state[random_position]
score_copy = copy.copy(score)
return state_copy, score_copy
```
```python=
def rs(cooler, time_per_temperature, final_temperature, verbose=True, k=1.380649e-23):
state, score = randomState()
temperature = 100
if verbose: print("T", round(temperature,2), " Score=", printPretty(score[0]), " -> ", [printPretty(x) for x in state])
best = [f(state), temperature, 0, False]
evaluation = 0
#while temperature >= final_temperature:
for k in range(0,50):
for i in range(0, time_per_temperature):
evaluation = evaluation + 1
new_state, new_score = neighbour(state,score)
delta = new_score[0]-score[0]
if verbose: print("\t", "Neighbour: Score=", printPretty(new_score[0]), " -> ", [printPretty(x) for x in state], end='')
if delta < 0 or random.uniform(0,1) < math.exp(-delta/temperature):
state,score = new_state, new_score
if verbose: print(" !New Accepted", end='')
if verbose: print()
if f(state) <= best[0]:
best[0] = round(f(state),2)
best[1] = temperature
best[2] = evaluation
if verbose: print("T", round(temperature,2), " Score=", printPretty(score[0]), " -> ", [printPretty(x) for x in state])
temperature = cooler(temperature)
if best[0] == round(f(state),2):
best[3] = True
return best, state
```
```python=
cooler = lambda t : t*random.uniform(0.8,0.99)
```
### **Experimentos**
Para realizar las ejecuciones indicadas en el punto 4 y 5, se implementó lo siguiente.
```python=
d = 30
eva = 20
results = [0]*eva
ex_time = [0]*eva
min_temp = [0]*eva
for i in range(0,eva):
start_time = time.time()
mejor, solutionPath = rs(cooler, 10, 0.1,verbose=False)
end_time = time.time()
results[i] = f(solutionPath)
ex_time[i] = end_time - start_time
min_temp[i] = round(mejor[1],2)
print(round(mejor[0],2), round(mejor[1],2), round(mejor[2],2), mejor[3])
print()
print('Estadísticas de los resultados (' + str(eva) + ' evaluaciones, dimensión ' + str(d) + '):')
print('Peor = ' + str(round(max(results),3)))
print('Mejor = ' + str(round(min(results),3)))
print('Promedio = ' + str(round(np.mean(results),3)))
print('Mediana = ' + str(round(s.median(results),3)))
print('Desviación estándar = ' + str(round(s.stdev(results),3)))
print()
print('Estadísticas del tiempo de ejecución en segundos (' + str(eva) + ' evaluaciones, dimensión ' + str(d) + '):')
print('Peor = ' + str(round(max(ex_time),4)))
print('Mejor = ' + str(round(min(ex_time),4)))
print('Promedio = ' + str(round(np.mean(ex_time),4)))
print('Mediana = ' + str(round(s.median(ex_time),4)))
print('Desviación estándar = ' + str(round(s.stdev(ex_time),4)))
print()
print('Estadísticas de la temperatura mínima (' + str(eva) + ' evaluaciones, dimensión ' + str(d) + '):')
print('Máximo = ' + str(round(max(min_temp),4)))
print('Mínimo = ' + str(round(min(min_temp),4)))
print('Promedio = ' + str(round(np.mean(min_temp),4)))
print('Mediana = ' + str(round(s.median(min_temp),4)))
print('Desviación estándar = ' + str(round(s.stdev(min_temp),4)))
```
<br>
### **4. Reporte los resultados obtenidos. Para ello, realice 20 ejecuciones independientes, con la siguiente configuración:**
### b) Muestre el mejor, peor, promedio, mediana y desviación estándar de los resultados en las 20 ejecuciones.
#### Para d = 10
| Función | Mejor | Peor | Promedio | Mediana | Desvianción Estándar|
| ------- | ----- | ---- | -------- | ------- | --------------------|
|Alpine 1 |1.311| 9.710 |4.499 |4.058| 2.248|
|Dixon & Price| 301.937 |1989.071 |1040.791 |1052.343| 469.563|
|Quintic |8.456 |37.292 |21.364 |20.549| 7.551|
|Schwefel |2.23| 0.019| 22.654| 2.581| 1.317 |4.881|
|Streched V Sine Wave |2.7|15.93|9.43|9.287|3.389|
|Sum Squares |3.735 |19.835 |9.794 |10.072 |4.068|
|Promedio| 63.0916 |415.7124 |215.8058| 217.6678 |97.6622|
#### Para d = 30
| Función | Mejor | Peor | Promedio | Mediana | Desviación Estándar |
| ------- | ----- | ---- | -------- | ------- | ------------------- |
|Alpine 1 |16.785 |36.348| 22.758 |21.809 |4.945|
|Dixon & Price |5042.568| 15669.961 |10414.838 |10933.326| 2502.303|
|Quintic |109.244| 1962.651 |270.745| 173.855| 400.951|
|Schwefel 2.23 |79.473 |256947.648| 19310.068 |3549.058| 56719.741|
|Streched V Sine Wave| 21.99|43.66|29.02|27.98|50.3|
|Sum Squares| 160.923 |504.000 |312.649| 309.514| 87.350|
|Promedio |1081.7986| 55024.1216 |6066.2116 |2997.5124| 11943.0580|
### c) Muestre el mejor, peor, promedio, mediana y desviación estándar de los tiempos de ejecución (en segundos) en las 20 ejecuciones
#### Para d = 10
| Función | Mejor | Peor | Promedio | Mediana | Desviación Estándar |
| ------- | ----- | ---- | -------- | ------- | ------------------- |
|Alpine 1 |0.0049 |0.0096 |0.0061 |0.0060| 0.0012|
|Dixon & Price| 0.0055| 0.0114| 0.0076 |0.0074| 0.0017|
|Quintic |0.0091| 0.2520 |0.0126| 0.0114| 0.0038|
|Schwefel 2.23 |0.0037 |0.0053| 0.0041| 0.0040| 0.0004|
|Streched V Sine Wave|0.0081|0.0132|0.0098|0.0096|0.0012|
|Sum Squares |0.0042| 0.0101| 0.0054| 0.0050| 0.0014|
|Promedio| 0.0055 |0.0577| 0.0072 |0.0068| 0.0017|
#### Para d = 30
| Función | Mejor | Peor | Promedio | Mediana | Desviación Estándar |
| ------- | ----- | ---- | -------- | ------- | ------------------- |
|Alpine 1| 0.0074| 0.0170 |0.0098 |0.0097| 0.0020|
|Dixon & Price |0.0094 |0.0191| 0.0123| 0.0112 |0.0025|
|Quintic |0.0230| 0.0315| 0.0273| 0.0267| 0.0027|
|Schwefel 2.23 |0.0068 |0.0118 |0.0085| 0.0083 |0.0013|
|Streched V Sine Wave |0.0184|0.0287|0.0212|0.0209|0.0023|
|Sum Squares| 0.0068 |0.0132 |0.0088| 0.0086 |0.0016|
|Promedio |0.0107| 0.0185 |0.0133| 0.0129| 0.0020|
### d) Muestre el mínimo, máximo, promedio, mediana y desviación estándar de la temperatura mínima alcanzada por el algoritmo en las 20 ejecuciones (falta por hacer)
#### Para d = 10
| Función | Máximo | Mínimo | Promedio | Mediana | Desviación Estándar |
| ------- | ----- | ---- | -------- | ------- | ------------------- |
|Alpine 1 |3.22| 0.1500 |0.5960 |0.3600 |0.6927|
|Dixon & Price| 100.0000 |0.3800 |19.0570| 7.1300 |29.5900|
|Quintic |8.4400| 0.2000 |1.0220 |0.5000 |1.8000|
|Schwefel |2.23 |8.1000| 0.2300| 1.8210| 0.8200| 2.2316|
|Streched V Sine Wave|85.36|0.23|6.597|1.09|18.871|
|Sum Squares |1.1700| 0.2000| 0.4760| 0.3450 |0.2877|
|Promedio| 24.1860| 0.2320| 4.5944| 1.8310| 6.9204|
#### Para d = 30
| Función | Máximo | Mínimo | Promedio | Mediana | Desviación Estándar |
| ------- | ------ | ------ | -------- | ------- | ------------------- |
|Alpine 1 |0.7100 |0.2300| 0.4320| 0.3600| 0.1565|
|Dixon & Price |67.6700 |0.3100 |9.9795 |2.5300 |16.6024|
|Quintic |0.6900| 0.1400| 0.4150| 0.4250| 0.1857|
|Schwefel |2.23 |1.1300 |0.1400| 0.4595| 0.3900 |0.2447|
|Streched V Sine Wave |8.08|0.23|0.922|0.47|1.709 |
|Sum Squares| 1.0300| 0.1800| 0.4730| 0.4350| 0.2412|
|Promedio |14.2460 |0.2000| 2.3518| 0.8280 |3.4861|
<br>
### **5. Reporte, además, de forma independiente, para cada función y cada ejecución: mejor solución encontrada por el algoritmo, la temperatura a la que se encontró, el número de evaluaciones de la función objetivo a la que se encontró, y si fue conservada o no por el algoritmo (fue conservada si coincide con la solución devuelta, NO fue conservada si el algoritmo la desechó durante su ejecución).**
#### **Para $d=10$**
#### Función Alpine:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 2.3 |0.42| 477|FALSO|
|2| 4.48|0.52| 500|VERDADERO|
|3| 5.38|3.22| 325|FALSO|
|4| 4.12|1.09| 455|FALSO|
|5| 2.6 |0.62| 492|FALSO|
|6| 2.3 |0.3| 495|VERDADERO|
|7| 3.23|0.15| 500|VERDADERO|
|8| 2.78|0.29| 500|VERDADERO|
|9| 3.08|0.37| 483|FALSO|
|10| 5.69|0.47| 495|FALSO|
|11| 2.09|0.25| 500|VERDADERO|
|12| 3.39|0.22| 500|VERDADERO|
|13| 5.98|1.38| 449|FALSO|
|14| 4.4|0.29| 500|VERDADERO|
|15| 6.25|0.8| 443|FALSO|
|16| 4.86|0.49| 500|VERDADERO|
|17| 1.3|0.15| 485|FALSO|
|18| 2.15|0.35| 474|FALSO|
|19| 3.78|0.34| 493|FALSO|
|20| 4 |0.2 | 499|VERDADERO|
#### Función Dixon & Price:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 331.24| 28.93| 122| FALSO|
|2| 38.08 |0.38| 488 |FALSO|
|3| 481.35| 41.29| 90 |FALSO|
|4| 165.18| 15.32| 177 |FALSO|
|5| 255.85| 2.6 |301 |FALSO|
|6| 283.87| 0.79| 461 |FALSO|
|7| 364.35| 1.73| 321 |FALSO|
|8| 161.64| 8.7 |203 |FALSO|
|9 |405.89| 100 |10 |FALSO|
|10 |531.94 |100 |0 |FALSO|
|11 |77.03 |4.34 |290| FALSO|
|12 |220.25 |2.79 |279| FALSO|
|13 |416.46 |1.47 |370| FALSO|
|14 |264.16 |17.43 |170| FALSO|
|15 |233.04 |15.44 |181| FALSO|
|16 |131.91 |5.06 |278| FALSO|
|17 |92.34 |5.56 |197| FALSO|
|18 |361.3 |11.35 |174| FALSO|
|19 |458.17 |16.69| 156 |FALSO|
|20| 269.14| 1.27| 348| FALSO|
#### Función Quintic:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1 |24.29| 0.49| 500| VERDADERO|
|2 |15.86| 1.55| 355 |VERDADERO|
|3 |21.29| 0.28| 500 |VERDADERO|
|4 |16.84| 0.23| 493 |VERDADERO|
|5 |26.77| 0.47| 443 |FALSO|
|6 |37.29| 0.51| 479 |VERDADERO|
|7 |16.12| 1.82| 362 |FALSO|
|8 |17.74| 0.31| 500 |VERDADERO|
|9 |8.46| 0.7 |500 |VERDADERO|
|10 |29.43| 0.22 |500| VERDADERO|
|11 |15.29 |0.43| 440 |FALSO|
|12 |15.67 |1.14| 413 |VERDADERO|
|13 |31.36| 0.4 |500 |VERDADERO|
|14 |16.17 |0.53| 485 |VERDADERO|
|15 |15.98| 8.44| 255 |FALSO|
|16 |20.81| 0.2 |490 |VERDADERO|
|17 |25.3| 0.87| 457 |FALSO|
|18 |29.61| 0.66| 500 |VERDADERO|
|19 |27.54| 0.87| 435 |FALSO|
|20 |9.2| 0.32| 500 |VERDADERO|
#### Función Schwefel 2.23:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 0.43| 5.06| 280 |FALSO|
|2| 1 |2.34 |342 |FALSO|
|3| 2.66| 0.54| 476 |FALSO|
|4| 0.06| 0.94| 446 |FALSO|
|5| 1.14| 1.48| 328 |FALSO|
|6| 0.7 |0.32 |500 |VERDADERO|
|7| 1.79 |0.23| 491 |VERDADERO|
|8| 0.38 |6.02| 241 |FALSO|
|9| 0.02 |0.27| 500 |VERDADERO|
|10| 3.01| 1.18 | 495 |VERDADERO|
|11|22.59 |0.7| 425 |FALSO|
|12| 0.69| 0.4 |491 |FALSO|
|13| 0.07| 8.1 |245 |FALSO|
|14| 0.37| 2.16| 358 |FALSO|
|15| 0.05| 0.51| 442 |FALSO|
|16| 2.19| 1.02| 426 |FALSO|
|17| 1.14| 0.5 |496 |VERDADERO|
|18| 0.09| 0.43| 462 |FALSO|
|19| 0.51| 3.99| 304 |FALSO|
|20| 2.77| 0.23| 500| VERDADERO|
#### Función Streched V Sine Wave:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1|5.85| 1.48| 471| False|
|2|5.34| 0.86| 431| False|
|3|5.57| 2.35| 473| False|
|4|5.48| 1.32| 428| False|
|5|4.74| 1.13| 404| False|
|6|5.91| 0.45| 492| False|
|7|5.82| 5.25| 340| False|
|8|5.31| 1.05| 426| False|
|9|5.62| 0.31| 500| True|
|10|4.48| 1.05| 398| False|
|11|3.4| 0.83| 432| False|
|12|4.64| 1.3| 382| False|
|13|5.17| 3.59| 261| False|
|14|5.71| 85.36| 28| False|
|15|5.8| 0.49| 482| False|
|16|4.77| 9.98| 201| False|
|17|5.13| 0.54| 475| False|
|18|4.18| 0.46| 499| True|
|19|2.71| 0.23| 500| True|
|20|6.18| 13.91| 180| False|
#### Función Sum Squares:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 5.83 |0.69| 417 |FALSO|
|2| 10.57 |0.35| 493 |VERDADERO|
|3| 10.93 |0.34| 462 |FALSO|
|4| 5.53 |1.15| 463 |VERDADERO|
|5| 7.18 |0.27| 500 |VERDADERO|
|6| 8.99 |0.81| 447 |FALSO|
|7| 3.72 |0.22| 465 |FALSO|
|8| 16.73 |0.27| 500 |VERDADERO|
|9| 9.57 |0.67| 432 |VERDADERO|
|10| 11.79| 0.23| 495 |VERDADERO|
|11| 8.93|0.32 |493 |VERDADERO|
|12| 11.06| 0.56| 463 |VERDADERO|
|13| 19.83| 0.2 |476 |VERDADERO|
|14| 11.44| 0.34| 500 |VERDADERO|
|15| 5.93| 0.27| 492 |VERDADERO|
|16| 13.16| 1.17| 457 |FALSO|
|17| 6.27| 0.32| 500 |VERDADERO|
|18| 3.9 |0.43 |497 |FALSO|
|19| 11.6| 0.44| 480 |VERDADERO|
|20| 11.49| 0.47| 500| VERDADERO|
<br>
#### **Para $d=30$**
#### Función Alpine:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 25.59| 0.33 |498| FALSO|
|2| 21.21| 0.28 |499| VERDADERO|
|3| 35.46| 0.67 |484| FALSO|
|4| 16.64| 0.35 |490| FALSO|
|5| 20.58| 0.71 |498| VERDADERO|
|6| 23.12| 0.61 |500| VERDADERO|
|7| 24.62| 0.34 |497| VERDADERO|
|8| 23.84| 0.33 |495| FALSO|
|9| 18.55| 0.24 |492| VERDADERO|
|10| 22.54| 0.23| 500| VERDADERO|
|11| 17.66| 0.48| 493| VERDADERO|
|12| 21.35| 0.32| 500| VERDADERO|
|13| 17.91| 0.64| 480| FALSO|
|14| 18.65| 0.56| 466| FALSO|
|15| 17.98| 0.36| 476| FALSO|
|16| 28.24| 0.6 |499| FALSO|
|17| 22.26| 0.26| 496| FALSO|
|18| 26.7|0.57| 500| VERDADERO|
|19| 17.89| 0.4| 499| VERDADERO|
|20| 30.29| 0.36| 500| VERDADERO|
#### Función Dixon & Price:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 7272.26| 15.88| 154| FALSO|
|2| 6862.51| 1.51| 407| FALSO|
|3| 5889.16| 3.35| 333| FALSO|
|4| 7241.24| 0.35| 479| FALSO|
|5| 4739.37| 3.14| 294| FALSO|
|6| 7932.99| 0.47| 498| FALSO|
|7| 4891.57| 1.05| 429| FALSO|
|8| 7671.79| 5.14| 260| FALSO|
|9| 6523.36| 7.14| 240| FALSO|
|10| 7638.42| 1.92| 347| FALSO|
|11| 6363.54| 0.31| 480| FALSO|
|12| 6183.86| 0.53| 395| FALSO|
|13| 4882.22| 12.42| 204| FALSO|
|14| 8852.19| 0.39| 495| FALSO|
|15| 7985.33| 1.86|381| FALSO|
|16| 8513.67| 67.67| 31| FALSO|
|17| 6672.23| 27.01| 114| FALSO|
|18| 7257.29| 0.95| 369| FALSO|
|19| 7054.83| 13.6| 170| FALSO|
|20| 6778.13| 34.9| 97| FALSO|
#### Función Quintic:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 195.45| 0.38| 497| FALSO|
|2| 143.91| 0.22| 490| VERDADERO|
|3| 151.37| 0.46| 465| VERDADERO|
|4| 176| 0.14| 500| VERDADERO|
|5| 173.21| 0.48| 499| VERDADERO|
|6| 194.18| 0.39| 491| VERDADERO|
|7| 170.75| 0.26| 500| VERDADERO|
|8| 168.52| 0.68| 490| VERDADERO|
|9| 208.49| 0.3 |494| VERDADERO|
|10| 157.65| 0.65| 494| VERDADERO|
|11| 109.24| 0.19| 483| VERDADERO|
|12| 1962.65| 0.69| 495| VERDADERO|
|13| 326.92| 0.55| 500 |VERDADERO|
|14| 174.5| 0.16| 500 |VERDADERO|
|15| 238.01| 0.24| 500 |VERDADERO|
|16| 229.91| 0.69| 491 |VERDADERO|
|17| 146.62| 0.48| 500 |VERDADERO|
|18| 156.48| 0.27| 500 |VERDADERO|
|19| 129.12| 0.51| 477 |FALSO|
|20| 201.54| 0.56| 500 |VERDADERO|
#### Función Schwefel 2.23:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 9773.18| 1.13| 431 |FALSO|
|2| 1014.18| 0.36| 500 |VERDADERO|
|3| 138.17| 0.25 |499 |VERDADERO|
|4| 143.63| 0.14 |500 |VERDADERO|
|5| 15445.73| 0.36| 490 |VERDADERO|
|6| 323.29| 0.58 |497 |VERDADERO|
|7| 117.29| 0.56 |462 |FALSO|
|8| 256947.6| 0.29 |486| FALSO|
|9| 4746.48| 0.25 |476| FALSO|
|10| 5584.19| 0.42| 491 |VERDADERO|
|11| 3235.01| 0.32| 491 |VERDADERO|
|12| 3863.1| 0.35 |497 |VERDADERO|
|13| 254.3| 0.45 |500 |VERDADERO|
|14| 34466.78| 0.54| 500 |VERDADERO|
|15| 22687.96| 0.2| 500 |VERDADERO|
|16| 77.42| 0.89| 450 |FALSO|
|17| 232.85| 0.59| 500 |VERDADERO|
|18| 2251.39| 0.58| 483 |VERDADERO|
|19| 4423.41| 0.24| 500 |VERDADERO|
|20| 20471.63| 0.69| 500 |VERDADERO|
#### Función Streched V Sine Wave:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1|23.14| 0.47| 481| False|
|2|23.34| 0.39| 492| False|
|3|25.45| 0.34| 494| False|
|4|25.55| 8.08| 211| False|
|5|28.57| 0.83| 481| False|
|6|28.52| 0.73| 413| False|
|7|26.22| 0.28| 500| True|
|8|21.1 |0.47 |498 |False|
|9|30.16| 1.01| 477| False|
|10|31.08| 0.49| 499| False|
|11|19.39| 0.23| 478| False|
|12|23.34| 0.92| 487| False|
|13|25.47| 0.59| 498| False|
|14|20.53| 1.36| 340| False|
|15|27.89| 0.27| 500| True|
|16|31.9 |0.41 |483 |False|
|17|24.68| 0.38| 461| False|
|18|20.3 |0.35 |490 |False|
|19|33.52 |0.29| 500| True|
|20|24.5 |0.56 |486 |False|
#### Función Sum Squares:
| Ejecución | Valor de la Mejor Solución | Temperatura | Evaluación | Conservada |
| --------- | -------------------------- | ----------- | ---------- | ---------- |
|1| 501.62| 0.82| 471 |FALSO|
|2| 316.84| 0.45| 489 |VERDADERO|
|3| 283.45| 0.24| 500 |VERDADERO|
|4| 468.05| 0.29| 500 |VERDADERO|
|5| 376.47| 0.19| 500 |VERDADERO|
|6| 194.9| 0.18| 500 |VERDADERO|
|7| 366.99| 0.72| 493 |FALSO|
|8| 230.23| 0.51| 491 |VERDADERO|
|9| 350.68| 0.32| 492 |VERDADERO|
|10| 221.3| 0.53| 490 |VERDADERO|
|11| 219.57| 0.47| 500 |VERDADERO|
|12| 372.01| 0.24| 500 |VERDADERO|
|13| 298.22| 0.72| 497 |VERDADERO|
|14| 358.83| 0.32| 486 |VERDADERO|
|15| 262.38| 1.03| 459 |FALSO|
|16| 160.92| 0.54| 455 |VERDADERO|
|17| 345.4| 0.3 |500 |VERDADERO|
|18| 262.18| 0.33| 463 |VERDADERO|
|19| 300.54| 0.84| 453 |FALSO|
|20| 358.08| 0.42| 500| VERDADERO|