料理献立作成エキスパートシステムの 最適化に関する

料理献立作成エキスパートシステムの
最適化に関する研究
理学部 情報科学科 西岡研究室
高田 光子
1
はじめに
複数食分の料理献立を、対象者の嗜好だ
けでなく栄養のバランス等を考慮して提案
する
対象者の年齢・性別に応じて栄養摂取量
は異なるため、それに応じたさまざまな制
約条件を生成し、数理計画法により解を求
める
2
数理計画問題
すべての制約条件を満足する解の中で
目的関数の最適値を与える解を求める
目的関数:制御変数と問題の目的との関係を与える数式
制約条件:制御変数がとりうる値を制限する数式
実行可能解:制約条件を満たす解
最適解:実行可能解のうち目的関数を最大(最小)にする解
数理計画問題の解法を数理計画法という
3
数理計画問題・数理計画法の分類
線形計画法: 目的関数とすべての制約条
件が線形式で表される
整数計画法: 制御変数の値が整数値の
みをとる
0-1計画法: 制御変数の値が0か1のみ
をとる
4
システムの概略

年齢・性別を入力
 主食、主菜、副菜、汁物の順に料理メニューからそれぞ
れ候補を選択する
 制約条件と目的関数を作成し、数理計画法を用いて最適
解を求める
 最適解を用いて栄養のバランスの良い献立を出力
5
データ形式
dish(料理番号,種類,パターン,漢字料理名,
カロリー(kcal),たんぱく質量(g),
塩分量(g),調理時間(分),費用(円))
種類
1:和食 2:洋食 3:中華
パターン 1:主食 2:主菜 3:副菜 4:汁物
6
動作例(年齢・性別入力画面)
7
動作例(献立の候補の選択画面)
8
動作例(献立の候補の選択画面)
9
動作例(組み合わせの選択画面)
10
動作例(システム内部)
制約条件
783  523X 1  487X 2  666X 3    80X 10  74X 11  183X 12  983
13  11.2 X 1  11.9 X 2  8.5 X 3    2.4 X 10  4.9 X 11  4 X 12  33
2  1.4 X 1  0.8 X 2  0.5 X 3    1X 10  0.5 X 11  1.2 X 12  4
X1  X 2  X 3  1
X4  X5  X6 1
X7  X8  X9 1
X 10  X 11  X 12  1
X1  X 4
X i  0 ,1 (i  1,2,,12)
目的関数
f  20X 1  25X 2  50X 3    20X 10  15X 11  20X 12  min
11
動作例(システム内部)
523X 1  487X 2  666X 3    80X 10  74X 11  183X 12  983
 523X 1  487X 3  666X 3    80X 10  74X 11  183X 13  783
11.2 X 1  11.9 X 2  8.5 X 3    2.4 X 10  4.9 X 11  4 X 12  33
 11.2 X 1  11.9 X 2  8.5 X 3    2.4 X 10  4.9 X 11  4 X 12  13
1.4 X 1  0.8 X 2  0.5 X 3    1X 10  0.5 X 11  1.2 X 12  4
 1.4 X 1  0.8 X 2  0.5 X 3    1X 10  0.5 X 11  1.2 X 12  2
X1  X 2  X 3  1
X7  X8  X9 1
 X 1  X 2  X 3  1
 X 7  X 8  X 9  1
X4  X5  X6 1
X 10  X 11  X 12  1
 X 4  X 5  X 6  1
 X 10  X 11  X 12  1
X1  X 4  0
12
動作例(出力画面)
調理時間を目的関数とした出力例
X1  0
X2  0
X3 1
X4 1
X5  0
X6  0
X7  0
X8 1
X9  0
X 10  1
X 11  0
X 12  0
13
動作例(出力画面)
費用を目的関数とした出力例
X1  1
X2  0
X3  0
X4 1
X5  0
X6  0
X7  0
X8  0
X9 1
X 10  1
X 11  0
X 12  0
14
まとめ
数理計画法を用いることにより、栄養学的な諸条
件を満たすバランスの良い献立を作成できるよう
になった。
個人の好みや献立の組み合わせの適・不適を制
約条件に反映することにより、目的に合った献立
が作成できるようになった。
目的関数を変更することにより調理時間や費用
等の目的に応じた献立を作成できるようになった。
15
今後の課題
料理に変化を持たせるバラエティーに富ん
だ献立を作成できるようにする
調理時間、費用以外の要因を最適とする
目的関数を作成できるようにする
GUIでの制約条件・目的関数の入力方法
の追加・改良
16