Ответ на реплику одного знающего Айтишника: Все что есть в СММ АТОР уже есть в ПО линейного программирования

В настоящее время создать что-то принципиально новое в программных и иных продуктах чрезвычайно сложно. 

Так, например, теория линейного программирования давно отшлифована.

Но почему тогда создаются все новые и новые продукты, в том числе СММ АТОР?

Ответ заключается в том, что разработчики явно или неявно пытаются удовлетворить специфические потребности определенных категорий поль-зователей.СММ АТОР не исключение. 

Система ориентирована прежде всего на малый и средний бизнес (но не обязательно), который желает иметь индивидуализируемый под предметную область, качественный (с достаточным функционалом) продукт, неприхотливый по железу и общесистемному софту, “породненный” с электронными таблицами (эталоном которых де-факто является Excel) и не очень дорогой. 

Расшифрую сказанное: 

1.СММ АТОР является кастомизируемым, а не платформенным (типа PIMS, RPMS) продуктом. 

2.Он имеет мощную систему верификации моделей предметной области, включая интеллектуальную систему проверки системы ограничений на совместность. Причем при несовместной системе ограничений задача все равно будет решена, а пользователю будет сообщено как СММ АТОР оптимально (с минимальными потерями значения целевой функции) выполнил коррекцию ограничений. 

3.СММ АТОР позволяет решать целочисленные и частично целочисленные задачи. 

4.СММ АТОР имеет функцию анализа чувствительности модели (см. следующую статью). 

5.Решатель продукта написан на с++ и включает все необходимые для работы библиотеки. То есть в СММ АТОР нет ничего лишнего. 

6.СММ АТОР интегрирован с Excel (решатель запускается из Excel и возвращает в него результаты). 

Отдельно уточню по пункту 1), т.е. про кастомизируемость СММ АТОР. 

По-видимому, эта концепция несколько непривычна для некоторых Айтишников (имевших дело с платформенными продуктами). Поскольку один специалист, посмотрев пример СММ АТОР для химической промышленности, дал мне совет разработать очень простой интерфейс “на дурака”. Это, мол, позволит двигать продажи. 

Но данный совет не уместен, т.к. кастомизация моделей предметной области – это одна из основных “фишек” СММ АТОР. То есть если на конкретном предприятии нужна модель “для дурака”, то таковой она и будет. А если нужна модель не для дурака, то будет модель для специалиста. Все зависит от конвертора пользовательской модели в стандартную. Технология написания таких конверторов как раз и есть одна из особенностей СММ АТОР.

Анализ чувствительности целевой функции задачи линейного программирования

В СММ АТОР добавлен блок анализа чувствительности (sensitivity analysis) целевой функции.

Чувствительность целевой функции оценивается в отношении изменения элементов векторов свободных членов системы ограничений задачи линейного программирования (ЛП).

Результаты анализа чувствительности целевой функции выводятся на лист Analysis в рабочей книге. 

При использовании инструментария анализа чувствительности задачи ЛП последовательность действий в операциях экономического планирования может быть следующей: 

  1. формирование первичного плана; 
  2. анализ чувствительности; 
  3. в случае существенного влияния вариации ограничений задачи ЛП на целевую функцию проведение параметрического анализа и, возможно, последующие итерации. 

Замечу, что теория параметрического линейного программирования предполагает вместо описанного выше итерационного процесса решение специальных задач ЛП с варьируемыми ограничениями.В связи с этим должен заметить, что, как известно, экономика – это “смесь” науки и искусства ведения хозяйственной деятельности при ограниченных ресурсах, включая деньги. Изыскание дополнительных ресурсов производства и логистики, а также изменение ассортимента и границ производства продукции является самостоятельной и неординарной задачей. Поэтому теория параметрического линейного программирования на практике “разбивается” о невозможность или об очень ограниченную возможность варьирования значительного количества ограничений задач экономического планирования. Альтернативы описанному выше итерационному процессу планирования я не вижу.

Собственно параметрический анализ в этом итеративном процессе сводится к простой процедуре изменения значений векторов свободных членов ограничений задачи ЛП.  Такое изменение свободных членов системы ограничений задачи ЛП называют ослаблением системы ограничений.

Для большей информации  смотрите страницу S-Анализ.

С использованием анализа чувствительности СММ АТОР может быть эффективно использован для проведения маркетингового аудита.

Схема оценки оптимальности ассортимента и использования ресурсов предприятия при проведении маркетингового аудита

