Разработка алгоритмов и экономико-математическое моделирование на заказ

Экономико-математическое моделирование (ЭММ) заключается в применении математических методов в моделировании, анализе, прогнозировании и оптимизации различных экономических процессов: производственных, управленческих, транспортно-логистических, торгово-распределительных, и т.д.
Наши ведущие специалисты-математики начали заниматься экономико-математическим моделированием и разработкой «умных» алгоритмов ещё задолго до образования нашей компании и за прошедшее с тех пор время (примерно 30 лет) накопили гигантский опыт, позволяющий сейчас успешно решать задачи практически любой сложности.

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

В зависимости от преследуемых целей и потребностей заказчиков разработка экономико-математических моделей, инструментов поддержки принятия решений и программных модулей может предполагать:
1. Использование получаемых с их помощью результатов расчетов для экономического обоснования предлагаемых проектных решений (без их передачи заказчику);
2. Их передачу заказчику для самостоятельного автономного использования или интеграции в собственное программное обеспечение;
3. Внедрение разрабатываемых моделей, инструментов и программных модулей на предприятиях заказчиков, включая их адаптацию к условиям заказчика, обучение персонала, пробную эксплуатацию и т.д.

Ранее – когда наша компания ещё специализировалась в консалтинговых услугах - мы разрабатывали экономико-математические модели преимущественно в среде хорошо знакомого всем нашим клиентам Microsoft Excel. Уже тогда это были зачастую довольно сложные модели и инструменты, например:
1) Методика и модель расчёта тарифов централизованной доставки материально-технических ресурсов (МТР) для нужд крупного вертикально-интегрированного холдинга;
2) Методика и модель расчёта оптимальной многономенклатурной партии заказа МТР для нужд крупного производственного предприятия;
3) Программа оценки поставщиков МТР для нужд крупных компаний;
4) И многие другие.

Но в дальнейшем мы решили перепрофилироваться на разработку информационных систем, причём не учётных, а с акцентом на автоматизацию планирования производственно-логистических процессов. Это предъявило повышенные требования как к уровню сложности самих алгоритмов (ввиду сложности самих задач), так и к быстродействию их работы. Теперь Excel используется только на этапе прототипирования для ввода исходных данных и отображения результатов расчётов (в табличной и графической формах). А сами расчёты перенесены в интеллектуальное «ядро», которое реализуется в виде динамически подключаемой библиотеки (DLL), что обеспечивает как требуемое быстродействие, так и возможность интеграции с информационными системами наших заказчиков. Интерфейсную часть наших программных продуктов мы разрабатываем преимущественно на платформе «1С». Подробнее об этом можно прочитать в материале «ЭММ в проектных решениях по управлению производством и логистикой».

Результаты применения экономико-математического моделирования

1. Упорядочивание информационно-аналитического обеспечения процесса управления;
2. Прототипирование будущего решения, проверка работоспособности алгоритмов, формирование задания для программистов;
3. Повышение качества и оперативности принимаемых управленческих решений;
4. Повышение точности, оперативности и глубины экономических расчетов (при одновременном снижении их трудоемкости);
5. Возможность решения производственно-экономических задач повышенной сложности (не решаемых без применения экономико-математических методов).

Типы используемых моделей и алгоритмов

Балансовые
Экономические расчеты, основанные на принципе баланса наличия, поступления/производства и выбытия/расходования различных видов ресурсов: материальных, энергетических, машинных, денежных и др.

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

Оптимизационные
Выбор наилучшего из возможных вариантов производства, распределения или потребления продукции, размещения объектов инфраструктуры, маршрутов движения, расписания и т.д.

Статистические
Изучение взаимосвязей производственно-экономических показателей моделируемой системы в условиях влияния случайных факторов: корреляционно-регрессионный анализ, факторный анализ, анализ чувствительности и т.д.

Имитационные
Имитация (как правило, на ЭВМ) процесса функционирования изучаемого объекта во времени.

А также комбинации различных подходов в одной модели.

Особенности интеллектуального планирования производства

