Опитах да разреша това с добавката Solver в Excel, използвайки метода Simplex, но нямам възможен резултат. Защо е така и има ли начин да го направим осъществимо?

линейно

За да обобщим: Имам P брой хранителни продукти, от които да избирам, и моята цел е да минимизирам разходите, т.е. да намеря количествата от всеки от тези хранителни продукти (да речем в грамове), които трябва да купувам (и консумирам), така че разходите ми да са сведен до минимум, при условие че тези хранителни продукти отговарят на хранителните ми нужди. Открих, че това е като цяло проблем с линейното програмиране.

Сега проблемът ми се превърна в такъв, при който трябва да взема предвид, че имам нужда от комбинации от хранителни продукти, които са различни всеки ден, за да не ми омръзне. Нямам нищо против менюто ми да се повтаря, стига да не се повтаря всеки ден, така че мога да го настроя да казва 7 различни комбинации от храна, 1 за 1 ден от седмицата, и да си поставя за цел да минимизирам разходите на седмица. Следователно сега имам $ P \ cdot Q $ променливи, където $ P $ е броят на хранителните продукти, от които да избирате, а $ Q $ е броят дни.

Следователно, ако $ P = 10, Q = 7 $, имам 70 променливи. Ако дневните ми хранителни изисквания посочват, че се нуждая от Nmin към Nmax протеин, Cmin до Cmax въглехидрати и Fmin до Fmax мазнини на ден, тогава трябва да имам $ 7 \ cdot 3 \ cdot 2 = 42 $ изявления за ограничаване на неравенството, по едно за всеки ден, всяко хранително вещество и макс./мин. Засега съм прав?

Направих това в Solver и там се казва, че няма осъществимо решение.

Това е моделът, който използвах:

Нека iP, Q е количеството на Pth хранителния продукт за Q-тата комбинация. Нека DP е цената на Pth хранителния продукт за единица количество.

Ограничения, свързани с хранителни нужди

Комбинаторни ограничения

(Тъй като не съм напълно запознат с двоичните променливи за вземане на решения, не знам как да напиша това правилно в математическа нотация. Вече получавам невъзможен резултат само с горните линейни ограничения.)

Използвал съм също ограничения за равенство, вместо да използвам ограничения за мин./Макс. И все още имам същия невъзможен резултат. Защо е така? Наистина ли е невъзможно? Трябва ли да сменя алгоритъма? Изглежда, че добавката Solver в Excel не поддържа друг алгоритъм за решаване на LP, различен от Simplex. Ако използвам Gurobi, ще реши ли проблема?