Оптимізація дієти за допомогою JuMP

Агрегатор мовних блогів Джулії

Я давно хотів написати допис у блозі JuMP.
JuMP - це бібліотека математичного програмування Julia.
Це певною мірою DSL для опису обмежених проблем оптимізації.

оптимізація

Деякий час тому до мене прийшов друг, який прагнув отримати “бафа”,
що він хотів зробити, це максимізувати споживання білка, зберігаючи загалом здорову дієту.
Він хотів знати, яку їжу він повинен їсти.
Скласти дієту.

Якщо хтось задумається над цим,
це насправді проблема лінійного програмування - обмежена лінійна оптимізація.
Змінні - це кількість кожної їжі, яку потрібно з’їсти,
і протилежності навколо того, щоб переконатися, що у вас є достатньо (але не надто багато) усіх необхідних вітамінів і мінералів.

Примітка: це трохи весело, абсолютно жодним чином я не рекомендую використовувати дієти, які породжує код, який я збираюся показати.
Я жодним чином не кваліфікований, щоб давати дієтичні та медичні поради тощо.
Але це чудовий спосіб пограти з оптимізацією.

Отже, давайте почнемо:
Люди потребують поживних речовин, їжа містить поживні речовини, чи їдять люди їжу.
Ми могли б піти шляхом прямого споживання поживного супу, але це вважається неприємним.
Люди також сумніваються в здатності забезпечувати повноцінний раціон через неповне знання наук про те, які саме мікроелементи нам можуть знадобитися.