最优化方法大作业答案
发布时间:2024-11-17
发布时间:2024-11-17
1.用薄钢板制造一体积5m3,长度不小于4m,无上盖的货箱,要求钢板耗量最小。确定货箱的长x1、宽x2和高x3。试列出问题的数学模型。
解:min z x1x2 2x1x3 2x2x3 s.t x1x2x3 5 x1 4 x1,x2,x3 0
2.将下面的线性规划问题表示为标准型并用单纯形法求解
max f=x1+2x2+x3
s.t.2x1+x2-x3≤2 -2x1+x2-5x3≥-6 4x1+x2+x3≤6 xi≥0 i=1,2,3 解:先化标准形:
Min z x1 x2 x3
2x1 x2 x3 x4 2 2x1 x2 5x3 x5 6
4x1 x2 x3 x6 6
列成表格:
224 1
1 11 2
151 1
1000
0100
0010
2660
可见此表已具备1°,2°,3°三个特点,可采用单纯形法。首先从底行中选元素-1,由2/2,6/2,6/4最小者决定选第一行第一列的元素2,标以记号,迭代一次得
100 1
12
2 1 2
1263 1
12 1 20
0100
0010
1420
再从底行中选元素-2/3,和第二列正元素1/2,迭代一次得
100
12 23 2
12632
12 112
010
000
141
再从底行中选元素-3,和第二列正元素2,迭代一次得
2423
1000
142 3
11 12
0100
0010
2844
再迭代一次得
3016
1000
0010
1233
0100
12 2132
40210
12
选取最优解:
x1 0 x2 4 x3 2
3. 试用DFP变尺度法求解下列无约束优化问题。
min f(X)=4(x1-5)2+(x2-6)2
取初始点X=(8,9)T,梯度精度ε=0.01。 解:取H
I
,初始点
2
X 8,9
2
T
f(x) 4(x1 5) (x2 6) 8x1
f(x)
2x2
40
12
(0)
(0)
f(x
T
24)
6
dx
(0)
f(x x
(0)
) ( 24, 6)
(0)
(1)
0d
T
(8 24 0,9 6 0)
(0)
2
2
minf(x
df(x
(0)
0d
(0)
(0)
) min[4 (8 24 0 5) (9 6 0 6)]
0dd
)
8(8 5 24 0) ( 24) 2(3 6 0) ( 6) 0
0
17130
0.13077
4.86153
8.21538
x
(1)
8 24 0.13077 9 6
(1)
f(x
1.10784)
4.43077
进行第二次迭代:
1 x
(1)
x
(0)
3.13848 0.78463
1 f(x
(1)
) f(x
(0)
25.10783 )
1.56924
T
H1 H0
1 1
T
T
1
H0 1 1H
1H0
T
1
1 1 80.03172
T
T
39.40022
2.46249
1H0 1 1 632.86614
9.85005 2.46249
1 1
T
2.46249
0.61561
H0 1 1H
T
630.40363T
1 1
39.40022
所以:
0.12695H1
0.03149
(1)
(1)
0.03149
1.0038
0.03149 1.10784
1.0038 4.43076
d H1 f(x
0.12695)
0.03149 0.28018
4.48248
(1)
令 x
df(x
(1)
(2)
x 1d
(1)
d
(1)
)
利用
x
(2)
d
0
,求得 1 0.49423,所以
(1)
x
(1)
0.49423d
4.86152
8.21538 0.13848
2.21538
因
f(x
(2)
5 6
) 0
,于是停,x即为最优解。
(2)
4. 某厂生产甲乙两种口味的饮料,条件如下:
因条件所限,甲饮料产量不能超过8百箱。
问如何安排生产计划,即两种饮料各生产多少使获利最大。 (要求:1.建立数学模型,并求解。2.用mat lab编写程序) 解:模型假设:
设生产甲饮料错误!未找到引用源。百箱,生产乙饮料x百箱,
2
获利最大为z. 符号说明:
错误!未找到引用源。错误!未找到引用源。为生产甲饮料的百箱数
x2
错误!未找到引用源。为生产乙饮料的百箱数
z为生产甲饮料x百箱和生产乙饮料y百箱数获利最大值.
建立模型:
目标函数:max
z 10x1 9x2错误!未找到引用源。
原料供应:错误!未找到引用源。 工人加工:错误!未找到引用源。 产量限制:错误!未找到引用源。
非负约束:错误!未找到引用源。x1,x2 0
得出模型为:错误!未找到引用源。max
6x1 5x2 60
10x1 20x2 150s,t
x1 8 x1,x2 0
z 10x1 9x2
先化标准形:
min Z 10x1 9x2
6x1 5x2 x3 60
10x1 20x2 x4 150
x1 x5 8
列成表格
6101 10
5200 9
1000
0100
0010
6015080
可见此表已具备1°,2°,3°三个特点,可采用单纯形法。首先从底行中选元素-9,由最小者150/20决定选第二行第二列的元素20,标以记号,迭代一次得
711 10
020 9
2000
12
200
0010
451580
71112
020
200
122
000
45151352
920
再从底行中选元素-11/2,和第1列正元素7,迭代一次得
选取最优解:
编写M文件,代码如下:1027 114045701 129728030700 21111 1191352
20
2
1027 114045701 129728030700 211110
1187207
35
7
x451
7
x2
307
>> f=[-10,-9]'; a=[6,5;10,20;1,0;-1,0;0,-1];
b=[60,150,8,0,0]'; x=linprog(f,a,b)
运行结果: Optimization terminated.
x = 6.4286 4.2857 >> ans=f'*x
ans = -102.8571
结果分析:
甲饮料生产642箱,乙饮料生产428箱时,获利最大为102.8万元。
5. 某家具厂要安排一周的生产计划,产品是桌子和椅子。制作一张桌子需4m2木板及时性20小时的工时,制作一只椅子需6m2木板及18小时的工时,每周能拥有的木板是600m2,可利用的工时是400小时;每张桌子的利润是50元,每只椅子的利润是60元。按合同每周至少要交付8张桌子和5只椅子,并假定所有的产品都能够销售出去。 问:该厂每周生产桌子和椅子的数量分别是多少时,能获得最大利润?
(要求:1.建立数学模型,并求解。2.用mat lab编写程序) 解:设x1为每周生产桌子数,x2为每周生产椅子数,则:
Smax=50 x1+60 x2
约束条件:4 x1 +6 x2≤600(材料)
20 x1+18 x2≤400(工时)
x1≥8,x2≥5
先化标准形:
min z 50x1 60x2
4x1 6x2 x3 600
20x1 18x2 x4 400
x1 x5 8
x2 x6 5
列成表格:
420 10 50
6180 1 60
10000
01000
00100
00010
600400 8 50
可见此表已具备1°,2°,3°三个特点,可采用单纯形法。首先从底行中选元素-50,由最小者400/20决定选第二行第一列的元素20,标以记号,迭代一次得:
010000
12918 1 15
50000
1
12102.5
000200
00010
2600200240 51000
再从底行中选元素-15,和第2列元素18,迭代一次得:
得:
选取最优解:
编写M文件,代码如下:0015 5 400732020000 200160018012002400
20503
3
1200
001 1
3 8
304881000 10801011004018930001101250
20503
3
1200
X1 8
X
2
403
X3 488
X
4
253
>> f=[-50,-60]'; a=[4,6;20,18;-1,0;0,-1]; b=[600,400,-8,-5]';
x=linprog(f,a,b)
运行结果:
Optimization terminated.
x = 8.0000 13.3333 >> ans=f'*x
ans = -1.2000e+003
结果分析:
当生产8张桌子,13张椅子时,可获最大利润为1200元.