Особенности машинного обучения в логистике при моделировании транспортного процесса
Особенности применения алгоритмов машинного обучения при управлении цепями поставок. Решения задачи классификации показателей функционирования логистических процессов в транспортной логистике. Характеристика метода опорных векторов и дерева решений.
Рубрика | Транспорт |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.12.2019 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Автор дает достаточно развернутое определение, комплексно описывающее функцию транспортировки. Также делается акцент на том, что это ключевая функция логистики.
Родников [14]
Логистическая операция, которая заключается в перемещении продукции в заданном состоянии с применением транспортных средств (и грузоподъемных средств при необходимости), начинающаяся с погрузки в месте отправления и заканчивающаяся погрузкой в месте назначения. (276 стр)
Не совсем ясно понятие «заданного» состояния продукции. Определение добавляет использование грузоподъёмных средств при транспортировке, однако, только при необходимости.
Источник
Определение
Комментарий
Chopra, Meindl [25]
Транспортировка относится к процессу перемещения продукта из одного места в другое, поскольку он проходит путь от начала цепочки поставок до потребителя.
Определение описывает транспортировку как процесс перемещения без сопутствующих процессов.
Waters, 2003 [50]
Физическое перемещение материалов между участками цепи поставок.
Bowersox, Closs, Cooper [22]
Операционная область логистики, которая географически перемещает и размещает запасы.
Безусловно, транспортировка, являясь ключевой логистической функцией, оказывает значительное влияние на производительность и эффективность всей цепи поставок. Оценить ее роль можно, проанализировав долю затрат на транспортировку в разрезе общих логистических издержек. Ниже, в таблице 1.4, представлен обзор того, как различные авторы и исследователи оценивают транспортные расходы в рамках общих затрат.
Таблица 1.4 - Анализ затрат на транспортировку в цепях поставок
Источник |
Доля затрат |
Примечание |
|
Bowersox, Closs, Cooper, 2012 [22] |
59% от общих логистических издержек |
Данные по США |
|
Дыбская [4] Сергеев [15] Лукинский [8] |
от 20 до 70% от общих затрат на логистику |
Авторы отмечают различную долю транспортной составляющей в товарной цене: - для электроники - 2-3%; - для продуктов питания - 5-6%; - для автомобилей и оборудования - 7-12%; - для сырья - 40-60% - для стройматериалов - 80-85% |
|
Taylor, Yue, Tseng [49] |
6,5% рыночного дохода 44% логистических издержек |
Данные за 1982 г |
|
Источник |
Доля затрат |
Примечание |
|
Левкин [7] |
15 - 35% логистических затрат |
||
Григорьев, Ткач, Уваров [3] |
15 - 35% логистических затрат |
Авторы отмечают тенденцию роста затрат |
|
Конотопский [6] |
До 50% от суммы общих затрат на логистику |
||
Герами, Колик [2] |
От 40 до 60% всего объема логистических издержек |
||
Неруш [9] |
46% от общей суммы затрат на логистику |
Согласно мнению автора данное значение легитимно для каждой функциональной области логистики |
|
Murphy [40] |
6% от ВВП страны |
||
Waters [50] |
Вместе с хранением |
Таким образом, можно сделать утверждение о том, что доля затрат на транспортировку может значительно варьироваться, и нет единого мнения на этот счет. Предположительно, это может быть связано не только со сложностью оценки затрат на транспортировку в частности, но и общих логистических издержек в целом.
Тем не менее доля издержек на организацию доставки грузов является существенной в отдельных случаях, поэтому существует необходимость уделять должное внимание над их контролем и оптимизацией. Это также подтверждается мнением Бауэрсокса и Клосса о том, что из-за своей фундаментальной важности и очевидных издержек, транспортировка традиционно получала значительное внимание со стороны управленцев [22, с. 28].
Выделяют 3 фундаментальных фактора, которые влияют на эффективность транспортировки [22, с. 28]: цена (стоимость, издержки, транспортное расходы), скорость, постоянность/непрерывность/бесперебойность.
Стоимость транспортировки - это совокупность платы за перевозку между двумя географическими точками и затрат, которые относят на обслуживание запасов в пути. Логистическая система должна использовать транспорт, который минимизирует общие издержки. Однако это не значит, что наименее дорогой способ перевозки приводит к более низким затратам на логистику.
Скорость перевозки - это время, необходимое для выполнения определенной перевозки. Скорость и стоимость транспортировки взаимосвязаны двумя способами. Первый - более быстрое обслуживание, как правило, означает более высокие ставки за перевозку. Второй - чем быстрее транспортное обслуживание, тем короче временной интервал, в котором запасы находятся в пути и недоступны. Так, важным аспектом в выборе наиболее выгодного метода перевозки является соблюдение баланса между скоростью и стоимостью обслуживания.
Непрерывность (бесперебойность) - вариация во времени, которая занимает определенная перевозка из раза в раз. Непрерывность отражает зависимость транспортировки от многих факторов. Когда показатель бесперебойности транспортировки низкий, появляется необходимость создания страховых запасов для обеспечения защиты от сбоев в обслуживании, что в свою очередь, оказывает значительное влияние на общий объем запасов, который должны держать, как покупатель, так продавец, и также на связанный с ними риск.
Так, при проектировании логистической системы должен соблюдаться тонкий баланс между транспортными расходами и уровнем обслуживания. В некоторых случаях, дешевая и медленная доставка - это вполне удовлетворительно, тогда как в других случаях (которые, как правило, стандартные для логистической отрасли) быстрое обслуживание является критичным для достижения оперативных целей. Определение наиболее подходящего набора способов перевозки сквозь всю цепь поставок - главная задача логистики [22, с. 28-29].
Процесс транспортировки может осуществляться следующими видами транспорта:
- морской/внутренний водный;
- воздушный;
- железнодорожный;
- автомобильный;
- трубопроводный.
Каждый из них, безусловно, имеет свои преимущества и недостатки, что порождает использование нескольких видов транспорта при организации перевозки для достижения вышеуказанного баланса стоимости и уровня обслуживания.
Отдельное внимание хотелось бы уделить отрасли автомобильных грузоперевозок. Доля грузов, перевезенных автомобильным транспортом, превалирует среди остальных видов транспорта, как в России, так и в мире (таблица 1.5).
Таблица 1.5 - Объем грузоперевозок по видам транспорта за 2018 год*
Вид транспорта |
США |
Европа |
Россия |
|||
объем, млн. тонн |
доля |
доля |
объем, млн. тонн |
доля |
||
Автомобильный |
8 925 |
83,86% |
76,4% |
5397 |
78,9% |
|
Железнодорожный |
1 157 |
10,87% |
6,2% |
1325 |
19,4% |
|
Водный |
562 |
5,28% |
17,4% |
118 |
1,7% |
|
* Рассчитано по: National Transportation Statistics (табл. 1-50); Eurostat: Energy, transport and environment indicators, p. 92; Российскому статистическому ежегоднику. М., 2018. с. 454 |
Из вышеприведенной таблицы можно наблюдать, что в среднем около 80% всех грузов были перевезены с помощью автомобильного транспорта. По большей части это объясняется тем, что автотранспорт является более гибким по сравнению с остальными, поскольку он способен оперировать на развитой сети автомобильных дорог.
Также по сравнению с железнодорожным транспортом, автомобильный имеет относительно малые инвестиции в оборудование терминалов (погрузо-разгрузочная техника) и оперирует на публичных трассах. Несмотря на то, что стоимость платы за лицензии, пошлины и сборы достаточно высока, эти расходы прямо пропорциональны количеству машин, находящихся в эксплуатации и расстояниям маршрутов перевозок [22, с. 179].
Вместе с тем область автомобильных грузоперевозок интересна тем, что процесс доставки с использованием автотранспорта подвергается различным внешним воздействиям, что делает данный процесс слабо контролируемым.
Исходя из этого, можно выделить важность наличия актуальной информации о времени, которое затрачивается на перевозку автомобильным транспортом. В логистике информация о времени в пути может снизить затраты на доставку, повысить надежность доставки и улучшить качество обслуживания.
Точная информация о времени прибытия транспорта особенно важна для работы многих участников цепи поставок, поскольку сдвиги в расписании их работы могут повлечь за собой серьезные последствия. Поэтому необходимо, выделив факторы, оказывающие влияние на время доставки грузов автомобильным транспортом, учитывать их при организации транспортировки.
Факторы, влияющие на увеличение времени доставки [17, с. 4]:
- загруженность дорожного движения (возникновение пробок) - количество заторов на отдельных участках дороги замедляет общий поток движения автотранспорта, поскольку они увеличивают время, необходимое для пересечения этих участков;
- погода - погодные условия, такие как осадки и сильный ветер, приводят к увеличению количества заторов;
- скорость, с которой движется трафик определяет время прибытия автомобиля. Высокая скорость возможна только на незагруженных участках дорог.
- расстояние, которое нужно преодолеть для осуществления доставки. Большое расстояние увеличивает вероятность того, что автомобиль столкнется с остальными факторами задержки.
- определенные виды груза также могут увеличить время в пути.
- время дня/недели/месяца/года - сезонные колебания так же, как и ежедневные часы пик виляют на уровень загруженности дорог, и, следовательно, на время в пути.
- кумулятивная задержка - количество предыдущих остановок, которое транспортное средство должно было сделать, и задержка, которая появилась ввиду этих остановок. Чем больше остановок автомобиль вынужден сделать, тем выше может быть накопленная задержка.
- ДТП, которые приводят к перекрытию дорог (и следовательно, к пробкам)
- дорожные работы, приводящие к замедлению трафика
- ошибки в работе светофоров, которые могут приводить к ДТП
- стиль вождения - консервативный образ вождения ведет к более низкой скорости передвижения, в то время как более проактивный стиль - к высокой.
Таким образом в рамках данной главы было рассмотрено параллельное развитие информационных технологий вместе с логистикой и УЦП. Был сделан вывод о дальнейшем развитии этих областей в рамках современной концепции «Индустрия 4.0», которая, по мнению специалистов, является основным драйвером развития логистики и управления цепями поставок на современном этапе.
Были выделены векторы развития логистики и УЦП в виде современных технологий, перспективных для внедрения, а также возможные/существующие примеры их реализации. Можно сделать утверждение о том, что описанные технологии не только способны, но и предназначены взаимодействовать для более эффективного их использования.
Так, среди данных технологий выделен анализ больших данных (Big Data), одним из аспектов которого является машинное обучение. Повышенное внимание людей со всего мира, в том числе и научного сообщества, подчеркивает актуальность разработки решений с использованием алгоритмов машинного обучения.
В современных условиях неопределенности, когда информация постоянно меняется, транспортно-логистическим компаниям необходимо иметь способность своевременно и быстро реагировать и адаптироваться к таким условиям для того, чтобы сохранять конкурентное преимущество перед остальными.
В третьей части данной главы был сделан акцент на функцию транспортировки в цепях поставок, поскольку транспорт играет связующую роль среди элементов цепи поставок, через которые проходят товарно-материальные ценности от поставщика до конечного потребителя. Именно, в связи с этим, затраты на данную логистическую функцию могут доходить вплоть до 80%, что подчеркивает важность ее оптимизации.
Также сам процесс доставки груза характеризуется степенью неопределенности, поскольку подвержен влиянию различных факторов, влекущих увеличение времени перевозки, то есть задержки. Именно поэтому необходимо создать такую систему, которая позволила бы на каждом этапе автоперевозки отслеживать ее состояние и в необходимый момент заранее предупреждать о возможной задержке поставки, что позволит своевременно скорректировать окна доставки и избежать полного срыва.
Глава 2. Особенности решения задачи классификации показателей функционирования логистических процессов в транспортной логистике
2.1 Организация транспортировки в цепях поставок
В управлении транспортировкой планирование - одна из фундаментальных и первоочередных задач. На стратегическом уровне она предполагает в себе формирование стратегических целей транспортных организаций и целей логистики транспортного обеспечения для грузовладельцев. Тогда как тактическое и оперативное планирование перевозки грузов включают в себя разработку схем организации движения и выбор наилучшей из них [8, с. 273].
Такая схема называется маршрутом движения, и она подразумевает собой путь, который проделывает транспортное средство при осуществлении перевозочного процесса [8, с. 274; 10, с. 198; 11, с. 270]. Также Неруш Ю.М. и Саркисов С.В. отмечают [11, с. 270], что это не просто путь следования, а заранее сформированная наиболее рациональная схема движения транспорта.
Основными компонентами маршрута в рамках перевозки автомобильным транспортом являются [9, с. 168]:
- длина маршрута - расстояние, преодолеваемое автотранспортом от пункта начальной погрузки (у грузоотправителя) и конечной разгрузки (грузополучателя) маршрута;
- оборот автомобиля - движение от пункта погрузки до места разгрузки и обратно, то есть завершённый цикл движения;
- ездка - весь цикл процесса перевозки груза, то есть движение от пункта начальной погрузки (у грузоотправителя) и конечной разгрузки (грузополучателя) маршрута.
В целом маршруты движения разделяются на 2 класса: маятниковые и кольцевые. Маятниковые предполагают в себе неоднократное повторение движения автотранспорта между двумя звеньями маршрута. В свою очередь они классифицируются на маршруты:
- с обратным пробегом без груза (холостым);
- с частично груженым обратным пробегом;
- с груженым обратным пробегом.
Кольцевые маршруты представляют собой следование транспортного средства по замкнутому пути, соединяющего нескольких поставщиков и/или потребителей [8, с. 273]. Они делятся на [11, с. 271]:
- сборные, в которых транспортное средство по мере движения по маршруту накапливает груз с нескольких грузоотправителей (поставщиков) и разгружает консолидированную партию у одного грузополучателя (потребителя);
- развозочные, в которых автотранспорт загружается у поставщика общим объемом груза и развозит нескольким потребителям необходимые части этого груза;
- сборно-развозочные, сочетающие в себе элементы двух вышеперечисленных видов кольцевых маршрутов (сбор груза у нескольких поставщиков и развоз нескольким потребителям).
При планировании доставки для описания процесса транспортировки нужно принимать во внимание количество отправителей, получателей и их соотношение между собой, исходя из которого определяются схемы организации перевозки: один-к-одному, один-ко-многим, многие-ко-многим (рисунок 2.1).
Схема «один-к-одному» считается наиболее легкой в части планирования, поскольку не нуждается в решении задачи маршрутизации и транспортных задач.
Схема «один-ко-многим» уже требует решения задачи маршрутизации, предполагающую в себе:
- решение проблемы координации ездок (определения порядка выполнения), если доставка от отправителей до получателей осуществляется по маятниковому маршруту;
- решение задачи коммивояжера, если доставка выполняется кольцевым маршрутом;
- обеих вышеупомянутых задач, если транспортный процесс включает в себя как маятниковые, так и кольцевые маршруты.
Рисунок 2.1 - Схемы организации процесса транспортировки груза [8, с. 274]
При использовании схемы «многие-ко-многим», на первом этапе сначала выполняется решение транспортной задачи, а на втором - решение проблемы маршрутизации.
Учитывая различные возможные варианты схем движения автомобиля по маршруту и временные ограничения, наложенные на процесс доставки, алгоритм планирования грузоперевозки может быть представлен следующим образом (рисунок 2.2) [8, с. 277-280]:
1. Получение исходной информации о транспортном парке (количество средств, их виды, грузоподъемность/грузовместимость каждого вида), количестве поставщиков, потребителей и расстояниями между ними, грузовой партии, ограничения по времени забора груза у поставщика и доставке потребителю;
Рисунок 2.2 - Алгоритм планирования автомобильных грузоперевозок
2. Определение схемы организации перевозки;
3. Вычисление кратчайших расстояний между пунктами погрузки и разгрузки выбранной схемы транспортировки;
4. При использовании схемы движения «многие-ко-многим»:
4.1. Решение транспортной задачи, находящееся с помощью специальных методов (распределительный метод и его разновидности), которые дают возможность найти из всего множества вероятных решений оптимальное;
4.2. Выбор маршрута доставки - маятниковый или кольцевой - по которому будет осуществляться транспортировка груза от каждого пункта отправки к назначенным ему в результате решения транспортной задачи пунктам доставки;
5. Проверка условия на использование схемы «один-к-одному». Очевидно, что если данное условие не выполняется, то перевозка включает в себя более одного поставщика/потребителя, следовательно, переходим на 6 этап;
6. Решение задачи маршрутизации: выбор первоначальных точек погрузки/выгрузки основывается на основании совместимости груза - для маятникового маршрута, и на основе грузоподъемности/грузовместимости автотранспорта - для кольцевого маршрута.
7. Выбор транспорта в рамках определения его специализации и грузоподъемности, которые способны обеспечить минимизацию затрат в цепи поставок;
8. Моделирование времени движения транспорта на конкретных частях маршрута, погрузо-разгрузочного времени, возможных простоев. В ходе данной процедуры строится функция распределения времени прибытия автотранспорта в пункты маршрута, что позволяет сделать оценку возможных рисков при планировании перевозки точно в срок;
9. Смоделированные значения времени прибытия в пункты маршрута с определенной вероятностью сравниваются с требованием заказчика по срокам доставки.
10. Если смоделированная величина времени прибытия больше (или меньше) требуемой, то принимается решение об изменении условий доставки, корректировке маршрута или о возможной организации дополнительного с целью максимального удовлетворения требований;
11. Если полученные значения времени прибытия удовлетворяют требованиям заказа, то на одиннадцатом шаге мы получаем оптимальные маршруты для каждого транспортного средства;
12. Решение задачи загрузки автотранспорта для полученных маршрутов, которую также называют «задачей о рюкзаке». Она заключается в оценке качества загрузки автотранспортного средства исходя из количества грузовиков, груженых определённым видом товара. Данный подход эффективен при планировании загрузки больших грузов. Мелкопартийные грузы в развозочных маршрутах дополнительно требуют еще и рациональной загрузки транспортного средства, обусловленной порядком объезда пунктов маршрута. В данном случае груз каждого потребителя грузится на отдельной паллете, и процесс погрузки начинается с заказа последнего получателя в маршруте.
13. Формирование задания водителю на доставку, в котором указывается объем груза к транспортировке, порядок заезда в пункты маршрута и временные интервалы доставки.
Однако стоит отметить, что даже если перевозка грузов была тщательно спланирована и организована согласно вышеприведённого алгоритма, это не дает гарантии, что процесс доставки будет осуществлен точно так же.
Связано это с тем, что перевозка автомобильным транспортом подвержена влиянию большого количества факторов внешней среды, которые сложно контролировать. Следовательно, существует необходимость в мониторинге состояния выполнения автомобильной грузоперевозки.
2.2 Анализ данных в условиях ограниченного доступа к информации
Как было упомянуто в предыдущей главе, алгоритмы машинного обучения способны обучаться на некотором наборе данных: исследовать их структуру, выявлять определенные закономерности и усваивать их в виде опыта, чтобы в дальнейшем использовать этот накопленный опыт для решения будущих задач на новых, неизвестных ранее данных.
Отсюда возникает ограничение использования машинного обучения - необходимость в наличии большого объема данных для обучения алгоритма. Несмотря на то, что в рамках предыдущей главы было сказано, что в общем объемы данных стремительно растут, для решения конкретной задачи в определенной сфере деятельности (в данном случае логистической), необходим специфичный набор данных, собранный фокусной компаний, для которой разрабатывается модель.
Здесь появляется проблема получения исходных данных организации, а точнее с ограниченным доступом к ней, который может быть связан с секретностью производства, коммерческой тайной, защитой информации или попросту отсутствием данных (предприятие может просто не осознавать важность информации и не собирать ее вовсе).
В таком случае одним из возможных путей решения данной проблемы может стать искусственная генерация данных по заданным параметрам (если данных вообще нет) или совместное использование реальных и сгенерированных данных.
Стоить сразу отметить, что существенный недостаток такого подхода - модель, натренированная на таких данных, может давать некоторые искажения, поскольку смоделированный по определённому закону распределения набор данных может слабо коррелировать с реальными процессами, которые протекают в фокусной организации.
Однако на сбор реальных данных может потребоваться значительное количество времени, что оттягивает процесс разработки модели и ее внедрения, поэтому генерация искусственных данных может стать альтернативой на время сбора реальных данных [12, с. 87].
Еще одним способом генерации большого объема данных можно считать технику «бутстрэпа» («бутстрап», «бутстреп» от англ. Bootstrap). Это метод повторной выборки, используемый для оценки статистики по генеральной совокупности путем выборки набора данных с заменой [59].
В статистике «бутстрэп» относится к заключению о распределении выборочной статистики путем «повторной выборки» самой выборки с заменой, как если бы она была конечной совокупностью. Поскольку распределение повторной выборки имитирует исходное распределение, выводы являются точными. Точность улучшается с увеличением размера исходной выборки, если применяется центральная предельная теорема [24, с. 6].
Метод основан на законе больших чисел, который гласит, что, если выборка воспроизводится снова и снова, данные должны приближаться к истинным данным генеральной совокупности.
Пусть X1, ..., Xn - независимая и одинаково распределенная выборка из распределения F, то есть P (Xi ? x) = F (x), и пусть X(1), ... , X(n) - соответствующая упорядоченная выборка. Интересен некоторый параметр и, связанный с этим распределением (среднее значение, медиана, дисперсия и т. д.). Существует также оценка = t ({X1, ..., Xn}), где t обозначает некоторую функцию, которая используется для оценки и по данным. В этой ситуации интерес представляет именно отклонение от и.
В идеале, чтобы получить приближение распределения оценки, нужно повторить эксперимент по генерированию данных, скажем, N раз, вычисляя для каждого из N наборов данных. То есть были бы взяты N выборок размера n из истинного распределения F (с заменой, если F дискретно). Однако на практике это становится невозможным ввиду временных или финансовых ограничений. Bootstrap метод основан на следующей простой идее: даже если мы не знаем закон распределения, мы можем приблизить его из данных и использовать это приближение. Эта идея приводит к нескольким разновидностям «бутстрэпа», которые отличаются тем, как именно получается приближение [58].
Существует следующие виды «бутстрэпа» [59]:
- Эмпирический (непраматерический) «бутстрэп» генерируется из реальных наблюдений.
- Параметрический «бутстрэп» берется из параметризованного распределения (например, нормального). То есть утверждается, что известна общая функциональная форма плотности распределения вероятности, но не известны точные параметры.
Эти параметры могут быть оценены по данным (как правило, максимальным правдоподобием) и включены в плотность распределения, чтобы получить приближение закона распределения. Этот метод оценки приводит к более точному выводу, если закон распределения был правильно оценен, но, с другой стороны, если это предположение оказалось неверно, то приближение закона распределения () будет отличаться от истинного (F).
Алгоритм исполнения непараметрического «бутстрэпа» [58]:
1. Предполагается, что есть набор данных x = (x1, x2, …, xn);
2. Устанавливается количество повторных bootstrap выборок N;
3. Генерируется образец нового набора данных x* размером n (равно размеру исходной выборки x) с заменой (эквивалентно выборке из эмпирической функции приближенного закона распределения )
4. Оценка параметра и из x*. Получается оценка i, для i = 1, ..., N. Сохранение этой оценки.
5. Этапы 3 и 4 повторяются N раз;
6. Рассматривается эмпирическое распределение (1, ..., N) как приближение истинного распределения и.
Алгоритм исполнения параметрического «бутстрэпа» [58]:
1. Предполагается, что есть набор данных x = (x1, x2, …, xn);
2. Предполагается, что данные подчиняются известному закону распределения Fш, описанного набором параметров ш (для нормального распределения ш = (м, у), где м - ожидаемое значение, а у - стандартное отклонение).
3. Оценка параметра ш с помощью, например, метода максимального правдоподобия, получив оценку .
4. Устанавливается количество повторных bootstrap выборок N;
5. Генерируется образец нового набора данных x* размера n из распределения
6. Оценка параметра и из x*. Получается оценка i, для i = 1, ..., N. Сохранение этой оценки.
7. Этапы 3 и 4 повторяются N раз;
8. Рассматривается эмпирическое распределение (1, ..., N) как приближение истинного распределения и.
2.3 Алгоритмы машинного обучения
В теории машинного обучения выделяют три класса задач, в которых применяются те или иные алгоритмы: задачи обучения с учителем (supervised learning), без учителя (unsupervised learning), задачи частичного обучения (semi-supervised learning).
Подавляющая часть прикладных задач в машинном обучении относится к обучению с учителем. Оно предполагает в себе наличие входных переменных (), переменных на выходе (), и алгоритма для обучения функции (mapping function) на входных данных к соответствующим результатам (формула 1) [24, с. 16]
где X - данные, поступающие на входе модели машинного обучения; Y - результат, который выдает модель.
Цель - аппроксимировать функцию так, чтобы при поступлении новых входных данных, она могла предсказать результирующие значения для этих данных, то есть найти функциональную зависимость между входными и выходными данными. Это называется обучением с учителем, поскольку процесс обучения алгоритма из набора тренировочных данных можно рассматривать как учителя, контролирующего процесс обучения.
Зная правильные ответы, алгоритм итеративно делает прогнозы на тренировочных данных и корректируется учителем. Обучение останавливается, когда алгоритм достигает приемлемого уровня качества прогноза. Задачи обучения под наблюдением могут быть далее сгруппированы в проблемы регрессии и классификации [24, с. 16-17]:
- Задача классификации - значение на выходе функции представляет собой категориальную переменную (например: пол человека, цвет предмета, наличие/отсутствие болезни и т.д.);
- Задача регрессии - значение на выходе функции представляет собой численную переменную (возраст, вес, стоимость и т.д.);
Обучение без учителя характерно для задач, в которых имеются только входные данные (), но результаты для них (выходные данные) неизвестны (). Основная цель - смоделировать базовую структуру или распределение в данных, чтобы узнать больше о них.
Как следует из названия, в таком классе задач нет правильных ответов (т. н. неразмеченные данные), которые были бы для нас известны, и нет учителя, который мог бы управлять процессом обучения модели. Так, алгоритмы работают сами по себе, обнаруживая и предоставляя на выходе примечательные закономерности в данных.
Задачи обучения без учителя могут быть сгруппированы в проблемы кластеризации и ассоциации [24, с. 17]:
- Задача кластеризации - разбиение данных на группы (кластеры) в отсутствие априорной информации о группах. Работа алгоритма кластеризации базируется на оценке сходства между объектами (например, выделение групп клиентов на основе их покупательского поведения)
- Задача ассоциации (ассоциативные правила) - обнаружение правил, которые описывают большую часть ваших данных, например, люди, которые покупают А, также склонны покупать Б.
В тех случаях, когда у нас есть огромное количество исходных данных () и только некоторая часть этих данных размечена (), мы имеем дело с частично контролируемым обучением. Такие задачи находятся на стыке между обучением с учителем и без. Как пример можно привести фотоархив, где только часть фотографий подписаны (кошка, собака, пляж, ребенок и т.д) и большая часть - нет.
Частично контролируемое обучение используется для обнаружения и изучения структуры входных данных. Также его можно использовать, чтобы делать наиболее точные прогнозы для неразмеченных данных, передавать эти данные обратно в алгоритм контролируемого обучения в качестве тренировочных данных и использовать модель для прогнозирования новых неизвестных данных [24, с. 17].
Поскольку в дальнейшем будет построена классификационная машина, далее будут рассмотрены именно алгоритмы задач классификации.
Деревья решений
В области задач машинного обучения с учителем мощным и наиболее распространенным алгоритмом признается дерево решений (деревья принятия решений, решающие деревья) [24, с. 72; 33, с. 160]. Оно естественным образом создает правила, которые можно использовать при классификации и прогнозировании данных. Эти правила выражены достаточно в простом, удобочитаемом и понятном формате. Кроме того, они могут быть сохранены для последующего использования.
Деревья решений визуализируются в виде древовидной диаграммы, структура которой состоит из узлов и дуг (ребер), соединяющих узлы (рисунок 2.3). При этом нельзя, чтобы дуги формировали цикл, иначе дерево трансформируется в граф, отличный от древовидного.
Основой дерева решений является так называемый корневой узел, от которого можно перейти к любому другому узлу. В конце любой цепочки идущих подряд дуг находятся листовые узлы. Каждый уровень дерева отражает одно из решений; узел принятия решений осуществляет проверку условия, а каждая дуга - один из возможных вариантов [24, с. 73].
Метод решающих деревьев используется как для решения задач регрессии, так и для классификации, отсюда и две их разновидности: регрессионные деревья и классификационные деревья. Поэтому один из наиболее популярных алгоритмов, реализующий данный метод, называется CART (Classification and Regression Trees).
Классификационные деревья используются для разбиения исходных данных на категории. Чтобы использовать данный вид алгоритма, значение целевой переменной должно быть номинальным (категориальным). Деревья регрессии, в свою очередь, используются для прогнозирования числовых переменных [33, с. 161].
Рисунок 2.3 - Простое решающее дерево, сверху - корневой узел; узел принятия решений - круг; листовые узлы - прямоугольники
Далее перечислены основные правила при построении деревьев решений [33, с. 164]:
- начинается построение с одного предиктора (атрибута), по которому исходные данные разбиваются на части, далее для каждая часть также разделяется по следующим атрибутам;
- для одной проблемы могут быть построены разные деревья решений;
- глубина дерева прямо пропорциональна количеству выбранных предикторов;
- существует необходимость в критерии останова (termination criteria), который определяет, когда нужно прекратить дальнейшее построение дерева. В случае, если критерия останова нет, модель рискует быть переобученной;
- результат алгоритма - простые правила, которые могут храниться в памяти и применяться в дальнейшем на других данных для классификации/предсказания.
Стоит обозначить следующую проблему деревьев решений - требование большого объема тренировочных данных. Дело в том, что на выборке небольшого размера алгоритм тщательно исследует данные, производя под каждый отдельный случай правила, тем самым достигая переобучения [33, с. 165]. Переобучение модели машинного обучения означает, что алгоритм слишком хорошо был подогнан под обучающую выборку, что приводит к высокой точности на тренировочных данных, но к низкой на тестовых.
Есть много способов избежать чрезмерной подгонки дерева решений под тренировочную выборку. Ниже приведены два разных случая [33, с. 165]:
- Первый случай, когда рост/обучение дерева решений заканчивается до того, как будет достигнута идеальная классификация тренировочных данных.
- Другой случай, когда переобучение достигается, а затем дерево сокращается для восстановления до того момента, когда переобучение еще не достигнуто.
Хотя первый случай может показаться более прямым, второй случай последующей обрезки переобученных деревьев более успешен на практике. Причина в том, что трудно понять, когда перестать обучать дерево. Независимо от принятого подхода, более важно определить критерий для определения окончательного, подходящего размера дерева.
Таким образом можно выделить следующие преимущества деревья решений:
- деревья решений быстро и легко построить, не требуют больших экспериментов;
- надежность;
- их легко понять и интерпретировать;
- не требуют сложной подготовки данных;
- они могут обрабатывать как категориальные, так и числовые данные;
- они могут обрабатывать многомерные данные, а также работать с большими наборами данных.
k-ближайших соседей
Классификаторы k-ближайших соседей определяются их характеристикой классификации неразмеченных примеров путем присвоения им класса наиболее похожих размеченных примеров. Несмотря на простоту этой идеи, методы ближайшего соседа являются чрезвычайно мощными [33, с. 199].
В общем, данный метод хорошо подходит для задач классификации, где взаимосвязи между признаками и целевыми классами многочисленны, сложны или иным образом чрезвычайно трудны для понимания, хотя элементы схожего типа классов имеют тенденцию быть достаточно однородными.
Рисунок 2.4 - Задача классификации методом kNN [33, с. 199]
Допустим, даны тренировочные данные , где - значения атрибута, - метки классов, и есть тестовая точка , которую нужно классифицировать, тогда алгоритм работы следующий [32, с. 191]:
1. Рассчитывается расстояние между и для каждого ;
2. Выбирается k-ый ближайший сосед и соответствующая ему метка класса ;
3. Возвращается , которая наиболее часто встречается в списке меток классов
Когда метод kNN используется для классификации, результат может быть рассчитан как класс с самой высокой частотой из k наиболее похожих случаев. Каждый экземпляр, по сути, голосует за свой класс, а класс с наибольшим количеством голосов принимается в качестве прогноза. Вероятности классов могут быть рассчитаны как нормализованная частота выборок, которые принадлежат каждому классу в наборе из k наиболее похожих экземпляров для нового экземпляра данных. Например (формула 10), в задаче бинарной классификации (класс равен 0 или 1) [24, с. 100]:
,
где - функция подсчета количества экземпляров определённого класса.
Если в наборе данных четное количество классов (например, 2), рекомендуется выбрать значение k с нечетным числом, чтобы избежать связывания. И наоборот, нужно использовать четное число для k, когда есть нечетное количество классов. Связи можно разорвать последовательно, увеличив k на 1 и посмотрев на класс следующего наиболее похожего экземпляра в наборе обучающих данных (рисунок 2.5) [24, с. 100].
Алгоритм также применим для задач регрессии, только вместо вывода значения класса объекта, результатом будет вещественное число. Принцип работы метода идентичен, за исключением шага 3, где вместо наиболее частого значения берется среднее от либо его медиана [33, с. 191]
Для нахождения ближайших соседей тестового значения (точки) требуется функция расстояния или формула, которая измеряет сходство между двумя экземплярами.
Есть много разных способов расчета расстояния. Традиционно алгоритм kNN использует евклидово расстояние, которое определяется следующей формулой (2) [35, с. 70]:
.
где - примеры, которые нужно сравнить, каждый из которых имеет признаков. относится к значению первого признака примера , тогда как относится к значению первого признака примера
Рисунок 2.5 - Изменение количества ближайших соседей [33, с. 192]
Значение k оказывает огромное влияние на производительность метода kNN. Если значение k слишком велико, алгоритм kNN использует предыдущее значение и, следовательно, может привести к неточностям. И в случае, когда значение k слишком мало, модель станет слишком чувствительной к выбросам.
Следовательно, точное значение k обычно находится посередине наименьшего и наибольшего значения. Подход состоит в том, чтобы выбрать значение в этом диапазоне и измерить погрешность данных обучения, а также выбрать k, которое дает наилучшие результаты обобщения [33, с. 192].
На практике выбор k зависит от сложности изучаемой проблемы и количества наблюдений в обучающих данных. Как правило, k устанавливается где-то между 3 и 10. Одна из распространенных практик - устанавливать k равным квадратному корню из числа обучающих примеров [35, с. 71-72].
В общем случае можно выделить следующие преимущества данного метода: цепь поставка транспортный логистика
- прост и эффективен;
- процесс обучения очень быстр (по сути его и нет, поскольку классификация происходит сразу на загруженных данных);
- не делает никаких предположений о базовом распределении данных, поскольку kNN считается непараметрическим алгоритмом машинного обучения.
Однако, поскольку метод не производит никаких правил (в отличие от тех же решающих деревьев), процесс классификации очень медленный (так как для каждого нового значения считаются расстояния до ближайших соседей), также это требует много памяти.
Метод опорных векторов
Метод (машина) опорных векторов (SVM - Support Vector Machine) может быть представлен как плоскость, которая определяет границу между различными точками данных, которые представляют наблюдения, построенные в многомерном пространстве в соответствии с их значениями признаков. Цель SVM - создать плоскую границу, называемую гиперплоскостью, которая приводит к довольно однородному разделению данных с обеих сторон [35, с. 225]. SVM могут быть адаптированы для использования практически с любым типом задач обучения, включая как классификацию, так и числовое прогнозирование.
Задача алгоритма SVM состоит в том, чтобы идентифицировать линию, которая разделяет два класса. Как показано на следующем рисунке, существует несколько вариантов разделительной линии между группами кругов и квадратов. Три такие возможные линии обозначены как a, b и c.
Ответ на вопрос «какую линию выбрать для разделения?» лежит в поиске так называемой гиперплоскости с максимальным отступом (Maximum Margin Hyperplane - MMH), которая создает наилучшее разделение между двумя классами. Хотя любая из трех линий, разделяющих круги и квадраты, правильно классифицирует все точки данных, вполне вероятно, что линия, которая приведет к наилучшему разделению, обобщит данные лучше для будущих предсказаний. Это связано с тем, что небольшие изменения в положениях точек вблизи границы могут привести к случайному падению одной из них за линию.
Рисунок 2.6 - Несколько вариантов проведения гиперплоскости [34, с. 227]
Опорные векторы - это точки из каждого класса, которые являются ближайшими к MMH; у каждого класса должен быть хотя бы один опорный вектор, но возможно иметь более одного. Используя только опорные векторы, можно определить MMH (рисунок 2.7). Это ключевая особенность SVM: опорные векторы обеспечивают очень компактный способ хранения модели классификации, даже если число признаков чрезвычайно велико [35, с. 226-227].
Чтобы понять этот процесс поиска, нужно точно определить, что подразумевается под гиперплоскостью. В n-мерном пространстве используется следующее уравнение (3) [35, с. 229]:
.
где - вектор n весов (перпендикуляр к разделяющей плоскости); - число, известное как смещение (скаляр)
Рисунок 2.7 - Опорные векторы (обозначены стрелками) и гиперплоскость с максимальным отступом (ММН) [35, с. 227]
Используя эту формулу, цель процесса состоит в том, чтобы найти набор весов, которые определяют две гиперплоскости, следующим образом (формула 4):
.
.
Требуется, чтобы эти гиперплоскости были определены так, чтобы все точки одного класса падали выше первой гиперплоскости, а все точки другого класса падали ниже второй гиперплоскости. Это возможно до тех пор, пока данные линейно разделимы (рисунок 2.8).
Стоит отметить, что SVM работает также и с нелинейными данными. Ключевой особенностью данного метода является их способность отображать данные в пространстве более высокого измерения, используя процесс, известный как трюк ядра (kernel trick) [35, с. 231].
Ядро определяет меру сходства или расстояния между новыми данными (x) и опорными векторами (xi). По умолчанию метод SVM использует линейное ядро, но для задач нелинейной классификации могут использоваться также следующие ядра: полиномиальное, сигмовидное, радиальное. [24, с. 117]. Более подробно о них можно узнать в соответствующих главах работ Brownlee на странице 117 и Lantz на страницах 231-233.
Рисунок 2.8 - Границы и уравнения гиперплоскостей для канонической гиперплоскости с максимальными границами (пунктирные линии) [38, с. 65].
Логистическая регрессия
Логистическая регрессия или логит-регрессия - это расширение линейной регрессии, где зависимая переменная является категориальной переменной, которая отвечает за классификацию наблюдений [33, с. 298].
Логистическая регрессия названа в честь логистической функции, используемой в основе метода. Логистическая функция, также называемая сигмовидной функцией, была разработана статистиками для описания свойств роста популяции в экологии, быстро растущего и увеличивающего нагрузочную способность окружающей среды. Это S-образная кривая, которая может принимать любое действительное число и отображать его в значение от 0 до 1, но никогда не равным им [24, с. 51].
Рисунок 2.9 - Логистическая функция
В целом логистическая регрессия стремится [33, с. 299]:
- смоделировать вероятность возникновения события в зависимости от значений независимых переменных, которые могут быть категориальными или числовыми.
- оценить вероятность того, что событие произошло или не произошло
- предсказать влияние набора переменных на двоичную переменную ответа.
- классифицировать наблюдения как принадлежащие к определенной категории на основе оценки вероятности.
Логистическая регрессия использует уравнение в качестве представления, очень похожего на линейную регрессию. Входные значения (x) объединяются линейно с использованием весов или значений коэффициентов для прогнозирования выходного значения (y).
Основным отличием от линейной регрессии является то, что моделируемое выходное значение представляет собой двоичные значения (0 или 1), а не числовое значение.
Ниже приведен пример уравнения логистической регрессии (формула 5) [33, с. 299]:
.
Где: y - прогнозируемое значение, B0 - смещение или свободный член, а B1 - коэффициент для каждого входного значения (x). Каждый столбец во входных данных имеет ассоциированный B-коэффициент (постоянное действительное значение), который необходимо извлечь из тренировочного набора данных.
Фактическое представление модели, которая сохраняется в памяти или в файле - это коэффициенты в уравнении. Эти коэффициенты подбираются в ходе оценки максимального правдоподобия.
Логистическая регрессия моделирует вероятность класса по умолчанию (например, первого класса). Другими словами, моделируется вероятность того, что входная переменная (X) принадлежит классу по умолчанию (Y = 1), мы можем записать это формально как (формула 6) [33, с. 300]:
.
Стоит отметить, что использовать логистическую регрессию можно не только в случае бинарной классификации. Вероятности, полученные в результате модели можно привязать, допустим, к трем классам, установив соответствующие пороги значений: если р(Х) ? 0,33 - то это первый класс; если 0,33 < р(Х) ? 0,66 - второй класс; если р(Х) > 0,66 - третий.
Оценка производительности классификационных моделей
Первый показатель - это точность (accuracy) прогнозирования (иногда называемое уровнем успеха), определяемое как (формула 7) [35, с. 300]:
.
где ТР - предсказанное значение, корректно классифицированное к одному классу; TN - предсказанное значение, корректно классифицированное к другому классу; FP - предсказанное значение, некорректно классифицированное к одному классу; FN - предсказанное значение, некорректно классифицированное к другому классу.
В этой формуле (7) термины TP, TN, FP и FN относятся к числу случаев, когда предсказания модели попадали в каждую из этих категорий. Следовательно, точность - это пропорция, которая представляет количество корректно классифицированных значений, деленное на общее количество прогнозов.
Коэффициент ошибок или доля неправильно классифицированных примеров определяется как (формула 8) [35, с. 300]:
.
Тем не менее, есть недостаток использования этих статистик, например, общие показатели точности не делают различий по типу допущенных ошибок.
Поэтому были разработаны и другие показатели эффективности классификаторов, которые могут учитывать распределение классов в выборке, и, следовательно более точно оценивать модель.
Статистика Kappa корректирует точность, учитывая возможность правильного предсказания только по случайности (формула 9):
,
О - наблюдаемая точность; Е - ожидаемая точность, основанная на предельных итогах матрицы ошибок.
Статистика Kappa может принимать значения от -1 до 1; значение 0 означает, что между наблюдаемым и прогнозируемым классами нет согласия, а значение 1 указывает на идеальное соответствие прогнозирования модели и наблюдаемых классов. Отрицательные значения указывают, что предсказание направлено в противоположную сторону от истины. [35, с. 306].
Чувствительность модели (sensitivity) (также называемая истинным положительным показателем) измеряет долю положительных примеров, которые были правильно классифицированы. Поэтому, как показано в следующей формуле (10), он рассчитывается как число истинных положительных результатов, деленное на общее количество положительных результатов в данных - правильно классифицированных (истинные положительные), а также неправильно классифицированных (ложные отрицательные) [35, с. 307]:
,
Специфичность (specifity) модели (также называемая истинным отрицательным показателем) измеряет долю отрицательных примеров, которые были правильно классифицированы. Как и в случае с чувствительностью, это рассчитывается (формула 11) как число истинных негативов, деленное на общее количество негативов - истинно отрицательных плюс ложно положительных [35, с. 307]:
,
С чувствительностью и специфичностью тесно связаны две другие характеристики, связанные с компромиссами в классификации: точность (precision) и отзыв (recall). Используемые главным образом в контексте поиска информации, эти статистики предназначены для того, чтобы дать представление о том, насколько релевантны результаты модели.
Точность определяется как доля положительных примеров, которые действительно являются положительными. Точная модель будет предсказывать положительный класс только в тех случаях, которые могут быть положительными.
,
Отзыв (recall) - это мера того, насколько полны результаты. Как показано в следующей формуле (13), это определяется как количество истинно положительных результатов в общем количестве правильных классификаций. Это почти то же самое, что и чувствительность, отличается только интерпретация.
,
Мера производительности модели, которая объединяет точность и отзыв в одно число, называется F-мерой (F-measure) (также иногда называемой оценкой F1 или F-оценкой). F-мера сочетает в себе точность и отзыв с использованием гармонического среднего. Используется среднее гармоническое, а не более общее арифметическое среднее, поскольку точность и отзыв выражаются в виде пропорций от нуля до единицы. Ниже приведена формула (14) для F-меры:
,
Поскольку F-мера снижает производительность модели до единого числа, она предоставляет удобный способ сравнения нескольких моделей рядом друг с другом. Однако это предполагает, что равный вес должен быть приписан точности и отзыву, что не всегда верно.
Можно рассчитать F-оценки, используя разные веса для точности и отзыва, но выбор весов может быть сложным в лучшем случае и произвольным в худшем. Лучшей практикой является использование таких показателей, как F-оценка, в сочетании с методами, которые учитывают сильные и слабые стороны модели в более глобальном масштабе [35, с. 308-309].
Обоснование выбора модели
Рассмотрев алгоритмы классификации машинного обучения, можно сделать вывод о том, что модель логистической регрессии будет являться наиболее подходящей для решения поставленной задачи о классификации состояния логистического цикла.
Во-первых, логистическая регрессия показывает высокие результаты точности предсказания на относительно небольших наборах данных, что хорошо подходит для решения поставленной задачи. Более того, она не чувствительна к несбалансированным тренировочным данным. Это означает, что даже если количество наблюдений одного класса намного больше другого (соответственно, отрицательные или положительные примеры), обучение логистической регрессии не вызывает трудностей, и окончательный классификатор все равно будет хорошо откалиброван [39].
Во-вторых, данный метод эффективно работает для предсказания небольшого количества классов (3-5). В-третьих, поскольку в метод не заложено сложных алгоритмов, он не требует больших вычислительных мощностей, памяти, а процесс обучения модели происходит достаточно быстро, что особенно важно для работы алгоритма в реальном времени [16; 27].
Использование логистической регрессии продемонстрировано в статье [39], посвященной разработки модели выбора маршрута в транспортной сети. В модели использовались четыре параметра (безопасность движения, время в пути, заторы и воздействие на окружающую среду).
Данные, использованные для модели, были получены из опроса выбора маршрута, организованного для Денизли, Турция. Опрос был организован для 500 участников дорожного движения. В ходе опроса у них были запрошены решения о маршрутах для двух направлений (туда-обратно) между двумя пунктами. Также были заданы вопросы о важности причин этого решения и решения о выборе маршрута движения в часы пик. Были также некоторые вопросы о максимальном и минимальном времени прохождения различных видов транспорта, обслуживающих эти маршруты [39, с. 21].
Далее эти данные были проанализированы с помощью логистической регрессии, которая используется для классификации. Данные опроса были изучены с точки зрения безопасности дорожного движения, заторов, времени в пути и воздействия на окружающую среду. Для каждого маршрута был сформирована модель, в которой выбранный маршрут был обозначен 1, а не выбранный 0 с использованием 500 оценок участников опроса для 4 параметров и вычислены функции выбора логистической регрессии [39, с. 23].
Подобные документы
Особенности решения научно-практической задачи по исследованию применения RFID-технологии в логистике и цепях поставок на основе пособий и статей. Анализ применения RFID в системе перевозки и складирования. Состояние конкуренции в логистической сфере.
курсовая работа [569,8 K], добавлен 15.07.2012Классификация транспорта в логистике. Глобальная информатизация транспортных процессов. Усложнение организации перевозок и развитие мультимодальных перевозок. Цель и задачи транспортной логистики. Выбор способа транспортировки и транспортного средства.
презентация [1013,7 K], добавлен 30.08.2013Управление производственно-логистическими цепями поставок. Особенности их интегрированного планирования. Варианты доставки груза. Описательные и нормативные (оптимизационные) модели управления цепями поставок компании. Концепции цепи начисления стоимости.
реферат [378,4 K], добавлен 08.07.2014Особенности организации логистических процессов на предприятии в сфере услуг. Характеристика подвижного состава ООО "Таулар Транс". Анализ процесса организации логистических процессов транспортной компании и мероприятия по повышению его эффективности.
дипломная работа [1,7 M], добавлен 19.06.2015Решение транспортной задачи. Нахождение оптимального варианта организации транспортного процесса с помощью математического метода линейного программирования для получения максимальной производительности автомобиля и минимальной себестоимости перевозок.
курсовая работа [341,7 K], добавлен 17.06.2015Теоретические аспекты транспортных затрат в логистике. Понятие и сущность логистической системы. Характеристика предприятия "Статус". Грузоподъемность подвижного состава парка. Выявление возможностей повышения уровня организации транспортного процесса.
курсовая работа [2,1 M], добавлен 14.10.2014Сущность и задачи транспортной логистики. Определение вида и типа транспортного средства, транспортного тарифа и оптимального маршрута. Краткая характеристика сети магазинов японской кухни "Сайори" и описание проблем, связанных с транспортной логистикой.
курсовая работа [350,1 K], добавлен 25.06.2014Общий обзор информационно-компьютерных систем управления транспортом, их использование в логистике. Автоматизация системы управления потребностями в перевозке грузов. Визуализация транспортной информации на электронных картах. Рынок логистических услуг.
курсовая работа [5,3 M], добавлен 04.06.2015Особенности транспортной отрасли. Сущность и задачи транспортной логистики. Организация транспортного хозяйства на ОАО "НефАЗ". Планирование деятельности транспортного хозяйства предприятия. Анализ и оценка эффективности деятельности данной организации.
курсовая работа [50,2 K], добавлен 14.01.2011Организация ремонта автомобилей и схема технологического процесса в отделении ремонтно-машинного завода. Расчет трудозатрат и количества постов. Составление карты технических условий на контроль и сортировку головки блока цилиндров двигателей Газ-24.
курсовая работа [31,7 K], добавлен 03.07.2011