⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 线性规划问题求解代码 可用于运筹学作业
💻 TXT
字号:

程序实现为两阶段法,解矩阵没有才用改进单纯形法,只是每次使用O(k*n*m)复杂度的朴素算法实现,nm为矩阵长宽.k为迭代次数.使用bland法则克服退化.
可以解决变量个数<=10,约束条件<=10下的线性规划问题(规模较小),输入比较复杂,不支持文件输入,支持文件输出.
具体关于编写单纯形法的思想等这里不做累述.

程序为MFC编写 IDE为VC7.0.net
/debug/*.exe为执行文件 也可重新编译生成
.sln文件为工程文件 infocalDlg.cpp为程序内核所在程序,其中CinfocalDlg::cal_max()为实现单纯形法函数
程序结束在其路径下有out.txt为数据输出文件.

使用程序注意:
程序有个MFC方面的问题,输入负数时,在敲入负号时不要管去弹出的提示框,确定后敲一下→键继续输入数字部分.造成的不便日后会得到改进.
多行约束条件要注意每行都要LineConfirm一次,最后一次之后便激活ReadyToCalculate键,点击即得到结果.

简单测试数据:
1:

Min Z = -3.00000*X1 + 1.00000*X2 + 1.00000*X3

1.00000*X1 + -2.00000*X2 + 1.00000*X3 <= 11.00000
-4.00000*X1 + 1.00000*X2 + 2.00000*X3 >= 3.00000
-2.00000*X1		 + 1.00000*X3 == 1.00000

When 
X1 = 4.00000  X2 = 1.00000  X3 = 9.00000  
The target varible get Z = -2.00000

2:

Max Z = 2.00000*X1 + 3.00000*X2

1.00000*X1 + 2.00000*X2 <= 8.00000
4.00000*X1		<= 16.00000
	     4.00000*X2 <= 12.00000


When 
X1 = 4.00000  X5 = 4.00000  X2 = 2.00000  
The target varible get Z = 14.00000



张钊宁 200305018014

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -