Разработки СО РАН - каталоги программ и БД

Поиск по каталогам:

2015-06-16

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

Область применения  Управление сложными системами: опытное производство, предприятия единичного производства, проектно-конструкторские организации, ремонтное производство, календарное планирование проектов.

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

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

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

В программном комплексе реализованы алгоритмы построения целочисленных линейных моделей, приведенные в статьях[1], [2].

[1] Ляхов О.А. Целочисленная линейная модель задачи календарного планирования проектов  с перерывами работ. Азиатская школа-семинар  "Проблемы оптимизации сложных систем ",  республика Казахстан, Усть-Каменогорск,  2010 г.;  

[2] Ляхов О.А. Целочисленные линейные модели сетевого планирования и управления. Азиатская школа-семинар "Проблемы оптимизации сложных систем", Новосибирск, 2011. 

Функциональные возможности   Формат исходных данных соответствует правилам формирования исходных данных в известной библиотеке тестовых примеров PSPLIB. Предусмотрены варианты моделей с возможностью  перерывов выполнения операций в целочисленные моменты времени и с непрерывным выполнением работ. На входе осуществляется синтаксический контроль исходных данных. Выходные данные формируются в MPS-формате  в виде, пригодном для применения известных пакетов программ целочисленного программирования. Комплекс программ позволяет строить целочисленные модели для всех примеров  из библиотеки PSPLIB (от 30 до 120 операций в сетевой модели).

Инструментальные средства создания   Операционная система  WINDOWS, язык FORTRAN.

2015-06-08

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

Область применения - в учебных заведениях для выработки навыков или контроля приобретенных навыков у студентов при построении обратной матрицы.  

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

1. Попов А.А., Бакланова Н.Б., Таныгина Т.А., Яньшина А.А. Интерактивные иллюстрации для задач линейной алгебры. "Применение информационно-коммуникационных в образовании(ИТО - Марий Эл - 2014):  Материалы XI Всесоюзной научно-практической конференции. - С.131-138. 

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

Инструментальные средства создания - программа написана на языке Java с использованием среды Eclipse.

Во вложении запакованный файл ObrMatrTren.rar содержит 3 файла: ObrMatrTren.bat запускает программу ObrMatrTren.class на выполнение. При завершении программы ObrMatrTren.class автоматически используется класс WindowDestroyer.class для разрушения окна. В текстовом файле Trenazher.doc собрана текстовая и графическая информации о решении одного из примеров.

2015-05-21

Назначение  Программа предназначена для выделения контуров на цифровых изображениях.

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

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

Построенному множеству точек сопоставляется полносвязный граф. Длина ребра равна Евклидовому расстоянию между точками в пятимерном пространстве RGBXY. Для выделения односвязных областей одного цвета на изображении выполняется кластеризация построенного графа. Для кластеризации графа используем алгоритм, основанный на построении минимального остовного дерева (для его построения используется жадный алгоритм). При кластеризации минимальное остовное дерево разбивается на поддеревья. Разбиение производится отбрасыванием рёбер, превышающих некоторую длину на определённом шаге алгоритма. Для этого удаляются рёбра больше некоторого порога t = r_coefficient^iter * MAX_DISTANCE, где r_coefficient принадлежит (0, 1), MAX_DISTANCE – максимальное расстояние между двумя точками, iter – номер итерации. После удаления рёбер с весом, превышающим t, дерево разбивается на поддеревья, представляющие собой односвязные области на изображении.

В алгоритме также выполняется проверка, что размер полученных кластеров после разбиения превышает некоторый порог minimum_cluster_size; если размер кластера меньше данного порога, ребро, удаление которого привело к такому разбиению, не удаляется. Таким образом, на каждой новой итерации алгоритм производит более глубокую кластеризацию. Процесс кластеризации останавливается при t < percent * MAX_DISTANCE.

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

Алгоритм разработан Кутлуниным П.Е. и Белимом С.В.. Подробное описание алгоритма можно найти в статье [1].

[1] Белим С.В., Кутлунин П.Е. Выделение контуров на изображениях с помощью алгоритма кластеризации // Компьютерная оптика. - 2015. Т. 39, № 4. - С. 119-124].

На вход программе подаётся 5 обязательных параметров:

1) file_name - путь к изображению, которое необходимо разбить на односвязные области;

2) r_coefficient - коээфициент уменьшения расстояния между рёбрами. Рёбра, превышающие значение r_coefficient * MAX_DISTANCE на очередной итерации, удаляются из дерева, тем самым распадаясь на поддеревья, представляющие собой односвязные области на исходном изображении. MAX_DISTANCE - максимальное расстояние между двумя рёбрами в исходном остовном дереве;

