科目一覧へ戻る | 2024/01/18 現在 |
開講科目名 /Class |
応用社会システム論特殊研究/Advanced Research in Applied Social Systems |
---|---|
授業コード /Class Code |
K000422001 |
開講キャンパス /Campus |
ポートアイランド |
開講所属 /Course |
博士/ |
年度 /Year |
2023年度/Academic Year |
開講区分 /Semester |
通年/FULL-YEAR |
曜日・時限 /Day, Period |
火1(前期),火1(後期)/TUE1(SPR.),TUE1(AUT.) |
単位数 /Credits |
4.0 |
主担当教員 /Main Instructor |
大角 盛広/OSUMI SHIGEHIRO |
遠隔授業 /Remote lecture |
No |
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
大角 盛広/OSUMI SHIGEHIRO | 経営学部/Business Administration |
授業の方法 /Class Format |
オンライン授業 |
---|---|
授業の目的 /Class Purpose |
単一施設配置問題および競合施設配置問題を例に取り数理最適化問題をヒューリスティックスにより数値的に解く手法について理解し、実際に動作するプログラムを作成できるようになることが目的である。 特に遺伝的アルゴリズム、粒子群最適化アルゴリズムによる解法を詳しく学ぶとともに、OpenMPまたはCUDAによるプログラムの動作の高速化手法についても学ぶ。 なお、この授業の担当者は、IT企業で8年間の実務経験のある教員であるので、より実践的な観点からシステムについて解説する。 |
到 達 目 標 /Class Objectives |
1. 単一施設配置問題および競合施設配置問題の典型問題とその応用について理解する。 2. 遺伝的アルゴリズムおよび粒子群最適化アルゴリズムの原理を理解する。 3. 施設配置問題に対して遺伝的アルゴリズムまたは粒子群最適化アルゴリズムを適用したプログラムを作成できる。 4. OpenMPまたはCUDAによる処理の並列化手法ついて理解する。 5. 新しくモデル化した施設配置問題について高速に解を求めるアルゴリズムを開発しそれを実装する。 |
授業のキーワード /Keywords |
|
授業の進め方 /Method of Instruction |
パソコンを使った実習を主体とする。 |
履修するにあたって /Instruction to Students |
ノートパソコンを持参することが望ましい。 |
授業時間外に必要な学修内容・時間 /Required Work and Hours outside of the Class |
論文や文献の読み込み、およびコーディングとデバッグ。毎回5~6時間程度の時間外学修が必要となる。 |
提出課題など /Quiz,Report,etc |
実装したプログラムによる数値実験結果とそれに関するレポートを提出してもらう。 |
成績評価方法・基準 /Grading Method・Criteria |
理解度の確認のため授業中に随時質問やミニテストを行う。その回答50%、最終課題50%によって評価する。 |
テキスト /Required Texts |
特定のテキストは用いない。論文・参考文献等を授業中に指示する。 |
参考図書 /Reference Books |
No. | 回 /Time |
主題と位置付け /Subjects and position in the whole class |
学習方法と内容 /Methods and contents |
備考 /Notes |
---|---|---|---|---|
1 | 第1回 | 授業内容の説明 | ||
2 | 第2回 | 単一施設配置問題 | Minimax型施設配置問題、Maximin型施設配置問題などについて学ぶ | |
3 | 第3回 | 競合施設配置問題1 | 既存施設と競合する施設配置問題について学ぶ | |
4 | 第4回 | 競合施設配置問題2 | 既存施設と競合する施設配置問題について学ぶ | |
5 | 第5回 | 競合施設配置問題3 | Nash均衡モデルについて学ぶ | |
6 | 第6回 | 競合施設配置問題4 | Stackelberg均衡モデルについて学ぶ | |
7 | 第7回 | 遺伝的アルゴリズムによる解法 | 問題を遺伝的アルゴリズ向けにコーディングする方法と、どのように解が求められるかを学ぶ | |
8 | 第8回 | 遺伝的アルゴリズムの実装1 | 簡単な単一施設配置問題を解ける遺伝的アルゴリズムを実装する | |
9 | 第9回 | 遺伝的アルゴリズムの実装2 | 簡単な競合施設配置問題を解ける遺伝的アルゴリズムを実装する | |
10 | 第10回 | 粒子群最適化アルゴリズムによる解法 | 問題を粒子群最適化アルゴリズム向けにコーディングする方法と、どのように解が求められるかを学ぶ | |
11 | 第11回 | 粒子群最適化アルゴリズムの実装1 | 簡単な単一施設配置問題を解ける粒子群最適化アルゴリズムを実装する | |
12 | 第12回 | 粒子群最適化アルゴリズムの実装2 | 簡単な競合施設配置問題を解ける粒子群最適化アルゴリズムを実装する | |
13 | 第13回 | 粒子群最適化アルゴリズムの実装3 | 簡単な単一施設配置問題を解ける粒子群最適化アルゴリズムを実装する | |
14 | 第14回 | ベンチマーク関数による最適化アルゴリズムの評価手法1 | 作成した遺伝的アルゴリズムと粒子群最適化アルゴリズムの性能を評価するためのベンチマーク関数について学びパラメータを変えながら実験することを学ぶ | |
15 | 第15回 | ベンチマーク関数による最適化アルゴリズムの評価手法2 | 作成した遺伝的アルゴリズムと粒子群最適化アルゴリズムの性能を評価するためのベンチマーク関数について学びパラメータを変えながら実験することを学ぶ | |
16 | 第16回 | OpenMPによる並列化の手法 | OpenMPを使った並列化・高速化の手法について学ぶ | |
17 | 第17回 | CUDAによる並列化の手法1 | CUDAを使った並列化・高速化の手法について学ぶ | |
18 | 第18回 | CUDAによる並列化の手法2 | CUDAを使った並列化・高速化の手法について学ぶ | |
19 | 第19回 | 新しい施設配置問題の定式化1 | 既存論文などを参考に施設配置問題の新しいモデルを考え定式化を行う | |
20 | 第20回 | 新しい施設配置問題の定式化2 | 既存論文などを参考に施設配置問題の新しいモデルを考え定式化を行う | |
21 | 第21回 | 新しい施設配置問題の定式化3 | 既存論文などを参考に施設配置問題の新しいモデルを考え定式化を行う | |
22 | 第22回 | 新しい施設配置問題の定式化4 | 既存論文などを参考に施設配置問題の新しいモデルを考え定式化を行う | |
23 | 第23回 | 新しい施設配置問題の定式化5 | 既存論文などを参考に施設配置問題の新しいモデルを考え定式化を行う | |
24 | 第24回 | 新しい施設配置問題の解法と実装1 | 定式化を行った問題について可能な範囲で数理的な解法を考えるとともにヒューリスティックスで解けるようなコーディングを行う | |
25 | 第25回 | 新しい施設配置問題の解法と実装2 | 定式化を行った問題について可能な範囲で数理的な解法を考えるとともにヒューリスティックスで解けるようなコーディングを行う | |
26 | 第26回 | 新しい施設配置問題の解法と実装3 | 数値実験が可能なようにアルゴリズムの実装を行う | |
27 | 第27回 | 新しい施設配置問題の解法と実装4 | 数値実験が可能なようにアルゴリズムの実装を行う | |
28 | 第28回 | 新しい施設配置問題の解法と実装5 | 数値実験が可能なようにアルゴリズムの実装を行う | |
29 | 第29回 | 新しい施設配置問題における数値実験 | パラメータを変えながら数値実験を行い、解の精度について検討する | |
30 | 第30回 | 定式化、解法、数値実験結果についてまとめる | 論文としてまとめることを念頭に結果をまとめる |