Модель, метод и оптико-электронное устройство параллельной обработки изображений индикаторов панели приборов тема диссертации и автореферата по ВАК РФ 05.13.05, кандидат наук Лысенко Ян Александрович
- Специальность ВАК РФ05.13.05
- Количество страниц 160
Оглавление диссертации кандидат наук Лысенко Ян Александрович
ВВЕДЕНИЕ
1. АНАЛИЗ МЕТОДОВ И УСТРОЙСТВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ПАНЕЛЕЙ ПРИБОРОВ
1.1 Анализ существующих подходов при организации систем проверки состояний технических объектов
1.2 Анализ методов и устройств обработки изображений индикаторов
панелей приборов
Выводы
2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ПРОЦЕССА ОБРАБОТКИ ИЗОБРАЖЕНИЙ ИНДИКАТОРОВ ПАНЕЛИ ПРИБОРОВ
2.1 Ввод изображения панели приборов
2.2 Локализация индикаторов на изображении панели приборов
2.3 Математическая модель обработки изображений стрелочных индикаторов
35
2.4 Математическая модель обработки изображения жидкокристаллического дисплея
2.5 Математическая модель обработки изображения световых индикаторов 39 Выводы
3. МЕТОД ОПРЕДЕЛЕНИЯ ПОРЯДКА ОБРАБОТКИ ИЗОБРАЖЕНИЙ ИНДИКАТОРОВ ПАНЕЛИ ПРИБОРОВ И АППАРАТНО-ОРИЕНТИРОВАННЫЕ АЛГОРИТМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
3.1 Функция расчета расписания обработки изображений индикаторов панели приборов
3.2 Функция определения порядка генерации тестовых сигналов
3.3 Функция определения показаний индикаторов
3.4 Функция определения правильности показаний индикаторов панели приборов
3.5 Метод определения порядка обработки изображений индикаторов панели приборов
2
3.6 Аппаратно-ориентированные алгоритмы обработки изображений индикаторов панели приборов
3.6.1 Аппаратно-ориентированный алгоритм обработки изображений стрелочных индикаторов
3.6.2 Аппаратно-ориентированный алгоритм обработки изображения жидкокристаллического дисплея
3.6.3 Аппаратно-ориентированный алгоритм обработки изображений световых индикаторов
3.7 Достоверность результатов работы алгоритмов определения показаний
индикаторов
Выводы
4. СИНТЕЗ СТРУКТУРНО-ФУНКЦИОНАЛЬНОЙ СХЕМЫ УСТРОЙСТВА ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ИНДИКАТОРОВ ПАНЕЛИ ПРИБОРОВ И ЕГО ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ
4.1 Синтез структурно-функциональной схемы устройства параллельной обработки изображений индикаторов панели приборов
4.2 Экспериментальное исследование устройства параллельной обработки изображений индикаторов панели приборов
4.2.1 Аппаратно-программный стенд для проведения испытаний
4.2.2 Методика проведения испытаний устройства параллельной обработки изображений индикаторов панели приборов
4.3 Результаты экспериментальных исследований устройства параллельной
обработки изображений индикаторов
Выводы
ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Приложение А. Текст моделирующей программы расчета расписания
диагностирования
Приложение Б. Текст моделирующей программы определения показаний
3
стрелочного индикатора
Приложение В. Текст моделирующей программы определения показаний
жидкокристаллического дисплея
Приложение Г. Параметры выходных сигналов датчиков
Приложение Д. Режимы индикации и показания жидкокристаллического
индикатора бортового компьютера
Приложение Е. Индицируемые параметры автомобильной комбинации
приборов КП-1118-3801010-02
Приложение Ж. Распиновка разъема автомобильной комбинации приборов
КП-1118-3801010-02
Приложение З. Коды режимов работы блоков генерации сигналов
Приложение И. Акты внедрения
Рекомендованный список диссертаций по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК
Принципы построения и методы автоматизации проектирования бортовых средств индикации на жидкокристаллических панелях2015 год, кандидат наук Костишин, Максим Олегович
Модели дефектов матрицы фотоэмиссионных дисплеев и методы их камуфлирования2022 год, кандидат наук Басова Ольга Андреевна
Разработка и исследование электроизмерительных приборов со встроенным емкостным датчиком положения стрелки1998 год, кандидат технических наук Федоров, Дмитрий Леонидович
Автоматизация контроля и диагностики систем электронной индикации бортовых систем управления в режиме отображения аэронавигационной картографической информации2013 год, кандидат технических наук Борисова, Татьяна Сергеевна
Разработка комплекса автоматизации верификации человеко-машинного интерфейса системы электронной индикации гражданских самолетов в части текстовой информации2023 год, кандидат наук Дяченко Сергей Александрович
Введение диссертации (часть автореферата) на тему «Модель, метод и оптико-электронное устройство параллельной обработки изображений индикаторов панели приборов»
ВВЕДЕНИЕ
Актуальность исследования. Обеспечение вычислений показаний индикаторов электронных панелей приборов, примерами которых являются авиационные приборы, медицинские панели индикации, автомобильные комбинации приборов, содержащие стрелочные, жидкокристаллические и световые индикаторы, является важной проблемой, решение которой возможно с применением специализированных устройств вычислительной техники (ВТ) для обработки изображений. Увеличение количества индицируемых изображений, в том числе динамических, совмещение различных типов отображаемых изображений, большое количество индикаторов современных панелей приборов при относительно постоянной площади их размещения приводят к увеличению времени, затрачиваемого на вычисление параметров их технического состояния.
Современный этап развития устройств обработки изображений индикаторов панелей приборов, известный из работ Д.Б. Волегова, С.К. Киселева, Д.В. Юрина, F. Correa Alegria, A. Cruz Serra, Björn Hemming, R. Sablatnig, Esteban Vazquez-Fernandez и других отечественных и зарубежных ученых, характеризуется разработкой методов и устройств вычисления показаний отдельных средств индикации с использованием алгоритмов распознавания изображений. Результаты данных исследований направлены на решение задач обработки изображения единственного индикатора и не учитывают взаимосвязь отображаемых данных в современных панелях приборов. Известные устройства не позволяют производить обработку изображений нескольких индикаторов одновременно, а характеризуются применением метода последовательной обработки изображений и определения показаний индикаторов по их типам, что обеспечивает недостаточное быстродействие специализированных устройств ВТ при анализе наборов тестовых изображений и приводит к возрастанию общего времени реализуемой обработки изображений.
Указанный недостаток возможно устранить применением параллельной
5
обработки изображений индикаторов панели приборов которая потребует определения моментов времени для одновременной подачи сигналов, эмулирующих работу датчиков на входы панели приборов, и дальнейшего одновременного распознавания показаний нескольких индикаторов в условиях ограничений на тип панели приборов и объем вычислительных ресурсов устройства обработки изображений по минимуму суммарного времени осуществляемых вычислений.
Таким образом имеет место противоречие между требуемым быстродействием устройств обработки изображений индикаторов панелей приборов и ограниченными возможностями существующих аппаратно-программных средств.
Разрешение этого противоречия определяет следующую актуальную научно-техническую задачу: разработка модели, метода, алгоритмов и оптико-электронного устройства параллельной обработки изображений индикаторов панели приборов, обеспечивающих сокращение времени вычислений.
Целью диссертационной работы является сокращение времени обработки изображений индикаторов панели приборов путем осуществления параллельного вычисления показаний индикаторов.
В соответствии с поставленной целью научно-техническая задача работы декомпозирована на следующие частные задачи:
1. Анализ существующих методов и устройств обработки изображений индикаторов панелей приборов с целью обоснования направления исследования.
2. Синтез математической модели процесса обработки изображений индикаторов панелей приборов.
3. Создание метода определения порядка обработки изображений индикаторов панели приборов.
4. Разработка аппаратно-ориентированных алгоритмов обработки изображений стрелочных индикаторов, жидкокристаллического дисплея,
6
световых индикаторов.
5. Разработка структурно-функциональной схемы оптико-электронного устройства обработки изображений индикаторов панели приборов и экспериментальное определение его быстродействия.
Методы исследования. Для решения поставленных задач в работе применялись методы теории распознавания образов и анализа изображений, методы математического моделирования, теория автоматического управления, теория проектирования ЭВМ, методы цифровой обработки сигналов и изображений, теория расписаний, математического и схемотехнического моделирования. При разработке программного обеспечения использовались среды Borland С++ Builder, Microsoft Visual Studio.
Научная новизна результатов работы и основные положения, выносимые на защиту:
1. Математическая модель процесса обработки изображений индикаторов панелей приборов, включающая модели обработки изображений стрелочных индикаторов, жидкокристаллического дисплея, световых индикаторов, использующая билинейную интерполяцию, особенностью которой является учет возможности одновременного анализа разнородной информации, получаемой с индикаторов панели приборов, позволяющая сократить время обработки за счет осуществления параллельных вычислений в каждой модели.
2. Метод определения порядка обработки изображений индикаторов панели приборов, отличающийся использованием предварительного расчета расписания и вычислением последовательности генерации тестовых сигналов, позволяющий учесть возможность одновременного формирования изображений индикаторов, определить допустимость одновременной обработки изображений двух и более индикаторов, обеспечивающий тем самым параллельную обработку изображений.
3. Структурно-функциональная схема оптико-электронного устройства
7
обработки изображений индикаторов панели приборов, новизна которой заключается во введении параллельно функционирующих аппаратных блоков обработки изображений стрелочных индикаторов, жидкокристаллического дисплея, световых индикаторов, связей между блоками, позволяющая реализовать устройство с использованием программируемой логической интегральной схемы, и во введении блоков генерации сигналов, функционирующих независимо друг от друга, что позволяет, опираясь на разработанный метод определения порядка обработки изображений индикаторов панели приборов, систематизировать проверку работоспособности панели приборов путем аппаратного комбинирования взаимосвязанных тестов и параллельной обработки индицируемых изображений.
Объект исследования - вычислительные процессы и устройство обработки изображений индикаторов панели приборов.
Предмет исследования - математическая модель, метод и алгоритмы параллельной обработки изображений индикаторов панели приборов.
Практическая ценность работы. Разработанное оптико-электронное устройство обеспечивает сокращение общего времени обработки изображений примерно на 48% за счет распараллеливания обработки изображений нескольких индикаторов, характеризуется малой аппаратной сложностью и применимостью в задачах разработки широкого класса оптико-электронных устройств параллельной обработки изображений электронных индицирующих устройств, таких как авиационные приборы, медицинские панели индикации, автомобильные комбинации приборов, что обеспечивает широкий спектр областей использования.
Реализация и внедрение. Результаты диссертационной работы внедрены в НИИЦ (г. Курск) ФГУП «18 ЦНИИ» МО РФ и в АО «Авиаавтоматика» им. В.В. Тарасова. Теоретические результаты исследования используются в учебном процессе Юго-Западного государственного университета на кафедре «Информационные системы и
8
технологии» в рамках дисциплины «Цифровая обработка и анализ изображений». Внедрение результатов диссертационной работы подтверждено соответствующими актами.
Соответствие диссертации паспорту научной специальности. Содержание диссертации соответствует п. 3. «Разработка принципиально новых методов анализа и синтеза элементов и устройств вычислительной техники и систем управления с целью улучшения их технических характеристик» паспорта специальности 05.13.05 - Элементы и устройства вычислительной техники и систем управления.
Апробация работы. Основные положения диссертационной работы были представлены и получили положительную оценку на 3 международных, всероссийских и региональных конференциях: III региональной заочной научно-практической конференции «Интеллектуальные информационные системы: тенденции, проблемы, перспективы» (г. Курск, ЮЗГУ, 2015 г.), Всероссийской научно-технической конференции «Интеллектуальные и информационные системы» (г. Тула, ТулГУ, 2016 г.), XIII Международной научно-практической конференции «Перспективы развития научных исследований в 21 веке» (г. Махачкала, 2017 г.), на научно-технических семинарах кафедры «Информационные системы и технологии» Юго-Западного государственного университета с 2014 по 2019 гг.
Публикации. Основные результаты выполненных исследований и разработок опубликованы в 8 научных работах, среди них 4 статьи в рецензируемых научных журналах и изданиях, 1 патент на полезную модель РФ.
Личный вклад соискателя. Все выносимые на защиту научные положения разработаны соискателем лично. В работах по теме диссертации, опубликованных в соавторстве, вклад соискателя состоит в следующем: в [44] разработано теоретико-множественное описание устройства контроля показаний панели приборов; в [52, 58] разработан алгоритм определения показаний жидкокристаллического дисплея; в [8] осуществлена программная
9
реализация алгоритма построения расписания контроля; в [48, 53] разработана структурно-функциональная схема устройства.
Структура и объем работы. Диссертационная работа состоит из введения, четырех разделов, заключения, приложений и списка литературы, включающего 66 наименований. Работа изложена на 158 страницах машинописного текста, включая приложения, содержит 30 рисунков, 9 таблиц.
1. АНАЛИЗ МЕТОДОВ И УСТРОЙСТВ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ПАНЕЛЕЙ ПРИБОРОВ
1.1 Анализ существующих подходов при организации систем проверки состояний технических объектов
Проверка технического состояния систем любого назначения является неотъемлемой частью процесса их разработки, испытаний и эксплуатации. Основной задачей является получение информации для выработки необходимых воздействий на проверяемую систему или условия ее производства и эксплуатации с целью обеспечения максимального эффекта от использования ее по назначению. По мере возрастания сложности систем (последние для краткости в дальнейшем называются объектами контроля или просто объектами) функции контроля также значительно усложняются. При этом возникают проблемы выбора рациональной совокупности проверяемых параметров и организации самих процедур контроля в соответствии с существующими ограничениями (ограничения на точность измерений, ограниченные возможности информационно-вычислительных средств, используемых для осуществления контроля, ограниченность временных и материальных ресурсов и т.п.). Обусловлено это тем, что современные технические объекты включают в себя большое число компонентов, объединенных между собой сложной системой функциональной связи и информационного обмена, причем отдельные компоненты могут быть сами по себе достаточно сложными динамическими системами [1].
При разработке и изготовлении конкретного объекта ему придается ряд
свойств, которые в совокупности определяют качество объекта. Под
качеством исследуемого объекта будем понимать способность этого объекта
(предмета, системы, процедуры) соответствовать своему назначению [2].
Качество продукции определяется как «совокупность свойств продукции,
обусловливающих ее пригодность удовлетворять определенные потребности
11
в соответствии с назначением» [3]. Оно охватывает различные параметры изделий: конструктивные, технологические, эксплуатационные, эстетические и многие другие. Надлежащее качество производимой продукции обеспечивается системой менеджмента качества предприятия, деятельность которой строго регламентирована. Общие требования к системам управления качеством заложены в международных стандартах ИСО серии 9000 [4]. Прежде чем допустить изготовленный объект к использованию по назначению, необходимо проверить тем или иным способом его соответствие установленным требованиям по всей совокупности рассматриваемых свойств. Такая проверка осуществляется путем сопоставления измеренных значений тех или иных показателей свойств объекта с их заданными (расчетными значениями).
Совокупность подверженных изменению в процессе производства и эксплуатации свойств объекта, характеризующую степень его функциональной пригодности в заданных условиях целевого применения или место дефекта в нем в случае несоответствия любого из этих свойств установленным требованиям, называется техническим состоянием объекта. Все возможные технические состояния объекта делятся на виды. Вид технического состояния - это такая его категория, которая характеризуется соответствием (или несоответствием) качества объекта определенным требованиям [5]. Различаются следующие виды технического состояния объекта: исправность и неисправность, работоспособность и неработоспособность, правильное и неправильное функционирование [1].
В государственном стандарте «Надежность в технике» [6] исправностью объекта называется такое его состояние, при котором он полностью удовлетворяет всем требования, установленным нормативно-технической документацией. Событие, заключающееся в нарушении исправности объекта, называют повреждением. Работоспособностью объекта называют способность его выполнять заданные функции, сохраняя заданные параметры в пределах, установленных нормативно-технической
12
документацией. Свойство объекта непрерывно сохранять работоспособность в течение некоторого времени называют его безотказностью. Событие, заключающееся в нарушении работоспособности объекта, называют его отказом.
Понятия «исправность» и «повреждение» являются более широкими, чем понятия «работоспособность» и «отказ» соответственно. Работоспособный объект, в отличие от исправного, должен удовлетворять требованиям, которые обеспечивают его функциональность. Другие требования (к внешнему виду, качеству защитных покрытий, целостности вспомогательных приспособлений и т.д.) могут не выявляться. Исправный объект всегда работоспособен, обратное не всегда верно.
Проблема обнаружения дефектов (поиска дефектов) относится к задачам технической проверки, которая считается составной частью процесса анализа технического состояния объекта в соответствии с государственным стандартом [5]. Поиск неисправности - определение ее места с заданной глубиной. Глубина указывается с точностью до составных частей объекта, где должно определяться место дефекта.
Контроль определяется как «опытная процедура, устанавливающая, обладает или не обладает контролируемый объект требуемым качеством» [79]. Понятие «контроль» двойственно. Контроль является единичной процедурой, проверяющей кнкретный объект, а также может быть методикой, позволяющей осуществлять проверку всех объектов.
Производственно-технический контроль - комплекс мероприятий по обеспечению потребителя качественной продукцией, который может иметь разные формы и классифицироваться по определенному набору признаков. По классификационным признакам: время проведения, место в технологическом процессе выделяются входной операциональный и приемочный контроль.
По виду воздействия на объект контроль может быть разрушающим и неразрушающим. По наличию в составе контроля процедуры управления
13
различаются активный и пассивный контроль. По степени охвата объема партии проверяемых объектов - выборочный и сплошной. По способу и мере использования технических средств различаются измерительная и регистрационная формы контроля.
Описание специфики математической модели объекта выступает на первый план в научном исследовании контроля.
Объект контроля «может быть предметом научного познания лишь тогда, когда он доступен объективной количественной оценке» [10]. Центральным в теории контроля является понятие количественной определенности объекта, т.е. характеристики, определяющей его (объекта) качество. Заранее она неизвестна и математически описывается реализацией какой-либо случайной величины, функции и т.д.
Предметное отыскание количественной определенности часто технически невозможно или экономически нецелесообразно. В этих случаях от объекта на вход исследуемой системы подается физическая величина, которую возможно измерить, и несущая о нем количественную информацию. Эта величина называется «контролируемый параметр», иногда «контролируемый признак» [1].
Контролируемый параметр имеет форма связи с количественной определенностью, которая может быть различна. Обычно количественная определенность объекта поддается прямому измерению, являясь самим контролируемым параметром, или же связана с ним определенными зависимостями. Это прямой контроль. Существует косвенный контроль, при котором зависимость между количественной определенностью и контролируемым параметром является вероятностной.
Еще одним классификационным признаком контроля служит тип параметра, подлежащего контролированию. По этому признаку контроль может быть числовой или функциональный. В первом случае контролируемый параметр представляется в виде одного числа (однопараметрический контроль) или вектора чисел (многопараметрический
14
контроль); во втором - в виде скалярной векторной функции.
Функциональный контроль, в отличие от аналитического, «работает с физическими явлениями, процессами» [10]. Дополнительно характеристикой контроля объектов является время, а контролируемый параметр может описываться непрерывной случайной или векторной функцией времени % ).
В зависимости от того, функцией или скалярной величиной отображается количественная определенность объекта, функциональный контроль делится на текущий и свернутый.
Текущий контроль - контроль процесса в реальном времени - имеет различные модификации, различающиеся объемом хранимой информации. Контроль с бесконечной памятью хранит «на текущий момент времени всю предысторию процесса» [10]. В случае хранения только последнего результата измерения - контроль с единичной памятью. В противном случае -контроль с нулевой памятью.
Свернутый контроль в основном используется для оценки качества режима технологического процесса. Результат контроля выдается по окончании интервала наблюдения за процессом и произвольно смещается во времени [11]. Количественная определенность объекта представляется в виде функционала (г), и этим свернутый контроль схож с числовым.
Числовой контроль в зависимости от числа проводимых циклов разделяется на ряд категорий.
Одноступенчатый (традиционный) контроль основывается на однократном выполнении проверки каждого изделия. В случае совпадения (или несовпадения) контрольной зоны с технологической нормой он может быть типовым или гарантийным.
Для типового контроля характерно существование единой технологической нормы. Изделия, контролируемый параметр которых принадлежит этой норме, принимаются как годные, остальные - отвергаются.
При гарантийном контроле вводится дополнительная контрольная зона,
находящаяся внутри контрольной зоны.
15
Составной контроль является видом контроля, при котором поток проконтролированных объектов, идентифицированных контролируемой системой годными (либо негодными - в зависимости от поставленной задачи) подвергается повторной проверке.
Последовательный, подвид составного, контроль также состоит из ряда повторяющихся процедур. Повторным проверкам подлежат изделия, принятые контролем на предыдущих этапах. На каждом шаге можно изменить как точность технических средств контроля, так и контрольные допуски. В концепцию последовательного контроля вписывается многоэтапный контроль, при котором повторные проверки проводятся в несколько этапов, различными контролирующими органами и на различном оборудовании.
Числовой контроль, который в процессе работы разделяет изделия на три категории: годные, негодные и спорные, назван многоступенчатым. На первом этапе такого контроля проверяются все изделия партии, затем (шаг второй, третий и т.д.) - только спорные. Все изделия, оставшиеся спорными и на заключительном этапе, считаются годными.
В разлинчных источниках встречается классификация измерительного контроля по признаку кратности измерений. В дополнение к основанному на однократном измерении варианту контроля, имеется многократный контроль, «базирующийся на n-кратном (п > 2) измерении контролируемого параметра (компонент контролируемого параметра) изделия с последующим усреднением результатов измерения» [7].
По терминологии, используемой в работе [12], все рассмотренные ранее задачи (проверка исправности, работоспособности, поиска неисправности) являются частными случаями общей задачи проверки технического состояния объекта. В диссертационной работе используем термин «проверка объекта», понимая под ним подачу на объект определенных возмущающих воздействий (входных сигналов) и многократное измерение и анализ ответных реакций (выходных сигналов)
16
объекта на эти воздействия [1]. Возмущающие воздействия на объект поступают от средств контроля либо являются внешними (по отношению к системе контроля) сигналами, определенными рабочим алгоритмом функционирования объекта. Назовем первые воздействия тестовыми (стимулирующими), а вторые - рабочими (тестовое и функциональное диагностирование соответственно).
Тестовые воздействия подаются как в процессе проверки объекта, когда он не используется по назначению, так и при выполнении им своих рабочих функций. Во втором случае тестовыми воздействиями могут быть лишь сигналы, не нарушающие нормальной работы объекта. Рабочие воздействия поступают только на основные входы объекта, обеспечивая функционирование объекта в соответствии с заданным алгоритмом и одновременно используемые для контроля его технического состояния (в частности, для контроля правильности его функционирования и поиска дефектов в нем). Рабочие воздействия целенаправленно изменяются как по величине, так и по составу для получения желаемого качества функционирования объекта, а также для того, чтобы повысить эффективность контроля его технического состояния. Это и есть отличие от тестовых воздействий, исходя из условий эффективной организации процесса проверки работоспособности. Функциональное диагностирование осуществляется не только в натурных условиях при целевом использовании объекта, но и при испытаниях его в лабораторных условиях, и на специальных стендах, когда возможна имитация рабочих воздействий.
Алгоритм контроля (алгоритм диагностирования) - это совокупность формальных предписаний, задающих состав элементарных проверок, их порядок, правила обработки и анализа результатов этих проверок с целью определения вида технического состояния, в котором фактически находится объект. Алгоритм проверки, в котором результат очередной элементарной проверки анализируется сразу же после ее выполнения, и каждая последующая проверка выбирается в зависимости от результатов
17
предшествующих проверок, называется условным алгоритмом. Существует алгоритм проверки, в котором последовательность элементарных проверок делается после их выполнения, при этом очередность элементарных проверок не имеет существенного значения, и она определяется в основном техническими возможностями системы (в частности, проверки могут выполняться одновременно).
Диагностирование технического состояния объекта выполняется с помощью требуемых средств. В последних выделяют технические и программные средства. Взаимодействующие между собой объект и средства диагностирования образуют систему, осуществляющую процесс, который в включает в себя следующие действия:
- подачу на входы объекта последовательности входных воздействий, необходимых для обнаружения и поиска неисправности;
- измерение реакций объекта на последовательности входных воздействий;
- анализ и обработку измеренных значений;
- выдачу заключения о техническом состоянии объекта диагностирования [12].
В диссертационной работе в качестве объекта проверки рассматриваются панели приборов, относящиеся к классу электронных индицирующих приборов, содержащих стрелочные приборы, жидкокристаллические дисплеи, светодиодные или световые индикаторы. Рассмотренные принципы организации процесса проверки технических объектов находят также применение для функционального диагностирования электронных индицирующих приборов. В этом случае контроль технического состояния объекта подразумевает определение количественной меры для совокупности всех его контролируемых параметров, в качестве которых выступают «индицируемые параметры». Данные параметры доступны для считывания и проверки как в ручном режиме с помощью оператора, так и в автоматическом режиме с помощью оптико-электронных средств
18
распознавания изображений.
Таким образом, для осуществления проверки показаний панелей приборов необходимым требованием является наличие в составе системы диагностирования оператора либо технических средств, осуществляющих автоматическое выполнение операций оптического считывания индицируемых параметров.
Похожие диссертационные работы по специальности «Элементы и устройства вычислительной техники и систем управления», 05.13.05 шифр ВАК
Разработка технических и технологических решений по созданию жидкокристаллических дисплеев для авиационной техники2012 год, кандидат технических наук Дятлов, Владимир Михайлович
Метод, алгоритм и адаптивное устройство обработки изображений на базе КМОП-видеодатчиков с использованием нейроподобных структур2015 год, кандидат наук Мишин, Александр Борисович
Тестирование информативных параметров тепловизионных систем наблюдения2024 год, кандидат наук Филиппова Екатерина Вячеславовна
Совершенствование методов диагностирования изоляторов в электрических сетях постоянного тока2016 год, кандидат наук Кузьменко Антон Юрьевич
Разработка и исследование тестового метода диагностирования аппаратуры тональных рельсовых цепей2014 год, кандидат наук Черезов, Григорий Анатольевич
Список литературы диссертационного исследования кандидат наук Лысенко Ян Александрович, 2019 год
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Дмитриев, А. К. Основы теории построения и контроля сложных систем [Текст] / А. К. Дмитриев, П. А. Мальцев. - Л.: Энергоатомиздат, Ленингр. Отделение, 1988. - 192 с.
2. Большая советская энциклопедия [Текст] : справ. в 30 т. / Под ред. А. М. Прохорова. - 3-е изд. - М.: Советская энциклопедия, 1975. - 640 с.
3. ГОСТ 16504-81. Испытания и контроль качества продукции. Основные термины и определения; введ. 01.01.1982 // Государственная приемка продукции. Основные правила и организация работы. - М., 1988. -С. 136 - 162.
4. МС ИСО 9001: 1994 Система качества. Модель для обеспечения качества при проектировании, разработке, производстве, монтаже и обслуживании.
5. ГОСТ 20911-89. Техническая диагностика. Термины и определения; введ. 01.01.1991 // Контроль неразрушающий. Термины и определения. - М.: Издательство стандартов, 1990. - 9 с.
6. ГОСТ 27.002-89 Надежность в технике. Основные понятия. Термины и определения; введ. 01.07.90 // Государственный стандарт Союза ССР. - М.: Издательство стандартов, 1989. - 24 с.
7. Болычевцев, А. Д. Контроль партий изделий, обеспечивающий заданные требования к их качеству [Текст] / А.Д. Болычевцев, Ю.А. Смолин // Вестник западно-украинского университета им. В. Даля. - 2003. - №6. - С. 117 - 122.
8. Болычевцев, А. Д. Качество контроля [Текст] / А. Д. Болычевцев, М. П. Цапенко, И. М. Шенброт // Измерительная техника. - 1984. - №11, С. 3 - 7.
9. Болычевцев, А. Д. Средние риски. Элементы теоретико-методологического анализа [Текст] / А. Д. Болычевцев // Измерительная техника. - 2001. - №9. - С. 29 - 33.
10. Болычевцев, А. Д. Методология и практика технического контроля в контрольно-измерительных и управляющих системах: диссертация в форме научного доклада на соискание ученой степени доктора технических наук [Текст] / Болычевцев Алексей Дмитриевич. - Новосибирск: НЭТИ, 1992.
11. Болычевцев, А. Д. Функциональный контроль [Текст] / А. Д. Болычевцев // Измерительная техника. - 1992. - №20, С. 15 - 18.
12. Малышенко, Ю. В. Автоматизация диагностирования электронных устройств [Текст] / Ю. В. Малышенко, В. П. Чипулис, С. Г. Шаршунов; под ред. В. П. Чипулиса. - М.: Энергоатомиздат, 1986. - 216 с.
13. Автомобильная комбинация приборов КП-1118-3801010-02: Паспорт / Курское открытое акционерное общество «Счетмаш»; рук. Г.Ф. Каплунов. - Курск, 2008. - 82 с.
14. Автомобильная комбинация приборов КП-1118-3801010-02: Технические условия / Курское открытое акционерное общество «Счетмаш»; рук. Ю.Н. Багликов. - Курск, 2008. - 62 с. - ТУ 4573-043-00225331-01.
15. Автомобильная комбинация приборов КП-1118-3801010-02: Программа и методика испытаний / Курское открытое акционерное общество «Счетмаш»; рук. Г.Ф. Каплунов. - Курск, 2008. - 40 с.
16. Безикович, А. Я. Автоматизация поверки электроизмерительных приборов [Текст]/ А.Я. Безикович, В.И. Прицкер, С.П. Эскин. - Ленинград : Энергия. Ленингр. отд-ние, 1976. - 215 с.
17. Хохлов, Ю.А. Анализ инструментальных погрешностей автоматического устройства для поверки аналоговых измерительных приборов [Текст]/ Ю.А. Хохлов Измерительная техника. 1986, № 5.- с. 5-6.
18. Удут, Д.Л. Автоматизированные компьютерные комплексы для поверки и контроля качества стрелочных измерительных приборов. Автореферат диссертации . канд. техн. наук по специальности 05.11.05. -Томск, 1992.
19. Сырямкин, В.И. Информационные устройства и системы в робототехнике и мехатронике: учеб. пособие. (Серия: Интеллектуальные
109
технические системы). - Томск: Изд-во Том. ун-та, 2016 - 524 с.
20. Golovenkov, E. V. Electronic displayed devices automatic diagnostics based on recognition of indications [Text] / E. V. Golovenkov, S. V. Degtyarev // Proc. of the 9th Intern. Conf. "Pattern Recognition and Image Analysis: New Information Technologies" (PRIA-9-2008): Conference Proceedings. Vol. 1. -Nizhni Novgorod, 2008. - pp. 176 - 177.
21. Киселев, С.К. Система автоматизации поверки электроизмерительных приборов [Текст] / С.К. Киселев // Датчики и системы. 2003. № 6. С. 33 - 37.
22. Свинолупов, Ю. Г. Автоматизация поверки аналоговых электроизмерительных приборов [Текст] / Ю. Г. Свинолупов, Т. Б. Плотникова // Приборы и системы управления. - 1993. - №7.
23. А. с. 2054689 РФ, МПК G 01 R 35/00. Способ автоматической поверки стрелочных измерительных приборов / С. К. Киселев, В. А. Мишин, Л. В. Федотов (РФ). - № 92008502/09; заявлено 25.11.1992; опубл. 20.02.1996. - 5 с.
24. А. с. 2152047 РФ, МПК G 01 R 35/00, G 01 P 21/00. Способ и устройство для автоматической поверки стрелочных измерительных приборов / Н. О. Грачева, С. К. Киселев, Е. В. Романова (РФ). -№ 99114874/09; заявлено 09.07.1999; опубл. 27.06.2000. - 10 с.
25. А. с. 1383242 СССР, МКИ 4 G 01 R 35/00. Способ автоматической поверки стрелочных измерительных приборов и устройство для его осуществления / Ю. Г. Свинолупов, В. П. Войтко, Н. М. Степаненко, Д. Л. Удут (СССР). - № 4137153/24-21; заявлено 21.10.86; опубл. 23.03.88, Бюл. № 11. - 5 с.
26. А. с. 240440 С1 РФ, МПК G 01 R 35/00. Способ автоматической поверки стрелочых измерительных приборов и устройство для его осуществления / Ю.Г. Свинолупов (РФ). - № 2009129683/28; заявлено 03.08.2009; опубл. 20.11.2010, бюл. №32. - 9 с.
27. Sablatnig R., Kropatsch W.G. Automatic Reading of Analog Display
110
Instruments / Proc. of the 12th IAPR International Conference on Pattern Recognition (Jerusalem). 1994. Vol. 1. PP. 794-797.
28. Волегов Д. Б., Юрин Д. В. Считывание показаний стрелочного прибора при помощи web-камеры // ГрафиКон2008. Москва. 2008. С. 242 - 247.
29. Борштенбиндер, М. М. Система автоматизированного контроля автомобильных панелей измерительных приборов [Текст] / М. М. Борштенбиндер, Р. Р. Коревин, В. В. Холодилов // Распознавание-99: сб. материалов 4-й Междунар. конф. - Курск: КГТУ, 1999. - С. 114 - 116.
30. Устройство для автоматического тестирования и поверки современных электронных комбинаций приборов [Электронный ресурс] // http://www.vision-systems.com/content/vsd/en/articles/print/volume-9/issue-12/features/data-aquisition/system-tests-and-calibrates-instruments.html.
31. Таха Хемди, А. Введение в исследование операций [Текст] / А. Таха Хемди. - 7-е изд. - М.: Издательский дом «Вильямс», 2005. - 912 с.
32. Лазарев, А.А. К решению задачи построения расписания выполнения проекта [Текст] / А.А. Лазарев, Е.Р. Гафаров // АиТ. - 2008. - № 12. - С. 86-104.
33. Brucker, Peter. Complex Scheduling [Text] / P. Brucker, S. Knust. -Heidelberg: Springer-Verlag, Berlin, 2006. - 284 p.
34. Kolish, R. Serial and Parallel resource-constrained project scheduling methods revisited: Theory and computation [Text] / R. Kolish // European Journal of Operational Research. - 1996. - № 90. - p. 320-333.
35. Пискунов, Н.С. Дифференциальное и интегральное исчисления [Текст] / Н.С. Пискунов // Учебник для втузов. - Т. 2. - М.: Наука. - 1970. -576 с.
36. Юдин, М.Ф. Основные термины в области метрологии [Текст]: Словарь-справочник / Юдин М.Ф., Селиванов М.Н., О.Ф. Тищенко, А.И. Скороходов; Под. Ред. Ю.В. Тарбеева // М.: Издательство стандартов. -1989. - 113 с.
37. Bas, E.K. An easy to install camera calibration for traffic monitoring [Text] / E.K. Bas, J.D. Crisman // In Proc. IEEE Conf. on Intelligent Transportation Systems. - 1997. PP. 362 - 366.
38. Головенков, Е.В. Mетод и устройство автоматической поверки стрелочных контрольно-измерительных приборов [Текст] / Е.В. Головенков, С.В. Дегтярев // Известия Юго-Зап. гос. ун-та. Серия Управление, вычислительная техника, информатика. Mедицинское приборостроение. -2013. - №1. - С.211 - 216.
39. Головенков, Е.В. Программно-аппаратный комплекс проверки работоспособности автомобильного бортового компьютера [Текст] / С.В. Дегтярев, Е.В. Головенков // Информационно-измерительные и управляющие системы. — 2008. — № 10. — С. 39-43.
40. Лысенко, Я.А. Mодель, метод и устройство параллельного контроля показаний панели приборов [Текст] / Я.А. Лысенко // Известия Юго-западного государственного университета, Серия Управление, вычислительная техника, информатика. Mедицинское приборостроение -2018. - Т. 8, № 3 (28). - С.60 - 67.
41. Старков, Ф.А. Обработка изображений и распознавание образов [Текст]: Mонография / Курск: Курск. гос. техн. ун-т, 2003. - 232 с.
42. Mетоды цифровой обработки изображений [Текст]: Учебное пособие; в 4 ч. Ч. 1 / С.В. Дегтярев [и др.]. - Курск: Курск. гос. техн. ун-т, 2002. - 101 с.
43. Mетоды цифровой обработки изображений [Текст]: Учебное пособие: в 4 ч. Ч. 2 / А.Е. Архипов, С.В. Дегтярев, С.С. Садыков [и др.]. -Курск: Курск. гос. техн. ун-т, 2002. - 118 с.
44. Лысенко, Я.А. Синтез структур устройств контроля показаний панели приборов [Текст] / С.В. Дегтярев, Я.А. Лысенко, E.H. Иванова // Информационно-измерительные и управляющие системы. — 2015.— Т. 13. — № 6. С. 20-25.
45. Numerical recipes in C: The art of scientific computing [Text] / W.H.
112
Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery. - Cambridge: Cambridge University Press, 1992. - 994 p.
46. Коростелев, С.И. Метод распознавания символьной информации автомобильного бортового компьютера [Текст] / С.И. Коростелев, С.В. Дегтярев, М.И. Труфанов, А.В. Медведев // Датчики и системы, № 5. - 2008. -С. 5 - 7.
47. Сойфер, В.А. Методы компьютерной обработки изображений [Текст] / В.А. Сойфер. - М.: Физматлит, 2001. - 784 с.
48. Лысенко, Я.А. Оптико-электронное устройство параллельного контроля показаний панели приборов [Текст] / Я.А. Лысенко, С.В. Дегтярев, Е.Н. Иванова, А.И. Катыхин // Информационно-измерительные и управляющие системы. - 2016. - Т. 14. - №10. - С.31 - 33.
49. Технические характеристики микроконтроллера AT32UC3B0256 [Электронный ресурс]. // http://www.mymcu.ru/vendors/atmel/at32/at32uc3b/AT32UC3B0256.
50. 32-bit ATMEL AVR Microcontroller [Электронный ресурс] // http://www.atmel.com/Images/doc32059.pdf.
51. AVR32UC Technical Reference Manual [Электронный ресурс] // http://www.atmel.com/images/doc32002.pdf.
52. Лысенко, Я.А. Аппаратно-ориентированный алгоритм определения показаний жидкокристалличекого дисплея [Текст] / Я.А. Лысенко, С.В. Дегтярев, Е.Н. Иванова, П.П. Воробьев // Информационно-измерительные и управляющие системы. - 2017. - Т. 15. - №5. - С.54 - 56.
53. Патент на пол. мод. № 166565 РФ, МКИ G01R 35/00. Оптико-электронное устройство параллельного контроля показаний панели приборов / Я.А. Лысенко, С.В. Дегтярев. - № 2016110567/28 заявл. 22.03.16; опубл. 10.12.16, Бюл. № 34.
54. Агуров, П.В. Интерфейс USB. Практика использования и программирования [Текст] / П.В. Агуров // СПб.: БХВ-Петербург, 2004. - 576 с.
55. Лысенко, Я.А. Параллельный контроль показаний панели приборов [Текст] / Я.А. Лысенко // Интеллектуальные информационные системы: тенденции, проблемы, перспективы. Материалы докладов III региональной заочной научно-практической конференции «ИИС-2015». -Курск.: ЮЗГУ, 2015. - С. 101.
56. Воеводин, В.В. Параллельные вычисления [Текст] / В.В. Воеводин, Вл. В. Воеводин. - СПб.: БХВ-Петербург, 2002. - 608 с.
57. Гуров, В.В. Основы теории и организации ЭВМ [Текст] / В.В. Гуров, В.О. Чуканов. - М.: ИНТУИТ, 2006. - 280 с.
58. Лысенко, Я.А. Алгоритм определения показаний жидкокристаллического дисплея [Текст] / Я.А. Лысенко, Е.Н. Иванова // Интеллектуальные и информационные системы: сб. материалов Всероссийской научно-технической конференции. - Тула: Тул. гос. ун-т, 2016.
- С. 84 - 86.
59. Лысенко, Я.А. Математическая модель расчета расписания диагностирования при параллельном контроле показаний панелей приборов [Текст] / Я.А. Лысенко, С.В. Дегтярев // Перспективы развития научных исследований в 21 веке.: сб. материалов XIII Международной научно-практической конференции.- Махачкала. - 2017. С. 23-25.
60. Усатенко, С.Т. Графическое изображение электрорадиосхем [Текст]: Справочник. / С.Т. Усатенко, Т.К. Каченюк, М.В. Терехова - Киев: Техника, 1986. - 120 с.
61. СТУ 04.02.030-2008 Работы (проекты) курсовые, работы выпускные квалификационные. Общие требования к структуре, оформлению и защите.
62. Кручинин, А.Ю. Управление процессом распознавания образов на основе оценки его сложности [Текст]: Сборник статей X международной научно-технической конференции «Информационно-вычислительные технологии и их приложения» / А.Ю. Кручинин. - Пенза: РИО ПГСХА, 2009.
- С. 143-149..
63. Фукунага, К. Введение в статистическую теорию распознавания образов [Текст]: / К. Фукунага. М. : Наука, 1979. 368 с.
64. Chen, F. Et al. Overview of three-dimensional shape measurement using optical methods. //Opt. Eng. 2000, vol. 32. N1. P. 10-32.
65. Абламейко, С.В., Лагуновский Д.М. Обработка изображений: технология, методы, применение [Текст]:. - Мн.: Амалфея, 2000. - 304 с.
66. Претт, У Цифровая обработка изображений. В 2 т.: Пер. с англ. -М.: Мир, 1982. -2 т.
Приложение А. Текст моделирующей программы расчета
расписания диагностирования
// LS.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <set>
#include <vector>
#include <iostream>
#include <fstream>
#include <conio.h>
#include <stdlib.h>
#include <cstdlib>
using namespace std;
// количество работ N
// общее время выполнения всех работ // число типов ресурсов
// наилучшее время выполнение всех работ
// множество длительностей d работ j
// множество количеств k ресурсов каждого типа // матрица количеств k (по столбцам) требуемых ресурсов для работ j (по строкам)
unsigned int **Rt; // матрица возобновимых ресурсов [T x Y], кол-во каждого ресурса i=1..Y в момент времени t=0..T
unsigned int N;
unsigned int T;
unsigned int Y;
unsigned int Record;
unsigned int *J; //
unsigned int *D;
unsigned int *R; //
unsigned int *Kr;
unsigned int **K;
unsigned int **A; // матрица ресурсных ограничений
unsigned int *S; // массив времен запуска работ unsigned int indexS;// индекс
unsigned int **Gr; // график выполнения работ [T x N], какая работа
выполняется в каждый момент времени
set<unsigned int> *EL; vector<unsigned int> *Sj; vector<unsigned int> *Cmin; unsigned int timemin;
// множество EL работ к рассмотрению
// вектор порядка запуска работ
// вектор - оптимальное решение
// минимальное время работ
unsigned int * T; unsigned int *Q;
// массив T ранних стартов работ // массив Q поздних стартов работ
class CSchedule { private:
static unsigned int N; // количество работ
set<unsigned int> *SET; // множество работ к рассмотрению unsigned int activeItem;// активная (выбранная) работа
vector<unsigned int> *Sj;// вектор порядка запуска работ unsigned int *S; // массив времен запуска работ
unsigned int **Rt; // матрица возобновимых ресурсов [T x Y], кол-во каждого ресурса i=1..Y в момент времени t=0..T
unsigned int **Gr; // график выполнения работ [T x N], какая работа
выполняется в каждый момент времени
unsigned int index, jndex;
public:
static unsigned int T; // максимальное время выполнения всех работ
// Создать новый объект 'расписание'. Состояние определяется несколькими множествами и переменными
CSchedule( unsigned int *savedS,
unsigned int **savedRt, unsigned int **savedGr, set<unsigned int> *savedSET, vector<unsigned int> *savedSj, unsigned int activeltem
)
{
// Инициализация матрицы S
S = new unsigned int [N];
for (index = 0; index < N; index++)
S[index] = savedS[index]; // Инициализация матрицы Rt Rt = new unsigned int * [T]; for (index = 0; index < T; index++) {
Rt[index] = new unsigned int [Y]; for (jndex = 0; jndex < Y; jndex++)
Rt[index][jndex] = savedRt[index][jndex];
}
// Инициализация матрицы Gr Gr = new unsigned int * [T];
for (index = 0; index < T; index++) {
Gr[index] = new unsigned int [N]; for (jndex = 0; jndex < N; jndex++)
Gr[index][jndex] = savedGr[index][jndex];
}
// Заполнение множества SET SET = new set<unsigned int>;
for (std::set<unsigned int>::const iterator it = savedSET-
>begin(); it != savedSET->end(); it++) {
SET->insert(*it);
}
Sj = new vector<unsigned int>;
for (std::vector<unsigned int>::const iterator it = savedSj-
>begin(); it != savedSj->end(); it++) {
Sj->push back(*it);
}
// выбранная работа activeltem this->activeItem = activeltem;
}
~CSchedule() {
delete[] S;
for (index = 0; index < T; index++) { delete[] Rt[index]; delete[] Gr[index];
}
delete[] Rt; delete[] Gr; delete SET; delete Sj;
}
/*void addItem(unsigned int x) {
SET.insert(x);
}*/
void removeactiveltem(void) {
SET->erase(activeItem);
}
void calculateSchedule(void) {
unsigned int tau, time; // переменные времени time = 0;
bool f = true; // можно ли размещать работу, начиная со времени
time
index = 0;
while (index < Y) {
tau = time;
while (tau < (time + D[activeItem - 1])) {
if (K[activeItem - 1][index] > Rt[tau][index]) {
f = false; time += 1; break;
}
tau += 1;
}
if (!f) {
index = 0; f = true; continue;
}
else
index += 1;
}
Sj->push back(activeltem); S[activeItem - 1] = time;
for (tau = time; tau < (time + D[activeItem - 1]); tau++) {
for (index = 0; index < Y; index++)
Rt[tau][index] -= K[activeItem - 1][index]; Gr[tau][activeItem - 1] = activeItem;
}
}
void readState( unsigned int **readS,
unsigned int ***readRt, unsigned int ***readGr, set<unsigned int> **readSET, vector<unsigned int> **readSj
)
{
*readS = S; *readRt = Rt; *readGr = Gr; *readSET = SET; *readSj = Sj;
}
};
// Функция выбора работы из EL
unsigned int fetchIndex(set<unsigned int> *EL) { unsigned int ind = *EL->begin(); unsigned int min T = Q[ind - 1];
for (std::set<unsigned int>::const iterator i = EL->begin(); i != EL-
>end(); i++) {
if (Q[*i - 1] < min T) // найти работу с минимальным значением
времени старта в позднем расписании {
min_T = Q[*i - 1];
ind = *i; // номер работы
}
}
return ind;
}
// Заполнить значения главных переменных N, T unsigned int CSchedule::N = 20;
unsigned int CSchedule::T = 0; // значение вычисляется позже (сделать
нормальный обработчик)
// Рекурсивная функция вычисления алгоритма BnB для задачи RCPSP void Branch(unsigned int *savedS,
unsigned int **savedRt, unsigned int **savedGr, set<unsigned int> *savedSET, vector<unsigned int> *savedSj )
{
set<unsigned int> *SET; vector<unsigned int> *Sj; unsigned int *S; unsigned int **Rt; unsigned int **Gr; unsigned int j;
for (std::set<unsigned int>::const iterator i = savedSET->begin(); i !=
savedSET->end(); i++) {
j = (*i);
CSchedule schedule(savedS, savedRt, savedGr, savedSET, savedSj,
j);
schedule.calculateSchedule(); schedule.removeactiveItem();
schedule.readState(&S, &Rt, &Gr, &SET, &Sj);
// вывод -----------------------------------------------------
cout << endl << "active = " << j << endl; cout << "SET: ";
for (std::set<unsigned int>::const iterator p = SET->begin(); p !=
SET->end(); p++) {
cout << (*p) << " ";
}
cout << endl; cout << "Sj: ";
for (std::vector<unsigned int>::const iterator p = Sj->begin(); p
!= Sj->end(); p++) {
cout << (*p) << " ";
}
cout << endl;
cout << "S: ";
for (unsigned int k = 0; k < N; k++)
cout << S[k] << " "; cout << endl;
// -----------------------------------------------------------
// проверить ветвь; если работа j кончается позже Record, не рассматривать далее данную ветвь
if ((S[j - 1] + D[j - 1]) > Q[j - 1]) {
cout << "cut j = " << j << endl; return;
}
Branch(S, Rt, Gr, SET, Sj);
}
if (savedSET->size() == 0) {
// Рассчитываем время построенного расписания unsigned int s time = 0;
for (unsigned int index = 0; index < N; index++) if (s time < savedS[index] + D[index])
s time = savedS[index] + D[index];
if (s time < timemin) {
timemin = s time; Cmin = savedSj;
// отобразить
cout << endl << "Minimum Cmin = " << timemin << endl; cout << "Sj: ";
for (std::vector<unsigned int>::const iterator p = savedSj-
savedSj->end(); p++) {
cout << (*p) << " ";
}
>begin(); p !=
}
}
}
int tmain(int argc, TCHAR* argv[]) {
unsigned int index, jndex = 0; ofstream file; file.open("graphic.txt");
// Инициализация N = 31; T = 0; indexS = 0; Y = (N * N - N) / 2; J = new unsigned int [N]; D = new unsigned int [N]; S = new unsigned int [N];
A = new unsigned int * [N]; K = new unsigned int * [N];
R = new unsigned int [Y]; Kr =new unsigned int [Y];
T = new unsigned int [N];
Q = new unsigned int [N];
D[0] = 6;
D[ 1] = 6;
D[ 2] = 6;
D[ 3] = 6;
D[ 4] = 3;
D[5] = 10;
D[ 6] = 10;
D[ 7] = 3;
D[ 8] = 3;
D[ 9] = 3;
D[10] = 3;
D[11] = 3;
D[12] = 3;
D[13] = 3;
D[14] = 3;
D[15] = 3;
D[ 16] = 3;
D[ 17] = 3;
D[ 18] = 3;
D[ 19] = 3;
D[ 20] = 3;
D[ 21] = 3;
D[ 22] = 3;
D[ 23] = 3;
D[ 24] = 5;
D[ 25] = 7;
D[ 26] = 7;
D[ 27] = 7;
D[ 28] = 7;
D[ 29] = 7;
D[ 30] = 7;
for (index = 0; index < N; index++) {
A[index] = new unsigned int [N]; K[index] = new unsigned int [Y];
for (jndex = 0; jndex < N; jndex++) {
A[index][jndex] = 1;
}
for (jndex = 0; jndex < Y; jndex++) {
K[index][jndex] = 0;
}
J[index] = index; S[index] = 0;
T += D[index]; CSchedule::T += D[index];
}
timemin = T; Record = T;
for (index = 0; index < Y; index++) { R[index] = index; Kr[index] = 1;
}
// Инициализация матрицы Gr Gr = new unsigned int * [T];
for (index = 0; index < T; index++) {
Gr[index] = new unsigned int [N]; for (jndex = 0; jndex < N; jndex++) Gr[index][jndex] = 0;
}
// Инициализация матрицы Rt
Rt = new unsigned int * [T];
for (index = 0; index < T; index++) {
Rt[index] = new unsigned int [Y]; for (jndex = 0; jndex < Y; jndex++) Rt[index][jndex] = Kr[jndex];
}
// Заполнение матрицы A for (index = 0; index < N; index++) { A[5][index] = 0; A[6][index] = 0; A[18][index]= 0;
}
for (index = 24; index < N; index++)
for (jndex = 24; jndex < N; jndex++) A[index][jndex] = 0; for (index = 7; index <= 9; index++)
for (jndex = 7; jndex <= 9; jndex++) A[index][jndex] = 0; for (index = 3; index <= 4; index++)
for (jndex = 25; jndex <= 26; jndex++) A[index][jndex] = 0;
A[3][4] = 0; A[4][3] = 0;
for (index = 0; index < N; index++) // диагональные элементы A[index][index] = 1;
// Преобразование матрицы А (приведение к диагональному виду)
for (index = 0; index < N - 1; index++) {
for (jndex = index + 1; jndex < N; jndex++) if (A[index][jndex] == 0) A[jndex][index] = 0;
}
for (index = 1; index < N; index++) {
for (jndex = 0; jndex < N - 1; jndex++) if (A[index][jndex] == 0) A[jndex][index] = 0;
}
// Заполнение матрицы доступности ресурсов unsigned int p = 0;
for (index = 0; index < (N - 1); index++)
for (jndex = index + 1; jndex < N; jndex++, p++) {
Kr[p] = 1;
if (A[index][jndex] == 0)
{ K[index][p] = 1; K[jndex][p] = 1; }
else
{ K[index][p] = 0; K[jndex][p] = 0; }
}
// Нахождение ранних стартов работ
for (index = 0; index < N; index++)
// в случае отсутствия ограничений предшествования !!! _T[index] = 0; // и поздних стартов (Таха. Исследование операций) unsigned int max T = 0; for (index = 0; index < N; index++)
if ((_T[index] + D[index]) > max_T) max_T = _T[index] + D[index]; for (index = 0; index < N; index++) Q[index] = max T - D[index];
// Вывод
// **************************************
cout << " A " << endl;
for (index = 0; index < N; index++) {
for (jndex = 0; jndex < N; jndex++)
cout << A[index][jndex] << " "; cout << endl;
}
file << " A " << endl;
for (index = 0; index < N; index++) {
for (jndex = 0; jndex < N; jndex++)
file << A[index][jndex] << " "; file << endl;
}
for (index = 0; index < N; index++)
cout << "D" << index + 1 << " = " << D[index] << " " << endl; cout << endl << "T: " << T << endl;
cout << endl << "Y: " << Y << endl; // **************************************
// 1. Найти квазиоптимальное решение с помошью серийного метода, используя LST-правило
// Алгоритм серийного метода
// Заполнение EL
unsigned int time = 0;
unsigned int tau = 0;
unsigned int indexJ = 0;
EL = new set<unsigned int>;
Sj = new vector<unsigned int>;
for (index = 0; index < N; index++) {
// добавить все работы, если нет ограничений предшествования EL->insert(index + 1);
}
// пока не просмотрены все работы
while (EL->size() != 0) {
indexJ = fetchIndex(EL); // выбор работы из EL time = 0;
bool f = true; // можно ли размещать работу, начиная со времени
time
index = 0;
while (index < Y) {
tau = time;
while (tau < (time + D[indexJ - 1])) {
if (K[indexJ - 1][index] > Rt[tau][index])
{
f = false; time += 1; break;
}
tau += 1;
}
if (!f) {
index = 0; f = true; continue;
}
else
index += 1;
}
Sj->push back(indexJ);
S[indexJ - 1] = time;
for (tau = time; tau < (time + D[indexJ - 1]); tau++) {
for (index = 0; index < Y; index++)
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.