Научная статья на тему 'Разработка универсального Windows приложения для решения задач из теории графов на стадии формирования проектной строительной документации'

Разработка универсального Windows приложения для решения задач из теории графов на стадии формирования проектной строительной документации Текст научной статьи по специальности «Строительство и архитектура»

CC BY
414
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Вестник МГСУ
ВАК
RSCI
Ключевые слова
ГРАФ / GRAPH / СЕТЕВОЙ ГРАФИК / NETWORK / КРИТИЧЕСКИЙ ПУТЬ / CRITICAL PATH / КРАТЧАЙШИЙ ПУТЬ / SHORTEST PATH / АЛГОРИТМ ДЕЙКСТРЫ / DEJKSTRA ALGORITHM / WINDOWS ПРИЛОЖЕНИЕ / WINDOWS APPLICATION / ГРАФИЧЕСКИЙ ИНТЕРФЕЙС / GRAPHIC INTERFACE

Аннотация научной статьи по строительству и архитектуре, автор научной работы — Клашанов Федор Константинович, Зоткин Сергей Петрович, Зоткина Ирина Александровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по строительству и архитектуре , автор научной работы — Клашанов Федор Константинович, Зоткин Сергей Петрович, Зоткина Ирина Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development of generic Windows application for solving the tasks of the theory of graphs on design documentation stage

The discrete analysis methods, in particular the theory of graphs, are widely recognized as a tool for building mathematical model, including in construction. In the process of design documentation formation there always appears the necessity to plan project networks. At the present moment there is no reasonable generic program, which helps the designer to rapidly solve this task. The authors present the possibilities of using the generic program for Windows developed by them. The program allows solving key tasks of the theory of graphs. These tasks include the search (calculation) of the critical (project network planning) or optimal (resources delivery variant) path in the graph. The process (user interface) of graph formation corresponding to the target network in frames of the program is described. On the stage of construction project development there always appears a task of visual image of workflow process as a graph. So the project network is an image of an object erection. At that the events are depicted as rings, and works as branches (arrows). The general view of the dialog box with the description of the possibilities of editing (adding and deleting vertexes and edges), saving the document, reading the document from file as well as optimal and critical paths are presented.

Текст научной работы на тему «Разработка универсального Windows приложения для решения задач из теории графов на стадии формирования проектной строительной документации»

УДК 519.17:004

Ф.К. Клашанов, С.П. Зоткин, И.А. Зоткина

ФГБОУ ВПО «МГСУ»

РАЗРАБОТКА УНИВЕРСАЛЬНОГО WINDOWS ПРИЛОЖЕНИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ ИЗ ТЕОРИИ ГРАФОВ НА СТАДИИ ФОРМИРОВАНИЯ ПРОЕКТНОЙ СТРОИТЕЛЬНОЙ ДОКУМЕНТАЦИИ

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

Ключевые слова: граф, сетевой график, критический путь, кратчайший путь, алгоритм Дейкстры, Windows приложение, графический интерфейс.

Дискретные методы анализа и в частности теория графов хорошо себя зарекомендовали в качестве инструмента для построения математической модели, в т.ч. и в строительстве [1—6]. Полноценный математический анализ некоторых технологических процессов наиболее полно можно провести, используя дискретные методы. Построенные на их основе математические модели позволяют учесть внешние факторы и найти оптимальные решения.

Так в процессе разработки проектной строительной документации в обязательном порядке возникает необходимость планирования сетевых графиков. В настоящий момент не существует приемлемой универсальной программы, позволяющей проектировщику оперативно решить данную задачу [7—11]. В данной работе предпринимается попытка разработать универсальное приложение с удобным для пользователя графическим интерфейсом, позволяющее решать ключевые задачи из теории графов. К таковым относится поиск (расчет) критического (планирование сетевого графика) или оптимального (варианты поставки ресурсов) пути в графе.

На этапе разработки проекта строительства объекта неизбежно ставится задача наглядного отображения последовательности выполнения всех работ в виде графа. Таким образом, сетевой график — это изображение последовательности возведения объекта [12—14]. При этом события изображаются кружками, а работы — дугами (стрелками). В кружках проставляются произвольные, но различные номера (событий), а над стрелками — наименование и продолжительность работ. В качестве примера рассмотрим сетевой график работ нулевого цикла при возведении здания (рис. 1).