с использованием СММ АТОР 

Начнем с определения. 

Маркетинговый аудит (или маркетинговая ревизия), в сущности, это оценка коммерческой состоятельности бизнеса, сферы хозяйственной деятельности, и поиск ответа на вопрос: есть ли перспективы у данного предприятия или фирмы на рынке. Причина, по которой руководство компании не слишком приветствует его проведение, весьма прозаична: такой аудит легко может выявить просчеты в управлении бизнесом, ответственность за которые обязано нести руководство предприятия или фирмы. 

Источник определения: https://www.klerk.ru/boss/articles/455919/

Последовательность действий с использованием СММ АТОР в процессе маркетингового аудита представлена на следующей блок-схеме. 

Комментарии к блок-схеме:

1 – математическая модель планирования/продаж строится ретроспективно, т.е. на фактических данных за ревизуемый период; миссия, видение и годовой бизнес-план необходимы, чтобы правильно сформировать целевую функцию задачи линейного программирования; для коммерческого предприятия это может быть одномерный критерий (например, маржинальная валовая или иная прибыль), могут быть и многомерные варианты (валовая прибыль+широта ассортимента или валовая прибыль+количество продаж и т.п.); 

2 – создавать пользовательскую и математическую модели производства/продаж необходимо, если на данном предприятии СММ АТОР не используется в качестве инструмента планирования; если указанные модели имеются в готовом виде (СММ АТОР уже используется на предприятии), то их необходимо настроить на числовой материал из ERP-системы или иной учетной системы (установить ограничения по выпуску продукции, сырью, производственным мощностям и т.п. исходя из фактов ревизуемого периода);

3 – содержание операции очевидным образом следует из названия; 

4, 5 – за подробностями процесса анализа чувствительности и параметрического анализа отсылаю к странице S-Анализ сайта SolverSoftLab.ru; 

6 – полученные результаты могут ставить под вопрос компетенции указанных Департаментов и Служб, поэтому в целях недопущения необоснованных претензий требуется тщательная выверка результатов (почему, например, был сформирован такой ассортимент, а не более математически оптимальный); если консенсуса достигнуть не удастся и у аудитора остается неустранимое сомнение в правильности действий ревизуемых подразделений и лиц, то мнения оппонентов обязательно должны быть приведены в Акте проверки; 

7 – содержание операции очевидным образом следует из названия. 

Автор проекта СММ АТОР Андреев Д.М. 

Особенности моделирования в Системе математического моделирования“Адаптационные технологии оптимизационных расчетов”

СММ АТОР предназначена для решения задач оптимизационного экономического планирования различных операций:

  • объемное планирование производства/продаж;
  • календарное планирование производства/продаж;
  • решение логистических задач, в том числе: транспортные задачи, задачи управления запасами (складская логистика), задачи выбора оптимальных схем доставки товара (СДТ);
  • решение задачи о назначениях;
  • решение задачи о “раскрое”;
  • и другие оптимизационныезадачи.

СММ АТОР использует для решения указанных задач математическую модель линейного программирования. Практика показывает, что 90% указанных выше задач органически соответствуют данной модели, либо могут быть сведены к ней с несущественной погрешностью для результатов решения. СММ АТОР может быть использована, в ряде случаев, также для решения задач анализа результатов уже свершившихся операций, например, для решения метрологической задачи согласования данных (сведение материального баланса), и даже в бухгалтерском и управленческом учете.

СММ АТОР благодаря своей логике построения (архитектуре системы), а также оптимизированным требованиям к вычислительным ресурсам (“железу” и общесистемному программному обеспечению) имеет своей целевой аудиторией также средний, малый бизнес и даже микро-предприятия. 

СММ АТОР существенно отличается по подходу к моделированию предметной области как от узкоспециализированного платформенного программного обеспечения (ПО) математического моделирования, так и от универсального ПО. 

Адаптация к предметной области – это то, что принципиально отличает СММ АТОР как от платформенных программных продуктов, так и от универсального ПО. 

Подход к моделированию предметной области в платформенном ПО (например, PIMS/RPMS/Siemens Opcenter APS – в планировании производства) – это, так называемая, настройка модели – модели разработчика, что отнюдь не тождественно понятию реализации модели пользователя ПО. 

Существует другая крайность – универсальное ПО. 

К нему, например, в области оптимизации принятия решений относятся Visual Math, Gurobi, GAMS, CPLEX, LINGO, а также надстройка Excel ПОИСК РЕШЕНИЯ. В этом ПО пользователю предлагается освоить внутреннюю модель решателя, которая приближена к математической модели (например, модели линейного программирования).

