Українська   English
ДонНТУ   Портал магистров ДонНТУ

Реферат по теме выпускной работы

Содержание

1. Актуальность темы

Младшее дошкольное воспитательное учреждение, или детский сад, является учреждением для образования детей дошкольного возраста от 1,5 до 7 лет. Они, как тип образовательных учреждений, существуют в большинстве стран и, обычно, являются первой ступенью в системе образования, если не брать во внимание образование, полученное от родителей. В каждом детском саду выполняются задачи составления перспективного и ежедневного меню. Обязанности по выполнению данных задач, обычно, лежат на плечах медицинского работника.

В последнее время в странах СНГ начали отказываться от штатной позиции медицинской сестры, одной из обязанностей которой является составление перспективного и ежедневного меню согласно установленным нормам, так как в части детских садов работали медицинскими сестрами и бывшие заведующие, и юристы, и люди с прочей, не медицинской, квалификацией, что, разумеется, положительно на общее здоровье детей не влияло.

Вследствие этого задача составления перспективного и ежедневного меню перекладывается на других людей: заведующего детским садом, кладовщика, повара и так далее. Однако, все они лица заинтересованные и при составлении блюд могут руководствоваться не только установленными СанПиН, но и выбирать такие блюда и их порции, которые пойдут им на выгоду. Это касается в первую очередь скоропортящихся продуктов, которые, обычно, поставляются в детские сады один раз в неделю, таких как печень, молочные продукты (молоко и творог в первую очередь), некоторые мясные продукты, которые нельзя хранить более 36 часов на складе. Например, если меню составляет кладовщик и у него на складе есть один из этих продуктов, с момента начала хранения которого уже прошло более 36 часов, он может добавить блюдо с ним в меню для избавления от него, что может навредить здоровью детей. Подобные заинтересованные лица не должны привлекаться к выполнению данной задачи. Поэтому существует необходимость создания интеллектуальной системы, которая на основе определённых параметров будет составлять перспективные и ежедневные меню, которые будут удовлетворять нормам СанПиН.

2. Цель и задачи исследования, планируемые результаты

Целью проводимых исследований является повышение эффективности работы детского сада, а именно уменьшение времени проводимого за составлением меню и улучшение разнообразия и сбалансированности планов питания.

Для достижения поставленной цели необходимо решить следующие задачи, которые будут выполнены в разделах магистерской работы:

  1. Исследовать существующие методы и алгоритмы составления меню
  2. Разработать математическую модель составления плана питания для детского сада с учётом ограничений
  3. Разработать модифицированный генетический алгоритм составления плана питания
  4. Экспериментально проверить эффективность работы алгоритма

Объектом исследования является процесс составления плана питания в детском саду.

Предметом исследования является составления оптимальных перспективных и ежедневных планов питания в детском саду удовлетворяющий установленным ограничениям и нормам СанПиН.

3. Практическое значение полученных результатов

Разработанный алгоритм и приложение, реализующее его, будет возможно использовать для составления сбалансированных и разнообразных планов питания в детских садах, а при некоторой модификации, возможно, и в других образовательных учреждениях.

Использование разработанного приложение позволит повысить скорость составления планов питания, точность рассчитанных показателей (количество используемых продуктов, общее количество калорий и т.д.), а также разнообразность составляемых планов питаний, т.к. использование разработанного приложения позволит устранить необъективный фактор при составлении планов питания.

4. Анализ существующих методов

Для решения задачи составления меню существует множество методов, часть из которых будет рассмотрена в данном подразделе.

4.1. Генетические алгоритмы

В [1] предложен метод составления меню при помощи генетического алгоритма. В нём используется база данных блюд, в которой блюдам присвоены категории типа завтрак, обед и т.д. Хромосома представляет собой вектор из N блюд для выбранного приёма пищи. Селекция для оператора репродукции производится довольно просто – ранжируется по убыванию значения фитнесс-функции вся популяция, и затем первая (наилучшая) половина получившегося списка участвует в репродукции при помощи оператора одноточечного кроссовера. Оператор мутации раз в установленный период (например, каждую 5-ю эпоху) случайно выбирает одного из потомков и случайно меняет одно из N блюд.

