已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3 单纯形法求解线性规划实验内容:用单纯形法求解下列线性规划实验源程序#include#include#includefloat matrix100100,x100; /* 记录总方程的数组,解的数组 */int a100; /* 记录基础,非基础的解的情况,0:非基础,1:基础 */int m,n,s,type; /* 方程变量,约束数,求最大最小值的类型,0:最小 1:最大 */int indexe,indexl,indexg; /* 剩余变量,松弛变量,人工变量 */ void Jckxj()int i,j;for(i=0;in;i+)for(j=0;js;j+)if(matrixij=1&aj=1)xj=matrixis;j=s;for(i=0;is;i+)if(ai=0) xi=0;int Rj()int i;for(i=0;i=0.000001)if(matrixni0) return 0;return 1;int Min()int i,temp=0;float min=matrixn0;for(i=1;imatrixni)min=matrixni;temp=i;return temp;void JustArtificial()int i;for(i=m+indexe+indexl;i=0.000001)printf(No Answern);return;int Check(int in)int i;float max1=-1;for(i=0;i=0.000001&max1matrixis/matrixiin)max1=matrixis/matrixiin;if(max10)return 1;return 0;int SearchOut(int *temp,int in) int i;float min=10000;for(i=0;i=0.000001&(matrixis/matrixiin=0)&minmatrixis/matrixiin)min=matrixis/matrixiin;*temp=i;for(i=0;is;i+)if(ai=1&matrix*tempi=1) return i;void Mto(int in,int temp)int i;for(i=0;i=s;i+)if(i!=in)matrixtempi=matrixtempi/matrixtempin;matrixtempin=1;void Be(int temp,int in)int i,j;float c;for(i=0;i=n;i+)c=matrixiin/matrixtempin;if(i!=temp)for(j=0;j=s;j+)matrixij=matrixij-matrixtempj*c;void Achange(int in,int out)int temp=ain;ain=aout;aout=temp;void Print()int i,j,k,temp=0;for(i=0;in;i+)for(k=temp;ks;k+)if(ak=1)printf(X%d ,k);temp=k+1;k=s;for(j=0;j=s;j+)printf(%8.2f,matrixij);printf(n);printf(Rj );for(j=0;j=s;j+)printf(%8.2f,matrixnj);printf(n);void InitPrint()int i;printf(X);for(i=0;is;i+)printf( a%d,i);printf( bn);Print();printf(n);void Result()int i;printf( ();for(i=0;is;i+)printf(%8.2f,xi);printf( ) );if(type=1)printf( Zmax=%fnn,matrixns);else printf( Zmin=%fnn,matrixns);void PrintResult()if(type=0) printf(The Minimal :%fn,-matrixns);else printf(The Maximum :%fn,matrixns);void Merge(float nget100,float nlet100,float net100,float b)int i,j;for(i=0;in;i+)for(j=m;jm+indexe;j+)if(ngetij-m!=-1) matrixij=0;else matrixij=-1;for(j=m+indexe;jm+indexe+indexl;j+)if(nletij-m-indexe!=1) matrixij=0;else matrixij=1;for(j=m+indexe+indexl;js;j+)if(netij-m-indexe-indexl!=1) matrixij=0;else matrixij=1;matrixis=bi;for(i=m;im+indexe+indexl;i+)matrixni=0;for(i=m+indexe+indexl;is;i+)matrixni=100;matrixns=0;void ProcessA()int i;for(i=0;im+indexe;i+)ai=0;for(i=m+indexe;imn;for(i=0;in;i+)printf(Input b and Restrictor code 0:=n); /* 输入方程右边的值,code的值 */cinbicodei;printf(The XiShun);for(j=0;jmatrixij; /* 输入方程 */printf(The Type 0:Min 1:Max n); /* 输入求最大值还是最小值 */docintype;if(type!=0&type!=1) printf(Error,ReInputn);while(type!=0&type!=1);printf(The Zn); /* 输入z */for(i=0;imatrixni;if(type=1)for(i=0;im;i+)matrixni=-matrixni;void Xartificial()int i,j,k;if(indexg!=0)for(i=m+indexe+indexl;is;i+)for(j=0;jn;j+)if(matrixji=1)for(k=0;k=s;k+)matrixnk=matrixnk-matrixjk*100;j=n;void Process(float c100,int row,int vol)int i;for(i=0;in;i+)if(i!=row) civol=0;void Sstart(float b,int code)int i;float nget100100,nlet100100,net100100; /* 剩余变量数组,松弛变量数组,人工变量数组 */indexe=indexl=indexg=0;for(i=0;in;i+)if(codei=0)nletiindexl+=1; Process(nlet,i,indexl-1);if(codei=1) netiindexg+=1; Process(net,i,indexg-1); if(codei=2)netiindexg+=1;ngetiindexe+=-1;Process(net,i,indexg-1); Process(nget,i,indexe-1);s=indexe+indexl+indexg+m;Merge(nget,nlet,net,b); /* 合并 */ProcessA(); /* 初始化a */InitPrint(); /* 初始化打印 */Xartificial(); /* 消去人工变量 */void Simplix() /* 单纯型算法 */int in,out,temp=0;while(1)Jckxj(); /* 基础可行解 */Print(); /* 打印 */Result(); /* 打印结果 */if(!Rj() in=Min(); /* 求换入基 */else if(indexg!=0) JustArtificial(); /* 判断人工变量 */PrintResult(); /* 打印最后结果 */return;if(Check(in) /* 判断无界情况 */printf(No Delimitionn);return;out=SearchOut(&temp,in); /* 求换出基 */Mto(in,temp); /* 主元化1 */Be(temp,in); /* 初等变换 */Achange(in,out); /* 改变a的值 */void main()int code100; /* 输入符号标记 */float b100; /* 方程右值 */In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房合同怎样电子签名(3篇)
- 2025年个人房产买卖合同协议书
- 2025机密工业品买卖合同范本保密协议
- 2025餐馆门面租赁合同范本
- 2025年大连市房屋买卖合同样本
- DB11-T 303-2022 养老机构服务标准体系构建指南
- 2025年车位租赁合同模板
- 2025新款电子产品采购销售合同范本
- 2025石油开采租赁合同样书
- 2025年陕西省呼吸专科护士培训班理论考试题及答案
- 心脑血管事件报告制度
- 2025年心理b证笔试试题及答案
- 急性阑尾炎课件
- 糖尿病伴心血管疾病的护理
- 银行物业服务承诺和质量保障措施
- 人工智能在智能水处理中的应用
- 2024-2025学年新乡市一中八年级上册期末考试数学试卷(含部分答案)
- 全国高校辅导员素质能力大赛试题(谈心谈话、案例分析)
- 人工智能安全:原理与实践 课件全套 李剑 第1-16章 人工智能安全概述- 代码漏洞检测原理与实践
- 完整版人教版小学3-6年级英语单词表,可直接打印
- 健康管理中心的建设与运营
评论
0/150
提交评论