Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей - Новости о поисковых системах, SEO и интернет-маркетинге
Интернет и медиа

Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей

Привет! Мы – разработчики программного комплекса «Горизонт». Сегодня мы хотим рассказать вам, как автоматизировали процесс проектирования инженерных сетей и сделали его гораздо быстрее и удобнее!

Традиционный процесс создания инженерных систем

Обычно всё начинается с того, что к сетевой компании приходит заказчик и говорит: «Мне нужно подключить новые мощности!» – например, провести электричество или газ к новому объекту. Работа начинается с предварительного проекта. Это такой черновик будущего маршрута коммуникаций: на его основе оценивается примерная стоимость работ и планируется, где будут проходить сети.

Важно: по этому предварительному проекту будет делаться геодезическая съёмка – то есть специалисты приедут на местность с приборами и будут измерять, где находятся существующие объекты. А съёмка – дело недешёвое, поэтому черновик маршрута должен быть как можно точнее, чтобы не пришлось «снимать лишнего». Кроме того, если смета окажется завышенной, у заказчика могут возникнуть сомнения в её обоснованности (вплоть до разбирательств с ФАС), а при наличии альтернативных поставщиков он и вовсе может уйти к конкурентам. Заниженная же смета грозит убытками для исполнителя.

После съёмки начинается финальный этап проектирования. Геодезисты передают данные проектировщикам: это и чертежи в AutoCAD, и информация от владельцев уже существующих подземных коммуникаций. Проектировщики должны учесть все строительные нормы, чтобы не получилось так, что во время строительства экскаватор наткнётся на чужие трубы. В таком случае строители приходят к нам с вопросами и просят переделать проект (и не всегда вежливо).

Строительство в городе, кстати, идёт двумя основными способами: либо роется траншея, и туда укладываются трубы, либо используется метод горизонтально-направленного бурения (ГНБ).

ГНБ – это когда специальная бурильная установка делает под землёй точный горизонтальный канал. В этот канал потом прокладываются кабели, трубы и другие коммуникации. Метод особенно популярен в городах, потому что позволяет обойти множество препятствий, таких как дороги, здания или уже существующие сети – и всё это без необходимости вскрывать асфальт.

Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей

Так выглядит процесс бурения

Этот способ требует высокой точности: буровая машина должна выйти строго в нужной точке на другой стороне. Для этого используются системы навигации и телеметрии, а прокладка планируется заранее с учётом всех инженерных и геодезических данных. Именно поэтому так важно, чтобы проект был максимально точным – ведь малейшая ошибка в расчётах может привести к тому, что установка упрётся в чужие коммуникации или выйдет не в том месте.

Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей

ГНБ на Невском проспекте в Санкт-Петербурге

Что такое «Горизонт»?

«Горизонт» – это специальная программа, созданная для автоматизации проектирования наружных и внутренних инженерных сетей. Мы занимаемся такими инженерными сетями, как электрические, газовые и другие как на улице, так и внутри зданий. Наша главная задача – ускорить проектирование, снизить количество ошибок и сделать процесс максимально эффективным по затратам.

Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей

Как это работает?

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

Как мы строим графы

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

Внутри ПО для проектировщиков: как мы автоматизируем проектирование инженерных сетей

Подход к построению графа зависит от этапа проектирования. Если мы на предварительном этапе, то у нас, как правило, огромная карта – масштаб может охватывать целую область, например, Пермский край или Ленинградскую область. Обработать такую территорию – серьёзная вычислительная задача. Мы используем специальные алгоритмы и оптимизации, чтобы такие карты «переваривались» как можно быстрее. Но даже с быстрыми алгоритмами ключевая проблема здесь – это сами карты.

Нам нужны векторные карты, где местность представлена в виде точек, линий и многоугольников, а не просто картинок (растров). И вот тут начинается самое интересное: найти качественные векторные карты – целое приключение. У многих организаций такие карты есть, но они либо устаревшие, либо в нестандартных форматах. Мы постоянно работаем над тем, чтобы максимально быстро и корректно преобразовывать такие данные в пригодный для анализа вид.

А вот когда дело доходит до финального проекта – всё переходит на микроуровень. Здесь мы уже работаем с чертежами из AutoCAD. Это могут быть планы отдельных кварталов, улиц, зданий. И хотя кажется, что тут всё точнее – на самом деле становится ещё сложнее. Почему? Потому что почти всё, что есть на таких чертежах – это просто линии. Линия может обозначать всё что угодно: дорогу, бордюр, стену здания или кабель. Разобраться, где что – задача не из лёгких.

Мы применяем целый арсенал методов, чтобы превратить такие чертежи в осмысленные графы. Это и анализ текста на чертеже (например, если рядом с линией написано «газопровод» – это важный сигнал), и геометрические алгоритмы, которые по форме объекта определяют его тип. Ещё одна задача – это работа с высотами. Часто есть только отдельные отметки на карте, а нам нужно восстановить рельеф – тут на помощь приходят методы интерполяции.

Короче говоря, построение графа – это целая наука. И именно на этом этапе закладывается основа будущего проекта: если граф будет неправильным, то и маршрут получится нерабочим. Поэтому мы вложили максимум сил, чтобы научить «Горизонт» строить графы максимально точно и надёжно.

Как мы ищем путь на графе

Окей, граф построили. Теперь нужно найти на нём маршрут – от точки А до точки Б. Причём желательно, чтобы маршрут был коротким, шёл по нужным улицам и соответствовал нормативам. Тут на сцену выходит наш главный помощник – алгоритм A* (читается как «эй-стар»).

Почему именно он? A* отлично справляется с задачей поиска пути в условиях, когда у нас есть начальная и конечная точка. Он не бродит вслепую по всему графу, а действует умно: прикидывает, насколько «выгодно» двигаться в том или ином направлении, и благодаря этому избегает лишней траты времени на ненужные маршруты.

Но мы пошли ещё дальше. Нам нужно, чтобы маршрут не только был коротким, но и выглядел естественно. Представьте себе маршрут, который зигзагами обходит препятствия, хотя можно было бы провести сеть почти по прямой. Мы внесли небольшие, но важные изменения в A*, чтобы маршруты, которые он строит, были как можно более прямыми и логичными – особенно в тех случаях, когда это не противоречит нормативам.

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

Так что да, наш A* – это не просто алгоритм из учебника. Это адаптированная и доработанная версия, которая знает, как проектировать инженерные сети в реальном мире, а не в идеальных условиях.

Как мы ускоряем расчёты?

Используя Python, мы можем очень быстро проверить разные подходы. Самые «тяжелые» расчеты перенесли на язык C++ и GPU (с использованием OpenCL). Это позволяет нам обрабатывать огромные объемы данных за очень короткое время.

Что получилось в итоге?

С помощью «Горизонта» проектировать стало проще и быстрее. Мы минимизировали человеческие ошибки и сделали проектирование намного более экономичным и качественным. Теперь наши заказчики могут проектировать инженерные сети легко, быстро и без лишних затрат!

Вот так просто и удобно работает наш программный комплекс «Горизонт». Мы постоянно улучшаем его, чтобы сделать вашу работу еще легче и эффективнее!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»