Genetic Algorithms in Python and MATLAB

A Practical and Hands-on Approach

4.75 (565 reviews)
Udemy
platform
English
language
Engineering
category
instructor
26,821
students
4 hours
content
Jan 2021
last update
FREE
regular price

What you will learn

How genetic algorithms work?

Binary and Real-Coded Genetic Algorithms

Implementation of GA in Python and MATLAB

Description

Genetic Algorithms (GAs) are members of a general class of optimization algorithms, known as Evolutionary Algorithms (EAs), which simulate a fictional environment based on theory of evolution to deal with various types of mathematical problem, especially those related to optimization. Also Genetic Algorithms can be categorized as a subset of Metaheuristics, which are general-purpose tools and algorithms to solve optimization and unsupervised learning problems.

In this series of video tutorials, we are going to learn about Genetic Algorithms, from theory to implementation. After having a brief review of theories behind EA and GA, two main versions of genetic algorithms, namely Binary Genetic Algorithm and Real-coded Genetic Algorithm, are implemented from scratch and line-by-line, using both Python and MATLAB. This course is instructed by Dr. Mostapha Kalami Heris, who has years of practical work and active teaching in the field of computational intelligence.

Components of the genetic algorithms, such as initialization, parent selection, crossover, mutation, sorting and selection, are discussed in this tutorials, and backed by practical implementation. Theoretical concepts of these operators and components can be understood very well using this practical and hands-on approach.

At the end of this course, you will be fully familiar with concepts of evolutionary computation and will be able to implement genetic algorithms from scratch and also, utilize them to solve your own optimization problems.

Content

Introduction to Genetic Algorithms

Introduction
What is an Evolutionary Algorithm?
What is a Genetic Algorithm?
Crossover
Mutation
Parent Selection
Merging, Sorting and Selection

Binary Genetic Algorithm in MATLAB

Problem Definition and Structure of GA Code
Initialization
Keeping Track of Best Solution Ever Found
The Main Loop
Selecting Parents
Performing Crossover
Performing Mutation
Merging, Sorting and Selection
Finalizing and Running GA
Other Crossover Operators
Roulette Wheel Selection
Calculating Selection Probabilities
Finalizing the GA Code

Real-Coded Genetic Algorithm

Real-Valued or Continuous Optimization Problems
Crossover in Continous Domain
Mutation in Continous Domain
Real-Coded Genetic Algorithm in MATLAB
Implementing Real-Coded Crossover and Mutation
Finalizing MATLAB Implementation of Real-Coded GA
Improving Crossover
Taking Care of Decision Variable Bounds

Genetic Algorithms in Paython

Structure of GA Code in Python
The Main Function of GA
Initialization
Keeping Track of Best Solution Ever Found
The Main Loop
Selecting Parents
Performing Crossover
Performing Mutation
Taking Care of Decision Variable Bounds
Evaluation and Comparison
Merging, Sorting and Selection
Finalizing and Running GA
Roulette Wheel Selection
Using Different Variable Ranges

Screenshots

Genetic Algorithms in Python and MATLAB - Screenshot_01Genetic Algorithms in Python and MATLAB - Screenshot_02Genetic Algorithms in Python and MATLAB - Screenshot_03Genetic Algorithms in Python and MATLAB - Screenshot_04

Reviews

Ricardo
July 4, 2021
It is a very good experience, I would like to have more basic explaining about the GA and Matlab between each videos.
Jill
February 13, 2021
Very clear. Easy to follow. To thoroughly understand I would need to work some exercises. Don’t know if any are included. It would be VERY useful to be able to save screenshots, both white boards and coding. Making my own notes on top of those saved items would give more mastery as well as a terrific review and reference system. Don’t know if that can be done. VERY GLAD I DID THIS.
Louis
November 2, 2020
This is a fairly advanced and thorough course for what it covers. I've taught data science and some of the math was over my head. The only thing I'd fault it for is not including the code as a download. Also, it should mention you can use the open-source program Octave instead of Matlab if you don't have access to it.
Arvind
August 20, 2020
I did section 1 and 4 as I wanted to implement on python. It would have been better if the program was run at every stage initialization, parent selection, cross over, mutation.. Although I love the overall structure and the work done. Thanks a lot
Jeremy
June 3, 2020
very well explained, nicely structured. In general good way to learn about how GA works, but unfortunately (for me) didn't talk about the way to use toolbox/library functions. For example, it would be nice to have an explanation on how to convert these problems to be handled by the optimization toolbox ga() function. Nevertheless, this has introduced the concept in a way for me to be able to advance in my own problem definition and solving it.
Anand
May 2, 2020
It would be better if the problem is discussed visually at the beginning of the coding. I mean graphically. so, it could help in better understanding.
Keyvan
March 30, 2020
The course is fantastic. The lecturer divides the steps of the algorithm in an easy-to-learn way. Everything is clear and code implementation is also easy to understand and perfect.
Ilham
February 21, 2020
The course gives a good overview of GA. At certain points it tends to go by quickly so you do need to review the same material multiple times until it clicks. Thanks for the course.

Charts

Price

Genetic Algorithms in Python and MATLAB - Price chart

Rating

Genetic Algorithms in Python and MATLAB - Ratings chart

Enrollment distribution

Genetic Algorithms in Python and MATLAB - Distribution chart

Related Topics

2746644
udemy ID
1/8/2020
course created date
1/9/2020
course indexed date
Lee Jia Cheng
course submited by