Optimization with Metaheuristics in Python (Udemy.com)
Learn Simulated Annealing, Genetic Algorithm, Tabu Search, and Evolutionary Strategies, and Learn to Handle Constraints
Created by: Curiosity for Data Science
Last updated June 2020
What you will learn
- Learn the foundations of optimization
- Understand metaheuristics such as Simulated Annealing, Genetic Algorithm, Tabu Search, and Evolutionary Strategies
- Be able to code metaheuristics in Python
- Handle constraints though penalties
How it compares
Against the other 388 rated Udemy courses in Python on CourseDuck:
- Rating4.5 out of 5higher than 52% of them
- Reviews1,010#184 of 389 by number of reviews
- Length9.9 hoursshorter than 50% of them
- Last updatedJune 2020earlier than 76% of them
Course Description
This course will guide you on what optimization is and what metaheuristics are. You will learn why we use metaheuristics in optimization problems as sometimes, when you have a complex problem you'd like to optimize, deterministic methods will not do; you will not be able to reach the best and optimal solution to your problem, therefore, metaheuristics should be used.
This course covers information on metaheuristics and four widely used techniques which are:
Simulated Annealing
Genetic Algorithm
Tabu Search
Evolutionary Strategies
By the end of this course, you will learn what Simulated Annealing, Genetic Algorithm, Tabu Search, and Evolutionary Strategies are, why they are used, how they work, and best of all, how to code them in Python! With no packages and no libraries, learn to code them from scratch!! You will also learn how to handle constraints using the penalty method.
Here's the awesome part --> you do NOT need to know Python programming!
This course will teach you how to optimize continuous and combinatorial problems using Python
Where every single line of code is explained thoroughly
The code is written in a simple manner that you will understand how things work and how to code the algorithms even with zero knowledge in Python
Basically, you can think of this as not only a course that teaches you 4 well known metaheuristics, but also Python programming!
Real Testaments -->
1) "I can say that this is the best course I've had on Udemy ! Dana is a very good instructor. She not only explains the problems and the coding, but also reassures you and remove the fears you might have when learning complex concepts. For someone with a business background, this topic was close to a nightmare ! I highly recommend this course for anyone interested in learning about Metaheuristics. Again, big THANK YOU Dana ! :)" -- Logistics Knowledge Bank, 5 star rating
2) "I am half way through the course. What I learnt so far is far beyond what I expected. What I really liked is the applicability of the examples to real world problems. The most exciting feature in the course is the hands on, what you learn will be implemented in python and you can follow every single step. If you did not understand, the instructor is there to help. I even felt like it is a one to one course. Thanks a lot to the instructor." -- Ali, 5 star rating
3) "The best introduction to Metaheuristics bar none. Best value course on Udemy. I love that we cover a bit of theory and code the actual algorithm itself. The course doesn't just give you some package to use but presents you with code very easy to follow. The code is not optimized or written for maximum performance but for maximum readability. This means you can play around with it once you really understand it and speed it up. Thank you Dana for this amazing course. It has given me the confidence to code my own slightly more advanced algorithms from Sean Luke's book: Essential Metaheuristics. I feel the two are great companions." -- Dylan, 5 star rating
4) "It is a great introduction to Metaheuristics. The course deserves five stars for the overall information on this topic. The instructor is talented and knowledgeable about the optimization problems. I recommend the course for someone looking to solve an optimization problem." -- Abdulaziz, 5 star rating
5) "I still not finished the course, but until now, I am really satisfied with I've seen. THEORETICAL EXPLANATIONS: Dana is very didactic, before presenting the code she always briefly present the theory in a simple way, much easier to understand than books and journal papers explanations. Of course, it is necessary to complement this with other materials, but if you already have a theoretical base, it is just great! Dana, I loved your explanation about crossover and mutation! FOR BEGINNERS IN PYTHON: I am a beginner in Python and even in programming, so Dana's code helped me a lot to understand the meaning of each step and variable since she wrote a very readable code. GOOD TIME-MANAGEMENT: Dana presents the code already done but she explains what she has done in each step. Thus, in 5 minutes we can learn a lot, without being bored. I prefer this way of doing because I've done courses with teachers that do the code during the classes and we waste a lot of time fixing errors and bugs. She is objective and efficient on teaching, I like that. There are things not totally clear to me on courses, so I ask questions to Dana. She takes some days to give us an answer, but she replies anyway. I would appreciate an example of constraint handling for combinatorial problems." -- Rachel, 4.5 star rating
6) "Nice course that really does explain Metaheuristics in a very practical way. Highly recommended!" -- David, 5 star rating
Instructor Details
- 4.5 Rating
1,010 Reviews
Curiosity for Data Science
Hi! I'm Dana. I'm currently a PhD student in Industrial Engineering. I finished my B.S. in Architectural Engineering and my M.S. in Industrial Engineering. Lean Six Sigma Green Belt certified. I enjoy learning new things. My research interest is Optimization and Data Science including Deep Learning, Machine Learning, and Artificial Intelligence. My areas of expertise include Python Programming, Data Science, Machine Learning, and Optimization using Metaheuristics.
More courses by Curiosity for Data Science
Machine Learning Optimization Using Genetic Algorithm (2020)
4.1 (379 Reviews)
Provider: Udemy
Time: 6.5h
$84.99
More Python courses
Python 3: Deep Dive (Part 1 - Functional) (2024)
4.9 (13,534 Reviews)
Provider: Udemy
Time: 45.8h
$22.99
Python 3: Deep Dive (Part 3 - Dictionaries, Sets, JSON) (2023)
4.9 (1,996 Reviews)
Provider: Udemy
Time: 21.9h
$17.99
Programming for Everybody (Getting Started with Python)
4.9 (717 Reviews)
Provider: Coursera
Time: 12h
Free
An Introduction to Interactive Programming in Python (2013)
4.9 (554 Reviews)
Provider: Coursera
Time: 6h 40m
Free
Python: Python Programming Language | Tutorial | Beginner (2023)
4.9 (239 Reviews)
Provider: Udemy
Time: 5.1h
$19.99
An Introduction to Interactive Programming in Python (Part 2)
4.9 (225 Reviews)
Provider: Coursera
Time: 25h
Free
Reviews
By Julián Andrés Hincapié Urrego on 12/23/2022
This course was absolutely incredible! I was really curious about metaheuristics and how to code them from scratch, but I always had a hard time finding clear and easy-to-understand resources. But this course was all that I needed, Dana explained clearly all the concepts required and the coding explanations were clear. I absolutely recommend this course for anyone interested in Operations Research.
By Vanessa Grass on 10/21/2022
Ich fand den Kurs gut und informativ, jedoch war es etwas verwirrend, dass er nur zum Teil geupdated war und das scheinbar zuletzt 2019 geschehen ist. Da die Vorlesungen über Genetic Algorithms und am Ende das Constraint Handling zusammenhingen, jedoch der Code im ersten Thema überarbeitet wurde und im letzteren nicht, war es schwerer zu folgen. Man merkt außerdem einen großen Unterschied zwischen überarbeiteten Lektionen, die viel ausführlicher- und daher verständlicher sind, als die ursprünglichen Lektionen. Insgesamt konnte ich aber einiges mitnehmen und er war für mich als Anfänger mit wenig Vorwissen gut geeignet.
By Anders Albert on 4/9/2021
The course has decent explanations and I appreciate that the instructor demonstrated most algorithms for both continuous and combinatorial problems. The coding is convoluted to the point where it is almost not helpful for learning. For example, the crossover function in Genetic algorithm is 100 lines of code, when it can be written as three lines. (`index1, index2 = sorted( np.random.choice(range(len(parent1)), size=2, replace=False) ) child1 = parent1[:index1] + parent2[index1:index2] + parent1[index2:] child2 = parent2[:index1] + parent1[index1:index2] + parent2[index2:]`). The course code benefit from rewriting the code.
By Kareem Mohamed Salaheldin on 12/13/2020
I think this course will be great , Great thanks to the UDEMY and to the instructor of the Course
By Anonymous on 10/26/2020
Interesting and actual information
By Widhi89 on 10/26/2020
from scratch is better for a newbie like me :)
By Anonymized User on 10/22/2020
Amazing!! I am a beginner to this course and with the first few videos itself I feel so comfortable and confident that I can get through this and in end use it for my research! The instructor is very knowledgeable and her coding skills are par excellence. I would recommend this course for every student who is trying to make a career in metaheuristics, Operations research and modelling and simulation.
By Sourav Das on 10/20/2020
Great course indeed. The instructor explains all the concepts very easily.
By Lubna Z Tarawneh on 10/5/2020
amazing course, exactly what I was looking for!!
By Jorge Antonio Dominguez Gutierrez on 9/8/2020
Yes, it was very illustrative.
By Onur M. on 9/3/2020
The code parts were explained in more detail than I expected. so I had to speed up some parts. but the subject is explaining very clearly.
By Gerson Kazumi Sinohara on 8/12/2020
Instructor explains the concepts in a clear and precise manner
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100




