All Courses

All Courses

作業研究:模型與演算法 / 26N103

Operations Research: Models and Algorithms

Download course outline
Operations Research (OR) is a field in which people use mathematical and engineering methods to study optimization problems in Business and Management, Economics, Computer Science, Civil Engineering, Electrical Engineering, etc. In this course, we focus on the “modeling and applications” and “algorithms” parts. The major objective is to let students know the fundamental way of using OR to support decision making in all kinds of business applications, including production, inventory, pricing, locations, among others. Students will learn how to formulate mathematical programs and use computers to solve these business problems. Moreover, students will also learn the underlying algorithms that solves linear programs, integer programs, and nonlinear programs. This will benefit their future studies in related fields.
  • Professor: Ling-Chieh Kung
  • Year: 115暑假
  • Schools offering courses:
  • Course Categories: C type (General Sessions)
  • Course Areas: Mathematical Digits and Quantitative Analysis
  • Credits: 2學分
  • Teaching methods: Asynchronous Distance learning
  • Course Fees: Partner School NT$700 / Non-partner schools NT$1,750
  • Class location: 非同步遠距、國立臺灣大學(含3次同步遠距、2次實體考試) 校總區
  • Class start and end: 2026-07-02 ~ 2026-08-14
  • Weeks of classes: 7週
  • Course Time:
    • 07/20 08/10 | Week一 | 15:30 ~ 17:20 | Total 2 times
    • 07/02 | Week四 | 15:30 ~ 17:20 | Total 1 times
    • 07/24 08/14 | Week五 | 15:30 ~ 17:20 | Total 2 times
    • 07/04 07/11 07/18 07/25 08/01 08/08 | Week六 | 00:00 ~ 01:00 | Total 6 times
    • 07/05 07/12 07/26 08/02 08/09 | Week日 | 00:00 ~ 01:00 | Total 5 times
  • 【同步遠距】 Part I: Course Overview Module Description: This lecture gives students an overview of what they may expect from this course, including the fundamental concept and brief history of Operations Research. We will also talk about how mathematical programming can be used to solve real-world business problem. Learning Objectives:  After this lecture, students will get a concrete idea about this course. Course Content:  Reading: NTU MOOC course information & QAs (1min)  Video: Prelude. (2min)  Video: 1-1: Motivation. (18min)  Video: 1-2: Business analytics. (21min)  Video: 1-3: Mathematical programming. (23min)  Video: 1-4: History. (14min)  Video: 1-5: Preview for this course. (5min) Assessment: Quiz: Quiz for Week 1 (20 min) 、Linear Programming Module Description: Linear programming (LP) is one of the most important method to achieve the outcome of optimization problems. We can use LP models for various decisions, including production, inventory, personnel scheduling, etc. Learning Objectives:  Students will learn the basic elements of a linear program, how to formulate linear programs, how to solve a two-variate linear program with the graphical approach, and how to solve a general linear program with Microsoft Excel. Course Content:  Video: 2-0: Opening. (5min)  Video: 2-1: Introduction. (3min)  Video: 2-2: Elements of a mathematical program (1). (9min)  Video: 2-3: Elements of a mathematical program (2). (13min)  Video: 2-4: Linear programming. (7min)  Video: 2-5: Graphical approach. (13min)  Video: 2-6: Three types of LPs. (7min)  Video: 2-7: Simple LP formulation - Product mix. (13min)  Video: 2-8: Simple LP formulation - Production and inventory. (14min)  Video: 2-9: Simple LP formulation - Personnel scheduling. (8min)  Video: 2-10: Compact LP formulation - Production and Inventory. (11min)  Video: 2-11: Compact LP formulation – Product mix. (8min)  Video: 2-12: Computers – The Solver add-in and Example 1 – producing desks and tables. (TA) (9min)  Video: 2-13: Computers – Example 2: personnel scheduling. (TA) (4min)  Video: 2-14: Closing remarks. (6min) Assessment: Quiz: Quiz for Week 2 (20 min)、Integer Programming Module Description: In many practical areas, some of the optimization problems occur with integrality constraints imposed on some of the variables. Facility location, machine scheduling, and vehicle routing are some examples. Integer Programming (IP) provides a mathematical way to solve these problems. Learning Objectives:  Students will learn how to formulate integer programs, see various applications, and learn how to use Microsoft Excel to solve a general integer program. Course Content:  Video: 3-0: Opening. (6min)  Video: 3-1: Introduction. (8min)  Video: 3-2: IP formulation (1). (11min)  Video: 3-3: IP formulation (2). (9min)  Video: 3-4: Facility location – Overview. (5min)  Video: 3-5: Facility location – Covering. (10min)  Video: 3-6: Facility location - UFL. (9min)  Video: 3-7: Machine scheduling - Overview. (8min)  Video: 3-8: Machine scheduling - Completion time minimization. (12min)  Video: 3-9: Machine scheduling - Makespan minimization. (7min)  Video: 3-10: Traveling salesperson problem - Basics. (11min)  Video: 3-11: Traveling salesperson problem - Subtour elimination. (13min)  Video: 3-12: Computers – Example 1 – personnel scheduling. (TA) (4min)  Video: 3-13: Computers – Example 2 – facility location. (TA) (6min)  Video: 3-14: Closing remarks. (8min) Assessment: Quiz: Quiz for Week 3 (20min) 、Nonlinear programming Module Description: In the real life, many problems involve nonlinearities. Examples include pricing, inventory, and portfolio optimization. For such problems, we may use Nonlinear Programming (NLP) to formulate them into models and solve them. Learning Objectives:  Students will learn how to formulate nonlinear programs, see various applications, and learn how to use Microsoft Excel to solve a general nonlinear program. Course Content:  Video: 4-0: Opening. (5min)  Video: 4-1: Introduction. (12min)  Video: 4-2: The EOQ problem. (9min)  Video: 4-3: Formulating the EOQ model. (9min)  Video: 4-4: The portfolio optimization problem. (8min)  Video: 4-5: Portfolio optimization. (9min)  Video: 4-6: Linearizing an absolute value function. (10min)  Video: 4-7: Linearizing max_min functions. (11min)  Video: 4-8: Linearizing products 1A. (6min)  Video: 4-9: Linearizing products 1B 1C and 1D. (8min)  Video: 4-10: Linearizing products 2A. (5min)  Video: 4-11: Linearizing products 2B, 2C, and 2D. (10min)  Video: 4-12: Remarks - why linearization. (3min)  Video: 4-13: Computers – Portfolio optimization problem. (TA) (5min)  Video: 4-14: Closing remarks. (2min) Assessment: Quiz: Quiz for Week 4 (20min) 、Case Study: Personnel Scheduling Module Description: In this lecture, we introduce a real business case that has been solved with Operations Research by the instructor. The problem is for a company to schedule its customer service representatives to minimize the total amount of staff shortage. We will demonstrate the problem, process of conducting an OR study, integer programming formulation, and result. Learning Objectives:  Students will see a real case being solved by Operations Research and obtain more ideas about the way to conducting an OR study. Course Content:  Video: 5-0: Opening. (4min)  Video: 5-1: Background and motivation. (6min)  Video: 5-2: Research objective. (8min)  Video: 5-3: Problem description - objective. (9min)  Video: 5-4: Problem description - constraints. (8min)  Video: 5-5: Model formulation - objective. (11min)  Video: 5-6: Model formulation - constraints. (11min)  Video: 5-7: Results. (9min)  Video: 5-8: Closing remarks. (3min) Assessment: Quiz: Quiz for Week 5 (20min) 、Summary and Future Directions Module Description: In the final lecture of this course, we will summarize what we have learned. We will also preview what we may learn in future courses. Learning Objectives:  Students will get a wrap up for this course and an idea about further studies. Course Content:  Video: 6-1: Review for this course. (16min)  Video: 6-2: Preview of the next course. (6min)  Video: A story that never ends. (2min) Assessment: Quiz: Quiz for Week 6 (40min) 、【同步遠距】 Modern Development and Practical Applications of OR、【實體考試】Midterm Exam、Part II: Course Overview Module Description: In the first lecture, we briefly introduce the course and give a quick review about some basic knowledge of linear algebra, including Gaussian elimination, Gauss-Jordan elimination, and definition of linear independence. Learning Objectives:  After this lecture, students can have an idea about what they are going to learn, and get into the ideas about what we need in linear algebra to learn this course. Course Content:  Reading: NTU MOOC course information & QAs (1min)  Video: Prelude. (2min)  Video: 1-1: Overview. (9min)  Video: 1-2: The row and column views for a linear system – A two-dimensional example. (6min)  Video: 1-3: The row and column views for a linear system – A three-dimensional example. (9min)  Video: 1-4: Using Gaussian elimination to solve Ax=b – Nonsingular. (24min)  Video: 1-5: Using Gauss-Jordan elimination to solve A^(-1) – Singular. (13min)  Video: 1-6: Linear dependence and independence. (10min) Assessment: Quiz: Quiz for Week 1 (20 min) 、The Simplex Method Module Description: Complicated linear programs were difficult to solve until Dr. George Dantzig developed the simplex method. In this week, we first introduce the standard form and the basic solutions of a linear program. With the above ideas, we focus on the simplex method and study how it efficiently solves a linear program. Finally, we discuss some properties of unbounded and infeasible problems, which can help us identify whether a problem has optimal solution. Learning Objectives:  After this lesson, students can understand the basic concept of the simplex method, how it works, and how to implement it. Course Content:  Video: 2-0: Opening. (5min)  Video: 2-1: Introduction. (4min)  Video: 2-2: Standard form – Extreme points. (6min)  Video: 2-3: Standard form – Standard form LPs. (8min)  Video: 2-4: Standard form – Standard form LPs in matrices. (4min)  Video: 2-5: Basic solutions – Independence among rows. (6min)  Video: 2-6: Basic solutions – Basic solutions. (4min)  Video: 2-7: Basic solutions – An example for listing basic solutions. (6min)  Video: 2-8: Basic solutions – Basic feasible solutions. (8min)  Video: 2-9: Basic solutions – Adjacent basic feasible solutions. (8min)  Video: 2-10: The simplex method – The idea. (6min)  Video: 2-11: The simplex method – The first move. (12min)  Video: 2-12: The simplex method – The second move. (7min)  Video: 2-13: The simplex method – Updating the system through elementary row operations. (8min)  Video: 2-14: The simplex method – The last attempt with no more improvement. (4min)  Video: 2-15: The simplex method – Visualization and summary for the simplex method. (7min)  Video: 2-16: The tableau representation – An example. (6min)  Video: 2-17: The tableau representation – Another example. (8min)  Video: 2-18: Solving unbounded LPs. (6min)  Video: 2-19: Infeasible LPs – The two-phase implementation. (10min)  Video: 2-20: Infeasible LPs – An example. (10min)  Video: 2-21: Computers – Gurobi and Python for LPs. (TA) (6min)  Video: 2-22: Computers – An example. (TA) (7min)  Video: 2-23: Computers – Model-data decoupling. (TA) (7min)  Video: 2-24: Closing remarks. (6min) Assessment: Quiz: Quiz for Week 2 (20 min) 、The Branch-and-Bound Algorithm Module Description: Integer programming is a special case of linear programming, with some of the variables must only take integer values. In this week, we introduce the concept of linear relaxation and the Branch-and-Bound algorithm for solving integer programs. Learning Objectives:  After this lesson, students can understand how the Branch-and-Bound algorithm works and how to implement it. Course Content:  Video: 3-0: Opening. (6min)  Video: 3-1: Introduction. (3min)  Video: 3-2: Linear relaxation. (4min)  Video: 3-3: Properties of linear relaxation. (10min)  Video: 3-4: Idea of branch and bound. (6min)  Video: 3-5: Example 1 for branch and bound (1). (6min)  Video: 3-6: Example 1 for branch and bound (2). (9min)  Video: 3-7: Example 2 for branch and bound. (5min)  Video: 3-8: Remarks for branch and bound. (8min)  Video: 3-9: Solving the continuous knapsack problem. (11min)  Video: 3-10: Solving the knapsack problem with branch and bound. (11min)  Video: 3-11: Heuristic algorithms. (11min)  Video: 3-12: Performance evaluation. (8min)  Video: 3-13: Remarks for performance evaluation. (6min)  Video: 3-14: Computers – Gurobi and Python for IPs. (TA) (11min)  Video: 3-15: Closing remarks. (6min) Assessment: Quiz: Quiz for Week 3 (20min) 、Gradient Descent and Newton’s Method Module Description: In the past two weeks, we discuss the algorithms of solving linear and integer programs, while now we focus on nonlinear programs. In this week, we first review some necessary knowledge such as gradients and Hessians. Second, we introduce gradient descent and Newton’s method to solve nonlinear programs. We also compare these two methods in the end of the lesson. Learning Objectives:  After this lesson, students can understand how gradient descent and Newton’s method work, and compare pros and cons of these two methods. Course Content:  Video: 4-0: Opening. (7min)  Video: 4-1: Introduction. (8min)  Video: 4-2: Gradient descent – Gradient and Hessians. (7min)  Video: 4-3: Gradient descent – A gradient is an increasing direction. (9min)  Video: 4-4: Gradient descent – The gradient descent algorithm. (11min)  Video: 4-5: Gradient descent – Example 1. (8min)  Video: 4-6: Gradient descent – Example 2. (9min)  Video: 4-7: Newton’s method – Newton’s method for a nonlinear equation. (6min)  Video: 4-8: Newton’s method – Newton’s method for a single-variate NLPs. (7min)  Video: 4-9: Newton’s method – An example for single-variate Newton’s method. (7min)  Video: 4-10: Newton’s method – Newton’s method for multi-variate NLPs. (9min)  Video: 4-11: Computers – Gurobi and Python for NLPs. (TA) (8min)  Video: 4-12: Closing remarks. (6min) Assessment: Quiz: Quiz for Week 4 (20min) 、Design and Evaluation of Heuristic Algorithms Module Description: As the last lesson of this course, we introduce a case of NEC Taiwan, which provides IT and network solutions including cloud computing, AI, IoT etc. Since maintaining all its service hubs is too costly, they plan to rearrange the locations of the hubs and reallocate the number of employees in each hub. An algorithm is included to solve the facility location problem faced by NEC Taiwan. Learning Objectives:  After this lesson, students can understand the practical application of the algorithms we have introduced, and thus have more comprehensive knowledge about the course. Course Content:  Video: 5-0: Opening. (7min)  Video: 5-1: Background. (10min)  Video: 5-2: Motivation and objective. (9min)  Video: 5-3: Three levels of modeling. (7min)  Video: 5-4: Conceptual modeling. (9min)  Video: 5-5: Mathematical modeling (1). (9min)  Video: 5-6: Mathematical modeling (2). (7min)  Video: 5-7: Results. (7min)  Video: 5-8: A heuristic algorithm. (10min)  Video: 5-9: Pseudocode. (7min)  Video: 5-10: Performance evaluation. (4min)  Video: 5-11: Closing remarks. (5min) Assessment: Quiz: Quiz for Week 5 (20min) 、Course Summary and Future Learning Directions Module Description: In the final week, we review the topics that we have learned and give students a summary. Besides, we briefly preview the advanced course to provide future direction of studying. Learning Objectives:  After this lecture, students will wrap up the course and have the ideas about further studies. Course Content:  Video: 6-1: Summary and discussions. (15min)  Video: 6-2: Preview of the next course. (8min)  Video: A story that never ends. (2min) Assessment: Quiz: Quiz for Week 6 (40min) 、【同步遠距】Modern Development and Practical Applications of OR
  • Course enrollment status: Undergraduate、High school students、University students、Graduate students
Back to Course Index