📄 help.txt
字号:
下面先介绍一下怎么操作这个程序吧。运行程序。输入问题时首先要确定一下维数,点击“重新输入系数矩阵的维数”即可输入约束不等式个数m和变量个数n,程序会重置维数而且给出默认值。然后再一个一个输入不等式组左边的系数矩阵,不等号(标号集),右边的条件向量。然后再输入线性函数的费用向量c (min(z) = c*x),还有每个变量的符号约束,如果没有符号约束,请清空对应的“>=”,有“>=”的是表示对应的变量要大于等于0。当然,也可以打开一个调试用的文件"common.ini" 。
本程序还做了比较严密的合法性检查,如果输入有误的话在执行算法的时候就会输入错误的提示,并指出出错的地方,引导用户操作。输完之后即可按“用修正单纯型法求解”来执行算法。也可以看看化成规范型(即把所有不等式约束都变成与之等价的等式约束,还要求所有变量都大于等于0)的结果。点击按钮后就会弹出一个输出结果的窗口,可以看到解该问题时的所有详细的中间结果(当然如果没有学过修正单纯型法的人是看不懂的),最后还有问题的最优解和最优目标函数值。
程序中还有一些附加的功能,比如说原问题和结果的保存、打开。还提供了所有关于矩阵的运算功能,有时验算的时候会用到。(结果的打印还没做好)
注意:本程序所有的数都是分数,如果是小数的话,请先转化成分数。
应该说,这个程序还是实现了我所想到的大部分功能,列举如下:
1.首先程序的运行是正确的。我想凡是能得出正确结果的程序都应该得到比较高的分数,我想这一点同学们也大都做到了。
2.有比较方便友好的输入界面,而且有比较严密的合法性检测。为了界面做的友好,不要以为用一些编程工具有大把大把的控键就行了,其实还要排版、输入输出转换,特别是要合法性检测。很烦的。我想同学们都没有做多少合法性检测吧,如果系数矩阵输入一个字母a你说会怎么样。
3.能求任意维数的线性规划问题。要实现这个起码要动态分配内存吧,这也是有点烦的。
4.能化成规范型,可有不等式约束,可有自由变量.如果本身已是规范性问题, 还可以选择输入一个已知的初始基可行解而不用进行第一阶段.
5.输出了像作业一样的结果(当然也可以为了速度而设置参数不存中间结果)。考虑到这个程序是面向老师学生的,我想多输出详细一点会比较好吧。但是这样一来将会烦很多,后期主要都是在调试这里。其实这个程序主要烦的地方就是做输入和输出了。
6.考虑到运算的精确性,本程序是用分数来进行运算的。至于怎么很好地用分数来计算起码是有点技巧的。
没有实现的有:没有最大值问题的转换(虽然也不难加进去),没有设置存不存中间结果的界面(代码中已实现),做辅助问题时还没有很好地优化。合法性检测还不够完善。
kk.h
2001-5-23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -