Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.01.2009, 19:58   #1
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
Вопрос Оптимальный выбор закупки (много поставщиков) с учётом объёмных скидок в прайсах - как реализовать?

Обычная ситуация - поставщики готовы дать некий % скидки - при закупке на сумму от N. Стартовые цены, % скидки и сумма для действия скидки - разные. Как в этом случае автоматизировать выбор оптимальной закупки (закупать можно хоть у всех)?
Смотрите пожалуйста приложенный excel файл - в нём конкретный пример.
Изображения
Тип файла: jpg Объёмные скидки.jpg (64.5 Кб, 142 просмотров)
Вложения
Тип файла: rar Учёт скидок.rar (4.0 Кб, 17 просмотров)

Последний раз редактировалось GardicoRu; 05.01.2009 в 21:48. Причина: Уточнение
GardicoRu вне форума
Старый 06.01.2009, 00:05   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

тут недостаточно данных для того, чтобы автоматизировать оптимальный выбор закупки. пример совершенно неконкретный.
Определяем скидочные цены по каждому товару, и покупаем там, где цена минимальна - всех делов.
Другое дело, если мы ограничены в средствах, если есть условия чего и сколько должно быть куплено... но тут ничего этого нет.
Стандартная оптимизацтонная задача тут могла звучать так: у нас есть Х денег, есть процент дохода по каждому товару, есть скидки на больших обьемах по товарам, вопрос "чего сколько необходимо купить, чтобы получить максимальную прибыль?" - это была бы задача для поиска решений, а тут нет задачи. Извините.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.01.2009, 00:27   #3
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
По умолчанию

http://otvet.mail.ru/question/21046174/
Вы непоняли задачу. Задача в том, чтобы учесть объёмные скидки. Т.е., есть 50 поставщиков, предлагающих (для простоты) 500 нужных нам товаров по разным ценам. Всего сумма каждого предложения где-то 10 млн. руб., и каждый поставщик даёт скидку 5-8% при закупке от 2,8 - 3 млн. руб.
Как вы определите оптимальную закупку - закупайте хоть у всех? Интуитивно ясно, что будет 1-3 поставщика (тем вероятней 3, чем ближе к друг друг наиболее выгодные поставщики по уровню скидки и среднему уровню цен, но различней в ценах на конкретные позиции), но каких, и по каким позициям?

А РЕШЕНИЕ (АЛГОРИТМ) Я НАШЁЛ.

Последний раз редактировалось GardicoRu; 06.01.2009 в 00:43.
GardicoRu вне форума
Старый 06.01.2009, 00:30   #4
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
По умолчанию

Учтите, что вы не всегда сможете тупо выбрать поинимальным скидочным ценам - см. картинка в ссылке. Там ошибка есть правда, в красном фоне 2 позиций, но суть должна быть ясна.

Элементарно - может быть так, что наиболее дешёвые (с учётом скидок) позиции, в своей сумме НИ У ОДНОГО ПОСТАВЩИКА не равны и не превышают ту сумму, после которой он собственно и готов дать скидку!

Последний раз редактировалось GardicoRu; 06.01.2009 в 00:38.
GardicoRu вне форума
Старый 06.01.2009, 00:33   #5
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
По умолчанию

Так что приходиться закупать некоторые более дорогие - чем у других, позиции, чтобы достичь у выгодного поставщика скидочного порога! Задача простым разовым сравнением не решиться

Последний раз редактировалось GardicoRu; 06.01.2009 в 00:39.
GardicoRu вне форума
Старый 06.01.2009, 15:18   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

