PowerPoint97

Download Report

Transcript PowerPoint97

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

理学部 情報科学科 西岡研究室 高田 光子 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  523

X

1 13 2   1 .

11 .

2

X

1 4

X

1   487

X

 11 .

9

X

0 .

8

X

2  2 2   666

X

8 .

5

X

0 .

5

X

3  3 3           1

X

 10 80

X

2 .

4

X

10  0 .

10 5 

X

 4 11 74 .

9 

X

11

X

11 1 .

2   183

X

12

X

12 4

X

 12 4 

X

1

X i

 

X

0 , 2 1  (

i X

3   1 , 2 1

X X

7

X

10  

X

8

X

11  

X

9

X

12  1  1

X

4 1  

X X

5 4 

X

6  1 ,  , 12 ) 目的関数  983 33

f

 20

X

1  25

X

2  50

X

3     20

X

10  15

X

11  20

X

12  min 11

動作例(システム内部)

523

X

1  487

X

2  666

X

3     80

X

10  74

X

11  11 523

X

1 .

2

X

1   487

X

11 .

9

X

2 3   666 8 .

5

X X

3 3         2 80 .

4

X X

10 10   74

X

11 4 .

9

X

11  183

X

12  183

X

13  4

X

12   983  33  783  11 .

2

X

1 1 .

4

X

1   11 .

9

X

0 .

8

X

2  2  0 .

5

X

8 .

5

X

3 3         1

X

2 .

4 10 

X

10  0 .

5

X

4 .

9 11

X

11  1 .

2 

X

4

X

12  12 4   1 .

4

X

1  0 .

8

X

2  0 .

5

X

3     1

X

10  0 .

5

X

11  1 .

2

X

12    2 13

X

1  

X

1

X

4  

X

4

X

1 

X

2  

X

2

X

5 

X

X

4 5 

X

3 

X

3  1 

X

6 

X

0 6  1   1  1

X

7  

X

7

X

10 

X

 10

X

8  

X

8

X

11 

X

 11

X

9  

X

9 1 

X

 12

X

 12  1  1  1 12

動作例(出力画面)

調理時間を目的関数とした出力例

X

1  0

X

4  1

X

7  0

X

10  1

X

2  0

X

5  0

X

8  1

X

11  0

X

3

X

6  1  0

X

9  0

X

12  0 13

動作例(出力画面)

費用を目的関数とした出力例

X X

4 1  1  1

X

7  0

X

10  1

X

2  0

X

5  0

X

8  0

X

11  0

X

3  0

X X

9 6  0  1

X

12  0 14

まとめ

数理計画法を用いることにより、栄養学的な諸条 件を満たすバランスの良い献立を作成できるよう になった。 個人の好みや献立の組み合わせの適・不適を制 約条件に反映することにより、目的に合った献立 が作成できるようになった。 目的関数を変更することにより調理時間や費用 等の目的に応じた献立を作成できるようになった。 15

今後の課題

料理に変化を持たせるバラエティーに富ん だ献立を作成できるようにする 調理時間、費用以外の要因を最適とする 目的関数を作成できるようにする GUIでの制約条件・目的関数の入力方法 の追加・改良 16