A jupyter notebook demonstrating selected optimization algorithms: Greedy Steepest Simulated Annealing Tabu Search Evolutionary Optimization