Giter Club home page Giter Club logo

nutrition's Introduction

Modern Nutrition

Dynamic Preference-Based Diet Optimization


  • Since the classic diet planning problem, several mathematical models and programming techniques have been shown to generate menus following several constraints.
  • However, an approach focused on nutritional counseling proves to be more effective than common restrictive diets, by adapting to the habits and preferences of users.
  • In this project we propose a new dynamic optimization optimization_model considering preferences predictions.

Build Status

Quick Start

Work in Progress...

TODO list

  • Unit tests for nutrition database - ON GOING
  • User preferences class and unit tests
  • User preference database and unit tests
  • User targets and unit tests
  • User diet and unit tests
  • User EA and unit tests
  • Benchmarks

Model

Adjusting the optimization_model to your needs

  • Change the enum Model (.../test/benchmark/main.cpp) replacing by one of current available.

Static Caloric Deviation

  • nutritional deviation values:

  • nutrition facts separated by categories with different portion size:

  • penalties applied according to nutritional deviations intensity:

  • result: a list of foods to be eat freely during the day.

Static Mealtime Caloric Deviation

  • separate dayle recommendation menu into 6 different mealtimes:

  • penalties formulation applied according to nutritional deviations proportionally to mealtime (the penalties are applied according to mealstime caloric target percentage of total):

  • result: a list of food considering mealtimes proportional (caloric and nutrients).

Dynamic Only Caloric Deviation

  • user interactions after each mealtime inputting.caloric deviation consume difference of user consume input and mealtime menu recommended calculation:

  • compensatory system to equilibrate/recalculate further mealtimes considering current user consume:

  • result: dynamic menu that changes/recalculate according to user input on each mealtime

Dynamic Preferences Prediction Caloric Deviation

  • prediction instance (consume history database) based on mealtime category preferences instance generation rule:

PS: The category preference was used due a limitation provided due no real consume database availability actually. It is necessary to create a real food consume per mealtime database in ten future...

  • item-item score matrix created using collaborative filtering

    magnitude calculation:

    item importance:

    cosine similarity calculation:

    final vector score of items in a specific mealtimes for an user:

  • first-fit algorithm to include high scored items limited on 50% of mealtimes caloric target.

Dynamic preferences prediction cost minimization

  • populate TACO DB with prices based on ENAPE.
  • (on going) change the objective function to maximizing and evaluation function to cost minimization + nutritional deviation:

  • caloric value as a nutrient range like others using 1600-2400 for women and 2000-3000 for men.

Solver algorithm

Genetic

  • initial random population
  • pattern select scale/strategy: windows/tournament
  • child select scale/strategy: windows/tournament
  • mutation type: flip resetting
  • mutation_strength: 0.4
  • crossover_probability: 0.6

Coming soon

  • expand the capacity of the caloric compensation mechanism by adding physical exercises for cases in which there is an excess caloric intake where it is not possible to compensate.
  • easy database change using cereal lib for txt/csv nutrition facts serialize or sql DB connection for MYSQL relational db query
  • dynamic minimization cost considering
  • different solvers

References

  • Dissertation available on http://

nutrition's People

Contributors

alandefreitas avatar glauberss2007 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.