Closed leonlan closed 1 year ago
This is almost done. I'll have another read tomorrow morning and then this can be reviewed.
Notebook:
"This notebook is largely based on Stützle and Ruiz (2018)", I would rewrite as "implements ideas of". They came up with ideas, but it's your implementation.
with open("tai50_20_8.txt", 'r') as fi:
-> can we make this into a classmethod on Data
?
Do the colours mean anything in the Gantt chart?
Gantt chart y-label: "Machine", not "Machines"
Both destroy operators rely on the n_remove parameter, which should inferred from the **kwargs argument. We also set a default value of 2 in case it’s not provided as keyword argument.
Or:
def random_removal(state, rnd_state, n_remove=2):
...
And then mention n_remove
can be passed as a kwarg to ALNS.iterate
. Testing if kwargs has a thing is a bit weird - either pass them along, or have defaults for parameters your need.
NEH ordering - what does NEH mean?
"Autofitting acceptance criteria" section, first parag: list doesn't render well. I think there needs to be a white line separating it from the text.
pct_diff = 100 * (objective - data.bkv) / bkv
: this only works because the with open()
part pollutes the global namespace (so bkv
also exists, but perhaps should not). I'd use data.<value>
throughout. Maybe write DATA
to make its 'globalness' stand out a bit more.
Most of the notebook uses SA, but tuning suddenly uses RRT (without explanation). That feels a bit weird; maybe stick to SA throughout.
print(objectives)
is somewhat unnecessary if we'll get a plot in the next cell already.
Text(0.5, 0, 'n_destroy')
you can avoid by putting a semicolon after the last statement in the cell, like so: ax.set_xlabel("n_destroy");
.
What happens if you use 0.01 or 0.05 for $\alpha$? I think 0.1 is fairly large still, and can imagine (much) smaller values work even better.
This LGTM, and I think most of what I remark on above can be updated really quickly.
@N-Wouda I addressed all comments in the latest version! Can you merge this if you're OK with this?
Yeah, I think it's OK now. I fixed two small typo's.
This is a very nice addition to the examples. We have a wide range of examples now, which should help people get started quickly.
Closes #106.