我们通过价格和满意度的双目标整数线性规划模型,再加上模糊评价体系,建立了优化菜谱模型,通过此模型可以解决食堂菜品制作数量不合适导致的营养摄取问题和剩菜过多的浪费问题。 By using price and satisfactions of student we make a double objective integer linear programming model. At the last we add a fuzzy evaluation system to the model. This menu optimization model can solve nutritional intake problem and the problem of the waste of leftovers.
黄健,高望宁,谢向东,韩文煊,王志航,高翔*
中国海洋大学数学科学学院,山东 青岛
收稿日期:2018年2月7日;录用日期:2018年2月21日;发布日期:2018年2月27日
我们通过价格和满意度的双目标整数线性规划模型,再加上模糊评价体系,建立了优化菜谱模型,通过此模型可以解决食堂菜品制作数量不合适导致的营养摄取问题和剩菜过多的浪费问题。
关键词 :菜谱优化,双目标整数规划,模糊评价,MATLAB
Copyright © 2018 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
通过查阅相关资料 [
由于食堂工作人员做菜的种类以及每种菜品做多少都是根据以往经验决定的,因此不免出现一些某些菜做多了或少了的现象,无意识中造成食物浪费或师生营养不良,为此我们将数学运用于实践,通过数学建模为广大师生提供合理的就餐建议,可做到平衡营养、口味和价格,让大多数人吃的满意,有助于提高同学们对于学校的认可度以及归属感,同时还可减少食堂不必要的浪费,增加到食堂就餐的人数,提高食堂的收益。基于这两个主要目的,我们建立了基于双目标整数规划的“食堂菜谱”优化模型。
通过走访调查,我们发现食堂的工作人员做菜时缺乏一种衡量机制,大多数人是凭经验决定做菜的种类以及每种菜品做多少,因此难免会出现一些问题。而食堂各类窗口菜品种类又不尽相同,无法进行统一评价。为解决这一难题,我们决定化整为零,以一个打饭窗口为例,建立菜谱优化模型,给出合理化建议,使在该窗口打饭的师生既满足于菜的口味、又能获得日常所需的营养,同时还能减少花销。因为很多同学会因为食堂菜品口味不佳、价格太贵而选择不去食堂,通过我们的模型可以解决这方面的一些问题,从而会增加到食堂的就餐人数,间接增加食堂的收入。
通过查阅资料,选定九类营养物质为限定条件 [
然后建立单位菜品营养元素系数计算模型如“图1所示”。目的是计算100 g菜品中蛋白质等九种元素的分别含量。模型设立:输入菜品名,判定荤素比例,再把荤素分别细分为12小类,然后分别计算所分项目单位kg重量含蛋白质等九种营养元素的质量。如此,我们就求出了一道菜的营养元素系数(营养元素系数的含义:九种营养元素在单位食材中的含量)。代入一开始的限定优化模型中,即可得出最优解 [
图1. 菜品层次结构图
通过问卷调查和德尔菲评判法搜集数据并进行汇总、整理和分析得到海大学生对于食堂菜系口味(满意度)和价格的需求。
探访食堂厨师和经理等人了解海大食堂每日的食材的种类,数量以及价格。上网和查阅书籍了解单位食材中含有人体必需营养物质的数量。
搜集素材,并进行整理和了解人体所必须的营养物质的种类以及数量进行数据建模得出平均值,作为后期菜谱研究的限定条件。
以海大学生的口味(满意度)和经济承受能力为主要权重指数,配合食材的处理难度,在满足必需营养物质的情况下进行数据建模,通过层次分析,概率统计,权重分配等多种方法实现菜谱模型的建立。
1) 假设学生一天吃三顿饭、只打4份菜且都在同一窗口打饭,米饭摄入为400 g;
2) 假设每天到窗口A就餐人数是固定的,设为a;
3) 假设窗口A的菜品种类固定,每天所用食材固定,设为b;
4) 假设学生只存在营养不足问题,营养只来源于食材与米饭且不考虑营养过剩的情况;
5) 假设早饭的营养摄入量为一天所需营养的30%。
以一个打饭窗口为例,不妨假定每个窗口有n种菜品,经调查,打饭时每份菜的质量约100 g,研究变量的限制条件海大师生人体(体重按65 kg考虑)平均一天所应摄取的(蛋白质),(脂肪),(膳食纤维),(维生素b1),(维生素b2),(钙),(铁),(锌)的含量,如下文“表1所示”。目标函数为求满足摄入量时各种菜品组合的最小价格及最大满意度,假定每个人一天吃三顿饭,且中晚餐均在同一个窗口打2份菜,即可建立双目标最优化模型如下 [
目标函数:
min z 1 = a 1 q 1 y 1 + a 2 q 2 y 2 + ⋯ + a n q n y n (1)
max z 2 = a 1 p 1 y 1 + a 2 p 2 y 2 + ⋯ + a n p n y n (2)
人体每日所需 | 100 g米饭所含 | |
---|---|---|
蛋白质/g | 75 | 2.6 |
脂肪/g | 50 | 0.3 |
膳食纤维/g | 30 | 0.2 |
维生素b1/mg | 1.35 | 0.02 |
维生素b2/mg | 1.3 | 0.03 |
钙/mg | 800 | 7 |
铁/mg | 17.5 | 2.2 |
锌mg | 15.5 | 1.36 |
表1. 人体每日所需营养物质表
PS: Men and women have different demand for iron and vitamin B1, B2, and take the average 注:铁、维生素b1、b2男女略有差异,这里取其均值
{ 75 × 0.7 − 2.6 × 4 ≤ 4 m x 1 50 × 0.7 − 0.3 × 4 ≤ 4 m x 2 30 × 0.7 − 0.2 × 4 ≤ 4 m x 3 1.35 × 0.7 − 0.02 × 4 ≤ 4 m x 4 1.3 × 0.7 − 0.03 × 4 ≤ 4 m x 5 800 × 0.7 − 7 × 4 ≤ 4 m x 6 17.5 × 0.7 − 2.2 × 4 ≤ 4 m x 7 15.5 × 0.7 − 1.36 × 4 ≤ 4 m x 8 m = a 1 y 1 + a 2 y 2 + ⋯ + a n y n
y n 为菜品的种类
m 为所选菜的总质量
q n 为菜品 y n 的价格
p n 为菜品 y n 的满意度
a n 为一天中打到菜品
在提出上述模型的基础上,我们考虑到单目标的线性规划,并不能将食堂菜谱的情况完全反应出来,于是在4.1模型的基础上,我们引进菜品购买趋势h的概念(食堂菜品价格越贵,顾客购买的趋势越低,食堂菜品满意度越高,顾客购买趋势越高)通过确定海大学生对于价格和口味的选取比重,可以确立菜品购买趋势中价格与满意度的权重。通过大量的问卷调查,我们得到了海大学生对于价格和满意度的权重为21:57。从而构建双目标线性规划方程
求得满足人体最低营养要求情况下的购买趋势最大的菜品组合
我们通过对食堂经理的采访和网上数据查询得到了窗口A中的八道菜的食材比例,按3. 问题的分析的营养元素计算模型分类如“图1所示”要求可得 [
杭椒炒肉:猪肉:杭椒 = 3:2,即根茎类:猪肉 = 3:2
炸鸡柳:鸡肉 = 1,即鸡肉 = 1
西红柿炒蛋:鸡蛋:西红柿 = 1:1,即鸡蛋:瓜类 = 1:1
葱花炒蛋:葱:鸡蛋 = 1:2,即鸡蛋:根茎类 = 1:2
炒绿豆芽:豆芽 = 1,即豆类 = 1
酱香鸭肉:鸭肉 = 1,即鸭肉 = 1
土豆炖排骨:土豆:排骨 = 1:1,即根茎类:猪肉 = 1:1
菜花炒肉:菜花:猪肉 = 5:2,即叶类:猪肉 = 5:2
如“表2所示”将上述数据代入营养元素计算模型可得
如“表3所示”
将x1 = [16.7 6.6 6.42 9.075 2.5 15 7.55 4.822]
x2 = [35.4 5.65 14.92 7.392 0.2 1.5 18.6 10.801]
x3 = [0 0.35 0.72 0.3960 2.1 0 0.6 0.639]
x4 = [0.07 0.165 0.142 0.2409 0.05 0.01 0.155 0.0851]
x5 = [0.07 0.165 0.082 0.2211 0.17 0.07 0.095 0.0748]
x6 = [37 231.5 25.8 305.91 29 6 22.5 26.59]
x7 = [1.7 1.25 1.48 1.98 1.5 4.1 1.5 0.89]
x8 = [1.1 0.54 0.962 0.7425 0.54 1.17 1.145 1.0305]
代入5.2双目标线性规划方程中的线性规划的约束条件中,求得目标函数最大的情况下a的取值为
可得最优的菜品组合为西红柿鸡蛋和菜花炒肉各一份,绿豆芽两份。
牛肉 | 猪肉 | 鱼肉 | 鸡肉 | 鸭肉 | 豆类 | |
---|---|---|---|---|---|---|
蛋白质/g | 18.1 | 13.2 | 16.6 | 16.7 | 15 | 2.5 |
脂肪/g | 13.4 | 37 | 5.2 | 35.4 | 1.5 | 0.2 |
膳食纤维/g | 0 | 0 | 0 | 0 | 0 | 2.1 |
维生素b1/mg | 0.03 | 0.22 | 0.04 | 0.07 | 0.01 | 0.05 |
维生素b2/mg | 0.11 | 0.16 | 0.11 | 0.07 | 0.07 | 0.17 |
钙/mg | 8 | 6 | 38 | 37 | 6 | 29 |
铁/mg | 3.2 | 1.6 | 0.8 | 1.7 | 4.1 | 1.5 |
锌mg | 3.67 | 2.06 | 0.87 | 1.1 | 1.17 | 0.54 |
根茎类 | 菌类 | 叶类 | 瓜果类 | 干豆类 | 鸡蛋 | |
蛋白质/g | 1.9 | 1.9 | 1.4 | 0.4 | 8.1 | 12.8 |
脂肪/g | 0.2 | 0.3 | 0.1 | 0.2 | 3.7 | 11.1 |
膳食纤维/g | 1.2 | 2.3 | 0.9 | 0.7 | 0.4 | 0 |
维生素b1/mg | 0.09 | 0.06 | 0.03 | 0.01 | 0.03 | 0.32 |
维生素b2/mg | 0.03 | 0.16 | 0.04 | 0.01 | 0.03 | 0.32 |
钙/mg | 39 | 5 | 35 | 19 | 164 | 444 |
铁/mg | 1.4 | 1 | 0.6 | 0.2 | 1.9 | 2.3 |
锌mg | 0.23 | 0.61 | 0.61 | 0.07 | 1.11 | 1.01 |
表2. 各类100 g食材所含各类营养元素
炸鸡柳 | 西红柿鸡蛋 | 杭椒炒肉 | 葱花炒蛋 | 绿豆芽 | 酱鸭肉 | 土豆炖排骨 | 菜花炒肉 | |
---|---|---|---|---|---|---|---|---|
蛋白质/g | 16.7 | 6.6 | 6.42 | 9.075 | 2.5 | 15 | 7.55 | 4.822 |
脂肪/g | 35.4 | 5.65 | 14.92 | 7.392 | 0.2 | 1.5 | 18.6 | 10.801 |
膳食纤维/g | 0 | 0.35 | 0.72 | 0.3960 | 2.1 | 0 | 0.6 | 0.639 |
维生素b1/mg | 0.07 | 0.165 | 0.142 | 0.2409 | 0.05 | 0.01 | 0.155 | 0.0851 |
维生素b2/mg | 0.07 | 0.165 | 0.082 | 0.2211 | 0.17 | 0.07 | 0.095 | 0.0748 |
钙/mg | 37 | 231.5 | 25.8 | 305.91 | 29 | 6 | 22.5 | 26.59 |
铁/mg | 1.7 | 1.25 | 1.48 | 1.98 | 1.5 | 4.1 | 1.5 | 0.89 |
锌mg | 1.1 | 0.54 | 0.962 | 0.7425 | 0.54 | 1.17 | 1.145 | 1.0305 |
表3. 窗口A的菜品所含各类营养元素
在保证食堂窗口菜品丰富度不变的情况下,我们对该窗口菜品的制造数量进行调整,使得该窗口的菜品更加能满足学生的各方面需求。通过一星期实地考察我们得知了该窗口每天中晚接待学生的数量大致成一个稳定的数字270,按之前的假设可得,该窗口需要准备540份菜,我们通过6.2的窗口最优组合计算得到了最优菜品的比例,接下来我们需要确定非最优菜品与最优菜品的比例,加上“表4所示”和“表5所示”可以通过计算最优菜品的平均菜品购买趋势数和非最优菜品的平均菜品数的比例来得到。
炸鸡柳的菜品购买趋势数:2.9
葱花鸡蛋的菜品购买趋势数:3.4
酱香鸭肉的菜品购买趋势数:5.1
土豆排骨的菜品购买趋势数:3.1
西红柿炒蛋的菜品购买趋势数:2.76
菜花炒肉的菜品购买趋势数:3.67
绿豆芽的菜品购买趋势数:3.72
杭椒炒肉的菜品购买趋势数:3.20
所以最优菜品平均购买趋势数:非最优菜品平均购买趋势数 = 3.24:3.56,即炸鸡柳:西红柿鸡蛋:杭椒炒肉:葱花炒蛋:绿豆芽:酱香鸭肉:土豆炖排骨:菜花炒肉 = 3.56:3.24:3.56:3.56:6.48:3.56:3.56:3.24 = 89:81:89:89:162:89:89:81
我们通过对食堂工作人员的采访得知每份菜品的质量为100 g从而得到了每道菜应做的分量为:
炸鸡柳(6.250 kg)
西红柿鸡蛋(5.688 kg)
杭椒炒肉(6.250 kg)
葱花炒蛋(6.250 kg)
绿豆芽(11.376 kg)
酱香鸭肉(6.250 kg)
土豆炖排骨(6.250 kg)
菜花炒肉(5.688 kg)
1) 由之前讨论的因素作为菜谱模型合理性的因素集
2) 建立评价对象的等级集合V
3) 对于菜品价格的评价,V = {合理,一般,不合理}
4) 对于菜品满意度的评价,V = {满意,一般,不满意}
根据第一次的调查问卷,我们可以得到菜品价格评判的范围,由第二次的问卷调查,我们可以得到
炸鸡柳 | 西红柿鸡蛋 | 杭椒炒肉 | 葱花炒蛋 | 绿豆芽 | 酱鸭肉 | 土豆排骨 | 菜花炒肉 |
---|---|---|---|---|---|---|---|
6 | 2 | 7 | 3 | 1.6 | 6 | 7 | 2.4 |
表4. 窗口A的菜品的价格(单位:元)
炸鸡柳 | 西红柿鸡蛋 | 杭椒炒肉 | 葱花炒蛋 | 绿豆芽 | 酱鸭肉 | 土豆炖排骨 | 菜花炒肉 |
---|---|---|---|---|---|---|---|
6.18 | 5.77 | 6.96 | 5.72 | 5.68 | 7.14 | 6.84 | 5.9 |
表5. 窗口A的菜品的满意度(范围:1~10)
菜品满意度评判的范围.故设置区间,对于价格和满意度建立隶属矩阵R,以价格为例,对应的隶属度向量的第一个分量可定义为价格为合理的菜品数一天做的量占该窗口总菜品总数的比例,其他分量以此类推,原菜谱对应的隶属度每种菜品按等量取均值计算。
进而确定各个评价指标的权重W,由之前的问卷调查可以得到权重,设
通过权重系数矩阵W与隶属度矩阵R的模糊变换得到模糊评判集S
在确定隶属关系时,通常是由专家或与评价问题相关的专业人员根据评判等级对评价对象进行打分,然后统计打分结果,然后可以根据绝对值减数法求得,即
这里取c = 1/1000
价格在合理等级的菜品有:西红柿鸡蛋,葱花炒蛋,绿豆芽,菜花炒肉。由我们对于食堂的采访得知食堂原菜谱做菜比例为1:1:1:1所以这个等级的菜应做540 = 270道。此即为依次类推可得到和。
满意度在合格等级的菜品有:酱鸭肉所以食堂原菜谱中这道菜应做道(菜品制作时不会过多,所以一律舍去),此即为,依次类推可得到和。
利用
得到食堂原菜谱的隶属矩阵
价格在合理等级的菜品有:西红柿鸡蛋,葱花炒蛋,绿豆芽,菜花炒肉。由食堂新菜谱可知合理等级的菜应做81 + 89 + 162 + 81 = 413道,此即为,依次类推得到和.再由不同满意度级的菜品数,得到,利用7.1.5求隶属向量的方法求出隶属矩阵
模糊评判集 (W为价格和满意度的权重系数,R为新旧两菜谱的隶属矩阵)
则原菜谱的模糊评判集为
新菜谱的模糊评判集为
由最大隶属矩阵原则可知新菜谱和旧菜谱均属于等级2,即综合评价为一般,为进行精细比较,我们赋予不同等级具体的得分,进行综合得分进一步比较
设等级1得分为8,等级2得分为6,等级3得分为4
则旧菜谱综合得分为:0.6902 × 8 + 0.8858 × 6 + 0.6978 × 4 = 13.6276
则新菜谱综合得分为:0.7428 × 8 + 0.9052 × 6 + 0.7690 × 4 = 14.4496
故知修改后的菜谱比原来的菜谱有所改进。
使用该模型时,选取使用食堂,将该食堂的所有菜品按照顺序排列,厨师先将菜品的材料按照模型2中的12种食材类别分类,并将菜品各食材的比例表示出,(如西红柿鸡蛋,其食材比例为鸡蛋:西红柿 = 1:1,则其表示为[0 0 0 0 0 0 0 0 0 0.5 0 0.5]代表一道菜品鸡蛋和西红柿各占0.5,其余种类食材质量为0)将各菜品用上述表示法输入单位菜品营养元素系数计算模型中,得到每100 g该菜品中蛋白质等九种元素的分别含量。得到所有菜品的营养元素含量后,将其代入模型4.2中即可得到最优菜品组合,该食堂对其所有菜品进行调查如在食堂挂上意见本让学生打分,得到每道菜品的满意度之后,利用购买趋势数计算程序算出每道菜品的购买趋势数。再计算出最优菜品组合的购买倾向平均数和非最优菜品的购买倾向平均数,通过之间的比值确定出非最优菜品的制造数量,再根据最优菜品之间的比例,确定几种最优菜品各自的制造数量,最终得到该食堂所有菜品的制造数量。
山东省研究生教育创新计划项目“一线贯通式几何方向研究生课程群及信息化平台建设”(SDYY15129),山东省研究生导师指导能力提升项目“布尔巴基观点下的几何与代数方向研究生课程体系与课程群建设”(SDYY17009)。
黄 健,高望宁,谢向东,韩文煊,王志航,高 翔. 中国海洋大学食堂菜谱的优化模型研究 Study on Mathematical Model of the Optimization of the Menu of OUC[J]. 应用数学进展, 2018, 07(02): 195-205. http://dx.doi.org/10.12677/AAM.2018.72024