当前位置:文档之家› 2010年数学建模c题输油管的布置

2010年数学建模c题输油管的布置

2010年数学建模c题输油管的布置
2010年数学建模c题输油管的布置

2012高教社杯全国大学生数学建模竞赛

输油管的布置

摘要

能源的运输线路关系到国家的经济发展,本文根据问题的条件和要求,针对两炼油厂到铁路线距离和两炼油厂间距离的各种不同情形建立最优化模型。通过分析,将炼油厂、车站、铁路线之间的距离作为未知常量,列出费用优化模型,完整地解决了问题。

针对第一问:首先画出两炼油厂及车站的位置关系图,通过对问题的分析,在位置关系图的基础上采用分步设计的思路,设计出了输油管道及车站的通用方案图。利用通用方案图,设定能够表示非共用管道交汇点位置及火车站建设点位置的变量x y 、,依据几何知识建立费用最小方案模型:

222212=(()()())W P a y x b y c x P y -++-+-+,

利用lingo 软件编写程序,从而求解出任意情况下的费用最小方案。

针对问题二:首先分析三家公司对附加费用的不同预测及自身的资质,我们采用加权平均的方法计算出合理的附加费用法,再由第一问的模型建立最优化模型:

2222221123((())()())()W P x a y b d y c x P y P d l c =+-+--+-+++-

通过ling 软件编程从而求解出设计方案,该方案计算的费用为283.20万。方案如图所示:

针对问题三:首先比较第三问与第二问,得出第三问与第二问的区别在于输油管道费用不再是固定的值。改进第二问中的模型,建立第三问的最优化模型:

111122233

222222111223min =(())+()()++()

W P L P L P y P L P x a y P b d y c x P y P d l c =++++---+-+- 代入数据从而得出了最优方案。方案计算的费用为252.47万

关键词: lingo 最优化模型 加权平均值

一.问题重述

1.问题的重述

某油田计划在铁路线一侧建造两家炼油厂,同时在铁路线上增建一个车站,用来运送成品油。由于这种模式具有一定的普遍性,油田设计院希望建立管线建设费用最省的一般数学模型与方法。

2.提出问题:

(1)针对两炼油厂到铁路线距离和两炼油厂间距离的各种不同情形,提出设计方案。在方案设计时,若有共用管线,应考虑共用管线费用与非共用管线费用相同或不同的情形。

(2)设计院目前需对一更为复杂的情形进行具体的设计。两炼油厂的具体位置由附图所示,其中A厂位于郊区(图中的I区域),B厂位于城区(图中的II区域),两个区域的分界线用图中的虚线表示。图中各字母表示的距离(单位:千米)分别为a = 5,b = 8,c = 15,l = 20。

若所有管线的铺设费用均为每千米7.2万元。铺设在城区的管线还需增加拆迁和工程补偿等附加费用,为对此项附加费用进行估计,聘请三家工程咨询公司(其中公司一具有甲级资质,公司二和公司三具有乙级资质)进行了估算。估算结果如下表所示:

工程咨询公司公司一公司二公司三附加费用(万元/千米)21 24 20 请为设计院给出管线布置方案及相应的费用。

(3)在该实际问题中,为进一步节省费用,可以根据炼油厂的生产能力,选用相适应的油管。这时的管线铺设费用将分别降为输送A厂成品油的每千米 5.6万元,输送B厂成品油的每千米6.0万元,共用管线费用为每千米7.2万元,拆迁等附加费用同上。然后给出管线最佳布置方案及相应的费用。

二.问题分析

(1)针对问题一,由题意可知,此问未提供任何与解题有关的已知的数据,仅给出有两个炼油厂需要铺设通往火车站的管道,火车站也是未知待定的。要想设计出合理的方案,就需要画出草图,以此形象的显示设计方案所涉及的不同情形,未知数据先用字母表示出来。设计方案的总体思路是采用分步设计,首先架设非公用管道,其次架设共用管道,最后确定火车站的位置,。根据设计过程中总结的规律,建立最优化模型,解决问题一提出的问题。

