重心法选址的C++编程问题,请高手赐教

重心法选址的C++编程问题,请高手赐教,第1张

据我所知:

公式:x0 = ( ∑ xiwi ) / ( ∑ wi )

y0 = ( ∑ yiwi ) / ( ∑ wi )

单设施选址模型有不同的名称,如:精确重心法、网格法和重心法等,因为选址因素只包括运输费率和该点的货物运输量,所以此方法较为简单。

我们以预计仓库点位到达各个目的点位的成本最低为考察目标:

即:

Min TC=∑ViRidi i 遍历所有目的地 …(0)

其中: TC——总运输成本;

Vi——i 点运输量;

Ri——到 i 点的运输费率;

di——从待定仓库位置到i 点的距离。

在坐标平面中设待定仓库坐标为(X0,Y0)

∑ViRiXi/di

X0=...(1)

∑ViRi/di

∑ViRiYi/di

Y0= …(2)

∑ViRi/di

其中di可以坐标间公式

di =SQR((X0-Xi)2+(Y0-Yi)2) …(3)

该方法求解过程:

1、确定各目的地点的坐标,同时确定各点货物运输量和直线距离运费;

2、不考虑距离因素,用重心公式估算初始选址点:

∑ViRiXi

X0=…(4)

∑ViRi

∑ViRiYi

Y0…(5)

∑ViRi

3、根据公式(3),用步骤2得到的(X0,Y0)计算di;

4、将di代入公式(1),(2),得到修正的(X0,Y0)坐标;

5、根据修正的(X0,Y0)坐标,再重新计算di;

6、 重复步骤4和步骤5直至(X0,Y0)坐标在连续迭代过程中都不再变化或变化在误差范围内;

7、最后,如果需要,利用公式(0)计算最优选址的总成本。

#include <stdio.h>

#include <math.h>

struct xuanzhi

{

double x,y,v,r

}xz[5]={{3,8,2000,0.050},{8,2,3000,0.050},{2,5,2500,0.075},{6,4,1000,0.075},{8,8,1500,0.075}}

main()

{

struct xuanzhi

int i

double d[5]

double x0=0.0,y0=0.0,min=0.0,TC=0.0,t=0.0,m=0.0,w=0.0,x1=0.0,y1=0.0,m1=0.0,m2=0.0,w2=0.0,t1=0.0,m3=0.0,w3=0.0

for(i=0i<5i++)

{

m+=xz[i].v*xz[i].r*xz[i].x

w+=xz[i].v*xz[i].r

m1+=xz[i].v*xz[i].r*xz[i].y

}

x0=m/w

y0=m1/w

for(i=0i<5i++)

{

d[i]=sqrt((xz[i].x-x0)*(xz[i].x-x0)+(xz[i].y-y0)*(xz[i].y-y0))

m3+=xz[i].v*xz[i].r*xz[i].x/d[i]

t1+=xz[i].v*xz[i].r*xz[i].y/d[i]

w3+=xz[i].v*xz[i].r/d[i]

}

x1=m3/w3

y1=t1/w3

do

{

x0=x1

y0=y1

for(i=0i<5i++)

{

d[i]=sqrt((xz[i].x-x0)*(xz[i].x-x0)+(xz[i].y-y0)*(xz[i].y-y0))

m2+=xz[i].v*xz[i].r*xz[i].x/d[i]

t+=xz[i].v*xz[i].r*xz[i].y/d[i]

w2+=xz[i].v*xz[i].r/d[i]

}

x1=m2/w2

y1=t/w2

m2=0.0

t=0.0

w2=0.0

}while(fabs(x0-x1)-0.00000001>0&&fabs(y0-y1)-0.00000001>0)

printf("x0=%12lf,y0=%12lf\n",x0,y0)

for(i=0i<5i++)

{

d[i]=sqrt((xz[i].x-x0)*(xz[i].x-x0)+(xz[i].y-y0)*(xz[i].y-y0))

min=xz[i].v*xz[i].r*d[i]

TC+=min

}

printf("min TC=%12lf\n",TC)

getch()

}

我们实验做得,不知对你有用吗?

分别利用Roberts、Prewitt和Sobel算子对lena.img进行边缘检测

clc

fid=fopen(' F:\数字图像处理\实验二 在 502-111 (603-003) 上\img\lena.bmp','r')

f=fread(fid,[256,256],'uchar')

GR=f

GP=f

GS=f

for x=2:255

for y=2:255

GRx(x,y)=f(x,y)-f(x+1,y+1)

GRy(x,y)=f(x,y+1)-f(x+1,y)

GR(x,y)=sqrt((GRx(x,y)).^2+(GRy(x,y)).^2)

GPx(x,y)=(f(x-1,y+1)+f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+f(x,y-1)+f(x+1,y-1))/3

GPy(x,y)=(f(x-1,y-1)+f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+f(x+1,y)+f(x+1,y+1))/3