В чем проблема
«Мы вообще не знаем, какую продукцию и в каких объёмах нам следует производить. Сколько принимать заказов на производство при жёстких ограничениях не только по спросу, но и по сырью и материалам, производственным и складским мощностям, персоналу и другим ресурсам». Подобные сетования нередко приходится слышать из уст наших клиентов.
Интеллектуальное планирование производства позволяет решать эти задачи да еще с учетом целевой функцией в виде максимизации маржи или прибыли.
ВАМ ПРОСТО «БАЛАНСОВОЕ МОДЕЛИРОВАНИЕ» ИЛИ «БАЛАНСОВОЕ С ОПТИМИЗАЦИЕЙ»?
Если не задаваться вопросом, в какой последовательности и в какие сроки должна будет производиться соответствующая продукция, а говорить только о суммарных объёмах производства продукции и потребления ресурсов за заданный плановый период (год, квартал, месяц, неделю, сутки…), то это будет типичная задача балансового (объёмного) моделирования. А если добавить сюда ещё и критерий оптимизации – например, максимизацию прибыли, то получится балансовое моделирование с оптимизацией в одном флаконе.
ПРИМЕР СИСТЕМЫ ПЛАНИРОВАНИЯ ПРОИЗВОДСТВА ПРОДУКЦИИ ИЗ МЯСА ПТИЦЫ
Мы разработали систему планирования производства продукции из мяса птицы (для птицеперерабатывающих комбинатов). Эта задача особенно интересна (но и сложна!) тем, что здесь производство не сборочное (где, как правило, всё несколько проще), а, напротив, «разборочное»: ведь можно продавать тушку птицы целиком, а можно разделать её на грудку, окорочка, крылья и прочие части и торговать ими по отдельности. Можно дальше разделывать окорочка и крылья, можно продавать не грудку, а филе грудки... И на каждый из этих видов продукции – свой спрос и свои цены.

В подобных случаях мы, прежде чем решать конкретную частную задачу, обычно задаёмся целью подобрать (или разработать самостоятельно) какой-то общий подход к задачам подобного типа. А в рассматриваемом конкретном случае такой подход у нас уже был!
НАШЕ НОУ-ХАУ - РЕСУРСНО-ОПЕРАЦИОННАЯ МЕТОДОЛОГИЯ БАЛАНСОВОГО МОДЕЛИРОВАНИЯ
Разработанная нами ресурсно-операционная методология балансового моделирования заключается в том, что моделируемый процесс описывается как совокупность операций, каждая из которых преобразует одни (входные для данной операции) ресурсы в другие (выходные).

При этом понятием «ресурс» охватывается вообще всё, что, так или иначе, участвует в рассматриваемом процессе: не только сырьё, материалы и готовая продукция, но также и энергетические (например, киловатт-часы), трудовые (человеко-часы), машинные (машино-часы, станко-часы), денежные (финансовые) и прочие ресурсы. При этом в зависимости от требуемого уровня детализации это, к примеру, могут быть не абстрактные человеко-часы, а человеко-часы производственных рабочих (возможно, конкретного цеха), ИТР, АУП и т.д.

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

ОСНОВНЫЕ ПОНЯТИЯ РЕСУРСНО-ОПЕРАЦИОННОЙ МЕТОДОЛОГИИ
Кроме понятий «операция» и «ресурс» в рассматриваемой методологии есть ещё всего три других понятия: «объём операции», «приходно-расходный коэффициент» и «приходно-расходное сальдо». На них мы здесь подробно останавливаться не будем, а отошлём заинтересовавшегося читателя к нашей статье «Искусственный интеллект в планировании производства: опыт и перспективы». Отметим лишь, что вот такой лаконичный, универсальный ресурсно-операционный язык позволяет охватывать очень широкий круг задач оптимизации планирования в самых различных отраслях и на самых различных уровнях – вплоть до экономики целой страны.
СОТНЯ СВЯЗАННЫХ МОДЕЛЕЙ – НЕ ПРОБЛЕМА
В особо сложных случаях ресурсно-операционных моделей, описывающих процесс, может быть несколько (и даже несколько сот, как было у нас однажды для одного холднига!), причем моделей не разрозненных, а связанных между собой входами и выходами.

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

