线性规划问题程序设计单纯形算法.docVIP

  • 5
  • 0
  • 约3.81千字
  • 约 3页
  • 2017-09-02 发布于浙江
  • 举报
线性规划问题程序设计单纯形算法

华北水利水电学院 算法分析与设计 实验报告 2011~2012学年 第 二 学期 09 级 计算机科学与技术 专业 班级: 2009119 学号: 200911915 姓名: 张志高 生产者与消费者 实验目的: 了解线性规划问题的数学模型,掌握标准型的转化方式 掌握线性规划问题的求解原理、计算复杂性 掌握单纯形算法的设计思路,并实现完整的程序设计 试验内容: 选作以下问题: 一阶段求解(不涉及人工变量) 两阶段求解(涉及人工变量和松弛变量的添加) 三、核心程序源代码: int M,N; float c[100],a[100][100],b[100],CZ[100],Dn[100],th[100],x[100]; int Fn[100]; int K,L,ths; float zy; int shuru(); void findmm(); void chang(); int main() { float max_Z,sum=0,s=0; int i,j,r=0; if(!shuru()) { printf(ERROR!!!\n);return 0;} while(rN){ r=0; for(j=0;jN;j++) {if(Dn[j]0){findmm(); if(ths==M) {goto loop;} else chang(); } else r++; } } loop: if(ths==M) {printf(\n此??线?性?规?划?没?有?D有?D限T最á?优??解a!!!\n); printf(\n此??线?性?规?划?最á?终?迭ì¨1代?¨2结¨¢果?为a:êo); printf(\n Cj ); for(j=0;jN;j++) printf(%.3f ,c[j]); printf(\n); printf(Cb Xb b ); for(j=0;jN;j++) printf( x%d ,j+1); printf( th ); for(i=0;iM;i++) { printf(\n%.1f ,CZ[i]); printf(x%d ,Fn[i]+1); printf(%.3f ,b[i]); for(j=0;jN;j++) { printf( %.3f ,a[i][j]);} printf( %.3f ,th[i]); printf(\n); } printf( Dn ); for(j=0;jN;j++) printf( %.3f ,Dn[j]); printf(\n); printf(\n此??时o?à的ì?解a为a:); sum=0; for(i=0;iM;i++) { sum+=CZ[i]*b[i]; printf(\nx%d=%.3f,Fn[i]+1,b[i]); } max_Z=sum; printf(\n此??时o?à目?标à¨o函?¥数oy的ì?值|ì为a:êoZ= %.3f\n,max_Z); } else {printf(\n此??线?性?规?划?最á?终?迭ì¨1代?¨2结¨¢果?为a:êo); printf(\n Cj ); for(j=0;jN;j++) printf(%.3f ,c[j]); printf(\n); printf(Cb Xb b ); for(j=0;jN;j++) printf( x%d ,j+1); printf( th ); for(i=0;iM;i++) { printf(\n%.1f ,CZ[i]); printf(x%d ,Fn[i]+1); printf(%.3f ,b[i]); for(j=0;jN;j++) { printf( %.3f ,a[i][j]

文档评论(0)

1亿VIP精品文档

相关文档