(2)针对问题二,通过比较问题一和问题二的题设条件可知,问题二给出了影响总费用的因素,每千米的铺设费用7.2万元和附加费用。因三家工程咨询公司评估的附加费用不同(其中公司一21万元/千米,公司二24万元/千米,公司三20万元/千米),并且资质也不同(其中公司一具有甲级资质,公司二和公司三具有乙级资质)。所以我们采用加权平均的方法对评估出来的三种不同费用进行处理,求出更为合理的附加费用值。

在设计费用最优化模型时,考虑到城市的拆迁费用,我们将输油管穿过城区的部分用L3表示。然后分共线和不共线两种情况进行比较分析:当A厂,B厂输油管有共用管线时,从B厂出发架设到共用管线时的非共用管线分两部分考虑L2,L3,共用管线用Y表示。未知变量均用字母表示出来,建立最优化模型,在 lingo中输入目标函数与约束条件,导出结果目标函数值;当A厂,B厂到车站的输油管没用共用管线时,由模型可知,此时Y=0。同理,运用lingo软件,在共线模型的基础上给约束条件中的Y 赋值为0,计算出此时的目标函数值。通过比较A厂,B厂到车站是否使用共用管线的两种情况所需费用,得出最优方案。

(3)针对问题三:问题三在问题二的基础上考虑到实际问题,依据炼油厂的生产能力不同,选用相适应的输油管。这时的管线铺设费用将分别降为:输送A厂成品油的每千米5.6万元,输送B厂成品油的每千米6.0万元,共用管线费用为每千米7.2万元.根据问题二共线和不共线两种情况下建立的模型,修改在lingo程序里的每千米的管道费用值,即可导出结果,通过比较A厂,B厂到车站是否共用管线时的费用,确定最佳方案。

三.问题假设

1、铺设的管道所经区域均为平整无阻隔的平地,不存在影响管道铺设的地形,如河流,山谷等。

2、铺设管道的路线由若干条直线段构成,不存在曲线。

3、铁路线不存在拐弯或曲线的情况,可看做是一条直线

四、名词解释及符号说明

1.名词解释:1.

2.

2.符号说明

W方案总费用

P非共用管线单位长度的费用

1

P共用管线单位长度的费用

2

P由炼油厂A导出的非共用管线的费用

11

P由炼油厂B导出的非共用管线的费用

12

3i P 公司i 评估的附加费用

3i P 三家公司评估的加权平均值

i 公司i 的权重

a 炼油厂A 到铁路线的垂直距离

b 炼油厂B 到铁路线的垂直距离

c 炼油厂A 、B 在以铁路线为水平线的竖直距离

1L 由炼油厂A 导出的非共用管线的长

2L 由炼油厂B 导出的非共用管线的长

'L 建模前共用管线的长的表示

y 建模后共用管线的长的表示

3L 在Ⅱ区域内的非共用管线的长

T 非共用管线的交汇点

D 车站的建设位置

x

车站距离炼油厂A 在铁路线上的垂点之间的距离 五、 模型的建立及求解

针对问题一:

由题知本文是根据两个炼油厂的之间的位置及与铁路线的距离设定方案,方案中要确定输油管道的铺设路线及火车站的位置。方案要使铺设管道的费用最省。

问题一中未提供任何数据,说明解决第一问要解决两炼油厂在任意位置下的费用最优化问题。由题意知铺设管线分为有共用管线和无共用管线两种情况,下面就对这两种情况单独讨论:

(1)有共用管线情况下的最优方案:

分析问题知,要想费用最省的方案,就要知晓这几个数据:两炼油厂距离铁路线各自的垂直距离;两炼油厂以铁路线为水平线的水平距离,单位长度共用管线的费用1P 及非共用管线的费用2P 。如图一:

A 、

B 为两个炼油厂,a 、b 分别为A 、B 两个炼油厂距离铁路线的垂直距离,c 为以铁路线为水平线的水平距离。由于第一问中未提供任何数据,所以先把这些变量看作是常量。知道这几个数据的值我们才能进一步设计方案。

对于有共用管线的情况下确定的方案,一定包含有图二中的信息:

图二

图中设非公用管线和公共管线单位长度的费用分别为1P 、2P ,12L L 、分别表示从

A 、