Базовый принцип архитектуры СММ АТОР, а именно работа с индивидуализированной (кастамизированной) пользовательской моделью предметной области является предпосылкой для действенной валидации модели (проверки ее на соответствие предметной области – т.к. в случае СММ АТОР нет вопроса о соответствии настроенной модели разработчика модели пользователя) и ее верификации (проверки на технические ошибки в данных, а также логические ошибки, приводящие к несовместности системы ограничений модели). 

Верификацию модели обеспечивает интеллектуальная система верификации СММ АТОР. Она выполняет фильтрацию технических ошибок, начиная с анализа типа данных (числовой/не числовой) и тривиальных несоответствий типа нижняя граница диапазона больше верхней, заканчивая анализом логических ошибок несовместности системы ограничений задачи (например, нехватка комплекса ресурсов на выпуск защищенных объемов продукции). При выявлении ошибок (включая несовместность системы ограничений) СММ АТОР укажет на конкретные причины и даст числовую оценку нарушений. Крайне важно также, что при несовместности системы ограничений СММ АТОР все равно решит задачу, что в значительной стпени избавляет пользователя от правки исходной системы ограничений.

Пользовательская модель (или, иными словами, пользовательский интерфейс) реализуется в Microsoft Excel. Вычисления выполняются отдельной программой-решателем (солвером), которая взаимодействует с Excel посредством программного интерфейса (API) как “контроллер-сервер”. Взаимодействие Excel и решателя полностью скрыто от пользователя. Пользователь постоянно остается в среде Excel.

Мощный API интерфейс с программой Excel обеспечивает обмен данными “на лету” (без применения каких-либо промежуточных файлов) и использование всей мощи Excel по сбору и подготовке исходных данных для решения оптимизационных задач с использованием таких надстроек Excel как Power Query и Power Pivot. Это избавляет от необходимости использования каких-либо дополнительных BI систем.

Работа указанной технологической цепочки не требует установки каких-то дополнительных компонент Windows, например Microsoft .NET Framework, а также иных разделяемых (DLL) библиотек. В процессе работы не создаются также временные файлы. Решатель реализован на языке C++ и оптимизирован по скорости вычислений. Продукт работает практически на любом “железе”. Достаточно процессора 32 бит и 2 Гб оперативной памяти. При этом продукт может выполнять очень тяжелые целочисленные расчеты задач линейного программирования.

Для трансляции пользовательской модели в стандартную требуется небольшая утилита-конвертер (по сути, скрипт), написанная на VBA Excel, примеры которых передаются вместе с системой. Поэтому написать такую утилиту не составит большого труда для любого продвинутого пользователя Excel. В отсутствии таких специалистов разработчик может оказать соответствующую услугу вместе с описанием пользовательской модели предметной области.

СММ АТОР в планировании производства/продаж и логистике

СММ АТОР в задачах сведения материального баланса 

Задача сведения материального баланса состоит в вычислении так называемых истинных значений измерений материальных потоков. 

Классическая постановка данной задачи осуществляется в рамках модели квадратичного программирования.

При этом, если известен знак погрешности, например два средства (системы) изменения имеют разную погрешность, и они поверены, то имеет право на существование гипотеза нахождения истинного значения в интервале между данными двумя измерениями. А поскольку балансовые уравнения линейны, то и вся задача сведения материального баланса становится линейной. 

СММ АТОР в бухгалтерском и управленческом учете

Оптимизационные методы распределения общепроизводственныхрасходов по товарному выпуску продукции

Примем за аксиому, что распределяем общепроизводственные расходы (ОПР) только на товарный выпуск продукции, т.е. полуфабрикаты (если таковые имеются) исключаются из распределения ОПР. Это позволит исключить эффекты двойного счета расходов (сначала на полуфабрикаты, а затем на готовую продукцию с учетом этих полуфабрикатов). 