Или, к примеру, агрегированная модель вертикально-интегрированного конгломерата птицеводства и птицепереработки может обеспечивать входными данными более детальные модели этих двух составляющих в отдельности. Подробнее об этом можно прочитать в нашей статье «От поля до прилавка. Об оптимизации цепочек поставок в агропромышленных холдингах».
МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД
Универсальность ресурсно-операционного языка проявляется в том, что процедура оптимизации, «зашитая» в нашем интеллектуальном «ядре», тоже абсолютно универсальна: это на самом деле обычный симплекс-метод решения задачи линейного программирования, адаптированный нами под особенности ресурсно-операционных данных. Но, правда, за это приходится платить «трудностями перевода» описания конкретной предметной области на этот универсальный язык.
ДЛЯ ГИБКОСТИ НУЖЕН «КОНСТРУКТОР»
Ещё интересно отметить гибкость нашей Интеллектуальной системы производственного планирования (ИСПП) птицепереработки, в которой, наряду с прочими модулями, есть конструктор птицекомбината, позволяющий «собирать» модель птицекомбината из готовых блоков, представляющих собой модели отдельных производственных линий и соответствующих переделов.

При этом параметры (в частности, приходно-расходные коэффициенты) получающейся модели при необходимости пересчитываются непосредственно перед запуском процедуры планирования с учетом изменений не только конфигурации комбината, но и таких параметров, как производительность производственных линий, фонд их времени работы и прочих.
ДЛЯ СХОДИМОСТИ РЕШЕНИЯ ПОЛЕЗНА ПРИОРИТЕЗАЦИЯ
В нашей системе планирования предусмотрена многофакторная приоритизация заказов на готовую продукцию: по статусу клиента, номенклатуры, по цене продажи, по срокам отгрузки, по стратегическим приоритетеам и т.д.

И при этом высокоприоритетные заявки планируются к исполнению в требуемые сроки и в полном объёме, а остальные – по мере возможности и целесообразности. Этот механизм позволяет отделу продаж принимать больше заказов, а процедуре планирования даёт больше простора для оптимизации.
«ВИШЕНКА НА ТОРТЕ» - ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
Если требуется не просто посчитать объёмы производства, а составить его детальный план-график на шкале времени, то для этого в нашем интеллектуальном «ядре» имеется процедура имитационного моделирования, разработанная также на основе ресурсно-операционного подхода.

Имитационное моделирование позволяет определить «узкие звенья» в производственном или логистическом процессе с учетом фактора времени, статистики сбоев в отдельных элементах систем.
УНИВЕРСАЛЬНОСТЬ МЕТОДОЛОГИИ
Не надо думать, что ресурсно-операционное моделирование применимо только к задачам планирования производства. У нас, к примеру, есть опыт проектирования складов (распределительных центров), и там ресурсно-операционные модели использовались для расчёта потребностей в складских площадях, технике и персонале. Ещё нам однажды довелось моделировать работу крупной железнодорожной станции, но, правда, это была не балансовая, а имитационная модель.

Эвристическое планирование перевозок

Эвристическими (от древнегреческого εὑρίσκω - «отыскиваю», «открываю») называются стратегии и методы, не имеющие строго логического обоснования и не гарантирующие получения искомого результата. К подобным подходам приходится прибегать тогда, когда строгие аналитические алгоритмы, указующие чёткий путь к цели (такие, как симплекс-метод, например), неприменимы в силу сложности решаемой задачи. В чём может состоять эта сложность?
ЗАДАЧА КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ
Обратимся к нашей практике. Нам предстояло разработать планировщик перевозок комбикормов (далее для краткости – кормов или КК) с производящих их комбикормовых заводов (далее – ККЗ) на производственные площадки по выращиванию и откорму животных (пусть это будут свинокомплексы, далее – СК), на которых эти корма потребляются.

И вот представьте себе:
1. Марок кормов – несколько (допустим, 8),
2. Они перевозятся специализированным транспортом – комбикормовозами (далее – кормовозами или ККВ), каждый из которых представляет собой многосекционный грузовой автомобиль (до 8-ми секций различных вместимостей, у каждого ККВ – своих!).
3. При этом предполагается, что одним рейсом может перевозиться сразу несколько марок КК (в реальной практике – до 6-ти), и тогда разные марки КК должны грузиться в отдельные секции.
4. В таких условиях даже распределение подлежащих перевозке кормов одним отдельно взятым рейсом по секциям конкретного ККВ – нетривиальная задача из-за большого числа вариантов такого распределения. Но это для одного рейса одного кормовоза! А кормовозов – несколько (порядка 20-ти), каждый из них за одну смену (12 часов) может сделать по 2-3 или даже 4 рейса на разные площадки СК.
5. Площадок – несколько десятков, причём на крупные площадки за смену должно завозиться по несколько (до 5-ти) машин кормов. Так что распределение кормов по рейсам – тоже отдельная задача, тем более что остатки кормов на ККЗ непрерывно меняются в ходе их производства и отгрузки.

