资源描述:
《运筹学——解对偶单纯形法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、对偶单纯形法解线性规划问题题目:对偶单纯形法解线性规划问题小组成员:12对偶单纯形法解线性规划问题摘要:运筹学是辅助人们进行科学管理的一种数学方法.而对偶单纯形法是线性规划中重要的数学方法,在简化运算,解决实际问题中具有重要的应用。它是解决研究线性约束条件下线性目标函数的极值问题的数学理论和方法,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。为合理地利用有限的人力、物力、财力等资源作出的最优决策,提供科学的依据。在经济管理、交通运输、工农业生产等经济活动中,提高经济效果是人们不可缺少的要求。
关键词:对偶单
2、纯形法线性规划最优解正文:单纯形法和对偶单纯形法的基本思想:给出一个线性规划问题:Maxz=CX AX≤bX≥0其对偶问题是:Minw=Yb YA≥CY≥0单纯形法解决线性规划问题的思想是:从问题(1)的一个基解X0开始迭代到另一个基解,在迭代过程中保持基解的可行性,同时它对应的对偶问题(2)的基解Y0=CBB-1的12对偶单纯形法解线性规划问题不可行性逐步消失,直到Y0是问题(2)的可行解时,X0就是问题(1)的最优解了。对偶单纯形法正是基于对称的想法,从一个基解X0开始,X0不是基可行解,但它的检验数全部非正
3、,对应的对偶问题的基解Y0=CBB-1是基可行解;从X0迭代到另一个基解X1,在迭代过程中保持它对应的对偶问题的基解是基可行解,逐步消除原问题基解的不可行性,最终达到两者同时为可行解,也就同时是最优解了。这就是对偶单纯形法的基本思想。算法:用对偶单纯形法解决生产资料分配问题的步骤:Step1 找出一组以定基元素x0i和人工变量为基变量的正则解X0,若X0是可行的,则X0是最优解,停止,否则转向STEP2;Step2 确定换出变量x0l,其中x0l=min{x0r;x0r<0};Step3 如果对所有非基变量x0j,β
4、lj≥0,则该问题无可行解,运算停止,否则转向STEP4;Step4 确定换入变量x0k,其中σkβlk=minσtβlt;βlt<0;1≤t≤n+m;Step5 取x0l为换出变量,x0k为换入变量进行迭代,然后重复上过程直到得到最优解。12对偶单纯形法解线性规划问题程序:#include#includeintm,n;floatM=1000000.0;floatA[100][100];floatC[100];floatb[100];floatseta[100];intnum[100
5、];floatz=0;voidinput();voidprint();intduioudanchunxing1();intduioudanchunxing2(inta);voidduioudanchunxing3(inta,intb);voidinput(){printf("请输入方程组的系数矩阵维数,m行n列:");scanf("%d%d",&m,&n);inti,j;printf("请输入方程组的系数矩阵A(%d行%d列):",m,n);for(i=0;i6、anf("%f",&A[i][j]);printf("请输入初始基变量的数字代码num矩阵:");for(i=0;i7、){inti,k;intflag;floatmin=0;for(i=0;i=0)flag=1;else{flag=0;break;}if(flag==1)return-1;for(i=0;ib[i]){min=b[i];k=i;}}returnk;}intduioudanchunxing2(inta){inti,j;12对偶单纯形法解线性规划问题intflag=0;floatmin;for(j=0;j=0)flag=1;e
8、lse{flag=0;break;}if(flag==1){printf("该线性规划无最优解!");return-1;}for(j=0;j=seta[j]){m