Пусть для каждой статьи ОПР (например, энергетика [газ, электричество, пар, иной теплоноситель], коммуналка (вода, водоотведение и пр., зарплата заводоуправления, зарплата цехового управленческого персонала, комплексные статьи затрат по ремонтам, амортизация основных средств и т.п.) задан по всей номенклатуре продуктов набор показателей важности (приоритетности) того или иного продукта в потреблении данной статьи затрат

Какие показатели в этом качестве можно в принципе использовать? 

Перечислю некоторые из возможных вариантов:

  • маржинальность продукции (очевидно, связана со степенью управленческого внимания, а потому можно данный показатель соотнести зарплате персонала заводоуправления);
  • составные части финансового цикла по каждому продукту (так время производства продукции очевидно связано с амортизацией цехового оборудования, время операционного цикла можно соотнести расходам на ремонт основных средств, оборачиваемость готовой продукции может быть соотнесена с расходами на логистов и транспортный цех и т.п.);
  • масса выпуска продукции может быть соотнесена с расходами склада и т.д. 

Целевая функция оптимизационной задачи – это максимизация суммы распределенных по продуктам статей ОПР, взвешенных на приоритетность продуктов по этим статьям ОПР. Иначе говоря, максимизация соответствия расходов и влияющих факторов.

При этом необходимо чтобы выполнялось следующее условие: ни один продукт не может быть полностью исключен из распределения тех или иных статей затрат. Минимальный уровень ОПР, относимый на тот или иной продукт, можно определить с использованием, например, принципа Парето (20% продуктов забирают на себя 80% всех ОПР; на 1 тонну имеем 0,2*ОПР/(0,8*Товарный_выпуск)=0,25*ОПР/Товарный_выпуск), либо по золотому сечению (38% от удельной доли ОПР на единицу совокупной маржинальной прибыли). Минимальный уровень ОПР – это оценочный показатель эксперта. 

Из сказанного выше с очевидностью следует, что максимальное значение ОПР, относимых на тот или иной продукт, в первом случае (принцип Парето) не должно превышать минимальный уровень в четыре раза, а, во втором случае (золотое сечение) - примерно в три раза. 

Замечу также, что для нивелирования фактора масштаба необходимо нормировать показатели важности (приоритетности) продуктов для каждой статьи затрат.

СММ АТОР в других задачах оптимизации отдельных операций

СММ АТОР может быть с успехом применена в любых задачах, которые могут быть формализованы в виде задач линейного программирования, частичного целочисленного и целочисленного линейного программирования. 

Выше уже упоминалась задача о “раскрое”, задача о назначениях и т.п.

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

Таким образом, приобретая СММ АТОР Вы фактически получаете множество индивидуализированных программных продуктов оптимизации управленческих решений в одном ПО. 

С пожеланием успехов в оптимизации бизнеса, автор проекта СММ АТОР   Андреев Д.М. 

 


Особенности моделирования в Системе ценообразования “Динамический нейро-анализ”

СЦ ДиНА реализует алгоритм динамического ценообразования на нейросетях, обеспечивающий многофакторный анализ статистического материала (так называемый “датасет”) с построением нейросети и выбор наилучшего (оптимального) варианта цены из набора вариантов. 

Алгоритм, реализуемый СЦ ДиНА, относится к методам статистического подхода к ценообразованию.

Существует (по используемым типам моделей предметной области) три подхода к ценообразованию: подход прямого моделирования рынка, экспертный подход (анализ типа “что будет если”), статистический подход (анализ динамики собственных продаж предприятия с учетом динамики состояния индикаторов рынка).  

Методы прямого моделирования рынка (как имитационные, так и аналитические) могут показаться предпочтительными, но они требуют очень большого количества надежных данных, которые невозможно найти в открытых источниках.

Экспертный подход, за которым стоят так называемые “экспертные системы”, требует наполнения знаниями эксперта той или иной оболочки экспертной системы. Соответственно нужен эксперт и специалист по получению и формализации данных у этого эксперта. Проблема в том, что 1) нужен реальный эксперт, и 2) вряд ли данный эксперт согласиться отринуть от себе то, что составляет ядро его компетенции. Кроме того, экспертные системы нужно поддерживать в актуальном состоянии в связи с изменяющимися условиями рынка, а это требует постоянного контакта с экспертом. Даже простейший метод экспертного подхода – затратный, требует доказательства размера общественно необходимых издержек и предпринимательской прибыли, которую рынок может принять как справедливую. 

СЦ ДиНА является инструментом активного игрока рынка. Это означает, что цены формируются данным игроком и рынок откликается на данные цены снижением или увеличением объемов продаж. Ситуация отличается от пассивного игрока, например, на фондовом рынке, когда трейдер лишь ожидает определенных движений рынка и реагирует на них (реактивное управление), что и образует его торговую стратегию. 

