Operations Research (1): Models and Applications

Operations Research (1): Models and Applications

Provider: National Taiwan University

This course gives you a solid foundation in mathematical programming and its role in business analytics.

You’ll start with the basics, understanding the motivation and history behind operations research.

Then, you’ll quickly dive into the core of the course: linear programming (LP).

You’ll learn how to formulate LP problems and solve them, even visually with a graphical approach, making complex concepts easier to grasp.

Real-world applications are at the heart of this course.

You’ll practice formulating LP problems for product mixes, production and inventory management, and personnel scheduling.

By using compact formulations, you’ll see how to streamline these problems for quicker solutions.

The course is hands-on, with computer exercises using the Solver add-in.

You’ll apply what you’ve learned to practical examples, like optimizing desk and table production or creating efficient work schedules.

Next, you’ll explore integer programming (IP) and its use in facility location and machine scheduling, aiming to minimize costs and completion times.

The traveling salesperson problem is also covered, teaching you strategies for route optimization.

For those interested in inventory management, the Economic Order Quantity (EOQ) model section will show you how to minimize costs through optimal ordering.

And if finance is your focus, the portfolio optimization segment will guide you in selecting the best investment mix for maximum returns.

Linearization techniques are a highlight, offering you methods to simplify complex problems, making them more approachable and solvable.

The course concludes with a comprehensive review and a preview of what’s next, should you choose to continue your operations research education.

Operations Research (2): Optimization Algorithms

Operations Research (2): Optimization Algorithms

Provider: National Taiwan University

This course equips you with a deep understanding of optimization algorithms, crucial for solving complex problems in various industries.

You’ll start with the essentials, learning about linear systems and how to solve them using techniques like Gaussian elimination.

This foundational knowledge is critical as it underpins the more advanced topics you’ll encounter later.

As you progress, the course delves into linear programming (LPs), where you’ll master the simplex method, a cornerstone algorithm for optimization.

You’ll learn to identify extreme points, understand basic solutions, and apply the simplex method through practical examples, ensuring you grasp the concepts thoroughly.

Branch and bound methods are also covered, teaching you how to break down intricate problems into simpler ones, a skill that’s invaluable when facing real-world challenges.

The course also tackles the knapsack problem, illustrating the principles of optimization in a tangible way.

A unique feature of this course is its hands-on approach to technology.

You’ll learn to use Python and Gurobi, tools that are essential for implementing LPs in professional settings.

This practical experience bridges the gap between theory and application, giving you a competitive edge.

The course doesn’t stop at linear problems.

You’ll explore gradient descent and Newton’s method for tackling nonlinear problems, learning how to navigate the complexities of these equations and find optimal solutions efficiently.

Modeling is the final piece of the puzzle, where you’ll learn to create models that accurately represent real-life scenarios.

You’ll even develop your own heuristic algorithm, enhancing your problem-solving toolkit.

Throughout the course, performance evaluation is emphasized, ensuring you can assess the effectiveness of your solutions.

The curriculum is thoughtfully structured, building your knowledge step by step.

Operations Research (3): Theory

Operations Research (3): Theory

Provider: National Taiwan University

This course deepens your understanding of complex decision-making tools and techniques, essential for tackling real-world problems.

Starting with a review of the simplex method, you’ll quickly move to its application in matrix form, ensuring you have a strong foundation.

You’ll then explore primal-dual pairs and duality concepts, which are crucial for examining problems from multiple perspectives to identify optimal solutions.

Shadow pricing is another key topic you’ll master, learning how changes in constraints can impact your objective, whether it’s minimizing costs or maximizing profits.

Practical application is a strong focus, with sessions on using Gurobi and Python to solve these problems efficiently, giving you valuable computational skills.

Network flow problems are also covered extensively.

You’ll learn to manage and optimize the movement of goods or information, tackling transportation, assignment, and transshipment problems with ease.

The course delves into convex programming, where you’ll understand how to navigate and optimize outcomes within specific shapes or curves in your data.

This knowledge is pivotal for ensuring you’re selecting the best solutions within complex scenarios.

Advanced techniques such as Lagrange relaxation and the KKT condition are also part of the curriculum, offering you methods to handle challenging problems with multiple constraints.

These are powerful tools that can significantly enhance your problem-solving capabilities.

Towards the end, the course introduces you to machine learning concepts like simple linear regression and support vector machines (SVM), bridging the gap between operations research and data analysis.

This integration equips you with predictive tools to make data-driven decisions.

