close

Вход

Забыли?

вход по аккаунту

?

Andronov Analit model v logistike

код для вставкиСкачать
Известны примеры эффективного использования в промышленных отечественных ЛС типа РИТМ, КСОТО, систем оптимального
оперативно-производственного планирования, контроля и управления запасами МР. Они составляют основу распространения логистических концепций в сферах производства и обращения продукции в экономике России. К сожалению, в современные российские
производственные структуры накопленный в мире опыт проникает крайне медленно. Необходимо быстрейшее внедрение логистического мышления в практику работы хозяйственных руководителей
и менеджеров различного уровня. Помочь в этом процессе должна
разработка систем поддержки принятия решений (СППР) в сфере
логистики – информационных ЛС, подобно тому, как в свое время
происходило внедрение автоматизированных систем бухгалтерского и управленческого учета. Очевидно, что в современных условиях
материальные потоки находятся под контролем информационных
потоков, формируемых информационной ЛС.
На данный момент на рынке существует ряд программных продуктов, обеспечивающих поддержку при принятии решений в сфере логистики. Это SCM (Supply Chain Managemen) – системы, которые предназначены для управления цепочками поставок. Как правило, подобные системы функционируют в составе систем управления
предприятием в так называемых ERP (Enterprise Resource Planning)системах. Наиболее развитыми в мире системами ERP являются
SAP R3, Baan IV, Oracle Applications, J. D. Edwards, а среди отечественных можно выделить системы «Галактика», «Флагман» и др.
Исследование и прогнозирование поведения ЛС на практике осуществляется посредством математического моделирования, т. е.
описания логистических процессов в виде моделей. Под моделью
в данном случае понимается отображение ЛC, которое может быть
использовано вместо нее для изучения ее свойств и возможных вариантов поведения.
При построении таких моделей необходимо соблюдать следующие требования:
– поведение, структура и функции модели должны быть адекватны моделируемой ЛС;
– отклонения параметров модели в процессе ее функционирования от соответствующих параметров моделируемой ЛС не должны
выходить за рамки допустимой точности моделирования;
– результаты исследования модели и ее поведения должны выявить новые свойства моделируемой ЛС, не отраженные в исходном
материале, использованном для составления данной модели.
5
Соблюдение этих требований позволяет реализовать качественно новые возможности моделирования, а именно:
– проведение исследования на этапе проектирования ЛС для
определения целесообразности ее создания и применения;
– проведение исследования без вмешательства в функционирование ЛС;
– определение предельно допустимых значений объемов материальных потоков и других параметров ЛС без риска разрушения оригинала.
Наибольшее распространение в процессе создания и эксплуатации систем логистического управления получили математические
модели. Математическое моделирование, как известно, подразделяется на аналитическое и имитационное.
Особенностью а н а л и т и ч е с к и х моделей является то, что закономерности строения и поведения объекта моделирования описываются в приемлемой форме точными аналитическими соотношениями. Эти соотношения могут быть получены как теоретически,
так и экспериментально. Теоретический подход применим только
для простых компонентов и систем, допускающих сильное упрощение и высокую степень абстракции. Кроме того, затруднена проверка адекватности полученного аналитического описания, поскольку
поведение моделируемого объекта заранее не определено, а должно быть выяснено в результате моделирования, для чего и составляется данное аналитическое описание. Оно может быть определено также путем проведения экспериментов над исследуемым объектом. Более универсальным подходом обладает и м и т а ц и о н н о е
моделирование.
Имитационная модель – это компьютерное воспроизведение
развертывания во времени функционирования моделирующей системы, т. е. воспроизведение ее перехода из одного состояния в другое, осуществляемое в соответствии с однозначно определенными
операционными правилами.
Имитационные модели относятся к классу описательных моделей. Испытания модели осуществляются таким образом, чтобы
проверить и сравнить между собой различные структурные варианты ЛС. Имитация завершается проверкой полученных результатов
и выдачей рекомендаций для практического внедрения. Имитационные модели широко применяются для прогнозирования поведения ЛС, при проектировании и размещении предприятий, для обучения и тренировки персонала и т. д., поэтому, в силу важности
этого подхода к моделированию соответствующие вопросы будут темой отдельного учебного пособия.
6
Главной задачей логистического управления является оптимизация материальных и соответствующих им информационных потоков. Критериями оптимизации функционирования производственных ЛС являются экономические показатели, такие как, например,
минимум себестоимости производства, минимум времени производственного цикла при обеспечении заданного уровня качества ГП. В основу информационной ЛС должны быть положены оптимизационные
алгоритмы, приспособленные для решения логистических задач. Наилучшее управленческое решение для моделируемого объекта соответствует экстремальному значению критерия оптимизации (или целевой
функции) для конкретной модели. Описаниями подобной модели являются также ограничения значений ее параметров, которые задаются в виде системы равенств и неравенств. Таким способом формализуются те или иные свойства моделируемого компонента.
В настоящее время с помощью программных средств на основе
оптимизационных алгоритмов успешно решаются многие задачи
логистического управления. Перечислим некоторые из них:
– рациональная организация работы парка оборудования;
– оптимальный раскрой материала;
– оптимальное распределение автомобильного транспорта по маршрутам, клиентам;
– оптимальная загрузка производственных мощ­ностей;
– расстановка машин по объектам;
– определение рациональной схемы перевозок продукции на
объекты;
– расчет ритмичных и неритмичных потоков с непрерывным использованием ресурсов или при непрерыв­ном освоении фронта работ;
– оптимизация выпуска однородной продукции при наличии
в распоряжении нескольких технологических способов;
– определение оптимальной производственной программы при
заданной технологии;
– определение оптимального состава парка машин (станков);
– прикрепление потребителей к поставщикам;
– оптимальная расстановка кадров;
– нахождение оптимального плана выпуска про­дукции и др.
Следует подчеркнуть, что математическое моделирование (как
аналитическое, так и имитационное) выполняется в цикле процесса оптимизации, поэтому сложность моделей ограничивается вычислительной трудоемкостью решения оптимизационных задач.
7
Лабораторная работа № 1
ABC- и XYZ-анализ
Цель работы: изучение методики проведения АВС- и XYZанализов.
1.1. Методика проведения АВС-анализа
Управление в логистике затрагивает большое количество различных объектов: широкий ассортимент товаров, большое число покупателей и поставщиков, разнообразные грузы и т. д. При
этом менеджер получает неравноценные результаты от этих объектов. Необходимость повышения эффективности логистического управления, связанная с неравноценностью результатов от различных объектов управления, возникает в различных областях
логистики: в закупочной, сбытовой, транспортной, производственной и пр. Например, в современных MRP-системах АВС-анализ используют с целью сокращения величины запасов, количества перемещений на складе, общего увеличения прибыли на предприятии и т. д.
Применяя метод АВС, следует сосредоточиться на наиболее значимых объектах с точки зрения обозначенной цели. Сущность этого анализа заключается в том, что производится классификация
всех номенклатурных позиций, данные о запасах которых поддерживаются по признаку относительной их важности, и для каждой
выделенной категории формируются свои методики управления
запасами.
ABC-анализ базируется на принципе Парето (Вильфредо Парето, XIX в.), сформулировавшего правило, суть которого сводится
к следующему: контроль относительно небольшого количества
элементов позволяет контролировать ситуацию в целом. Часто
еще сформулированное Парето правило именуют правилом 80/20,
что можно истолковать следующим образом: надежный контроль
20% номенклатурных позиций позволяет на 80% контролировать
систему (т. е. запасы в нашем случае). Согласно методу Парето множество управляемых объектов делится на две неодинаковые части.
Широко применяемый в логистике метод АВС предлагает более
глубокое разделение – на три части.
Повышение эффективности управления можно пояснить следующим образом. Пусть имеем 20 объектов и первоначально расходы на управление распределялись между всеми объектами рав8
номерно, вне зависимости от вклада объекта в конечный результат. Пусть стоимость управления одним объектом составила 5 у. е.,
тогда общая стоимость управления составляла 100 у. е. (20×5). После классификации получили 2 объекта группы А, 13 – группы С
и 5 – группы B. Увеличим стоимость управления объектами группы А в 2 раза и снизим стоимость управления объектами группы С
в 2 раза. Стоимость управления объектами группы В оставим без
изменения.
Простой расчет показывает, что общая стоимость сократится
на 22,5 у. е.: 2 × 10 + 5 × 5 + 13 × 2,5 = 77,5.
Ухудшение управления группой С скорее всего не окажет сколько-нибудь значимого влияния на общий результат в связи с незначительной ролью этой группы. В то же время улучшение управления группой А может этот результат существенно улучшить.
Таким образом, перераспределение средств на управление, выполненное в соответствии с результатами анализа АВС, даст снижение затрат на управление и одновременно повысит его эффективность.
Среди основных факторов, которые могут влиять на присвоение
запасам номенклатурной позиции той или иной категории контроля выделяют следующие.
1. Годовой объем использования (потребления) номенклатурных
позиций в стоимостном выражении.
2. Цена единицы номенклатурной позиции.
3. Дефицитность номенклатурной позиции.
4. Доступность ресурсов для производства номенклатурной позиции.
5. Длительность цикла для номенклатурной позиции.
6. Требования к хранению номенклатурной позиции (специальные требования к температурному режиму, влажности и т. п.).
7. Риск воровства.
8. Срок хранения.
9. Издержки вследствие отсутствия номенклатурной позиции на
складе в требуемый момент времени.
После присвоения каждой номенклатурной позиции определенного класса к каждому из классов применяются свои правила контроля запасов.
Для номенклатурных позиций класса A рекомендуются следующие правила.
1. Частая оценка прогноза и метода прогнозирования. Любой
построенный прогноз несет некоторую ошибку. Чем дороже и де9
фицитнее номенклатурная позиция, тем дороже обходятся эти
ошибки. Как следствие, данное правило означает внимательное отношение к методам построения прогнозов потребности в номенклатурных позициях, мониторинг точности реализации уже построенных прогнозов.
2. Частый, например ежемесячный, циклический подсчет запасов с жесткими допусками. Недопустимо сколько-нибудь существенное отклонение данных о запасах, зафиксированных
в информационной системе, от данных согласно проведенному
подсчету (который можно назвать еще текущей инвентаризацией). Каждое отклонение, превышающее установленный жесткий допуск, должно расследоваться на предмет выяснения его
причин. При этом необходимо отметить, что имеет смысл проводить и традиционную полную инвентаризацию раз в год или раз
в полгода.
3. Ежедневное обновление данных в базе данных. для номенклатурных позиций класса А необходимо использование системы с непрерывным обновлением данных о запасах.
4. Частое рассмотрение требований спроса, размеров партий, страхового запаса, обычно имеющее результатом относительно небольшие размеры заказов (партий). Необходимо тщательное отслеживание всех параметров планирования, выявление реальных потребностей в номенклатурных позициях. Стремление к небольшим
размерам партий может быть продиктовано возможностью снижения как прямых, так и скрытых издержек, связанных с хранением
изделий в запасах.
5. Тщательное отслеживание и сокращение длительности цикла. Чем короче длительность цикла, тем ниже потребность в оборотных средствах. И так как основную долю потребности формируют запасы номенклатурных позиций класса A (по крайней мере,
в части оборотных средств в запасах сырья, НП и ГП), то управление длительностью цикла для них окупается сторицей.
Для номенклатурных позиций класса B применяются те же меры, что и для номенклатурных позиций класса A, но реже и с большими приемлемыми допусками. Для номенклатурных позиций
класса C сформулированы следующие правила.
1. Основное правило: изделия должны быть в наличии. Будет обидно получить срыв выполнения плана сбыта или, что еще
неприятнее, производственного плана (ибо дефицит позиций класса C может сорвать планы сбыта и по позициям класса A, в которые эти изделия класса С входят как компоненты) из-за нехватки
10
дешевых номенклатурных позиций, хранение запасов которых, пусть даже превышающих объем обычных потребностей
предприятия, не влечет за собой сколько-нибудь существенный
рост издержек хранения и потребности в оборотных средствах.
Можно еще высказаться так: запасов изделий класса C может
быть больше, чем нужно, но не должно быть меньше, чем необходимо.
2. Простая фиксация данных или вообще отсутствие фиксации
данных в базе данных; возможно использование для контроля объема запасов процедуры периодического осмотра (обзора). Может применяться система с периодическим обновлением данных в системе,
либо данные номенклатурные позиции выводятся за границы MRPсистемы вообще.
3. Большие размеры партий (заказов) и большой страховой запас. Крупные партии не влекут за собой существенных затрат, связанных с хранением запасов номенклатурных позиций класса C,
поэтому имеет смысл экономить преимущественно на подготовительных издержках, заказывая по- многу.
4. Хранение на территориях, немедленно доступных для персонала, использующего эти номенклатурные позиции в производственном процессе. Это упрощает процедуру отпуска запасов в производство и устраняет лишнюю бюрократическую бумажную работу, также влекущую за собой определенные затраты.
5. Редкий подсчет запасов (раз в год или в полгода) с большими
приемлемыми допусками.
Порядок выполнения АВС-анализа
1. Определить объекты анализа: клиент, поставщик, товарная
группа/подгруппа, номенклатурная единица, т. п.
2. Определить параметр, по которому будет проводиться анализ
объекта. Это чаще всего: cредний товарный запас, р.; объем продаж,
р.; доход, р.; количество единиц продаж, шт.; количество заказов,
шт. и т. п.
3. Отсортировать объекты анализа в порядке убывания значения
параметра.
4. Определить группы А, В и С.
Для определения принадлежности выбранного объекта к группе
необходимо:
– рассчитать долю параметра от общей суммы параметров выбранных объектов;
11
Рис. 1.1. Пример АВС-классификации (начало)
Рис. 1.1 (конец)
12
– рассчитать эту долю с накопительным итогом;
– присвоить значения групп выбранным объектам.
Рекомендуется следующее распределение [6]:
– группа А – объекты, сумма долей с накопительным итогом которых составляет первые 50% от общей суммы параметров;
– группа В – следующие за группой А объекты, сумма долей
с накопительным итогом которых, составляет от 50 до 80% от общей суммы параметров;
– группа С – оставшиеся объекты, сумма долей с накопительным
итогом которых составляет от 80 до 100% от общей суммы параметров.
На рис. 1.1 приведен пример расчета в MS Excel АВС-классификации поставщиков в режиме показа формул, а на рис. 1.2 – результаты расчета и график.
Сгруппировав товар по одному параметру, сопоставьте полученный результат с другими параметрами. Группа С может приносить
20% дохода, составлять 50% товарного запаса и занимать 80% площади склада.
Рис. 1.2. Вид АВС-зависимости
13
1.2. Методика проведения XYZ-анализа
Если принцип анализа АВС – разделение позиций на три группы
по степени вклада в конечный результат, то принцип дифференциации ассортимента в XYZ-анализе другой: ассортимент делится на
три группы в зависимости от степени равномерности спроса и точности прогнозирования.
В группу X включают товары, спрос на которые равномерен.
Объем реализаций по группе X хорошо предсказуем. В группу Y
включают товары с колеблющимся спросом, например из-за сезонных колебаний. Возможности прогнозирования – средние. В группу Z включают товары, спрос на которые возникает эпизодически. Основная идея XYZ-анализа состоит в группировании объектов анализа по мере однородности анализируемых параметров
(по коэффициенту вариации). Формула для расчета коэффициента
вариации:
n
å (xi - x)2 / n
V=
i=1
x
´100%, (1.1)
где хi – значение параметра по оцениваемому объекту за i-й период;
x — среднее значение параметра по оцениваемому объекту анализа;
n – число периодов.
Значение квадратного корня есть не что иное, как стандартное
отклонение вариационного ряда. Чем больше значение стандартного отклонения, тем дальше от среднеарифметического значения
находятся анализируемые значения. Стандартное отклонение –
это абсолютная мера рассеивания вариантов ряда. Если стандартное отклонение равно 20, то при среднеарифметических значениях
100 и 100 000 это будет иметь совершенно разный смысл. Поэтому
при сравнении вариационных рядов между собой используют коэффициент вариации. Коэффициенты вариации 20 и 0,2% позволяют понять, что во втором случае значения анализируемых параметров значительно меньше отличаются от среднеарифметического
значения.
Данный метод анализа имеет смысл, если количество анализируемых периодов больше трех, чем больше количество периодов,
тем более показательными будут результаты.
14
Порядок проведения XYZ-анализа
1. Определить объекты анализа: Клиент, Поставщик, Товарная
группа/подгруппа, Номенклатурная единица, и т. п.
2. Определить параметр, по которому будет проводиться анализ
объекта: cредний товарный запас, р.; объем продаж, р.; доход, р.;
количество единиц продаж, шт.; количество заказов, шт., и т. п.
3. Определить период и количество периодов, по которым будет
проводиться анализ: неделя, декада, месяц, квартал/сезон, полугодие, год.
4. Определить коэффициент вариации (1.1) для каждого объекта
анализа.
Пример формулы подкоренного выражения =((C3–G3)^2+(D3–
G3)^2+(E3–G3)^2)/3, затем извлечение корня и деление на среднее
значение: =H3 ^ 0,5/G3.
Следует обратить особое внимание на объекты анализа, у которых есть периоды с нулевыми значениями. Их либо исключают из
анализа, либо изменяют формулу расчета коэффициента вариации.
В MS Excel есть стандартные формулы: =КВАДРОТКЛ (ряд
до 30 значений) – это числитель подкоренного выражения.
Вся формула примет вид: =(КВАДРОТКЛ(C3:E3)/СРЗНАЧ
(C3:E3))^0,5/СРЗНАЧ(C3:E3) и =ДИСПР (ряд до 30 значений) – это
все подкоренное выражение. Возможные варианты формул:
и
=ДИСПР(C3:E3) ^ 0,5/СРЗНАЧ(C3:E3)
=СТАНДОТКЛОНПА(C3:E3)/СРЗНАЧ(C3:E3)
Если в ячейке забит нуль, то эта ячейка учитывается как значимая. Если ячейка пустая, то она не учитывается в расчете. Если
товар появился в анализируемый период, то ячейку можно сделать
пустой и тогда в расчет попадут только нужные периоды. Другими
словами, появляется возможность, не переписывая всю формулу,
изменять значение n (количество периодов).
Удобно, для справки, добавить ячейку с формулой =СЧЁТ(D3:F3)
и получить справочную информацию о том, по скольким периодам
рассчитано значение данного коэффициента вариации.
5. Отсортировать объекты анализа по возрастанию значения коэффициента вариации.
6. Определить группы X, Y и Z.
Рекомендуемое следующее распределение [6]:
– группа X – объекты, коэффициент вариации, значение по которым не превышает 10%;
15
16
Рис. 1.3. Пример с формулами
– группа Y – объекты, коэффициент вариации по которым составляет 10–25%;
– группа Z – объекты, коэффициент вариации по которым превышает 25%.
На рис. 1.3 приведен фрагмент файла примера с формулами, а на
рис. 1.4 и 1.5 – результаты и график.
Рис. 1.4. Результаты
Рис. 1.5. Вид XYZ-зависимости
17
В лабораторной работе предлагается изучить АВС- и XYZанализы на собственном примере (около 30 товарных позиций или
поставщиков). Студенты, специальности которых связаны с программированием, разрабатывают программу АВС-, XYZ-анализа
на языке высокого уровня. Примерный вид интерфейса приведен на
рис. 1.6–1.8. Студенты экономических специальностей выполняют
работу в MS Excel, следуя шагам приведенной методики.
Рис. 1.6. Окно программы (заданы: путь к файлу с данными,
период и цветовые настройки)
Рис. 1.7. Графический вывод результата (АВС-анализ)
18
Рис. 1.8. Графический вывод результата (XYZ-анализ)
19
Лабораторная работа № 2
Задачи размещения производства
Цель работы: ознакомление с различными ме­тодами определения местоположения производства, в частности распредели­
тельного склада на обслуживаемой территории; создание программы, решающей поставленные задачи.
2.1. Метод анализа иерархий при оценке альтернатив
Размещение связано с нахождением наилучших географических
точек для разных элементов цепи поставок. Выбор местоположения
предприятия является стратегическим решением, которое сказывается на деятельности фирмы в течение многих лет, поэтому для принятия решения необходимо учесть множество факторов. Приведем
некоторые из них:
1. Расстояние до других предприятий.
2. Операционные издержки.
3. Поставщики.
4. Арендная плата.
5. Удобство для персонала.
6. Ставки заработной платы.
7. Конкуренты.
8. Налоги.
9. Инфраструктура.
10. Отношение к собственности.
11. Политическая ситуация и др.
Первые восемь факторов можно оценить, другие невозможно
представить в числовом виде. В таких случаях для принятия решения может быть применен метод взвешивания, основанный на
балльной оценке. Однако суждения управленцев не всегда состоятельны, а операция назначения весов, принципиально определяющая точность результатов, относится к весьма трудной операции
для эксперта [9]. Подобные задачи относятся к выбору лучшей из
ряда альтернатив (в нашем случае – вариантов местоположения)
в условиях неопределенности. Понятия «относительная значимость
критериев», «значимость критериев по альтернативам» по – сути
являются нечеткими множествами. Координаты соответствующих
функций принадлежности (они же весовые коэффициенты) могут
быть определены на основе применения систематической процедуры метода анализа иерархий [8]. Данный подход является весьма
20
общим при выборе наилучших альтернатив, поэтому рассмотрим
его более подробно.
Исходной информацией для названной процедуры являются экспертные парные сравнения (достаточно одного эксперта). Для каждой пары элементов эксперт оценивает преимущество одного элемента над другим по отношению к свойству нечеткого множества.
Число вопросов (n · n – n)/2. Результатом опроса является матрица A = [aij]i, j = 1, n, где aij – уровень преимущество элемента ui над uj
(i, j = 1, n), определяемый по девятибалльной шкале отношений:
– 1 – если отсутствует преимущество элемента ui над элементом uj;
– 3 – если имеется слабое преимущество ui над uj;
– 5 – если имеется существенное преимущество ui над uj;
– 7 – если имеется явное преимущество ui над uj;
– 9 – если имеется абсолютное преимущество ui над uj;
– 2, 4, 6, 8 – промежуточные сравнительные оценки, если выбор между двумя соседними нечетными числами вызывает затруднение.
Матрица парных сравнений является диагональной (aii = 1,
i = 1, n) и обратно симметричной (aij = 1/aji, i, j = 1, n).
Степени принадлежности (они же коэффициенты значимости) принимаются равными соответствующим координатам собственного вектора W = {wi}, i = 1, n матрицы парных сравнений:
µ(ui) = wi, i = 1, n.
Собственный вектор находится из следующей системы уравнений:
A · W = λmax W,
w1 + ... + wn = 1,
где λmax – максимальное собственное значение матрицы A.
Найденные векторы весовых коэффициентов матрицы нормируют к сумме элементов.
Отклонение λmax от n может служить мерой несогласованности парных сравнений эксперта (индекс согласованности:
ИС = (λmax – n)/(n – 1)). В табл. 2.1 приведены средние согласованности для случайных матриц разного порядка [8].
Если разделить ИС на число, соответствующее случайной согласованности матрицы того же порядка, получим отношение согласованности (ОС). Допустимо, если величина ОС не превышает 10%
(иначе надо проверить свои суждения).
21
Таблица 2.1
Средние согласованности
Размер
матрицы
2
3
4
5
6
7
8
9
10
Случайный
индекс
0
0,58
0,9
1,12
1,24
1,32
1,41
1,45
1,49
Таким образом, алгоритм выбора местоположения производства
следующий:
1. Построить матрицу парных сравнений для m локальных критериев и с учетом расчета ИС и ОС определить нормированный вектор W = {wj}, j = 1, m.
2. Построить матрицы парных сравнений для n альтернатив
местоположения по каждому критерию и аналогично найти матрицу V = {vij}, i = 1, n, j = 1, m, составленную из векторов по описанной
процедуре.
3. Выбрать лучшую альтернативу j как наибольшее значение
свертки
n
Fj = å wivij .
i=1
При выполнении лабораторной работы на основе описанной методики ранжировать три альтернативных варианта расположения
предприятия по пяти критериям из списка, приведенного в начале лабораторной работы. Для расчетов следует использовать один из
доступных математических пакетов (Mathcad, Matlab, Maple и т. д.).
В процессе расчетов самостоятельно контролируется величина индексов согласованности (ИС, ОС).
Рассмотрим следующий пример.
Пусть имеем задачу – выбрать местоположение оптового предприятия.
1. Альтернативы: площадки А, В, С, D.
2. Критерии: расстояние до других предприятий, операционные
издержки, поставщики.
Проиллюстрируем расчеты в математическом пакете Maple (v. 11).
В Приложении 1 приведен листинг Maple-программы и результаты
(без промежуточных вычислений). Смысл операций ясен из текста
программы. Было получено следующее ранжирование критериев
(табл. 2.2) и альтернатив (табл. 2.3–2.6).
22
Таблица 2.2
Ранжирование критериев
Расстояние до других предприятий
Операционные
издержки
Поставщики
0,65
0,22
0,13
Таблица 2.3
Ранжирование альтернатив по 1-му критерию
А
0,04
B
0,13
C
0,27
D
0,56
Таблица 2.4
Ранжирование альтернатив по 2-му критерию
А
0,04
B
0,43
C
0,22
D
0,3
Таблица 2.5
Ранжирование альтернатив по 3-му критерию
А
0,65
B
0,27
C
0,24
D
0,44
Таблица 2.6
Итоговый рейтинг альтернатив
А
0,11
B
0,21
C
0,13
D
0,04
Можно сделать вывод, что альтернатива D – наилучшая.
Варианты заданий
Номер
варианта
Число
площадок
Номера критериев
1
2
3
4
5
6
7
8
3
4
5
3
4
5
4
4
1, 2, 3, 4
3, 5, 7
2, 4, 6
4,8, 10
6, 7, 9, 11
5, 8,10
1,4, 7, 10
1, 2, 5, 7, 9, 11
23
2.2. Определение местоположения распределительного центра
Рассмотрим следующую частную задачу размещения. Пусть требуется определить расположение распредели­тельного центра на обслуживаемой территории, например, единственного торгового дома,
обслуживающего несколько магазинов. Аналогичная задача может
возникнуть и при выборе места участка внутри предприятия.
Метод центра тяжести
На территории района имеется n потребителей. Методом определения центра тяжести грузопотоков (центра тяжести по весу) найти ориентировочное место для расположения склада, снабжающего
потребителей.
В таблице c вариантами заданий приведены координаты обслуживаемых мага­зинов (в прямоугольной системе координат), а также их месяч­ный грузооборот.
Координаты центра тяжести грузовых потоков (Хскл, Yскл),
т. е. точки, в окрестностях которой может быть размещен рас­
пределительный склад, определятся по формулам:
n
å wi xi
Xñêë = i=1
n
å wi
i=1
n
å wi yi
; Yñêë = i=1
n
,
å wi
i=1
где wi – грузооборот i-го потребителя (объем поставляемой продукции за период времени); xi, yi – координаты i-го потребителя; п –
число потребителей.
Найденное решение представляет собой точку, в которой сбалансированы объемы отправок во все пункты назначения.
Другой вариант метода центра тяжести (по расстоянию) дает
координаты точки, от которой сумма расстояний до всех пунктов
минимальна. В основе этого подхода лежит допущение, что транспортные расходы являются функцией исключительно расстояния.
Поскольку решение в этом случае нельзя получить вычислением
средневзвешенных координат по каждой оси, задачу решают путем
итераций. Очевидно, что недостатком подхода является пренебрежение весом и временем.
Очевидным недостатком гравитационных методов является то,
что точка территории, обеспечивающая минимум транспорт­ной
24
работы по доставке может оказаться непрактичной, например, на
вершине горы или в море. Поэтому необходимо сначала определить
доступные места размещения, а затем, используя метод взвешивания, выбрать наилучший вариант. При этом необходимо оценить
транспортную доступ­ность местности, размер и конфигурацию возможного участка, а также учесть планы местных органов власти
в отношении на­меченной территории.
Применение описанного метода имеет ограничение. На модели
расстояние от пункта потребления материального потока до места
размещения распределительного центра учитыва­ется по прямой.
В связи с этим моделируемый район должен иметь развитую сеть дорог, так как в противном случае будет нарушен основной принцип
моделирования – принцип подобия модели и моделируемого объекта.
Метод пробной точки
В случае прямоугольной конфигурации сети дорог применяют
также метод пробной точки [1], в которой последовательно проверяют левый и правый грузооборот потребителей, расположенных на
всем участке обслуживания слева и справа от пробной точки. Точка,
где эти грузообороты будут сбалансированы по обоим координатным
осям, принимается за координаты распределительного центра.
Метод решения в оптимизационной постановке
Рассмотрим метод определения координат склада в оптимизационной постановке. Оптимальное размещение может быть найдено
также по следующему алгоритму. Пусть есть n поставщиков (или
потребителей) с координатами (ai, bi) и каждый из них характеризуется объемом спроса wi (объемом поставок) на продукт. Необходимо
найти координаты распределительного склада (x, y) такие, что
n
P(x, y) = å wi (x - ai )2 + (y - bi )2 ® min.
i=1
Заметим, что отличие от метода центра гравитации, рассмотренного выше, заключается в том, что данный способ сформулирован
как классическая оптимизационная задача, а расстояния между
складом и центрами спроса определяются по кратчайшему расстоянию, а не по осям координат.
Отметим, что если необходимо выбрать местоположения двух
и более распределительных центров, через которые осуществляется
25
доставка от поставщиков потребителям, задача существенно усложняется. В этом случае задачу определения наилучшего варианта размещения центров, доставляющего минимум суммарных
издержек, решают в процессе итераций с использованием комбинации рассматриваемых здесь методов с решением транспортной
задачи (см. лабораторную работу № 9).
Варианты заданий для метода центра тяжести
№ п/п
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
26
Координата X, км
Координата Y, км
Номера вариантов
1 2 3 4
1 2 3 4
12 9 11 10
10 12 9 8
28 22 24 20
41 39 38 46
52 47 57 50
59 56 57 61
37 31 35 30
27 25 23 26
64 60 61 65
34 32 30 35
69 63 62 70
20 18 22 25
83 80 78 82
29 30 27 31
112 107 105 102
45 48 42 48
Номера вариантов
5 6 7 8
5 6 7 8
13 10 12 10
10 12 9 8
28 22 24 20
41 39 38 46
52 47 57 50
59 56 57 61
37 31 35 30
27 25 23 26
64 60 61 65
34 32 30 35
69 63 62 70
20 18 22 25
83 80 78 82
29 30 27 31
112 107 105 102
45 48 42 48
Номера вариантов
9 10 11 12
9 10 11 12
12 9 11 10
10 12 9 8
28 22 24 20
41 39 38 46
52 47 57 50
59 56 57 61
37 31 35 30
27 25 23 26
64 60 61 65
34 32 30 35
69 63 62 70
20 18 22 25
83 80 78 82
29 30 27 31
112 107 105 102
45 48 42 48
Грузооборот, т/мес.
1 2 3 4
12 13 14 15
8 8 9 10
21 22 23 25
7 8 9 11
11 12 13 14
21 25 27 28
46 47 48 50
31 33 34 36
5 6 7 8
12 13 14 15
8 8 9 10
21 22 23 25
7 8 9 11
11 12 13 14
21 25 27 28
46 47 48 50
31 33 34 36 9 10 11 12
12 13 14 15
8 8 9 10
21 22 23 25
7 8 9 11
11 12 13 14
21 25 27 28
46 47 48 50
31 33 34 36
Окончание
№ п/п
Координата X, км
Координата Y, км
13 14 15 16
13 14 15 16
13 14 15 16
1
12 9 11 10
10 12 9 8
12 13 14 15
2
28 22 24 20
41 39 38 46
8 8 9 10
Грузооборот, т/мес.
Номера вариантов
3
52 47 57 50
59 56 57 61
21 22 23 25
4
37 31 35 30
27 25 23 26
7 8 9 11
5
64 60 61 65
34 32 30 35
11 12 13 14
6
69 63 62 70
20 18 22 25
21 25 27 28
7
83 80 78 82
29 30 27 31
46 47 48 50
8
112 107 105 102
45 48 42 48
31 33 34 36 номера вариантов
17 18 19 20
17 18 19 20
17 18 19 20
1
12 9 11 10
10 12 9 8
12 13 14 15
2
28 22 24 20
41 39 38 46
8 8 9 10
3
52 47 57 50
59 56 57 61
21 22 23 25
4
37 31 35 30
27 25 23 26
7 8 9 11
5
64 60 61 65
34 32 30 35
11 12 13 14
6
69 63 62 70
20 18 22 25
21 25 27 28
7
83 80 78 82
29 30 27 31
46 47 48 50
8
112 107 105 102
45 48 42 48
31 33 34 36 Студенты экономических специальностей выполняют задание по определению местоположения склада гравитационным методом и методом решения в оптимизационной постановке (минимизации взвешенной суммы кратчайших расстояний) в таблице
MS Excel.
На рис. 2.1 приведен пример решения задачи в MS Excel гравитационным методом и методом пробной точки, а формульная ее
часть – на рис. 2.2.
Для решения задачи в оптимизационной постановке используем исходные данные (см. рис. 2.1): координаты потребителей (ai,
bi) и вектор весов wi (грузооборот). В ячейку G2 внесем формулу
27
слагаемого для нашей целевой функции. Размножив формулы
в G10, поместим формулу целевой функции и используем средство – Поиск решения (задача нелинейная, минимизация методом
Ньютона). Изменяемые ячейки E2 и F2 соответствуют искомым координатам склада (x, y). На рис. 2.3 приведены результаты: координаты x ≈ 76 км, y ≈ 31 км.
Построим поверхность целевой функции. На рис. 2.4 показан
принцип ее построения. Сначала задаемся шагом, к примеру, равным 5 км по осям координат, затем вносим формулу для функции.
Можно заметить, что минимум достаточно пологий и можно скорректировать точку расположения склада на основе других соображений.
Студенты специальности 230104 выполняют задание на языке
программирования высокого уровня. Фрагменты листингов программ приведены в Приложении 2. На рис. 2.5 приведен пример интерфейса (формы ввода исходных данных).
Рис. 2.1. Пример решения задачи в MS Excel
28
29
Рис. 2.2. Формульная часть решения задачи
Рис. 2.3. Иллюстрация к решению задачи
в оптимизационной постановке
Рис. 2.4. Построение поверхности целевой функции
30
Рис. 2.5. Вид интерфейса
31
Лабораторная работа № 3
Контроль в сфере закупочной деятельности
и принятии решения по размещению заказов
Цель работы: ознакомление с методами кон­троля процесса поставки товаров, а также с методом использования результатов контроля для принятия ре­шения о продлении договора с поставщиком.
3.1. Выбор поставщика
Выбор поставщика – одна из важнейших задач логистики закупок. Для выбора поставщиков в большинстве случаев применяется
рейтинговая оценка их соответствия критериям/факторам. Один из
возможных наборов таких факторов приведен ниже:
1. Надежность поставки.
2. Гарантии качества.
3. Производственные мощности.
4. Цены.
5. Местоположение.
6. Технический потенциал.
7. Финансовое положение.
8. Возможность компромиссов.
9. Наличие информационной системы связи и отработки заказов.
10. Послепродажный сервис.
11. Репутации и роль в своей отрасли.
12. Деловая инициативность.
13. Управление и организация.
14. Контроль процессов.
15. Отношение к покупателю.
16. Имидж.
17. Оформление товара (паковка).
18. Трудовые отношения.
19. Деловой опыт и история взаимоотношений.
20. Вспомогательная литература и инструкции.
21. Взаимность выгод и интересов.
Системе установленных критериев может отвечать несколько поставщиков. В этом случае необходимо их ранжировать, опираясь на
влияние непосредственных контактов с представителями поставщиков. Окончательный выбор поставщика производится лицом,
принимающим решение в отделе логистики (закупок) и, как правило, не может быть полностью формализован.
32
Приведем пример расчета рейтинга поставщика. Допустим, что
предприятию необходимо закупить товар А, дефицит которого недопустим. Соответственно, на первое место при выборе поставщика будет поставлен критерий надежности поставки. Значимость ос-тальных
критериев, установленная, так же как и значимость первого, экспертным путем сотрудниками службы снабжения, приведена в табл. 3.1.
Таблица 3.1
Пример расчета рейтинга поставщика
Критерий
выбора
поставщика
Надежность
поставки
Цена
Качество
товара
Вес
критерия
Оценка критерия
по десятибалльной шкале
Произведение веса
критерия на оценку
По­став­ По­став­ По­став­ По­став­ По­став­ По­став­
щик
щик
щик
щик
щик
щик
№3
№2
№1
№3
№2
№1
0,30
7
5
9
2,1
1,5
2.7
0,25
0,15
6
2
3
1,5
0,5
0,75
8
6
8
1,2
0,9
1,2
0,15
4
7
2
0,6
1,05
0,3
0,10
7
7
2
0,7
0,7
0.2
Финансовое
состояние поставщика
0,05
4
3
7
0,2
0,15
0,35
ИТОГО
1,00
XX
XX
XX
6,3
4,8
5,5
Условия платежа
Возможность
внеплановых
поставок
Итоговое значение рейтинга определяется путем суммирования
произведений значимости критерия на его оценку для данного поставщика. Рассчитывая рейтинг для разных поставщиков и сравнивая полученные значения, определяют наилучшего партнера как одну из возможных альтернатив. Данный подход широко применяется
в задачах принятия решений и называется методом взвешивания.
Следует отметить, что сами по себе рейтинги создают видимость научной точности, хотя они не более точны, чем те предпосылки, на которых они строятся. Часто на область деятельности поставщика влияют те обстоятельства, которые находятся вне поля зрения покупателя.
Расчет, проведенный в табл. 3.1, показывает, что таким партнером является поставщик № 1 и именно с ним следует продлить срок
действия договора.
33
Для окончательного принятия решения может потребоваться более глубокий анализ, например учет транспортных и других расходов. Пусть имеются две фирмы (А и В), производящие одинаковую
продукцию, одинакового качества. Обе фирмы известны и надежны. Недостаток фирмы А, заключается в том, что она расположена
от потребителя на 200 км дальше, чем фирма В (расстояние до фирмы А – 500 км, до фирмы В – 300 км). С другой стороны, товар, поставляемый фирмой А, пакетирован на поддоне и подлежит механизированной разгрузке. Фирма В поставляет товар в коробках, которые необходимо выгружать вручную. Тариф на перевозку груза на
расстояние 500 км – 0,5 у. е./км. При перевозке груза на расстояние
300 км тарифная ставка выше и составляет 0,7 у. е./км. Время выгрузки пакетированного груза – 30 мин, непакетированного – 10 ч.
Часовая ставка рабочего на участке разгрузки – 6 у. е.
Если принять во внимание лишь транспортные расходы, то предпочтение следует отдать фирме В. Однако с учетом стоимости погрузочно-разгрузочных работ этот вариант оказывается менее экономичным, чем поставка с фирмы А (табл. 3.2). Таким образом, при прочих
равных условиях продукцию выгоднее закупать у поставщика А, поскольку это дает экономию в сумме 17 у. е. в расчете на одну поставку.
Таблица 3.2
Расчет совокупных расходов, связанных с поставкой товаров
Наименование
показателя
Фирма А
Фирма В
Транспортные
расходы
0,5 у. е./км × 500 км =
= 250 у. е.
0,7 у. е./км × 300 км =
= 210 у. е.
Расходы
на разгрузочные работы
6 у. е./ч × 0,5 ч = 3 у. е.
6 у.е./ч × 10 ч = 60 у. е.
253 у. е.
270 у. е.
Всего расходов
В нашем примере более высокий рейтинг поставщика № 1 свидетельствовал о его предпочтительности. Однако для расчета рейтинга может использоваться и иная система оценок, при которой более высокий рейтинг свидетельствует о большем уровне негативных
качеств поставщика (например, если в рейтинге участвует уровень
цен). В этом случае пред­почтение следует отдать тому поставщику,
который имеет наи­меньший рейтинг. Система оценки критериев
в предлагаемом ниже задании как раз и основана на негативных характеристиках работы поставщиков.
34
При решении задачи выбора поставщика необходимо учитывать
не только на его нынешнее состояние, но и на динамику показателей его работы. Успешное в прошлом предприятие в силу быстро меняющейся экономической среды может превратиться в убыточное
и наоборот. В этой связи необходимо отслеживать и накапливать
информацию, необходимую для прогнозирования изменений качественных показателей работы потенциальных поставщиков. Последнее, как правило, реализовано в современных CRM-системах
(см., например, [11]).
Поскольку критерии выбора в динамике могут как увеличиваться, так и уменьшаться, интересует такой показатель, как нестабильность критерия, который может быть определен как
rij = 1 – σij /aij,
где aij – прогнозный уровень i-го локального критерия для j-го поставщика; σij – среднеквадратическое отклонение прогноза i-го критерия для j-го поставщика.
Иначе говоря, σij – корень из остаточной дисперсии (средней от
суммы квадратов остатков (отклонений)), т. е. квадратов разностей
фактических и прогнозных значений).
Зная прогнозные значения критериев, характеристики их нестабильности, а также весовые коэффициенты критериев wi, можно записать аддитивную свертку в виде
n
Fj = å wi rij ai ,
i=1
минимум которой по j позволяет определить лучшего поставщика.
3.2. Выбор поставщика с учетом
динамики показателей его работы
В лабораторной работе предлагается выбрать поставщика методом взвешивания исходя из минимального значения отрицательных качеств [1].
Пусть некоторая фирма в течение двух лет получала товары А
и В от двух поставщиков Р1 и Р2, однако было принято решение заключить долгосрочный договор только с одним из них.
В табл. 3.3–3.5 приведены данные о динамике показателей их
работы.
35
Таблица 3.3
Динамика цен на поставляемые товары
Поставщик
Объем поставки, ед./год
Год
товара А
товара В
товара А
товара В
2000
1000
10
5
1
Р1
Р2
Цена за единицу
2
1200
1200
11
6
1
9000
6000
9
4
2
7000
10000
10
6
Таблица 3.4
Динамика поставки бракованной продукции
Поставщик
Р1
Р2
Год
Объем поставки
бракованной продукции, ед./год
1
75
2
120
1
300
2
425
Таблица 3.5
Динамика задержек поставок
Поставщик
Р1
Р2
Год
Количество поставок, шт.
Всего опозданий, дней
1
8
28
2
7
35
1
10
45
2
12
36
Будем считать, что в условиях инфляции изменения цен могут
происходить только в сторону увеличения. Отметим также, что по
представленным показателям никак нельзя отдать предпочтение
ни одному из поставщиков: одни показатели улучшаются, а другие
ухудшаются.
По табл. 3.4 так же трудно отдать предпочтение одному из поставщиков: хотя у поставщика Р1 брака значительно меньше, чем
у поставщика Р2, но динамика этого показателя у него значительно хуже.
Методом экспертных оценок были определены весовые коэффициенты критериев сравнения поставщиков: цена – 0,5, качество – 0,3,
36
надежность поставки – 0,2. В данном случае надежность поставки
имеет минимальный вес, так как товары А и В не требуют бесперебойного пополнения.
Темп роста цены на i-ю разновидность товара у j-го поставщика:
Тцij = Cij2/Cij1 · 100,
где Cij2 – цена i-го товара у j-го поставщика во втором году; Cij1 – цена i-го товара у j-го поставщика в первом году.
Доля i-го товара в общем объеме поставок j-го поставщика:
dij = (Sij/ΣSij) = GijCij/ΣGijCij,
где Sij – сумма, на которую поставлен товар i-го вида j-м поставщиком; Gij – объем поставки товара i-го вида j-м поставщиком; ΣSij –
сумма, на которую поставлены все товары j-м поставщиком.
Средневзвешенный темп роста цен у j-го поставщика:
Тцj = SТцijdij.
В условиях данной задачи для первого поставщика по товару А
и В соответственно
ТцA1 = 11/10 · 100 = 110%, ТцB1 = 6/5 · 100 = 120%.
Для второго поставщика по товару А и В соответственно
ТцA2 = 10/9 · 100 = 111%, ТцB2 = 6/4 · 100 = 150%.
Доля товара вида А в общем объеме поставок первого поставщика
d1A = 1200 · 11/(1200 · 11 + 1200 · 6) = 0,65.
Доля товара вида В в общем объеме поставок первого поставщика
d1B = 1200 · 6/(1200 · 11 + 1200 · 6) = 0,35.
Доля товара вида А и доля товара B в общем объеме поставок второго поставщика рассчитываются аналогично и равны d2A = 0,46
и d2B = 0,54 .
Тогда средневзвешенный темп роста цен у первого поставщика
Тц1 = 110 · 0,65 + 120 · 0,35 = 113,5%.
Средневзвешенный темп роста цен у второго поставщика
Тц1 = 111 · 0,54 + 150 · 0,46 = 128,9%.
Темп роста поставок бракованной продукции j-м поставщиком:
Тбj = (dб2j /dб1j) × 100,
37
где dб1j – доля бракованной продукции j-го поставщика в первый
год поставок; dб2j – доля бракованной продукции j-го поставщика
во второй год поставок.
Для первого поставщика
dб11 = 75/(2000 + 3000) · 100 = 2,5%,
dб12 = 120/(1200 + 1200) · 100 = 5,0%,
Тб1 = 5/2,5 · 100 = 200%.
Для второго поставщика аналогично получим
dб21 = 2,0%; dб22 = 2,5%; Тб2 = 80%.
Темп роста средней задержки поставок:
Тз.п.= (Tср2/Tср1) · 100,
где Тср1 и Тср2 – среднее время опоздания поставки в первом и втором году соответственно.
Среднее время опоздания определяется частным от деления общего числа дней опоздания на число поставок.
В данном случае для первого поставщика
Tср12 = 35/7 = 5; Tср11 = 28/8 = 3,5; Tз.п1 = 5/3,5 · 100 = 143%.
Для второго поставщика аналогично получим
Tср22 = 4,5; Tср21 = 3,0; Tз.п2 = 150%.
Результаты расчетов сведены в табл. 3.6
Таблица 3.6
Расчет рейтинга поставщика
Показатель
Весовой
коэффициент
Оценка поставщика
Произведение оценки
на весовой коэффициент
Р1
Р2
Р1
Р2
113,5
128,9
56,8
64,5
Цена
0,5
Качество
0,3
200
80
60
24
Надежность
0,2
143
150
28,6
30
145,4
118,5
Рейтинг поставщика
В данном случае темп роста показателей отражает увеличение
негативных характеристик поставщика, поэтому предпочтение,
очевидно, следует отдать тому из них, чей рейтинг ниже. В данном
38
примере предпочтение следует отдать второму поставщику благодаря более низкой цене, несмотря на большее количество брака
и большие задержки поставок.
Для студентов экономических специальностей работа выполняется в MS Excel (см. рис. 3.1–3.2). Для студентов технических специальностей 230104 работа выполняется на языке высокого уровня
(см. рис. 3.3–3.4). Листинг фрагмента программы приведен в Приложении 2.
Варианты заданий
динамика цен на поставляемые товары
Номер
поставщика
Год
Товар
1
1-й
1-й
2
Объем поставки, ед./год
Цена за единицу, р.
1 2 3 4
1 2 3 4
А
В
2500 2100 2400 2300
1200 1300 1500 1000
10 13 15 18
5 7 10 13
1-й
1-й
А
В
9000 8000 10000 12000
6000 7000 8000 9000
9 12 5 20
4 6 8 10
1
2-й
2-й
А
В
1200 1300 1500 1800
1200 1400 1600 1800
11 15 20 25
6 7 10 16
2
2-й
2-й
А
В
7000 8000 5000 2000
10000 9000 6000 3000
10 15 20 25
6 25 30 35
5 6 7 8
5 6 7 8
1
1-й
1-й
А
В
2500 2100 2400 2300
1200 1300 1500 1000
10 13 15 18
5 7 10 13
2
1-й
1-й
А
В
9000 8000 10000 12000
6000 7000 8000 9000
9 12 15 20
4 6 8 10
1
2-й
2-й
А
В
1200 1300 1500 1800
1200 1400 1600 1800
11 15 20 25
6 7 10 16
2
2-й
2-й
А
В
7000 8000 5000 2000
10000 9000 6000 3000
10 15 20 25
6 25 30 35
9 10 11 12
9 10 11 12
1
1-й
1-й
А
В
2500 2100 2400 2300
1200 1300 1500 1000
10 13 15 18
5 7 10 13
2
1-й
1-й
А
В
9000 8000 10000 12000
6000 7000 8000 9000
9 12 15 20
4 6 8 10
1
2-й
2-й
А
В
1200 1300 1500 1800
1200 1400 1600 1800
11 15 20 25
6 7 10 16
2
2-й
2-й
А
В
7000 8000 5000 2000
10000 9000 6000 3000
10 15 20 25
6 25 30 35
39
Продолжение
Номер
поставщика
1
2
1
2
1
2
1
2
Год
Товар
1-й
1-й
1-й
1-й
2-й
2-й
2-й
2-й
А
В
А
В
А
В
А
В
1-й
1-й
1-й
1-й
2-й
2-й
2-й
2-й
А
В
А
В
А
В
А
В
Объем поставки, ед./год
Цена за единицу, р.
13 14 15 16
13 14 15 16
2500 2100 2400 2300
1200 1300 1500 1000
9000 8000 10000 12000
6000 7000 8000 9000
1200 1300 1500 1800
1200 1400 1600 1800
7000 8000 5000 2000
10000 9000 6000 3000
17 18 19 20
2500 2100 2400 2300
1200 1300 1500 1000
9000 8000 10000 12000
6000 7000 8000 9000
1200 1300 1500 1800
1200 1400 1600 1800
7000 8000 5000 2000
10000 9000 6000 3000
10 13 15 18
5 7 10 13
9 12 15 20
4 6 8 10
11 15 20 25
6 7 10 16
10 15 20 25
6 25 30 35
17 18 19 20
10 13 15 18
5 7 10 13
9 12 15 20
4 6 8 10
11 15 20 25
6 7 10 16
10 15 20 25
6 25 30 35
Динамика поставки товаров ненадлежащего качества
Год
1-й
2-й
1-й
2-й
1-й
2-й
40
Номер
поставщика
1
2
1
2
1
2
1
2
1
2
1
2
Количество товара ненадлежащего качества,
поставленного в течение года, ед.
1 2 3 4
65 80 95 110
220 240 260 300
100 110 140 180
425 440 470 450
5 6 7 8
61 76 90 115
210 220 250 310
110 120 150 160
418 420 465 421
9 10 11 12
67 75 85 105
215 210 244 289
96 102 130 160
418 422 465 435
Окончание
Год
Номер
поставщика
Количество товара ненадлежащего качества,
поставленного в течение года, ед.
13 14 15 16
1-й
1
2
55 75 88 120
217 222 258 299
2-й
1
2
80 87 134 156
421 434 485 457
1-й
1
2
45 85 105 121
190 243 274 290
2-й
1
2
120 146 168 178
435 450 480 460
17 18 19 20
Динамика нарушений установленных сроков поставки
Поставщик № 1
Год
Количество
поставок, шт.
Всего
опозда­ний, дн.
Поставщик № 2
Год
51 52 53 54 51 52 53 54 Количе­ство
по­ставок, шт.
Всего
опозда­ний, дн.
1 52 53 54 1 52 53 54
1-й
55 56 57 58
25 27 30 35
1-й
12 15 18 20 35 25 30 35
2-й
58 10 12 15 25 30 35 40
2-й
12 18 12 13
30 34 28 41
5 56 57 58 5 56 57 58
55 56 57 58 5 56 57 58 1-й
57 59 54 2
22 25 28 31
1-й
13 11 15 21 32 22 31 32
2-й
58 59 10 14 22 25 32 41
2-й
14 17 13 12
31 32 29 40
59 10 11 12 9 10 11 12 9 10 11 12 9 10 11 12
1-й
54 55 56 57
21 26 23 33
1-й
11 14 16 17 31 22 31 32
2-й
56 11 10 13 21 23 33 44
2-й
22 16 13 14
21 31 27 40
13 14 15 16 13 14 15 16 13 14 15 16 13 14 15 16
1-й
54 57 58 68
22 24 31 32
1-й
15 14 13 26 32 23 28 30
2-й
58 10 12 15 25 30 35 40
2-й
12 18 12 13
30 34 28 41
17 18 19 20 17 18 19 20
1-й
59 535 4 57
26 24 29 32
1-й
13 14 17 21 39 24 27 33
2-й
57 11 13 14 26 31 33 41
2-й
22 19 13 15
28 32 26 29
17 18 19 20 17 18 19 20
41
Рис. 3.1. Таблица исходных данных в Excel (начало)
Рис. 3.1 (конец)
42
Рис. 3.2. Формулы и результаты расчета
Рис. 3.3. Форма ввода исходных данных
43
Рис. 3.4. Диаграмма рейтингов
На рис. 3.1 и 3.2 приведена таблица исходных данных и результаты
решения задачи в Excel. На рис. 3.3 и 3.4 приводятся вид интерфейса и результаты решения задачи на языке высокого уровня (в данном случае на языке СИ).
44
Лабораторная работа № 4
Расчет маршрутов движения автотранспорта
в программе «Деловая карта»
Цель работы: ознакомление с методикой расчета маршрутов автотранспорта и интерфейсом программы «Деловая карта».
При составлении маршрутов клиенты обычно предъявляют
определенные требования по времени доставки товара, которые
должны быть учтены в расчетах. Кроме того, часто заказы не мо­
гут быть разбиты между двумя или более грузовиками и каждый
клиент мо­жет быть посещен только один раз. Задача состоит в составлении маршрутов таким образом, чтобы все ограничения были
соблюдены при мини­мальных общих затратах.
Программа «Деловая карта» (разработчик – ООО «Ингит») [10] предназначена для решения задач транспортной логистики. Она позволяет
оптимизировать грузотранспортные потоки путем расчета оптимальных маршрутов доставки заказов и услуг с учетом весогабаритных характеристик, временных требований, категории транспорта и других
факторов, а также особенностей организации дорожного движения.
Всего для использования программы «Деловая карта» требуется
набор из 11 таблиц, создание которых может осуществляться средствами самой «Деловой кар­ты». Все служебные таблицы служат
для хранения информации, создаваемой пользователем средствами
программы и для ее последу­ющей обработки и представления пользователю в требуемом виде.
Расчет доставки грузов производится в терминах «заказ»,
«транспорт­ное средство» (автомобиль), «пункт» и «маршрут». Раскроем эти термины.
Заказ – это задание перевезти груз из одной точки в другую. Кроме координат точек погрузки и разгрузки, заказ характеризуется
приоритетом, весом, объемом, стоимостью, типом машины, временными ограничениями на начальную и конечную точки, продолжительностью погрузки/разгрузки.
Пункт – постоянная точка, которая может использоваться по
имени для обозначения точки загрузки или доставки для заказов
или опреде­ления положения машин. При формировании заказов
из таблицы клиентов можно, например, задавать для всех заказов
в качестве начальной точки местонахождение склада, с которого загружается груз, а в качестве конечной точки каждого заказа – координаты соответствующего клиента. Таким образом, все заказы
45
будут развозиться со склада по адресам клиентов. Если за­давать
в качестве начальных точек координаты клиентов, а в качестве конечной для всех заказов – один и тот же пункт, то будет осуществляться сбор грузов с разных точек в одну, например, сбор многооборотной тары из магазинов и возврат ее владельцу.
Транспортное средство – объект, осуществляющий перевозку
заказа из точки погрузки в точку разгрузки. Характеризуется типом, грузоподъемностью, максимальной вместимостью по объему,
относительной скоростью, исходным местоположением и другими
характеристиками.
Маршрут – совокупность заказов, доставляемых одной машиной. Маршрут характеризуется временем, длиной, количеством обработанных заказов, последовательностью объезда точек загрузки
и разгрузки заказов.
Цель расчета доставки грузов – формирование маршрутов, т. е.
распределе­ние заказов по машинам и составление для каждой машины оче­редности объезда точек маршрута с указанием, в каких
точках какой заказ за­гружать или разгружать. При этом соблюдаются все требования по времени доставки, максимальной вместимости каждой машины, а выбранные суммар­ные характеристики
всех маршрутов минимизируются. Кроме того, для каж­дой машины на карте отображается путь, который она должна пройти.
Рассмотрим порядок работы в программе «Деловая карта» для
формирования допустимых маршрутов. На рис. 4.1 представлен
фрагмент сформированной таблицы заказов, в которую внесены
адреса погрузки, выгрузки, ограничения по количеству груза и по
времени его доставки по­требителям. В рассматриваемом примере
в таблицу заказов внесено 26 за­казов клиентов.
Ознакомление с интерфейсом начнем с загрузки проекта Piter.bpj.
Откроем пункт меню Данные и отметим Клиенты. Существует возможность настройки вида таблиц (рис. 4.2).
Настройте таблицы Клиентов и Доставки для пункта Заказы,
как показано на рис. 4.2.
На основании информации, заполненной в таблице заказов,
осуществ­ляется автоматический расчет маршрутов для имеющегося в распоряже­нии транспорта (рис. 4.3).
«Деловая карта» обеспечивает выбор одного из четырех способов предва­рительного расчета маршрутов. Это алгоритмы, которым
в соответствии с их свойствами присвоены следующие названия –
«Начинать с отдален­ных точек», «Выбирать попутные заказы»,
«Определять дальние направле­ния» и «Искать самые выгодные
46
Рис. 4.1. Таблицы клиентов и заказов
Рис. 4.2. Настройка таблицы Клиенты
Рис. 4.3. Таблица транспорта
47
Рис. 4.4. Вкладка параметры программы «Деловая карта»
Рис. 4.5. Первое возможное решение
(критерий «Начинать с отдаленных точек»)
48
совмещения». После предварительной раскладки заказов по машинам и оптимизации порядка их следования осу­ществляется дополнительная оптимизация путем попыток переноса зака­зов с одной
машины на другую. Установим в качестве параметра минимизации – минимизировать «Время» и воспользуемся возможностями
всех четырех алгоритмов оптимизации для формирования набора
допустимых маршрутов.
Для получения первого возможного решения задачи маршрутизации установим в качестве способа предварительного расчета маршрутов – «Начинать с отдаленных точек», задав параметры
вкладки Данные\Доставка\Параметры, как показано на рис. 4.4.
Чем больше критериев задано, т. е. чем более полно сформулированы условия, тем быстрее осуществляется расчет маршрутов. Перейдем во вкладку Маршруты, где следует нажать на кнопку Рассчитать Маршруты.
После расчета в поле представления результатов расчета маршрутов для доставки грузов появляется маршрут в виде таблицы
промежуточных пунктов для первой из машин в списке, представленном в верхнем поле панели (рис. 4.5). Для каждой из машин
в списке, для которых составлен маршрут, указана длина маршрута. Внизу окна выводятся точки строки суммарных характеристик.
На верхней строке показывается длина и время маршрута, а также
количество заказов.
Видно, что решение дает три маршрута, которыми обслужено
16 заказов, общей протяженностью 123,8 км и общими затратами
времени 13,27 ч. Заказы с номерами 2, 3, 4, 6, 10, 11, 16, 22, 23, 26
остались не обслуженными. Программа позволяет при наличии
свободного транспорта перепланировать решение задачи. Однако
в нашем случае свободных машин нет. Можно запустить имитатор,
который продемонстрирует движение машин на маршрутах по карте города.
Варианты заданий
Выполнить расчет маршрутов по вариантам.
1. На основе базы Санкт-Петербург демо.bpj выполнить расчет по
описанной методике. Найти решение задачи маршрутизации, установив в ка­честве способа предварительного расчета маршрутов –
«Выбирать попут­ные заказы». «Определять дальние направления»
и «Искать самые выгод­ные совмещения». Результаты расчета маршрутов необходимо представить в виде табл. 4.1, основанной на информации вкладки Точки. Сравнить варианты решений по величине
49
затрат, рассчитанных как произведение почасового тарифа (220 р.)
на расчетное время работы транспорта на маршруте, округленное
в большую сторону.
Таблтца 4.1
«Начинать с отдаленных точек»
Номер
маршрута
Маршрут
Автомобиль
Обслужено
заказов
Доставлено, кг
1
7-19-189-1-14
Мототележка
6
280
4:58
1100
2
24-5-1517-8-2113-20
ЗИЛ
8
1019
5:50
1320
3
12-25
«Газель»
2
378
2:38
528
Время
Затраты,
маршрута, ч
р.
На основе описанной методики выполнить задание для проектов:
2. Москва демо.bpj
3. Красноярск демо.bpj
50
Лабораторная работа № 5
Решение задач
распределения ограниченных ресурсов
Цель работы: приобретение навыков формализации и решения
задач распределения ограниченных ресурсов.
5.1. Постановка распределительных задач
Одним из основных принципов работы информационной системы производственной логистики является выявление и устранение
«узких» мест или критических ресурсов. В качестве критических
ресурсов, оказывающих влияние на эффективность производственного менеджмента, могут выступать запасы МР, НП, ГП, технологические процессы, производственные мощности и др. Остальные
(некритические ресурсы) на функционирование системы практически не оказывают существенного влияния. Поэтому, например,
управляющие фирмой не должны стремиться максимально загрузить персонал, выполняющий некритические операции.
Существуют проработанные алгоритмы, позволяющие распределять ограниченные ресурсы таким образом, чтобы максимизировать эффективность их использования (рис. 5.1). Речь идет о методах линейного программированиях (ЛП) [4, 5], в том числе, целочисленного, смешанного.
К задачам ЛП относятся задачи, в котоpых огpаничения и целевая функция линейны, напpимеp:
при
n
ìï n
üï
f (x) = ïíå ci xi ïý ® min
ïï
ïï
x
îi=1
þ
å aki xi £ bk ; k = 1, m,
(5.1)
i = 1, n,
i=1
где с – вектор оценок; x – вектор переменных; b – вектор pесуpсов;
aki – элементы матpицы коэффициентов.
Параметрами, подлежащими максимизации, могут быть, например, прибыль, качество выпускаемой продукции и т. п. В качестве параметров, подлежащих минимизации, могут выступать,
к примеру, затраты на приобретение сырья и оборудования, время
простоя оборудования и т. д.
Приведем оптимизационные постановки основных распределительных задач, возникающих при проектировании ЛС.
51
1. Рациональная организация работы парка оборудования
Исходные данные: ведутся работы N видов с помощью машин М
типов. Известны Aig – затраты времени i-й ма­шины на выполнение
единичной работы g-го вида, а также Bi – общий фонд машинного
времени для i-го типа машин. Известен также Cig – размер прибыли
на единицу работ g-го вида. Требуется найти рациональные объемы
работ Xig каждого вида, обеспечивающие при производстве работ
мак­симальную прибыль.
2. Оптимальный раскрой материалов
Исходные данные: имеется N вариантов раскроя листово­го материала заданного размера. Из этих листов необходимо получить Bi
деталей i-го типа (i = 1, ..., M). Причем Аig – количество деталей i-го
типа, получаемых из одного листа, раскроенного по g-му ва­рианту,
Cg – отходы материала от одного листа при g-м ва­рианте раскроя.
Требуется определить количество Хg листов материала, подлежащих
раскрою по g-му варианту с тем, чтобы суммарные отходы материала были бы минимальны­ми. Результат должен быть целочисленным.
3. Оптимальное распределение автомобильного транс­порта
по маршрутам
Исходные данные: имеется N марок автомобилей для перевозки материалов и прочих грузов, причем Аi – число автомобилей
i-й марки. Перевозки осуществляются по М маршрутам, Bg – плановое количество грузов, перевози­мых по g-му маршруту, Pig – объем, перевозимый автомобилем i-й марки по g-му маршруту, Cig –
эксплуатационные расходы автомобиля i-й марки при поездке
по g-му маршруту. Тре­буется определить число Xig автомобилей
i-й марки, посы­лаемых по g-му маршруту. Общие затраты на эксплуатацию автомобилей должны быть минимальными.
4. Оптимальная за­грузка производственных мощностей
Исходные данные: имеется М организаций, производя­щих взаимозаменяемую продукцию и располагающих каж­дая фондом времени Аi (i = 1, ..., M). Эти организации про­изводят N видов работ,
предусмотренных планом в объемах Вg (g = 1, ..., N). Производительность i-й организации при выполнении единицы объема g-й работы
равна Pig, а соот­ветствующие затраты равны Cig. Требуется определить Xig – время выполнения работы g-го вида i-й организаци­ей.
Общие затраты при этом должны быть минимальными.
52
5. Оптимальная рас­становка машин по объектам
Исходные данные: на N объектах ведутся работы при помощи машин (станков) М типов. Известны объемы работ Dg машин на объектах. Будем считать, что имеется достаточное количество таких машин. Фонд времени i-й машины равен А i (i = 1, .... М), причем себестоимость машинного часа работы i-й машины на g-м объекте равна Cig,
Pig – производительность i-й машины на g-м объекте. Tpeбуется определить Xig – время работы i-й машины на g-м объекте. Общая стоимость всех работ при этом должна быть минимальной.
6. Задача оптимизации вы­пуска однородной продукции
при не­скольких технологических способах
Исходные данные: N – число технологических способов выполнения K отдельных видов продукции (или работ), Cg – объем прибыли на единицу произведенной продукции, выполненной по g-й технологии, имеется также М – видов ресурсов на производство продукции с запасами Bmg по g-й технологии, Amig – расход m-го вида
ре­сурсов на производство единицы объема i-й продукции по g-й технологии. Требуется определить Xig – объемы выпуска продукции
по g-й технологии, которые обеспечивают получение макси­мальной
общей прибыли в пределах ограниченных выделен­ных ресурсов.
7. Определение оп­тимальной производственной програм­мы
при заданной технологии
Исходные данные: предприятие выпускает продукцию N видов по
заданной технологии. От реализации продукции g-го вида предприятие получает прибыль в размере Cg. При этом используется М видов
ресурсов, запасы которых равны Bi, а матрица расхода i-го вида ресурсов на единицу готовой продукции g-го вида определяется элементами Aig. Требует­ся найти Xg – объемы выпуска продукции g-го вида
при обеспечении получения максимальной общей прибыли.
8. Прикрепления потребителей к поставщикам
Исходные данные: имеется ряд поставщиков М, распола­гающих
однородной продукцией с запасами Ai, а также ряд потребителей этой продукции N с потребностями Bg. Транс­портные расходы на доставку единицы продукции от постав­щиков потребителям
представляются матрицей Cig. Требует­ся прикрепить поставщиков
к потребителям так, чтобы сум­марные транспортные расходы по доставке всей продукции всем потребителям были бы минимальны.
53
5.2. Методика решения распределительных задач ЛП
в программе MS Excel
Для того чтобы решить задачу ЛП в табличном редакторе MS
Excel, необходимо выполнить следующие действия.
1. Ввести условие задачи:
a) создать экранную форму для ввода условия задачи:
– переменных,
– целевой функции (ЦФ),
– ограничений,
– граничных условий;
б) ввести исходные данные в экранную форму:
– коэффициенты ЦФ,
– коэффициенты при переменных в ограничениях,
– правые части ограничений;
в) ввести зависимости из математической модели в экранную
форму:
– формулу для расчета ЦФ,
– формулы для расчета значений левых частей ограничений;
г) задать ЦФ (в окне «Поиск решения»):
– целевую ячейку,
– направление оптимизации ЦФ;
д) ввести ограничения и граничные условия (в окне «Поиск решения»):
– ячейки со значениями переменных,
– граничные условия для допустимых значений переменных,
– соотношения между правыми и левыми частями ограничений.
2. Решить задачу:
a) установить параметры решения задачи (в окне «Поиск решения»);
б) запустить задачу на решение (в окне «Поиск решения»);
в) выбрать формат вывода решения (в окне «Результаты поиска
решения»).
Рассмотрим пример нахождения решения для следующей одноиндексной задачи ЛП:
54
L (x) = 130,5x1 + 20x2 + 56x3 + 87,8x4 → max;
–1,8x1 + 2x2 +x3 – 4x4 = 756,
–6x1 + 2x2 + 4x3 – x4 ≥ 450,
4x1 – 1,5x2 + 10,4x3 + 13x4 ≤ 89,
xj ≥ 0, j = 1
4.
,
(5.2)
Ввод исходных данных
Создание экранной формы и ввод в нее условия задачи
Экранная форма для ввода условий задачи (5.2) вместе с введенными в нее исходными данными показана на рис. 5.2. Каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Так, например, переменным задачи (5.2) соответствуют ячейки B3 (x1), C3 (x2), D3 (x3), E3 (x4), коэффициентам ЦФ соответствуют ячейки B6 (c1 = 130,5), C6 (с2 = 20),
D6 (c3 = 56), E6 (c4 = 87,8), правым частям ограничений соответствуют ячейки H10 (b1 = 756), H11 (b2 = 450), H12 (b3 = 89) и т. д.
Ввод зависимостей из математической модели
в экранную форму
Зависимость для ЦФ. В ячейку F6, в которой будет отображаться
значение ЦФ, необходимо ввести ф о р м у л у, по которой это значение будет рассчитано. Согласно (5.2) значение ЦФ определяется выражением
130,5x1 + 20x2 + 56x3 + 87,8x4. (5.3)
Используя обозначения соответствующих ячеек в Excel (рис. 5.2),
формулу для расчета ЦФ (5.3) можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи
(B3, C3, D3, E3), на соответствующую ячейку, отведенную для коэффициентов ЦФ (B6, C6, D6, E6), т. е.
B6 × B3 + C6 × C3 + D6 × D3 + E6 × E3. (5.4)
Рис. 5.2. Экранная форма задачи (5.2) (курсор в ячейке F6)
55
Чтобы задать формулу (5.4), необходимо в ячейку F6 ввести следующее выражение и нажать клавишу «Enter»:
=СУММПРОИЗВ(B$3:E$3;B6:E6), (5.5)
где символ $ перед номером строки 3 означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится; символ «:» означает, что в формуле будут использованы
в с е ячейки, расположенные между ячейками, указанными слева
и справа от двоеточия (например, запись B6:E6 указывает на ячейки B6, C6, D6 и E6). После этого в целевой ячейке появится 0 (нулевое значение) (рис. 5.3).
На рис. 5.4 показан способ ввода формул с помощью мастера
функций.
Рис. 5.3. Экранная форма задачи (5.2)
после ввода всех необходимых формул (курсор в ячейке F6)
Рис. 5.4. Ввод формулы для расчета ЦФ в окно «Мастер функций»
56
Зависимости для левых частей ограничений. Левые части ограничений задачи (5.2) представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3,
D3, E3), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, C10, D10, E10 – 1-е ограничение;
B11, C11, D11, E11 – 2-е ограничение и B12, C12, D12, E12 – 3-е ограничение). Формулы, соответствующие левым частям ограничений,
приведены в табл. 5.1.
Таблица 5.1
Формулы, описывающие ограничения модели (1.1)
Левая часть ограничения
или
или
Формула Excel
–1,8x1 + 2x2 + x3 – 4x4
B10 · B3 + C10 · C3 +
+ D10 · D3 + E10 · E3
–6x1 + 2x2 + 4x3 – x4
B11 · B3 + C11 · C3 +
+ D11 · D3 + E11 · E3
4x1 – 1,5x2 + 10,4x3 + 13x4
или
B12 · B3 + C12 · C3 +
+ D12 · D3 + E12 · E3
=СУММПРОИЗВ(B$3:E$3;B10:E10)
=СУММПРОИЗВ(B$3:E$3;B11:E11)
=СУММПРОИЗВ(B$3:E$3;B12:E12)
Как видно из табл. 5.1, формулы, задающие левые части ограничений задачи (5.2), отличаются друг от друга и от формулы (5.5)
в целевой ячейке F6 только номером строки во втором массиве. Этот
номер определяется той строкой, в которой ограничение записано
в экранной форме. Поэтому для задания зависимостей левых частей
ограничений достаточно скопировать формулу из целевой ячейки
в ячейки левых частей ограничений. Для этого необходимо:
– поместить курсор в поле целевой ячейки F6 и скопировать в буфер содержимое ячейки F6 (клавишами «Ctrl-Insert»);
– помещать курсор поочередно в поля левой части каждого из
ограничений, т. е. в F10, F11 и F12, и вставлять в эти поля содержимое буфера (клавишами «Shift-Insert»), при этом номер ячеек во
втором массиве формулы будет меняться на номер той строки, в которую была произведена вставка из буфера;
– на экране в полях F10, F11 и F12 появится 0 (нулевое значение)
(см. рис. 5.3).
57
Проверка правильности введения формул. Для проверки правильности введенных формул производите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами. При этом на
экране рамкой будут выделяться ячейки, используемые в формуле
(рис. 5.5 и 5.6).
Рис. 5.5. Проверка правильности введения формулы
в целевую ячейку F6
Рис. 5.6. Проверка правильности введения формулы в ячейку F12
для левой части ограничения 3
58
Задание ЦФ
Дальнейшие действия производятся в окне «Поиск решения»,
которое вызывается из меню «Сервис» (рис. 5.7):
– поставьте курсор в поле «Установить целевую ячейку»;
– введите адрес целевой ячейки $F$6 или сделайте одно нажатие
левой клавиши мыши на целевую ячейку в экранной форме – это будет равносильно вводу адреса с клавиатуры;
– введите направление оптимизации ЦФ, щелкнув один раз левой
клавишей мыши по селекторной кнопке «максимальное значение».
Ввод ограничений и граничных условий
Задание ячеек переменных
В окно «Поиск решения» в поле «Изменяя ячейки» впишите
адреса $B$3:$E$3. Необходимые адреса можно вносить в поле «Изменяя ячейки» и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.
Задание граничных условий
для допустимых значений переменных
В нашем случае на значения переменных накладывается только ограничное условие неотрицательности, т. е. их нижняя граница
должна быть равна нулю (см. рис. 5.2).
Рис. 5.7. Окно «Поиск решения» задачи (5.2)
59
Рис. 5.8. Добавление условия неотрицательности переменных задачи (5.2)
Нажмите кнопку «Добавить», после чего появится окно «Добавление ограничения» (рис. 5.8).
В поле «Ссылка на ячейку» введите адреса ячеек переменных
$B$3:$E$3. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.
В поле знака откройте список предлагаемых знаков и выберите ≥.
В поле «Ограничение» введите адреса ячеек нижней границы
значений переменных, т. е. $B$4:$E$4. Их также можно ввести путем выделения мышью непосредственно в экранной форме.
Задание знаков ограничений ≤ , ≥, =
Нажмите кнопку «Добавить» в окне «Добавление ограничения».
В поле «Ссылка на ячейку» введите адрес ячейки левой части
конкретного ограничения, например $F$10. Это можно сделать как
с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.
В соответствии с условием задачи (5.2) выбрать в поле знака необходимый знак, например «=«.
В поле «Ограничение» введите адрес ячейки правой части рассматриваемого ограничения, например $H$10.
Аналогично
введите
ограничения:
$F$11>=$H$11,
$F$12<=$H$12.
Подтвердите ввод всех перечисленных выше условий нажатием
кнопки OK.
Окно «Поиск решения» после ввода всех необходимых данных
задачи (5.2) представлено на рис. 5.7.
Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных
условий, то это делают, нажав кнопки «Изменить» или «Удалить»
(см. рис. 5.7).
60
Решение задачи
Установка параметров решения задачи
Задача запускается на решение в окне «Поиск решения». Но
предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать
кнопку «Параметры» и заполнить некоторые поля окна «Параметры поиска решения» (рис. 5.9).
Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 с (более 9 ч).
Параметр «Предельное число итераций» служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не
превышающее 32 767.
Параметр «Относительная погрешность» служит для задания
точности, с которой определяется соответствие ячейки целевому
значению или приближение к указанным границам. Поле должно
содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая
точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.
Параметр «Допустимое отклонение» служит для задания допуска на
отклонение от оптимального решения в целочисленных задачах. При
указании большего допуска поиск решения заканчивается быстрее.
Рис. 5.9. Параметры поиска решения
61
Параметр «Сходимость» применяется только при решении нелинейных задач. Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применения
симплекс-метода.
Подтвердите установленные параметры нажатием кнопки «OK».
Запуск задачи на решение
Запуск задачи на решение производится из окна «Поиск решения» путем нажатия кнопки «Выполнить».
После запуска на решение задачи ЛП на экране появляется окно
«Результаты поиска решения» с одним из сообщений, представленных на рис. 5.10–5.12.
Рис. 5.10. Сообщение об успешном решении задачи
Рис. 5.11. Сообщение при несовместной системе
ограничений задачи
Рис. 5.12. Сообщение при неограниченности ЦФ
в требуемом направлении
62
Иногда сообщения, приведенные на рис. 5.11 и 5.12, свидетельствуют не о характере оптимального решения задачи, а о том, что
при вводе условий задачи в Excel были допущены о ш и б к и, не позволяющие Excel найти оптимальное решение, которое в действительности существует.
Если при заполнении полей окна «Поиск решения» были допущены ошибки, не позволяющие Excel применить симплексметод для решения задачи или довести ее решение до конца, то
после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра
«Относительная погрешность» не позволяет найти оптимальное
решение.
В окне «Результаты поиска решения» представлены названия
трех типов отчетов: «Результаты», «Устойчивость», «Пределы». Они
необходимы при анализе полученного решения на чувствительность. Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите
кнопку «OK». После этого в экранной форме появится оптимальное
решение задачи (рис. 5.13).
Допустим, что к условию задачи (5.2) добавилось требование целочисленности значений всех переменных. В этом случае описанный
Рис. 5.13. Экранная форма задачи (5.2)
после получения решения
63
выше процесс ввода условия задачи необходимо д о п о л н и т ь следующими шагами:
– в экранной форме укажите, на какие переменные накладывается требование целочисленности (этот шаг делается для наглядности восприятия условия задачи) (рис. 5.14).
– в окне «Поиск решения» (меню «Сервис» → «Поиск решения»)
нажмите кнопку «Добавить» и в появившемся окне «Добавление
ограничений» введите ограничения следующим образом (рис. 5.14):
– в поле «Ссылка на ячейку» введите адреса ячеек переменных
задачи, т. е. $B$3:$E$3;
– в поле ввода знака ограничения установите «Целое»;
– подтвердите ввод ограничения нажатием кнопки «OK».
На рис. 5.15 представлено решение задачи (5.2), к ограничениям которой добавлено условие целочисленности значений ее переменных.
Рис. 5.14. Ввод условия целочисленности переменных задачи (5.2)
Рис. 5.15. Решение задачи (5.2)
при условии целочисленности ее переменных
64
5.3. Формализация распределительных задач
производственной логистики
Цель решения распределительной задачи – отыскание оптимального распределения ресурсов по работам. Под оптимальностью
распределения может пониматься, например, минимизация общих
затрат, связанных с выполнением работ, или максимизация получаемого в результате общего дохода.
В предлагаемой ниже лабораторной работе рассматривается одноиндексная задача ЛП, представляющая собой общую распределительную задачу, которая характеризуется различными единицами измерения работ и ресурсов. Рассмотрим следующую задачу (см.
далее вариант 0 из таблицы «Варианты заданий»).
Постановка задачи
Мебельный комбинат выпускает книжные полки А из натурального дерева со стеклом, полки B1 из полированной ДСП (древесно-стружечной плиты) без стекла и полки B2 из полированной ДСП со стеклом. Габариты полок А, B1 и В2 следующие: длина 1100 (d) мм, ширина 250 (w) мм, высота 300 (h) мм (рис. 5.16). Размер листа ДСП 2 × 3 м.
При изготовлении полок А выполняются следующие работы: столярные, покрытие лаком, сушка, резка стекла, упаковка.
Все операции, производимые в ходе столярных работ и упаковки,
выполняются вручную. Полки B1 и В2 поставляются в торговую сеть
в разобранном виде. За исключением операции упаковки, все
остальные операции (производство комплектующих полки, резка
стекла) при изготовлении полок B1 и В2, выполняются на специализированных автоматах.
Трудоемкость столярных работ по выпуску одной полки А составляет 4 ч (Тр1). Производительность автомата, покрывающего полки А лаком, – 10 полок в час (Пр1), автомата, режущего
стекло – 100 стекол в час (Пp2). Сменный фонд времени автомата
для покрытия лаком – 7 ч (ФВ1), автомата для резки стекла – 7,5 ч (ФВ2).
Сушка полок, покрытых лаком, проh
исходит в течение суток в специальных сушилках, вмещающих 50 полок
w
d
(V1). На упаковку полки А требуется
4 мин (Тр2). В производстве полок заРис. 5.16. Габариты полок,
няты 40 столяров (Р1) и 14 упаковщивыпускаемых мебельным
ков (Р2).
комбинатом
65
Производительность автомата, производящего комплектующие
полок B1 и В2, равна 3 полки в час (Пр3), а его сменный фонд времени равен 7,4 ч (ФВ3), трудоемкость упаковочных работ составляет
8 мин (Тр3) для полки В1 и 10 мин (Тр4) для полки В2.
От поставщиков комбинат получает в месяц 400 листов полированной ДСП (Z1), 230 листов ДВП (древесно-волокнистой плиты)
(Z2), а также 260 листов стекла (Z3). Из каждого листа ДВП можно
выкроить 14 задних стенок полок B1 и В2 (К1), а из каждого листа
стекла – 10 стекол (К2) для полок А и В2.
Склад готовой продукции может разместить не более 350 полок
и комплектов полок (V2), причем ежедневно в торговую сеть вывозится в среднем 40 полок и комплектов (N). На начало текущего месяца на складе осталось 100 полок (Ост), произведенных ранее. Себестоимость полки А равна 205 р. (C1), полки В без стекла –
142 р. (C2), со стеклом – 160 р. (С3).
Маркетинговые исследования показали, что доля продаж полок
обоих видов со стеклом составляет не менее 60% (Д) в общем объеме продаж, а емкость рынка полок производимого типа составляет
около 5300 шт. (V3) в месяц. Мебельный комбинат заключил договор на поставку заказчику 50 полок типа В2 (З) в текущем месяце.
Составьте план производства полок на текущий месяц. Известны
цены реализации полок: полка А – 295 р. (Ц1), полка В без стекла –
182 р. (Ц2), полка В со стеклом – 220 р. (Ц3).
Построение модели
Первый этап построения модели заключается в определении
(описании, задании, идентификации) переменных. В данной задаче
искомыми неизвестными величинами является количество полок
каждого вида, которые будут произведены в текущем месяце. Таким образом, x A – количество полок А (шт./мес.); xB1 – количество
полок В1 (шт./мес.); xB2 количество полок B2 (шт./мес.).
Второй этап построения модели заключается в построении целевой функции, представляющей цель решения задачи. В данном
случае цель – это максимизация прибыли, получаемой от продажи
полок всех видов в течение месяца. Поскольку в этой задаче прибыль может быть определена как разность между ценой (Ц1, Ц2, Ц3)
и себестоимостью (С1, С2, С3), то ЦФ имеет вид:
L(X) = (295 – 205)xA + (182 – 142)xB1 + (220 – 160)xB2 → max
(р./шт.) (шт./мес.) = (р.//мес.)
66
Третий этап построения модели заключается в задании ограничений, моделирующих условия задачи. Все ограничения рассматриваемой задачи можно разделить на несколько типов.
Ограничения по фонду времени
(с использованием трудоемкости работ)
Левая часть ограничений по фонду времени представляет собой
время, затрачиваемое на производство полок в течение месяца в количестве x А, xB1, xB2 шт. Правая часть ограничения – это фонд рабочего времени исполнителя работы (рабочего или автомата) за смену.
Неравенство (5.3) описывает ограничение по фонду времени на выполнение столярных работ. Коэффициент 4 ч/шт. (Тр1) – это время,
затрачиваемое на столярные работы при производстве одной полки
типа А (трудоемкость); 40 чел. (Р1) – это количество столяров, участвующих в производстве; 8 ч / (чел. × см.) – количество часов работы одного человека в течение смены; 1 см./дн. – количество смен
в одном рабочем дне; 22 дн./мес. – количество рабочих дней в месяце
(см. табл. 5.1):
4xA ≤ 40 · 8 · 1 · 22 (5.3)
(ч/шт.) · (шт/мес.) ≤ чел.· (ч/(чел. см.) · (см./дн.) · (дн./мес.),
что соответствует балансу размерностей: ч/мес ≤ ч/мес.
Важным моментом проверки правильности составления ограничений является проверка совпадения единиц измерения левой и
правой частей ограничения. В ограничении (5.3) левая и правая части измеряются в часах, потраченных на выпуск продукции в течение месяца.
Аналогично записывается ограничение (5.4) по фонду времени
на упаковочные работы, в котором 14 чел. (Р2) – это количество упаковщиков:
4/60xA + 8/60xB1 + 10/60xB2 ≤ 40 · 8 · 1 · 22, (5.4)
где правая часть совпадает с неравенством (5.3), а левая записывается как
(мин/шт.)/(мин/ч) · (шт./(мес.) = ч/мес.
Ограничения по фонду времени
(с использованием производительности работ)
Неравенство (5.5) описывает ограничение по фонду времени на
покрытие лаком полок типа А. Отличие ограничений, учитываю67
щих данные о производительности работ, от ограничений, учитывающих данные о трудоемкости работ, состоит в том, что производительность необходимо преобразовать в трудоемкость. Трудоемкость
является величиной, обратной производительности. Коэффициент
1/10 (1/Пр1) при x A в (5.5) – количество часов, приходящихся на покрытие лаком одной полки типа А. При записи правой части ограничения учитываем, что автомат, выполняющий покрытие лаком,
работает не полную смену (8 ч), а в течение сменного фонда времени
7 ч (ФВ1). Это связано с необходимостью подготовки автомата к работе и обслуживанием его после окончания работы:
1/10xA ≤ 7 · 1 · 22 (5.5)
(ч/шт.) · (шт/мес.) ≤ (ч/см.) · (см./дн.) · (дн./мес.).
Неравенство (5.6) описывает ограничение по фонду времени на
резку стекла для полок типа А и В2:
2/100x A + 2/100xB2 ≤ 7,5 · 1 · 22 (5.6)
(ч/шт.) · (шт/мес.) ≤ (ч/ см.) · (см./дн.) · (дн./мес.).
Неравенство (5.7) описывает ограничение по фонду времени на производство комплектующих полок типа В1 и В2:
1/3xB1 + 1/3xB2≤ 7,4 · 1 · 22 (5.7)
(ч/шт.) · (шт/мес.) ≤ (ч/ см.) · (см./дн.)· (дн./мес.).
Ограничения по запасу расходуемых
в производстве материалов (по запасу используемых
для производства полок деталей)
Неравенство (5.8) описывает ограничение по запасу листов ДСП,
поставляемых на комбинат ежемесячно. При этом следует учесть,
что из листа ДСП надо выкраивать комплекты (верхнюю и нижнюю
стороны полок, две боковые стороны) для производства полок. Поэтому при задании ограничения имеет смысл ориентироваться не
на количество листов ДСП, а на количество комплектов для полок
[правая часть (5.8)], которые можно получить из имеющегося запаса ДСП. Но поскольку листы ДСП можно раскраивать различными способами и получать при этом различное количество деталей
и комплектов, то обозначим месячный запас комплектов в правой
части (5.8) как Yкомпл и рассмотрим способ его численного определения позже. В левой части ограничения (5.8) задается количество
68
комплектов (по одному на полку), необходимых на производство полок в течение месяца в объеме xB1, xB2:
1xB1 + 1xB2 ≤ Yкомпл (5.8)
(компл./шт.) · (шт/мес.) ≤ (компл./мес.).
Аналогично ограничению по ДСП неравенство (5.9) – это ограничение по запасу задних стенок из ДВП для полок В1 и В2, а неравенство (5.10) – ограничение по запасу стекол для полок А и В2.
В отличие от ДСП листы ДВП и листы стекла кроятся стандартным
способом, и из каждого листа ДВП получается 14 (К1) задних стенок
полок, а из каждого листа стекла получается 10 (К2) стекол. Ежемесячный запас листов ДВП и стекла составляет соответственно
230 (Z2) и 260 (Z3). При составлении левых частей ограничений (5.9)
и (5.10) следует учесть, что на каждую полку В1 и В2 приходится по
одной задней стенке, а на каждую полку А и В2 – по два стекла:
1xB1 + 1xB2 ≤ 230 · 14 (5.9)
(задняя стенка/шт.) · (шт./мес.) ≤
≤ (лист ДВП/мес.) · (задняя стенка/лист ДВП),
2xА + 2xB2 ≤ 260 · 10 (5.10)
(стекло/шт.) · (шт/мес.) ≤ (лист стекла/мес.) · (стекло/ лист стекла).
Ограничения по емкости вспомогательных помещений и рынка
Неравенство (5.11) является ограничением по количеству полок
А, которые может вместить сушилка. В правой части (5.11) представлено количество полок, которые могут быть просушены в течение месяца [в день может быть просушено 50 полок (V1)]:
xА ≤ 50 · 22 (5.11)
(шт./мес.) ≤ (шт./дн.) · (дн./мес.).
Неравенство (5.12) описывает ограничение по количеству полок всех видов, которые может вместить склад готовой продукции.
При этом правая часть (5.12) учитывает, что общая емкость склада
уменьшена на 100 полок (Ост), которые остались не вывезенными
с прошлого месяца. Кроме того, в течение месяца каждый день будет освобождаться по 40 мест (N) для полок:
xА + xB1 +xB2 ≤ 350 – 100 + 40 · 22 (5.12)
(шт./мес.) ≤ (шт./мес.) – (шт./мес.) + (шт./дн.) · (дн./мес.).
69
Неравенство (5.13) описывает ограничение по примерной емкости рынка, равной 5300 полкам (V3) всех видов:
xA + xB1 + xB2 ≤ 5300 (5.13)
(шт./мес.) ≤ (шт./мес.).
Неравенство (5.14) показывает, что необходимо произвести как
минимум 50 заказанных полок В2 (З), а возможно, и большее количество, но уже для свободной продажи:
xB2 ≤ 50 (5.14)
(шт./мес.) ≤ (шт./мес.).
Ограничения по соотношению объемов продаж
различных товаров
Неравенство (5.15) показывает, что доля полок А и В2 в общем
объеме полок, производимых для свободной продажи, должна составлять не менее 60% (Д). К такому выводу приводят результаты
маркетинговых исследований.
Поскольку из всех полок В2 в свободную продажу поступит лишь
(xB2 – 50), это учитывается при составлении ограничения (5.15), которое после алгебраических преобразований принимает следующий вид (5.16):
xA + (xB2 – 50) ≥ 0,6[x A + xB + (xB – 50)] (5.15)
1
2
(шт./мес.) ≤ (шт./мес.),
0,4x A – 0,6xB1 + 0,4xB2 ≥ 20. (5.16)
Определение количества комплектов для полок В1 и В2
Рассмотрим подробно вопрос определения максимально возможного количества комплектов для полок В1 и В2, которое можно
произвести из ежемесячного запаса ДСП. В зависимости от размеров листов ДСП ( 2000 × 3000 мм) и габаритов полок (1100 × 250 ×
× 300 мм) детали полок В1 и В2 можно выкроить различными способами. Рассмотрим три возможных варианта такого раскроя, приведенные на рис. 5.17 (затемненные участки – это неиспользованная
площадь ДСП).
Согласно 1-му варианту из одного листа ДСП для полок В1 и В2
можно выкроить 19 деталей верхней или нижней стенок, а также 9 деталей боковых стенок. По 2-му варианту раскроя получаем
70
19 верхних и нижних стенок,
9 боковых стенок
12 верхних и нижних стенок,
36 боковых стенок
16 верхних и нижних стенок,
18 боковых стенок
Рис. 5.17. Возможные варианты раскроя листов ДСП
12 деталей верхней или нижней стенок и 36 деталей боковых стенок.
По 3-му варианту раскроя получаем 16 деталей верхней или нижней стенок и 18 деталей боковых стенок. Обозначим количество листов ДСП, раскроенных в течение месяца: по 1-му варианту через y1
(лист./мес.); по 2-му варианту – y2 (лист./мес.); по 3-му варианту –
y3 (лист./мес.). При производстве полок нам выгодно стремиться
71
к такому раскрою листов ДСП, при котором из полученных деталей
можно укомплектовать максимальное количество полок.
Количество комплектов, получаемых из раскроенных деталей,
мы ранее обозначили через Yкомпл. Таким образом, наша цель описывается целевой функцией
L(Y) = Yкомпл → max
компл./мес.
Количество всех раскроенных листов ДСП не должно превышать
400 (Z1), т. е. ежемесячный запас их на складе:
y1 + y2 + y3 ≤ 400
лист./мес.
При этом, поскольку в каждый комплект входит одна верхняя
и одна нижняя стенки, количество нижних и верхних стенок, получаемых при раскрое всех листов ДСП [левая часть (5.17)], должно
быть не меньше чем 2Yкомпл:
19y1 + 12y2 + 16y3 ≥ 2Yкомпл (5.17)
(дет./лист.)(лист./мес.) ≥ (дет./компл.)(компл./мес.).
Аналогичный смысл имеет ограничение (5.18), которое задает
нижнюю границу количества боковых стенок полок:
9y1 + 36y2 + 18y3 ≥ 2Yкомпл (5.18)
(дет./лист.)(лист./мес.) ≥ (дет./компл.)(компл./мес.).
После преобразования описанных неравенств получим модель
задачи (5.19), позволяющую раскроить максимальное количество
комплектов:
L(Y) = Yкомпл → max; y1 + y2 + y3 ≤ 400,
19y1 + 12y2 + 16y3 – 2Yкомпл ≥ 0,
9y1 + 36y2 + 18y3 – 2Yкомпл ≥ 0,
y1, y2, y3, Yкомпл ≥ 0. (5.19)
Таким образом, при решении задачи (5.19) переменная Yкомпл
непосредственно определяет значение ЦФ, а переменные y1, y2
и y3 влияют на изменение значения ЦФ косвенно, через ограничения. Решив задачу (5.19) для варианта 0, мы получим значение
72
правой части ограничения (5.8) Y = 3387 компл., после чего сможем
решить исходную задачу, модель которой имеет вид:
L(X) = 90xA + 40xB1 + 60xB2 → max;
4xA ≤ 7040;
0,067x A + 0,133xB + 0,167xB ≤ 2464;
1
2
0,1xA ≤ 154;
0,02x A + 0,02xB ≤ 165;
2
0,333xB + 0,333xB ≤ 162,8;
1
2
xB + xB ≤ 3387;
1
2
xB + xB ≤ 3220;
1
2
2xA + 2xB ≤ 2600;
2
x A ≤ 1100;
xA + xB + xB ≤ 1220;
1
2
xA + xB1 + xB2 ≤ 5300;
xB ≥ 50;
2
0,4xA – 0,6xB1 + 0,4xB ≥ 20;
2
x A, xB , xB ≥ 0.
1
2
(5.20)
Решив задачу (5.20), получаем
xA = 1100 шт./мес., xB1 = 0 шт./мес., xB2 = 120 шт./мес.,
L(x) = 106 200 р./мес.,
т. е. в текущем месяце необходимо произвести 1100 полок А
и 120 полок В2, а производство полок В1 нецелесообразно. После реализации всех произведенных полок комбинат получит прибыль
в размере 106 200 р.
В представленных вариантах работы следует учесть: три варианта раскроя листов ДСП; 8 ч в смене; работу в одну смену; 22 рабочих
дня в месяце.
73
Варианты заданий
Показатель
Номер варианта
0
1
2
3
4
5
6
7
1030
230
270
1180
270
260
990
240
250
1220
260
240
950
230
310
D
w
h
Тр1
1100
250
300
4
4,4
3,6
4,8
3,2
5,2
2,8
5,6
Тр2
4
10
5
9
6
8
7
5
Тр3
8
15
10
13
9
13
10
8
Тр4
10
16
12
14
10
14
11
9
Р1
40
22
19
6
27
16
9
25
1070 1140
240 260
290 280
Р2
14
16
12
11
7
5
13
3
Пp1
10
4
9
5
2
6
4
7
Пp2
100
150
170
250
180
130
190
120
Пp3
3
4
5
6
7
8
9
10
ФВ1
7
7,1
7,2
7,3
7,4
7,5
7,6
7,7
ФВ2
7,5
7,6
7,7
7,0
7,1
7,2
7,3
7,4
ФВ3
7,4
7,5
7,6
7,7
7,8
7,4
7,5
7,6
Z1
400
390
365
380
415
370
405
350
Z2
230
240
235
220
215
200
195
180
Z3
260
200
250
190
240
180
230
290
К1
14
15
5
16
6
17
7
12
К2
10
11
12
5
13
6
14
7
V1
50
20
65
40
55
75
45
60
V2
350
400
360
300
370
310
380
320
2000 3700
45
67
110 90
3000
50
170
1100
72
80
4000
55
160
2500
44
70
1500
60
150
72A
12B2 16(B1,B2)
V3
5300
N
40
Ост
100
Д 60(A, B2)
З
50В2
74
15A 10B1 15(B1, B2) 43(A, B1)
30А 15B1 10A, 18B1 5A,12B2 40B1,3B2 60В2
24А
C1
205
210
145
200
150
215
170
220
C2
142
150
125
164
120
187
125
176
C3
160
170
133
178
134
205
148
197
Ц1
295
256
213
284
192
243
198
274
Ц2
182
202
149
190
154
230
175
246
Ц3
220
224
158
206
147
243
180
242
Окончание
Показатель
D
w
h
Тр1
Номер варианта
8
9
10
11
12
1260
270
320
910
240
330
1300
260
340
870
230
350
1340
270
360
2,4
6
2
6,4
1,6
Тр2
8
6
9
7
10
Тр3
11
10
15
14
16
Тр4
14
13
18
16
20
Р1
11
8
30
14
7
Р2
6
8
10
2
9
Пp1
4
3
5
8
6
Пp2
200
110
210
140
220
Пp3
11
12
13
14
15
ФВ1
7,1
7,2
7,0
7,3
7,4
ФВ2
7,5
7,6
7,7
7,1
7,2
ФВ3
7,7
7,8
7,4
7,5
7,6
Z1
395
410
385
420
375
Z2
205
160
175
140
155
Z3
220
230
210
270
200
К1
8
13
18
11
9
К2
15
8
16
9
17
V1
35
70
25
30
80
V2
390
330
410
340
420
V3
1400
38
60
23(A, B2)
80B1
2700
65
140
4300
30
50
3100
70
120
1900
35
40
46A
59B1
13(B1, B2)
9(A, B1)
14A, 21B1
38A, 62B2
23B1, 20B2
84B2
C1
C2
165
225
180
230
195
129
195
143
207
126
C3
Ц1
Ц2
142
203
210
281
162
224
214
276
146
249
194
263
214
287
186
Ц3
167
267
202
246
187
N
Ост
Д
З
75
Лаборатораторная работа № 6
Задачи управления запасами
Цель работы: ознакомление с постановками задач, методами
и системами управления запасами.
6.1. Задача управления запасами при случайном спросе
Любая фирма должна поддерживать некоторый уровень запасов
во избежание задержек на производстве и в сбыте. Модели управления запасами (УЗ) используются для определения времени размещения заказов на ресурсы и их количества, а также запаса ГП на
складе. Можно выделить четыре основные причины, приводящие
к необходимости образования запасов:
– необходимость гаран­тирования бесперебойности питания производственного процесса с целью обеспечения его непрерывности;
– периодичность произ­водства отдельных видов МР у поставщиков;
– особенности транспортировки от поставщика до потребителя
(несоответствие грузоподъемности транспортных средств и размеров потребления);
– несовпадение ритма производства и поставок производственных ресурсов с ритмом их потребления.
Задача УЗ в общем случае формулируется следующим образом.
Имеются некоторые запасы, затраты на хранение которых являются функцией (линейной или нелинейной) их величины. Из­вестны
также затраты на доставку ресурсов, затраты из-за недостаточного
уровня запасов. Нужно найти такие размер поставки и сроки поступления ресурсов, чтобы суммарные издержки на хранение и поставку ресурсов были минимальны.
Пусть для некоторого оборудования целесообразно иметь запасные ча­сти (для простоты одного наименования). Известно, что вероятность поломки n штук этих деталей равна Р(n). Стоимость одной детали равна C1, убытки в случае поломки и отсутствия запчасти – C2. Требуется определить оптимальное количество запасных
деталей N, т. е. такое, чтобы суммарные затраты на приобретение
и средние затраты из-за нехватки запчастей при поломке были минимальны.
Возможны два исключающих друг дру­га случая: n > N, когда запас перекрывает спрос, и n > N, когда имеется недостаток
запчастей.
76
Итак, критерием являются суммарные затраты на приобретение
и средние затраты из-за нехватки запчастей при по­ломке [2]:
¥
N
Y (N) = C1 å (N - n) × P(n) + Ñ2
n=0
å
(n - N) × P(n).
n= N +1
Подсчитывая значение целевой функции Y для (N + 1) и (N – 1)
и используя равенство
¥
å P(n) = 1,
n=0
записываем
¥
å
n= N +1
N
P(n) = 1 - å P(n).
n=0
Окончательно получаем
N-1
Y (N + 1) = Y (N) + (C1 + C 2 ) å P(n) - C 2;
n=0
N
Y (N -1) = Y (N) - (C1 + C 2 ) å P(n) + C 2.
n=0
Аналогично можно показать, что функция Y(N) минимальна,
если выполняется
Y (N - 1) > Y (N) < Y (N + 1);
N
Y (N + 1) - Y (N) = (C1 + C2 ) å P(n) - C2 > 0;
n=0
N-1
Y (N -1) - Y (N) = -(C1 + C2 ) å (P(n) + C2 > 0.
N-1
n=0
N
C2
< å P(n).
1 + C 2 n=0
å P(n) < C
Вычисляя левую и правую части последнего неравенства, можно
найти такое N = Nopt, при котором отношение C2/(C1 + C2) ока­жется
заключенным между частями неравенства. Это значение N и является опти­мальным.
77
Требуется разработать программу определения оптимального
уровня запаса при случайном спросе и минимального значения
целевой функции. С учетом следующего фрагмента программного
кода:
C = C2/(C1+C2);
Nopt = 0;
Sum = P[0];
while ( Sum<C && Nopt<Nmax-1)
{ Nopt++;
Sum + = P[Nopt];
}
Nopt++;
printf ("%d",Nopt);
Sum=0;
for (i = 0; i < Nopt; i++)
Sum + = C1*P[i]*(Nopt-i-1);
for (i = Nopt; i< Nmax; i++)
Sum += C2*P[i]*(i+1-Nopt);
printf("%g", Sum);
Рассмотрим основные системы УЗ.
6.2. Управление запасами
с фиксированным размером заказа
Фиксированный размер заказа (ФРЗ) является основополагающим параметром системы. Он не должен меняться ни при каких условиях работы системы. Определение оптимального размера заказа является поэтому первой задачей, которая решается при работе
с данной системой [2]:
Q0 =
2 AS
,
I
(6.1)
где Q0 – оптимальный размер заказа, шт.; А – стоимость выполнения одного заказа, р., (в примере принимается равной 25% от цены комплектующих изделий); S – потребность в комплектующих
за определенный период, шт., принимается по данным табл. 6.1;
I – затраты на содержание единицы запаса, р./шт. (в примере принимаются в размере 5% от цены комплектующих изделий). Обычно
78
считают, что затраты, связанные с содержанием запасов составляют 10–40% от стоимости самих запасов. Затраты на хранение единицы запаса I, включают в себя:
– затраты, связанные с отоплением, освещением;
– зарплата работников;
– затраты, связанные с проведением инвентаризаций, замораживанием оборотных средств, порча товаров, естественная убыль;
– расходы, связанные с комплектованием.
При необходимости учета скорости пополнения запаса вводится
коэффициент k:
Q0 =
2A×S
,
I×k
(6.2)
Рассмотрим пример расчета. Исходные данные по комплектующим для сборки гидромоторов сведены в табл. 6.1.
В системе с ФРЗ последний выдается в момент, когда текущий
запас достигает порогового уровня. Сбои в поставках могут быть
связаны с задержкой или преждевременной поставкой, в связи
с неполной поставкой или с поставкой завышенного объема. Задержка поставки снимается введением размера гарантийного запаса, который обеспечивает потребность на время задержки поставки. Если возможная задержка представляет собой максимально возможную, то механизм системы предохранит потребителя
от дефицита в случае единичного сбоя поставки. Второй параметр – пороговый уровень – обеспечивает поддержку в бездефицитном состоянии.
Таблица 6.1
Сведения о поставке комплектующих изделий
для сборки гидромоторов
Наименование
Возможная
Принятый
Годовая
Время
задержка
интервал
Кол-во, Цена,
потребпоставпоставшт.
р./шт. времени между
ность, шт.
ки, дн.
ки, дн.
поставками, дн.
Привод
тахометра
1
1000
30
5
5
2000
Крышка
2
155
30
5
5
4000
Шатун
1
50
30
5
5
2000
Золотник
1
150
30
5
5
2000
79
Исходные данные для расчета:
– потребность, шт.
– оптимальный размер заказа, шт.
– время поставки, дн.
– возможная задержка поставки, дн.
Оптимальный размер заказа определялся в соответствии с формулой (6.1), а именно для 1-го комплектующего:
Q0 =
2 × 0,25 × (1000 + 155 + 50 + 150) × 2000
= 141 øò.
0,05 ×1355
Отметим, что в общем случае учет затрат на хранение и оформление заказа осуществляется прямым подсчетом, поскольку A, S, I, k
не являются постоянными и зависят от величины размера заказа (например, скидки на размер партии, на весь объем). Кроме того, при учете убытков от неудовлетворенного спроса вид (6.1) усложняется [6].
Алгоритм расчета системы с ФРЗ
1. Потребность, шт. 2. Оптимальный размер заказа, шт. 3. Время поставки, дн. 4. Возможная задержка поставки, дн. 5. Ожидаемое дневное потребление, шт./день
6. Срок расходования заказа, дн. 7. Ожидаемое потребление за время поставки, шт. 8. Максимальное потребление за время поставки, шт. 9. Гарантированный запас, шт. 10. Пороговый уровень запаса, шт. 11. Максимальный желательный запас, шт. 12. Срок расходования запаса до порогового уровня –
по формулам (6.1) или (6.2)
–
–
[1] : (количество
рабочих дней)
[2] : [5]
[3] ∙ [5]
([3] + [4]) ∙ [5]
[8] – [7]
[9] + [7]
[9] + [2]
([11] – [10]) : [5]
Результаты расчета представлены в табл. 6.2.
Построение графиков движения запасов по всем комплектующим изделиям представлено для случаев: а – отсутствия задержек
в поставках, б – наличия единичного сбоя в поставках, в – наличия
неоднократных сбоев в поставках.
Срок возврата системы в нормальное состояние с наличием гарантийного запаса для случая б (рис. 6.1) – 15 дн.; максимальный
срок задержки в поставках, который может выдержать система без
выхода в дефицитное состояние, – 5 дн.
80
Таблица 6.2
Расчет параметров системы с фиксированным размером заказа
Показатель
Ед. изм.
Комплектующие
1
2
3
4
1. Потребность
шт.
2000
4000
2000
2000
2. Оптимальный
размер заказа
шт.
141
200
141
141
3. Время поставки
дн.
5
5
5
5
4. Возможная задержка в поставках
дн.
5
5
5
5
5.Ожидаемое дневное потребление
шт./дн.
7
14
7
7
6.Срок расходования заказа
дн.
20
14
20
20
7. Ожидаемое потребление за время
поставки
шт.
35
70
35
35
8.Максимальное
потребление за
время поставки
шт.
70
140
70
70
9. Гарантийный
запас
шт.
35
60
35
35
10. Пороговый
уровень запаса
шт.
70
140
70
70
11. Максимальный
желательный запас
шт.
176
270
176
176
12. Срок расходования запаса до
порогового уровня
дн.
15
9
15
15
При любом количестве сбоев система (рис. 6.2, случай в) не выходит в дефицитное состояние (только опускается ниже гарантийного
запаса).
Срок возврата системы в нормальное состояние с наличием гарантийного запаса для случая б (рис. 6.3) – 29 дн., максимальный
срок задержки в поставках, который может выдержать система без
выхода в дефицитное состояние – 5 дн. Для случая в (см. рис. 6.4)
при любом количестве сбоев система не выходит в дефицитное состояние (только опускается ниже гарантийного запаса).
81
Объем
запаса
МЖЗ
70
Пороговый
уровень
40
30
Гарантийный
уровень
15 20
35 40 45 55 60
80 Время
Рис. 6.1. Система с ФРЗ для комплектующих изделий 1, 3, 4
(см. табл. 6.2) при отсутствии задержек в поставках (а)
и наличии единичного сбоя в поставках (б)
Объем
запаса
180
170
180
МЖЗ
70
Пороговый
уровень
40
30
Гарантийный
уровень
15 20
35 40 45 55 60 65 75 80
85 Время
Рис. 6.2. Система с ФРЗ для комплектующих изделий 1, 3, 4
(см. табл. 6.2) при наличии неоднократных сбоев в поставках (в)
82
Объем
запаса
280
МЖЗ
240
200
160
Пороговый
уровень
120
80
Гарантийный
уровень
40
9
14
23 28 33 38 43 Время
Рис. 6.3. Система с ФРЗ для комплектующего изделия 2
(см. табл. 6.2) при отсутствии задержек в поставках
и наличии единичного сбоя в поставках (а, б)
Объем
запаса
280
МЖЗ
240
200
160
Пороговый
уровень
120
80
Гарантийный
уровень
40
9
14
23 28 33 38 43 Время
Рис. 6.4. Система с ФРЗ для комплектующего изделия 2
(см. табл. 6.2) при наличии неоднократных сбоев в поставках (в)
83
Перечислим достоинства и недостатки системы.
Достоинства:
– меньший уровень максимального желательного запаса;
– материалы поступают равными партиями, что снижает затраты по доставке и созданию запасов;
– экономия затрат на содержание запасов за счет сокращения
площадей под запасы.
Недостатки: ведение постоянного контроля наличия запасов
(растут издержки по хранению).
Система используется для дорогостоящих товаров и материалов,
в случае, если:
– товары составляют лишь небольшую долю продукции, выпускаемой поставщиком,
– есть регулярная проверка запасов,
– физическое наличие товара легко поддается учету.
6.3. Описание системы управления запасов
с фиксированным интервалом времени между заказами
Оптимальный размер заказа Q0 непосредственно не используется в работе системы, но дает возможность предложить фиксированный интервал времени между заказами (ФИВМЗ), величина которого используется в качестве исходного параметра:
∆Z =
N ´ Q0
,
S
(6.3)
где ∆Z – рекомендуемый интервал времени между заказами, дн.;
N – число рабочих дней в периоде, дн.; Q0 – оптимальный размер
заказа, шт., рассчитанный по формуле (6.1); S – потребность в комплектующих, шт.
В системе с ФИВМЗ последний выдается в фиксированный момент времени. Постоянно пересчитываемым параметром является
размер заказа Qзак:
Qзак = qmax – qф + pτ, (6.4)
где qmax – максимальный желательный запас – МЖЗ (установленная норма); qф – фактический запас в момент пересмотра запаса;
pτ – потребление за время поставки.
Таким образом, вычисление Qзак основывается на прогнозируемом уровне потребления pτ до момента поступления заказа на склад.
84
Возмущение в виде задержки поставки учитывается, как и в случае системы с ФРЗ, размером гарантийного запаса, восполнение которого определяется через пересчет параметров заказа.
Алгоритм расчета системы с ФИВМЗ
1. Потребность, шт.
2. Интервал времени между заказами, шт. 3. Время поставки, дн.
4. Возможная задержка поставки, дн. 5. Ожидаемое дневное потребление, шт./дн. 6. Ожидаемое потребление за время поставки, шт. 7. Максимальное потребление за время поставки, шт. 8. Гарантированный запас, шт. 9. Максимальный желательный запас, шт. 10. Размер заказа –
по формуле (6.3)
–
–
[1] : (количество
рабочих дней)
[3] ∙ [5]
([3] + [4]) ∙ [5]
[7] – [6]
[8] + [2] ∙ [5]
по формуле (6.4)
Таблица 6.3
Расчет параметров системы с ФИВМЗ
№
п/п
Показатель
Ед. изм.
Порядок расчета комплектующих
1
2
3
4
1
Потребность
шт.
2000
4000
2000
2000
2
Интервал времени
между заказами
дн.
20
14
20
20
3
Время поставки
дн.
5
5
5
5
4
Возможная задержка
в поставках
дн.
5
5
5
5
5
Ожидаемое дневное
потребление
шт./дн.
7
14
7
7
6
Ожидаемое
потребление
за время поставки
шт.
35
70
35
35
7
Максимальное
потребление
за время поставки
шт.
70
140
70
70
8
Гарантийный запас
шт.
35
70
35
35
9
Максимальный
желательный
запас
шт.
175
266
175
175
85
Построение графиков движения запасов по всем комплектующим изделиям представлено для следующих случаев:
– отсутствие задержек в поставках (а);
– наличие единичного сбоя в поставках (б);
– наличие неоднократных сбоев в поставках (в).
Для комплектующих изделий 1, 3, 4 (см. табл. 6.3) срок возврата системы в нормальное состояние с наличием гарантийного
запаса при наличии единичного сбоя в поставках (см. рис. 6.7) –
40 дн., максимальный срок задержки в поставках, который может выдержать система без выхода в дефицитное состояние, –
5 дн. При наличии неоднократных сбоев в поставках система не
выходит в дефицитное состояние (только опускается ниже гарантийного запаса). Для комплектующего изделия 2 срок возврата системы в нормальное состояние с наличием гарантийного
запаса при наличии единичного сбоя в поставках (рис. 6.5, случай б) – 28 дн., максимальный срок задержки в поставках, который может выдержать система без выхода в дефицитное состояние, – 5 дн.
Объем
запаса
270
МЖЗ
260
200
180
140
Пороговый
уровень
100
Гарантийный
уровень
60
20
9
14
23 28 33 38 43 Время
Рис. 6.5. Система управления запасами с ФИВМЗ
для комплектующего изделия 2 (см. табл. 6.3)
при отсутствии задержек в поставках
и наличии одного сбоя (случаи а и б)
86
Объем
запаса
270
МЖЗ
260
220
180
140
Пороговый
уровень
100
Гарантийный
уровень
60
20
9 14
23 28
33 37 47
Время
Рис. 6.6. Система управления запасами с ФИВМЗ
для комплектующего изделия 2 (см. табл. 6.3)
при наличии неоднократных сбоев (случай в)
Объем
запаса
180
170
МЖЗ
70
Пороговый
уровень
40
30
Гарантийный
уровень
15 20 33 40 45 55
75 80 85 95 105 115 125 Время
Рис. 6.7. Система управления запасами с ФИВМЗ
для комплектующих изделий 1, 3, 4 (случаи а, б, в)
87
При наличии неоднократных сбоев в поставках (см. рис. 6.7, случай в) система не выходит в дефицитное состояние (только опускается ниже гарантийного запаса). К достоинству системы относится отсутствие постоянного контроля наличия запасов на складе.
К недостаткам можно отнести:
– высокий уровень максимального желательного запаса;
– повышение затрат на содержание запасов за счет увеличения
площадей под них.
6.4. Сравнение основных систем управления запасами
Система с ФРЗ требует непрерывного учета текущего запаса на
складе. Напротив, система с ФИВМЗ между заказами требует лишь
периодического контроля количества запаса. Необходимость постоянного учета запаса в системе с ФРЗ можно рассматривать как основной ее недостаток.
В то же время в системе с ФРЗ максимальный желательный запас всегда имеет меньший размер, чем в системе с ФИВМЗ. Это приводит к экономии на затратах по содержанию запасов на складе
за счет сокращения площадей, занимаемых запасами, что, в свою
очередь, составляет преимущество системы с ФРЗ перед системой
с ФИВМЗ.
В рассматриваемом варианте система с ФРЗ для всех комплектующих изделий как при наличии неоднократного сбоя, так и при неоднократных сбоях в поставках не уходит в дефицит, но опускается
ниже гарантийного запаса.
Поэтому для совершенствования работы данной системы, с одной
стороны, необходимо поднять пороговый уровень заказа, что позволит раньше делать заказ. Тогда при наличии сбоев система не будет
опускаться ниже гарантийного запаса и сможет выдерживать более длительные задержки в поставках. С другой стороны, при увеличении размера заказа увеличатся расходы на транспортировку,
разгрузочные операции, складирование запасов, а также на хранение заказа.
Для системы с ФИВМЗ необходимо уменьшить интервал времени между поставками, т. е. чаще делать заказ. Это позволит
системе даже при наличии неоднократных сбоев в поставках
оставлять нетронутым гарантийный запас, что дает возможность при необходимости выдержать и более долгий срок задержки заказа и избежать возможным потерь при повышении спроса
на продукцию.
88
6.5. Прочие системы управления запасами
Система с установленной периодичностью пополнения запасов
до установленного уровня
В системе с установленной периодичностью пополнения запасов
до установленного уровня (УППЗУУ), как и в системе с ФИВМЗ,
входным параметром является период вре­мени между заказами.
В отличие от основной системы, она ориен­тирована на работу при
значительных колебаниях потребления. Чтобы предотвратить завышение объемов запасов, содержащихся на скла­де, или их дефицит, заказы производятся не только в установленные моменты
времени, но и при достижении запасом порогового уров­ня. Таким
образом, рассматриваемая система включает в себя эле­мент системы с ФИВМЗ (установленную периодичность оформления заказа) и элемент системы с ФРЗ (отслеживание порого­вого уровня
запасов).
Порядок расчета всех параметров системы представлен ниже.
Исходные данные для расчета параметров системы таковы:
– потребность в заказываемом продукте, шт.,
– интервал времени между заказами, дн.,
– время поставки, дн.,
– возможная задержка поставки, дн.
Для определения интервала времени между заказами (или
перио­дичности пополнения запасов) можно воспользоваться (6.3).
Постоянно рассчитываемым параметром системы является
размер заказа. Расчет размера заказа основан на прогнозируемом
уровне потребления до момента поступления заказа на склад и производится либо по формуле (6.4) – в зафиксированные моменты
заказов либо по формуле (6.5) – в момент достижения порогового
уровня:
Qзак = qmax – qпу + pτ,
(6.5)
где qmax – МЖЗ; qпу – пороговый уровень запаса; pτ – потребление за
время поставки.
Размер заказа, таким образом, рассчитывается из условия совпадения прогнозируемого уровня потребления и фактического. Тогда
поставка пополнит запас до максимального желательного уровня.
Система учитывает возможность задержки поставки. Отслеживание порогового уровня повышает чувствительность системы к возможным колебаниям интенсивности потребления.
89
Алгоритм расчета системы с УППЗУУ
1. Потребность, шт. 2. Интервал времени между заказами, шт. 3. Время поставки, дн. 4. Возможная задержка поставки, дн. 5. Ожидаемое дневное потребление, шт/день 6. Ожидаемое потребление за время поставки, шт. 7. Максимальное потребление за время поставки, шт. 8. Гарантированный запас, шт. 9. Пороговый уровень запаса, шт. 10. Максимальный желательный запас, шт. 11. Размер заказа. шт. –
по формуле (6.3)
–
–
[1] : (количество
рабочих дней)
[3] ∙ [5]
([3] + [4]) ∙ [5]
[7] – [6]
[8] + [6]
[9] + [2] ∙ [5]
по формуле (6.5)
Гарантированный (страховой) запас позволяет обеспечивать
потреби­теля в случае предполагаемой задержки поставки. Под возможной задержкой поставки подразумевается максимально возможная задержка. Восполнение гарантированного запа­са производится
во время последующих поставок через пересчет размера заказа таким образом, чтобы его поставка увеличила запас до максимального желательного уровня. Гарантированный запас не ока­зывает непосредственного воздействия на функционирование сис­темы в целом.
Из системы управления запасами с ФРЗ рассматриваемая система заимствовала параметр порогового уровня запаса. Пороговый
уровень запаса определяет уровень запаса, при достижении которого производится очередной заказ. Величина порогового уровня рассчитывается исходя из значения ожидаемого дневного потребления
таким образом, что поступление заказа про­исходит в момент снижения текущего запаса до гарантийного уров­ня. Таким образом, отличительной особенностью системы является то, что заказы делятся на две категории. Плановые заказы произво­дятся через заданные интервалы времени. Возможны дополнитель­ные заказы, если
наличие запасов на складе доходит до порогового уровня. Очевидно, что необходимость дополнительных заказов может возникнуть
только при отклонении темпов потребления от запланированных.
Система «минимум-максимум» (MIN-МАХ)
Эта система содержит элементы основных систем, а именно, как
и в ФИВМЗ, здесь использован постоянный интервал времени
между заказами. Система «Ми­нимум-максимум» ориентирована
90
на ситуацию, когда затраты на учет запасов и издержки на оформление заказа настолько значительны, что становятся соизмеримы
с потерями от дефицита запа­сов. Поэтому в рассматриваемой системе заказы производятся не через каждый заданный интервал времени, а только при условии, что запасы на складе в этот момент оказались равными или меньше установленного минимального уровня. В случае выдачи заказа его размер рассчитывается так, чтобы
поставка пополнила запасы до максимального желательного уровня. Таким образом, данная систе­ма работает лишь с двумя уровнями запасов – минимальным и максимальным, чему она и обязана
своим названием. Система допускает дефицит запасов по экономическим соображениям, однако борется с задержкой поставки через
размер гарантийного запаса. Для определения интервала времени
между заказами (или перио­дичности пополнения запасов) можно
воспользоваться формулой (6.3).
Исходные данные для расчета параметров системы таковы:
– потребность в заказываемом продукте, шт.,
– интервал времени между заказами, дн.,
– время поставки, дн.,
– возможная задержка поставки, дн.
Гарантированный (страховой) запас позволяет обеспечивать
потреби­теля в случае предполагаемой задержки поставки. Как
и система с установленной периодичностью пополнения запасов
до постоянно­го уровня, гарантированный запас используется для
расчета порогового уровня запаса.
Пороговый уровень запаса в системе «Минимум-максимум»
вы­полняет роль «минимального» уровня. Если в установленный
мо­мент времени этот уровень пройден, т. е. наличный запас равен
пороговому уровню, или не достигает его, то заказ оформляется.
В противном случае заказ не выдается, и отслеживание порогового
уровня, а также выдача заказа будут произведены только через за­
данный интервал времени.
Максимальный (желательный) запас в системе «Минимуммакси­мум» выполняет роль «максимального» уровня. Его размер
учитыва­ется при определении размера заказа. Он косвенно (через
интервал времени между заказами) связан с наиболее рациональной загруз­кой площадей склада при учете возможных сбоев поставки и необ­ходимости бесперебойного снабжения потребления.
Постоянно рассчитываемым параметром системы «Минимум-максимум» является размер заказа. Как и в предыдущих системах управления запасами, его вычисление основывается на прогнозиру­емом
91
уровне потребления до момента поступления заказа на склад организации.
Алгоритм расчета параметров системы «Минимум-максимум»
идентичен алгоритму расчета системы с УППЗУУ с учетом приведенных комментариев.
Для исходных данных приведенного выше примера (см. табл. 6.1)
с учетом вариации входных данных рассмотренных систем управления запасами необходимо разработать программу их моделирования исходя из возможных возмущений:
– изменение интенсивности потребления;
– задержка или ускорение поставки;
– поставка незапланированного объема;
– ошибка учета фактического запаса (влияет на расчет размера
заказа).
Варианты заданий
Возмущение
Системы управления запасами
ФРЗ
ФИВМЗ
УППЗУУ
MIN-МАХ
Поставка незапланированного объема Q0,Qзак ± ∆
1
2
3
4
Задержка и ускорение
поставки: ∆Z ± ∆
5
6
7
8
Ожидаемое дневное
потребление, интенсивность
потребления: pτ ± ∆
9
10
11
12
Ошибка в учете фактического количества: qф ± ∆
–
13
14
15
Студенты экономических специальностей решают задачу
с помощью MS Excel. Пример решения в MS Excel для системы «МIN-МАХ» с учетом сбоя по времени поставки приведен на
рис. 6.9–6.10. При моделировании контролируется уровень запаса. После обращения остатка в нуль запас увеличивается до максимального, затем из него вычитается дневное потребление, т. е.
=ЕСЛИ(ОСТАТ(A54;$C$13+$C$14+$C$15)=0;$C$21;B53-$C$16).
В некоторый момент вносится фиксированная максимальная задержка поставки $C$15.
Для студентов технических специальностей, связанных с программированием, предлагается создать соответствующее приложение на языке высокого уровня. Программа должна обеспечивать ввод
исходных данных, включая интервал моделирования, возмущаемые
92
Рис. 6.9. Исходные данные и формулы (начало)
Рис. 6.9 (конец)
93
94
Рис. 6.10. Результаты расчета
параметры, число сбоев на интервале моделирования. Результатом
работы должно быть получение графического представления динамики процесса управления запасами любого комплектующего. Под
возмущением ∆ здесь будем понимать детерминированные отклонение параметра.
В процессе моделирования необходимо провести следующий
анализ:
– для случая одного и нескольких сбоев (задержки поставок)
необходимо оценить время возврата систем в нормальное состояние (с наличием полного объема гарантированного запаса);
– для случая многократных сбоев определить максимальное
количество сбоев и максимальный срок неоднократной задержки
поставки, которые может выдержать система без выхода в бездефицитное состояние.
По результатам моделирования сделать выбор наиболее рационального размера заказа. Для тестирования работы программы
предлагается использовать программу MyLogisticPro1 [7], окно которой представлено на рис. 6.11.
Рис. 6.11. Окно программы MyLogisticPro1 [график для МIN-МАХ
(расчет размера заказа по формуле (6.5)]
95
Лабораторная работа № 7
Задача оптимизации момента времени
замены оборудования
Цель работы: реализация на ЭВМ алгоритмов решения двух задач: замены оборудования с учетом приведения затрат к текущему
моменту времени и замены с целью предупреждения отказа.
7.1. Замена оборудования с учетом приведения затрат
к текущему моменту времени
Технические характеристики любой машины и оборудования
вследствие старения, износа и других причин со временем ухуд­
шаются. Это приводит к необходимости замены оборудования
с целью как уменьшения суммарных затрат на эксплуатацию обо­
рудования, так и предупреждения его полного выхода из строя (отказа). Кроме того, это приводит к необходимости рационально организовать профилактическое обслуживание. Подробная классификация задач этого типа представлена, например, в [2].
Рассмотрим постановку этих задач.
Пусть в эксплуатации находится некоторое оборудование. Покупная цена нового оборудования известна и равна S. Допустим,
что известны затраты на эксплуатацию оборудования в периоды 1,
2, ..., n : C1, ..., Сi ..., Сn. Примем квадратичный закон изменения затрат от времени. Для упрощения предположим, что списочная цена
St включена в затраты Сt. Требуется определить, через какое время t следует производить замену оборудования, чтобы суммарные
приведенные затраты на его эксплуатацию и на приобретение нового оборудования были минимальны.
Так как капитальные вложения, связан­ные с заменой оборудования, осуществляются в разные сроки, то необходимо приводить
более поздние затраты к текущим по формуле
kïð = kt
1
(1 + EÍÏ )t
,
где kt – затраты в t-м периоде; Енп – норма­тив для приведения разновременных затрат.
Можно показать [2], что приведенные к текущему моменту затраты:
t
Yt = (S + å r i-1Ci ) / (1 - r t ).,
где r = 1/(1 + Енп);
96
i=0
Чтобы затраты при за­мене оборудования через t периодов были наименьшими, должны выполняться условия Yt–1 > Yt < Yt+1.
Из несложных преобразований получим
t
Ñt
<
1- r
S + å r i-1Ci
откуда
Ct+1 >
1- r
t
1- r
i=1
i=1
1- r
t
(S + å r i-1Ci ) =
t
<
Ct+1
,
1- r
S + C1 + rC2 + ... + r t-1Ct
1 + r + r 2 + ... + r t-2
.
Аналогично
Ct <
S + C1 + rC2 + ... + r t-2 Ct-1
1 + r + r 2 + ... + r t-2
.
Отсюда следует, например, что:
1) если затраты на эксплуатацию оборудования в очередном периоде меньше средневзвешенных затрат за все предыдущие периоды, то оборудование не следует заменять;
2) если же затраты на эксплуатацию оборудования в очеред­ном
периоде превосходят средневзвешенные затраты за все пре­дыдущие
периоды, то оборудование следует заменять.
Требуется разработать программу определения момента замены оборудования с учетом приведения затрат к текущему моменту
времени.
Исходные данные: S – расчетная стоимость нового оборудования
(затраты на приобретение); Ен – норматив приведения разновременных затрат к текущему моменту; А1, А2 – коэффициенты уравнения
затрат на эксплуатацию; Tmax – максимально возможный срок.
Для облегчения задачи приведем фрагмент программы:
R=1/(1+En);
ss=0;
C[1]=A1+A2;
for(i=2; i<=Tmax;i++)
{C[i]=A1*i+A2*i*i;
t=i-1;
ss+=pow(R,t-1)*C[t];
y=(S+ss)/(1-pow(R,t));
ysl _ min=C[t]/(1-R);
97
ysl _ max=C[t+1]/(1-R);
printf(«%f\t%f\t%f\n»,ysl _ min,y,ysl _ max);
if (ysl _ min <= y && y<=ysl _ max) break;
}
Варианты заданий
№ п/п
S
Ен
А1
А2
Тmax
1
2000
0,08
50
20
20
2
2500
0,07
45
15
25
3
3000
0,06
40
10
30
4
3500
0,05
50
20
20
5
2800
0,09
60
25
15
6
2600
0,08
30
70
25
7
2200
0,06
45
50
20
7.2. Замена оборудования с целью предупреждения отказа
Пусть в эксплуатации находится некоторое оборудование. Допустим, что известны затраты, связанные с отказом оборудования
(брак готовой продукции, простой и т. д.), включая затраты на замену Сотк = 100 р., а также известны затраты на одну замену Сз = 50 р.
(предупредительную замену). Известно количество не отказавшего
оборудования n(t) ко времени t. Требуется определить оптимальный
интервал между последовательными заменами обо­рудования, при
котором минимизируются средние затраты на еди­ницу времени.
Вероятности отказа работы оборудования известны.
Вероятность исправной работы оборудо­вания свыше времени t
(функция живучести оборудования):
P(T ³ t) = P(t) =
n(t)
,
n(0)
где n(t) – количество не отказавшего оборудования ко времени t из
n(0) обследованных.
Среднее время безотказной рабо­ты оборудования за время t (средний аварийный возраст)
t-1
Qt = å P(i).
i=0
98
С целью облегчения реализации задачи на ЭВМ приведем фрагмент программы расчета времени замены оборудования с целью
предупреждения отказа:
Y[0] = Cz;
Ymin =Y[0];
Q[0] =1;
TN = N;
Pt[0] = nt[0]/TN;
for(t=1; t<=Tc; t++)
{ Pt[t] = nt[t]/TN;
Q[t] = Q[t-1] + Pt[t-1];
Y[t] =(Cotk*(1 – Pt[t-1]) +Cz*Pt[t-1])/Q[t];
if (Y[t] > Ymin) continue;
else { Ymin = Y[t]; t0=t; break;}
}
printf(«%d%f\n»,t0,Ymin);
В листинге обозначено: Сотк – затраты, связанные с отказом оборудования; Cз – затраты на одну замену; Tс – срок службы; N – общее количество оборудования; n(t) – количество неотказавшего
оборудования.
Исходные данные по вариантам представлены ниже [вариант 1
содержит пример вычисления Q(t)].
Варианты заданий
№ п/п
1
2
3
Время работы оборудования t
0
1
2
3
4
5
6
7
8
n(t)
200
190
180
160
100
40
20
10
0
P(t)
1
0,95
0,9
0,8
0,5
0,2
0,1
0,05
0
Q(t)
1
1,95
2,85
3,65
4,15
4,35
4,45
4,5
n(t)
350
320
300
280
220
180
120
40
0
P(t)
1
0,92
0,87
0,83
0,75
0,42
0,31
0,1
0
n(t)
160
140
110
95
80
65
35
20
0
P(t)
1
0,98
0,83
0,74
0,36
0,22
0,08
0,02
0
99
Лабораторная работа № 8
Задача упорядочения
Цель работы: ознакомление с постановкой задачи упорядочения
и ее реализации на ЭВМ на примере алгоритма Джонсона.
Данная задача относится к классической задаче упорядочения,
т. е. задаче определения оптимальной последовательности обработки
изделий, массивов информации, определения наилучших маршрутов движения и т. д. В отечественной практике задачи согласования
имеют спе­циальное название – сетевое планирование и управление.
Это задачи, в которых исследуются процессы, состоящие из комплекса взаимосвязанных операций (работ, событий, экспериментов), четко разграни­ченных по продолжительности выполнения,
по ресурсам, затрачи­ваемым на операции, а также по месту выполнения с целью оцен­ки ожидаемого развития процесса во времени
и выявления опера­ций, наиболее важных с точки зрения сроков завершения всего процесса в целом. В ряде случаев решается также
задача учета ресурсов.
Конкретно, задача обработки деталей относится к классу детерминированных задач упорядочения, т. е. задач с точно известной
продолжительностью операций.
Рассмотрим постановку задачи на числовом примере. Пусть имеется несколько деталей, каждое из которых должно быть обработано на двух станках. Допустим, что известны время обработки
и последовательность обработки каждого изделия на каждом станке (табл. 8.1). Требуется выбрать такой порядок обработки деталей,
при котором суммарное время обработки или суммарное время ожидания обработки изделии на станке будет минимальным.
Перечислим ограничения задачи:
1) время перехода детали от одной машины к другой незна­
чительно, и им можно пренебречь;
Таблица 8.1
Исходные данные для примера
j
1
2
3
4
5
6
Время обработки
на пер­вом станке
t1j
6
4
6
5
7
4
Время обработки
на вто­ром станке
t2j
5
2
3
6
6
7
Номер детали
100
2) каждая деталь обрабатывается в определенном технологи­
ческом порядке;
3) каждое обслуживание должно быть завершено прежде, чем
начнется следующее. Обозначим t1j время обработки j-й детали на
первом станке, а t2j – время обработки j-й детали на втором станке.
Пусть T – полное время, которое пройдет от начала обработки
первой детали на первом станке до конца обработки последней детали на втором станке.
Пусть tnj – время простоя второго станка между концом выполнения работы по обработке (j – 1)-й детали на втором станке и началом обработки j-й детали на том же самом станке. Тогда суммарное
время обработки деталей составит
m
m
j=1
j=1
T = å t2 j + å tnj ,
а так как сумма
m
å t2j
j=1
известна и равна 29, то следует минимизировать сумму:
m
å tnj .
j=1
Известен алгоритм для нахождения оптимальной последовательности порядка обслуживания т требований на двух пунктах
обслужи­вания (алгоритм Джонсона) [2]. При этом каждое из требований должно пройти сначала обслуживание на первом пункте, а затем на втором. Продолжительность обслуживания требований различная. Если использовать метод прямого перебора,
то при наличии требований (изделий) и двух пунктов обслуживания (cтанков) и при условии, что все виды требований обрабатываются в одина­ковом порядке, существует т! возможных вариантов (последова­тельностей). Для нашего примера имеется
720 вариантов.
Алгоритм включает следующие основные этапы:
1) поиск наименьшего элемента. Ищем в табл. 8.1 наимень­ший
элемент (равен 2, относится ко второму станку);
2) перестановка деталей. Определяется местонахождение элемента, если этот элемент относится к первому станку, то столбец
101
Таблица 8.2
Иллюстрация к работе алгоритма
Номер изделия j
1
2
3
4
5
6
Время обработки
на пер­вом станке t1j
6
4
6
5
7
4
Время обработки
на вто­ром станке t2j
5
2
3
6
6
7
Номер цикла
4
1
2
4
5
3
Таблица 8.3
Иллюстрация к работе алгоритма
Номер изделия j
6
4
5
1
3
2
Время обработки
на первом станке t1j
4
5
7
6
6
4
Время обработки
на втором станке t2j
7
6
6
5
3
2
с выделением поставить на первое место, если ко второму, то поставить на последнее место календарного плана (табл. 8.2). При
наличии равных минимальных элементов в обеих строках деталь
с мини­мальным временем обработки на первом станке ставится на
пер­вое место, а на втором станке – на последнее. Если же одинаковые минимальные элементы оказываются в первой (второй) стро­
ке, то на первое (последнее) место ставится деталь, которой соответствует меньший элемент второй (первой) строки;
3) вычеркивание из таблицы столбца, отмеченного выделением,
и возвращение к п. 1 и т. д., пока не будет исчерпан список всех деталей.
В результате получим оптимальную последователь­ность обработки изделий на двух станках (табл. 8.3). При этом минимальное
для нашего примера
m
å tnj = 5, Tmin = 34.
j=1
Последняя графа таблицы (номер цикла) показывает последовательность вы­черкивания столбцов для данного примера.
Класс задач, к которым применим алгоритм Джонсона, ограни­чен. Решение же методом прямого перебора всех возможных
ва­риантов уже при десяти изделиях требует более 3 млн переборов.
102
В некоторых задачах упорядочения для решения можно использовать методы ЛП.
В данной работе поставлена задача разработать программу для
определения оптимального порядка обслуживания требований на
двух станках, общее время обслуживания и время простоя второго
станка на основе исходных данных из приведенных выше таблиц
и следующего программного фрагмента:
for (int i=0;i<N;i++)
{ S[i][0]=T[i][0]; S[i][1]=T[i][1]; }
k=0; l=0;
do {
if (T[0][0] < T[0][1])
{ smin=T[0][0];ii=0;jj=0; }
else { smin=T[0][1];ii=0; jj=1; }
for (int i=1;i<N;i++)
{
for ( int j=0; j<2; j++)
{ if (T[i][j] < smin)
{ smin =T[i][j]; ii=i; jj=j; }
}
}
if ( jj==0)
{LO[k]=ii;k+=1; }
else
{ LO[N-l-1]=ii; l+=1; }
T[ii][0]=1000000; T[ii][1]=1000000;
} while ((k+l) < N);
//расчет времени
THP1[0]=0;
TKP1[0]=S[LO[0]][0];
THP2[0]=TKP1[0];
TKP2[0]=THP2[0]+S[LO[0]][1];
TH2=THP2[0];
for(k = 1;k<N;k++)
{
THP1[k]=TKP1[k-1];
TKP1[k]=THP1[k]+S[LO[k]][0];
if (TKP2[k-1]>TKP1[k])
THP2[k]=TKP2[k-1];
else
{ THP2[k]=TKP1[k]; TH2+=TKP1[k]-TKP2[k-1]; }
103
TKP2[k]=THP2[k]+S[LO[k]][1];
}
m _ TKP2=TKP2[N-1];
m _ TH2=TH2;
}
В листинге обозначено N – число требований; Ti, j – время обслуживания требований на j-м станке (i = 0, N – 1; j = 0,1);
LO[i] , i = 0, N – 1 последовательность обслуживания; TH2 – время
простоя второго станка.
Примеры пользовательского интерфейса приведены в Приложении 3.
104
Лабораторная работа № 9
Классическая транспортная задача
и задача о назначении
Цель работы: приобретение навыков формализации и решения
транспортной задачи и задачи о назначении, которые относятся
к классу двухиндексных.
9.1. Транспортная задача: планирование грузоперевозок
Транспортная задача, или задача планирования перевозок, подразумевает опре­деление количества товара, которое надо перевезти
из одного места (пункт-отпра­витель) в другое (пункт-получатель).
Обычно цель задачи – минимизировать за­траты на перевозку или
минимизировать расстояние. Ограничивающие факторы в таком
типе задач – возможности пункта-отправителя и требования (спрос)
в каждом пункте-получателе. В качестве ограниченных ресурсов
выступают, к примеру, финансовые возможности предприятия,
ограниченное число располагаемых человеко-часов, ограниченные
возможности по завозу сырья и т. п.
Исходными данными задачи являются N поставщиков и M товаров, которые они поставляют, а также матрица размером M × N,
содержащая затраты на поставку каждого товара каждым поставщиком. Известно также потребное количество товара каждого вида. Необходимо определить объемы закупок каждого товара у каждого поставщика таким образом, чтобы суммарные затраты (общая
стоимость доставки) были минимальны (отметим, что в этой связи
важное значение приобретает задача оптимального выбора месторасположения распределительного склада). Приведем формальную
постановку классической транспортной задачи:
n
n
–  f (x) = åå cij xij ® min (затраты на перевозку);
n
– 
i=1 j=1
å xij = ai , i = 1, m
– сумма элементов в i-й стpоке матpицы X
j=1
должна быть pавна обьёму товаpа, котоpый есть у i-го поставщика
(столько можем пеpевести), кроме того, xij – целые, неотрицательные;
n
– 
å xij = bj , j = 1, n
– сумма элементов в j-м столбце должна
i=1
быть pавна объёму потpебления j-го потpебителя.
105
Достаточное условие существования допустимого решения
задачи:
m
n
j=1
j=1
å ai = å bj (9.2)
утверждает, что объём товаpов, имеющийся у всех поставщиков,
должен быть pавен обьёму товаpов, котоpый может быть потpеблён
(тогда задача называется закpытой).
Рассмотрим следующий пример.
Торговая организация продает велосипеды с десятью скоростями. У фирмы есть склады в двух городах, Санкт-Петербурге и
Москве. Три ее розничные торговые точки размещены вблизи
Твери, Рязани и Новгороде – крупных потребительских рынков.
Требование продаж на следующий год в магазине Твери составляет 10 000 велосипедов, в магазине Рязани – 8000 велосипедов и в магазине Новгорода – 15 000 велосипедов. Возможности
складов ограничены. Склады в Санкт-Петербурге могут хранить
и отгружать 20 000 велосипедов, склады в Москве – 15 000 велосипедов в год.
Стоимость перевозки одного велосипеда из каждого склада
в каждый магазин различна, и затраты на перевозку одного велосипеда (в у. е.) приведены в табл. 9.1. Компания хочет подстроить
годовой график перевозок так, чтобы общие затра­ты на транспортировку были минимальными.
Чтобы сформулировать эту задачу, используя ЛП, обозначим
x11 – количество велоси­педов, отгруженных из Санкт-Петербурга
в Тверь. Первая цифра в индексе оз­начает место отправления
(склад), а вторая – место получения (магазин). Таким образом,
в общем xij означает количество велосипедов, перевозимых от места от­правления i в место получения j. Будем считать, что:
– x12 – количество велосипедов, перевозимых из Санкт-Петербурга в Тверь;
Таблица 9.1
Исходные данные
Откуда
Куда
Тверь
Рязань
Новгород
Санкт-Петербург
2
3
5
Москва
3
1
4
106
– x13 – количество велосипедов, перевозимых из Санкт-Петербурга в Новгород;
– x21 – количество велосипедов, перевозимых из Москвы в Тверь;
– x22 – количество велосипедов, перевозимых из Москвы в Рязань;
– x23 – количество велосипедов, перевозимых из Москвы в Новгород.
Тогда целевая функция и сдерживающие факторы выглядят
так:
общие затраты на перевозки =
= 2x11 + 3x12 + 5x13 + 3x21 + 1x22 + 4x23 → min,
при ограничениях:
– x11 + x21 = 10 000 (спрос в Твери),
– x12 + x22 = 8000 (спрос в Рязани),
– x13 + x23 = 15 000 (спрос в Новгороде),
– x11 + x12 + x13 = 20 000 (поставка из Санкт-Петербурга),
– x21 + x22 + x23 = 15 000 (поставка из Москвы).
Рис. 9.1. Описание задачи
Рис. 9.2. Результаты решения задачи
107
Почему транспортные задачи являются особым классом задач
ЛП? Дело в том, что коэффициент перед переменной в уравнениях
ограничивающих факторов всегда равен 1. Решение, предложенное
компьютером для задачи, показано на рис. 9.2. Общая стоимость
транспортировки составляет 9600 у. е.
В качестве иллюстрации описание постановки задачи приведено
в авторской разработке – программе LinPro, где форма задания
целевой функции и ограничений, в отличие от MS Excel, имеют более
наглядный вид, а главное, отсутствуют ограничения на размерность
задачи. Алгоритмическая основа программы использовала материалы, изложенные в [4]. Решение приведено на рис. 9.1 и 9.2
соответственно.
9.2. Разработка графика работы служащих: задача о назначении
Задачи о назначении включают в себя определение наиболее рационального распре­деления людей по рабочим местам, машин – по
заданиям или участкам города, коммивояжеров – по территориям
и т. д. Обычно цель таких задач – минимизировать время поездки
или расходы либо максимизировать эффективность назначения.
Задачи назначения уникальны, потому что у них не только все переменные в ограничивающих факторах ЛП имеют коэффициент 1,
но и правая часть каж­дого ограничивающего фактора также всегда
равна 1. Применение ЛП дает решения 0 или 1 для каждой переменной в данной формуле.
Рассмотрим следующий пример.
Юридическая фирма, заинтересованная в эффективном использовании своих кадров, хочет найти способ оптимального назначения адвоката клиенту.
Фирму посетили четыре новых клиента. Все сотрудники перегружены, но менеджер фирмы хочет помочь новым клиентам. Он просматривает текущую загрузку и определяет четырех младших сотрудников, которых можно назначить на эти дела, несмотря на их занятость.
Каждый молодой адвокат может оказать услугу только одному новому
клиенту. Кроме того, у каждого адвоката своя специализация.
Пытаясь максимизировать общую эффективность назначения адвокатов, менеджер составил таблицу, в которой оценил эффективность
(по шкале от 1 до 9) каждого адвоката в каждом новом деле (табл. 9.2).
Пусть xij = 1, если адвокат i назначен на дело j; xij = 0 – если
не назначен, i = 1, 2, 3, 4 (Иванов, Петров, Сидоров, Воробьев), j = 1,
2, 3, 4 (развод, слияние, хищение, незаконная сделка).
108
Таблица 9.2
Исходные данные
Дело клиента
Развод
Корпоративное
слияние
Присвоение
чужих денег,
имущества
Незаконные
сделки с ценными
бумагами
Иванов
9
2
8
5
Петров
9
3
5
8
Сидоров
4
8
3
4
Воробьев
6
7
6
4
Адвокат
Сформулируем задачу о назначении:
Максимизировать эффективность =
6x11 + 2x12 + 8x13 + 5x14 + 9x21 + 3x22 + 5x23 + 8x24 + 4x31 +
+ 8x32 + 3x33 + 4x34 + 6x41 + 7x42 + 6x43 + 4x44,
если:
– x11 + x21 + x31 + x41 = 1 (развод),
– x12 + x22 + x32 + x42 = 1 (слияние),
– x13 + x23 + x33 + x43 = 1 (хищение),
– x14 + x24 + x34 + x44 = 1 (сделка),
– x11 + x12 + x13 + x14 = 1 (дела, порученные Иванову),
– x21 + x22 + x23 + x24 = 1 (дела, порученные Петрову),
– x31 + x32 + x33 + x34 = 1 (дела, порученные Сидорову),
– x41 + x42 + x43 + x44 = 1 (дела, порученные Воробьеву).
Задача юридической фирмы решена с оценкой общей эффективности в 30 баллов при условии, что x13 = 1, x24 = 1, x32 = 1, x41 = 1
(остальные переменные равны нулю).
В программе LinPro описание постановки задачи и решение имеют вид, приведенный на рис. 9.3 и 9.4.
Рассмотрим методику решения транспортной задачи (ТЗ) в MS
Excel.
9.3. Методика решения ТЗ в MS Excel
Рассмотрим решение двухиндексной (у переменных два индекса) задачи, суть которой заключается в оптимальной организации
транспортных перевозок штучного товара со складов в магазины
(табл. 9.3).
109
Рис. 9.3. Описание задачи
Рис. 9.4. Результаты решения задачи
Таблица 9.3
Исходные данные ТЗ (тарифы, р./шт.)
Номер склада
1-й магазин
2-й магазин
3-й магазин
Запасы, шт.
1
2
9
7
25
2
1
0
5
50
3-
5
4
100
35
4
2
3
6
75
45
90
50
Потребности, шт.
110
L(X) = 2x11 + 9x12 + 7x13 + x21 + 5x23 + 5x31 +
+ 4x32 + 100x33 + 2x41 + 3x42 + 6x43 → min, x11 + x12 + x13 = 25,
x21 + x22 + x23 = 50,
x31 + x32 + x33 = 35,
x41 + x42 + x43 = 75,
x11 + x21 + x31 + x41 = 45,
x12 + x22 + x32 + x42 = 90,
x11 + x21 + x31 + x41 = 50, (9.3)
где x – целые, неотрицательные.
ij
Экранные формы, задание переменных, целевой функции,
ограничений и условия (9.2) , а также решение представлены на
рис. 9.5–9.7 и в табл. 9.3.
Заметим, что поскольку решение должно быть найдено в целых числах (в шт.), необходимо в ограничениях указать, что числа
целые.
Данная задача является сбалансированной, поскольку суммарные
запасы (ячейка H8) и потребности (G9) совпадают и равны 185 шт.
В лабораторной работе предлагается решить следующую задачу (см. «Варианты заданий»). На складах хранится мука, которую
необходимо завезти в хлебопекарни.
Таблица 9.4
Формулы экранной формы задачи (9.3)
Объект математической модели
Переменные задачи
Формула в целевой ячейке F15
Выражение в Excel
C3:E6
=СУММПРОИЗВ(C3:E6;C12:E15)
Ограничения по строкам в ячейках F3, F4, F5, F6
=СУММ(C3:E3)
=СУММ(C4:E4)
=СУММ(C5:E5)
=СУММ(C6:E6)
Ограничения по столбцам в ячейках С7, D7, E7
=СУММ(C3:C6)
=СУММ(D3:D6)
=СУММ(E3:E6)
Суммарные запасы и потребности
в ячейках H8, G9 соответственно
=СУММ(H3:H6)
=СУММ(C9:E9)
111
Рис. 9.5. Экранная форма задачи (9.3) (курсор в целевой ячейке F15)
Рис. 9.6. Ограничения и граничные условия задачи (9.3)
Рис. 9.7. Экранная форма после получения решения задачи (9.2)
(курсор в целевой ячейке F15)
112
Номера складов и хлебопекарен выбираются в соответствии с
нижеприведенными вариантами. Текущие тарифы перевозки муки
(р./т), ежемесячные запасы муки (т/мес.) на складах и потребности
хлебопекарен в муке (т/мес.) указаны в табл. 9.5. При этом необходимо учитывать, что из-за ремонтных работ временно нет возможности перевозить муку с некоторых складов в некоторые хлебопекарни. Это показано в графе «Запрет перевозки» в формате № склада × № хлебопекарни. Например, «2 × 3» обозначает, что нельзя
перевозить муку со склада № 2 в хлебопекарню № 3.
Кроме того, необходимо учесть, что некоторые хлебопекарни
имеют договоры на гарантированную поставку муки с определенных складов. это показано в графе «Гарантированная поставка»
в формате № склада × № хлебопекарни = объем поставки. Например, «1 × 4 = 40» обозначает, что между складом № 1 и магазином № 4 заключен договор на обязательную поставку 40 т муки.
Необходимо организовать поставки наилучшим образом, учитывая, что мука хранится и транспортируется в мешках весом
по 50 кг. Таким образом, запасы и потребности необходимо пересчитать в мешки (задача становится целочисленной), а также учесть, что
тарифы должны быть также приведены к доставке мешков. Например, 77,86 т/мес. : 0,05 т/меш. = 1557,2 = 1558 меш./мес. (спрос округляем в большую сторону), тариф – 600 р./т · 0,05 т/меш. = 30 р./меш.
Таблица 9.5
Запасы, потребности и тарифы перевозок
Номер склада
Номер хлебопекарни
1
2
3
4
5
Запас, т/мес.
1
400
600
2
300
100
800
200
200
80
500
600
500
70
3
500
200
100
4
300
700
200
600
300
60
400
900
55
65
5
200
500
800
200
400
Спрос, т/мес.
77,86
56,78
58,88
62,44
73,92
Невозможность доставки грузов со второго склада в третью хлебопекарню задается в модели с помощью запрещающего тарифа, который должен превышать величину тарифа (больше максимального), например, для данной таблицы с23 = 1000 р./т.
Когда суммарный объем предложения (грузы в пунктах отправления) не равен общему объему спроса (грузы, запрашиваемые
113
в пунктах назначения), ТЗ называется несбалансированной. При
решении задачи эффективным методом потенциалов несбалансированную задачу в зависимости от знака разницы объемов спроса
и предложения сводят к сбалансированной введением фиктивных
поставщиков или потребителей. в MS Excel несбалансированность
учитывается изменением ограничений по спросу (если спрос превышает предложение) или по предложению (если предложение превышает спрос) на нестрогое равенство, т. е. в последнем случае требуется просто изменить знак в ограничениях:
n
å xij £ ai ; i = 1, m,
j=1
где ai – объем поставок i-го поставщика.
Варианты заданий
Номер
варианта
1
2
3
4
5
6
7
8
9
10
11
12
114
Номер
склада
1, 2, 3
2, 3, 4, 5
1, 2, 4
1, 2, 3, 4
1, 2, 5
1, 2, 3, 5
2, 3, 4
1, 2, 3, 5
2, 3, 5
2, 3, 4, 5
3, 4, 5
1, 2, 3, 4
Номер
хлебопекарни
1, 2, 3, 4
1, 2, 5
1, 2, 3, 5
3, 4, 5
2, 3, 4, 5
2, 3, 5
2, 3, 4, 5
1, 2, 4
1, 2, 3, 5
2, 3, 4
1, 2, 3, 4
1, 2, 3
Запрет
перевозки
Гарантированная
поставка, т/мес.
2 × 2, 3 × 4
2 × 2, 3 × 5
1 × 5, 2 × 3
3 × 3, 4 × 5
1 × 4, 5 × 3
5 × 5, 2 × 2
3 × 3, 2 × 5
1 × 2, 5 × 4
5 × 1, 3 × 5
5 × 4, 3 × 2
3 × 4, 5 × 1
3 × 2, 4 × 1
3 × 3 = 50
3 × 2 = 40
4 × 3 = 45
3 × 5 = 40
1 × 5 = 60
3 × 5 = 30
4 × 3 = 45
3 × 2 = 20
5 × 2 = 30
4 × 3 = 35
4 × 1 = 40
2 × 2 = 50
Лабораторная работа № 10
Задачи маршрутизации
Цель работы: приобретение навыков решения задач маршрутизации в транспортной логистике коммивояжером средствами
MS Excel.
Имеется n пунктов, в которых должен побывать разъездной торговец-коммивояжер. Задана матрица стоимостей (расстояний, времени и т. п.) на переход между пунктами cij, i = 1, n и j = 1, n . Коммивояжер должен выйти с одного из пунктов, побывать во всех остальных пунктах по одному разу и вернуться в начальный пункт.
Необходимо найти порядок обхода, чтобы получить минимальную суммарную стоимость посещения всех пунктов.
Введем переменную
ìï1, ïðè ïåðåõîäå ìåæäó ïóíêòàìè i è j,
xij = ïí
ïïî 0, íåò ïåðåõîäà ìåæäó ïóíêòàìè i è j.
Необходимо найти множество {xij}, i = 1, n и j = 1, n, дающее
минимум:
n
n
Z = å å cij xij ® min
j=1 i=1
{xij }
и выполнение ограничений
n
å xij = 1; n
(10.1)
j=1
å xij = 1; (10.2)
ui – uj + nx ij ≤ n – 1, i, j =2, …, n, i ≠ j,
(10.3)
i=1
где ui, uj – целые неотрицательные числа, представляющие собой
номера этапов, на которых посещаются соответственно пункты i и j.
Условие (10.1) означает, что коммивояжер выходит из каждого
пункта один раз, а условие (10.2) – что он входит в каждый пункт
только один раз. Условие (10.3) – сумма n элементов полученного
пути меньше, либо равна (n – 1) – обеспечивает замкнутость цикла
(контура) только на n-м этапе решения задачи.
115
Задача без учета условия (10.3) представляет постановку, аналогичную задаче о назначениях и отличается тем, что целевая функция
стремится к минимуму (Z → min). Если при ее решении получен замкнутый контур, то это оптимальное решение, а иначе полученное значение целевой функции является той оценкой, которая всегда меньше
или равна целевой функции (длине пути) с учетом условия (10.3).
Как известно, сформулированная задача решается методом ветвей и границ. В лабораторной работе на приведенном ниже примере
будет рассмотрена методика решения задачи средствами программы MS Excel.
Для сети, изображенной на рис. 10.1, найти кратчайший путь
объезда всех пунктов, если: с12 = с21 = 1 км; с13 = с31 = 4 км; с14 = с41
= 6 км; с23 = с32 = 3 км; с26 = с62 = 5 км; с27 = с72 = 1 км; с34 = с43 =
3 км; с35 = с53 = 5 км; с45 = с54 = 1 км; с48 = с84 = 4 км; с56 = с65 = 1
км; с58 = с85 = 2 км; с67 = с76 = 3 км; с68 = с86 = 4 км; с78 = с87 = 7 км.
На рабочем листе Excel представлены исходные данные (рис. 10.2)
и табличная модель рассматриваемой задачи (рис. 10.3). Дан­ные
скомпонованы в виде трех матриц: Коэффициенты целевой функции сij Переменные хij Система ограничений ui – uj + n ≤ xij ≤ п – 1
и вектора-стро­ки Переменные uij.
В целевую ячейку, в данном случае Q32, необходимо занести
формулу: Q32=CУMMПPOИ3B(P3:W10;P12:W19). В таблицу Система ограничений ui – uj + n*xij ≤ п – 1 заносятся формулы, соответствующие левой части третьей группы ограничения в системе ограничений.
Рис. 10.1. Граф связей пунктов доставки
116
Рис. 10.2. Исходные данные и формулы
Рис. 10.3. Ограничения задачи
117
На рис. 10.4 представлены результаты работы программы
Путь начинается в вершине с номером 1 и в ней же заканчивается, проходя через остальные вершины в порядке возрастания значений переменной ui. Полный замкнутый путь минимальной длины, который удалось найти: 1 → 2 → 7 → 5 → 8 → 4 → 3 → 1. Общая
длина – 19 км.
Рис. 10.4. Результаты решения задачи
Рис. 10.5. Граф решения задачи
118
Варианты заданий
Х
14
4
10
1
17
18
Х
1
13
29
30
№1
22
20
15
5
Х
7
1
Х
5
21
22
15
30
30
25
13
Х
19
14
22
6
18
30
Х
Х
5
22
24
21
3
26
Х
3
21
21
1
№2
12
11
16
25
Х
15
13
Х
11
4
20
16
3
20
14
30
Х
21
24
18
29
13
13
Х
X
5
26
24
30
6
1
X
17
4
25
5
№3
19
19
23
6
X
4
30
X
11
14
30
21
26
24
22
2
X
18
3
2
19
6
14
X
X
16
15
4
3
2
17
X
14
10
29
9
№4
9
28
21
3
X
25
6
X
25
25
29
1
7
24
24
25
X
13
26
19
8
27
1
X
X
26
12
11
1
16
10
X
1
3
18
13
№5
28
6
22
14
X
28
12
X
19
7
22
7
22
18
27
17
X
8
14
24
18
4
29
X
X
25
30
29
27
28
20
X
17
28
5
26
№6
30
6
20
27
X
6
16
X
18
18
20
13
19
23
21
25
X
10
1
24
21
13
28
X
X
24
7
7
8
5
2
X
4
24
10
10
№7
17
4
11
5
X
11
16
X
13
26
2
25
22
1
18
29
X
30
15
7
18
4
1
X
X
7
18
15
20
7
6
X
24
15
1
1
№8
19
10
28
30
X
23
30
X
3
16
15
8
27
9
18
30
X
4
6
8
25
28
5
X
X
29
23
29
3
29
14
X
13
29
11
10
№9
16
26
14
30
X
30
29
X
7
21
18
1
23
30
8
9
X
27
2
19
21
29
14
X
X
14
13
14
11
22
9
X
9
20
12
23
№ 10
22
18
2
25
X
3
22
X
30
23
17
15
25
17
24
30
X
29
13
28
5
20
9
X
119
Окончание
X
5
10
18
22
19
12
X
8
26
21
9
№ 11
28
30
12
8
X
22
23
X
27
11
1
9
13
6
2
23
X
7
25
19
7
18
18
X
X
28
6
21
2
1
26
X
4
24
13
1
№ 12
8
2
12
19
X
7
20
X
18
22
29
17
11
4
7
12
X
21
21
10
27
20
15
X
X
26
22
2
22
17
23
X
7
11
21
8
№ 13
6
11
16
18
X
16
20
X
4
12
16
7
9
4
14
27
X
3
29
19
5
24
27
X
X
29
14
17
28
17
26
X
3
22
19
25
№ 14
13
3
1
26
X
5
27
X
12
28
9
27
22
17
22
25
X
17
13
8
15
23
17
X
X
21
15
25
25
22
5
X
28
25
6
30
№ 15
14
15
28
19
X
14
5
X
5
11
4
22
1
25
24
7
X
15
28
9
18
15
6
X
X
28
28
25
3
24
15
X
11
9
29
18
№ 16
3
4
9
20
X
9
12
X
28
20
27
26
16
26
28
20
X
23
21
29
26
14
26
X
X
30
26
25
13
26
24
X
24
8
30
20
№ 18
5
14
25
3
X
21
19
X
9
10
15
17
11
22
18
10
X
5
1
8
29
13
3
X
X
1
29
23
16
10
27
X
21
15
20
16
№ 19
13
4
22
10
X
17
29
X
15
19
27
19
1
1
25
27
X
1
23
5
21
23
1
X
120
Библиографический список
1. Гаджинский А. М. Практикум по логистике. 8-е изд. перераб.
и доп. М.: Издательско-торговая корпорация «Дашков и К», 2009.
312 с.
2. Логистика: учеб. пособие / под ред. Б. А. Аникина. М.: ИНФРА-М,
1997. 327 с.
3. Глухов В. В., Медников М. Д., Коробко С. Б. Математические
методы и модели для менеджмента. СПб.: Лань, 2000. 480 c.
4. Банди Б. Основы линейного программирования. М.: Радио
и связь, 1988.
5. Андронов С. А. Методы оптимального проектирования: текст
лекций / СПбГУАП. СПб., 2001. 169 с.
6. Андронов С. А. Промышленная логистика: текст лекций /
СПбГУАП. СПб., 2007. 285 с.
7. Андронов С. А., Шамрай Я. Л. MyLogisticPro1 – Программное
обеспечение для имитационного моделирования систем управления запасами // Системный анализ и логистика: науч. вестн. кафедры системного анализа и логистики, вып. от 15.04.2010. С. 6–7.
http://www.salogistics.ru
8. Саати Т. Математические модели конфликтных ситуаций.
М.: Сов. радио, 1977. 304 с.
9. Андронов С. А. Модели и методы в системах поддержки принятия решений: учеб. пособие. СПб.: ГУАП, 2008. 176 с.
10. http://www.ingit.ru
11. http://www.monitor-crm.ru
12. http://www.xjtek.ru
121
ПРИЛОЖЕНИЕ 1
Выбор лучшей альтернативы
местоположения производства
Программа на языке системы Maple.
Рис. П1. Программа расчета рейтинга альтернатив (начало)
122
Рис. П1 (продолжение)
123
Рис. П1 (конец)
124
ПРИЛОЖЕНИЕ 2
1. Фрагменты кода программы – определения
координат склада
Реализация на языке СИ.
Ниже приведены фрагменты кода программы для трех заданий
работы.
Задание 1
На территории района имеется ряд магазинов, торгующих продовольственными товарами. Методом определения центра тяжести грузопотоков найти ориентировочное место для расположения
склада, снабжающего магазины.
Фрагмент кода программы для данной задачи:
CFont font;
font.CreateFontIndirect(&logfon);
CFont* oldfo=pDC->SelectObject(&font);
pDC->TextOut(140,20,"Невозможно выполнить
поставленную задачу.");
pDC->SelectObject(oldfo);
pDC->MoveTo(10,60);
pDC->LineTo(1100,60);
pDC->SelectObject(oldpen);
pDC->SelectObject(&oldc);
char str[10];
int d=0,f=0,g=0,i,j;
float f1=0.0,g1=0.0,m1=10000,m2=10000,r1=0,r2=0;
for(i=0;i<3;i++)
for(j=0;j<2;j++)
a[i][j]=0;
for(i=0;i<magazin;i++)
{
d+=v[i]*x[i];
g+=v[i]*y[i];
f+=v[i];
125
}
a[0][0]=d/f;
a[0][1]=g/f;
a[1][0]=x[0];
Задание 2
Определить узел транспортной сети прямоугольной конфигурации, в котором размещение распределительного склада обеспечит
минимум грузооборота транспорта по доставке грузов в обслуживаемую сеть.
Фрагмент кода программы для данной задачи:
for(i=0;i<magazin;i++)
{
f1=g1=0.0;
for(j=0;j<i;j++)
{
f1+=v[j];
}
for(j=i+1;j<magazin;j++)
{
g1+=v[j];
}
if(m1<fabs(f1-g1)) {a[1][0]=x[i-1]; i=72;}
m1=fabs(f1-g1);
}
int i1,u[30];
for(i1=0;i1<magazin;i1++)
u[i1]=y[i1];
int ymin,ym;
for(i=0;i<magazin;i++)
{
ymin=u[i];
for(j=i;j<magazin;j++)
if(u[j]<ymin)
{
ymin=u[j];
126
ym=u[j];
u[j]=u[i];
u[i]=ym;
v1[i]=v[j];
v1[j]=v[i];
}
}
a[1][1]=u[0];
for(i=0;i<magazin;i++)
{
f1=g1=0.0;
for(j=0;j<i;j++)
{
f1+=v1[j];
}
for(j=i+1;j<magazin;j++)
{
g1+=v1[j];
}
if(m2<fabs(f1-g1)) {a[1][1]=u[i-1]; i=72;}
m2=fabs(f1-g1);
}
Задание 3
Методом частичного перебора найти узел транспорт­ной сети, рекомендуемый для размещения склада, снаб­жающего магазины.
Фрагмент кода программы для данной задачи:
int grmin=30000,l1=0,l2=0,l3=0,l4=0;
for(j=0;j<2;j++)
{
for(i=0;i<magazin;i++)
{
char stre[10];
l2=0;
l1=a[j][0]-1;
if(j==0) l1=a[j][0]+1;
{
itoa(l2=pow((x[i]-l1)*(x[i]-l1)+(y[i]127
a[j][1])*(y[i]-a[j][1]),0.5),stre,10);
pDC->TextOut(364+j*220,po+160+i*30,stre);
itoa(l4=v[i]*l2,stre,10);
pDC->TextOut(474+j*220,po+160+i*30,stre);
l3+=l4;
}
}
char stre[10];
pDC->TextOut(334+j*220,po+160+magazin*30,"x
,y=[");
itoa(l1,stre,10);
pDC->TextOut(369+j*220,po+160+magazin*30,stre);
pDC>TextOut(387+j*220,po+160+magazin*30,",");
itoa(a[j][1],stre,10);
pDC->TextOut(394+j*220,po+160+magazin*30,stre);
pDC->TextOut(414+j*220,po+160+magazin*30,"]");
if(l3<=grmin)
{
grmin=l3;
a[2][0]=l1;
a[2][1]=a[j][1];
}
itoa(l3,stre,10);
pDC->TextOut(474+j*220,po+160+magazin*30,stre);
l3=0;
}
for(j=0;j<2;j++)
{
for(i=0;i<magazin;i++)
{
char stre[10];
l2=0;
l1=a[j][1]-1;
128
if(j==0) l1=a[j][1]+1;
{
itoa(l2=pow((x[i]-l1)*(x[i]-l1)+(y[i]a[j][1])*(y[i]-a[j][1]),0.5),stre,10);
pDC->TextOut(804+j*220,po+160+i*30,stre);
itoa(l4=v[i]*l2,stre,10);
pDC->TextOut(914+j*220,po+160+i*30,stre);
l3+=l4;
}
}
char stre[10];
pDC->TextOut(774+j*220,po+160+magazin*3
0,"x,y=[");
itoa(a[j][0],stre,10);
pDC->TextOut(809+j*220,po+160+magazin*30,stre);
pDC>TextOut(829+j*220,po+160+magazin*30,",");
itoa(l1,stre,10);
pDC->TextOut(836+j*220,po+160+magazin*30,stre);
pDC->TextOut(854+j*220,po+160+magazin*30,"]");
if(l3<=grmin)
{
grmin=l3;
a[2][0]=a[0][j];
a[2][1]=l1;
}
itoa(l3,stre,10);
pDC->TextOut(914+j*220,po+160+magazin*30,stre);
l3=0;
}
for(i=0;i<magazin+2;i++)
{
pDC->MoveTo(20,po+150+i*30);
pDC->LineTo(1205,po+150+i*30);
}
pDC->MoveTo(20,po+60);
pDC->LineTo(20,po+150+(magazin+1)*30);
pDC->MoveTo(257,po+60);
129
pDC->LineTo(257,po+150+magazin*30);
for(i=0;i<9;i++)
{
pDC->MoveTo(324+i*110,po+60);
pDC->LineTo(324+i*110,po+150+(magazin+1)*30);
}
pDC->TextOut(55,po+160+magazin*30,"Итого");
po=po+270+magazin*30;
CBrush* br;
br=new CBrush(RGB(190,190,190));
CBrush* oldbr=pDC->SelectObject(br);
pDC->Rectangle(100,po+20,980,po+500);
pDC->SelectObject(oldbr);
delete br;
pDC->MoveTo(100,po+500);
pDC->LineTo(100,po-10);
pDC->LineTo(105,po);
pDC->MoveTo(100,po-10);
pDC->LineTo(95,po);
pDC->MoveTo(100,po+500);
pDC->LineTo(1080,po+500);
pDC->LineTo(1070,po+505);
pDC->MoveTo(1080,po+500);
pDC->LineTo(1070,po+495);
for(i=0;i<10;i++)
{
pDC->MoveTo(180+i*80,po+500);
pDC->LineTo(180+i*80,po+20);
}
2. Фрагменты кода программы определения
лучшего поставщика
Реализация на языке СИ.
1. Расчет средневзвешенного темпа роста цен (показатель цены):
char df[8][80]={"Поставщик","ТцА,%","ТцВ,%","SA,руб.","
SB,руб.","dA","dB","Тц"};
for(i=0;i<8;i++)
130
{
pDC->TextOut(50+i*125,po+10,df[i]);
}
float e1,e2;
pDC->TextOut(70,po+50,"№1");
pDC->TextOut(70,po+90,"№2");
float r1,r2;
itoa(a[0][0]=price[0][1]*100/price[0][0],tim,10);
pDC->TextOut(190,po+50,tim);
itoa(a[0][1]=price[0][3]*100/price[0][2],tim,10);
pDC->TextOut(315,po+50,tim);
itoa(price[0][1]*ob[0][1],tim,10);
pDC->TextOut(440,po+50,tim);
itoa(price[0][3]*ob[0][3],tim,10);
pDC->TextOut(565,po+50,tim);
gcvt(r1=(float)price[0][1]*ob[0][1]/(price[0][1]*ob[0]
[1]+price[0][3]*ob[0][3]),2,tim); pDC->TextOut(690,po+50,tim);
gcvt(r2=(float)price[0][3]*ob[0][3]/(price[0][1]*ob[0]
[1]+price[0][3]*ob[0][3]),2,tim); pDC->TextOut(815,po+50,tim);
gcvt(e1=r1*a[0][0]+r2*a[0][1],4,tim);
pDC->TextOut(940,po+50,tim);
itoa(a[0][0]=price[1][1]*100/price[1][0],tim,10);
pDC->TextOut(190,po+90,tim);
itoa(a[0][1]=price[1][3]*100/price[1][2],tim,10);
pDC->TextOut(315,po+90,tim);
itoa(price[1][1]*ob[1][1],tim,10);
pDC->TextOut(440,po+90,tim);
itoa(price[1][3]*ob[1][3],tim,10);
pDC->TextOut(565,po+90,tim);
gcvt(r1=(float)price[1][1]*ob[1][1]/(price[1][1]*ob[1]
[1]+price[1][3]*ob[1][3]),2,tim); pDC->TextOut(690,po+90,tim);
gcvt(r2=(float)price[1][3]*ob[1][3]/(price[1][1]*ob[1]
[1]+price[1][3]*ob[1][3]),2,tim); pDC->TextOut(815,po+90,tim);
gcvt(e2=r1*a[0][0]+r2*a[0][1],5,tim);
pDC->TextOut(940,po+90,tim);
131
2. Расчет темпа роста поставки товаров ненадлежащего качества (показатель качества):
gcvt(cena[0],2,tim);
pDC->TextOut(260,po+130,tim);
gcvt(cena[1],2,tim);
pDC->TextOut(260,po+170,tim);
gcvt(cena[2],2,tim);
pDC->TextOut(260,po+210,tim);
gcvt(know[0][0]=e1,4,tim);
pDC->TextOut(430,po+130,tim);
gcvt(know[0][1]=(float)nongood[2]*10000/(ob[0][1]+ob[0]
[3])/((float)nongood[0]*100/(ob[0][0]+ob[0][2])),5,tim);
pDC->TextOut(430,po+170,tim);
3. Расчет темпа роста среднего опоздания (показатель надежности поставки, Тн.п.):
gcvt(know[0][2]=(float)pozdno[0][3]*100/pozdno[0][2]/((float)
pozdno[0][1]/pozdno[0][0]),5,tim);
pDC->TextOut(430,po+210,tim);
gcvt(know[1][0]=e2,4,tim);
pDC->TextOut(600,po+130,tim);
gcvt(know[1][1]=(float)nongood[3]*10000/(ob[1][1]+ob[1]
[3])/((float)nongood[1]*100/(ob[1][0]+ob[1][2])),5,tim);
pDC->TextOut(600,po+170,tim);
gcvt(know[1][2]=(float)pozdno[1][3]*100/pozdno[1][2]/
((float)pozdno[1][1]/pozdno[1][0]),5,tim);
pDC->TextOut(600,po+210,tim);
4. Расчет рейтинга поставщиков:
gcvt(reiting[0]=know[0][0]*cena[0],4,tim);
pDC->TextOut(770,po+130,tim);
gcvt(know[0][1]*cena[1],5,tim);
reiting[0]+=know[0][1]*cena[1];
pDC->TextOut(770,po+170,tim);
gcvt(know[0][2]*cena[2],5,tim);
reiting[0]+=know[0][2]*cena[2];
pDC->TextOut(770,po+210,tim);
gcvt(reiting[0],5,tim);
132
pDC->TextOut(770,po+250,tim);
gcvt(reiting[1]=know[1][0]*cena[0],4,tim);
pDC->TextOut(940,po+130,tim);
gcvt(know[1][1]*cena[1],5,tim);
reiting[1]+=know[1][1]*cena[1];
pDC->TextOut(940,po+170,tim);
gcvt(know[1][2]*cena[2],5,tim);
reiting[1]+=know[1][2]*cena[2];
pDC->TextOut(940,po+210,tim);
gcvt(reiting[1],5,tim);
pDC->TextOut(940,po+250,tim);
133
ПРИЛОЖЕНИЕ 3
Примеры пользовательского интерфейса
Пример интерфейса программы оптимизации уровня запасов
при случайном спросе
Входные параметры: С1 = 200 – стоимость одного изделия;
С2 = 500 – затраты в случае выхода из строя одного изделия;
Nmax= 7 – максимальное число исследуемых изделий (величина,
свыше которой вероятности выхода из строя изделий равны нулю);
P(i) = (0,35; 0,22; 0,16; 0,1; 0,08; 0,06; 0,03) – вероятность выхода из
строя i-го изделия.
Выходные параметры: N0 – оптимальный уровень запаса изделия; Y – минимальная величина целевой функции. В программе
имеется всего два окна ввода данных и окно вывода результатов.
Рис. П3.1. Окна программы
134
Пример интерфейса программы
для определения времени замены оборудования
1. Определение оптимального времени замены оборудования
с учетом приведения затрат к текущему моменту времени. Эта процедура имеет единственное окно.
Рис. П3.2. Экранная форма интерфейсая
Замена с целью предупреждения отказа
Входные параметры: Cот = 200 – затраты, связанные с отказом;
С2 = 50 затраты на одну замену; Тс = 7 срок службы оборудования;
Рис. П3.3. Окно ввода данных
135
Nmax = 200 – общее количество оборудования. Количество неотказавшего оборудования: N(t) = 190 180 160 100 40 20 10.
Выходные параметры: Т – время замены оборудования, Ymin –
минимальная величина целевой функции.
После нажатия на кнопку «Пуск» можно ввести количество не
отказавшего оборудования по срокам. Результат расчета приведен
на рис. П3.4.
Рис. П3.4. результаты решения задачи
Пример интерфейса программы
для оптимизации последовательности обработки
Входные параметры: N = 6 – число требований; Т(i,1), Т(i,2) –
время обслуживания i-го требования на 1-м и 2-м станках соответственно:
T(i,1)
6
4
6
5
7
6
T(i,2)
5
2
3
6
6
7
136
Рис. П3.5. Окно ввода исходных данных
По пункту «Время обработки» появляется окно ввода данных:
Задавая количество деталей и времена обработки на станках, получим результаты работы процедуры определения последовательности обработки.
Рис. П3.6. результаты решения задачи
137
Содержание
Предисловие........................................................................ 3
Введение ............................................................................. 4
Лабораторная работа № 1. ABC- и XYZ-анализ ......................... 1.1. Методика проведения АВС-анализа .............................. 1.2. Методика проведения XYZ-анализа .............................. 8
8
14
Лабораторная работа № 2. Задачи размещения производства...... 20
2.1. Метод анализа иерархий при оценке альтернатив ........... 20
2.2. Определение местоположения распределительного центра 24
Метод центра тяжести ....................................... 24
Метод пробной точки ......................................... 25
Метод решения в оптимизационной постановке ..... 25
Лабораторная работа № 3. Контроль в сфере закупочной деятельности и принятии решения по размещению заказов................... 3.1. Выбор поставщика...................................................... 3.2. Выбор поставщика с учетом динамики показателей его
работы ..................................................................... 35
Лабораторная работа № 4. Расчет маршрутов движения автотранспорта в программе «Деловая карта»................................. 45
Лабораторная работа № 5. Решение задач распределения ограниченных ресурсов................................................................... 5.1. Постановка распределительных задач........................... 5.2. Методика решения распределительных задач ЛП в программе MS Excel ........................................................ Ввод исходных данных............................................... Задание ЦФ.............................................................. Ввод ограничений и граничных условий....................... Решение задачи......................................................... 5.3. Формализация распределительных задач производственной логистики........................................................... Постановка задачи..................................................... Построение модели .................................................... Лаборатораторная работа № 6. Задачи управления запасами ...... 6.1. Задача управления запасами при случайном спросе......... 6.2. Управление запасами с фиксированным размером заказа. 6.3. Описание системы управления запасов с фиксированным
интервалом времени между заказами ........................... 138
32
32
51
51
54
55
59
59
61
65
65
66
76
76
78
84
6.4. Сравнение основных систем управления запасами .......... 6.5. Прочие системы управления запасами ......................... Система с установленной периодичностью пополнения
запасов до установленного уровня ...................... Система «минимум-максимум» (MIN-МАХ) ................. Лабораторная работа № 7. Задача оптимизации момента времени
замены оборудования............................................................ 7.1. Замена оборудования с учетом приведения затрат к текущему моменту времени............................................... 7.2. Замена оборудования с целью предупреждения отказа .... 88
89
89
90
96
96
98
Лабораторная работа № 8. Задача упорядочения........................ 100
Лабораторная работа № 9. Классическая транспортная задача
и задача о назначении............................................................ 9.1. Транспортная задача: планирование грузоперевозок ....... 9.2. Разработка графика работы служащих: задача о назначении ...................................................................... 9.3. Методика решения ТЗ в MS Excel.................................. 105
105
108
109
Лабораторная работа № 10. Задачи маршрутизации .................. 115
Библиографический список.................................................... 121
Приложение 1...................................................................... 122
Выбор лучшей альтернативы местоположения производства.. 122
Приложение 2...................................................................... 125
1. Фрагменты кода программы – определения координат
склада ..................................................................... 125
2. Фрагменты кода программы определения лучшего поставщика........................................................................ 130
Приложение 3...................................................................... 134
Примеры пользовательского интерфейса ............................. 134
139
Учебное издание
Андронов Сергей Александрович
Аналитическое
моделирование
в логистике
Лабораторный практикум
Редактор Г. Д. Бакастова
Компьютерная верстка Н. Н. Караваевой
Сдано в набор 23.03.12. Подписано к печати 05.05.12.
Формат 60×84 1/16. Бумага офсетная. Усл. печ. л. 8,25.
Уч.-изд. л. 9,0. Тираж 100 экз. Заказ № 214.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
140
Документ
Категория
Без категории
Просмотров
0
Размер файла
3 244 Кб
Теги
logistika, andronova, mode, analiz
1/--страниц
Пожаловаться на содержимое документа