Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

2020–2021 Combinatorial Decision Making and Optimization project for the Master Degree in Artificial Intelligence at Alma Mater Studiorum – Università di Bologna

License

Notifications You must be signed in to change notification settings

ilSommo/meal-plan-optimizer

Repository files navigation

Meal plan optimizer

The aim of this project is to develop a meal plan optimizer using integer programming.

The program outputs a meal plan for a 5-day week with 3 characteristics:

  • Respect of Reference Daily Intakes
    • Calories: 2000 kcal
    • Fats: 70 g
    • Saturates: 20 g
    • Carbohydrates: 260 g
    • Sugars: 90 g
    • Proteins: 50 g
  • Variation in dishes
    • Limit of 3 daily servings per dish
    • Limit of 1 day every 3 days for fruit and vegetables
    • Limit of 1 day a week per dish
  • Minization of daily expense

In order to satisfy the constraints, a mix of PuLP functions and an original implementation of the branch-and-bound algorithm is exploited.

Setup

To run

$ make setup

To develop

$ make dev

Run

$ python meal-plan-optimizer.py

Remove

$ make rm

Documentation

To browse documentation, open docs/index.html with a web browser.

About

2020–2021 Combinatorial Decision Making and Optimization project for the Master Degree in Artificial Intelligence at Alma Mater Studiorum – Università di Bologna

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published