
Explore MATLAB’s matrix laboratory for numerical computation and visualization, and learn the software interface—menu bar, editor, command window, and workspace that shows variables—designed for scientists and engineers.
Learn about variables and operators in MATLAB, where variables store values as matrices and names start with a letter, using arithmetic and relational operators for calculations and conditions.
Master MATLAB variable declarations by creating vectors and matrices with spaces, commas, semicolons, and the colon operator. Explore transpose, linspace, length, and the distinction between vectors and matrices.
Master MATLAB vector indexing and sizing by learning 1D and 2D indexing, end and colon syntax, and the size and length functions with practical examples.
Master MATLAB matrix operations by applying scalars to each element. Understand matrix and element-wise addition, subtraction, multiplication, and division, including dot notation for element-wise operations and matrix multiplication rules.
Explore MATLAB functions max and min for computing vector maxima and column-wise minimum values, and learn how to create matrices with ones and zeros.
Explore MATLAB's rand, randi, and repmat functions to generate random numbers and matrices with specified sizes and ranges, including random integers and repeated patterns.
Learn how to use the if statement in MATLAB to check conditions and act accordingly, illustrated by computing the positive difference between two numbers, including the if-then-else-end syntax.
Master for loops in MATLAB to repeat tasks, iterate indices from 1 to 7, and apply nested loops to transform a 3x3 matrix from ones to zeros.
Explore the while loop in matlab, compare it with the for loop, and learn its syntax, condition, and variable updates through counting 1 to 7 and summing to 325.
Learn to declare and use MATLAB functions to perform repeated operations on inputs, such as computing a vector’s average, with optional single-file or in-program definitions.
Master MATLAB plotting basics: use the block function to plot y = x^2 for x in 1..10, customize line styles, colors, and markers, and layer plots with hold on.
Learn the basics of optimization, including constrained and unconstrained problems, objective functions with equality and inequality constraints, and decision variables through a cantilever beam design and particle swarm optimization.
Analyze how constraints shape the optimal solution for the function f(x) = x^2 - 5x + 4 under f(x) ≥ 0 and x ≥ 2.5, yielding the minimum at x = 4 (f(4) = 0).
Explore key terminologies of nature-inspired optimization, including random solution, population, fitness function, generation, termination criteria, control parameters, and the pseudo code steps for evolving and selecting best solutions.
Explore the philosophy of the particle swarm optimization algorithm, inspired by swarm intelligence and bird or fish behavior, where particles use personal best, global best, and inertia.
Discover how particle swarm optimization uses velocity and position updates, guided by cognitive and social components toward personal and global bests, with initialization, fitness evaluation, and termination criteria.
Implement the Matyas function in MATLAB to demonstrate a two-variable unconstrained benchmark optimization, achieving a zero global minimum at the origin within the domain [-10, 10] using particle swarm optimization.
Configure a particle swarm optimization run for the Matyas function in MATLAB, setting bounds, population, iterations, inertia, cognitive and social parameters, and initializing fitness and personal and global bests.
implements a particle swarm optimization loop for the Matyas function, updating velocity with randomness, enforcing bounds, tracking personal and global best, and converging to the zero minimum at (0,0).
Learn to solve the Rosenbrock function under a constraint using particle swarm optimization, applying bounds and a x^2 + y^2 constraint to reach the global minimum.
Implement a particle swarm optimization algorithm for the Rosenberg function, converting unconstrained optimization to a constrained problem with a penalty for violations and reporting the best solution.
Apply particle swarm optimization in MATLAB to minimize porosity in aluminum alloy casting by optimizing process parameters within defined bounds. Compare results to a genetic algorithm baseline for improvement.
Develop a MATLAB implementation of the particle swarm optimization algorithm to minimize porosity, including setting variable bounds, defining the objective function, and comparing results with genetic algorithms.
This course is specifically developed for B. Tech. and M. Tech/MS students of all Engineering disciplines. Engineering students from all branches can take this course and apply the knowledge to solve optimization problems in their field as part of a mini-project or capstone project. In addition to this, the course is also useful to Ph. D. students of different engineering branches. This course can be taken by everyone irrespective of their programming knowledge. The basics of MATLAB programming is taught in the beginning of the course and the concept of optimization algorithms is also explained from the scratch. The content is so organized that the learner should be able to understand Engineering optimization from scratch and solve research problems leading to publication in an international journal of high repute. A guided project is also included at the end of the course to make sure students can apply the knowledge to real engineering optimization problems. It should be useful to students of all universities around the world.
This course is divided into FOUR Parts
Part I - Basics of MATLAB Programming
Part 2 - Concept of Optimization and Particle Swarm Optimization (PSO) algorithm
Part 3 - MATLAB Implementation of PSO algorithm to solve benchmark functions
Part 4 - MATLAB Implementation of PSO Algorithm to solve a typical Engineering optimization Problem