Страницы: 1
RSS
Распределение количество по строкам исходя из их доли и ограничений мин и макс.
 

Добрый день.

Есть задачка распределить потребность в sku  по поставщикам.

Исходные данные:

Требуемое кол-во sku

Желаемая доля поставщика в закупке sku

Минимальное кол-во, от которого поставщик готов запустить заказ в производство (МинНЗ)

Максимальное кол-во, возможности производства поставщика. (МахНЗ )

За ключевое значение для достижения желаемой цели я выбрал корректировку “Желаемая доля поставщика в закупке sku” - если вышли за границы диапазона  минимальное - максимальное кол-во доступное для заказа.

Как пересчитать доли с учетом ограничения по максимальному кол-ву я реализовал следующий алгоритм:

Рассчитываем:

Верх_гр = МахНЗ/ Требуемое кол-во sku

Полученное значение (Верх_гр) сравниваем с Желаемой долей

Если Верх_гр <= Желаемая доля тогда по данному поставщику значение желаемой доли меняем на Верх_гр.

По остальным строкам пересчитываем долю:

(Желаемая доля / сумма (желаемая доля по оставшимся строкам))*(1- сумма (желаемая доля по замененным значениям на Верх_гр)

Далее, алгоритм повторяем пока не останется значений где Верх_гр <= Желаемая доля.

Пример (сформированный на «коленке» во вложении)

Не понимаю, как сформировать алгоритм учитывающий одновременно верхние и нижние границы допустимого диапазона.

Если реализовывать перерасчет отдельно для минимальной границы и максимальной границы, при о переделённых значениях процесс подбора «долей» может работать бесконечно.

Прошу оказать помощь в создании алгоритма. (идеально в PQ)

 
Здравствуйте Neostt,
Есть некоторая неопределенность в задаче
Потестируйте такой вариант (см файл)
Страницы: 1
Наверх