Исходя из результатов тестов, приведённых создателями метода, следует, что метод довольно быстро сходится при небольших количествах блюд для приёма пищи, что является его положительным качеством. Однако данный метод необходимо запускать отдельно на каждый приём пищи, и он не имеет встроенных проверок для несовместимых между собой блюд. Также, он не имеет возможности увеличить разнообразие блюд в создаваемых планов питания и не учитывает продукты в наличии.

В [2] был предложен многоуровневый ГА для решения задачи составления индивидуального плана питания на неделю. В нём, также, как и в [1], используется база данных блюд с уже классифицированными по приёмам пищи блюдами. На каждом уровне используется своё представление хромосомы, а оператор кроссовера последовательно проводится для каждого уровня. Представление хромосом и выполнение оператора кроссовера продемонстрированы на рисунке 1. Вероятность мутации в данном алгоритме имеет не обычные низкие значение в 0.1-0.2%, а 10% и более, так как данные значения дают более большую область покрытия и увеличивают разнообразие создаваемых планов меню.

Представление хромосомы и выполнение оператора кроссовера в многоуровневом ГА для составления индивидуальных планов питания

Рисунок 1 – Представление хромосомы и выполнение оператора кроссовера в многоуровневом ГА[2] для составления индивидуальных планов питания
(анимация: 4 кадра, 102 килобайта, 3 повторения, основано на изображении хромосомы в [2])

Исходя из результатов тестирования, приведённых авторами метода, метод сходится довольно быстро, имеет достаточное разнообразие создаваемых планов и одновременно создаёт план питания на всю неделю. Однако, данный метод обладает низкой производительностью, в среднем 10-15 минут на нахождение подходящего плана питания, и не подходит для детских садов, так как присутствует много лишних параметров и нет необходимых нам, таких как продукты в наличии.

Недостатки свзяанные с производительностью генетических алгоритмов можно частично устранить при помощи их распаралелливания. Распараллеливание генетического алгоритма в самом простом его виде заключается в запуске нескольких инстанций алгоритма, которые в определённые моменты времени T производят обмен особей между собой определённым образом, например, обменом некоторого количества лучших особей популяции между собой. Таким образом, каждая из популяций может искать решения в различных областях области поиска, а затем в момент времени T, после синхронизации, эти популяции начинают постепенно уточнять имеющиеся в них решения в лучшую сторону. Благодаря этому и достигается улучшение в производительности, т.к. над проблемой одновременно работают несколько популяций, которые постоянно между собой общаются для улучшения текущих лучших решений.

В работе [9] приводится сравнение предложенных автором вариантов параллельного ГА - модифицированного параллельного ГА и параллельного ГА на основе нечёткой логики. В первом предложенном варианте параллельного ГА модификация заключается в ином, динамическом, подходе к определению момент обмена хромосомами между популяциями. Во втором - в использовании нечёткой логики для динамического изменения параметров ГА, таких как вероятность кроссовера и мутации, например. Также, второй вариант добавляет ещё одну особенность - возможность объединения популяций для ускорения процесса нахождения лучшего решения. Оба варианта были протестированы авторам на функциях, минимум которых известен - Химмельблау, N переменных, Растригина и Розенброка. В результате тестов, автором был подведён итог, что нечёткий параллельный ГА позволяет в больше степени приблизиться к глобальному экстремуму благодаря подстройке параметров алгоритма на каждой стадии работы алгоритма на основе нечётких правил.

4.2. Муравьиные алгоритмы

В [3] был предложен иерархический гетрогенный муравьиный алгоритм для решения задачи составления индивидуального плана питания на определённый период. В нём муравьи делились на два уровня – рабочие и менеджеры – и каждый уровень работал над своей задачей. Каждый рабочий под управлением менеджера занимался нахождением наилучшего решения для одного из приёмов пищи в течении дня – завтрак, обед и т.д. Менеджер занимается тем, что наблюдает за их работой. Также, есть топ менеджер, который контролирует всех других менеджеров, получая от них информацию о их текущих решениях и сравнивая его с желаемым результатом. Для осуществления такой иерархической структуры определённым образом был модифицирован процесс коммуникации между муравьями.

