Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Genetic Algorithm: A to Z with Combinatorial Problems
Rating: 4.2 out of 5(7 ratings)
149 students

Genetic Algorithm: A to Z with Combinatorial Problems

Learn how to apply Genetic Algorithn into real-world operation reserach problems
Last updated 9/2023
English
English [Auto],

What you'll learn

  • Basic concepts and terms related to Genetic Algorithm (GA)
  • Basic rules of Matlab programming which needed for implementing any metaheuristic
  • Apply Genetic Algorithm for a wide range of operation research problems
  • Determine best values for Genetic Algorithm parameters using two famous methods
  • Statistical analysis for comparing metaheuristics

Course content

9 sections97 lectures12h 9m total length
  • Introduction2:32

    Explore MATLAB as a matrix laboratory and high performance language for technical computing, visualization, modeling, and prototyping, with easy syntax for coding metaheuristic algorithms.

  • Matlab Software4:52

    Explore the Matlab interface, including current folder, command window, and workspace, and learn to create scripts, run code, and access plots and optimization toolbox applications.

  • Variables3:59

    Define variables in Matlab by following naming rules that require starting with letters, distinguishing string, logical, and numeric types (especially doubles), and avoiding function names to ensure clean, runnable code.

  • Arithmatic operations5:09

    Learn basic arithmetic operations in MATLAB, including additive, subtraction, multiplication, division, and power, with practical examples and essential commands like clc, clear, and close all, plus running scripts.

  • Relational operations5:19

    Explore relational operations and operators, including equal, not equal, greater than, greater than or equal, less than, less than or equal, and how they yield true or false in expressions.

  • Vector5:11

    Explore vector concepts as variants of matrices and learn how to generate and access vectors. Determine a vector's size and create sequences with linspace or sequential ranges.

  • Matrix4:42

    Learn how to define and manipulate matrices in MATLAB, including matrix size, rows and columns, transpose operations, and reshaping into vectors or single-column forms.

  • 08-Indexing2:59

    Master Matlab indexing to access and reshape matrices, transpose vectors, and extract specific elements or ranges, including using end to reach the last index.

  • Matrix Operations6:31

    Explore core matrix operations, including addition, subtraction, and scalar multiplication, and learn how matrix multiplication requires compatible dimensions, how transpose aligns sizes, and how element-wise multiplication enables vectorization.

  • Generating matrix3:30

    Generate matrices to store the best value of each iteration in a genetic algorithm, using zeros, ones, cost matrices, and an identity matrix in various sizes.

  • Min,Max,Sort12:48

    Master mean, min, and max operations on vectors and matrices, retrieve values and their indices, and generate sort and sort-index outputs for row or column-based data.

  • If Condition6:37

    Explore how if and switch conditional functions work in Matlab and other languages, with practical examples using true and false conditions and multi‑case switches.

  • Rand functions6:00

    Explore Matlab rand functions to generate random numbers and matrices, both between 0 and 1 and within specified ranges, with options for integers, various sizes, and samples with no duplicates.

  • Loop10:16

    Explore for loops and nested iterations to compute euclidean distance in a 10 by 10 matrix, using i and j indices to build a distance matrix.

  • Plot9:36

    Explore plotting in Matlab using the plot function to visualize X and Y data, customize lines, markers, and colors, add axis labels and titles, and consult the help file.

  • Function4:22

    Define a function by mapping inputs to outputs, illustrated with a plus b and a minus b, showing multiple outputs and simple function syntax.

Requirements

  • Basic knowledge in programming
  • Basic knowledge in Operations Research and Optimization - (not a must, but helpful)
  • Basic knowledge in statistical analysis - (not a must, but helpful)

Description

This course on Genetic Algorithms (GA) is one of the most practical and comprehensive courses available, designed to provide an integrated framework for solving real-world optimization problems in the most straightforward manner. It is the first of its kind to offer a hands-on approach in the domain of metaheuristic algorithms, making it essential for students, researchers, and practitioners.


The course begins with an introduction to the basic theory of GA, followed by the implementation of the simplest version of GA, the Binary GA, into Matlab. It then progresses to the continuous version, the Real GA. The primary focus will be on the Genetic Algorithm, a highly regarded optimization algorithm in the literature. Subsequent sections will introduce well-known operation research problems such as transportation, hub location (HLP), quadratic assignment, and travelling salesman (TSP) problems, and demonstrate how to solve them using GA. This approach will equip you with a comprehensive framework to tackle any combinatorial optimization problems. Additionally, the course will cover two renowned methods for tuning GA's parameters: the Taguchi method and the Response Surface Methodology (RSM). Finally, we will provide a statistical analysis using Minitab software and Design Expert to compare different metaheuristics effectively.


Key features of this course include:

• Solving various challenging real-world problems

• Managing penalty functions in real-world problems

• Conducting comprehensive statistical analysis

• Defining chromosomes for different problems

• Handling algorithm parameters


The course includes a plethora of coding videos, providing ample opportunity to practice the theory covered in the lectures. It also features several real case studies, allowing you to learn the process of solving challenging problems using GA.


Upon completing this course, you will be well-versed in implementing GA on a wide range of operation research problems in Matlab. Consequently, you will be equipped to apply different metaheuristic algorithms to solve various problems.


This course is not just a theoretical journey; it is a practical guide to mastering the application of Genetic Algorithms to real-world challenges. Equip yourself with the knowledge and skills required to excel in the field of operations research by enrolling in this course today.

Who this course is for:

  • Anyone who wants to learn Genetic Algorithm
  • Those who wants to solve operation reaserch problems with Genetic Algorithm
  • Anyone who wants to code Genetic Algorithm in Matlab
  • Anyone who wants to compare two metaheuristics statistically