MATLAB Programs for Various Discrete Optimization Methods

Resource Overview

Application Background Optimization techniques are ubiquitous in our society, with applications ranging from scheduling aircraft and crew members to coordinating steel production and managing iron ore transportation from mines to ports. These techniques facilitate the clearing of day-ahead and real-time electricity markets, enabling power supply to millions. Additionally, optimization supports kidney transplant coordination, cancer treatment planning, and aids scientists in understanding fundamental life structures, controlling complex chemical reactions, and designing drugs with potential benefits for billions. This course introduces discrete optimization and presents fundamental concepts and algorithms in the field. It covers constraint programming, local search, and mixed-integer programming, progressing from basics to their application in solving complex real-world problems like scheduling, vehicle routing, supply chain optimization, and resource allocation. The curriculum includes extensive MATLAB implementations of core algorithms with detailed code explanations.

Detailed Documentation

Application Background

Optimization techniques are pervasive in our society with broad applications. For instance, they enable aircraft and crew scheduling, coordination of steel production, and organization of iron ore transportation from mines to ports. Furthermore, optimization techniques help clear day-ahead and real-time electricity markets to supply power to millions of people. They also assist in organizing kidney transplants and cancer treatments, while helping scientists understand fundamental life structures, control complex chemical reactions, and design drugs that may benefit billions.

This course introduces discrete optimization and demonstrates fundamental concepts and algorithms in this domain. It covers constraint programming, local search, and mixed-integer programming, teaching how to apply these techniques from basic principles to solve complex practical problems such as scheduling, vehicle routing, supply chain optimization, and resource allocation.

Key Technologies

This course provides comprehensive MATLAB implementations of fundamental optimization algorithms with detailed code explanations for educational and practical use. Included are implementations of enumeration methods, Monte Carlo methods, linear integer programming, integer programming enumeration (with explicit and implicit enumeration techniques), nonlinear integer programming, graphical tools for nonlinear integer programming, Kruskal's algorithm for minimum spanning trees, Dijkstra's algorithm for shortest path problems, along with their corresponding Mex program implementations for enhanced computational efficiency. The course also covers dynamic programming implementations with practical demonstrations.

These techniques enable students to gain deeper insights into discrete optimization and apply them to real-world problems. For example, students can use these algorithms to solve resource allocation challenges and vehicle routing problems. Through mastering these techniques, students can enhance their mathematical and computer science capabilities while preparing for future professional careers.