optimization with metaheuristics in python course