最適化理論

科目基礎情報

学校 鶴岡工業高等専門学校 開講年度 2018
授業科目 最適化理論
科目番号 0330 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 _制御情報工学科 対象学年 5
開設期 後期 週時間数 2
教科書/教材 平野廣美,遺伝的アルゴリズムと遺伝的プログラミング,パーソナルメディア
担当教員 西山 勝彦

到達目標

1.遺伝的アルゴリズムに関する基本知識を身につけ,エンジニアとしての基本能力である最適解探索能力を養うことが出来る.
2.遺伝的アルゴリズムの実際の系への適用方法を理解できる.
3.C++言語により,簡単な遺伝的アルゴリズムのプログラムを構築し,実際に計算できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1遺伝的アルゴリズムを用いて,計算できる.遺伝的アルゴリズムを理解している.遺伝的アルゴリズムを理解していない.
評価項目2C++言語での実装手順を理解し,実際にプログラムを実装して計算できる.C++言語での実装手順を理解している.C++言語での実装手順を理解していない.
評価項目3

学科の到達目標項目との関係

教育方法等

概要:
最適化手法は,現在の工学において不可欠な知識であることを理解し,最適化手法の一種である遺伝的アルゴリズムの基本知識を身につける.これにより,エンジニアとしての基本能力である最適解探索能力を養うことが出来る.また,C++ 言語によるプログラミング演習を行うことで,実用方法についても身につけられる.
授業の進め方・方法:
講義形式で理論説明を行い,簡単な課題をC++言語で演習を行う.試験は筆記とする.
学年末試験80%,自学自習のための課題20% で達成度を総合評価する.総合評価60点以上を合格とする.
注意点:

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス,遺伝的アルゴリズムの概説 遺伝的アルゴリズムの理論を理解できる.
2週 オブジェクト指向プログラミング(1) クラスと継承を理解できる.
3週 オブジェクト指向プログラミング(2) クラスとオブジェクトの関係を理解できる.
4週 オブジェクト指向プログラミング(3) 関数のオーバーライドを理解できる.
5週 オブジェクト指向プログラミング(4) 仮想関数を理解できる.
6週 オブジェクト指向プログラミング(5) テンプレートを理解できる.
7週 演習
8週 演習
4thQ
9週 遺伝的アルゴリズムのフレームワーク(1) オブジェクト指向フレームワークを理解できる.
10週 遺伝的アルゴリズムのフレームワーク(2) デザインパターンを理解できる.
11週 遺伝的アルゴリズムのフレームワーク(3) 遺伝的アルゴリズムのクラステンプレートをを理解できる.
12週 遺伝的アルゴリズムのフレームワーク(4) フレームワークの動作を理解できる.
13週 遺伝的アルゴリズムのフレームワーク(5) コンソールアプリケーションのプロセスオブジェクトを理解できる.
14週 演習
15週 演習
16週 期末試験

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力数学数学数学整式の加減乗除の計算や、式の展開ができる。4
因数定理等を利用して、4次までの簡単な整式の因数分解ができる。4
分数式の加減乗除の計算ができる。4
実数・絶対値の意味を理解し、絶対値の簡単な計算ができる。4
平方根の基本的な計算ができる(分母の有理化も含む)。4
解の公式等を利用して、2次方程式を解くことができる。4
因数定理等を利用して、基本的な高次方程式を解くことができる。4
簡単な連立方程式を解くことができる。5
2次関数の性質を理解し、グラフをかくことができ、最大値・最小値を求めることができる。3
角を弧度法で表現することができる。3
三角関数の性質を理解し、グラフをかくことができる。3
加法定理および加法定理から導出される公式等を使うことができる。3
三角関数を含む簡単な方程式を解くことができる。3
2点間の距離を求めることができる。3
内分点の座標を求めることができる。3
ベクトルの定義を理解し、ベクトルの基本的な計算(和・差・定数倍)ができ、大きさを求めることができる。4
平面および空間ベクトルの成分表示ができ、成分表示を利用して簡単な計算ができる。3
平面および空間ベクトルの内積を求めることができる。3
問題を解くために、ベクトルの平行・垂直条件を利用することができる。3
行列の定義を理解し、行列の和・差・スカラーとの積、行列の積を求めることができる。4
逆行列の定義を理解し、2次の正方行列の逆行列を求めることができる。3
行列式の定義および性質を理解し、基本的な行列式の値を求めることができる。3
簡単な場合について、関数の極限を求めることができる。3
微分係数の意味や、導関数の定義を理解し、導関数を求めることができる。3
合成関数の導関数を求めることができる。3
三角関数・指数関数・対数関数の導関数を求めることができる。3
逆三角関数を理解し、逆三角関数の導関数を求めることができる。3
簡単な場合について、関数の接線の方程式を求めることができる。3
2次の導関数を利用して、グラフの凹凸を調べることができる。3
関数の媒介変数表示を理解し、媒介変数を利用して、その導関数を求めることができる。3
不定積分の定義を理解し、簡単な不定積分を求めることができる。3
定積分の定義と微積分の基本定理を理解し、簡単な定積分を求めることができる。3
分数関数・無理関数・三角関数・指数関数・対数関数の不定積分・定積分を求めることができる。3
簡単な場合について、曲線で囲まれた図形の面積を定積分で求めることができる。3
簡単な場合について、曲線の長さを定積分で求めることができる。3
簡単な場合について、立体の体積を定積分で求めることができる。3
2変数関数の定義域を理解し、不等式やグラフで表すことができる。3
2重積分の定義を理解し、簡単な2重積分を累次積分に直して求めることができる。3
2重積分を用いて、簡単な立体の体積を求めることができる。3
微分方程式の意味を理解し、簡単な変数分離形の微分方程式を解くことができる。3
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。5
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4
システムプログラムコンパイラの役割と仕組みについて説明できる。5
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。4
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。4
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。4
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。5
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。6
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。6

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合80000020100
基礎的能力300000030
専門的能力3000002050
分野横断的能力200000020