B 炼油厂导出的非共用管线的长度,T 点表示两非共用管线的交汇处,从T 点导出公用管线连接到车站D ,'L 表示共用管线的长度。

在设计方案的时候我们先确定了T 点,如图三:

图三

再从T 点导出公用管线连接到车站D ,从而确定'L ,由于铁路线上任一点均可作为火车站,所以有无数条线可作为'L ,如图四:

图四

由于点到直线的垂线段是该点到直线上任意一点的线段的最短直线,所以当D 点为点T 在铁路线上的垂点时'L 最小,共用管线的铺设费用最低。所以我们在设计输油管道布置方案时,规定火车站的建造点D 为非共用输油管道交汇点T 在铁路线上的垂点,此时我们重新定义y 表示'L 。

图五

图五所示的为输油管道的一种设计方案图例:图中的a 、b 、c 为未确定的常量,观察图发现求解最佳方案就是找出最佳的T 、D 点,使得输油管道建设费用最低。图中x 表示火车站与炼油厂A 的水平距离,T 、D 两点的位置用坐标的形式可表示为:T(X,Y) D(x,0),求D 、T 点就转化为求x 、y 值。

运用几何知识,我们可以表示出图中12L L 、:

221=()L a y x -+ (1)

222=()()L b y c x -+- (2)

假设非共用管线单位长度和共用管线单位长度的费用分别为

12P P 、,则铺设管线的总费用:

1122222212()y

=(()()())W P L L P P a y x b y c x P y =++-++-+-+ (3)

在面对具体问题时,上式中a 、b 、c 、P 1、P2将是已知的常数,公式(3)就只剩两个变量x 、y ,

公式(3)变为二元函数:(x,y)W f =,求解最小费用的问题就转化为了求二元函数的最值问题。我们可以利用lingo [1]

软件编写最优化模型解出a 、b 、c 、P1、P2被赋值后二元函数W=f(x,y)的最小值及对应的x 、y 值: 222212 minW=[()()()]P a y x b y c x P y -++-+-+ (4) 当共用管线与非共用的单位长度的费用相同时,可以在程序中增加限制条件:12P P =;而费用不同时则增加限制条件:12P P ≠。

在存在共用管线的情况下,运用该编程可以针对任意情况求解出优化方案及方案中对应的x 、y 值及最小费用;非共线输油管线的交汇点T(x,y)及车站D (x,0)的位置得以确立,这也意味着费用最低的方案中输油管线布置路线得以确立。

(2)无共用管线情况下的优化方案

若单纯铺设非共用管道,不存在共用管道,参照有共用管线下最优化模型的建立过程;可以理解为共用管道的长度为零,在图(五)对应的y 值为0,讨论这种情况时只需在加上lingo 程序中附加限制条件y=0即可优化出单纯铺设非共用管道情况下的最佳方案。那么对应的lingo 优化模型为 2222

1 minW=[()()()]P a y x b y c x -++-+- (5) 同样在无共用管线情况下,该模型能对任意情况下求解出优化方案。

为了对该共用管线和非共用管线两种情况下的模型进行检验,我们给未知常量a 、b 、c 、P1、P2任意赋值,假设a=15,b=20,c=12,P1=4,P2=6;将这些常量分别代入两种模型进行优化,计算结果为:

无共用管线情况下:min W=148.00; x=5.14.; y=0;铺设线路及火车站建设点如图六所示:

有共用管线情况下:min W=136.75; x=3.80; y=10.70;铺设线路及火车站建设点如图七所示

图六 图七

针对问题二 根据问题要求我们设计管线布置方案和计算相应的费用,首先在设计管线布置方案时,我们首先分共线和不共线两种情况进行讨论,然后建立费用最优化模型,最后比较分析,选择最优方案。

1当A 厂,B 厂运往车站的输油管有共用管线时:

由题意知,三家工程咨询公司评估的附加费用不同(其中公司一,公司二,公司三分别用13P ,23P ,33P ),并且[2]资质也不同(其中公司一具有甲级资质,公司二和公司三具有乙级资质)。由此我们首先对三家公司赋予权重1230.4,0.3,0.3ωωω===;又知三家工程咨询公司评估的费用: 12333321,24,20P P P ===,进而采用加权[3]平均的方法对三家公司评估出来的三种不同费用进行处理,求出更为合理的附加费用值3P 。

