How to tackle hard combinatorial optimization problems arising in real applications?

D0167b760673d702a06427fb3f878696?s=47 Shunji Umetani
January 31, 2020

How to tackle hard combinatorial optimization problems arising in real applications?

実務に現れる多くの事例が組合せ最適化問題にモデル化できることが再認識されるようになりました.
しかし,その多くはNP困難問題と呼ばれる計算困難な組合せ最適化問題であり,どのようにアプローチすれば良いか悩んでいる人は少なくないと思います.
本講演では,実務に現れる組合せ最適化問題に対する実践的なアプローチを説明した後に,具体的な事例として「電子ジャーナルの購読計画」と「カタログレイアウトの自動作成」をご紹介します.
特に,数理最適化の教科書や専門書はアルゴリズムや理論の話題が中心なので,講演では具体的な事例を通じてモデル化やヒューリスティクスの話題をご紹介したいと思います.

D0167b760673d702a06427fb3f878696?s=128

Shunji Umetani

January 31, 2020
Tweet

Transcript

  1. 組合せ最適化による問題解決の 実践的なアプローチ ⼤阪⼤学 ⼤学院情報科学研究科 梅⾕ 俊治 2020年1⽉30⽇ Optimization Night #2

  2. ⾃⼰紹介 梅⾕ 俊治 (うめたに しゅんじ) • 所属︓⼤阪⼤学 ⼤学院情報科学研究科 情報数理学専攻 •

    専⾨分野︓数理最適化(組合せ最適化),アルゴリズム,離散数学など • 現在の主な研究テーマ︓ ü 問題構造の解析に基づく組合せ最適化アルゴリズムの⾃動構成 ü ⼤規模かつ汎⽤的な組合せ最適化問題に対するヒューリスティクス ü 図形の詰込み・切出し問題に対するヒューリスティクス ü 数理最適化モデルとアルゴリズムの現実問題への応⽤ • これまでに取り組んだ応⽤事例 ü 電気⾃動⾞の充放電計画 ü 住宅の電⼒運⽤計画 ü 対訳⽂の対応付け ü ⾐服の型紙の配置 ü 紙パイプの切出し計画 ü 無⼈搬送⾞の運⾏計画 ü プリント基板検査プローブの経路計画 ü ⼈の移動履歴の推定 2 ü クーポンの配信計画 ü ホテル予約システムの表⽰順 ü カタログのレイアウト計画 ü 電⼦ジャーナル購読計画 ü ⾃動⾞専⽤船の運航計画 ü ⾃動⾞専⽤船の積付け計画 ü その他いろいろ
  3. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 3 講演時間の都合により 資料のみ公開します
  4. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 4
  5. 数理最適化による問題解決 • ビッグデータが取得・処理できた︕ビッグデータが分析できた︕ ところで,どうやって意思決定・問題解決を実現すれば良い︖ • 機械学習は気付きを与えるが解決策を与えるわけではない. • 数理最適化は意思決定・問題解決のための有効な⼿段*. • 最適化問題=制約条件を満たす解の中で⽬的関数を最⼩(最⼤)に

    する解を求める問題. 5 *実際に数理最適化をAIと銘打ってプレスリリースする事例も少なくありません. 広告配信 ⼈員配置 システム運⽤ 物流・配送 ⽣産計画 エネルギー 機械学習 制御 信号処理 待ち⾏列 シミュレーション 数理最適化 ゲーム理論 現実世界 数理の世界 学術から産業まで幅広い分野の事例が 最適化問題に定式化できる
  6. 数理最適化による問題解決 • ビッグデータが取得・処理できた︕ビッグデータが分析できた︕ ところで,どうやって意思決定・問題解決を実現すれば良い︖ • 機械学習は気付きを与えるが解決策を与えるわけではない. • 数理最適化は意思決定・問題解決のための有効な⼿段. • 最適化問題=制約条件を満たす解の中で⽬的関数を最⼩(最⼤)に

    する解を求める問題. 6 ⼈気商品に偏ってない︖ 予算内に収められる︖ 多様な制約を満たせる︖ AIと⼀⼝には ⾔うものの ビッグデータ 機械学習 数理最適化 データの取得 データの分析 意思決定 数百万の顧客に推薦する 商品の割当てを求める 超⼤規模な最適化問題 機械学習で個別の割当の 期待利得は推定できるが クーポン配信の事例
  7. 数理最適化による問題解決 • ビッグデータが取得・処理できた︕ビッグデータが分析できた︕ ところで,どうやって意思決定・問題解決を実現すれば良い︖ • 数理最適化は意思決定・問題解決のための有効な⼿段. • 最適化問題=制約条件を満たす解の中で⽬的関数を最⼩(最⼤)に する解を求める問題. •

    最適化問題に定式化+アルゴリズムの開発・適⽤+(近似)最適解 の分析・検証+最適化モデルの検証. 7 現 実 問 題 最 適 化 モ デ ル ( 近 似 ) 最 適 解 解 決 策 定式化 アルゴリズムの 開発と適⽤ 分析・検証 最適化モデルの修正
  8. 最適化問題に定式化する • ある飲料メーカーでは,トマト,にんじん,ほうれん草を原料とす る野菜ジュースを製造している. • 野菜ジュースに含まれる⾷物繊維,ビタミンC,鉄分,βカロチンの 必要量を満たしつつ,製造に要する原料費を最⼩に抑えるための各 野菜の購⼊量は︖ • トマト,にんじん,ほうれん草の購⼊量(kg)をx1

    , x2 , x3 とする. 8 ⾷物繊維 ビタミンC 鉄分 βカロチン 価格(円/kg) トマト 10 15 2 5 400 にんじん 25 5 2 80 250 ほうれん草 30 35 20 40 1000 必要量(単位/2L) 50 60 10 40 → 原料費を最⼩化 → ⾷物繊維は50単位以上 → ビタミンCは60単位以上 → 鉄分は10単位以上 → βカロチンは40単位以上 → 各野菜の購⼊量は⾮負
  9. 線形計画問題と整数計画問題 • 線形計画問題(Linear Program; LP) ü 線形制約の下で線形関数を最⼩化(最⼤化) • 整数計画問題(Integer Program;

    IP) ü 広義︓変数に整数条件の付いた最適化問題 ü 狭義︓線形計画問題+変数の整数条件 9 * のようにベクトルと⾏列を⽤いて記述する場合も多い. ઢܗܭը໰୊ͷ࣮ߦՄೳྖҬ ੔਺ܭը໰୊ͷ࣮ߦՄೳྖҬ ࠞ߹੔਺ܭը໰୊ͷ࣮ߦՄೳྖҬ 連続変数と整数変数が混 在する問題は,混合整数 計画問題(Mixed Integer Program; MIP) Jは整数変数の添字集合
  10. 組合せ最適化問題とその応⽤事例 • 組合せ最適化問題=探索空間が離散的であるもしくは離散的な ものに減らせる最適化問題.解が集合,順序,割当て,グラフ, 論理,整数などの離散構造で記述される場合が多い. 10 多くの現実問題が組合せ最適化問題に定式化できる

  11. 事例︓電⼦ジャーナルの購読計画 • 電⼦ジャーナルの価格⾼騰による包括契約からタイトル毎の個別 契約への移⾏により⽣じる諸問題の解決. • 限られた予算の下で購読タイトルを決定する問題を整数計画問題 に定式化.最⼩充⾜率の最⼤化することで,分野による偏りのな い現実的な購読計画案を実現. • 全体の充⾜率が66.05%→70.50%と向上.

    • 最⼩充⾜率も68.87%と分野による偏りを⼤幅に軽減. 11 0% 20% 40% 60% 80% 100% Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and… Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences 0% 20% 40% 60% 80% 100% Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and… Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences
  12. 事例︓カタログのレイアウト計画 • 週次で商品カタログを配布し,顧客から注⽂を受けた商品を配送 する宅配事業会社において,1000点以上の商品を掲載している 50〜100ページのカタログのレイアウトを⾃動作成する. • 同種の商品を互いに近くに配置するレイアウトを⾃動作成する問 題を(1)⻑⽅形詰込み問題,(2)割当問題の2通りに定式化した. • コマ割りのテンプレートをあらかじめ⽤意し,1ページあたり1秒

    で実⽤的なレイアウトを作成するメタヒューリスティクスを開発. 12
  13. 事例︓⾃動⾞船の運航計画 • 世界各地を航海する約100隻の⾃動⾞専⽤船を4ヶ⽉先までの約200 ブッキング(約130万台)に割り当てる. • 各船の航海パターンの候補を列挙した後に,全てのブッキングを充⾜ する航海パターンの組み合わせを求める整数計画問題に定式化する. • 数理最適化ソルバーにより3分で実⽤的なスケジュールを作成. 13

    Booking1 5000台 Booking2 3000台 Booking3 4000台 Booking4 4500台 Booking5 2500台 貨物船2:3000台 貨物船1:5000台 <latexit sha1_base64="tI4NbA88wk3UGDXGY96Hwj3VUrI=">AAACrHichVE9S8NQFD3Gr/rZqovgIpaKU7mRguJUcHFUa1WopSTxpQbzRZIWa/APCK46OCk4iD/DRdwd+hPEUcHFwZs0UFTU+3h55513z33n5aquafgBUbtH6u3rHxhMDQ2PjI6NpzMTk9u+0/A0UdYc0/F2VcUXpmGLcmAEpth1PaFYqil21MPV6HynKTzfcOytoOWKqqXUbUM3NCVgqnRUk2uZLOUpjtmfQE5AFkmsO5lH7GEfDjQ0YEHARsDYhAKfRwUyCC5zVYTMeYyM+FzgBMOsbXCW4AyF2UP+1nlXSVib91FNP1ZrfIvJ02PlLHL0RLf0Sg90R8/08WutMK4ReWnxqna0wq2lT6dL7/+qLF4DHHRVf3oOoGM59mqwdzdmoldoHX3z+OK1tLKZC+fpml7Y/xW16Z5fYDfftJsNsXn5hx+Vvfz+x0Lm9K5bbqP8vWk/wfZiXqa8vFHIFgtJQ1OYwRwWuGtLKGIN6yjzLXWc4RwXUl7akipStZMq9SSaKXwJSf8EQVGZRg==</latexit> <latexit sha1_base64="TvN/BVfDctszjWwBRC5rFEyjDRI=">AAACrHichVE9S8NQFD3G7++qi+AilopTuSkFxUlwcazWqlBLSeJLDeaLJC1q8A8IrnZwUnAQf4aLuDv4E8RRwcXBmzQgWlrv4+Wdd949952Xq7qm4QdELz1Sb1//wODQ8Mjo2PjEZGpqesd36p4mSppjOt6eqvjCNGxRCozAFHuuJxRLNcWuerQene82hOcbjr0dnLiiYik129ANTQmYKh5Xc9VUmrIUx3w7kBOQRhIFJ/WEfRzAgYY6LAjYCBibUODzKEMGwWWugpA5j5ERnwucYYS1dc4SnKEwe8TfGu/KCWvzPqrpx2qNbzF5eqycR4ae6Y7e6ZHu6ZW+OtYK4xqRlxNe1ZZWuNXJ89ni578qi9cAhz+qrp4D6FiJvRrs3Y2Z6BVaS984bb4XV7cy4SLd0Bv7v6YXeuAX2I0P7XZTbF118aOyl85/LGRO/3HLbZT/Nq0d7OSyMmXlzXx6LZ80dAhzWMASd20Za9hAASW+pYYLXKIpZaVtqSxVWqlST6KZwa+Q9G9Dl5lH</latexit> <latexit sha1_base64="htk3V/2aYntsWzUxyIJ36MHWJ7U=">AAACrHichVE9S8NQFD3Gr1o/WnURXMRScSo3KihOBRfH1tpaqKUk8bWGpklI0qIW/4DgagcnBQfxZ7iIu0N/gjgquDh4mwaKFut9vLzzzrvnvvNyVdvQXY+oPSQNj4yOjYcmwpNT0zOR6OxczrXqjiaymmVYTl5VXGHopsh6umeIvO0IpaYa4kCt7nTODxrCcXXL3PdObVGsKRVTL+ua4jGVOSmtl6IxSpAfS/1ADkAMQaSs6DMOcQQLGuqoQcCEx9iAApdHATIINnNFNJlzGOn+ucA5wqytc5bgDIXZKn8rvCsErMn7Tk3XV2t8i8HTYeUS4vRC9/ROT/RAr/T1Z62mX6Pj5ZRXtasVdilysZD5/FdV49XDcU810LOHMrZ8rzp7t32m8wqtq2+ctd4z23vx5grd0hv7v6E2PfILzMaHdpcWe9cD/Kjs5e8/1mSu3HPLbZR/N60f5NYSMiXk9EYsuRE0NIRFLGOVu7aJJHaRQpZvqeASV2hJCWlfKkjFbqo0FGjm8SOk8jdF3ZlI</latexit> <latexit sha1_base64="wD8k2qTn7FJZuCWfggfI0/NHryM=">AAACrHichVE9S8NQFD2NX7V+tOoiuBSL4lRupKA4FVwc+2kLtZQkvtZgmoQkLdbiHxBcdXBScBB/hou4O/QniGMFFwdv04CoqPfx8s477577zstVbUN3PaJeSBoZHRufCE9GpqZnZqOxufld12o5mihqlmE5ZVVxhaGboujpniHKtiOUpmqIknq4PTgvtYXj6pZZ8Dq2qDaVhqnXdU3xmMof1VK1WIKS5Ef8J5ADkEAQGSv2iD3sw4KGFpoQMOExNqDA5VGBDILNXBVd5hxGun8ucIIIa1ucJThDYfaQvw3eVQLW5P2gpuurNb7F4OmwMo4VeqJb6tMD3dEzvf9aq+vXGHjp8KoOtcKuRU8X82//qpq8ejj4VP3p2UMdm75Xnb3bPjN4hTbUt48v+vmt3Ep3la7phf1fUY/u+QVm+1W7yYrc5R9+VPby+x/rMlf/dMttlL837SfYXU/KlJSzqUQ6FTQ0jCUsY427toE0dpBBkW9p4AznuJCSUkGqSNVhqhQKNAv4ElL9A0gjmUk=</latexit> <latexit sha1_base64="0c977q0VdlK7Tvfijp+fdA27RJs=">AAACrHichVE9S8NQFD3Gr1o/WnURXMRScSo3oihOBRfH1tpaqKUk8bWGpklI0qIW/4DgagcnBQfxZ7iIu0N/gjgquDh4mwaKFut9vLzzzrvnvvNyVdvQXY+oPSQNj4yOjYcmwpNT0zOR6OxczrXqjiaymmVYTl5VXGHopsh6umeIvO0IpaYa4kCt7nTODxrCcXXL3PdObVGsKRVTL+ua4jGVOSltlKIxSpAfS/1ADkAMQaSs6DMOcQQLGuqoQcCEx9iAApdHATIINnNFNJlzGOn+ucA5wqytc5bgDIXZKn8rvCsErMn7Tk3XV2t8i8HTYeUS4vRC9/ROT/RAr/T1Z62mX6Pj5ZRXtasVdilysZD5/FdV49XDcU810LOHMrZ8rzp7t32m8wqtq2+ctd4z23vx5grd0hv7v6E2PfILzMaHdpcWe9cD/Kjs5e8/1mSu3HPLbZR/N60f5NYSMiXk9HosuR40NIRFLGOVu7aJJHaRQpZvqeASV2hJCWlfKkjFbqo0FGjm8SOk8jdKaZlK</latexit> <latexit sha1_base64="htbl/5wnPsioSaE2iOfxBj35DGc=">AAACrHichVE9S8NQFD3Gr1o/WnURXMRScSo3IipOBRfH1tpaqKUk8bWGpklI0qIW/4DgagcnBQfxZ7iIu0N/gjgquDh4mwaKFut9vLzzzrvnvvNyVdvQXY+oPSQNj4yOjYcmwpNT0zOR6OxczrXqjiaymmVYTl5VXGHopsh6umeIvO0IpaYa4kCt7nTODxrCcXXL3PdObVGsKRVTL+ua4jGVOSltlKIxSpAfS/1ADkAMQaSs6DMOcQQLGuqoQcCEx9iAApdHATIINnNFNJlzGOn+ucA5wqytc5bgDIXZKn8rvCsErMn7Tk3XV2t8i8HTYeUS4vRC9/ROT/RAr/T1Z62mX6Pj5ZRXtasVdilysZD5/FdV49XDcU810LOHMrZ8rzp7t32m8wqtq2+ctd4z23vx5grd0hv7v6E2PfILzMaHdpcWe9cD/Kjs5e8/1mSu3HPLbZR/N60f5NYSMiXk9HosuR40NIRFLGOVu7aJJHaRQpZvqeASV2hJCWlfKkjFbqo0FGjm8SOk8jdMr5lL</latexit> <latexit sha1_base64="mhFnBiJ3ht41i33JOJyqPTOG7LY=">AAACrHichVE9S8NQFD3G789WXQQXsVScyo0UFCfBxbFaq0ItJYkvNZgvkrSowT8guNrBScFB/Bku4u7gTxBHBRcHb9KAaGm9j5d33nn33Hderuqahh8QvfRIvX39A4NDwyOjY+MTqfTk1I7v1D1NlDTHdLw9VfGFadiiFBiBKfZcTyiWaopd9Wg9Ot9tCM83HHs7OHFFxVJqtqEbmhIwVTyuLlfTGcpRHHPtQE5ABkkUnPQT9nEABxrqsCBgI2BsQoHPowwZBJe5CkLmPEZGfC5whhHW1jlLcIbC7BF/a7wrJ6zN+6imH6s1vsXk6bFyDll6pjt6p0e6p1f66lgrjGtEXk54VVta4VZT5zPFz39VFq8BDn9UXT0H0LESezXYuxsz0Su0lr5x2nwvrm5lwwW6oTf2f00v9MAvsBsf2u2m2Lrq4kdlL53/WMic/uOW2yj/bVo72FnKyZSTN/OZtXzS0CHMYh6L3LVlrGEDBZT4lhoucImmlJO2pbJUaaVKPYlmGr9C0r8BTvWZTA==</latexit> 航海パターン候補は 約200万通り 4ヶ⽉間の航海数は 約200航海 4ヶ⽉間の荷量は 約130万台 船舶数は約100隻 (約50万台の輸送能⼒)
  14. 事例︓⾃動⾞船の積付け計画 • ⽇本の2〜3ヶ所の積み港から海外の2〜3ヶ所の揚げ港に運⾏す る⾃動⾞船について,複数の⾞種から構成される約20ブッキング を⾃動⾞船内の約40ホールドに割り当てる. • 寄港時の⾞両の搬⼊・搬出経路の確保などいくつかの条件を考慮 しつつ,ブッキングを⾃動⾞船内のホールドに割り当てる問題を 整数計画問題に定式化する. 14

    揚げ港 X港 Y港 Z港 A港 100 200 2200 積み港 B港 300 2000 300 C港 1300 600 100 寄港順は A→B→C→X→Y→Z ホールド1 ブッキングの概要 ホールド2 ホールド3 ホールド4 ホールド5 ⾃動⾞専⽤船の概要 積付けの例
  15. 事例︓クーポンの配信計画 • 数百万の顧客に商品のクーポンを配信する. • 機械学習により顧客の購⼊履歴からその嗜好は推定できるが,⼀部 の⼈気商品に偏らない,各顧客に配信するクーポン数を抑えるなど, 実務から⽣じる多様な制約の下で期待利得の合計を最⼤化したい. • 汎⽤的な数理最適化ソルバーでは数千〜数万ユーザの規模が限界. •

    探索空間内の解をランダムサンプリングする簡略化した局所探索法 を500商品,300万ユーザーの超⼤規模な問題例に適⽤し,1時間で 良好なクーポンの配信計画を作成. 15 ⼈気商品に偏ってない︖ 予算内に収められる︖ 多様な制約を満たせる︖ 機械学習で個別の割当の 期待利得は推定できるが 顧客数が300万⼈以上の 超⼤規模な最適化問題
  16. 事例︓ビットマップ図形の詰込み • ⾼解像・任意形状の図形を効率的に詰め込む最適化問題. • ビットマップ図形を隙間なく詰込む問題に対して局所探索法を開発. • ビットマップ図形を⽔平と垂直⽅向に⾛査して2種類のスキャンラ イン図形を作成した上で,ミンコフスキー差と呼ばれる補助データ 構造から各図形対の重なり度を⾼速に計算する⽅法を提案. •

    1次元探索を繰り返し適⽤する局所探索法を開発して,ベンチマー ク問題例に適⽤. 16 Profiles2(75.9%) Profiles9(55.3%) 2048pixel Swim(72.7%) Mao (83.6%)
  17. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 17
  18. 組合せ最適化問題の難しさ • NP困難問題=厳密な最適解を求めるのに必要な計算時間が最悪で ⼊⼒サイズの指数関数になると多くの研究者が考えている問題. • 都市をちょうど1回ずつ訪問する最短の巡回路を求める巡回セールス マン問題の解候補を列挙すると 通り. 18 Newsweek,

    July 26, 1954 PCB3038 D15112 都市数 巡回路の総数 計算時間(秒) 6 60 4.32×10-10 8 2520 3.23×10-8 10 1.81×105 3.63×10-6 15 4.36×1010 1.96 20 6.08×1016 4.87×106 約56⽇ 25 3.10×1023 3.88×1013 約122万年 30 4.42×1030 7.96×1020 約25233億年 100TFlopsのコンピュータを⽤いて 巡回路を列挙したときの計算時間 ⼤規模な巡回セールスマン問題を 解く必要が⽣じることは少なくない 全ての解を列挙することは現実的には不可能
  19. 多様な問題に共通する 良い構造はない 計算困難な問題に対するアプローチ • 厳密解法と近似解法 ü 厳密解法︓最悪の場合に指数時間かかっても最適解を求める. ü 近似解法︓現実的な計算時間で良い実⾏可能解を求める. •

    汎⽤解法と専⽤解法 ü 汎⽤解法︓整数計画問題などに定式化して汎⽤ソルバーを適⽤する. ü 専⽤解法︓個々の問題の特徴を利⽤した専⽤ソルバーを開発する. 19 問題の特徴が利⽤できず⾼性能な アルゴリズムの実現が困難 アルゴリズムが適⽤可能な 範囲が狭く汎⽤性に⽋ける 多様な問題に適⽤可能な 汎⽤性の⾼いアルゴリズム 個々の問題の特徴を利⽤した ⾼性能なアルゴリズム a 整数計画問題 分枝限定法 b c d e 現実世界 a b c d e 現実世界 問題 a 問題 b 問題 e アルゴリズム a アルゴリズム b アルゴリズム e 「汎⽤的」かつ「⾼性能」なソルバーの実現は困難
  20. 現実問題への数理最適化の適⽤ • 汎⽤の数理最適化ソルバーを利⽤ ü 現実問題が既知の最適化問題と完全に⼀致することは稀. ü 専⽤ソルバーが利⽤可能な状態で公開されていることは稀. ü 整数計画問題に定式化して汎⽤の数理最適化ソルバーを適⽤する. ü

    現実的な計算時間で解ける問題の規模が限られる場合が多い. • 専⽤アルゴリズムを開発 ü 汎⽤の数理最適化ソルバーでは解けない⼤規模・複雑な問題. ü 問題構造を上⼿く利⽤すれば効率的なアルゴリズムが開発可能. ü ⼗分な知識・技術と開発期間が必要. 20 問題の分割や定式化などアルゴリズム以外の部分の ⼯夫で解決できることも多い
  21. 現実問題への数理最適化の適⽤ • 全くの修正なしに妥当な最適化モデルが得られることはまずない. • アルゴリズムの開発・修正には⾮常に⼿間がかかる. • 妥当な最適化モデルが得られるまでは汎⽤の数理最適化ソルバーを ⽤いて,アルゴリズムの開発に要する⼿間を削減する. 21 ソルバーの適⽤

    現 実 問 題 最 適 化 モ デ ル ( 近 似 ) 最 適 解 解 決 策 定式化 分析・検証 最適化モデルの修正 アルゴリズムの 開発と適⽤ 現 実 問 題 最 適 化 モ デ ル ( 近 似 ) 最 適 解 解 決 策 定式化 分析・検証 汎⽤の数理最適化ソルバーを⽤いた実証実験の後に 専⽤アルゴリズムの開発を検討する
  22. 整数計画ソルバーの現状 • 商⽤ソルバー ü Gurobi Optimizer (Gurobi optimization) ü CPLEX

    Optimizer (IBM) ü FICO Xpress Optimization (FICO) ü Numerical Optimizer (NTTデータ数理システム) ü その他いろいろ • ⾮商⽤ソルバー ü SCIP Optimization Suite (Zuze Institute) ü CBC (COIN-OR Project) ü GLPK (GNU Project) ü lpsolve ü その他いろいろ • 商⽤・⾮商⽤ソルバー性能の現状 ü 線形計画問題︓商⽤ソルバー > ⾮商⽤ソルバー ü 整数計画問題︓商⽤ソルバー >> ⾮商⽤ソルバー 22 「最適化モデルの作成・修正」や「専⽤アルゴリ ズムの性能評価」のために最先端の商⽤ソルバー を1つ持っておくと⾮常に便利 数理最適化ソルバー全般は H.D.Mittelmannの「Decision Tree for Optimization Software」 が詳しい.http://plato.asu.edu/guide.html
  23. 整数計画ソルバーの現状 • 宮代隆平,ここまで解ける整数計画―近年の発展― (2008) • 整数計画ソルバーを途中で⽌めても,暫定解が取得できるので, 整数計画ソルバーを近似解法として利⽤することも多い. • 下界を利⽤すれば暫定解の精度も事後的に評価できる. 23

    整数計画問題を解くソルバーの進歩は著しく「15年間で100万倍⾼速化した」 といわれる.この100万倍の内訳は,ハードウェアの⾼速化で1000倍,アル ゴリズムの⾼速化で1000倍である.この数字は数年前に⾔われていたもので あり,現在では「20年間で1000万倍(=3000倍×3000倍)」と⾔っても過⾔ ではない. (中略) どのぐらいの規模の問題を解けるのだろうか︖⼀概に⾔うことはできないが, 個⼈的には以下のような感覚を持っている. ü 変数が1000個未満︓何も考えずにソルバーで解かせる. ü 変数が5000固程度︓おそらく解ける. ü 変数が10000個程度︓最適性の証明が難しいこともある. ü 変数が50000個程度︓問題が簡単なら解ける. 個⼈⽤PCを利⽤ *整数計画問題の難しさはその規模に必ずしも⽐例しない.⼩規模でも⾮常に難しい問題例は珍しくない.
  24. 整数計画ソルバー(SCIP)の簡単な利⽤法 • 整数計画問題をLP形式で記述したテキストファイルを⽤意する (hogehoge.lpとする). • SCIPを起動するとコマンド⼊⼒待ちとなるので,hogehoge.lpの 読み込み,最適化の実⾏,解の出⼒のコマンドを順に⼊⼒する. 24 maximize 3

    x1 + 4 x2 + 2 x3 subject to c1: 2 x1 <= 4 c2: x1 + 2 x3 <= 8 c3: 3 x2 + x3 <= 6 end SCIPの詳しい利⽤法については以下の⽂献が詳しい. 宮代隆平,整数計画ソルバー⼊⾨,オペレーションズ・リサーチ,57(2012),183-189. T.Berthold, A.M.Gleixner, S.Heinz, T.Koch, 品野勇治, SCIP Optimization Suite を利⽤した 混合整数 (線形/⾮線形) 計画問題の解法, ZIB-Report 12-24, 2012, http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1559/ SCIP> read hogehoge.lp SCIP> optimize SCIP> write solution hogehoge.sol ←⼊⼒データの読み込み ←最適化の開始 ←解の出⼒
  25. 整数計画問題を解く • 計算困難な最適化問題では最適値が簡単に求まらない. • 最適値の上界と下界を求めて最適値の取り得る範囲を限定する. • 緩和問題︓原問題の⼀部の制約条件を緩めた問題 • 線形計画緩和問題︓整数変数の整数条件を外す →

    線形計画問題 25 最 ⼩ 化 最適値 上界 下界 実⾏不可能 実⾏可能 整数計画問題 線形計画緩和問題 ⽬的関数値 線形計画緩和問題の実⾏可能領域 整数計画問題の実⾏可能領域
  26. 線形計画問題を解く • 制約式をm本,変数をn個とする. • 実⾏可能領域は(m+n)個の超平⾯に囲まれている → 凸多⾯体 • n個の超平⾯が交差する頂点のいずれかに最適解がある︕ 26

    調べる頂点の数が 個となり効率的ではない → ① → ② → ③ → ④ → ⑤ 最⼤化 ① ② ③ ④ ⑤
  27. 単体法 • 凸多⾯体のある頂点(実⾏可能解)から出発して,⽬的関数値が改善 する隣接頂点への移動を繰り返す. • 各頂点ではn個の超平⾯が交差しているので,n本の線形式からなる 連⽴⽅程式を解けば頂点に対応する実⾏解が得られる. (実際の単体法では連⽴⽅程式を解き直さなくても済むよう⼯夫されている) 27 最⼤化

  28. 分枝限定法 • 最適化問題に対する汎⽤的な厳密解法. • 分枝操作︓実⾏可能領域を分割して部分問題を⽣成する. (緩和解が実数値を取る変数 を選んで, を追加した問題 と, を追加した問題に分割する)

    • 限定操作︓緩和問題から得られる下界値を⽤いて最適解が得られる ⾒込みのない部分問題を省く. (分枝前の下界値 分枝後の下界値 ) 28 緩和解 緩和解の⽬的関数値 部分問題1の下界 部分問題2の下界 LPの最適解 LPの最適解
  29. 切除平⾯法 • 全ての実⾏可能な整数解を含む凸包は凸多⾯体 → 線形計画問題 • 前もって凸包の不等式表現を知ることは困難だしその数も膨⼤. • 線形計画問題の最適解 が整数解でないとき,

    を切除する制約式 を追加する(ただし,整数計画問題の実⾏可能解は切除しない). • 切除平⾯を追加するに従って最適解に近づく. 29 最⼩化 LP最適解 切除平⾯(カット) LP最適解 LP最適解 =整数解︕ 整数計画ソルバーは分枝限定法と切除平⾯法を組み合わせた 分枝切除平⾯法を⽤いている
  30. メタヒューリスティクス • ヒューリスティクス üもともとは発⾒的法則,経験則に基づく問題解決の⽅法を指 す.それが転じて,最適化問題における最適性の保証のない アルゴリズムの総称として呼ばれる. • メタヒューリスティクス ü最適化問題に対する実⽤的なアルゴリズムを設計するための ⼀般的な枠組み(レシピ集),もしくはそのような考え⽅に

    従って設計された様々なアルゴリズムの総称として呼ばれる. ü貪欲法や局所探索法などの基本的な⼿法に様々な⼿法を組み 合わせて,探索の集中化と多様化をバランス良く実現する. üアニーリング法,タブー探索法,遺伝的アルゴリズムを始め として多くの探索戦略が提案されている. 30 ⾃然現象にアナロジーを持つ⼿法が多いが, ⾃然現象を模倣すればアルゴリズムの性能が 良くなるというわけではない.
  31. 局所探索法 • 適当な初期解 から始めて,現在の解 の近傍 に改 善解があれば移動する(近傍探索). • 勾配法では微分 を⽤いるが,局所探索法では差分

    を⽤いて探索⽅向を決定する. • 0-1整数計画問題の近傍の例 ü 1-flip近傍︓ ü 2-flip近傍︓ 31 初期解 局所最適解 近傍 初期解の⽣成 近傍解の⽣成と評価 近傍内に改善解あり︖ 改善解に移動 局所最適解 yes no
  32. メタヒューリスティクスの戦略 • 多くの最適化問題は近接最適性(良い解の近くに良い解がある)と 多峰性(局所最適解が多数存在する)を持つ. • 近似解法の基本戦略は貪欲法(構築法)と局所探索法(改善法). • 局所探索法を1回適⽤しただけでは精度の悪い局所最適解しか得 られないので,探索の集中化と多様化を実現する⼿法を導⼊する. •

    集中化︓過去の探索で得られた良い解に似通った構造を持つ解を 集中的に探索する. • 多様化︓探索が狭い領域で停滞するのを避けるために,過去の探 索で得られた解と異なる構造を持つ解を積極的に探索する. 32 解空間 ⽬ 的 関 数 値 ⼤域最適解 局所最適解
  33. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 33
  34. 電⼦ジャーナル購読計画 • 電⼦ジャーナルの包括契約からタイトル毎の個別契約への移⾏に よって⽣じる諸問題の解決 • 電⼦ジャーナルの現状と課題 ü 学術雑誌の価格⾼騰と包括契約(ビッグディール)の問題点 • 包括契約から個別契約への移⾏によって⽣じる影響

    ü ⼤⼿出版社A社の購読計画(2015年度) • 公平かつ満⾜度の⾼い購読計画案の効率的な作成 ü 数理最適化による購読計画案の作成 ü ダウンロード可能数の最⼤化,最⼩充⾜率の最⼤化 ü 複数出版社の購読計画の同時作成 34 *各タイトルの分野,2015年度の購読費,2014年度のダウンロード数をデータとして利⽤ 数理最適化で作成した案を叩き台に⽤いることで 電⼦ジャーナル購読計画の決定に要する⼿間を削減
  35. 電⼦ジャーナルの現状と問題点 • 学術雑誌の価格⾼騰 ü ⾃然科学系分野の2004年から2015年の平均値上げ率は毎年5.9% ü 競合商品がないため価格競争が⽣じない,少数の出版社による独占, 掲載論⽂数の増加や付加サービスによるコスト増など 35 $0

    $500 $1,000 $1,500 $2,000 $2,500 $3,000 $3,500 $4,000 $4,500 $5,000 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Agriculture Astronomy Biology Botany Chemistry Engineering Food Science General Science Geography Geology Health Sciences Math & Computer Science Physics Technology Zoology [Library Journal Periodicals Price Survey 2004-2015]
  36. 電⼦ジャーナルの現状と問題点 • 電⼦ジャーナルの急速な普及 ü ⼤阪⼤学では年間380万アクセス,教員・学⽣(2.8万⼈)が年1⼈当り 平均136回利⽤ ü 電⼦情報基盤資料の整備事業により,教員個⼈(もしくは研究室)では なく⼤学全体(図書館)が電⼦ジャーナルを購⼊ •

    包括契約(ビッグディール)の問題点 ü 契約開始時の契約額にわずかな追加料⾦を⽀払うだけで,全タイトル のアクセスが可能になった. ü 度重なる出版社主導の値上げに⼤学が従わざるを得ない状況に・・・ • A社は2014年度まで包括契約,2015年度に個別契約に移⾏ ü 2015年度は予算総額の50%までダウンロード単価の安い順にタイトル を選定し,残りは購読希望アンケートにより選定 36 運営費交付⾦の削減が続く国⽴⼤学にとって購読額が 上昇し続ける包括契約を維持し続けることは困難 *ダウンロード単価=(購読費 / 2014年度︓ダウンロード数)
  37. 2015年度︓A社タイトルの購読計画 • 予算総額の50%までダウンロード単価の安い順にタイトルを選定 し,残りは購読希望アンケートの結果に従って選定 • 契約タイトル数︓全タイトルの22.79% • ダウンロード可能数︓2014年度ダウンロード数の66.05% 37 0

    25000 50000 75000 100000 125000 150000 175000 200000 Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and Toxicology Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences # of downloaded papers in the last year # of avairable papers in this year
  38. 2015年度︓A社タイトルの購読計画 • 予算総額の50%までダウンロード単価の安い順にタイトルを選定 し,残りは購読希望アンケートの結果に従って選定 • 契約タイトル数︓全タイトルの22.79% • ダウンロード可能数︓2014年度ダウンロード数の66.05% 38 0%

    10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and Toxicology Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences
  39. 数理最適化による購読計画案の作成 • 公平かつ満⾜度の⾼い購読計画案を作成したい. • 与えられた予算の下で購読タイトルを選定する問題を数理最適化 モデルに定式化し,商⽤の整数計画ソルバーにて求解. • 定式化︓ üダウンロード数の最⼤化 →全体の充⾜率の限界値

    ü最⼩充⾜率の最⼤化 →分野による偏りのない現実的な解 ü複数の出版社タイトルを同時に計算 →適切な予算配分を考慮 39 *充⾜率(%)=(ダウンロード可能数 / 2014年度:ダウンロード数) ×100 を評価
  40. ダウンロード数の最⼤化 • 予算制約の下でダウンロード数を最⼤化する最適化問題. • ナップサック問題︓ダウンロード単価が安いタイトルから順に選 ぶ貪欲法は良い近似解法として知られる. 40 タイトルの集合 タイトル j

    のダウンロード数(2014年度) タイトル j の購読額(2015年度) 予算総額 タイトル j を購読なら1,そうでなければ0 変数 A誌︓12万円,40回 (DL単価︓3000円) B誌︓2万円,20回 (DL単価︓1000円) C誌︓1万円,20回 (DL単価︓500円) D誌︓1万円,10回 (DL単価︓1000円) E誌︓4万円,100回 (DL単価︓400円) 予算︓15万円
  41. 2015年度︓A社タイトルの計算結果 • 全体の充⾜率は66.05%→75.50%と⼤幅に向上 • 分野による偏りは相変わらず⼤きい • 契約タイトル数︓全タイトルの23.48% • ダウンロード可能数︓2015年度ダウンロード数の75.50% 41

    0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and Toxicology Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences
  42. 最⼩充⾜率の最⼤化 • 分野毎に充⾜率を算出してそれらの最⼩値を最⼤化. • 分野毎の購読タイトルの充⾜率が 以上とする制約を追加し,⽬的 関数で を最⼤化. • 整数計画問題︓厳密な最適解を短時間で求めようとすると莫⼤な

    計算時間を要する場合は少なくない. 42 *充⾜率(%)=(ダウンロード可能数 / 2014年度:ダウンロード数)×100 タイトルの集合 タイトル j のダウンロード数(H26年度) タイトル j の購読額 予算総額 タイトル j を購読なら1,そうでなければ0 分野の集合 分野 i に含まれるタイトルの集合 分野 i に含まれるタイトルの集合 充⾜率の最⼩値 変数
  43. 2段階法 • 最⼩充⾜率を最⼤化すると予算を使い切らない最適解が出⼒され る場合がある. • 充⾜率の最⼩値 を求めた後に,最⼩充⾜率の制約を追加してダ ウンロード数を最⼤化する. 43 *最⼩充⾜率

    を満たす解を求めようとすると求解が⾮常に困難になるため,実際は少し 制約を緩めた問題を解く. 最⼩充⾜率 を求める 最⼩充⾜率 を満たしつつ ダウンロード数を最⼤化*
  44. 2015年度︓A社タイトルの計算結果 • 全体の充⾜率は66.05%→70.50%と向上 • 最⼩充⾜率も68.87%と分野による偏りを⼤幅に軽減 • 契約タイトル数︓全タイトルの24.27% • ダウンロード可能数︓2014年度ダウンロード数の70.50% 44

    0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Veterinary Science and Veterinary Medicine Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical Science and Toxicology Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and Technology Economics, Business and Management Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical Engineering Arts and Humanities Agricultural and Biological Sciences
  45. 2015年度︓A社+B社タイトルの計算結果 • 複数の出版社について同時に計算すれば適切な予算配分も可能 • 最⼩充⾜率を最⼤化すると全体の充⾜率は62.11%→67.26%に改善 • 契約タイトル数︓全タイトルの29.00% • ダウンロード可能数︓2014年度ダウンロード数の67.26% 45

    0% 20% 40% 60% 80% 100% Veterinary Science and… Social and Behavioral Sciences Physics and Astronomy Pharmacology, Pharmaceutical… Nursing Neuroscience Medicine Mathematics Materials Science Life Sciences Health Professions Environmental Sciences Engineering, Energy and… Economics, Business and… Earth and Planetary Sciences Dentistry Computer Science Chemistry and Chemical… Arts and Humanities 0% 20% 40% 60% 80% 100% Physics and Astronomy Medicine Mathematics and Statistics Humanities, Social Sciences… Engineering Earth and Environmental Science Computer Science Chemistry and Materials Science Business and Economics Biomedical and Life Sciences Behavioral Science Agricultural and Biological… A社の予算割合︓73.64% → 67.32% B社の予算割合︓26.36% → 32.68%
  46. 電⼦ジャーナル購読結果のまとめ • 電⼦ジャーナルの包括契約からタイトル毎の個別契約への 切替えによって⽣じる諸問題の解決 • 包括契約から個別契約への切替えによって⽣じる影響 ü 分野による充⾜率の偏りが⼤きい ü ダウンロード数の多いタイトルは利⽤者が多く調整が⼤変

    • 数理最適化による公平かつ満⾜度の⾼い購読計画案の作成 ü ダウンロード数の最⼤化 → 全体の充⾜率を向上 ü 最⼩充⾜率の最⼤化 → 分野による充⾜率の偏りを⼤幅に削減 ü 複数の出版社タイトルを同時に計算 →適切な予算配分を考慮 46 数理最適化で作成した案を叩き台に⽤いることで 電⼦ジャーナル購読計画の決定に要する⼿間を削減
  47. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 47
  48. カタログのレイアウト計画 • 週次で商品カタログを配布し,顧客から注⽂を受けた商品を配送 する宅配事業会社において,1000点以上の商品を掲載している 50〜100ページのカタログのレイアウトを⾃動作成する. • カタログのレイアウト計画問題を,(1)⻑⽅形詰込み問題,(2)割 当問題の2通りの組合せ最適化問題に定式化した. • 整数計画問題に定式化して整数計画ソルバーを適⽤するアプロー

    チと,局所探索法に基づくメタヒューリスティクスを開発するア プローチを提案した. 48
  49. カタログのレイアウト計画 • あるページに掲載する各商品に対して「商品名」「分類名」「コ マ幅」「コマ⾼さ」などのデータが与えられる. • 同じ分類に属する商品は互いに近くに配置したい. • ⼤きなコマはページの四隅に配置したい. • その他いろいろ

    49 カタログのレイアウト例
  50. ⻑⽅形詰込み問題による定式化 • n個のコマをページ内に互いに重ならないように配置する. • 各コマは回転・変形しないと仮定する. • 同じ分類に属するコマは互いに近くに配置したい. • ⼤きなコマはページの四隅に配置したい. 50

    W H ⻑⽅形の集合 ⻑⽅形iの幅 ⻑⽅形iの⾼さ 容器の幅 容器の⾼さ 同じ分類に属するコマ は同⾊とする
  51. 整数計画ソルバーによるアプローチ • 商品データから「商品名」「分類名」「コマ幅」「コマ⾼さ」を 取り出して⼊⼒データを作成. • コマ毎に配置固定の有無を指定できるように変更. • ⼊⼒データからレイアウトを⾃動作成し,結果を出⼒・表⽰する プログラムを作成. 51

    商品名,分類名, コマ幅,コマ⾼さ, 配置固定の有無, (コマ配置のX座 標,コマ配置のY座 標) データ変換 プログラム 数理最適化 ⼊⼒データ 定式化された問題例 レイアウト 出⼒データ 汎⽤ソルバー (既製・商⽤) hogehoge.csv hogehoge.lp hogehoge_sol.csv hogehoge_sol.html システム ⼊⼒データ
  52. ⻑⽅形詰込み問題を整数計画問題に定式化 • をコマiの左上隅の座標とする. • 制約1: コマiは容器内に配置される. • 制約2: コマi,jは互いに重ならない 52

    コマi,jは左右か上下に分離できる
  53. ⻑⽅形詰込み問題を整数計画問題に定式化 • 制約3: 同じ分類のコマは近くに配置する 分類毎に全コマを含む⻑⽅形を考えて幅・⾼さの合計を最⼩化 • 制約4: 配置固定の指定があるコマは指定された配置に固定 53 <latexit

    sha1_base64="X+xa4pmKdrlHlR8/5gz5XgP7yXc=">AAAC8nichVFNa9RQFD2NVmurdtSN4ObhUKmIw40IiiAUXehG6IfTKTQlJOmb9jEvHyRvxo6hf8A/IOiqigtRf4UbcSsuCvUHSJctdNNFbzKBUkvrDck779x77jsv10+0ygzR5pB15uzwufMjF0bHLl66PF67cnU+i7tpIJtBrON0wfcyqVUkm0YZLReSVHqhr2XL7zwt8q2eTDMVRy9NP5FLobcSqbYKPMOUW3vWcjvisXCWVZZor5+ZvpZO6K25uRKOisQLt7MuJtdcJe6IV666Le4KJ1TRkXSRdWt1alAZ4jiwK1BHFdNx7SccLCNGgC5CSEQwjDU8ZPwswgYhYW4JOXMpI1XmJdYxytouV0mu8Jjt8HeFd4sVG/G+6JmV6oBP0fymrBSYoN/0mXboB32hv7R/Yq+87FF46fPqD7QyccffXJ/b+68q5NVg9VB1qmeDNh6WXhV7T0qmuEUw0Pdev92ZezQ7kd+iD7TN/jdok77zDaLebvBpRs6+P8WPz15O/mM5c+1DtzxG+9+hHQfz9xo2NeyZ+/WpJ9VAR3ADNzHJU3uAKTzHNJp8yjf8whb+WMZ6Z21YHwel1lCluYYjYX09ACDCs2Q=</latexit> <latexit sha1_base64="6+XxtIOoKDdN26ARmnqOPWI0VY0=">AAAC8XichVHLahRBFD1pXzE+MtGN4KZwiETE4XYQIoIQFCQbIQ8nCaRD092pSYqpftBVM9g2+QF/QMSNBlxI/As34lJwEfQHxGUENy6809MQYki8TXedOveeW6f6hplWxhLtjTinTp85e270/NiFi5cujzcmriybtJdHsh2lOs1Xw8BIrRLZtspquZrlMohDLVfC7qNBfqUvc6PS5KktMrkeB5uJ6qgosEz5jcdzflc8EN6GMpkOCmMLLb04eOaXSngqEU/87raYKnwlbostX90Sd4QXq+RQmrN+o0ktqkIcBW4NmqhjPm18hocNpIjQQwyJBJaxRgDDzxpcEDLm1lEylzNSVV5iG2Os7XGV5IqA2S5/N3m3VrMJ7wc9TaWO+BTNb85KgUn6Su9pnz7RLv2gP8f2KqseAy8Fr+FQKzN//MW1pd//VcW8WmwdqE70bNHBvcqrYu9ZxQxuEQ31/ecv95fuL06WN2mHfrL/t7RHH/kGSf9X9G5BLr4+wU/IXo7/YyVznQO3PEb336EdBcvTLZda7sLd5uzDeqCjuI4bmOKpzWAWc5hHm0/5gC/4hu+OcV45b5ydYakzUmuu4lA4u38BVG6zHg==</latexit>
  54. ⻑⽅形詰込み問題を整数計画問題に定式化 • 制約条件の有効/無効の切り替えに0-1変数を導⼊する. • ⻑⽅形詰込み問題の定式化 54 <latexit sha1_base64="hAl7h9NexVVOlSVIpsPR26/SH/8=">AAAFyXichZPLbtNAFIZPCYESLm1hg4SQRlSNUmGicYUEQqpUiS4icVEvpKlUt5bjTJJxfAn2pNS1vIIVL8CCFUgsgCW8ARvEnkUfAbEsEhsWHE/dhJC6HcueM2fO988/M3K9a/NAULo3dip3On/m7Pi5wvkLFy9NTE5dXgu8nm+yqunZnr9eNwJmc5dVBRc2W+/6zHDqNqvVO/eT+do28wPuuU9E2GWbjtFyeZObhsCUPpW7TohWZy3uRobvG2Ec2bYdFwg2zTFE23cih7vlmBRx3LMFxyV7jhvNYWEcaQ0edG0jDERoMy3oOXrUmVfjLYdoNmuKEqnpHXKTVPCr+bzVFrOxpg2JB2UhxWXlPBkWdIwdPeJE4y55pHdiUtrROco90/ksuYUS3B2aTmaLJJFRFa3hiUBxlHS5ovRwon4o9dsZ+uFx+n1rydZxZOGoRkoqCu2iihVvPZxVsI4rllR8/C9qSdRKUT6CrmShfcMSDaVQZQitZqOWRK0U5SPoYhZ6uCEkDg0OwuogXJRHdbQG7W826Wu4Kp6drD26MkwrK1jZzqg89KX0bfWjqjIwlVBaRKhCVKLFQ/7KqKQxt5H+DAV9cpqWqWxkNFDTYBrStuRNfgMNGuCBCT1wgIELAmMbDAjw2QAVKHQxtwkR5nyMuJxnEEMB2R5WMawwMNvBbwtHG2nWxXGiGUjaxFVsfH0kCczQ7/Q93adf6Uf6g/7J1IqkRuIlxL5+wLKuPvHy6urvEykHewHtAXWsZwFNuCu9cvTelZlkF+YBv737an/13spMVKRv6U/0/4bu0S+4A3f7l/luma28PsZPHb1kn1iEuebALV6j+v+ljQZrc2WVltXl29MLlfRCx+Ea3IAS3todWIAKLEEVzNyL3Ifcp9zn/IP80/xOfveg9NRYylyBoZZ//hdRXoi4</latexit> コマi,jの配置に関わらず成り⽴つ=無効化

  55. メタヒューリスティクスによるアプローチ • マスタデータから「商品名」「分類名」「コマ幅」「コマ⾼さ」 を取り出して⼊⼒データを作成. • コマ毎に配置固定の有無を指定できるように変更. • ⼊⼒データからレイアウトを⾃動作成し,結果を出⼒・表⽰する プログラムを作成. 55

    商品名,分類名, コマ幅,コマ⾼さ, 配置固定の有無, (コマ配置のX座標, コマ配置のY座標) システム ⼊⼒データ レイアウト 出⼒データ hogehoge.csv hogehoge_sol.csv hogehoge_sol.html 専⽤ソルバー (開発)
  56. Bottom-Left Fill Algorithm (BLF法) • 予め決定した配置順に従ってコマを可能な限り下に,同じ⾼さで あれば可能な限り左に詰込む⼿続きを繰り返す. • コマを下にも左にも動かせないような配置はBL安定点と呼ばれ, BLF法では最も左下にあるBL安定点にコマを配置する.

    56 0 1 2 3 4 5 0 1 2 3 0 1 2 3 4 5
  57. BLF法の実装 • BL安定点の候補を列挙する. • BL条件(配置したコマが下にも左にも動かない)をチェックする. • 問題の制約条件(制約1,2)をチェックする. 57 問題例データの読込み 詰込み順の決定

    BL安定点の候補を追加 BL条件のチェック 問題の制約条件のチェック 全⻑⽅形の配置とその⾼さを出⼒ 全コマを配置する まで繰返す
  58. BL安定点の候補 • 容器の左下隅 • 容器とコマ • コマの対 j,k üコマ j

    がコマ k の左にある場合 58 ならば をBL安定点の候補とする
  59. BL安定点の候補 • コマ j がコマ k の下にある場合 59 ならば をBL安定点の候補とする

  60. BL条件のチェック • コマ j がコマ k の左かつ上の場合 • コマ j

    がコマ k の左の場合 60 かつ ならばコマ i は配置可能
  61. BL条件のチェック • コマ j がコマ k の上の場合 61 ならばコマ i

    は配置可能
  62. BLF法に基づく局所探索法 • BLF法ではコマの配置順が解の良し悪しに影響を与える. • 局所探索法を⽤いてより良いコマの配置順を探索する. 62 スワップ近傍操作︓コマ i とコマ j

    の順番を⼊れ替える シフト近傍操作︓コマ i を p 番⽬に挿⼊する 0 1 2 3 4 5 0 1 2 3 4 5
  63. 反復局所探索法 • 良い解(例︓暫定解)にランダムな摂動(キック)を加えて得られる 解を初期解として,局所探索法を適⽤する⼿続きを繰返す. • 実装やパラメータの調整が簡単なので使い勝⼿が良い. 63 解空間 ⽬ 的

    関 数 値 0 1 2 3 4 5 0 1 2 3 4 5 局所探索ではスワップ近傍 キックにシフト近傍
  64. 計算結果の例 64 整数計画ソルバー(Gurobi8.1)の 実⾏結果(600秒) メタヒューリスティクスの 実⾏結果(10秒)

  65. 数値実験の結果 • 実際のカタログデータから問題例を16問作成. • 制限時間を1秒,10秒,60秒,600秒に設定して,PuLP(CBC2.9), Gurobi8,.1,反復局所探索法を適⽤. • 最良値 からの誤差 を評価.

    • 実⾏可能解が得られた問題例の数(カッコ内)も評価. 65 PuLP(CBC2.9) Gurobi8.1 反復局所探索法 1s — — 0.77% (16) 10s 100% (0) 4.44% (14) 0.73% (16) 60s 6.78% (1) 3.31% (15) 0.73% (16) 600s 11.79% (3) 0.57% (16) — 問題の構造を上⼿くとらえれば ⾼性能なメタヒューリスティクスの開発は可能
  66. 割当問題による定式化 • n個の商品をnコマのテンプレートに配置する. • 割当問題を変形すれば最適化問題として定式化できる. • 1枚のテンプレートに対して最適化問題を1回解く. 66 j 1

    コマ割りテンプレート 1 2 i n 商品 2 各コマには1つ商品を配置 各商品は1ヶ所に配置する 商品iをコマjに配置可能 → aij =1 (定数) 商品iをコマjにを配置する → zij =1 (変数)
  67. 割当問題による定式化 • 商品情報とコマ割り情報の2種類の⼊⼒データが必要 • 商品毎に割当て可能なコマのサイズや形は事前に決めたい • コマ割り情報︓幅(wj ),⾼さ(hj ),x座標(xj ),y座標(yj

    ) • 商品情報︓商品コード,商品名,分類名 • 商品・コマランク対応表の情報︓ 67 ランク対応表 コマ割りテンプレート
  68. 割当問題による定式化 • コマ割りテンプレートのデータベースを⽤意する. • ⼊⼒データに適合するテンプレートを選択した後に,割当問題を 解いて商品をコマに割り付ける. 68 コマ割りテンプレート 商品データ 出⼒データ

    コマ割りテンプレート データベース データ変換 プログラム 数理最適化 ⼊⼒データ 汎⽤ソルバー (既製・商⽤) 商品データ コマ割りテンプレート コマ割りテンプレート データベース 専⽤ソルバー (開発) 出⼒データ 複数のテンプレートを⽤意 して複数のレイアウト案を 出⼒することも可能 整数計画ソルバーによるアプローチ メタヒューリスティクスによるアプローチ
  69. 割当問題を整数計画問題に定式化 • コマjの幅(wj ),⾼さ(hj ),x座標(xj ),y座標(yj ) (定数) • 商品iをコマjに割付ける

    → zij =1 それ以外 zij =0 (変数) • 商品iの配置座標(xi ,yi )はzij を⽤いて以下の通りに書ける 69 に注意する
  70. 割当問題を整数計画問題に定式化 • グループkに含まれる商品の集合をTk と定義する. • 同じグループkに含まれる商品を近くに配置したい. 70 → 最⼩化

  71. 割当問題を整数計画問題に定式化 • テンプレート毎に1つ整数計画問題を⽤意して解き,最も⽬的関数 値が良いレイアウトを採⽤する. 71

  72. 局所探索法 • 商品・コマランク対応表に違反しない初期解を求める. → 2部グラフの最⼤マッチング問題に定式化 • 局所探索法を⽤いて初期解を改善する. → 2つの商品の配置を交換する近傍操作 72

    1 2 i n 1 2 j n 商品 コマ i j 1 2 j i 1 2 2つの商品の配置を交換
  73. 誘導局所探索法 • 重み係数 を導⼊して評価関数 の 下で局所探索法を実⾏する. • 局所探索法を適⽤した後に重み係数 を更新する. •

    評価関数 を適応的に変形して局所最適解からの脱出を図る. 73 4 解空間 評 価 関 数 値 1 2 3 4 解空間 評 価 関 数 値 1 2 3 5 6 7 変形後の評価関数
  74. 計算結果の例 74 整数計画ソルバー(Gurobi8.1)の 実⾏結果(60秒) メタヒューリスティクスの 実⾏結果(1秒)

  75. 数値実験の結果 • 実際のカタログデータから問題例を24問作成. • 制限時間を1秒,10秒,60秒,600秒に設定して, PuLP(CBC2.9), Gurobi8.1, 誘導局所探索法を適⽤. • 最良値

    からの誤差 を評価. 75 PuLP(CBC2.9) Gurobi8.1 誘導局所探索法 1s — — 0.85% 10s 10.74% 7.73% 0.09% 60s 7.26% 5.16% 0.04% 600s 5.04% 4.99% — 問題の構造を上⼿くとらえれば ⾼性能なメタヒューリスティクスの開発は可能
  76. カタログのレイアウト計画のまとめ • 宅配事業会社におけるカタログレイアウト作成の⾃動化を実現. • 同じ分類に属する商品を互いに近くに配置したい. • カタログのレイアウト計画問題を,(1)⻑⽅形詰込み問題,(2)割当 問題の2通りの組合せ最適化問題に定式化した. • 整数計画問題に定式化して整数計画ソルバーを適⽤するアプローチ

    と,局所探索法に基づくメタヒューリスティクスを開発するアプ ローチを提案した. 76 数理最適化で作成した案を叩き台に⽤いることで カタログレイアウトの作成に要する⼿間を削減
  77. まとめ • 数理最適化は意思決定・問題解決のための1つの⼿段. • 最適化問題に定式化+アルゴリズムの開発・適⽤+(近似)最適解 の分析・検証+最適化モデルの検証. • 全くの修正なしに妥当な最適化モデルが得られることはまずない. • アルゴリズムの開発・修正には⾮常に⼿間がかかる.

    • 妥当な最適化モデルが得られるまでは整数計画ソルバーを⽤いて, アルゴリズムの開発に要する⼿間を可能な限り削減する. 77 現 実 問 題 最 適 化 モ デ ル ( 近 似 ) 最 適 解 解 決 策 定式化 アルゴリズムの 開発と適⽤ 分析・検証 最適化モデルの修正 現実問題の解決に数理最適化を活⽤して下さい
  78. 参考⽂献 • 組合せ最適化問題とその応⽤ ü H.P.Williams, Model Building in Mathematical Programming

    (4th edition),Wiley, 1999.(前⽥英次郎 監訳,⼩林英三 訳,数理計画モデルの作成,産業図書,1995) • 整数計画ソルバーの利⽤法と定式化 ü 宮代隆平,整数計画ソルバー⼊⾨,オペレーションズ・リサーチ,57(2012),183-189. ü 藤江哲也,整数計画法による定式化⼊⾨,オペレーションズ・リサーチ,57(2012),190- 197. ü 久保幹雄,J.P.ペドロソ,村松正和,A.レイス,あたらしい数理最適化―Python⾔語とGurobi で解く―,近代科学社,2012. ü T.Berthold, A.M.Gleixner, S.Heinz, T.Koch, 品野勇治, SCIP Optimization Suite を利⽤した 混合整数 (線形/⾮線形) 計画問題の解法, ZIB-Report 12-24, 2012. ü 梅⾕ 俊治, 組合せ最適化⼊⾨︓線形計画から整数計画まで, ⾃然⾔語処理, 21 (2014), 1059- 1090. • メタヒューリスティクスの設計と開発 ü 柳浦睦憲,茨⽊俊秀,組合せ最適化 ― メタ戦略を中⼼として ―,朝倉書店,2001. ü 久保幹雄,J.P.ペドロソ,メタヒューリスティクスの数理,共⽴出版,2009. ü 梅⾕俊治,柳浦睦憲,メタヒューリスティクス事始め︓まずは局所探索法から,オペレーショ ンズ・リサーチ,58(2013),689-694. ü 今堀慎治,柳浦睦憲,概説メタヒューリスティクス,オペレーションズ・リサーチ, 58(2013),695-702. ü E.Aarts, K.Lenstra (eds.), Local Search in combinatorial optimization, Princeton University Press, 1997. ü M.Gendreau, J.-Y.Potvin(eds.), Handbook of Metaheuristics (3rd ed.), Springer, 2019. 78
  79. 講演の概要 • 組合せ最適化問題とその応⽤事例 ü 数理最適化による問題解決 ü 組合せ最適化とその応⽤事例 • 計算困難な組合せ最適化問題に対するアプローチ ü

    組合せ最適化問題の難しさ ü 現実問題への数理最適化の適⽤ ü 整数計画ソルバー ü メタヒューリスティクス • 事例︓電⼦ジャーナルの購読計画 • 事例︓カタログレイアウトの⾃動作成 • まとめ • 参考⽂献 • (研究︓⼤規模な整数計画問題に対するヒューリスティクス) 79
  80. 計算困難な問題に対するアプローチ • 産業や学術の幅広い分野における現実問題の迅速な解決. • 適切な組合せ最適化問題とアルゴリズムを探すのは困難. • データの整形と簡単なプロトタイピングだけで済ませたい. 80 多様な問題に共通する 良い構造はない

    問題の特徴が利⽤できず⾼性能な アルゴリズムの実現が困難 アルゴリズムが適⽤可能な 範囲が狭く汎⽤性に⽋ける 多様な問題に適⽤可能な 汎⽤性の⾼いアルゴリズム 個々の問題の特徴を利⽤した ⾼性能なアルゴリズム a 整数計画問題 分枝限定法 b c d e 現実世界 a b c d e 現実世界 問題 a 問題 b 問題 e アルゴリズム a アルゴリズム b アルゴリズム e 「汎⽤的」かつ「⾼性能」な数理最適化ソルバーの開発
  81. データを利⽤した組合せ最適化⼿法 • 充⾜可能性問題や整数計画問題は汎⽤的すぎてアルゴリズム性能 の向上に利⽤できる構造がない︖ • 個々の現実問題の⼊⼒データは特徴的な構造を持つ部分の組み合 わせとなる場合がほとんど. • ⼊⼒データの特徴を事前知識として利⽤できれば,理論的に計算 困難な問題でも実験的には優れたアルゴリズムを開発できる.

    81 データ(instance) 問題(problem) 問題に良い構造が ないから難しいよ︕ min cT x s.t. Ax b x 2 {0, 1}n NP困難問題だしなあ 任意のデータを考えればNP困難 だけど,与えられたデータの問題 例が難しいとは限らないですよ x1 x98 x809 x701 x141 x765 x749 x784 x365 x662 x2 x186 x810 x99 x303 x275 x291 x247 x204 x766 x825 x750 x785 x142 x663 x148 x702 x241 x1040 x417 x3 x100 x811 x304 x187 x78 x143 x703 x891 x767 x826 x751 x786 x418 x657 x205 x292 x276 x995 x391 x166 x682 x4 x79 x491 x85 x1064 x101 x658 x167 x188 x392 x833 x426 x368 x463 x775 x10 x398 x689 x173 x382 x160 x758 x1186 x144 x704 x892 x665 x5 x102 x813 x705 x492 x369 x893 x828 x769 x753 x788 x145 x659 x427 x834 x997 x6 x493 x1066 x731 x208 x777 x428 x162 x760 x685 x394 x7 x494 x309 x104 x86 x370 x429 x475 x424 x707 x395 x170 x11 x690 x174 x8 x495 x87 x105 x708 x83 x430 x371 x476 x642 x1127 x12 x175 x668 x691 x896 x310 x171 x396 x461 x192 x9 x496 x311 x106 x193 x84 x431 x372 x477 x643 x267 x381 x709 x1014 x254 x283 x298 x210 x664 x688 x397 x172 x194 x497 x735 x284 x211 x958 x299 x432 x763 x561 x108 x821 x711 x373 x836 x761 x779 x1190 x1070 x196 x388 x764 x287 x301 x212 x499 x13 x500 x274 x416 x435 x185 x900 x14 x109 x318 x712 x1151 x901 x260 x601 x437 x15 x199 x502 x110 x319 x375 x866 x1115 x242 x153 x713 x261 x602 x438 x16 x827 x111 x714 x277 x768 x752 x1179 x787 x200 x320 x376 x671 x293 x903 x1153 x17 x112 x1074 x201 x155 x715 x278 x504 x1180 x868 x244 x1117 x18 x1075 x113 x202 x829 x420 x279 x716 x322 x378 x869 x245 x1118 x754 x770 x789 x19 x203 x114 x487 x1119 x830 x20 x831 x323 x281 x1077 x756 x816 x773 x790 x191 x907 x972 x507 x772 x21 x115 x508 x1078 x324 x717 x154 x56 x282 x444 x832 x871 x22 x116 x509 x718 x325 x1079 x1185 x818 x792 x672 x675 x445 x1030 x425 x774 x23 x117 x510 x326 x1080 x676 x719 x1142 x873 x1143 x446 x1035 x1159 x272 x910 x58 x24 x118 x1081 x835 x157 x383 x720 x776 x1187 x1188 x251 x1125 x874 x25 x209 x286 x513 x253 x876 x794 x300 x195 x912 x448 x1051 x26 x514 x119 x329 x449 x385 x1146 x722 x837 x450 x877 x1147 x1037 x913 x1161 x27 x723 x120 x330 x288 x386 x679 x677 x1148 x451 x1019 x914 x1162 x467 x28 x289 x331 x915 x948 x453 x1150 x839 x29 x121 x290 x726 x686 x389 x30 x122 x846 x520 x727 x339 x390 x994 x917 x455 x1164 x647 x681 x687 x31 x847 x728 x1091 x123 x221 x408 x1158 x791 x803 x521 x32 x124 x222 x522 x1092 x729 x1166 x919 x457 x584 x33 x125 x730 x523 x342 x223 x684 x393 x458 x920 x1160 x1016 x464 x849 x36 x527 x128 x226 x345 x734 x588 x851 x654 x807 x37 x129 x736 x1099 x227 x926 x1173 x399 x38 x1102 x130 x532 x214 x797 x738 x402 x470 x39 x739 x1103 x853 x131 x176 x692 x403 x215 x533 x798 x348 x40 x534 x740 x132 x349 x854 x472 x404 x799 x693 x230 x367 x471 x1165 x41 x741 x1105 x350 x855 x133 x694 x405 x217 x535 x800 x231 x42 x134 x856 x351 x742 x179 x1167 x232 x473 x294 x695 x43 x135 x858 x353 x743 x538 x234 x1169 x802 x1170 x44 x744 x136 x1109 x354 x539 x235 x178 x181 x804 x1000 x1034 x859 x409 x1171 x1048 x596 x45 x355 x137 x860 x540 x236 x1110 x182 x745 x974 x410 x478 x1172 x1015 x1049 x805 x46 x138 x861 x356 x746 x237 x183 x699 x696 x47 x238 x139 x862 x543 x1112 x413 x357 x747 x806 x480 x1174 x48 x748 x140 x863 x358 x239 x1038 x49 x302 x481 x50 x1072 x656 x77 x51 x360 x483 x1041 x629 x482 x1073 x52 x419 x305 x884 x484 x503 x812 x53 x362 x631 x990 x1043 x306 x485 x54 x146 x263 x421 x660 x1137 x886 x307 x486 x1076 x55 x771 x264 x755 x1138 x887 x147 x265 x889 x1139 x488 x489 x1012 x57 x266 x890 x366 x619 x490 x248 x606 x1140 x149 x249 x1141 x340 x554 x59 x150 x268 x312 x250 x608 x206 x1123 x555 x60 x1082 x269 x1124 x1031 x61 x151 x270 x667 x895 x1145 x641 x314 x62 x152 x1085 x1018 x315 x271 x515 x1191 x780 x63 x781 x1086 x838 x560 x64 x273 x434 x257 x1149 x899 x1054 x628 x65 x1055 x442 x246 x374 x1120 x423 x308 x66 x443 x1056 x670 x67 x1057 x1122 x607 x1042 x68 x1058 x377 x872 x69 x1059 x156 x207 x673 x70 x447 x379 x674 x327 x512 x71 x1062 x252 x380 x1126 x313 x1013 x72 x1063 x159 x757 x328 x73 x1128 x567 x74 x161 x759 x255 x878 x819 x1065 x1129 x1050 x511 x568 x75 x1067 x256 x571 x1130 x945 x76 x163 x1068 x1131 x518 x762 x165 x454 x332 x519 x883 x683 x80 x168 x189 x81 x169 x190 x363 x336 x82 x296 x460 x127 x526 x297 x1001 x528 x341 x572 x732 x344 x400 x733 x737 x88 x407 x967 x1028 x537 x1046 x89 x177 x595 x90 x583 x969 x848 x91 x92 x180 x411 x474 x93 x412 x697 x542 x1017 x587 x94 x698 x598 x795 x95 x414 x544 x911 x96 x415 x700 x184 x545 x97 x888 x462 x904 x937 x953 x905 x971 x954 x103 x706 x894 x666 x909 x466 x897 x107 x710 x898 x669 x498 x865 x1177 x867 x1116 x243 x441 x505 x793 x880 x220 x582 x585 x651 x126 x34 x343 x525 x586 x999 x465 x35 x850 x1020 x347 x1006 x1008 x592 x593 x844 x1135 x636 x918 x935 x1045 x506 x1011 x158 x1061 x611 x817 x1053 x678 x384 x724 x721 x164 x680 x725 x1069 x334 x959 x530 x1121 x870 x1029 x1152 x902 x1154 x1009 x1095 x922 x338 x908 x1157 x923 x559 x941 x973 x924 x612 x942 x626 x985 x1036 x925 x627 x927 x977 x563 x197 x864 x1113 x240 x198 x1114 x600 x259 x603 x262 x422 x618 x213 x576 x840 x987 x961 x796 x882 x1021 x841 x333 x1007 x1023 x578 x989 x952 x216 x335 x1104 x1025 x1010 x1155 x991 x965 x1044 x218 x801 x1026 x845 x1106 x857 x604 x992 x219 x993 x557 x640 x594 x982 x224 x652 x570 x983 x597 x1003 x976 x228 x620 x649 x980 x621 x650 x981 x996 x1047 x1052 x625 x653 x984 x614 x1002 x613 x479 x1004 x258 x1132 x1133 x1134 x885 x1136 x949 x591 x565 x951 x955 x562 x929 x1022 x551 x934 x564 x1027 x637 x968 x566 x556 x639 x950 x843 x440 x921 x280 x906 x1156 x337 x998 x459 x558 x940 x1033 x285 x944 x529 x574 x575 x978 x590 x979 x229 x589 x646 x946 x1005 x1039 x814 x524 x617 x623 x316 x433 x823 x782 x1193 x317 x436 x501 x546 x928 x630 x547 x548 x930 x321 x516 x573 x783 x1194 x456 x957 x346 x468 x517 x469 x966 x552 x635 x352 x1168 x938 x406 x295 x359 x361 x577 x579 x1024 x364 x553 x581 x605 x638 x936 x439 x622 x387 x879 x824 x970 x1098 x401 x531 x648 x536 x624 x1111 x956 x655 x986 x549 x632 x931 x550 x633 x932 x1184 x822 x452 x615 x1087 x960 x1178 x943 x644 x975 x1032 x233 x541 x225 x962 x963 x964 x580 x634 x933 x645 x569 x875 x599 x916 x609 x610 x939 x616 x947 x661 x1060 x1084 x1192 x1088 x815 x1183 x778 x820 x1083 x1189 x1090 x842 x1093 x1094 x1096 x1097 x1100 x1101 x852 x1163 x1108 x808 x1175 x881 x988 x1071 x1089 x1107 x1144 x1176 x1181 x1182 データに潜む構造を使えば 上⼿く解けるんじゃない︖ 補助データ(meta data)
  82. アルゴリズムの⾃動構成 • 局所探索法をひな形に汎⽤的なヒューリスティクスを構築. • ⼊⼒データから性能向上に役⽴つ特徴的な離散構造を発⾒. • 離散構造に応じて実⾏時にアルゴリズムの構成と設定を⾃動的に決定. • データマイニングと数理最適化の技術を融合することで,汎⽤性と性 能を兼ね備えた数理最適化ソルバーを実現する.

    82 a b c d e 汎⽤的な組合せ最適化問題 アルゴリズム ⼊⼒データの特徴 的な構造を抽出 実⾏時にアルゴリズムの 設定と構成を決定 現実世界 アルゴリズムの部品 データマイニングを利⽤した数理最適化アプローチ
  83. 離散構造を利⽤した局所探索法 • 離散構造は特徴的な制約式の組み合わせで表される. ü 割当制約,ナップサック制約,フロー制約など • 専⽤解法の基本操作は整数計画問題では多くの変数を同時に反転 する操作になる. • k個の変数を同時に反転して得られる解候補の数はO(nk)個なので,

    全ての解候補を⾛査するのは効率が悪い. 83 x11 +x12 +・・・+x1n =1 4つの0-1変数を 同時にフリップ 割当制約に対する交換近傍操作 x11 x12 x22 x21 x21 +x22 +・・・+x2n =1 x11 +x12 +・・・+x1n =1 x11 x12 x22 x21 x21 +x22 +・・・+x2n =1
  84. 離散構造を利⽤した局所探索法 • 離散構造は特徴的な制約式の組み合わせで表される. ü 割当制約,ナップサック制約,フロー制約など • 専⽤解法の基本操作は整数計画問題では多くの変数を同時に反転 する操作になる. • k個の変数を同時に反転して得られる解候補の数はO(nk)個なので,

    全ての解候補を⾛査するのは効率が悪い. 84 2つの0-1変数を 同時にフリップ X i xik = X j xkj xik xkj j k xkj' xkj i j k フロー制約に対する近傍操作 xik xkj 4つの0-1変数を 同時にフリップ i i j k kʼ jʼ xik' xk'j
  85. ⼊⼒データからの離散構造の抽出 • 整数計画問題の問題例は特徴的な制約式が規則的に並ぶ場合が多い. • 特徴的な制約式は複雑に絡み合っているので,制約⾏列から特徴的 な部分を直接かつ簡潔な形で取り出すことは難しい. 85 stp3d (制約:159488,変数:204880) acc-tight4

    (制約:3052,変数:1339) ds (制約:656,変数:67732) seymour (制約:4944,変数:1372) f2000 (制約:10500,変数:4000) 整数計画問題の制約⾏列の例
  86. 近傍グラフによる探索空間の縮⼩ • 同時に反転すると改善解が得られる可能性の⾼い変数の組み合わせを 効率良く⾒付けたい. • 同じ制約に同時に現れる頻度が⾼い2つの変数を同時に反転すると改 善解が得られ易い. • ⼊⼒データから特殊な制約に同時に現れる変数の組み合わせを解析し てネットワークを⽣成する

    ← データマイニングにおける近傍探索* 86 xj1 A b c xj2 同じ制約条件に同時に 現れる頻度が⾼い 変数間の関係を表すk-近傍グラフ x1 x98 x809 x701 x141 x765 x749 x784 x365 x662 x2 x186 x810 x99 x303 x275 x291 x247 x204 x766 x825 x750 x785 x142 x663 x148 x702 x241 x1040 x417 x3 x100 x811 x304 x187 x78 x143 x703 x891 x767 x826 x751 x786 x418 x657 x205 x292 x276 x995 x391 x166 x682 x4 x79 x491 x85 x1064 x101 x658 x167 x188 x392 x833 x426 x368 x463 x775 x10 x398 x689 x173 x382 x160 x758 x1186 x144 x704 x892 x665 x5 x102 x813 x705 x492 x369 x893 x828 x769 x753 x788 x145 x659 x427 x834 x997 x6 x493 x1066 x731 x208 x777 x428 x162 x760 x685 x394 x7 x494 x309 x104 x86 x370 x429 x475 x424 x707 x395 x170 x11 x690 x174 x8 x495 x87 x105 x708 x83 x430 x371 x476 x642 x1127 x12 x175 x668 x691 x896 x310 x171 x396 x461 x192 x9 x496 x311 x106 x193 x84 x431 x372 x477 x643 x267 x381 x709 x1014 x254 x283 x298 x210 x664 x688 x397 x172 x194 x497 x735 x284 x211 x958 x299 x432 x763 x561 x108 x821 x711 x373 x836 x761 x779 x1190 x1070 x196 x388 x764 x287 x301 x212 x499 x13 x500 x274 x416 x435 x185 x900 x14 x109 x318 x712 x1151 x901 x260 x601 x437 x15 x199 x502 x110 x319 x375 x866 x1115 x242 x153 x713 x261 x602 x438 x16 x827 x111 x714 x277 x768 x752 x1179 x787 x200 x320 x376 x671 x293 x903 x1153 x17 x112 x1074 x201 x155 x715 x278 x504 x1180 x868 x244 x1117 x18 x1075 x113 x202 x829 x420 x279 x716 x322 x378 x869 x245 x1118 x754 x770 x789 x19 x203 x114 x487 x1119 x830 x20 x831 x323 x281 x1077 x756 x816 x773 x790 x191 x907 x972 x507 x772 x21 x115 x508 x1078 x324 x717 x154 x56 x282 x444 x832 x871 x22 x116 x509 x718 x325 x1079 x1185 x818 x792 x672 x675 x445 x1030 x425 x774 x23 x117 x510 x326 x1080 x676 x719 x1142 x873 x1143 x446 x1035 x1159 x272 x910 x58 x24 x118 x1081 x835 x157 x383 x720 x776 x1187 x1188 x251 x1125 x874 x25 x209 x286 x513 x253 x876 x794 x300 x195 x912 x448 x1051 x26 x514 x119 x329 x449 x385 x1146 x722 x837 x450 x877 x1147 x1037 x913 x1161 x27 x723 x120 x330 x288 x386 x679 x677 x1148 x451 x1019 x914 x1162 x467 x28 x289 x331 x915 x948 x453 x1150 x839 x29 x121 x290 x726 x686 x389 x30 x122 x846 x520 x727 x339 x390 x994 x917 x455 x1164 x647 x681 x687 x31 x847 x728 x1091 x123 x221 x408 x1158 x791 x803 x521 x32 x124 x222 x522 x1092 x729 x1166 x919 x457 x584 x33 x125 x730 x523 x342 x223 x684 x393 x458 x920 x1160 x1016 x464 x849 x36 x527 x128 x226 x345 x734 x588 x851 x654 x807 x37 x129 x736 x1099 x227 x926 x1173 x399 x38 x1102 x130 x532 x214 x797 x738 x402 x470 x39 x739 x1103 x853 x131 x176 x692 x403 x215 x533 x798 x348 x40 x534 x740 x132 x349 x854 x472 x404 x799 x693 x230 x367 x471 x1165 x41 x741 x1105 x350 x855 x133 x694 x405 x217 x535 x800 x231 x42 x134 x856 x351 x742 x179 x1167 x232 x473 x294 x695 x43 x135 x858 x353 x743 x538 x234 x1169 x802 x1170 x44 x744 x136 x1109 x354 x539 x235 x178 x181 x804 x1000 x1034 x859 x409 x1171 x1048 x596 x45 x355 x137 x860 x540 x236 x1110 x182 x745 x974 x410 x478 x1172 x1015 x1049 x805 x46 x138 x861 x356 x746 x237 x183 x699 x696 x47 x238 x139 x862 x543 x1112 x413 x357 x747 x806 x480 x1174 x48 x748 x140 x863 x358 x239 x1038 x49 x302 x481 x50 x1072 x656 x77 x51 x360 x483 x1041 x629 x482 x1073 x52 x419 x305 x884 x484 x503 x812 x53 x362 x631 x990 x1043 x306 x485 x54 x146 x263 x421 x660 x1137 x886 x307 x486 x1076 x55 x771 x264 x755 x1138 x887 x147 x265 x889 x1139 x488 x489 x1012 x57 x266 x890 x366 x619 x490 x248 x606 x1140 x149 x249 x1141 x340 x554 x59 x150 x268 x312 x250 x608 x206 x1123 x555 x60 x1082 x269 x1124 x1031 x61 x151 x270 x667 x895 x1145 x641 x314 x62 x152 x1085 x1018 x315 x271 x515 x1191 x780 x63 x781 x1086 x838 x560 x64 x273 x434 x257 x1149 x899 x1054 x628 x65 x1055 x442 x246 x374 x1120 x423 x308 x66 x443 x1056 x670 x67 x1057 x1122 x607 x1042 x68 x1058 x377 x872 x69 x1059 x156 x207 x673 x70 x447 x379 x674 x327 x512 x71 x1062 x252 x380 x1126 x313 x1013 x72 x1063 x159 x757 x328 x73 x1128 x567 x74 x161 x759 x255 x878 x819 x1065 x1129 x1050 x511 x568 x75 x1067 x256 x571 x1130 x945 x76 x163 x1068 x1131 x518 x762 x165 x454 x332 x519 x883 x683 x80 x168 x189 x81 x169 x190 x363 x336 x82 x296 x460 x127 x526 x297 x1001 x528 x341 x572 x732 x344 x400 x733 x737 x88 x407 x967 x1028 x537 x1046 x89 x177 x595 x90 x583 x969 x848 x91 x92 x180 x411 x474 x93 x412 x697 x542 x1017 x587 x94 x698 x598 x795 x95 x414 x544 x911 x96 x415 x700 x184 x545 x97 x888 x462 x904 x937 x953 x905 x971 x954 x103 x706 x894 x666 x909 x466 x897 x107 x710 x898 x669 x498 x865 x1177 x867 x1116 x243 x441 x505 x793 x880 x220 x582 x585 x651 x126 x34 x343 x525 x586 x999 x465 x35 x850 x1020 x347 x1006 x1008 x592 x593 x844 x1135 x636 x918 x935 x1045 x506 x1011 x158 x1061 x611 x817 x1053 x678 x384 x724 x721 x164 x680 x725 x1069 x334 x959 x530 x1121 x870 x1029 x1152 x902 x1154 x1009 x1095 x922 x338 x908 x1157 x923 x559 x941 x973 x924 x612 x942 x626 x985 x1036 x925 x627 x927 x977 x563 x197 x864 x1113 x240 x198 x1114 x600 x259 x603 x262 x422 x618 x213 x576 x840 x987 x961 x796 x882 x1021 x841 x333 x1007 x1023 x578 x989 x952 x216 x335 x1104 x1025 x1010 x1155 x991 x965 x1044 x218 x801 x1026 x845 x1106 x857 x604 x992 x219 x993 x557 x640 x594 x982 x224 x652 x570 x983 x597 x1003 x976 x228 x620 x649 x980 x621 x650 x981 x996 x1047 x1052 x625 x653 x984 x614 x1002 x613 x479 x1004 x258 x1132 x1133 x1134 x885 x1136 x949 x591 x565 x951 x955 x562 x929 x1022 x551 x934 x564 x1027 x637 x968 x566 x556 x639 x950 x843 x440 x921 x280 x906 x1156 x337 x998 x459 x558 x940 x1033 x285 x944 x529 x574 x575 x978 x590 x979 x229 x589 x646 x946 x1005 x1039 x814 x524 x617 x623 x316 x433 x823 x782 x1193 x317 x436 x501 x546 x928 x630 x547 x548 x930 x321 x516 x573 x783 x1194 x456 x957 x346 x468 x517 x469 x966 x552 x635 x352 x1168 x938 x406 x295 x359 x361 x577 x579 x1024 x364 x553 x581 x605 x638 x936 x439 x622 x387 x879 x824 x970 x1098 x401 x531 x648 x536 x624 x1111 x956 x655 x986 x549 x632 x931 x550 x633 x932 x1184 x822 x452 x615 x1087 x960 x1178 x943 x644 x975 x1032 x233 x541 x225 x962 x963 x964 x580 x634 x933 x645 x569 x875 x599 x916 x609 x610 x939 x616 x947 x661 x1060 x1084 x1192 x1088 x815 x1183 x778 x820 x1083 x1189 x1090 x842 x1093 x1094 x1096 x1097 x1100 x1101 x852 x1163 x1108 x808 x1175 x881 x988 x1071 x1089 x1107 x1144 x1176 x1181 x1182 *この「近傍探索」は機械学習における類似データの探索を指す.
  87. 近傍グラフによる探索空間の縮⼩ • 各変数xj について同じ制約に同時に現れる変数を列挙. • ivu06-big(約227万変数)など変数が⾮常に多い問題例は少なくない. • 組合せの数がn2(nは変数の数)となるので,xj と同時に現れる頻度の ⾼い変数のみを残して近傍グラフを構成.

    • 多くの計算時間を要するので,変数xj を反転する際に近傍グラフの必 要な部分のみ遅延⽣成する ← 実際に利⽤されるのは⼀部分だけ 87 x1 x98 x809 x701 x141 x765 x749 x784 x365 x662 x2 x186 x810 x99 x303 x275 x291 x247 x204 x766 x825 x750 x785 x142 x663 x148 x702 x241 x1040 x417 x3 x100 x811 x304 x187 x78 x143 x703 x891 x767 x826 x751 x786 x418 x657 x205 x292 x276 x995 x391 x166 x682 x4 x79 x491 x85 x1064 x101 x658 x167 x188 x392 x833 x426 x368 x463 x775 x10 x398 x689 x173 x382 x160 x758 x1186 x144 x704 x892 x665 x5 x102 x813 x705 x492 x369 x893 x828 x769 x753 x788 x145 x659 x427 x834 x997 x6 x493 x1066 x731 x208 x777 x428 x162 x760 x685 x394 x7 x494 x309 x104 x86 x370 x429 x475 x424 x707 x395 x170 x11 x690 x174 x8 x495 x87 x105 x708 x83 x430 x371 x476 x642 x1127 x12 x175 x668 x691 x896 x310 x171 x396 x461 x192 x9 x496 x311 x106 x193 x84 x431 x372 x477 x643 x267 x381 x709 x1014 x254 x283 x298 x210 x664 x688 x397 x172 x194 x497 x735 x284 x211 x958 x299 x432 x763 x561 x108 x821 x711 x373 x836 x761 x779 x1190 x1070 x196 x388 x764 x287 x301 x212 x499 x13 x500 x274 x416 x435 x185 x900 x14 x109 x318 x712 x1151 x901 x260 x601 x437 x15 x199 x502 x110 x319 x375 x866 x1115 x242 x153 x713 x261 x602 x438 x16 x827 x111 x714 x277 x768 x752 x1179 x787 x200 x320 x376 x671 x293 x903 x1153 x17 x112 x1074 x201 x155 x715 x278 x504 x1180 x868 x244 x1117 x18 x1075 x113 x202 x829 x420 x279 x716 x322 x378 x869 x245 x1118 x754 x770 x789 x19 x203 x114 x487 x1119 x830 x20 x831 x323 x281 x1077 x756 x816 x773 x790 x191 x907 x972 x507 x772 x21 x115 x508 x1078 x324 x717 x154 x56 x282 x444 x832 x871 x22 x116 x509 x718 x325 x1079 x1185 x818 x792 x672 x675 x445 x1030 x425 x774 x23 x117 x510 x326 x1080 x676 x719 x1142 x873 x1143 x446 x1035 x1159 x272 x910 x58 x24 x118 x1081 x835 x157 x383 x720 x776 x1187 x1188 x251 x1125 x874 x25 x209 x286 x513 x253 x876 x794 x300 x195 x912 x448 x1051 x26 x514 x119 x329 x449 x385 x1146 x722 x837 x450 x877 x1147 x1037 x913 x1161 x27 x723 x120 x330 x288 x386 x679 x677 x1148 x451 x1019 x914 x1162 x467 x28 x289 x331 x915 x948 x453 x1150 x839 x29 x121 x290 x726 x686 x389 x30 x122 x846 x520 x727 x339 x390 x994 x917 x455 x1164 x647 x681 x687 x31 x847 x728 x1091 x123 x221 x408 x1158 x791 x803 x521 x32 x124 x222 x522 x1092 x729 x1166 x919 x457 x584 x33 x125 x730 x523 x342 x223 x684 x393 x458 x920 x1160 x1016 x464 x849 x36 x527 x128 x226 x345 x734 x588 x851 x654 x807 x37 x129 x736 x1099 x227 x926 x1173 x399 x38 x1102 x130 x532 x214 x797 x738 x402 x470 x39 x739 x1103 x853 x131 x176 x692 x403 x215 x533 x798 x348 x40 x534 x740 x132 x349 x854 x472 x404 x799 x693 x230 x367 x471 x1165 x41 x741 x1105 x350 x855 x133 x694 x405 x217 x535 x800 x231 x42 x134 x856 x351 x742 x179 x1167 x232 x473 x294 x695 x43 x135 x858 x353 x743 x538 x234 x1169 x802 x1170 x44 x744 x136 x1109 x354 x539 x235 x178 x181 x804 x1000 x1034 x859 x409 x1171 x1048 x596 x45 x355 x137 x860 x540 x236 x1110 x182 x745 x974 x410 x478 x1172 x1015 x1049 x805 x46 x138 x861 x356 x746 x237 x183 x699 x696 x47 x238 x139 x862 x543 x1112 x413 x357 x747 x806 x480 x1174 x48 x748 x140 x863 x358 x239 x1038 x49 x302 x481 x50 x1072 x656 x77 x51 x360 x483 x1041 x629 x482 x1073 x52 x419 x305 x884 x484 x503 x812 x53 x362 x631 x990 x1043 x306 x485 x54 x146 x263 x421 x660 x1137 x886 x307 x486 x1076 x55 x771 x264 x755 x1138 x887 x147 x265 x889 x1139 x488 x489 x1012 x57 x266 x890 x366 x619 x490 x248 x606 x1140 x149 x249 x1141 x340 x554 x59 x150 x268 x312 x250 x608 x206 x1123 x555 x60 x1082 x269 x1124 x1031 x61 x151 x270 x667 x895 x1145 x641 x314 x62 x152 x1085 x1018 x315 x271 x515 x1191 x780 x63 x781 x1086 x838 x560 x64 x273 x434 x257 x1149 x899 x1054 x628 x65 x1055 x442 x246 x374 x1120 x423 x308 x66 x443 x1056 x670 x67 x1057 x1122 x607 x1042 x68 x1058 x377 x872 x69 x1059 x156 x207 x673 x70 x447 x379 x674 x327 x512 x71 x1062 x252 x380 x1126 x313 x1013 x72 x1063 x159 x757 x328 x73 x1128 x567 x74 x161 x759 x255 x878 x819 x1065 x1129 x1050 x511 x568 x75 x1067 x256 x571 x1130 x945 x76 x163 x1068 x1131 x518 x762 x165 x454 x332 x519 x883 x683 x80 x168 x189 x81 x169 x190 x363 x336 x82 x296 x460 x127 x526 x297 x1001 x528 x341 x572 x732 x344 x400 x733 x737 x88 x407 x967 x1028 x537 x1046 x89 x177 x595 x90 x583 x969 x848 x91 x92 x180 x411 x474 x93 x412 x697 x542 x1017 x587 x94 x698 x598 x795 x95 x414 x544 x911 x96 x415 x700 x184 x545 x97 x888 x462 x904 x937 x953 x905 x971 x954 x103 x706 x894 x666 x909 x466 x897 x107 x710 x898 x669 x498 x865 x1177 x867 x1116 x243 x441 x505 x793 x880 x220 x582 x585 x651 x126 x34 x343 x525 x586 x999 x465 x35 x850 x1020 x347 x1006 x1008 x592 x593 x844 x1135 x636 x918 x935 x1045 x506 x1011 x158 x1061 x611 x817 x1053 x678 x384 x724 x721 x164 x680 x725 x1069 x334 x959 x530 x1121 x870 x1029 x1152 x902 x1154 x1009 x1095 x922 x338 x908 x1157 x923 x559 x941 x973 x924 x612 x942 x626 x985 x1036 x925 x627 x927 x977 x563 x197 x864 x1113 x240 x198 x1114 x600 x259 x603 x262 x422 x618 x213 x576 x840 x987 x961 x796 x882 x1021 x841 x333 x1007 x1023 x578 x989 x952 x216 x335 x1104 x1025 x1010 x1155 x991 x965 x1044 x218 x801 x1026 x845 x1106 x857 x604 x992 x219 x993 x557 x640 x594 x982 x224 x652 x570 x983 x597 x1003 x976 x228 x620 x649 x980 x621 x650 x981 x996 x1047 x1052 x625 x653 x984 x614 x1002 x613 x479 x1004 x258 x1132 x1133 x1134 x885 x1136 x949 x591 x565 x951 x955 x562 x929 x1022 x551 x934 x564 x1027 x637 x968 x566 x556 x639 x950 x843 x440 x921 x280 x906 x1156 x337 x998 x459 x558 x940 x1033 x285 x944 x529 x574 x575 x978 x590 x979 x229 x589 x646 x946 x1005 x1039 x814 x524 x617 x623 x316 x433 x823 x782 x1193 x317 x436 x501 x546 x928 x630 x547 x548 x930 x321 x516 x573 x783 x1194 x456 x957 x346 x468 x517 x469 x966 x552 x635 x352 x1168 x938 x406 x295 x359 x361 x577 x579 x1024 x364 x553 x581 x605 x638 x936 x439 x622 x387 x879 x824 x970 x1098 x401 x531 x648 x536 x624 x1111 x956 x655 x986 x549 x632 x931 x550 x633 x932 x1184 x822 x452 x615 x1087 x960 x1178 x943 x644 x975 x1032 x233 x541 x225 x962 x963 x964 x580 x634 x933 x645 x569 x875 x599 x916 x609 x610 x939 x616 x947 x661 x1060 x1084 x1192 x1088 x815 x1183 x778 x820 x1083 x1189 x1090 x842 x1093 x1094 x1096 x1097 x1100 x1101 x852 x1163 x1108 x808 x1175 x881 x988 x1071 x1089 x1107 x1144 x1176 x1181 x1182 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x98 x809 x701 x186 x810 x99 x303 x100 x811 x304 x187 x78 x79 x491 x85 x1064 x101 x102 x813 x705 x492 x493 x1066 x731 x494 x309 x104 x86 x495 x87 x105 x708 x83 x496 x311 x106 x193 x84 x194 x85 x497 x735 x108 x821 x86 同じ割当制約に同時に 現れる変数を列挙 頻度の⾼い変数のみ残す
  88. 近傍グラフを利⽤した⼤規模近傍探索 • 1-flip近傍操作だけでは精度の良い解は得られない. • 変数が⾮常に多い問題例では,多数の変数を同時に反転する近傍 操作は時間がかかり過ぎる. • 2-flip近傍操作はネットワークの辺にある変数の組み合わせに対 してのみ適⽤する. •

    2-flip近傍操作で改善しなかったものの有望な組み合わせを記憶 しておき,これらを組み合わせて(3,4)-flip近傍操作を実現する. 88 x998 x1032 x610 x939 x1 x98 x809 x701 x141 x765 x749 x784 x365 x662 x2 x186 x810 x99 x303 x275 x291 x247 x204 x766 x825 x750 x785 x142 x663 x148 x702 x241 x1040 x417 x3 x100 x811 x304 x187 x78 x143 x703 x891 x767 x826 x751 x786 x418 x657 x205 x292 x276 x995 x391 x166 x682 x4 x79 x491 x85 x1064 x101 x658 x167 x188 x392 x833 x426 x368 x463 x775 x10 x398 x689 x173 x382 x160 x758 x1186 x144 x704 x892 x665 x5 x102 x813 x705 x492 x369 x893 x828 x769 x753 x788 x145 x659 x427 x834 x997 x6 x493 x1066 x731 x208 x777 x428 x162 x760 x685 x394 x7 x494 x309 x104 x86 x370 x429 x475 x424 x707 x395 x170 x11 x690 x174 x8 x495 x87 x105 x708 x83 x430 x371 x476 x642 x1127 x12 x175 x668 x691 x896 x310 x171 x396 x461 x192 x9 x496 x311 x106 x193 x84 x431 x372 x477 x643 x267 x381 x709 x1014 x254 x283 x298 x210 x664 x688 x397 x172 x194 x497 x735 x284 x211 x958 x299 x432 x763 x561 x108 x821 x711 x373 x836 x761 x779 x1190 x1070 x196 x388 x764 x287 x301 x212 x499 x13 x500 x274 x416 x435 x185 x900 x14 x109 x318 x712 x1151 x901 x260 x601 x437 x15 x199 x502 x110 x319 x375 x866 x1115 x242 x153 x713 x261 x602 x438 x16 x827 x111 x714 x277 x768 x752 x1179 x787 x200 x320 x376 x671 x293 x903 x1153 x17 x112 x1074 x201 x155 x715 x278 x504 x1180 x868 x244 x1117 x18 x1075 x113 x202 x829 x420 x279 x716 x322 x378 x869 x245 x1118 x754 x770 x789 x19 x203 x114 x487 x1119 x830 x20 x831 x323 x281 x1077 x756 x816 x773 x790 x191 x907 x972 x507 x772 x21 x115 x508 x1078 x324 x717 x154 x56 x282 x444 x832 x871 x22 x116 x509 x718 x325 x1079 x1185 x818 x792 x672 x675 x445 x1030 x425 x774 x23 x117 x510 x326 x1080 x676 x719 x1142 x873 x1143 x446 x1035 x1159 x272 x910 x58 x24 x118 x1081 x835 x157 x383 x720 x776 x1187 x1188 x251 x1125 x874 x25 x209 x286 x513 x253 x876 x794 x300 x195 x912 x448 x1051 x26 x514 x119 x329 x449 x385 x1146 x722 x837 x450 x877 x1147 x1037 x913 x1161 x27 x723 x120 x330 x288 x386 x679 x677 x1148 x451 x1019 x914 x1162 x467 x28 x289 x331 x915 x948 x453 x1150 x839 x29 x121 x290 x726 x686 x389 x30 x122 x846 x520 x727 x339 x390 x994 x917 x455 x1164 x647 x681 x687 x31 x847 x728 x1091 x123 x221 x408 x1158 x791 x803 x521 x32 x124 x222 x522 x1092 x729 x1166 x919 x457 x584 x33 x125 x730 x523 x342 x223 x684 x393 x458 x920 x1160 x1016 x464 x849 x36 x527 x128 x226 x345 x734 x588 x851 x654 x807 x37 x129 x736 x1099 x227 x926 x1173 x399 x38 x1102 x130 x532 x214 x797 x738 x402 x470 x39 x739 x1103 x853 x131 x176 x692 x403 x215 x533 x798 x348 x40 x534 x740 x132 x349 x854 x472 x404 x799 x693 x230 x367 x471 x1165 x41 x741 x1105 x350 x855 x133 x694 x405 x217 x535 x800 x231 x42 x134 x856 x351 x742 x179 x1167 x232 x473 x294 x695 x43 x135 x858 x353 x743 x538 x234 x1169 x802 x1170 x44 x744 x136 x1109 x354 x539 x235 x178 x181 x804 x1000 x1034 x859 x409 x1171 x1048 x596 x45 x355 x137 x860 x540 x236 x1110 x182 x745 x974 x410 x478 x1172 x1015 x1049 x805 x46 x138 x861 x356 x746 x237 x183 x699 x696 x47 x238 x139 x862 x543 x1112 x413 x357 x747 x806 x480 x1174 x48 x748 x140 x863 x358 x239 x1038 x49 x302 x481 x50 x1072 x656 x77 x51 x360 x483 x1041 x629 x482 x1073 x52 x419 x305 x884 x484 x503 x812 x53 x362 x631 x990 x1043 x306 x485 x54 x146 x263 x421 x660 x1137 x886 x307 x486 x1076 x55 x771 x264 x755 x1138 x887 x147 x265 x889 x1139 x488 x489 x1012 x57 x266 x890 x366 x619 x490 x248 x606 x1140 x149 x249 x1141 x340 x554 x59 x150 x268 x312 x250 x608 x206 x1123 x555 x60 x1082 x269 x1124 x1031 x61 x151 x270 x667 x895 x1145 x641 x314 x62 x152 x1085 x1018 x315 x271 x515 x1191 x780 x63 x781 x1086 x838 x560 x64 x273 x434 x257 x1149 x899 x1054 x628 x65 x1055 x442 x246 x374 x1120 x423 x308 x66 x443 x1056 x670 x67 x1057 x1122 x607 x1042 x68 x1058 x377 x872 x69 x1059 x156 x207 x673 x70 x447 x379 x674 x327 x512 x71 x1062 x252 x380 x1126 x313 x1013 x72 x1063 x159 x757 x328 x73 x1128 x567 x74 x161 x759 x255 x878 x819 x1065 x1129 x1050 x511 x568 x75 x1067 x256 x571 x1130 x945 x76 x163 x1068 x1131 x518 x762 x165 x454 x332 x519 x883 x683 x80 x168 x189 x81 x169 x190 x363 x336 x82 x296 x460 x127 x526 x297 x1001 x528 x341 x572 x732 x344 x400 x733 x737 x88 x407 x967 x1028 x537 x1046 x89 x177 x595 x90 x583 x969 x848 x91 x92 x180 x411 x474 x93 x412 x697 x542 x1017 x587 x94 x698 x598 x795 x95 x414 x544 x911 x96 x415 x700 x184 x545 x97 x888 x462 x904 x937 x953 x905 x971 x954 x103 x706 x894 x666 x909 x466 x897 x107 x710 x898 x669 x498 x865 x1177 x867 x1116 x243 x441 x505 x793 x880 x220 x582 x585 x651 x126 x34 x343 x525 x586 x999 x465 x35 x850 x1020 x347 x1006 x1008 x592 x593 x844 x1135 x636 x918 x935 x1045 x506 x1011 x158 x1061 x611 x817 x1053 x678 x384 x724 x721 x164 x680 x725 x1069 x334 x959 x530 x1121 x870 x1029 x1152 x902 x1154 x1009 x1095 x922 x338 x908 x1157 x923 x559 x941 x973 x924 x612 x942 x626 x985 x1036 x925 x627 x927 x977 x563 x197 x864 x1113 x240 x198 x1114 x600 x259 x603 x262 x422 x618 x213 x576 x840 x987 x961 x796 x882 x1021 x841 x333 x1007 x1023 x578 x989 x952 x216 x335 x1104 x1025 x1010 x1155 x991 x965 x1044 x218 x801 x1026 x845 x1106 x857 x604 x992 x219 x993 x557 x640 x594 x982 x224 x652 x570 x983 x597 x1003 x976 x228 x620 x649 x980 x621 x650 x981 x996 x1047 x1052 x625 x653 x984 x614 x1002 x613 x479 x1004 x258 x1132 x1133 x1134 x885 x1136 x949 x591 x565 x951 x955 x562 x929 x1022 x551 x934 x564 x1027 x637 x968 x566 x556 x639 x950 x843 x440 x921 x280 x906 x1156 x337 x998 x459 x558 x940 x1033 x285 x944 x529 x574 x575 x978 x590 x979 x229 x589 x646 x946 x1005 x1039 x814 x524 x617 x623 x316 x433 x823 x782 x1193 x317 x436 x501 x546 x928 x630 x547 x548 x930 x321 x516 x573 x783 x1194 x456 x957 x346 x468 x517 x469 x966 x552 x635 x352 x1168 x938 x406 x295 x359 x361 x577 x579 x1024 x364 x553 x581 x605 x638 x936 x439 x622 x387 x879 x824 x970 x1098 x401 x531 x648 x536 x624 x1111 x956 x655 x986 x549 x632 x931 x550 x633 x932 x1184 x822 x452 x615 x1087 x960 x1178 x943 x644 x975 x1032 x233 x541 x225 x962 x963 x964 x580 x634 x933 x645 x569 x875 x599 x916 x609 x610 x939 x616 x947 x661 x1060 x1084 x1192 x1088 x815 x1183 x778 x820 x1083 x1189 x1090 x842 x1093 x1094 x1096 x1097 x1100 x1101 x852 x1163 x1108 x808 x1175 x881 x988 x1071 x1089 x1107 x1144 x1176 x1181 x1182 近傍グラフに沿って 順々に変数を反転 ↑ ↑ ↓ ↓
  89. 評価計算の⾼速化 • 近傍操作ではごく少数の変数のみ値が変化するため,現在の解x と近傍解 xʼ ∈NB(x) の間で値が変化した変数に関わる部分のみ 再計算すれば,評価関数値の変化量 Δz(x) =

    z(xʼ) – z(x) を⾼ 速に計算できる場合が多い. • 局所探索法では,近傍内の解を評価する回数に⽐べて,現在の解 が移動する回数ははるかに少ないので,補助記憶の更新に多少時 間がかかっても,全体では⼗分な⾼速化が実現できる. 89 評価関数の変化量 補助記憶 係数⾏列 補助記憶を利⽤すれば 定数時間で計算できる 疎な⾏列だと効率良く 補助記憶が更新できる 本来は⽬的関数と制約条 件の評価に⼊⼒サイズの 計算量が必要 A b c
  90. 数値実験の環境 • ⼤規模な集合被覆問題と集合分割問題について評価. • MacBookPro (Intel Core i7 2.7GHz, 16GBメモリ)

    1スレッドで 実⾏. 90 集合被覆問題のベンチマーク問題例 *前処理によって冗⻑な変数や制約を削除している.
  91. 数値実験の環境 • ⼤規模な集合被覆問題と集合分割問題について評価. • MacBookPro (Intel Core i7 2.7GHz, 16GBメモリ)

    1スレッドで 実⾏. 91 集合分割問題のベンチマーク問題例 約256万変数におよぶ ⼤規模な整数計画問題 *前処理によって冗⻑な変数や制約を削除している.
  92. 数値実験の結果 • 近傍リストなし(no-list),評価計算の⾼速化なし(no-inc),2-flip 近傍のみ(2-FNLS),提案⼿法(proposed)の4通りを⽐較. • 最良値からの相対誤差 (%)で評価. 92 集合被覆問題の実⾏結果 単純な局所探索法*から

    15〜20倍ほど⾼速化 *簡単な評価計算の⾼速化は適⽤しています.
  93. 数値実験の結果 • 近傍リストなし(no-list),評価計算の⾼速化なし(no-inc),2-flip 近傍のみ(2-FNLS),提案⼿法(proposed)の4通りを⽐較. • 最良値からの相対誤差 (%)で評価. 93 集合分割問題の実⾏結果 単純な局所探索法*から

    15〜20倍ほど⾼速化 *簡単な評価計算の⾼速化は適⽤しています.
  94. 数値実験の結果 • 整数計画ソルバー(CPLEX12.6, Gurobi5.6.3, LocalSolver3.1), 専⽤解法(Yagiura et al.)と⽐較. • 最良値からの相対誤差

    (%)で評価. 94 集合被覆問題の実⾏結果 専⽤解法
  95. 数値実験の結果 • 整数計画ソルバー(CPLEX12.6, Gurobi5.6.3, LocalSolver3.1), 専⽤解法(Yagiura et al.)と⽐較. • 最良値からの相対誤差

    (%)で評価. 95 集合分割問題の実⾏結果
  96. まとめ • 産業や学術の幅広い分野における現実問題の迅速な解決. • 汎⽤性と性能を兼ね備えた組合せ最適化ソルバーの実現. • 整数計画問題のような計算困難な組合せ最適化問題でも⼊⼒データに よっては効率良く解ける場合は少なくない. • 「⼊⼒データの解析+アルゴリズムの⾃動構成」を実現すれば,整数

    計画問題でも多くの⼊⼒データで効率良く解けるようになる︖ ü ⼤規模な整数計画問題に対応できる⾼速な局所探索法 ü ⼤規模な⼊⼒データから局所探索法の性能向上に役⽴つ特徴を発⾒ ü 局所探索法の各要素の設定と構成を⾃動決定 • 「機械学習のための最適化」ではなく「最適化のための機械学習」と いう観点で両者の融合を今後も模索したい. 96 データマイニングを⽤いた組合せ最適化⼿法の実現
  97. 参考⽂献 • S.Umetani, Exploiting variable associations to configure efficient local

    search algorithm in large-scale set partitioning problems, Proc. of 29th AAAI Conference on Artificial Intelligence (AAAI-15), 1226-1232. • S.Umetani, Exploiting variable associations to configure efficient local search algorithm in large-scale binary integer programs, European Journal of Operational Research, 263 (2017), 72-81. (open access) 97