image
The Ultimate Drawing Course Beginner to Advanced...
$179
$79
image
User Experience Design Essentials - Adobe XD UI UX...
$179
$79
Total:
$659

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!
Please feel free to ask me any question! Don't like the course? Ask for a 30-day refund!!
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
Who this course is for:
Anyone who wants to learn about metaheuristics
Anyone who wants to learn Genetic Algorithm
Anyone who wants to learn Simulated Annealing
Anyone who wants to learn Tabu Search
Anyone who wants to learn Evolutionary Strategies
Anyone who wants to code metaheuristics in Python
Anyone who wants to learn how to handle constraints

What you'll 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

Requirements

  • You will need a copy of Adobe XD 2019 or above. A free trial can be downloaded from Adobe.
  • No previous design experience is needed.
  • No previous Adobe XD skills are needed.

Course Content

27 sections • 95 lectures
Expand All Sections
1-Introduction
11
1.1-Promo Video
1.2-Course Outline
1.3-Operations Research
1.4-Quiz #1
1.5-Continuous vs. Combinatorial Problems
1.6-P vs. NP Problems Resource (IMPORTANT!!!)
1.7-Metaheuristics
1.8-Search Techniques #1
1.9-Search Techniques #2
1.10-Search Techniques #3
1.11-Quiz #2
2-Simulated Annealing
18
2.1-Simulated Annealing #1
2.2-Simulated Annealing #2
2.3-Simulated Annealing #3
2.4-Quiz #3
2.5-Updated Course (IMPORTANT)
2.6-SA: Continuous Problem - The Himmelblau Function
2.7-SA: Continuous Problem - Python #1 - Basics
2.8-SA: Continuous Problem - Python #2 - User-Set Parameters
2.9-SA: Continuous Problem - Python #3 - Neighborhood Search
2.10-SA: Continuous Problem - Python #4 - Do We Accept Worse Moves?
2.11-SA: Continuous Problem - Python #5 - Iterations and Solving
2.12-SA: Continuous Problem - Python #6 - Different Runs for Different Outcomes
2.13-SA: Continuous Problem - Python #7 - Plotting Results #1
2.14-SA: Continuous Problem - Python #8 - Plotting Results #2
2.15-Updated Course Reminder (IMPORTANT)
2.16-SA: Coding a Combinatorial Problem with Python, Part #1
2.17-SA: Coding a Combinatorial Problem with Python, Part #2
2.18-SA: Coding a Combinatorial Problem with Python, Part #3
3-Genetic Algorithm
42
3.1-Genetic Algorithm #1
3.2-Genetic Algorithm #2
3.3-Genetic Algorithm #3
3.4-Chromosome Length
3.5-Genetic Algorithm - Pseudocode and Flowchart
3.6-Genetic Algorithm - Methodology
3.7-Quiz #4
3.8-Updated Course (IMPORTANT)
3.9-GA: Coding a Continuous Problem - The Himmelblau Function
3.10-GA: Continuous Problem - Python #1 - Objective Function Value #1
3.11-GA: Continuous Problem - Python #2 - Objective Function Value #2
3.12-GA: Continuous Problem - Python #3 - Objective Function Value #3
3.13-GA: Continuous Problem - Python #4 - Selecting Parents #1
3.14-GA: Continuous Problem - Python #5 - Selecting Parents #2
3.15-GA: Continuous Problem - Python #6 - Selecting Parents #3
3.16-GA: Continuous Problem - Python #7 - Selecting Parents #4
3.17-GA: Continuous Problem - Python #8 - Selecting Parents #5
3.18-GA: Continuous Problem - Python #9 - Selecting Parents #6
3.19-GA: Continuous Problem - Python #10 - Crossover Operator #1
3.20-GA: Continuous Problem - Python #11 - Crossover Operator #2
3.21-GA: Continuous Problem - Python #12 - Crossover Operator #3
3.22-GA: Continuous Problem - Python #13 - Mutation Operator #1
3.23-GA: Continuous Problem - Python #14 - Mutation Operator #2
3.24-GA: Continuous Problem - Python #15 - Mutation Operator #3
3.25-GA: Continuous Problem - Python #16 - Mutation Operator #4
3.26-GA: Continuous Problem - Python #17 - Functions and Packages
3.27-GA: Continuous Problem - Python #18 - Solving #1
3.28-GA: Continuous Problem - Python #19 - Solving #2
3.29-GA: Continuous Problem - Python #20 - Solving #3
3.30-GA: Continuous Problem - Python #21 - Solving #4
3.31-GA: Continuous Problem - Python #22 - Solving #5
3.32-GA: Continuous Problem - Python #23 - Solving #6
3.33-GA: Continuous Problem - Python #24 - Solving #7
3.34-GA: Continuous Problem - Python #25 - Solving #8
3.35-GA: Continuous Problem - Python #26 - Solving #9
3.36-GA: Continuous Problem - Python #27 - Plotting Results
3.37-Updated Course Reminder (IMPORTANT)
3.38-GA: Coding a Combinatorial Problem with Python, Part #1
3.39-GA: Coding a Combinatorial Problem with Python, Part #2
3.40-GA: Coding a Combinatorial Problem with Python, Part #3
3.41-GA: Coding a Combinatorial Problem with Python, Part #4
3.42-GA: Coding a Combinatorial Problem with Python, Part #5
4-Tabu Search
7
4.1-Tabu Search #1
4.2-Tabu Search #2
4.3-Tabu Search #3
4.4-Quiz #5
4.5-TS: Coding a Combinatorial Problem with Python, Part #1
4.6-TS: Coding a Combinatorial Problem with Python, Part #2
4.7-TS: Coding a Combinatorial Problem with Python, Part #3
5-Evolutionary Strategies
7
5.1-Evolutionary Strategies #1
5.2-Evolutionary Strategies #2
5.3-Evolutionary Strategies #3
5.4-Quiz #6
5.5-ES: Coding a Continuous Problem with Python, Part #1
5.6-ES: Coding a Continuous Problem with Python, Part #2
5.7-ES: Coding a Continuous Problem with Python, Part #3
6-Constraint Handling
4
6.1-Constraint Handling #1
6.2-Constraint Handling #2
6.3-Constraint Handling #3
6.4-Quiz #7
7-BONUS OFFER!!
1
7.1-Bonus Lecture: Discounted Coupons