123313233321.6P P P P ωωω=++=(万元/千米)

参照题中图表画出了输油管道布置图,如图八:

图八

首先从B 厂铺设输油管道,管道经过城区的输油管道的长度为3L ,设交点与点B 在以铁路线为水平线的水平距离为d ;然后再分别由交点和炼油厂A 铺设非共用管道12L L 、,并于T 点交汇;接着由T 点铺设通向车站D 的共用管道,由第一问中的结论

的点D 为点T 在铁路线的垂点,设这段共用管道的长为y ,车站D 与炼油厂A 在以铁路线为水平线的竖直距离为x 。在该图中有d 、x 、y 未知量,由几何知识,可以分别表示出123L L L 、、:

221(())L x a y =+-; 222

()()L b d y c x =--+-; 223()L d l c =+-;

设非共用管线和共用管线的费用分别为1P 、2P ,则建立总费用的模型:

112233()W P L L P y L P =+++

222222123((())()())()P x a y b d y c x P y P d l c =+-+--+-+++-

(6)

运用类比在问题一中编写的lingo 程序,我们再次使用lingo 编写适用于问题二的模型:

222222123min ((())()())()W P x a y b d y c x P y P d l c =+-+--+-+++- (7)

221(())L x a y =+-;

222()()L b d y c x =--+-;

223()L d l c =+-; 由题问题二中给出的条件知:12337.2,7.2,21.6,a=5,b= 8,c=15,20;P P P P l =====运用lingo 软件编写程序,得到目标函数的值(运算结果见附录),即在共线的情况下,方

中的总费用与对应值。

123283.20 5.45() 1.85(),=0.63() 6.29,11.03,5.04,W x y D L L L ======,千米,千米千米,(千米)(千米)(千米)方案见图九:

图九

2、当A厂,B厂运往车站的输油管没有共用管线时:

同理,由共线时的模型可知,分析在不共线的情况,此时Y=0。运用lingo软件,在共线模型的基础上给定约束条件中的Y赋值为0,计算出此时的目标函数值为285.04(万)。方案如图十所示:

图十

通过比较A厂,B厂到车站是否使用共用管线的两种情况所需费用,若单纯考虑费用最低的方案,则有共用管道的方案是最优方案。

针对问题三:

问题三在问题二的基础上考虑到实际问题,依据炼油厂的生产能力不同,选用相适应的输油管。这时的管线铺设费用将分别降为:输送A厂成品油的每千米 5.6万元,输送B厂成品油的每千米6.0万元,共用管线费用为每千米7.2万元。根据问题要求我们设计管线布置方案和计算相应的费用,在设计管线布置方案时,我们首先分共线和不共线两种情况进行讨论,然后建立费用最优化模型,最后比较分析,选择最优方案。.

1当A厂,B厂运往车站的输油管有共用管线时

根据问题二共线情况下建立的模型,由题意可知,问题三可以看作是问题二共线情况下的延伸,它与问题二的区别在于A厂、B厂单位长度的管线费用由原来的均为7.2万每平方千米变为输送A厂成品油的每千米5.6万元,输送B厂成品油的每千米6.0万元,因此可以对问题二在lingo编写的程序中的约束条件(每千米的管道费用值)稍作修改,即可做出符合此问题意的最优化模型,即可导出结果。

。 11112

2233

222222

111223min =(())+()()++()W P L P L P y P L P x a y P b d y c x P y P d l c =++++

---+-+- (8) (11P 、12P 分别表示油厂A 、B 铺设的非共用管线单位长度的费用其他字母表示的意义同上)

代入已知数据求得方案结果:

123252.4737 6.7321()0.1401(),=0.7178()8.3030,10.9255, 5.0512,

W x y D L L L ======(万元),千米,千米千米,(千米)(千米)(千米)

2当A 厂,B 厂运往车站的输油管没有共用管线时

同理,由共线时的模型可知,分析在不共线的情况,此时Y=0。运用lingo 软件,在共线模型的基础上给约束条件中的Y 赋值为0,得出了无共用管线的方案。此时费用为123252.4808 6.7515()0(),=0.7264()8.4013,10.9974, 5.0525,

