jakobbossek / salesperson

Algorithms to solve and features to characterise TSP problems.
http://jakobbossek.github.io/salesperson/
Other
10 stars 7 forks source link

[monitoring features] finish implementation #45

Open jakobbossek opened 6 years ago

jakobbossek commented 4 years ago

At the moment we have the following strong issue: when we started to work on monitoring features the algorithms of interest (LKH and EAX) logged incumbent values in every single iteration/generation. I.e. if N is the last iteration we had values for every 1 <= i <= N. Monitoring features so far partially rely on this property (in particular plateau features). Saving the incumbent in every single iteration though is quite space consuming and oftentimes there is little or not progress at all thoughout thousands of generations. To cut a way to long story short: the monitoring feature set code needs adaptation 😃

Example: See listing below. We see that slope features are seem to show reasonable values (negative slope since the trajectory is monotonically decreasing). However, all plateaus features take values Inf, NA or NaN.

> set.seed(1)
> x = generateRandomNetwork(n.points = 500, lower = 10, upper = 1000)
> x_feats_monitoring = getMonitoringFeatureSet(times = trace$time.passed, incumbents = trace$incumbant)
Warnmeldungen:
1: In min(x) : kein nicht-fehlendes Argument für min; gebe Inf zurück
2: In max(x) : kein nicht-fehlendes Argument für max; gebe -Inf zurück
3: In sqrt(((n - 1)/n)^(3L)) : NaNs wurden erzeugt
> x_feats_monitoring
$monitoring_slopes_consecutive_mean
[1] -889.1

$monitoring_slopes_consecutive_sd
[1] 918.8

$monitoring_slopes_consecutive_var
[1] 844151

$monitoring_slopes_consecutive_median
[1] -678

$monitoring_slopes_consecutive_varcoeff
[1] -1.033

$monitoring_slopes_consecutive_min
[1] -5061

$monitoring_slopes_consecutive_max
[1] -45.11

$monitoring_slopes_consecutive_span
[1] 5016

$monitoring_slopes_consecutive_skew
[1] -2.035

$monitoring_slopes_improvement_mean
[1] -889.1

$monitoring_slopes_improvement_sd
[1] 918.8

$monitoring_slopes_improvement_var
[1] 844151

$monitoring_slopes_improvement_median
[1] -678

$monitoring_slopes_improvement_varcoeff
[1] -1.033

$monitoring_slopes_improvement_min
[1] -5061

$monitoring_slopes_improvement_max
[1] -45.11

$monitoring_slopes_improvement_span
[1] 5016

$monitoring_slopes_improvement_skew
[1] -2.035

$monitoring_vertical_gaps_mean
[1] -13.69

$monitoring_vertical_gaps_sd
[1] 14.7

$monitoring_vertical_gaps_var
[1] 216

$monitoring_vertical_gaps_median
[1] -10.5

$monitoring_vertical_gaps_varcoeff
[1] -1.073

$monitoring_vertical_gaps_min
[1] -90

$monitoring_vertical_gaps_max
[1] -1

$monitoring_vertical_gaps_span
[1] 89

$monitoring_vertical_gaps_skew
[1] -2.785

$monitoring_plateau_length_mean
[1] NaN

$monitoring_plateau_length_sd
[1] NA

$monitoring_plateau_length_var
[1] NA

$monitoring_plateau_length_median
[1] NA

$monitoring_plateau_length_varcoeff
[1] NA

$monitoring_plateau_length_min
[1] Inf

$monitoring_plateau_length_max
[1] -Inf

$monitoring_plateau_length_span
[1] -Inf

$monitoring_plateau_length_skew
[1] NaN