И вот в таких условиях нужно составить детальный план-график перевозок, то есть для каждого рейса каждого ККЗ рассчитать время выезда из первоначального местонахождения, прибытия на загрузку, продолжительность и время окончания загрузки и т.д. А есть ещё и требования биобезопасности (автомобиль может заехать на другую площадку после посещения предыдущей только по определенным правилам), которые мы здесь обсуждать не будем но которые тоже заметно осложняют алгоритм.

В общем, здесь имеем, как говорят математики, задачу комбинаторной оптимизации, поскольку здесь нужно сопоставлять и выбирать различные варианты, комбинации рейсов, загрузок машин: кто как загрузится, куда и в какой последовательности поедет… Причём это задача большой размерности, даже очень большой!
НАПРАВЛЕННЫЙ ПОИСК С ЗАПРЕТАМИ (ИСКУЛЮЧЕНИЯМИ)
В вышеописанной задаче количество вариантов возможных решений столь велико, что ни о каком их полном переборе даже говорить не приходится. И по этой же причине ни о каком применении аналитических методов (в частности, линейного программирования) тоже речи быть не может. Поэтому здесь нужен какой-то направленный поиск, то есть некая разумная стратегия, которая позволяла бы, перебирая и анализируя ничтожно малую часть возможных вариантов решения задачи (в нашем случае – планов перевозок), находить за обозримое время приемлемые решения. Приемлемые – значит почти наверняка не абсолютно лучшие, но позволяющие достигать требуемого результата, а именно, доставлять (в нашем случае) корма на площадки СК в требуемые сроки, в требуемых объёмах и разумной ценой (здесь имеются в виду транспортные издержки).
Подобных разумных (эвристических) стратегий известно довольно много: это, в частности, и генетические алгоритмы, и алгоритмы муравьиной колонии и даже нейронные сети.

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

Объясним суть направленного поиска с запретами буквально «на пальцах». А более подробно об этом методе можно прочитать в нашей статье «Искусственный интеллект в логистике: реальность или красивые слова?».
ВЫБОР ЦЕЛЕВОЙ ФУНКЦИИ
Начнём с того, что если мы хотим подобрать подходящий план перевозок, то нам надо, сравнивая разные планы, быть в состоянии ответить на вопрос, какой из них лучше. А это зависит от того, какие цели мы преследуем, от расстановки приоритетов. Хотим ли просто сэкономить затраты на перевозку кормов? Или важнее что-то другое? Ради чего мы вообще возим корма? Очевидно, ради своевременного и полного обеспечения ими свинокомплексов. Вот это и есть главная цель! А ещё необходимо своевременно вывозить корма с комбикормовых заводов – иначе там переполняются бункеры с готовой продукцией, что ведёт к остановкам производства. Но и от экономии транспортных издержек мы отказываться не предлагаем, но это цель более низкого уровня приоритетности.

В общем, нужен какой-то комплексный (учитывающий все вышеперечисленные факторы) критерий сравнения планов перевозок. Для этого нужно выбрать подходящую целевую функцию: некий агрегированный показатель, который бы оценивал планы перевозок. Для этого нужно оценки всех факторов собрать воедино и привести «к общему знаменателю», в роли которого в таких случаях обычно выступают деньги. В итоге туда войдут, в частности (всё – в денежном выражении), и затраты на перевозки, и штрафы за недопоставки кормов на свинокомплексы, но всё это – со знаком «минус», поскольку чем больше затраты и штрафы, тем хуже план перевозок. А что пойдёт с плюсом? С плюсом пойдёт денежная оценка объёма перевозок, рассчитываемая по реальным или виртуальным тарифам на перевозки. В результате получается некая условная маржинальная прибыль, рассчитываемая для каждого плана перевозок и позволяющая сравнивать эти планы: чем выше этот показатель, тем лучше план.
ГДЕ ТУТ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
Теперь переходим непосредственно к описанию алгоритма. Он начинает выстраивать план перевозок «с нуля», то есть когда никто ещё никуда не едет, и на каждом шаге последовательно добавляет в выстраиваемый план один рейс одного кормовоза, причём такой, которые давал бы максимально возможный прирост целевой функции.

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