Суть задачи состоит в вычислении «раннего» времени наступления каждого из событий. Для завершающего события раннее время означает минимальный срок завершения всего строительства. Это время называется критическим

MGSU

временем, а путь, длина которого равна критическому времени, называется критическим.

Кроме того, в рамках теории графов встречаются задачи выбора оптимального маршрута между двумя пунктами (с возможными пересадками). Тогда ведется поиск уже не максимального, а минимального пути, соединяющего начальную и конечную вершины. В этом случае лучше всего использовать известный алгоритм Дейкстры [15].

твердение

бетона (2)

Рис. 1. Пример сетевого графика строительных работ

Решение двух вышеупомянутых противоположных по сути задач, реализовано в рамках предлагаемой авторами программы «Приложение для теории графов» с удобным графическим интерфейсом. Разработана она в виде приложения типа Windows Forms на языке C++ в среде Microsoft Visual Studio Express Edition.

На первом этапе пользователю программы предстоит сформировать (построить) граф. Весь процесс реализован в удобном графическом режиме. Сначала последовательно вводятся вершины графа. Их положение задается щелчком мыши в той точке белого поля, где должен появиться кружок с номером (событие). Затем добавляются ребра вместе с их протяженностью. В итоге получается, к примеру, следующий вид (рис. 2). Когда граф сформирован, его можно сохранить Ц в файле типа DAT, чтобы в следующем сеансе считать оттуда информацию Ёг и по ней нарисовать граф на экране. Процессы сохранения и чтения обслуживаются стандартными процедурами операционной системы Windows. Интерфейс программы имеет также инструменты для редактирования графа, которые пользователь видит на экране. Можно добавлять и удалять вершины и ребра, изменять их длины.

В рамках программы модель графа представлена следующим образом. Практически вся информация о вершинах графа хранится в рамках структуры Nodes, шаблон которой включает в себя номер вершины No, он же автоматически отображается внутри кружка на схеме; целочисленные координаты центра вершины (x, y), по их значениям кружок рисуется на поле формы, и по ним же проводятся заданные ребра графа; L и Path представляют собой вычисляемые значения (путь от начала до текущей вершины и признак принадлежности оптимальному/критическому пути, соответственно) при запуске расчета.

Устройство ввода подземных коммуникаций (7)

Обратная засыпка (2)

ВЕСТНИК

МГСУ-

9/2014

Рис. 2. Интерфейс пользователя «Приложения для теории графов»

struct Nodes {

int No; int x; int y; int L; int Path;

} V[50]; // массив вершин int N=0, E[50][50]; // матрица весов int 0ptima[50][50]; // матрица принадлежности ребра

// оптимальному пути Матрица E заполняется значениями длин соответствующих ребер, а матрица Optima формируется в ходе расчета и имеет «1» там, где ребро попадает в цепочку оптимального/критического пути, и «0» — в противном случае.

Если пользователь нажимает на кнопку «Добавить вершину», в следующий момент он должен щелкнуть мышью в той точке белого поля формы, где будет расположен центр той вершины. Окружность с помещенным в ее центр числом, взятым из окна счетчика вершин, будет создана программой по следующему алгоритму.

// Добавить вершину

private: System::Void button1_Click(System::ObjectA sender,

System::EventArgsA e) {

int i,xPos,yPos;

i= (int) numericUpDown1->Value; if (V[i-1].x || V[i-1].y)

{

MessageBox^ShowO'Y®® была введена!","Вершина №" +Convert::ToString(V[i-1].No)); return;

}

VESTNIK

MGSU

N=i; // это номер максимальной (конечной вершины)

To_Draw_Node = true;

} "

private:System::Void panel1_MouseDown(System::ObjectA sender,

System::Windows::Forms::MouseEventArgsA e) {

int i,xPos,yPos;

if ( To_Draw_Node == false ) return;

xPos = e->X; yPos = e->Y;

g->DrawEllipse(myPen,xPos-12,yPos-12,25,25);

i= (int) numericUpDown1->Value;

V[i-1].No = i; V[i-1].x = xPos; V[i-1].y = yPos;

g->DrawString(Convert::ToString(V[i-1].No),

myFont,myBrush,xPos-7,yPos-7);

numericUpDown1->Value++;

To_Draw_Node = false; }

Само значение счетчика вершин при этом увеличится на 1. Таким образом, программа подготовится к вводу следующей (очередной) вершины графа.

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

Для отображения на экране критического пути (рис. 3) сразу после того, как граф будет полностью построен, необходимо нажать на кнопку «Расчет критического пути».

Выводы. 1. Удобный графический интерфейс программы «Приложение для теории графов» позволяет быстро сформировать граф на экране монитора и запомнить его структуру в файле. Сохраненный таким образом граф в дальнейшем можно прочитать из файла и редактировать (добавлять и удалять ребра и вершины) в наглядном графическом интерактивном режиме.

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

3. Программа может быть полезным инструментом работающего в строительной отрасли проектировщика.

Библиографический список

1. Klashanov F. Theoretical Base of the Building to Models of Management in Construction // Computing in Civil and Building Engineering. 2014. Pp. 975—980. Режим доступа: http://ascelibrary.org/doi/abs/10.1061/9780784413616.121. Дата обращения: 03.06.2014.

2. Клашанов Ф.К. Методы и методология формализации принятия решения в строительстве // Вестник МГСУ 2011. № 1. Т. 1. С. 331—338.

3. Головань А.М., Клашанов Ф.К., Петрова С.Н. Облачные вычисления // Вестник МГСУ 2011. № 6. С. 411—417.

4. Клашанов Ф.К. Применение метасистемного анализа в строительстве // Вестник МГСУ 2010. № 4. Т. 1. С. 228—234.

5. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ / пер. с англ., 2-е изд. М. : ИД Вильямс, 2005. 1296 с.

6. Никаноров С.П. Расширение предмета теории графов // Системное управление. Проблемы и решения. 2007. Вып. 8. Режим доступа: http://www.supir.ru/index. php?m=articles&article_id=33. Дата обращения: 03.06.2014.

7. Sarkar M.S. GXL: a new graph transformation language // Proc. of the 42nd annual southeast regional conference. ACM New York, 2004. Pp. 336—340.

8. Kleyn M.F., Browne J.C. A high level language for specifying graph-based languages and their programming environments // Proc. of the 15th international conference on Soft-ware Engineering. CA, USA, IEEE Computer Society Press Los Alamitos, 1993. Pp. 324—335.

9. Lin Y. A recognition problem in converting linear programming to network flow models // Appl. Math. J. Chinese Univer. 1993. Vol. 8. No. 1. Pp. 76—85.

10. Geisberger R., Sanders P., Schultes D., Delling D. Contraction hierarchies: faster and simpler hierarchical routing in road networks // International Workshop on Experimental Algorithms (WEA 2008). Provincetown : Springer, 2008. Pp. 319—333.

11. Gunawan A., Ng K.M., Poh K.L. Solving the teacher assignment-course scheduling problem by a hybrid algorithm // Int. J. Comput. Inform. Engin. 2007. Vol. 1. No. 2. Pp. 137—142.

12. Сорокин А.А. Разработка программного комплекса для исследования телекоммуникационных систем с динамической топологией сети // Вестник Астраханского государственного технического университета. Сер.: Управление, вычислительная техника и информация. 2011. № 2. С. 137—142.

13. De Loera J.A., Kim E.D., Onn S., Santos F. Graphs of transportation polytopes // Journal of Combinatorial Theory — JCT. Ser. A. 2009. Vol. 116. No. 8. Pp. 1306—1325.

14. Попков В.К., Токтошов Г.Ы. Гиперсетевая технология оптимизации инженерных сетей в горной или пересеченной местности // Вестник Бурятского государственного университета. 2010. № 9. С. 276—282.

15. Dijkstra E.W. A note on two problems in connexion with graphs // Numerische Mathematik. 1959. Vol. 1. No. 1. Pp. 269—271.