3) percent - процент от MAX_DISTANCE, при достижении значения которого алгоритм останавливает свою работу;

4) minimum_cluster_size - ограничение на минимальное количество пикселей в односвязной области;

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

После запуска программы в директории расположения программы будет создан файл с результатом работы программы с названием %original_name%_bounds.bmp, где original_name – название исходного файла file_name без расширения.

Результатом работы программы является изображение с выделенными границами областей (белый фон и чёрные границы).

Функциональные возможности  Изображение размером 256х256 пикселей на компьютере с двухъядерным процессором Intel Core i5 2.26GHz обрабатывается около 3 минут. Минимальное остовное дерево для этого изображения занимает в памяти 12 Мб. Ограничений со стороны алгоритма на размер обрабатываемого изображения не накладывается.на входе подаётся изображение для поиска границ. 

Инструментальные средства создания  программа написана на языке Java. Для написания использовались стандартные библиотеки классов JDK, в том числе классы из пакетов java.awt и javax.imageio для работы с изображениями.

Вложение  прикреплён архив иboundsearchresults.zip, в котором представлены результаты работы программы для искусственных и фотографических изображений (всего 3 изображения). Программа запускалась со следующими параметрами: r_coefficient=0,8; percent=10; minimum_cluster_size=30; color_intervals=16.

2015-05-20

Область применения  Построение объемных температурных полей в геоинженерии, геотехнике, геотермике и горном деле по данным термометрических сетей в криолитозоне. Знание температурного состояния пород и грунтов оснований инженерных сооружений в крилитозоне - гидроузлов, надшахтных сооружений подземных рудников, эксплуатируемых зданий, ТЭЦ возведенных на вечной мерзлоте - залог их безопасной эксплуатации. Область применения программы также определяется тем, что более что 60% территории РФ географически расположено в криолитозоне Земли.      

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

Общие элементы алгоритма и некоторые результаты работы программы приведены в статье [1].  

[1]  В.В. Неклюдов, С.А. Великин, А.В. Малышев, Контроль температурного состояния оснований рудников в криолитозоне средствами автоматизированного мониторинга, Криосфера Земли, 2014, №4.

Для обеспечения геокриологической безопасности при эксплуатации инженерных объектов в криолитозоне "схема" использует проверенные и надежные алгоритмы 2D или 3D интерполяции "рассеянных" данных. Исходные температурные данные разбиты на два блока:

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

"Схема" обеспечивает чтение геометрии объекта и геометрии скважинных термометрических сетей, а также элементы строительных чертежей, в соответствии с которыми формируется объемная сетка с температурными данными.  После 2D или 3D интерполяции (опционально), "схема" позволяет вывести полученный температурный параллелепипед в формате, пригодном для чтения другими (по желанию Заказчика) профессиональными графическими системами.

Исходная геометрия объекта для "схемы" формируется по строительным чертежам в известной программе "Surfer".

"Схема" позволяет:

  • работать с БД многолетних (автоматизированных) наблюдений и строить как геокриологические температурные разрезы, так и геокриологические разрезы скоростей промерзания-оттаивания, причем как в 2D, так и 3D виде;
  •  численно оценивать некоторые теплофизические характеристики (коэффициент температуропроводности и др.) грунтов и пород фундамента объекта непосредственно в полевых условиях как решение коэффициентной задачи простейшего уравнения теплопереноса;
  • строить объемные изотермические поверхности в объеме фундамента (подземного рудника), в т.ч. и в динамике, что позволяет оценить пространственное распределение областей фазовых переходов и выйти на построение термодинамических характеристик грунтов фундамента.  

"Схема" предоставляет возможность интерактивной работы с построенным кубом температурного поля: 

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

Применение авторской опции "экстраполяции" коротких скважин до глубин длинных скважин существенно расширяет возможности объемных построений в геотехнической индустрии.   Возможно использование других возможностей по желанию Заказчика

 "Схема" предоставляет опцию "online - мониторинга" на дисплее производственного компьютера (по имеющейся истории многолетних температурных измерений) динамики температур по всем термометрическим скважинам фундамента надшахтных высотных сооружений подземного рудника. Такая возможность позволяет оператору замораживающей станции напрямую визуально фиксировать появление трендов аномальных температур в текущей динамике и реагировать на нестандартные ситуации путем задания дополнительных параметров в контуре обратной связи в САУ «термометрическая система -резидентная программа – замораживающая система».     

