メインコンテンツまでスキップ

組合せ最適化

  • 初学者向けの組合せ最適化の学習用の導入課題です。

目的

  • 数理最適化、特に組合せ最適化の基本や適用方法ついて習得する。

課題と進め方

事前の準備

  1. はじめに

最適化(数理最適化)とは、応用数学に関する幅広い分野であり、問題に対する最適な解を求める方法です。

変数(二次関数の"X"や、商品の個数とか)が実数値の問題を連続最適化問題、 整数値のような離散的なものを組み合わせ最適化(離散最適化)問題と分類します。

combination

例)

  • 連続最適化問題:
    • 高校数学の二次関数の最小最大値を求める問題
    • 機械学習での最適化関数(SGD, Adamなど)
  • 組み合わせ最適化(離散最適化問題):
    • ナップザック問題、巡回セールスマン問題など

大学のオープンキャンパスでの最適化資料

  1. 連続最適化

物理学のポテンシャルエネルギーの最小値(平衡状態)見つけたり、機械学習の損失関数の最適化などを扱います。とても数学的です。

minimize

  1. 組み合わせ最適化

売り上げを最大にするには、材料の数ををどの組み合わせで用意すればいいかなど、現実に関連した問題が多いです。

オープンキャンパス資料

組み合わせ最適化 概要

アルゴリズム一覧

実施する課題

最適化の有名な問題をピックアップしました。

例題に目を通して解き方を理解してください。

そして例題で学んだことを元に、問題を解いてみてください。

コラム的な感じで参考も読んでみてください。

連続最適化

組み合わせ最適化

役に立ちそうなリンク集

最初の課題?

組合せ最適化

最適化100本ノック的な課題?

書籍