最优化方法大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单位代码03
学号
《最优化方法》课程实践
完成时间:2015年5月30日星期六
选择题目:题目一使用优化软件,编写重要算法的程序
1.第一大题:
(1)学习最优流量工程问题,nonsmooth_MCFP.pdf
(2)问题重述:
Figure 1一个简单的网络拓扑和流量需求
如Figure 1所示,网络有7 个节点,13 条弧,每条弧的容量是5 个单位. 此外有四个需求量均为4个单位的源-目的对(M=4),具体的源节点、目的节点信息如图所示. 这里为了简单,省去了未用到的弧,此外弧上的数字表示弧的编号。
(3)极小化MAU
设定变量x,为531⨯的向量,其中(53)
x即为变量z。使用linprog 函数求解极小化问题得到x。之前确定三个约束条件。
1、Ax b≤,其中A为1353
⨯的矩阵,b为131⨯的向量。
2、eq eq x b A =,其中eq A 为2853⨯的矩阵,eq b 为281⨯的向量。
3、x lb ≥,其中lb 为153⨯的向量 编程计算后得到结果如下:
(4) 极小化FT 成本函数
设定变量x ,为651⨯的向量,其中(53:65)x 即为变量l z 。使用linprog 函数求解极小化问题得到x 。之前确定三个约束条件。 1、Ax b ≤,其中A 为7865⨯的矩阵,b 为781⨯的向量。 2、eq eq x b A =,其中eq A 为2865⨯的矩阵,eq b 为281⨯的向量。 3、x lb ≥,其中lb 为165⨯的向量 编程计算后得到结果如下:
2. 第二大题: 2.1. 习题5.6 2.1.1. 问题分析
问题2112212()(101810)/241513q x x x x x x x =-++-+ 通过matlab 画出其等高线为:
2.1.2. 最速下降法
最速下降法中,取值:
k k p g =-
==()()k k k k
k T k k T k g p g g p Gp g Gg
α- x1
x 2
等高线
-2
2
4
6
8
10
12
(1)()k x k x k p α+=+
2.1.
3. 算法流程图如下图所示:
2.1.4. 初始值(0,0)
编程运行结构为:
收敛过程曲线为:
2.1.5. 初始值(-0.4,0)
编程运行结构为:
收敛过程曲线为:
x1
x 2
等高线
-2
2
4
6
8
10
12
2.1.6. 初始值(10,0)
编程运行结构为:
收敛过程曲线为:
x1
x 2
-2
2
4
6
8
10
12
2.1.7. 初始值(11,0)
编程运行结构为:
收敛过程曲线为:
x1
x 2
-2
2
4
6
8
10
12
2.2. 习题5.7 2.2.1. 问题分析
问题
()94ln(7)f x x x =--
497
g x =-- 24(7)
G x =
- Matlab 画出在区间(7 10)的函数、一阶导数、二阶导数的变化曲线为
x1
x 2
-2
2
4
6
8
10
12
77.58
8.599.510
70
72747678808284
86x
f
函数变化曲线
7
7.58
8.599.510
-35-30-25-20-15-10
-505
10x
g
一阶导数g 变化曲线
2.2.2. 牛顿法
牛顿法中,取值:
k k k G s g =-
1
k k k s x
x +=+
其中,如果G 不是半正定,则采用修正牛顿法
(+)k k k G I s g λ=-
77.58
8.599.510
50100150200250300350
400x
g
二阶导数G 变化曲线
2.2.
3.算法流程图如下图所示:
2.2.4.初始值7.40
编程运行结构为:
收敛过程曲线为:
2.2.5. 初始值7.20
编程运行结构为:
收敛过程曲线为:
7.397.47.417.42
7.437.447.457.46
70.245
70.2570.255
70.26
70.265
x
f
2.2.6. 初始值7.01
编程运行结构为:
收敛过程曲线为:
7.1
7.2
7.3
7.47.5
7.6
7.7
70.2
70.470.670.871
71.271.471.6x
f