Single-objective algorithms