linear_programming

所属分类:数学计算
开发工具:Visual C++
文件大小:90KB
下载次数:355
上传日期:2006-04-08 08:45:02
上 传 者zzningxp
说明:  线性规划问题求解代码 可用于运筹学作业
(problem solving linear programming code can be used for operational research operations)

文件列表:
单纯形法\infocal\infocal.vcproj (4715, 2006-01-14)
单纯形法\infocal\infocal.ncb (44032, 2006-01-14)
单纯形法\infocal\infocal.h (443, 2006-01-14)
单纯形法\infocal\infocal.cpp (1465, 2006-01-14)
单纯形法\infocal\infocalDlg.h (2619, 2006-01-14)
单纯形法\infocal\infocalDlg.cpp (14528, 2006-01-14)
单纯形法\infocal\stdafx.h (1458, 2006-01-14)
单纯形法\infocal\stdafx.cpp (136, 2006-01-14)
单纯形法\infocal\Resource.h (1967, 2006-01-14)
单纯形法\infocal\infocal.rc (9604, 2006-01-14)
单纯形法\infocal\infocal.aps (60872, 2006-01-14)
单纯形法\infocal\infocal.sln (903, 2006-01-14)
单纯形法\infocal\infocal.suo (9728, 2006-01-14)
单纯形法\infocal\Debug (0, 2006-01-14)
单纯形法\infocal\res\infocal.rc2 (363, 2006-01-14)
单纯形法\infocal\res\infocal.manifest (696, 2006-01-14)
单纯形法\infocal\res\infocal.ico (21630, 2003-04-01)
单纯形法\infocal\res (0, 2006-01-14)
单纯形法\infocal (0, 2006-01-14)
单纯形法 (0, 2006-01-14)

程序实现为两阶段法,解矩阵没有才用改进单纯形法,只是每次使用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

近期下载者

相关文件


收藏者