1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ZzqiZQute-graph_and_network_optimization_qt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Графики и оптимизация сетей с помощью Qt

Проект

С помощью инструментов Qt визуализируем некоторые алгоритмы теории графов. В настоящее время поддерживаются алгоритмы Беллмана и Флойда, а также метод решения задачи о минимальном потоке в сети с помощью метода потенциалов. Возможно, позже будет добавлен метод решения задачи о максимальном потоке с помощью того же метода.

Архитектура программного обеспечения

Разработка ведётся с использованием Qt 5.11.0, среда компиляции — MinGW 5.3.0 32-bit. После развёртывания программа может работать на Windows (x86) и Linux (не тестировалась).

Примечание

Поскольку мы добавили вывод данных алгоритма Флойда в Excel, в программе используется компонент QAxContainer. Согласно документации Qt, модуль QAxContainer является расширением для Windows, предназначенным для доступа к элементам управления ActiveX и COM-объектам. Поэтому он не поддерживается в Linux. Благодарим @Think за напоминание.

Как удалить QAxContainer для запуска программы в системе Linux

  1. Удалите модуль axcontainer из файла проекта project.pro:
QT       += core gui axcontainer
  1. Удалите методы, связанные с выводом Флойда в Excel.

Использование

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

Как создать ребро

В режиме редактирования нажмите и удерживайте клавишу Ctrl, выберите узел и перетащите его, чтобы создать ребро, как показано на рисунке ниже. Как создать ребро

Этикетки на рёбрах можно перемещать с помощью левой кнопки мыши.

Вращение этикеток на узлах в методе решения задачи о потоке методом потенциалов

Этикетки на узлах нельзя перемещать, но в режиме редактирования их можно вращать, нажимая на узел (вверх, вправо, вниз, влево).

Просмотр результатов
  • Алгоритм Беллмана: в режиме выполнения (не в режиме редактирования) поместите указатель мыши над узлом, чтобы увидеть кратчайший путь от узла 1 до этого узла.

Алгоритм Беллмана

  • Алгоритм Флойда: в режиме выполнения сначала выберите начальный узел, затем поместите указатель мыши на другой узел, чтобы увидеть кратчайший путь между начальным узлом и этим узлом.

Алгоритм Флойда

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

Фиктивный узел

Адрес проекта: https://gitee.com/zhaoziqiu1995/graph_and_network_optimization_qt.git

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Использование инструментов Qt позволяет визуализировать некоторые алгоритмы теории графов. В настоящее время поддерживаются алгоритмы Беллмана, алгоритм Флойда и метод сетевого симплекс-метода для решения задачи о минимальном потоке затрат. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ZzqiZQute-graph_and_network_optimization_qt.git
git@api.gitlife.ru:oschina-mirror/ZzqiZQute-graph_and_network_optimization_qt.git
oschina-mirror
ZzqiZQute-graph_and_network_optimization_qt
ZzqiZQute-graph_and_network_optimization_qt
master