Яшви шах
2 септември 2019 г. · 4 минути четене
- Целта на диетичния проблем е да се избере набор от храни, които да задоволят набор от дневни хранителни нужди при минимални разходи.
- Проблемът е формулиран като линейна програма, при която целта е да се минимизират разходите, а ограниченията да отговарят на определените хранителни изисквания.
- Ограниченията на диетичните проблеми обикновено регулират броя на калориите и количеството витамини, минерали, мазнини, натрий и холестерол в диетата. Макар математическата формулировка да е проста, решението може да не е вкусно! Хранителните изисквания могат да бъдат изпълнени без оглед на вкуса или разнообразието, така че вземете предвид резултата, преди да се впуснете в ястие от „оптимално“ меню!
Като се има предвид набор от храни, заедно с информацията за хранителните вещества за всяка храна и цената на порция на всяка храна, целта на диетичния проблем е да се избере броят на порциите от всяка храна, която да се закупи (и консумира), така че да се сведе до минимум цената на храната, като същевременно отговаря на определените хранителни изисквания. Обикновено хранителните нужди се изразяват като минимално и максимално допустимо ниво за всеки хранителен компонент. Други ограничения, като минимален и/или максимален брой порции, могат да бъдат включени, за да се подобри качеството на менюто.
Помислете за следния прост пример:
Предполагаме, че има три храни на разположение, царевица, мляко и хляб, и има ограничения за броя на калориите (между 2000 и 2250) и количеството на витамин А (между 5000 и 50 000). В първата таблица са изброени, за всяка храна, цената на порция, количеството витамин А на порция и броят на калориите на порция.
Да предположим, че максималният брой порции е 10. Тогава оптималното решение на проблема е 1,94 порции царевица, 10 порции мляко и 10 порции хляб с обща цена от 3,15 долара. Общото количество витамин А е 5208, а общият брой калории е 2000
Променливите за мляко и хляб са в горната си граница и имат отрицателни стойности на двойна променлива, докато променливата за царевица е между долната и горната граница и има нулева двойна променлива стойност. Една проста интерпретация на тази информация е, че цената на менюто може да бъде намалена, ако се увеличат горните граници на броя порции мляко и хляб. Цената на менюто няма да се промени в отговор на увеличаване на горната граница на броя порции царевица. Модифицирането на файла с данни AMPL за промяна на Fmax [мляко] на 11 и Fmax [хляб] на 11 и решаване отново дава решение със стойност на целевата функция 2,99 $ и променливи стойности на x [царевица] = 0, x [мляко] = 10,6198 и x [хляб] = 11.
Тук е дадена програма C ++ за решаване на диетичен проблем с помощта на динамичен метод на техника за решаване на проблеми. Тази програма взема за вход максимален капацитет на хранене като брой сервиране, разходи и калориен прираст за всяка съставка. Тя дава брой максимални калории, които можете да спечелите от дадените съставки и също така посочва този хранителен продукт.
Можете да използвате тази програма за определяне на ежедневните съставки за хранене, за да поддържате добра здравина. Приложението с графичен интерфейс може също да бъде направено с помощта на тази програма и някои други функции, свързани с приложението.