И вот такое последовательное добавление рейсов в план перевозок продолжается до того момента, когда оно станет невозможным. В этот момент мы запоминаем получившийся план перевозок вместе с достигнутым значением целевой функции и далее, если время, выделенное на работу алгоритма, ещё не истекло, пытаемся этот план улучшить. А как? Раз добавление рейсов в план невозможно – значит, придётся сначала временно отступить назад, то есть – удалить из плана, по крайней мере, один рейс. Понятно, что значение целевой функции при этом снизится, поэтому, чтобы снижение было как можно меньше, удаляется наименее эффективный рейс.

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

В результате получается, что алгоритм «самонастраивается» или, если угодно, «самообучается» прямо в процессе своей работы, что тоже напоминает поведение человека при решении нестандартных задач.
Самое главное, что этот метод волшебным образом работает: находит всё более и более эффективные решения! И в приведённом нами примере с перевозками кормов решения, получаемые всего за несколько секунд, оказываются уже вполне приемлемыми для практического применения, что, в принципе, позволяет управлять перевозками практически в режиме реального времени, корректируя на ходу план при возникновении нештатных ситуаций.

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

Посоветуйтесь с Левоном Антоняном

Посоветуйтесь с Левоном Антоняном

Научный руководитель, ведущий эксперт по экономико-математическим методам и методам оптимизации с использованием искусственного интеллекта. Соучредитель компании АДД Консалтинг, 20 лет в оптимизации логистики и производства.

Воспользуйтесь преимуществами, сэкономьте время и деньги, получите результат в срок

Изображение

Предварительные бесплатные консультации по "умным системам"

Всегда на связи
Чем поможет вашему предприятию тот или иной продукт?
Какие необходимы доработки?
Как лучше организовать проект?
Как лучше донести инновационную идею до руководства?
Какие можно получить скидки?
Кого включить в рабочую группу?
Нужна ли вам цифровизация?
Из чего складывается бюджет проекта?
Изображение

В команде высококлассные отраслевые эксперты

Гарантия успеха в заданные сроки
В нашу команду мы включаем:
1. Отраслевого эксперта, знающего специфику организации и управления в логистике и производстве вашей отрасли.
2. Консультантов по автоматизации производственных и логистических процессов.
3. Опытного архитектора, программистов и тестировщиков.
4. Руководителя проекта, он же специалист по экономике производства и логистики.
Изображение

Преимущества нашей технологии ADD Cerebrum

Как человек, только лучше и быстрее
Мы используем эвристические и комбинаторные методы, т.к. задачи управления ресурсами в нефтянке чудовищной размерности.
Поиск оптимальных решений осуществляется за 3-5 секунд. Это позволяет реагировать на сбои и управлять парком машин до 1000 единиц в режиме реального времени.
Детализация и учет всех ключевых факторов, которыми оперирует человек, позволяет Системе вырабатывать решения, которые сразу идут на исполнение. Человек лишь подтверждает. В перспективе наши системы будут ставить цели и контролировать действия машин-беспилотников.
Изображение

"Max маржи" лучше чем "min затрат

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

Закажите экономико-цифровой аудит для обоснованного решения о цифровизации

Наша команда с 2000 года занимается повышением эффективности предприятий в области оптимизации производства, логистики и цепочек поставок.
Мы выполняли проекты оптимизации процессов с Иркутской нефтяной компанией, ТНК-ВР, ТНК, Юганснефтегаз.
Нам доверяют лидеры отраслей: Норникель, Магнитогорский металлургический комбинат, КАМАЗ, Росэнергоатом, Казахмыс, Казцинк, Северсталь и многие другие. Отзывы это подтверждают.
Мы работаем по методике проведения экономико-цифрового аудита. Она проста и предназначена для выявления потерь, таких как:
1. простои производственных ресурсов,
2. необоснованные запасы,
3. различные браки и сбои,
4. повышенные затраты на разных этапах бизнес-процессов вашего предприятия.
Оформим реестр потерь и точек роста, выделим те, которые устраняются автоматизацией.
Потери не связанные с автоматизацией пойдут бонусом.
Очень важно правильно провести расчеты и представить полученную информацию руководству предприятия для принятия решения.

Наши выводы основаны на фактах: фотофакты, анализ статистики и замеров покажут реальные потери и возможности роста. Экономические эффекты в цифрах в пересчете на год. Наглядно показана окупаемость и за счет чего.

Мы привязываем наше вознаграждение к получению экономических эффектов.

Купите экономико-цифровой аудит со скидкой 20%, с вами свяжется эксперт для обсуждения сроков и деталей

Посмотреть детали