Страницы: 1
RSS
Определить лучшие по разнице в марже объемы отгрузок
 
Добрый день.
В отчете есть необходимость определить сколько и какие варианты отгрузок оставить в зависимости от ограничения по объему.

Дело в том, что если оставить за своим предприятием объемы лучшие по марже, доходность выходит меньше, чем, если оставить объемы, лучшие по разнице в марже между своим предприятием и предприятиями, у которых можно дополнительно закупить эту же продукцию.

Для сравнимости я выставил одинаковые объемы.

Проблема в том, что простое суммирование не помогает, если менять сортировку.
Можно ли как то реализоваться формулой (ну, или макросом), которая выделит без сортировки лучшие по разнице в марже объемы приблизительно на общий объем ограничения (в данном случае 50 000 тн для модели или 20000 тн, если брать реальные объемы из столбца В?
 
Пока ничего умнее трехэтажной формулы не придумал. Может, кто-то подскажет, как оптимизировать ее? И забрать в одну суммовую ячейку (помечены цветом), пока, тоже не получается.
 
По описанию задача похожа на "задачу о рюкзаке", где в ограниченный по объему рюкзак нужно уложить вещи максимальной ценности (в данном случае маржи)
Проще всего, по указанным данным, задачу решать через "Поиск решения", задав правильную модель для поиска оптимального решения
Для меня не понятно, что такое "Реальный объем отгрузки" и "Объем отгрузки, тн", чем они отличаются?
Чем Маржа1 отличается от Маржи2, почему есть разница?

При понимании условий задачи ее можно решить.
 
Реальный объем отгрузки, из реального отчета.
Объем отгрузки я взял, чтобы проще было формулу писать.
Маржа 1 - маржа нашего предприятия
Маржа 2- маржа от перепродажи продукции других предприятий.
Разница между этими значениями бывает такая, что выгоднее закупить продукцию у других.
Это и должна показывать формула

Поиск решения не пойдет, потому что это лишь часть здорового файла со всякими приблудами и с ним работают люди, которым я буду объяснять про поиск решения до второго пришествия.

Если есть вариант формулой, буду очень признателен.
 
Доброе время суток
Цитата
grand68 написал:
Поиск решения не пойдет,
Тогда заказывайте макрос - задачи на оптимизацию даже медведь в разработку не берёт :)
 
Я же написал формулу, которая решает задачу. Просто, она трехэтажная и, скажем так, промежуточная. Может,  у кого хватит талантов и знаний, ее оптимизировать и прикрутить суммирование.
 
Имхо, лучший вариант - встроенный Поиск решения с максимизацией маржи.  
Неизлечимых болезней нет, есть неизлечимые люди.
 
Насколько я помню из своего небольшого опыта, Поиск решения ограничен в количестве вариантов. А станций, одномоментно, может быть около двухсот.
 
Поиск решения ограничен в 200 изменяемых ячеек, если модель линейная, то можно использовать opensolver, где таких ограничений нет
Но по описанию может быть задачу можно решить жадным алгоритмом, отсортировав варианты по доходности, наилучшей меду собственной маржинальностью и сторонней
Изменено: MCH - 09.05.2021 12:29:41
 
Цитата
MCH написал:
Но по описанию может быть задачу можно решить жадным алгоритмом, отсортировав варианты по доходности, наилучшей меду собственной маржинальностью и сторонней
Я посмотрел все ссылки и файлы на других форумах, в том числе, и ваши наработки.
У меня мозга не хватит переделать ваш макрос под эти условия. ((
Может, у вас найдет время и желание?  
 
Без подробного описания задачи очень трудно ее решить
Есть множество вопросов, поэтому сформулируйте задачу, какие есть ограничения, можно ли дробить заказы между поставщиками, почему нужно считать так, а не иначе  и т.д.

Посмотрите вариант "ручного" заполнения (два варианта), если я правильно понял задачу, то решение можно автоматизировать (макросами, "Поиском решения" или формулами)
 
Если предложенное решение в предыдущем посте верное (один из двух вариантов), то автоматизировать можно через UDF (вар1, на базе решения отсюда) или формулой (вар2, когда можно дробить объемы, нужно предварительно отсортировать значения по разнице в марже)
Попробуйте поменять значения в ячейке B14 и посмотрите на результат.
Страницы: 1
Наверх