W x y D L L L ======(万元),千米,千米千米,(千米)(千米)(千米)

下面我们观察两种方案的示意图:

比较两种情况所需费用,无共用管线的方案比有共用管线的方案多出0.0071万元,两方案费用几乎相等。有共用管线时的方案所铺设的共用管线仅有0.1401千米,在实际情况下发挥的作用很小,而且共用管线一旦损坏,将影响到两家炼油厂输油,会造成巨大的经济损失,所以综合考虑我们采用无共用管线的方案作为问题二的最终方案。

六.模型的评价与推广

模型评价:

优点:

1.该模型是对任意情况下的无限种方案进行筛选,选择出费用最省的方案,精准

度高,

2.对问题进行了合理的假设,舍去次要因素,使模型具有反映突出主因和操作简

便的特点

3. 多次使用lingo软件,充分利用软件运行速度快,求解结果精度高的特点,

缺点:

1.模型没能考虑到实际情况的复杂因素,例如:河流、山谷等复杂地形对管线铺

设的影响;铁路线并非直线甚至出现弯道的情况。模型求解的最优方案会与实际情况有偏差。

模型推广:

论文中的三问究其本源是选址问题,因此本模型可以应用到机场、工业区选址等现实生活中遇到的问题。

七.参考文献

[1]袁新生邵大宏郁时炼.《LINGO和EXCEL在数学建模中的应用》第一版.2007 科学出版社.2008.1

[2]

[3] 韩中庚陆宜清周素静.《数学建模实用教程》第一版.2012高等教育出版社.2012.3

九、附录

min=w;

w=p1*(l1+l2)+p2*y;

l1=((a-y)^2+x^2)^0.5;

l2=((b-y)^2+(c-x)^2)^0.5;

a=15;b=20;c=12;p1=4;p2=6;

y=0;

Local optimal solution found.

Objective value: 148.0000

Extended solver steps: 5

Total solver iterations: 116

Variable Value Reduced Cost W 148.0000 0.000000 P1 4.000000 0.000000 L1 15.85714 0.000000 L2 21.14286 0.000000 P2 6.000000 0.000000 Y 0.000000 0.000000 A 15.00000 0.000000 X 5.142857 0.000000

B 20.00000 0.000000

C 12.00000 0.000000

Row Slack or Surplus Dual Price

1 148.0000 -1.000000

2 0.000000 -1.000000

3 0.000000 -4.000000

4 0.000000 -4.000000

5 0.000000 -3.783787

6 0.000000 -3.783786

7 0.000000 -1.297318

8 0.000000 -37.00000

9 0.000000 0.000000

10 0.000000 1.567562

min=w;

w=p1*(l1+l2)+p2*y;

l1=((a-y)^2+x^2)^0.5;

l2=((b-y)^2+(c-x)^2)^0.5;

a=15;b=20;c=12;p1=4;p2=6;

Local optimal solution found.

Objective value: 136.7490

Extended solver steps: 5

Total solver iterations: 140

Variable Value Reduced Cost

W 136.7490 0.000000

P1 4.000000 0.000000

L1 5.737814 0.000000

L2 12.40448 0.000000

P2 6.000000 0.000000

Y 10.69664 0.000000

A 15.00000 0.000000

X 3.795207 -0.1413036E-07

B 20.00000 0.000000

C 12.00000 0.000000

Row Slack or Surplus Dual Price

1 136.7490 -1.000000

2 0.000000 -1.000000

3 0.000000 -4.000000

4 0.000000 -4.000000

5 0.000000 -3.000037

6 0.000000 -3.000017

7 0.000000 -2.645773

8 0.000000 -18.14229

9 0.000000 -10.69664

min=w;

w=p1*(l1+l2+l3)+p2*y+l3*p3;

l1=((a-y)^2+x^2)^0.5;

l2=((b-d-y)^2+(c-x)^2)^0.5;

l3=(d^2+(l-c)^2)^0.5;

a=5;

b=8;

c=15;

l=20;

p1=7.2;

p2=7.2;

p3=21.6;

Global optimal solution found.

Objective value: 283.2013

Objective bound: 283.2010