Исходя из результатов тестирования, приведённых авторами метода, следует, что метод довольно быстро справляется со составлением плана меню, где ограничения по калориям, белкам, жирам и углеводам имеют достаточно большую область допустимых значений. Однако, если эти ограничения более жёсткие, то скорость нахождения удовлетворительного решения значительно падает, в тестах упала примерно в 8 раз. Также, он не учитывает продукты, которые есть в наличии у пользователя, он лишь составляет возможные планы питания.

4.3. Метод ветвей и границ

В работе [4] был предложен метод составления индивидуального плана питания при помощи метода ветвей и границ с использованием двух моделей ограничений – параметрической модели для одного блюда и рецептурной модели для составления индивидуального плана питания на N блюд. В первой модели переменными являются время на приготовления блюда, его стоимость, сложность приготовления, содержание белков\жиров\углеводов\натрия\кальция\холестерина и количество калорий. Во второй – сами рецепты блюд являются переменными и их количество зависит от количества требуемых на выходе блюд в плане питания. Реализацию алгоритма с использованием первой модели необходимо запускать столько раз, сколько требуется выбрать блюд. Реализацию с использованием второй модели достаточно запустить один раз.

Исходя из результатов тестов, проведённых создателем алгоритма, следует, что алгоритм довольно плохо справляется с созданием валидных планов питания, если количество возможных значений для переменных велико. Например, параметрическая модель затруднялась с нахождением возможных решений при количестве возможных рецептов более 300 при требуемых 2-х блюдах. А рецептурная модель имела проблемы с количеством требуемых блюд более 3-х при 100 рецептах.

Достоинством данного метода можно считать очень гибкую систему ограничений, однако есть недостаток в виде куда более низкой, по сравнению с другими методами, производительности.

4.4. Вычислительное питание: Алгоритм формирования плана диеты для удовлетворения конкретных потребностей в питании

Данный алгоритм был предложен в 2016 году Томасом Пайксом и Робертом Адамсом в качестве замены большей части подобных алгоритмов по составлению индивидуального плана питания для человека, так как большинство таких алгоритмов оперируют 1-2 факторами, а для достижения наилучшего плана питания необходимо принимать во внимание куда большее количество факторов.

Сформированные планы питания этого алгоритма базируются на питательных веществах из табл. 1.1. Каждому из этих веществ принадлежат три параметра – нижняя\верхняя границы и идеальное количество – которые каждый человек может подстроить под себя, в зависимости от своих целей. Например, если у человека повышенное кровяное давление, то он может снизить верхние границы некоторых питательных веществ для того, чтобы в итоге снизить его кровяное давление.

Таблица 1 – Питательные вещества

Питательное вещество Единицы измерения
Кальций мг
Фосфор мг
Магнезий мг
Калий мг
Натрий мг
Железо мг
Марганец мг
Медь мг
Цинк мг
Селен мкг
Витамин А МЕ (1 МЕ = 0.3 мкг ретинола)
Витамин С мг
Витамин Е мг
Витамин К мкг
Тиамин мг
Рибофлавин мг
Ниацин мг
Пантотеновая кислота мг
Фолиевая кислота мкг

Чтобы определить подходит составленный план питания или нет используется оценка MSCORE, которая в свою очередь является суммированием оценки каждого питательного вещества (NSCORE). При сравнении двух оценок планов, у которых были одинаковые цели, тот, у которого больший MSCORE будет у плана, которые более точно соответствует поставленным целям.

Значение NSCORE для питательного вещества получается использованием одной из трёх линейных функций, выбор которой зависит от количества питательного вещества уже включенного в план относительно нижней\верхней границ и идеального количества. Эти три функции отличаются в используемом весе и значении по-умолчанию, которые позволяют контролировать достижение какой из границ более приоритетно. Формула расчёта NSCORE приведена ниже.

NSCORE =  f( x nut )=   -weight <ub + default <ub , ub x nut > ia weight >lb + default >lb , ia x nut > lb weight <lb + default <lb , lb x nut > 0 ,

где

Как работает оценка продемонстрировано на рисунке 2. На нём идеальное количества питательного вещества равняется 2500 мг, максимальный NSCORE – 2.

График зависимости количества питательного вещества в плане и NSCORE

Рисунок 2 – График зависимости количества питательного вещества в плане и NSCORE (перевод изображения из [5])

Работа метода осуществляется по алгоритму, показанному на рисунке 3. Для каждого питательного вещества отбирается N продуктов (в среднем 100 наименований, обычно, хватает) с наивысшим его содержанием. При итерации по получившемуся списку, случайная еда из этого топ-100 добавляется в список продуктов плана, затем пересчитывается MSCORE плана и если добавление продукта не приводит к превышению верхней границы какого-либо питательного вещества, то он остаётся в списке продуктов плана. Весь процесс повторяется для каждого питательного вещества пока не будут достигнуты хотя бы нижние границы всех питательных веществ.

Блок-схема алгоритма Computational Nutrition

Рисунок 3 – Блок-схема алгоритма (перевод изображения блок-схемы из [5])

Добавление продукта в план может превысить верхнюю границу какого-либо питательного вещества. Когда это случается, то этот продукт удаляется из списка продуктов плана и производится попытка добавить новый. В ходе работы, алгоритм отслеживает количества отторжений продуктов для питательного вещества и если их было больше 4, то из списка продуктов плана удаляется продукт, содержащий наибольшее количество этого питательного вещества, так как делается допущение, что количество этого питательного вещества в плане уже довольно высоко.

При тестировании алгоритма его разработчиками, он всегда создавал валидные планы питания, не смотря на различные параметры человека и ограничения количества питательных веществ. Планы очень редко получались одинаковыми. Однако, из-за случайного отбора из 100 продуктов для каждого из питательных веществ и разнообразия продуктов питания в принципе достичь максимально идеального плана питания невозможно.

Также, из-за этого иногда получались очень интересные комбинации продуктов. Например, в один из полученных планов входили энергетический напиток Ред Булл и печенье Твинки, и при этом цели по питательным веществам были достигнуты. [5]

Исходя из выше сказанного, можно сказать, что алгоритм очень хорошо подходит для получения индивидуального плана питания, однако в меньшей степени подходит для создания плана питания, который мог бы применяться в детских садах. Для этого данному методу потребуются модификации.

4.5. Метод поиска с запретами

Метод поиска с запретами - это один из наиболее эффективных метаэвристических методов. Отличительной чертой этого метода является процесс введения и снятия некоторых искусственных ограничений задачи в процессе поиска решения, которые направлены на улучшение решения [10]. Данный метод, в отличии от приведённых выше, не решает саму задачу, но помогает заранее уменьшить область поиска решения, что в свою очередь, чаще всего, приводит к ускорению работы алгоритма, который занимается поиском решения. Для данной задачи, составления меню, данный метод является очень важным, т.к. позволяет выполнить две важные задачи - запретить заведомо некорректные комбинации блюд и повысить разнообразие создаваемых планов питания.

Для данной задачи, которая является разновидностью задачи дискретной оптимизации, наиболее логичным решением является использование варианта данного метода, когда из исходного дискретного множества возможных значений переменной исключается запрещённые значения, в паре с классическим его вариантом, в котором в дополнительный список, называемым списком запретов, вносятся запрещённые комбинации перменных. Такой вариант использования данного метаэвристического метода позволяет выполнить обе задачи, которые обозначены выше.

5. Описание задачи

Рассмотрим задачу составления перспективного и ежедневного меню подробнее. Данная задача является задачей оптимизации. Входными данными является список продуктов со склада детского сада, выходными – перспективное меню за определенный период или ежедневное меню.

Составление перспективного и ежедневного меню в детском саду выполняется медсестрой в определенные промежутки времени. Перспективное меню медсестра составляет один раз на определенный период времени, например, перспективное меню на две недели. Ежедневное меню составляется лишь в том случае, если план поставок был нарушен, и в результате этого на складе отсутствуют необходимые продукты для следования составленному ранее перспективному меню на данный период.

Общий алгоритм составления ежедневного меню можно представить следующим образом:

  1. Получение списка имеющихся на складе продуктов.
  2. Выбор блюда для каждого из приемов пищи.
  3. Проверка готового меню на соответствие установленным нормам и требованиям.
  4. Пункты 2-3 повторяются до достижения необходимого результата.