GP(x,y)=sqrt((GPx(x,y)).^2+(GPy(x,y)).^2)

GSx(x,y)=(f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+2*f(x,y-1)+f(x+1,y-1))/3

GSy(x,y)=(f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1))/3

GS(x,y)=sqrt((GSx(x,y)).^2+(GSy(x,y)).^2)

end

end

subplot(2,2,1)

imshow(f,[0,255])title('原图像')

subplot(2,2,2)

imshow(GR,[0,255])title('Roberts')

subplot(2,2,3)

imshow(GP,[0,255])title('Prewitt')

subplot(2,2,4)

imshow(GS,[0,255])title('Sobel')

审题是作文的第一步,而且是文章成败的关键性的一步。文章的立意就是在审题的过程中确定的。审题的具体任务,就是通过对作文题目的思考和分析,了解命题者的意图,弄清写作对象、范围和重点,明确立意,并确定文章的体裁。

一、同步审视法

同步审视法要求简化审题程序,采用扫描的办法,对题目瞥一眼,立即就能决定写什么,表达什么主题。比如写《发生在我身边的一件趣事》这个题目,按常规审题的程序是:

①这道题写作的对象是:事。

②这道题写作的范围是:一件事。

③这道题取材的范围是:身边的事。

④这道题题旨的中心是:有趣的事。

⑤这道题的文章体裁是:记叙文。通过以上程序的思考和分析,然后再归纳总结,得出结论:用记叙文的形式,写一件发生在自己身边的有趣的事情。同步审视法的另一个要领是高屋建瓴。只有居高临下,才能一览无余。有些作文题,表意层次比较复杂,如果逐条推敲,必定费时间。这时只要抓住关键的一步进行思考,其它各步也就完成了。

二、化简因素法

对于多因素的作文题,可以使用化简因素法审题,化复杂因素为简单因素,化多因素为单一因素。这样,用极短的时间就能明确题旨,解决写什么的问题,从而达到快速审题的目的。所谓作文题目的因素,就是指文题提供的已知条件,也就是审题的出发点。比如《理想和梦想》这个题目就包括了“理想”和“梦想”两个因素。而《树木·森林·气候》这个题目就包括了“树木”、“森林”和“气候”三个因素。化简因素法有两个要领,一是合并同类因素,二是去掉无效因素。运用化简因素法审题,有时要全部舍弃题目中已有的因素,而去寻找新的因素。一些用联合结构的形式表达的作文题,往往是这样。

三、掌握重心法

有些作文题,只要准确地把握其表意重心,就能迅速明确立意,确定好选材范围和写作重点,在审题思维活动中少走很多弯路,这种方法叫作掌握重心法。文题的表意重心就是最能体现题旨的关键字词,也就是写作的重点。偏正结构的题型,其表意重心往往在偏的部份。如果作文题目是独词的,它的表意重心往往在这个词所代表的事物本质特点上,只要抓住它的本质特点进行思考就可以了,或写它的象征意义,或写它的比喻意义,或写它的引申意义。

四、反向思维法

反向思维审题法,又叫穿透障碍法。有些作文题,从字面上分析,从正面思考,恐怕绞尽脑汁也找不到突破口,不知如何下手。但是如果运用反向思维法,穿透字面上的障碍,从反面去思考,立即就能明确写作范围和对象,瞬间就能把题审好。如写《古老的小镇》这个题目,从字面上看,是写小镇的古老,其实是要写古老小镇的新生,写它的新气象、新风貌、新变化。掌握了反向思维审题法,一见到这类题目,能迅速穿透文题表面的障碍,把思维引向反面,很快便能审好题目。

五、满足要求法

有些作文题,具体规定了写作要求。运用满足要求法审题,顾名思义,就是按文题的要求写作,对其他无需多加考虑。快速审题要求思维程序简化,要在极短的瞬间即明确题旨,确定写什么。满足要求法实际上是审题的捷径。审题时扣住题目的具体要求,就是抓住了题旨,文章的立意就明确了。满足要求法对于审给材料的作文题的确是一种行之有效的方法。

六、虚实错位法

所谓虚实错位法,具体地说,就是虚题实作法,实题虚作法,即由实写虚,由虚写实。一般说来,虚题都是比较大的题目,实题都是比较小的题目,因此,这种审题方法也可以理解为大题小作法和小题大作法。比如《路边小草》、《由路边小草想到的》、《路边小草赞》这类题目,从表面看,题目实实在在,范围小,可以说是典型的实题和小题。运用虚实错位法审题,瞥一眼题目就会明白,这类题目不能就事论事写小事,必须采用实题虚作的办法,无论写散文还是写议论文(杂感),立意都应该是歌颂路边小草默默无闻、自强不息的精神或者赞美小草顽强的生命力,或者讴歌小草与世无争、不图名利的风格。写散文通过描写路边小草的形象来表达前面所说的立意,写议论文抓住小草的特点,以前面所说的立意为出发点,直接展开议论。