Infeasibilities: 0.1598721E-13

Extended solver steps: 724

Total solver iterations: 68114

Variable Value Reduced Cost

W 283.2013 0.000000

P1 7.200000 0.000000

L1 6.290195 0.000000

L2 11.03031 0.000000

L3 5.039526 0.000000

P2 7.200000 0.000000

Y 1.854903 0.000000

P3 21.60000 0.000000

A 5.000000 0.000000

X 5.447469 -0.1994906E-08 B 8.000000 0.000000

D 0.6299408 0.5841228E-08 C 15.00000 0.000000

L 20.00000 0.000000

Row Slack or Surplus Dual Price

1 283.2013 -1.000000

2 0.000000 -1.000000

3 0.000000 -7.200000

4 0.000000 -7.200000

5 0.000000 -28.80000

6 0.000000 -3.600105

7 0.000000 -3.600060

8 0.000000 22.33870

9 0.000000 -28.57413

10 0.000000 -22.36003

11 0.000000 -1.854903

12 0.000000 -5.039526

:min=W;

W=P11*L1+p12*(L2+L3)+P2*y+P3*L3;

L1=(x^2+(a-y)^2)^0.5;

L2=((b-d-y)^2+(c-x)^2)^0.5;

L3=(d^2+(l-c)^2)^0.5;

P11=5.6;P12=6.0;p2=7.2;P3=21.6;a=5;b=8;c=15;l=20;

Global optimal solution found.

Objective value: 252.4737

Objective bound: 252.4734

Infeasibilities: 0.1221245E-13

Extended solver steps: 475

Total solver iterations: 49892

Variable Value Reduced Cost W 252.4737 0.000000 P11 5.600000 0.000000 L1 8.302995 0.000000 P12 6.000000 0.000000 L2 10.92552 0.000000 L3 5.051266 0.000000 P2 7.200000 0.000000 Y 0.1401119 0.000000 P3 21.60000 0.000000 X 6.732103 0.000000

A 5.000000 0.000000

B 8.000000 0.000000 D 0.7178328 0.000000

C 15.00000 0.000000 L 20.00000 0.000000

Row Slack or Surplus Dual Price

1 252.4737 -1.000000

2 0.000000 -1.000000

3 0.000000 -5.600000

4 0.000000 -6.000000

5 0.000000 -27.60000

6 0.000000 -8.302995

7 0.000000 -15.97679

8 0.000000 -0.1401119

9 0.000000 -5.051266

10 0.000000 -3.277832

11 0.000000 -3.922261

12 0.000000 22.77934

13 0.000000 -27.31990

min=w;

W=P11*L1+p12*(L2+L3)+P2*y+P3*L3;

L1=(x^2+(a-y)^2)^0.5;

L2=((b-d-y)^2+(c-x)^2)^0.5;

L3=(d^2+(l-c)^2)^0.5;

P11=5.6;P12=6.0;p2=7.2;P3=21.6;a=5;b=8;c=15;l=20;

y=0;

Objective value: 252.4808

Total solver iterations: 162

Variable Value Reduced Cost

W 252.4808 0.000000

P11 5.600000 0.000000

L1 8.401321 0.000000

P12 6.000000 0.000000

L2 10.99741 0.000000

L3 5.052497 0.000000

P2 7.200000 0.000000

Y 0.000000 0.000000

P3 21.60000 0.000000

X 6.751458 0.2191743E-08

A 5.000000 0.000000

B 8.000000 0.000000

D 0.7264478 -0.6909230E-08 C 15.00000 0.000000

L 20.00000 0.000000

Row Slack or Surplus Dual Price

1 252.4808 -1.000000

2 0.000000 -1.000000

3 0.000000 -5.600000

4 0.000000 -6.000000

5 0.000000 -27.60000

6 0.000000 -8.401321

7 0.000000 -16.04991

8 0.000000 0.000000

9 0.000000 -5.052497

10 0.000000 -3.332862

11 0.000000 -3.968364

12 0.000000 22.81292

13 0.000000 -27.31324

14 0.000000 0.1010462

syms a b c x y p1 p2

W=p1*(((a-y)^2+x^2)^(1/2)+((b-y)^2+(c-x)^2)^(1/2))+p2*y;

