シラバス参照

授業情報/Course information

科目一覧へ戻る 2022/04/06 現在

科目名/Subject 計画科学II
担当教員(所属)/Instructor 原口 和也 (商学部)
授業科目区分/Category 昼間コース 学科別専門科目
開講学期/Semester 2022年度/Academic Year  前期/Spring Semester
開講曜限/Class period
対象所属/Eligible Faculty 商学部昼間コース/Faculty of CommerceDay School
配当年次/Years 3年 , 4年
単位数/Credits 2
研究室番号/Office
オフィスアワー/Office hours
更新日/Date of renewal 2022/01/28
授業の目的・方法
/Course Objectives and method
この科目では,オペレーションズ・リサーチ(OR)における最も重要な研究領域の一つである線形最適化問題,整数最適化問題,離散最適化(組合せ最適化)問題について,Python言語と専用ライブラリを用いた実践的な解決方法を中心に学ぶ.
 授業は講義とプログラミング実習を織り交ぜて実施する.
達成目標
/Course Goals
曖昧模糊とした現実の問題から重要なエッセンスを抽出して離散最適化問題として定式化(モデル化)し,計算によって解を導くという問題解決の流れを体得してもらいたい.
・定式化ができるようになるためには馴れが必要である.講義では典型的な最適化問題をいくつか取り上げるが,それらが現実の事例をどのようにモデル化したものかを掴んでもらいたい.
・問題を解くための計算の手順をアルゴリズムという.いくつかの問題について代表的なアルゴリズムを紹介するが,計算手順を把握するのはもちろんのこと,どのようなロジックでアルゴリズムが組み立てられているのか,ある程度のレベルまで理解してもらいたい.
・最適化計算に関する実習を行う.具体的には,Python言語とそのpulpライブラリおよびNetworkXライブラリを用いて最適化問題を解くことの実習である.一定のレベルの最適化問題を自分で定式化し,プログラムを書いて解けるようになってもらいたい.
授業内容
/Course contents
・線形最適化問題
・整数最適化問題
・離散最適化問題
 ・ネットワーク最適化問題:最小木問題,最短路問題など
 ・より難しい最適化問題:ナップサック問題,巡回セールスマン問題など
・アルゴリズム設計技法:欲張り法,動的計画法,局所探索法
・Pythonプログラミング
事前学修・事後学修
/Preparation and
review lesson
・事前配布する資料には目を通しておくこと.どのような論理で話が展開するのかを頭に入れておくことが望ましい.
・ほぼ毎回の講義で演習とその解説を行うが,講義後に改めて解き直し,理解に努めてもらいたい.
使用教材
/Teaching materials
資料を配布する.manabaからもダウンロードできるようにする予定である.以下に参考書を示す.
・今野:ヒラノ教授の線形計画法物語,岩波書店.
・山本,久保:巡回セールスマン問題への招待,朝倉書店.
・穴井,斉藤:今日から使える ! 組合せ最適化離散問題ガイドブック,講談社.
・並木:Python による数理最適化入門 (実践Pythonライブラリー),朝倉書店.
・辻:Pythonスタートブック,技術評論社.
成績評価の方法
/Grading
実習50%およびレポート50%に基づいて評価する.
成績評価の基準
/Grading Criteria
社会情報学科標準成績評価基準に従う.
履修上の注意事項
/Remarks
・離散数学およびプログラミングに関連した科目を履修していると,学習内容を理解しやすいであろう.
・Pythonが使用可能なラップトップPC等を持つ履修者は,授業に持ち込んで使用することを強く歓迎する.
実務経験者による授業
/Courses conducted by the
ones with practical
experiences
該当しない
実務経験の概要
/Outline of their practical
experiences
なし
実務経験と授業科目との関連性
/Relevance between their
practical experiences and
the course
なし
備考
/Notes
なし
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
1 1, 2 最適化問題の導入
定式化に関する学習・演習・実習
線形計画問題
整数計画問題
2 3,4,5 Python言語およびpulpライブラリに関する学習・演習・実習 Python言語
pulpライブラリ
3 6,7 定式化に関する総合実習 Python言語
pulpライブラリ
4 8,9,10 グラフの導入
グラフ上の最適化問題
グラフアルゴリズム
NetworkXライブラリの導入
グラフ理論
グラフアルゴリズム
グラフ上の最適化問題
5 11,12 NetworkXライブラリに関する学習・演習・実習 Python言語
NetworkXライブラリ
6 13,14,15 NetworkXライブラリに関する学習・演習・実習 Python言語
NetworkXライブラリ

科目一覧へ戻る