数学建模1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课本p56(8)

8.一垂钓俱乐部鼓励垂钓者将钓上的鱼放生,打算按照放生的鱼的重量给以奖励,俱乐部只准备了以把软尺用于测量,请你设计按照测量长度估计鱼的重量的方法。假定鱼池中有一

先用机理分析建立模型,再用数据确定参数。

模型1:m=k*h.^3

其中,h为鱼的身长,m为鱼的重量。

MATLAB程序编写为:

d=[24.8,21.3,27.9,24.8,21.6,31.8,22.9,21.6]

d =

24.8000 21.3000 27.9000 24.8000 21.6000 31.8000 22.9000 21.6000 >> h=[36.8,31.8,43.8,36.8,32.1,45.1,35.9,32.1]

h =

36.8000 31.8000 43.8000 36.8000 32.1000 45.1000 35.9000 32.1000 >>v=d.^2.*h

v =

1.0e+004 *

2.2633 1.4427

3.4094 2.2633 1.4977

4.5607 1.8826 1.497.. >> f=inline('k*v','k','v')

f =

Inline function:

f(k,v) = k*v

>> m=[765,482,1162,737,482,1389,652,454]

m =

765 482 1162 737 482 1389 652 454

>> [a,jm]=lsqcurvefit(f,1,v,m)

Optimization terminated successfully:

First-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected

a =

0.0322

jm =

1.5009e+004

>> plot(v,m,'')

如图:

4.1 牛奶品的生产与销售(p83)

一奶制品加工厂用牛奶生产A1,A2两种奶制品,一桶牛奶可以在甲类设备上用12小时加工成3公斤A1,或者在乙类设备上用8小时加工成4公斤A2。根据市场需求,生产的A1,A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元,现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且甲类设备每天至多能加工100公斤A1,乙类设备的加工能力没有限制。试为该厂制订一个计划,使每天获利最大,并进一步讨论以下3个附加问题:

(1)若用35元可以买到一桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?

(2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?

基本模型

决策变量:设每天用x1桶牛奶生产奶A1,x2用桶牛奶生产A2.

目标函数:设每天获利为z元。x1同牛奶可生产3x1公斤A1,获利24×3x1,x2桶牛奶可生产4x2公斤A2,获利16×4x2,故z=72x1+64x2.

约束条件:

原料供应生产A1,A2的原料(牛奶)总量不得超过每天的供应,即x1+x2<=50桶;

劳动时间生产A1,A2的总加工时间不得超过每天正式工人总的劳动时间,即12x1+8x2<=480;

设备能力A1的产量不得超过甲类设备每天的加工能力,即3x1<=100;

非负约束x1,x2均不能为负值,即x1>=0,x2>=0.

综上可得

Max z=72x1+64x2 (1)

s.t. x1+x2<=50 (2)

12x1+8x2<=480 (3)

3x1<=100 (4 )

x1>=0,x2>=0 (5 )

模型求解

软件实现

MATLAB软件实现>> f=-[72 64]

f =

-72 -64

>> A=[1 1;12 8;3 0]

A =

1 1

12 8

3 0

>> B=[50;480;100]

B =

50

480

100

>> xm=[0,0]

xm =

0 0

>> Ae=[]

Ae =

[]

>> Be=[]

Be =

[]

>> [x,fopt,key,c]=linprog(f,A,B,Ae,Be,xm,[],[]) Optimization terminated successfully.

x =

20.0000

30.0000

fopt =

-3.3600e+003

key =

1

c =

iterations: 5

cgiterations: 0

algorithm: 'large-scale: interior point' 图表绘制:

>>plot(x)

在LINDO中输入:

max 72x1+64x2

st

2) x1+x2<50

3) 12x1+8x2<480

4) 3x1<100

End

将文件重命名保存,选择“SLOVE”并对提示回答“是“,即可输出以下结果:LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION V ALUE

1) 3360.000

VARIABLE V ALUE REDUCED COST

X1 20.000000 0.000000

X2 30.000000 0.000000

ROW SLACK OR SURPLUS DUAL PRICES

2) 0.000000 48.000000

3) 0.000000 2.000000

4) 40.000000 0.000000

NO. ITERATIONS= 2

RANGES IN WHICH THE BASIS IS UNCHANGED:

相关文档
最新文档