Показать сообщение отдельно
Старый 10.04.2020, 20:19   #21  
Yekaterina is offline
Yekaterina
Участник
 
49 / 13 (1) ++
Регистрация: 14.03.2020
Адрес: Usa
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Не думаю, что тут все так страшно, что доведет до депрессии.
Судя по предыдущим постам, условия задачи не очень сложные, ограничений немного, все думать за человека не требуется.
Единственное, что, скорее всего, есть определенные кратности и не получится предлагать любые решения. Например, вряд ли вы можете заказать 52 миллилитра Tesseron или 7 бутылок Graham's Six Grapes. Явно по ним есть правила определения того, в каком виде поставщик это поставит. И если программа рассчитала, что нужно добавить 7 бутылок, но кратность это коробка в 14 бутылок, а дабавление такого количества превысит бюджет или вес.
В итоге задача перестает быть линейной, а это для алгоритмов не очень хорошо. Но в простых случаях можно будет просто делать откат на шаг назад ,если что-то превысили и, если под погрешность недогруза подходим, то останавливать расчет.
В общем, получится заморочено, но реально.
Задача никогда и не была линейной. Это клас NP трудных задач, которые невозможно решить перебором. Для них ищутся эвристические полиномиальные алгоритмы.
В этом суть задачи - есть условия, выраженные в виде неравенств, и функция, у которой надо найти оптимум - то есть максимизировать или минимизаровать фнкцию. Эти задачи не имеют точного решения, их смысл - найти насколько можно хорошее решение.
https://ru.wikipedia.org/wiki/%D0%9B...BD%D0%B8%D0%B5