Поступила в редакцию в июле 2014 г.

Об авторах: Клашанов Федор Константинович — кандидат технических наук, профессор кафедры информационных систем, технологий и автоматизации в строительстве, Московский государственный строительный университет (ФГБОУ ВПО «МГСУ»), 129337, г. Москва, Ярославское шоссе, д. 26, Klashanov@mgsu.ru;

VESTNIK

MGSU

Зоткин Сергей Петрович — кандидат технических наук, профессор кафедры информатики и прикладной математики, Московский государственный строительный университет (ФГБОУ ВПО «МГСУ»), 129337, г. Москва, Ярославское шоссе, д. 26, spzotkin@mtu-net.ru;

Зоткина Ирина Александровна — студент Института экономики, управления и информационных систем в строительстве, Московский государственный строительный университет (ФГБОУ ВПО «МГСУ»), 129337, г. Москва, Ярославское шоссе, д. 26, vatruhaa@gmail.com.

Для цитирования: Клашанов Ф.К., Зоткин С.П., Зоткина И.А. Разработка универсального Windows приложения для решения задач из теории графов на стадии формирования проектной строительной документации // Вестник МГСУ. 2014. № 9. С. 138—144.

F.K. Klashanov, S.P. Zotkin, I.A. Zotkina

DEVELOPMENT OF GENERIC WINDOWS APPLICATION FOR SOLVING THE TASKS OF THE THEORY OF GRAPHS ON DESIGN DOCUMENTATION STAGE

The discrete analysis methods, in particular the theory of graphs, are widely recognized as a tool for building mathematical model, including in construction. In the process of design documentation formation there always appears the necessity to plan project networks. At the present moment there is no reasonable generic program, which helps the designer to rapidly solve this task.

The authors present the possibilities of using the generic program for Windows developed by them. The program allows solving key tasks of the theory of graphs. These tasks include the search (calculation) of the critical (project network planning) or optimal (resources delivery variant) path in the graph. The process (user interface) of graph formation corresponding to the target network in frames of the program is described. On the stage of construction project development there always appears a task of visual image of workflow process as a graph. So the project network is an image of an object erection. At that the events are depicted as rings, and works — as branches (arrows). The general view of the dialog box with the description of the possibilities of editing (adding and deleting vertexes and edges), saving the document, reading the document from file as well as optimal and critical paths are presented.

Key words: graph, network, critical path, shortest path, Dejkstra algorithm, Windows application, graphic interface.

References

1. Klashanov F. Theoretical Base of the Building to Models of Management in Construction. Computing in Civil and Building Engineering. 2014, pp. 975—980. Available at: http://as-celibrary.org/doi/abs/10.1061/9780784413616.121. Date of access: 03.06.2014. DOI: http:// dx.doi.org/10.1061/9780784413616.121.

2. Klashanov F.K. Metody i metodologiya formalizatsii prinyatiya resheniya v stroitel'stve [Methods and Methodology of Decision Making Formalization in Construction]. Vestnik MGSU [Proceedings of Moscow State University of Civil Engineering]. 2011, no. 1, vol. 1, pp. 331—338.

3. Golovan' A.M., Klashanov F.K., Petrova S.N. Oblachnye vychisleniya [Cloud Computing]. Vestnik MGSU [Proceedings of Moscow State University of Civil Engineering]. 2011, no. 6, pp. 411—417.

4. Klashanov F.K. Primenenie metasistemnogo analiza v stroitel'stve [Using Metasystem Analysis in Construction]. Vestnik MGSU [Proceedings of Moscow State University of Civil Engineering]. 2010, no. 4, vol. 1, pp. 228—234.

5. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms. The MIT Press, 2009, 3rd edition, 1312 p.

6. Nikanorov S.P. Rasshirenie predmeta teorii grafov [Expansion of the Graph Theory Subject]. Sistemnoe upravlenie. Problemy i resheniya [System Management. Problems and Solutions]. 2007, no. 8. Available at: http://www.supir.ru/index.php?m=articles&article_id=33. Date of access: 03.06.2014.

