第十二章 非线性规划方法 非线性规划的一般模型; 无约束线性规划的求解方法; 带约束非线性规划的求解方法; 非线性规划的软件求解方法; 非线性规划的应用案例分析。 2015年10月31日 一、非线性规划的一般模型 1. 引例:股票的组合投资问题 一个投资者拟选择A,B,C三支业 绩好的股票来进行长期组合投资.通过对 这三支股票的市场分析和统计预测得到 相关数据如下表 1 所示. 2015年10月31日 1. 引例:股票的组合投资问题 (1) 问题的提出 表 1 股票的相关数据表 股票名称 五年期望收益 率(%) A B C 64 五年的协方差(%) A B C36120 -30 -30 试从两个方面分别给出三支股票的 投资比例: 2015年10月31日.
Download ReportTranscript 第十二章 非线性规划方法 非线性规划的一般模型; 无约束线性规划的求解方法; 带约束非线性规划的求解方法; 非线性规划的软件求解方法; 非线性规划的应用案例分析。 2015年10月31日 一、非线性规划的一般模型 1. 引例:股票的组合投资问题 一个投资者拟选择A,B,C三支业 绩好的股票来进行长期组合投资.通过对 这三支股票的市场分析和统计预测得到 相关数据如下表 1 所示. 2015年10月31日 1. 引例:股票的组合投资问题 (1) 问题的提出 表 1 股票的相关数据表 股票名称 五年期望收益 率(%) A B C 64 五年的协方差(%) A B C36120 -30 -30 试从两个方面分别给出三支股票的 投资比例: 2015年10月31日.
Slide 1
Slide 2
Slide 3
第十二章 非线性规划方法
非线性规划的一般模型;
无约束线性规划的求解方法;
带约束非线性规划的求解方法;
非线性规划的软件求解方法;
非线性规划的应用案例分析。
3
2015年10月31日
Slide 4
一、非线性规划的一般模型
1. 引例:股票的组合投资问题
一个投资者拟选择A,B,C三支业
绩好的股票来进行长期组合投资.通过对
这三支股票的市场分析和统计预测得到
相关数据如下表 1 所示.
4
2015年10月31日
Slide 5
1. 引例:股票的组合投资问题
(1) 问题的提出
表 1 股票的相关数据表
股票名称
五年期望收益
率(%)
A
B
C
92
64
41
五年的协方差(%)
A
B
C
180
36
110
36
120
-30
110
-30
140
试从两个方面分别给出三支股票的
投资比例:
5
2015年10月31日
Slide 6
1. 引例:股票的组合投资问题
(1) 问题的提出
(1)希望将投资组合中的股票收益的标
准差降到最小,以降低投资风险,并希望
五年后的期望收益率不少于65%.
(2)希望在标准差最大
不超过12%的情况下,
获得最大的收益.
6
2015年10月31日
Slide 7
1. 引例:股票的组合投资问题
2 . 模型的分析
设 x1 , x 2 , x 3 分别表示A,B,C三支股票的
投资比例,其五年的期望收益率分别记为
r1 , r2 , r3 ,即为随机变量.
五年后投资组
合的总收益率为
R x1 r1 x 2 r2 x3 r3 ,
表 1 股票的相关数据表
股票
名称
A
B
C
7
五年期望收
益率(%)
92
64
41
五年的协方差(%)
A
B
C
180
36
110
36
120
-30
110
-30
140
2015年10月31日
Slide 8
1. 引例:股票的组合投资问题
2 . 模型的分析
由概率统计的知识,投资组合的方差为
V ar ( R ) x1 V ar ( r1 ) x 2 V ar ( r2 ) x 3 V ar ( r3 )
2
2
2
2 x1 x 2 C ov ( r1 , r2 ) 2 x1 x 3 C ov ( r1 , r3 ) 2 x 2 x 3 C ov ( r2 , r3 ) ,
根据表 1 中的数据计算得到
Var ( R ) 180 x1 120 x 2 140 x 3 72 x1 x 2 220 x1 x 3 60 x 2 x 3 .
2
2
2
投资组合的标准差为
1
D [180 x 120 x 140 x 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 .
2
1
2
2
2
3
8
2015年10月31日
Slide 9
1. 引例:股票的组合投资问题
3 . 模型的建立
问题(1):根据投资者第(1)项要求,则问题的模型为
1
m in D [180 x 120 x 140 x 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 ;
2
1
2
2
2
3
x1 x 2 x 3 1,
s.t. 0.92 x1 0.64 x 2 0.41 x 3 0.65,
x , x , x 0.
1 2 3
9
2015年10月31日
Slide 10
1. 引例:股票的组合投资问题
3 . 模型的建立
问题(2):希望在标准差最大不超过12%的情
况下,获得最大的收益.
根据投资者第(2)项要求,则问题的模型为
m ax R 0.92 x1 0.64 x 2 0.41 x 3 ;
x1 x 2 x 3 1,
1
2
2
2
s.t.[180 x1 120 x 2 140 x 3 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 12,
x , x , x 0.
1 2 3
10
2015年10月31日
Slide 11
二. 非线性规划的数学模型
1 . 非线性规划问题的一般模型
如果问题的目标函数和约束条件中包含有非线
性函数,则这样的规划问题称为非线性规划问题。
非线性规划的一般模型为
min f ( x 1 , x 2 , , x n )
h i ( x 1 , x 2 , , x n ) 0 , i 1, 2 , , m
g ( x , x , , x ) 0 , j 1, 2 , , l
j
1
2
n
11
(1)
2015年10月31日
Slide 12
1 . 非线性规划问题的一般模型
若 X ( x1 , x 2 , , x n ) E ,
T
n
则模型
min f ( X )
h i ( X ) 0 , i 1, 2 , , m (2)
g ( X ) 0 , j 1, 2 , , l
j
(1) 若目标函数为最大化问题,由 max f ( X ) min[ f ( X )] ,
令 F ( X ) f ( X ) ,则 min F ( X ) max f ( X ) ;
(2) 若约束条件为 g j ( X ) 0 ,则 g j ( X ) 0 ;
(3) h i ( X ) 0 h i ( X ) 0 且 h i ( X ) 0 。
m in f ( X )
一般模型形式:
g j ( X ) 0, j 1, 2,
12
,m
(3)
2015年10月31日
Slide 13
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
(1)无约束的非线性规划
当问题无约束条件时,则此问题
称为无约束的非线性规划问题。
(2)二次规划
如果目标函
数是 X 的二次函
数,约束条件都有
是线性的,则称此
规划为二次规划.
min f ( X )
X R
X 0
(4)
n
n
n
min f ( X ) c j x j c jk x j x k
j 1
j 1 k 1
n
a ij x j b i 0 , i 1, 2 , , m
j 1
x 0 , c c , j , k 1, 2 , , n
j
jk
kj
13
2015年10月31日
Slide 14
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
m in f ( X )
一般模型形式:
g j ( X ) 0, j 1, 2,
,m
(3)
( 3) 凸 规 划
当 模 型 (3 ) 中 的 目 标 函 数 f ( X ) 为 凸 函 数 ,
g j ( X )( j 1, 2 , , m ) 均 为 凹 函 数 ( 即 g j ( X ) 为 凸 函
数 ), 则 这 样 的 非 线 性 规 划 称 为 凸 规 划 。
14
2015年10月31日
Slide 15
三、无约束非线性规划的解法
1. 一般迭代法
一般迭代法基本思想:
对问题(4),给出 f ( X ) 的极小点
的初始值 X
X
(k )
(0)
f (X )
min
X R
X 0
( 4)
,按某种规律计算出一系列的
( k 1, 2 , ) ,希望点列 X
(k )
的极限 X
*
就是
f ( X ) 的一个极小点。
??问题:如何来产生这个点列?即如何由一个解向量
(k )
求出另一个新的向量解 X ?
X
( k 1 )
15
2015年10月31日
Slide 16
1. 一般迭代法
实际上:向量 X ( k 1) 总可以写成
X
( k 1)
X
(k )
k P
(k )
( k 1, 2 , )
其中 P ( k ) 为一个向量, k 为一个实数,称为步长。
实际中各种迭代法就在于寻求不同的 k 和 P ( k ) ,特别是方
向 P ( k ) 的确定是问题的关键,称为搜索方向。
选择 k 和 P ( k ) 的一般原则是使
f (X
(0)
) f (X
(1 )
) f (X
这种算法称为下降算法。 最后检验 X
解,即对 0 ,是否有 f ( X
16
( k 1)
(k )
(k )
)
是否收敛于最优
) 决定迭代是否结束。
2015年10月31日
Slide 17
三、无约束非线性规划的解法
2. 一维搜索法
一维搜索法:沿着一系列的射线方向 P
(k )
寻求极小化点列的方法.
对 确 定 方 向 P ( k ) , 在 X ( k ) P ( k ) ( 0) 上 选 取 步 长 k 使
f (X
(k )
k P
(k )
) f (X
(k )
) ,则可确定一个新的点 X
( k 1)
X
(k )
k P
(k )
,
即 为 沿 X (k ) P (k ) 求 f ( X ) 的 最 小 值 问 题 。 即 等 价 于 求
(k )
(k )
(k )
(k )
( ) f ( X P ) 在 L X | X X P , 上 极 小
点k 。
一维搜索法是对某一个确定方向 P ( k ) 来进行的.
??问题:如何选择搜索方向 P ( k ) 呢?
17
2015年10月31日
Slide 18
2、 一维搜索法
(1)梯度法(最速下降法)
选择下降速度最快的方向,可取 f ( X ) 在 X
(k )
数最小的方向作为搜索方向,即令 P ( k ) f ( X
点的方向导
(k )
) ,这就是
梯度法,或最速下降法.
(2)共轭梯度法
共轭梯度法仅适用于正定二次函数的极小值问题:
min f ( X )
1
X AX B X c
T
T
2
其中 A 为 n n 实对称正定阵, X , B E n , c 为常数.
18
2015年10月31日
Slide 19
2、 一维搜索法
(3)牛顿(Newton)法
对 于 问 题 : min
f (X )
1
X
T
AX B X c
T
2
当 A 为正定时, A
(4)
1
存在,于是有 X
*
1
A B 为最优解.
拟牛顿法)
对于一般的二阶可微函数 f ( X ) ,在 X
f (X ) f (X
1
(k )
) f ( X
(X X
) (X X
(k ) T
) f (X
(k ) T
2
(k )
(k )
(k )
点的局部有
)
)( X X
(k )
)
2
当黑塞矩阵 2 f ( X
就是拟牛顿法,
(k )
) 正定时,也可应用上面的牛顿法,这
19
2015年10月31日
Slide 20
2、 一维搜索法
变尺度法
(5)
1)任取 X
P
(0)
H
E 和H
(0)
n
(0)
f ( X
(0)
(0)
(一般取 H
(k )
3)计算 k 1 X
( k 1)
X
(k )
P
P
( k 1)
( k 1)
H
(k )
H
( k 1)
k 1
f ( X
( k 1)
H
(k )
X
(k )
, k 1 f ( X
k 1 k 1
T
k 1
( k 1)
) f (X
(k )
T
H
,计算
I 为单位阵)
), k 0 ;
2)若 f ( X ( k ) ) 0 ,则停止计算,否则令 X
k 为最佳步长,由 min f ( X
(0)
(k )
k P
k P
( k 1)
k 1
T
k 1
H
(k )
(k )
) 确定;
) f ( X
(k )
,其中
T
k 1
H
k 1
(k )
),
(k )
,
)
4)令 k k 1; 返回 2)
.
20
2015年10月31日
Slide 21
四、带约束非线性规划的解法
1、非线性规划的可行方向法
假设 X
(k )
是问题(3)的
一个可行解,但非最优解,
min f ( X )
( 3)
g j ( X ) 0 , j 1, 2 , , m
为进一步寻找最优解在它的可行下降方向中选取其一个方向
D
(k )
,并确定最佳步长 k 使
X ( k 1 ) X ( k ) k D ( k ) R
, k 0 ,1, 2 ,
( k 1)
(k )
f ( X
) f (X )
反复进行这一过程,直到得到满足精度要求为止。即称为
可行方向法.
21
2015年10月31日
Slide 22
四、带约束非线性规划的解法
2、非线性规划的制约函数法
基本思想:将求解非线性规划的问题转化为一
系列无约极值问题来求解,故也称为序列无约束最
小化方法.在无约束问题的求解中,对企图违反约
束的那些点给出相应的惩罚约束,迫使这一系列的
无约束问题的极小点不断地向可行域靠近(在可行外
部),或者一直在可行域内移动(在可行域内部),直
到收敛到原问题的最优解为止.
制约函数分两类:惩罚函数和障碍函数。从方
法上分为外点法(或外部惩罚函数法)和内点法(或内
部惩罚函数法,即障碍函数法).
22
2015年10月31日
Slide 23
2、非线性规划的制约函数法
(1)外点法(罚函数法)
min f ( X )
对于等式约束的问题:
(1)
h i ( X ) 0 , i 1, 2 , , m
m
作辅助函数: P1 ( X , M ) f ( X ) M
h
2
j
(X )
j 1
取 M 为充分大的正数,则问题(1)转化为求无约束问题
min P1 ( X , M ) 的解的问题。
X
23
2015年10月31日
Slide 24
(1)外点法(罚函数法)
对于不等式约束的问题:
min f ( X )
g j ( X ) 0 , j 1, 2 , , l
(2)
同样可构造惩罚函数,即对充分大的 M 作:
min 0 , g
l
P2 ( X , M ) f ( X ) M
j
2
( X )
j 1
则问题(2)可以转化为求 min P2 ( X , M ) 的问题。
X
24
2015年10月31日
Slide 25
(1)外点法(罚函数法)
对于一般的问题
m i n f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
(3)
对于充分大的 M 作辅助函数: P3 ( X , M ) f ( X ) MP ( X )
m
其中 P ( X )
i 1
2
l
2
hi ( X ) mim 0 , g j ( X ) ,则将问题(3)
j 1
化为求解 min P3 ( X , M ) 的问题。
X
25
2015年10月31日
Slide 26
(1)外点法(罚函数法)
选择惩罚因子 M 的一般策略:
选取一个趋向无穷大的严格递增正数列
{ M k } ,逐个求解
min P3 ( X , M k ) f ( X ) M k P ( X )
X
*
k
即可得到一个极小点的序列 { X } ,在一定的条件
下,这个序列收敛于原问题的最优解。
这种方法又称为序列无约束极小化方法,简称
为 SUMT 方法。
26
2015年10月31日
Slide 27
2、非线性规划的制约函数法
(2)内点法(障碍函数法)
内点法总是在可行域内进行的,并一直保持在可行域内
进行搜索.这种方法只适用于只有不等式约束的问题:
min f ( X )
X R { X | g j ( X ) 0 , j 1, 2 , , l }
作辅助函数(障碍函数):
Q ( X , r ) f ( X ) rB ( X )
其中 B ( X ) 是连续函数, rB ( X ) 称为障碍项; r 为充分小
的正数,称之为障碍因子。
27
2015年10月31日
Slide 28
(2)内点法(障碍函数法)
作辅助函数(障碍函数):
Q ( X , r ) f ( X ) rB ( X )
其中 B ( X ) 是连续函数, rB ( X ) 称为障碍项; r 为充分小
的正数,称之为障碍因子。
注意到,当点 X 趋向于 R 的边界时,要 B ( X ) 趋向于正无
穷大,则 B ( X ) 的最常用两种形式为
l
B( X )
g
j 1
1
j
(X )
和 B ( X ) log g j ( X )
l
j 1
28
2015年10月31日
Slide 29
(2)内点法(障碍函数法)
由于 B ( X ) 的存在,在 R 的边界上形成了“围墙”,
对迭代点的向外移动起到了阻挡作用,而越靠近边界阻
力就越大。当点 X 趋向于 R 的边界时,则障碍函数
Q ( X , r ) 趋向于正无穷大;否则, Q ( X , r ) f ( X ) 。
问题转化为求解问题:
min Q ( X , r )
X R0
其中 R 0 X | g j ( X ) 0 , j 1, 2 , , l 。
29
2015年10月31日
Slide 30
(2)内点法(障碍函数法)
根据 Q(X , r) 定义,显然障碍因子越小,
min Q ( X , r ) 的解就越接近于原问题的解.
X R0
在实际中也采用 SUMT 方法,即取一个严格单
调减少且趋于零的障碍因子数列 { rk } ,对于每一个
rk ,从 R 0 内的某点出发,求解 min Q ( X , rk ) 。
X R0
30
2015年10月31日
Slide 31
(2)内点法(障碍函数法)
针对带有约束条件的非线性规划模型的
一般形式为 :
min f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
下面给出LINGO模型的基本形式.
31
2015年10月31日
Slide 32
五、非线性规划的软件解法
1、非线性规划的LINGO解法
MODEL:
min f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
sets:
row/1..m/;
arrange/1..L/;
link/1..n/:x0,x;
endsets
init:
x0=x0(1),x0(2),… ,x0(n);
endinit
[OBJ]min=f(x);
!目 标 函 数 的 表 达 式
@for(row(i):hi(x)==0;);
!等 式 约 束 条 件
@for(arrange(j):gj(x)>=0;); !不 等 式 约 束 条 件
@for(link(k):x(k)>=0;);
END
32
2015年10月31日
Slide 33
五、非线性规划的软件解法
2、非线性规划的MATLAB解法
(1)若要求问题: min f ( x ) ,其步骤如下:
第一步:利用文件编辑器编写 M 文件,即定义函数,
并存为*.M 文件。
function f=fun(x)
f=f(x)
(表达式)
;
第二步:在命令窗口中调用优化程序 fmin,
x x 0 ;%取初始值
x=fmin(’fun’
,x)
回车后输出最优解 x,键入 fun(x)
,可得到最优值。
33
2015年10月31日
Slide 34
五、非线性规划的软件解法
2、非线性规划的MATLAB解法
(2)若求问题: min f ( x )
[ a ,b ]
指定搜索区间,调用优化程序 constr,即在命令窗
口键入:
x x0 ;
vlb=a;
vub=b;
x=constr(‘fun’,x,options,vlb,vub)
回车后即执行并输出解,键入 fun(x)输出最优值。
34
2015年10月31日
Slide 35
2、非线性规划的MATLAB解法
(3)求无约束的非线性规划问题: min f ( X )
X E
n
第一步:定义函数
function f=fun(X)
f=f(X) %(表达式);
第二步:在命令窗口键入
X 0 [x
(0)
1
,x
(0)
2
, , x
(0)
n
] ;%给出初始值
options=[ ]; %使用默认值
[X,options]=fmin(‘fun’,X0,options)
%调用优化函数
回车输出最优解,键入 option(8)输出最优值,键入 options
(10)输出计算次数。
35
2015年10月31日
Slide 36
2、非线性规划的MATLAB解法
(4)求解带约束的非线性规划
min n
x R
s .t .
f ( x)
hi ( x ) 0 ,
i 1, 2 , , m
g ( x ) 0,
j
j 1, 2 , , l
x=constr(‘fun’,x0)
x=constr(‘fun’,x0,opt)
x=constr(‘fun’,x0,opt,v1,v2,’grad’)
x=constr(‘fun’,x0,opt,v1,v2,’grad’,p1,…)
[x,opt]=constr(‘fun’,x0,opt,…)
注意:1)fun.m文件中同时给出目标函数f和约束g,
形式为:[f,g]=fun(x);
2)grad.m文件中(用分析梯度方法)同时给出目标
函数f和约束g的梯度,形式为[df,dg]=grad(x)。
36
2015年10月31日
Slide 37
1、问题的提出
一奶制品加工厂用牛奶生产 A1 , A 2 两种初级奶制品,它们
可以直接出售,也可以分别加工成 B 1 , B 2 两种高级奶制品再出
售.按目前技术每桶牛奶可加工成 2 公斤 A1 和 3 公斤 A 2 ,每
桶牛奶的买入价为 10 元,加工费为 5 元,加工时间为 15 小时.
每公斤 A1 可深加工成 0.8 公斤 B 1 ,加工费为 4 元,加工
时间 12 为小时;每公斤 A 2 可深加工成 0.7 公斤 B 2 ,加工费
为 3 元,加工时间 10 为小时.
初级奶制品 A1 , A 2 的售价分别为每公斤 10 元和 9 元,
高级奶制品 B 1 , B 2 的售价分别为每公斤 30 元和 20 元.
37
2015年10月31日
Slide 38
1、问题的提出
工厂现有的加工能力每周总共 2000 小时.根据市
场状况,高级奶制品的需求量占全部奶制品需求量的
20%至 40%.试在供需平衡的条件下为该厂制订生产计
划,使利润最大,并进一步研究如下问题:
(1)工厂拟拨一笔资金用于技术革新,据估计可
实现下列革新中的某一项:总加工能力提高 10%;各项
加工费用均减少 10%;初级奶制品 A1 , A 2 的产量提高 10%,
高级奶制品 B 1 , B 2 的产量提高 10%.问将资金用于哪一项
革新,这笔资金的上限应为多少.
38
2015年10月31日
Slide 39
1、问题的提出
(2) 该厂的技术人员又提出一项技术革新,将原来
的每桶牛奶可加工成品 2 公斤 A 1 和 3 公斤 A 2 变为每桶
牛奶可加工成 4 公斤 A 1 或 6 公斤 A 2 .假设其他条件都
不变,问应否采用这项革新,若采用,生产计划如何.
(3) 根据市场经济规律,初级奶制品 A1 , A 2 的售价都
要随着它们二者销售量的增加而减少,同时,在深加工
过程中,单位成本会随着它们各自加工数量的增加而减
小.在高级奶制品的需求量占全部奶制品需求量 20%的情
况下,市场调查得到一批数据.试根据此市场实际情况
对该厂的生产计划进行修订.
39
2015年10月31日
Slide 40
2、问题的分析
由题意: A1 , B1 , A2 , B 2 的售价分别为 p1 10 , p 2
30 , p 3 9 , p 4 20
(元/公斤).牛奶的购入和加工费用为 q1 10 5 15(元/桶),
深加工 A1 , A 2 的费用分别为 q 2 4 , q 3 3(元/公斤).每桶牛奶
可加工成 a 2 公斤 A1 和 b 3 公斤 A 2 ,每公斤 A1 可深加工成
c 0 . 8 公斤 B 1 ,每公斤 A 2 可深加工成 d 0 . 7 公斤 B 2 .
每桶牛奶的加工时间为 15 小时,每公斤 A1 , A 2 的深加工时
间分别为 12、10(小时),工厂的总加工能力为 S=2000 小时.B 1 ,
B 2 的销售量(即产量)占全部奶制品的比例为 20%至 40%.
40
2015年10月31日
Slide 41
2、问题的分析
记出售 A1 , B1 的数量分别为 x1 , x 2(公斤),出售 A2 , B 2 的数量分别为
x 3 , x 4 (公斤),生产的 A1 , A 2 的数量分别为 x 5 , x 6 (公斤),购入和加工
牛奶的数量为 x 7 桶,深加工的 A1 , A2 的数量分别为 x 8 , x 9 (公斤).
加工 1 公斤 A1 :4 元+12 小时
= 0.8 公斤 B1 :30 元/公斤
一桶牛奶
10 元+5 元
+15 小时
2 公斤 A1
出售 1 公斤 A1 :10 元
出售 1 公斤 A2 :9 元
3 公斤 A2
加工 1 公斤 A2:3 元+10 小时
= 0.7 公斤 B2:20 元/公斤
41
2015年10月31日
Slide 42
3、模型的建立与求解
具体的模型为一个线性规划模
型和非线性规划模型,用LINGO
求解可以得到相应的结果。
详细内容请教材!
42
2015年10月31日
Slide 43
Slide 2
Slide 3
第十二章 非线性规划方法
非线性规划的一般模型;
无约束线性规划的求解方法;
带约束非线性规划的求解方法;
非线性规划的软件求解方法;
非线性规划的应用案例分析。
3
2015年10月31日
Slide 4
一、非线性规划的一般模型
1. 引例:股票的组合投资问题
一个投资者拟选择A,B,C三支业
绩好的股票来进行长期组合投资.通过对
这三支股票的市场分析和统计预测得到
相关数据如下表 1 所示.
4
2015年10月31日
Slide 5
1. 引例:股票的组合投资问题
(1) 问题的提出
表 1 股票的相关数据表
股票名称
五年期望收益
率(%)
A
B
C
92
64
41
五年的协方差(%)
A
B
C
180
36
110
36
120
-30
110
-30
140
试从两个方面分别给出三支股票的
投资比例:
5
2015年10月31日
Slide 6
1. 引例:股票的组合投资问题
(1) 问题的提出
(1)希望将投资组合中的股票收益的标
准差降到最小,以降低投资风险,并希望
五年后的期望收益率不少于65%.
(2)希望在标准差最大
不超过12%的情况下,
获得最大的收益.
6
2015年10月31日
Slide 7
1. 引例:股票的组合投资问题
2 . 模型的分析
设 x1 , x 2 , x 3 分别表示A,B,C三支股票的
投资比例,其五年的期望收益率分别记为
r1 , r2 , r3 ,即为随机变量.
五年后投资组
合的总收益率为
R x1 r1 x 2 r2 x3 r3 ,
表 1 股票的相关数据表
股票
名称
A
B
C
7
五年期望收
益率(%)
92
64
41
五年的协方差(%)
A
B
C
180
36
110
36
120
-30
110
-30
140
2015年10月31日
Slide 8
1. 引例:股票的组合投资问题
2 . 模型的分析
由概率统计的知识,投资组合的方差为
V ar ( R ) x1 V ar ( r1 ) x 2 V ar ( r2 ) x 3 V ar ( r3 )
2
2
2
2 x1 x 2 C ov ( r1 , r2 ) 2 x1 x 3 C ov ( r1 , r3 ) 2 x 2 x 3 C ov ( r2 , r3 ) ,
根据表 1 中的数据计算得到
Var ( R ) 180 x1 120 x 2 140 x 3 72 x1 x 2 220 x1 x 3 60 x 2 x 3 .
2
2
2
投资组合的标准差为
1
D [180 x 120 x 140 x 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 .
2
1
2
2
2
3
8
2015年10月31日
Slide 9
1. 引例:股票的组合投资问题
3 . 模型的建立
问题(1):根据投资者第(1)项要求,则问题的模型为
1
m in D [180 x 120 x 140 x 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 ;
2
1
2
2
2
3
x1 x 2 x 3 1,
s.t. 0.92 x1 0.64 x 2 0.41 x 3 0.65,
x , x , x 0.
1 2 3
9
2015年10月31日
Slide 10
1. 引例:股票的组合投资问题
3 . 模型的建立
问题(2):希望在标准差最大不超过12%的情
况下,获得最大的收益.
根据投资者第(2)项要求,则问题的模型为
m ax R 0.92 x1 0.64 x 2 0.41 x 3 ;
x1 x 2 x 3 1,
1
2
2
2
s.t.[180 x1 120 x 2 140 x 3 72 x1 x 2 220 x1 x 3 60 x 2 x 3 ] 2 12,
x , x , x 0.
1 2 3
10
2015年10月31日
Slide 11
二. 非线性规划的数学模型
1 . 非线性规划问题的一般模型
如果问题的目标函数和约束条件中包含有非线
性函数,则这样的规划问题称为非线性规划问题。
非线性规划的一般模型为
min f ( x 1 , x 2 , , x n )
h i ( x 1 , x 2 , , x n ) 0 , i 1, 2 , , m
g ( x , x , , x ) 0 , j 1, 2 , , l
j
1
2
n
11
(1)
2015年10月31日
Slide 12
1 . 非线性规划问题的一般模型
若 X ( x1 , x 2 , , x n ) E ,
T
n
则模型
min f ( X )
h i ( X ) 0 , i 1, 2 , , m (2)
g ( X ) 0 , j 1, 2 , , l
j
(1) 若目标函数为最大化问题,由 max f ( X ) min[ f ( X )] ,
令 F ( X ) f ( X ) ,则 min F ( X ) max f ( X ) ;
(2) 若约束条件为 g j ( X ) 0 ,则 g j ( X ) 0 ;
(3) h i ( X ) 0 h i ( X ) 0 且 h i ( X ) 0 。
m in f ( X )
一般模型形式:
g j ( X ) 0, j 1, 2,
12
,m
(3)
2015年10月31日
Slide 13
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
(1)无约束的非线性规划
当问题无约束条件时,则此问题
称为无约束的非线性规划问题。
(2)二次规划
如果目标函
数是 X 的二次函
数,约束条件都有
是线性的,则称此
规划为二次规划.
min f ( X )
X R
X 0
(4)
n
n
n
min f ( X ) c j x j c jk x j x k
j 1
j 1 k 1
n
a ij x j b i 0 , i 1, 2 , , m
j 1
x 0 , c c , j , k 1, 2 , , n
j
jk
kj
13
2015年10月31日
Slide 14
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
m in f ( X )
一般模型形式:
g j ( X ) 0, j 1, 2,
,m
(3)
( 3) 凸 规 划
当 模 型 (3 ) 中 的 目 标 函 数 f ( X ) 为 凸 函 数 ,
g j ( X )( j 1, 2 , , m ) 均 为 凹 函 数 ( 即 g j ( X ) 为 凸 函
数 ), 则 这 样 的 非 线 性 规 划 称 为 凸 规 划 。
14
2015年10月31日
Slide 15
三、无约束非线性规划的解法
1. 一般迭代法
一般迭代法基本思想:
对问题(4),给出 f ( X ) 的极小点
的初始值 X
X
(k )
(0)
f (X )
min
X R
X 0
( 4)
,按某种规律计算出一系列的
( k 1, 2 , ) ,希望点列 X
(k )
的极限 X
*
就是
f ( X ) 的一个极小点。
??问题:如何来产生这个点列?即如何由一个解向量
(k )
求出另一个新的向量解 X ?
X
( k 1 )
15
2015年10月31日
Slide 16
1. 一般迭代法
实际上:向量 X ( k 1) 总可以写成
X
( k 1)
X
(k )
k P
(k )
( k 1, 2 , )
其中 P ( k ) 为一个向量, k 为一个实数,称为步长。
实际中各种迭代法就在于寻求不同的 k 和 P ( k ) ,特别是方
向 P ( k ) 的确定是问题的关键,称为搜索方向。
选择 k 和 P ( k ) 的一般原则是使
f (X
(0)
) f (X
(1 )
) f (X
这种算法称为下降算法。 最后检验 X
解,即对 0 ,是否有 f ( X
16
( k 1)
(k )
(k )
)
是否收敛于最优
) 决定迭代是否结束。
2015年10月31日
Slide 17
三、无约束非线性规划的解法
2. 一维搜索法
一维搜索法:沿着一系列的射线方向 P
(k )
寻求极小化点列的方法.
对 确 定 方 向 P ( k ) , 在 X ( k ) P ( k ) ( 0) 上 选 取 步 长 k 使
f (X
(k )
k P
(k )
) f (X
(k )
) ,则可确定一个新的点 X
( k 1)
X
(k )
k P
(k )
,
即 为 沿 X (k ) P (k ) 求 f ( X ) 的 最 小 值 问 题 。 即 等 价 于 求
(k )
(k )
(k )
(k )
( ) f ( X P ) 在 L X | X X P , 上 极 小
点k 。
一维搜索法是对某一个确定方向 P ( k ) 来进行的.
??问题:如何选择搜索方向 P ( k ) 呢?
17
2015年10月31日
Slide 18
2、 一维搜索法
(1)梯度法(最速下降法)
选择下降速度最快的方向,可取 f ( X ) 在 X
(k )
数最小的方向作为搜索方向,即令 P ( k ) f ( X
点的方向导
(k )
) ,这就是
梯度法,或最速下降法.
(2)共轭梯度法
共轭梯度法仅适用于正定二次函数的极小值问题:
min f ( X )
1
X AX B X c
T
T
2
其中 A 为 n n 实对称正定阵, X , B E n , c 为常数.
18
2015年10月31日
Slide 19
2、 一维搜索法
(3)牛顿(Newton)法
对 于 问 题 : min
f (X )
1
X
T
AX B X c
T
2
当 A 为正定时, A
(4)
1
存在,于是有 X
*
1
A B 为最优解.
拟牛顿法)
对于一般的二阶可微函数 f ( X ) ,在 X
f (X ) f (X
1
(k )
) f ( X
(X X
) (X X
(k ) T
) f (X
(k ) T
2
(k )
(k )
(k )
点的局部有
)
)( X X
(k )
)
2
当黑塞矩阵 2 f ( X
就是拟牛顿法,
(k )
) 正定时,也可应用上面的牛顿法,这
19
2015年10月31日
Slide 20
2、 一维搜索法
变尺度法
(5)
1)任取 X
P
(0)
H
E 和H
(0)
n
(0)
f ( X
(0)
(0)
(一般取 H
(k )
3)计算 k 1 X
( k 1)
X
(k )
P
P
( k 1)
( k 1)
H
(k )
H
( k 1)
k 1
f ( X
( k 1)
H
(k )
X
(k )
, k 1 f ( X
k 1 k 1
T
k 1
( k 1)
) f (X
(k )
T
H
,计算
I 为单位阵)
), k 0 ;
2)若 f ( X ( k ) ) 0 ,则停止计算,否则令 X
k 为最佳步长,由 min f ( X
(0)
(k )
k P
k P
( k 1)
k 1
T
k 1
H
(k )
(k )
) 确定;
) f ( X
(k )
,其中
T
k 1
H
k 1
(k )
),
(k )
,
)
4)令 k k 1; 返回 2)
.
20
2015年10月31日
Slide 21
四、带约束非线性规划的解法
1、非线性规划的可行方向法
假设 X
(k )
是问题(3)的
一个可行解,但非最优解,
min f ( X )
( 3)
g j ( X ) 0 , j 1, 2 , , m
为进一步寻找最优解在它的可行下降方向中选取其一个方向
D
(k )
,并确定最佳步长 k 使
X ( k 1 ) X ( k ) k D ( k ) R
, k 0 ,1, 2 ,
( k 1)
(k )
f ( X
) f (X )
反复进行这一过程,直到得到满足精度要求为止。即称为
可行方向法.
21
2015年10月31日
Slide 22
四、带约束非线性规划的解法
2、非线性规划的制约函数法
基本思想:将求解非线性规划的问题转化为一
系列无约极值问题来求解,故也称为序列无约束最
小化方法.在无约束问题的求解中,对企图违反约
束的那些点给出相应的惩罚约束,迫使这一系列的
无约束问题的极小点不断地向可行域靠近(在可行外
部),或者一直在可行域内移动(在可行域内部),直
到收敛到原问题的最优解为止.
制约函数分两类:惩罚函数和障碍函数。从方
法上分为外点法(或外部惩罚函数法)和内点法(或内
部惩罚函数法,即障碍函数法).
22
2015年10月31日
Slide 23
2、非线性规划的制约函数法
(1)外点法(罚函数法)
min f ( X )
对于等式约束的问题:
(1)
h i ( X ) 0 , i 1, 2 , , m
m
作辅助函数: P1 ( X , M ) f ( X ) M
h
2
j
(X )
j 1
取 M 为充分大的正数,则问题(1)转化为求无约束问题
min P1 ( X , M ) 的解的问题。
X
23
2015年10月31日
Slide 24
(1)外点法(罚函数法)
对于不等式约束的问题:
min f ( X )
g j ( X ) 0 , j 1, 2 , , l
(2)
同样可构造惩罚函数,即对充分大的 M 作:
min 0 , g
l
P2 ( X , M ) f ( X ) M
j
2
( X )
j 1
则问题(2)可以转化为求 min P2 ( X , M ) 的问题。
X
24
2015年10月31日
Slide 25
(1)外点法(罚函数法)
对于一般的问题
m i n f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
(3)
对于充分大的 M 作辅助函数: P3 ( X , M ) f ( X ) MP ( X )
m
其中 P ( X )
i 1
2
l
2
hi ( X ) mim 0 , g j ( X ) ,则将问题(3)
j 1
化为求解 min P3 ( X , M ) 的问题。
X
25
2015年10月31日
Slide 26
(1)外点法(罚函数法)
选择惩罚因子 M 的一般策略:
选取一个趋向无穷大的严格递增正数列
{ M k } ,逐个求解
min P3 ( X , M k ) f ( X ) M k P ( X )
X
*
k
即可得到一个极小点的序列 { X } ,在一定的条件
下,这个序列收敛于原问题的最优解。
这种方法又称为序列无约束极小化方法,简称
为 SUMT 方法。
26
2015年10月31日
Slide 27
2、非线性规划的制约函数法
(2)内点法(障碍函数法)
内点法总是在可行域内进行的,并一直保持在可行域内
进行搜索.这种方法只适用于只有不等式约束的问题:
min f ( X )
X R { X | g j ( X ) 0 , j 1, 2 , , l }
作辅助函数(障碍函数):
Q ( X , r ) f ( X ) rB ( X )
其中 B ( X ) 是连续函数, rB ( X ) 称为障碍项; r 为充分小
的正数,称之为障碍因子。
27
2015年10月31日
Slide 28
(2)内点法(障碍函数法)
作辅助函数(障碍函数):
Q ( X , r ) f ( X ) rB ( X )
其中 B ( X ) 是连续函数, rB ( X ) 称为障碍项; r 为充分小
的正数,称之为障碍因子。
注意到,当点 X 趋向于 R 的边界时,要 B ( X ) 趋向于正无
穷大,则 B ( X ) 的最常用两种形式为
l
B( X )
g
j 1
1
j
(X )
和 B ( X ) log g j ( X )
l
j 1
28
2015年10月31日
Slide 29
(2)内点法(障碍函数法)
由于 B ( X ) 的存在,在 R 的边界上形成了“围墙”,
对迭代点的向外移动起到了阻挡作用,而越靠近边界阻
力就越大。当点 X 趋向于 R 的边界时,则障碍函数
Q ( X , r ) 趋向于正无穷大;否则, Q ( X , r ) f ( X ) 。
问题转化为求解问题:
min Q ( X , r )
X R0
其中 R 0 X | g j ( X ) 0 , j 1, 2 , , l 。
29
2015年10月31日
Slide 30
(2)内点法(障碍函数法)
根据 Q(X , r) 定义,显然障碍因子越小,
min Q ( X , r ) 的解就越接近于原问题的解.
X R0
在实际中也采用 SUMT 方法,即取一个严格单
调减少且趋于零的障碍因子数列 { rk } ,对于每一个
rk ,从 R 0 内的某点出发,求解 min Q ( X , rk ) 。
X R0
30
2015年10月31日
Slide 31
(2)内点法(障碍函数法)
针对带有约束条件的非线性规划模型的
一般形式为 :
min f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
下面给出LINGO模型的基本形式.
31
2015年10月31日
Slide 32
五、非线性规划的软件解法
1、非线性规划的LINGO解法
MODEL:
min f ( X )
h i ( X ) 0 , i 1, 2 , , m
g ( X ) 0 , j 1, 2 , , l
j
sets:
row/1..m/;
arrange/1..L/;
link/1..n/:x0,x;
endsets
init:
x0=x0(1),x0(2),… ,x0(n);
endinit
[OBJ]min=f(x);
!目 标 函 数 的 表 达 式
@for(row(i):hi(x)==0;);
!等 式 约 束 条 件
@for(arrange(j):gj(x)>=0;); !不 等 式 约 束 条 件
@for(link(k):x(k)>=0;);
END
32
2015年10月31日
Slide 33
五、非线性规划的软件解法
2、非线性规划的MATLAB解法
(1)若要求问题: min f ( x ) ,其步骤如下:
第一步:利用文件编辑器编写 M 文件,即定义函数,
并存为*.M 文件。
function f=fun(x)
f=f(x)
(表达式)
;
第二步:在命令窗口中调用优化程序 fmin,
x x 0 ;%取初始值
x=fmin(’fun’
,x)
回车后输出最优解 x,键入 fun(x)
,可得到最优值。
33
2015年10月31日
Slide 34
五、非线性规划的软件解法
2、非线性规划的MATLAB解法
(2)若求问题: min f ( x )
[ a ,b ]
指定搜索区间,调用优化程序 constr,即在命令窗
口键入:
x x0 ;
vlb=a;
vub=b;
x=constr(‘fun’,x,options,vlb,vub)
回车后即执行并输出解,键入 fun(x)输出最优值。
34
2015年10月31日
Slide 35
2、非线性规划的MATLAB解法
(3)求无约束的非线性规划问题: min f ( X )
X E
n
第一步:定义函数
function f=fun(X)
f=f(X) %(表达式);
第二步:在命令窗口键入
X 0 [x
(0)
1
,x
(0)
2
, , x
(0)
n
] ;%给出初始值
options=[ ]; %使用默认值
[X,options]=fmin(‘fun’,X0,options)
%调用优化函数
回车输出最优解,键入 option(8)输出最优值,键入 options
(10)输出计算次数。
35
2015年10月31日
Slide 36
2、非线性规划的MATLAB解法
(4)求解带约束的非线性规划
min n
x R
s .t .
f ( x)
hi ( x ) 0 ,
i 1, 2 , , m
g ( x ) 0,
j
j 1, 2 , , l
x=constr(‘fun’,x0)
x=constr(‘fun’,x0,opt)
x=constr(‘fun’,x0,opt,v1,v2,’grad’)
x=constr(‘fun’,x0,opt,v1,v2,’grad’,p1,…)
[x,opt]=constr(‘fun’,x0,opt,…)
注意:1)fun.m文件中同时给出目标函数f和约束g,
形式为:[f,g]=fun(x);
2)grad.m文件中(用分析梯度方法)同时给出目标
函数f和约束g的梯度,形式为[df,dg]=grad(x)。
36
2015年10月31日
Slide 37
1、问题的提出
一奶制品加工厂用牛奶生产 A1 , A 2 两种初级奶制品,它们
可以直接出售,也可以分别加工成 B 1 , B 2 两种高级奶制品再出
售.按目前技术每桶牛奶可加工成 2 公斤 A1 和 3 公斤 A 2 ,每
桶牛奶的买入价为 10 元,加工费为 5 元,加工时间为 15 小时.
每公斤 A1 可深加工成 0.8 公斤 B 1 ,加工费为 4 元,加工
时间 12 为小时;每公斤 A 2 可深加工成 0.7 公斤 B 2 ,加工费
为 3 元,加工时间 10 为小时.
初级奶制品 A1 , A 2 的售价分别为每公斤 10 元和 9 元,
高级奶制品 B 1 , B 2 的售价分别为每公斤 30 元和 20 元.
37
2015年10月31日
Slide 38
1、问题的提出
工厂现有的加工能力每周总共 2000 小时.根据市
场状况,高级奶制品的需求量占全部奶制品需求量的
20%至 40%.试在供需平衡的条件下为该厂制订生产计
划,使利润最大,并进一步研究如下问题:
(1)工厂拟拨一笔资金用于技术革新,据估计可
实现下列革新中的某一项:总加工能力提高 10%;各项
加工费用均减少 10%;初级奶制品 A1 , A 2 的产量提高 10%,
高级奶制品 B 1 , B 2 的产量提高 10%.问将资金用于哪一项
革新,这笔资金的上限应为多少.
38
2015年10月31日
Slide 39
1、问题的提出
(2) 该厂的技术人员又提出一项技术革新,将原来
的每桶牛奶可加工成品 2 公斤 A 1 和 3 公斤 A 2 变为每桶
牛奶可加工成 4 公斤 A 1 或 6 公斤 A 2 .假设其他条件都
不变,问应否采用这项革新,若采用,生产计划如何.
(3) 根据市场经济规律,初级奶制品 A1 , A 2 的售价都
要随着它们二者销售量的增加而减少,同时,在深加工
过程中,单位成本会随着它们各自加工数量的增加而减
小.在高级奶制品的需求量占全部奶制品需求量 20%的情
况下,市场调查得到一批数据.试根据此市场实际情况
对该厂的生产计划进行修订.
39
2015年10月31日
Slide 40
2、问题的分析
由题意: A1 , B1 , A2 , B 2 的售价分别为 p1 10 , p 2
30 , p 3 9 , p 4 20
(元/公斤).牛奶的购入和加工费用为 q1 10 5 15(元/桶),
深加工 A1 , A 2 的费用分别为 q 2 4 , q 3 3(元/公斤).每桶牛奶
可加工成 a 2 公斤 A1 和 b 3 公斤 A 2 ,每公斤 A1 可深加工成
c 0 . 8 公斤 B 1 ,每公斤 A 2 可深加工成 d 0 . 7 公斤 B 2 .
每桶牛奶的加工时间为 15 小时,每公斤 A1 , A 2 的深加工时
间分别为 12、10(小时),工厂的总加工能力为 S=2000 小时.B 1 ,
B 2 的销售量(即产量)占全部奶制品的比例为 20%至 40%.
40
2015年10月31日
Slide 41
2、问题的分析
记出售 A1 , B1 的数量分别为 x1 , x 2(公斤),出售 A2 , B 2 的数量分别为
x 3 , x 4 (公斤),生产的 A1 , A 2 的数量分别为 x 5 , x 6 (公斤),购入和加工
牛奶的数量为 x 7 桶,深加工的 A1 , A2 的数量分别为 x 8 , x 9 (公斤).
加工 1 公斤 A1 :4 元+12 小时
= 0.8 公斤 B1 :30 元/公斤
一桶牛奶
10 元+5 元
+15 小时
2 公斤 A1
出售 1 公斤 A1 :10 元
出售 1 公斤 A2 :9 元
3 公斤 A2
加工 1 公斤 A2:3 元+10 小时
= 0.7 公斤 B2:20 元/公斤
41
2015年10月31日
Slide 42
3、模型的建立与求解
具体的模型为一个线性规划模
型和非线性规划模型,用LINGO
求解可以得到相应的结果。
详细内容请教材!
42
2015年10月31日
Slide 43