"Схема" реализована для версии «CPU–расчетов», однако может быть перенесена на случай «GPU-расчетов».

Функциональные возможности Типичный объем обрабатываемых данных составляет до 8 Гб ОП для крупнейших подземных рудников в криолитозоне РФ на один типовой фундамент подземного рудника. 

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

Инструментальные средства реализации алгоритма - семейство C++, в описываемой версии 64bit - программных сред программирования. Для пользователя поставляется в виде исполняемого файла.

 

2015-05-19

Назначение  Программа предназначена для поиска односвязных областей на изображении.

Область применения  Задача выделения односвязных областей на изображении является актуальной при решении многих прикладных задач: обработка спутниковых фотографий поверхности земли, обработка снимков биологических объектов под микроскопом, обработка медицинских данных, локализация текста на изображениях. Полученные односвязные области на изображении могут быть использованы для дальнейшего анализа изображения (например, для распознавания образов).

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

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

Для изображения ищется самый популярный интервал цветов. На изображении находится точка, попадающая в самый популярный интервал цветов, и имеющая одну соседнюю точку такого же цвета. Данная точка выбирается в качестве начальной для алгоритма кластеризации. По всем точкам строится минимальное остовное дерево. Для начальной точки и всех точек, не присоединённых к дереву, вычисляется расстояние между точками. Точка с наименьшим расстоянием до начальной точки присоединяется к дереву ребром с весом, равным данному расстоянию. Далее для всех точек (вершин) в дереве вычисляются расстояния для всех «неиспользованных» точек, а точка с наименьшим расстоянием присоединяется к дереву. Алгоритм продолжается пока все точки не будут присоединены к дереву. Для выделения односвязных областей требуется разбить данное дерево на поддеревья. Для этого начнём удалять рёбра с весом больше некоторого порога t . После этого дерево разбивается на поддеревья, представляющие собой односвязные области на изображении. В алгоритме выполняется проверка, что размер полученных кластеров после разбиения превышает некоторый порог minimum_cluster_size; если размер кластера меньше данного порога, ребро, удаление которого привело к такому разбиению, не удаляется. Таким образом, на каждой новой итерации алгоритм производит более глубокую кластеризацию. Подробное описание алгоритма - в статье [1].

[1] Белим С.В., Кутлунин П.Е. Использование алгоритма кластеризации для разбиения изображения на односвязные области // Наука и образование: электронное научно-техническое издание, 2015, №.3, URL: http://technomag.bmstu.ru/doc/759275.html].

Функциональные возможности  Изображение размером 256х256 пикселей на компьютере с двухъядерным процессором Intel Core i5 2.26GHz обрабатывается около 3 минут. Минимальное остовное дерево для этого изображения занимает в памяти 12 Мб. Ограничений со стороны алгоритма на размер обрабатываемого изображения не накладывается.

В качестве входных данных подаётся изображение для обработки. Результатом работы программы является набор изображений с односвязными областями на белом фоне (одна область на одном изображении).

На вход подаётся 5 обязательных параметров:

1) file_name - путь к изображению, которое необходимо разбить на односвязные области;

2) r_coefficient - коээфициент уменьшения расстояния между рёбрами. Рёбра, превышающие значение r_coefficient * MAX_DISTANCE на очередной итерации, удаляются из дерева, тем самым распадаясь на поддеревья, представляющие собой односвязные области на исходном изображении. MAX_DISTANCE - максимальное расстояние между двумя рёбрами в исходном остовном дереве;

3) percent - процент от MAX_DISTANCE, при достижении значения которого алгоритм останавливает свою работу;

4) minimum_cluster_size - ограничение на минимальное количество пикселей в односвязной области;

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

После запуска программы в директории расположения программы будет создана папка с таким же названием, как исходное изображение. Внутри папки будут созданы директории с номерами, обозначающими номер итерации (глубину кластеризации). Внутри соответствующих папок будут размещены изображения с односвязными областями.

Инструментальные средства создания  Программа написана на языке Java. Для написания использовались стандартные библиотеки классов JDK, в том числе классы из пакетов java.awt и javax.imageio для работы с изображениями.

Вложение  Прикреплён архив imagesegmentationexample.zip, в котором представлены результаты работы программы для изображения «Перцы» размером 100х100 пикселей. Программа запускалась со следующими параметрами: r_coefficient=0,8; percent=5; minimum_cluster_size=30; color_intervals=16.

Внутри архива папка level7 содержит результаты кластеризация изображения на седьмом уровне кластеризации.