7. Sarkar M.S. GXL: a New Graph Transformation Language. Proc. of the 42nd Annual Southeast Regional Conference. ACM New York, 2004, pp. 336—340.

8. Kleyn M.F., Browne J.C. A High Level Language for Specifying Graph-Based Languages and their Programming Environments. Proc. of the 15th International Conference on Soft-ware Engineering. IEEE Computer Society Press Los Alamitos, CA, USA, 1993, pp. 324—335. DOI: http://dx.doi.org/10.1109/ICSE.1993.346032.

9. Lin Y. A Recognition Problem in Converting Linear Programming to Network Flow Models. Appl. Math. J. Chinese Univer. 1993, vol. 8, no. 1, pp. 76—85.

10. Geisberger R., Sanders P., Schultes D., Delling D. Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks. International Workshop on Experimental Algorithms (WEA 2008). Provincetown, Springer, 2008, pp. 319—333.

11. Gunawan A., Ng K.M., Poh K.L. Solving the Teacher Assignment-Course Scheduling Problem by a Hybrid Algorithm. Int. J. Comput. Inform. Engin. 2007, vol. 1, no. 2, pp. 137—142.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

12. Sorokin A.A. Razrabotka programmnogo kompleksa dlya issledovaniya telekom-mu-nikatsionnykh sistem s dinamicheskoy topologiey seti [Software Development for the Investigation of Telecommunication Systems with Dynamic Network Topology]. Vestnik Astrakhan-skogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: upravlenie, vychislitel'naya tekhnika i informatika [Bulletin of the Astrakhan State Technical University. Series: Management, Computer Engineering, Computer Science]. 2011, no. 2, pp. 137—142.

13. De Loera J.A., Kim E.D., Onn S., Santos F. Graphs of Transportation Polytopes. Journal of Combinatorial Theory — JCT. Ser. A, 2009, vol. 116, no. 8, pp. 1306—1325. DOI: http://dx.doi.org/10.1016/jJcta.2009.03.010.

14. Popkov V.K., Toktoshov G.Y. Gipersetevaya tekhnologiya optimizatsii inzhenernykh setey v gornoy ili peresechennoy mestnosti [Hyper Network Technology of Optimizing the Engineering Networks at Mountainous and Broken Area]. Vestnik Buryatskogo gosudarstvennogo universiteta [Proceedings of Buryat State University]. 2010, no. 9, pp. 276—282.

15. Dijkstra E.W. A Note on Two Problems in Connexion with Graphs. Numerische Mathematik. 1959, vol. 1, no. 1, pp. 269—271. DOI: http://dx.doi.org/10.1007/BF01386390.

About the authors: Klashanov Fedor Konstantinovich — Candidate of Technical Sciences, Professor, Department of Information Systems, Technology and Automation in Civil Engineering, Moscow State University of Civil Engineering (MGSU), 26 Yaroslavskoe shosse, Moscow, 129337, Russian Federation; Klashanov@mgsu.ru;

Zotkin Sergey Petrovich — Candidate of Technical Sciences, Professor, Department of Informatics and Applied Mathematics, Moscow State University of Civil Engineering (MGSU), 26 Yaroslavskoe shosse, Moscow, 129337, Russian Federation; spzotkin@mtu-net.ru;

Zotkina Irina Aleksandrovna — student, Institute of Economics, Management and Information Systems in Civil Engineering, Moscow State University of Civil Engineering (MGSU), 26 Yaroslavskoe shosse, Moscow, 129337, Russian Federation; vatruhaa@gmail.com.

For citation: Klashanov F.K., Zotkin S.P, Zotkina I.A. Razrabotka universal''nogo Windows prilozheniya dlya resheniya zadach iz teorii grafov na stadii formirovaniya proektnoy stroitel"noy dokumentatsii [Development of Generic Windows Application for Solving the Tasks of the Theory of Graphs on Design Documentation Stage]. Vestnik MGSU [Proceedings of Moscow State University of Civil Engineering]. 2014, no. 9, pp. 138—144.

i Надоели баннеры? Вы всегда можете отключить рекламу.