Данный алгоритм повторяется необходимое количество раз, когда перспективное меню составляется на некоторое количество дней, а в конце подводятся общие итоги по плану, и утверждается план поставки продуктов.

Описанная процедура усложняется тем, что рецептов блюд, утверждённых для приготовления в дошкольных детских учреждениях, существует большое количество, что приводит к возникновению следующих проблем:

Эти проблемы являются неотъемлемой частью любого процесса, в котором участвует человек. Однако есть возможность их практически полностью устранить при использовании автоматизированного программного обеспечения.

6. Математическая постановка

Дано:

Требуется найти такую комбинацию блюд (меню), которая является допустимой и наиболее оптимальной, при этом её параметры – общая стоимость C, количество калорий Cal, углеводов Carb, жиров Fat и белков Pr – должны стремиться к заданным нормам. Допустимой является комбинация блюд, для которой есть продукты на складе для приготовления её на К детей, и значения её параметров С, Cal, Fat, Pr, Carb лежат в пределах соответствующих норм с учётом допустимых отклонений:

C = C d ± ΔC d Cal = Cal d ± ΔCal d Fat = Fat d ± ΔFat d Pr = Pr d ± ΔPr d Carb = Carb d ± ΔCarb d

Наиболее оптимальной является комбинация блюд, которая допустима, и параметры C, Cal, Pr, Fat и Carb которой максимально близки к заданным нормам.

Ограничениями в данной задаче служат:

С учётом приведенных выше обозначений была составлена следующая целевая функция:

F = g 1 G 1 (C) + g 2 G 2 (Cal) + g 3 G 3 (Carb) + g 4 G 4 (Fat) + g 5 G 5 (Pr),

где

Приоритет, обычно, у всех параметров равный (т.е. равный 1), но иногда может отличаться, если, например, необходимо восстановить баланс белков-жиров-углеводов, который был нарушен в прошлые дни

Так как нам важно, чтобы все параметры лежали в установленных нами промежутках, и в зависимости от близости к желаемым значениям менялось и значение целевой функции в лучшую сторону, то была составлена условная функция, которая выполняет данную задачу:

G i (X)  =   w >ub - d >ub ,   X > ub w <ub - d <ub ,   ub X > ia w ia + d >lb ,   ia X > lb w >lb - d <lb ,   lb X > 0 ,

где

Исходя из этого, формализованная математическая постановка задачи выглядит следующим образом:

F = g 1 G 1 (C) + g 2 G 2 (Cal) + g 3 G 3 (Carb) + g 4 G 4 (Fat) + g 5 G 5 (Pr) max K p i P i ,   i = 1,2,...,n; Cal d - ΔCal d Cal Cal d + ΔCal d Carb d - ΔCarb d Carb Carb d + ΔCarb d Pr d - ΔPr d Pr Pr d + ΔPr d Fat d - ΔFat d Fat Fat d + ΔFat d C d - ΔC d C C d + ΔC d p i 0   i = 1,2,...,n; K, Cal, Carb, Pr, Fat, C < 0

где

Однако, данная математическая модель не отображает следующие условия и ограничения, которые также необходимо учитывать при составлении меню и принимать во внимание при реализации алгоритмов:

  1. Разнообразие блюд. Блюда могут повторяться лишь раз в ν дней, так как детям от 1 года до 7 лет требуется разнообразие в пище.
  2. Некоторые блюда и продукты нежелательно совмещать в одном приёме пищи, так как они могут привести к нежелательным и вредным последствиям для организма ребенка, или просто вызвать у ребёнка нежелание есть.
  3. Приоритеты блюд. Часть блюд включает в себя скоропортящиеся продукты, такие как печень или молоко, которые необходимо реализовать как можно скорее. Поэтому возможное меню с ними должно быть более приоритетным, чем без них.
  4. Период, на который составляется меню. Это условие применимо лишь тогда, когда составляется перспективное меню. Обычно при составлении перспективного меню на D дней продукты на складе учитываются лишь в первый день, а на оставшиеся D-1 дни оно составляется без их учёта, так как на эти дни будут планироваться будущие поставки.

