线性规划——单形算法包文档.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性规划——单纯形算法包文档 本文档是关于线性规划——单纯形算法包的说明和使用依据的描述。包括两个部分,第一部分是算法理论,第二部分是算法包的使用说明。 第一部分:算法理论 描述:线性规划属于优化问题,具有以下特征: 每一个问题都用一组决策变量表示某一方案;这组决策变量的值就代表一个具体方案,一般这些变量取值是非负的(也有可能是非正或没有约束的值); 存在一定的约束条件,这些约束条件可以用一组线性等式或不等式来表示; 有一个要求达到的目标,它可以用决策变量的线性函数(称为目标函数)来表示,按问题的不同,要求目标函数实现最大化或最小化。 数学模型的一般形式为: 目标函数: max(min) z = c1x1 + c2x2 + …+ Cnxn (1.1) 约束条件: a11x1 + a12 x2 + … + a1nxn ≤ (=, ≥) b1 a21x1 + a22 x2 + … + a2nxn ≤ (=, ≥) b2 ……………… am1x1 + am2 x2 + … + amnxn ≤ (=, ≥) bn (1.2) x1,x2,…,xn≥(≤,无约束)0 (1.3) 方程(1.1)称为目标函数;(1.2)、(1.3)称为约束条件 求解理论: 线性规划问题的所有可行解构成的集合是凸集,也可能为无界域,它们有有限个顶点。线性规划问题的每个基可行解对应可行域的一个顶点;若线性规划问题有最优解,必在某顶点得到。原则上枚举所有的基可行解,然后一一比较,最终就可能找到最优解。单纯形法是求解线性规划问题的一种可行办法,它通过从可行域中某个基可行解(一个顶点)开始,转换到另一个基可行解,当目标函数达到最大值时,问题得到求解。 计算步骤: 找出初始可行基,确定初始基可行解,建立初始单纯形表; 检验各非基变量xj的检验数是,若≤0,j=m+1,m+2, …, n;则已得到最优解,可停止计算,否则转入下一步; 在0, j=m+1,m+2, …, n中若有某个对应xk的系数列向量Pk≤0,则此问题是无界,停止计算,否则转入下一步; 根据max(0) = ,确定xk的换入变量,根据规则计算 可确定xl为换出变量,转入下一步; 以alk为主元素进行迭代(高斯消去法),把xk所对应的列向量 变换为 实现换入变量xt与换出变量xl的交换,得到新的单纯形表;重复(2)-(5),直到终止。 标准化处理: 以上算法是对以标准形式表示、目标函数求最大值时的线性规划问题的处理方法,当不是标准形式及目标函数求最小值时需要根据实际问题给出数学模型,进行标准化处理 标准化处理方法 变量 xj≥0 xj≤0 xj无约束 不需要处理 令xj’ = -xj ; xj’≥0 令xj = xq – xr ; xq,xr ≥0 约束条件 b≥0 b0 ≤ = ≥ 不需要处理 约束条件两端同乘-1 加松弛变量xsi 加人工变量xai 减松弛变量xsi,加人工变量xai 目标函数 max z min z 不需要处理 令z’=-z,求max z’ 加入变量的系数 松弛变量xsi 保持不变 人工变量xai  × -1 初始单纯形表的确定 当约束条件是”≤”形式的不等式时,在每个约束条件的左端加上一个松弛变量;当约束条件是”=”形式的不等式时,在每个约束条件的左端减去一个松弛变量,再加上一个人工变量。完成这些处理后,分别以每个约束条件中的松弛变量或人工变量为基变量,初始的b值作为初始基可行解,即可列出初始单纯形表。 第二部分:算法包的使用 本算法包采用C#语言编写,受.net compact framework 2.0支持,目标平台是掌上电脑(ppc),可以在windows mobile pocket pc2003和windows mobile 5.0操作系统下使用。同时本算法包经过重新编译后也可以在.net framework 2.0下使用,因此也可以在桌面操作系统windows 2000、xp、2003下使用。 算法包的命名空间是NSLinearProgramming,包括8个类,类视图如下: 在类CSimplexTable中包装了单纯形表的行集合和列集合,行集合CSimplexRowColleion是CSimplexRow类对象的集合,列集合CSimplexColumnColleion是CSimplexColumn类对象的集合,CSimplexRow和CSimplexColumn派生于基本元素类CStandElement,CSimplexRowColleion和CSimplexColumnColleion派生于基本集合类CStandCollection。类CSimplexTable的全

文档评论(0)

139****3928 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档