jacobian(W,[x,y])

ans =

[ p1*(1/((a-y)^2+x^2)^(1/2)*x+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*c+2*x)), p1*(1/2/((a-y)^2+x^2)^(1/2)*(-2*a+2*y)+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*b+2*y))+p2]

解方联立方程程组

syms a b c x y p1 p2

f1=('p1*(1/((a-y)^2+x^2)^(1/2)*x+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*c+2*x))=0');

f2=('p1*(1/2/((a-y)^2+x^2)^(1/2)*(-2*a+2*y)+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*b+2*y))+p2=0');

[x,y]=solve(f1,f2,x,y)

x =

1/4/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-2*p2^2*a+8*p1^2*a+2*(-

p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2))*c/(1/2/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-

2*p2^2*a+8*p1^2*a+2*(-p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2))-a+b)

1/4/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-2*p2^2*a+8*p1^2*a-2*(-

p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2))*c/(1/2/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-2*p2^2*a+8*p1^2*a-

2*(-p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2))-a+b)

y =

a-1/4/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-2*p2^2*a+8*p1^2*a+2*(-p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2)) a-1/4/(4*p1^2-p2^2)*(2*p2^2*b-8*p1^2*b-2*p2^2*a+8*p1^2*a-2*(-p2^4*c^2+4*c^2*p2^2*p1^2)^(1/2))

>> x=simple(x)

x =

1/2*(p2^2*b-4*p1^2*b-p2^2*a+4*p1^2*a+p2*c*(4*p1^2-p2^2)^(1/2))/p2/(4*p1^2-p2^2)^(1/2)

-1/2*(p2^2*b-4*p1^2*b-p2^2*a+4*p1^2*a-p2*c*(4*p1^2-p2^2)^(1/2))/p2/(4*p1^2-p2^2)^(1/2)

>> y=simple(y)

y =

1/2*(4*p1^2*a-p2^2*a-p2^2*b+4*p1^2*b-p2*c*(4*p1^2-p2^2)^(1/2))/(4*p1^2-p2^2)

1/2*(4*p1^2*a-p2^2*a-p2^2*b+4*p1^2*b+p2*c*(4*p1^2-p2^2)^(1/2))/(4*p1^2-p2^2)

>>

syms a b c x y

W=(((a-y)^2+x^2)^(1/2)+((b-y)^2+(c-x)^2)^(1/2))+y;

>> jacobian(W,[x,y])

ans =

[ 1/((a-y)^2+x^2)^(1/2)*x+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*c+2*x), 1/2/((a-y)^2+x^2)^(1/2)*(2*y-2*a)+1/2/((b-y)^2+(c-x)^2)^(1/2)*(2*y-2*b)+1]

syms a b c x y

>> f1=('1/((a-y)^2+x^2)^(1/2)*x+1/2/((b-y)^2+(c-x)^2)^(1/2)*(-2*c+2*x)=0');

>> f2=('1/2/((a-y)^2+x^2)^(1/2)*(2*y-2*a)+1/2/((b-y)^2+(c-x)^2)^(1/2)*(2*y-2*b)+1=0');

>> [x,y]=solve(f1,f2,x,y)

x =

1/2*(-3*b^2+6*a*b+c^2-3*a^2-3*(-b+a+1/3*3^(1/2)*c)*b+3*a*(-b+a+1/3*3^(1/2)*c))/c

1/2*(-3*b^2+6*a*b+c^2-3*a^2-3*(-b+a-1/3*3^(1/2)*c)*b+3*a*(-b+a-1/3*3^(1/2)*c))/c

y =

1/2*a+1/2*b-1/6*3^(1/2)*c

1/2*a+1/2*b+1/6*3^(1/2)*c

>> x=simple(x)

x =

1/6*3^(1/2)*(-3*b+3*a+3^(1/2)*c)

-1/6*3^(1/2)*(-3*b+3*a-3^(1/2)*c)

>> y=simple(y)

y =

1/2*a+1/2*b-1/6*3^(1/2)*c

1/2*a+1/2*b+1/6*3^(1/2)*c

相关主题
文本预览
相关文档 最新文档