Устанавливаемые при помощи СЦ ДиНА цены могут быть базовыми для какого-либо продукта или индивидуальными для конкретного покупателя. Главное, чтобы базовые цены (если считаются такие) были инструментом управления индивидуальными ценами. Виды рассчитываемых цен всецело определяются той статистикой (датасетом), который используется для обучения нейросети.

Подготовка датасета осуществляется штатными средствами Excel. СЦ ДиНА работает с уже полностью отлаженным датасетом. При этом существует возможность проверки датасет на аномальность значений, что позволяет фильтровать ошибки, возникающие при переносе данных.

Структура датасет полностью определяется предметной областью пользователя.

СЦ ДиНА – это непараметрический статистический инструмент. Преимущество перед существующими параметрическими инструментами (например, методами регрессионного анализа) состоит в том, что нейросетевой анализ позволяет извлечь “каждую каплю” закономерностей, если таковые имеются в датасет. СЦ ДиНА не разделяет динамику данных на трендовую, сезонную, циклическую и случайную составляющую. То есть нейросетевой анализ СЦ ДиНА исключает двухступенчатую процедуру ана-лиз-синтез, что гарантирует от возможных потерь “тонких” закономерностей в исходных данных.

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

В действительности эти условия регрессионного анализа в совокупности на практике не выполняются. 

Как уже было отмечено выше СЦ ДиНА реализует алгоритм динамического ценообразования. Особенностью именно динамического ценообразования является учет предыдущего состо-яния параметров системы ценообразования. То есть ценообразование рассматривается как переход системы из одного состоянии в следующее. По-этому динамическое и оперативное (внутридневное, ежедневное) ценообразование – это не одно и то же. А такая путаница присутствует в ряде источников информации.

Исходя из представленной концепции динамического ценообразования следуют необходимые условия его применения – система динамического це-нообразования должна характеризоваться инертностью, т.е. переход из одного состояния в другое должен иметь некоторые закономерности, а не представлять собой подобие броуновского движения.Как правило в реальной экономике это условие соблюдается. 

Поэтому динамическое ценообразование получает преимущество перед ценообразованием на основании формулы цены. Это преимущество допол-нительно обеспечивается также относительностью показателей, что исключает влияние фактора масштаба (инфляционные процессы, абсолютные зна-чения емкости рынка и т.п.).Но в силу отмеченного выше динамическое ценообразование требует большого количество статистики, представленной временными рядами значительной протяженности. 
В случае отсутствия достаточного объема исходных данных нейросеть не может быть настроена правильно, т.е. не сможет выявить закономерности зависимости результативного и факторного признаков. Так, например, для выявления влияния сезонного фактора необходимо иметь исходные данные как минимум за три предшествующих года.В такой ситуации может помочь так называемая аугментация (обогащение) данных, т.е. генерирование дополнительных данных на базе уже имеющихся данных. 

СЦ ДиНА может это делать путем линейной интерполяции исходного датасет. Принцип такой интерполяции (см. рисунок ниже) состоит в том, чтобы перейти от календарных месяцев или других календарных отрезков времени, используемых для построения нейросети, к отрезкам времени просто равным длине календарных отрезков. 

Область применения нейросетевого динамического прогнозирования цен ограничивается только возможностью быстрой подготовки статистики и скорости прогноза факторных признаков.Так, например, поскольку основным показателем для прогнозирования является финансовый показатель (маржинальная или иная прибыль за период времени между “замерами” статистики), то требуется время на его подсчет. Кроме того, необходимые данные вообще могут быть недоступны за желаемый “квант” времени (например, час).  

Другой пример, если факторным признаком является официальный курс какой-либо валюты, то он обновляется раз в сутки. Так, что, скажем, в ценообразовании на услуги такси предлагаемый метод вряд ли может быть использован. НО! Нельзя ничего исключать. Повторюсь – все зависит от набора факторных признаков цены и, соответственно, 1) скорости их включения в датасет для построения новой сети (хотя сеть нет необходимости перестраивать под каждый новый элемент датасет) и 2) скорости получения прогноза изменения факторных признаков на следующий квант времени.

Для использования СЦ ДиНА не требуется быть “крутым математиком” и знатоком нейросетей. Но хорошее знание эконометрики необходимо. Необходимо также обладать хорошей экономической логикой. 

Высокому уровню специалистов должен соответствовать и профессиональный инструмент в виде СЦ ДиНА, что в совокупности является предпосылкой для реального роста финансового результата предприятия. 

С пожеланиями такого прогресса, автор проекта СЦ ДиНА   Андреев Д.М.