
Explore the fundamentals and practical tools of Industrial and Systems Engineering, from optimization and manufacturing systems to quality control, simulation, decision analytics, and reinforcement learning for real world problems.
Learn why the instructor withholds complete code and emphasizes learning by listening, typing code yourself, and testing to understand concepts through live coding and deliberate practice.
Understand why ratings can be unfair and commit to rating only after experiencing half the industrial & systems engineering course content. Instructor uses a deliberate, slower pace for international audiences.
Explore the history and evolution of industrial engineering from the industrial revolution to Industry 4.0, highlighting division of labor, interchangeable parts, assembly lines, lean manufacturing, and Six Sigma.
Explore how industrial engineers analyze, improve, and optimize complex systems—from lean manufacturing and Six Sigma to AI-driven maintenance and resilient supply chains. They apply data analytics and digital twins.
Master essential math symbols used in optimization and machine learning, including limits, derivatives, integrals, vectors, matrices, transforms, probability, and KL divergence.
Explore core statistical and set theory symbols used in data analysis and optimization, including mu, sigma, variance, covariance, correlation, normal distribution, and arg max and arg min.
Explore python's simple, readable syntax as a high level interpreted language with extensive libraries, open source community support, cross-platform compatibility, and versatile web, data science, and ai applications.
Explore how Anaconda, Jupyter, and Visual Studio Code streamline Python development by simplifying environments, enabling interactive data analysis, and supporting debugging, version control, and notebook workflows.
Explore how Google Colab enables browser-based Python coding with free GPUs and TPUs. Compare Colab with VSCode, Anaconda, and Jupyter to assess hardware access, collaboration, and Google Drive integration.
Install Python, Anaconda, and Visual Studio Code using stable releases, verify installations by checking versions, and set path for command-line access.
Explore Python syntax and basic operations by examining variables, data types, and dynamic typing, then practice arithmetic, comparison, and logical operations with type conversions.
Master Python data structures: lists, tuples, and sets. Learn indexing, slicing, mutability, and core operations like union, intersection, and element management.
Explore control structures in Python, including conditional statements (if, elif, else) and loops (for, while), range usage, and break and continue to write clearer, efficient code.
Explore functions and basic functional programming in Python. Learn how def blocks create reusable code and how lambdas, map, filter, and reduce enable concise data manipulation.
Explore recursion, tail recursion, factorial, currying, partial functions, closures with state, decorators, and generators to build modular, efficient, and reusable Python code.
Explore Python dictionaries as versatile key-value data structures, and learn to access, add, update, and remove entries, safely use get, and leverage dictionary comprehensions for transformations.
Learn to handle run-time errors with Python using try, except, finally, and custom exceptions to build robust, user-friendly software that gracefully recovers from errors.
Learn how to use Python modules, packages, and importing libraries—covering the standard library, NumPy, pandas, and techniques like from import and aliasing.
Learn Python file handling, including reading, writing, and closing files with open, and use CSV and Pandas to read and export data in CSV, Excel, and JSON formats.
Explore object oriented programming in Python, focusing on encapsulation, inheritance, and polymorphism. Learn to define classes and objects, attributes, and methods, with init, self, constructors, super, and multiple inheritance.
Master the basics of data visualization in Python with Matplotlib and Seaborn, creating line plots, bar charts, histograms, heatmaps, and violin plots, plus practical customization tips.
Master advanced list operations in Python, including list comprehensions, enumerate, and zip. Learn to create, filter, pair, and transform lists with concise, readable code.
Ensure data quality by profiling, cleaning, validating, documenting, and automating processes to maintain accuracy, completeness, consistency, timeliness, and relevance for reliable insights.
Explore data cleaning techniques to fix missing values, duplicates, outliers, and inconsistencies; validate, standardize, and preprocess data with pipelines for reliable analysis.
In industrial and systems engineering, this lecture explains why data go missing, distinguishes MCAR, MAR, and MNAR, and applies imputation techniques from mean and median to KNN and iterative methods.
Identify outliers and their types: global, contextual, and collective, and understand impact on analysis and decisions. Use methods like z-scores, IQR, dbscan, isolation forest, and consider removal, transformation, or capping.
Explore feature scaling and normalization to keep all features on a common scale, improving convergence and performance for distance-based and neural models, with min-max, standardization, robust scaling, and L1/L2 normalization.
Standardization transforms data to zero mean and unit variance, ensures equal feature contribution, and improves model performance and convergence for algorithms like logistic regression, SVM, and PCA.
Learn to encode categorical variables into numeric inputs for machine learning, covering nominal and ordinal types and methods like label, one-hot, binary, frequency, and target encoding, with a city example.
Explore feature engineering to transform raw data into meaningful features, boosting model performance, interpretability, and robustness across text, time series, and structured data.
Explore dimensionality reduction from feature selection, PCA, LDA, t-SNE, and autoencoders to mitigate the curse of dimensionality, improve visualization, and boost model performance.
Visualize vectors and their operations with tip-to-tail addition, subtraction, and scalar multiplication. Understand dot and cross products as projection, alignment, and normals to surfaces.
Explore vectors and vector operations, including magnitude, direction, components, addition, subtraction, scalar multiplication, dot product, and unit vectors, with applications in data representation and machine learning.
Explore eigenvalues and eigenvectors of matrices as transformations, governed by the characteristic equation, determinant, and identity matrix, and apply to principal component analysis, quantum mechanics, control systems, and Markov chains.
Explore probability theory as the framework for quantifying uncertainty and randomness in engineering and data science. Learn experiments, sample spaces, events, distributions, Bayes' theorem, and the law of large numbers.
Explore discrete and continuous probability distributions, including binomial, Poisson, geometric, normal, exponential, gamma, beta, uniform, and Weibull, with key formulas, properties, and real-world applications.
Master hypothesis testing by formulating null and alternative hypotheses, setting alpha, choosing a test, and using test statistics, p-values, or critical values to reject null when evidence supports the alternative.
Explore how Bayes' theorem updates beliefs by combining prior probability with new evidence to yield the posterior, using likelihood and marginal probability across medical, spam, and machine learning applications.
Describe data with descriptive statistics to summarize central tendency and variability and identify patterns and outliers using mean, median, mode, range, interquartile range, variance, and standard deviation.
Explore the normal distribution and its bell curve centered at the mean; understand how standard deviation shapes spread, the empirical rule, and the pdf and the z-score for data analysis.
Explore the uniform distribution, including discrete and continuous types, where all outcomes are equally likely. Apply pmf, pdf, and cdf to simulations and random number generation.
Learn the binomial distribution as a discrete model for counting successes in a fixed number of independent trials, with n and p, using the PMF, mean, variance, and CDF.
Explore inferential statistics that use sample data to generalize to populations, test hypotheses, and build predictive models with regression, confidence intervals, and various hypothesis tests.
Discover how operations research uses mathematical models, statistics, and algorithms to optimize decisions and operations across logistics, healthcare, and manufacturing, with practical Python tools like SciPy and PuLP.
Explore optimization tools, software, and programming languages for operations research, including Python libraries such as Pyomo, PuLP, SciPy, Matlab, and powerful solvers like IBM Cplex, Gurobi, and Google authors.
Explore real world applications of operations research across industries, improving efficiency and reducing costs. See how firms like BMW, Boeing, FedEx, and hospitals optimize schedules, pricing, and supply chains.
Explore how solvers model problems with variables, constraints, and an objective, then use simplex, branch-and-cut, or gradient descent to obtain optimal or feasible solutions in logistics and manufacturing.
Explore how to represent real world issues with mathematical formulas to analyze and solve problems. Build models with decision variables, parameters, the objective function, and constraints to optimize resources.
Explore symbols and notations in mathematical modeling, including decision variables (x), parameters like production costs and capacities, indices, sets, sums, products, and the objective and constraint functions for production planning.
Model a production mix for two products, A and B, to maximize weekly profit under labor and material constraints. Allocate 100 labor hours and 8 materials to decide optimal quantities.
Maximize profit in a linear programming model by selecting units of product a and product b, profits 30 and 40 per unit, under labor hours and material constraints and non-negativity.
this lecture solves a linear programming problem in python using PuLP to maximize profit for products a and b, with x and y non-negative and constraints on labels and materials.
Using linear programming, this lecture presents an optimal plan to maximize profits: 44 units of product A and 12 of product B per week, for a profit of 1800.
Learn why simplex is a historical cornerstone, while real-world optimization relies on solvers like Gurobi or GLPK for large nonlinear and mixed-integer problems, focusing on formulation, models, and data.
Learn how linear programming optimizes outcomes under linear constraints by optimizing an objective function with continuous, non-negative decision variables. Find the optimal solution at a corner of the feasible region.
Translate word problems into linear programming models by defining the goal, decision variables, objective function, and constraints, ensuring non-negativity; solve with graphical methods or the simplex algorithm.
Convert problems to standard form by maximizing the objective, turning inequalities into equalities with select variables and slack variables, and ensuring non-negativity to enable the simplex method.
Set up a linear programming model for factory producing products A and B, maximize z with profits 40 and 30 under 3x1 + 2x2 ≤ 120, using x1 and x2.
Learn the canonical form of a linear programming problem, with minimize c^T x, A x = b, and x >= 0, for systematic solving.
Explore the simplex method for linear programming by finding basic feasible solutions at corner points, moving along edges to reach the optimal vertex in a convex feasible region.
Convert the problem to standard form, negate the objective for minimization, then build the simplex tableau with slack variables and apply pivoting and the minimum ratio test to obtain BFS.
Solve a linear programming problem with the simplex method, using slack variables, a structured simplex tableau, and the minimum ratio test to reach the optimal z.
Apply branch and bound to solve pure and mixed integer programming problems by branching, bounding, and pruning, using LP relaxations to guide subproblems toward an optimal integer solution.
Demonstrates branch and bound by splitting the problem into subproblems and pruning branches with higher lower bounds, updating the best solution, such as x = 2 with f(2) = 2.
Branch and bound solves a binary knapsack: maximize profit under a 50-weight limit by LP relaxation, then branch on x3 to reveal optimal x1=1, x2=0, x3=1 with profit 180.
Use branch and bound on a mixed integer production planning problem; solve the LP relaxation, branch on x1, compare subproblems, and obtain the best integer solution with profit 210.
Explore mixed integer nonlinear programming, combining integer and continuous variables with nonlinear objectives and constraints, and learn algorithms like branch-and-bound, branch-and-cut, and heuristics for optimization in engineering, energy, and finance.
Explore a mixed integer nonlinear programming model to minimize total production cost for A, B, and C with quadratic costs and A–B and B–C interactions, under capacity and minimum constraints.
Learn to solve a mixed integer nonlinear programming problem with the gecko optimization suite, defining continuous and integer variables, nonlinear objective with interactions, and capacity constraints solved locally with ipopt.
Demonstrates an Ipopt solver delivering an optimal production plan for products A, B, and C, with C integer, satisfying all constraints and minimizing total production cost to 148 units.
Explore multi-period portfolio optimization with Julia using mixed integer non-linear programming to balance return and risk under sector limits and transaction costs.
Explore nonlinear programming as a subset of optimization where the objective or constraints are non-linear, enabling nuanced real world scenarios.
Explore nonlinear programming to minimize the surface area of a cylindrical container for a fixed volume, using radius and height as decision variables under volume and non-negativity constraints.
This lecture demonstrates a nonlinear programming code that minimizes a cylinder’s surface area under a fixed volume of 1000 using numpy and scipy.optimize, enforcing equality constraints and positive bounds.
Apply nonlinear programming to minimize the cylinder's surface area under a 1000 cubic unit volume, yielding radius 5.5242 units, height 10.4306, and minimum area 553.7860.
Explore the Karush-Kuhn-Tucker (KKT) conditions as necessary optimality criteria in constrained optimization, using the Lagrangian with inequality and equality constraints, stationarity, primal and dual feasibility, and complementary slackness.
Explore optimization through practical Python applications in industrial engineering, covering linear, integer, and nonlinear methods to minimize cost and boost efficiency with modeling and solving libraries.
Explore the role of optimization in data science, including objective functions, decision variables, and constraints. Understand how gradient-based, convex, and proximal methods, regularization, and hyperparameter tuning enhance machine learning models.
Explore numeric optimization for reducing costs, boosting efficiency, and optimizing resource use, using objective functions, decision variables, and constraints to model problems and find optimal solutions.
Explore numeric optimization on a copper wire production line to balance cost, efficiency, and quality by tuning melting temperature, drawing speed, yielding conditions, and wire diameters within equipment constraints.
Develop a mathematical model to minimize total cost for copper wire production while maximizing yield, respecting quality, capacity, materials, and environmental constraints, with variables like melting temperature and driving speed.
Minimize the total cost of copper wire production using SciPy's minimize, balancing materials, energy, and maintenance costs against revenue while respecting diameter and machinery constraints.
Derive optimal production settings for a copper wire factory to minimize total cost, optimize energy use and material properties, and reveal net revenue gains under a simplified model.
Optimize production scheduling across multiple stages to minimize inventory and shortage costs while meeting daily demand in a lean manufacturing setting.
Explore robust optimization with uncertainty sets and worst-case analysis, featuring adjustable and non-adjustable decisions, dualisation, cutting plane methods, and semidefinite and second-order cone programming for real-world applications.
Explore robust optimization for a two-product production plan that minimizes the worst-case cost under demand uncertainty within a defined range, using variables x1 and x2 and costs C1 and C2.
Apply robust optimization with cvxpy to minimize worst-case production costs under demand uncertainty, using mean demand, uncertainty bounds, and scenario analysis to adjust production quantities.
Explore large scale optimization for supply chains by modeling production capacities, factory and warehouse demands, and transport costs, and solve for shipping decisions that minimize total transportation cost.
Master dynamic programming by memoizing subproblem results to exploit overlapping subproblems and optimal substructure, accelerating problems like Fibonacci, longest common subsequence, and knapsack.
Optimize the supply chain by aligning factories, products, and customer locations to produce the right amount and deliver on time, using mathematical models and algorithms to reduce costs.
Determine optimal production levels across three factories and the best shipping routes to four distribution centers to minimize total cost while meeting each center's exact demand.
Apply a mathematical model to optimize supply chain costs by balancing factory production, transportation to distribution centers, and capacity constraints to minimize total cost while meeting center requirements.
Explore modeling a supply chain optimization in gurobi, with factories a–c and centers 1–4, defining production and shipping costs, capacities, and demands, using x and y to minimize total cost.
Show how a supply chain optimization model achieves an optimal, minimal-cost solution under constraints by determining production quantities y_i and shipment amounts x_ij from factories to distribution centers.
Apply facility location optimization to minimize total cost across fixed and variable costs, using binary and continuous variables to decide openings and shipments, for efficient supply chains and customer satisfaction.
Investigate a facility location case where a logistics firm selects distribution centers to meet demand while minimizing costs, including initial investments and shipping, with a mathematical model and optimization solver.
This lecture presents a facility location optimization model with potential locations and city demands, using y and x to minimize total costs under demand and supply constraints.
Define a facility location model in Colab using Gurobi, with binary open variables and continuous shipment variables to minimize fixed and transportation costs while meeting demand.
Open centers at locations 1 and 5, and ship 500 to city 1, 700 to city 3 from center 1, and 600 to city 2 from center 5, achieving 39,650.
Explore facility capacity optimization to assign production across plants, balance fixed and variable costs, meet demand within capacity, and solve with mixed integer programming and Gurobi.
Activate the right mix of production facilities and set production levels to meet demand at minimum cost, using a mathematical model with fixed and variable costs.
Minimize total cost by selecting active facilities and allocating production to meet exact demand, respecting fixed and variable costs, capacities, nonnegative production, and binary activation decisions.
Model a facility capacity optimization in Gurobi, defining production x and the binary operational status y to minimize fixed plus variable costs while meeting demand within capacities.
Interpret the optimization output, noting the heuristic objective of 6895, root relaxation bound 6645, and final optimal cost 6780 with no gap, where facilities two, three, and five operate.
Explore inventory theory and optimization to balance holding costs and service levels in supply chains by forecasting demand and deciding how much to hold, when to reorder.
Explore an inventory management scenario for multiple products over time periods, minimizing ordering and holding costs while meeting forecast demand within warehouse capacity and budget constraints, via a mathematical model.
Frame an inventory optimization model with sets, indices, and decision variables to minimize ordering and holding costs across products and periods, under budget, capacity, and inventory balance constraints.
Develop and solve an inventory optimization model in Gurobi, defining indices, parameters, and decision variables for order and hold quantities, with budget and capacity constraints to minimize total cost.
Delivers an optimal solution for the inventory optimization model in 16 iterations (0.0) seconds, with a minimum total cost of about 3,767.17 for ordering and holding across products and periods.
Explore routing and scheduling optimization to minimize travel distance and costs across multiple locations, coordinating vehicles and personnel with decision variables, constraints, and objective functions.
Optimize delivery routes and schedules for a fleet under vehicle capacity and operating hours. Use a mathematical model and an optimization solver to minimize distance and improve efficiency.
Explore a mathematical model for route scheduling optimization to minimize total distance for a delivery fleet while meeting location demands within vehicle capacity limits.
Explore route scheduling optimization with a Gurobi-based model that uses binary x and continuous y variables to minimize distance while meeting demands and capacities.
Apply operations research to optimize whiskey distribution from three distilleries with different production capacities to exclusive bars in 14 european cities, while covering sourcing, mashing, fermentation, distillation, and oak aging.
Define a whiskey distribution model using the pub library for linear programming, linking distilleries to cities through routes, costs, and supply and demand constraints to minimize transportation costs.
Apply the whiskey distribution optimizer to verify an optimal status and a best solution under constraints, detailing shipments from distilleries to major cities.
Explore a practical inventory routing problem solved with linear programming in Julia using Jump and Higgs, minimizing routing, inventory holding, and penalties across time periods and locations.
Solve the traveling salesman problem using Julia with simulated annealing to find a near optimal route among twenty cities. Learn how swaps and cooling guide the search toward shorter routes.
Learn to build a vehicle routing problem with time windows using Google Tools, defining depot, customers, demands, service times, and capacities, then solve and visualize routes.
Review solver output showing each vehicle’s routes, stop times, and duration from the depot, and plots that visualize the routes, depot, and delivery windows to confirm feasible time-respecting, capacity-limited operations.
Learn how SAP production planning balances materials, capacity, and quality using MRP, BOMs, work centers, and advanced engines like PDS and genetic algorithms to generate feasible production plans.
Explore a production planning framework in streamlit that simulates bills of materials, lot sizing, production schedules, capacity analysis, and ATP, including make-to-order vs make-to-stock.
Explore the artificial fish swarm algorithm (AFSA) inspired by fish feeding and group movement to solve optimization problems using swarming, following, and praying, with scikit-opt in Python.
Explore the rastrigin function with the artificial fish swarm algorithm, using swarming, following, and praying behaviors to locate the global minimum amid local minima.
Apply the artificial fish swarm algorithm to optimize a multidimensional parameter set within defined bounds, minimizing an objective function through iterative, peer-influenced search.
explains the artificial fish swarm algorithm code for minimizing the two-dimensional rastrigin function in Python using NumPy, with swarm size 50, max iterations 100, and visualization.
The AFSA outputs show the algorithm finds the optimal solution and minimum value for the resizing function, locating the global minimum near zero while bypassing local minima.
Explore the harmony search algorithm, using harmony memory and improvisation to balance exploration and exploitation, and apply it to supply chain optimization to minimize transport and fixed costs.
Explore the harmony search algorithm's mathematical model for optimizing supply chains by selecting transport quantities, supplier activation, and costs to minimize total cost under demand, capacity, and non-negativity constraints.
Explore the harmony search code in Python, defining costs, demands, capacities, and harmony memory, then optimize transport quantities and activations using hmcr, par, and bw to minimize cost.
Analyze the harmony search output for supply chain optimization, showing the best solution vector for transport quantities and binary supplier activation, plus the best cost.
Explore simulated annealing, inspired by metallurgical annealing, to tackle routing and delivery optimization with a temperature schedule and Metropolis criterion. Apply the approach to the traveling salesman problem.
Explore a simulated annealing code to optimize delivery routes using a distance matrix, with an initial random route and probabilistic acceptance as temperature cools.
Apply simulated annealing to a distance matrix to yield the optimal route and distance, sequence one, two, three, zero, total 22 units, illustrating efficiency in delivery.
Explore genetic algorithms as a population-based optimization method inspired by natural selection, using fitness scores to drive selection with crossover and mutation to evolve solutions across generations.
Explore genetic algorithms, including population and chromosome structure, fitness evaluation, selection methods, crossover and mutation operators, elitism, termination conditions, and generational versus steady state models.
Genetic algorithms simulate defense strategies across generations using natural selection to optimize mission success, resource use, and casualties, enabling continuous improvement and adaptation in dynamic warfare for a strategic advantage.
Explore a genetic algorithm mathematical model for defense strategy, detailing actions, resources, scenarios, parameters, and weights, and show how to maximize overall strategy effectiveness under constraints.
Implement a genetic algorithm to optimize defense strategies across scenarios by evolving resource-to-action allocations, evaluated with a penalized fitness function using two-point crossover, Gaussian mutation, and tournament selection.
Explore how genetic algorithms track progress across generations, using generation, evaluations, average fitness, standard deviation, minimum fitness, and maximum fitness to identify the best solutions.
Learn particle swarm optimization, inspired by bird and fish swarms, with velocity and position updates toward best positions. Apply it to wind turbine blade length, twist angle, and material.
Identify three decision variables: blade length, twist angle, and material density, and set their feasible ranges under four constants to maximize turbine blade efficiency while respecting cost constraints.
Use particle swarm optimization to maximize turbine blade efficiency by optimizing length, twist angle, and material density within constraints and a 100-iteration limit.
Explore how tabu search, a metaheuristic for the traveling salesman problem, uses memory structures, tabu lists, and neighborhood search with aspiration criteria to escape local minima and find shortest routes.
SPEA2 introduces a multi-objective optimization approach that identifies Pareto optimal sets using strike values, density measures, and an external archive, while employing crossover and mutation to explore diverse solutions.
Explore wind farm design optimization with SPEA2 to balance energy output and installation costs. Analyze turbine placement, wave effects, land use, environmental factors, and budget limits.
Explore a SPEA2-based mathematical model that optimizes wind farm layouts by selecting turbine types and placements to maximize power and minimize costs, subject to budget and spacing constraints.
Explore a SPEA2-based wind farm optimization, defining turbines, types, and generations; initialize populations, compute power and cost objectives, and apply crossover and mutation for evolving designs.
Explore SPEA2 output in the context of industrial & systems engineering. Identify how the SPEA2 output is presented and interpreted.
This course offers a comprehensive introduction to Industrial and Systems Engineering, blending traditional principles with modern tools and techniques. Whether you’re just starting in the field or looking to expand your skillset, this course is designed to help you build a solid foundation and gain practical knowledge to address real-world challenges in various industries.
Industrial and Systems Engineering is about finding better ways to get things done. It’s about improving processes, making smarter decisions, and designing systems that work efficiently. Throughout this course, you’ll explore essential topics like systems thinking, process optimization, and quality control, while also diving into more advanced areas like decision analytics and reinforcement learning.
You’ll learn how to break down complex problems, analyze them systematically, and apply proven methods to develop effective solutions. From optimizing production lines to designing efficient supply chains, this course covers practical applications that are relevant across manufacturing, logistics, and operations.
In addition to the technical content, the course will also highlight how these methods are being applied in modern industries to adapt to technological advancements. We’ll discuss real-world case studies and provide hands-on examples to ensure that you can confidently put your knowledge to use.
By the end of the course, you’ll have a well-rounded understanding of Industrial and Systems Engineering, the ability to tackle challenges effectively, and the skills to create real impact in your field. No prior experience is required—just an interest in learning how to solve problems and improve systems.