Skip to main content

Combinatorial Optimization

  • Introductory problems for beginners learning combinatorial optimization.

Objective

  • Learn the basics and applications of mathematical optimization, especially combinatorial optimization.

Problems and How to Proceed

Preparation

  1. Introduction

Optimization (mathematical optimization) is a broad field related to applied mathematics, dealing with methods for finding the optimal solution to a problem.

Problems where variables (such as "X" in a quadratic function or the quantity of products) take real values are classified as continuous optimization problems, while problems involving discrete values such as integers are classified as combinatorial optimization (discrete optimization) problems.

combination

Examples:

  • Continuous optimization problems:
    • Finding the minimum/maximum of a quadratic function in high school math
    • Optimization functions in machine learning (SGD, Adam, etc.)
  • Combinatorial optimization (discrete optimization) problems:
    • Knapsack problem, Traveling Salesman Problem, etc.

Optimization materials from a university open campus

  1. Continuous Optimization

This covers finding the minimum value (equilibrium state) of potential energy in physics, optimizing loss functions in machine learning, and similar topics. It is very mathematical.

minimize

  1. Combinatorial Optimization

Many problems are related to real-world scenarios, such as determining which combination of materials to prepare to maximize sales.

Open campus materials

Combinatorial optimization overview

List of algorithms

Problems to Work On

Here is a selection of well-known optimization problems.

Read through the examples to understand the solution approaches.

Then, based on what you learned from the examples, try solving the problems.

Also, read through the references as supplementary material.

Continuous Optimization

Combinatorial Optimization

First Problems?

Combinatorial Optimization

Optimization 100 Knocks-Style Problems?

Books