Все эти условия и ограничения являются важными для процесса составления меню и были приняты во внимание при составлении моделей алгоритмов для реализации системы.

Выводы

На данном этапе выполнения магистерской работы был проведён анализ процесса составления планов питания в детских садах. Была сформулирована математическая постановка поставленной задачи. Также, были проанализированы основные алгоритмы, которыми решалась подобная этой задача.

Муравьиный алгоритм, хотя и является мощным средством для определённого класса задач, в данном типе задач обладает существенным недостатком – при более жёстких ограничениях алгоритм начинает существенно замедлять свою работу. [6]

Алгоритм Computational Nutrition выглядит достаточно перспективно, так как согласно тестам от авторов метода он позволяет находить валидные решения практически всегда, но обладает тем же самым недостатком что и муравьиный в данном типе задач – чем жёстче ограничения, тем больше замедляется работа алгоритма.

Генетический алгоритм среди всех рассмотренных алгоритмов является наиболее гибким, т.к. позволяет рассматривать десятки и сотни возможных вариантов, а не рассматривает их переходя от одного к другому. [7] Поэтому для решения поставленной задачи был решено использовать модифицированный генетический алгоритм, который позволит получать оптимальные решения с учётом специфики составления планов питания в детских садах.

В дальнейшем, предполагается программная реализация разрабатываемого модифицированного генетического алгоритма и экспериментальное нахождение оптимальных параметров самого генетического алгоритма для достижения его максимального быстродействия.

На момент написания данного реферата магистерская работа ещё не завершена. Ожидаемая дата завершения – май 2018 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Список источников

  1. Catalan-Salgado E-A, Zagal-Flores R., Torres-Fernandez Y., Paz-Nieves A. A Diet Generator Using Genetic Algorithms // Research in Computer Science (2014) (75):71-77 [Электронный ресурс] [Ссылка]
  2. Gaál B., Vassányi I., Kozmann G. A novel artificial intelligence method for weekly dietary menu planning // Methods Archive 44.5 (2005): 655-664 [Электронный ресурс] [Ссылка]
  3. Rusin M., Zaitseva E. Hierarchical heterogeneous ant colony optimization // Computer Science and Information Systems (FedCSIS), 2012 Federated Conference on. IEEE, 2012. [Электронный ресурс] [Ссылка]
  4. Sundmark N. Design and implementation of a constraint satisfaction algorithm for meal planning. – 2005. [Электронный ресурс] [Ссылка]
  5. Pikes T., Adams R. Computational Nutrition: An Algorithm to Generate a Diet Plan to Meet Specific Nutritional Requirements // E-Health Telecommunication Systems and Networks, 5 (2016), 31-38. doi: 10.4236/etsn.2016.52004. [Электронный ресурс] [Ссылка]
  6. Dorigo M., Stützle T. Ant Colony Optimization: Overview and Recent Advances. M. Gendreau and Y. Potvin, editors, Handbook of Metaheuristics, 2nd edition. Vol. 146 in International Series in Operations Research & Management Science, pp. 227-263. Springer, Verlag, New York, 2010.
  7. Скобцов Ю. А. Основы эволюционных вычислений. – Донецк: ДонНТУ, 2008. – 326 с. – ISBN 978-966-377-056-6.
  8. Солоницын Л.П., Землянская С.Ю. Гримута А.В., Смирнов И.В. Интеллектуальная система составления перспективного и ежедневного меню в условиях младшего дошкольного воспитательного учреждения // Материалы IX Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» (ИУСМКМ-2018). – Донецк: ДонНТУ, 2018. – с. 46-51 [Электронный ресурс] [Ссылка]
  9. Комарцова Л.Г. Подход к построению параллельного генетического алгоритма // Материалы международной научно-технической конференции студентов, аспирантов и молодых ученых. – МГТУ им. Н.Э. Баумана (Калужский филиал). – 2011. [Электронный ресурс] [Ссылка]
  10. Скаков Е.С. Метод поиска с запретами для оптимизационных задач // Новое слово в науке и практике: гипотезы и апробация результатов исследований: тр. 15-й Междунар. конф., Новосибирск, 23 января 2015 г., 2015. С. 155-171 [Электронный ресурс] [Ссылка]