23 Star 69 Fork 40

ZzqiZQute / 图与网络优化_Qt

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

图与网络优化Qt

项目介绍

使用Qt工具将一些图论的算法可视化,目前支持的算法有Bellman,Floyd算法,网络单纯形法求解最小费用流。之后可能会添加网络单纯形法求解最大流的算法

软件架构

使用Qt5.11.0开发,编译环境为MinGW5.3.0 32bit,部署后可以在Windows系统(x86)以及Linux系统(未测试)下运行。

注意

由于增加了输出Floyd算法数据到Excel,该功能使用了QAxContainer组件。
根据Qt文档:The QAxContainer module is a Windows-only extension for accessing ActiveX controls and COM objects. 所以,应该不支持Linux系统。感谢@Think的提醒。

移除QAxContainer来实现可能运行在Linux系统的目的

  1. 删除工程文件project.pro中的 axcontainer 模块
    QT       += core gui axcontainer
  2. 删除有关Floyd输出到Excel方法

使用说明

鼠标右键拖动改变显示区域。左键拖动单个顶点,也可以多选顶点整体拖动。滚轮缩放视图大小。

如何构造边

最短路径界面在编辑模式下按住Ctrl键选中一个顶点点击并拖动可以构造边,如下图所示 如何构造边

边上的标签在编辑模式下可以用鼠标左键拖动

网络单纯形法旋转顶点上的标签

顶点上的标签是无法拖动的,但是在编辑模式下可以点击顶点旋转标签(上右下左)。

观察结果
  • Bellman算法 在运行模式(非编辑模式)下将鼠标指针移动到节点的上面,可以观察从节点1到该节点的最短路径。

bellman

  • Floyd算法 在运行模式下,首先点击一个节点作为起始节点,然后再将鼠标指针移动到一个节点上面,可以观察从起始节点到该节点的最短路径。

floyd

其他
  • 运行模式所有节点不可以移动,边上的标签不可以移动。
  • 但使用两阶段法的网络单纯形法的第一阶段的dummy节点(淡蓝色的节点)可以移动,如下图所示。

dummy节点

项目地址 https://gitee.com/zhaoziqiu1995/graph_and_network_optimization_qt.git

Repository Comments ( 7 )

Sign in to post a comment

About

使用Qt工具将一些图论的算法可视化,目前支持的算法有Bellman,Floyd算法,网络单纯形法求解最小费用流。 expand collapse
C++ and 3 more languages
Apache-2.0
Cancel

Releases

No release

图与网络优化_Qt

Contributors

All

Activities

Load More
can not load any more
C++
1
https://toscode.gitee.com/ZzqiZQute/graph_and_network_optimization_qt.git
git@toscode.gitee.com:ZzqiZQute/graph_and_network_optimization_qt.git
ZzqiZQute
graph_and_network_optimization_qt
图与网络优化_Qt
master

Search