钢铁企业投入产出模型.docx
《钢铁企业投入产出模型.docx》由会员分享,可在线阅读,更多相关《钢铁企业投入产出模型.docx(17页珍藏版)》请在冰豆网上搜索。
![钢铁企业投入产出模型.docx](https://file1.bdocx.com/fileroot1/2023-1/3/292338e8-efe1-45b5-8e12-66287c5f3387/292338e8-efe1-45b5-8e12-66287c5f33871.gif)
钢铁企业投入产出模型
钢铁企业投入产出模型
及程序设计
指导老师:
李家庸
年级:
95级计算机
(1)班
设计人:
吕耀华
时间:
一九九年五月
目录
第一章概述
第一节投入产出模型的概念
第二节投入产出在国民经济中的应用
第二章钢铁企业投入产出模型
第一节企业投入产出模型的建立
第二节投入产出模型的结构说明
第三节投入产出模型的数学表达
第三章直接消耗系数的计算
第四章完全消耗系数的计算
第一节完全消耗系数的求解
第二节计算完全消耗系数的表上递推法
第五章投入产出模型在市场经济中的应用
第六章程序设计
第一节程序的设计思想及特点
第二节程序框图
第三节程序清单
第四节打印结果
第一章概述
随着计算机技术的飞速发展,计算机在企业生产的过程控制和经营管理方面得到了广泛的应用.现在我们把计算机与数学模型结合起来研究企业生产过程中的平衡问题,而投入产出技术是解决这一问题的有效手段.投入产出技术经过几十年的不断完善和提高已经成为一种实用性很强,的有效的经济分析和科学管理技术.
第一节投入产出模型的概念
投入产出方法于本世纪三十年代产生于美国,是美国经济学家列昂节夫(W.Leontief)在他的一些文章和书籍中提出了投入产出方法,并且利用美国的经济统计资料,编制了1919,1929,1939年的投入产出表.
投入是指从事一项生产活动经济活动的消耗,如果我们进行的是生产活动,那么生产过程中各种原材料,辅助材料,燃料,电力等的消耗,就是这项生产活动的投入.产出是指经济活动的结果,如生产活动的结果就是生产出一定数量的产品,这些产品就是这项生产活动的产出.由于技术(生产技术,管理技术)上的原因,各项经济活动的投入与产出之间具有一定的数量依存关系.
投入产出方法就是利用数学方法和电子计算机来研究经济活动中投入与产出之间的数量依存关系,特别是研究和分析国民经济中各部门在产品的生产与消耗之间的数量依存关系的一种方法.在利用投入产出方法研究经济问题的过程中,通常通过建立数学模型,也就是用数学方程式(线性方程,非线性方程等)来表示所研究的经济活动之间的数量依存关系.投入产出方法是进行经济平衡和计划管理的一种重要工具。
第二节投入产出在国民经济中的应用
整个国民经济的物质生产部门划分成相互联系着的二大类,即生产生产资料的部门和生产消费资料的部门,在社会再生产的过程中,二个部门之间需要保持一定的比例。
因为投入产出表的直接消耗系数和完全消耗系数,具体地刻画了国民经济各部门之间的直接和完全的经济联系强度和比例。
因此,直接和完全消耗系数能利用这种平衡模型,研究整个国民经济的发展变化。
第二章钢铁企业投入产出模型
第一节企业投入产出模型的建立
一个大型现代化的钢铁企业有复杂的生产工艺,它拥有采矿、选矿、烧结、炼铁、炼钢、轧钢等主要生产环节,消耗着大量的能源,产品与产品之间形成了一种错综复杂的,相互联系,相互制约的一环扣一环的复杂系统。
对于这样一个复杂系统,需要用现代数学方法来模拟和刻画它的生产经营活动,以便提高管理水平和经济效益。
产品之间的投入产出关系,也就是生产与消费的关系。
如果在一张棋盘式的表中,能够概括所有列入模型的产品间的投入和产出关系,则称这张表为投入产出表。
根据钢铁的主要生产环节上的工艺流程顺序,把选定的主要金属制品以序编号(因时间有限,暂选7种)再把它们按排好的轶序纵横交错地叠加在一起,便构成一张能够概栝企业全部特征产品之间投入产出关系的棋盘式平衡表,我们称他是一个钢铁企业投入产出表。
钢铁企业投入产出表
单位:
万吨
铁矿石
铁精矿
烧结矿
生铁
钢锭
钢坯
钢材
商品量
总产量
1
2
3
47
5
6
7
铁矿石
1
X11
X12
X13
X14
X15
X16
X17
Y1
Z1
铁精矿
2
X22
X23
X24
X25
X26
X27
Y2
Z2
烧结矿
3
X33
X34
X35
X36
X37
Y3
Z3
生铁
4
X44
X45
X46
X47
Y4
Z4
钢锭
5
X55
X56
X57
Y5
Z5
钢坯
6
X66
X67
Y6
Z6
钢材
7
X77
Y7
Z7
燃料
8
电力
9
第二节投入产出模型的结构说明
投入产出表反映了各种产品生产和消耗的内在联系。
通过这张表可看出钢铁企业产品消耗的相互依存关键在于系,表中的每一行代表一种产品或外来料按经济用途的分配情况,而每一列代表各种产品消耗的原料来源和构成。
我们把表用双线分成四个部分,按照左上、右上、左下、右下的次序,分别称为第Ⅰ,第Ⅱ,第Ⅲ和第Ⅳ象限。
第Ⅰ象限说明了各种产品用于其它各种产品消耗的情况,表中Xij说明第j个生产部门生产过程中消耗第i个部门产品的数量。
第Ⅱ象限说明了本企业最终产品的实物构成,指除了生产性消耗外用于储备、商品出售的数量。
表中用Yi表示第i项产品的最终产品和计量,用Zi表示第i项产品的总产量。
第Ⅲ部分说明生产过程中消耗的外来料和回收料的情况,第Ⅳ部分表明外来料和回收料的总需要量。
第三节投入产出模型的数学表达
投入产出表为我们分析产品比例关系和运用数学工具进行平衡计算提供了客观基础。
对于第Ⅰ、Ⅱ两部分有如下关系式:
X11+X12+X13+·········+X1n+Y1=Z1
X21+X22+X23+·········+X2n+Y2=Z2
·······························
Xn1+Xn2+Xn3+·········+Xnn+Yn=Zn
它说明各部门的总产品等于中间产品与最终产品价值之和。
上述方程组也可简写为
∑Xij+Yi=Zi(I,j=1,2,······n)
(1)
第三章直接消耗系数的计算
为了进行以后的各种分析和运算,需先确定产品间的直接消耗系数(即消耗定额)。
直接消耗系数即是用各项产品的总产量去除各该产品所消耗的其它产品的数量,数学式为:
aij=xij/xj(i,j=1,2,······n)
(2)
aij是第j项单位产品消耗第I项产品的数量。
将
(2)代入
(1)式,便得:
∑aij*xj+yi=xi(i,j=1,2,······n)(3)
写成矩阵形式是:
AZ+Y=Z(4)
其中:
a11a12··············a1n
A=a21a22·············a2n
·············
an1an2············ann
X1Y1
Z=X2Y=Y2
┇┇
XnYn
A称为直接消耗系数矩阵.Z称为总产品列向量.Y称为商品量列向量.
(4)式可以写为
(E-A)Z=Y(5)
这里,E是单位矩阵,即主对角线上的元素等与1,非主对角线上的元素等与0.
100···0
E=010···0
···············
000···1▔
由于矩阵A具有一定性质,(E–A)矩阵为一非异矩阵,即|E–A|=0,故(E–A)之逆矩阵存在,在(5)式等号左右两端都乘以(E–A),
Z=(E–A)Y(6)
于是,如果考察到市场上所需的各产品的商品量,则各项产品总产量可由(6)式求得.这也就是目前市场经济中所说的“以销定产”.
第四章完全消耗系数的计算
第一节完全消耗系数的求解
直接消耗系数只反映产品之间的直接消耗关系,而不能反映产品之间存在的间接消耗关系.间接消耗在综合平衡,经济分析,计划预测,产品订价,核算经济效果等方面,都有重要的意义.只有即能反映直接消耗,又能反映间接消耗的完全消耗系数,才能全面反映经济联系.
完全消耗系数能精确的测定产品之间所存在的间接数量依存关系。
由于完全消耗量是直接消耗量和间接消耗量的和,设Cij表示i中第j项单位产品消耗第I项产品的完全消耗系数,aij表示直接消耗系数,求得完全消耗系数为
Cij=aij+∑Cikakj(i,j,k=1,2,······n)(7)
化为矩阵:
C=A+CA
因矩阵材施教(E–A)满序,故上式等于
C=A(E–A)(8)
这里
C11C12··············C1n
C=C21C22·············C2n
·············
Cn1Cn2·············Cnn
求出(E–A)-1,第I部分的完全消耗系数矩阵就可求出。
但(8)式是矩阵相乘的形式,可以化简为矩阵相减的形式,事实上,
∵(E–A)(E–A)=E
故由(8)式可得:
C=(E–A)―(E–A)+A(E–A)
=(E–A)―(E–A)(E–A)
=(E–A)―E
第二节计算完全消耗系数的表上递推法
在实际进行完全消耗系数的计算时,考虑到直接消耗系数阵A是一个上三角阵(如非上三角阵时,也可分成两个上三角阵处理)。
所以我们采用表上递推法进行计算。
也就是从直接消耗系数阵A的最后一行开始,往上推算,把这一行的数字与相应的列的数字相乘,把积加到两个相乘数字所对应的行列上。
如果某一个生产环节存在对自身的消耗,则对角线上数字不等于零,这时可以先用(1–该数字)去除该行对应元素,然后进行递推,最后算完时再用(1–该数字)去除该数字所在列的全部元素,便可得到完全消耗系数。
表上递推法把复杂的线性代数上矩阵求逆运算变成了简单的四则运算。
同时,由于这一计算方法的规范化,使程序简化很多。
第五章投入产出模型在市场经济中的应用
投入产出模型的一个重要特点,就是它拧被成功地用来解决以销定产的问题,这对企业的经营管理和材料物资供应有着重要的意义。
按市场需要组织生产的具体形式,就是根据客户的订货合同来安排自己的生产活动,以合同量(商品量)为目标和出发点作出生产计划和物资供应计划,然后在各生产环节上进行综合平衡,使企业的各工艺生产环节保持协调一致,不留缺口。
只有这样来作生产计划和物资供应计划,才符合市场经济发展的要求,才能避免由于产品不对路而造成的物资损失和资金积压、能源浪费等不良经济后果。
在全面走向市场的今天,我们深深感到,市场是企业生存和发展的空间,过去有数量就有效益,现在有市场才能有效益。
投入产出模型是我们在市场经济条件下,组织企业生产的有效经济分析方法,是帮助我们按照社会主义市场经济规律的要求去进行企业管理的重要工具。
第六章程序设计
第一节程序设计的设计思想及特点
现在我们只对投入产出模型的第Ⅰ、第Ⅱ两部分进行研究。
由于C语言具有很强的计算能力,因此我们采用该语言来编制投入产出模型程序。
该程序具备计算并打印投入产出表、直接消耗系数表、完全消耗系数表等功能。
此程序的编制,有以下几个特点:
1.由于所需数据量较大,为了节省内存空间,凡是程序中已经用过,而无需再保留的数组尽量重复使用。
这一点在计算直接消耗系数、完全消耗系数时均作了考虑。
2.为了使表格清晰,在打印表格时采用了只打非零数据的手法。
3.为了避免重复制作表格,在打印报表时采用过程嵌套的方法,循环调用过程从而使程序结构更加简洁。
4.由于计算机每行最多只能打80个字符,这样只有缩小表格,使表格中每个留数据只占6个字符,因此产品的消耗量只能保1位小数,直接消耗系数和完全消耗系数可保留4位小数。
在输出语句printf中采用了定义输出长度的方法来实现保留几位小数。
如printf(“%6.4f”,stud[i].num[j])说明stud[i].num[j]整个单精度数占6个字符而小数部分为4位。
5.为了节省机器运行时间,在计算总产量、直接消耗系数、完全消耗系数时,尽量减少循环次数。
如计算直接消耗系数的程序:
For(i=0;i{For(j=0;jstud[i].num[j]=stud[i].num[j]/stud[i].num[8];
}
6.对于较烦琐的完全消耗系数的计算,根据表上递推法,用互相关联的三重循环来实现。
如:
For(k=n-1;k>=1;k--)
{For(j=k+1;j<=7;j++)
{for(i=k-1;i>=0;i--)
stud[i].num[j]=stud[i].num[j]+stud[i].num[k]*stud[k].num[j];
}
}
7.程序设计一个将数据写入文件的程序,它将数据写到文件中,存储到磁盘上。
若要修改数据只需修改此程序中的数据即可,而对主程序无任何影响。
主程序在每次运行时,可直接从该文件中读取数据到变量,这样就避免了每次输入数据的麻烦。
第二节程序流程图
第三节程序清单
#include"stdio.h"
#include"math.h"
#definesize7
/*定义结构体*/
structstudent
{charname[7];
floatnum[9];
}stud[size];
/*主函数*/
main()
{intp,i,m;
voidline();
voidh1();
voidt1();
voidwq();
do
{printf("\n");
printf("");
line(5);
printf("\n");
printf("1*****钢铁企业投入产出表********\n");
printf("2*****直接消耗系数表************\n");
printf("3*****完全消耗系数表************\n");
printf("0*****退出**************\n");
printf("");
line(5);
printf("\n");
printf("请输入(1...3,0)数字:
");
scanf("%d",&p);
if(p==1)t1();
if(p==2)h1();
if(p==3)wq();
}while(p!
=0);
}
/*定义文件存入函数*/
voidsave()
{FILE*fp;
inti,j;
charx;
charls[size];
if((fp=fopen("ttt.dat","r+"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;i{fscanf(fp,"%6s",&stud[i].name);
fscanf(fp,"%c",&x);
for(j=0;j<8;j++)
{fscanf(fp,"%s",ls);
stud[i].num[j]=atof(ls);
fscanf(fp,"%c",&x);
}
}
fclose(fp);
}
/*画"--------+"*/
voidr1(t)
{intd;
for(d=0;dprintf("-");
printf("+");
}
/*画"+"*/
voidr2(t)
{intd;
for(d=0;dprintf("");
printf("|");
}
/*画"+--------+------+"*/
voidline(l)
{
inti,j;
printf("+");
r1(8);
for(j=0;jr1(6);
}
/*画表头部*/
voidhead(m)
{inti,j;
line(m);
printf("\n");
printf("|");
r2(8);
printf("铁矿石|铁精矿|烧结矿|生铁|钢锭|钢坯|钢材|");
if(m==9)
{for(i=0;i<=1;i++)
r2(6);
}
printf("\n");
printf("|");
r2(8);
for(i=0;ir1(6);
if(m==9)
{printf("商品量|总产量|");
}
printf("\n");
printf("|");
r2(8);
for(j=1;j<=size;j++)
printf("%d|",j);
if(m==9)
{for(i=0;i<=1;i++)
r2(6);
}
printf("\n");
line(m);
printf("\n");
}
/*对总产量赋值*/
voidzcl()
{inti,j;
for(i=0;istud[i].num[8]=0;
for(i=0;i{for(j=0;j<8;j++)
stud[i].num[8]+=stud[i].num[j];
}
}
/*计算直接消耗系数*/
voidzjxh()
{inti,j;
for(i=0;i{for(j=0;jstud[j].num[i]=stud[j].num[i]/stud[i].num[8];
}
}
/*计算完全消耗系数*/
voidwqxh()
{inti,j,k,n=7;
for(k=n-1;k>=1;k--)
{for(j=k+1;j<=7;j++)
{for(i=k-1;i>=0;i--)
stud[i].num[j]=stud[i].num[j]+stud[i].num[k]*stud[k].num[j];
}
}
}
/*打印表中部*/
voidbzb()
{inti,j;
for(i=0;i<7;i++)
{printf("|%-6s|%d|",stud[i].name,i+1);
for(j=0;j<7;j++)
{if(stud[i].num[j]==0)r2(6);
elseprintf("%6.4f|",stud[i].num[j]);
}
printf("\n");
line(size);
printf("\n");
}
}
/*打印钢铁企业投入产出表函数*/
voidt1()
{inti,j,m=9;
printf("表1钢铁企业投入产出表\n");
head(m);
save();
zcl();
/*打印表中部*/
for(i=0;i{printf("|%-6s|%d|",stud[i].name,i+1);
for(j=0;j<8;j++)
{if(stud[i].num[j]==0)r2(6);
elseprintf("%6.1f|",stud[i].num[j]);
}
printf("%6.1f|",stud[i].num[8]);
printf("\n");
line(m);
printf("\n");
}
printf("\n");
}
/*打印直接消耗表函数*/
voidh1()
{inti,j;
printf("表2钢铁企业直接消耗表\n");
head(size);
save();
zcl();
zjxh();
bzb();
printf("\n");
}
/*打印完全消耗系数表*/
voidwq()
{inti,j,k,n=7;
printf("表3钢铁企业完全消耗系数表\n");
head(size);
save();
zcl();
zjxh();
wqxh();
bzb();
printf("\n");
}
_
参考文献:
《投入产出技术》中央广播电视大学出版社
陈锡康、李秉全箸
《C程序设计》清华大学出版社
谭浩强箸
《冶金管理》冶金工业部
1997年第9期
《线性代数》上海交大