七、联系背景法

世界上的万事万物都是在一定的背景下发生的,要求事物的本源,自然离不开事物产生的背景。分析课文要介绍时代背景,评价人物要联系历史背景。作文的审题也一样,离不开题目的背景。有些作文题,孤立起来看,很难下笔,不知道怎样立意,但是运用联系背景法审题,在极短的时间内便能找到最佳立意。用联系背景法审题,不但思维过程轻松,审题速度快,而且题旨把握得准确,立意不会走题。

作文审题还有以下方法:

一、数学配方法

有些作文题目出的是一个比喻的喻体或是一个象征性的事物,比如《暖流》《春风》《红叶》《高高的荷花箭》等题目,初看起来,审题难度较大,但我们用“数学配方法”审题,很快就能明确题旨,完成审题任务。所谓“数学配方法”,就是借用方程的等式两边必须保持平衡的数学原理来审题立意的方法。这种方法,主要用来审察比喻性和象征性的题目。如果作文题出的是一个比喻的喻体,写作时就配上它的本体来写。如果题目出的是象征性的事物,就配上被象征性的事物来写。

二、添加因素法

有些题目,命题者故意藏头去尾,使题目带有迷惑性,增加审题难度,用以考察学生思维的深刻性和敏捷性。对于这类题目,只要在原题目的基础上适当添加新的因素,题旨就会显露出来,化难为易,能很快完成审题任务。要注意的是,使用添加因素法审题,所添加的因素必须和原题目的已知因素保持同一性,不能异化。

三、文字改造法

有些题目,命题者为增加题目的新奇性或文学色彩,故意转弯抹角,甚至故弄玄虚,以增加审题难度。碰到这类题目,不必慌神,只要对原题的文字稍加改造,就可以化神奇为平易,很快明白题旨,完成审题任务。用文字改造法审题,要注意的问题是改造后的题目一定要真实于原题的题旨,否则就会偏离题意。另外,文字改造法只是在对题目进行审视过程中的一种主观思维活动,通过这种创造性思维快速完成审题任务,在实际写作过程中,题目是不能改动的。

四、逆向入题法

前面介绍过反向思维法,说的是有些作文题从正面思考无法破题,而换一个角度以反面思考很快就能把握题旨,瞬间完成审题任务。这里所说的“逆向入题法”,是说有些题目按照常规以正面审题,也可以很快入题,完成审题立意任务。但是总嫌角度不新,立意不佳,因而不敢贸然下笔。这时如果舍弃正面改坚,改从逆向入题,往往很快就可以找到新的突破口。好象战士面对着敌人的碉堡,从正面也可以攻破,但比较费力,伤亡也可能较重。如果不按常规打法,避开正面改从侧面或后面,出其不意发动进攻,也许更能克敌致胜,取得辉煌战果。我们把这种作战方法借用来审题,就叫作“逆向入题法”。

五、就事论事法

顾名思义,就事论事意即就着某件事、某个问题,直接论述这件事或这个问题,不能指东说西或顾左右而言他。俗话说:“指着乌龟说王八,指着田鸡说青蛙。”也就是就事论事的意思。这种方法主要用于审视议论文中的评论性题目,思想评论、人物评论、事件评论、工作评论、新闻评论乃至于文艺评论等,运用就事论事法来审视,可以节省大量揣摩、思考的时间,加快审题速度。当然,在评论性文章的写作过程中,也会涉及被评论的事物以外的其他材料,但引用其他材料的目的仍然是为了阐述自己的观点,为评论服务。在评论的写作过程中,不管引用的材料有多么新奇,多么重要,都不能独立于文章,而自成观点。

六、借题发挥法

与就事论事相反的审题立意方法便是借题发挥法。这种方法适用于审视感想式的作文题,读后感、观后感、听后感一类题目,运用借题发挥法审视,能很快把握题旨,明确文章的立论方向。就事论事不能借题发挥,借题发挥则不能就事论事。运用借题发挥法审题,要掌握两个要点,一是“借题”,二是“发挥”。借题之精髓、内涵,发己之见解、观点。

七、辨明关系法

有些议论文题目,是由两个或两个以上的词语或词组并列构成的,譬如《难与易》《美与丑》《鱼与水》《自由与纪律》《时髦与创新》《伟大与平凡》《成功与失败》《发光与沾光》《磨刀与砍柴》《名师与高徒》《“我要学”与“要我学”》《“向钱看”与“向前看”》《自负·自信·自满》《观察·实践·思考》《识才·用才·爱才》等等。这类作文题,运用辨明关系法审视,很快就能掌握题旨。所谓辨明关系,就是用辩证思维的方法,辨清楚构成题目的词或词组彼此之间的特定关系,关系辨明了,审题立意的任务基本上就完成了,因为这类议论文的论点,一般说来,就是构成题目的词或词组之间的特殊关系。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11590619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存