Seeks to find the best solution to a problem out of a very large set of possible solutions. Examples:
-
Vehicle routing: Find optimal routes for vehicle fleets that pick up and deliver packages given constraints (e.g., "this truck can't hold more than 20,000 pounds" or "all deliveries must be made within a two-hour window").
-
Scheduling: Find the optimal schedule for a complex set of tasks, some of which need to be performed before others, on a fixed set of machines, or other resources.
-
Bin packing: Pack as many objects of various sizes as possible into a fixed number of bins with maximum capacities.
- Constraint Programming
- Linear and Mixed-Integer Programming
- Vehicle Routing
- Graph Algorithms
- Linear optimization
- Constraint optimization
- Mixed-integer optimization
- Bin packing
- Network flows
- Assignment
- Scheduling
- Routing