By the end of this course, you’ll have a robust set of skills in operations research, ready to apply in business, engineering, or any field requiring strategic decision-making.

Discrete Optimization

Discrete Optimization

This course is a practical, hands-on journey through the world of optimization, designed to equip you with the skills to solve complex real-world problems.

You’ll start with the knapsack problem, learning to pick the best combination of items for maximum value.

This isn’t just theory; you’ll apply techniques like dynamic programming and branch and bound to find solutions.

Next, you’ll master constraint programming (CP), a powerful tool that helps you set rules and let the computer do the heavy lifting.

You’ll solve puzzles like Sudoku and tackle scheduling issues, such as planning a wedding seating chart without the stress.

Local search (LS) strategies come into play as you learn to make incremental changes to improve solutions.

This method is key for optimizing routes for delivery trucks or creating efficient sports tournament schedules.

The course also covers linear programming (LP), a critical decision-making tool for complex scenarios.

You’ll navigate through multiple options to find the most efficient path, much like choosing the best route on a map.

For more intricate problems, you’ll delve into mixed-integer programming (MIP), which handles decisions that are binary, like on/off switches.

This technique is essential for real-life applications, such as warehouse location planning and truck routing.

As you progress, you’ll tackle assignments that mirror real-life challenges, from facility location to vehicle routing.

You’ll learn to avoid solution dead-ends and employ algorithms like simulated annealing, inspired by metallurgy, to refine your results.

By the end of this course, you’ll not only have a toolkit of optimization methods but also practical experience in applying them.

Whether it’s using the simplex algorithm, breaking symmetries, or understanding the nuances of heuristics, you’ll be ready to tackle any optimization challenge.

If you’re passionate about finding the best solutions and eager to apply math and computing to real-world issues, this Discrete Optimization course is tailored for you.

It’s not just about learning; it’s about applying knowledge to navigate and conquer the optimization landscape.

Solving Algorithms for Discrete Optimization

Solving Algorithms for Discrete Optimization

You’ll start by mastering Constraint Programming Solvers, learning how to set up problems with specific rules and find fitting solutions.

It’s like crafting a custom puzzle and solving it piece by piece.

You’ll understand the importance of Domains and Propagators in defining these problems.

As you progress, you’ll delve into Bounds Propagation and the Propagation Engine, honing your ability to eliminate impossible solutions quickly.

This is crucial for focusing your efforts on viable options.

The course also covers various search strategies, teaching you how to sift through potential solutions to find the optimal one.

With Optimization in CP, you’ll not just find any solution, but the best one for your specific problem.

Advanced topics such as Restart and Advanced Search strategies will be demystified, giving you insight into the intricacies of constraints like Alldifferent and Cumulative.

You’ll also explore Linear Programming and Mixed Integer Programming, which are essential for problems involving both whole numbers and fractions.

Cutting Planes techniques and the application of MiniZinc to MIP will further enhance your problem-solving toolkit.

You’ll be able to slice through complex issues with precision and apply modeling tools effectively.

Local Search strategies will introduce you to methods for navigating vast solution spaces.

Techniques like Escaping Local Minima, Simulated Annealing, and Large Neighbourhood Search will empower you to avoid settling for subpar solutions and instead aim for the best possible outcome.

Practical workshops, including “Birthday Parade” and “Banquet Preparation,” provide hands-on experience, allowing you to apply your newfound knowledge to real-world scenarios.

The course culminates with the “Refugee Assignment” workshop, where you’ll employ all your skills to solve a challenging problem.

Basic Modeling for Discrete Optimization

Basic Modeling for Discrete Optimization

This course gives you a practical understanding of how to model and solve optimization problems using MiniZinc, a leading tool in the field.

Starting with the basics, you’ll quickly learn to construct your first models, which are essential for simplifying complex decisions.

The course is structured to build your skills progressively, introducing you to arrays, comprehensions, and global constraints—key elements in creating effective optimization models.

What sets this course apart is its hands-on approach.

Through workshops, you’ll apply your new knowledge to solve problems like temperature regulation and strategic planning.

This real-world application ensures that the concepts you learn are not only understood but also retained.

As you delve deeper, the course covers set representations and functions, teaching you about cardinality and how to manage sets with specific limitations.

You’ll also master permutations, a concept vital for arranging data in optimization problems.

Guidance comes from experts like Professor Mark Wallace, who brings a wealth of knowledge in decision support systems.

The course is rich with reference materials, including solutions to workshops, allowing you to learn from both successes and mistakes.