
Explore what constitutes a supply chain and its players, then learn how facility location, ownership, warehouses, and distribution centers shape service levels, costs, and selling channels in strategy-driven design.
Explore the shift from strategic supply chain design to operational planning, using optimization in Excel to balance inventory, production, transportation, and delivery routes while maximizing service level.
Explore how firms design supply chains to align with strategy, using Walmart and IKEA as examples, and solve production scheduling, resource utilization, and network design with Excel and Python.
See how IKEA uses a modular, flat-pack design and automated, high-flow distribution centers to enable self-assembly, efficient delivery, and rapid inventory turnover.
Explain Zara's fast fashion supply chain, linking design, prototypes, near-shore manufacturing, air transport, and rapid replenishment to deliver two new collections each week.
Walmart pioneers integrated information systems and central distribution centers to enable seamless flow from suppliers to stores, including vendor managed inventory, electronic data interchange, barcode RFID, and GISS visibility.
Dell adopts a direct, make-to-order supply chain by selling online and delivering door-to-door, keeping suppliers near the assembly center for just-in-time replenishment.
Follow the plan of attack: watch me script, then annotate and repeat solo to learn by doing with Excel and Python for optimization and linear programming in the supply chain.
Define supply chain optimization as using processes and tools to minimize manufacturing, transportation, and distribution costs, optimize inventory placement, and solve linear programming problems with Excel and Python.
Explore optimization in supply chain across four problems: network design, manufacturing, transport, and production scheduling. Use Excel and Python to analyze scenarios and minimize costs.
Formulate a linear programming model to minimize the distance from the plant to demand points, subject to supply chain constraints and choosing between two plant locations to meet country demands.
maximize profits from two toy types by solving a resource utilization demo in Excel and Python, using plastic, fiberglass, and labor-hour constraints to optimize production.
Formulate a two-type pill manufacturing problem with X1 and X2, maximize profit 25 X1 + 35 X2 under feather and cotton constraints, enforcing nonnegativity and integrality.
Model a linear programming problem in excel and solve it with the solver add-in. Maximize profit with 25*x1 plus 35*x2 under cotton and capacity constraints using integer decision variables.
Formulate a linear programming model to maximize weekly profit from bands and guides, using 50 hours, rates (bands 140 t/h, guides 200 t/h), and upper bounds (7400 bands, 6400 guides).
Form a two-variable linear program with 50 hours to allocate between bands and coins. Maximize profit, yielding 2,800 bands and 6,000 coins for a 250,000 total.
Explore production planning strategies, including one-time run, level, and periodic planning, and optimize inventory and production costs to minimize stockouts using Excel and Python.
Explore production scheduling with Excel and Python to minimize costs by formulating inventory and capacity constraints via linear programming.
Identify three unknowns in an Excel production scheduling model: production quantity, inventory, and a binary line-opening decision. Minimize total costs—production (40 dollars), storage (1 dollar), and fixed costs—while meeting demand.
Learn how opening constraints force a production line decision by weighing fixed costs against capacity, and how inventory carryover links current production to prior year initial inventory.
Solve production scheduling by balancing inventory and production constraints, linking production to demand with inventory effects, minimizing cost under capacity and binary decision variables.
Solve a 12-month production planning problem using demand per period, fixed cost of production, production cost, storage cost, capacity, and an initial inventory of 1200, with linking and inventory constraints.
Apply demand, capacity, and inventory constraints to a supply chain design problem, linking production units to capacity and inventory flows while ensuring binary opening line constraints and fixed costs.
Develop a cost-minimizing six-month production schedule for tablets, balancing fixed and variable costs, overtime options, and inventory holding. Meet demand while managing monthly capacity and the opening constraint on production.
Solve a six-month production planning problem using Excel and Python, optimizing production units, inventory, and opening decisions under capacity and overtime constraints with fixed costs.
Explore supply chain optimization using linear programming, model formulation, and transportation and network design, then learn to install Python, Anaconda, and tools like Jupiter Notebook to implement these models.
Explore Python's origins, its broad usage from web development to data science and scripting, and learn to install and switch between notebook environments like Jupyter and Spyder within Anaconda.
Learn how to download and install Anaconda across Windows, Mac, and Linux, following a guided page and waiting for the installer to complete.
Follow a guided installation of Anaconda, taking about two to three minutes. Then explore inside Anaconda to see which applications will work with it.
Explore Spyder overview, switching between Spyder and notebook for Python coding, set up a supply chain data science folder, run simple scripts, and manage projects with shortcuts.
Explore the Jupiter notebook overview, using Spider and Python in an Anakonda environment to write and run code with instant outputs, and switch between tools for your supply chain project.
Explore Python libraries like pandas, matplotlib, and numpy to enable data science tasks in an Anaconda environment, importing and using them in Jupyter notebooks and Spyder for supply chain projects.
Identify Python's core data types: numbers, strings, dates, categorical data, and booleans, and explore lists, dictionaries, and tuples, plus data cleaning for missing values and formatting.
Explore how dataframes organize observations and attributes like Excel tables, and learn Python basics: functions use parentheses, assign variables with equal, and create objects with attributes.
Learn Python fundamentals for supply chain design by performing arithmetic calculations in a Jupyter Notebook, creating variables and lists, and understanding zero-based indexing to retrieve items.
Learn how to create dictionaries with key and value pairs using curly braces, access keys and values, and retrieve specific elements from a dictionary.
Explore arrays as the third core data structure after lists and dictionaries, using numpy for multi-dimensional storage, and perform element-wise arithmetic like adding a constant and dividing arrays.
Import data in Python using pandas in a Jupyter notebook, loading the UK online retail dataset, and explore with head, tail, shape, and describe to examine continuous variables.
Learn to subset dataframes using iloc and loc, selecting rows and columns by index or name, then create a new euro price column from the existing USD price.
Explore how to use conditions in data frames, test single and multiple criteria with and/or operators, and apply them in loops to filter data using age comparisons.
Define a Python function with def to determine a person’s status as child, teenager, or adult using indentation and if-elif logic, and print the results.
Learn how to map a function over every element in a list using Python's built-in map, creating map objects and assigning results to a list.
Explore for loops as an essential iteration tool, showing how to iterate over class lists and print ages, and how to relate for loops to the map function.
Apply a function to each item in a list using for loops and map, store results in a new list, and prepare data frames for future data tasks in Python.
Learn to create a function that flags United Kingdom entries and map it onto a dataframe to add a UK column of true or false, with UK vs non-UK counts.
Learn how to loop over a data frame in Python by applying a function to each row and creating a new column, comparing map and apply for row-wise operations.
Master python fundamentals for supply chain analytics by handling lists and dictionaries, importing data with pandas, and using functions and loops to subset, categorize, and iterate across datasets.
Practice a Python assignment on a 400-car dataset with horsepower, speed, and price; compute basic stats, rename a field to Cardini, and create a price category with colors.
Analyze the cars dataset to identify its shape, columns, and features like horsepower, price, and miles per gallon; count unique cylinders and filter for the most expensive car.
Explore maximizing profit for two products using linear programming in Python with PuLP, enforcing non-negativity and integer quantities, and learn to install PuLP to formulate the problem.
Install PuLP, a Python library for linear programming, to handle bulk problems in supply chain design. Learn setup via pip or conda and address installation issues when tools aren’t available.
Solve a manufacturing optimization model in Python using PuLP to maximize profit with X1 and X2, coefficients 25 and 35, under resource constraints, linking Excel and Python workflows.
Solve a three-variable linear program to maximize profit with x1, x2, x3 and prices 33, 40, 34 under 40 kg constraints, achieving 3350 with x1=50, x2=0, and x3=50.
Learn to solve a production scheduling problem by deciding when to produce or store based on demand, incorporating fixed production costs and period-based decisions in SIPLE.
Apply Python and PuLP to formulate a production scheduling model, defining time periods, inventory, demand, fixed storage cost, capacity, and production variables, then build the optimization with an objective function.
Define the objective function for a multi-period production and inventory model, incorporating storage cost, demand parameters, and binary variables, then enforce inventory balance and capacity constraints across periods.
Compare the optimization results in Python and Excel to show identical outcomes under capacity 4000 and explore sensitivity by relaxing capacity to impact inventory and production costs.
Solve a production scheduling problem with variable demand, variable costs, and storage costs using binary decisions, capacity limits, and linking constraints, and compare results in the next lecture.
Solve a 12-period production planning problem with an optimization model that minimizes inventory, variable production costs, and fixed setup costs under capacity constraints.
Define how supply chain design sets a company’s strategy, weighing speed and proximity to customers against costs, with examples from consumer goods and chocolate industries.
Develop strategic decisions for supply chain network design, including facility locations, numbers, and omni channel strategies. Assess disruptions, costs, service levels, and resilience through scenario analysis.
Explore supply chain design components through optimization, deciding warehouse counts and locations, make-or-buy decisions, and how demand seasonality, surges, and sustainability shape cost, inventory, and logistics.
Analyze warehouse allocation by selecting two warehouse locations among seven cities, assign demand-driven service to each city, and plan shipping flows to minimize distance, transport costs, and carbon footprint.
Minimize total distance by selecting two open warehouses and assigning each city to one, using binary variables and paying attention to distance versus capital costs in Excel.
Develop a Python-based facility allocation model by building distance matrices, indexing warehouses and customers, and using an lp variable dict for binary open-warehouse decisions.
Create a demand dictionary by zipping customer lists, then build a warehouse allocation model in Excel to minimize distance, using objective function that multiplies demand by distance and warehouse flows.
Ensure every customer is served by one open warehouse by requiring the total flow to each customer equals one, and open three warehouses with no flow from unopened warehouses.
Build a minimal cost supply chain model by defining warehouses, distances, and demand, linking flows to cities, and minimize total cost while opening exactly three warehouses.
Explore model sensitivity in supply chain design with Excel and Python by evaluating warehouses selections, flows, and the objective function, then compute the final value and average distance per demand.
Explore how average distance changes with the number of warehouses using a Python function and a warehouse simulation, illustrating delivery time and service level trade-offs.
Extend the dc model to three plants, nine warehouses, and twenty customers, deciding which locations to open while coordinating inbound and outbound transport, capacities, costs, and service levels.
Linking constraints ensure flow balance across factory, warehouse, dc, and retailer. The lecture introduces opening costs with binary variables and demonstrates modeling in Excel and Python.
Introduce a three-plant supply chain model with inbound/outbound transport, production and opening costs, capacities, and shop demand, aiming to minimize total costs.
Formulate demand, supply, flow, and linking constraints to model a supply chain in Excel and Python, open warehouses, and define fixed costs, the objective, and decision variables for planning.
Minimize the objective in this supply chain design and planning model by using a linear model with binary plant and warehouse openings, flow constraints, and demand and capacity limits.
Explore supply chain design decisions by comparing two plants with capacities of 5,000 and 4,000 to minimize transportation and production costs, and plan a distribution center based on distances.
Apply an 80-kilometer threshold to DC-to-shop distances, count shipments within range, and compute the level of service, which is 64 percent in this example.
Relax the number of warehouses and set service-level thresholds to reveal cost, fixed and variable costs, and level of service trade-offs in a warehouse design model.
Explore direct delivery from plant to shops or via a distribution center, balancing service level and 80 km threshold with capacity and demand constraints.
Explore a multi-supply network with manufacturing storage and direct delivery. Learn how capacity, demand, and service level constraints shape costs and allocations.
Import model data from excel, separate costs and parameters into sheets, and read demand to set indices for plants and destinations; calculate transportation costs.
Construct variables to model inbound flows, plant indexes, and binary open-plant indicators, with lower bound zero and no upper bound, using integers to capture demand from dcs to shops.
Construct costs in the model by defining inbound and outbound transportation costs, production costs, and opening and operating costs, comparing Excel and Python implementations step by step.
Define the objective function for a supply chain design problem, including opening, fixed, variable, land, and operating costs, and prepare the optimization model with constraints.
Explore forming demand and flow constraints in a supply chain design model with Excel and Python. Include binary variables, capacity constraints, and linking constraints to align inbound flows with demand.
Linking constraints connect inbound and outbound flows across distribution centers and plants, enforce the flow constraint, and apply opening and capacity bounds for plants in a supply chain model.
Solve the minimized supply chain design model with demand and capacity constraints. Analyze flow streams and open plant decisions, then print variable volumes to verify results.
Show only variables used by building a dictionary with name and value via a list comprehension, filtered by value greater than zero, revealing inbound and outbound data for each shop.
Define the service level by building a distance matrix in Python (80 km threshold), weighting flows by distance, yielding a 63 percent service level and informing future warehouse relaxations.
Relax the model constraints to study effects on the objective function and service level, compare scenarios, and push the service level toward 95 percent.
Convert the service level into a constraint in the relaxed model, requiring at least 95% of shipments within 80 kilometers, with Excel showing three sites open and 100% service level.
Explore binding constraints and non-binding constraints in a supply chain optimization model, using slack and capacity constraints, demand, and sensitivity analysis to assess final value.
Develop a multi-product assignment for a four-plant, four-product supply chain, including warehouses and shops, with plant capacity, fixed costs, and transportation costs, solved via PuLP and Excel data.
Model a multi-level linear programming supply chain design with shops, plants, warehouses, and products, incorporating inbound, outbound, production, opening, and operating costs.
The lecture explains demand constraints linking warehouse output to shop and product demand, with capacity and opening constraints, and introduces a 170 km service level metric showing 78 percent.
Explore route optimization for door-to-door deliveries, from the traveling salesman problem to multi-vehicle scheduling, incorporating capacity and time-window constraints using Python tools.
Learn to solve the traveling salesman problem to optimize routes for last-mile deliveries with multiple vehicles, capacity, and loading and unloading constraints, using Python libraries such as Melrose and OR-Tools.
Solve the traveling salesman problem using a genetic algorithm in the melrose library, minimizing distance across eight nodes with a fitness function, crossover, and mutation.
Analyze a multi-vehicle routing problem using OR-tools in Python, guiding the model to minimize distance with multiple vehicles and a defined distance matrix of 18 nodes.
Build a distance function from a distance matrix and integrate it into a routing model to minimize distance with four vehicles and a 3000 capacity, using the cheapest insertion algorithm.
The lecture shows configuring a vehicle routing problem with a distance matrix and index manager, minimizing routes for four vehicles and mapping routing indices to nodes, starting from zero.
Automate vehicle routing by implementing a Python function that iterates each vehicle, computes successive destinations with for loops and a while loop, using indexing to reach the next address.
Conclude by building vehicle routes using lists and loops, tracking destinations per vehicle, and preparing for adding constraints that limit load per vehicle.
Evaluate how removing distance constraints shifts a multi-vehicle routing problem toward a minimum-distance single-vehicle solution, using distance APIs and the traveling salesman framework.
Learn to add capacity constraints to the vehicle routing problem by modeling per-node demand and a fixed vehicle capacity of 15 units, and prepare to incorporate distance and demand callbacks.
Explore adding capacity dimensions to routing models by implementing distance call back and demand call back, enforcing vehicle capacity constraints, and integrating demand data with Excel and Python workflows.
Set up a routing problem by defining truck capacity and load, initialize the index manager, and interpret routing indices to understand start points and vehicle assignments in the solution.
Explore how to loop through vehicles in a routing model, set start indices, build per-vehicle load and demand dictionaries, and map routes to vehicle trips using Python.
Explore how to display capacity constraints by routing multiple destinations per vehicle, balancing loads, and minimizing distance across a logistics network using Excel and Python, with Google APIs.
Compute each vehicle’s total distance and load using a dictionary, and verify every vehicle stays under 3000 km and 50.
Add a time dimension to the routing model by incorporating time windows and a time metric, balance minimizing time and distance, and use enumeration to handle time window indexing.
Define time window ranges for every node index, specifying start and end times per window and per vehicle to align routing and day planning.
Instantiate route start and end by cumulatively adding travel durations between nodes, embedding time windows for vehicles, and minimizing total duration through routing optimization and time-dimension variables.
Define and extract routes and their time windows from the optimization solution, comparing solution time windows with model time windows across multiple vehicles to analyze routing behavior.
Analyze the Python-generated vehicle routing solution, mapping nodes and travel times to visualize routes. Compare time windows and capacity constraints across scenarios to optimize supply chain design.
Explore routing for a restaurant delivery service, using a duration matrix and time windows to minimize total delivery duration with two motorcycles, and prepare data in Excel and Python.
Route planning with time windows is demonstrated, converting a dataframe to a list of tuples and setting time and start constraints. This yields on-time deliveries with minimized duration.
Take the operations manager role to plan the restaurant layout and multi-destination routes for six vehicles, minimizing duration while honoring time windows, using the Excel timeline and Python model.
SUPPLY CHAIN OPTIMIZATION · NETWORK DESIGN · LINEAR PROGRAMMING · PYTHON · PULP · OR-TOOLS · FACILITY LOCATION · VEHICLE ROUTING · LAST MILE DELIVERY · PRODUCTION PLANNING
★ Included in Udemy for Business — Chosen by Companies for Corporate Supply Chain Training
This course is part of the Udemy for Business catalogue — the platform used by companies like Nasdaq, Volkswagen, NetApp, and Eventbrite to train their teams. When organisations are searching for supply chain optimisation training for their planning and logistics professionals, this course is what they find. That institutional endorsement reflects the depth and professional relevance of the content.
★ PuLP + Google OR-Tools — The Two Most Powerful Open-Source Optimisation Libraries in Python
Most supply chain courses stop at Excel Solver. This course goes further — teaching PuLP for linear programming formulation and Google OR-Tools for advanced routing, vehicle scheduling, and capacity optimisation. These are the same libraries used by engineers at Google, Uber, DHL, FedEx, and Amazon to solve real-world logistics problems at scale. You will use both, from scratch, applied to supply chain problems.
★ 11.5 Hours of Real Optimisation Content — Not a 2-Hour Overview
The average supply chain design and optimisation course on Udemy is 2–3 hours long. This course is 11.5 hours across 9 sections and 126 lectures — built by a Ph.D. holder and active supply chain consultant who has deployed these exact models for clients. It covers strategic supply chain design, production planning, facility allocation, network flow optimisation, route scheduling, vehicle routing with time windows, and last-mile delivery. Nothing is skipped.
★ Real-World Cases from Ikea, Zara, Walmart, Dell, Uber, FedEx, Amazon, and DHL
This course does not use synthetic data or made-up scenarios. Strategic supply chain design is studied through the real network decisions of Ikea, Zara, Walmart, and Dell. Route optimisation and last-mile delivery are studied through the real scheduling logic of Uber, FedEx, Amazon, and DHL. Every case was selected because it illustrates a genuine supply chain optimisation decision that practitioners face — and that these companies solved analytically.
★ Built by a Ph.D. Supply Chain Consultant — Not a Textbook Instructor
Haytham holds a Ph.D. in Supply Chain from the University of Bordeaux and is an active consultant whose optimisation models have been deployed by Sharaf Group, Sephora France, and Aster Group. The facility allocation models, network flow formulations, and routing algorithms in this course come from live client projects — not adapted textbook exercises. What you learn here, practitioners use today.
Supply chain optimisation is not a data science topic. It is a business survival skill. Where you place your warehouses, how you schedule your production, which routes your vehicles take, and how you balance service level against cost — these are decisions that determine whether your supply chain makes or loses money. This course gives you the analytical framework and the Python tools to make those decisions with precision.
You will work through the complete supply chain optimisation decision hierarchy: strategic network design (where to locate facilities, how to allocate demand across warehouses), tactical production planning (how to schedule production to minimise cost under capacity constraints), and operational route optimisation (vehicle routing, time windows, last-mile delivery). Every level of the supply chain planning hierarchy is covered, using the same open-source Python libraries — PuLP and Google OR-Tools — that Uber, FedEx, DHL, and Amazon use to solve these problems at industrial scale.
The course begins with Excel — building intuition for linear programming, resource allocation, and production scheduling in the tool you already know. Then it moves to Python, with a complete crash course included, before applying PuLP to manufacturing and production problems and OR-Tools to supply chain network design and vehicle routing with time windows.
This course is included in the Udemy for Business catalogue — chosen by companies for corporate supply chain and logistics team training. It has 21,000+ enrolled students and is taught by a practising Ph.D. supply chain consultant. Most supply chain design courses on Udemy are 2–3 hours. This is 11.5 hours of real optimisation content. There is no comparison.
WHAT MAKES THIS COURSE DIFFERENT:
[ OPT ]
PuLP + OR-Tools — industry-grade optimisation
Most courses stop at Excel Solver. This one teaches the two most widely-used open-source Python optimisation libraries — the same tools Uber, DHL, FedEx, and Amazon use to solve real logistics problems.
[ REAL ]
Real cases from real companies
Ikea, Zara, Walmart, Dell, Uber, Amazon — every strategic decision is studied through a real network design choice. No synthetic examples. No made-up data.
[ FULL ]
End-to-end: strategy to last mile
From strategic facility location all the way to vehicle routing with time windows — this course covers the full supply chain design and planning decision hierarchy in one program.
TOOLS COVERED IN THIS COURSE
Microsoft Excel | Python | PuLP | Google OR-Tools | Jupyter Notebook / Anaconda
WHAT YOU WILL LEARN
✓ Understand linear programming and formulate supply chain optimisation problems mathematically
✓ Build production scheduling models in Excel and Python that minimise cost under opening, capacity, and resource constraints
✓ Use PuLP to solve manufacturing and production planning problems in Python from scratch
✓ Design supply chain networks: allocate demand across warehouses, optimise facility locations, and minimise total network cost
✓ Build facility allocation and network flow models in Python with PuLP — including sensitivity analysis and binding constraint identification
✓ Integrate service level into network design decisions — setting distance constraints, relaxing DC constraints, and evaluating direct delivery options
✓ Solve the Travelling Salesman Problem and route optimisation problems using OR-Tools
✓ Build Vehicle Routing Problem (VRP) models with capacity constraints using OR-Tools
✓ Implement Vehicle Routing with Time Windows (VRPTW) — the model used by FedEx, Uber, and Amazon for last-mile scheduling
✓ Map and visualise routing solutions across a real delivery network
✓ Understand sensitivity analysis and identify binding constraints in your supply chain optimisation models
✓ Apply optimisation to real-world cases: restaurant routing, SportStuff distribution, CoolWipes network design
COURSE CONTENT — 9 SECTIONS · 126 LECTURES · 11.5 HOURS · 2 PRACTICE TESTS
SECTION 1: Supply chain design and optimisation fundamentals
What is supply chain optimisation and why does it matter? Study how Ikea, Zara, Walmart, and Dell design their supply chains strategically — with real cases that illustrate the trade-offs between efficiency and responsiveness. Understand the types of optimisation problems in supply chain, mathematical formulation, transportation problems, resource utilisation, and the manufacturing model. Build your first optimisation model in Excel. Includes an assignment and graded quiz.
Excel
SECTION 2: Production planning and scheduling
How do you decide what to produce, when, and at what cost? Build production scheduling models from scratch: understand the problem structure, formulate opening and capacity constraints, and solve for the minimum-cost production plan in Excel. Then tackle a global production scheduling assignment that spans multiple facilities. Includes two graded assignments.
Excel
SECTION 3: Python crash course for supply chain optimisation
No Python experience? No problem. Install Anaconda, set up Jupyter Notebook and Spyder, and learn Python with a supply chain mindset: dataframes, arithmetic, lists, dictionaries, arrays, data import, subsetting, conditions, writing functions, mapping, and for loops. Includes a two-part graded assignment on real supply chain data.
Python Jupyter/Anaconda
SECTION 4: Linear programming with PuLP in Python
Translate the optimisation models from Sections 1 and 2 into Python using the PuLP library. Build the manufacturing model in PuLP, solve production scheduling problems, define objective functions and constraints in code, and validate solutions. Then extend to production scheduling orientation and complete a graded assignment with full solution.
Python PuLP
SECTION 5: Supply chain network design: facility allocation
Strategic supply chain design made computational. Understand network design components, build warehouse allocation models in Python, define decision variables and objective functions for facility allocation, formulate and solve constraints, run sensitivity analysis, and visualise the cost-distance trade-off across different numbers of warehouses. Introduces the DC extended model and linking constraints.
Python PuLP
SECTION 6: Network design with service level integration
Network design is not just about cost — it is about cost at a given service level. Formulate the full multi-echelon network design problem with service level constraints: develop costs, formulate demand and flow constraints, solve, and interpret results. Analyse direct delivery options, relax DC constraints, set binding service level constraints, and complete a full network design assignment. Includes a PuLP Network Design practice exam with solved notebook.
Python PuLP
SECTION 7: Real case: SportStuff distribution network
Apply everything from Sections 5 and 6 to a complete, real-scale distribution network design problem. Import model data, construct variables, build costs, formulate the objective function, define demand and flow constraints, solve, display results, set service level requirements, relax DC constraints, apply service level constraints, and identify binding constraints. Two-part graded assignment included.
Python PuLP
SECTION 8: Route optimisation with OR-Tools
Move from strategic network design to operational route planning. Solve the Travelling Salesman Problem. Apply ML-Rose for route optimisation. Use Google OR-Tools to build route optimisation models, add distance and capacity constraints, loop solutions over vehicle fleets, implement capacity dimensions, and display routing results. A complete real-world routing example for a restaurant delivery network is included.
Python OR-Tools
SECTION 9: Vehicle Routing with Time Windows (VRPTW)
The most operationally complex section of the course — and the most directly applicable to last-mile delivery. Build a complete VRPTW model: add the time dimension to OR-Tools, set time window ranges, instantiate route start and end points, extract routes and time windows, map the full solution, and validate total distance and load calculations. This is the exact model structure used by FedEx, Uber, DHL, and Amazon for daily last-mile scheduling.
Python OR-Tools
THIS COURSE IS NOT FOR YOU IF...
✗ You are looking for a supply chain overview or theory-only course — this course builds working optimisation models in Excel and Python from the first section
✗ You want a warehouse management or ERP implementation guide — this course focuses on quantitative network design and operational planning models, not software configuration
✗ You have no interest in Python — Sections 3 through 9 are Python-based (a complete crash course is included for absolute beginners)
✗ You are looking for a forecasting or inventory management course — this course covers supply chain design, production planning, and route optimisation; separate courses in the instructor’s catalogue cover inventory and forecasting
WHAT STUDENTS AND CLIENTS SAY
“I attended this course with high expectations. And I was not disappointed. It’s incredible to see what is possible with Python in terms of supply chain planning and optimization. Haytham is doing a great job as a trainer — starting with explanation of basics and ending with presentation of advanced techniques supply chain managers can apply in real life.”
Larsen Block — Director, Supply Chain Management — Freudenberg Home & Cleaning Solutions
“In Q4 2018, I attended a Supply Chain Forecasting & Demand Planning Masterclass conducted by Haytham and the possibilities seemed endless. We requested Haytham to conduct a 5-day workshop in our office to train 8 staff members, which opened us up to deeper data analysis. We have gone further and retained Haytham as a consultant to implement inventory guidelines for our business.”
Shailesh Mendonca — Commercial Lead — Adventure AHQ, Sharaf Group
“Haytham mentored me in my role of Head of Supply Chain Efficiency. He is extremely knowledgeable about supply chain concepts, latest trends, and benchmarks. His analytics-driven approach was very helpful to recommend and implement significant changes to our supply chain at Aster group.”
Saify Naqvi — Head of Supply Chain Efficiency, Aster Group
WHO THIS COURSE IS FOR
Supply chain planners and analysts
You manage production plans, network flows, or distribution schedules and want to move from instinct-based decisions to quantified, model-driven optimisation using Python.
Logistics and transport professionals
You plan routes, manage fleets, or design distribution networks and want the analytical tools to minimise cost, maximise vehicle utilisation, and hit service level targets.
Operations and supply chain managers
You are responsible for strategic decisions — where to place facilities, how to allocate production, how to structure your network — and want a rigorous, quantitative framework to make them.
Data scientists entering supply chain
You know Python and want to apply optimisation and linear programming to real supply chain problems — facility location, production scheduling, route optimisation, and vehicle routing.
Production planners and schedulers
You build production schedules in Excel and want to formalise them as optimisation models that minimise cost, respect capacity constraints, and can be re-solved automatically as conditions change.
Students and supply chain career changers
You want a portfolio of working Python optimisation models — network design, facility allocation, VRP with time windows — to stand out in supply chain and logistics job applications.
REQUIREMENTS
● Microsoft Excel — basic formulas and functions. No advanced Excel knowledge required.
● Basic understanding of supply chain concepts is helpful — what a supply chain is, what distribution networks look like, what production planning involves.
● No Python experience required — Section 3 is a complete Python crash course built for supply chain professionals. Anaconda installation is guided step by step.
● PuLP and Google OR-Tools are both free and open-source Python libraries — installation instructions are provided inside the course.
● A computer capable of running Anaconda and Jupyter Notebook — setup is fully guided within the course.
WHAT IS INCLUDED
● 9 sections, 126 lectures, and 11.5 hours of on-demand content covering the complete supply chain design and planning optimisation workflow
● 56 downloadable resources: Excel workbooks, Python notebooks, and optimisation model files for every section
● 2 practice tests: the PuLP Network Design exam (Section 6) and the Production Scheduling exam (Section 2), each with a solved notebook
● Multiple graded assignments across every section — each assessed on real supply chain cases, not synthetic data
● Real-world cases: Ikea, Zara, Walmart, Dell (strategic design), SportStuff and CoolWipes (network flow), restaurant routing and FedEx/Uber/Amazon scheduling models (VRPTW)
● Lifetime access to all content and any future updates to the curriculum
● 30-day money-back guarantee — no questions asked
● Certificate of completion upon finishing the course
YOUR INSTRUCTOR
Haytham Omar, Ph.D.
Supply Chain & Business Intelligence Consultant · Developer · Trainer — UAE & France · Founder, Rescale Analytics
Haytham holds a Ph.D. in Supply Chain from the University of Bordeaux and a Master of Science in Global Supply Chain Management from Bordeaux École de Management. He is an active supply chain optimisation consultant whose models have been deployed by Sharaf Group Adventure HQ (replenishment and revenue maximisation algorithms since 2019), Sephora France (omni-channel optimisation), and Aster Pharmacy group.
He has trained over 70,000 supply chain professionals across 70+ workshops in the UAE in Python, R, and applied supply chain analytics. Additional clients include DNO, Qarar, PWC Training Academy, Lamprell, and the Higher College of Technology. He is also the creator of the Inventorize package — used by over 90,000 supply chain professionals worldwide.
The optimisation models in this course — facility allocation, network flow, production scheduling, vehicle routing with time windows — are not adapted from textbooks. They are the same analytical frameworks Haytham builds for clients. In supply chain optimisation, the difference between a consultant’s model and a textbook example is everything.
Stop managing supply chains by spreadsheet. Start optimising them by model.
9 sections · 11.5 hours · PuLP + OR-Tools · Excel · Udemy for Business · Ph.D. instructor · Lifetime access