Can we measure energy consumption in population-based metaheuristics?

JJ Merelo, Cecilia Merelo-Molina

Universidad de Granada, Zenzorrito

Energy consumption is a problem

We need to reduce energy consumption in metaheuristics

But we need to measure it first

Meet the Brave New Algorithm

Portada del libro

Literature-inspired metaphor

Stratified population evolutionary algorithm

α caste → with itself, crossover + mutation

β only with α → crossover + mutation

γ, δ, ε → only mutation; γ → hillclimbing

Open source, written in Julia!

Very fine control of the exploration/exploitation tradeoff

Get it from CeciMerelo/BraveNewAlgorithm.jl at GitHub

It's only possible to measure energy spent by the system while our program is running

E(Workload) = E(measured) - E(baseline)

Baseline includes operating context + runtime overhead

But we are interested in our algorithm only

E(Workload) = E(measured) - E(baseline)

So, again, can we measure energy consumption in population-based metaheuristics?

Maybe not? Check out these baseline measures

baseline experiments in two different cases

Baseline is a fleeting thing...

comparison of baseline and actual workload

We need to avoid variability

Or rather to track it

Sequential mixed strategy → 1 Baseline, 1 Workload

Again choppy waters... But at least the ships keep together

comparison of baseline and actual workload

Still not ideal for measuring small or medium differences

Algorithm configuration would be out

Let's go for a sandwich

Baseline sandwich ⇒ a workload between 2 baseline runs

E(Workload) = E(measured) - (E(baseline-before)-E(baseline-after))/2

Also, we make 5 blocks of experiments

Measuring over diverse operating contexts

Even so, this is what we have

comparison of baseline and actual workload

📊 Can we spot differences depending on problem dimension/population sizes?

comparison of baseline and actual workload

↩ Can we measure energy consumption in population-based metaheuristics?

📈But we need to boost statistical significance by experimental repetition

🥪 sandwich protocol

Conclusion

one does not simply measure

There's a bonus track!

Open science!

Go to https://jj.github.io/brave-new-green-algorithm for an annotated version of the paper, additional explanations and paper source!

Flag of Limburg Merci! Nog vraoge?

Thank you very much! Questions?

🇳🇱 Hartelijk dank. Zijn er nog vragen?