В приложении задача решана в том виде, в котором поставлена (цитата из файла):
Цитата:
Задача: купить все товары (можно у разных поставщиков) наиболее дешёвым образом
И хоть файл называется "учет скидок", никакие скидки там не учитываются, потому что дешевле всего купить каждого товара по одной штучке, а у кого покупать указано в матрице Минимальная закупка (штук). см. правее исходной таблицы. Дешевле купить не получится - любая другая комбинация закупок приведет к числу большему, чем определенные мною 325 единиц.
А условий задачи по-прежнему нет, с учетом 3-х дополнительных разьяснений(((

Еще один вариант оптимизационной задачи для данных условий - это указать каких товаров какое количество должно быть закуплено. Задача распределить у кого сколько покупаем, что потратить минимум денег, вот при таких условиях необходимо будет и скидки учитывать. И все эти задачи решаются "поиском решений".
Вложения
Тип файла: rar Учёт скидок.rar (7.1 Кб, 27 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.01.2009, 16:22   #7
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
Стрелка хорошо, пример не показательный, но задача есть:

Прикрепил 2 файла в архиве. В исходной задаче, стоит задать первому поставщику скидку 7%, и ваше решение станет не верным, - уже сейчас можно купить со скидкой, сумма будет 325,1. Там же предложил вариант с не по-штучной закупкой, - не представляю пока, как, при возможности 2 из пяти единиц товара "1" купить у одного, а 3 - у другого, (и т.д.) решить задачу. Да такие ситуации на практике довольно редки, они связаны могут быть с закупкой сырья - при ограничениях в количестве у наиболее выгодного поставщика.

Второй файл, с 12 товарами (поштучно) - не решить, не прибегая к скидкам. Я решение знаю, как и общий алгоритм (пока не автоматизированный, он связан с последовательными операциями, в т.ч. с копированием и изменением таблицы), но интересно получить Ваше решение.

А уж решать с учётом доходности - это уже другая тема, важная безусловно... но снабженцу обычно дают определённые уже задания - хоть я и не снабженец
Такая задача представляеться мне более сложной...
Вложения
Тип файла: rar Скидки.rar (11.6 Кб, 17 просмотров)
GardicoRu вне форума
Старый 06.01.2009, 17:09   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

чтобы получить скидку - надо у первого купить на 160 тыс., а я купил всего на 325 единиц.
повторю цитату:
Цитата:
купить все товары (можно у разных поставщиков) наиболее дешёвым образом
В решенной мною задаче куплено все и самым дешевым образом. А если изначально там цены заданы в тысячах, то об этом необходимо где-то указать...

Еще раз: вам задача ясна, понятна и близка, а как по мне, то задача не поставлена, не хватает четких исходных данных, я не понимаю, что необходимо получить.
И такой непонимающий не я один: у темы 62 просмотра, откинем 20 наших. Остальные 42 поняли ровно столько, сколько ответили.

Поэтому: решение вами найдено - поздравляю! предлагаю тему закрыть. спасибо за внимание.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.01.2009, 17:35   #9
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
По умолчанию

Про тысячи - извините, не обратил внимание, я и имел виду цены в тысячах!

Я не знаю, что значит "закрыть тему" - запретить комменты? Зачем? Я благодарен вам за участие.
И жалею, что сразу не прикрепил файл с более подходящим примером. Задача у меня была общая, а не по конкретному примеру. То, что в примере Вы решили оптимально - согласен. Но уже во втором примере (где 12 товаров) оптимальным будет использование скидки (причём, закупать надо только у 2 постащиков из трёх, и у обоих будет скидка), я решил задачу и могу решить теперь любую такого рода, ибо знаю, как.

Последний раз редактировалось GardicoRu; 06.01.2009 в 17:39.
GardicoRu вне форума
Старый 06.01.2009, 17:39   #10
GardicoRu
Пользователь
 
Аватар для GardicoRu
 
Регистрация: 05.01.2009
Сообщений: 18
По умолчанию

Такого рода задачи актуальны для крупных ритейл-сетей, - представтье, что у вас куча прайсов, большинство позиций одинаковы или достаточно сходны, чтобы приравнять, и у всех есть объёмные скидки. Но, просто выбрав по минимальным стартовым иди дисконтным ценам - задачу не решить (точнее, не ГАРАНТИРОВАННО), в первом случае - нет скидок, во втором - может оказаться так, что вы захотите купить со скидкой у такого-то постащика на сумму, меньшую, чем та, при которой он даёт скидку.

Последний раз редактировалось GardicoRu; 06.01.2009 в 17:52.
GardicoRu вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти оптимальный план производства Baxxter Microsoft Office Excel 12 25.09.2008 23:45
Как такое реализовать? AnalogXP Общие вопросы Delphi 9 17.02.2008 00:22
Оптимальный выбор для новичка C++ Builder 5, 6... ? Adamant C++ Builder 1 24.10.2007 12:25
Как реализовать ASin Romanus Общие вопросы C/C++ 2 16.04.2007 09:46