Нужно закупить заданное количество определённых товаров. Эти товары есть у нескольких поставщиков. У каждого поставщика своя цена на каждый товар. В зависимости от объёма покупки, поставщик может предоставлять скидку. Нужно найти самый дешёвый вариант приобретения нужных товаров. Подскажите, к какой задаче оптимизации можно свести мою задачу? Буду рад любому совету, ссылке, мануалу. Заранее всем спасибо! С наступающим всех праздником!
Здравствуйте, BigBob, Вы писали:
BB>Нужно закупить заданное количество определённых товаров. Эти товары есть у нескольких поставщиков. У каждого поставщика своя цена на каждый товар. В зависимости от объёма покупки, поставщик может предоставлять скидку. Нужно найти самый дешёвый вариант приобретения нужных товаров. Подскажите, к какой задаче оптимизации можно свести мою задачу? Буду рад любому совету, ссылке, мануалу. Заранее всем спасибо! С наступающим всех праздником!
Копай в сторону симплексных или транспортных задач, может быть решается мат. играми.
Здравствуйте, crackoff, Вы писали:
C>Здравствуйте, BigBob, Вы писали:
BB>>Нужно закупить заданное количество определённых товаров. Эти товары есть у нескольких поставщиков. У каждого поставщика своя цена на каждый товар. В зависимости от объёма покупки, поставщик может предоставлять скидку. Нужно найти самый дешёвый вариант приобретения нужных товаров. Подскажите, к какой задаче оптимизации можно свести мою задачу? Буду рад любому совету, ссылке, мануалу. Заранее всем спасибо! С наступающим всех праздником!
C>Копай в сторону симплексных или транспортных задач, может быть решается мат. играми.
По моему ее нужно решать динамическим программированием, т.е. для данного набора хранить минимальную сумму, за которую его можно купить. А потом итерационно наращивать количество товаров.
Хотя есть трудности. На пальцах:
Пусть надо купить 5 ручек, а наилучшая стоимость получается если купить 6 ручек и 3 карандаша.
Здравствуйте, kirya, Вы писали:
K>Здравствуйте, crackoff, Вы писали:
C>>Здравствуйте, BigBob, Вы писали:
BB>>>Нужно закупить заданное количество определённых товаров. Эти товары есть у нескольких поставщиков. У каждого поставщика своя цена на каждый товар. В зависимости от объёма покупки, поставщик может предоставлять скидку. Нужно найти самый дешёвый вариант приобретения нужных товаров. Подскажите, к какой задаче оптимизации можно свести мою задачу? Буду рад любому совету, ссылке, мануалу. Заранее всем спасибо! С наступающим всех праздником!
C>>Копай в сторону симплексных или транспортных задач, может быть решается мат. играми.
K>По моему ее нужно решать динамическим программированием, т.е. для данного набора хранить минимальную сумму, за которую его можно купить. А потом итерационно наращивать количество товаров. K>Хотя есть трудности. На пальцах: K>Пусть надо купить 5 ручек, а наилучшая стоимость получается если купить 6 ручек и 3 карандаша.
Здравствуйте, BigBob, Вы писали:
BB>Нужно закупить заданное количество определённых товаров. Эти товары есть у нескольких поставщиков. У каждого поставщика своя цена на каждый товар. В зависимости от объёма покупки, поставщик может предоставлять скидку. Нужно найти самый дешёвый вариант приобретения нужных товаров. Подскажите, к какой задаче оптимизации можно свести мою задачу? Буду рад любому совету, ссылке, мануалу. Заранее всем спасибо! С наступающим всех праздником!
если скидка линейно зависит от количества приобретаемого товара (F(x)=kx+b), тоды можно все это дело свести к задаче квадратичного программирования.
Если скидка есть некая ступенчатая функция от количества товара (то есть если купил больше а но меньше b то скидка 5 процентов ...) то смотри в сторону динамического программирования.
Иначе вряд ли есть какие либо общие методы решения твоей задачи.