С 60-х годов прошлого века в науке управления получило развитие направление математического программирования для решения оптимизационных задач предприятий. Наиболее известны транспортная задача, задача оптимизации уровня запасов, моделирование спроса и потребления, систем массового обслуживания, балансовые, эко-нометрические модели. Для решения указанных задач используются методы линейного, нелинейного, динамического программирования, балансовый метод, теория игр и др. Использование уже созданного математического аппарата для решения типовых задач предприятия позволяет осуществлять оптимизацию использования ресурсов предприятия с применением достоверных и экспериментально апробированных научных методов.
Построение математических моделей, а также решение оптимизационных задач требует большого объема вычислений. Поэтому практическое применение указанных математических моделей возможно только при использовании современных средств вычислительной техники в рамках программных комплексов.
Для контроля и своевременного принятия управленческих решений руководству и менеджменту предприятия нужна точная и оперативная
информация об осуществлении НИОКР, закупок, о выпуске готовой продукции, запасах сырья, материалов и готовой продукции на складах, выполнении заявок заказчиков, об управлении оборотными средствами, о взаимных расчетах с поставщиками и клиентами. Единственный способ обеспечить это требование в условиях крупного и среднего промышленного предприятия - внедрение автоматизированной системы управления. Эффективное управление невозможно без автоматизации основных бизнес-процессов и процедур функционирования предприятий и ИС в целом, позволяющей вести единую базу знаний по изделиям и разработкам, точный и детальный учет операций, а также проводить оперативный анализ финансовой управленческой информации.
Внедрение автоматизированной информационной системы всегда подразумевает переход на более высокую степень наведения порядка. При этом, как правило, происходит увеличение прозрачности бизнеса, в том числе для инвесторов, что подразумевает стандартизацию бизнес-процессов предприятий, а также развитие четкой системы учета операций. Поэтому аттестация предприятия по стандартам качества ISO 9000 в обязательном порядке предполагает внедрение ERP-подобной системы.
ИНФОРМАЦИОННАЯ СИСТЕМА ОПТИМИЗАЦИИ РАСПИСАНИЯ ДОСТАВКИ ГРУЗОВ ОТ ПРОИЗВОДИТЕЛЕЙ СЫРЬЯ
А.А. Максимов, А.С. Козлов
Жесткие финансовые условия, в которых осуществляется планирование поставок продукции, низкий уровень надежности предприятий-поставщиков, большие временные интервалы между началом планирования поставок и их реальным осуществлением обостряют вопросы сырьевого обеспечения предприятий-грузополучателей. Актуальность проблемы заставляет искать новые методы, подходы организации обеспечения предприятия-потребителя с позиции своевременности обеспечения и одновременно минимизации сопутствующих расходов. Необходимость полного, своевременного обеспечения предприятия-грузополучателя продукцией при минимальных затратах и выделяемых ресурсах составляет противоречие. Для его разрешения используется логистический подход к процессу доставки грузов. Частной задачей этого подхода является проблема оптимизации расписания поставок грузов на предприятие. Указанная задача на основе разработки математической модели и ее последующей реализа-
ции в виде специализированной информационной системы решена для Челябинского электрометаллургического комбината (ЧЭМК). Актуальность проблемы для этого комбината во многом определяется тем, что анализ статистических данных по перевозке грузов на ЧЭМК указывает на многократное увеличение транспортных издержек (при практически неизменных объемах поставок) в течение последних лет.
Предварительное обследование показало, что оплата перевозок осуществляется исходя из количества вагонов, времени их использования, а также зависит от типов используемых вагонов, общего суточного вагонооборота комбината. Дополнительные издержки могут быть вызваны задержками вагонов по вине грузополучателя и обусловлены чрезмерной загруженностью фронтов погрузки-выгрузки, отсутствием ресурсов, требуемых для погрузки-выгрузки, неэффективным планированием поставок, прочими причинами. Значительная часть фактических издержек приходится на
штрафные санкции, применяемые к грузополучателю ОАО РЖД по причине чрезмерных непроизводительных простоев вагонов. Ситуация усугубляется "рваным" характером процесса доставки: периодические насыщения системы чередуются с периодами простоя фронтов, что приводит к росту альтернативных издержек. Все это свидетельству -ет о неэффективности организации и планирования транспортного процесса и необходимости разработки и принятия мер по его оптимизации.
Эффективная организация перевозок может быть определена как задача построения графика доставок грузов транспортными средствами заданной грузовместимости, которые должны осуществлять перевозку продукции от некоторого числа поставщиков единственному клиенту ЧЭМК с известными потребностями и пропускной способностью. Расписание поставок следует формировать так, чтобы минимизировать функцию цели (суммарные транспортные издержки) при существующих ограничениях (пропускной способности пунктов разгрузки вагонов, продолжительности работ фронтов погрузки-выгрузки, прочие условия).
Тогда задача организации перевозок может быть сформулирована следующим образом: построить математическую модель, описывающую реальный процесс доставки грузов с учетом допущений, формализовать критерии оптимальности и накладываемые ограничения, реализовать разработанную модель в виде программного модуля, позволяющего оператору планировать и оптимизировать процесс доставки грузов.
Принятые допущения
Математическая модель описывает реальные процессы рассматриваемой предметной области с некоторым упрощением. Степень этого упрощения определяется вводимыми допущениями.
1) Процессы обмена передаточными составами со станциями комбината, расформирования передаточных вагонов, поступающих с дороги, формирования составов для передачи их на имеющиеся фронты погрузки-выгрузки не рассматриваются.
2) Считаем, что ситуация отсутствия свободных складских площадей невозможна. Работа фронтов не прерывается никакими другими обстоятельствами, кроме как нулевой загруженностью (отсутствием подлежащих разгрузке вагонов).
3) Порожние вагоны более не используются и после выгрузки возвращаются владельцу. Процесс отправки порожних вагонов не препятствует доставке вагонов для разгрузки.
4) Время доставки вагонов от приемных станций до фронтов погрузки-выгрузки пренебрежимо мало в сравнении со временем, требуемым для разгрузки партии вагонов.
5) Время разгрузки вагона зависит только от его типа и не зависит от вида перевозимой в нем продукции.
6) Каждый поставщик занимается поставкой только одного вида сырья в одном типе вагонов.
Принятые обозначения
При построении математической модели примем следующие обозначения:
к - номер фронта выгрузки, к = 1, 2, ..., К, где К - количество фронтов выгрузки;
Гк - пропускная способность к-го фронта;
z - тип вагона, z = 1, 2, ..., Z, где Z - количество используемых типов вагонов;
п - вид груза, п = 1, 2, ..., N где N - количество видов грузов;
Ь - характеристика транспортных издержек вагонов z-го типа;
Н(1;) - функция транспортных издержек;
Yz - время, требуемое для разгрузки z-го типа вагонов, [час];
Рп - годовая потребность п-го вида груза, [тонна];
Ап - тип используемого вагона под п-й вид груза;
Кь - количество рабочих часов в сутки, [час/сутки];
К - количество рабочих дней в год, [день/год].
Км - вместимость груза типа п в вагон типа z, [тонна/вагон].
Функция поставок грузов
Пусть Х(1) - матричная функция поставок дискретного аргумента 1 (сутки).
Для каждого 1 функция возвращает матрицу-строку X размерности 1^, такую что ХИ - это количество вагонов типа z, подлежащих разгрузке на момент времени 1. Например, "301
Х(2) =
21 15 46
означает, что за второй рабочий день мы должны разгрузить 30 вагонов типа 1; 21 вагон типа 2; 15 вагонов типа 3 и 46 вагонов типа 4.
Х(1) складывается из двух слагаемых: Х1(1) -объем груза (количество вагонов), прибывшего за 1-й день; Х2(0 - объем груза, оставшегося с прошлого рабочего дня;
Х(1)=Х1(1)+Х2(1), (1)
где Х2(0 < Х(М).
Функция загруженности системы
Введем функцию загруженности '(О дискретного аргумента 1 (в сутках), которая возвращает количество времени, требуемого для разгрузки имеющегося на момент времени 1 груза.
Функция '(1) может быть найдена как:
^(1)=Х(1)-У, (2)
где У - матрица-столбец размерности 7x1, такая, что УМ - это время (в часах), требуемое для разгрузки одного вагона типа ъ. У - пропускная способность системы:
У[ъ] = —, (3)
где Е - матрица-столбец размерности 7x1, такая, что Е[ъ] - это пропускная способность системы по ъ-му типу вагонов. Суммарная пропускная способность системы:
к
Е = I Ек
к = 1
(4)
График функции загруженности имеет вид гистограммы (рис. 1).
W (1) = I .
ъ=1
(6)
Загруженность по ъ-му типу вагонов на 1-й день рассчитывается по формуле:
1
Wz(t) = — Х(1)[ъ] • У[ъ]. к
(7)
Время, требуемэе для разгрузки оставшихся вагонов
Область, отражающая альт ернат ивнье издержки (время простоя фэонтов)
й
Характеристики издержек для различных типов вагонов
Каждый тип вагона имеет свою характеристику издержек, задаваемую поставщиком услуг по транспортировке и представляемую обычно в табличной форме. В разрабатываемой модели эту характеристику будем описывать функцией Ьъ(т). Это функция позволяет определить размер издержек (в рублях), вызванных простоем одного вагона заданного типа в течение т часов.
сутк
Рис. 1. Пример графика функции загруженности
Из рисунка видно, что ежедневно может складываться одна из трех возможных ситуаций:
1) нагрузка на систему соответствует ее возможностям по разгрузке доставляемых вагонов;
2) нагрузка на систему меньше ее пропускной способности. В этом случае можно говорить о непроизводительных простоях и, как следствие, об альтернативных издержках;
3) нагрузка на систему превышает пропускную способность системы. В таких случаях некоторый объем работы Х2 (остаток) переносится на следующий день, а транспортные издержки, вызванные дополнительными простоями вагонов, возрастают по нелинейному закону. Для описания загруженности системы с уже распределенными остатками введем функцию W*(t):
™ " |лк,1бё W(t) > !Чк . (5)
Так как каждый тип вагона обладает своей характеристикой издержек, функцию загруженности системы также целесообразно представить в виде суперпозиции загруженности по каждому типу вагонов.
Функции Ьъ(т), ъ = 1,7 обладают следующими общими свойствами: все функции являются неубывающими и в общем случае нелинейными. Нелинейный вид семейства функций Ьъ(т),
ъ = 1,7, очевидно, приводит к усложнению модели в силу того, что и функция суммарных транспортных издержек приобретает нелинейный характер.
Функция транспортных издержек системы
Зная загруженность системы, ее пропускную способность, характеристики издержек по всем типам вагонов, можно найти суммарные транспортные издержки системы. Введем функцию Н(1) дискретного аргумента 1 (в сутках), возвращающую транспортные расходы (в рублях) за 1-й день.
Функция Н(1) может быть рассчитана по формуле:
7
Н(1) = I Нъ(1), (8)
ъ=1
где Нъ(1) - транспортные издержки по ъ-му типу вагонов за 1-й день.
Точно определить значение Нъ(1) нельзя, так как неизвестно точное время поставок. Поэтому оценим максимальное значение Нъ(1), возможное в случае, если все поставки Х(1) пришли в начале рабочего дня (и, следовательно, простояли дольше). В этом случае процесс разгрузки вагонов типа ъ будет иметь вид, представленный на рисунке 2.
Из рисунка видно, что каждый час разгружается 8ъ вагонов,
где Эъ =
к
Ум"
(9)
7
0 ТчЧа
Рис. 2. Пример разгрузки вагонов типа z
То есть первые Sz вагонов простояли 1 час, вторые Sz вагонов простояли 2 часа и так далее до разгрузки всех вагонов (момент времени '^0).
Тогда издержки по этому типу вагонов составят Sz*hz(1) + Sz*hz(2) + ... Sz*hz(Wz(t)) или
К wzO Hz(t)= — S hz(T) •
(10)
Y[z] т=1
Возвращаясь к суммарным издержкам за одни сутки, имеем:
Z 1 Wz(t)
H(t) = К S s --z zti Y[z] T=i z
S hz(T) •
(11)
Тогда суммарные издержки грузополучателя за период времени (t1; t2) могут быть найдены как площадь под кривой Hz(t): t
Ф(0 = J H(t)dt ^ min . (12)
о
Объемы суммарных транспортных затрат можно представить как сумму двух составляющих:
H(t)=Hi(t)+H2(t), (13)
где H1(t) - это вынужденные затраты, связанные собственно с оплатой процесса транспортировки груза, иначе говоря, это та составляющая затрат, уменьшить которую нельзя без уменьшения объема поставок; H2(t) - это затраты, связанные с неэффективной организацией транспортного процесса и воздействием на систему возмущающих воздействий (перебои с поставками, непредвиденные расходы и т.д.).
Тогда целевую функцию системы можно представить в виде:
H2(t)^0. (14)
Однако такое представление не имеет практического смысла, поскольку оценить H2(t) в символическом виде не представляется возможным. С другой стороны, очевидно, что система будет близка к выполнению условия (14), если функция загруженности W(t) будет близка к некоторому идеальному варианту, где функция W(t) описывает идеально равномерный по объему процесс доставки груза. Значение I (средний объем работ в часах) можно оценить следующим образом.
Пусть и - матрица-строка размерности 1х^ описывающая потребности в грузах (в тоннах) за период времени А1,
и[п]=Рп. (15)
Тогда суммарный объем поставок (в вагонах соответствующих типов) может быть найден как (Ш)т Где О - матрица перехода от потребностей, выражаемых в тоннах груза, к потребностям в вагонах соответствующего типа. Матрица О имеет размерность NхZ и может быть вычислена по следующему закону:
О[п]^] = 0, апёё аЗод 1а ишао ЧаЗаа! -дёоипу а ааапаб оет z;
О[п]^] =-, апёе аЗод ишао тЗаа! -
Kn
(16)
geouny а ааанао oeia z.
i3e yoü а аааи oeia z
»tA\ О ч Ч О V -w »» Ж Г Ч А// -V S Ч
niauaaony Knz 0111 a3ogan.
Зная суммарный объем поставок, найдем общий объем работы по разгрузке, выраженный в часах:
1+Д1 1 т
I = — • Y • (иО)т . (17)
1 К
Тогда средний ежедневный объем работ в ча-
сах:
I =
1
• Y • (UG)T
(18)
К Д1
В реальных условиях загруженность системы отклоняется от "идеального" графика. Новая целевая функция будет отражать степень отклонения реальной функции загруженности системы от идеального варианта:
1+Д1 ( ^ ^
J
1
К At
• Y • (UG)T - W(t)
dt ^ 0. (19)
Ограничение на выполнения работы:
возможность физического
1
• Y • (UG)T < Nr .
(20)
К Д1
Минимизация целевой функции может быть достигнута только путем оптимизации расписания поставок. Задача составления расписания относится к классу комбинаторных задач. Размерность реальной задачи и нелинейность некоторых используемых в задаче характеристик не позволяет решить ее точными методами. Для решения подобных задач в приемлемое для оперативного планирования время необходимо использовать эвристические алгоритмы и средства вычислительной техники.
Процесс оптимизации расписания (а следовательно, и минимизации целевой функции) можно представить в виде итеративного процесса. На входе имеется некоторое расписание (базовый план поставок). В каждой итерации промежуточное решение оценивается в соответствии с критериями оптимальности. В случае неприемлемости промежуточного решения расписание модифици-
руется по некоторым эвристическим алгоритмам, и новое решение вновь оценивается. Модификацию расписания может проводить как программа, так и человек-оператор. Процесс поиска решения оканчивается при выполнении одного из следующих условий:
• достигнут требуемый уровень оптимальности решения;
• достигнут предел по количеству итераций;
• последовательность модификации не привела к улучшению результатов в соответствии с критериями оптимальности.
Сформулированная математическая модель имеет ряд особенностей, усложняющих поиск оптимального решения:
- нелинейность использующихся в модели законов и процессов;
- целочисленность некоторых параметров и функций;
- многомерность задачи;
- стохастистичность процессов.
Для упрощения процесса поиска оптимизированного решения этот процесс следует алгоритмизировать и реализовать программно. Благодаря автоматизации процесса оператор способен в кратчайшие сроки формировать планы поставок, удовлетворяющие требованиям предприятия (плану производства), оптимизировать транспортный процесс.
К программе были выдвинуты следующее требования;
• преобразование входных данных в выходные (графики загруженности, итоговые числовые значения совокупных затрат и т.д);
• проверка корректности и согласованности вводимых пользователем входных данных;
• проверка расписания, отредактированного оператором, на соответствие потребностям в грузах;
• требование к генерации базового расписания, поскольку процесс поиска решений предполагает наличие некоторого базового решения, поступающего на вход итеративного алгоритма;
• требования к оптимизации расписания: шаги оптимизации могут осуществляться как оператором, так и программой; критерий оптимальности алгоритма - минимум совокупных издержек; методы оптимизации - перемещения поставок во времени (сдвиги) и изменения объемов отдельных поставок (перераспределения);
• требования к графическому интерфейсу, который должен быть простым, единообразным и интуитивно понятным.
• требования к сохранению/загрузке данных: в программе должна существовать возможность оперативного сохранения/загрузки введенных оператором данных и полученных результатов по запросу оператора.
Взаимосвязанная структура входных данных представлена на рисунке 3.
Рис. 3. Структура входных данных
К выходным данным относятся:
1) Числовые и графические результаты моделирования:
- графики загруженности системы;
- графики издержек по крайнему оптимистическому и крайнему пессимистическому прогнозам;
- совокупные транспортные издержки за рассматриваемый период.
2) Составленное и/или оптимизированное расписание поставок.
Реализация программного продукта потребовала разработки таких алгоритмов, как:
• алгоритм формирования списка поставок за один указанный день;
• алгоритм формирования расписания (чем ближе реальный закон распределения загруженности во времени к равномерному, тем ниже будут издержки, вызванные непроизводительным простоем транспорта);
• алгоритм уточнения даты поставки (позволяет анализировать загруженность системы в окрестности предварительно выбранной даты и при необходимости переносить поставку в более разгруженное место, делая тем самым совокупную динамику загруженности более равномерной);
• алгоритм шага оптимизации расписания.
Разработанная математическая модель и реализованный на ее основе программный модуль позволяют оптимизировать расписание поставок (минимизировать издержки на погрузку-выгрузку) при значительном сокращении времени работы специалиста отдела материально-технического снабжения. Для получения оптимального расписания поставок оператору предлагается последовательно выполнить следующие действия.
1) Описать параметры модели (ввести входные данные):
• типы вагонов (пункт главного меню "Данные ^ Типы вагонов");
• характеристики издержек (Данные ^ Издержки);
• грузы (Данные ^ Грузы): необходимо для каждого вида груза ввести потребность, объем минимальной партии, конкретный тип вагона и
указать вместимость груза для выбранного типа вагона.
• фронты (Данные ^ Фронты): необходимо ввести наименование и пропускную способность для каждого вида груза;
• параметры: необходимо выбрать начальную и конечную даты, в пределах которых будут распределены поставки и коэффициент оптими-стичности прогноза.
Пессимистичный сценарий. Все поставки пришли одновременно в начале рабочего дня. Во время разгрузки наиболее приоритетных поставок остальные поставки непроизводительно простаивали.
Оптимистичный сценарий. Новые поставки приходят как раз в моменты освобождения мощностей системы (окончания разгрузки предыдущих партий).
Для вычисления оценки прогнозов, приближенной к реальности, программа в качестве входных данных получает степень оптимистичности прогнозов, которую оператор может оценить самостоятельно, например, исходя из имеющейся статистики выполнения договоров и своевременности поставок.
Для получения прогнозируемых результатов с учетом степени оптимистичности прогнозов используется следующая формула:
Н13Та = (Нно " К + Н1апп (Ктах - К))/ Ктах, где К = 0,Ктах .
При К = Ктах/2 формула вырождается в среднее арифметическое: Нпрог=(Нопт+Нпесс)/2.
2) Сформировать базовое расписание: вручную - выбрав в меню <Расписание> пункт <Редактировать>; автоматически - выбрав в меню <Расписание> пункт <Сгенерировать базовое>.
3) Выполнить требуемое количество шагов оптимизации (вручную или в автоматическом режиме, выбрав Расписание ^ Оптимизировать).
Достигнутая оптимизация не является верхним пределом. Эффективность оптимизации зависит от количества применяемых шагов оптимизации и навыков оператора.
Несмотря на то, что программная разработка была сделана для ЧЭМК, она является достаточно универсальной и может применяться на многих предприятиях при указанных выше ограничениях. В частности, разработка используется на заводе ОАО "Кузнецкие ферросплавы" (г. Новокузнецк).
ИНТЕГРИРОВАННАЯ АВТОМАТИЗИРОВАННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ ПРЕДПРИЯТИЕМ
А.А. Максимов
На рынке программного обеспечения для крупных и средних промышленных предприятий доминируют ЕЯР-системы, которые автоматизируют большинство функций управления и служат главным (если не единственным) достоверным источником информации на предприятии (например, о состоянии запасов на складах). Однако имеется ряд сложностей, которые не всегда приводят к успеху в случае покупки подобных систем для предприятий:
• внедрение ЕЯР-приложений занимает очень много времени;
• одно ЕЯР-приложение в большинстве случаев не охватывает полностью все участки предприятия;
• для обработки накапливаемой информации аналитических инструментов, имеющихся в тран-закционных ЕЯР-приложениях, недостаточно;
• в сферу действия ЕЯР-систем попадают лишь внутренние процессы предприятия.
С ростом конкуренции на рынках сырья и сбыта готовой продукции сформировалась тенденция все больше внимания уделять внешним
источникам информации (о поставщиках, клиентах, конкурентах и др.), поэтому в информационную систему предприятия включаются подсистемы управления взаимоотношениями с клиентами (CRM), логистическими цепочками (SCM) и др.
С другой стороны, современная автоматизированная система управления (АСУ) служит основным инструментом поддержки принятия решений руководителями предприятий. Для этого в ней должны быть реализованы функции по своевременному сбору достоверной информации, а также средства последующего анализа этих данных. Транзакционные системы, как правило, проектируются как учетные системы, и поэтому содержат явно мало удобных инструментов для анализа накопленной в них информации. Аналитикам и руководителям предприятий при этом весьма трудно получать из них именно те данные, которые им нужны для анализа в интересующий момент времени. Стандартные, разработанные еще при внедрении системы отчетные формы предоставляют только основную информацию о хозяйственной деятельности предприятия. Между тем у