用c语言实现单纯形法的编程
更新时间:2023-04-28 09:31:02 阅读量:1 实用文档 文档下载
- 单纯形法c语言程序推荐度:
- 相关推荐
用c语言实现单纯形法的编程
#include "stdio.h"
#include "math.h"
#include
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();
main()
{
float max_Z,sum=0,s=0;
int i,j,r=0;
if(!shuru()) { printf("ERROR!!!\n");return 0;}
while(r
for(j=0;j
{if(Dn[j]>0){findmm();
if(ths==M) {goto loop;}
else chang();
}
else r++;
}
}
loop:
if(ths==M)
{printf("\n此线性规划没有有限最优解!!!\n");
printf("\n此线性规划最终迭代结果为:");
printf("\n Cj ");
for(j=0;j
printf("%.3f ",c[j]);
printf("\n");
printf("Cb Xb b ");
for(j=0;j
printf(" x%d ",j+1);
printf(" th ");
for(i=0;i
{ printf("\n%.1f ",CZ[i]);
printf("x%d ",Fn[i]+1);
printf("%.3f ",b[i]);
for(j=0;j
{ printf(" %.3f ",a[i][j]);}
printf(" %.3f ",th[i]);
printf("\n");
}
printf(" Dn ");
for(j=0;j
printf(" %.3f ",Dn[j]);
printf("\n");
printf("\n此时的解为:");
sum=0;
for(i=0;i
{ sum+=CZ[i]*b[i];
printf("\nx%d=%.3f",Fn[i]+1,b[i]);
}
max_Z=sum;
printf("\n此时目标函数的值为:Z= %.3f\n",max_Z); }
else
{printf("\n此线性规划最终迭代结果为:");
printf("\n Cj ");
for(j=0;j
printf("%.3f ",c[j]);
printf("\n");
printf("Cb Xb b ");
for(j=0;j
printf(" x%d ",j+1);
printf(" th ");
for(i=0;i
{ printf("\n%.1f ",CZ[i]);
printf("x%d ",Fn[i]+1);
printf("%.3f ",b[i]);
for(j=0;j
{ printf(" %.3f ",a[i][j]);}
printf(" %.3f ",th[i]);
printf("\n");
}
printf(" Dn ");
for(j=0;j
printf(" %.3f ",Dn[j]);
printf("\n");
printf("\n故,目标函数的基解为:");
sum=0;
for(i=0;i
{ sum+=CZ[i]*b[i];
printf("\nx%d=%.3f",Fn[i]+1,b[i]);
}
max_Z=sum;
printf("\n目标函数的值为:max_Z= %.3f\n",max_Z); }
system("pause");
return 1;
}
int shuru()
{ int i,j;
float sum=0;
printf("请输入线性规划问题的约束条件个数M:"); scanf("%d",&M);
printf("请输入线性规划问题的决策变量个数N:"); scanf("%d",&N);
printf("请输入目标函数的系数:");
for(i=0;i
scanf("%f",&c[i]);
printf("请输入线性规划问题的约束矩阵:\n");
for(i=0;i
{ for(j=0;j
scanf("%f",&a[i][j]);
scanf("%f",&b[i]);
}
printf("请输入线性规划问题的初始基:\n");
for(j=0;j
scanf("%f",&x[j]);
for(i=j=0;j
{if(x[j]!=0)
{ Fn[i]=j;CZ[i]=c[j];i++;}
}
for(j=0;j
{ sum=0;
for(i=0;i
sum+=CZ[i]*a[i][j];
Dn[j]=c[j]-sum;
}
return 1;
}
void findmm()
{ int i;
int max,min;
max=0;
K=max;
for(i=1;i
if(Dn[i]>Dn[K]) max=i;
K=max;
for(i=0;i
{if(a[i][K]!=0) {th[i]=b[i]/a[i][K];min=i;} else th[i]=-1;
}
ths=0;
for(i=0;i
if(th[i]<0) ths=ths+1;
for(i=0;i
if((th[i]>0)&&(th[i]
L=min;
zy=a[L][K];
Fn[L]=K;
CZ[L]=c[K];
}
void chang()
{ int i,j;
float t;
for(j=0;j
a[L][j]=a[L][j]/zy;
b[L]=b[L]/zy;
for(i=0;i
{
if(i==L) continue;
t=a[i][K];
b[i]=b[L]*(-t)+b[i];
for(j=0;j
a[i][j]=a[L][j]*(-t)+a[i][j];
}
t=Dn[K];
for(j=0;j
Dn[j]=(-t)*a[L][j]+Dn[j];
K=0;
for(i=1;i
if(Dn[i]>Dn[K]) K=i;
for(i=0;i
{if(a[i][K]!=0) {th[i]=b[i]/a[i][K];} else th[i]=-1;
}
}






正在阅读:
用c语言实现单纯形法的编程04-28
《追踪古文明》读书笔记范文03-23
艺术品鉴赏与营销论文06-05
地质时代 - 图文01-28
高一地理试题 - 2010-2011学年第二学期期末考试08-14
如何在QQ空间的相册内删除最近访客记录02-10
毕业生就业表自我鉴定优秀8篇03-26
老萨的历史真相档案之三十九 - 图文05-07
庆国庆活动领导讲话稿03-25
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单纯
- 语言
- 编程
- 实现
- 教师招聘《中学教育心理学》通关试题每日练卷5206(Word版)
- 最新最全山西省煤矿安全质量标准化标准及考核评级办
- 2018年南华大学医学院306西医综合之生物化学考研核心题库
- 机车司机在安全生产总结表彰大会上的发言(多篇)
- 河北省保定市蠡县九年级下学期语文月考试卷
- 美术馆RFID智能监控管理系统方案
- 2017年浙江大学教育学院333教育综合之教育学考研强化模拟题
- 合同范本 运营车辆租赁合同范本3篇
- SSAT通过AKT-GSK-3β-β-catenin信号通路抑制结直肠癌细胞的增殖、迁移和侵袭
- (完整版)视频监控安防集中系统监控中心管理办法1
- 外研版五年级上册英语第一模块同步练习题附答案(共2课时)
- 09考研政治冲刺必杀技《名师课堂》震撼连载(5.1)
- 重庆市大足一中2021届高三政治临考冲刺卷(五)(含解析)
- 定期存款与理财哪个好定期存款与理财的比较
- 2016-2022年中国滨海旅游市场现状研究分析与发展趋势预测报告
- 重庆涪陵页岩气田焦石坝区块勘探开发工程技术
- (完整版)线段中点问题
- VCFC安全纳管方案Context配置无法下发的经验案例
- 江西省南昌市2021版六年级上学期数学期末试卷A卷
- 体育场馆市场调研与发展前景规模报告2018-2023目录